董翔
面向公眾的地震災(zāi)情發(fā)布與獲取系統(tǒng)研發(fā)
董翔
董翔,山東省地震應(yīng)急搜救中心應(yīng)急指揮技術(shù)部副主任,工程師,主要從事地震信息服務(wù)與地震應(yīng)急領(lǐng)域的研究工作。2014年畢業(yè)于中國科學(xué)技術(shù)大學(xué),獲碩士學(xué)位。作為山東省地震應(yīng)急信息服務(wù)科技創(chuàng)新團(tuán)隊帶頭人,先后全面參與了山東省地震局“十五”和“社會服務(wù)工程”項目的建設(shè)。主持和承擔(dān)了10余項科研項目,其中國家科技支撐計劃子專題2項、中國地震行業(yè)專項子專題1項,中國地震科技星火計劃項目1項。榮獲中國地震局防震減災(zāi)科技成果三等獎2項;取得軟件著作權(quán)5項。
當(dāng)強(qiáng)烈地震發(fā)生時,快速有效地獲得災(zāi)情信息,可以在震后應(yīng)急救援中起到非常重要的決策支持作用。近年來隨著智能手機(jī)的普及和移動互聯(lián)網(wǎng)的發(fā)展,以微博、微信為代表的新媒體平臺逐漸在抗震救災(zāi)中發(fā)揮著越來越重要的作用,使得移動互聯(lián)網(wǎng)在一定程度上改變著抗震救災(zāi)的進(jìn)程。
本研究探討如何利用移動互聯(lián)網(wǎng)、云平臺、LBS(Location Based Service,定位服務(wù)又叫移動位置服務(wù))和GIS技術(shù),搭建一個地震災(zāi)情發(fā)布與獲取平臺,平臺包含災(zāi)情信息的采集、傳輸、處理、發(fā)布等各個環(huán)節(jié),使得震后廣大社會公眾和志愿者能夠參與進(jìn)來,將文字、圖片、視頻等形式的地震災(zāi)情信息快速、及時傳遞到抗震救災(zāi)指揮部,為抗震救災(zāi)的行動部署提供參考和依據(jù),反饋的災(zāi)情信息也可為廣大民間救援隊提供及時、準(zhǔn)確的信息支持服務(wù)。
要使公眾和志愿者能夠積極參與地震災(zāi)情的報告,應(yīng)把握服務(wù)主導(dǎo)的原則,在公眾上報信息前提供震情信息速報服務(wù),公眾提供信息后給予災(zāi)情信息反饋服務(wù)。具體操作流程如下:首先,在微信和微博平臺提供地震速報服務(wù),使得用戶能夠第一時間了解地震發(fā)生的位置和大概的影響情況。然后,建立兼容各類移動終端的災(zāi)情收集系統(tǒng),在提供信息的同時附加災(zāi)情上報入口,利用移動社交網(wǎng)絡(luò)信息快速傳播的特性,廣泛收集災(zāi)區(qū)的震感、災(zāi)情等信息。最后,在信息處理結(jié)束后給予災(zāi)情簡報等信息反饋服務(wù)。
地震速報信息和震區(qū)基本情況的快速發(fā)布技術(shù)地震災(zāi)情信息的獲取、處理、展示和發(fā)布技術(shù)
在微信、微博開放平臺的基礎(chǔ)上,開發(fā)一套地震災(zāi)情發(fā)布與獲取系統(tǒng),實現(xiàn)地震應(yīng)急時面向社會公眾的震情發(fā)布、災(zāi)情收集、災(zāi)情處理、災(zāi)情展示、災(zāi)情發(fā)布等一系列任務(wù),最終產(chǎn)出帶地理位置信息的災(zāi)情數(shù)據(jù)庫,為抗震救災(zāi)指揮部快速判斷地震影響范圍和受災(zāi)情況提供參考和依據(jù),同時也為志愿者和民間救援隊提供信息支持。
在系統(tǒng)的架構(gòu)設(shè)計上,充分考慮震時高并發(fā)訪問的峰值服務(wù)能力和平時運(yùn)維成本的平衡。關(guān)鍵業(yè)務(wù)系統(tǒng)采用分布式消息和緩存平臺,采用REST架構(gòu)將核心業(yè)務(wù)服務(wù)資源化,在可靈活擴(kuò)展資源的公有云平臺上部署。當(dāng)訪問量突然增長時可以及時擴(kuò)展硬件資源提高服務(wù)能力,在平峰時釋放硬件資源節(jié)約運(yùn)行成本,從而達(dá)到按需使用的目的。
1.地震速報信息發(fā)布系統(tǒng)
地震速報信息發(fā)布系統(tǒng)采用C#語言編寫,用于同步EQIM系統(tǒng)產(chǎn)出的地震速報信息,并在第一時間發(fā)布,告知公眾地震的三要素信息。具體實現(xiàn)為一個運(yùn)行在 Windows平臺上的系統(tǒng)服務(wù),部署在一個可同時連接行業(yè)網(wǎng)與互聯(lián)網(wǎng)的信息同步服務(wù)器上,實現(xiàn)開機(jī)自動啟動進(jìn)行服務(wù),連接EQIM 系統(tǒng),接收地震速報和正式報信息,并根據(jù)信息類別(AU、ER、CC、CD)進(jìn)行不同的處理??傮w架構(gòu)如圖所示。
地震速報信息發(fā)布系統(tǒng)總體架構(gòu)圖
微博消息發(fā)布界面
震區(qū)基本情況圖文消息
系統(tǒng)主要由地震信息接收和地震信息處理兩部分組成。地震信息接收模塊在系統(tǒng)服務(wù)啟動時自動運(yùn)行,實時監(jiān)聽 EQIM 系統(tǒng)的地震信息,并進(jìn)行地震數(shù)據(jù)的預(yù)處理和新地震信息的廣播工作;地震信息處理模塊在系統(tǒng)服務(wù)啟動時向地震信息接收模塊注冊,接收其發(fā)布的新地震廣播信息,進(jìn)行地震速報信息的發(fā)布并通知震區(qū)基本情況生產(chǎn)系統(tǒng)啟動產(chǎn)出相關(guān)的基礎(chǔ)信息。
①微博發(fā)布
目前平臺發(fā)布微博賬號為新浪微博的@魯震快訊和騰訊微博的@地震災(zāi)情發(fā)布與獲取,自動發(fā)布帶地理位置信息的地震自動速報和正式速報微博。用戶在看到地震速報微博時,單擊消息來源或災(zāi)情上報入口即可直接跳轉(zhuǎn)到災(zāi)情收集系統(tǒng)上報災(zāi)情信息。
②微信發(fā)布
用戶可關(guān)注@中國地震臺網(wǎng)中心災(zāi)情發(fā)布與獲取公眾服務(wù)號,并可設(shè)置訂閱地震速報消息和地震基本情況消息。當(dāng)系統(tǒng)接收到地震速報信息后,自動判斷地震影響范圍,向影響范圍內(nèi)的用戶和訂閱用戶發(fā)送地震速報消息,同時引導(dǎo)用戶報告震感和災(zāi)情。用戶點(diǎn)擊自動速報消息,可直接進(jìn)入震感上報系統(tǒng)界面,單擊正式速報消息,可直接進(jìn)入災(zāi)情上報系統(tǒng)界面。
2.震區(qū)基本情況生產(chǎn)系統(tǒng)
震區(qū)基本情況生產(chǎn)系統(tǒng)采用Python語言編寫,可根據(jù)地震發(fā)生位置和震級大小,從后臺基礎(chǔ)數(shù)據(jù)庫中提取地震所在地區(qū)的基本情況,自動產(chǎn)出圖文形式的地震基礎(chǔ)信息。產(chǎn)出內(nèi)容包括震中位置、地震構(gòu)造、地形地貌、人口建筑、震中附近居民地和天氣情況等民眾普遍關(guān)注的信息,可以為震后初期應(yīng)急決策和民間救援隊的行動提供參考和依據(jù)。為了保證產(chǎn)出效率,系統(tǒng)基于Celery的分布式任務(wù)調(diào)度框架實現(xiàn)產(chǎn)出內(nèi)容的并行計算產(chǎn)出,保障信息的產(chǎn)出速度。
①地震信息:從EQIM接收到的地震速報信息及震中位置圖。
②地震構(gòu)造信息:地震所在地震帶的名稱、衰減關(guān)系、影響范圍等信息及帶影響范圍的遙感影像圖。
③地形地貌信息:地震影響范圍內(nèi)的海拔高程信息、海拔提醒及地形地貌圖。
④震區(qū)基本情況信息:地震影響區(qū)域人口密度、影響人數(shù)、各類型建筑結(jié)構(gòu)比例信息。
⑤受影響區(qū)縣信息:分區(qū)縣受影響的人口信息及所在區(qū)縣老舊房屋比例信息。
⑥震中附近居民地信息:距震中最近的省會、地市、區(qū)縣距離及地震影響范圍內(nèi)的居民地列表。
⑦天氣信息:震中所在地區(qū)的實時天氣和最近三天天氣預(yù)報。
3.地震災(zāi)情信息收集系統(tǒng)
地震災(zāi)情信息收集系統(tǒng)采用Html5編寫,可適配Android、iOS、WP等各類移動終端,具有地理位置定位功能,通過圖形化交互界面,用戶通過簡單的單擊和輸入即可快速生成規(guī)范的災(zāi)情速報信息,通過網(wǎng)絡(luò)上傳災(zāi)情內(nèi)容及圖片信息。為了保障地震應(yīng)急時的高并發(fā)訪問,系統(tǒng)使用MongoDB數(shù)據(jù)庫和Redis緩存,并在共有云平臺上進(jìn)行部署。
地震災(zāi)情信息收集系統(tǒng)
地震災(zāi)情展示系統(tǒng)界面
①災(zāi)情標(biāo)準(zhǔn):對災(zāi)情信息的數(shù)據(jù)類型、數(shù)據(jù)編碼、數(shù)據(jù)格式、數(shù)據(jù)字典及數(shù)據(jù)組織與處理的基本要求進(jìn)行規(guī)范,并根據(jù)規(guī)范進(jìn)行災(zāi)情上報系統(tǒng)圖形界面的設(shè)計。
②災(zāi)情定位:可根據(jù)基站、GPS、網(wǎng)絡(luò)等信息確定用戶位置,定位失敗也可在地圖上通過簡單的三次逐級縮放單擊確定精確的位置。
③災(zāi)情上報:通過調(diào)用云平臺的REST接口,實現(xiàn)災(zāi)情信息和災(zāi)情圖片信息壓縮編碼和上報。
4.地震災(zāi)情信息處理與展示系統(tǒng)
地震災(zāi)情信息處理基于ArcGIS平臺,使用ArcPy實現(xiàn)用戶上報震感信息的插值和處理,產(chǎn)出用戶上報震感所對應(yīng)烈度的分布圖。
災(zāi)情信息展示系統(tǒng)是收集到的災(zāi)情信息的綜合展示平臺,可以顯示系統(tǒng)收集到的災(zāi)情信息及查看與某一次地震相關(guān)的災(zāi)情信息。通過查看災(zāi)情詳情可以了解災(zāi)情類別、影響程度以及照片情況。系統(tǒng)采用B/S架構(gòu),支持多種移動終端,兼容性強(qiáng),將震情和災(zāi)情信息顯示在Google Maps底圖上,并進(jìn)行關(guān)聯(lián),單擊地震圖標(biāo)可獲得與此相關(guān)聯(lián)的災(zāi)情信息。
青海門源6.4級地震震感分布圖
5.微信消息處理和災(zāi)情發(fā)布系統(tǒng)
微信消息處理系統(tǒng)是針對微信公眾平臺開發(fā)的后臺消息處理系統(tǒng),通過微信高級功能中開發(fā)模式的切換,接收用戶針對公眾平臺的各類操作,實現(xiàn)用戶命令響應(yīng)、菜單命令響應(yīng)、用戶反饋信息記錄、用戶分組自動切換等功能。該系統(tǒng)采用Java語言進(jìn)行開發(fā),容器為Jetty,數(shù)據(jù)庫采用MongoDB的NoSQL數(shù)據(jù)庫并使用Redis作為緩存,目前部署于地震應(yīng)急公共信息服務(wù)平臺所在的云引擎中。系統(tǒng)由微信消息模塊、微信接口操作模塊、微信處理核心模塊、數(shù)據(jù)庫操作模塊和消息處理實現(xiàn)模塊等部分組成。
①微信消息模塊:封裝微信平臺的各類標(biāo)準(zhǔn)消息,包括文本、圖片、語音、視頻、地理位置、鏈接等普通消息和關(guān)注、掃描二維碼,上報地理位置,自定義菜單等事件消息。
②微信接口操作模塊:封裝微信平臺的各類REST形式的操作接口,包括獲取鑒權(quán)信息、用戶分組管理、用戶菜單管理等操作接口。
③微信處理核心模塊:包括請求過濾器、微信處理模塊及SSL加密網(wǎng)絡(luò)訪問、系統(tǒng)配置、XML產(chǎn)出模塊配置、接口簽名校驗等各類基礎(chǔ)功能支持。其中核心功能為請求過濾器,其攔截所有的請求,并根據(jù)請求類型,將具體信息分發(fā)到微信處理模塊。微信處理模塊可根據(jù)系統(tǒng)配置文件生成具體的消息處理結(jié)構(gòu),同時實現(xiàn)用戶發(fā)送消息和系統(tǒng)反饋消息的保存。
④數(shù)據(jù)庫操作模塊:包括操作MongoDB數(shù)據(jù)庫的各類基礎(chǔ)模塊,實現(xiàn)消息的保存和查詢功能。
⑤消息處理實現(xiàn)模塊:包括具體的消息處理邏輯和應(yīng)急信息公共平臺接口調(diào)用封裝??勺R別用戶的語音和文字命令,并給予相應(yīng)的查詢結(jié)果。并可處理用戶的二維碼掃描消息和菜單單擊消息。
微信關(guān)注用戶分布圖
在災(zāi)情信息的發(fā)布上,項目組與畢雪梅組織的震后政府信息支持工作組合作,在破壞性地震發(fā)生后,組織人員進(jìn)行災(zāi)情信息的收集和處理,通過信息的快速獲取和有效匯交,經(jīng)過若干自動或半自動化的分析手段,對災(zāi)情信息進(jìn)行逐條核實,快速整理出有效信息,形成災(zāi)情簡報,分門別類的傳遞給各類用戶。作為工作組面向公眾的發(fā)布平臺,震后持續(xù)發(fā)布多期災(zāi)情簡報信息,為抗震救災(zāi)決策和民間救援隊伍的行動提供參考。
從微信關(guān)注用戶分布圖可以看出,災(zāi)情發(fā)布與獲取微信的關(guān)注用戶主要分布在中國地震活動較為活躍的地區(qū)。從全球范圍來看,國外用戶主要集中在北美和歐洲地區(qū),主要為當(dāng)?shù)氐囊恍┑卣鹧芯繖C(jī)構(gòu)人員關(guān)注。
面向公眾的災(zāi)情發(fā)布與獲取系統(tǒng)可以為廣大公眾提供地震速報和基礎(chǔ)信息服支持服務(wù),同時收集震區(qū)公眾主動上報的災(zāi)情信息,并提供高質(zhì)量的災(zāi)情信息反饋服務(wù)。
系統(tǒng)上線以來,共發(fā)布地震速報微博兩千余條,地震速報微信消息數(shù)百條,災(zāi)情簡報信息數(shù)十條,處理微信后臺消息60余萬條,反饋消息20萬余條,共收集到地震災(zāi)情報告1200余條。發(fā)布的震區(qū)基本情況圖文消息,單條最高達(dá)10萬以上的閱讀紀(jì)錄。
上報災(zāi)情數(shù)量分布圖
災(zāi)情收集系統(tǒng)收集數(shù)據(jù)統(tǒng)計
從地震災(zāi)情信息位置分布圖可以看出,地震災(zāi)情上報地點(diǎn)主要集中在地震發(fā)生位置及周邊地區(qū),幾乎每次有感地震均有災(zāi)情信息上報。從地震災(zāi)情數(shù)量分布圖和用戶活躍度與災(zāi)情數(shù)量對比可以看出,地震影響越大,震中周圍人口越密集,系統(tǒng)收到的災(zāi)情上報信息也就越多。
本項目的建設(shè)為社會公眾提供了一個上報災(zāi)情的有效渠道,今后我們將繼續(xù)進(jìn)行后續(xù)功能的完善,以便能更好地服務(wù)社會,為最大限度減輕地震災(zāi)害損失而不斷努力!