楊艷琦
(西安培華學院教務管理中心,陜西 西安 710125)
無線傳感器網(wǎng)絡(luò)(WSNs,Wireless Sensor Networks)是一種無基礎(chǔ)設(shè)施的無線自組織網(wǎng)絡(luò),綜合了傳感器技術(shù)、嵌入式技術(shù)、分布式信息處理技術(shù)和通信技術(shù),能夠協(xié)作地實時監(jiān)測、感知和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)的各種環(huán)境或監(jiān)測對象的信息,并對這些信息進行處理,從而獲得詳細準確的信息,傳送給需要這些信息的用戶。無線傳感器網(wǎng)絡(luò)被稱為對21世紀具有巨大影響力的技術(shù)之一[1]。無線傳感器節(jié)點具有數(shù)量龐大、體積微小、通信和計算能力弱、電源能量有限且無法彌補、能量異構(gòu)等特點[2]。
傳感器節(jié)點計算所消耗的能量要遠遠小于數(shù)據(jù)傳輸所消耗的能量,網(wǎng)內(nèi)查詢處理成為提高網(wǎng)絡(luò)壽命的重要手段,其核心手段就是采取數(shù)據(jù)聚合技術(shù)來盡可能地減少數(shù)據(jù)傳送的能量消耗,利用節(jié)點對數(shù)據(jù)的預處理,可以減少消息傳送的數(shù)量或者大小,從而實現(xiàn)能量的有效利用。數(shù)據(jù)聚合是WSNs中實現(xiàn)節(jié)能的關(guān)鍵技術(shù),通過去除冗余的數(shù)據(jù)信息,減少網(wǎng)絡(luò)的通信量,提高能量的有效性[3-6]。
分簇算法主要是選擇簇頭以及更好地使用簇頭節(jié)點對收集到的數(shù)據(jù)進行處理然后轉(zhuǎn)發(fā)至Sink節(jié)點,這里如果不對簇頭節(jié)點收集到的數(shù)據(jù)進行聚合處理的話,簇頭節(jié)點會很快地消耗掉能量,導致網(wǎng)絡(luò)的負載不均衡。通過對LEACH算法[5]進行仿真,如果簇頭不進行數(shù)據(jù)聚合而直接收集轉(zhuǎn)發(fā)的話,在網(wǎng)絡(luò)運行一定輪數(shù)之后會發(fā)現(xiàn)很多節(jié)點的剩余能量很低。
為了更好地表述所提算法,在這里對網(wǎng)絡(luò)作以下假設(shè):
1)在正方形區(qū)域內(nèi)隨機部署N個同構(gòu)節(jié)點,節(jié)點布置好之后不再移動;
2)每個節(jié)點具有相同的通信半徑;
3)鄰居節(jié)點信息可知;
4)節(jié)點的初始能量相同;
5)節(jié)點具有壓縮數(shù)據(jù)功能;
6)Sink節(jié)點位置可調(diào);
7)網(wǎng)絡(luò)運行一輪更新一次;
8)只有一種類型的攻擊節(jié)點。
本研究的能耗模型同LEACH,假設(shè)一個節(jié)點傳輸l比特的能耗是:
一個節(jié)點接收lbits比特的能耗是:
其中,εfs代表自由空間下單位距離傳輸數(shù)據(jù)的放大器能耗,Eelec代表節(jié)點收發(fā)一個單位數(shù)據(jù)包消耗的單位能量,l代表單位數(shù)據(jù)包的大小,εmp代表多路衰減模型下單位距離傳輸數(shù)據(jù)的放大器能耗。
在簇頭節(jié)點的選擇中,LEACH算法根據(jù)提前設(shè)置好的概率隨機選擇網(wǎng)絡(luò)中的傳感器節(jié)點成為簇頭節(jié)點,本研究在簇頭節(jié)點選擇時綜合考慮節(jié)點的剩余能量、節(jié)點可通信節(jié)點的數(shù)量以及節(jié)點離Sink節(jié)點的距離。首先根據(jù)以上幾種考慮因素計算每個節(jié)點作為簇頭候選節(jié)點的值,然后在滿足最大連通子圖占比90%的條件下從候選簇頭節(jié)點中,按照候選值從高到低依次選擇合適的候選簇頭節(jié)點成為真正的簇頭節(jié)點。
假設(shè)簇頭節(jié)點的候選集合Cadidate_CH{ },簇頭節(jié)點集合List CH{ },對于任意的一個節(jié)點vi,ERemain-i表示vi節(jié)點的剩余能量,EInitial代表網(wǎng)絡(luò)中所有節(jié)點的初始能量,Degmax表示網(wǎng)絡(luò)中節(jié)點可通信最多的節(jié)點數(shù),Degi表示節(jié)點vi可通信的節(jié)點數(shù)。
計算vi節(jié)點作為簇頭的候選值:
其中α,β表示大于零的參數(shù),滿足α+β=1。
分簇完成之后,網(wǎng)絡(luò)基于上述最大覆蓋、最小能耗問題構(gòu)建了本研究提出的最優(yōu)數(shù)據(jù)通信鏈路構(gòu)建算法。按照上述方法對網(wǎng)絡(luò)進行分簇處理之后,接下來構(gòu)建每一個簇頭節(jié)點到Sink節(jié)點的路徑。為了降低算法的復雜,使簇內(nèi)的通信為單向直接通信,即成員節(jié)點直接將收集到的數(shù)據(jù)傳送給簇頭節(jié)點。簇內(nèi)數(shù)據(jù)傳完之后,簇頭節(jié)點此時需要將數(shù)據(jù)傳送給Sink節(jié)點,研究者經(jīng)常采取以下三種方法:1)Sink節(jié)點使用貪婪算法構(gòu)建到簇頭的多跳路徑,路徑中只有簇頭節(jié)點;2)Sink節(jié)點使用貪婪算法構(gòu)建到簇頭的多跳路徑,路徑中只有非簇頭節(jié)點,所有簇頭節(jié)點均為葉子節(jié)點,不再作為中繼節(jié)點;3)混合路徑,構(gòu)建簇頭到Sink節(jié)點的最優(yōu)路徑,簇頭節(jié)點、非簇頭節(jié)點均可以作為中繼節(jié)點。為了加強節(jié)點的負載平衡,選擇第三種樹型-分簇型混合路徑模型進行數(shù)據(jù)的傳輸。最優(yōu)數(shù)據(jù)通信鏈路構(gòu)建算法1如下。
輸入:最優(yōu)數(shù)據(jù)通信鏈路Data Trans{ }=NULL,存活節(jié)點數(shù)N,Sink節(jié)點位置S(a,b),存活節(jié)點位置V(xi,yi),i=1,2,…,N,節(jié)點vi的鄰居節(jié)點信息集合Neighborvi{ },節(jié)點通信半徑r。
筆者針對OTCEE算法與經(jīng)典的混合型算法EEICS、PEDAD,樹型算法GIT以及混合型算法LEACH,將從網(wǎng)絡(luò)壽命、網(wǎng)絡(luò)平均延遲等角度進行仿真比較。
各算法網(wǎng)絡(luò)壽命的比較圖如圖1所示,可以從圖1中看出算法OTCEE的壽命明顯優(yōu)于其他幾種比較的算法LEACH、GIT、PEDAP、EEICS。當有第一個節(jié)點死亡時,OTCEE算法的壽命為8 015輪,EEICS為7 514輪,PEDAP為4 632輪,GIT為4 520輪,LEACH為4 026輪。當有10個節(jié)點死亡時,OTCEE算法的壽命為10 526輪,EEICS為8 074輪,PEDAP為8 106輪,GIT為7 835輪,LEACH為7 726輪,算法的壽命提升率較EECIS提升了30.36%,較PADAP提升了34.34%。這是因為本研究所提算法OTCEE分簇時均衡考慮了能量的消耗等,建立了最優(yōu)的分簇拓撲結(jié)構(gòu),并且在最終的數(shù)據(jù)傳輸階段建立了混合型的數(shù)據(jù)傳輸路徑,將網(wǎng)絡(luò)中剩余能量較多的節(jié)點加入數(shù)據(jù)傳輸路徑從而降低了節(jié)點的能耗,延遲了節(jié)點死亡的時間。
圖1 網(wǎng)絡(luò)壽命
數(shù)據(jù)傳輸?shù)膶崟r性是網(wǎng)絡(luò)開銷的重要指標,延遲越低數(shù)據(jù)傳輸?shù)男阅茉綇?。各算法網(wǎng)絡(luò)平均延遲比較圖如圖2所示。從圖2中可以看出LEACH 算法的延遲最低,因為LEACH算法的數(shù)據(jù)傳輸拓撲單一,簇內(nèi)直接傳播,簇頭節(jié)點到Sink也是單向直接傳播,從而延遲最低。但是延遲低的代價是網(wǎng)絡(luò)壽命較低,需基于此綜合考慮網(wǎng)絡(luò)開銷。從圖2中可以看出幾種算法延遲均隨著網(wǎng)絡(luò)節(jié)點的增加而增加,這是因為數(shù)據(jù)量的增加以及拓撲中中繼節(jié)點的數(shù)量增加從而導致了延遲的增加。同樣的仿真環(huán)境下本研究所提算法OTCEE的延遲低于其他幾種算法的延遲,這是因為從簇頭到Sink建立了最優(yōu)的混合路徑,從而有效地降低了數(shù)據(jù)的傳輸延遲。
圖2 網(wǎng)絡(luò)平均延遲
綜上所述,無線傳感器網(wǎng)絡(luò)被稱為對21世紀具有巨大影響力的技術(shù)之一,無線傳感器節(jié)點具有數(shù)量龐大、體積微小、通信和計算能力弱、電源能量有限且無法彌補、能量異構(gòu)等特點。構(gòu)建一種能量高效且負載均衡的分簇算法是研究無線傳感器網(wǎng)絡(luò)的主要目的。