云平台下地震监测台网软件系统的应用方案研究1

2018-06-01 00:59
震灾防御技术 2018年1期
关键词:服务器端台网客户端

李 勇 段 毅



云平台下地震监测台网软件系统的应用方案研究1

李 勇 段 毅

(云南省地震局,昆明 650224)

针对数字化地震台网JOPENS软件系统的技术特点及功能需求,在对当前各种主流云计算平台进行比较的基础上,基于较为合适的阿里云计算平台,提出了在云环境下部署JOPENS系统的应用方案。测试结果表明JOPENS系统部署在云环境下能够提升测震台网中心运行的稳定性及可扩展性,并节约运行维护成本。该研究对于当前三网融合新形势下云南省地震台网的建设及运行工作具有借鉴意义。

云计算 JOPENS 地震数据

引言

地震监测领域作为地球物理学研究及防震减灾工作的基础,是一个典型的数据产出领域。地震监测领域经过数十年的发展,目前产出的数据主要包括测震、强震、地磁、地电、形变、流体、重力等十余种类别。现有的全部地震监测手段,都基于客户端/服务器架构设计,由台站端仪器设备进行数据采集及数字化后,通过地震行业信息网、互联网、卫星等多种方式将监测数据发送至台网中心服务器端并由台网中心服务器进行后期数据处理。

随着我国地震监测事业的发展,经过国家“十五”至“十三五”期间的大力投入,先后建成并即将兴建一大批不同类型的地震监测台站及监测点。随着台站密度的不断提高,各种地震监测手段所产出的数据量也随之出现爆发式增长。原有的基于客户端/服务器架构设计的数据传输及处理能力已经明显跟不上地震监测产出数据量的增长。特别是当前云南省的地震台网建设面临三网融合的新形势,为了进一步实现资源优化及整合,测震、强震、预警3个当前独立运行的地震台网未来将合并为一个大测震台网运行,台站数量将达到近两千个,这对整个台网的运算及数据吞吐能力提出了更高的要求。

大数据和云计算作为新一代信息技术,已成为未来信息技术发展的推动力和方向之一。美国国家标准与技术研究院(NIST)对于云计算的定义是:一种按使用量进行付费的模式,这种模式提供可用的、便捷的、按需的网络访问,使用可配置的计算资源共享池,共享池的资源包括网络、服务器、存储、应用软件、服务等。只需投入很少的管理工作,或与服务供应商进行很少的交互,就可以将这些资源通过云计算平台快速提供给客户(郭燕等,2015)。

根据地震监测领域的特点,研究如何将大数据和云计算技术应用于地震监测技术,使之能为地震预报及震害防御工作提供更快更好的基础数据,成为未来一段时间云南数字地震台网中心的科技创新点之一。

地震监测数据是地球科学,特别是固体地球科学的基础数据(张晁军等,2015),是地震监测领域最重要的数据产出成果之一,测震台网的数据采集、传输、处理等一系列方法及流程在各种地震监测手段中也具有十分典型的代表性。因此本文选取了当前测震台网中应用广泛且最具代表性的JOPENS流服务系统,研究并探索JOPENS系统在典型云环境下的应用方案。

1 JOPENS系统主要技术特点

数字地震台网中心数据处理系统JOPENS(以下简称JOPENS系统),由广东省地震局根据“‘十五’中国数字地震观测网络项目”测震软件CZ-01包的相关任务研发。目前JOPENS系统已经成功应用于全国大部分省级地震台网中心以及部分地市级地震台网中心和部分水库地震监测台网中心(吴永权等,2010)。

云南测震台网中心当前主要使用JOPENS 4.3及JOPENS 5.2系统,预计JOPENS 6.0系统也将逐步开始应用。在未来相当长一段时间内将并行使用多个不同版本JOPENS系统,因此必须根据该系统的技术特点,选择兼容性强的云计算平台,使其能够兼容各个不同版本的JOPENS系统并稳定运行。

JOPENS系统按照较为流行的基于中间件技术的多层分布式系统架构设计,其主要技术特点包括以下几方面:

(1)基于J2EE开发及运行。J2EE是Java编程语言的一个分支,相比传统的Java程序,J2EE主要增加了Enterprise Java Beans(EJB)、Java Database Connectivity(JDBC)、Java Naming and Directory Interface(JNDI)、Remote Method Invocation(RMI)、Java Messaging Service(JMS)、Extensible Markup Language(XML)等技术标准及规范。JOPENS完全按照J2EE规范开发,因此要求云计算平台能够提供对J2EE标准的良好支持。

(2)基于Linux系统。“十五”中国数字地震观测网络项目完成以来,JOPENS系统开始在各省级台网中心进行正式应用。截至目前,服务器端共发布了3个版本,版本号为JOPENS 4.3、JOPENS 5.2和JOPENS 6.0,其中JOPENS 4.3和JOPENS 5.2可以运行在Suse Linux及FreeBSD操作系统上,而从2017年逐步开始应用的JOPENS 6.0则只能运行在FreeBSD操作系统上,因此要求所选用的云平台支持FreeBSD及Suse Linux的系统镜像。

(3)模块化设计。JOPENS系统主要完成地震数据采集、数据格式转换、数据汇集和存储、人机交互分析、地震报告和目录产出等地震监测台网功能,并实现各级测震台网间的数据共享与交换。按照功能相近、技术相近的原则,结合分布式系统架构及分布式云计算的技术特点,可以将JOPENS的主要功能划分为数据交换、数据存储、数据显示、消息交换、系统管理5大功能模块,如图1所示。

图1 JOPENS系统的功能模块划分

(4)网络私有化。专有网络(Virtual Private Cloud),是指基于云平台构建的一个隔离的网络环境,用户可以自定义IP地址范围、网段、路由表和网关等。当前国内外主要的云计算平台服务商主要面向社会公众提供因特网服务,而地震数据监测网络由于数据保密等要求,当前主要运行在地震行业信息网内,与因特网为物理隔离状态。云环境下的JOPENS系统所提供的数据及处理结果需要最终与地震行业信息网进行汇集,才能满足日常地震监测工作的需要。使用运营商提供的公有云资源有数据泄露的隐患(高宁等,2015)。为了满足数据保密的需求,防止泄密情况发生,有的云计算平台提供了用户自定义私有网络功能,实现同因特网之间的二层逻辑隔离。用户可以管理和配置自己的专有网络,包括选择自有IP地址范围、划分网段、配置路由表和网关等。用户可以按照相应的规划在目标地域和可用区创建指定网段的专有网络与交换机,然后通过在创建云产品实例时指定某个已创建的交换机把资源部署在相应的网络位置,并通过ECS安全组、RDS访问白名单等方式进行访问控制,保证JOPENS系统的安全性及访问完全可控性。通过专线/VPN/GRE等连接方式实现VPC与地震台网中心的互联,构建安全的混合云业务。

完全满足以上几个技术特征,才能保证JOPENS系统的安全可靠运行,即所依赖的云计算平台必须完全支持以上几个技术特征,才能进行JOPENS系统的部署及应用。

2 JOPENS系统在云环境下的应用

云计算是分布式计算、并行计算、网格计算、多核计算、网络存储、虚拟化、负载均衡等传统计算机技术发展到一定阶段,和互联网技术融合而成的产物。其目的在于通过互联网把无数个计算节点整合成一个具有强大计算能力的“巨型机”系统,并借助IaaS(Infrastructure as a Service,基础设施服务)、PaaS(Platform as a Service,平台服务)、SaaS(Software as a Service,软件服务)等业务模式,把强大的计算及存储能力提供给终端用户(蔡寅等,2016)。

JOPENS基于J2EE的跨平台特征及基于中间件技术的模块化设计,使得其能够很好地利用云平台分布式计算、网络存储、虚拟化、负载均衡等优点。相比现有的客户端/服务器运行模式,将JOPENS系统运行于云环境下主要具有以下优点:

(1)计算能力强大。云计算平台一般有着超大的规模,各个行业的私有云一般是从数十台服务器起步,直到数百台、上千台。如Amazon、谷歌、微软、IBM等公司的云平台至少拥有数万台服务器并且可以无限制扩充,由无数服务器组建的云平台能够提供强大的计算能力。理论上随着地震监测台站的数量及产出数据量的持续增加,云平台可以为台网中心提供无限多的计算能力,使地震监测台网的规模不再受台网中心服务器及网络性能制约。

(2)可用性高。云平台普遍采用了数据冗余和分布式存储等技术来保证服务和数据的可靠性,计算节点同构可互换等措施保证了云平台的可靠性。任何节点发生物理故障,平台会自动检测失效节点,并将失效节点排除,不会影响整个系统的正常运行。有效避免了以往台网中心某台服务器出现故障而导致整个系统停止运行的状况。云平台的高可用性对地震监测这种对数据连续率要求极高的领域具有重要的意义。

(3)性价比高。云平台是一个庞大的资源池,按需使用。节点规模可以动态伸缩,使用户可以随时随地根据应用的需求,动态地增减所需资源,可以满足特定时期、特定应用及用户规模变化的需要。作为JOPENS用户端的地震台网中心,仅需关注程序、系统运行及应用的状况,而无须像以往一样承担高昂的数据中心建设及管理成本,使地震科研人员能够真正集中精力专注于数据的产出及使用,而无须关注硬件的运行状况。

2.1 当前国内各主流云环境优缺点比较

为了满足测震台网JOPENS系统的技术需求,根据对JOPENS系统功能模块的划分及技术要求,我们对当前国内外主流的7家云计算服务商进行了比较,各云计算服务商对JOPENS系统的技术特征支持情况如表1所示。

表1 各服务商对JOPENS技术指标支持情况

从表1可看出,当前国内外各主要的云计算服务商提供的云平台对JOPENS早期版本系统部署所需的功能都提供了较好的支持,理论上均可用于部署及运行JOPENS系统。但其中百度、华为和盛大的云计算服务由于不支持当前省级台网中心中使用较多的freeBSD操作系统导致无法运行JOPENS 6.0系统。亚马逊的服务器主要在境外,无法提供和国内网络运营商的高速专用连接通道。因此阿里、腾讯和微软的云计算平台是部署及应用JOPENS系统的较好选择。

为了检验JOPENS系统在云计算环境下的实际应用效果,我们选用了阿里云服务器平台来进行实际应用及测试。

2.2 JOPENS系统在阿里云平台的应用方案

阿里云计算平台采用弹性云的结构及设计,所提供的云计算服务产品十分丰富,包括弹性计算、数据库、存储与CDN、云通信、管理与监控、云盾、移动服务等数十个类别的云计算服务,产品体系完备,基本覆盖了常规网络应用的各个方面。

按照云计算按需使用、按需付费的模式,为了满足JOPENS系统的正常运行,仅需要购买部分云计算产品即可实现JOPENS系统在云平台上的部署及应用,并可在以后随实际应用的需要进行逐步扩充。JOPENS系统在阿里云平台上的应用方案如图2所示,其中包含以下4种分布式产品:

(1)云服务器ECS。云服务器(Elastic Compute Service,简称ECS)是一种简单高效、处理能力可弹性伸缩的计算服务,云服务器主要用于部署JOPENS系统的数据交换、消息交换、系统管理模块,在实际应用中共采用了4台虚拟的云服务器,其中流服务器1主要用于传输区域固定台站的数据,流服务器2主要用于接收水库台站的数据,JBOSS服务器用于所有虚拟服务器间的消息交换及状态监控,RTS服务器用于实时检测地震事件,实现自动触发及报警功能。ECS云服务器是一种虚拟化的服务器,其配置也可在创建服务器时自由指定并按使用量付费,例如其中JBOSS和RTS服务器因无需与外界进行数据传输,仅监控内部流服务器的状态,即可不选购对外的网络带宽,真正实现了云计算平台按使用付费的优点。各台虚拟服务器所使用的配置如表2所示。

(2)云数据库Memcache版。云数据库主要用于部署JOPENS系统的Mysql数据库,数据库需要与Memcache配合,主要用于存储地震编目数据、台站及台网各类参数等。

(3)文件存储服务。云文件存储(Network Attached Storage,简称NAS)是支持标准文件访问协议的分布式文件系统,具备无限容量及性能扩展,主要用于部署AWS服务,存放Mini-seed格式的连续地震数据文件,用户可以根据需要随时扩展或减少存储空间的大小。实际应用中我们配置了500GB的SSD存储。

(4)专有网络VPC。VPC接口主要用于云计算平台与台站端、台网中心端及授权用户的连接。阿里的专有网络支持用户自定义整个专有网络的网络拓扑和IP地址,通过VPC接口的设置,可以实现云平台与地震行业信息网的连接,同时也支持访问列表控制,仅允许通过认证的用户及数据采集设备接入云平台,其他用户无法访问或进行数据传输。

表2 云服务器ECS所选用配置

图2 基于阿里云的JOPENS系统应用方案

服务器端在云环境下部署完成之后,用户主要通过JOPENS系统中的MSDP、IPPLOT、Monitor这3个模块来完成实时波形及台站监控、触发报警、地震分析速报及波形归档等日常工作。3个模块均采用xml文件进行系统配置,用户只需在相应的xml配置文件中,将服务器IP修改为云端服务器的公网接口地址或VPC网络接口地址,客户端模块即可与云端服务器进行通讯,实现地震台网的各种日常功能。

3 测试应用结果及改进

完成JOPENS系统在阿里云平台上的部署及配置后,我们选取了57个水库地震监测台及10个区域固定台站的数据分别接入云平台流服务器,并进行了为期12个月的连续记录运行,对测震台网日常各项主要工作进行了测试,主要包括实时波形监控、地震触发报警、地震分析处理(含编目)、波形归档及数据产出4大功能。

测试期间所有云服务器工作正常,地震分析、地震编目、数据产出等地震监测台网中心各项工作均能正常完成。12个月共产出地震监测数据72GB。为期12个月的试运行共花费计算费及网络使用费共计5.6万元。测试期间系统记录到的最大地震为2017年3月27日云南漾濞5.1级地震。

通过比较测试发现,JOPENS系统部署在云端之后,最大的优势是数据库存取及计算速度快,云端服务器的Mysql数据库及AWS波形库全部采用了SSD存储设备,支持高并发应用访问,能够极大地缩短波形处理的时间。以2017年3月27日云南漾濞5.1级地震为例,震后在现有服务器上进行57个台的震源机制解计算,波形处理及计算共耗时8分32秒,而将程序部署在云端,通过自己编写的AWS多线程数据归档及处理脚本,完成同样57个台的波形导出归档并转换为SAC文件,仅耗时10秒,完成震源机制解计算,仅用时2分15秒,如图3所示。

在现有JOPENS运行框架下,MSDP客户端与云端的网络连接速度成为制约云计算在地震行业应用的主要瓶颈。以云南省地震局为例,全局公网出口带宽仅10Mbps,且为全局共用,与云计算平台建立连接并进行数据传输的速率较低,在具体工作中则表现为使用MSDP打开波形和数据归档较慢,以2017年3月27日云南漾濞5.1级地震分析为例,在用MSDP客户端读取本地30分钟地震波形仅需5秒,而同样用MSDP客户端读取云端30分钟的地震波形则耗时1分15秒。

产生该问题的原因主要是JOPENS系统为经典的客户端/服务器架构,所有数据均存储在服务器端,客户端进行数据处理均需要先从服务器端将波形数据下载至本地,完成分析处理之后再将处理结果返回至服务器,这一过程中对数据进行分析处理的所有计算,如地震定位等仍然是通过客户端计算机来完成的,服务器端仅负责存储处理结果。在云环境下,当数据量很大时,受网速限制,从服务器端将实时波形数据下载至本地客户端需要耗费较多时间,同时地震定位等计算仍然在本地客户端完成,并没有使用到云服务器强大的计算能力。这就要求后续在云环境下对JOPENS系统现有架构做出调整,尽可能在服务器端完成涉及读取波形及数据计算的环节,这样既可以避开本地客户端与云服务器端网络连接的瓶颈,又可以充分利用云端强大的计算能力,真正发挥云环境的优势。

在现有条件下,因暂时无法对JOPENS系统做出修改,为了提高大震期间的数据分析处理速度,我们对方案进行了改进,将MSDP客户端及震源机制解计算程序也放到云端运行,在云环境下增加一个或多个虚拟客户端,本地机房通过VNC或Windows远程桌面与虚拟客户端进行连接,通过控制运行在云端的MSDP客户端软件进行地震分析、波形归档、震源机制解计算等,这样客户端与服务器端均在同一个云端专有网络中运行,可以大大提高现有程序的运行效率。

4 结论

实际应用结果表明,通过选择合适的服务器软硬件及网络配置,现有的地震监测系统软件JOPENS能够在云计算平台上正常运行,运行状态稳定,易于扩展,可充分利用云计算平台按需使用、按量付费的使用模式,能够节约系统资源,极大降低用户的硬件采购及维护成本,并使地震科技工作者能够专注于地震数据的获取及使用,而无须花费大量精力来维护硬件系统的正常运转。这一模式在各种地震监测数据产出领域都具有推广和借鉴的意义,是未来地震台网中心发展的方向之一。

云计算平台可无限扩充计算能力及网络带宽,理论上能够支持无穷多的地震监测数据传输及产出。但是由于地震监测数据的使用者仍然在云平台之外,而地震监测数据的产出量极大,因此目前数据用户与云计算平台间的连接速度就成为制约云计算在地震行业应用的主要瓶颈。在现阶段可以通过将客户端应用程序也部署在云端运行来提高数据分析处理速度。在当前三网融合的新形势下,面对未来包含上千台站的地震监测台网,则要求程序开发者转变思维,将客户端中涉及波形读取、数据计算及数据库存取的环节尽可能放在服务器端完成,客户端仅负责计算结果的展示及管理,方能最大限度发挥云环境的优势,使之在地震监测网络中发挥更大的作用。

图3 通过云服务器计算的漾濞5.1级地震震源机制解

蔡寅,李红,赵银刚,2016.基于私有云计算技术的强震预警系统应用研究.计算机应用与软件,33(5):1—3,27.

郭燕,陈思颖,石砚斌,2015.基于可信云服务的地震信息共享平台设计.防灾科技学院学报,17(3):78—83.

高宁,叶放,张晓普等,2015.基于云计算的地震背景噪声数据处理系统.2015中国地球科学联合学术年会论文集,22:18—20.

吴永权,黄文辉,2010.数据处理系统软件JOPENS的架构设计与实现.地震地磁观测与研究,31(6):59—63.

张晁军,陈会忠,李卫东等,2015.大数据时代对地震监测预报问题的思考.地球物理学进展,30(4):1561—1568.

Application of Seismic Network System under the Cloud Platform

Li Yong and Duan Yi

(Yunnan Earthquake Agency, Kunming 650224, China)

After a comparison of 7 popular cloud platforms, we chose the Ali Cloud computing platform, which can fully meet the technical requirement of JOPENS (Seismic Network System). In this paper we proposed that the JOPENS system is developed under the Ali cloud computing platform. The result of evaluation indicates that the JOPENS system works smoothlyy in the Cloud environment, which can also reduce the purchasing and maintenance cost for the hardware of the seismic network center. Our study is important for the integration of three seismic networks of Yunnan Province.

Cloud computing;JOPENS;Seismic data

李勇,段毅,2018.云平台下地震监测台网软件系统的应用方案研究.震灾防御技术,13(1):245—253.

10.11899/zzfy20180123

云南省地震局传帮带项目(201409)资助

2017-03-13

李勇,男,生于1980年。硕士,工程师。主要从事地震数据处理及地震监测技术研究。E-mail:yneq@qq.com

猜你喜欢
服务器端台网客户端
地球物理台网仪器维修信息管理的研究与实现
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
推进报台网深度融合 做强区级融媒体中心
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用