肖 楠, 田 蘭
(1.成都信息工程大學軟件工程學院,四川 成都 610225;2.貴州省畢節(jié)市氣象局,貴州 畢節(jié) 551700)
災害的潛在性、突發(fā)性和復雜性導致災害的成因各不相同,復雜多變的氣象環(huán)境給社會生產(chǎn)、人類活動和生命財產(chǎn)帶來了巨大威脅。畢節(jié)市位于貴州省西北部,屬于亞熱帶季風濕潤氣候,由于夏季風不穩(wěn)定,降水受季風影響明顯,因此畢節(jié)市頻繁發(fā)生洪澇、暴雨和泥石流等自然災害[1-3]。近些年,由于網(wǎng)絡、信息管理和數(shù)據(jù)存儲等技術(shù)基礎(chǔ)設施的快速發(fā)展和實施,數(shù)據(jù)量出現(xiàn)了爆炸式增長,在面對多類型、分布廣、多來源的氣象數(shù)據(jù)和地理數(shù)據(jù)時,畢節(jié)市縣兩級氣象部門對服務產(chǎn)品的存儲比較分散凌亂、對數(shù)據(jù)處理和分類操作切合度不高。同時在氣象服務工作中,災害預警的監(jiān)測主要依賴值班人員人為跟進,當發(fā)生災害后只能通過人工撥打電話進行呼叫,這會導致叫應出錯。因此,建立一個能夠在災害發(fā)生前自動化監(jiān)測預警,災害發(fā)生后自動通知相關(guān)部門采取措施的集約化氣象服務可視化系統(tǒng)尤為重要。
以B/S架構(gòu)為應用框架,利用分布式數(shù)據(jù)存儲技術(shù)對地理數(shù)據(jù)和氣象數(shù)據(jù)進行存儲和計算,結(jié)合GIS技術(shù)和可視化技術(shù),實現(xiàn)氣象數(shù)據(jù)實時監(jiān)測與顯示,并通過設置自定義規(guī)則來動態(tài)配置氣象災害閾值,實現(xiàn)適應不同時間、不同氣候的自動化監(jiān)測預警功能。同時,采用IVR技術(shù)完成應用系統(tǒng)與電話之間的通信,在能夠自動且不占線的同時撥入多部分機號進行通話的情況下,實現(xiàn)智能化精準叫應。該系統(tǒng)自投入試運行以來,不僅成為畢節(jié)市氣象部門監(jiān)測災害性天氣、提高預警預報能力的有力支撐,而且提高了市縣之間的聯(lián)動性,有效地分工協(xié)作,實現(xiàn)了精準統(tǒng)一的指揮調(diào)度。
在面對多類型、分布廣、多來源的氣象數(shù)據(jù)和地理數(shù)據(jù)時,畢節(jié)市縣兩級氣象部門對服務產(chǎn)品的存儲較分散凌亂,氣象災害監(jiān)測預警指揮調(diào)度系統(tǒng)針對這一問題采用了分布式數(shù)據(jù)存儲技術(shù)。分布式存儲是指按照一定的規(guī)則將數(shù)據(jù)拆分成多個獨立單元分散存儲到多臺獨立的物理主機上。該技術(shù)基于多源異構(gòu)的數(shù)據(jù)集成方法,把從CIMISS、FTP、共享文件夾等多種途徑中導入的數(shù)據(jù)按照數(shù)據(jù)格式(結(jié)構(gòu)化、非結(jié)構(gòu)化、半結(jié)構(gòu)化、站點、格點)、氣象要素(地面、雷達、衛(wèi)星)、監(jiān)測對象(地面觀測資料、數(shù)值預報)等多種分類方式劃分為若干個相對獨立且密切聯(lián)系的數(shù)據(jù)集合,并存儲到多臺獨立的物理節(jié)點上[4]。
由于單個數(shù)據(jù)節(jié)點的存儲容量有限,因此在進行數(shù)據(jù)分布式存儲前需要對目標存儲數(shù)據(jù)進行評估。具體做法是:根據(jù)每個監(jiān)測點每天產(chǎn)生的數(shù)據(jù)推算出總的數(shù)據(jù)量,并采用數(shù)據(jù)拆分算法進行數(shù)據(jù)近似均等拆分,使每個主機完成數(shù)據(jù)的最佳存儲。
基于規(guī)則的氣象災害預警模型,是指根據(jù)用戶創(chuàng)建的自定義氣象規(guī)則建立氣象災害與氣象觀測數(shù)據(jù)之間的映射關(guān)系,嵌入到應用程序中的規(guī)則引擎從業(yè)務數(shù)據(jù)庫和規(guī)則庫中讀取相關(guān)數(shù)據(jù)之后進行匹配,一旦達到或超過所設置的報警閾值,則通過閃爍、語音播報、電話等方式進行提醒,以實現(xiàn)自動化監(jiān)測預報的目的。
氣象預警規(guī)則是對氣象災害的致災因子滿足何種條件下會觸發(fā)報警的邏輯描述。在整個模型實現(xiàn)規(guī)則推理的過程中引入謂詞邏輯,將所有氣象災害術(shù)語中抽象出來的對象—屬性—值之間的三元關(guān)系轉(zhuǎn)換為同一形式邏輯范式,是規(guī)則形成的基礎(chǔ)。屬于二值邏輯的謂詞邏輯,在復雜多變的氣象領(lǐng)域具有唯一性,消除了表述氣象災害術(shù)語中存在的歧義[5-6]。
定義1 一階謂詞邏輯。定義x是導致災害發(fā)生的致災因子,f(x)為致災因子的命題函數(shù),z為災害種類,對任意的災害種類z都有z?{z1,z2,…,zn},其中zi表示該災害種類的災害等級。鑒于氣象規(guī)則的定義可能存在模糊邊界,如“積雪厚度可能影響交通”。針對這一問題,本模型將隸屬函數(shù)和一階謂詞邏輯相結(jié)合,設隸屬函數(shù)θ(x)→[0,1],把模糊邏輯清晰化。zi用一階謂詞邏輯可表示為:
其中,θ(x)需要根據(jù)實際情況進行設定,y1和y2為某個致災因子的閾值范圍。式(1)利用合式復合命題,將2個或2個以上的一階謂詞邏輯通過邏輯詞連接。
以暴雪災害為例,根據(jù)積雪厚度和降雨量的強弱程度,將暴雪災害劃分為4個子類,暴雪災害?{藍色預警,黃色預警,橙色預警,紅色預警},其中暴雪的積雪厚度與其對交通的因影響程度成正比關(guān)系。對于暴雪預警來說,該積雪厚度不存在上限,下限為3 mm,以10 mm為分界線。暴雪橙色預警可用一階謂詞邏輯表示為
其中,x表示積雪厚度,y表示此刻6小時降雨量。
定義2 謂詞公式。對于規(guī)則性的語義描述,謂詞演算通常使用蘊涵符號(→)連接一階謂詞形成謂詞公式,蘊涵符號的前半部分為規(guī)則的執(zhí)行條件,后半部分為規(guī)則的執(zhí)行結(jié)果。定義m為氣象要素到達閾值之后所觸發(fā)的報警形式,對任意的報警形式m都有m?{m1,m2,…,mn},設P(zi)和Q(m)為分別是執(zhí)行條件和執(zhí)行結(jié)果的謂詞。一條氣象災害預警規(guī)則可以表示為
以暴雪橙色預警為例,當積雪厚度和降雨量到達所設定的閾值時,便會觸發(fā)以閃爍、語音播報、彈出提示框等多種方式進行提示的報警行為。設報警形式?{橙色閃爍,語音播報,彈出提示框:“發(fā)布橙色預警公告”}。由式(2)可知暴雪橙色預警閾值的大小,則激活觸發(fā)暴雪橙色預警的報警行為的氣象預警規(guī)則可表示為
該模型使用J2EE技術(shù)框架體系,業(yè)務人員通過在瀏覽器中輸入關(guān)鍵詞和配置參數(shù)實現(xiàn)對氣象規(guī)則的邏輯建立。后臺接收到Ajax請求后對傳來的自定義規(guī)則進行語義解析,利用中文分詞、歸一化處理等語義分析技術(shù)結(jié)合邏輯轉(zhuǎn)換規(guī)則生成邏輯表示,并建立以謂詞邏輯為基礎(chǔ)的氣象規(guī)則庫,以便規(guī)則引擎進行訪問。
規(guī)則引擎是氣象災害規(guī)則庫工程化的關(guān)鍵步驟,能作為獨立組件嵌入在應用程序中。按照功能分為規(guī)則收集器、工作存儲區(qū)和推理引擎3個模塊。本模型采用OWL API、Jena推理機對規(guī)則引擎進行設計。由圖1可見,該模型以先期構(gòu)建的氣象災害規(guī)則庫作為輸入,存儲于系統(tǒng)業(yè)務數(shù)據(jù)庫中的觀測數(shù)據(jù)作為引擎驅(qū)動。根據(jù)氣象資料推送頻率,工作存儲區(qū)定期提取氣象觀測數(shù)據(jù),為邏輯推理模塊提供匹配事實,觸發(fā)規(guī)則引擎從規(guī)則庫中讀取規(guī)則并傳遞給規(guī)則收集器。推理引擎取出規(guī)則收集器和工作存儲區(qū)中的數(shù)據(jù),采用模式匹配算法依次進行迭代匹配。匹配成功的規(guī)則加入議程,基于沖突消解處理策略按優(yōu)先級順序執(zhí)行結(jié)果。
圖1 規(guī)則引擎工作機制
IVR技術(shù)即交互式語音應答,將計算機數(shù)字語音處理技術(shù)與語言處理技術(shù)結(jié)合,允許計算機通過電話來監(jiān)測和播放語音信息,實現(xiàn)應用系統(tǒng)與電話之間的通信。該技術(shù)結(jié)合計算機和語音電話各自的優(yōu)點,將保存在計算機中的數(shù)據(jù)通過電話來達到信息的傳輸和獲取,成功完成了全自動的電話服務,極大提高了呼叫質(zhì)量。
在當前的氣象服務中,災害發(fā)生時主要依賴值班人員人為跟進,人工撥打電話叫應相關(guān)部門展開救援,這樣增大了操作人員的工作強度,辦事效率低。針對這一問題,本系統(tǒng)采用了基于IVR技術(shù)的叫應模型。當值班人員收到報警裝置的提示后,該模型基于IVR技術(shù)將規(guī)則庫中的叫應內(nèi)容翻譯為語音信息,通過電話接口自動向某級氣象部門撥打電話。利用錄音功能,使叫應任務記錄留痕,方便業(yè)務單位根據(jù)需要收集信息。此外,服務器采用多用戶分發(fā)模式,各級氣象部門擁有各自的叫應內(nèi)容、叫應對象信息和歷史叫應記錄等相關(guān)信息,通過消息推送功能,依據(jù)不同的報警提示開展市、縣兩級氣象部門分工協(xié)作,實現(xiàn)了市縣單位間工作協(xié)同和工作量分流。
畢節(jié)市氣象災害監(jiān)測預警指揮調(diào)度系統(tǒng)使用B/S結(jié)構(gòu)框架進行搭建,采用了Spring MVC技術(shù)架構(gòu),同時通過建立基于規(guī)則的災害天氣預警模型和利用IVR技術(shù)進行精準叫應,實現(xiàn)了實時監(jiān)測數(shù)據(jù)和自動化報警,為市縣兩級用戶在防災減災問題上提供了數(shù)據(jù)和決策支持。如圖2所示,該系統(tǒng)采用了結(jié)構(gòu)分層的設計思想,將整個系統(tǒng)框架分為4層,由上至下分別為表示層、應用層、數(shù)據(jù)層和基礎(chǔ)設施層[7-8]。
圖2 系統(tǒng)總體架構(gòu)圖
表示層:災害預警系統(tǒng)各功能的訪問接口,為用戶提供人機交互界面,滿足市縣兩級用戶操作系統(tǒng)實現(xiàn)業(yè)務的需求。其實現(xiàn)技術(shù)框架采用MVC模式,通過業(yè)務管理控制中心來接收前端用戶的操作請求,調(diào)用相應業(yè)務模型處理用戶的請求,最終由業(yè)務控制中心調(diào)用相應的視圖模型展示數(shù)據(jù),并提供數(shù)據(jù)信息查詢、可視化顯示數(shù)據(jù)和自動監(jiān)測預警等功能,直觀可視地將系統(tǒng)數(shù)據(jù)及運行狀況集中展示給用戶。
應用層:系統(tǒng)業(yè)務邏輯功能實現(xiàn)層,主要負責處理該氣象災害監(jiān)測預警系統(tǒng)的各項基礎(chǔ)業(yè)務,包括實時監(jiān)測、三個叫應、預報預警、產(chǎn)品服務、資料查詢、手機應用、系統(tǒng)管理7大功能。利用氣象GIS技術(shù)在地圖上疊加降水、氣溫、雷達、衛(wèi)星云圖等綜合氣象要素展示和服務產(chǎn)品展示,并且通過對氣象災害閾值的動態(tài)配置以及利用IVR技術(shù)精準叫應,實現(xiàn)精準統(tǒng)一的指揮調(diào)度。
數(shù)據(jù)層:系統(tǒng)的核心支撐層,該層由各類數(shù)據(jù)抽取服務、數(shù)據(jù)處理以及數(shù)據(jù)存儲模塊組成,為系統(tǒng)上層應用提供運行的各類基礎(chǔ)數(shù)據(jù)。利用CIMISS、FTP服務器等多種技術(shù)方法獲取數(shù)據(jù)源,并將收集到的結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)和實時數(shù)據(jù)進行格式轉(zhuǎn)化和數(shù)據(jù)清洗,轉(zhuǎn)化為系統(tǒng)可以直接使用的業(yè)務數(shù)據(jù),最后存儲到關(guān)系數(shù)據(jù)庫MySQL數(shù)據(jù)庫、分布式數(shù)據(jù)庫PostgreSQL和postGis數(shù)據(jù)庫以及分布式文件系統(tǒng)HDFS中,方便數(shù)據(jù)的使用與查詢,提高數(shù)據(jù)的檢索效率。同時,通過PGpool負載均衡中間件來實現(xiàn) PostgreSQL集群搭建,使用Redis作為分布式的高速存儲緩存,以提高響應速度,提高了存儲系統(tǒng)的容錯和可用性。
基礎(chǔ)設施層:基礎(chǔ)設施層位于系統(tǒng)的最下層,主要為系統(tǒng)正常運行提供基礎(chǔ)資源,包括各種氣象監(jiān)測設備、數(shù)據(jù)采集設備和網(wǎng)絡設備。軟硬件基礎(chǔ)設施層采集的地理數(shù)據(jù)信息和氣象數(shù)據(jù)信息,用于數(shù)據(jù)層。
針對當前氣象服務平臺存在的一些問題,設計了畢節(jié)市氣象災害監(jiān)測預警指揮調(diào)度系統(tǒng)的業(yè)務流程,通過全國綜合氣象信息共享系統(tǒng)(CIMISS)、FTP服務器等途徑獲取基礎(chǔ)數(shù)據(jù),運用分布式數(shù)據(jù)存儲技術(shù)將數(shù)據(jù)分散存儲到系統(tǒng)的服務產(chǎn)品庫和系統(tǒng)業(yè)務數(shù)據(jù)庫,在氣象數(shù)據(jù)環(huán)境下建立災害天氣報警規(guī)則庫,通過自定義設置規(guī)則和模式匹配算法,動態(tài)計算被監(jiān)測氣象數(shù)據(jù)與規(guī)則的匹配度,解決了氣象災害閾值不可動態(tài)配置的問題;當達到報警條件時觸發(fā)三個叫應模塊,實現(xiàn)市縣單位間工作協(xié)同和工作量分流。總體業(yè)務流程如圖3所示。
圖3 總體業(yè)務流程圖
基于上述架構(gòu)描述,結(jié)合畢節(jié)市氣象災害監(jiān)測預警的需求,對畢節(jié)市氣象災害監(jiān)測預警指揮調(diào)度系統(tǒng)進行搭建。如圖4所示,平臺主要包含7大功能模塊,分別為實時監(jiān)測、三個叫應、預報預警、產(chǎn)品服務、資料查詢、手機應用以及系統(tǒng)管理。這7大功能模塊又由多個功能組合而成。
圖4 系統(tǒng)功能設計圖
闡述實時監(jiān)測、三個叫應和預報預警3大核心模塊的實現(xiàn)。
一般來說,對災害性天氣的識別不能只憑借一種氣象要素來定奪,有時還需要同時對多種要素進行疊加來分析判斷。該子系統(tǒng)融合了天氣、雷達、衛(wèi)星云圖、農(nóng)情實景等各類氣象要素,同時結(jié)合水庫、學校、旅行景點、地質(zhì)災害隱患點等重點防汛區(qū)域的地理信息,將這些氣象要素與地理信息與GIS進行疊加顯示。利用GIS技術(shù)結(jié)合多維度信息集成、信息可視化和空間分析等技術(shù),將現(xiàn)實世界里地理要素的空間位置和空間關(guān)鍵展示出來,對重點防汛區(qū)域可以進行隨時訪問和在線瀏覽,并且矢量地圖、地形圖、影像地圖之間可以自由切換顯示圖像和數(shù)據(jù)。同時,該子系統(tǒng)以任務驅(qū)動動態(tài)計算,實時監(jiān)測災害發(fā)生的時間、地點、觀測值變化等信息,關(guān)注災害性天氣從即將發(fā)生到結(jié)束的整個過程,為指揮調(diào)度提供有力支撐和數(shù)據(jù)依據(jù)。實時監(jiān)測界面圖如圖5所示。
圖5 實時監(jiān)測界面
該子系統(tǒng)為用戶提供一個可規(guī)則編制的交互界面,將收集的氣象災害數(shù)據(jù)劃分成不同的指標,通過配置氣象災害與氣象數(shù)據(jù)的映射關(guān)系,將氣象要素數(shù)據(jù)歸類梳理,保證生成規(guī)則的規(guī)范性。預警預報子系統(tǒng)處理的對象是監(jiān)控設備傳送到業(yè)務數(shù)據(jù)庫的實時氣象數(shù)據(jù)流,根據(jù)氣象資料推送頻率,基于規(guī)則的災害預警模型將實時數(shù)據(jù)流與用戶自定義規(guī)則進行匹配,通過逐一比對動態(tài)計算出被監(jiān)測數(shù)據(jù)是否超出預先設置的氣象閾值。當氣象災害規(guī)則引擎推理出氣象觀測數(shù)據(jù)超出閾值范圍時,激活規(guī)則中的執(zhí)行操作,后臺自動調(diào)用JAVA編寫的API程序進行數(shù)據(jù)存儲,用于以文本作為基礎(chǔ)數(shù)據(jù)對接信息提醒和語音提醒。同時,該系統(tǒng)通過建立顯示控件與推測結(jié)果的注冊關(guān)系表,利用控件數(shù)據(jù)綁定操作,使得推測結(jié)果綁定到觸發(fā)實時報警的相應顯示控件中,實現(xiàn)氣象自動化預警[10]。
與此同時,該系統(tǒng)借助空間分析、雷達回波圖、天氣分析圖等地理信息工具,結(jié)合氣象預報資料,實現(xiàn)氣象災害靜態(tài)數(shù)據(jù)向動態(tài)圖形產(chǎn)品的可視化提醒展示,便于值班人員根據(jù)不同類型的提醒啟動叫應任務,解決了以往值班人員在開展叫應工作中缺乏氣象數(shù)據(jù)參考的問題,使氣象服務更加精細化?;谶@套模型,該子系統(tǒng)實現(xiàn)了氣象災害智能化規(guī)則配置、氣象災害規(guī)則自動檢測,為“三個叫應”核心服務提供輔助支持。規(guī)則配置界面如圖6所示。
圖6 規(guī)則配置界面
該系統(tǒng)基于IVR技術(shù)的叫應模型完成了“1市+多縣”的兩級通信,并且通過市縣安裝電話語音盒,方便汛期指揮調(diào)度和工作問責追蹤。當系統(tǒng)發(fā)出報警提示后,值班人員在叫應界面中勾選叫應內(nèi)容和叫應對象,并點擊電話圖標,系統(tǒng)發(fā)送數(shù)據(jù)包向服務器請求空閑座席,并向客戶端返回座席IP、通迅信息等相關(guān)參數(shù)?;贗VR技術(shù)的叫應模型會將所選的叫應內(nèi)容轉(zhuǎn)換自動語音信息,由后臺語音聯(lián)動程序處理語音內(nèi)容,最后根據(jù)參數(shù)連接客戶端的語音接口,自動與叫應對象實現(xiàn)通話,觸發(fā)多氣象部門協(xié)同工作,解決了人工撥號易出錯的問題,提高了工作效率,達到了系統(tǒng)自動受理的目的。同時,該系統(tǒng)能根據(jù)系統(tǒng)資源的實時運行情況和呼叫時間序列,進行自反饋學習,動態(tài)地調(diào)整后續(xù)呼叫,實現(xiàn)不占線地撥出多部分機號進行通話。另外,該系統(tǒng)對叫應的聯(lián)系人進行管理、配置叫應規(guī)則等功能,實現(xiàn)了服務可記錄、可追蹤、可查詢,解決了在汛期值班員能夠精準智能化叫應。縣級用戶三個叫應工作界面圖如圖7所示。
圖7 縣級用戶三個叫應工作界面
由于畢節(jié)市有復雜的地理環(huán)境,洪澇、干旱、泥石流等自然災害頻繁發(fā)生。為了應對極端天氣對畢節(jié)市的影響,需要對其進行準確的、科學的氣象災害影響評估,快速啟動應急響應,并發(fā)布預報預警信息。
畢節(jié)市氣象災害監(jiān)測預警指揮調(diào)度系統(tǒng)可以提高氣象災害快速預警和響應能力,為政府部門的應急指揮決策提供技術(shù)支持服務。系統(tǒng)支持自動站、雷達、云圖、臺風、預警信息、降雪、水位、地質(zhì)災害等多種氣象要素與GIS進行疊加綜合顯示和分析,通過動態(tài)計算配置出適應不同時間、不同空間的氣象災害閾值,解決了手動撥號易出錯的問題,不僅減輕了值班人員工作壓力,還提供了一個跨層級、跨部門的工作紐帶平臺,實現(xiàn)精準統(tǒng)一的指揮調(diào)度。