馬忠彧,馬宏鋒,彭琳茹,李祥林
(1.蘭州工業(yè)學(xué)院電子信息工程學(xué)院,蘭州 730050;2.甘肅省資源環(huán)境科學(xué)數(shù)據(jù)工程技術(shù)研究中心,蘭州 730000;3.甘肅省資源環(huán)境信息化工程實(shí)驗(yàn)室,蘭州 730050)
將帶有大量中繼節(jié)點(diǎn)的WSN用于環(huán)境監(jiān)測中的主要目的之一是評(píng)估異?;顒?dòng)影響并預(yù)警。能耗是限制WSN在環(huán)境監(jiān)測中應(yīng)用和擴(kuò)展的關(guān)鍵因素,而路由協(xié)議設(shè)計(jì)成為解決Qos(即能耗、網(wǎng)絡(luò)生命周期、網(wǎng)絡(luò)可擴(kuò)展性和包開銷等)相關(guān)問題的有力突破點(diǎn)[1]。節(jié)點(diǎn)的隨機(jī)部署、網(wǎng)絡(luò)的動(dòng)態(tài)拓?fù)浜兔嫦驊?yīng)用的異類需求(可擴(kuò)性、可靠性、能效、資源管理等)使我們在設(shè)計(jì)面向環(huán)境監(jiān)測的WSN路由協(xié)議的過程中具有相當(dāng)挑戰(zhàn)性。
現(xiàn)有文獻(xiàn)中,根據(jù)協(xié)議的功能和參數(shù),面向環(huán)境監(jiān)測的WSN路由協(xié)議可分為平面路由分層路由和支持地理位置的路由[2]。平面路由進(jìn)一步分為主動(dòng)路由(表驅(qū)動(dòng))、被動(dòng)路由(按需驅(qū)動(dòng))和混合路由。主動(dòng)路由是節(jié)點(diǎn)根據(jù)已有的路由表向匯聚(Sink)節(jié)點(diǎn)傳輸數(shù)據(jù),常見該類協(xié)議主要有目標(biāo)序列距離向量(DSDV)協(xié)議、優(yōu)化鏈路狀態(tài)路由(OLSR)協(xié)議、低能耗自適應(yīng)分簇路由協(xié)議(LEACH)、功率有效收集傳感信息系統(tǒng)協(xié)議(PEGASIS);被動(dòng)路由協(xié)議中,節(jié)點(diǎn)在數(shù)據(jù)傳輸需求時(shí)才建立路由信息,常見的被動(dòng)路由協(xié)議有動(dòng)態(tài)源路由協(xié)議(DSR)、自適應(yīng)按需距離路由協(xié)議(AODV)、按需多播路由協(xié)議(ODMRP)、基于分簇的路由協(xié)議(CBRP)[3]。
表1列出了現(xiàn)有文獻(xiàn)中改進(jìn)能效的路由協(xié)議。
為了解決表1中的問題并滿足資源環(huán)境監(jiān)測中的可靠性、能效、最短路由、時(shí)延、通信開銷和資源管理等需求,本文提出了一種基于定向傳輸?shù)哪芰扛兄酚蓞f(xié)議DTERP(Directional Transmission-based Energy aware Routing Protocol)路由協(xié)議以同時(shí)優(yōu)化多項(xiàng)目標(biāo),該協(xié)議智能運(yùn)用PEGASIS算法和動(dòng)態(tài)源路由DSR算法并通過創(chuàng)建發(fā)送節(jié)點(diǎn)的信任列表來保證網(wǎng)絡(luò)的可靠性,同時(shí)利用方向傳輸?shù)母拍顏碜畹统潭鹊臏p小傳輸節(jié)點(diǎn)間距離。JPDORP也引入了高速緩存,當(dāng)有節(jié)點(diǎn)突發(fā)傳輸且它又不在之前建立的置信列表中,必有其他節(jié)點(diǎn)接收到該節(jié)點(diǎn)數(shù)據(jù)包,這會(huì)破壞現(xiàn)有路由。為了解決該問題,本文提出的協(xié)議在每輪中首先創(chuàng)建一個(gè)基于節(jié)點(diǎn)分配參數(shù)的置信表。此外,JPDORP協(xié)議綜合運(yùn)用遺傳算法(GA)和細(xì)菌覓食優(yōu)化(BFO)算法來確定能效最優(yōu)的路徑。我們將本文提出的JPDORP協(xié)議和PEGASIS、DSR、LEACH和ERP協(xié)議在誤比特率、時(shí)延、能耗和吞吐量方面進(jìn)行性能對(duì)比。結(jié)果表明本文算法不僅在能效方面的性能優(yōu)勢突出,而且在誤比特率和端到端時(shí)延方面也有一定增益。
假定網(wǎng)絡(luò)是在二維區(qū)域中隨機(jī)部署有限個(gè)同構(gòu)傳感器節(jié)點(diǎn),且其初始能量為ei(ei>0)。任意量節(jié)點(diǎn)可通信的條件是二者的剩余能量均大于或等于能量閾值。我們使用網(wǎng)絡(luò)仿真和理論分析中經(jīng)常用到的文獻(xiàn)[10]中的路損模型。我們用文獻(xiàn)[3]中的公式計(jì)算距離為dist的節(jié)點(diǎn)之間的接收功率:
Pr(dist)=Pi×(disti/dist)α
(1)
式中:Pi表示離發(fā)送節(jié)點(diǎn)距離為dist處的接收信號(hào)功率,α(2≤α≤6)表示路損指數(shù)。此外,我們在系統(tǒng)中做出以下約束:①節(jié)點(diǎn)的發(fā)送功率由自身可以按需調(diào)節(jié),且接收信號(hào)強(qiáng)度(RSS)計(jì)算容易;②數(shù)據(jù)包的發(fā)送和接收都是基于定向天線的;③節(jié)點(diǎn)與其地理位置;④節(jié)點(diǎn)知道自身鄰居節(jié)點(diǎn);⑤每個(gè)節(jié)點(diǎn)都能知道各自的北向參考方向。
通過算法1,我們創(chuàng)建一個(gè)節(jié)點(diǎn)個(gè)數(shù)為N(500)的隨機(jī)部署網(wǎng)絡(luò),網(wǎng)絡(luò)區(qū)域范圍為1 000 m2,該算法的第4步中我們計(jì)算所有節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)之間的距離d,并與距離閾值th進(jìn)行比較,這樣當(dāng)相鄰節(jié)點(diǎn)之間的距離d小于閾值th時(shí),節(jié)點(diǎn)之間才能通過網(wǎng)絡(luò)鏈接,通過算法1我們可以建立一個(gè)連通網(wǎng)絡(luò)。算法1描述了區(qū)域?yàn)? 000×1 000網(wǎng)絡(luò)、覆蓋集為1的網(wǎng)絡(luò)中的節(jié)點(diǎn)部署方法。
算法1 網(wǎng)絡(luò)拓?fù)鋭?chuàng)建算法步驟1 設(shè)置網(wǎng)絡(luò)長度和寬度:Length=1000,Width=1000;設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn)數(shù):N=Total_Nodes;網(wǎng)絡(luò)參數(shù)初始化:Counter=1;Cov_set=[];步驟2 forn=1,n<=N,n++; xlocation(n)=1000?Random;ylocation(n)=1000?Random; Node.name(n)=Counter;Counter=Counter+1;Endfor步驟3 fori=1,i<=N,i++; Cov_counter=2; Forj=1,j<=N,j++; IfI!=j d=(xi-xj)2+(yi-yj)2; Th=network.width?20100; If(d<=Th) Cov_set(i,1)=i; Cov_set(i,Cov_counter)=j;Cov_counter=Cov_counter+1; Endif Endif EndforEndfor
算法2 路徑搜索算法:fori=1,i<=Network.simulation.rounds,i++ Source=Initialize.Source; Source.Id=Node.name(source); Path=[]; Pathelement=2; Path[1]=Source Source.Packet.count=1000; Destination.Id=Node.name(Destination); Current_cov_set_source=Cov_set(source.Id,:) dest_found=0;possible_nodes=[]; While(dest_found!=1) Foreachallnincurrent_cov_set If(x(alln)>xlocation(Source.Id)&&(x(alln)-xloc(Destination.Id)<0 Possible_nodes[possiblenoedcount]=alln; Possiblenodecount+=1; Endif Endfor Selection=possiblenodecount?Random; Possible_Nodes=[];Path(Pathelement)=selected_Node;Endfor
算法2負(fù)責(zé)建立用于數(shù)據(jù)傳輸?shù)穆酚伤惴?路徑搜索),在節(jié)點(diǎn)的最大覆蓋集中選擇最優(yōu)路徑。如果源節(jié)點(diǎn)和目的節(jié)點(diǎn)在同一個(gè)網(wǎng)絡(luò)覆蓋集中,則進(jìn)行數(shù)據(jù)傳輸?shù)?否則進(jìn)行路徑搜索。
JPDORP協(xié)議是基于PEGASIS與DSR聯(lián)合優(yōu)化的路由協(xié)議JPDORP(Joint PEGASIS-DSR Optimized Routing Protocol),更好的融合運(yùn)用主動(dòng)路由和被動(dòng)路由。當(dāng)節(jié)點(diǎn)主動(dòng)發(fā)送數(shù)據(jù)卻不再高速緩存中,其他的節(jié)點(diǎn)勢必會(huì)收到該節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包,這有損于在用路由。解決該問題的一個(gè)方法是節(jié)點(diǎn)在接收到數(shù)據(jù)包時(shí)檢查任意節(jié)點(diǎn),這可能會(huì)有一些時(shí)延。因此,JPDORP算法在每輪首次時(shí)創(chuàng)建一個(gè)基于節(jié)點(diǎn)參數(shù)分配的置信列表。每輪都對(duì)置信列表進(jìn)行更新,這樣經(jīng)過若干輪后,對(duì)于置信列表中的節(jié)點(diǎn)不再檢查,以避免不必要的時(shí)延。
圖1給出了本文算法的流程圖,當(dāng)源節(jié)點(diǎn)想向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),源節(jié)點(diǎn)先計(jì)算自己距離所有鄰居節(jié)點(diǎn)的距離,并將數(shù)據(jù)發(fā)送給距離小于等于距離閾值且方向與到目的節(jié)點(diǎn)方向一致的鄰居節(jié)點(diǎn)。隨后,僅在第1輪仿真中將與目的節(jié)點(diǎn)方向上一致的所有節(jié)點(diǎn)添加到源節(jié)點(diǎn)信任列表中。每當(dāng)需要新的數(shù)據(jù)傳輸時(shí),且僅向在置信列表中找到的那些節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。由于節(jié)點(diǎn)是在初始階段創(chuàng)建置信列表,將置信列表存儲(chǔ)在高速緩存中后便于后續(xù)數(shù)據(jù)傳輸。路由緩存的置信列表創(chuàng)建方法如算法3所示。
圖1 協(xié)議流程圖
算法3 路由緩存置信列表創(chuàng)建算法(JPDORP)步驟1 PC=1;步驟2 Fori=1,i<=N,i++ ΔH=∑j=1EA+ET+ERN;(2) If(EAi+ETi+ERi>ΔH) RoutingdistortionpossibleNodes(PC)=i;PC=PC+1; EndifEndfor步驟4 Initializetransfer; Packet.count=1000;步驟5 D=find(Packet.sender.Id)==RoutingdistortionpossibleNodes)步驟6 if(isempty(d)) AcceptPacket;Else RejectPacket;Endif;
我們認(rèn)為每個(gè)節(jié)點(diǎn)在信任列表中出現(xiàn)一次。為尋找用于建立置信列表的最優(yōu)置信值,算法4提出了基于GA和BFO融合的優(yōu)化算法。GA算法基于ER&ET優(yōu)化節(jié)點(diǎn)一致性。每個(gè)節(jié)點(diǎn)必須通過算法4步驟1中給出的適應(yīng)度函數(shù)。
算法4 基于GA和BFO融合的置信值優(yōu)化算法:步驟1 f=(1-ETi+ERiN?rand)(3)步驟2 Fori=1:N Ifround(f)==1 NodeisacceptedforBFOfitnesscheck GAlist(Gaa)=I;Gaa=Gaa+1; Trust_value=0; Endif Endfor步驟4 tr=0步驟5 ForeachKinGAlist g=1-ETk-∑Nl=1ETN?è????÷÷(4) Ifg>0, New_trust=Rand tr=tr+1; Node_trust(tr)=Node_trust(tr)+New_trust.EndForeach
本節(jié)中將從誤比特率、吞吐量和時(shí)延等方面對(duì)本文協(xié)議和傳統(tǒng)協(xié)議(即PRP協(xié)議、DSR協(xié)議、LEACH協(xié)議、OD-PRRP協(xié)議)進(jìn)行對(duì)比。節(jié)點(diǎn)業(yè)務(wù)以512 byte/s的恒定速率產(chǎn)生。數(shù)據(jù)包大小為100,每個(gè)網(wǎng)絡(luò)場景的仿真時(shí)間為200 s,也是將數(shù)據(jù)包傳輸?shù)侥康墓?jié)點(diǎn)的傳輸時(shí)間。網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)為500個(gè),圖2給出了本文的仿真平臺(tái)模型,模型綜合運(yùn)用了PEGASIS(主要是PEGASIS方向傳輸特性)和DSR協(xié)議(主要是DSR協(xié)議的緩存特性),同時(shí)還融合運(yùn)用了GA和BFO優(yōu)化技術(shù),仿真中用到的參數(shù)如表2所示。
圖2 仿真模型
名稱縮寫取值仿真區(qū)域長度Length1000仿真區(qū)域?qū)挾萕idth1000數(shù)據(jù)包發(fā)送能耗ET數(shù)據(jù)包接搜能耗ER節(jié)點(diǎn)聚集能量EA網(wǎng)絡(luò)類型GPS節(jié)點(diǎn)個(gè)數(shù)Nnum100~500網(wǎng)絡(luò)分配NA隨機(jī)網(wǎng)絡(luò)覆蓋NCO(x2-x1)2+(y2-y1)2網(wǎng)絡(luò)緩存NCADSR緩存網(wǎng)絡(luò)路由NR基于PEGASIS
(1)端到端時(shí)延
時(shí)延表示數(shù)據(jù)包從源節(jié)點(diǎn)到目的節(jié)點(diǎn)所經(jīng)歷的時(shí)間,包括發(fā)送時(shí)延、排隊(duì)時(shí)延、傳播時(shí)延和處理時(shí)延。隨著網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量的不斷增加,網(wǎng)絡(luò)時(shí)延也不斷增加。圖3給出了不同網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量下各算法的端到端時(shí)延,從圖中可以看出隨著網(wǎng)絡(luò)節(jié)點(diǎn)的不斷增加,只有OD-PRRP協(xié)議的端到端時(shí)延呈穩(wěn)步增加趨勢。而且,JPDORP協(xié)議在時(shí)延方面的性能要優(yōu)于LEACH、DSR、PEGASIS和OD-PRRP協(xié)議。
圖3 端到端時(shí)延對(duì)比圖
(2)誤比特率
圖4表明DSR相對(duì)其他對(duì)比協(xié)議在誤比特率方面大幅降低。而本文提出的JPDORP算法在誤比特率方面要優(yōu)于PRP協(xié)議、OD-PRRP協(xié)議和LEACH協(xié)議。這是因?yàn)楸疚腏PDORP算法通過建立傳輸節(jié)點(diǎn)置信列表,降低的數(shù)據(jù)傳輸碰撞機(jī)會(huì)和誤碼率。
圖4 誤比特率對(duì)比圖
(3)能量消耗
發(fā)送數(shù)據(jù)的能耗公式為:
ETx(k,d)=Eelec·k+Camp·k·d2,d>1
接收數(shù)據(jù)的能量消耗為:
ERx(k)=Eelec·k
k表示發(fā)送的數(shù)據(jù)量,d表示兩個(gè)節(jié)點(diǎn)之間的距離,Eelec表示傳輸單位比特內(nèi)的所消耗的能量。數(shù)據(jù)傳輸?shù)目偰芎臑?Etotal=∑ERx+∑ETx。
圖5 能耗對(duì)比圖
從圖5可以看出:PRP和本文提出的JPDORP協(xié)議在節(jié)能方面的性能要優(yōu)于DSR協(xié)議、LEACH協(xié)議和OD-PRRP協(xié)議,且即使網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量增加,本文提出的JPDORP算法的能耗幾乎是穩(wěn)定的。因此,在網(wǎng)絡(luò)能耗方面,JPDORP協(xié)議性能最優(yōu)。
(4)吞吐量
如圖6所示,LEACH協(xié)議要優(yōu)于其他協(xié)議,DSR協(xié)議也要優(yōu)于PRP、JPDORP、OD-PRRP協(xié)議,PRP,PORP和OD-PRRP在吞吐量方面的性能相似。
圖6 吞吐量對(duì)比圖
假定有n個(gè)算法,A1、A2…An,設(shè)選擇評(píng)估這些算法的參數(shù)個(gè)數(shù)為m個(gè),我們可以使用以下矩陣:
為比較這種算法,首先必須對(duì)矩陣Q進(jìn)行標(biāo)準(zhǔn)化[11-12]。之所以要進(jìn)行標(biāo)準(zhǔn)化是因?yàn)?①一致評(píng)價(jià)所有參數(shù);②統(tǒng)一索引表示算法參數(shù);③設(shè)置各參數(shù)最大正常值;④使評(píng)分與單位無關(guān);
將上述求解步驟應(yīng)用于Q,我們得到的矩陣Q′如下:
通過上述計(jì)算,可得各對(duì)比路由算法(DSR、LEACH、PEGASIS、OD-PRRP、JPDORP)的評(píng)分情況為:DSR得分=13.72;LEACH得分=4.86;PEGASIS得分=6.83;OD-PRRP得分=8.89;JPDORP得分=16.91。
本文提出了一種基于DSR和PEGASIS的混合優(yōu)化路由協(xié)議,采用了基于主動(dòng)路由協(xié)議和被動(dòng)路由協(xié)議的緩存和定向傳輸技術(shù),仿真結(jié)果表明在能效一致的情況下本文所提出的協(xié)議JPDORP在端到端傳輸時(shí)延和誤比特率方面有顯著優(yōu)勢。同時(shí)本文也對(duì)現(xiàn)有的PEGASIS協(xié)議、LEACH協(xié)議、DSR協(xié)議、OD-PRRP協(xié)議和本文提出的JPDORP協(xié)議進(jìn)行對(duì)比分析,結(jié)果表明本文算法在誤比特率、吞吐量、能耗和端到端時(shí)延方面都有顯著優(yōu)勢。該方法可用于高可靠、高能效、長網(wǎng)絡(luò)生命周期、低端到端時(shí)延的安全戰(zhàn)場監(jiān)視、棲息地監(jiān)測、水環(huán)境監(jiān)測網(wǎng)絡(luò)。
[1] 簡玉梅,張韓飛,高飛. 一種基于Agent自信度的簇間多跳路由協(xié)議[J]. 傳感技術(shù)學(xué)報(bào),2017,30(1):126-132.
[2] 戴志強(qiáng),嚴(yán)承,武正江. 一種新的無線傳感器網(wǎng)絡(luò)非均勻分簇雙簇頭算法-PUDCH算法[J]. 傳感技術(shù)學(xué)報(bào),2016,29(12):1912-1918.
[3] Jain A,Reddy B V R. A Novel Method of Modeling Wireless Sensor Network Using Fuzzy Graph and Energy-Efficient Fuzzy Basedk-Hop Clustering Algorithm[J]. Wireless Personal Communication,2015,82(1):157-181.
[4] Liu J,Luo X G,Zhang X M. Job Scheduling Model for Cloud Computing Based on Multi-Objective Genetic Algorithm[J]. International Journal of Computer Science Issues,2013,10(3):134-139.
[5] Kanzaki A,Nose Y,Hara T. Dynamic Route Construction Based on Measured Characteristics of Radio Propagation in Wireless Sensor Networks[J]. International Journal of Advanced Computer Technology,2012,2(3):85-98.
[6] Kim Y D,Cho K R,Cho H S. A Cross-Layer Channel Access and Routing Protocol for Medical-Grade QoS Support in Wireless Sensor Networks[J]. Wireless Personal Communication,2014,77(1):309-328.
[7] Jung M,Han K,Cho J. Advanced Verification on WBAN and Cloud Computing for u-Health Environment[J]. Multimedia Tools Applications,2015,74(16):6151-6168.
[8] Shin K,Kim S. Predictive Routing for Mobile Sinks in Wireless Sensor Networks:A Milestone-Based Approach[J]. Journal of Supercomputing,2012,62(3):1519-1536.
[9] Yadav A,Singh Y N,Singh R. Cross Layer Design for Power Control and Link Availability in Mobile Adhoc Networks[J]. International Journal of Computers Communications and Control,2015,7(3):127-143.
[10] Michael Cheffena. Empirical Path Loss Models for Wireless Sensor Network Deployment in Snowy Environments[J]. IEEE Antennas and Wireless Propagation Letters,2017,16(1):2877-2880.
[11] Brar G S,Singh R P. A Quality Computation Model for Software Architecture[J]. International Journal of Computational and Applied Mathematics,2011,25(6):38-42.
[12] Liu Y,Ngu A H,Zeng L Z. QoS Computation and Policing in Dynamic Web Service Selection[C]//Proc 13th Int World Wide Web Conf. Alternate Track Papers Posters(WWW Alt),New York,NY,USA,2004,66-73.