張 宇, 任 帥
(河南財(cái)政金融學(xué)院軟件學(xué)院, 鄭州 450000)
物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)是一種由移動(dòng)通信與計(jì)算機(jī)網(wǎng)絡(luò)組成的網(wǎng)絡(luò),主要應(yīng)用于沒有通信基礎(chǔ)設(shè)施的環(huán)境中[1-2]。物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的研究和發(fā)展受到新聞媒體、企業(yè)以及學(xué)術(shù)界高度關(guān)注[3],由于物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)關(guān)系到信息資源和網(wǎng)絡(luò),中國(guó)對(duì)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的重視度逐漸提高,以期同國(guó)際物聯(lián)網(wǎng)接軌,增強(qiáng)自組網(wǎng)的競(jìng)爭(zhēng)力和應(yīng)用價(jià)值。
路由協(xié)議作為物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的核心部分,其算法直接影響整個(gè)網(wǎng)絡(luò)性能。傳統(tǒng)路由協(xié)議算法存在很多弊端。例如基于互聯(lián)網(wǎng)協(xié)議第六版(internet protocol version 6)的路由協(xié)議算法,雖然可以實(shí)現(xiàn)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)中鏈路故障診斷和修復(fù)[4],但是該方法計(jì)算較復(fù)雜,并且運(yùn)算量大;基于低功耗自適應(yīng)集簇分層型協(xié)議(low energy adaptive clustering hierarchy,LEAGH)的路由協(xié)議算法,無(wú)能有效應(yīng)對(duì)處理物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)中路由鏈路節(jié)點(diǎn)不斷增加,導(dǎo)致的路由節(jié)點(diǎn)定位和數(shù)據(jù)包到達(dá)率低的問題。姜磊[5]提出了一種基于Quagga的動(dòng)態(tài)路由信息協(xié)議(routing information protocol)的設(shè)計(jì)方法,能夠?qū)ξ锫?lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)中鏈路進(jìn)行故障進(jìn)行智能診斷,但是此方法是對(duì)鏈路故障的診斷結(jié)果準(zhǔn)確性較差。段圓圓等[6]提出了一種基于LEACH的能量高效分簇路由協(xié)議,能夠在網(wǎng)絡(luò)節(jié)點(diǎn)增加的情況下快速進(jìn)行故障定位,同時(shí)準(zhǔn)確性也有了一定的改善,但是這種方法計(jì)算過大,容易造成網(wǎng)絡(luò)崩潰,適應(yīng)性較差。
現(xiàn)以物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)模型為基礎(chǔ),通過多媒體印刷讀物(multimedia print reader, MPR)集合綜合選取節(jié)點(diǎn)機(jī)制確保自組網(wǎng)能耗均衡。采用網(wǎng)絡(luò)路由協(xié)議改進(jìn)算法,修復(fù)自組網(wǎng)鏈路故障,增強(qiáng)自組網(wǎng)數(shù)據(jù)傳輸性、連通性以及網(wǎng)絡(luò)壽命。對(duì)網(wǎng)絡(luò)路由協(xié)議進(jìn)行改進(jìn),能夠提高自組網(wǎng)鏈路修復(fù)效果,增強(qiáng)網(wǎng)絡(luò)傳輸效率,同時(shí)數(shù)據(jù)吞吐量也較傳統(tǒng)方法高,提升數(shù)據(jù)包到達(dá)率和控制數(shù)據(jù)量。
設(shè)計(jì)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)模型,研究物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)驅(qū)動(dòng)路由協(xié)議改進(jìn)算法。網(wǎng)絡(luò)模型包括感知現(xiàn)場(chǎng)、匯聚節(jié)點(diǎn)和互聯(lián)網(wǎng)3個(gè)主要部分。在感知現(xiàn)場(chǎng)隨機(jī)分布許多傳感器節(jié)點(diǎn)[7],采用自組織方式建立子網(wǎng)絡(luò),傳感器節(jié)點(diǎn)主要作用是監(jiān)控、搜集、感知和協(xié)調(diào)感知現(xiàn)場(chǎng)中的所有信息[8],并將得到的數(shù)據(jù)傳輸?shù)絽R聚節(jié)點(diǎn),利用衛(wèi)星和Internet傳輸將數(shù)據(jù)至遠(yuǎn)程監(jiān)控中心,最終傳輸?shù)接脩?或者數(shù)據(jù)通過網(wǎng)絡(luò)之間傳輸?shù)接脩?。圖1所示為物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)模型基本結(jié)構(gòu)[9]。
圖1 物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)模型基本結(jié)構(gòu)Fig.1 Basic structure of ad hoc network model with dedicated frequency points for Internet of things
假設(shè)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)包括x個(gè)節(jié)點(diǎn)[10],SX×K和PX×1分別為節(jié)點(diǎn)鏈路矩陣和通信周期矩陣,SX×K利用圓盤布爾覆蓋,S={si|i=1,2,…,Xs}(S?N)是最初拓?fù)浣Y(jié)構(gòu)中激活網(wǎng)絡(luò)的移動(dòng)位置,傳感器節(jié)點(diǎn)與節(jié)點(diǎn)集合間的關(guān)系為c∈Nx,(xc,yc)表示物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的路由移動(dòng)節(jié)點(diǎn)坐標(biāo),路由開銷通過主動(dòng)探測(cè)法檢查有問題鏈路,專用頻點(diǎn)自組網(wǎng)中所有節(jié)點(diǎn)的鏈路特征存在較大差異性,專用頻點(diǎn)自組網(wǎng)系統(tǒng)的節(jié)點(diǎn)通信周期為
(1)
優(yōu)化鏈接狀態(tài)路由(optimized link state routing,OLSR)協(xié)議的優(yōu)勢(shì)在于增加多點(diǎn)中繼MPR,通過路由協(xié)議算法選取恰當(dāng)?shù)腗PR節(jié)點(diǎn),大程度減少網(wǎng)絡(luò)拓?fù)渚S護(hù)開銷,但因此增加了MPR信令負(fù)載以及節(jié)點(diǎn)業(yè)務(wù),MPR節(jié)點(diǎn)的能量快速減少,并且網(wǎng)絡(luò)節(jié)點(diǎn)的存活時(shí)間將會(huì)降低。本文算法將物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的能量均衡消耗問題作為路由協(xié)議優(yōu)化的重點(diǎn),增加能量代價(jià)函數(shù)使路由層能量消耗達(dá)到均衡[11]。
以物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)模型和網(wǎng)絡(luò)節(jié)點(diǎn)剩余能量為基礎(chǔ),構(gòu)建能量代價(jià)函數(shù),利用該函數(shù)衡量網(wǎng)絡(luò)中所有節(jié)點(diǎn)信號(hào)傳輸時(shí)能量投遞代價(jià)和分析路由節(jié)點(diǎn)數(shù)據(jù)。能量代價(jià)函數(shù)公式為
(2)
選擇MPR節(jié)點(diǎn)作為OLSR協(xié)議的核心步驟之一。傳統(tǒng)路由協(xié)議算法通常利用網(wǎng)絡(luò)最小連接拓?fù)錁?但當(dāng)節(jié)點(diǎn)能量有限時(shí),傳統(tǒng)路由協(xié)議模式中網(wǎng)絡(luò)核心位置節(jié)點(diǎn)擔(dān)負(fù)多數(shù)數(shù)據(jù)業(yè)務(wù)和拓?fù)渚S護(hù)的中繼任務(wù),致使本節(jié)點(diǎn)能量消耗比其他節(jié)點(diǎn)能量消耗快,并產(chǎn)生“節(jié)點(diǎn)死亡”現(xiàn)象,導(dǎo)致整個(gè)網(wǎng)絡(luò)的通信性能以及連通性能降低。
自組網(wǎng)模型采用MPR集合綜合選取節(jié)點(diǎn)機(jī)制,該機(jī)制以網(wǎng)絡(luò)節(jié)點(diǎn)總能量消耗相加得到的值Fall以及能量代價(jià)D為基礎(chǔ),通過除去少數(shù)剩余能量少與功率低的相鄰節(jié)點(diǎn),增加能量均衡以及節(jié)能路由的選取概率,因此確保能量消耗處于均衡狀態(tài),為網(wǎng)絡(luò)節(jié)省能量。以網(wǎng)絡(luò)節(jié)點(diǎn)總能量消耗相加得到的值Fall為出發(fā)點(diǎn),得到MPR集合選取節(jié)點(diǎn)優(yōu)化目標(biāo)函數(shù)為
(3)
物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)路由協(xié)議采用多跳匯聚協(xié)議,雖然通過引入上述能量代價(jià)函數(shù)使節(jié)點(diǎn)能量消耗達(dá)到均衡,但是隨著網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量增加,容易造成網(wǎng)絡(luò)擁擠,增加鏈路故障的產(chǎn)生,為此,采用如下網(wǎng)絡(luò)路由協(xié)議改進(jìn)算法,以修復(fù)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)中的鏈路故障。
假設(shè)V為擬定區(qū)域,鏈路路由修復(fù)下的物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的路由修復(fù)問題用公式表示為
y(l+1)=B(l)y(l)+Γ(l)w(l)
(4)
ti(l)=Pi(l)y(l)+ui(l),i=1,2,…,N
(5)
式中:y和B分別為網(wǎng)格數(shù)量和節(jié)點(diǎn)耗能因子;l為節(jié)點(diǎn);l和w均為相關(guān)性系數(shù);t為節(jié)點(diǎn)傳輸預(yù)測(cè)時(shí)間;P為傳輸信號(hào)功率;Γ為路由協(xié)議的特征量。由于自組網(wǎng)中包括X個(gè)傳感器節(jié)點(diǎn),設(shè)定G為參考節(jié)點(diǎn)數(shù)量,且G≥3,當(dāng)預(yù)測(cè)時(shí)間為tl+1時(shí),采用模糊神經(jīng)網(wǎng)絡(luò)得到l+1代節(jié)點(diǎn)ui最后坐標(biāo)(xi,g+1,yi,g+1)的路由引擎信息,即
(6)
式(6)中:E為路由端口容量。利用特征狀態(tài)方程的正交性獲得控制物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)節(jié)點(diǎn)數(shù)的簇頭數(shù)目為
(7)
(8)
式中:τ為選舉輪數(shù)。利用預(yù)加重方法廣播解決專用頻點(diǎn)自組網(wǎng)節(jié)點(diǎn)競(jìng)選簇頭節(jié)點(diǎn)能量消耗情況,路由轉(zhuǎn)發(fā)消息開銷的總值為
s+l+X-l=X+s (9) 式(9)中:s表示路由轉(zhuǎn)發(fā)消息時(shí)間開銷。 路由轉(zhuǎn)發(fā)分簇階段消息消耗能量總和為 (10) 式(10)中:b表示路由轉(zhuǎn)讓發(fā)分簇簇?cái)?shù);g表示分簇階段消耗的能量;hi表示路由轉(zhuǎn)發(fā)分簇節(jié)點(diǎn)的模坐標(biāo)。 通過數(shù)據(jù)融合模型獲得物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)路中的隨機(jī)元素代表節(jié)點(diǎn)的耗能效率,即 Pinit=FR+FT+FB (11) 式(11)中:FR為路由的通信半徑;FT鏈路通信頻率指數(shù)。 為了提高路由協(xié)議的魯棒性,得到網(wǎng)絡(luò)路由協(xié)議改進(jìn)算法下的路由轉(zhuǎn)發(fā)數(shù)據(jù)傳遞效率為 (12) 式(12)中:ei、ej為在si、sj單位時(shí)間內(nèi)路由引擎能量消耗的吞吐量;λ表示隨機(jī)數(shù),區(qū)間為[0,1],選取物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)中最小覆蓋集C={si,…sj,…}實(shí)現(xiàn)網(wǎng)絡(luò)路由鏈路損傷修復(fù);β表示路由協(xié)議的魯棒性。 實(shí)驗(yàn)相關(guān)設(shè)置如表1所示。 采用能夠準(zhǔn)確分析復(fù)雜網(wǎng)絡(luò)性能和行為的OPNET 14.5平臺(tái)和Tiktronix TX3的安卓客戶端構(gòu)建某物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)實(shí)驗(yàn)網(wǎng)絡(luò)結(jié)構(gòu)模型,該模型采用本文路由協(xié)議算法控制,測(cè)試本文算法的通信傳輸性能以及路由鏈路轉(zhuǎn)發(fā)情況,本文算法路由節(jié)點(diǎn)獲取的待轉(zhuǎn)發(fā)報(bào)文信息折線圖如圖2所示。根據(jù)以上由路由節(jié)點(diǎn)獲取的報(bào)文信息情況,研究本文算法的路由鏈路收發(fā)情況,利用本文算法提取鏈路信息簇頭節(jié)點(diǎn)并進(jìn)行信息源定位,圖3所示為鏈路信息簇頭節(jié)點(diǎn)情況。 表1 參數(shù)設(shè)置Table 1 Parameter settings 分析圖3得到在0.01 ms內(nèi)提取到6次鏈路信息簇頭節(jié)點(diǎn)特征信息,說明本文算法可以有效提取鏈路信息簇頭節(jié)點(diǎn),正確定位物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)下的鏈路信息。 為了進(jìn)一步驗(yàn)證本文算法驅(qū)動(dòng)物聯(lián)網(wǎng)專用頻點(diǎn)自主網(wǎng)路由鏈路轉(zhuǎn)發(fā)情況,對(duì)比分析本文算法、基于IPv6的RIP路由協(xié)議算法以及基于LEACH的路由協(xié)議算法的路由轉(zhuǎn)發(fā)吞吐性能,結(jié)果如圖4所示。 圖2 路由節(jié)點(diǎn)獲取的待轉(zhuǎn)發(fā)報(bào)文信息折線圖Fig.2 Line chart of message information to be forwarded acquired by routing node 圖3 鏈路信息簇頭節(jié)點(diǎn)提取情況Fig.3 Extraction of link information cluster head node 圖4 路由鏈路信息轉(zhuǎn)發(fā)性能對(duì)比Fig.4 Comparison of routing link information forwarding performance 根據(jù)圖4中信息可知,在相同的時(shí)間下,本文算法的路由轉(zhuǎn)發(fā)吞吐量均高于其他兩種算法,并且在0.3 s以后吞吐量呈遞增狀態(tài),最高值達(dá)到13×103byte,而隨著時(shí)間的推移,基于IPv6的RIP路由協(xié)議算法和基于LEACH的路由協(xié)議算法的路由轉(zhuǎn)發(fā)吞吐量波動(dòng)較大,達(dá)到的最高吞吐量分別為9.85×103byte和7.8×103byte,主要因?yàn)楸疚乃惴▽?duì)自組網(wǎng)路由進(jìn)行改進(jìn)設(shè)計(jì),修復(fù)路由鏈路損傷,提高了提取鏈路信息簇頭節(jié)點(diǎn)有效性,實(shí)現(xiàn)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)下的鏈路信息的正確定位。因此本算法對(duì)路由鏈路信息轉(zhuǎn)發(fā)具有很好的吞吐性能,說明本文算法展示出較好的物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的數(shù)據(jù)傳輸性和連通性。 實(shí)驗(yàn)對(duì)比分析本文算法、基于IPv6的RIP路由協(xié)議算法以及基于LEACH的路由協(xié)議算法的物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)節(jié)點(diǎn)生存情況。圖5所示為3種算法的網(wǎng)絡(luò)死亡節(jié)點(diǎn)數(shù)和時(shí)間的關(guān)系。 分析圖5可知,當(dāng)死亡節(jié)點(diǎn)為1個(gè)時(shí),本文算法在410輪左右,而基于IPv6的RIP路由協(xié)議算法在330輪左右,基于LEACH的路由協(xié)議算法僅為310輪,明顯小于本文算法;當(dāng)死亡節(jié)點(diǎn)為40個(gè)時(shí),本文方法在410輪,基于IPv6的RIP路由協(xié)議算法在350輪左右,基于LEACH的路由協(xié)議算法為340輪,并且隨著死亡節(jié)點(diǎn)的增加,本文方法基本保持在410輪左右,沒有太大的波動(dòng)情況,而且起始節(jié)點(diǎn)和最終節(jié)點(diǎn)時(shí)間輪數(shù)基本一致,主要是因?yàn)楸疚乃惴ú捎肕PR集合綜合選取節(jié)點(diǎn)機(jī)制,通過能量代價(jià)函數(shù)使物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)中每個(gè)節(jié)點(diǎn)的能量消耗達(dá)到均衡,即網(wǎng)絡(luò)能量消耗平均分布到所有節(jié)點(diǎn),大幅度增加節(jié)點(diǎn)生存時(shí)間。而其他兩種方法不僅波動(dòng)較大,對(duì)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)中節(jié)點(diǎn)消耗過大,同時(shí)節(jié)點(diǎn)的生存概率也沒有本文方法大。 圖5 死亡節(jié)點(diǎn)和時(shí)間的關(guān)系圖Fig.5 Relationship between death node and time 分析3種算法的網(wǎng)絡(luò)壽命和匯聚節(jié)點(diǎn)距離之間的關(guān)系,用圖6描述,驗(yàn)證本文算法優(yōu)化的物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)壽命狀況。 分析圖6看出,隨著匯聚節(jié)點(diǎn)距離不斷增加,物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)壽命衰減速度逐漸減慢,本文算法優(yōu)化的網(wǎng)絡(luò)壽命從425輪減少到230輪,減少幅度約為46%,其他兩種方法的減少幅度分別為73%和85%左右,遠(yuǎn)遠(yuǎn)高于本文算法,說明本文算法下的物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的網(wǎng)絡(luò)壽命顯著高于其他兩種方法。 圖6 網(wǎng)絡(luò)壽命和匯聚節(jié)點(diǎn)距離關(guān)系Fig.6 Relationship between network life and convergence node distance 實(shí)驗(yàn)利用NS2網(wǎng)絡(luò)軟件,以網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)數(shù)作為因變量,構(gòu)建物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)仿真場(chǎng)景,比較分析3種算法的性能效果。分析3種算法在節(jié)點(diǎn)數(shù)目不同情況下,數(shù)據(jù)包到達(dá)率、路由開銷性能,對(duì)比結(jié)果如圖7所示。 圖7 網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)數(shù)和性能參數(shù)的變化關(guān)系Fig.7 Relationship between the number of network topology nodes and performance parameters 分析圖7得到,在物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)產(chǎn)生變化情況下,網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)不斷增加的同時(shí)3種算法獲得的數(shù)據(jù)包到達(dá)率、路由開銷基本處于持續(xù)增長(zhǎng)狀態(tài),對(duì)于數(shù)據(jù)包到達(dá)率和節(jié)點(diǎn)的變化關(guān)系,本文算法數(shù)據(jù)包到達(dá)率增長(zhǎng)速度比其他兩種方法快很多,增長(zhǎng)幅度在60%左右,并最終達(dá)到100%,其他兩種算法的最終數(shù)據(jù)包到達(dá)率分別為81%和69%左右,與本文算法相比數(shù)據(jù)包達(dá)到率相差約19%~31%,說明本文算法有效實(shí)現(xiàn)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)數(shù)據(jù)信息傳輸。 對(duì)于控制數(shù)據(jù)量和節(jié)點(diǎn)的變化關(guān)系,在節(jié)點(diǎn)數(shù)為10個(gè)時(shí),3種算法的控制數(shù)據(jù)量均為0.4×105字節(jié),當(dāng)節(jié)點(diǎn)數(shù)為50個(gè)時(shí),本文算法的控制數(shù)據(jù)量為1.2×106,遠(yuǎn)高于其他兩種算法,說明本文方法能夠滿足物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)路由開銷。這是因?yàn)樽越M網(wǎng)能量消耗處于均衡狀態(tài),減少了損耗,并對(duì)網(wǎng)絡(luò)路由協(xié)議算法進(jìn)行改進(jìn),能夠及時(shí)修復(fù)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)鏈路故障,性能讓比傳統(tǒng)方法好。 分析物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)驅(qū)動(dòng)路由協(xié)議算法,構(gòu)建鏈路路由修復(fù)下的物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)網(wǎng)絡(luò)模型,在該模型的基礎(chǔ)上,通過能量代價(jià)函數(shù)設(shè)計(jì)和網(wǎng)絡(luò)路由協(xié)議改進(jìn)算法,分析確保自組網(wǎng)能量消耗處于均衡狀態(tài)和物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)鏈路故障的有效修復(fù),增強(qiáng)物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)的數(shù)據(jù)傳輸性能,提升網(wǎng)絡(luò)節(jié)點(diǎn)的生存時(shí)間和網(wǎng)絡(luò)可控制數(shù)據(jù)量,確保物聯(lián)網(wǎng)專用頻點(diǎn)自組網(wǎng)在通信基礎(chǔ)設(shè)施的環(huán)境中充分發(fā)揮自身的通信價(jià)值和使用價(jià)值。2 實(shí)驗(yàn)分析
2.1 通信傳輸性能以及路由鏈路轉(zhuǎn)發(fā)情況分析
2.2 節(jié)點(diǎn)生存時(shí)間分析
2.3 網(wǎng)絡(luò)壽命分析
2.4 性能分析
3 結(jié)論