沈杜娟 李愛華 蘇延召
摘 要: 為提高某國(guó)防工程信息系統(tǒng)對(duì)于緊急事件和復(fù)雜任務(wù)的處置能力,推進(jìn)信息化管理、自動(dòng)化值守運(yùn)行模式建設(shè),研究設(shè)計(jì)基于事件驅(qū)動(dòng)架構(gòu)的監(jiān)測(cè)報(bào)警系統(tǒng)。首先介紹系統(tǒng)的總體架構(gòu),共包含五個(gè)模塊,然后分模塊進(jìn)行詳細(xì)設(shè)計(jì),并給出模塊內(nèi)部的相關(guān)數(shù)據(jù)類圖,最后結(jié)合火災(zāi)報(bào)警的任務(wù)需求,說明該系統(tǒng)的信息交互流程。按照此方案設(shè)計(jì)的系統(tǒng)具有響應(yīng)及時(shí)、事件優(yōu)先級(jí)判斷和復(fù)雜事件處理等特點(diǎn),可提高系統(tǒng)監(jiān)測(cè)報(bào)警的敏捷性和可靠性。
關(guān)鍵詞: 國(guó)防工程; 事件驅(qū)動(dòng)架構(gòu); 監(jiān)測(cè); 報(bào)警; 模塊設(shè)計(jì); 信息交互
中圖分類號(hào): TN06?34; TP271.4 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 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
國(guó)防工程信息系統(tǒng)是以國(guó)防工程為基礎(chǔ)平臺(tái),應(yīng)用現(xiàn)代計(jì)算機(jī)技術(shù)、現(xiàn)代控制技術(shù)、信息管理技術(shù)等對(duì)國(guó)防工程中的設(shè)備和環(huán)境進(jìn)行智能監(jiān)控和信息化管理的系統(tǒng)[1]?,F(xiàn)役的國(guó)防工程信息系統(tǒng)基本實(shí)現(xiàn)了對(duì)工程內(nèi)部設(shè)備狀態(tài)的監(jiān)測(cè)與顯示,實(shí)現(xiàn)了信息的傳遞,但僅能對(duì)信息進(jìn)行數(shù)值判斷,未能結(jié)合國(guó)防工程實(shí)際的業(yè)務(wù)流程,發(fā)掘信息的含義和關(guān)聯(lián)。在發(fā)生緊急事件時(shí),觸發(fā)警報(bào),卻不能判斷原因并做出相應(yīng)的處置,仍主要依靠人員現(xiàn)場(chǎng)查看和操作,效率較低且無法對(duì)人員的處置決策提供幫助。事件驅(qū)動(dòng)架構(gòu)(Event?Driven Architecture,EDA)是一種設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用系統(tǒng)的方法,事件觸發(fā)的消息可在獨(dú)立、非耦合的組件和服務(wù)之間傳遞,且該架構(gòu)采用動(dòng)態(tài)響應(yīng)事件機(jī)制,由事件產(chǎn)生者發(fā)布事件,事件消費(fèi)者接收事件[2?4]。
事件驅(qū)動(dòng)架構(gòu)的應(yīng)用較為廣泛,有關(guān)系統(tǒng)集成架構(gòu)設(shè)計(jì)的應(yīng)用,文獻(xiàn)[5]在電力突發(fā)事件的應(yīng)急處置領(lǐng)域,基于事件驅(qū)動(dòng)架構(gòu),結(jié)合應(yīng)急預(yù)案生成了應(yīng)急處置的流程;文獻(xiàn)[6]將面向服務(wù)架構(gòu)和事件驅(qū)動(dòng)架構(gòu)相結(jié)合,更加適用于復(fù)雜作戰(zhàn)事件需求,實(shí)現(xiàn)服務(wù)的動(dòng)態(tài)管理;文獻(xiàn)[7]基于防汛指揮系統(tǒng)的需求,提出基于消息控制的事件驅(qū)動(dòng)架構(gòu)的設(shè)計(jì)思路,提高了防汛決策的分析處理能力和效率。還有關(guān)于專業(yè)模型、算法的相關(guān)應(yīng)用[8?10],比如在網(wǎng)絡(luò)通信領(lǐng)域,基于事件驅(qū)動(dòng)的動(dòng)態(tài)免疫分簇路由算法和簇型時(shí)間同步協(xié)議,以及事件驅(qū)動(dòng)在海域監(jiān)測(cè)站的部署算法中的應(yīng)用,更好地實(shí)現(xiàn)算法中應(yīng)對(duì)動(dòng)態(tài)變化的環(huán)境。本文采用事件驅(qū)動(dòng)架構(gòu)對(duì)國(guó)防工程監(jiān)測(cè)及報(bào)警系統(tǒng)進(jìn)行設(shè)計(jì),詳細(xì)說明事件的產(chǎn)生和處理過程,增強(qiáng)系統(tǒng)處理事務(wù)的能力和效率。
傳統(tǒng)監(jiān)測(cè)及報(bào)警系統(tǒng)面臨著監(jiān)測(cè)設(shè)備分布廣、節(jié)點(diǎn)多、數(shù)據(jù)量大,信息判斷處理邏輯單一和報(bào)警信息需要及時(shí)推送等問題,與信息化管理、自動(dòng)化值守運(yùn)行模式的推進(jìn)要求差距較大。為進(jìn)一步提高系統(tǒng)的響應(yīng)和復(fù)雜事件處理能力,研究采用基于事件驅(qū)動(dòng)的監(jiān)測(cè)及報(bào)警系統(tǒng),其總體設(shè)計(jì)方案如圖1所示。
采集與控制代理服務(wù)模塊的任務(wù)是從分布式子系統(tǒng)中采集數(shù)據(jù),并封裝為消息格式傳送給監(jiān)測(cè)及報(bào)警系統(tǒng),系統(tǒng)根據(jù)設(shè)定的事件定義和規(guī)則將信息轉(zhuǎn)化為事件并進(jìn)行相應(yīng)的事件處理,將結(jié)果傳輸?shù)狡脚_(tái)客戶端進(jìn)行狀態(tài)的更新、數(shù)據(jù)庫(kù)操作和日志記錄,優(yōu)先識(shí)別處理報(bào)警事件并傳送到信息發(fā)布終端與代理模塊觸發(fā)方預(yù)案,下發(fā)控制命令,經(jīng)過監(jiān)測(cè)及報(bào)警系統(tǒng)的處理,下發(fā)到采集與控制代理模塊,控制現(xiàn)場(chǎng)設(shè)備。該系統(tǒng)包括信息傳輸數(shù)據(jù)包模塊、消息通信模塊、管理配置模塊、事件處理模塊和數(shù)據(jù)庫(kù)操作模塊。
信息傳輸數(shù)據(jù)包模塊包含系統(tǒng)通信中涉及的多種消息,主要有設(shè)備信息、報(bào)警信息、控制信息、反饋信息和工作流信息等5類消息。
消息通信模塊實(shí)現(xiàn)監(jiān)測(cè)及報(bào)警系統(tǒng)和采集與控制代理模塊的通信以及系統(tǒng)內(nèi)各種消息的處理和轉(zhuǎn)發(fā),包括通信線程管理、消息隊(duì)列管理、DCOM通信和事件處理適配模塊。
管理配置模塊提供對(duì)監(jiān)測(cè)及報(bào)警系統(tǒng)的配置管理功能,包括設(shè)備管理、事件管理、消息管理、數(shù)據(jù)傳輸監(jiān)控等,其中事件管理實(shí)現(xiàn)事件定義和事件處理的規(guī)則和策略,實(shí)現(xiàn)復(fù)雜事件處理引擎中事件的定義,事件引擎據(jù)此觸發(fā)不同的操作。
事件處理模塊實(shí)現(xiàn)事件優(yōu)先級(jí)判斷、事件數(shù)據(jù)的存儲(chǔ)入庫(kù)、從事件流中識(shí)別出報(bào)警事件等功能,包括事件分發(fā)處理、事件輸出處理及各種事件處理器。
數(shù)據(jù)庫(kù)操作模塊實(shí)現(xiàn)對(duì)平臺(tái)和子系統(tǒng)數(shù)據(jù)庫(kù)的相關(guān)操作,主要包括數(shù)據(jù)庫(kù)連接管理、子系統(tǒng)信息數(shù)據(jù)庫(kù)操作、權(quán)限查詢判斷和報(bào)警信息數(shù)據(jù)庫(kù)操作等部分。
2.1 信息傳輸數(shù)據(jù)包模塊設(shè)計(jì)
監(jiān)測(cè)及報(bào)警服務(wù)模塊中涉及的監(jiān)測(cè)消息事件主要包括設(shè)備信息、報(bào)警信息、控制信息、反饋信息和工作流信息等5類消息,具體消息的UML類圖如圖2所示。通信數(shù)據(jù)包類定義了5種具體消息的共同屬性及基本操作方法,包括數(shù)據(jù)包類型、數(shù)據(jù)接收方和發(fā)送方連接以及緩沖區(qū)的連接釋放等;設(shè)備信息類增加了設(shè)備ID、狀態(tài)類型、采樣時(shí)間和采樣值等屬性;報(bào)警信息類增加了報(bào)警ID、報(bào)警級(jí)別以及處置情況等屬性;控制命令信息類增加了命令類型、地址以及命令獲取相關(guān)操作等;反饋信息類表示控制命令的執(zhí)行結(jié)果,增加了反饋信息類型、地址以及反饋信息獲取等操作;工作流信息類表示應(yīng)急處置通信的相關(guān)信息,增加了目標(biāo)用戶名、用戶角色以及預(yù)案的相關(guān)屬性等。
2.2 消息通信模塊設(shè)計(jì)
消息通信模塊是監(jiān)測(cè)及報(bào)警系統(tǒng)的一個(gè)功能組件,為了實(shí)現(xiàn)監(jiān)測(cè)及報(bào)警系統(tǒng)中各種消息的處理和轉(zhuǎn)發(fā),具體DCOM通信的UML類圖如圖3所示。
模塊間通過發(fā)送消息進(jìn)行數(shù)據(jù)通信,而不是直接調(diào)用數(shù)據(jù);消息放到隊(duì)列中,通過隊(duì)列維護(hù)數(shù)據(jù)傳輸狀態(tài)監(jiān)測(cè)、傳輸控制等;DCOM通信針對(duì)每個(gè)客戶端建立一個(gè)通信線程,并對(duì)同一類型所有客戶端的通信線程進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)消息的可靠傳輸。采集與控制代理模塊可以通過使用消息通信模塊和監(jiān)測(cè)及報(bào)警系統(tǒng)通信,發(fā)送設(shè)備運(yùn)行信息、設(shè)備狀態(tài)信息等消息,同時(shí)接收相關(guān)的控制信息、反饋信息等消息,既是消息的生產(chǎn)者也是消費(fèi)者。
該模塊中的事件處理適配器實(shí)現(xiàn)事件處理模塊和消息隊(duì)列之間的交互,從消息隊(duì)列中取出信息傳輸模塊的相關(guān)數(shù)據(jù),依據(jù)管理配置模塊中事件管理模塊針對(duì)事件的相關(guān)定義,對(duì)數(shù)據(jù)進(jìn)行解碼抽象成事件,并將事件以輸入事件流的形式輸入到事件處理模塊中,相當(dāng)于消息消費(fèi)者。輸出事件流直接與消息隊(duì)列進(jìn)行交互,以事件流定義的形式進(jìn)行編碼發(fā)送到消息隊(duì)列實(shí)現(xiàn)消息轉(zhuǎn)發(fā),相當(dāng)于消息生產(chǎn)者。
2.3 事件處理模塊設(shè)計(jì)
事件處理模塊由事件分發(fā)處理、事件優(yōu)先級(jí)判斷、事件輸出處理及多個(gè)事件處理器組成,實(shí)現(xiàn)事件按照優(yōu)先級(jí)進(jìn)行分發(fā)、存儲(chǔ)、輸出以及調(diào)用相應(yīng)事件處理器的功能。事件處理模塊主要類的UML類圖如圖4所示。
1) 事件分發(fā)處理
類EventProcessorStrategy接收經(jīng)過消息通信模塊中的事件處理輸入適配模塊解碼后的事件,通過創(chuàng)建等待處理的事件隊(duì)列和處理事件的線程池進(jìn)行事件分發(fā)處理,類EventProcessor和EventHandlerChain根據(jù)不同的事件選擇不同的事件處理器處理事件。
2) 事件輸出處理
類OutEventProcessorStrategy接收從事件處理模塊輸出的事件,類EventProcessor和EventHandlerChain根據(jù)不同的事件選擇不同的消息通信模塊中的事件處理輸出適配模塊轉(zhuǎn)發(fā)處理事件。
3) 事件處理器
不同的事件處理器實(shí)現(xiàn)不同的事件處理功能。設(shè)備的識(shí)別處理器(Authentication Handler)通過調(diào)用設(shè)備管理服務(wù)實(shí)現(xiàn)設(shè)備的鑒權(quán)處理;存儲(chǔ)事件處理器(Storage Event Handler)通過調(diào)用事件存儲(chǔ)管理服務(wù)實(shí)現(xiàn)將事件數(shù)據(jù)的存儲(chǔ)入庫(kù);報(bào)警事件處理器(Alert Event Handler)通過調(diào)用報(bào)警事件管理服務(wù)觸發(fā)報(bào)警業(yè)務(wù)邏輯處理;復(fù)雜事件處理器(Complex Event Handler)實(shí)現(xiàn)從事件流中提取和處理復(fù)雜事件,輸出處理結(jié)果。
2.4 數(shù)據(jù)庫(kù)操作模塊設(shè)計(jì)
數(shù)據(jù)庫(kù)操作模塊由數(shù)據(jù)庫(kù)連接管理、子系統(tǒng)信息數(shù)據(jù)庫(kù)操作、權(quán)限查詢判斷和報(bào)警信息數(shù)據(jù)庫(kù)操作等部分組成,數(shù)據(jù)庫(kù)操作模塊的UML類圖如圖5所示。其中,數(shù)據(jù)庫(kù)連接管理對(duì)象用于建立與數(shù)據(jù)庫(kù)的連接,執(zhí)行各種數(shù)據(jù)庫(kù)操作;報(bào)警定義元素類用于表示一條報(bào)警定義信息;報(bào)警定義執(zhí)行類用于查詢相關(guān)子系統(tǒng)的報(bào)警信息,并提供是否報(bào)警的判斷方法;報(bào)警信息數(shù)據(jù)庫(kù)操作類用于查詢報(bào)警定義和插入報(bào)警記錄;權(quán)限查詢判斷類用于查詢指定用戶相關(guān)的權(quán)限信息,并提供權(quán)限判斷的功能;子系統(tǒng)信息數(shù)據(jù)操作類包括供配電數(shù)據(jù)、空氣質(zhì)量數(shù)據(jù)和門禁狀態(tài)數(shù)據(jù)等子系統(tǒng)數(shù)據(jù)的插入操作。
在信息從采集與控制代理模塊經(jīng)過監(jiān)測(cè)及報(bào)警系統(tǒng)的處理,并將結(jié)果發(fā)送到應(yīng)用層的通信過程中,消息的交互流程如圖6所示。
1) 采集與控制代理模塊封裝與監(jiān)測(cè)及報(bào)警系統(tǒng)進(jìn)行DCOM通信的鑒權(quán)連接請(qǐng)求,將請(qǐng)求進(jìn)行編碼轉(zhuǎn)換為鑒權(quán)消息發(fā)送到消息隊(duì)列管理中。事件處理適配模塊讀取鑒權(quán)請(qǐng)求消息,并對(duì)消息進(jìn)行解碼組織成事件輸出到事件處理模塊中,由模塊內(nèi)部的事件處理器判斷連接是否成功,將結(jié)果發(fā)送到采集與控制代理模塊,進(jìn)行連接或重發(fā)請(qǐng)求。
2) 連接成功后,以火災(zāi)報(bào)警任務(wù)為例,采集與控制代理模塊發(fā)送的數(shù)據(jù)分為兩種,一種是火災(zāi)探頭等上傳的報(bào)警信息,另一種是相關(guān)子系統(tǒng)采集的溫度、濕度等環(huán)境與設(shè)備信息。系統(tǒng)為更好地處理緊急事件,提供了直通車服務(wù),報(bào)警消息可直接從消息隊(duì)列發(fā)送到報(bào)警信息發(fā)布平臺(tái)。而其他系統(tǒng)采集的數(shù)據(jù)經(jīng)過事件處理適配模塊和事件處理模塊,識(shí)別出報(bào)警信息和現(xiàn)場(chǎng)狀態(tài),發(fā)送回消息隊(duì)列,再傳遞到平臺(tái)和報(bào)警信息發(fā)布中心進(jìn)行設(shè)備運(yùn)轉(zhuǎn)和報(bào)警狀態(tài)的更新。
3) 平臺(tái)接收到報(bào)警信息后,觸發(fā)方預(yù)案,下達(dá)命令,經(jīng)過相關(guān)模塊解析傳達(dá)到采集與控制代理模塊,對(duì)各子系統(tǒng)進(jìn)行聯(lián)動(dòng)控制,防止火勢(shì)蔓延,如調(diào)動(dòng)視頻監(jiān)控系統(tǒng),鎖定報(bào)警區(qū)域,啟動(dòng)輪詢、攝像等;釋放門禁系統(tǒng)的電控門鎖,便于人員疏散和消防人員救火;環(huán)境監(jiān)控系統(tǒng)關(guān)閉相應(yīng)區(qū)域的進(jìn)風(fēng)機(jī)、回風(fēng)機(jī)和空調(diào);智能廣播系統(tǒng)向相關(guān)區(qū)域自動(dòng)發(fā)出語(yǔ)音播報(bào),通報(bào)火情。
本文詳細(xì)介紹了監(jiān)測(cè)及報(bào)警系統(tǒng)的總體架構(gòu)和各模塊的設(shè)計(jì)方案,并結(jié)合國(guó)防工程中火災(zāi)報(bào)警的任務(wù)需求,介紹了其具體信息流程。該系統(tǒng)在接收到緊急事件和復(fù)雜任務(wù)時(shí),能挖掘出信息的含義和關(guān)聯(lián),通過一系列邏輯判斷,及時(shí)分析處理并能按照業(yè)務(wù)流程進(jìn)行相應(yīng)的操作,加強(qiáng)了國(guó)防工程信息系統(tǒng)對(duì)現(xiàn)場(chǎng)環(huán)境的掌握,提高了系統(tǒng)的可靠性和自動(dòng)化值守能力。
參考文獻(xiàn)
[1] 李決龍,邢建春.國(guó)防工程智能信息化概論[M].北京:電子工業(yè)出版社,2010.
LI J L, XING J C. Conspectus of intelligent information of national defense engineering [M]. Beijing: Publishing House of Electronics Industry, 2010.
[2] 孫存.基于事件驅(qū)動(dòng)的石油裝備產(chǎn)品遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:中國(guó)科學(xué)院大學(xué),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] 韓琳,潘登.基于事件驅(qū)動(dòng)的新型處理器的研究與應(yīng)用[J].現(xiàn)代電子技術(shù),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] 蘆倩,劉超,朱朝陽(yáng).基于事件驅(qū)動(dòng)模型的電力突發(fā)事件應(yīng)急處置流程研究[J].災(zāi)害學(xué),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] 別曉峰,李為民,張雅艦,等.事件驅(qū)動(dòng)的面向服務(wù)作戰(zhàn)仿真集成平臺(tái)架構(gòu)[J].空軍工程大學(xué)學(xué)報(bào)(自然科學(xué)版),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] 劉舒,張紅萍,王毅,等.消息控制的事件驅(qū)動(dòng)防汛指揮系統(tǒng)設(shè)計(jì)思路及案例研究[J].水利水電技術(shù),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] 陳蕊,丁永生,郝礦榮.基于事件驅(qū)動(dòng)的動(dòng)態(tài)免疫分簇路由算法[J].計(jì)算機(jī)應(yīng)用研究,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] 樊瑋,劉念,張建華.事件驅(qū)動(dòng)的智能家庭在線能量管理算法[J].電工技術(shù)學(xué)報(bào),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] 胡煒,曾斌,姚路.事件驅(qū)動(dòng)下的重點(diǎn)海域監(jiān)測(cè)站部署算法研究[J].計(jì)算機(jī)工程與應(yīng)用,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.