2. 中国北京 100036 中国地震局地震预测研究所;
3. 中国山东 251910 山东省地震局无棣大山地震台;
4. 中国河南 450062 河南省地震局郑州地震台;
5. 中国上海 200031 申万宏源证券有限公司
2. Institute of Earthquake Forecasting, China Earthquake Administration, Beijing 100036, China;
3. Wudi Dashan Seismic Station, Shandong Earthquake Agency, Shandong Province 251910, China;
4. Zhengzhou Seismic Station, Henan Earthquake Agency, Henan Province 450062, China;
5. Shenwan Hongyuan Sercurities Co., Shanghai 200031, China
观测数据是地震科学研究的基础(钟卫星等,2016),而观测仪器的连续稳定运行又是产出高质量观测数据的基础。快速发现并及时解决仪器设备故障,是地震台网台站日常运行维护工作的重要环节(赵楠等,2015)。地震观测仪器在运行过程中,经常因供电故障、网络中断、仪器或探头故障等造成数据记录中断,若监测人员无法及时发现并处理,将导致仪器运行率降低,严重影响数据完整率。同时,仪器时钟失准、数据错误发现不及时等因素,亦会影响观测数据质量。目前,多数台站采用的方法是间隔固定时间对逐台仪器进行人工检查校正,浪费人力、物力,观测数据准确性低。因此,利用现有成熟的技术手段,通过开发监控软件,实现对仪器和设备的自动监控,及时或实时掌握地震观测仪器设备运行状态,加强对仪器设备的维护与管理,可提高数据的真实有效性,并有效减轻地震监测人员的劳动强度。
近年来,多位学者(王建国等,2010;陈新兴等,2016;王莉森等, 2016, 2018;卜玉菲等,2017;戴波等,2017;李雨泽等,2017;赵楠等,2017)通过自行研制软件,实现对网络、仪器设备或数据库等的监视。部分地震台网使用Nagios免费开源软件或HostMonitor商用运维管理软件,实现对服务器及网络化仪器的监控与管理(李刚等,2012;姚会琴等,2012;高东辉等,2013;胡玉良等,2016)。此外,调研发现,某些地震台站使用不同开发语言,配合安装电话卡的短信猫等硬件设备,开发供电、地震观测仪器或设备的远程监控软件。众多仪器生产厂商研发相应管理软件,如地下流体综合测量仪通讯控制软件、体应变通信控制软件等,对相关仪器具有较完善的管理和控制功能,但一般不具备自动监视功能。
综合来看,上述软件多针对某一台网台站、某类型仪器,实现某种特定功能,或需要的硬件支撑等实现对仪器设备的监视或控制,适用范围相对狭窄,推广应用具有局限性。由于缺少专用软件平台,各环节通常需要借助不同工具完成,缺乏有效衔接和集成,导致工作流程繁琐,效率不高(董一兵等,2017)。因此,笔者对以往监控软件功能进行借鉴和完善,采用集成化监控方式,尽可能实现对各类台网台站仪器设备的统一监控和管理,以提高运维工作效率。
基于上述原因,研制地震观测仪器自动监控软件(简称SIAM软件),对网络化观测仪器的网络、运行及数据等状态实现实时和定时监控,并对观测结果进行有效性分析,以发送手机短信的方式,使地震监测人员快速获知仪器设备故障现象及可能原因,以便在最短时间内排除故障,提高对观测仪器设备的管理、处置能力。
1 软件设计SIAM软件采用Visual Basic作为开发语言,整体架构使用单进程、多线程的工作模式,地球物理类仪器定时自动监控功能采用流程化结构设计(图 1)。
软件模块充分考虑功能独立、代码复用原则,每个模块独立封装自身参数、方法,并单独编译(李宏科等,2016)。涉及用户登录和仪器安全等敏感信息,使用加密的Access数据库存储。软件开发过程中,使用大量控件、类库和API函数,增强可操作性,无需安装辅助软件即可实现相关功能。绝大多数功能用户可根据实际情况自行设置,软件适用性得到提高。
2 软件功能与实现SIAM软件针对监控类、管理类和工具类模块设置相关功能(图 2)。其中,核心功能包括IP类仪器设备网络实时与定时自动监控、地球物理类仪器定时自动监控和短信告警等。
地震观测仪器的网络故障主要有通信线路故障与网络设备故障(贺巍等,2016),仪器供电故障、死机等原因在远端也会被诊断为网络故障。因此,进行网络实时与定时自动监控,对于判定网络状态和仪器运行状态至关重要。
PING (packet Internet groper)因特网包探索器,属于TCP/IP协议的一部分,为用于测试网络连接量的程序。利用“ping”命令可以检查网络是否连通,有助于分析和判定网络故障。该功能批量执行ping命令,可实现IP化观测仪器的实时诊断,即通过扫描仪器设备IP地址来检测网络状态。诊断结果异常时,以告警短信方式发送给值班人员和管理人员,可有效解决人工诊断网络的繁琐性和不及时性等问题。
2.2 仪器定时自动监控地球物理类仪器定时自动监控可任意设置起始时间和时间间隔。监控步骤分为仪器网络分级诊断、仪器状态监控和观测数据监控等(图 1)。其中,仪器状态监控、观测数据监控通过以太网,采用基于TCP/IP协议的SOCKET连接的前兆台网专用设备,与客户端数据信息进行交换,使用基于SOCKET连接的HTTP或FTP协议进行数据传输。
(1)仪器网络分级诊断,即依次诊断本地计算机至所有共用路由器,然后诊断各个台站路由器,最后分别诊断每个台站的观测仪器。利用该方式,能够避免误判,提高准确性,尤其适用于无人值守台站无线传输方式网络环境较差的情况。
(2)仪器状态监控,包括监控仪器时钟、直流电源、交流电源、事件触发和异常告警等信息。其中,仪器时钟监控尤为重要,仪器授时方式一般为GPS授时和SNTP授时。GPS授时较为精确,但多数仪器采用SNTP授时。该方式受网络延迟影响较大,若网络延迟始终较高或仪器设置的时间服务器停止服务,随着时间的推移,则与实际时钟的差距越来越大。因此,地震监测人员需要频繁逐一登录仪器Web页面进行手动校正,由于人为误差较大,导致仪器时钟精确程度降低。使用观测数据开展短临异常分析时,难以或基本不可能获知数据实际产生的准确时间,因而影响到数据的准确性分析,甚至得出错误结论。基于以上考虑,利用软件监控仪器状态,用户可及时掌握仪器运行状况,以便及时对仪器进行检查、校正,并对故障进行快速修复。
(3)观测数据监控,包括当前数据监控和当天(当日0时至当前)数据监控。当前数据监控主要是诊断当前数据是否缺测。当天数据监控则由软件自动完成当日观测数据采集和格式转换,并计算数据完整率,确认缺测时段,实现完整性分析。根据用户设置测项的阈值、特征值、允许最大变幅值和N倍标准差等,实现数据的有效性分析,可自动识别无效数据、变幅异常、干扰、地震、水位探头埋深、靠摆或限幅等信息。通过观测数据监控,可避免造成严重的数据丢失和产出大量错误数据,有助于及时掌握仪器监测情况。
该软件同时具备手动监控功能,除不提供声音告警和短信发送,其他功能与定时自动监控相同,不再赘述。
2.3 自动授时与告警功能SIAM软件具备校正仪器时钟功能,实现该功能的前提是安装此软件的计算机时钟足够精准。软件通过获取网络时间为本地计算机定时自动授时,经测试,误差小于1 s。获取网络时间的函数代码如下
Private Function getWebDatetime() As String
Dim NetAddr As String
NetAddr = Combo1.Text
Dim XmlHttp As Object
Set XmlHttp = CreateObject("Microsoft.XMLHTTP")
XmlHttp.Open "POST", NetAddr, False
XmlHttp.Send
getWebDatetime=CDate(1/3 + CDbl(CDate(Mid$(XmlHttp.getResponseHeader("Date"), 5, 21))))
Set XmlHttp = Nothing
End Function
软件初次运行时自动检测当前计算机所处网络环境,根据网络连接方式决定采取的授时和短信发送方式。在“单一地震行业网”模式下,采用C/S架构,即SIAM软件作为客户端程序,访问部署在行业网内具有广域网环境的时间与短信服务器,由该服务器分别访问时间服务器和短信服务器,实现对本地计算机的授时和短信发送服务(图 3)。客户端与服务端通讯采用TCP/IP协议,约定字符串头段和尾段且进行加密处理,并在服务端防火墙设置出站和入站规则,保障数据交换的安全性。在“地震行业网+广域网”模式下,由软件直接访问广域网短信服务器、时间服务器。
告警方式有界面告警、声音告警(2种告警方式不再介绍)和短信告警等3种。短信发送遵循相关信息安全体系和标准规范体系(杨天青等,2016)。触发短信告警时,短信发送模块通过HTTP协议的POST方式接入短信服务商平台接口,实现发送功能。可支持移动、联通、电信等手机用户接收,采用成功到达率最高(达100%)的通知类短信,接收响应时间在10 s以内,保障了短信推送的成功率和及时性。
2.4 手动监视控制类功能(1)时钟管理,包括读取时钟和校正时钟功能。实现读取仪器当前时钟和使用本地计算机时钟校正仪器时钟。校正时钟时自动产出日志描述信息可直接复制填入管理系统的工作日志,避免逐一登录仪器主页手动校正时钟的不准确和繁琐性,大幅提高工作效率。
(2)仪器重启。实现对仪器的一键重启操作。
(3)数据管理,包括查看仪器当前数据和当天数据绘图显示。当天数据绘图显示功能无需跨平台操作,将采集的数据自动绘制成曲线图,且自动完成数据完整性和有效性分析(图 4),以方便用户直观查看观测数据和分析结果。
(4)获取仪器状态信息,包括仪器时钟、时钟状态、设备零点、直流电源状态、交流电源状态、自校准开关状态、调零开关状态、事件触发个数、异常告警信息等。
2.5 管理类功能管理类功能设置如下:①值班管理。添加、删除值班人员、管理人员及对应的手机号码;②仪器管理。包括添加、插入和删除仪器;③网络监控管理。设置网络实时监控的IP类仪器设备信息;④路由器管理。设置本地计算机至仪器间的共用路由器和台站路由器信息。
2.6 工具类主要功能(1)仪器原始数据备份与恢复。在前兆台网的日常运维过程中发现,某些仪器死机重启会造成当天数据丢失,造成不可挽回的损失,基于软件定时自动监控的特点,开发了仪器原始数据自动备份功能,以尽可能地保障数据的连续完整。
软件自动备份每次自动监控过程中下载的原始数据。利用数据恢复功能,可手动将备份的原始数据,通过空数据补齐或数据文件合并方式,实现原始数据的恢复,使用FTP软件,将恢复后的文件上传至仪器原始文件目录,使用中国地震地球物理台网数据管理系统的手动采集功能,实现恢复数据入库。
(2)日常任务提醒。用户可自行设置一次性或周期性任务(如定期校正仪器时钟、提交异常零报告、月报和年报等),以短信方式发送给相应人员,提醒办理。
(3)软件备份与恢复。用户可备份和恢复保存的相关配置信息,在本地计算机重新安装或其他计算机初次安装时一键导入已备份的配置文件,无需再次逐一设置。
(4)在线升级。采用C/S架构,定期检测服务器有无新版本发布,有新版本可选择在线升级。
3 软件应用实例以中国地震局地震预测研究所区域地震地球物理台网为例,介绍软件的实际使用效果。
中国地震局地震预测研究所区域地震地球物理台网下属台站9个,仪器24台(套),测项57个。自2017年使用SIAM软件以来,台站出现停电或网络通讯故障现象后,工作人员接收到告警短信并及时予以修复,故障解决效率大幅提升。
图 5为2018年5月18日接收的马头台气象三要素观测仪数据缺测的告警短信。由图 5可见,11时25分接收到台站路由器网络连接异常的告警短信,代管人员前往台站检查,发现由于供电空开被其他人员误关闭而导致观测室停电,12时28分SIAM软件再次自动监控,收到数据缺测的告警短信(图 5)。使用“中国地震前兆台网数据处理系统”查看观测数据结果(图 6),与告警短信的缺测时段一致,避免因人为发现故障不及时而造成大量数据缺测的后果。
此外,使用SIAM软件的任务提醒和仪器时钟校正功能,可提高仪器校时工作效率和准确性。中国地震局地震预测研究所区域地震地球物理台网因此成为2017年度全国34个省级区域台网中唯一数字化仪器校时准确比例达到100%的区域中心。
4 软件应用因资源有限,未能使用该软件测试系统内所有类型的仪器。目前,已测试仪器有24种32个型号,涵盖形变、地下流体、地电、地磁、重力和辅助类等观测仪器,结果见表 1。
目前该软件已在13个省市地震局及研究所的48个测震台网或台站得到初步应用,实现监控仪器140台(套),测项分量总数426个。在各单位应用以来,工作人员能够第一时间获得地震观测仪器设备网络故障、仪器工作状态异常及数据缺测等情况的告警短信。根据告警短信进行维护维修,故障解决的及时性得到大幅提高,避免了因未及时发现停电、数采死机等情况而造成的观测仪器记录数据严重缺失现象,并且有部分台站使用数据恢复功能,最大限度地挽救了观测数据。因此,测震台网台站的地震监测水平和管理效能均得到一定程度的提高。
5 结束语SIAM软件结构设计合理,界面友好,运行稳定可靠,漏报、误报率降低。该软件适用于不同的网络环境,功能较为丰富,实现了IP类仪器和设备的网络实时监控和地球物理类仪器时钟、状态和数据的定时自动监控,提升了对仪器设备的监控能力和运维工作效率,仪器设备运行率、数据完整性和有效性得到有效保障,实现了对地球物理类仪器的统一管理和控制,减少了跨平台、逐一登录仪器页面进行人为操作的复杂性和不准确性。需要说明的是,并非所有地球物理类仪器具备完善的控制功能,如LN-3A水位仪不支持HTTP协议指令方式修改时钟,此类问题仅依靠软件无法解决。
该软件尚不完善,需要在测震台网台站实际运行过程中不断扩展、完善各项功能,修补BUG,以便在今后地震监测工作中发挥更大作用。
卜玉菲, 梅卫萍, 鲍海英, 等. 2017. 基于B/S架构的区域前兆数据库信息服务与运行管理平台的设计与实现[J]. 震灾防御技术, 12(3): 710-717. |
陈新兴, 谢文杰, 王建新. 2016. 仪器故障监控软件设计[J]. 福建电脑, (12): 135. |
戴波, 张扬, 居海华, 等. 2017. 基于移动平台的测震应急流动台现场监控系统的设计与实现[J]. 震灾防御技术, 12(3): 718-723. |
董一兵, 朱音杰, 王仁涛, 等. 2017. 基于开源WebGIS的测震台站运维管理系统的设计与实现[J]. 震灾防御技术, 12(2): 399-408. |
高东辉, 孟祥龙, 张守国, 等. 2013. 基于Nagios的网络监控系统在黑龙江地震监测网络中的应用[J]. 防灾减灾学报, 29(2): 67-73. DOI:10.3969/j.issn.1674-8565.2013.02.013 |
贺巍, 李壵奇, 汪伟明, 等. 2016. 地震仪器网络实时监控软件的开发与应用[J]. 通信电源技术, 33(3): 105-106. DOI:10.3969/j.issn.1009-3664.2016.03.041 |
胡玉良, 程冬焱, 李惠玲, 等. 2016. HostMonitor监控软件在山西地震前兆台网的应用[J]. 地震地磁观测与研究, 37(1): 131-135. |
李宏科, 王万玉, 冯旭祥, 等. 2016. 遥感卫星接收系统伺服监控软件设计[J]. 现代电子技术, 39(12): 51-54. |
李刚, 王晓磊, 孙路强, 等. 2012. 基于Nagios软件的综合短信联动告警系统在地震行业中的应用研究[J]. 地震研究, 35(1): 133-138. DOI:10.3969/j.issn.1000-0666.2012.01.022 |
李雨泽, 陶鑫, 肖健, 等. 2017. 九江台前兆仪器监控软件[J]. 科技创新与应用, 29: 50-51. |
王建国, 姚会琴, 高逊, 等. 2010. 天津市地震前兆台网的运行监控与维护管理[J]. 大地测量与地球动力学, 30(Z1): 111-115. |
王莉森, 张云昌, 殷金平, 等. 2016. 河北地震前兆台网运行质量监控系统研制[J]. 地震地磁观测与研究, 37(1): 136-141. |
王莉森, 殷金平, 张云昌. 2018. 河北地震前兆观测数据备份与恢复[J]. 地震地磁观测与研究, 39(1): 159-165. DOI:10.3969/j.issn.1003-3246.2018.01.026 |
杨天青, 姜立新, 董曼, 等. 2016. 基于共享模式的地震灾情集成发布平台设计与实现[J]. 震灾防御技术, 11(2): 375-383. |
姚会琴, 李悦, 高逊, 等. 2012. NagVis等开源监控软件在天津地震前兆台网的应用研究[J]. 震灾防御技术, 7(3): 329-333. DOI:10.3969/j.issn.1673-5722.2012.03.012 |
赵楠, 刘莉, 韩成成, 等. 2017. 中国市县防震减灾数据采集与处理平台研发[J]. 地震地磁观测与研究, 38(3): 218-222. DOI:10.3969/j.issn.1003-3246.2017.03.038 |
赵楠, 石英杰, 江沛春. 2015. 区域虚拟地震台网数据流监控软件研发[J]. 地震地磁观测与研究, 36(4): 150-153. |
钟卫星, 束亚一, 张欢, 等. 2016. 佘山地震台地震设备监控软件开发[J]. 地震地磁观测与研究, 37(4): 153-157. |