段平剛,李曉卉+,丁月民,劉振興
(1.武漢科技大學 信息科學與工程學院,湖北 武漢 430081;2.天津理工大學 計算機科學與工程學院,天津 300384)
為安全起見,智能燃氣表抄表物聯網中的數據中繼節點和智能燃氣表一般由電池供電,如果不對燃氣抄表數據的傳送路徑進行優化,有限的電池能量會因頻繁的數據傳送而消耗較快,會降低無線智能燃氣抄表物聯網的使用壽命[1,2]。
目前,使用能量感知路由算法以提高物聯網生命期的方法已得到一定的應用。這些能量感知路由算法主要分為兩大類。第一類是分簇路由算法,該類算法主要將節點劃分成簇,然后通過簇頭選舉平衡節點能耗來延長網絡壽命[3-6]。第二類是集中式路由算法,它使用概率轉發或優化策略,如蟻群優化、線性規劃或啟發式方法,根據網絡拓撲和能耗的全局信息找到能量均衡路由[7-15]。無線智能燃氣抄表網絡覆蓋面積通常為5 km2~25 km2,物聯網節點大概是幾百到幾千個,如果使用這類集中式路由,由于需要存儲網絡的全局信息,燃氣抄表物聯網節點的存儲開銷會很高。
針對上述問題,提出分布式的無線智能燃氣抄表物聯網能量感知路由算法(distributed energy-aware routing of IoT for wireless intelligent gas metering,DEAR-IoT)。該路由應用局部尋優方法,只需要網絡局部信息進行路由規劃,節省了節點因存儲網絡全局信息帶來的開銷;定義節點引力,將其引入到路徑代價函數中,選取網絡中剩余能量充足且距離目的節點近的鄰居節點為下一跳節點,以此平衡網絡中各節點的能耗,延長網絡生命期。仿真結果表明,與集中式的最短路徑路由算法(shortest path routing,SP)、分布式的能量感知路由算法ERA-LBC路由[16]相比,DEAR-IoT算法不僅延長了網絡生命期,且沒有增加額外的傳輸開銷和路由跳數。
無線智能燃氣抄表物聯網網絡結構如圖1所示,網絡中的節點一般是電池供電的無線智能燃氣表或無線路由器,用于生成和傳輸燃氣抄表數據。無線燃氣表的數據經過多跳路由到達網關,然后由網關經基站無線傳輸到達數據中心,最后由數據中心對數據進行相應的分析與處理。無線智能燃氣物聯網通常是通過網格的形式逐步展開,其覆蓋區域一般為5 km2~25 km2,具有燃氣表部署密集,數據傳輸速率低的特點。

圖1 無線智能燃氣抄表物聯網網絡結構
目前,國家電網公司已經優先在一些有條件的新建居民住區開展多表合一采集示范項目建設,其基本思路是在原有的電力用電信息采集系統架構的基礎上,改造或增加現有的采集設備,實現電、水、氣和熱多表采集。因此,無線智能燃氣抄表物聯網的網絡模型符合智能電網鄰域網網狀模型[17]。
DEAR-IoT的分布式路由采用局部尋優的方法,依據網絡局部信息選擇合適的下一跳路由中繼節點轉發燃氣抄表數據,因此下一跳路由中繼節點的選擇是該算法的核心。下一跳的選擇取決于兩個方面,其一是下一跳節點的剩余能量,其二是下一跳節點盡可能離目的節點近,以便更快將抄表信息送往目的節點。第二節首先引入引力的定義來描述當前節點與下一跳節點的剩余能量及距離的關系,解決上述第一個方面的內容;然后在此基礎定義下一跳代價函數,提出基于貪婪算法的局部尋優方法,解決上述的第二個方面的內容;最后設計DEAR-IoT路由算法。
為了描述網絡剩余能量的分布,通常會引入節點引力。其作用主要是判斷無線鏈路的穩定性或者判斷無線網絡的覆蓋區域。然而,對于無線燃氣抄表物聯網而言,引力的定義需要體現出距離當前節點近且剩余能量較多的鄰居節點具有更高引力的信息。即需要根據局部網絡節點的剩余能量為當前節點選擇合適的下一跳節點傳送抄表數據。在無線節點通信傳輸范圍內,節點的傳輸功耗會隨著節點的傳輸距離的增加而增加。由于無線網的不穩定性,一旦源節點遠離目的節點,網絡中的每個無線節點都會試圖選擇與自己相對更近的節點將信息往下傳輸。然而頻繁使用最近節點中繼傳送信息,會很快導致這些節點的能量耗盡,產生能量空洞,進而使網絡分裂。為了避免這種選取離自己近的節點轉發抄表信息,引入節點“引力”表示節點間傳遞信息的可能性大小。節點“引力”不僅考慮節點間的距離信息,同時也考慮節點的剩余能量信息。引力越大,越容易產生信息傳遞。其定義如下
(1)
其中,GXi表示節點X與其鄰居節點i之間的“引力”,K表示節點X與其鄰居節點i之間的信道系數,使用的信道模型為Rayleigh衰落信道,EX,Ei分別表示節點X與其鄰居節點i的剩余能量,dXi表示節點X與其鄰居節點i之間的距離。由式(1)定義可知,距離近且剩余能量較多的鄰居節點具有更高的引力。
局部尋優是在路由的每個階段僅使用局部信息不斷將數據包中繼傳輸到目的地。即每個節點將數據包轉發到最合適的鄰居節點,直到找到目的節點為止。在路由尋找過程中需要確定每個路由節點最佳的下一跳鄰居節點。為了滿足離目的節點更近和有充足能量轉發數據包的要求,局部尋優標準可以被描述為確定哪個候選節點最接近目的節點的貪婪選擇函數。假設節點X有m個一跳鄰居節點i,目的節點為D。選擇函數如下
f=min(cost1,cost2,costi,…,costm)
(2)
其中,costi是節點X的鄰居節點i與目的節點D之間的代價,代價函數定義如下
(3)

提出的DEAR-IoT路由算法是一種分布式能量感知路由算法,對于生成或接收到數據包的節點,確定其下一跳的規則如下:
(1)對于在當前路由表中的每個鄰居節點的代價由式(3)計算;
(2)對于節點的每個鄰居節點,選擇代價最小的節點作為轉發數據包的下一跳;
(3)如果路由表中沒有關于當前數據包的路由信息,則添加路由路徑。如果路由信息已經存在,則根據步驟(2)更新下一跳信息。算法具體流程如圖2所示。

圖2 DEAR-IoT算法流程
為了分析DEAR-IoT路由算法的性能,在Matlab中構建了無線智能燃氣抄表物聯網模型[17],并在該模型上仿真實現了集中式最短路徑路由SP算法、分布式能量感知路由EAR-LBC算法與DEAR-IoT算法,并分析比較3種算法在不同仿真場景下的網絡生命期、路由跳數和網絡剩余能量三方面的性能。仿真過程中,節點處于休眠與喚醒狀態間來回切換模式(low-duty-cycle),當隨機選定一對源節點、目的節點時,在數據包到達目的節點的過程中,根據路徑選擇函數的定義,總是使得代價最低的鄰居節點被喚醒進行數據包的傳輸,這個過程一直持續到數據包到達目的節點而結束。
根據無線智能燃氣抄表物聯網的傳輸特征,設計了3種仿真場景:
(1)當網絡規模一定時,分析適當增加無線智能燃氣抄表物聯網節點的鄰居個數是否會影響網絡生命期和路由跳數。即節點總數N=600時,分析鄰居節點數目m從4增加到20的情況下,比較不同路由算法條件下的網絡生命期和路由跳數的性能;
(2)當鄰居節點數目一定,分析無線智能燃氣抄表物聯網進行擴容是否會影響網絡生命期和路由跳數。即鄰居節點數m為10時,分析網絡節點數從200增加到1000的情況下,比較不同路由算法條件下的網絡生命期和路由跳數的性能;
(3)當網絡規模一定,鄰居節點數目一定的情況下,使用不同的路由算法時,無線智能燃氣抄表物聯網剩余能量的分布情況。即鄰居節點數m=4,節點總數N=600時,比較不同路由算法條件下的網絡剩余能量分布。
表1列出了仿真場景中主要參數值。

表1 仿真參數
針對仿真場景(1),如圖3(a)、圖3(b)分別顯示了在網絡規模為600,3種路由算法的網絡生命期、路由跳數隨網絡中鄰居節點數目增加的變化情況。圖3(a)顯示DEAR-IoT路由的網絡生命期較SP路由、EAR-LBC路由要長一些。可見,在網絡規模一定時,隨著網絡中鄰居點數目的增加,即智能燃氣抄表物聯網的中繼節點的數目增加的情況下,DEAR-IoT算法相比其它兩種算法能更加有效延長網絡的生命期。這主要是因為DEAR-IoT算法通過引入節點引力后,既考慮了節點的剩余能量,又考慮了其位置信息,使得剩余能量充足且距離目的節點較近的節點被選擇為下一跳節點,從而達到平衡節點能耗,延長網絡生命期的目的。圖3(b)中,3種路由算法的路由跳數隨無線節點的鄰居節點數增加而略微下降,這主要是因為鄰居節點數的增加使得在節點之間存在更多備選的下一跳傳輸路徑,節點間的直達路徑增多有利于路由跳數的減小。可見,在網絡規模一定時,適當增加鄰居節點可使無線傳輸路徑的路由跳數減小。

圖3 3種路由算法的網絡生命期t和路由跳數

圖4 3種路由算法的網絡生命期t和路由跳數
針對場景(2),如圖4(a)、圖4(b)分別顯示的是3種路由算法的網絡生命期、路由跳數隨網絡規模增大的變化情況。圖4(a)中,3種路由算法的網絡生命期都隨著網絡規模的增加而增長,這是因為鄰居節點數目一定時,節點間的下一跳的傳輸路徑數目不會增加,網絡生命期主要受到網絡中燃氣抄表流量密度的影響,而不是網絡規模。SP路由與EAR-LBC路由的網絡生命期低于DEAR-IoT路由,DEAR-IoT路由的網絡生命期得以大幅增長,這是因為DEAR-IoT算法會選擇剩余能量充足且距離目的節點較近的節點作為下一跳路由節點,網絡能耗得到平衡,延長了網絡生命期。圖4(b)中,當鄰居節點數目一定,網絡規模增大時,3種算法的路由跳數基本保持不變,說明DEAR-IoT算法在平衡網絡能耗的過程中,并沒有引起路由跳數的增加。
針對場景(3),為了便于觀察網絡中剩余節點能量分布情況,對網絡中的節點按入網先后進行編號,圖5(a)~圖5(c)分別表示DEAR-IoT、EAR-LBC、SP路由算法對應的網絡節點剩余能量分布圖。橫軸代表網絡節點編號,縱軸代表節點剩余能量。由無線智能燃氣抄表物聯網網絡的形成過程可知,越早加入網絡的節點,也就是節點編號較小的節點,其鄰居節點數目越多,會更容易成為網絡傳輸的中繼節點,因此這些節點的能量會消耗得更多更快,這也是編號較大的節點具有更多剩余能量的原因。很明顯,DEAR-IoT路由的節點剩余能量的分布更為均勻。可見,當網絡規模一定,鄰居節點數目一定的情況下,相比于其它兩種路由算法,DEAR-IoT算法的節點剩余能量分布更為均勻。

圖5 3種路由算法的節點剩余能量分布
提出的DEAR-IoT路由算法,與現有的路由算法相比,網絡節點能量消耗更為均衡,延長網絡生命期的同時沒有增加路由跳數,具有一定的實際應用價值。由于不同網絡結構對路由算法性能有一定影響,下一步將比較和分析DEAR-IoT路由算法應用于不同網絡模型下的性能。其次,仿真是在相對理想的環境下進行的,與工程實際還有相當的差距,在今后的研究中,將對DEAR-IoT算法面臨的工程環境問題進行研究。