孫 環(huán),陳宏濱
(桂林電子科技大學信息與通信學院,廣西 桂林 541004)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSN)是由傳感器節(jié)點以無線通信的方式,在監(jiān)測區(qū)域內(nèi)形成的自組織網(wǎng)絡(luò)[1]。至今,無線傳感器網(wǎng)絡(luò)在軍事、智慧交通、健康醫(yī)療[2,3]等方面越來越普及。通常情況下,大量的無線傳感器節(jié)點隨機部署在監(jiān)測區(qū)域內(nèi),隨著網(wǎng)絡(luò)的運行,不可避免地產(chǎn)生網(wǎng)絡(luò)負載不均衡問題。通過優(yōu)化傳感器節(jié)點的部署位置,可以有效地均衡網(wǎng)絡(luò)負載,延長網(wǎng)絡(luò)生命周期。近年來,許多學者對此問題進行了研究。
由于傳感器節(jié)點的可用資源有限,且在某些場景不能及時進行補充,因此需要對傳感器節(jié)點的能量使用效率和部署進行優(yōu)化。目前有許多研究者提出通過聚類技術(shù)均衡網(wǎng)絡(luò)能耗,延長網(wǎng)絡(luò)生命周期[4,5]。但當網(wǎng)絡(luò)采用聚類技術(shù)之后,在網(wǎng)絡(luò)進行數(shù)據(jù)采集過程中,網(wǎng)絡(luò)能耗和網(wǎng)絡(luò)負載不均衡問題依然是延長網(wǎng)絡(luò)生命周期的重要問題。
文獻[6]提出了一種新的基于能量感知的分層雙層能源收集輔助的WSNs節(jié)點部署方案。該方案考慮了節(jié)點:常規(guī)電池供電的傳感器節(jié)點和具有能量采集輔助數(shù)據(jù)的中繼節(jié)點。根據(jù)概率密度函數(shù),研究了最小神經(jīng)網(wǎng)絡(luò)個數(shù),以最小化網(wǎng)絡(luò)能耗。文獻[7]提出了一種有效的負載均衡數(shù)據(jù)采集方案,該方案通過選擇一組中繼節(jié)點,引入移動匯聚節(jié)點,優(yōu)化匯聚節(jié)點的移動路徑,平衡網(wǎng)絡(luò)負載,延長網(wǎng)絡(luò)生命周期。文獻[8]根據(jù)提高無線傳感器網(wǎng)絡(luò)生命周期的兩種主要技術(shù):①最優(yōu)的傳感器激活;②基于壓縮感知的有效數(shù)據(jù)采集和轉(zhuǎn)發(fā),提出了一種迭代解決能量平衡問題的替代方法,有效地均衡了網(wǎng)絡(luò)能量。文獻[9]提出了一種新穎的WSNs數(shù)據(jù)傳輸負載均衡策略,即基于超級鏈路的數(shù)據(jù)引流,充分利用硬件更強大、通信能力更強的超級節(jié)點,實現(xiàn)數(shù)據(jù)流量的再分配。與傳統(tǒng)的被動的晚期補救方法不同,這是一種積極的早期干預策略。但該策略對于基于部署的策略,通常在sink周圍部署額外的節(jié)點,以緩解sink周圍節(jié)點的負載,沒有考慮距離sink距離遠的節(jié)點負載。
為了解決WSN節(jié)點部署問題,近年來,有許多研究者采用智能優(yōu)化算法來處理[10]。文獻[11]通過利用粒子群優(yōu)化算法有效地處理WSN節(jié)點部署優(yōu)化問題,但粒子群優(yōu)化算法迭代效率低,容易陷入局部最優(yōu)值。在此基礎(chǔ)上,文獻[12]提出了一種全局優(yōu)化的傳感器節(jié)點部署策略,即基于蟻獅優(yōu)化算法的無線傳感器網(wǎng)絡(luò)節(jié)點部署方案。首先該方案以傳感器節(jié)點覆蓋目標區(qū)域為目的,建立了相應的數(shù)學模型。然后將節(jié)點部署的優(yōu)化問題轉(zhuǎn)化為求函數(shù)最大值的問題。最后利用蟻獅算法得到最佳節(jié)點部署位置。但上述文獻未考慮網(wǎng)絡(luò)的實際負載以及能量消耗情況,部署后的節(jié)點由于可使用的能量有限,會出現(xiàn)網(wǎng)絡(luò)負載不均衡問題。
針對上述網(wǎng)絡(luò)負載不均衡問題,本文綜合考慮了節(jié)點初始部署后的網(wǎng)絡(luò)負載和能量消耗,提出了一種負載均衡的無線傳感器網(wǎng)絡(luò)節(jié)點重部署(Load Balanced Node Redeployment, LBNR)算法。該算法主要對負載大的簇進行拆分,負載小的簇進行簇成員節(jié)點移動。在網(wǎng)絡(luò)完成初始化之后,利用k-means算法[13]對網(wǎng)絡(luò)中所有節(jié)點進行分簇,引入冗余節(jié)點[14],冗余節(jié)點一開始處于休眠狀態(tài),根據(jù)平均簇負載大小,判別出重載簇和輕載簇,計算出最優(yōu)簇頭數(shù),對傳感器節(jié)點進行重部署。在減小簇規(guī)模階段,利用帝王蝶優(yōu)化算法[15]對冗余節(jié)點進行移動,以冗余節(jié)點為簇頭,將規(guī)模大的簇進行拆分,增加簇的個數(shù);在增大簇規(guī)模階段,簇成員節(jié)點進行鄰近運動,動態(tài)調(diào)整各簇規(guī)模。該算法最大限度地使簇負載均衡、能量均衡,延長網(wǎng)絡(luò)生命周期。本文的主要貢獻如下:
1)本文在基于集群的數(shù)據(jù)收集過程中,研究了網(wǎng)絡(luò)負載瓶頸問題,考慮到節(jié)點數(shù)據(jù)量的差異性,充分利用了初始隨機部署過程中的冗余節(jié)點。
2)為了解決網(wǎng)絡(luò)負載不均衡問題,設(shè)計了一種負載均衡的傳感器節(jié)點重部署算法,對網(wǎng)絡(luò)的局部優(yōu)化和全局優(yōu)化進行平衡,高效能地移動冗余節(jié)點和簇內(nèi)普通節(jié)點,實現(xiàn)簇負載與能量相匹配。
3)仿真結(jié)果驗證了所提算法能有效地均衡網(wǎng)絡(luò)負載,提高網(wǎng)絡(luò)資源利用率,增大數(shù)據(jù)采集量。
如圖1 所示,無線傳感器網(wǎng)絡(luò)模型主要由匯聚(sink)節(jié)點、簇頭、普通節(jié)點、冗余節(jié)點組成。其中,匯聚節(jié)點負責收集分析網(wǎng)絡(luò)中的所有數(shù)據(jù),普通節(jié)點進行感知數(shù)據(jù),簇頭節(jié)點負責收集、融合、轉(zhuǎn)發(fā)簇內(nèi)所有普通節(jié)點的數(shù)據(jù),冗余節(jié)點初始時處于休眠狀態(tài)。網(wǎng)絡(luò)執(zhí)行過程以網(wǎng)絡(luò)工作輪數(shù)的形式進行,每一輪都包含數(shù)據(jù)的通信階段。
圖1 無線傳感器網(wǎng)絡(luò)模型
無線傳感器網(wǎng)絡(luò)節(jié)點部署過程如下:首先,在規(guī)模為L×L的正方形監(jiān)測區(qū)域內(nèi),隨機部署N個傳感器節(jié)點,利用k-means算法進行分簇。然后,普通節(jié)點將感知數(shù)據(jù)傳輸?shù)阶约核幋氐拇仡^處,簇頭再進行數(shù)據(jù)融合和轉(zhuǎn)發(fā)。最后,當簇的負載達到設(shè)定的閾值時,移動冗余節(jié)點進行簇拆分階段,進而以冗余節(jié)點為簇頭將原集群進行拆分,生成新的簇(此時簇數(shù)目>1)。當網(wǎng)絡(luò)中簇數(shù)達到最佳時,簇成員節(jié)點進行鄰近運動,完成簇成員調(diào)整,從而實現(xiàn)網(wǎng)絡(luò)負載均衡。
為了更好地實現(xiàn)本文設(shè)計目標,本文中的節(jié)點位置信息都可以通過特殊方式獲得。該網(wǎng)絡(luò)的具體假設(shè)如下:
1)每個節(jié)點都能通過全球定位系統(tǒng)(Global Positioning System,GPS)或其它一些特殊定位算法[16]知道自己的位置,相鄰節(jié)點間可以互相通信,每個傳感器節(jié)點有其唯一身份標識號(Identity Document,ID)。
2)每個節(jié)點只被包含于一個簇中,且初始化時節(jié)點的屬性相同。
3)所有簇頭都以單跳方式向匯聚節(jié)點發(fā)送數(shù)據(jù),簇內(nèi)普通節(jié)點也以單跳方式向自己的簇頭傳輸數(shù)據(jù)。
4)匯聚節(jié)點位于網(wǎng)絡(luò)中心,且沒有能源限制。
5)整個網(wǎng)絡(luò)中的節(jié)點在初始部署后都是可移動的,并且簇與簇之間不存在信息的傳遞。
對于能量消耗程度的測量,使用一階無線電模型[17]。假設(shè)通信距離為d,比較發(fā)射機和接收機之間的距離與閾值d0的大小,分別采用自由空間信道和多路徑衰減信道。例如,從發(fā)射節(jié)點距離為d的接收節(jié)點發(fā)送m比特數(shù)據(jù)時,所消耗的能量可以用公式表示為
(1)
其中,d0為距離閾值;Eelec是發(fā)送/接收1bit數(shù)據(jù)的能量消耗;εfs表示當d≤d0時,自由空間中發(fā)送電路的放大系數(shù),其值設(shè)為12pJ/bit/m2;εamp為當d>d0時,多徑信道中發(fā)送電路的放大系數(shù),其值設(shè)為0.0012pJ/bit/m4節(jié)點在感知過程中消耗能量忽略不計。
節(jié)點接收mbit數(shù)據(jù)所需能量損耗ERX(m)為
ERX(m)=m×Eelec
(2)
節(jié)點移動所消耗的能量Emove可表示為:
Emove=e×dx
(3)
式(3)中e為單位距離內(nèi)節(jié)點移動能耗,dx為節(jié)點移動距離。
本章針對無線傳感器網(wǎng)絡(luò)負載不均衡問題,提出基于MBO的負載均衡節(jié)點重部署的原因。首先,給出以下定義:
定義1 生命周期:當網(wǎng)絡(luò)中死亡節(jié)點數(shù)目達到網(wǎng)絡(luò)節(jié)點總數(shù)目的40%時,表示該網(wǎng)絡(luò)生命周期結(jié)束。
定義2 死亡率:死亡節(jié)點數(shù)目與節(jié)點數(shù)目N的比值。
定義3 傳感器節(jié)點集合S={S1,S2,…,SN},冗余節(jié)點的集合R={R1,R2,…,Rx},且R∈S。
在無線傳感器網(wǎng)絡(luò)中,網(wǎng)絡(luò)進行初始部署之后,由于節(jié)點能量有限且難以進行補充或替換、每個節(jié)點產(chǎn)生的數(shù)據(jù)量不一致,網(wǎng)絡(luò)負載可能隨時間變化而變化,容易導致負載大的節(jié)點能量消耗過快提前死亡,影響網(wǎng)絡(luò)數(shù)據(jù)采集,甚至導致網(wǎng)絡(luò)癱瘓,無法正常運行。因此,本文對網(wǎng)絡(luò)負載不均衡問題進行了研究,考慮了節(jié)點的實際負載情況,在帝王蝶優(yōu)化算法的基礎(chǔ)上,提出了一種負載均衡的無線傳感器網(wǎng)絡(luò)節(jié)點重部署算法。
本文為了平衡各簇的負載,不僅使最大負載簇最小化,而且還研究了所有簇之間的負載分配。因此,本文的適應度函數(shù)可以根據(jù)簇負載的標準差來建立。簇負載的標準差可以表示為
(4)
標準差越小,適應度值越好。因此適應度函數(shù)可以表示為
(5)
設(shè)負載平衡閾值為Q,實際負載平衡比率LBR表示為
(6)
其中,LCmin為最小負載集群,LCmax為最大負載集群。
能量均衡條件表示為
(7)
其中,ECmin為最小簇的剩余能量,ECmax為最大簇的剩余能量。
最優(yōu)簇頭數(shù)的計算公式[18]表示為
(8)
其中,N為節(jié)點個數(shù),M為網(wǎng)絡(luò)覆蓋范圍半徑,d為簇頭到sink節(jié)點的距離期望值,dCH_BS為簇頭到基站的歐氏距離。
帝王蝶優(yōu)化算法[15](Monarch Butterfly Optimization,MBO)是根據(jù)帝王蝶的群體啟發(fā)式運動而產(chǎn)生的智能優(yōu)化算法,主要通過帝王蝶攜帶的信息,實現(xiàn)位置優(yōu)化更新。MBO算法包含兩個算子:遷移算子和蝶形調(diào)整算子,通過這兩個算子可以控制帝王蝶的位置,且可同時執(zhí)行這兩個算子。故MBO算法適合并行處理,又因其易操作、便捷等特性,能較好地協(xié)調(diào)局部搜索和全局搜索。
1)遷移算子
假設(shè)種群數(shù)目為NP,Land1中的子種群1(NP1)為ceil(p*NP),Land2中子種群2(NP2)為NP-NP1。其中,p為遷移率,即種群1所占的比例。
遷移過程中,當r≤p時
(9)
r=rand*t0
(10)
當r>p時
(11)
上式(10)中,rand為服從均勻分布的隨機數(shù),t0為遷移周期;上式(11)中的r2是從NP2中隨機選擇的。
MBO算法中通過調(diào)整遷移率p可以平衡遷移算子的方向。若p越大,則從Land1中選擇更多帝王蝶,反之,則從Land2中選擇更多帝王蝶。
2)蝶形調(diào)整算子
對于帝王蝶j中的元素,如果隨機生成的數(shù)字rand小于或等于p,則可以將其更新為
(12)
其中,xbest是Land1和Land2中最好的帝王蝶。
若rand>p,則有
(13)
若rand>BAR,則
(14)
(15)
α=Smax/t2
(16)
其中,r3是從NP2中隨機選擇的帝王蝶,BAR為蝶形調(diào)整率,Smax為一個帝王蝶個體一步移動的最大距離,α為加權(quán)因子,在本文中Smax取值為1.0,BAR=5/12,遷移周期t0=1.2,遷移率p=5/12。
在本小節(jié)中,通過利用MBO算法移動冗余節(jié)點,以拆分負載大的簇,實現(xiàn)最小化最大簇負載。此外,為了所有簇之間的負載分配,當簇頭數(shù)目達到最優(yōu)時,利用鄰近運動進行簇成員節(jié)點的移動,以實現(xiàn)網(wǎng)絡(luò)負載均衡。鄰近運動如圖2所示,假設(shè)簇D是負載最小的簇,簇B是負載最大的簇,負載C是第二大的簇,此時需要平衡簇D的負載。因節(jié)點的數(shù)據(jù)產(chǎn)生量在每次迭代中不同,故以節(jié)點i的實際負載、剩余能量和距離相鄰簇的歐氏距離為判定標準,先從簇B中選擇適合的成員節(jié)點移動到簇C中,然后再將簇C中選擇符合條件的節(jié)點移動到簇D。鄰近運動有利于平衡各簇負載,減少移動能耗。
圖2 鄰近運動
在增大簇規(guī)模階段,通過函數(shù)值動態(tài)調(diào)整成員節(jié)點,以平衡各簇負載,節(jié)點i的函數(shù)表達形式如下
f=ω1vL+ω2er+ω3ditoh
(17)
其中,ω1,ω2,ω3分別為節(jié)點的實際負載、剩余能量以及節(jié)點間距離在函數(shù)所占的權(quán)重因子,且ω1+ω2+ω3=1。vL為節(jié)點i當前的實際負載,er為節(jié)點i的剩余能量,ditoh為節(jié)點i到相鄰簇簇頭的歐氏距離。
本章節(jié)為了提高網(wǎng)絡(luò)數(shù)據(jù)收集率,引入了k-means聚類算法,但隨著網(wǎng)絡(luò)的運行,由于每個節(jié)點的數(shù)據(jù)產(chǎn)生量不同,會出現(xiàn)負載瓶頸問題,需對網(wǎng)絡(luò)節(jié)點進行重新部署。近年來,智能優(yōu)化算法已廣泛應用于無線傳感器網(wǎng)絡(luò)中,而MBO算法作為有前景的智能優(yōu)化算法之一,在節(jié)點部署優(yōu)化問題上具有很大的潛力。利用其遷移算子,根據(jù)節(jié)點的實際負載,剩余能量以及具體位置,移動網(wǎng)絡(luò)中的冗余節(jié)點,完成簇的拆分。此外,該算法結(jié)合本章節(jié)所提的鄰近運動,能有效地調(diào)動冗余節(jié)點,移動簇內(nèi)普通節(jié)點,使節(jié)點的能量與其負載相匹配,提高網(wǎng)絡(luò)數(shù)據(jù)采集量。根據(jù)MBO算法,設(shè)置sink與簇頭的通信距離閾值為Dth,sink節(jié)點與簇頭節(jié)點的實際距離為Dch,若Dch小于或等于Dth的集群稱為相鄰sink簇,反之為遠離sink簇,將相鄰sink簇和遠離sink簇分別作為Area1和Area2。
具體的算法步驟如下:
Step 2:利用k-means算法進行分簇;
Step 3:標出所有冗余節(jié)點,且其一開始處于睡眠狀態(tài),所消耗的能量忽略不計;
Step 4:計算出每個簇的實際負載;
Step 5:根據(jù)網(wǎng)絡(luò)中簇是否存在數(shù)據(jù)量異?,F(xiàn)象,來判斷網(wǎng)絡(luò)中簇數(shù)目是否達到最佳簇數(shù);
Step 6:通過MBO算法進行負載均衡:
Step 6.2:網(wǎng)絡(luò)中存在數(shù)據(jù)量異常的簇,則網(wǎng)絡(luò)中簇數(shù)未達到最佳簇數(shù),利用冗余節(jié)點進行拆簇;
Step 6.2.1:首先根據(jù)適應度對所有節(jié)點進行排序,然后根據(jù)通信距離閾值Dth,將網(wǎng)絡(luò)中所有簇分為Area1和Area2;
先遍歷Area1中的所有節(jié)點,并對節(jié)點的剩余能量,實際負載以及位置等信息進行統(tǒng)計排序。然后通過均勻分布隨機生成數(shù)字rand,并根據(jù)式(10)計算出r的值。最后比較r和遷移率p的大小,若r
Step 6.2.3:選定好冗余節(jié)點之后,尋找以冗余節(jié)點為簇頭的成員節(jié)點,進行以下操作:
與Step 6.2.2相似,首先遍歷Area2中的所有節(jié)點。然后通過均勻分布隨機產(chǎn)生一個數(shù)字rand,并與遷移率p比較,若rand ≤ p,則根據(jù)式(12)更新節(jié)點位置,使節(jié)點移動到新的簇內(nèi);反之,則在CW中,以競爭的形式,選擇成員節(jié)點。主要根據(jù)節(jié)點的剩余能量和到簇頭的距離大小,選擇合適的節(jié)點,且根據(jù)式(18)計算出所需移動的節(jié)點數(shù)目。所需的移動節(jié)點數(shù)目為然后更新節(jié)點j的位置;最后若rand >BAR,節(jié)點根據(jù)式(14)進行位置更新。
所需移動的節(jié)點數(shù)目
(18)
其中,vmax為節(jié)點的最大負載。
Step 6.3:若網(wǎng)絡(luò)中簇數(shù)達到最佳簇數(shù),網(wǎng)絡(luò)中還有剩余的冗余節(jié)點,則移動冗余節(jié)點增加簇規(guī)模;反之,若沒有冗余節(jié)點,則根據(jù)鄰近運動調(diào)整最小簇規(guī)模。主要根據(jù)網(wǎng)絡(luò)實際負載平衡比率LBR與負載平衡閾值Q的關(guān)系,若LBR 步驟7:更新所有節(jié)點位置信息,然后根據(jù)更新后的節(jié)點部署評估網(wǎng)絡(luò)性能; 步驟8:重復步驟2到步驟7的步驟,直到網(wǎng)絡(luò)生命結(jié)束。 具體的LBNR算法流程圖如圖3所示。 圖3 算法流程圖 本文仿真在Matlab R2014a環(huán)境下運行。在仿真中,200個傳感器節(jié)點隨機分布在網(wǎng)絡(luò)規(guī)模為100m的正方形區(qū)域內(nèi),仿真結(jié)果是節(jié)點進行重部署后的網(wǎng)絡(luò)性能表現(xiàn)?;疚挥诰W(wǎng)絡(luò)中心,利用k-means算法進行分簇,各節(jié)點的初始能量都為1J,每個節(jié)點采集數(shù)據(jù)量在1000~2000 bit內(nèi)隨機產(chǎn)生,節(jié)點的最大負載vmax為2000bit,收發(fā)電路處理1bit的數(shù)據(jù)能耗Eelec為50×10-9J/bit,簇頭融合1bit的數(shù)據(jù)能耗為50×10-9J/bit,為了驗證本文所提算法在負載均衡方面的優(yōu)越性,將本章節(jié)提出的LBNR算法和未進行重新部署的基于k-means聚類收集數(shù)據(jù)的方案(在下列仿真圖描述中以k-means算法代替)和NRBFA算法[14]在網(wǎng)絡(luò)總傳輸能耗、網(wǎng)絡(luò)負載、死亡節(jié)點數(shù)、網(wǎng)絡(luò)數(shù)據(jù)采集量四個方面進行比較。 圖4顯示了網(wǎng)絡(luò)運行過程中節(jié)點的死亡情況。本文把網(wǎng)絡(luò)中死亡節(jié)點數(shù)目達到網(wǎng)絡(luò)節(jié)點總數(shù)目的40%定義為網(wǎng)絡(luò)生命周期。由圖4可知,網(wǎng)絡(luò)一開始節(jié)點能量充足,可以正常的進行工作,但隨著網(wǎng)絡(luò)運行時間增加,節(jié)點能耗不均衡,導致負載大的節(jié)點提前死亡,k-means算法大約從110輪開始出現(xiàn)死亡節(jié)點,NRBFA算法540輪左右出現(xiàn)死亡節(jié)點,而本章所提LBNR算法在950左右才出現(xiàn)死亡節(jié)點,本章所提出的算法能有效地延長網(wǎng)絡(luò)生命周期。 圖4 節(jié)點死亡率對比 圖5顯示了本文所提出算法的簇負載標準差基本都低于NRBFA算法,即網(wǎng)絡(luò)負載均衡效果更好。這是因為網(wǎng)絡(luò)在達到最優(yōu)簇數(shù)后,考慮到節(jié)點感知數(shù)據(jù)量不一致,還進行了簇成員動態(tài)調(diào)整,不再單一的只關(guān)注簇頭的負載,而是考慮了所有節(jié)點的實際負載情況。此外,因未進行重新部署的基于k-means聚類收集數(shù)據(jù)的方案中網(wǎng)絡(luò)生命周期比較短,該仿真圖中沒有將其進行比較。 圖5 網(wǎng)絡(luò)負載均衡對比 圖6顯示了網(wǎng)絡(luò)總能耗隨輪數(shù)變化。隨著網(wǎng)絡(luò)工作輪數(shù)的增加,網(wǎng)絡(luò)的總傳輸能耗也呈增長的趨勢。在網(wǎng)絡(luò)運行的前142輪內(nèi),k-means算法的網(wǎng)絡(luò)能耗最大。但在142輪之后,k-means算法不再工作,網(wǎng)絡(luò)能耗不變,而NRBFA算法和本章所提算法在500輪以內(nèi),一直收集數(shù)據(jù),網(wǎng)絡(luò)能耗呈增長趨勢,且本章所提算法節(jié)能效果更好。這是因為在NRBFA算法中,隨著網(wǎng)絡(luò)運行,節(jié)點產(chǎn)生的數(shù)據(jù)量不同,簇負載不同,導致部分節(jié)點負載過大,冗余節(jié)點替換簇頭越來越頻繁,當所有冗余節(jié)點都替換完之后,網(wǎng)絡(luò)的能耗會快速上升。而本文的算法考慮了所有簇的負載,使網(wǎng)絡(luò)負載均衡,網(wǎng)絡(luò)能耗消耗均衡。 圖6 網(wǎng)絡(luò)總能耗隨輪數(shù)的變化 圖7展示了網(wǎng)絡(luò)總數(shù)據(jù)收集量隨輪數(shù)變化。在網(wǎng)絡(luò)運行的前142輪內(nèi),k-means算法收集的數(shù)據(jù)量最大,但隨著網(wǎng)絡(luò)的運行,對于負載大的節(jié)點,沒有可替換的方案,導致網(wǎng)絡(luò)在142輪之后就不再進行工作,使得網(wǎng)絡(luò)總數(shù)據(jù)量較低。而對于LBNR算法和NRBFA算法而言,隨著網(wǎng)絡(luò)輪數(shù)的增加,網(wǎng)絡(luò)收集的數(shù)據(jù)量也呈增長趨勢。但NRBFA算法所進行的部署方案,只考慮了簇頭的負載,沒有考慮到簇內(nèi)成員節(jié)點負載大的情況,導致網(wǎng)絡(luò)后期數(shù)據(jù)收集量減少。而本文的算法考慮了簇負載情況,以及簇內(nèi)每個節(jié)點負載情況,更好地均衡了網(wǎng)絡(luò)負載,延長了網(wǎng)絡(luò)生命周期,提高了網(wǎng)絡(luò)中數(shù)據(jù)采集量。 圖7 網(wǎng)絡(luò)總數(shù)據(jù)量隨輪數(shù)的變化 合理的節(jié)點重部署方案對無線傳感器網(wǎng)絡(luò)中均衡節(jié)點能耗、平衡網(wǎng)絡(luò)負載、延長網(wǎng)絡(luò)生命周期具有十分重要的意義。針對網(wǎng)絡(luò)中負載不均衡問題,本文提出了一種基于負載均衡的無線傳感器網(wǎng)絡(luò)節(jié)點重部署算法,考慮到節(jié)點產(chǎn)生的數(shù)據(jù)量不同,隨著時間的推移,網(wǎng)絡(luò)中簇負載會不同。當簇負載過大時,根據(jù)MBO算法移動冗余節(jié)點,進行簇的拆分。當網(wǎng)絡(luò)達到最優(yōu)簇頭數(shù)時,對負載輕的簇進行簇成員移動,以最小化最大簇負載,考慮網(wǎng)絡(luò)所有簇負載,實現(xiàn)網(wǎng)絡(luò)負載均衡。仿真結(jié)果表明,相比NRBFA算法與k-means算法,在網(wǎng)絡(luò)進行數(shù)據(jù)采集的情況下,本文所提出的LBNR算法使網(wǎng)絡(luò)負載和能耗更均衡,網(wǎng)絡(luò)生命周期更長。5 仿真結(jié)果與分析
6 結(jié)束語