段平剛,李曉卉+,丁月民,劉振興
(1.武漢科技大學 信息科學與工程學院,湖北 武漢 430081;2.天津理工大學 計算機科學與工程學院,天津 300384)
為安全起見,智能燃氣表抄表物聯(lián)網(wǎng)中的數(shù)據(jù)中繼節(jié)點和智能燃氣表一般由電池供電,如果不對燃氣抄表數(shù)據(jù)的傳送路徑進行優(yōu)化,有限的電池能量會因頻繁的數(shù)據(jù)傳送而消耗較快,會降低無線智能燃氣抄表物聯(lián)網(wǎng)的使用壽命[1,2]。
目前,使用能量感知路由算法以提高物聯(lián)網(wǎng)生命期的方法已得到一定的應用。這些能量感知路由算法主要分為兩大類。第一類是分簇路由算法,該類算法主要將節(jié)點劃分成簇,然后通過簇頭選舉平衡節(jié)點能耗來延長網(wǎng)絡壽命[3-6]。第二類是集中式路由算法,它使用概率轉發(fā)或優(yōu)化策略,如蟻群優(yōu)化、線性規(guī)劃或啟發(fā)式方法,根據(jù)網(wǎng)絡拓撲和能耗的全局信息找到能量均衡路由[7-15]。無線智能燃氣抄表網(wǎng)絡覆蓋面積通常為5 km2~25 km2,物聯(lián)網(wǎng)節(jié)點大概是幾百到幾千個,如果使用這類集中式路由,由于需要存儲網(wǎng)絡的全局信息,燃氣抄表物聯(lián)網(wǎng)節(jié)點的存儲開銷會很高。
針對上述問題,提出分布式的無線智能燃氣抄表物聯(lián)網(wǎng)能量感知路由算法(distributed energy-aware routing of IoT for wireless intelligent gas metering,DEAR-IoT)。該路由應用局部尋優(yōu)方法,只需要網(wǎng)絡局部信息進行路由規(guī)劃,節(jié)省了節(jié)點因存儲網(wǎng)絡全局信息帶來的開銷;定義節(jié)點引力,將其引入到路徑代價函數(shù)中,選取網(wǎng)絡中剩余能量充足且距離目的節(jié)點近的鄰居節(jié)點為下一跳節(jié)點,以此平衡網(wǎng)絡中各節(jié)點的能耗,延長網(wǎng)絡生命期。仿真結果表明,與集中式的最短路徑路由算法(shortest path routing,SP)、分布式的能量感知路由算法ERA-LBC路由[16]相比,DEAR-IoT算法不僅延長了網(wǎng)絡生命期,且沒有增加額外的傳輸開銷和路由跳數(shù)。
無線智能燃氣抄表物聯(lián)網(wǎng)網(wǎng)絡結構如圖1所示,網(wǎng)絡中的節(jié)點一般是電池供電的無線智能燃氣表或無線路由器,用于生成和傳輸燃氣抄表數(shù)據(jù)。無線燃氣表的數(shù)據(jù)經(jīng)過多跳路由到達網(wǎng)關,然后由網(wǎng)關經(jīng)基站無線傳輸?shù)竭_數(shù)據(jù)中心,最后由數(shù)據(jù)中心對數(shù)據(jù)進行相應的分析與處理。無線智能燃氣物聯(lián)網(wǎng)通常是通過網(wǎng)格的形式逐步展開,其覆蓋區(qū)域一般為5 km2~25 km2,具有燃氣表部署密集,數(shù)據(jù)傳輸速率低的特點。
圖1 無線智能燃氣抄表物聯(lián)網(wǎng)網(wǎng)絡結構
目前,國家電網(wǎng)公司已經(jīng)優(yōu)先在一些有條件的新建居民住區(qū)開展多表合一采集示范項目建設,其基本思路是在原有的電力用電信息采集系統(tǒng)架構的基礎上,改造或增加現(xiàn)有的采集設備,實現(xiàn)電、水、氣和熱多表采集。因此,無線智能燃氣抄表物聯(lián)網(wǎng)的網(wǎng)絡模型符合智能電網(wǎng)鄰域網(wǎng)網(wǎng)狀模型[17]。
DEAR-IoT的分布式路由采用局部尋優(yōu)的方法,依據(jù)網(wǎng)絡局部信息選擇合適的下一跳路由中繼節(jié)點轉發(fā)燃氣抄表數(shù)據(jù),因此下一跳路由中繼節(jié)點的選擇是該算法的核心。下一跳的選擇取決于兩個方面,其一是下一跳節(jié)點的剩余能量,其二是下一跳節(jié)點盡可能離目的節(jié)點近,以便更快將抄表信息送往目的節(jié)點。第二節(jié)首先引入引力的定義來描述當前節(jié)點與下一跳節(jié)點的剩余能量及距離的關系,解決上述第一個方面的內(nèi)容;然后在此基礎定義下一跳代價函數(shù),提出基于貪婪算法的局部尋優(yōu)方法,解決上述的第二個方面的內(nèi)容;最后設計DEAR-IoT路由算法。
為了描述網(wǎng)絡剩余能量的分布,通常會引入節(jié)點引力。其作用主要是判斷無線鏈路的穩(wěn)定性或者判斷無線網(wǎng)絡的覆蓋區(qū)域。然而,對于無線燃氣抄表物聯(lián)網(wǎng)而言,引力的定義需要體現(xiàn)出距離當前節(jié)點近且剩余能量較多的鄰居節(jié)點具有更高引力的信息。即需要根據(jù)局部網(wǎng)絡節(jié)點的剩余能量為當前節(jié)點選擇合適的下一跳節(jié)點傳送抄表數(shù)據(jù)。在無線節(jié)點通信傳輸范圍內(nèi),節(jié)點的傳輸功耗會隨著節(jié)點的傳輸距離的增加而增加。由于無線網(wǎng)的不穩(wěn)定性,一旦源節(jié)點遠離目的節(jié)點,網(wǎng)絡中的每個無線節(jié)點都會試圖選擇與自己相對更近的節(jié)點將信息往下傳輸。然而頻繁使用最近節(jié)點中繼傳送信息,會很快導致這些節(jié)點的能量耗盡,產(chǎn)生能量空洞,進而使網(wǎng)絡分裂。為了避免這種選取離自己近的節(jié)點轉發(fā)抄表信息,引入節(jié)點“引力”表示節(jié)點間傳遞信息的可能性大小。節(jié)點“引力”不僅考慮節(jié)點間的距離信息,同時也考慮節(jié)點的剩余能量信息。引力越大,越容易產(chǎn)生信息傳遞。其定義如下
(1)
其中,GXi表示節(jié)點X與其鄰居節(jié)點i之間的“引力”,K表示節(jié)點X與其鄰居節(jié)點i之間的信道系數(shù),使用的信道模型為Rayleigh衰落信道,EX,Ei分別表示節(jié)點X與其鄰居節(jié)點i的剩余能量,dXi表示節(jié)點X與其鄰居節(jié)點i之間的距離。由式(1)定義可知,距離近且剩余能量較多的鄰居節(jié)點具有更高的引力。
局部尋優(yōu)是在路由的每個階段僅使用局部信息不斷將數(shù)據(jù)包中繼傳輸?shù)侥康牡亍<疵總€節(jié)點將數(shù)據(jù)包轉發(fā)到最合適的鄰居節(jié)點,直到找到目的節(jié)點為止。在路由尋找過程中需要確定每個路由節(jié)點最佳的下一跳鄰居節(jié)點。為了滿足離目的節(jié)點更近和有充足能量轉發(fā)數(shù)據(jù)包的要求,局部尋優(yōu)標準可以被描述為確定哪個候選節(jié)點最接近目的節(jié)點的貪婪選擇函數(shù)。假設節(jié)點X有m個一跳鄰居節(jié)點i,目的節(jié)點為D。選擇函數(shù)如下
f=min(cost1,cost2,costi,…,costm)
(2)
其中,costi是節(jié)點X的鄰居節(jié)點i與目的節(jié)點D之間的代價,代價函數(shù)定義如下
(3)
提出的DEAR-IoT路由算法是一種分布式能量感知路由算法,對于生成或接收到數(shù)據(jù)包的節(jié)點,確定其下一跳的規(guī)則如下:
(1)對于在當前路由表中的每個鄰居節(jié)點的代價由式(3)計算;
(2)對于節(jié)點的每個鄰居節(jié)點,選擇代價最小的節(jié)點作為轉發(fā)數(shù)據(jù)包的下一跳;
(3)如果路由表中沒有關于當前數(shù)據(jù)包的路由信息,則添加路由路徑。如果路由信息已經(jīng)存在,則根據(jù)步驟(2)更新下一跳信息。算法具體流程如圖2所示。
圖2 DEAR-IoT算法流程
為了分析DEAR-IoT路由算法的性能,在Matlab中構建了無線智能燃氣抄表物聯(lián)網(wǎng)模型[17],并在該模型上仿真實現(xiàn)了集中式最短路徑路由SP算法、分布式能量感知路由EAR-LBC算法與DEAR-IoT算法,并分析比較3種算法在不同仿真場景下的網(wǎng)絡生命期、路由跳數(shù)和網(wǎng)絡剩余能量三方面的性能。仿真過程中,節(jié)點處于休眠與喚醒狀態(tài)間來回切換模式(low-duty-cycle),當隨機選定一對源節(jié)點、目的節(jié)點時,在數(shù)據(jù)包到達目的節(jié)點的過程中,根據(jù)路徑選擇函數(shù)的定義,總是使得代價最低的鄰居節(jié)點被喚醒進行數(shù)據(jù)包的傳輸,這個過程一直持續(xù)到數(shù)據(jù)包到達目的節(jié)點而結束。
根據(jù)無線智能燃氣抄表物聯(lián)網(wǎng)的傳輸特征,設計了3種仿真場景:
(1)當網(wǎng)絡規(guī)模一定時,分析適當增加無線智能燃氣抄表物聯(lián)網(wǎng)節(jié)點的鄰居個數(shù)是否會影響網(wǎng)絡生命期和路由跳數(shù)。即節(jié)點總數(shù)N=600時,分析鄰居節(jié)點數(shù)目m從4增加到20的情況下,比較不同路由算法條件下的網(wǎng)絡生命期和路由跳數(shù)的性能;
(2)當鄰居節(jié)點數(shù)目一定,分析無線智能燃氣抄表物聯(lián)網(wǎng)進行擴容是否會影響網(wǎng)絡生命期和路由跳數(shù)。即鄰居節(jié)點數(shù)m為10時,分析網(wǎng)絡節(jié)點數(shù)從200增加到1000的情況下,比較不同路由算法條件下的網(wǎng)絡生命期和路由跳數(shù)的性能;
(3)當網(wǎng)絡規(guī)模一定,鄰居節(jié)點數(shù)目一定的情況下,使用不同的路由算法時,無線智能燃氣抄表物聯(lián)網(wǎng)剩余能量的分布情況。即鄰居節(jié)點數(shù)m=4,節(jié)點總數(shù)N=600時,比較不同路由算法條件下的網(wǎng)絡剩余能量分布。
表1列出了仿真場景中主要參數(shù)值。
表1 仿真參數(shù)
針對仿真場景(1),如圖3(a)、圖3(b)分別顯示了在網(wǎng)絡規(guī)模為600,3種路由算法的網(wǎng)絡生命期、路由跳數(shù)隨網(wǎng)絡中鄰居節(jié)點數(shù)目增加的變化情況。圖3(a)顯示DEAR-IoT路由的網(wǎng)絡生命期較SP路由、EAR-LBC路由要長一些??梢?,在網(wǎng)絡規(guī)模一定時,隨著網(wǎng)絡中鄰居點數(shù)目的增加,即智能燃氣抄表物聯(lián)網(wǎng)的中繼節(jié)點的數(shù)目增加的情況下,DEAR-IoT算法相比其它兩種算法能更加有效延長網(wǎng)絡的生命期。這主要是因為DEAR-IoT算法通過引入節(jié)點引力后,既考慮了節(jié)點的剩余能量,又考慮了其位置信息,使得剩余能量充足且距離目的節(jié)點較近的節(jié)點被選擇為下一跳節(jié)點,從而達到平衡節(jié)點能耗,延長網(wǎng)絡生命期的目的。圖3(b)中,3種路由算法的路由跳數(shù)隨無線節(jié)點的鄰居節(jié)點數(shù)增加而略微下降,這主要是因為鄰居節(jié)點數(shù)的增加使得在節(jié)點之間存在更多備選的下一跳傳輸路徑,節(jié)點間的直達路徑增多有利于路由跳數(shù)的減小。可見,在網(wǎng)絡規(guī)模一定時,適當增加鄰居節(jié)點可使無線傳輸路徑的路由跳數(shù)減小。
圖3 3種路由算法的網(wǎng)絡生命期t和路由跳數(shù)
圖4 3種路由算法的網(wǎng)絡生命期t和路由跳數(shù)
針對場景(2),如圖4(a)、圖4(b)分別顯示的是3種路由算法的網(wǎng)絡生命期、路由跳數(shù)隨網(wǎng)絡規(guī)模增大的變化情況。圖4(a)中,3種路由算法的網(wǎng)絡生命期都隨著網(wǎng)絡規(guī)模的增加而增長,這是因為鄰居節(jié)點數(shù)目一定時,節(jié)點間的下一跳的傳輸路徑數(shù)目不會增加,網(wǎng)絡生命期主要受到網(wǎng)絡中燃氣抄表流量密度的影響,而不是網(wǎng)絡規(guī)模。SP路由與EAR-LBC路由的網(wǎng)絡生命期低于DEAR-IoT路由,DEAR-IoT路由的網(wǎng)絡生命期得以大幅增長,這是因為DEAR-IoT算法會選擇剩余能量充足且距離目的節(jié)點較近的節(jié)點作為下一跳路由節(jié)點,網(wǎng)絡能耗得到平衡,延長了網(wǎng)絡生命期。圖4(b)中,當鄰居節(jié)點數(shù)目一定,網(wǎng)絡規(guī)模增大時,3種算法的路由跳數(shù)基本保持不變,說明DEAR-IoT算法在平衡網(wǎng)絡能耗的過程中,并沒有引起路由跳數(shù)的增加。
針對場景(3),為了便于觀察網(wǎng)絡中剩余節(jié)點能量分布情況,對網(wǎng)絡中的節(jié)點按入網(wǎng)先后進行編號,圖5(a)~圖5(c)分別表示DEAR-IoT、EAR-LBC、SP路由算法對應的網(wǎng)絡節(jié)點剩余能量分布圖。橫軸代表網(wǎng)絡節(jié)點編號,縱軸代表節(jié)點剩余能量。由無線智能燃氣抄表物聯(lián)網(wǎng)網(wǎng)絡的形成過程可知,越早加入網(wǎng)絡的節(jié)點,也就是節(jié)點編號較小的節(jié)點,其鄰居節(jié)點數(shù)目越多,會更容易成為網(wǎng)絡傳輸?shù)闹欣^節(jié)點,因此這些節(jié)點的能量會消耗得更多更快,這也是編號較大的節(jié)點具有更多剩余能量的原因。很明顯,DEAR-IoT路由的節(jié)點剩余能量的分布更為均勻。可見,當網(wǎng)絡規(guī)模一定,鄰居節(jié)點數(shù)目一定的情況下,相比于其它兩種路由算法,DEAR-IoT算法的節(jié)點剩余能量分布更為均勻。
圖5 3種路由算法的節(jié)點剩余能量分布
提出的DEAR-IoT路由算法,與現(xiàn)有的路由算法相比,網(wǎng)絡節(jié)點能量消耗更為均衡,延長網(wǎng)絡生命期的同時沒有增加路由跳數(shù),具有一定的實際應用價值。由于不同網(wǎng)絡結構對路由算法性能有一定影響,下一步將比較和分析DEAR-IoT路由算法應用于不同網(wǎng)絡模型下的性能。其次,仿真是在相對理想的環(huán)境下進行的,與工程實際還有相當?shù)牟罹?,在今后的研究中,將對DEAR-IoT算法面臨的工程環(huán)境問題進行研究。