唐紅亮 帥向華 康承旭 張 鑫
1)湖南省地震局,長沙 410004
2)中國地震臺網中心,北京 100045
3)四川數碼物聯網絡科技有限責任公司,成都 610011
我國地震活動頻繁,平均每年發生5 級以上地震20 次,地震災害給國家經濟發展和社會穩定帶來了深遠影響。黨的十八大以來,以習近平同志為核心的黨中央始終堅持以人民為中心的發展理念,在總結歷史經驗的基礎上,著眼中國特色防災減災救災工作新實踐,強調要堅持以防為主、防抗救相結合,堅持常態減災和非常態救災相統一。地震信息發布是地震職能部門最基本也是最重要的工作(郁建芳等,2015),平時,社會公眾需要了解并掌握防震減災科普知識,增強防震減災意識和自救互救能力;震時,尤其是破壞性地震發生時,社會公眾和政府部門迫切希望在最短的時間內獲取最準確可靠的預警、震情及災情等信息,以便及時有效地開展應對處置工作(周阿穎等,2011)。結合平時和震時地震工作的需要,地震信息發布具有多信息來源、多發布途徑、多內容形式等特點,并根據工作場景及地震信息的不同,信息發布的優先級和時效性也大不相同,因此,亟需通過建設流程驅動的多維度地震信息自動化發布系統,提升地震信息發布的針對性和有效性(姜立新等,2014),提高全社會防震減災綜合能力。
目前國內部分機構與地區已建成多種地震信息發布系統,如中國地震臺網中心開發了地震速報綜合信息發布系統(侯建民等,2009)及基于12322 短號的地震速報短信服務系統(趙國峰等,2014);中國地震局地震預測研究所研發了基于OpenGIS 和數字地球平臺的地震應急遙感震害信息發布系統(郭建興等,2013);廣東省地震局基于原有的地震速報系統分別實現了地震信息微信自動發布系統(葉佳寧等,2014)和地震信息微博自動發布系統(葉佳寧等,2012);福建省地震局開發了基于WEB 的地震速報信息自動發布系統(鄭黎輝等,2009);陜西省地震局開發了基于MAS 的短信發送系統(羅治國等,2016)和基于Mapxtreme 的地震信息發布系統(羅治國等,2018);山西省地震局開發實現了地震信息的多平臺快速發布系統(羅勇等,2017);江蘇地震臺網在地震速報軟件中集成手機短信群發、多路電話語音群呼、自動傳真和網站發布等多種信息發布手段(繆發軍等,2009);國際上FEMA(美國聯邦應急管理局)應急信息發布渠道融合了無限有線通信、互聯網、大型數據庫、地理信息系統、全球定位導航等現代化傳輸手段(陳艷紅等,2017)。基于目前地震信息發布系統存在的發布內容單一或發布方式單一等問題,結合平時和震時地震工作的需要,設計研發了一套流程驅動的多維度地震信息自動化發布系統,實現了信息發布過程中多來源地震信息自動獲取、多形式發布內容自動合成、多途徑地震信息自動發布,使人們能夠更加方便、及時、全面地獲取和了解各類地震信息。
流程驅動的多維度地震信息自動化發布系統實現了地震科普知識、地震速報、地震災情及通知公告等地震信息的自動獲取,同時實現了對地震信息自動解析、校驗、合成、發布的流程化自動處理過程,采用適配器模式實現地震信息的多維度發布,提高了地震信息發布的穩定性、及時性和準確性,采用現代軟件工程最先進的軟件開發技術,不僅能將軟件的開發系統化,更能在后期對軟件進行規范化管理,隨著軟件功能需求的變化及時做出調整,提高了系統的可擴展性和易維護性。
本系統采用分層體系結構,分為硬件與網絡平臺、操作系統平臺、基礎架構平臺、敏捷業務定制平臺和專業應用系統5 個層次,如圖1 所示。這種分層的體系結構與現代軟件工程技術中的多層結構模式相符,可降低層與層之間的相關性,實現各部分之間松散耦合的集成,降低系統復雜度。
(1)硬件與網絡平臺:作為軟件系統運行的基礎,為系統提供基礎的數據存儲和運算能力,提供數據、語音、圖像等方面的基本傳輸服務。
(2)操作系統平臺:具備為專業應用系統運行提供系統資源管理和調度的功能,支持Linux、Unix、Windows 等操作系統。
(3)基礎架構平臺:為專業應用系統提供基本運行環境、數據庫服務、消息服務和文檔服務等內容。
(4)敏捷業務平臺:由一系列業務定制工具和服務引擎構成,可供技術人員快速設計和重構應用系統。業務定制工具包括表單設計器、流程設計器、報表設計器、規則設計器等,服務引擎包括表單引擎、流程引擎、報表引擎、規則引擎等。該平臺還包括大量通用服務模塊,如統一身份認證管理、權限管理、日志管理等,提高了專業應用系統的研發效率和軟件成果的可復用性。

圖1 系統分層結構圖 Fig.1 The layered structure of the system
(5)專業應用系統:即流程驅動的多維度地震信息自動化發布系統,根據業務規劃和實際需求,本系統包括地震信息接收模塊、地震信息解析模塊、消息接收者管理、消息模板管理、發送規則管理、發送流程管理、優先級設置、消息發布適配器管理、消息日志管理等功能。地震信息接收模塊實現了EQIM 地震速報消息、地震災害評估信息、地震相關工作動態及通知公告的接收,同時預留了地震預警信息接收接口。地震信息解析模塊實現了對地震速報信息中震經緯度、時間、震級等要素的解析;實現了對地震災害評估信息中人員傷亡、經濟損失、建筑物損毀等數據的解析,并對專題圖、文檔產出等附件信息進行分類歸檔,同時實現了對通知公告類地震信息中標題、時間、地點、主體內容等信息的解析。
本系統分別與地震速報系統、地震災害評估系統、自定義短信客戶端對接并接收原始地震信息,解析原始地震信息的內容、消息類型、發布目標、發送途徑、優先級等要素,選擇相應的消息模板并合成消息實體,然后觸發地震信息發布模塊,由特定的地震信息發布適配器將消息實體推送給相應的消息接收者;同時,在整個業務處理流程中對接收的原始地震信息、合成的消息實體及地震信息發送狀態進行全面的日志記錄。本系統業務處理流程如圖2 所示,全過程采用自動處理方式,保證了地震信息發布的快速、穩定和準確。
本系統實現了多維度的地震信息發布模式。從發布內容的維度劃分為地震科普知識、地震速報信息、地震災情信息及通知公告等,同時,本系統預留了與地震預警系統對接從而實現地震預警信息發布的接口;從消息受眾的維度劃分為社會公眾、三網一員、地震專業人員及相關領導等(楊天青等,2016);從發布途徑的維度劃分為短信、彩信、移動應用、微信、微博及門戶網站等;從工作階段的維度劃分為平時和震時,實現平時和震時相結合、常態減災和非常態救災相統一。

圖2 系統流程圖 Fig.2 The flow chart of the system
流程是一系列業務活動的有序組合,它接受各種輸入要素,并通過處理過程產生有價值的輸出結果(朱海林,2006)。流程驅動以流程為中心,將相關聯的業務進行組合,使業務活動以流程的方式有序開展,從而達成特定的業務目標。
本系統將流程管理的思想方法和管理手段融入到地震消息處理過程中,將地震信息的獲取、解析、校驗、合成、發布、日志記錄等業務處理視為一系列任務過程,根據相應的業務目標,將相關聯的任務連接,形成完整的業務流程,從而實現對地震信息自動、有序的處理。本系統對地震信息的處理流程如圖3 所示。采用流程驅動地震信息處理模式,改變各環節分散的點式處理過程,相關業務得到了優化整合,業務處理過程在流程引擎的驅動下自動運轉,無需人工干預。當業務處理過程發生變化時,如對短信發布方式進行調整或新增一種信息發 布方式,只需對短信分支的流程節點重新配置或新增一個信息發布的流程分支即可,不影響地震信息處理的總過程,極大地提高了系統的可擴展性和適應性。

圖3 地震信息處理流程圖 Fig.3 The earthquake information processing flow chart
適配器是一種適配中間件,它存在于不匹配的二者之間,用于連接二者,將不匹配變得匹配。適配器模式使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。
本系統建設過程中已實現了短信、彩信、微信、微博、門戶網站等多維度地震信息發布的方式。但隨著信息化技術的不斷發展,新的信息發布方式勢必出現,并被公眾普遍接受,因此須要求系統具有良好的可擴展性,能快速適配新的信息發布方式。為此,本系統在設計和研發過程中采用適配器模式實現對多維度信息發布方式的支持,適配器組成結構如圖4 所示。適配器模式包括目標、被適配者和適配器3 種角色。目標是一個接口,是相關業務期望使用的統一接口,本系統中針對信息發布定義了ISender 接口,該接口提供了統一發送信息的sendMsg 方法,通過傳入MsgData 結構類型的消息實體完成地震信息的發布。被適配者是一個已經存在的接口,本地系統中實現的短信、彩信、微博、微信及門戶網站都為信息的發布提供了現成的發布接口,甚至可根據地震信息類別的不同提供不同的接口。適配器的職責是對被適配者接口與目標接口進行適配,適配器實現了目標接口并包含被適配者的引用,本系統有SmsAdapter、WeiboAdapter、WechatAdapter 和PortalAdapter 4 個適配器,完成短信、彩信、微博、微信及門戶網站信息的推送和發布。

圖4 本系統適配器組成結構圖 Fig.4 The composition structure of adapters used in the system
考慮地震信息發布的復雜性和特殊性及發布系統較高的吞吐量,本系統在設計與研發過程中,在目標接口與適配器之間加入了抽象的消息發布類AbstractSender,并通過泛型技術較好地兼容了不同發布方式之間的差異。AbstractSender 內部包含一個支持優先級的阻塞隊列,適配器通過解析MsgData 并將生成的待處理任務加入隊列,任務調度進程則通過監聽隊列內的任務、數量及優先級自動啟動處理單元并控制并發數量。當任務處理失敗或異常時,通過addJob 方法能將失敗的任務重新加入待處理隊列,任務處理重試次數達到設定的閾值時,系統啟動自動報警功能并記錄任務處理異常日志。
采用適配器模式實現多維度地震信息的發布,通過適配器將目標接口和被適配者解耦,增加程序模塊的透明性和復用性,提高系統的靈活性和擴展性,也可在不修改原有代碼的基礎上增加新的適配器,符合軟件設計的“開閉原則”。
本系統實現了基于流程驅動的地震速報信息、地震災情信息、地震科普信息及通知公告等的獲取、解析、合成和發布的自動化處理過程。首先,對不同來源的信息采用適配器模式實現對接并注冊到系統,完成信息的接入工作;然后,采用適配器模式對不同發布方式進行適配(包括信息發布模板的定制)并注冊到系統;最后,根據業務需求配置信息發布的規則,從而實現不同來源的信息以不同的內容形式發送至不同的目標受眾。
以本系統在湖南省地震局中的應用為例,通過外部接口對接適配器實現了地震震情、災情的接入,地震震情接入分為地震自動速報接入、地震正式速報接入和省內小震接入。通過人機交互界面適配器實現地震科普信息和通知公告信息的接入。研發短信(支持聯通、移動、電信)、微信、微博、傳真及門戶網站等多種信息發布適配器。根據湖南省地震局信息發布的需求進行發布規則、發布目標及發送模板的配置,如針對國家臺網中心正式速報發送對象為全局人員、市州地震局、門戶網站,判斷條件為省內及周邊(經度范圍:107.0°~116.0°,緯度范圍:23.0°~32.0°)3 級及以上、國內及周邊(經度范圍:70.0°~140.0°,緯度范圍:15~55)4.5 級及以上、國外(經度范圍:?180.0°~180.0°,緯度范圍:?90.0°~90.0°)6 級及以上。圖5 所示為系統的管理界面,用戶通過管理界面可配置系統運行的相關參數,也可查詢地震信息推送日志及系統運行狀態。圖6 所示為接收到的信息界面,根據信息接收終端的呈現方式可選擇不同的模板進行信息發送,如短信采用文本展示,而微信消息可采用圖文的形式展示。
本文對流程驅動的多維度地震信息自動化發布系統的總體結構、系統流程、應用維度等方面進行分析和說明,著重介紹流程驅動的地震信息處理和基于適配器模式的地震信息發布兩項關鍵技術。本系統已在湖南省地震局得到應用,且已成為湖南省地震信息發布的重要平臺之一。本系統充分利用現有資源與技術,為民眾、專業人員及政府提供準確、快速的地震科普、速報、災情信息,同時,本系統預留了地震預警信息接入和發布接口。本系統的建成提升了地震部門服務社會公眾的水平,對于引導公眾輿情、輔助政府決策、穩定社會秩序具有重要意義。

圖5 系統管理界面 Fig.5 The interface of system management

圖6 速報信息發布結果 Fig.6 The released quick report of the system