
















摘 要:針對動態低功耗藍牙(Bluetooth Low Energy,BLE)Mesh 網絡規范采用的管理式泛洪路由機制所導致的數據包冗余和高能耗的問題,提出了動態BLE Mesh 網絡高能效路由算法。通過建立基于Q-Learning 的BLE Mesh 網絡路由模型,將BLE Mesh 網絡中節點的剩余能量、轉發成本、移動因子以及接收信號強度指示(Received Signal Strength Indi-cator,RSSI)納入到獎勵函數的設計中。同時對BLE Mesh 網絡中的心跳機制進行改進,使網絡中的節點更加高效地獲取環境信息。采用基于探索的路由發現機制來更新網絡中節點的Q 值,使其能更加準確反映節點移動所導致的網絡拓撲變化。仿真結果表明,該算法在節點能耗和網絡開銷上均優于傳統的管理式泛洪路由機制。
關鍵詞:低功耗藍牙;Mesh 網絡;物聯網應用;Q-Learning
中圖分類號:TN92 文獻標志碼:A 開放科學(資源服務)標識碼(OSID):
文章編號:1003-3114(2024)04-0664-10
0 引言
在物聯網技術迅猛發展的背景下,眾多無線通信協議應運而生,旨在滿足不同應用場景下設備間的通信需求。這些協議主要包括LoRa[1]、NB-IoT[2]、WiFi[3]、ZigBee[4]以及低功耗藍牙(BluetoothLow Energy,BLE)[5]。為了擴展BLE 技術在物聯網場景的應用范圍,藍牙技術聯盟于2017 年發布了基于BLE 的Mesh 網絡規范[6]。該規范采用網狀網絡替代傳統的星型網絡,以消息為中心,并引入發布-訂閱機制,從而實現多對多的通信。與星型網絡相比,當單一節點發生故障時,BLE Mesh 網絡的性能不會受到較大影響,從而確保了網絡的穩定性和可靠性。這一改進使得BLE 技術在樓宇照明[7]、傳感器網絡等需要大規模組網技術的物聯網服務場景中更具競爭力。
在BLE Mesh 網絡中,節點之間的消息通過管理式泛洪機制進行傳輸。盡管在BLE Mesh 網絡規范中采用了緩存機制(Message Cache)和消息的生存時間(Time To Live,TTL)對泛洪消息進行管理,但仍然無法避免因泛洪而導致的消息冗余,進而增加了中繼節點能耗以及消息冗余。針對管理式泛洪路由機制所導致的高能耗和數據包冗余問題,本文提出了基于Q-Learning 的動態BLE Mesh 網絡高能效路由算法。網絡中的節點利用Q-Learning 對鏈路穩定性和網絡狀態進行實時評估和策略更新,以優化路由決策過程,降低了網絡中的消息冗余和節點能耗。
1 相關工作
BLE 技術自2010 年推出以來,主要用于低功耗、低速率及短距離的無線通信場景[8]。由于其設計初衷是簡化無線連接,為能耗受限設備提供通信功能,因此采用了一對多的星型拓撲結構。然而,這種結構在某種程度上限制了BLE 的組網能力,特別是在需要構建更為復雜網絡拓撲的物聯網應用場景中。為了克服這些限制并擴大BLE 技術在物聯網領域的應用,工業界和學術界都致力于研究如何加強BLE 設備之間的組網能力。其中,基于BLE 技術的Mesh 網絡解決方案成為了一個重要的研究方向。Mesh 網絡通過允許設備間的點對點通信,BLE設備的組網能力得到顯著增強,使其能夠支持更大規模和更靈活的網絡布局。在現有BLE Mesh 網絡解決方案中,數據的傳輸方式主要分為兩類:面向連接和無連接的數據傳輸。
無連接的BLE Mesh 網絡路由解決方案充分利用BLE 的廣播信道傳輸數據,鄰居節點在掃描到廣播包后將其再次廣播,通過泛洪的形式將數據發布到整個網絡,進而使目的節點接收到數據包。藍牙技術聯盟推出的BLE Mesh 網絡規范基于現有的BLE 核心規范[9]而建立,其設計初衷是提升大規模設備間的互連性和通信效率。采用管理式泛洪的路由策略不僅簡化了網絡結構,而且通過利用無連接的特性,顯著降低了網絡設定和維護的復雜度。文獻[10]將泛洪機制同閑聊(Gossiping)算法[11]相結合,接收到廣播數據包的節點根據鄰居節點的數量以一定的概率廣播該數據包,以此降低重復廣播帶來的能量消耗。同時引入涓流(Trickle)算法[12]減少節點掃描廣播信道的時間,進一步降低節點能量消耗。文獻[13]提出了一種動態掃描機制,該機制允許節點通過接收特定控制信號來優化其掃描周期,從而減少在BLE Mesh 網絡中節點信道掃描時間并提高通信的能效。
在面向連接的BLE Mesh 網絡路由中,網絡中的設備充分利用藍牙規范4. 2 中的主從一體機制[14]。不同星型網絡間可以通過主從一體設備實現數據傳輸,為創建面向連接的BLE Mesh 網絡提供了堅實的基礎。文獻[15]利用BLE 主從一體的特點,采用靜態樹形結構的方案,將網絡中的節點分為根節點、中間節點和葉子節點。通過層次路由的方式將數據匯集到根節點,并由根節點進行轉發到目的節點,實現了BLE 設備的組網。文獻[16]在不同的BLE 星型網絡中引入公共節點,利用主機和從機之間的連接間隔,使不同的星型網絡中的主機與公共節點建立連接,實現不同星型網絡中的數據通過公共節點傳輸。
2 本文算法介紹
2. 1 網絡路由模型
為了更加清晰地描述BLE Mesh 網絡中的中繼節點對數據包的路由,本文將BLE Mesh 網絡視為一個無向圖G(R,E)。在該無向圖中,網絡中的所有中繼節點由頂點集合R = {r1,r2,…,rm}表示。對于網絡中的任意一個節點ri,其鄰居節點集合為nri ={n1,n2,…,nk,?ni∈R},即任意鄰居節點屬于中繼節點集合。不同于面向連接網絡通信方式,BLE Mesh 網絡中采用廣播承載方式進行數據傳輸的節點具有一定的特殊性。這些節點負責將數據包以廣播的形式發送出去,使所有在接收范圍內的節點都可以捕獲到這些信息。其廣播范圍內的節點即可視為一種特殊的連接,可由無向圖中的邊集合E={e(ri,nj)|ri∈R,nj∈nri}表示,e(ri,nj)代表節點ri 與其廣播范圍內的鄰居節點nj 的連接。
如圖1 所示,當源節點rs 有數據包需要發送到目的節點rd 時,網絡中的泛洪機制允許數據包通過多條路徑進行傳輸。
數據包到目的節點的潛在路徑集合可以用集合P 來表示,其中每個路徑pi ∈P 都是從rs 到rd 的有效傳輸序列:
P(rs,rd)= {p1(rs,rd),p2(rs,rd),…,pq(rs,rd)}, (1)
pi(rs,rd)= {rs0,rs1,…,rsk |rs0 =rs,rsk =rd,e(rsi,rs(i+1))∈E}。(2)
對于該路徑集合中任意一個路徑可以由pi(rs,rd)表示,每個路徑pi(rs,rd)中的節點及其順序都存在差異。通過w(e(ri,nj))和d(e(ri,nj))來表示網絡中任意邊e(ri,nj)對于數據包傳輸的能量消耗和單跳延遲,端到端的最大傳輸時延為Δdelay,據此,可以構建一個優化模型,目標是最小化整個網絡的傳輸能耗,同時需要滿足端到端傳輸時延不超過Δdelay這一約束條件。據此,可以得到一個優化目標為網絡傳輸能耗,約束條件為最大端到端的時延的優化問題:
在實際的BLE Mesh 網絡環境中,式(3)所描述的優化問題在計算上十分復雜,這對節點的計算能力提出了較高的要求。因此,需要一種不依賴精確環境建模的方法來解決此類優化問題。Q-Learning作為一種無模型的強化學習,核心是通過估計動作價值函數來學習最優策略。該算法不需要環境的完整模型,將狀態-動作值(Q-Value)存放在Q 表中,通過Bellman 方程[17]的遞歸性質和馬爾科夫特性來更新Q 表,Q-Learning 算法中的Q 值更新如下:
Q(s,a)←(1-α)Q(s,a)+α[fr +γ max a′ Q(s′,a′)], (4)
式中:α 和γ 被限定在(0,1]。α 作為智能體的學習率,決定了新獲得的信息將在多大程度上影響舊的Q 值。較低的α 意味著智能體更新其知識較慢,而較高的α 可能導致學習過程中的波動。折扣因子γ在[0,1],用來權衡在決策過程中潛在回報的重要性。較高的折扣因子意味著智能體更看重未來的回報,而較低的折扣因子意味著智能體更加注重當前的回報。在動態BLE Mesh 網絡環境中,當節點ri處理由源節點rs 發往目的節點為rd 的數據包時,其狀態為rd。其動作空間由鄰居節點組成,為A = nri。當節點ri 根據自身Q 表進行路由決策,將數據包成功傳輸至鄰居節點nj 時,根據定義的獎勵函數fr 來評估與這個特定動作相關的獎勵。進而,節點ri 將根據更新公式調整其Q 值,從而為相應的動作在其Q 表中設定新的價值。
結合動態BLE Mesh 網絡路由特點,本文提出了基于Q-Learning 的高能效路由算法,該算法的網絡模型如圖2 所示。
在該網絡模型中,每個節點可被視為一個智能體,其在廣播數據包時的狀態定義為st。此時,當其指定接收到該數據包的鄰居節點nj 再次廣播該數據包時的動作為aj。將鄰居節點的能量分布情況、節點之間的鏈路質量、節點的移動因子和當前狀態下轉發數據包的成本作為獎勵函數的參數。同時,為了確保Q 值的更新能夠準確反映網絡中移動節點的變化情況,將傳統路由算法中的路由發現策略和鏈路感知機制同Q-Learning 算法相結合。在確保網絡性能的同時,最大程度地降低網絡節點的能量消耗,并在網絡中平衡各節點間的能耗,以實現整個網絡的能效優化。
2. 2 獎勵函數設計
獎勵函數作為Q-Learning 算法更新Q 值過程中的重要部分,其設計影響著智能體學習過程中策略的形成。本文以高能效路由為優化目標,盡可能多地考慮影響網絡路由能效的因素。當節點ri 在廣播信道中廣播數據包時,指定再次廣播該數據包的鄰居節點nj 的動作aj 的獎勵函數如下所示:
f(ri,nj)= -h+c(nj)-MFnj +l(nj)。(5)
通過引入節點廣播數據包的懲罰h,當節點在選擇下一跳節點時會考慮該節點至目的節點跳數。
該懲罰的意義在于使節點傾向選擇距離目的節點跳數少的節點轉發數據包,在降低數據包跳數的同時避免過多的節點參與廣播而導致能量浪費,h 參數的值根據下一跳是否為目的節點rd 而改變,如下所示:
當h=0 意味著節點ri 的下一跳節點為目的節點,其廣播懲罰為0,反之仍需考慮廣播懲罰,以此實現最短路徑的路由。然而僅僅考慮數據包的最短路徑并不能提高網絡路由的能效,最短路徑中的節點可能因為較高的網絡負載而過早的耗盡能量,進而導致網絡壽命減少。為了平衡鄰居節點之間的負載,避免因為單一節點能量耗盡而導致網絡無法正常工作,本文在獎勵函數中引入c(nj)來表示節點同鄰居節點的能量分布情況:
式中:Enj 為節點的剩余能量,Enri為節點ri 的所有鄰居節點Nri 剩余能量的平均值,通過c(nj)反映下一跳節點同鄰居節點剩余能量平均值的情況。c(nj)大于1,代表該節點剩余能量高于鄰居節點平均值,則越有可能成為下一跳的轉發節點。
考慮網絡中節點的移動性以及鏈路質量對數據包轉發的影響,將鄰居節點nj 的移動因子MFnj 和鏈路質量l(nj)納入到獎勵函數的設計中。鄰居節點nj 的移動因子計算如下:
移動因子MF 作為一種量化指標,能夠有效地反映節點移動性對網絡拓撲的影響。在動態BLEMesh 網絡中,通過統計鄰居節點信息變化來感知節點移動狀態是一種簡單高效的方法,相較于直接計算節點速度具有顯著優勢。此方法不依賴精確的地理位置信息,降低了對高精度定位系統的需求,同時減少了能源和計算資源的消耗。具體而言,節點nj的MFnj 可以通過分析和比較該節點在連續兩個時間點的鄰居節點集合的變化得出。用Nnj 表示當前時間點節點ni 的鄰居節點集合,而Npnj 表示前一時間點的鄰居節點集合。通過這種比較,MFnj 將量化節點的移動速度和范圍。移動因子越接近1 則表明該節點移動性較強,那么它可能不是一個理想的中繼節點。
在動態BLE Mesh 網絡環境中,節點ri 與其鄰居節點間的鏈路質量對數據傳輸的可靠性至關重要。接收信號強度指示(Received Signal Strength In-dicator,RSSI)是衡量鏈路質量的關鍵指標之一,能直觀地反映信號的強度以及鏈路的穩健性。RSSI的實時更新和便捷采集特性,對于指導網絡自適應調整、優化路由選擇以及提高整體網絡性能至關重要。鑒于此,本文在設計獎勵函數時,對節點的RSSI 值歸一化后納入獎勵函數的設計中。確保在動態網絡條件下,節點能夠基于準確的鏈路質量信息做出合適的路由選擇,節點ri 對其鄰居節點nj 的鏈路質量評估如下:
lC nj o = RSSInj -RSSImin/RSSImax -RSSImin, (9)
RSSImax =max({RSSIni| ni∈Nri}), (10)
RSSImin =min({RSSIni |ni∈Nri})。(11)
為了定量評估節點ri 與其鄰居節點之間鏈路的質量,可以采用RSSI 值的歸一化方法。通過將觀測到目標節點nj 的RSSI 值RSSInj 相對于網絡中探測到的最低RSSI 值RSSImin 和最大RSSI 值RSSImax進行歸一化,計算出一個0 ~1 的標準化鏈路質量指標。該歸一化RSSI 值越接近于1,表明鄰居節點nj與ri 之間的鏈路質量越高,反之則越低。通過在路由決策的獎勵函數中引入歸一化的RSSI 值,能夠有效增強數據包在鏈路質量較好的路徑上的轉發概率,從而優化網絡性能并確保數據傳輸的可靠性。
2. 3 鏈路感知機制
為了有效監測節點在線狀態及評估BLE Mesh網絡的連通性,藍牙技術聯盟在其網絡規范中設定了心跳機制。根據規范,網絡中的節點會周期性地發送心跳消息,這些消息被接收后由節點再次廣播,通過管理式泛洪路由機制傳遞至預定目的節點。通過解析心跳消息中的TTL 字段,不僅可以確認節點的存活狀態,還能估算節點之間的跳數,以便源節點設置合理的TTL 值。
在動態BLE Mesh 網絡環境中,心跳機制發揮著關鍵作用,不僅監測節點的在線狀態,還提供網絡中其他節點的信息,輔助節點做出數據包轉發的決策。BLE Mesh 網絡規范采用的心跳機制基于管理式泛洪路由,即任何接收到心跳消息的節點均需進行轉發,這一機制雖然增強了網絡的連通性,但也導致了節點能耗的相應提升。為了使心跳機制在動態BLE Mesh 網絡中更為高效,本文對標準心跳機制進行了改進,使其具備傳播節點Q 值信息與移動因子的能力,并以此來對鄰居節點的狀態進行監測。為了降低心跳消息泛洪所導致的能耗過高問題,節點接收到心跳消息后不再進行廣播。節點ri 通過定期廣播含有自身最優Q 值集合和移動因子的心跳消息,使鄰居節點能夠感知其狀態信,并據此更新自身的決策,最優Q 值集合Q*ri 如下所示:
Q*ri ={Q*ri (d1,nd1),Q*ri (d2,nd2),…,Q*ri (ds,nds)},(12)
式中:nds 為節點處理發往目的節點ds 數據包時的最優轉發節點,Q*ri (ds,nds)為節點ri 在處理發往目的節點ds 的數據包時最大Q 值。
網絡中的節點通過心跳消息來實現對鏈路的感知,同時以此調整自身所維護的Q 表,從而更加合理地做出路由選擇。此外,包含在心跳消息中的移動因子信息進一步增強了網絡對于拓撲變化的適應能力,使節點可以實時評估其他節點的位置變化及其對通信鏈路質量的潛在影響。在心跳消息的傳播過程中,通過對發送和接收節點的RSSI 值進行監測,網絡中的節點不僅可以交換它們的Q 值信息和移動因子,還能夠獲取與其鄰居節點間的鏈路質量的即時反饋,為動態網絡環境中的數據路由決策提供關鍵、實時的質量度量指標。心跳消息處理流程如圖3 所示。
2. 4 基于探索的路由發現機制
盡管將Q-Learning 算法應用于BLE Mesh 網絡的路由決策,結合節點的鏈路質量和移動性信息來制定數據包轉發策略有助于提升網絡的自適應性和整體性能,但在實際應用中這種方法存在一定局限性。尤其是在具有移動節點的動態BLE Mesh 網絡環境中,僅依賴于鄰居節點信息而更新的Q 值不足以實時準確地反映節點位置的變化。為此,本文在Q-Learning 框架下,提出了一種基于探索的路由發現機制來應對節點移動帶來的網絡拓撲變化。
在動態BLE Mesh 網絡中,節點在進行決策時,會根據一定的概率采取探索或利用的策略。當節點選擇利用的策略時,執行當前Q 表中最大值所對應的動作,即指定Q 值最大所對應的鄰居節點廣播數據包。當節點選擇探索的策略時,則隨機執行動作并更新Q 表,即隨機指定一個鄰居節點廣播數據包。節點采取利用的策略時,根據其累積的經驗來選擇最佳的路由路徑,減少因探索未知路徑可能引入的風險和延遲。盡管這種基于歷史學習成果的決策有助于提高路由決策的即時性和準確性,但網絡環境的動態變化要求節點不僅要利用已知信息以優化當前的路由選擇,還需要在一定程度上進行探索,以發現可能的新路由或應對網絡狀態的變化。當節點進行探索策略時,隨機選取鄰居節點作為下一跳節點的這一動作同樣存在一定缺陷。當目的節點作為移動節點時,隨機轉發該數據包可能無法將其送達目的節點。
針對節點在采取探索策略時可能丟包的情況,對節點的探索策略進行改進,將自適應按需距離矢量路由協議(Ad hoc On-1demand Distance Vectorrouting,AODV)[18]中的路由請求和路由回復機制用于節點的探索策略。當節點決定采取探索策略時,將采用泛洪機制將數據包送達目的節點,在目的節點接收到數據包后通過路由回復來更新網絡中到目的節點的Q 值。此外,本文進一步優化了節點策略的選擇機制。節點ri 依據目的節點rd 的移動因子MFrd 來決定采取利用還是探索的策略,即依據當前Q 表中的最優動作,或是采取探索策略來發現新的路由,如下所示:
式中:Nri 為節點的動作集合,即節點的鄰居節點集合;Qri(rd,a′)為當前節點ri 在廣播數據包中后,指定其鄰居節點a′(a′∈Nri)再次廣播該數據包。在節點進行路由決策時,通過產生隨機數Pr(Pr ~U(0,1)),與MFrd 進行比較,決定采取探索還是利用的策略。
當目的節點的MFrd 較低時,表明目的節點rd 相對穩定。因此節點ri 會更傾向于利用現有的Q 值表進行路由決策,執行當前Q 表中Q 值最大的動作a*,即指定最優鄰居節點在接收到廣播包后再次廣播該數據包。當目的節點rd 的移動因子較高時,意味著節點處于較為頻繁的移動狀態中。此時節點ri 可能無法依賴于已有的Q 表來做出最優路由決策,因為該Q 值可能已經不再準確反映當前的網絡狀態。因此,在這種情況下節點ri 將更傾向于通過探索新的路由來適應當前網絡拓撲變化。得益于BLE 的廣播特性,節點ri 在執行探索策略時,即便指定了非最優節點再次廣播數據包,實際上所有的鄰居節點Nri 都會收到該數據包。為了充分利用BLE的廣播特性,本文將QLearning 中的探索策略同AODV 路由協議中的路由請求機制相結合。源節點rs 將數據包作為路由請求RREQ 消息,以泛洪的形式送達目的節點rd 的同時,利用鄰居節點之間的反饋來更新Q 值,同時建立與源節點rs 的反向路由。
當目的節點rd 接收到數據包后,根據路由發現階段已經建立的反向路由回復RREP 消息。通過路由回復來更新網絡中節點到目的節點rd 的Q 值,即網絡中節點ri 接收由鄰居節點nj 廣播的RREP 消息后,通過式(13)更新節點自身到目的節點的Q 值:
式中:g∈(0,1]。基于探索的路由發現機制在泛洪的過程中利用了AODV 協議中的路由回復功能,在數據包到達目的節點rd 后通過路由回復實現網絡中節點關于目的節點rd 的路由更新。接收到RREP 消息的節點將發包節點的Q 值在鄰居節點最大Q 值基礎上增加一個正值常數g,當下一次處理發往節點rd 的數據包時傾向于選擇鄰居節點nj。在基于探索的路由發現過程中,節點處理RREQ 和RREP消息的流程如圖4 所示。
3 仿真結果與分析
3. 1 仿真參數設置
本文主要對BLE Mesh 網絡的網絡層進行仿真分析,旨在評估不同網絡路由算法對BLE Mesh 網絡性能的影響。為了實現這一目標,本文采用OMNeT++仿真平臺實現BLE Mesh 網絡層的仿真。相關仿真參數設置如表1 所示。
BLE Mesh 網絡中移動節點的移動速度參考人體在室內的移動速度(1 m/ s)。網絡中的固定節點采用均勻分布的網絡拓撲,如圖5 所示。
為了評估本文提出的動態BLE Mesh 網絡高能效路由算法的性能,將其與管理式泛洪路由機制、AODV 和OLSR 協議[19]進行對比,包括節點的TTL、端到端的平均時延和網絡開銷。
3. 2 網絡開銷
不同網絡規模下傳輸所需數據包數量如圖6 所示,展示了當網絡中的源節點以5 包/ s 的發包速率向移動節點發包時,在不同網絡規模下網絡中數據包發包數情況。盡管網絡規模的擴大導致了在各種路由算法下網絡數據包數量的增加,但本文提出的算法所需的數據包數量始終保持最低水平。與管理式泛洪路由機制相比,至少減少了30% 的數據包數量,且隨網絡規模的擴大,這一差距更加顯著。采用管理式泛洪路由機制的動態BLE Mesh 網絡中,因難以避免的冗余傳輸缺點導致網絡中數據包數量較大,同時伴隨著網絡中節點數量的增加,更多的節點參與數據包的廣播,進一步加劇了數據包的轉發次數。OLSR 協議采用主動式路由發現機制,其中節點需定期廣播Hello 消息和拓撲控制消息以獲取網絡的整體拓撲信息。相較之下,AODV 協議基于反應式路由發現機制,僅在需要時才啟動路由發現過程。因此,與基于需求觸發的AODV 協議相比,OLSR協議由于其主動性而導致更高的網絡開銷。本文提出的算法采用了基于探索的路由發現機制,在路由請求階段已經實現了數據包的交付,降低了該階段的路由開銷,在網絡開銷上低于AODV 協議。
3. 3 節點TTL
圖7 展示了不同網絡規模下節點的平均TTL,本文提出的路由算法在節點TTL 上始終高于其他路由算法。與AODV 路由協議相比,雖然本文提出的算法采用了心跳機制來獲取鄰居節點的信息,但將該消息控制在一跳范圍內。這樣既避免了泛洪機制導致的高能耗,同時實現了對環境信息的有效獲取。在管理式泛洪路由機制下,網絡中所有節點都參與了數據包的轉發,同時伴隨著節點心跳機制所帶來的數據包數量增加,進一步加重了節點的能耗負擔。基于反應式路由的AODV 協議無需時刻感知網絡中節點的狀態來掌握網絡中的全局拓撲,降低了節點在鏈路感知上的能耗,因此在節點TTL 上優于采用主動式路由策略的OLSR 協議。節點的TTL 同電池容量Ebattery 和工作期間的平均電流有著密切關系,通過統計節點在工作期間的平均電流,根據給定的電池容量可以計算出節點的TTL,計算如下:
3. 4 端到端時延
不同轉發次數下移動節點與源節點之間的端到端時延如圖8 所示,本文提出的路由算法在該方面的性能介于AODV 和OLSR 協議之間。相較于AODV 協議,本文提出的路由算法對移動節點路由發現并不需要等待目的節點發送路由回復后再發送數據包。而AODV 協議中,源節點則需等待路由回復包到達后再發送數據包,因此在時延上優于AODV 協議。由于OLSR 協議中采用了拓撲控制消息機制,網絡中節點能掌握全局的拓撲信息,并通過Dijkstra 算法[20]找到最短路徑將數據包送達目的節點,盡可能地降低了端到端的時延。本文提出的算法考慮了節點之間的能耗平衡,當節點進行路由決策時,傾向于選擇剩余能量較多的節點進行轉發,因此路徑規劃上并不是最短路徑,進而導致了網絡時延有所增加。對管理式泛洪路由機制而言,由于其無需進行路由決策,當網絡中的節點接收到廣播數據包后只需根據消息緩存機制和消息TTL 機制來判斷數據包是否需要再次廣播,能夠較快的實現數據包的交付。總體來看,盡管本文所提算法在端到端時延這一指標上不是最優的,但是其具備兼顧時延和能耗的綜合能力,尤其在一些非時延敏感的物聯網場景中,本文所提出的算法將有更好的應用優勢。
4 結束語
本文針對動態BLE Mesh 網絡中的高能耗和消息冗余問題,提出了基于Q-Learning 的動態BLEMesh 網絡高能效路由算法。構建了基于Q-Learning的動態BLE Mesh 網絡高能效路由網絡模型。為了衡量動態BLE Mesh 網絡中節點之間的鏈路質量,該算法將RSSI 和節點的移動因子納入到獎勵函數的設計中,同時對BLE Mesh 網絡的心跳機制進行改進,使網絡中的節點更加高效的獲取環境信息。為使節點的Q 值更新能更加準確地反映節點移動所導致的網絡拓撲變化,該算法采用基于探索的路由發現機制來更新網絡中節點的Q 值。通過與其他動態路由算法比較,仿真結果顯示本文提出的算法在端到端時延、節點能耗和網絡開銷上均有一定的改善。
參考文獻
[1] SUNDARAM J P S,DU W,ZHAO Z. A Survey on LoRaNetworking:Research Problems,Current Solutions,andOpen Issues[J]. IEEE Communications Surveys & Tutorials,2019,22(1):371-388.
[2] MIGABO E M,DJOUANI K D,KURIEN A M. The Narrowband Internet of Things(NBIoT)Resources ManagementPerformance State of Art,Challenges,and Opportunities[J]. IEEE Access,2020,8:97658-97675.
[3] OMAR H A,ABBOUD K,CHENG N,et al. A Survey onHigh Efficiency Wireless Local Area Networks:Next Generation WiFi[J]. IEEE Communications Surveys & Tutorials,2016,18(4):2315-2344.
[4] RAMYA C M,SHANMUGARAJ M,PRABAKARAN R.Study on ZigBee Technology[C]∥2011 3rd InternationalConference on Electronics Computer Technology. Kanyakumari:IEEE,2011:297-301.
[5] TOSI J,TAFFONI F,SANTACATTERINA M,et al. Performance Evaluation of Bluetooth Low Energy:A SystematicReview[J]. Sensors,2017,17(12):2898.
[6] BLUETOOTH SIG. Bluetooth Low Energy Mesh ProfileSpecification 1.0[S]. Kirkland:Bluetooth SIG,Inc. ,2017.
[7] FAREJ Z K,TALAB A W. Extended Range Evaluation ofa BLE Mesh Network for Control Application[C]∥20217th International Conference on Contemporary InformationTechnology and Mathematics (ICCITM). Mosul:IEEE,2021:31-35.
[8] COLLOTTA M,PAU G. An Innovative Approach for Forecasting of Energy Requirements to Improve a Smart HomeManagement System Based on BLE[J]. IEEE Transactionson Green Communications and Networking,2017,1(1):112-120.
[9] BLUETOOTH SIG. Bluetooth 5. 0[S]. Kirkland:BluetoothSIG,Inc. ,2016.
[10]GOGIC A,MUJCIC A,IBRIC S,et al. PerformanceAnalysis of Bluetooth Low Energy Mesh RoutingAlgorithm in Case of Disaster Prediction[J]. World Academy of Science,Engineering and Technology InternationalJournal of Computer and Information Engineering,2016,10(6):1075-1081.
[11] SCAGLIONE A,COATES M,GASTPAR M,et al. Introduction to the Issue on Gossiping Algorithms Design andApplications [J]. IEEE Journal of Selected Topics inSignal Processing,2011,5(4):645-648.
[12]LEVIS P,CLAUSEN T,HUI J,et al. The Trickle Algorithm[J]. Request for Comments,2011,6206:1-13.
[13]PEREZDIAZDECERIO D, VALENZUELA J L,GARCIALOZANO M,et al. BMADS:BLE Mesh Asynchronous Dynamic Scanning[J]. IEEE Internet of ThingsJournal,2020,8(4):2558-2573.
[14]BLUETOOTH SIG. Bluetooth 4. 2 [S]. Kirkland:BluetoothSIG,Inc. ,2014.
[15]MAHARJAN B K,WITKOWSKI U,ZANDIAN R. TreeNetwork Based on Bluetooth 4. 0 for Wireless Sensor Network Applications[C]∥2014 6th European EmbeddedDesign in Education and Research Conference(EDERC).Milan:IEEE,2014:172-176.
[16]PATTI G,LEONARDI L,BELLO L L. A Bluetooth LowEnergy Realtime Protocol for Industrial Wireless MeshNetworks[C]∥42nd Annual Conference of the IEEE Industrial Electronics Society. Florence:IEEE,2016:4627-4632.
[17]LU F,MEHTA P G,MEYN S P,et al. Convex QLearning[C]∥2021 American Control Conference(ACC). NewOrleans:IEEE,2021:4749-4756.
[18]KURNIAWAN A,KRISTALINA P,HADI M Z S. Performance Analysis of Routing Protocols AODV,OLSR andDSDV on MANET Using NS3[C]∥2020 International Electronics Symposium(IES). Surabaya:IEEE,2020:199-206.
[19]WHEEB A H,ALJAMALI N A S. Performance Analysisof OLSR Protocol in Mobile Ad Hoc Networks[J]. iJIM,2022,16(1):106-119.
[20]WAYAHDI M R,GINTING S H N,SYAHPUTRA D.Greedy,Astar,and Dijkstra’s Algorithms in Finding Shortest Path[J]. International Journal of Advances in Dataand Information Systems,2021,2(1):45-52.
作者簡介:
蔣龍榮 男,(1999—),碩士研究生。主要研究方向:無線通信、低功耗藍牙Mesh 網絡。
劉 靜 女,(1981—),博士,講師。主要研究方向:無線通信、無線資源管理。
劉文超 男,(1977—),碩士,高級工程師。主要研究方向:信息與通信工程。
王 蘭 女,(1979—),博士,講師。主要研究方向:無線通信、物聯網通信。