劉慶華, 黃聲培, 葉金才, 康一鳴
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
無人機(jī)自組網(wǎng)(UAV ad hoc network)[1-2]是一個無中心服務(wù)器,以無人機(jī)為載體,網(wǎng)絡(luò)中各節(jié)點是對等的臨時性網(wǎng)絡(luò),自組網(wǎng)節(jié)點兼具收發(fā)機(jī)和路由器的功能。由于單個無人機(jī)節(jié)點的傳輸范圍有限,當(dāng)2個無人機(jī)節(jié)點的距離在傳輸范圍內(nèi)時,節(jié)點可直接進(jìn)行通信;而當(dāng)2個無人機(jī)節(jié)點距離較遠(yuǎn),超出傳輸范圍時,需要通過中間節(jié)點傳遞的方式進(jìn)行遠(yuǎn)距離通信。相比傳統(tǒng)的移動自組網(wǎng),無人機(jī)自組網(wǎng)的拓?fù)浣Y(jié)構(gòu)變化更迅速。如何在拓?fù)浣Y(jié)構(gòu)變化迅速的無人機(jī)自組網(wǎng)中選取相對較穩(wěn)定的傳輸路徑是無人機(jī)自組網(wǎng)面臨的一大難題。
無人機(jī)節(jié)點能量有限[3-4],節(jié)點能量耗光會導(dǎo)致節(jié)點失效,引發(fā)通信鏈路斷裂。傳輸路徑失效會重啟路由發(fā)現(xiàn)過程,重啟路由發(fā)現(xiàn)將產(chǎn)生大量的路由控制消息,增加傳輸延遲,進(jìn)而降低無人機(jī)自組網(wǎng)的性能。為了在拓?fù)浣Y(jié)構(gòu)變化迅速的無人機(jī)自組網(wǎng)中探尋得到相對穩(wěn)定的傳輸路徑,在路由發(fā)現(xiàn)時,需將影響無人機(jī)節(jié)點穩(wěn)定性的因素,如節(jié)點能量消耗、節(jié)點移動速率和緩沖區(qū)擁塞率等納入路徑選擇的考量中。
決策樹(decision tree)是一種機(jī)器學(xué)習(xí)算法[5],將無人機(jī)自組網(wǎng)節(jié)點的穩(wěn)定性進(jìn)行相應(yīng)的分類,利用決策樹思想來優(yōu)化無人機(jī)自組網(wǎng)DSR協(xié)議[6]的路徑選擇過程,提出了一種基于決策樹的無人機(jī)自組網(wǎng)DSR協(xié)議(decision tree DSR,簡稱DT_DSR),提高傳輸路徑的穩(wěn)定性,降低無人機(jī)自組網(wǎng)的路由開銷。
動態(tài)源路由(dynamic source routing,簡稱DSR)協(xié)議是經(jīng)典的按需驅(qū)動路由協(xié)議[7],DSR協(xié)議不需要通過周期性廣播來維護(hù)整個網(wǎng)絡(luò)[8],該協(xié)議有業(yè)務(wù)發(fā)送需求且無緩存有相應(yīng)的傳輸路徑時,才會探尋從源節(jié)點到目的節(jié)點的傳輸路徑。相比于表驅(qū)動路由協(xié)議[9],DSR協(xié)議的路由開銷相對較低。DSR協(xié)議的路由發(fā)現(xiàn)過程主要分為路由請求和路由回復(fù)2個部分,路由請求過程如圖1所示。
圖1 路由請求
源節(jié)點S有業(yè)務(wù)發(fā)送需求且無緩存有達(dá)到目的節(jié)點D的路徑時,啟動路由發(fā)現(xiàn),向鄰居節(jié)點(A,B,C)廣播路由請求,通過中間節(jié)點不斷轉(zhuǎn)發(fā)傳遞的方式,從源節(jié)點S探尋前往目的節(jié)點D的傳輸路徑(S—B—H—D,S—A—F—G—D,S—C—E—I—D)。路由回復(fù)過程如圖2所示。
圖2 路由回復(fù)
目的節(jié)點D接收到路由請求后,沿著首條抵達(dá)的傳輸路徑逆向往源節(jié)點S發(fā)送路由回復(fù)(D—H—B—S),節(jié)點S收到回復(fù)后,表明傳輸路徑建立完成,源節(jié)點S開始向目的節(jié)點D發(fā)送業(yè)務(wù)數(shù)據(jù)。
由于無人機(jī)自組網(wǎng)與傳統(tǒng)地面移動自組網(wǎng)區(qū)別很大,無人機(jī)場景下的自組網(wǎng)拓?fù)浣Y(jié)構(gòu)變化更快。無人機(jī)節(jié)點的能量有限且無法及時補充,節(jié)點能量耗完會導(dǎo)致節(jié)點死亡,進(jìn)而引起通信鏈路斷裂。傳統(tǒng)DSR協(xié)議采用最小跳數(shù)作為傳輸路徑,而在無人機(jī)場景的自組網(wǎng)中,最小跳數(shù)策略往往不適用,容易導(dǎo)致傳輸鏈路斷裂[10]。優(yōu)化的DSR協(xié)議中,選取節(jié)點移動速率、節(jié)點擁塞率和節(jié)點能量消耗3種影響節(jié)點穩(wěn)定性的因素,采用決策樹分類思想,將節(jié)點的穩(wěn)定性進(jìn)行相應(yīng)的分類,綜合選擇穩(wěn)定性較高的節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)?;跊Q策樹的DSR協(xié)議總體框架如圖3所示。
圖3 決策樹DSR協(xié)議框架
網(wǎng)絡(luò)節(jié)點穩(wěn)定性的考慮因素包含下列3點:
1)節(jié)點緩沖區(qū)擁塞率。每個無人機(jī)節(jié)點均有一個緩沖數(shù)據(jù)包的緩存區(qū),用來緩存還未來得及發(fā)送的數(shù)據(jù)包,高擁塞的無人機(jī)節(jié)點往往會導(dǎo)致較高的延遲,且容易丟失數(shù)據(jù)包,因此,選取低擁塞的節(jié)點傳輸數(shù)據(jù)更為可靠。節(jié)點的擁塞率為
在“互聯(lián)網(wǎng)+”閱讀教育之下,互聯(lián)網(wǎng)作為載體其容納空間不再受到實際空間的限制,均以數(shù)據(jù)形態(tài)在網(wǎng)絡(luò)中展示,此時就改善了傳統(tǒng)圖書館中公共容納性不足的問題。因為“互聯(lián)網(wǎng)+”閱讀教育圖書館改善了公共容納性不足的問題,所以其可以使大量學(xué)生在同一時間內(nèi)進(jìn)行閱讀,在理論上避免了類似“一人使用,另一人無法使用”的窘境,并在《公共圖書館宣言》中的表述之下,顯然“互聯(lián)網(wǎng)+”閱讀教育圖書館更加能夠體現(xiàn)出此表述當(dāng)中的含義。
(1)
其中:Bmax為可緩存最大容量的節(jié)點;Bnow為當(dāng)前緩存的大小。c越大,節(jié)點的塞率程度越嚴(yán)重。
2)節(jié)點能量消耗率。無人機(jī)通常采用能量有限的電池進(jìn)行供電通信,節(jié)點剩余能量直接決定了節(jié)點的生存時間,節(jié)點能量耗完時,該通信節(jié)點隨即失效,進(jìn)而導(dǎo)致通信鏈路斷裂。在路由發(fā)現(xiàn)階段的路徑選擇過程中,應(yīng)該盡可能避免能量消耗率大的節(jié)點。能量的消耗率表示為
(2)
其中:E0為節(jié)點的初始通信總能量;Et為無人機(jī)節(jié)點發(fā)送數(shù)據(jù)包的能耗;Er為無人機(jī)節(jié)點接收數(shù)據(jù)包的能耗。
3)節(jié)點速度因子。無人機(jī)自組網(wǎng)節(jié)點移動速率越快[11],網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化越劇烈,選擇移動速率相對較小的節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù),可以延長路徑的生存時間,提高傳輸路徑的穩(wěn)定性。節(jié)點移動的快慢用速度因子表示,速度因子表示為
(3)
其中:Smax為網(wǎng)絡(luò)節(jié)點最大移動速率;Snow為當(dāng)前節(jié)點的移動速率。
為了區(qū)分各屬性因素的大小,根據(jù)節(jié)點緩沖區(qū)擁塞率、能量消耗率和速度因子屬性的取值范圍劃分各屬性的等級。節(jié)點屬性值的等級劃分如表1所示。
表1 節(jié)點屬性值的等級劃分
在DT_DSR協(xié)議的路由請求階段,采用決策樹算法計算評估節(jié)點的穩(wěn)定性,依據(jù)穩(wěn)定性的高低決定是否接收和處理路由請求。決策算法用0和1區(qū)分節(jié)點的穩(wěn)定性,若決策為0,表示節(jié)點不穩(wěn)定,節(jié)點丟棄請求的數(shù)據(jù)包;若決策為1,表示節(jié)點穩(wěn)定,節(jié)點可以接收和處理路由請求。節(jié)點收到請求時執(zhí)行決策算法,通過實施決策機(jī)制,避免傳輸鏈路中存在不穩(wěn)定的節(jié)點,從而得到穩(wěn)定的傳輸路徑。
決策算法需要構(gòu)造決策樹,用決策樹算法來決定節(jié)點是否穩(wěn)定,采用ID3算法[12]來構(gòu)造決策樹。ID3算法首先計算數(shù)據(jù)集的熵,數(shù)據(jù)集的熵計算式為:
(4)
(5)
其中:E(S)為數(shù)據(jù)集S的信息熵;k為數(shù)據(jù)集樣本類別數(shù);Pi為樣本i的概率;EA(S)為屬性A的熵;v為數(shù)據(jù)集屬性的個數(shù);Sj為根據(jù)屬性A劃分S的第j個子集;S和Sj均為樣本數(shù)目。
得到數(shù)據(jù)集的熵,再計算屬性的信息增益,信息增益的表示式為
G(S,A)=E(S)-EA(S)。
(6)
其中,G(S,A)為屬性A的信息增益,根據(jù)屬性信息增益的大小來生成決策樹。
根據(jù)表1屬性等級和決策結(jié)果的劃分,得到?jīng)Q策算法的訓(xùn)練集,如表2所示。
表2 決策樹ID3算法訓(xùn)練集
根據(jù)數(shù)據(jù)集,得到訓(xùn)練結(jié)果。結(jié)果表明,節(jié)點擁塞率的信息增益最高,因此選取擁塞率作為決策樹的根節(jié)點,接下來是子樹。節(jié)點收到路由請求時,首先計算擁塞率,若擁塞率等級為高,則說明節(jié)點丟失數(shù)據(jù)包的概率高,因此將請求數(shù)據(jù)包丟棄;若擁塞率等級為中或低,該節(jié)點按照決策算法,進(jìn)一步遍歷其他屬性參數(shù),以此類推,最終得到穩(wěn)定的傳輸路徑。
采用OPNET Modeler 14.5[13]網(wǎng)絡(luò)仿真工具,模擬具體通信過程。其仿真參數(shù)如下:
1)無人機(jī)自組網(wǎng)部署區(qū)域為5 000 m×5 000 m,網(wǎng)絡(luò)節(jié)點數(shù)為30個,節(jié)點隨機(jī)分布在部署面積內(nèi),各節(jié)點的運動模型選擇Random Waypoint[14],節(jié)點的移動速率為1~10 m/s;
2)通信連接數(shù)為4條單向數(shù)據(jù)流,采用連續(xù)比特率(CBR)來模擬產(chǎn)生的數(shù)據(jù)包,包大小為1 024 bit,發(fā)包間隔為0.2 s;
3)節(jié)點初始能量E0設(shè)為40 J,接收單個1 024 bit數(shù)據(jù)包消耗0.006 3 J,發(fā)送單個1 024 bit數(shù)據(jù)包消耗0.008 5 J,仿真時長為10 min。
將傳統(tǒng)的DSR協(xié)議與優(yōu)化后的DT_DSR協(xié)議進(jìn)行仿真,對比網(wǎng)絡(luò)的端到端延遲、業(yè)務(wù)數(shù)據(jù)的接收速率和路由開銷。
根據(jù)OPNET仿真工具記錄的統(tǒng)計數(shù)據(jù),得到如圖4所示的平均端到端時延結(jié)果。
圖4 平均端到端時延
圖4的仿真結(jié)果表明,由于選取了較穩(wěn)定的節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù),提高了傳輸鏈路的穩(wěn)定性,傳輸鏈路不易斷裂,無人機(jī)場景下,優(yōu)化后的DT_DSR協(xié)議減少了端到端時延。統(tǒng)計結(jié)果顯示,DT_DSR的平均端到端時延比原DSR協(xié)議降低了26.99%。
圖5為業(yè)務(wù)數(shù)據(jù)接收速率的仿真結(jié)果。從圖5可看出,在相同的發(fā)送速率下,DT_DSR協(xié)議的業(yè)務(wù)數(shù)據(jù)接收速率更高,由于傳輸鏈路穩(wěn)定性較差,DSR協(xié)議的業(yè)務(wù)數(shù)據(jù)接收速率明顯小于DT_DSR。結(jié)果表明,DT_DSR的業(yè)務(wù)數(shù)據(jù)接收速率比DSR協(xié)議提高了17.42%。
圖5 業(yè)務(wù)數(shù)據(jù)接收速率
圖6為路由數(shù)據(jù)發(fā)送速率。從圖6可看出,DT_DSR的路由數(shù)據(jù)發(fā)送速率總體要低于DSR,統(tǒng)計結(jié)果顯示,DT_DSR的路由數(shù)據(jù)發(fā)送速率比DSR減少了13.62%。圖7為路由數(shù)據(jù)接收速率。從圖7可看出,由于減少了不必要的洪泛,提高了路由發(fā)現(xiàn)的效率,DT_DSR的路由數(shù)據(jù)接收速率比DSR減少了15.25%。綜上所述,相比于DSR協(xié)議,DT_DSR協(xié)議的路由開銷更低。
圖6 路由數(shù)據(jù)發(fā)送速率
圖7 路由數(shù)據(jù)接收速率
在傳統(tǒng)DSR協(xié)議的基礎(chǔ)上引入機(jī)器學(xué)習(xí)分類算法,提出基于決策樹的無人機(jī)自組網(wǎng)DSR協(xié)議,在拓?fù)浣Y(jié)構(gòu)動態(tài)變化的無人機(jī)自組網(wǎng)中,智能選取相對穩(wěn)定的節(jié)點轉(zhuǎn)發(fā)傳遞數(shù)據(jù),提高傳輸鏈路的穩(wěn)定性。仿真結(jié)果表明,優(yōu)化后的DT_DSR協(xié)議在減少網(wǎng)絡(luò)端到端延遲,降低網(wǎng)絡(luò)開銷的前提下,提高了業(yè)務(wù)數(shù)據(jù)的接收速率。
路由協(xié)議是無人機(jī)自組網(wǎng)性能好壞的關(guān)鍵所在,除了常規(guī)的路由協(xié)議優(yōu)化策略,還可以利用現(xiàn)代智能算法,合理建立無人機(jī)自組網(wǎng)的網(wǎng)絡(luò)特性和算法函數(shù)之間的關(guān)系,進(jìn)而改善和提高無人機(jī)自組網(wǎng)的性能,這是下一步研究的方向。