摘要:為延長油氣物聯(lián)網(wǎng)壽命,提出一種基于雙簇頭的油氣物聯(lián)網(wǎng)路由算法。該算法在簇頭選舉過程中充分考慮了傳感器節(jié)點當前剩余能量、歷史平均能量、節(jié)點與基站的距離、鄰居節(jié)點密度以及節(jié)點與能量收集源的距離等因素,并在同一簇群中選舉雙簇頭,同時在數(shù)據(jù)傳輸階段提出一種新型路由方式以均衡簇頭能耗。在引入能量采集技術(shù)的同時,采用了一種新型的節(jié)點工作模式切換策略。仿真實驗表明,與傳統(tǒng)算法相比,該算法能更有效地均衡網(wǎng)絡能耗,延長網(wǎng)絡壽命。
關(guān)鍵詞:油氣物聯(lián)網(wǎng);歷史平均能量;雙簇頭;路由算法;能量采集
中圖分類號:TP393 文獻標志碼:A
0 引言
隨著無線傳感器網(wǎng)絡(WSN:Wireless Sensor Network)、電信和信息學的不斷進步促進了物聯(lián)網(wǎng)(IoT:Intemet of Things)的迅猛發(fā)展。其中WSN將與物理領域相關(guān)的信息關(guān)聯(lián)到物聯(lián)網(wǎng)驅(qū)動的計算系統(tǒng)。WSN由大量傳感器節(jié)點組成,其隨機分布在監(jiān)測區(qū)域內(nèi),收集數(shù)據(jù)并將其上傳到基站(basestation)。數(shù)據(jù)經(jīng)通信鏈路(如衛(wèi)星或互聯(lián)網(wǎng))由基站傳輸?shù)浇K端系統(tǒng)。由于傳感器節(jié)點主要由電池供電,因此其能量有限,從而嚴重影響了WSN的質(zhì)量、性能和壽命。Heinzelman等提出了層次型路由協(xié)議LEACH(Low Energy Adaptive Clustering Hierarchy),首次引入了節(jié)點聚類分簇的思想。但LEACH算法在選舉簇頭時沒有考慮節(jié)點的位置,且整個網(wǎng)絡中的數(shù)據(jù)都是單跳傳輸,因此仍有較大缺陷。針對LEACH算法的缺點,LEACH-E(LEACH-Energy)、CGA-LEACH(Chaotic Genetic Algorithm-LEACH)等改進算法被提出。也有學者提出了非均勻分簇(EEUC: Energy Efficient UnevenClustering)的方案解決“熱區(qū)”問題。由于電池的供電能量有限,因此能量采集(Energy Harvesting)技術(shù)開始被引入到WSN以改善網(wǎng)絡的壽命問題。針對上述問題,筆者提出了一種基于雙簇頭的油氣物聯(lián)網(wǎng)路由算法,該算法在選取簇頭過程中充分考慮了傳感器節(jié)點的當前剩余能量、歷史平均能量、節(jié)點與基站的距離、鄰居節(jié)點密度以及節(jié)點與能量收集源的距離等因素。為均衡簇頭能耗,在同一簇中選舉了雙簇頭,主簇頭負責簇內(nèi)通信,副簇頭負責中轉(zhuǎn)來自主簇頭的數(shù)據(jù)。并根據(jù)節(jié)點的當前能量,靈活切換節(jié)點的工作模式。同時還引入了能量采集技術(shù)。
1 系統(tǒng)模型
1.1 網(wǎng)絡模型
物聯(lián)網(wǎng)中的傳感器隨機分布在一個平面內(nèi),且位置固定不變,每個傳感器白帶電池但能量有限,并且具有無線能量采集功能,可隨時補充能量。在文中一個傳感器對應網(wǎng)絡中的一個節(jié)點,在每個簇群中選舉主、副兩個簇頭節(jié)點,其余為普通節(jié)點。物聯(lián)網(wǎng)中的傳感器將收集到的數(shù)據(jù)上傳到匯聚節(jié)點或網(wǎng)關(guān),數(shù)據(jù)在匯聚節(jié)點或網(wǎng)關(guān)處理后上傳到云端,工作人員可以通過云端檢索到所需信息。
1.2 能耗模型
筆者采用文獻[13]中的能耗模型。當距離d小于閾值do時,信道采用自由空間模型;當距離d大于閾值do時,信道采用多徑衰弱模型。傳感器節(jié)點發(fā)送和接收數(shù)據(jù)的能耗如下:
其中E0表示節(jié)點i的初始能量。
2 簇頭選舉算法
網(wǎng)絡中率先耗盡能量的節(jié)點一般都是處于較為邊緣或是簇頭節(jié)點。簇頭節(jié)點不僅需要執(zhí)行環(huán)境監(jiān)測、頻譜感知常規(guī)任務,還需要承擔大量的簇間轉(zhuǎn)發(fā)任務,以及接收、聚合來自普通節(jié)點的數(shù)據(jù)并上傳到基站??梢姶仡^節(jié)點的能耗遠大于普通節(jié)點。因此選擇合適的簇頭對網(wǎng)絡的壽命十分重要。為進一步均衡簇頭能耗,筆者將在同一簇群中選舉一個副簇頭。主簇頭節(jié)點負責簇內(nèi)通信,副簇頭負責簇間轉(zhuǎn)發(fā)或?qū)?shù)據(jù)上傳到基站。
主簇頭的選擇一般考慮節(jié)點當前剩余能量、位于簇群中的位置以及節(jié)點到能量收集源的距離等因素,筆者還考慮了節(jié)點的歷史平均能量,這個參數(shù)反映了節(jié)點在某一階段的能量水平。目標函數(shù)廠如下:
時,主簇頭N1上的數(shù)據(jù)先上傳到副簇頭N2,然后由副簇頭N2將數(shù)據(jù)中繼轉(zhuǎn)發(fā)至基站或前向簇群,即此時采用多跳傳輸。若三者關(guān)系不同時滿足式(8)和式(9),則數(shù)據(jù)直接由主簇頭N1單跳傳輸?shù)交净蚯跋虼厝骸?/p>
4 仿真驗證
實驗采用Matlab 2021B仿真軟件將LEACH算法和LEACH-OR(Low Energy Adaptive ClusteringHierarchy based on Optimal cluster Radius)算法與所提算法做對比仿真,主要觀察各種算法的網(wǎng)絡能耗與網(wǎng)絡生命周期。仿真參數(shù)如表1所示。
圖1給出了各算法所在網(wǎng)絡中死亡節(jié)點數(shù)目的對比,該指標反映了算法所在網(wǎng)絡的壽命。由圖1可知,LEACH、LEACH-OR算法分別在第991輪、第1 101輪出現(xiàn)了第1個死亡節(jié)點,而筆者所提算法在第1909輪才出現(xiàn)第1個死亡節(jié)點,顯著延長了網(wǎng)絡壽命。這是由于所提算法在同一簇群中選舉了雙簇頭,均衡了單一簇頭的能耗,使簇頭不過早死亡。圖2給出了各算法所在網(wǎng)絡的剩余能量對比,該指標反映的是算法的節(jié)能性。由圖2可知,提出的算法降低了網(wǎng)絡能量消耗的速度,具有更好的節(jié)能性。這是由于該算法在選取簇頭時充分考慮了位置因素,在一定程度上減小了數(shù)據(jù)傳輸?shù)木嚯x,從而降低了網(wǎng)絡能耗,達到節(jié)能的目的。
筆者提出了一種基于雙簇頭的油氣物聯(lián)網(wǎng)節(jié)能路由算法。其根據(jù)主副簇頭不同的作用設定目標函數(shù)選出合適的簇頭,在一定程度上降低了傳輸能耗。同時選取雙簇頭能很大程度均衡單一簇頭的能耗壓力。仿真實驗表明,相對LEACH算法和LEACH-E算法,該算法能更有效地均衡、降低網(wǎng)絡能耗,延長網(wǎng)絡壽命。今后將嘗試引入智能算法動態(tài)確定簇頭選舉過程中目標函數(shù)的各部分權(quán)重值,以靈活調(diào)整距離與能量在簇頭選舉過程中的比重。
(責任編輯:劉東亮)
基金項目:黑龍江自然科學基金資助項目(LH2022F004)