曹威++刘江++杨维发++刘梦雨
摘 要
为了更好的适应气象信息传输业务的不断发展,保证气象信息的传输能够满足预报预测业务不断提升的需求,结合湖北省气象信息传输业务的实际情况,针对目前传输监控业务存在的不足,设计集约化、模块化、可扩展的平台架构,建立集监控报警、应急处理、业务管理等功能于一体的气象信息传输监控与处理平台,将以往分散的监控资源加以集成和优化,实现业务流程的信息化管理,有效的提升气象信息传输监控处理的时效性,为业务的开展提供有力的支撑。
【关键词】气象信息传输 监控报警 应急处置 关键技术实现
1 引言
随着气象现代化进程的快速推进,气象探测数据、预报预测产品的种类不断增多,各项业务开展对气象信息的时效性、准确性的需求也在不断提高,因此对气象信息传输的全面监控、实时报警、及时处置对于提高信息传输及时率,保障预报预测业务的顺利开展具有重要的意义。
依托历年自主研发、课题项目以及新一代通信系统的本地化,湖北省气象信息与技术保障中心已经基本实现了对全省各类气象信息传输的监控、报警以及应急处置等功能,但仍然在以下几个方面存在着不足。
(1)监控系统数量多、形式多,且大部分系统没有实现报警功能,在实际业务使用尤其是在处理传输突发情况时,调用起来较为麻烦,不能快速的定位故障来源,降低了应急处置速度。
(2)监控业务管理信息化较低,很多业务管理工作还停留在纸质化、人工化的阶段,数据记录不统一规范,可用性较差;此外,在后期的管理和对信息的应用时,会出现重复劳动,增加业务管理人员的工作量和工作时间,且容易出现错误。
(3)目前监控系统在运行稳定性、可靠性以及人机交互性上还存在着一些不足,各系统间的协调运作以及调用还不完善,对提高响应时间、提升处置效率有一定的影响。
基于以上现状,本文将结合中心现有业务系统以及不断发展的业务需求,设计一套集约化的气象信息监控与处理平台,并对其关键技术的实现进行阐述。
2 设计思路及原则
依托新一代通信系统的监控数据库,结合现有的各业务系统,遵循以下设计原则,通过整合、研发,建立一套满足业务需求的气象信息传输监控与处理平台。
2.1 集约性
通过集约的界面,对现有的气象资料传输进行集中监控以及对现有监控系统的集中调用。
2.2 模块低耦合性
采用模块化的设计方式,将平台分割为若干功能相对独立的模块,加强模块功能的内联性,同时减少模块间的耦合性,方便开发和维护。
2.3 人机交互性
在界面接口的设计上,充分考虑用户的操作便捷性,在保证功能实现的前提下,简化操作流程,提升业务开展的效率。
2.4 稳定及可靠性
在研发过程中,充分考虑各功能模块的之间的协调性以及模块自身的稳定性,加强系统的容错能力,保证系统的稳定可靠运行。
2.5 可扩展性
通过预留扩展接口、采用可自定义的配置文件等方式,提升系统的可扩展性,使系统具有较长的生命周期。
3 系统结构设计
不同于基于B/S结构的信息发布系统或信息管理系统,气象信息传输监控业务相对来说更具专业性,设计到的业务人员范围较窄,因此该平台采用C/S结构作为系统的架构,其主要结构如图1所示。
4 系统功能模块设计
系统平台主要由业务平台主程序、应用软件工具集、后台业务处理进程三部分组成,各部分功能如图2所示。
4.1 业务平台主程序
业务平台主程序是整个业务平台与用户主要交互的人机界面,它相当于业务平台的信息显示和各子功能模块调度的平面,其主要功能包括应用程序调度控制、监控信息监测报警、详细监控信息显示等功能。应用程序调度控制:根据用户的需求,将应用软件工具集中的子程序模块订制成快捷按钮,集成显示在主程序上,方便用户快速调用,提高操作速度和便捷性。
4.1.1 集中监控报警
按照监控业务的流程,将各类资料的实时传输情况以及关键信息(时次、到报率、收发情况等)以动态图示的方式进行分别显示,在某类资料传输出现问题(缺报、收发异常等)进行实时的声光信息报警,提醒值班人员及时处理。
4.1.2 监控信息调用显示
值班人员能够在集中监控报警的界面中,直接调阅查看某类资料详细的传输情况,包括已有的监控页面、后期开发的数据查询表格等,无需像以往那样在收藏夹中手动打开相关网页或调用监控客户端查看监控信息,提升工作效率。
4.1.3 处置情况记录
系统能够自动或通过值班员手动调用电子日志工具,提供标准规范的数据录入接口,对报警或突发情况的处置情况进行记录,方便后期对处置情况的查询取证以及值班日志的自动生成。
4.2 应用软件工具集
应用软件工具集将业务工作中较为独立、主要用于辅助监控业务开展的相关功能,以独立的应用软件实现,并在业务平台主程序中集成快捷调用的接口,提升整个业务平台软件的运行效率,减少将所有功能集中在一个程序中带来的不稳定性。应用软件工具集主要包括以下子应用程序模块。
4.2.1 交接班管理
实现值班人员信息管理,值班人员交接班登录、前班沿革信息记录传递等功能,规范值班流程。
4.2.2 快速拨号工具
通过USB电话盒,通过电脑软件直接控制座机电话,实现一键快速拨号,并记录拨号信息,减少值班员查找号码信息、手动拨号耗费的时间,提升处理响应速度。
4.2.3 资料补调传输工具
在台站无法上传资料或出现省级故障时,为用户提供手动补调或录入相关数据并上传的功能,保障传输的及时率。
4.2.4 电子日志工具
实现过去纸质日志的电子化,值班员能够选择设定好的故障及处理结果选项快速录入值班处理记录,也能够根据实际情况手动输入值班处理记录,相比纸质记录,电子记录具有更规范的日志格式,方便用户查询检索;此外,通过电子日志记录工具,能够实现每日值班报表的自动生成,提升报表信息可读性,减少手工填写报表造成的失误,并能通过内置的NOTES模块直接快速发送至指定联系人,使业务流程更加集中和流畅。
4.2.5 统计分析工具
根据数据库中的电子日志记录,能够按照用户的查询条件,对日志记录进行检索,能够快速的定位某一条日志,或者统计某段时间内的相关统计分析数据,方便业务人员查找错情、分析总结问题。
4.2.6 值班管理
实现对值班员信息及权限的管理;实现班表制作、夜班费统计等功能,进一步减少业务管理人员重复、手工的工作。
4.2.7 其他外接工具
能够通过配置文件,将其他外接工具挂接之业务平台主程序,方便调用。
4.3 后台监控进程
由于监控业务对实时性的需求,需要业务平台具备较高的可靠性和稳定性,由于对各类资料的监测需要消耗较多本地运行服务器及数据库端的资源,且很多监控的时次都较为集中,如将所有监控都由主程序实现,将会带来主程序进程负载过重而导致整个业务平台操作卡顿甚至软件无响应的情况,因此对每类资料的监控,均采用单独的后台业务处理进程来实现,各业务进程对新一代通信系统监控的情况进行定时查询,将查询到的监控情况实时发送至业务平台主程序进行显示。采用此方式的好处包括:
(1)某一个资料的监控进程出现问题,也不会影响到其他进程和主程序的运行,减少单点故障导致全局崩溃的风险;
(2)只用对出现问题的监控进程进行处理修复,减少故障排查的时间;
(3)在新增资料需要监控时,只需按照与主程序间通信的格式,开发新的监控进程即可,方便后期的升级维护和二次开发。
5 关键技术实现
5.1 开发及运行环境
5.1.1 开发平台
采用C#语言进行开发,开发工具使用Visual Studio 2010。
5.1.2 数据库平台
采用MySQL数据库,其具有体积小、速度快、使用免费等特点。
5.1.3 报表软件
采用Microsoft Office Excel作为报表数据的格式。
5.1.4 操作系统
采用Windows 7(32bit)作为系统运行平台。
5.2 数据库热备
由于MySQL数据库不同于Microsoft的SQL SERVER,其没有增量备份机制,因此为了保证整个业务平台稳定持续的运行以及相关数据的可靠存储,对系统数据库进行双数据库热备,其主要原理是把主数据库的所有的数据同时写到备份数据库中,以保证两个数据库的热备同步。双数据库热备的主要操作如下:
(1)确定主从数据库版本均高于3.2,并配置好两个数据库各自的环境变量;
(2)设置主数据库配置文件“my.ini”,并重启组数据库服务,如图3;
(3)设置从数据库配置文件“my.ini”,并重启组数据库服务,如图4;
(4)执行热备同步命令(IP、用户名、密码根据实际情况填写),如图5;
(5)检查设置状态,查看Slave_IO_Running、Slave_SQL_Running两项状态为“YES”即表示设置成功。
5.3 前后台进程间通信
由于平台设计了后台监控进程,其定时将监控信息发送至前台程序进行解析显示,因此需要一个有效的通信机制用于两个进程之间的数据交换。在综合分析了通信所需的及时性、稳定性、实现难度等方面,没有采用数据库共享、文本共享、Windows自定义消息以及Microsoft提供的MSMQ队列消息机制,而是通过编写自定义的UDP(用户数据报协议)通信控件,来实现进程间消息的通信。
虽然UDP是一个面向非连接,不可靠的通信协议,但是考虑到监控平台是在局域网内运行,具有稳定的网络环境且传输的消息体积小,传输抽样较高,可以满足系统功能的需求;此外,通过将设置IP、监听端口、消息发送和读取等相关通信方法封装成一个自定义的控件“UDPSocket”,在开发前后台进程时,直接将控件拖入窗口,进行基本设置后,即可方便的调用,极大的提高了开发的效率。
5.4 多线程编程
由于主程序界面是用户与系统交流的主要人机交互接口,需要具备良好的可操作性及用户体验性,过去单线程编写的程序,在程序进行较大量数据处理时,会出现暂停响应的情况,用户体验感较差,因此主程序在调用方法时,使用多线程编程来保证与用户交互的流畅性。
开发过程中使用Visual Studio开发工具提供的“BackgroundWorker”多线程控件来实现多线程的调用。通过加载该控件的实例,可以实现后台异步方法的调用、线程进度的显示、后台进程的操控以及线程运行结果的反馈等功能,有效的解决了数据库读取、并发报警等操作对用户前台交互的影响。
5.5 报表生成
平台相关的报表,如每日值班电子日志等,采用的是Excel表格格式的输出。首先建立报表Excel格式模板,规划好标题、表头等基本属性,然后在程序中通过加载COM组建的引用(Microsoft Office 11.0 Object Library ),调用相关表格编辑的方法,加载并填充报表模板,对格式进行调整,然后输出做好的报表至指定目录,以实现复杂报表的自动生成,规范统一报表的格式。
6 结语
本文简要阐述了湖北省气象信息传输监控与处理平台的研发背景,介绍了其设计思路及平台的整体结构和功能模块,并就研发过程中涉及到的关键技术进行了简要的说明,通过该平台的建设,将以往分散的监控资源加以集成和优化,实现业务流程的信息化管理,建立起稳定、便捷、可靠的业务系统,将有效的提升气象信息传输监控处理的时效性,为业务的开展提供有力的支撑。
参考文献
[1]钟静,李赟,陈海涛,杨宏宇.基于SMS技术的气象报文监控设计与实现[J].贵州气象,2011(04).
[2]郭振武.基于SOCKET及SMS技术的远程信息传输系统的设计[D].杭州:浙江大学,2004.
[3]李德泉,何文春,阮宇智,刘一鸣.气象实时数据库服务监控系统设计与实现[J].成都信息工程学院学报,2012(02).
[4]华连生.省级气象探测资料集成系统设计[D].合肥:合肥工业大学,2010.
[5]富元,吕建新.基于UDP的可靠传输协议的研究与实现.光通信研究,2009(05).
[6]高东日,魏海平,杨建功,王福威. 基于UDP协议的内外网通信实施方案[J].辽宁石油化工大学学报,2005(04):75-78.
[7]梁海河,孟昭林 ,张春晖,李雁. 综合气象观测运行监控系统[J].气象,2011(10):1292-1300.
[8]张宇.成都气象数据库监控系统的设计与实现[J].高原山地气象研究,2014(01):86-89.
[9]杨涛,徐光耀.自动气象站数据传输监控报警软件[J].气象水文海洋仪器,2013(02):84-86.
[10]裴翀,宋连春,吴可军,李雁,李巍,邵楠.我国综合气象观测运行监控系统的设计与实践[J].气象,2011(02):213-218.
电子技术与软件工程2016年18期