劉國梅,王艷,金秋春
(鄭州航空工業(yè)管理學院 計算機科學與應(yīng)用系,鄭州 450015)
地震監(jiān)測是防震減災(zāi)、地震科學研究的必要技術(shù)基礎(chǔ),目前,國內(nèi)外的地震監(jiān)測系統(tǒng)仍處于初級階段,不能滿足地震預(yù)警的要求,存在漏報、誤報、遲報現(xiàn)象,例如監(jiān)測臺網(wǎng)密度低、監(jiān)測數(shù)據(jù)精度低、信息不豐富、數(shù)據(jù)傳輸速度慢、成本高等[1]。
融多種信息技術(shù)為一體的無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是一種新興的信息技術(shù),在信息領(lǐng)域有著良好的應(yīng)用前景。相對于傳統(tǒng)的有線和其他無線網(wǎng)絡(luò),無線傳感器網(wǎng)絡(luò)具有布設(shè)范圍廣、自組織,低能耗、協(xié)同感知、獨立電源供電、無人值守等特點[2],能夠很好地滿足地震監(jiān)測的要求。
地震監(jiān)測過程中,網(wǎng)絡(luò)數(shù)據(jù)的傳輸離不開路由協(xié)議,路由協(xié)議的研究是無線傳感器網(wǎng)絡(luò)通信層的一個核心技術(shù),本文結(jié)合地震監(jiān)測的具體應(yīng)用需求,設(shè)計出一種適合地震監(jiān)測的無線傳感器網(wǎng)絡(luò)路由協(xié)議。
最小跳數(shù)(Minimum Hop Count,MHC)路由協(xié)議[3]是一種平面路由協(xié)議,其核心部分是采用經(jīng)典的擴散算法,在網(wǎng)絡(luò)中建立一個最小跳數(shù)場,在最小跳數(shù)場內(nèi),每個節(jié)點擁有到基站(Sink節(jié)點)的最小跳數(shù)。當節(jié)點需要發(fā)送消息時,它按序選擇自己的父節(jié)點作為下一跳。該協(xié)議因能夠提高消息傳輸?shù)目煽啃?、減少傳輸時延而倍受關(guān)注。但在該協(xié)議中,傳輸數(shù)據(jù)時有很大的重復性,同時它未考慮節(jié)點在監(jiān)聽狀態(tài)下的耗能情況,造成網(wǎng)絡(luò)性能和壽命下降。
LEACH(Low Energy Adaptive Clustering Hierarchy)[4]是Heinzelman等人提出的第一個分簇路由協(xié)議,在每個數(shù)據(jù)收集周期開始,一小部分節(jié)點隨機成為簇首,在數(shù)據(jù)傳輸階段,簇首以單跳通信的方式將融合后的數(shù)據(jù)傳輸給基站。它通過角色輪換達到能量的均勻分布。但是,LEACH假設(shè)所有的節(jié)點都能直接與簇首以及基站通信,在需要監(jiān)測范圍大的應(yīng)用中不適用;而且它僅僅以節(jié)點的剩余能量多少選擇簇首,形成的簇并不是最優(yōu)的。后來,Heinzelman等人在LEACH的基礎(chǔ)上,提出了LEACH-C[5]。LEACH-C(Low Energy Adaptive Clustering Hierarchy-Centralized)是集中式的分簇算法,健壯性好且產(chǎn)生的簇較佳,但該協(xié)議由于每個節(jié)點都需要向基站周期性地報告它們的能量和位置等信息,從而導致增加網(wǎng)絡(luò)流量、時間延遲等。
TEEN(Threshold-Sensitive Energy Efficient Sensor Network Protocol)[6]是第一個響應(yīng)型的無線傳感器網(wǎng)絡(luò)路由協(xié)議,其網(wǎng)絡(luò)結(jié)構(gòu)與LEACH類似,只是它的簇成員不像LEACH算法那樣總是發(fā)送數(shù)據(jù)給簇首。TEEN協(xié)議設(shè)置了硬、軟兩個閥值,只有當監(jiān)測到的數(shù)據(jù)超過硬閾值并且監(jiān)測數(shù)據(jù)的變化幅度大于軟閾值時,節(jié)點才會傳送監(jiān)測數(shù)據(jù)。這樣可以大大減少節(jié)點發(fā)射數(shù)據(jù)的次數(shù),數(shù)據(jù)傳送消耗的能量較少。但TEEN協(xié)議存在一個缺陷,如果閥值不能達到,節(jié)點就不會傳輸任何數(shù)據(jù),導致用戶在某段時間不知道節(jié)點是否死亡。
地震監(jiān)測中的路由協(xié)議具有以下特點:
① 網(wǎng)絡(luò)規(guī)模大,分布范圍廣,對網(wǎng)絡(luò)節(jié)能性要求高。地震監(jiān)測的無線傳感器網(wǎng)絡(luò)分布范圍非常廣,而且地形環(huán)境復雜,節(jié)點電池的更換或能量的補給幾乎是不可能的,因此網(wǎng)絡(luò)及網(wǎng)絡(luò)中的節(jié)點應(yīng)盡量減少能量消耗,以延長自身的壽命,能源的高效使用成為路由協(xié)議設(shè)計的首要目標。
② 地震發(fā)生的概率非常低,而且地震的發(fā)生具有隨機性,是不可預(yù)測的,因此傳統(tǒng)的時間周期性傳遞監(jiān)測數(shù)據(jù)的路由協(xié)議不太合適,這里需要的是事件驅(qū)動型傳感器網(wǎng)絡(luò)。地震未發(fā)生時,只需要周期性地傳輸少量的無線傳感器網(wǎng)絡(luò)健康狀況數(shù)據(jù),只有地震發(fā)生時才需要傳輸大量的關(guān)鍵數(shù)據(jù)。同時,地震發(fā)生時,監(jiān)測數(shù)據(jù)的傳輸對及時性、可靠性有一定的要求,大量的監(jiān)測數(shù)據(jù)需要及時、可靠地傳輸?shù)奖O(jiān)控中心。
③ 地震監(jiān)測的無線傳感器網(wǎng)絡(luò)節(jié)點會由于能量耗盡或地震破壞等環(huán)境因素造成失效減少,或者也會補充一些傳感器節(jié)點來彌補失效節(jié)點、增加監(jiān)測精度等,從而使網(wǎng)絡(luò)的拓撲結(jié)構(gòu)隨之也動態(tài)變化。這就要求無線傳感器網(wǎng)絡(luò)有較強的自組織性,能夠適應(yīng)這種網(wǎng)絡(luò)拓撲結(jié)構(gòu)的動態(tài)變化。
為滿足地震監(jiān)測的應(yīng)用需求,本文汲取現(xiàn)有無線傳感器網(wǎng)絡(luò)路由協(xié)議的優(yōu)點,提出了一種適合于地震監(jiān)測的路由協(xié)議EEECRP,稱之為能量高效的事件驅(qū)動型分簇路由協(xié)議。
(1)簇的劃分
由于地震監(jiān)測范圍廣,并且要求有很好的自組織性,因此EEECRP協(xié)議采用分簇路由協(xié)議結(jié)構(gòu)。為了獲得較好的簇,采用集中式分簇的方法劃分簇,簇內(nèi)成員節(jié)點與簇首之間采用“一跳”通信的方式傳輸數(shù)據(jù),簇首到Sink節(jié)點的傳輸則采用“多跳”傳輸方式。另外,為了減少集中式分簇造成的網(wǎng)絡(luò)能量消耗,新設(shè)計協(xié)議間隔相當長的時間(比如半年、一年)才集中式劃分一次簇,其他時間則采用異步更換簇首的方法均衡節(jié)點能量的消耗。關(guān)于異步更換簇首的細節(jié)問題在后邊介紹。
(2)簇首骨干網(wǎng)的構(gòu)造
地震監(jiān)測數(shù)據(jù)最終通過簇首“多跳”轉(zhuǎn)發(fā)給Sink節(jié)點,因此網(wǎng)絡(luò)中的簇首節(jié)點形成主干鏈路網(wǎng)絡(luò)。為了保證地震發(fā)生時監(jiān)測數(shù)據(jù)的可靠和及時傳輸,在簇首節(jié)點主干鏈路形成時,采用基于最小跳數(shù)的路由算法,為每個簇首建立路由線路。具體算法步驟如下:
① 所有簇首節(jié)點設(shè)置其父節(jié)點FATHER_ID=0,并設(shè)置其到達Sink節(jié)點的最小跳數(shù)Min_hop=0;
②由Sink節(jié)點向網(wǎng)絡(luò)內(nèi)以洪泛方式廣播最小跳數(shù)場構(gòu)建消息Hop_Msg。Hop_Msg由構(gòu)建消息標識、發(fā)送節(jié)點ID和發(fā)送節(jié)點的最小跳數(shù)Min_hop加1組成;
③ 收到 Hop_Msg信息的簇首節(jié)點,設(shè)置其FATHER_ID=Sink及到達Sink節(jié)點的最小跳數(shù) Min_hop=1,同時更新 Hop_Msg消息中的的 Min_hop和FATHER_ID,繼續(xù)向鄰居節(jié)點廣播;
④ 網(wǎng)絡(luò)中收到Hop_Msg消息的簇首節(jié)點,檢查該消息中最小跳數(shù)Min_hop是否小于自身的最小跳數(shù)Min_hop,如果是,則更新自身的父節(jié)點FATHER_ID和最小跳數(shù)Min_hop,并將該 Hop_Msg消息的最小跳數(shù) Min_hop和父節(jié)點FATHER_ID更新,繼續(xù)向鄰居節(jié)點廣播,否則將不予處理;
⑤ 重復步驟④,直到網(wǎng)絡(luò)中所有節(jié)點都擁有自己的父節(jié)點FATHER_ID和到Sink節(jié)點的最小跳數(shù) Min_hop。算法流程圖如圖1所示。
構(gòu)建完成后,網(wǎng)絡(luò)中每個節(jié)點都將擁有自己的最小跳數(shù)Min_hop和父節(jié)點FATHER_ID,形成了簇首節(jié)點的最小跳數(shù)場,構(gòu)建起了簇首節(jié)點的骨干網(wǎng)路由。
(3)簇首更換
在分簇路由協(xié)議中,簇首的能量消耗最大。為了均衡簇內(nèi)成員節(jié)點的能量消耗,需要更換簇首。本協(xié)議中簇首的更換采用異步方式進行,簇首在自己的能量低于一定閾值時,向簇內(nèi)節(jié)點廣播CH_change消息,簇內(nèi)每個節(jié)點收到CH_change消息后將自己的位置和當前能量等信息報告給簇首。簇首根據(jù)這些信息從中選擇一個能量和地理位置最優(yōu)的節(jié)點作為新簇首,并把新簇首消息廣播出去。新簇首繼承原簇首的父節(jié)點FATHER_ID和最小跳數(shù)Min_hop等信息,原簇首的下一跳簇首(按照從Sink節(jié)點到離Sink節(jié)點最遠的節(jié)點方向)則需要修改它們的路由表信息,將其父節(jié)點FATHER_ID修改為新當選的簇首,簇首更換情況如圖2所示。
圖1 簇首骨干網(wǎng)構(gòu)造流程
圖2 簇首更換情況
(4)節(jié)點狀態(tài)的轉(zhuǎn)換
在地震未發(fā)生時,盡量使傳感器節(jié)點處于睡眠狀態(tài),這樣可以大大降低網(wǎng)絡(luò)的能量消耗,延長網(wǎng)絡(luò)的生存周期。傳感器節(jié)點工作狀態(tài)轉(zhuǎn)換示意圖如圖3所示,本文設(shè)計的路由協(xié)議中,傳感器節(jié)點多數(shù)情況下是處于睡眠狀態(tài),當節(jié)點探測到有地震發(fā)生或需要周期性傳遞日常數(shù)據(jù)時,節(jié)點便從睡眠狀態(tài)轉(zhuǎn)入發(fā)送狀態(tài);當節(jié)點處于睡眠狀態(tài)時,若收到有效的信號,便從睡眠狀態(tài)進入到接收狀態(tài);當節(jié)點處于發(fā)送或接收狀態(tài)下,如果在一定時間內(nèi)沒有收發(fā)數(shù)據(jù),則傳感器節(jié)點轉(zhuǎn)入睡眠狀態(tài)。
圖3 傳感器節(jié)點工作狀態(tài)轉(zhuǎn)換示意圖
地震未發(fā)生時,普通傳感器節(jié)點間隔一定的時間將自己的能量、位置等少量日常信息發(fā)送給簇首,簇首按照事先構(gòu)建好的路由將這些信息匯聚融合后轉(zhuǎn)發(fā)給Sink節(jié)點。由于日常數(shù)據(jù)信息量小,數(shù)據(jù)傳輸率低,因此傳輸日常數(shù)據(jù)消耗的能量非常少。
當監(jiān)測區(qū)域有地震發(fā)生時,最先感應(yīng)到地震的節(jié)點向鄰居節(jié)點廣播喚醒包,同時本地保存地震信息,喚醒包中攜帶信息包括:本節(jié)點位置、地震關(guān)聯(lián)度degree=0,以及其他一些信息。普通節(jié)點收到喚醒包后馬上監(jiān)測周圍地震的發(fā)生,如果節(jié)點監(jiān)測不到地震,節(jié)點將喚醒包中的地震關(guān)聯(lián)度degree加1,若地震關(guān)聯(lián)度degree大于2,則丟棄該包;否則,轉(zhuǎn)發(fā)喚醒包;若節(jié)點已經(jīng)收到過該喚醒包,則丟棄包;簇首節(jié)點收到喚醒包后,立即廣播ready消息準備接收數(shù)據(jù);普通節(jié)點收到ready消息后,如果其地震關(guān)聯(lián)度degree不大于2,則發(fā)送監(jiān)測數(shù)據(jù)給簇首,簇首節(jié)點將監(jiān)測數(shù)據(jù)沿著事先建立好的最小跳路由傳送給Sink節(jié)點,并在傳輸過程中進行數(shù)據(jù)融合。
為驗證本文新提出協(xié)議EEECRP的性能,在NS2環(huán)境下進行了仿真實驗,主要從網(wǎng)絡(luò)能量消耗和數(shù)據(jù)的傳輸延時兩方面進行評估,并將仿真結(jié)果與最小跳數(shù)(MHC)路由協(xié)議進行了對比分析。
仿真主要參數(shù)設(shè)置如下:在200×200的區(qū)域中,隨機分布100個節(jié)點,每個節(jié)點的坐標位置已知,基站(Sink節(jié)點)位于坐標(x=0,y=0)處;節(jié)點初始能量為2J;仿真總時間為600s,監(jiān)測節(jié)點每隔5s發(fā)送一次日常數(shù)據(jù)包,數(shù)據(jù)包長度為768位,仿真到300s時某處節(jié)點隨機發(fā)生一次模擬地震,產(chǎn)生的數(shù)據(jù)包為4 332 678位。
圖4比較了兩種協(xié)議的網(wǎng)絡(luò)節(jié)點總能量消耗情況。從圖4中可以看出,MHC路由協(xié)議在網(wǎng)絡(luò)運行到412s時,節(jié)點幾乎用完了網(wǎng)絡(luò)所有能量,而EEECRP協(xié)議在運行到601s左右才用完所有能量。在網(wǎng)絡(luò)的整個運行時間內(nèi),EEECRP協(xié)議節(jié)點的網(wǎng)絡(luò)總能耗要明顯少于MHC路由協(xié)議。
圖4 網(wǎng)絡(luò)節(jié)點總能量消耗與時間的關(guān)系
圖5比較了兩種算法在網(wǎng)絡(luò)運行過程中的數(shù)據(jù)傳輸延時。從圖5中可以看出,地震未發(fā)生時,采用EEECRP協(xié)議的數(shù)據(jù)傳輸延時總體上與MHC路由協(xié)議相當,或者略次于MHC路由協(xié)議;但當?shù)卣鸢l(fā)生時,EEECRP協(xié)議的數(shù)據(jù)傳輸延時要好于MHC路由協(xié)議,故EEECRP協(xié)議更適合于地震監(jiān)測的應(yīng)用環(huán)境。
圖5 數(shù)據(jù)傳輸延時
本文對EEECRP協(xié)議的數(shù)據(jù)傳輸延時進行了多次仿真實驗,在相同的模擬時間內(nèi),不同的模擬地震節(jié)點數(shù)或者模擬地震時產(chǎn)生的總數(shù)據(jù)量對平均數(shù)據(jù)傳輸延時均有影響,實驗結(jié)果如表1所列。
從表1中可以看出,在模擬地震節(jié)點數(shù)較少,并且平均產(chǎn)生的總數(shù)據(jù)量較少時,平均數(shù)據(jù)傳輸延時非常短,僅為100多ms。隨著模擬地震節(jié)點數(shù)的增多和模擬地震時產(chǎn)生的總數(shù)據(jù)量增大,平均數(shù)據(jù)傳輸延時會增加,但相對于目前已有的地震監(jiān)測手段,平均數(shù)據(jù)延時仍然是非常短的,能夠滿足地震監(jiān)測的無線傳感器網(wǎng)絡(luò)的通信要求,證實了該協(xié)議在地震監(jiān)測中的有效性。
表1 數(shù)據(jù)延遲測試數(shù)據(jù)表
以無線傳感器網(wǎng)絡(luò)在地震監(jiān)測中的應(yīng)用為研究背景,分析了該應(yīng)用環(huán)境下的網(wǎng)絡(luò)路由需求,提出了一個適用于地震監(jiān)測的無線傳感器網(wǎng)絡(luò)路由協(xié)議EEECRP。該協(xié)議具有自組織性,可擴展性好,適合大規(guī)模地震監(jiān)測的無線傳感器網(wǎng)絡(luò);協(xié)議節(jié)能性好,并且各簇首之間采用基于最小跳數(shù)的路由傳輸,保證了監(jiān)測數(shù)據(jù)的及時、可靠。仿真結(jié)果表明該協(xié)議的能量利用率高,實時性好,能有效延長網(wǎng)絡(luò)的生命周期,較好地滿足了地震監(jiān)測應(yīng)用的需求。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]金星,李山有,李祖寧,等.展望地震監(jiān)測臺網(wǎng)的發(fā)展與應(yīng)用[J].中國地震,2006,22(3):242-248.
[2]唐宏,謝靜,魯玉芳,等.無線傳感器網(wǎng)絡(luò)原理及應(yīng)用[M].北京:人民郵電出版社,2010.
[3]段文芳,齊建東,趙燕東,等.無線傳感器網(wǎng)絡(luò)最小跳數(shù)路由算法的研究[J].計算機工程與應(yīng)用,2010,46(22):88-91.
[4]Heinzelman W R,Chandrakasan A,Balakrishnan H.Energyefficient communication protocol for wireless sensor networks[C]//The Proceedings of the Hawaii International Conference on System Sciences,Maui,Hawaii:2000.
[5]Heinzelman W R,Chandrakasan A P,Balakrishman H.An application-specific protocol architecture for wireless microsensor networks [J].IEEE Transactions on Wireless Communications,2002,1(4):660-670.
[6]Arati Manjeshwar,Dharma P Agrawal.TEEN:a routing protocol for enhanced efficiency in wireless sensor networks [C]//Proceedings 15th International Parallel and Distributed Processing Symposium,San Francisco,California,USA,2001.