基金项目:国家“十五”重点项目“中国数字地震观测网络”子项目“云南数字强震动台网建设”资助.
(1.昆明理工大学 信息工程与自动化学院, 昆明 650051; 2.云南省地震局,昆明 650224)
(1. School of Information and Automation Engineering, Kunming University of Science and Technology, Kunming 650051, Yunnan, China)(2. Earthquake Administration of Yunnan Province, Kunming 650224, Yunnan, China)
Struts+Jboss; digital strong motion data transmission network; monitoring system; Yunnan
备注
基金项目:国家“十五”重点项目“中国数字地震观测网络”子项目“云南数字强震动台网建设”资助.
提出了云南数字强震动台网监控系统的设计原则、功能设计及结构设计方法。应用基于J2EE下的Struts+Jboss架构和Oracle数据库技术,组合开发了监控系统,并实现了其设计目标和设计要求。
Yunnan Digital Strong Motion Network was started to build in 2003.To realize the monitoring for the strong motion network,we suggested the design principle of the monitoring system,and gave the methods of functional and structural designs.Based on Struts+Jboss structure under J2EE and Oracle Database,we developed the monitoring system of strong motion network,and achieved the design goal.
引言
云南数字强震动台网为“十五”国家重点项目——中国数字地震观测网络建设项目的子项目。该项目计划在云南省建设176个固定强震动台、40个流动台、50个地震动强度(烈度)速报台、1个活断层影响台阵、1个场地影响台阵(含30个子台)和1个西南强震动观测中心(崔建文等,2006)。随着台网的逐步建成,观测数据的接收和存储、仪器状态监控、仪器参数远程设置等一系列问题亟待解决。云南数字强震动台网监控系统的建设就是针对这些问题提出的。
台网监控系统的数据传输计划采用CDMA通讯方式,软件系统采用J2EE下的Struts+Jboss架构和Oracle数据库组合的开发技术。
我国现有的强震动台主要通过DDN、电话拨号、GPRS等方式传输强震动数据(吴华灯等,2006)。已有的数据传输方式中,相比较而言,DDN和卫星两种方式费用较高,而电话拨号方式下数据传输的及时性和实时性得不到保证; GPRS和CDMA都是新技术,但综合技术性、经济性、技术更新等因素来看,CDMA方案略优于GPRS方案(周挚等,2005,2006),故云南数字强震动台网监控系统选用中国联通推出的CDMA2000 1X通讯方式进行数据传输。
广东省地震局自2005年6月开始使用GPRS无线传输系统,该系统软件采用C/C++、PHP和MYSQL数据库技术组合开发。与之相比,J2EE下的Struts+Jboss结构具有更好的交互性、可扩展性、可维护性、跨平台性等优点(康建萍,2006),而Oracle数据库可以在各种平台上运行,如Unix、Linux、Windows等,并且所有大型Internet网站几乎都使用Oracle 数据库(Stuns等,2005),故云南数字强震动台网监控系统的软件系统采用 J2EE下的Struts+Jboss架构和Oracle数据库技术组合开发。
1 系统设计目标和要求
1.1 设计目标本研究的设计目标包括:① 收集强震动记录; ② 实现数据存储功能; ③ 常规人机结合分析; ④ 运行状态监控和仪器状态信息管理。
1.2 设计要求在现有的现场数据采集设备(K2、Etna、GDQJ-Ⅱ、MR2002、Geosig记录器)与无线路由器(InRouter319C)连接、通讯方式采用CDMA2000 1X的基础上,需要在台网中心机房搭建一套监控系统,实现对现场数据采集设备的监视、参数设置、监测数据上传和设置现场数据采集设备,同时数据库必须具有存储历史数据的功能,并可供管理人员通过WEB页面浏览,将强震动记录以指定存储形式提供给后端数据处理服务器进行数据分析处理。
2 系统设计
2.1 设计原则(1)设备分组原则。考虑到今后强震动观测点的不断增加,将观测点的CDMA路由器(InRouter)设备进行分组,最大分为10组,每组最多为500台仪器,InRouter的分组与WEB上页面的分组是对应的。每组对应一个端口号,所以通讯服务器的服务端最大有10个端口。因设备分组,同组内命令与文件传输共用一个通道。
(2)服务器分离原则。通讯服务器与WEB 服务器分离,二者通讯采用TCP短连接。
(3)接收处理原则。通讯服务器有两个SERVER端。一个SERVER端是用来接收WEB 服务器下控制台用户输入的命令串,它得到这个命令串后,要立即向InRouter发送此命令,所以它对于WEB服务器而言是服务器端,对于InRouter来说则是客户端; 另一个SERVER端用来接收、处理InRouter方的信息,它包括命令的返回结果、设备自动上传的状态信息、设备的EVT文件。如果是命令的返回结果,通过TCP直接返回WEB服务器; 如果是EVT文件,在把文件片段拼凑为文件后,保存到数据库; 如果是状态信息,则直接保存到数据库。
(4)高效原则。对EVT文件进行处理和接收文件片段时,用线程池接收处理以提高效率。文件片段的拼凑用单独的后台程序处理,并且也采用线程池。
(5)服务器沟通原则。WEB 服务器与通讯服务器以字符串沟通。
(6)控制台会话原则。用户在WEB服务器命令控制台上输入一个命令,WEB应用会生成一个会话,里面包含设备对象。在会话期间,WEB应用维护该设备命令的发送与接收。当从通讯服务器返回结果信息时,则结束会话。如果WEB服务器与通讯服务器通讯超时或通讯返回错误提示信息,则结束会话。
2.2 主要功能设计根据云南数字强震动台网监控系统的设计目标,系统具有以下7个功能:① 对强震动仪发送命令,处理命令结果; ② 接收和处理地震事件文件; ③ 仪器状态巡检; ④ 上传、下载仪器参数配置文件; ⑤ WEB页面设备监控; ⑥ 统计报表; ⑦ 日志管理。其中,接收、处理地震事件文件和设备参数的设置在系统设计中是需要解决的核心问题。
2.3 系统结构设计由系统逻辑结构图(图1)可见,强震动仪与InRouter相连,通过CDMA传输模块,无线接入CDMA2000 1X网络。联通CDMA2000 1X网络通过光纤专线与监控中心路由器相连,然后路由器和交换机相连,交换机则通过RJ45接口与网内通讯、WEB、数据库、数据处理服务器连接。
系统软件结构见图2。系统软件主要由6个组件组成,分别为YNEStat、YNEWebApp、ComplicatedConsole、OuterServerConsole、FileAssemble和CmdAssemble。其中,YNEStat组件线程负责把数据库里的数据进行汇总和统计后保存到数据库中; YNEWebApp组件为系统的实现部分,主要包括管理员管理、设备管理、设备监控、命令控制台、日志管理5个子组件; ComplicatedConsole组件为系统的实现部分,主要包括负责线程调度的ConsoleThread主线程、命令侦听服务器、负责向InRouter发送命令的客户端、日志处理4个子组件; OuterServerConsole组件为系统的实现部分,主要包括负责线程调度等的主线程、负责侦听InRouter的消息、信息接收、信息分类、命令返回结果(包括命令结果、PAR文件内容)、设备主动上传的信息(包括状态信息、EVT文件等)、日志处理7个子组件; FileAssemble组件包括负责对文件片段进行拼凑并保存到数据库等的主线程和应用程序运行的日志处理2个子组件; CmdAssemble组件包括负责对多包传输的命令结果内容进行拼凑,拼凑成功后发给WEB服务器的主线程和应用程序运行的日志处理2个子组件。3 系统实现
3.1 框架建构根据项目需求分析和一些监控软件系统的具体要求,我们采用J2EE技术Struts+Jboss 软件框架开发和实现系统。采用此框架开发的系统具有良好的开放性、扩展性和完善的系统功能,能全面满足用户的需要。
(1)Struts设计模型。Struts是Apache公司著名的软件产品之一,是对MVC构架的具体实现。Struts技术目前得到了IBM、SUN、BORLAND、ORACLE等世界IT巨头的支持。Struts 非常流行,因为它能够帮助开发人员有效地设计 WEB 应用程序(罗杰云等,2004)。Struts将应用程序分解为模型—视图—控制器,通过一种便利的方式,将模块化的应用程序清楚地分成逻辑、表示和数据。JavaServer Pages(JSP)在 MVC 框架中通常是作为视图,它根据业务逻辑和数据生成动态用户界面。
(2)Jboss(WEB服务器)。在J2EE应用服务器领域,Jboss是发展最为迅速的应用服务器,是开放源代码的项目,它遵循最新的J2EE规范,能运行于任何平台(陶淼,2007)。
(3)Jboss应用服务器。 它具有JMX微内核服务作为其总线结构、面向服务的架构、能够实现应用热部署和热卸载能力的统一类装载器等优点,它是高度模块化和松耦合的,具有良好的性能。
3.2 平台选择所有服务器均使用Linux操作系统为平台。Linux系统属于源代码开放的免费软件系统,与Windows操作系统相比,其稳定性和安全性是毋庸置疑的(于海英等,2003a,2003b)。数据接收服务器和WEB服务器均为HP DL 380 G5,上面有4个73G硬盘,数据存储采用磁盘阵列Raid 5技术; Oracle数据库服务器为HP DL580,配有两个143G的硬盘和8G的内存,数据存储采用Raid 1技术(安宁,2003)。整个硬件经过精心的功能组织设计,加上程序设计上可进行大用户量访问、拥塞控制等解决方法,使WEB访问速度更快。
3.3 处理流程监控系统共有9个处理流程:汇总统计处理(YNEStat)、用户执行GET命令(返回结果是单包)、用户执行GET命令(结果是多包)、用户执行SET命令(命令信息是单包)、用户执行SET命令(命令信息是多包)、EVT文件的处理、设备状态接收的处理、读取设备参数文件(PAR文件)、设置设备参数。
9个处理流程分别对应相应的时序图。其中要解决的核心问题是InRouter上传EVT,相应的时序见图3。
3.4 WEB监控网站虽然台网监控系统的实现包括了设备软硬件选择、框架建构和9个处理流程等诸多方面,但对于使用该系统的最终用户(设备管理员和设备监测员)而言, WEB网站提供了供管理人员浏览和应用数据资源的唯一窗口,即只有WEB监控网站是透明的。
WEB页面包括登录页面、用户管理页面、设备监控主页面、强震仪设备定义子页面、强震仪状态参数监控子页面、强震仪状态参数设置子页面、强震仪数据浏览页面、报表统计汇总页面、系统日志浏览页面、数据文件显示功能页面和数据文件下载页面等。
网站主要模块包括:① 登录软件模块(Login); ② 设备状态统计模块(Devicestat); ③ 设备登录统计模块(logindevice); ④ PAR文件日志模块;(Parlog); ⑤ 设备添加模块(DeviceAdd); ⑥ EVT文件管理模块(Evtstore); ⑦ 控制台输出模块(Console)。
3.5 系统最终实现及其功能(1)通讯服务器。① 前置的通讯服务器负责接收CDMA通讯方式下InRouter转发的强震仪数据,并进行数据解析,按后台数据处理服务器指定存储形式提供给后端的数据处理服务器或工作站进行数据分析处理; ② 接收管理员从WEB控制页面发出的指令,并将其转发至远端的强震仪,接收强震仪响应数据并将其反馈给管理员; ③ 实时监测强震仪运行状态; ④ 将运行状况及数据存入数据库; ⑤ 报警及日志功能。
(2)数据库服务器。① 负责存储前置通讯服务器接收到的记录。系统对记录自动分类、编号,然后将其写入数据库中; ② 记录管理员的操作过程并形成日志。
(3)数据处理服务器。 负责对强震仪数据进行分析处理,此部分工作将由专业分析软件完成。
(4)WEB服务器。① WEB管理服务器:提供WEB界面以方便管理员进行强震仪状态监控、设置参数; ② 报警提醒功能:当前置服务器检测到远端强震仪发生故障时,前置服务器通知WEB管理服务器。WEB管理服务器通过WEB监控主页面报警,并通过短信向由管理员预先设置的接收人报警; ③ 提供权限管理:提供不同的权限设置,限制访问者使用资源; ④ 分组功能:可通过管理员预先设置,将远端强震仪分组,组成虚拟子网; 并可将管理子网的WEB页通过互联网映射到远端服务器,形成与强震动台网中心数据共享区域中心; ⑤ 报表功能: 对接收到的记录自动生成年报表、月报表和日报表。
(5)网络节点及网络。① 网络节点:强震仪设备通过RS232或RJ45接口与InRouter连接。强震仪负责记录地震事件和接收InRouter转发的参数,InRouter负责转发强震仪数据; InRouter内部固化了3个数据订阅服务,即定时上报设备的运行状态、在有地震数据文件产生时上报地震数据文件、在异常情况下报警。② 网络:强震动观测点的强震仪与路由器相连,路由器通过IP电话卡无线接入联通CDMA2000 1X网络。CDMA2000 1X网络通过光纤专线与监控中心路由器相连,路由器连接交换机,交换机通过RJ45接口与网内各设备相连。
4 结语
云南数字强震动台网监控系统于2007年4月安装并试运行,有9台仪器参与了测试。针对测试过程中出现的问题,我们对系统又进行了修正。3个月(2007年5~7月)的测试结果表明,该系统已经实现了记录收集、数据存储、常规人机合成分析、运行状态监控、仪器状态信息管理等功能,并实现了WEB状态下的设备运行状态监视、参数设置、数据上传,达到了系统的设计目标和要求。从试运行开始至2007年8月,该监控系统内加入的仪器已达到200余台,到目前为止,监控系统运行稳定可靠。
但是,该系统目前已实现的功能还有待于进一步完善和补充,如接收到的地震事件数据文件现仍需由人工完成数据处理和分析。下一步我们将设计和实现在数据处理服务器上用专业分析处理软件对数据进行自动分析和处理,并将处理的结果返回给系统用户。
监控系统已实现的功能,为昆明地区地震烈度速报、地震动强度分布速报和发布区域破坏性地震动信息等工作奠定了坚实的基础。
- 安宁.2003.服务器数据安全保护技术RAID[J]. 电气传动自动化,(4):59-60.
- 崔建文,高东,李世成,等. 2006. 新的云南数字强震动观测网络[J].地震研究,29(增刊):453-458.
- 康建萍.2006.基于MVC模式的Struts框架研究与应用[J].计算机与信息技术,(3):52-54.
- 罗杰云,贺敏伟.2004. Struts~MVC设计框架在软件过程管理系统中的应用[J]. 计算机系统应用,(6):30-33.
- 陶淼.2007.基于JBOSS平台的J2EE应用优化研究与实践[D]. 北京:对外经济贸易大学.
- 吴华灯,叶春明,谢剑波,等. 2006. GPRS 强震无线数据传输系统[J].地震地磁观测与研究,27(5): 68-76.
- 于海英,谢礼立,崔杰. 2003a. 强震及工程震害数据库网站系统研究与实现[J].地震工程与工程振动,23(3):3-10.
- 于海英,谢礼立. 2003b. 强震观测数据库建设与Internet服务[J].地震工程与工程振动,23(4):2-9.
- 周挚,刘琼仙,梁虹,等. 2005. 基于VPN技术的云南强震观测高速远程通信实用方案[J].云南大学学报(自然科学版), 27(5):387-391.
- 周挚,刘琼仙,梁虹,等. 2006. 流动强震观测无线接入远程通信实用方案[J]. 云南大学学报(自然科学版)2006(1):33-38.
- Stuns D,Buterbaugh T, Bryla B.2005. OCP:Oracle 10g 管理Ⅱ学习指南[M].和敬,王增,王晰,等译.北京:电子工业出版社.