本站小編為你精心準備了云計算的強震預警軟件開發(fā)參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
摘要
依托專業(yè)地震監(jiān)測臺網(wǎng),采用云技術環(huán)境,利用Java開發(fā)平臺,開展地震早期預警軟件系統(tǒng)集成關鍵技術研究,研制一套具有自主知識產(chǎn)權的地震早期預警軟件系統(tǒng),并在中國地震重點監(jiān)視防御區(qū)和試驗場開展系統(tǒng)試驗,建立信息平臺,實現(xiàn)預警參數(shù)和地理信息的近實時動態(tài)。該軟件在地震事件觸發(fā)準確率、誤觸發(fā)判斷及信息速度等方面具有一定創(chuàng)新,從而提高地震預警信息的時效性和準確性。
關鍵詞
強震預警;云計算;多線程技術;功能模塊
地震預警(EarthquakeEarlyWarning,EEW)技術作為震災預防的新手段,已經(jīng)在多個地震多發(fā)國家和地區(qū)引起重視并得到應用(趙紀東等,2009)。地震預警系統(tǒng)的基本硬件組成(袁志祥等,2007)為:地震監(jiān)測系統(tǒng)(數(shù)字化實時強震儀)→通信系統(tǒng)(電話線、無線撥號上網(wǎng)、中繼站)→控制中心(計算機和專業(yè)軟件)→警報系統(tǒng)(手機、電子媒體、政府)。整套地震預警系統(tǒng)的特點應該是高度集成、實時監(jiān)控、飛速響應,尤其是飛速響應至關重要。地震預警作為一種以秒計的“超級地震速報”,每1s均是決定地震預警成敗的關鍵。地震預警信息的過程涉及數(shù)據(jù)傳輸、處理、信息確認等環(huán)節(jié),每個環(huán)節(jié)均會消耗一定時間(殷海濤等,2012;張晁軍等,2013;張紅才,2013)。由于地震動參數(shù)獲取的速度和精度直接影響到地震預警系統(tǒng)運行的效率和準確度,因此數(shù)據(jù)傳輸處理系統(tǒng)也是需要重點保障和維護的子系統(tǒng)。本文基于云計算技術開發(fā)強震預警軟件,并在示范區(qū)開展系統(tǒng)試驗,建立信息平臺,實現(xiàn)預警參數(shù)和地理信息的近實時動態(tài)。在地震事件觸發(fā)準確率、誤觸發(fā)判斷以及信息速度等方面有一定創(chuàng)新,從而進一步提高預警信息的時效性和準確性。
1總體構架
本文所涉及的強震預警軟件系統(tǒng)由參數(shù)管理、數(shù)據(jù)匯集服務、事件觸發(fā)判斷、自動震相拾取、自動定位、震級估算、烈度估算、Web信息等模塊組成。系統(tǒng)集成后分為用戶層、應用層、數(shù)據(jù)層。搭建環(huán)境采用云技術,利用Java平臺開發(fā)編制各功能模塊及集成模塊,程序編制注重系統(tǒng)運行的快速、自動處理和實用化功能,盡量實現(xiàn)智能化,減少人機操作,提高產(chǎn)出速度。圖1為強震預警軟件系統(tǒng)構架示意圖。其中,數(shù)據(jù)層主要是數(shù)據(jù)獲取,從設備或離線數(shù)據(jù)文件中獲取數(shù)據(jù),通過TCPSOCKET提供后續(xù)模塊使用。臺網(wǎng)基礎信息可通過TCPSOCKET,從數(shù)據(jù)服務模塊獲取。應用層主要是系統(tǒng)業(yè)務功能模塊,包括誤觸發(fā)判斷、事件觸發(fā)判斷、震相拾取、事件定位、震級估算、烈度估算等功能模塊。在應用層中采用多線程技術和分布式計算技術,以共享數(shù)據(jù)區(qū)動態(tài)震相數(shù)據(jù)為耦合點,提高系統(tǒng)運行效率,縮短計算時間,充分利用CPU資源。用戶層主要包括面向?qū)I(yè)用戶的參數(shù)管理模塊和面向公眾用戶的預警信息模塊。預警信息模塊通過WebService服務與后臺模塊進行數(shù)據(jù)交換。
1.1分布式云計算環(huán)境搭建物理機網(wǎng)絡拓撲中云環(huán)境搭建采用5臺高性能服務器,通過2個網(wǎng)口分別連接2臺千兆交換機。5臺服務器中的1臺做控制節(jié)點,其他4臺做計算節(jié)點兼存儲節(jié)點。2臺交換機中1臺與行業(yè)網(wǎng)相連,用于外部通訊,另1臺進行私有云內(nèi)部通訊;臺式機作為監(jiān)控用機。圖2為物理機網(wǎng)絡拓撲圖。OpenStack是一個開源的云計算管理平臺項目,以Apache許可證授權,由美國國家航空航天局和Rackspace合作研發(fā),該項目由幾個主要組件組合完成某些具體工作。UbuntuLinux是OpenStack的主要操作系統(tǒng),本軟件采用最新的64位版本UbuntuServer安裝、配置OpenStack,搭建私有云環(huán)境。
1.2多線程技術應用線程是程序運行的基本執(zhí)行單元。操作系統(tǒng)(不包括單線程操作系統(tǒng))執(zhí)行程序時,在系統(tǒng)中建立一個進程,且必須至少建立一個線程(此線程稱為主線程)作為該程序運行的入口點。合理的使用線程,可充分利用CPU資源,簡化編程模型及異步事件的處理,減少開發(fā)和維護成本,使GUI更有效率,改善應用程序性能。Java是純面向?qū)ο笳Z言,通過Thread類將線程必須的功能封裝起來。有3種方法可以實現(xiàn)多線程:①繼承Thread類實現(xiàn)多線程;②以Runnable接口方式實現(xiàn)多線程;③使用ExecutorService、Callable、Future,實現(xiàn)有返回結果的多線程。
2功能模塊接口封裝
2.1數(shù)據(jù)匯集服務數(shù)據(jù)匯集服務分為3部分:①實時數(shù)據(jù)匯集服務程序,提供測震、強震與GPS波形數(shù)據(jù);②離線數(shù)據(jù)服務程序,將數(shù)據(jù)文件轉(zhuǎn)換為模擬實時數(shù)據(jù)流,模擬實際臺網(wǎng)觀測環(huán)境;③客戶端讀取接口程序,以TCPSOCKET方式從數(shù)據(jù)匯集服務器獲取臺站的信息和數(shù)據(jù),采用Java語言開發(fā),方便與系統(tǒng)集成。數(shù)據(jù)匯集服務在運行前需進行臺網(wǎng)參數(shù)、速度結構模型等配置,服務框架見圖3。客戶端接口模塊采用雙數(shù)據(jù)緩沖方式,兩個緩沖區(qū)的作用分別是:①存儲從流服務接收到的數(shù)據(jù),緩沖區(qū)中各通道循環(huán)隊列長度為10s;②為事件觸發(fā)檢測模塊提供數(shù)據(jù),循環(huán)隊列長度為事件觸發(fā)檢測模塊數(shù)據(jù)分析總長度。程序創(chuàng)建單獨線程,每間隔20ms對1號緩沖區(qū)進行檢查,有新數(shù)據(jù)時將新數(shù)據(jù)追加到2號緩沖區(qū),然后啟動事件觸發(fā)檢測模塊。采用雙緩沖區(qū)的優(yōu)點是,在事件觸發(fā)檢測模塊占用緩沖區(qū)進行計算時,不影響數(shù)據(jù)接收。
2.2地震波形實時顯示基于Web頁面的地震波形實時顯示模塊,在瀏覽器中使用HighChartJS組件,顯示地震實時波形,后臺應用服務器通過Servlet從波形服務器獲取實時波形數(shù)據(jù),利用Ajax技術,將波形數(shù)據(jù)傳遞到前臺展示。波形顯示界面提供波形顯示時間長度控制、通道控制、縱軸放大等功能。波形顯示時間長度分為30s、60s和120s等3種模式,可通過下拉菜單選擇控制。波形顯示長度為120s時,因需要緩存的數(shù)據(jù)包較多,需要工作站具有較高性能。通道控制菜單可以單獨控制垂直、東西、南北3個通道的顯示情況,未選中則相應通道圖形不顯示。圖4為基于Web的波形實時顯示框架。
2.3地震事件觸發(fā)檢測震相分析是波形數(shù)據(jù)中提取數(shù)據(jù)的主要手段,快速確定地震參數(shù)是地震預警系統(tǒng)的關鍵技術環(huán)節(jié)之一,關系到預警時間的長短。地震事件觸發(fā)檢測模塊的功能是,從實時數(shù)據(jù)流中計算提取臺站震相信息,包括P波、S波的觸發(fā)時間、位移幅度、卓越周期。提取時間的時效性關乎全局預警時間,因此本模塊采用Java多線程和分布式計算技術,以縮短每次計算時間。模塊采用全局動態(tài)數(shù)組存放提取的震相信息,作為與其他模塊交互的接口,減少與其他模塊的耦合,提高程序的靈活性。地震事件觸發(fā)檢測模塊主要有管理線程和識別計算線程2部分。管理線程負責初始化相關參數(shù)、輪詢臺站數(shù)據(jù)和創(chuàng)建啟動計算線程;識別計算線程負責將波形數(shù)據(jù)進行分布式計算分析,將最終震相結果返回管理線程。圖5為地震事件觸發(fā)檢測管理線程流程。
2.4誤觸發(fā)判斷模塊誤觸發(fā)判斷采用2種方法:①基于V圖和走時,找出其中不合理的臺站;②根據(jù)臺站與周邊臺站的距離、波速及周邊臺站的觸發(fā)情況,判斷該臺是否為誤觸發(fā)。對于1組觸發(fā)臺站,根據(jù)Delaunay三角網(wǎng)空間分布,對相鄰臺站進行分組,每組臺站中,根據(jù)兩兩走時差判定此臺站是否滿足走時原理,從而為臺站誤觸發(fā)檢測提供依據(jù)。程序流程見圖6。對于動態(tài)觸發(fā)的1組臺站,根據(jù)臺站間距和P波波速計算周邊臺站的傳播時間,如果傳播時間與臺站觸發(fā)后的時間差超出預設值,則認為臺站是誤觸發(fā),判斷流程見圖7。具體判斷檢測流程如下:從動態(tài)震相數(shù)組中獲取震相信息進行V圖分組;對組內(nèi)震相做走時檢驗,刪除不符合走時的震相;對組內(nèi)震相做Pd、τc檢驗,未通過檢驗則刪除該組震相;如果組內(nèi)有一個或兩個臺站,計算每個臺站距周邊臺站的最大距離內(nèi)P波走時T1,并計算P波觸發(fā)時間到目前的時間差T2;如果T2>T1,則刪除該組震相,否則進行定位、震級計算、烈度計算、信息等操作;如果組內(nèi)有3個以上臺站,確認為地震事件,從震相數(shù)組中清除其他組的震相后,進行定位、震級計算、烈度計算、信息等操作。
3系統(tǒng)離線測試
選取山東省內(nèi)7個震例(2≤M<5)、國內(nèi)17個震例(4≤M≤8.2)、日本陸地6個震例(5.9≤M≤7.0),共計30個震例用于強震預警系統(tǒng)離線測試,其中國內(nèi)震例中有2個震例前3個觸發(fā)臺站既有測震臺又有強震臺。測試結果表明,強震預警軟件可在地震監(jiān)測能力一定條件下,最大程度地提高預警信息的時效性和準確性,中強地震(M≥5)觸發(fā)率為100%,隨著觸發(fā)臺站增多系統(tǒng)不斷對震中位置、震級及震中最大烈度進行修訂,預警信息通過信息平臺實時。同時發(fā)現(xiàn),因建立震級計算關系式時缺少MS7.0以上地震數(shù)據(jù)樣本,導致較大地震(MS7.0以上)的震級測定偏差較大。
4結束語
搭建環(huán)境采用云技術,利用Java開發(fā)平臺,開展地震早期預警軟件系統(tǒng)集成關鍵技術研究,并在山東省示范區(qū)開展系統(tǒng)離線測試,建立信息平臺,實現(xiàn)預警參數(shù)和地理信息的近實時動態(tài),以期在強震預警實踐中取得實效。
參考文獻
殷海濤,劉希強,李杰,等.現(xiàn)今地震預警技術及其在國內(nèi)發(fā)展狀況的探討[J].中國地震,2012,28(1):1-9.
袁志祥,單修政,徐世芳,等.地震預警技術綜述[J].自然災害學報,2007,16(6):216-223.
趙紀東,張志強.地震預警系統(tǒng)的發(fā)展、應用及啟示[J].地質(zhì)通報,2009,28(4):456-462.
張晁軍,李衛(wèi)東,林捷,等.關于地震預警的幾個問題[J].中國地震,2013,29(2):198-209.
張紅才.地震預警系統(tǒng)關鍵技術研究[D].哈爾濱:中國地震局工程力學研究所,2013.
作者:趙銀剛 王晨 譚婧 劉慶杰 單位:安丘地震臺 中國地震局地球物理研究所 沈陽炮兵學院 防災科技學院