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