辽宁省地震前兆应急监控与数据处理平台的开发与应用
2019-06-21刘天龙
燕 云,卢 山,刘天龙,赵 雷,罗 斐
(辽宁省地震局,辽宁 沈阳 110034)
0 引言
近年来,在国家政策的支持下,地震观测系统正经历着数字化、网络化、规模化的历史性跨越,地震观测仪器已成为了具有重要科学价值和战略价值的“国家科学观测设施”。因此,对地震学科中的各种数据,进行现代化、高质量、系统化的质量监控与管理,便成为了一个亟待解决的问题。
辽宁地震前兆台网观测台站包括国家级台站、省级台站和市县台站,观测类型包括“十五”观测、“九五”观测、人工与模拟观测等,涉及形变、重力、地磁、地电和地下流体五个学科多个专业领域和多种观测手段。观测采样方式为数字化采样、模拟采样和人工采样并存。2017年辽宁区域台网向国家中心报数台站总数49个,其中国家级台站9个,省级台站17个,市县级台站23个,目前在运行仪器171台套,测项分量466个。“十五”类型仪器数量为103套、“九五”类型仪器为10套、“人工”类型仪器为40套、“模拟”类型仪器为18套。我省在全国各省级地震前兆台网中属于仪器数量较多的省份[1]。
因此有必要针对辽宁省地震前兆监控数据的监控、整合和展示开发一套系统平台,方便更多的地震专业人员更充分地使用已有数据资源,减少资料收集、查询、保管等工作,提高了技术人员使用数据、分析数据的工作效率。
1 系统建设
建设分为两个主要部分:硬件建设和软件开发。
1.1 硬件系统结构
地震前兆台网中心:由6台65寸液晶电视机组成的大屏幕、及配套的工作站主机、操作台及4台台式机(其中新更换2台)、服务器1台、音频系统1套。
图1 地震前兆台网中心硬件系统结构Fig.1 Hardware system structure of Liaoning Earthquake Precursor Network Center
仪器维修中心:由2台65寸液晶电视机组成的大屏幕、操作台及2台台式机。
1.2 软件系统架构
软件开发主要包括,基于C/S(客户端/服务器端)模式开发的可执行程序——辽宁地震前兆台网运维监控系统,和基于B/S(浏览器端/服务器端)模式网络版的——辽宁省地震局前兆监控系统,共用同一套数据库和服务器,从而形成一套完整的监控体系。
按当前流行的程序设计方法,可将数据应用程序分为两类,一类是两层结构的数据应用程序,另一类是三层结构的数据应用程序。辽宁省地震前兆监控与数据处理平台结合辽宁地震前兆台网运维监控系统的用户特点,为了提高系统效率,采用了经典的两层结构的系统架构,两层结构的特点是数据库服务器管理数据,而客户端显示、访问和处理数据。这种架构的特点是客户端负荷比较大,但有效地减轻了服务器端的压力。由于用户监控管理的客户端是专用的,可以满足这种需求[5]。
辽宁省地震局前兆监控系统采用的是三层结构的系统架构,包含展示层、业务层和持久层。提高了系统的灵活性、可移植性和稳定性,符合不同部门工作人员的需求,便于后期维护和软件升级。
图2 三层结构模型Fig.2 Three-tier architecture model
2 主要功能
该平台研发了一套适合于辽宁省地震局地震前兆台网中心日常工作的综合性平台,并且已经投入使用,实现了对辽宁省地震前兆台网所有仪器设备的全面监控和管理,对收集的信息进行统计分析,并通过大屏幕来进行集中监视。主要包括以下七个功能。
2.1 安全监视功能
与有网络摄像头的台站进行视频连接,将视频接到综合监控平台上,在1个屏幕上进行集中监视。具备一些常用的视频监视功能[3-4]。
2.2 台站空间分布图及仪器运行状态监视管理
实现了辽宁地震前兆台网所有(地震前兆)台站的空间分布的可视化、可缩放,点击某台站时,以窗口方式显示该台站的简要基础信息,可将某台站放大至显示台站内部的测点分布。定期连通仪器,巡查仪器的运行状态,在1个屏幕上以空间分布图的方式进行集中监视。运行状态分为正常、故障两种。可按多种条件筛选仪器,如学科名称、型号。
2.3 数据曲线显示功能
实现了多个台项的观测数据曲线的显示,可定时自动从数据库更新曲线。在这个屏幕上也可切换为显示实时曲线(短时间显示)。可按多种条件筛选仪器,如学科手段、测项。
2.4 仪器信息列表显示及统计分析功能
包括两种情况,一是辽宁地震前兆台网中心,二是东北片区仪器维修中心。地震前兆台网中心是实现了仪器信息的列表显示,可按多种条件筛选仪器,如按时间段(当年、当月、任意时间段)、学科手段、测项。可显示仪器生命周期的各种统计信息,仪器类型统计信息、仪器故障统计信息等;东北片区仪器维修中心是在片区维修中心,显示片区仪器维修情况,包括接收的仪器总套数、已修复的仪器套数、报废的仪器套数、在修的仪器套数等,可按多种条件筛选仪器,如时间段(当年、当月、任意时间段)、省、学科手段、测项。
2.5 台站数据库监视功能
实现了显示信息节点台站的地震前兆数据库空间使用情况,对剩余空间小于一定比例的台站以高亮显示。
2.6 台站值班管理功能
实现了对台站每日日常工作的流程化管理,每完成一项工作,就点个按钮,在监控大屏上,集中展示每个台站日常工作完成情况。
2.7 仪器生命周期管理功能
仪器的状态信息是本项目要监控和管理的重要信息,因此,需要完善目前地震前兆台网仪器的管理,实现对每台仪器整个生命周期的运行情况进行全程跟踪管理,形成仪器完整档案。这个功能是管理模块,主要用于全面采集仪器的各种状态信息,并进行统计分析,产出统计分析报告。
3 系统实现
由于C/S模型——辽宁省地震前兆台网运维监控系统与B/S模型——辽宁省地震局前兆监控系统采用两种不同语言进行编译,先分别对两个模型的关键技术进行介绍。
3.1 辽宁省地震前兆台网运维监控系统
该系统采用.NET平台进行开发。采用C#开发,与后台数据库的连接通过Oracle客户端进行。由于本系统的开发和部署环境及节点范围与“前兆台网数据处理系统”相同,因此为了简化部署,将本系统集成在“前兆台网数据处理系统”中,通过更新“前兆台网数据处理系统”的可执行文件QZPROCESS.EXE文件直接部署[5]。
图3 .NET平台编译过程Fig.3 Compilation process of.NET platform
.NET框架由两个主要部分组成:公共语言运行时库 (Common Language Runtime,CLR)和.NET框架类库,它与操作平台以及Visual Studio.NET的关系如下图所示。
公共语言运行时库(CLR)管理着编译过的.NET程序的执行情况,CLR的角色类似于Java虚拟机,CLR是所有.NET语言的运行时库,它的功能是执行和管理以任何能够用于.NET平台的语言编写的所有代码,还可处理和管理程序运行过程中的其他一些方面,如:类型、版本以及其他相关信息、垃圾收集、代码检查、代码访问的安全性等。在执行代码的过程中,CLR使用另一种编译器将IL语言编译为特定于程序运行平台的机器代码[5]。
3.2 辽宁省地震局前兆监控系统
B/S模式(网页)采用了最先进的MVC架构,用JAVA和JS编写,部署在专门的服务器上,服务器操作系统为最新的Linux系统,Web服务器采用开源的Apache Tomcat,前台页面主要用HTML语言及CSS语言实现,利用百度地图 API、Jquery、Echarts、Fusionchart等插件实现了数据的可视化地图和图表展示[2]。
图4 MVC模型的关系和功能Fig.4 Relationships and functions of MVC model
4 平台展示
本节将对该平台的建设完成后的实际运行情况进行展示,并且针对较为典型的仪器运行监控和数据曲线监控进行操作显示[2]。
图5 监控平台整体效果图Fig.5 The overall effect map of monitoring platform
4.1 仪器运行监控
“仪器运行监控”功能用于对仪器运行进行监视。它以一定时间间隔定期连接仪器、获取仪器状态信息并进行分析来判断仪器运行是否正常,当仪器运行不正常时通过声音发出警报。
图6 仪器运行监控界面Fig.6 The monitoring interface of the instrument operation
图6可分为以下几部分:
(1)左上是省局所有仪器的列表,用于从中选择要监视的仪器。
(2)左下是用户选择要监视的仪器列表。从左上的仪器列表中点击某仪器后,点击“添加监视”按钮可将该仪器添加到要监视的仪器列表中。点击“全部添加”可将所有仪器添加到要监视的仪器列表中。
(3)点击本列表框中的某仪器或连续选择多台仪器,再点击“删除监视”按钮,可将这些仪器从删除列表中删除。
(4)设置监视参数
①“刷新间隔(分)”:启动监视后,软件将每隔一定时间间隔对监视的仪器进行巡查一次。这里设置的就是巡查的间隔时间,以分钟为单位,缺省为60分钟。建议间隔不要小于5分钟,以免太密集的仪器巡查会对仪器的正常观测产生影响。
②“允许时钟差(秒)”:巡查仪器时会检查仪器的时钟与运行软件的计算机的时钟进行对比,两种相差超过这个值时,就会被作为一项异常,显示在右边的窗口中。
③“声音报警”:设置在巡查仪器发现异常时,是否通过声音报警。
(5)点击“启动监视”按钮,将对要监视的仪器列表框中的仪器启动监视,它对所有要监视的仪器逐台进行连接、登录,登录成功后获取仪器状态信息并进行分析来判断仪器运行是否正常。
(6)点击“停止监视”按钮,将停止对所有仪器的监视。在需要时,可再次点击“启动监视”按钮启动监视。
(7)点击“数据监视”按钮,从仪器调取当天0时开始的数据,在单独的窗体中绘图显示,并按上面设置的时间间隔刷新数据。这个功能显示的是一个准实时的数据曲线。这个按钮点击启动了数据监视之后,就会变为“停止数据监视”,此时点击后,就停止准实时的数据曲线刷新。
(8)右下角是一个饼图,显示的是正常与异常仪器的数量。
(9)窗体右下底部有两个功能按钮:
①“查看前XX天数据”:从仪器调取前XX天数据,并绘图显示。天数可从下列列表中选择,其值从1~14天。
②“查看前XX天日志”:从仪器调取前XX天运行日志,并列表显示。天数可从下列列表中选择,其值从1~14天。
4.2 数据曲线监控
“数据监控”功能通过数据曲线图对数据进行监视。这个功能与上面“仪器运行监控”中的数据监视不同之处在于,这个功能是从数据库中读取数据并绘图显示,而“仪器运行监控”中的数据监视是从仪器直接读取数据并绘图显示[2]。
图7 数据曲线监控主界面Fig.7 The main monitoring interface of data curve
窗体左边是选项,用于过滤台项列表框中的台项。选项包括区域、采样率、数据类型、测项等。
窗体右边是台项列表框,它以树的形式列出台项。每个台项前都有一个复选框,打勾表示选中。
点击“开始”按钮,将对所有选中的台项开始进行监视。本模块将按指定时间间隔,从数据库中读取最新数据,刷新曲线图。
图8 数据曲线波形显示界面Fig.8 The display monitoring interface of data curve waveform
5 结束语
地震前兆应急监控与数据处理项目是辽宁地震前兆台网运维监控平台建设,它的目标是本着统一规划、逐步实施的原则,实现对辽宁省地震前兆台网所有仪器设备的全面监控和管理,对收集的信息进行统计分析,并通过大屏幕系统进行集中监视,清除管理死角,提高工作效率。