唐紅亮 帥向華 康承旭 張 鑫
1)湖南省地震局,長沙 410004
2)中國地震臺網(wǎng)中心,北京 100045
3)四川數(shù)碼物聯(lián)網(wǎng)絡(luò)科技有限責任公司,成都 610011
我國地震活動頻繁,平均每年發(fā)生5 級以上地震20 次,地震災(zāi)害給國家經(jīng)濟發(fā)展和社會穩(wěn)定帶來了深遠影響。黨的十八大以來,以習(xí)近平同志為核心的黨中央始終堅持以人民為中心的發(fā)展理念,在總結(jié)歷史經(jīng)驗的基礎(chǔ)上,著眼中國特色防災(zāi)減災(zāi)救災(zāi)工作新實踐,強調(diào)要堅持以防為主、防抗救相結(jié)合,堅持常態(tài)減災(zāi)和非常態(tài)救災(zāi)相統(tǒng)一。地震信息發(fā)布是地震職能部門最基本也是最重要的工作(郁建芳等,2015),平時,社會公眾需要了解并掌握防震減災(zāi)科普知識,增強防震減災(zāi)意識和自救互救能力;震時,尤其是破壞性地震發(fā)生時,社會公眾和政府部門迫切希望在最短的時間內(nèi)獲取最準確可靠的預(yù)警、震情及災(zāi)情等信息,以便及時有效地開展應(yīng)對處置工作(周阿穎等,2011)。結(jié)合平時和震時地震工作的需要,地震信息發(fā)布具有多信息來源、多發(fā)布途徑、多內(nèi)容形式等特點,并根據(jù)工作場景及地震信息的不同,信息發(fā)布的優(yōu)先級和時效性也大不相同,因此,亟需通過建設(shè)流程驅(qū)動的多維度地震信息自動化發(fā)布系統(tǒng),提升地震信息發(fā)布的針對性和有效性(姜立新等,2014),提高全社會防震減災(zāi)綜合能力。
目前國內(nèi)部分機構(gòu)與地區(qū)已建成多種地震信息發(fā)布系統(tǒng),如中國地震臺網(wǎng)中心開發(fā)了地震速報綜合信息發(fā)布系統(tǒng)(侯建民等,2009)及基于12322 短號的地震速報短信服務(wù)系統(tǒng)(趙國峰等,2014);中國地震局地震預(yù)測研究所研發(fā)了基于OpenGIS 和數(shù)字地球平臺的地震應(yīng)急遙感震害信息發(fā)布系統(tǒng)(郭建興等,2013);廣東省地震局基于原有的地震速報系統(tǒng)分別實現(xiàn)了地震信息微信自動發(fā)布系統(tǒng)(葉佳寧等,2014)和地震信息微博自動發(fā)布系統(tǒng)(葉佳寧等,2012);福建省地震局開發(fā)了基于WEB 的地震速報信息自動發(fā)布系統(tǒng)(鄭黎輝等,2009);陜西省地震局開發(fā)了基于MAS 的短信發(fā)送系統(tǒng)(羅治國等,2016)和基于Mapxtreme 的地震信息發(fā)布系統(tǒng)(羅治國等,2018);山西省地震局開發(fā)實現(xiàn)了地震信息的多平臺快速發(fā)布系統(tǒng)(羅勇等,2017);江蘇地震臺網(wǎng)在地震速報軟件中集成手機短信群發(fā)、多路電話語音群呼、自動傳真和網(wǎng)站發(fā)布等多種信息發(fā)布手段(繆發(fā)軍等,2009);國際上FEMA(美國聯(lián)邦應(yīng)急管理局)應(yīng)急信息發(fā)布渠道融合了無限有線通信、互聯(lián)網(wǎng)、大型數(shù)據(jù)庫、地理信息系統(tǒng)、全球定位導(dǎo)航等現(xiàn)代化傳輸手段(陳艷紅等,2017)。基于目前地震信息發(fā)布系統(tǒng)存在的發(fā)布內(nèi)容單一或發(fā)布方式單一等問題,結(jié)合平時和震時地震工作的需要,設(shè)計研發(fā)了一套流程驅(qū)動的多維度地震信息自動化發(fā)布系統(tǒng),實現(xiàn)了信息發(fā)布過程中多來源地震信息自動獲取、多形式發(fā)布內(nèi)容自動合成、多途徑地震信息自動發(fā)布,使人們能夠更加方便、及時、全面地獲取和了解各類地震信息。
流程驅(qū)動的多維度地震信息自動化發(fā)布系統(tǒng)實現(xiàn)了地震科普知識、地震速報、地震災(zāi)情及通知公告等地震信息的自動獲取,同時實現(xiàn)了對地震信息自動解析、校驗、合成、發(fā)布的流程化自動處理過程,采用適配器模式實現(xiàn)地震信息的多維度發(fā)布,提高了地震信息發(fā)布的穩(wěn)定性、及時性和準確性,采用現(xiàn)代軟件工程最先進的軟件開發(fā)技術(shù),不僅能將軟件的開發(fā)系統(tǒng)化,更能在后期對軟件進行規(guī)范化管理,隨著軟件功能需求的變化及時做出調(diào)整,提高了系統(tǒng)的可擴展性和易維護性。
本系統(tǒng)采用分層體系結(jié)構(gòu),分為硬件與網(wǎng)絡(luò)平臺、操作系統(tǒng)平臺、基礎(chǔ)架構(gòu)平臺、敏捷業(yè)務(wù)定制平臺和專業(yè)應(yīng)用系統(tǒng)5 個層次,如圖1 所示。這種分層的體系結(jié)構(gòu)與現(xiàn)代軟件工程技術(shù)中的多層結(jié)構(gòu)模式相符,可降低層與層之間的相關(guān)性,實現(xiàn)各部分之間松散耦合的集成,降低系統(tǒng)復(fù)雜度。
(1)硬件與網(wǎng)絡(luò)平臺:作為軟件系統(tǒng)運行的基礎(chǔ),為系統(tǒng)提供基礎(chǔ)的數(shù)據(jù)存儲和運算能力,提供數(shù)據(jù)、語音、圖像等方面的基本傳輸服務(wù)。
(2)操作系統(tǒng)平臺:具備為專業(yè)應(yīng)用系統(tǒng)運行提供系統(tǒng)資源管理和調(diào)度的功能,支持Linux、Unix、Windows 等操作系統(tǒng)。
(3)基礎(chǔ)架構(gòu)平臺:為專業(yè)應(yīng)用系統(tǒng)提供基本運行環(huán)境、數(shù)據(jù)庫服務(wù)、消息服務(wù)和文檔服務(wù)等內(nèi)容。
(4)敏捷業(yè)務(wù)平臺:由一系列業(yè)務(wù)定制工具和服務(wù)引擎構(gòu)成,可供技術(shù)人員快速設(shè)計和重構(gòu)應(yīng)用系統(tǒng)。業(yè)務(wù)定制工具包括表單設(shè)計器、流程設(shè)計器、報表設(shè)計器、規(guī)則設(shè)計器等,服務(wù)引擎包括表單引擎、流程引擎、報表引擎、規(guī)則引擎等。該平臺還包括大量通用服務(wù)模塊,如統(tǒng)一身份認證管理、權(quán)限管理、日志管理等,提高了專業(yè)應(yīng)用系統(tǒng)的研發(fā)效率和軟件成果的可復(fù)用性。
圖1 系統(tǒng)分層結(jié)構(gòu)圖 Fig.1 The layered structure of the system
(5)專業(yè)應(yīng)用系統(tǒng):即流程驅(qū)動的多維度地震信息自動化發(fā)布系統(tǒng),根據(jù)業(yè)務(wù)規(guī)劃和實際需求,本系統(tǒng)包括地震信息接收模塊、地震信息解析模塊、消息接收者管理、消息模板管理、發(fā)送規(guī)則管理、發(fā)送流程管理、優(yōu)先級設(shè)置、消息發(fā)布適配器管理、消息日志管理等功能。地震信息接收模塊實現(xiàn)了EQIM 地震速報消息、地震災(zāi)害評估信息、地震相關(guān)工作動態(tài)及通知公告的接收,同時預(yù)留了地震預(yù)警信息接收接口。地震信息解析模塊實現(xiàn)了對地震速報信息中震經(jīng)緯度、時間、震級等要素的解析;實現(xiàn)了對地震災(zāi)害評估信息中人員傷亡、經(jīng)濟損失、建筑物損毀等數(shù)據(jù)的解析,并對專題圖、文檔產(chǎn)出等附件信息進行分類歸檔,同時實現(xiàn)了對通知公告類地震信息中標題、時間、地點、主體內(nèi)容等信息的解析。
本系統(tǒng)分別與地震速報系統(tǒng)、地震災(zāi)害評估系統(tǒng)、自定義短信客戶端對接并接收原始地震信息,解析原始地震信息的內(nèi)容、消息類型、發(fā)布目標、發(fā)送途徑、優(yōu)先級等要素,選擇相應(yīng)的消息模板并合成消息實體,然后觸發(fā)地震信息發(fā)布模塊,由特定的地震信息發(fā)布適配器將消息實體推送給相應(yīng)的消息接收者;同時,在整個業(yè)務(wù)處理流程中對接收的原始地震信息、合成的消息實體及地震信息發(fā)送狀態(tài)進行全面的日志記錄。本系統(tǒng)業(yè)務(wù)處理流程如圖2 所示,全過程采用自動處理方式,保證了地震信息發(fā)布的快速、穩(wěn)定和準確。
本系統(tǒng)實現(xiàn)了多維度的地震信息發(fā)布模式。從發(fā)布內(nèi)容的維度劃分為地震科普知識、地震速報信息、地震災(zāi)情信息及通知公告等,同時,本系統(tǒng)預(yù)留了與地震預(yù)警系統(tǒng)對接從而實現(xiàn)地震預(yù)警信息發(fā)布的接口;從消息受眾的維度劃分為社會公眾、三網(wǎng)一員、地震專業(yè)人員及相關(guān)領(lǐng)導(dǎo)等(楊天青等,2016);從發(fā)布途徑的維度劃分為短信、彩信、移動應(yīng)用、微信、微博及門戶網(wǎng)站等;從工作階段的維度劃分為平時和震時,實現(xiàn)平時和震時相結(jié)合、常態(tài)減災(zāi)和非常態(tài)救災(zāi)相統(tǒng)一。
圖2 系統(tǒng)流程圖 Fig.2 The flow chart of the system
流程是一系列業(yè)務(wù)活動的有序組合,它接受各種輸入要素,并通過處理過程產(chǎn)生有價值的輸出結(jié)果(朱海林,2006)。流程驅(qū)動以流程為中心,將相關(guān)聯(lián)的業(yè)務(wù)進行組合,使業(yè)務(wù)活動以流程的方式有序開展,從而達成特定的業(yè)務(wù)目標。
本系統(tǒng)將流程管理的思想方法和管理手段融入到地震消息處理過程中,將地震信息的獲取、解析、校驗、合成、發(fā)布、日志記錄等業(yè)務(wù)處理視為一系列任務(wù)過程,根據(jù)相應(yīng)的業(yè)務(wù)目標,將相關(guān)聯(lián)的任務(wù)連接,形成完整的業(yè)務(wù)流程,從而實現(xiàn)對地震信息自動、有序的處理。本系統(tǒng)對地震信息的處理流程如圖3 所示。采用流程驅(qū)動地震信息處理模式,改變各環(huán)節(jié)分散的點式處理過程,相關(guān)業(yè)務(wù)得到了優(yōu)化整合,業(yè)務(wù)處理過程在流程引擎的驅(qū)動下自動運轉(zhuǎn),無需人工干預(yù)。當業(yè)務(wù)處理過程發(fā)生變化時,如對短信發(fā)布方式進行調(diào)整或新增一種信息發(fā) 布方式,只需對短信分支的流程節(jié)點重新配置或新增一個信息發(fā)布的流程分支即可,不影響地震信息處理的總過程,極大地提高了系統(tǒng)的可擴展性和適應(yīng)性。
圖3 地震信息處理流程圖 Fig.3 The earthquake information processing flow chart
適配器是一種適配中間件,它存在于不匹配的二者之間,用于連接二者,將不匹配變得匹配。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。
本系統(tǒng)建設(shè)過程中已實現(xiàn)了短信、彩信、微信、微博、門戶網(wǎng)站等多維度地震信息發(fā)布的方式。但隨著信息化技術(shù)的不斷發(fā)展,新的信息發(fā)布方式勢必出現(xiàn),并被公眾普遍接受,因此須要求系統(tǒng)具有良好的可擴展性,能快速適配新的信息發(fā)布方式。為此,本系統(tǒng)在設(shè)計和研發(fā)過程中采用適配器模式實現(xiàn)對多維度信息發(fā)布方式的支持,適配器組成結(jié)構(gòu)如圖4 所示。適配器模式包括目標、被適配者和適配器3 種角色。目標是一個接口,是相關(guān)業(yè)務(wù)期望使用的統(tǒng)一接口,本系統(tǒng)中針對信息發(fā)布定義了ISender 接口,該接口提供了統(tǒng)一發(fā)送信息的sendMsg 方法,通過傳入MsgData 結(jié)構(gòu)類型的消息實體完成地震信息的發(fā)布。被適配者是一個已經(jīng)存在的接口,本地系統(tǒng)中實現(xiàn)的短信、彩信、微博、微信及門戶網(wǎng)站都為信息的發(fā)布提供了現(xiàn)成的發(fā)布接口,甚至可根據(jù)地震信息類別的不同提供不同的接口。適配器的職責是對被適配者接口與目標接口進行適配,適配器實現(xiàn)了目標接口并包含被適配者的引用,本系統(tǒng)有SmsAdapter、WeiboAdapter、WechatAdapter 和PortalAdapter 4 個適配器,完成短信、彩信、微博、微信及門戶網(wǎng)站信息的推送和發(fā)布。
圖4 本系統(tǒng)適配器組成結(jié)構(gòu)圖 Fig.4 The composition structure of adapters used in the system
考慮地震信息發(fā)布的復(fù)雜性和特殊性及發(fā)布系統(tǒng)較高的吞吐量,本系統(tǒng)在設(shè)計與研發(fā)過程中,在目標接口與適配器之間加入了抽象的消息發(fā)布類AbstractSender,并通過泛型技術(shù)較好地兼容了不同發(fā)布方式之間的差異。AbstractSender 內(nèi)部包含一個支持優(yōu)先級的阻塞隊列,適配器通過解析MsgData 并將生成的待處理任務(wù)加入隊列,任務(wù)調(diào)度進程則通過監(jiān)聽隊列內(nèi)的任務(wù)、數(shù)量及優(yōu)先級自動啟動處理單元并控制并發(fā)數(shù)量。當任務(wù)處理失敗或異常時,通過addJob 方法能將失敗的任務(wù)重新加入待處理隊列,任務(wù)處理重試次數(shù)達到設(shè)定的閾值時,系統(tǒng)啟動自動報警功能并記錄任務(wù)處理異常日志。
采用適配器模式實現(xiàn)多維度地震信息的發(fā)布,通過適配器將目標接口和被適配者解耦,增加程序模塊的透明性和復(fù)用性,提高系統(tǒng)的靈活性和擴展性,也可在不修改原有代碼的基礎(chǔ)上增加新的適配器,符合軟件設(shè)計的“開閉原則”。
本系統(tǒng)實現(xiàn)了基于流程驅(qū)動的地震速報信息、地震災(zāi)情信息、地震科普信息及通知公告等的獲取、解析、合成和發(fā)布的自動化處理過程。首先,對不同來源的信息采用適配器模式實現(xiàn)對接并注冊到系統(tǒng),完成信息的接入工作;然后,采用適配器模式對不同發(fā)布方式進行適配(包括信息發(fā)布模板的定制)并注冊到系統(tǒng);最后,根據(jù)業(yè)務(wù)需求配置信息發(fā)布的規(guī)則,從而實現(xiàn)不同來源的信息以不同的內(nèi)容形式發(fā)送至不同的目標受眾。
以本系統(tǒng)在湖南省地震局中的應(yīng)用為例,通過外部接口對接適配器實現(xiàn)了地震震情、災(zāi)情的接入,地震震情接入分為地震自動速報接入、地震正式速報接入和省內(nèi)小震接入。通過人機交互界面適配器實現(xiàn)地震科普信息和通知公告信息的接入。研發(fā)短信(支持聯(lián)通、移動、電信)、微信、微博、傳真及門戶網(wǎng)站等多種信息發(fā)布適配器。根據(jù)湖南省地震局信息發(fā)布的需求進行發(fā)布規(guī)則、發(fā)布目標及發(fā)送模板的配置,如針對國家臺網(wǎng)中心正式速報發(fā)送對象為全局人員、市州地震局、門戶網(wǎng)站,判斷條件為省內(nèi)及周邊(經(jīng)度范圍:107.0°~116.0°,緯度范圍:23.0°~32.0°)3 級及以上、國內(nèi)及周邊(經(jīng)度范圍:70.0°~140.0°,緯度范圍:15~55)4.5 級及以上、國外(經(jīng)度范圍:?180.0°~180.0°,緯度范圍:?90.0°~90.0°)6 級及以上。圖5 所示為系統(tǒng)的管理界面,用戶通過管理界面可配置系統(tǒng)運行的相關(guān)參數(shù),也可查詢地震信息推送日志及系統(tǒng)運行狀態(tài)。圖6 所示為接收到的信息界面,根據(jù)信息接收終端的呈現(xiàn)方式可選擇不同的模板進行信息發(fā)送,如短信采用文本展示,而微信消息可采用圖文的形式展示。
本文對流程驅(qū)動的多維度地震信息自動化發(fā)布系統(tǒng)的總體結(jié)構(gòu)、系統(tǒng)流程、應(yīng)用維度等方面進行分析和說明,著重介紹流程驅(qū)動的地震信息處理和基于適配器模式的地震信息發(fā)布兩項關(guān)鍵技術(shù)。本系統(tǒng)已在湖南省地震局得到應(yīng)用,且已成為湖南省地震信息發(fā)布的重要平臺之一。本系統(tǒng)充分利用現(xiàn)有資源與技術(shù),為民眾、專業(yè)人員及政府提供準確、快速的地震科普、速報、災(zāi)情信息,同時,本系統(tǒng)預(yù)留了地震預(yù)警信息接入和發(fā)布接口。本系統(tǒng)的建成提升了地震部門服務(wù)社會公眾的水平,對于引導(dǎo)公眾輿情、輔助政府決策、穩(wěn)定社會秩序具有重要意義。
圖5 系統(tǒng)管理界面 Fig.5 The interface of system management
圖6 速報信息發(fā)布結(jié)果 Fig.6 The released quick report of the system