吕作勇,黄文辉,康 英,苏柱金,刘 军,欧阳龙斌
(1.广东省地震局,中国地震局地震监测与减灾技术重点实验室,广东省地震监测预警与重大工程地震安全诊断重点实验室,广州 510070;2.深圳防震减灾技术研究院,广东 深圳 518003)
多年来,随着我国中央和地方政府在地震监测行业的持续投入,我国建立了越来越多的数字化和网络化的地震台站,使我国的地震监测能力得到了快速的提升。大量地震台站的不断建设和运行,产出了越来越多的地震观测数据,为我国地球科学研究积累了宝贵的基础数据。同时,这也为海量地震连续波形数据的存储和共享服务提出了更大的挑战。
国内外有许多机构或组织在地震数据管理和共享方面开展一系列重要工作。我国国家数字测震台网数据备份中心2007年建成以来,为注册用户提供全国1000多个固定地震台站的波形数据服务[1],在我国大震应急和地球科学研究等方面发挥了重要的数据支撑作用。美国地震学研究联合会(IRIS)数据管理中心(DMC)是全球最大的地震数据服务机构,向全球提供全球地震台网(GSN)、宽频带数字地震台网联盟(FDSN)以及各地区域台网、地震台阵等数据服务,其服务具有数据种类多、服务工具多样和便捷等特点[2]。日本防灾科技研究所(NIED)也向注册用户提供日本测震台网和强震台网的地震数据服务[3]。
目前,我国地震系统的国家台网中心和省级区域台网中心都使用JOPENS系统进行地震监测数据分析处理[4-12]。国家台网中心部署的JOPENS系统用于处理国家台和国际共享台的地震数据。省级区域台网中心通常使用JOPENS系统处理省级区域内的地震台站数据。JOPENS系统中已经研发了地震连续波形数据存储和共享服务系统[13](Archive Waveform Service,简称:AWS系统)。AWS系统通过连接JOPENS系统的实时波形流服务获取连续波形数据进行存储,根据用户需求提供时间段的连续波形数据服务。
然而,基于近年来的AWS系统在线运行情况以及地震监测行业快速发展带来的新需求,我们发现已有AWS系统还需进一步升级优化,急需聚焦解决以下方面问题:(1)历史离线波形数据无法在线共享;(2)由于台站实时信号中断导致AWS系统从实时流服务获取的波形数据不完整;(3)在线存储的波形数据备份和同步;(4)未能存储台站仪器状态信息和触发信息。另一方面,随着国家地震烈度速报与预警工程项目的建设[14],新建或改造的基准站、基本站、一般站和GNSS台站的总数将超过15 000个。如此大规模、高密集、多类型的地震监测系统,其观测数据具有明显的“海量多源”特征。另外,由于四类台站的观测数据类型[15]、仪器状态信息和数据传输方式等方面差异,导致了AWS系统需要存储的数据也具有典型的“异构”特征。因此,紧扣新时代防震减灾事业发展需求,瞄准海量多源异构监测数据的存储和在线共享服务能力的全面提升,为实现我国地震监测行业现代化和信息化,对AWS系统进行优化升级研发势在必行。
地震连续波形数据存储与共享服务系统是对各类监测台站的观测波形数据进行高效的管理和存储,并根据设定的规则为用户提供丰富的数据服务。新升级研发的AWS系统(以下统称:AWS系统)既可以从JOPENS系统的实时波形流服务SSS获取台站观测的实时波形数据进行存储,而且可以从历史的波形文件(如,存储在光盘上的历史波形、台站断记补数的波形数据等)获取波形数据进行存储。同时,AWS系统还实现了数据的备份和同步。AWS系统设计了用户交互命令,基于Web服务8080端口为用户提供波形数据服务。AWS系统总体架构如图1所示。
图1 AWS系统总体架构Fig.1 The overall architecture of AWS system
AWS系统采用基于文件系统的数据存储方式,根据时间顺序,采用三层存储机制:(1)最新的实时波形数据存储在内存缓存区;(2)当内存缓存区满后,转存至内存文件系统;(3)当内存文件系统存满后,转存至硬盘文件系统。
为了实现对历史波形数据的存储和管理、在线和离线波形数据存储和共享等功能,从新优化设计了AWS系统的存储目录结构,并定义各文件目录的功能含义。新研发的AWS系统存储目录结构定义如表1所示。
表1 AWS系统存储目录结构Table 1 The storage directory structure of the AWS system
连续波形数据主要由固定头段包和miniSEED数据包组成,固定头段包台网标识码、台站代码、位置代码、通道代码、起始时间、样本数目、采样率、时钟标志等,见地震行业标准——《地震烈度速报与预警台站数据通信协议》的规定。连续波形数据存储目录waveform下各类监测站点的波形数据的存储目录结构以及波形数据命名中涉及的“台网标识码”、“台站代码”、“位置代码”和“通道代码”,其命名规则遵循地震行业标准——《地震波形数据通道标识》的规定。因此系统存储的波形数据包括了测震的速度波形,强震和烈度仪的加速度波形,以及GNSS台站解码后的波形。系统根据《地震波形数据通道标识》规定的地震数据通道代码来区别不同类型监测波形数据。
AWS系统实现了从实时波形流服务获取实时波形进行存储,而且实现从历史波形文件或其他AWS系统获取波形数据(数据备份和同步)进行存储的功能。AWS系统按照时间顺序,采用STEIM2压缩算法,按台站通道归档为miniSeed格式的波形数据,同时建立各波形数据的索引信息,根据波形索引为用户提供时间段连续波形数据服务。AWS系统连续波形数据存储和共享服务的处理流程见图2所示。
图2 AWS系统数据存储和服务处理流程示意图Fig.2 Flow diagram of AWS system data storage and service processing
波形数据索引是指连续的时间片波形数据(既不间断也不重叠)在台站通道波形存储文件的位置,包括时间片波形的开始时间及其对应的位置序列号、结束时间及其对应的位置序列号。一个索引对应波形数据文件中的一段数据,即对应一个时间段的miniSeed格式的波形数据块。通过这种一一对应关系,根据波形数据索引来快速定位和查找对应时间段波形数据文件。
AWS系统采用NetCDF格式来建立波形数据索引文件。波形数据索引与台站通道波形数据文件是紧密关联的,波形数据更新时,其对应的波形索引文件也同步更新。通常一个小时的单通道波形数据只需要几个索引来进行关联。为提高波形数据查询效率,AWS系统的波形索引采用LRU算法常驻内存,并且每个台站通道通常保留几十天的波形索引数据。
AWS系统在实时波形和非实时波形存储时,存在同时更新波形数据的可能,因此系统针对每个台站通道都设置一个独立的同步锁,采用同步锁来保证同一时间内,只有一个线程对波形索引和波形数据进行更新操作。
[lsw1-Eth-Trunk1]port trunk allow-pass vlan all“允许通过的vlan流量”
AWS系统采用JOPENS系统实时波形流服务客户端SSSPort接收各监测台站的实时波形数据,数据包大小可为256 byte和512 byte。系统将实时波形数据重新打包成4096 byte大小的miniSeed格式数据,并写入内存缓冲区。在内存缓冲区满后转存至online内存文件系统,同时对波形数据按时间顺序建立线性索引,索引文件存在bufidx目录。由于计算机内存文件系统容量的限制,通常台站每个通道的波形数据存在online目录下的长度为2 h。当AWS系统遇到关闭等情况,为防止波形数据丢失,在系统关闭前,系统会自动将online目录下数据转存至offline目录。当AWS系统重新启动后,会自动先从offline目录加载波形数据。online内存文件系统存满后,波形数据转存到物理文件系统中,并按照台站通道建立跟新线性波形索引。
当收到的实时波形数据延迟较大(如2 h)或时序错误,系统将此数据存储在历史波形数据池(.history目录)。系统会根据设定自动扫描历史波形数据池,完成波形数据存储。这个功能主要是针对震后回传的强震仪和烈度仪的波形数据存储。
地震台站运行中会遇到实时波形数据流中断的情况,从而造成归档的波形数据缺失一段时间的观测数据。在实际的情况下,台站观测数据大多会存储在台站数据采集器或备份线路的波形数据服务器上,因此可采用非实时波形数据进行补数处理。非实时波形数据通常有2个来源,一是另一个备份的AWS服务器,第二是通过JOPENS流服务的CSTP协议[16]从台站数据采集器获取所需波形数据。AWS系统设计了非实时波形数据临时存储目录.ms,系统根据设置定时或触发等方式扫描.ms目录的文件,整理出连续的时间片波形数据,并转存到.wip目录。在.wip目录下包含的波形数据是没有缺失空隙,也没有重叠的波形。系统根据波形数据索引,扫描各台站通道波形数据的缺失空隙,从.wip中提取出需要的时间片波形数据,重新打包后插入到对应的台站通道波形文件中,并同时更新其波形索引。
AWS系统设计了用户交互命令来实现波形数据共享服务,通过基于HTTP协议的Web服务8080端口发送请求和应答命令来实现波形数据的在线共享服务。其中应答标识分为两种:OK和ERR。交互的方式为:用户请求数据服务后,系统先给用户发送波形数据,后发送应答标识“OK/ERR”,其他情况则是先发应答“OK/ERR”,后发送消息体。AWS系统交互服务命令如表2。
表2 AWS系统交互命令Table 2 Interactive command of AWS system
AWS系统间的数据备份和同步是通过系统设置定时扫描各自存储的连续波形数据,当扫描发现有数据缺失时,从另一个备份AWS系统中进行数据同步,获取完整的连续波形数据。
升级优化后的AWS系统,增加了对系统数据的监控,主要是以下几方面:
(1)波形数据连续率统计。可根据用户命令请求,获取台站通道波形数据的连续率统计结果。
(2)AWS系统连接的实时波形流服务用户上线和下线的警告信息。系统会记录流服务用户上线获取的第一个数据包的序号,用户下线最后一个数据包的序号。
(3)存储空间及波形数据状态。系统会计算存储磁盘剩余空间百分比、延迟1 h的波形数据量大小、波形索引总量、波形数据总量、数据包平均长度及数据包个数等信息。
(4)系统实时存储主线程和非实时波形存储线程的心跳状态。
本文介绍了AWS系统的整体架构和系统功能的技术要点。通过新设计的数据存储目录结构,AWS系统实现了对非实时波形数据的存储、台站断记补数等功能。基于系统设计的交互命令接口,实现了波形数据在线服务、数据备份和同步。AWS系统的研发为我国地震监测行业提供了一套观测数据存储、管理和共享服务的具有自主知识产权的支撑技术平台,是我国地震监测事业现代化和信息化的重要标志之一。
致谢:感谢国家地震烈度速报与预警工程技术规程编制与定制软件项目支持。感谢审稿专家提出的宝贵意见。