隨著無(wú)線網(wǎng)絡(luò)以及硬件技術(shù),特別是超大規(guī)模集成電路技術(shù)的發(fā)展,將感知、通信、計(jì)算能力集成在一個(gè)傳感器節(jié)點(diǎn)成為可能。無(wú)線傳感器網(wǎng)絡(luò)(以下簡(jiǎn)稱(chēng)傳感器網(wǎng)絡(luò))就是由成千上萬(wàn)個(gè)這樣的節(jié)點(diǎn)構(gòu)成的。
它集感知、通信功能于一身,其目的就是實(shí)現(xiàn)對(duì)惡劣環(huán)境或者是人所不易到達(dá)的環(huán)境中各種參數(shù)(如溫度、濕度、目標(biāo)位置等)的監(jiān)測(cè)和對(duì)某些敏感數(shù)據(jù)的采集。傳感器網(wǎng)絡(luò)如今已經(jīng)得到了廣泛的應(yīng)用,包括用以分析遠(yuǎn)距離無(wú)人地區(qū)的環(huán)境情況(如依靠采集溫度來(lái)實(shí)現(xiàn)對(duì)森林火警的監(jiān)測(cè));將感知節(jié)點(diǎn)安裝在特定的交通工具上以分析本地區(qū)的通信流量并由此設(shè)計(jì)出從源點(diǎn)到目標(biāo)點(diǎn)的最佳交通路線;軍事上可用于監(jiān)測(cè)、定位和跟蹤目標(biāo)點(diǎn)的運(yùn)動(dòng);在高污染區(qū)還可以收集相關(guān)的信息以便于災(zāi)后重建。由于這些傳感器節(jié)點(diǎn)受自身規(guī)模的限制,而且能源有限,要給網(wǎng)絡(luò)內(nèi)大量的節(jié)點(diǎn)重新補(bǔ)充能源幾乎是不可行的,這就需要考慮如何在能源有限的情況下最大限度地降低節(jié)點(diǎn)能耗以延長(zhǎng)傳感器網(wǎng)絡(luò)的連續(xù)工作時(shí)間。
1.準(zhǔn)備工作
傳感器節(jié)點(diǎn)按其功能可分為以下三個(gè)模塊
?、俑兄K。假定數(shù)據(jù)源的產(chǎn)生速率為r,則節(jié)點(diǎn)單位時(shí)間的感知耗能為Psense=a3r,a3為一常數(shù)(單位為J/bit);②通信模塊。給定發(fā)送節(jié)點(diǎn)u和接收節(jié)點(diǎn)v,發(fā)送數(shù)據(jù)的速率為r,兩個(gè)節(jié)點(diǎn)間的距離為d。有Ptrans(u,v)=(a11+a2dk)r,Prec=a12r。Ptrans(u,v)表示節(jié)點(diǎn)u單位時(shí)間的傳輸能耗,Prec表示節(jié)點(diǎn)v單位時(shí)間的接收能耗。其中,k為路徑衰減指數(shù)(k一般取2或4),而a11,a12和a2均為無(wú)線通信常數(shù)(其中a2的取值與k有關(guān))。③計(jì)算模塊。相比于感知模塊和通信模塊來(lái)說(shuō),節(jié)點(diǎn)的計(jì)算模塊能耗很小,通常可以忽略不計(jì)。
本文假設(shè):
?、賯鞲衅骶W(wǎng)絡(luò)被應(yīng)用于目標(biāo)跟蹤的場(chǎng)景下。②如圖1所示,E為網(wǎng)絡(luò)內(nèi)某一時(shí)刻的數(shù)據(jù)源節(jié)點(diǎn),而傳感器節(jié)點(diǎn)主要用于對(duì)指定目標(biāo)點(diǎn)的監(jiān)測(cè)并將采集到的結(jié)果以多跳的方式傳輸給遠(yuǎn)端的收集節(jié)點(diǎn)B,這里我們認(rèn)為節(jié)點(diǎn)B的能量充分大,即不考慮節(jié)點(diǎn)B的能耗。假設(shè)傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量為N。③節(jié)點(diǎn)隨機(jī)的分布在有限區(qū)域R內(nèi),節(jié)點(diǎn)的通信半徑為rt,節(jié)點(diǎn)間的數(shù)據(jù)傳輸是雙向的,即對(duì)于網(wǎng)絡(luò)中的任意兩個(gè)節(jié)點(diǎn)u和v,若節(jié)點(diǎn)u可與節(jié)點(diǎn)v直接通信,則節(jié)點(diǎn)v也可與節(jié)點(diǎn)u直接通信,如圖1,節(jié)點(diǎn)的感知半徑為ds,即感知節(jié)點(diǎn)只有在距數(shù)據(jù)源ds之內(nèi)才能感知到它的存在。④傳感器網(wǎng)絡(luò)內(nèi)所有的感知節(jié)點(diǎn)天線位于同一個(gè)水平線上,并且天線是全向的。⑤利用GPS技術(shù)傳感器節(jié)點(diǎn)可獲取自己的位置信息,目前GPS的精度可達(dá)5 m左右。
由文獻(xiàn)[3]可知,給定一個(gè)二維空間R,傳感器節(jié)點(diǎn)的感知半徑ds,能耗參數(shù)a11,a12,a2,a3和路徑衰變指數(shù)k,感知節(jié)點(diǎn)的數(shù)量N,每個(gè)節(jié)點(diǎn)的初始能量E,并且假定數(shù)據(jù)源運(yùn)行軌跡遵循某個(gè)均勻分布的概率分布函數(shù)lsource(x,y),則可得到網(wǎng)絡(luò)生存時(shí)間T的上限值為
2.算法思想
傳感器網(wǎng)絡(luò)實(shí)際上就是以數(shù)據(jù)為中心的自組織網(wǎng)絡(luò),但在以前的關(guān)于傳感器網(wǎng)絡(luò)生存時(shí)間的研究中都是假定周?chē)h(huán)境是可靠的,即感知節(jié)點(diǎn)只有在能量完全耗盡時(shí)才會(huì)失效,這并未考慮環(huán)境對(duì)感知節(jié)點(diǎn)的影響。
在傳感器網(wǎng)絡(luò)中,由于距數(shù)據(jù)源ds內(nèi)的節(jié)點(diǎn)均能采集到數(shù)據(jù)并將數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),因而如何保證這些節(jié)點(diǎn)盡可能的長(zhǎng)時(shí)間持續(xù)運(yùn)行是我們所關(guān)注的問(wèn)題,針對(duì)該問(wèn)題我們借鑒了容錯(cuò)冗余的概念引入了備份的感知節(jié)點(diǎn),使得某個(gè)感知節(jié)點(diǎn)的失效并不會(huì)影響整個(gè)網(wǎng)絡(luò)的正常工作。因而在本文中,我們提出了一個(gè)基于備份的分布式算法以延長(zhǎng)網(wǎng)絡(luò)的連續(xù)工作時(shí)間,仿真結(jié)果表明在節(jié)點(diǎn)失效環(huán)境下通過(guò)合理的控制節(jié)點(diǎn)數(shù)量,該算法的持續(xù)工作時(shí)間要長(zhǎng)于文獻(xiàn)[3]中的方法。
3.算法描述
在算法的實(shí)際運(yùn)行中,可分為三個(gè)階段,分別為初始化階段、數(shù)據(jù)傳輸階段和任務(wù)接管階段。
在初始化階段,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)需要確定自身到收集節(jié)點(diǎn)B的最小跳數(shù)。每個(gè)節(jié)點(diǎn)的初始狀態(tài)先置為工作態(tài)。收集節(jié)點(diǎn)首先以通信半徑rt廣播一個(gè)HOP消息。除收集節(jié)點(diǎn)之外,每個(gè)節(jié)點(diǎn)的初始跳數(shù)設(shè)置為無(wú)窮大。HOP消息的初始跳數(shù)設(shè)置為0。當(dāng)某個(gè)節(jié)點(diǎn)收到HOP消息后,它將檢查是否已經(jīng)接收過(guò)該消息。如果未曾收到過(guò),則該節(jié)點(diǎn)將把發(fā)送節(jié)點(diǎn)的信息(包括發(fā)送節(jié)點(diǎn)的ID號(hào))放入其路由表中并把發(fā)送節(jié)點(diǎn)設(shè)為自己的上游節(jié)點(diǎn),將HOP消息的跳數(shù)加1并將其值設(shè)置為自己的跳數(shù),之后便以通信半徑rt將新的HOP消息轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn);否則(即某個(gè)節(jié)點(diǎn)以前曾收到HOP消息)該節(jié)點(diǎn)將退避一段時(shí)間后再發(fā)送該HOP消息。并且,該節(jié)點(diǎn)只會(huì)考慮在退避時(shí)間內(nèi)所收到的最小跳數(shù)的HOP消息。
經(jīng)過(guò)退避時(shí)間后,節(jié)點(diǎn)將對(duì)所收到的HOP消息的跳數(shù)與節(jié)點(diǎn)以前曾保存的跳數(shù)進(jìn)行比較:如果前者比后者小于1,則節(jié)點(diǎn)將把發(fā)送者的信息也放人路由表中作為自己的另一個(gè)不同的上游節(jié)點(diǎn);如果前者小于后者且二者之差大于1,則發(fā)送者將成為該節(jié)點(diǎn)的新的上游節(jié)點(diǎn)。相應(yīng)的,路由表中的節(jié)點(diǎn)跳數(shù)以及消息跳數(shù)均需更新,修改后的HOP消息將繼續(xù)被該節(jié)點(diǎn)中轉(zhuǎn);如果前者不小于后者,則節(jié)點(diǎn)將丟棄這新收到的HOP消息。注意在以上的描述中,節(jié)點(diǎn)僅在收到第1個(gè)HOP消息時(shí)才會(huì)立即進(jìn)行轉(zhuǎn)發(fā)。這一策略的好處在于可以加快HOP消息的傳輸速率,也縮短了初始化階段的執(zhí)行延遲。另一方面,引入退避時(shí)間的好處在于可以讓節(jié)點(diǎn)處于等待狀態(tài)以便可以從其鄰居節(jié)點(diǎn)接收到更多的HOP消息。雖然較長(zhǎng)的退避時(shí)間會(huì)增加此階段的完成時(shí)間,但該方法是有效的,因?yàn)樵撾A段對(duì)靜止的傳感器網(wǎng)絡(luò)來(lái)說(shuō)只需執(zhí)行一次,并且也可以避免由于額外的轉(zhuǎn)發(fā)消息而增加的能耗。畢竟,能源問(wèn)題是傳感器節(jié)點(diǎn)最寶貴的資源。可以看到,在初始化階段執(zhí)行之后,每個(gè)節(jié)點(diǎn)將準(zhǔn)確的獲知自己的最小跳數(shù)以及其所有的上游節(jié)點(diǎn)。
當(dāng)指定要監(jiān)測(cè)的目標(biāo)出現(xiàn)后即進(jìn)入了數(shù)據(jù)傳輸階段。感知到該目標(biāo)的多個(gè)節(jié)點(diǎn)利用信息交互盡可能的挑選出跳數(shù)最小且自身能量最大的節(jié)點(diǎn)作為目標(biāo)的感知節(jié)點(diǎn),而其他感知到該目標(biāo)的節(jié)點(diǎn)作為備份節(jié)點(diǎn),這些備份節(jié)點(diǎn)將進(jìn)入休眠狀態(tài)以降低節(jié)點(diǎn)能耗。在數(shù)據(jù)真正傳輸之前,真正的感知節(jié)點(diǎn)利用Rodoplu等人提出的MECN算法和節(jié)點(diǎn)的上游節(jié)點(diǎn)信息建立一條從源節(jié)點(diǎn)到收集節(jié)點(diǎn)B的最小能耗路徑。