蘇峰
摘要:傳統(tǒng)的無(wú)線傳感器網(wǎng)絡(luò)(WSN)節(jié)點(diǎn)受到供電資源的束縛,能耗問(wèn)題是網(wǎng)絡(luò)中考慮的關(guān)鍵問(wèn)題,而面向電能監(jiān)測(cè)的無(wú)線傳感器網(wǎng)絡(luò)側(cè)重于網(wǎng)絡(luò)的穩(wěn)定性和健壯性。無(wú)線傳感器網(wǎng)絡(luò)路由機(jī)制的好壞決定了傳輸路徑的優(yōu)劣,直接影響到整個(gè)網(wǎng)絡(luò)的能量消耗和通信效率。文章分析了2種典型的分簇路由協(xié)議,詳細(xì)闡述了PEGASIS協(xié)議的原理,分析了PEGASIS算法的優(yōu)缺點(diǎn),指出該算法存在的主要問(wèn)題:延時(shí)問(wèn)題和單鏈對(duì)網(wǎng)絡(luò)的影響。針對(duì)該問(wèn)題提出了PEGASIS的改進(jìn)算法PEGASIS-I,介紹了該算法的原理和實(shí)現(xiàn)過(guò)程,并對(duì)改進(jìn)算法進(jìn)行仿真實(shí)驗(yàn),得出的結(jié)論在時(shí)延和單鏈問(wèn)題上得到了很大的改善。
關(guān)鍵詞:WSN;電能監(jiān)測(cè);路由協(xié)議;PEGASIS-I
傳統(tǒng)的移動(dòng)Ad hoc網(wǎng)是以節(jié)點(diǎn)為中心的網(wǎng)絡(luò),而WSN是以數(shù)據(jù)為中心的網(wǎng)絡(luò)。WSN并不需要維護(hù)網(wǎng)絡(luò)中任何2個(gè)節(jié)點(diǎn)之間的路由,它僅僅需要維護(hù)傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)(Sink)之間的路由。傳感器節(jié)點(diǎn)的資源受到電源和計(jì)算能力的限制,節(jié)點(diǎn)數(shù)量較多,采集信息的冗余度較大使得移動(dòng)自組網(wǎng)(MANET)的許多路由協(xié)議標(biāo)準(zhǔn)無(wú)法直接應(yīng)用到WSN中。在無(wú)線傳感器自組織網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)以多跳的方式傳輸?shù)絊ink點(diǎn),此過(guò)程需要對(duì)網(wǎng)絡(luò)的路由機(jī)制進(jìn)行選擇,而路由機(jī)制的好壞決定了傳輸路徑的優(yōu)劣,直接影響到整個(gè)網(wǎng)絡(luò)的能量消耗和通信效率。
路由協(xié)議的設(shè)計(jì)要綜合考慮多種性能指標(biāo)。無(wú)論是平面路由還是分簇路由,多數(shù)路由協(xié)議通常只考慮能量約束。傳統(tǒng)的無(wú)線傳感器網(wǎng)絡(luò)采用電池供電,節(jié)能是無(wú)線傳感器網(wǎng)絡(luò)的一個(gè)關(guān)鍵問(wèn)題,本系統(tǒng)采用電源供電雖然不存在能量有限的問(wèn)題,但隨著應(yīng)用范圍的擴(kuò)大節(jié)點(diǎn)的數(shù)量劇增也應(yīng)考慮盡可能地降低能耗。不同的傳感數(shù)據(jù)的緊急性不同,例如發(fā)生火災(zāi)時(shí)溫度數(shù)據(jù)更加緊急,對(duì)傳送的服務(wù)質(zhì)量要求則更高。當(dāng)網(wǎng)絡(luò)規(guī)模較大和節(jié)點(diǎn)數(shù)量眾多時(shí),節(jié)點(diǎn)的加入和退出使得WSN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)頻繁變化,因此魯棒性和可擴(kuò)展性也是評(píng)價(jià)路由協(xié)議好壞的重要指標(biāo)。
1.WSN中幾種典型的分簇路由協(xié)議
對(duì)于已有的路由協(xié)議的研究成果,按照網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)可以將WSN路由協(xié)議分為平面路由協(xié)議和分簇路由協(xié)議。典型的平面路由算法有DD,SAR,SPIN,Romor等。平面路由的優(yōu)點(diǎn)是簡(jiǎn)單,易擴(kuò)展,無(wú)需進(jìn)行結(jié)構(gòu)維護(hù),具有良好的健壯性,而缺點(diǎn)則是網(wǎng)絡(luò)中無(wú)管理節(jié)點(diǎn),信息傳輸量大導(dǎo)致占用通信資源較大,以至于網(wǎng)絡(luò)動(dòng)態(tài)反應(yīng)不靈敏。分簇路由協(xié)議就是將傳感節(jié)點(diǎn)分簇,簇內(nèi)通信由簇頭節(jié)點(diǎn)進(jìn)行數(shù)據(jù)融合來(lái)減少傳輸信息量,最后將簇內(nèi)所有節(jié)點(diǎn)的數(shù)據(jù)傳送給匯聚節(jié)點(diǎn)。分簇路由協(xié)議將節(jié)點(diǎn)分簇使得拓?fù)涔芾矸奖?,簇?nèi)節(jié)點(diǎn)只發(fā)送數(shù)據(jù)給簇頭使得能量利用高效、數(shù)據(jù)融合節(jié)約了通信資源,這些優(yōu)點(diǎn)使得分簇路由成為當(dāng)前研究的重點(diǎn)。
1.1LEACH協(xié)議
LEACH協(xié)議(Low Energy Adaptive Clustering Hierarchy)的實(shí)現(xiàn)分為成簇階段和數(shù)據(jù)傳輸階段。每輪中,相鄰的節(jié)點(diǎn)動(dòng)態(tài)地形成簇,隨機(jī)的選擇簇頭節(jié)點(diǎn);然后簇內(nèi)節(jié)點(diǎn)把數(shù)據(jù)發(fā)給簇頭,經(jīng)數(shù)據(jù)融合后發(fā)送給基站節(jié)點(diǎn)。簇內(nèi)節(jié)點(diǎn)按照時(shí)多分址TDMA向簇頭發(fā)送數(shù)據(jù);各簇間簇頭采用碼多分址CDMA競(jìng)用通道,競(jìng)用通道成功的簇頭將融合后的數(shù)據(jù)發(fā)送給基站節(jié)點(diǎn)。隨機(jī)選舉的簇頭使得節(jié)點(diǎn)能耗均衡,采用一跳通信傳輸時(shí)延較小,數(shù)據(jù)聚合減少了通信量。缺點(diǎn)在于離Sink較遠(yuǎn)的節(jié)點(diǎn)采用大功率通信耗費(fèi)能量。
1.2PEGASIS協(xié)議
與其他樹形結(jié)構(gòu)路由協(xié)議不同,PEGASIs(Power Efficient Gathering in Sensor Information System)采用鏈狀結(jié)構(gòu)連接,解決了LEACH協(xié)議中產(chǎn)生重疊區(qū)域的問(wèn)題。在一輪中,采用貪心算法,每個(gè)傳感器節(jié)點(diǎn)只需和距離自己最近的鄰居節(jié)點(diǎn)進(jìn)行通信,鏈中節(jié)點(diǎn)在每輪通信中輪流作鏈?zhǔn)坠?jié)點(diǎn)(chain head),鏈?zhǔn)装l(fā)送數(shù)據(jù)傳輸指令給鏈尾,鏈尾再通過(guò)鄰居節(jié)點(diǎn)傳輸數(shù)據(jù)給鏈?zhǔn)?,鏈?zhǔn)讓⒔邮盏男畔⑦M(jìn)行數(shù)據(jù)融合,當(dāng)所有節(jié)點(diǎn)與鏈?zhǔn)淄ㄐ藕箧準(zhǔn)讓?shù)據(jù)傳送給sink,再進(jìn)行新一輪的通信。采用鏈結(jié)構(gòu)的好處是不需要維護(hù)簇的結(jié)構(gòu)和記錄簇成員數(shù)量,只需要知道上下級(jí)就可以了,而且在功耗方面PEGASIS比LEACH省近3倍左右。PEGASIS算法僅選擇一個(gè)節(jié)點(diǎn)與Sink通信,利用數(shù)據(jù)融合,延長(zhǎng)了網(wǎng)絡(luò)的生命期。但鏈中遠(yuǎn)距離的節(jié)點(diǎn)數(shù)據(jù)傳輸?shù)交竟?jié)點(diǎn)的時(shí)間延遲會(huì)很大,而且單一的鏈?zhǔn)卓赡軙?huì)成為整個(gè)網(wǎng)絡(luò)的瓶頸。
2.PEGASIS算法的具體描述
2.1PEGASIS網(wǎng)絡(luò)模型
(1)基站節(jié)點(diǎn)位置不變并應(yīng)具有足夠的能量。(2)網(wǎng)絡(luò)中所有的節(jié)點(diǎn)都是靜止的。(3)網(wǎng)絡(luò)中所有節(jié)點(diǎn)能夠彼此通信,且都有足夠的能量能與基站直接通信,同時(shí)需要知道其他節(jié)點(diǎn)的位置。(4)網(wǎng)絡(luò)中所有節(jié)點(diǎn)都具有相同的性質(zhì)和功能,都可以進(jìn)行壓縮、去冗余等數(shù)據(jù)融合并且能量有限。
2.2成鏈階段
在成鏈過(guò)程中,采用貪心算法的原理。貪心算法是從初始解向目標(biāo)逼近的過(guò)程,每一次逼近都盡可能求出最優(yōu)的解,總是作出當(dāng)前最好的選擇。首先選擇距離基站節(jié)點(diǎn)最遠(yuǎn)的節(jié)點(diǎn)作為鏈尾,然后鏈尾比較網(wǎng)絡(luò)中離自己最近的節(jié)點(diǎn)加入到鏈中,節(jié)點(diǎn)依次加入直到加入鏈?zhǔn)?,鏈?zhǔn)准礊椤笆最I(lǐng)節(jié)點(diǎn)”通過(guò)輪流擔(dān)當(dāng)?shù)姆绞?,最終鏈?zhǔn)讓⑷诤虾蟮臄?shù)據(jù)發(fā)送給基站,至此完成一輪的成鏈過(guò)程(見(jiàn)圖1)。
2.3數(shù)據(jù)傳輸階段
一輪中,通過(guò)貪婪算法成鏈選舉出“首領(lǐng)節(jié)點(diǎn)”后,首領(lǐng)節(jié)點(diǎn)與基站進(jìn)行通信的過(guò)程就是數(shù)據(jù)傳輸階段。數(shù)據(jù)傳輸過(guò)程可以使用令牌(Token)和時(shí)隙2種傳輸方式。假設(shè)網(wǎng)絡(luò)中只有5個(gè)節(jié)點(diǎn),編號(hào)分別設(shè)為IJl,L2,L3,L4,L5,在本輪中選定L3為“首領(lǐng)節(jié)點(diǎn)”,令牌傳輸過(guò)程是首領(lǐng)節(jié)點(diǎn)L3向鏈中發(fā)送令牌,讓它通過(guò)L2傳播到端點(diǎn)L1,數(shù)據(jù)的傳播方向與令牌相反,當(dāng)L3接收到融合后的返回?cái)?shù)據(jù),再向另一端L5發(fā)送令牌,當(dāng)兩端的數(shù)據(jù)都到達(dá)后,首領(lǐng)節(jié)點(diǎn)將數(shù)據(jù)發(fā)送給基站節(jié)點(diǎn),則本輪結(jié)束。時(shí)隙傳輸方式與令牌傳輸令牌不同,要求鏈上所有節(jié)點(diǎn)都保持同步傳輸。