吳 昊
(滁州職業(yè)技術(shù)學(xué)院信息工程學(xué)院, 安徽 滁州 239000)
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSN)技術(shù)作為網(wǎng)絡(luò)融合的關(guān)鍵技術(shù),在物聯(lián)網(wǎng)領(lǐng)域得到了充分的應(yīng)用[1]。該技術(shù)的應(yīng)用原理是,通過(guò)在平面-立體空間內(nèi)布設(shè)廉價(jià)傳感節(jié)點(diǎn)的方式,實(shí)時(shí)進(jìn)行數(shù)據(jù)采集、傳輸、匯聚,并同步進(jìn)行數(shù)據(jù)挖掘及分析結(jié)果[2]。在實(shí)踐中,無(wú)線傳感器網(wǎng)絡(luò)往往部署于環(huán)境監(jiān)測(cè)、工業(yè)互聯(lián)等領(lǐng)域,采用分簇算法實(shí)現(xiàn)節(jié)點(diǎn)的更新,以保持傳感節(jié)點(diǎn)與sink節(jié)點(diǎn)的傳輸[3]。但部分WSN節(jié)點(diǎn)會(huì)在頻繁更新的過(guò)程中失效,使得網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性受到一定影響。這一問(wèn)題引起了研究人員的較多關(guān)注[4]。
當(dāng)前WSN節(jié)點(diǎn)的更新主要體現(xiàn)在路由、能量等單一領(lǐng)域,簇頭節(jié)點(diǎn)易失效,網(wǎng)絡(luò)傳輸容易出現(xiàn)“抖動(dòng)”現(xiàn)象[5]。Susila等人提出了一種基于分區(qū)-簇頭輪詢機(jī)制的WSN主備節(jié)點(diǎn)更新方案[6]。該方案中的算法實(shí)現(xiàn)過(guò)程比較簡(jiǎn)單,但其缺陷也較明顯。比如,單純采用能量最優(yōu)機(jī)制進(jìn)行節(jié)點(diǎn)篩選,極易使節(jié)點(diǎn)因能量消耗過(guò)多而受限, 難以適應(yīng)高寬帶采集的應(yīng)用環(huán)境。Kumar等人提出了一種分層機(jī)制的WSN主備節(jié)點(diǎn)更新方案,針對(duì)簇頭及成員節(jié)點(diǎn)按使用頻率進(jìn)行排序,篩選出使用頻率較低的節(jié)點(diǎn)作為備用節(jié)點(diǎn),從而減少因能量受限所致的傳輸抖動(dòng)現(xiàn)象[7]。該方案中篩選出的節(jié)點(diǎn)在能量上不具最優(yōu)特性,因而實(shí)踐中能量受限的概率較高。Thiruchelvi等人提出了一種基于鏈路優(yōu)化機(jī)制的WSN主備節(jié)點(diǎn)更新方案,以能量-路由為綜合判斷因素,采取抖動(dòng)監(jiān)測(cè)的方式實(shí)現(xiàn)多節(jié)點(diǎn)實(shí)時(shí)更新[8]。該方案考慮了綜合因素,比僅靠單一因素判斷更具優(yōu)勢(shì)。該算法較明顯的缺陷是,節(jié)點(diǎn)更新過(guò)于頻繁,網(wǎng)絡(luò)數(shù)據(jù)傳輸性能較差,極易出現(xiàn)網(wǎng)絡(luò)擁塞現(xiàn)象。針對(duì)這些方案的不足,本次研究將設(shè)計(jì)一種基于信任匹配機(jī)制的WSN主備節(jié)點(diǎn)更新方案,以進(jìn)一步降低節(jié)點(diǎn)更新頻率,改善網(wǎng)絡(luò)傳輸性能。
本方案中的算法由2部分機(jī)制構(gòu)成:(1) 基于動(dòng)態(tài)維度判決方法的信任匹配機(jī)制,主要考慮歐氏距離等因素,可最大限度地降低節(jié)點(diǎn)及鏈路的受限概率;(2) 基于雙重匹配的節(jié)點(diǎn)更新機(jī)制,主要考慮節(jié)點(diǎn)失效狀態(tài)下的更新問(wèn)題,可降低節(jié)點(diǎn)更新頻率,增強(qiáng)網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性。
考慮到WSN節(jié)點(diǎn)分布的離散特性[9],以誤差和絕對(duì)值作為動(dòng)態(tài)維度判決函數(shù)Error(n),其計(jì)算模型如下:
(1)
式中:n為節(jié)點(diǎn)數(shù);Ai為第i個(gè)簇頭節(jié)點(diǎn)的數(shù)目;a為Ai中備選節(jié)點(diǎn)的數(shù)目;L()為拉氏距離函數(shù)[10]。
當(dāng)存在多個(gè)備用節(jié)點(diǎn)時(shí),對(duì)模型(1)采用線性規(guī)劃方式求偏導(dǎo),得到模型(2):
(2)
令模型(2)等于0,可得式(3):
(3)
通過(guò)模型(2),可在簇頭節(jié)點(diǎn)中獲取位置最佳的備用節(jié)點(diǎn)。隨后,綜合考慮節(jié)點(diǎn)剩余能量、節(jié)點(diǎn)歐氏距離、最低傳輸跳數(shù)這3個(gè)指標(biāo),構(gòu)建動(dòng)態(tài)維度判決函數(shù)DT:
DT=x1Energy(i)+x2L(Ai)+
x3Node(i)
(4)
式中:Energy(i)為第i個(gè)節(jié)點(diǎn)的剩余能量;L(Ai)為第i個(gè)簇頭節(jié)點(diǎn)與sink節(jié)點(diǎn)的拉氏距離;Node(i)為第i個(gè)節(jié)點(diǎn)最低傳輸跳數(shù);x1+x2+x3=1。
針對(duì)數(shù)據(jù)傳輸?shù)娜抗?jié)點(diǎn)按模型(4)構(gòu)建動(dòng)態(tài)維度判決函數(shù),從中篩選出排序前i的節(jié)點(diǎn)作為本輪備用節(jié)點(diǎn)集合Ω。當(dāng)僅當(dāng)?shù)趍號(hào)簇頭節(jié)點(diǎn)失效時(shí),從該集合中搜尋排序第m的節(jié)點(diǎn)作為替換節(jié)點(diǎn)。圖1所示為基于動(dòng)態(tài)維度判決方法的信任匹配機(jī)制示意圖。
當(dāng)m號(hào)節(jié)點(diǎn)作為替換節(jié)點(diǎn)并承擔(dān)簇頭節(jié)點(diǎn)功能后,下一時(shí)刻仍然需要重新對(duì)動(dòng)態(tài)維度判決函數(shù)進(jìn)行排序。在此,設(shè)計(jì)了基于雙重匹配的節(jié)點(diǎn)更新機(jī)制,以降低排序的時(shí)間成本。圖2所示為基于雙重匹配的節(jié)點(diǎn)更新機(jī)制示意圖。
圖1 基于動(dòng)態(tài)維度判決方法的信任匹配機(jī)制示意圖
圖2 基于雙重匹配的節(jié)點(diǎn)更新機(jī)制示意圖
Step 1逐次獲取全部節(jié)點(diǎn)的剩余能量,將從中篩選出的能量最大節(jié)點(diǎn)作為匹配節(jié)點(diǎn),并設(shè)定為第0號(hào)節(jié)點(diǎn)。篩選方法如下:
Energy(0)=max[Energy(i)]
(5)
Step 2從剩下的網(wǎng)絡(luò)節(jié)點(diǎn)中篩選出拉氏距離最小的節(jié)點(diǎn),對(duì)備用節(jié)點(diǎn)集合Ω進(jìn)行替補(bǔ)。篩選方法如下:
L(A)=min[L(Ai)]
(6)
Step 3當(dāng)且僅當(dāng)某簇頭節(jié)點(diǎn)失效時(shí),按滿足模型(4)的DT對(duì)應(yīng)值進(jìn)行簇頭節(jié)點(diǎn)更新,轉(zhuǎn)Step 1,算法結(jié)束。
當(dāng)完成節(jié)點(diǎn)更新時(shí),網(wǎng)絡(luò)中的簇頭節(jié)點(diǎn)與普通傳感節(jié)點(diǎn)均處于穩(wěn)定傳輸狀態(tài)。0號(hào)節(jié)點(diǎn)為性能最佳節(jié)點(diǎn),可在緊急情況下承擔(dān)簇頭節(jié)點(diǎn)的數(shù)據(jù)匯聚及傳輸功能,從而降低網(wǎng)絡(luò)鏈路出現(xiàn)抖動(dòng)的情形。此外,采用拉氏距離最短方式選取備用節(jié)點(diǎn),可顯著增加備選節(jié)點(diǎn)的數(shù)量。當(dāng)簇頭節(jié)點(diǎn)出現(xiàn)異常,且0號(hào)節(jié)點(diǎn)無(wú)法正常工作時(shí),有了數(shù)量較多的備選節(jié)點(diǎn),就可避免因節(jié)點(diǎn)受限而導(dǎo)致的傳輸擁塞現(xiàn)象。
在Matlab仿真實(shí)驗(yàn)環(huán)境下,對(duì)本算法與當(dāng)前實(shí)踐中廣泛部署的CBA-E算法(a cluster-based approach for minimizing energy consumption by reducing travel time of mobile element in WSN,基于簇的無(wú)線傳感器網(wǎng)絡(luò)能量消耗最小化算法)[11]和IIL算法(an improved cluster routing protocol to increase the lifetime of wireless sensor network,基于提高無(wú)線傳感器網(wǎng)絡(luò)生存期機(jī)制的改進(jìn)簇路由協(xié)議算法)[12]進(jìn)行仿真,對(duì)比它們?cè)诠?jié)點(diǎn)更新頻率和網(wǎng)絡(luò)生存時(shí)間方面的改善效果。不失一般性,節(jié)點(diǎn)部署區(qū)域?yàn)檎叫?,采用隨機(jī)游走模型進(jìn)行部署。具體仿真參數(shù)如表1所示。
表1 仿真參數(shù)
網(wǎng)絡(luò)生存時(shí)間仿真測(cè)試結(jié)果顯示(見圖3),網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù)越多,各算法的網(wǎng)絡(luò)生存時(shí)間就越長(zhǎng),但本算法的網(wǎng)絡(luò)生存時(shí)間始終相對(duì)較長(zhǎng)。這是由于,在本算法中針對(duì)節(jié)點(diǎn)易出現(xiàn)失效的情形,設(shè)計(jì)了基于動(dòng)態(tài)維度判決方法的信任匹配機(jī)制,通過(guò)節(jié)點(diǎn)剩余能量、拉氏距離、節(jié)點(diǎn)最低傳輸跳數(shù)這3個(gè)指標(biāo)綜合進(jìn)行節(jié)點(diǎn)更新判斷,降低了能量受限和鏈路抖動(dòng)的概率,提高了數(shù)據(jù)的生存質(zhì)量。CBA-E算法雖然引入了分層機(jī)制優(yōu)化簇頭節(jié)點(diǎn)更新流程,但該算法僅針對(duì)簇頭內(nèi)節(jié)點(diǎn)進(jìn)行主備輪詢,無(wú)法通過(guò)節(jié)點(diǎn)更新方式來(lái)改善區(qū)域間的數(shù)據(jù)匯聚質(zhì)量;因此,區(qū)域數(shù)據(jù)擁塞出現(xiàn)的概率較高,網(wǎng)絡(luò)整體生存時(shí)間比本算法短。IIL算法雖然針對(duì)區(qū)域間鏈路進(jìn)行了節(jié)點(diǎn)主備更換操作,但僅單純采取休眠機(jī)制進(jìn)行簇內(nèi)節(jié)點(diǎn)輪詢,難以在底層優(yōu)化數(shù)據(jù)傳輸,因此,其網(wǎng)絡(luò)生產(chǎn)時(shí)間比本算法短。
節(jié)點(diǎn)更新頻率仿真結(jié)果顯示(見圖4),本算法的節(jié)點(diǎn)更新頻率均處于較低水平,可顯著降低因節(jié)點(diǎn)切換次數(shù)過(guò)多而導(dǎo)致的能量受限現(xiàn)象。這是因?yàn)椋诒舅惴ㄖ谢谀芰?、距離等因素設(shè)計(jì)了基于雙重匹配的節(jié)點(diǎn)更新機(jī)制,采用雙重更新的方式優(yōu)化節(jié)點(diǎn)更新操作,可顯著降低因鏈路抖動(dòng)而導(dǎo)致的節(jié)點(diǎn)頻繁更新現(xiàn)象。在CBA-E算法中采用了輪詢機(jī)制進(jìn)行簇頭節(jié)點(diǎn)更新,未考慮簇間鏈路抖動(dòng)而導(dǎo)致的節(jié)點(diǎn)誤更新現(xiàn)象,數(shù)據(jù)傳輸質(zhì)量未能得到優(yōu)化,因而其節(jié)點(diǎn)更新頻率高于本算法。在IIL算法中采用了休眠機(jī)制進(jìn)行主備節(jié)點(diǎn)更換,實(shí)踐中需要同時(shí)以N∶1的比例實(shí)時(shí)更新節(jié)點(diǎn),或因反應(yīng)遲滯而頻繁更新,因而其節(jié)點(diǎn)更新頻率高于本算法。
圖3 網(wǎng)絡(luò)生存時(shí)間
圖4 節(jié)點(diǎn)更新頻率
本次研究中針對(duì)WSB主備節(jié)點(diǎn)更新更新頻率過(guò)快、能量受限程度嚴(yán)重等問(wèn)題,提出了一種基于信任匹配機(jī)制的WSN主備節(jié)點(diǎn)更新方案,引入基于動(dòng)態(tài)維度判決方法的信任匹配機(jī)制和基于雙重匹配的節(jié)點(diǎn)更新機(jī)制。首先,基于聚類方式構(gòu)建信任度函數(shù),僅在歐氏距離、跳數(shù)等參數(shù)處于最優(yōu)信任狀態(tài)時(shí)啟動(dòng)節(jié)點(diǎn)更換,大幅提高了匹配效率,從而實(shí)現(xiàn)了節(jié)能狀態(tài)下節(jié)點(diǎn)的高效替換。然后,基于信任度進(jìn)行數(shù)據(jù)建模,從備用節(jié)點(diǎn)中篩選出簇頭管理節(jié)點(diǎn),以進(jìn)一步降低區(qū)域內(nèi)能量消耗及鏈路抖動(dòng)的情形,從而提升節(jié)點(diǎn)的更新質(zhì)量,改善網(wǎng)絡(luò)傳輸性能。通過(guò)Matlab軟件仿真對(duì)比實(shí)驗(yàn),驗(yàn)證了本算法的良好性能。