劉國梅,王艷,金秋春
(鄭州航空工業管理學院 計算機科學與應用系,鄭州 450015)
地震監測是防震減災、地震科學研究的必要技術基礎,目前,國內外的地震監測系統仍處于初級階段,不能滿足地震預警的要求,存在漏報、誤報、遲報現象,例如監測臺網密度低、監測數據精度低、信息不豐富、數據傳輸速度慢、成本高等[1]。
融多種信息技術為一體的無線傳感器網絡WSN(Wireless Sensor Network)是一種新興的信息技術,在信息領域有著良好的應用前景。相對于傳統的有線和其他無線網絡,無線傳感器網絡具有布設范圍廣、自組織,低能耗、協同感知、獨立電源供電、無人值守等特點[2],能夠很好地滿足地震監測的要求。
地震監測過程中,網絡數據的傳輸離不開路由協議,路由協議的研究是無線傳感器網絡通信層的一個核心技術,本文結合地震監測的具體應用需求,設計出一種適合地震監測的無線傳感器網絡路由協議。
最小跳數(Minimum Hop Count,MHC)路由協議[3]是一種平面路由協議,其核心部分是采用經典的擴散算法,在網絡中建立一個最小跳數場,在最小跳數場內,每個節點擁有到基站(Sink節點)的最小跳數。當節點需要發送消息時,它按序選擇自己的父節點作為下一跳。該協議因能夠提高消息傳輸的可靠性、減少傳輸時延而倍受關注。但在該協議中,傳輸數據時有很大的重復性,同時它未考慮節點在監聽狀態下的耗能情況,造成網絡性能和壽命下降。
LEACH(Low Energy Adaptive Clustering Hierarchy)[4]是Heinzelman等人提出的第一個分簇路由協議,在每個數據收集周期開始,一小部分節點隨機成為簇首,在數據傳輸階段,簇首以單跳通信的方式將融合后的數據傳輸給基站。它通過角色輪換達到能量的均勻分布。但是,LEACH假設所有的節點都能直接與簇首以及基站通信,在需要監測范圍大的應用中不適用;而且它僅僅以節點的剩余能量多少選擇簇首,形成的簇并不是最優的。后來,Heinzelman等人在LEACH的基礎上,提出了LEACH-C[5]。LEACH-C(Low Energy Adaptive Clustering Hierarchy-Centralized)是集中式的分簇算法,健壯性好且產生的簇較佳,但該協議由于每個節點都需要向基站周期性地報告它們的能量和位置等信息,從而導致增加網絡流量、時間延遲等。
TEEN(Threshold-Sensitive Energy Efficient Sensor Network Protocol)[6]是第一個響應型的無線傳感器網絡路由協議,其網絡結構與LEACH類似,只是它的簇成員不像LEACH算法那樣總是發送數據給簇首。TEEN協議設置了硬、軟兩個閥值,只有當監測到的數據超過硬閾值并且監測數據的變化幅度大于軟閾值時,節點才會傳送監測數據。這樣可以大大減少節點發射數據的次數,數據傳送消耗的能量較少。但TEEN協議存在一個缺陷,如果閥值不能達到,節點就不會傳輸任何數據,導致用戶在某段時間不知道節點是否死亡。
地震監測中的路由協議具有以下特點:
① 網絡規模大,分布范圍廣,對網絡節能性要求高。地震監測的無線傳感器網絡分布范圍非常廣,而且地形環境復雜,節點電池的更換或能量的補給幾乎是不可能的,因此網絡及網絡中的節點應盡量減少能量消耗,以延長自身的壽命,能源的高效使用成為路由協議設計的首要目標。
② 地震發生的概率非常低,而且地震的發生具有隨機性,是不可預測的,因此傳統的時間周期性傳遞監測數據的路由協議不太合適,這里需要的是事件驅動型傳感器網絡。地震未發生時,只需要周期性地傳輸少量的無線傳感器網絡健康狀況數據,只有地震發生時才需要傳輸大量的關鍵數據。同時,地震發生時,監測數據的傳輸對及時性、可靠性有一定的要求,大量的監測數據需要及時、可靠地傳輸到監控中心。
③ 地震監測的無線傳感器網絡節點會由于能量耗盡或地震破壞等環境因素造成失效減少,或者也會補充一些傳感器節點來彌補失效節點、增加監測精度等,從而使網絡的拓撲結構隨之也動態變化。這就要求無線傳感器網絡有較強的自組織性,能夠適應這種網絡拓撲結構的動態變化。
為滿足地震監測的應用需求,本文汲取現有無線傳感器網絡路由協議的優點,提出了一種適合于地震監測的路由協議EEECRP,稱之為能量高效的事件驅動型分簇路由協議。
(1)簇的劃分
由于地震監測范圍廣,并且要求有很好的自組織性,因此EEECRP協議采用分簇路由協議結構。為了獲得較好的簇,采用集中式分簇的方法劃分簇,簇內成員節點與簇首之間采用“一跳”通信的方式傳輸數據,簇首到Sink節點的傳輸則采用“多跳”傳輸方式。另外,為了減少集中式分簇造成的網絡能量消耗,新設計協議間隔相當長的時間(比如半年、一年)才集中式劃分一次簇,其他時間則采用異步更換簇首的方法均衡節點能量的消耗。關于異步更換簇首的細節問題在后邊介紹。
(2)簇首骨干網的構造
地震監測數據最終通過簇首“多跳”轉發給Sink節點,因此網絡中的簇首節點形成主干鏈路網絡。為了保證地震發生時監測數據的可靠和及時傳輸,在簇首節點主干鏈路形成時,采用基于最小跳數的路由算法,為每個簇首建立路由線路。具體算法步驟如下:
① 所有簇首節點設置其父節點FATHER_ID=0,并設置其到達Sink節點的最小跳數Min_hop=0;
②由Sink節點向網絡內以洪泛方式廣播最小跳數場構建消息Hop_Msg。Hop_Msg由構建消息標識、發送節點ID和發送節點的最小跳數Min_hop加1組成;
③ 收到 Hop_Msg信息的簇首節點,設置其FATHER_ID=Sink及到達Sink節點的最小跳數 Min_hop=1,同時更新 Hop_Msg消息中的的 Min_hop和FATHER_ID,繼續向鄰居節點廣播;
④ 網絡中收到Hop_Msg消息的簇首節點,檢查該消息中最小跳數Min_hop是否小于自身的最小跳數Min_hop,如果是,則更新自身的父節點FATHER_ID和最小跳數Min_hop,并將該 Hop_Msg消息的最小跳數 Min_hop和父節點FATHER_ID更新,繼續向鄰居節點廣播,否則將不予處理;
⑤ 重復步驟④,直到網絡中所有節點都擁有自己的父節點FATHER_ID和到Sink節點的最小跳數 Min_hop。算法流程圖如圖1所示。
構建完成后,網絡中每個節點都將擁有自己的最小跳數Min_hop和父節點FATHER_ID,形成了簇首節點的最小跳數場,構建起了簇首節點的骨干網路由。
(3)簇首更換
在分簇路由協議中,簇首的能量消耗最大。為了均衡簇內成員節點的能量消耗,需要更換簇首。本協議中簇首的更換采用異步方式進行,簇首在自己的能量低于一定閾值時,向簇內節點廣播CH_change消息,簇內每個節點收到CH_change消息后將自己的位置和當前能量等信息報告給簇首。簇首根據這些信息從中選擇一個能量和地理位置最優的節點作為新簇首,并把新簇首消息廣播出去。新簇首繼承原簇首的父節點FATHER_ID和最小跳數Min_hop等信息,原簇首的下一跳簇首(按照從Sink節點到離Sink節點最遠的節點方向)則需要修改它們的路由表信息,將其父節點FATHER_ID修改為新當選的簇首,簇首更換情況如圖2所示。

圖1 簇首骨干網構造流程

圖2 簇首更換情況
(4)節點狀態的轉換
在地震未發生時,盡量使傳感器節點處于睡眠狀態,這樣可以大大降低網絡的能量消耗,延長網絡的生存周期。傳感器節點工作狀態轉換示意圖如圖3所示,本文設計的路由協議中,傳感器節點多數情況下是處于睡眠狀態,當節點探測到有地震發生或需要周期性傳遞日常數據時,節點便從睡眠狀態轉入發送狀態;當節點處于睡眠狀態時,若收到有效的信號,便從睡眠狀態進入到接收狀態;當節點處于發送或接收狀態下,如果在一定時間內沒有收發數據,則傳感器節點轉入睡眠狀態。

圖3 傳感器節點工作狀態轉換示意圖
地震未發生時,普通傳感器節點間隔一定的時間將自己的能量、位置等少量日常信息發送給簇首,簇首按照事先構建好的路由將這些信息匯聚融合后轉發給Sink節點。由于日常數據信息量小,數據傳輸率低,因此傳輸日常數據消耗的能量非常少。
當監測區域有地震發生時,最先感應到地震的節點向鄰居節點廣播喚醒包,同時本地保存地震信息,喚醒包中攜帶信息包括:本節點位置、地震關聯度degree=0,以及其他一些信息。普通節點收到喚醒包后馬上監測周圍地震的發生,如果節點監測不到地震,節點將喚醒包中的地震關聯度degree加1,若地震關聯度degree大于2,則丟棄該包;否則,轉發喚醒包;若節點已經收到過該喚醒包,則丟棄包;簇首節點收到喚醒包后,立即廣播ready消息準備接收數據;普通節點收到ready消息后,如果其地震關聯度degree不大于2,則發送監測數據給簇首,簇首節點將監測數據沿著事先建立好的最小跳路由傳送給Sink節點,并在傳輸過程中進行數據融合。
為驗證本文新提出協議EEECRP的性能,在NS2環境下進行了仿真實驗,主要從網絡能量消耗和數據的傳輸延時兩方面進行評估,并將仿真結果與最小跳數(MHC)路由協議進行了對比分析。
仿真主要參數設置如下:在200×200的區域中,隨機分布100個節點,每個節點的坐標位置已知,基站(Sink節點)位于坐標(x=0,y=0)處;節點初始能量為2J;仿真總時間為600s,監測節點每隔5s發送一次日常數據包,數據包長度為768位,仿真到300s時某處節點隨機發生一次模擬地震,產生的數據包為4 332 678位。
圖4比較了兩種協議的網絡節點總能量消耗情況。從圖4中可以看出,MHC路由協議在網絡運行到412s時,節點幾乎用完了網絡所有能量,而EEECRP協議在運行到601s左右才用完所有能量。在網絡的整個運行時間內,EEECRP協議節點的網絡總能耗要明顯少于MHC路由協議。

圖4 網絡節點總能量消耗與時間的關系
圖5比較了兩種算法在網絡運行過程中的數據傳輸延時。從圖5中可以看出,地震未發生時,采用EEECRP協議的數據傳輸延時總體上與MHC路由協議相當,或者略次于MHC路由協議;但當地震發生時,EEECRP協議的數據傳輸延時要好于MHC路由協議,故EEECRP協議更適合于地震監測的應用環境。

圖5 數據傳輸延時
本文對EEECRP協議的數據傳輸延時進行了多次仿真實驗,在相同的模擬時間內,不同的模擬地震節點數或者模擬地震時產生的總數據量對平均數據傳輸延時均有影響,實驗結果如表1所列。
從表1中可以看出,在模擬地震節點數較少,并且平均產生的總數據量較少時,平均數據傳輸延時非常短,僅為100多ms。隨著模擬地震節點數的增多和模擬地震時產生的總數據量增大,平均數據傳輸延時會增加,但相對于目前已有的地震監測手段,平均數據延時仍然是非常短的,能夠滿足地震監測的無線傳感器網絡的通信要求,證實了該協議在地震監測中的有效性。

表1 數據延遲測試數據表
以無線傳感器網絡在地震監測中的應用為研究背景,分析了該應用環境下的網絡路由需求,提出了一個適用于地震監測的無線傳感器網絡路由協議EEECRP。該協議具有自組織性,可擴展性好,適合大規模地震監測的無線傳感器網絡;協議節能性好,并且各簇首之間采用基于最小跳數的路由傳輸,保證了監測數據的及時、可靠。仿真結果表明該協議的能量利用率高,實時性好,能有效延長網絡的生命周期,較好地滿足了地震監測應用的需求。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
[1]金星,李山有,李祖寧,等.展望地震監測臺網的發展與應用[J].中國地震,2006,22(3):242-248.
[2]唐宏,謝靜,魯玉芳,等.無線傳感器網絡原理及應用[M].北京:人民郵電出版社,2010.
[3]段文芳,齊建東,趙燕東,等.無線傳感器網絡最小跳數路由算法的研究[J].計算機工程與應用,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.