趙銀剛王 晨譚 婧劉慶杰1)中國山東262100安丘地震臺2)中國北京100081中國地震局地球物理研究所3)中國遼寧110162沈陽炮兵學院4)中國河北065201防災科技學院
?
基于云計算的強震預警軟件開發(fā)
趙銀剛1)王 晨2)譚 婧3)劉慶杰4)
1)中國山東262100安丘地震臺2)中國北京100081中國地震局地球物理研究所3)中國遼寧110162沈陽炮兵學院4)中國河北065201防災科技學院
摘要依托專業(yè)地震監(jiān)測臺網,采用云技術環(huán)境,利用Java開發(fā)平臺,開展地震早期預警軟件系統集成關鍵技術研究,研制一套具有自主知識產權的地震早期預警軟件系統,并在中國地震重點監(jiān)視防御區(qū)和試驗場開展系統試驗,建立信息發(fā)布平臺,實現預警參數和地理信息的近實時動態(tài)發(fā)布。該軟件在地震事件觸發(fā)準確率、誤觸發(fā)判斷及信息發(fā)布速度等方面具有一定創(chuàng)新,從而提高地震預警信息的時效性和準確性。
關鍵詞強震預警;云計算;多線程技術;功能模塊
地震預警(Earthquake Early Warning,EEW)技術作為震災預防的新手段,已經在多個地震多發(fā)國家和地區(qū)引起重視并得到應用(趙紀東等,2009)。地震預警系統的基本硬件組成(袁志祥等,2007)為:地震監(jiān)測系統(數字化實時強震儀)→通信系統(電話線、無線撥號上網、中繼站)→控制中心(計算機和專業(yè)軟件)→警報發(fā)布系統(手機、電子媒體、政府)。整套地震預警系統的特點應該是高度集成、實時監(jiān)控、飛速響應,尤其是飛速響應至關重要。地震預警作為一種以秒計的“超級地震速報”,每1 s均是決定地震預警成敗的關鍵。地震預警信息的發(fā)布過程涉及數據傳輸、處理、信息確認等環(huán)節(jié),每個環(huán)節(jié)均會消耗一定時間(殷海濤等,2012;張晁軍等,2013;張紅才,2013)。由于地震動參數獲取的速度和精度直接影響到地震預警系統運行的效率和準確度,因此數據傳輸處理系統也是需要重點保障和維護的子系統。本文基于云計算技術開發(fā)強震預警軟件,并在示范區(qū)開展系統試驗,建立信息發(fā)布平臺,實現預警參數和地理信息的近實時動態(tài)發(fā)布。在地震事件觸發(fā)準確率、誤觸發(fā)判斷以及信息發(fā)布速度等方面有一定創(chuàng)新,從而進一步提高預警信息的時效性和準確性。
本文所涉及的強震預警軟件系統由參數管理、數據匯集服務、事件觸發(fā)判斷、自動震相拾取、自動定位、震級估算、烈度估算、Web信息發(fā)布等模塊組成。系統集成后分為用戶層、應用層、數據層。搭建環(huán)境采用云技術,利用Java平臺開發(fā)編制各功能模塊及集成模塊,程序編制注重系統運行的快速、自動處理和實用化功能,盡量實現智能化,減少人機操作,提高產出速度。
圖1為強震預警軟件系統構架示意圖。其中,數據層主要是數據獲取,從設備或離線數據文件中獲取數據,通過TCP SOCKET提供后續(xù)模塊使用。臺網基礎信息可通過TCP SOCKET,從數據服務模塊獲取。應用層主要是系統業(yè)務功能模塊,包括誤觸發(fā)判斷、事件觸發(fā)判斷、震相拾取、事件定位、震級估算、烈度估算等功能模塊。在應用層中采用多線程技術和分布式計算技術,以共享數據區(qū)動態(tài)震相數據為耦合點,提高系統運行效率,縮短計算時間,充分利用CPU資源。用戶層主要包括面向專業(yè)用戶的參數管理模塊和面向公眾用戶的預警信息發(fā)布模塊。預警信息發(fā)布模塊通過Web Service服務與后臺模塊進行數據交換。
圖1 系統構架Fig.1 System architecture diagram
圖2 物理機網絡拓撲Fig.2 Physical network topology
1.1 分布式云計算環(huán)境搭建
物理機網絡拓撲中云環(huán)境搭建采用5臺高性能服務器,通過2個網口分別連接2臺千兆交換機。5臺服務器中的1臺做控制節(jié)點,其他4臺做計算節(jié)點兼存儲節(jié)點。2臺交換機中1臺與行業(yè)網相連,用于外部通訊,另1臺進行私有云內部通訊;臺式機作為監(jiān)控用機。圖2為物理機網絡拓撲圖。
OpenStack是一個開源的云計算管理平臺項目,以Apache許可證授權,由美國國家航空航天局和Rackspace合作研發(fā),該項目由幾個主要組件組合完成某些具體工作。Ubuntu Linux是OpenStack的主要操作系統,本軟件采用最新的64位版本Ubuntu Server安裝、配置OpenStack,搭建私有云環(huán)境。
1.2 多線程技術應用
線程是程序運行的基本執(zhí)行單元。操作系統(不包括單線程操作系統)執(zhí)行程序時,在系統中建立一個進程,且必須至少建立一個線程(此線程稱為主線程)作為該程序運行的入口點。合理的使用線程,可充分利用CPU資源,簡化編程模型及異步事件的處理,減少開發(fā)和維護成本,使GUI更有效率,改善應用程序性能。
Java是純面向對象語言,通過Thread類將線程必須的功能封裝起來。有3種方法可以實現多線程:①繼承Thread類實現多線程;②以Runnable接口方式實現多線程;③使用Executor Service、Callable、Future,實現有返回結果的多線程。
2.1 數據匯集服務
數據匯集服務分為3部分:①實時數據匯集服務程序,提供測震、強震與GPS波形數據;②離線數據服務程序,將數據文件轉換為模擬實時數據流,模擬實際臺網觀測環(huán)境;③客戶端讀取接口程序,以TCP SOCKET方式從數據匯集服務器獲取臺站的信息和數據,采用Java語言開發(fā),方便與系統集成。數據匯集服務在運行前需進行臺網參數、速度結構模型等配置,服務框架見圖3。
圖3 數據匯集服務框架Fig.3 Data collection service block diagram
客戶端接口模塊采用雙數據緩沖方式,兩個緩沖區(qū)的作用分別是:①存儲從流服務接收到的數據,緩沖區(qū)中各通道循環(huán)隊列長度為10 s;②為事件觸發(fā)檢測模塊提供數據,循環(huán)隊列長度為事件觸發(fā)檢測模塊數據分析總長度。程序創(chuàng)建單獨線程,每間隔20 ms 對1號緩沖區(qū)進行檢查,有新數據時將新數據追加到2號緩沖區(qū),然后啟動事件觸發(fā)檢測模塊。采用雙緩沖區(qū)的優(yōu)點是,在事件觸發(fā)檢測模塊占用緩沖區(qū)進行計算時,不影響數據接收。
2.2 地震波形實時顯示
基于Web頁面的地震波形實時顯示模塊,在瀏覽器中使用High Chart JS組件,顯示地震實時波形,后臺應用服務器通過Servlet從波形服務器獲取實時波形數據,利用Ajax技術,將波形數據傳遞到前臺展示。波形顯示界面提供波形顯示時間長度控制、通道控制、縱軸放大等功能。波形顯示時間長度分為30 s、60 s和120 s等3種模式,可通過下拉菜單選擇控制。波形顯示長度為120 s時,因需要緩存的數據包較多,需要工作站具有較高性能。通道控制菜單可以單獨控制垂直、東西、南北3個通道的顯示情況,未選中則相應通道圖形不顯示。圖4為基于Web的波形實時顯示框架。
2.3 地震事件觸發(fā)檢測
震相分析是波形數據中提取數據的主要手段,快速確定地震參數是地震預警系統的關鍵技術環(huán)節(jié)之一,關系到預警時間的長短。地震事件觸發(fā)檢測模塊的功能是,從實時數據流中計算提取臺站震相信息,包括P波、S波的觸發(fā)時間、位移幅度、卓越周期。提取時間的時效性關乎全局預警時間,因此本模塊采用Java多線程和分布式計算技術,以縮短每次計算時間。模塊采用全局動態(tài)數組存放提取的震相信息,作為與其他模塊交互的接口,減少與其他模塊的耦合,提高程序的靈活性。地震事件觸發(fā)檢測模塊主要有管理線程和識別計算線程2部分。管理線程負責初始化相關參數、輪詢臺站數據和創(chuàng)建啟動計算線程;識別計算線程負責將波形數據進行分布式計算分析,將最終震相結果返回管理線程。圖5為地震事件觸發(fā)檢測管理線程流程。
圖4 基于Web的波形實時顯示框架Fig.4 The real-time wave display based on Web
圖5 地震事件觸發(fā)檢測管理線程流程Fig.5 Detection management fl ow chart of seismic event trigger
2.4 誤觸發(fā)判斷模塊
誤觸發(fā)判斷采用2種方法:①基于V圖和走時,找出其中不合理的臺站;②根據臺站與周邊臺站的距離、波速及周邊臺站的觸發(fā)情況,判斷該臺是否為誤觸發(fā)。
對于1組觸發(fā)臺站,根據Delaunay三角網空間分布,對相鄰臺站進行分組,每組臺站中,根據兩兩走時差判定此臺站是否滿足走時原理,從而為臺站誤觸發(fā)檢測提供依據。程序流程見圖6。
對于動態(tài)觸發(fā)的1組臺站,根據臺站間距和P波波速計算周邊臺站的傳播時間,如果傳播時間與臺站觸發(fā)后的時間差超出預設值,則認為臺站是誤觸發(fā),判斷流程見圖7。
具體判斷檢測流程如下:從動態(tài)震相數組中獲取震相信息進行V圖分組;對組內震相做走時檢驗,刪除不符合走時的震相;對組內震相做Pd、τc檢驗,未通過檢驗則刪除該組震相;如果組內有一個或兩個臺站,計算每個臺站距周邊臺站的最大距離內P波走時T1,并計算P波觸發(fā)時間到目前的時間差T2;如果T2> T1,則刪除該組震相,否則進行定位、震級計算、烈度計算、信息發(fā)布等操作;如果組內有3個以上臺站,確認為地震事件,從震相數組中清除其他組的震相后,進行定位、震級計算、烈度計算、信息發(fā)布等操作。
圖6 臺站誤觸發(fā)流程Fig.6 False trigger in monitoring station
圖7 臺站誤觸發(fā)判斷流程Fig.7 False trigger judgment in monitoring station
選取山東省內7個震例(2 ≤ M < 5)、國內17個震例(4 ≤ M ≤ 8.2)、日本陸地6個震例(5.9 ≤ M ≤ 7.0),共計30個震例用于強震預警系統離線測試,其中國內震例中有2個震例前3個觸發(fā)臺站既有測震臺又有強震臺。測試結果表明,強震預警軟件可在地震監(jiān)測能力一定條件下,最大程度地提高預警信息的時效性和準確性,中強地震(M ≥ 5)觸發(fā)率為100%,隨著觸發(fā)臺站增多系統不斷對震中位置、震級及震中最大烈度進行修訂,預警信息通過信息發(fā)布平臺實時發(fā)布。同時發(fā)現,因建立震級計算關系式時缺少MS7.0以上地震數據樣本,導致較大地震(MS7.0以上)的震級測定偏差較大。
搭建環(huán)境采用云技術,利用Java開發(fā)平臺,開展地震早期預警軟件系統集成關鍵技術研究,并在山東省示范區(qū)開展系統離線測試,建立信息發(fā)布平臺,實現預警參數和地理信息的近實時動態(tài)發(fā)布,以期在強震預警實踐中取得實效。
參考文獻
殷海濤,劉希強,李杰,等. 現今地震預警技術及其在國內發(fā)展狀況的探討[J]. 中國地震,2012,28(1):1-9.
袁志祥,單修政,徐世芳,等. 地震預警技術綜述[J]. 自然災害學報,2007,16(6):216-223.
趙紀東,張志強. 地震預警系統的發(fā)展、應用及啟示[J]. 地質通報,2009,28(4):456-462.
張晁軍,李衛(wèi)東,林捷,等. 關于地震預警的幾個問題[J]. 中國地震,2013,29(2):198-209.
張紅才. 地震預警系統關鍵技術研究[D]. 哈爾濱:中國地震局工程力學研究所,2013.
Strong earthquake early warning software development based on cloud computing
Zhao Yingang1),Wang Chen2),Tan Jing3)and Liu Qingjie4)
1) Anqiu Seismic Station, Shandong Province 262100, China 2) Institute of Geophysics, China Earthquake Administration, Beijing 100081, China 3) Shenyang Artillery Academy, Liaoning Province 110162, China 4) Institute of Disaster Prevention Science and Technology, Hebei Province 065201, China
Abstract
Relying on professional earthquake monitoring network, using cloud technology environment and Java development platform, we had developed the key technologies in earthquake early warning software system with independent intellectual property rights. The system testing is carried out in earthquake-prone regions and testing sites of China, which build an information release platform, implementing early warning parameters and geographical information near realtime dynamic publishing. The timeliness and accuracy of early warning information had been further improved based on seismic event trigger accuracy, false trigger judgment and information releasing speed innovations.
Key words:strong earthquake early warning,cloud computing,multi-threading technology,function module
doi:10. 3969/j. issn. 1003-3246. 2016. 01. 027
基金項目:國家科技支撐計劃項目“面向公眾的地震監(jiān)測預警技術研究與集成示范”(編號:2012BAK19B04)、地震科技星火計劃項目“基于Android平臺的前兆管理系統監(jiān)控軟件研制”(編號:XH13038Y)
作者簡介:趙銀剛(1978—),男,山東諸城人,主要從事地震監(jiān)測工作與研究
本文收到日期:2015-07-09