APP下载

基于事件驱动的国防工程监测报警系统设计

2018-10-12沈杜娟李爱华苏延召

现代电子技术 2018年19期
关键词:信息交互模块设计报警

沈杜娟 李爱华 苏延召

摘 要: 为提高某国防工程信息系统对于紧急事件和复杂任务的处置能力,推进信息化管理、自动化值守运行模式建设,研究设计基于事件驱动架构的监测报警系统。首先介绍系统的总体架构,共包含五个模块,然后分模块进行详细设计,并给出模块内部的相关数据类图,最后结合火灾报警的任务需求,说明该系统的信息交互流程。按照此方案设计的系统具有响应及时、事件优先级判断和复杂事件处理等特点,可提高系统监测报警的敏捷性和可靠性。

关键词: 国防工程; 事件驱动架构; 监测; 报警; 模块设计; 信息交互

中图分类号: TN06?34; TP271.4 文献标识码: A 文章编号: 1004?373X(2018)19?0113?04

Abstract: A national defense engineering monitoring and alarm system based on event?driven architecture is researched and designed to improve the processing abilities of national defense engineering information system for emergencies and complex tasks, and promote the construction of information management and automatic guarding operation mode. The overall architecture of the system is introduced, which contains a total of five modules. The sub?modules are designed in detail. The class diagrams of relevant data inside the module are given. In combination with the task requirements of fire alarm, the information exchange process of the system is illustrated. The system designed according to the above description has the characteristics of timely response, event priority judgment and complex event handling, and can improve the agility and reliability of the system in the aspects of monitoring and alarming.

Keywords: national defense engineering; event?driven architecture; monitoring; alarm; module design; information interaction

0 引 言

国防工程信息系统是以国防工程为基础平台,应用现代计算机技术、现代控制技术、信息管理技术等对国防工程中的设备和环境进行智能监控和信息化管理的系统[1]。现役的国防工程信息系统基本实现了对工程内部设备状态的监测与显示,实现了信息的传递,但仅能对信息进行数值判断,未能结合国防工程实际的业务流程,发掘信息的含义和关联。在发生紧急事件时,触发警报,却不能判断原因并做出相应的处置,仍主要依靠人员现场查看和操作,效率较低且无法对人员的处置决策提供帮助。事件驱动架构(Event?Driven Architecture,EDA)是一种设计和实现应用系统的方法,事件触发的消息可在独立、非耦合的组件和服务之间传递,且该架构采用动态响应事件机制,由事件产生者发布事件,事件消费者接收事件[2?4]。

事件驱动架构的应用较为广泛,有关系统集成架构设计的应用,文献[5]在电力突发事件的应急处置领域,基于事件驱动架构,结合应急预案生成了应急处置的流程;文献[6]将面向服务架构和事件驱动架构相结合,更加适用于复杂作战事件需求,实现服务的动态管理;文献[7]基于防汛指挥系统的需求,提出基于消息控制的事件驱动架构的设计思路,提高了防汛决策的分析处理能力和效率。还有关于专业模型、算法的相关应用[8?10],比如在网络通信领域,基于事件驱动的动态免疫分簇路由算法和簇型时间同步协议,以及事件驱动在海域监测站的部署算法中的应用,更好地实现算法中应对动态变化的环境。本文采用事件驱动架构对国防工程监测及报警系统进行设计,详细说明事件的产生和处理过程,增强系统处理事务的能力和效率。

1 监测报警系统总体设计方案

传统监测及报警系统面临着监测设备分布广、节点多、数据量大,信息判断处理逻辑单一和报警信息需要及时推送等问题,与信息化管理、自动化值守运行模式的推进要求差距较大。为进一步提高系统的响应和复杂事件处理能力,研究采用基于事件驱动的监测及报警系统,其总体设计方案如图1所示。

采集与控制代理服务模块的任务是从分布式子系统中采集数据,并封装为消息格式传送给监测及报警系统,系统根据设定的事件定义和规则将信息转化为事件并进行相应的事件处理,将结果传输到平台客户端进行状态的更新、数据库操作和日志记录,优先识别处理报警事件并传送到信息发布终端与代理模块触发方预案,下发控制命令,经过监测及报警系统的处理,下发到采集与控制代理模块,控制现场设备。该系统包括信息传输数据包模块、消息通信模块、管理配置模块、事件处理模块和数据库操作模块。

信息传输数据包模块包含系统通信中涉及的多种消息,主要有设备信息、报警信息、控制信息、反馈信息和工作流信息等5类消息。

消息通信模块实现监测及报警系统和采集与控制代理模块的通信以及系统内各种消息的处理和转发,包括通信线程管理、消息队列管理、DCOM通信和事件处理适配模块。

管理配置模块提供对监测及报警系统的配置管理功能,包括设备管理、事件管理、消息管理、数据传输监控等,其中事件管理实现事件定义和事件处理的规则和策略,实现复杂事件处理引擎中事件的定义,事件引擎据此触发不同的操作。

事件处理模块实现事件优先级判断、事件数据的存储入库、从事件流中识别出报警事件等功能,包括事件分发处理、事件输出处理及各种事件处理器。

数据库操作模块实现对平台和子系统数据库的相关操作,主要包括数据库连接管理、子系统信息数据库操作、权限查询判断和报警信息数据库操作等部分。

2 监测报警系统模块化设计方案

2.1 信息传输数据包模块设计

监测及报警服务模块中涉及的监测消息事件主要包括设备信息、报警信息、控制信息、反馈信息和工作流信息等5类消息,具體消息的UML类图如图2所示。通信数据包类定义了5种具体消息的共同属性及基本操作方法,包括数据包类型、数据接收方和发送方连接以及缓冲区的连接释放等;设备信息类增加了设备ID、状态类型、采样时间和采样值等属性;报警信息类增加了报警ID、报警级别以及处置情况等属性;控制命令信息类增加了命令类型、地址以及命令获取相关操作等;反馈信息类表示控制命令的执行结果,增加了反馈信息类型、地址以及反馈信息获取等操作;工作流信息类表示应急处置通信的相关信息,增加了目标用户名、用户角色以及预案的相关属性等。

2.2 消息通信模块设计

消息通信模块是监测及报警系统的一个功能组件,为了实现监测及报警系统中各种消息的处理和转发,具体DCOM通信的UML类图如图3所示。

模块间通过发送消息进行数据通信,而不是直接调用数据;消息放到队列中,通过队列维护数据传输状态监测、传输控制等;DCOM通信针对每个客户端建立一个通信线程,并对同一类型所有客户端的通信线程进行统一管理,实现消息的可靠传输。采集与控制代理模块可以通过使用消息通信模块和监测及报警系统通信,发送设备运行信息、设备状态信息等消息,同时接收相关的控制信息、反馈信息等消息,既是消息的生产者也是消费者。

该模块中的事件处理适配器实现事件处理模块和消息队列之间的交互,从消息队列中取出信息传输模块的相关数据,依据管理配置模块中事件管理模块针对事件的相关定义,对数据进行解码抽象成事件,并将事件以输入事件流的形式输入到事件处理模块中,相当于消息消费者。输出事件流直接与消息队列进行交互,以事件流定义的形式进行编码发送到消息队列实现消息转发,相当于消息生产者。

2.3 事件处理模块设计

事件处理模块由事件分发处理、事件优先级判断、事件输出处理及多个事件处理器组成,实现事件按照优先级进行分发、存储、输出以及调用相应事件处理器的功能。事件处理模块主要类的UML类图如图4所示。

1) 事件分发处理

类EventProcessorStrategy接收经过消息通信模块中的事件处理输入适配模块解码后的事件,通过创建等待处理的事件队列和处理事件的线程池进行事件分发处理,类EventProcessor和EventHandlerChain根据不同的事件选择不同的事件处理器处理事件。

2) 事件输出处理

类OutEventProcessorStrategy接收从事件处理模块输出的事件,类EventProcessor和EventHandlerChain根据不同的事件选择不同的消息通信模块中的事件处理输出适配模块转发处理事件。

3) 事件处理器

不同的事件处理器实现不同的事件处理功能。设备的识别处理器(Authentication Handler)通过调用设备管理服务实现设备的鉴权处理;存储事件处理器(Storage Event Handler)通过调用事件存储管理服务实现将事件数据的存储入库;报警事件处理器(Alert Event Handler)通过调用报警事件管理服务触发报警业务逻辑处理;复杂事件处理器(Complex Event Handler)实现从事件流中提取和处理复杂事件,输出处理结果。

2.4 数据库操作模块设计

数据库操作模块由数据库连接管理、子系统信息数据库操作、权限查询判断和报警信息数据库操作等部分组成,数据库操作模块的UML类图如图5所示。其中,数据库连接管理对象用于建立与数据库的连接,执行各种数据库操作;报警定义元素类用于表示一条报警定义信息;报警定义执行类用于查询相关子系统的报警信息,并提供是否报警的判断方法;报警信息数据库操作类用于查询报警定义和插入报警记录;权限查询判断类用于查询指定用户相关的权限信息,并提供权限判断的功能;子系统信息数据操作类包括供配电数据、空气质量数据和门禁状态数据等子系统数据的插入操作。

3 监测报警系统的信息交互流程

在信息从采集与控制代理模块经过监测及报警系统的处理,并将结果发送到应用层的通信过程中,消息的交互流程如图6所示。

1) 采集与控制代理模块封装与监测及报警系统进行DCOM通信的鉴权连接请求,将请求进行编码转换为鉴权消息发送到消息队列管理中。事件处理适配模块读取鉴权请求消息,并对消息进行解码组织成事件输出到事件处理模块中,由模块内部的事件处理器判断连接是否成功,将结果发送到采集与控制代理模块,进行连接或重发请求。

2) 连接成功后,以火灾报警任务为例,采集与控制代理模块发送的数据分为两种,一种是火灾探头等上传的报警信息,另一种是相关子系统采集的温度、湿度等环境与设备信息。系统为更好地处理紧急事件,提供了直通车服务,报警消息可直接从消息队列发送到报警信息发布平台。而其他系统采集的数据经过事件处理适配模块和事件处理模块,识别出报警信息和现场状态,发送回消息队列,再传递到平台和报警信息发布中心进行设备运转和报警状态的更新。

3) 平台接收到报警信息后,触发方预案,下达命令,经过相关模块解析传达到采集与控制代理模块,对各子系统进行联动控制,防止火势蔓延,如调动视频监控系统,锁定报警区域,启动轮询、摄像等;释放门禁系统的电控门锁,便于人员疏散和消防人员救火;环境监控系统关闭相应区域的进风机、回风机和空调;智能广播系统向相关区域自动发出语音播报,通报火情。

4 结 论

本文详细介绍了监测及报警系统的总体架构和各模块的设计方案,并结合国防工程中火灾报警的任务需求,介绍了其具体信息流程。该系统在接收到紧急事件和复杂任务时,能挖掘出信息的含义和关联,通过一系列逻辑判断,及时分析处理并能按照业务流程进行相应的操作,加强了国防工程信息系统对现场环境的掌握,提高了系统的可靠性和自动化值守能力。

参考文献

[1] 李决龙,邢建春.国防工程智能信息化概论[M].北京:电子工业出版社,2010.

LI J L, XING J C. Conspectus of intelligent information of national defense engineering [M]. Beijing: Publishing House of Electronics Industry, 2010.

[2] 孙存.基于事件驱动的石油装备产品远程监测系统设计与实现[D].北京:中国科学院大学,2016.

SUN C. Design and implementation of petroleum equipment product remote monitoring system based on event driven [D]. Beijing: University of Chinese Academy of Sciences, 2016.

[3] JIAO Jianfang, WANG Guang. Event driven tracking control algorithm for marine vessel based on backstepping method [J]. Neurocomputing, 2016, 207: 669?675.

[4] 韩琳,潘登.基于事件驱动的新型处理器的研究与应用[J].现代电子技术,2012,35(8):5?7.

HAN L, PAN D. Study and application on a new kind of event?driven processor [J]. Modern electronics technique, 2012, 35(8): 5?7

[5] 芦倩,刘超,朱朝阳.基于事件驱动模型的电力突发事件应急处置流程研究[J].灾害学,2016,31(1):181?187.

LU Q, LIU C, ZHU C Y. Study on the emergency disposal process of power emergency based on event driven model [J]. Journal of catastrophology, 2016, 31(1): 181?187.

[6] 别晓峰,李为民,张雅舰,等.事件驱动的面向服务作战仿真集成平台架构[J].空军工程大学学报(自然科学版),2013,14(2):37?41.

BIE X F, LI W M, ZHANG Y J, et al. An event?driven service?oriented architecture of operation simulation integration platform [J]. Journal of Air Force Engineering University (natural science edition), 2013, 14(2): 37?41.

[7] 刘舒,张红萍,王毅,等.消息控制的事件驱动防汛指挥系统设计思路及案例研究[J].水利水电技术,2014,45(11):91?95.

LIU S, ZHANG H P, WANG Y, et al. Design concept and case study of message control?based event?driven flood control command system [J]. Water resources and hydropower enginee?ring, 2014, 45(11): 91?95.

[8] 陈蕊,丁永生,郝矿荣.基于事件驱动的动态免疫分簇路由算法[J].计算机应用研究,2016,33(7):2087?2090.

CHEN R, DING Y S, HAO K R. Event?driven dynamic immune clustering routing algorithm [J]. Application research of computers, 2016, 33(7): 2087?2090.

[9] 樊玮,刘念,张建华.事件驱动的智能家庭在线能量管理算法[J].电工技术学报,2016,31(13):130?140.

FAN W, LIU N, ZHANG J H. An online algorithm based on event triggering for energy management of smart home [J]. Transactions of China electrotechnical society, 2016, 31(13): 130?140.

[10] 胡炜,曾斌,姚路.事件驱动下的重点海域监测站部署算法研究[J].计算机工程与应用,2017,53(7):136?140.

HU W, ZENG B, YAO L. Algorithm on deployment of monitoring station focused on key sea area driven by events [J]. Computer engineering and applications, 2017, 53(7): 136?140.

猜你喜欢

信息交互模块设计报警
LKD2-HS型列控中心驱采不一致报警处理
基于小型ERP管理系统
如何补齐当前爱国主义舆论引导中的短板
试论HIS系统中病区管理模块的设计以及管理效果
基于J2EE的牛奶销售系统设计与开发
基于云追溯明晰食品安全责任主体的市场化认定
2015款奔驰E180车安全气囊报警
基于邮件系统的虚拟网络社会管理的研究
眼科医院手术信息交互系统的开发与应用
死于密室的租住者