地震監(jiān)測無線傳感器網(wǎng)絡路由協(xié)議研究
摘要:針對無線傳感器網(wǎng)絡在地震監(jiān)測應用中的路由需求,汲取現(xiàn)有無線傳感器網(wǎng)絡路由協(xié)議的優(yōu)點,提出了一種適合于地震監(jiān)測的無線傳感器網(wǎng)絡路由協(xié)議,稱為能量高效的事件驅(qū)動型分簇路由協(xié)議EEECRP(Energy Efficient Eventdriven Clustering Routing Protocol)。仿真結果表明此路由協(xié)議實時性好,能有效延長網(wǎng)絡生命周期,較好地滿足了應用的需求。
關鍵詞:無線傳感器網(wǎng)絡;地震監(jiān)測;路由協(xié)議;網(wǎng)絡能耗;數(shù)據(jù)傳輸延遲
引言
地震監(jiān)測是防震減災、地震科學研究的必要技術基礎,目前,國內(nèi)外的地震監(jiān)測系統(tǒng)仍處于初級階段,不能滿足地震預警的要求,存在漏報、誤報、遲報現(xiàn)象,例如監(jiān)測臺網(wǎng)密度低、監(jiān)測數(shù)據(jù)精度低、信息不豐富、數(shù)據(jù)傳輸速度慢、成本高等。
融多種信息技術為一體的無線傳感器網(wǎng)絡WSN(Wireless Sensor Network)是一種新興的信息技術,在信息領域有著良好的應用前景。相對于傳統(tǒng)的有線和其他無線網(wǎng)絡,無線傳感器網(wǎng)絡具有布設范圍廣、自組織,低能耗、協(xié)同感知、獨立電源供電、無人值守等特點,能夠很好地滿足地震監(jiān)測的要求。
地震監(jiān)測過程中,網(wǎng)絡數(shù)據(jù)的傳輸離不開路由協(xié)議,路由協(xié)議的研究是無線傳感器網(wǎng)絡通信層的一個核心技術,本文結合地震監(jiān)測的具體應用需求,設計出一種適合地震監(jiān)測的無線傳感器網(wǎng)絡路由協(xié)議。
1 無線傳感器網(wǎng)絡路由協(xié)議及其應用相關性
1.1 典型無線傳感器網(wǎng)絡路由協(xié)議及其不足
最小跳數(shù)(Minimum Hop Count,MHC)路由協(xié)議是一種平面路由協(xié)議,其核心部分是采用經(jīng)典的擴散算法,在網(wǎng)絡中建立一個最小跳數(shù)場,在最小跳數(shù)場內(nèi),每個節(jié)點擁有到基站(Sink節(jié)點)的最小跳數(shù)。當節(jié)點需要發(fā)送消息時,它按序選擇自己的父節(jié)點作為下一跳。該協(xié)議因能夠提高消息傳輸?shù)目煽啃浴p少傳輸時延而倍受關注。但在該協(xié)議中,傳輸數(shù)據(jù)時有很大的重復性,同時它未考慮節(jié)點在監(jiān)聽狀態(tài)下的耗能情況,造成網(wǎng)絡性能和壽命下降。
LEACH(Low Energy Adaptive Clustering Hierarchy)是Heinzelman等人提出的第一個分簇路由協(xié)議,在每個數(shù)據(jù)收集周期開始,一小部分節(jié)點隨機成為簇首,在數(shù)據(jù)傳輸階段,簇首以單跳通信的方式將融合后的數(shù)據(jù)傳輸給基站。它通過角色輪換達到能量的均勻分布。但是,LEACH假設所有的節(jié)點都能直接與簇首以及基站通信,在需要監(jiān)測范圍大的應用中不適用;而且它僅僅以節(jié)點的剩余能量多少選擇簇首,形成的簇并不是最優(yōu)的。后來,Heinzelman等人在LEACH的基礎上,提出了LEACH-C。LEACH-C(Low Energy Adaptive Clustering Hierarchy Cent ralized)是集中式的分簇算法,健壯性好且產(chǎn)生的簇較佳,但該協(xié)議由于每個節(jié)點都需要向基站周期性地報告它們的能量和位置等信息,從而導致增加網(wǎng)絡流量、時間延遲等。
TEEN(Threshold-Sensitive Energy Efficient Sensor Network Protocol)是第一個響應型的無線傳感器網(wǎng)絡路由協(xié)議,其網(wǎng)絡結構與LEACH類似,只是它的簇成員不像LEACH算法那樣總是發(fā)送數(shù)據(jù)給簇首。TEEN協(xié)議設置了硬、軟兩個閥值,只有當監(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é)點是否死亡。
1.2 地震監(jiān)測環(huán)境下的網(wǎng)絡路由需求
地震監(jiān)測中的路由協(xié)議具有以下特點:
①網(wǎng)絡規(guī)模大,分布范圍廣,對網(wǎng)絡節(jié)能性要求高。地震監(jiān)測的無線傳感器網(wǎng)絡分布范圍非常廣,而且地形環(huán)境復雜,節(jié)點電池的更換或能量的補給幾乎是不可能的,因此網(wǎng)絡及網(wǎng)絡中的節(jié)點應盡量減少能量消耗,以延長自身的壽命,能源的高效使用成為路由協(xié)議設計的首要目標。
②地震發(fā)生的概率非常低,而且地震的發(fā)生具有隨機性,是不可預測的,因此傳統(tǒng)的時間周期性傳遞監(jiān)測數(shù)據(jù)的路由協(xié)議不太合適,這里需要的是事件驅(qū)動型傳感器網(wǎng)絡。地震未發(fā)生時,只需要周期性地傳輸少量的無線傳感器網(wǎng)絡健康狀況數(shù)據(jù),只有地震發(fā)生時才需要傳輸大量的關鍵數(shù)據(jù)。同時地震發(fā)生時,監(jiān)測數(shù)據(jù)的傳輸對及時性、可靠性有一定的要求,大量的監(jiān)測數(shù)據(jù)需要及時、可靠地傳輸?shù)奖O(jiān)控中心。
③地震監(jiān)測的無線傳感器網(wǎng)絡節(jié)點會由于能量耗盡或地震破壞等環(huán)境因素造成失效減少,或者也會補充一些傳感器節(jié)點來彌補失效節(jié)點、增加監(jiān)測精度等,從而使網(wǎng)絡的拓撲結構隨之也動態(tài)變化。這就要求無線傳感器網(wǎng)絡有較強的自組織性,能夠適應這種網(wǎng)絡拓撲結構的動態(tài)變化。
2 地震監(jiān)測環(huán)境下的路由協(xié)議設計
為滿足地震監(jiān)測的應用需求,本文汲取現(xiàn)有無線傳感器網(wǎng)絡路由協(xié)議的優(yōu)點,提出了一種適合于地震監(jiān)測的路由協(xié)議EEECRP,稱之為能量高效的事件驅(qū)動型分簇路由協(xié)議。
2.1 協(xié)議描述
(1)簇的劃分
由于地震監(jiān)測范圍廣,并且要求有很好的自組織性,因此EEECRP協(xié)議采用分簇路由協(xié)議結構。為了獲得較好的簇,采用集中式分簇的方法劃分簇,簇內(nèi)成員節(jié)點與簇首之間采用“一跳”通信的方式傳輸數(shù)據(jù),簇首到Sink節(jié)點的傳輸則采用“多跳”傳輸方式。另外,為了減少集中式分簇造成的網(wǎng)絡能量消耗,新設計協(xié)議間隔相當長的時間(比如半年、一年)才集中式劃分一次簇,其他時間則采用異步更換簇首的方法均衡節(jié)點能量的消耗。關于異步更換簇首的細節(jié)問題在后邊介紹。
(2)簇首骨干網(wǎng)的構造
地震監(jiān)測數(shù)據(jù)最終通過簇首“多跳”轉發(fā)給Sink節(jié)點,因此網(wǎng)絡中的簇首節(jié)點形成主干鏈路網(wǎng)絡。為了保證地震發(fā)生時監(jiān)測數(shù)據(jù)的可靠和及時傳輸,在簇首節(jié)點主干鏈路形成時,采用基于最小跳數(shù)的路由算法,為每個簇首建立路由線路。具體算法步驟如下:
①所有簇首節(jié)點設置其父節(jié)點FATHER_ID=0,并設置其到達Sink節(jié)點的最小跳數(shù)Min_hop=0;
②由Sink節(jié)點向網(wǎng)絡內(nèi)以洪泛方式廣播最小跳數(shù)場構建消息Hop_Msg。Hop_Msg由構建消息標識、發(fā)送節(jié)點ID和發(fā)送節(jié)點的最小跳數(shù)Min_hop加1組成;
③收到Hop_Msg信息的簇首節(jié)點,設置其FA-THER_ID=Sink及到達Sink節(jié)點的最小跳數(shù)Min_hop=1,同時更新Hop_Msg消息中的的Min_hop和FA-THER_ID,繼續(xù)向鄰居節(jié)點廣播;
④網(wǎng)絡中收到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)絡中所有節(jié)點都擁有自己的父節(jié)點FATHER_ID和到Sink節(jié)點的最小跳數(shù)Min_hop。算法流程圖如圖1所示。
構建完成后,網(wǎng)絡中每個節(jié)點都將擁有自己的最小跳數(shù)Min_hop和父節(jié)點FATHER_ID,形成了簇首節(jié)點的最小跳數(shù)場,構建起了簇首節(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所示。
(4)節(jié)點狀態(tài)的轉換
在地震未發(fā)生時,盡量使傳感器節(jié)點處于睡眠狀態(tài),這樣可以大大降低網(wǎng)絡的能量消耗,延長網(wǎng)絡的生存周期。傳感器節(jié)點工作狀態(tài)轉換示意圖如圖3所示,本文設計的路由協(xié)議中,傳感器節(jié)點多數(shù)情況下是處于睡眠狀態(tài),當節(jié)點探測到有地震發(fā)生或需要周期性傳遞日常數(shù)據(jù)時,節(jié)點便從睡眠狀態(tài)轉入發(fā)送狀態(tài);當節(jié)點處于睡眠狀態(tài)時,若收到有效的信號,便從睡眠狀態(tài)進入到接收狀態(tài);當節(jié)點處于發(fā)送或接收狀態(tài)下,如果在一定時間內(nèi)沒有收發(fā)數(shù)據(jù),則傳感器節(jié)點轉入睡眠狀態(tài)。
2.2 數(shù)據(jù)的傳輸過程
地震未發(fā)生時,普通傳感器節(jié)點間隔一定的時間將自己的能量、位置等少量日常信息發(fā)送給簇首,簇首按照事先構建好的路由將這些信息匯聚融合后轉發(fā)給Sink節(jié)點。由于日常數(shù)據(jù)信息量小,數(shù)據(jù)傳輸率低,因此傳輸日常數(shù)據(jù)消耗的能量非常少。
當監(jiān)測區(qū)域有地震發(fā)生時,最先感應到地震的節(jié)點向鄰居節(jié)點廣播喚醒包,同時本地保存地震信息,喚醒包中攜帶信息包括:本節(jié)點位置、地震關聯(lián)度degree=0,以及其他一些信息。普通節(jié)點收到喚醒包后馬上監(jiān)測周圍地震的發(fā)生,如果節(jié)點監(jiān)測不到地震,節(jié)點將喚醒包中的地震關聯(lián)度degree加1,若地震關聯(lián)度degree大于2,則丟棄該包;否則,轉發(fā)喚醒包;若節(jié)點已經(jīng)收到過該喚醒包,則丟棄包;簇首節(jié)點收到喚醒包后,立即廣播ready消息準備接收數(shù)據(jù);普通節(jié)點收到ready消息后,如果其地震關聯(lián)度degree不大于2,則發(fā)送監(jiān)測數(shù)據(jù)給簇首,簇首節(jié)點將監(jiān)測數(shù)據(jù)沿著事先建立好的最小跳路由傳送給Sink節(jié)點,并在傳輸過程中進行數(shù)據(jù)融合。
3 仿真分析
為驗證本文新提出協(xié)議EEECRP的性能,在NS2環(huán)境下進行了仿真實驗,主要從網(wǎng)絡能量消耗和數(shù)據(jù)的傳輸延時兩方面進行評估,并將仿真結果與最小跳數(shù)(MHC)路由協(xié)議進行了對比分析。
仿真主要參數(shù)設置如下:在200×200的區(qū)域中,隨機分布100個節(jié)點,每個節(jié)點的坐標位置已知,基站(Sink節(jié)點)位于坐標(x=0,y=0)處;節(jié)點初始能量為2 j;仿真總時間為600 s,監(jiān)測節(jié)點每隔5 s發(fā)送一次口常數(shù)據(jù)包,數(shù)據(jù)包長度為768位,仿真到300 s時某處節(jié)點隨機發(fā)生一次模擬地震,產(chǎn)生的數(shù)據(jù)包為4 332 678位。
圖4比較了兩種協(xié)議的網(wǎng)絡節(jié)點總能量消耗情況。從圖4中可以看出,MHC路由協(xié)議在網(wǎng)絡運行到412 s時,節(jié)點兒乎用完了網(wǎng)絡所有能量,而EEECRP協(xié)議在運行到601 s左右才用完所有能量。在網(wǎng)絡的整個運行時間內(nèi),EEECRP協(xié)議節(jié)點的網(wǎng)絡總能耗要明顯少于MHC路由協(xié)議。
圖5比較了兩種算法在網(wǎng)絡運行過程中的數(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)測的應用環(huán)境。
本文對EEECRP協(xié)議的數(shù)據(jù)傳輸延時進行了多次仿真實驗,在相同的模擬時間內(nèi),不同的模擬地震節(jié)點數(shù)或者模擬地震時產(chǎn)生的總數(shù)據(jù)量對平均數(shù)據(jù)傳輸延時均有影響,實驗結果如表1所列。
從表1中可以看出,在模擬地震節(jié)點數(shù)較少,并且平均產(chǎn)生的總數(shù)據(jù)量較少時,平均數(shù)據(jù)傳輸延時非常短,僅為1 00多ms。隨著模擬地震節(jié)點數(shù)的增多和模擬地震時產(chǎn)生的總數(shù)據(jù)量增大,平均數(shù)據(jù)傳輸延時會增加,但相對于目前已有的地震監(jiān)測手段,平均數(shù)據(jù)延時仍然是非常短的,能夠滿足地震監(jiān)測的無線傳感器網(wǎng)絡的通信要求,證實了該協(xié)議在地震監(jiān)測中的有效件。
結語
以無線傳感器網(wǎng)絡在地震監(jiān)測中的應用為研究背景,分析了該應用環(huán)境下的網(wǎng)絡路由需求,提出了一個適用于地震監(jiān)測的無線傳感器網(wǎng)絡路由協(xié)議EEECRP。該協(xié)議具有自組織性,可擴展性好,適合大規(guī)模地震監(jiān)測的無線傳感器網(wǎng)絡;協(xié)議節(jié)能性好,并且各簇首之間采用基于最小跳數(shù)的路由傳輸,保證了監(jiān)測數(shù)據(jù)的及時、可靠。仿真結果表明該協(xié)議的能量利用率高,實時性好,能有效延長網(wǎng)絡的生命周期,較好地滿足了地震監(jiān)測應用的需求。