游曉黔,李明隆,楊 佳
(重慶郵電大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,重慶 400065)
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)已被廣泛地應(yīng)用在民用和軍事領(lǐng)域。它是由大量低成本的體積小的傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成的一個(gè)多跳自組織網(wǎng)絡(luò)。不需要固定的基礎(chǔ)網(wǎng)絡(luò)設(shè)施,具有快速展開(kāi),抗毀性強(qiáng)等優(yōu)勢(shì)以及自組織,動(dòng)態(tài)拓?fù)浜湍芰渴芟薜忍攸c(diǎn)。由于它具有良好的應(yīng)用前景,目前已經(jīng)成為無(wú)線信息技術(shù)領(lǐng)域的研究熱點(diǎn)[1]。
路由技術(shù)是WSN關(guān)鍵技術(shù)之一。由于傳感器節(jié)點(diǎn)計(jì)算能力不強(qiáng),存儲(chǔ)空間有限,能量?jī)?chǔ)備和通信能力較低等限制條件,能量的約束性問(wèn)題成為了WSN中必須考慮的核心問(wèn)題[2]。根據(jù)WSN的拓?fù)浣Y(jié)構(gòu),路由協(xié)議可以分為平面路由協(xié)議和分簇路由協(xié)議。常見(jiàn)的平面路由協(xié)議有Flooding,Gossiping,MTE,SPIN等。由于平面路由協(xié)議需要維持較大的路由表,占據(jù)存儲(chǔ)空間較多,因此不適合在大規(guī)模的網(wǎng)絡(luò)中采用。在分簇路由協(xié)議中,簇首節(jié)點(diǎn)協(xié)調(diào)簇內(nèi)成員節(jié)點(diǎn)之間的工作,可以在一定程度上克服平面路由協(xié)議的缺點(diǎn),從而有效地減少能量消耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期。目前,層次化路由成為WSN中主導(dǎo)的路由協(xié)議。以低功耗自適應(yīng)分簇協(xié)議(low energy adaptive clustering hierarchy,LEACH)協(xié)議為代表的分簇路由協(xié)議能夠有效地延長(zhǎng)網(wǎng)絡(luò)的生命周期[3]。本文首先分析LEACH以及LEACH相關(guān)改進(jìn)協(xié)議的特點(diǎn)和不足,然后提出一種改進(jìn)的基于LEACH的能量高效分簇路由算法(the energy-efficient clustering routing algorithm based on LEACH,LEACH-EE)算法,主要目標(biāo)是降低網(wǎng)絡(luò)系統(tǒng)能量消耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期,并對(duì)該方案進(jìn)行理論分析和實(shí)驗(yàn)仿真,仿真結(jié)果驗(yàn)證了該方案的有效性。
LEACH[4]是MIT學(xué)者Heinzelman等為WSN設(shè)計(jì)的低功耗自適應(yīng)聚類路由算法,是最早提出的分簇路由算法,仿真表明,與一般的平面多跳路由協(xié)議和靜態(tài)分簇路由協(xié)議相比,LEACH可以將網(wǎng)絡(luò)生命周期延長(zhǎng)15%。LEACH分為2個(gè)階段,即簇的建立階段(set up phase)和數(shù)據(jù)傳輸階段(ready phase)。簇的建立階段和數(shù)據(jù)傳輸階段所持續(xù)的時(shí)間總和稱為一輪(round)。為了節(jié)省資源開(kāi)銷,數(shù)據(jù)傳輸階段的持續(xù)時(shí)間要大于建立階段的持續(xù)時(shí)間。它的基本思想是系統(tǒng)運(yùn)行后依據(jù)網(wǎng)絡(luò)中所需的簇首節(jié)點(diǎn)數(shù)和迄今為止每個(gè)節(jié)點(diǎn)已成為簇首節(jié)點(diǎn)的次數(shù)來(lái)決定簇首節(jié)點(diǎn)的選擇。具體選擇辦法是:每個(gè)傳感器節(jié)點(diǎn)在第r輪時(shí)(假設(shè)當(dāng)前時(shí)間為t)從(0,1)之間選擇一個(gè)隨機(jī)數(shù),如果選定的值小于某個(gè)閾值Pi(t),那么這個(gè)節(jié)點(diǎn)成為簇首節(jié)點(diǎn),Pi(t)可由(1)式計(jì)算得到。
(1)式中:Ci(t)表示節(jié)點(diǎn)i在最近r mod(N/k)輪是否擔(dān)當(dāng)過(guò)簇首節(jié)點(diǎn),如果擔(dān)當(dāng)過(guò),則Ci(t)=0,否者Ci(t)=1;k表示網(wǎng)絡(luò)中簇首節(jié)點(diǎn)的個(gè)數(shù),在一個(gè)已知的目標(biāo)區(qū)域內(nèi),面積為M×M,傳感器節(jié)點(diǎn)總數(shù)為n,節(jié)點(diǎn)均勻分布在監(jiān)測(cè)區(qū)域中,即ρ=(1/(M2/k))??梢酝ㄟ^(guò)以下計(jì)算推導(dǎo)出網(wǎng)絡(luò)中最優(yōu)的分簇個(gè)數(shù)
(2)—(4)式中:εfs和εmp表示無(wú)線能量模型中的參數(shù);dtoCH是簇內(nèi)成員節(jié)點(diǎn)到簇首節(jié)點(diǎn)的距離;Etotal為總共消耗的能量;dtoBS為簇首節(jié)點(diǎn)到基站之間的距離;Eelec為發(fā)射電路和接收電路所消耗的能量;EDA為進(jìn)行數(shù)據(jù)融合所消耗的能量。
選定簇首節(jié)點(diǎn)后,簇首節(jié)點(diǎn)通過(guò)廣播告知整個(gè)網(wǎng)絡(luò)自己成為簇首節(jié)點(diǎn)的消息,網(wǎng)絡(luò)中的非簇首節(jié)點(diǎn)根據(jù)接收信號(hào)的強(qiáng)度決定加入相應(yīng)的簇首形成簇,并通知相關(guān)的簇首節(jié)點(diǎn)。最后簇首節(jié)點(diǎn)采用TDMA方式為簇中每個(gè)節(jié)點(diǎn)分配傳輸數(shù)據(jù)的時(shí)隙。在數(shù)據(jù)傳輸階段簇內(nèi)成員節(jié)點(diǎn)將監(jiān)測(cè)到的數(shù)據(jù)直接發(fā)送給簇首節(jié)點(diǎn),簇首節(jié)點(diǎn)在對(duì)監(jiān)測(cè)到的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合后再轉(zhuǎn)發(fā)給基站。經(jīng)過(guò)一段時(shí)間后進(jìn)入下一輪。LEACH網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 LEACH網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 LEACH network structure
LEACH假設(shè)網(wǎng)絡(luò)中使用相同的能量受限的傳感器節(jié)點(diǎn)且每個(gè)節(jié)點(diǎn)均可以與基站直接通信。在網(wǎng)絡(luò)部署后,傳感器節(jié)點(diǎn)隨機(jī)均勻部署在監(jiān)測(cè)區(qū)域,所有節(jié)點(diǎn)持續(xù)監(jiān)測(cè)周圍的物理現(xiàn)象,然后以恒定的速率發(fā)送監(jiān)測(cè)的數(shù)據(jù)。
LEACH-C[5]是一種基于LEACH的改進(jìn)協(xié)議。它根據(jù)全局信息挑選簇首,每個(gè)節(jié)點(diǎn)把自身地理位置和當(dāng)前能量報(bào)告給基站?;靖鶕?jù)所有節(jié)點(diǎn)的報(bào)告計(jì)算平均能量,當(dāng)前能量低于平均能量的節(jié)點(diǎn)不能成為候選簇首節(jié)點(diǎn)。從剩余候選節(jié)點(diǎn)中選出合適數(shù)量和最優(yōu)地理位置的簇首集合是一個(gè)NP問(wèn)題?;靖鶕?jù)所有簇內(nèi)成員節(jié)點(diǎn)到簇首節(jié)點(diǎn)的距離平方和最小的原則,采用模擬退火算法解決該問(wèn)題,最后基站把最優(yōu)分簇信息廣播出去。因?yàn)槊總€(gè)區(qū)域的節(jié)點(diǎn)數(shù)大致相同,從而實(shí)現(xiàn)了負(fù)載均衡,其性能要優(yōu)于LEACH協(xié)議。
LEACH-F[6]也是基于 LEACH的一個(gè)改進(jìn)協(xié)議。其中,網(wǎng)絡(luò)中第一輪簇的形成與LEACH-C協(xié)議相同,同樣是通過(guò)基站采用模擬退火算法生成均勻的分簇。不同的是,基站為每一個(gè)簇生成一個(gè)簇首節(jié)點(diǎn)的列表,按照列表的順序依次選擇下一個(gè)節(jié)點(diǎn)擔(dān)當(dāng)簇首。網(wǎng)絡(luò)中的分簇一旦形成,簇結(jié)構(gòu)不再改變。此協(xié)議的優(yōu)點(diǎn)是在一定程度上減少了成簇開(kāi)銷,但是可能選擇剩余能量小的節(jié)點(diǎn)擔(dān)任簇首節(jié)點(diǎn)。
上述幾種協(xié)議在一定程度上均衡了各個(gè)節(jié)點(diǎn)的能量消耗,但是這些協(xié)議仍有以下幾點(diǎn)不足。
1)成員節(jié)點(diǎn)在每輪分配的時(shí)隙中都必須向簇首節(jié)點(diǎn)發(fā)送數(shù)據(jù),節(jié)點(diǎn)能量利用率不高。
2)簇首節(jié)點(diǎn)與基站采用直接通信的方式,這造成遠(yuǎn)離基站的簇首節(jié)點(diǎn)能量消耗較高。
3)在LEACH協(xié)議中,簇的形成完全是隨機(jī)的,因此,很可能出現(xiàn)被選的簇頭節(jié)點(diǎn)集中在網(wǎng)絡(luò)某一區(qū)域的現(xiàn)象,這樣就會(huì)使得一些節(jié)點(diǎn)的周圍沒(méi)有任何簇頭節(jié)點(diǎn),無(wú)法保證得到最優(yōu)的分簇方案。
4)在LEACH-C協(xié)議中,在每輪成簇階段,所有節(jié)點(diǎn)都必須將自己的位置和能量信息發(fā)送給基站,增加了節(jié)點(diǎn)之間的通信量,成簇開(kāi)銷較大。
5)在LEACH-F協(xié)議中,雖然減少了成簇的開(kāi)銷,但是網(wǎng)絡(luò)中不能動(dòng)態(tài)地處理節(jié)點(diǎn)的加入和刪除,并且增加了簇間信號(hào)的干擾。
以LEACH為代表的路由協(xié)議提供了一種很好的負(fù)載均衡機(jī)制,最大限度地延長(zhǎng)了網(wǎng)絡(luò)的生命周期,但是,此類協(xié)議中依然存在一定的問(wèn)題。文獻(xiàn)[7]在基于固定分簇算法的基礎(chǔ)上,為了減少通信量,通過(guò)由基站設(shè)定的閾值比例x,實(shí)現(xiàn)簇首節(jié)點(diǎn)的輪換,從而節(jié)省節(jié)點(diǎn)的能量。文獻(xiàn)[8]提出了一種流量自適應(yīng)分簇算法,通過(guò)在發(fā)送數(shù)據(jù)中捎帶節(jié)點(diǎn)的狀態(tài)信息state,從而對(duì)節(jié)點(diǎn)的發(fā)送時(shí)隙進(jìn)行調(diào)整,實(shí)現(xiàn)減少節(jié)點(diǎn)能量消耗的目的。文獻(xiàn)[9]針對(duì)網(wǎng)絡(luò)覆蓋范圍變大時(shí)LEACH協(xié)議存在的問(wèn)題,提出一種綜合考慮節(jié)點(diǎn)位置、節(jié)點(diǎn)能量狀況的多跳改進(jìn)算法。
在LEACH協(xié)議中,簇首節(jié)點(diǎn)作為一個(gè)簇的控制中心,簇內(nèi)成員節(jié)點(diǎn)根據(jù)所分配的TDMA時(shí)刻表,在不同的傳輸時(shí)隙向簇首節(jié)點(diǎn)發(fā)送數(shù)據(jù)。這樣做的目的是允許節(jié)點(diǎn)在不屬于自己的時(shí)隙期間可以進(jìn)入休眠狀態(tài),節(jié)省節(jié)點(diǎn)能量。但是節(jié)點(diǎn)在屬于自己的時(shí)隙內(nèi)必須向簇首發(fā)送數(shù)據(jù),然而,在現(xiàn)實(shí)的大多數(shù)環(huán)境中節(jié)點(diǎn)不需要一直發(fā)送數(shù)據(jù),通常是在監(jiān)測(cè)到有異常數(shù)據(jù)時(shí)才發(fā)送自己的數(shù)據(jù)[10]。本文認(rèn)為,在簇的建立階段完成以后,簇內(nèi)節(jié)點(diǎn)可以根據(jù)事先設(shè)定的閾值來(lái)向簇首節(jié)點(diǎn)發(fā)送數(shù)據(jù),而不再是在規(guī)定的時(shí)隙里一直發(fā)送數(shù)據(jù)。這樣可以達(dá)到限制傳感器節(jié)點(diǎn)能量消耗的目的,延長(zhǎng)了節(jié)點(diǎn)的壽命,從而也延長(zhǎng)了網(wǎng)絡(luò)的生命周期。
其次,LEACH-C協(xié)議解決了LEACH協(xié)議中簇首節(jié)點(diǎn)分布不均勻以及簇首節(jié)點(diǎn)根據(jù)隨機(jī)數(shù)決定等方面的問(wèn)題,提高了簇的生成質(zhì)量。但是,在每輪的簇首選擇階段,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都必須向基站報(bào)告它們的位置和能量信息,導(dǎo)致網(wǎng)絡(luò)時(shí)延和成簇開(kāi)銷都比較大。而本文認(rèn)為,應(yīng)該減少節(jié)點(diǎn)的通信量,盡量避免不必要的通信。
最后,在LEACH協(xié)議中,簇首節(jié)點(diǎn)與基站都是單跳的通信,這樣不可避免地造成偏離基站比較遠(yuǎn)的簇首節(jié)點(diǎn)與基站直接通信能量消耗增大。因此,應(yīng)該在簇首節(jié)點(diǎn)之間建立路由樹,在數(shù)據(jù)傳輸階段采用單跳和多跳混合通信方式均衡簇頭與基站能量消耗。由文獻(xiàn)[11]可知,采用簇首節(jié)點(diǎn)間多跳的方式,可以保證數(shù)據(jù)盡快地傳遞到基站,并且可以降低網(wǎng)絡(luò)整體的能耗。
根據(jù)LEACH相關(guān)協(xié)議中存在的問(wèn)題,主要從成簇的方法,簇首節(jié)點(diǎn)的選擇以及成簇后的通信方式3個(gè)方面對(duì)上述方案進(jìn)行改進(jìn)。改進(jìn)后的方案也分為簇的建立階段和數(shù)據(jù)傳輸階段,其基本思想如下。
1)網(wǎng)絡(luò)部署后,在第一輪的簇首選擇階段,基站采用GSAA遺傳模擬退火算法[12]來(lái)提高簇的生成質(zhì)量。每個(gè)節(jié)點(diǎn)把自身的位置信息和當(dāng)前的剩余能量報(bào)告給基站,然后基站根據(jù)所有節(jié)點(diǎn)報(bào)告的信息計(jì)算所有節(jié)點(diǎn)的平均能量。如果節(jié)點(diǎn)的當(dāng)前能量低于平均能量,則不能成為候選簇首節(jié)點(diǎn)。然后基站在候選節(jié)點(diǎn)中通過(guò)遺傳模擬退火算法得出一個(gè)最優(yōu)分簇,并把分簇信息記錄到一個(gè)cluster_info的鏈表中。最后把分簇信息廣播出去,第一輪簇的建立階段結(jié)束。
2)從第二輪開(kāi)始,在簇的建立階段,為了減少節(jié)點(diǎn)的通信量,網(wǎng)絡(luò)中所有的節(jié)點(diǎn)只向基站發(fā)送自己當(dāng)前的能量信息,不再發(fā)送位置信息?;驹诮邮盏剿泄?jié)點(diǎn)發(fā)送的能量信息后,根據(jù)第一輪的分簇信息,分別計(jì)算每一個(gè)分簇的平均能量。然后基站根據(jù)cluster_info鏈表中的分簇信息,依次選取簇內(nèi)不同的節(jié)點(diǎn)擔(dān)任候選簇首節(jié)點(diǎn)。當(dāng)且僅當(dāng)此候選簇首節(jié)點(diǎn)的剩余能量大于其所在簇的平均能量時(shí),才選取它為下一輪的簇首節(jié)點(diǎn),否者根據(jù)cluster_info鏈表中的分簇信息判斷下一個(gè)簇內(nèi)的成員節(jié)點(diǎn)。
3)在數(shù)據(jù)傳輸階段,在簇內(nèi),簇內(nèi)成員節(jié)點(diǎn)與簇首節(jié)點(diǎn)可以直接進(jìn)行通信。假設(shè)網(wǎng)絡(luò)中節(jié)點(diǎn)總數(shù)為n,成簇個(gè)數(shù)為m,使用CHj,(1≤j≤m)表示簇首節(jié)點(diǎn),而{Si},(0≤i≤n)表示簇內(nèi)所有成員節(jié)點(diǎn)。首先對(duì)流量發(fā)送概率定義為:在數(shù)據(jù)傳輸階段,節(jié)點(diǎn)集{Si}在所分配的TDMA時(shí)刻表規(guī)定的時(shí)隙向所在簇的CHj節(jié)點(diǎn)發(fā)送監(jiān)測(cè)數(shù)據(jù)的概率為
P(Si)={x|0 < x≤ 1,i∈[1,n]} (5)
為了符合實(shí)際的應(yīng)用場(chǎng)景,對(duì)監(jiān)測(cè)區(qū)域使用不同的流量發(fā)送概率,可以通過(guò)設(shè)定不同的P(Si)閾值實(shí)現(xiàn)。并可以通過(guò)統(tǒng)計(jì)基站收到的實(shí)際數(shù)據(jù)量,來(lái)對(duì)不同的流量發(fā)送概率進(jìn)行評(píng)估。
4)在數(shù)據(jù)傳輸階段,簇首與基站進(jìn)行通信時(shí),可以根據(jù)簇首節(jié)點(diǎn)與基站的距離采用多跳與單跳相結(jié)合的方式進(jìn)行通信。即每個(gè)簇首節(jié)點(diǎn)選擇在基站方向離自己最近的簇首節(jié)點(diǎn)作為下一跳鄰居節(jié)點(diǎn),向基站轉(zhuǎn)發(fā)自己的數(shù)據(jù)。如果簇首節(jié)點(diǎn)沒(méi)有找到下一跳鄰居節(jié)點(diǎn),則直接與基站進(jìn)行通信。如圖2所示,簇首節(jié)點(diǎn)CHa通過(guò)將數(shù)據(jù)轉(zhuǎn)發(fā)給它的下一跳鄰居節(jié)點(diǎn)CHb,從而最后將數(shù)據(jù)發(fā)送給基站。
圖2 簇間信息轉(zhuǎn)發(fā)過(guò)程Fig.2 Progress of inter cluster data forwarding
NS2是目前WSN的主要仿真工具之一[13],已廣泛被科研院所和各大高校用于進(jìn)行網(wǎng)絡(luò)分析、研究和教學(xué)。本文仿真是在Windows下用軟件Cygwin模擬UNIX系統(tǒng)環(huán)境,在此基礎(chǔ)上安裝NS2對(duì)LEACH協(xié)議中不同的網(wǎng)絡(luò)流量模型進(jìn)行仿真,實(shí)驗(yàn)結(jié)果取多次仿真的平均值??紤]WSN中有n=101,包括100個(gè)無(wú)線傳感器節(jié)點(diǎn)和1個(gè)固定位置的BS節(jié)點(diǎn)。網(wǎng)絡(luò)中最優(yōu)簇個(gè)數(shù)k=5,節(jié)點(diǎn)每隔20 s的時(shí)間更換一輪簇首,所有節(jié)點(diǎn)的初始能量為2 J,所有節(jié)點(diǎn)隨機(jī)均勻散布在監(jiān)測(cè)區(qū)域,仿真中使用的網(wǎng)絡(luò)配置參數(shù)如表1所示。
表1 網(wǎng)絡(luò)配置參數(shù)Tab.1 Network parameters in experiment
在簇首節(jié)點(diǎn)CHj對(duì)節(jié)點(diǎn)集{Si}分配相應(yīng)的時(shí)隙中,分別選取 P(Si) 為 1,0.9,0.8,0.7,0.6,0.5和一個(gè)在[0.5,0.9]區(qū)間的均勻隨機(jī)值RND。針對(duì)不同的流量發(fā)送概率,對(duì)LEACH協(xié)議進(jìn)行仿真。
圖3 基站接收數(shù)據(jù)總量與時(shí)間關(guān)系Fig.3 Total receiving data of base station over time
基站收到的數(shù)據(jù)量和時(shí)間的關(guān)系如圖3所示。從圖3中可以看出,使用不同的流量發(fā)送概率,網(wǎng)絡(luò)的生命周期和基站接收到的數(shù)據(jù)量是不一樣的。當(dāng)P(Si)∈[0.7,0.9]時(shí),基站收到的數(shù)據(jù)量要比原有的LEACH協(xié)議高,說(shuō)明減少了節(jié)點(diǎn)的能量消耗,節(jié)點(diǎn)節(jié)省下來(lái)的能量,傳送了更多的有效數(shù)據(jù),更加合理有效地利用了節(jié)點(diǎn)的能量。原因是在此時(shí)的流量模型下,簇內(nèi)的一些節(jié)點(diǎn)在規(guī)定的時(shí)隙并沒(méi)有向簇首節(jié)點(diǎn)發(fā)送數(shù)據(jù),從而一些節(jié)點(diǎn)可以在數(shù)據(jù)傳輸階段節(jié)省一部分能量。因此,基站收到的數(shù)據(jù)量相對(duì)較高。但是當(dāng)P(Si)<0.7時(shí),基站收到的數(shù)據(jù)量要比原有的LEACH協(xié)議低,這是因?yàn)樵诖藭r(shí)的流量模型下,首先在延長(zhǎng)的網(wǎng)絡(luò)生命周期內(nèi),節(jié)點(diǎn)將更多的能量用在了簇首選擇階段。其次,在數(shù)據(jù)傳輸階段,雖然一些簇內(nèi)成員節(jié)點(diǎn)沒(méi)有在規(guī)定的時(shí)隙內(nèi)向簇首節(jié)點(diǎn)發(fā)送數(shù)據(jù),但是此時(shí)簇首節(jié)點(diǎn)依然需要處于“喚醒”狀態(tài),等待接收簇內(nèi)成員節(jié)點(diǎn)的數(shù)據(jù),因此消耗了一些不必要的能量。
在實(shí)際的應(yīng)用中,首先必須保證在對(duì)監(jiān)測(cè)數(shù)據(jù)的完整性不會(huì)造成影響的前提下設(shè)置一個(gè)合理的流量發(fā)送概率,從而節(jié)省網(wǎng)絡(luò)系統(tǒng)的能量消耗。從圖4中可以看出,當(dāng)選擇 P(Si)∈[0.7,0.95]時(shí),網(wǎng)絡(luò)系統(tǒng)可以獲得更好的性能,從而延長(zhǎng)網(wǎng)絡(luò)的生命周期。使用流量發(fā)送概率的通信方式,主要目的是通過(guò)閾值方式盡量減少節(jié)點(diǎn)的通信開(kāi)銷。在實(shí)際的應(yīng)用中,可以通過(guò)節(jié)點(diǎn)定位技術(shù)估算網(wǎng)絡(luò)中節(jié)點(diǎn)的密度,從而為不同的節(jié)點(diǎn)設(shè)置不同的流量發(fā)送概率。例如,在節(jié)點(diǎn)密度比較小的監(jiān)測(cè)區(qū)域,盡量保證節(jié)點(diǎn)的發(fā)送概率較大,這樣可以盡量保證數(shù)據(jù)的完整性;而在節(jié)點(diǎn)密度比較大的監(jiān)測(cè)區(qū)域,由于節(jié)點(diǎn)采集的數(shù)據(jù)冗余度較大,因此可以將此區(qū)域中節(jié)點(diǎn)的流量發(fā)送概率設(shè)置偏少。在下一步的研究中,還應(yīng)該進(jìn)一步考慮針對(duì)每個(gè)節(jié)點(diǎn)如何選擇對(duì)應(yīng)的閾值,并且同時(shí)需要考慮動(dòng)態(tài)閾值計(jì)算的時(shí)間以及能量開(kāi)銷等因素。
圖4 基站接收數(shù)據(jù)總量與P(Si)關(guān)系Fig.4 Total receiving data of base station over P(Si)
網(wǎng)絡(luò)中存活節(jié)點(diǎn)數(shù)目和整個(gè)網(wǎng)絡(luò)的生命周期隨時(shí)間變化如圖5所示。
圖5 節(jié)點(diǎn)存活數(shù)目與時(shí)間關(guān)系Fig.5 Number of nodes alive over time
從圖5中可以看出,LEACH-EE方案中第1個(gè)節(jié)點(diǎn)死亡的時(shí)刻為430 s,LEACH-C方案為380 s,比LEACH-C延后了13.2%,LEACH方案為360 s,比LEACH延后了19.4%;LEACH-EE方案中第10個(gè)節(jié)點(diǎn)的死亡時(shí)刻為510 s,LEACH-C方案為410 s,比LEACH-C延后了24.4%,LEACH方案為360 s,比LEACH延后了41.7%。而LEACH-EE方案比LEACH-F方案總體性能好的原因在于,在LEACHEE方案中,當(dāng)且僅當(dāng)候選簇首節(jié)點(diǎn)的剩余能量大于其所在簇的平均能量時(shí),才選取它為下一輪的簇首節(jié)點(diǎn),保證了選取最優(yōu)的節(jié)點(diǎn)擔(dān)當(dāng)簇首節(jié)點(diǎn)。在相同的時(shí)間內(nèi)采用新的方案可以有效地延長(zhǎng)節(jié)點(diǎn)的壽命,從而延長(zhǎng)整個(gè)網(wǎng)絡(luò)的生命周期。這是因?yàn)樾碌姆桨冈跀?shù)據(jù)傳輸階段,簇內(nèi)節(jié)點(diǎn)通過(guò)選擇比較合理的P(Si)流量發(fā)送概率閾值節(jié)省了能耗。而且從第二輪開(kāi)始,在簇的建立階段網(wǎng)絡(luò)中所有節(jié)點(diǎn)只向基站發(fā)送自己的能量信息,減少了節(jié)點(diǎn)的通信能耗。最后在數(shù)據(jù)傳輸階段,偏離基站較遠(yuǎn)的簇首節(jié)點(diǎn)通過(guò)采用簇首節(jié)點(diǎn)間多跳的傳輸方式將數(shù)據(jù)傳遞給基站,解決了簇首節(jié)點(diǎn)通信負(fù)載過(guò)重的問(wèn)題。因此新的方案有效地延長(zhǎng)整個(gè)網(wǎng)絡(luò)的生命周期。
基站收到的數(shù)據(jù)量和時(shí)間的關(guān)系如圖6所示。從圖6中可以看出,改進(jìn)后方案中基站收到的數(shù)據(jù)量相對(duì)較高,是因?yàn)樵诟倪M(jìn)方案中節(jié)點(diǎn)通過(guò)多種方式節(jié)省了自身的能量,傳送了更多的有效數(shù)據(jù),從而更加合理地利用了有限的能量。其中,在改進(jìn)的方案中通過(guò)設(shè)置合理的發(fā)送閾值的方式可以盡量減少節(jié)點(diǎn)的通信開(kāi)銷以延長(zhǎng)了節(jié)點(diǎn)的壽命,從而基站可以接收到更多的數(shù)據(jù)保證了網(wǎng)絡(luò)中數(shù)據(jù)監(jiān)測(cè)的完整性。在實(shí)際的應(yīng)用中,可以通過(guò)節(jié)點(diǎn)定位技術(shù)估算網(wǎng)絡(luò)中節(jié)點(diǎn)的密度,從而為不同的節(jié)點(diǎn)設(shè)置不同的流量發(fā)送概率。比如,在節(jié)點(diǎn)密度比較小的監(jiān)測(cè)區(qū)域,應(yīng)保證節(jié)點(diǎn)的發(fā)送概率較大;而在節(jié)點(diǎn)密度比較大的監(jiān)測(cè)區(qū)域,由于節(jié)點(diǎn)采集的數(shù)據(jù)冗余度較大,因此可以將此區(qū)域中節(jié)點(diǎn)的流量發(fā)送概率設(shè)置偏小。
圖6 基站接收數(shù)據(jù)總量與時(shí)間關(guān)系Fig.6 Total receiving data of base station over time
網(wǎng)絡(luò)中網(wǎng)絡(luò)系統(tǒng)總能量消耗隨時(shí)間的變化如圖7所示。網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的初始能量均為2 J,系統(tǒng)的總能量為200 J。從圖7中可以看出,在改進(jìn)的方案中,網(wǎng)絡(luò)中的總能量消耗速度要慢于其他的協(xié)議,并且所有節(jié)點(diǎn)消耗的能量更加均勻,從而實(shí)現(xiàn)了網(wǎng)絡(luò)系統(tǒng)負(fù)載更加均衡。
本文在分析LEACH以及LEACH相關(guān)路由協(xié)議算法缺點(diǎn)的基礎(chǔ)上,對(duì)原有的算法進(jìn)行了改進(jìn)。所有節(jié)點(diǎn)形成位置和簇的個(gè)數(shù)固定的分簇,簇內(nèi)成員節(jié)點(diǎn)根據(jù)能量輪換擔(dān)任簇首節(jié)點(diǎn),均衡了網(wǎng)絡(luò)負(fù)載。在數(shù)據(jù)傳輸階段,簇內(nèi)成員節(jié)點(diǎn)根據(jù)實(shí)際的監(jiān)測(cè)情況,通過(guò)設(shè)置合理的流量發(fā)送概率閾值向簇首節(jié)點(diǎn)發(fā)送數(shù)據(jù),通過(guò)減少節(jié)點(diǎn)與基站的通信量,從而節(jié)省節(jié)點(diǎn)的能量,并且可以延長(zhǎng)節(jié)點(diǎn)的壽命;同時(shí)在簇首節(jié)點(diǎn)之間使用多跳的傳輸方式,彌補(bǔ)了LEACH中單跳的不足。仿真結(jié)果表明新的方案可以提高整個(gè)網(wǎng)絡(luò)的生命周期。
[1]AKYILDIZ I F,WEILIAN Su,SANKARASUBRAMANIAM Y,et al.A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102-114.
[2]張怡,李云,劉占軍,等.無(wú)線傳感器網(wǎng)絡(luò)中基于能量的簇首選擇改進(jìn)算法[J].重慶郵電大學(xué)學(xué)報(bào):自然科學(xué)版,2007,19(5):613-616.
ZHANG Yi,LIYun,LIU Zhan-jun,et al.Cluster-head selection enhancing algorithm based on energy for wireless sensor networks[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2007,19(5):613-616.
[3]路綱,周明天,佘堃,等.無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議壽命分析[J].軟件學(xué)報(bào),2009,20(2):375-393.
LU Gang,ZHOU Ming-tian,SHE Kun,et al.Lifetime Analysis on Routing Protocols of Wireless Sensor Networks[J].Journal of Software,2009,20(2):375-393.
[4] HEINZELMAN W B,CHANDRAKASAN A P,BALAKRISHNAN H.An Application-Specific Protocol Architecture forWireless Microsensor Networks[C]//IEEE.In IEEE Trans on Wireless Communications.New York:IEEE Press,2002,1(4):660-670.
[5] MURUGANATHAN SD,MA Dcf,BHASIN Pi,etal,A centralized energy-efficient routing protocol for wireless sensor networks[J].IEEE Communications Magazine,2005,43(3):8-13.
[6]HEINZELAM W.Application-Specific protocol architectures for wireless networks[D].Boston:Massachusetts Institute of Technology,2000.
[7] 馬玉剛,周群彪.基于LEACH的無(wú)線傳感器網(wǎng)絡(luò)節(jié)能算法[J].計(jì)算機(jī)應(yīng)用,2009,29(6):1514-1516.
MA Yu-gang,ZHOU Qun-biao.Energy saving algorithm on wireless sensor network based on LEACH[J].Journal of Computer Applications,2009,29(6):1514-1516.
[8]蔡烽,蔣鈴鴿,何晨.無(wú)線傳感器網(wǎng)絡(luò)的流量自適應(yīng)分簇算法協(xié)議[J].高技術(shù)通訊,2008,18(3):226-230.
CAIFeng,JIANG Ling-ge,HE Chen.A traffic-adaptive clustering protocol for wireless sensor networks[J].High Technology Letters,2008,18(3):226-230.
[9]尚鳳軍,雷陽(yáng).無(wú)線傳感器網(wǎng)絡(luò)能量有效成簇算法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2009,30(5):839-842.
SHANG Feng-jun,LEIYang.Energy EfficientClustering Algorithm for Wireless Sensor Networks[J].Mini-micro Systems,2009,30(5):839-842.
[10] TEAW E,HOU G,GOUZMAN M,et al.A Wireless Health Monitoring System[C]//IEEE.In IEEE International Conference on Information Acquisition.New York:IEEE Press,2005:247-252.
[11] GUO Shu-jie,ZHENG Jie,QU Yu-gui,et al.Clustering and multi-hop routing with power control in wireless sensor networks[J].The Journal of Beijing University of Posts and Telecommunications,2007,14(1):49-57.
[12]劉陽(yáng),童小念.基于遺傳模擬退火算法的網(wǎng)絡(luò)負(fù)載均衡研究[J].計(jì)算機(jī)與數(shù)字工程,2008,36(9):16-18.
LIU Yang,TONG Xiao-nian.Research on Network Loading Balance Based on Genetic Simulated Annealing Algorithm[J].Computer & Digital Engineering,2008,36(9):16-18.
[13] ZHANG Jun-guo,LIWen-bin,CUIDong-xu,et al.The NS2-based Simulation and Research on Wireless Sensor Network Route Protocol[C]//IEEE.In Wireless Communications,Networking and Mobile Computing.Beijing:IEEE Press,2009:24-26.