基金项目:国家重点研发计划(2018YFC1504005)和广东省科技计划(2018B020207011)资助
作者简介:欧阳龙斌(1989-),男,硕士研究生,工程师,主要从事地震监测与相关软件研发工作。E-mail:ouyang10108326@126.com
1.广东省地震局,广州 510070;2.中国地震局地震监测与减灾技术重点实验室,广州 510070;3.广东省地震预警与重大工程安全诊断重点实验室,广州 510070;4.深圳防灾减灾技术研究院,深圳 518003
1.Guangdong Earthquake Agency, Guangzhou 510070, China;2.Key Laboratory of Earthquake Monitoring and Disaster Mitigation Technology , CEA, Guangzhou 510070, China;3.Key Laboratory of Earthquake Early Warning and Safety Diagnosis of Major Project , Guangzhou 510070, China;4.Shenzhen Academy of Disaster Prevention and Reduction , Shenzhen 518003, China
Transmission and aggregation;Apters;Real-time data streaming services;Fast and slow streaming;Redundant hot backup
DOI: 10.13512/j.hndz.2022.01.04
近二十年来,在党和国家的支持下,通过“十五”中国数字地震观测网络工程、“十一五”中国地震背景场探测工程和“十二五”区域烈度速报和预警试验等地震观测系统建设项目的实施,我国地震观测系统已全面完成地震仪器数字化、观测系统网络化和地震速报自动化的改造和升级[1-2]。已建立了数千个测震台站和强震动台站,两百多个全球导航卫星系统(GNSS)基准站,这些台站拾取的高精度连续地震波形数据是进行地震监测预报和科学研究的基础数据,在防震减灾事业中发挥了重要作用。如今,随着国家地震烈度速报与预警项目(NEEW)的开展以及地震监测业务的快速发展[3],上万台站即将新建或改造完成。如何高效快速稳定的传输与汇聚上万个台站的实时地震监测数据,为地震预警、地震烈度速报以及地震波形数据归档等服务系统提供完整可靠的实时波形数据,是实现我国地震观测系统数据汇集处理工程化、运维管理智能化和地震监测服务体系现代化巨大跨越的关键。
国内外许多研究人员、机构和系统在地震监测数据实时传输和汇聚问题上开展了一系列重要的基础性和开拓性研究工作[4-14]。美国 ASL (Albuquerque Seismological Laboratory)开发的LISS (Live Internet Seismic Server)是最早的基于UDP/IP协议的实时地震数据传输服务协议。SeedLink是基于TCP/IP协议的实时地震数据传输服务协议,美国地震学联合研究会(IRIS)地震数据管理中心(DMC)和欧洲GEOFON等台网的所有开放实时数据都是通过它来传输共享。德国SeisComp软件的seedlink服务系统实现了SeedLink协议,其通过大约 33 种适配器来传输汇聚地震监测数据。Earthworm系统含有多个模块用于汇集主流数据采集器和其他数据服务中心的实时数据。Antelope系统使用对象环形缓冲ORB(Object Ring Buffer)来进行实时数据传输。JOPENS系统(5.2版本)的实时数据流服务SSS5.2(Seismic Streaming Service)主要基于中国地震局自主开发的NetSeis/IP协议与TCP/IP协议网络来实现实时地震监测数据的传输,其在“十五”项目建设完成后开始应用于我国的地震观测系统。
国内外存在大量的地震监测数据实时传输汇集 实 践[15-19]。日 本 气 象 厅 JMA 通 过 EPOS (Earthquake Phenomena Observation System)系统实时传输全国1800个地震计和4400个烈度计的实时地震观测数据到JMA数据中心进行地震预警和烈度速报。美国地质调查局USGS的ShakeAlert系统通过SeedLink协议实时汇集1675个(加州地区的1115个和西北太平洋地区560个)地震台站以及升级475个GNSS台站的实时数据用于地震预警。我国台湾地区通过TCP/IP协议使用palert2ew模块汇集748个低成本高密度P-Alert烈度仪的实时数据到Earthworm系统用于地震预警。正在实施的NEEW需要汇集约1960个基准站、3309个基本站、10241个一般站、 500多个国际共享台和260个GNSS基准站的实时地震监测数据。
基于国内外现有的研究和实践情况以及地震物联网的快速发震[4-19],从台站数目、仪器类型、观测数据类型和数据传输方式等方面来看,地震监测数据实时汇集越来越具有“海量多源异构”特征。为了实现测震、强震动、烈度和GNSS等测震观测网的“多网融合、一网多用”,为了解决对海量多源异构数据的实时持续有效接入和分布式高并发低延时全覆盖处理的迫切的需求和现有地震监测数据实时汇集系统不稳定低并发高延时之间的矛盾,急需对已有的实时数据流服务SSS5.2进行升级重构完善。
新系统的实时数据流服务(SSS)的传输协议从基于底层TCP/IP协议的SOCKET连接改为应用层的更适合于众多连接点数据汇集传输的HTTP协议。TCP/IP协议的SOCKET连接一旦建立,通信双方即可开始相互发送数据内容,直到双方连接断开。但在实际网络应用中,客户端到服务器之间的通信往往需要穿越多个中间节点,例如路由器、网关、防火墙等,大部分防火墙默认会关闭长时间处于非活跃状态的连接而导致SOCKET连接断连,因此需要通过轮询告诉网络,该连接处于活跃状态。而HTTP连接使用的是“请求—响应”的方式,不仅在请求时需要先建立连接,而且需要客户端向服务器发出请求后才能将数据传回给客户端,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。因此与TCP/IP协议相比HTTP协议更加稳定可靠。
SSS迁移到WildFly的容器里运行,变成基于HTTP协议的WEB服务,以一个HTTP SESSION为一个对话周期,统一在8080端口为其他服务系统提供实时波形数据流服务。数据服务的通信命令具有结构简单、操作便利的特点。表1列出了SSS的交互通信命令及其功能说明。
表1 SSS通信命令Table 1 Interactive command of SSS
为了传输和汇聚海量多源异构的地震监测数据,新系统应考虑不同数据采集器产商观测数据格式和数据传输方式以及不同地震监测数据服务中心使用数据传输协议和数据文件格式等方面的差异,应具有丰富全面的适配器SBOX。通过仪器适配器把不同类型数据采集器的实时地震观测波形数据和状态信息等打包成格式统一(修订的miniseed格式)、数据延时满足地震监测业务系统要求的实时波形数据流;通过其他适配器从国际地震观测机构、地震数据格式文件以及其它SSS系统传输汇集实时数据流。
新系统有约34种仪器适配器,支持国内外主流地震仪器产商的数据采集器,同时为了规范数据采集器产商的产品以及各种数据通信协议,制定了地震行业标准《地震烈度速报与预警台站数据通信协议》,新系统开发的适配器 CSTP(Common Seismic Transport Protocol)实现了该协议,所有支持本协议数据采集器都可以快速接入到SSS系统,并可以根据台站类型和通信条件选择设定连续波形数据传输、触发波形数据传输和触发信息数据传输三种数据传输模式,有效降低地震台站数据传输的复杂程度和数据传输量。对于支持CSTP协议的数据采集器,新系统还可以实时汇集仪器状态信息、台站和仪器参数等数据,实现了监测数据流、监控业务流和监督控制流等多路数据的汇聚。
数采的数据端口是厂商或者用户设定的(比如CSTP适配器的端口为1973),所以不同类型的数采或者地震监测数据服务中心实时数据流服务的端口各不相同,因此适配器的功能并不能放在WildFly容器的8080端口里运行,统一放在SBOX进程里运行。
为了标识地震台站观测仪器产出的地震波形数据和仪器状态数据,制定了地震行业标准《地震波形数据通道标识》,使用通道标识码NN/SSSSS/LL/CCC(地震台网标识码/地震台站代码/位置代码/通道代码)来区分海量多源异构的实时监测数据。另外为了实时数据流传输数据方便,引入观测数据通道代码掩码,每一包地震波形观测数据都有一个相应的观测数据通道代码掩码,这样可以使用观测数据通道代码掩码控制标识实时波形数据传输和汇聚的数据类型。观测数据数据通道代码掩码采用16进制32位整数表示,NEEW的地震台站观测仪器产出的地震波形观测数据通道掩码如表2所示。
表2 NEEW部分观测数据通道掩码Table 2 Channel mask of some observation data of national seismic intensity rapid reporting and earthquake early warning project
新系统采用分布式服务器部署,通过适配器汇集地震监测台站或地震监测数据中心的实时波形或触发信息数据,然后通过流服务客户端为其他服务系统(地震预警、地震烈度速报以及地震波形归档等)提供实时数据服务(图1),最终实现海量多源异构地震监测数据的实时传输汇聚和交换共享。
支持CSTP协议的地震监测台站可以通过台站注册管理服务器SRMS实现地震监测数据分布式汇集(图1)。SRMS管理着多个流服务器,其被动接受地震台站数据采集器的连接(默认监听端口为1973端口)并接收其台站注册信息包数据,然后根据所有流服务器的负载情况动态智能分配与该台站连接的流服务器信息,并把该信息通过注册信息应答包发送给数据采集器,数据采集器根据注册信息应答包中的信息连接指定的流服务器,然后根据注册信息初始化数据传输。
图1 新系统总体架构Fig.1 The overall architecture of the new system
新系统将汇集的地震监测台站或数据中心的实时波形数据流,进行统一管理和智能监控。每个台站的实时数据以miniSeed队列方式缓存在流服务器,然后根据用户设置的台站列表等信息,从相应的台站miniSeed队列获取实时波形数据并生成相应用户的miniSeed队列,然后为流服务客户端提供实时数据流服务(图2)。系统采用统一的认证机制,具有记录清晰的日志,具有断点重传、数据按需共享等功能,并能对流服务的状态、台站延时和流量等信息进行监控。流服务主要管理和监控信息如下:
(1)流服务器用户登录状态信息,包括用户名、登录IP、端口号、登录时间、通信命令、退出时间等。
(2)流服务器用户数据流量的状态信息,包括用户名、登录IP、端口号、登录时间、通信命令、1 min内数据流量、5 min内数据流量、15 min内数据流量等。
(3)台站实时通信状态信息,包括数据包序号、地震波形数据通道标识码、该数据包起始时间、采样个数、采样率、活动标志、标定标志、时钟标志和入网标志等。
(4)台站实时波形数据流延时和实时运行率(延时在0~5s之间的数据)信息,包括地震台网标识码/地震台站代码、20 s内是否有数据、1 min内数据延时、5 min内数据延时、15 min内数据延时、前一天运行率、实时运行率等。
新系统具有对实时数据流抽样和滤波的功能,能提供一个台站多种采样率的实时波形数据流。为满足不同业务系统或用户的需求,可对实时波形数据进行重采样,并进行波形滤波处理,输出高质量低采样率的实时波形数据。另外系统也具有对实时数据流重打包的功能,能为高时效性业务系统提供低延时的实时波形数据流。
图2 新系统实时数据传输与汇聚流程示意图Fig.2 Real-time data transmission and aggregation flow diagram of the new system
慢流指的是以512字节打包的方式传输汇集数据流,一个miniSeed数据包中包含5~8 s地震波形数据。LISS、SeedLink和SSS5.2都是采用慢流,很多地震监测数据处理系统(比如: SeisComp、JOPENS5.2的地震参数速报系统)需要的都是慢流数据。快流指的是以256字节打包的方式传输汇集地震波形数据流,主要采用把0.5 s或1 s的数据打包在一个256字节的miniSeed数据包中,这样就可以满足实时波形数据流延时小于1或2 s。为了适应地震预警数据快速传输的需求,为了可以接收预警台站产出的快速打包数据包,有效缩短数据延时,SSS在地震预警数据传输和汇聚都是采用快流。波形归档服务AWS通过流服务客户端传输汇聚快流或慢流数据,然后重新打包成4096字节的miniSeed格式数据包,最终转存到物理文件系统中并按照地震波形数据通道建立或更新线性波形索引(图3)。
新系统用多服务器并行和CARP(共用地址冗余协议)保证其稳定性和可用性,用以实现实时数据流服务的冗余热备(图4)。CARP能够使多台服务器共享同一IP地址,用于改善服务的可用性。比如,有两台服务器各自有独立的IP地址,并提供完全一样的实时数据流服务。这两台服务器都有一个CARP接口,配置了另外一台服务器的IP地址。当有服务器发生故障时,另外一台机器会自动得到故障机的IP地址。这样以来,用户就完全感觉不到发生了故障。故障转移的服务器提供的流服务,与其为之提供热备份的服务器一致,这样就不会影响流服务客户端的运行。
图3 新系统快流与慢流示意图Fig.3 Fast and slow stream diagram of the newly upgraded system
图4 新系统冗余热备示意图Fig.4 Schematic diagram of redundant hot backup of the newly upgraded system
为了实现负载均衡,按需横向扩展,将适配器SBOX和实时波形数据流服务SSS进行功能分离, SBOX支持不同协议、不同功能和不同网络的数据的接入,SSS按职责、用途划分为不同组的数据流服务(图5)。
新系统基于SBOX汇聚国内外地震监测数据中心的实时波形数据或历史地震数据(图5)。通过适配器Server2Server或legacy2Server获取其他流服务的实时数据,通过SeedLink2Server、liss2Server或环形缓冲服务获取国外地震监测数据中心的实时数据。通过MiniSeed2Server、 AWS2Server或Event2Server汇聚历史地震数据,并为地震预警、烈度速报等服务系统提供离线测试数据。比如地震速报灾备中心汇集了全国30多个省级测震台网1355个台站以及29个国际地震监测数据共享台网(II、IU等)的516个台站的实时观测数据,用于国家地震速报的功能备份。
新系统基于SBOX汇聚共享实时传输台站或触发式传输台站的波形或触发信息数据流(图5)。比如,在NEEW中,基准站、基本站实时数据流通过预警承载网接入省级中心。一般站实时数据流通过铁塔网络接入各省级中心预警承载网。一般站触发流数据通过铁塔网络接入国家中心预警承载网。各省基准站、基本站和一般站数据流通过预警承载网向国家中心和国家备份中心转发。各省级中心与邻省中心数据交换传输由各省中心之间通过预警承载网互相交换(省界外100 km内台站)。国家中心采用主备服务器汇集各省基准站、基本站和一般站实时数据流,通过预警承载网向各省中心和国家备份中心转发一般站触发流。以此来实现NEEW的基准站、基本站及一般站实时数据流和触发流的传输汇聚需求。
新系统基于SBOX和专用SSS传输汇聚地震监测台站的实时波形数据流(图5)。比如,在NEEW中,GNSS基准站解算位移数据首先汇集到国家中心,GNSS仪器适配器将解算的位移数据适配成规范的 miniseed 格式数据包,然后通过适配器comSer2Server汇集到国家中心的GNSS流服务器,再通过国家中心的GNSS流服务器为各省中心分发各省所需要的GNSS基准站数据流或提供给其它流服务客户端使用,以此来实现NEEW的GNSS基准站的实时数据流汇聚和共享需求。在中国东盟地震海啸监测预警项目中,通过汇集周边国际共享台、共享报批国内地震监测台站、其他项目援建台站、新建或改造台站,建立了老挝、缅甸、泰国、印尼和广州地震海啸监测预警数据中心,为中国东盟地震海啸监测预警系统提供实时地震波形数据。
图5 新系统参考实现Fig.5 Deployment example of the newly upgraded system
本文介绍了地震监测数据实时传输和汇聚系统的主要设计、总体架构、关键技术,并给出了系统参考实现。通过本次升级重构,新系统的实时波形数据流服务SSS从NetSeisIP协议升级为HTTP协议,并迁移到了WildFly容器里运行;增加了大量的适配器SBOX,使适配器数目品类更加丰富,并把所有适配器统一放在SBOX进程中运行;设计了地震波形数据通道标识来区分不同地震台站观测仪器产出的地震波形数据和仪器状态数据;采用统一的CSTP协议来接收NEEW基准站、基本站及一般站的实时地震波形和触发信息数据流。新系统支持快流/慢流混合传输和预警数据低延时传输,具有实时数据流智能监控和冗余热备功能。新系统的研发从技术层面解决了大规模、多层级、不同类型地震监测台站和数据中心实时数据流的传输汇聚共享问题,为我国地震监测行业提供了一套具有自主知识产权的海量多源异构地震监测数据实时传输和汇聚系统,是我国地震监测事业实现工程化和现代化的重要一环。
致谢:感谢国家地震烈度速报与预警工程项目支持。感谢审稿专家提出的宝贵意见。