鄒寶瑩,張文波,郝 穎,2
(1.沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽 110159;2.遼寧工程職業(yè)學(xué)院,遼寧 鐵嶺112000)
水聲無線傳感器網(wǎng)絡(luò)(Underwater Acoustic Wireless Sensor Network,UAWSN)已被國內(nèi)外廣泛研究,引起高度重視,且普遍在軍事和民用工作中得以應(yīng)用[1]。如反潛艇的入侵檢測使用、水下作戰(zhàn)系統(tǒng)、監(jiān)測水下環(huán)境變化、預(yù)防海洋地震或海嘯災(zāi)難的發(fā)生、水下生態(tài)探索、水下潛艇航行目標(biāo)的監(jiān)測和跟蹤、導(dǎo)航輔助作用等領(lǐng)域。我國是一個擁有豐富的海洋資源和可用能源的大國,深入研究和發(fā)展水聲無線傳感器網(wǎng)絡(luò)具有戰(zhàn)略性和實(shí)際意義[2]。其中路由算法是保障水聲無線傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)年P(guān)鍵方法,也是水聲無線傳感器網(wǎng)絡(luò)體系中的重點(diǎn)研究方面之一,可以有效地解決路徑選擇問題和如何通過選擇的路徑把數(shù)據(jù)安全可靠地從源節(jié)點(diǎn)傳輸至目的節(jié)點(diǎn)。
相對于傳統(tǒng)的部署在陸地上的無線傳感器網(wǎng)絡(luò),水聲無線傳感器網(wǎng)絡(luò)會受到海洋里洋流、密度等因素的影響,且傳輸鏈路高度動態(tài),導(dǎo)致時延高、傳輸過程可靠性低[3]。針對這些特點(diǎn),應(yīng)用在陸地上的路由算法不能直接應(yīng)用于水聲無線傳感器網(wǎng)絡(luò),需要設(shè)計(jì)符合水聲無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間的傳輸路由算法。
Epidemic算法[4]是由Vahdat等提出的一種基于泛洪的轉(zhuǎn)發(fā)路由算法,其缺點(diǎn)是該路由算法會使節(jié)點(diǎn)消耗大量能量,過多浪費(fèi)網(wǎng)絡(luò)資源。APF算法[5]是由Khatib提出的采用虛擬力方法的算法,其缺點(diǎn)是由障礙物產(chǎn)生的斥力與節(jié)點(diǎn)產(chǎn)生的引力大小相等、方向相反,可能會出現(xiàn)局部最小值和局部震蕩的情況,導(dǎo)致無限期地加大時延。針對上述算法產(chǎn)生的問題,本文提出基于虛擬引力勢場的路由選擇算法(Routing algorithm for virtual gravitational potential field,RAGPF),根據(jù)節(jié)點(diǎn)的剩余能量大小、歷史傳輸成功率來建立勢場模型,進(jìn)而確定一條最優(yōu)路徑,期望更好地提高路由效率,減小相對時延,使數(shù)據(jù)可以被高效、快速地轉(zhuǎn)發(fā)。
現(xiàn)實(shí)中的水聲無線傳感器節(jié)點(diǎn)間的數(shù)據(jù)傳輸受到海洋中自然環(huán)境不可抗因素的干擾,會產(chǎn)生延時高、鏈路質(zhì)量低甚至傳輸中斷的問題[6],本文利用傳統(tǒng)的人工勢場相關(guān)概念,改進(jìn)算法,進(jìn)而在水聲傳感器路由選擇中運(yùn)用引力勢場的概念,提出一種最優(yōu)路徑選擇算法RAGPF。
Khatib在1986年提出的人工勢場法,是一種基于虛擬力方法,原理是建立一個引力勢場和一個斥力勢場,運(yùn)動對象受到虛擬勢場中的力而運(yùn)動,人為定義的路障會對運(yùn)動對象產(chǎn)生斥力[7],使之向遠(yuǎn)離路障的方向運(yùn)動,目標(biāo)終點(diǎn)的對象則會對運(yùn)動對象產(chǎn)生引力作用。對運(yùn)動對象所受的引力與斥力進(jìn)行矢量合成,產(chǎn)生的合力會使運(yùn)動目標(biāo)避開路障,最終到達(dá)目標(biāo)終點(diǎn)[8]。運(yùn)動對象在人工勢場中所受到的作用力如圖1所示。
圖1 傳統(tǒng)人工勢場法
人工勢場法是用來針對運(yùn)動對象,可進(jìn)行人為定義的勢場,是路障斥力場和目標(biāo)終點(diǎn)引力場的重疊。假設(shè)某運(yùn)動對象的位置為q(x,y,z),那么運(yùn)動對象到終點(diǎn)的引力場函數(shù)為
(1)
式中:ξ為一個引力勢場的增益系數(shù);qg是目標(biāo)終點(diǎn)的位置。由式(1)可得引力為
Fatt(q)=-?Uatt=ξ|q-qg|
(2)
第i個路障對運(yùn)動對象產(chǎn)生的斥力勢場Ureqi(q)為
(3)
式中:η表示斥力勢場增益系數(shù);qoi為第i個路障的位置;doi為第i個路障的最大影響距離。那么,n個障礙物形成的總斥力勢場可表示為
(4)
運(yùn)動對象所受到的總斥力為
Freq(q)=-?Ureq=
(5)
總勢場為引力勢場與斥力勢場的重疊,即
U(q)=Uatt(q)+Ureq(q)
(6)
運(yùn)動對象所受到的合力為
F(q)=-?U(q)=Fatt(q)+Freq(q)
(7)
雖然傳統(tǒng)的人工勢場法能設(shè)計(jì)出一條相對光滑安全到達(dá)目標(biāo)終點(diǎn)的路徑,但仍存在一些有待解決的問題。當(dāng)運(yùn)動對象向終點(diǎn)移動時,若引力與斥力大小相等、方向相反時,則運(yùn)動對象的勢場力為零,此時運(yùn)動對象易陷入局部最小值和局部振蕩的情況[9];當(dāng)目標(biāo)終點(diǎn)與障礙物接近時,運(yùn)動對象可能會有目標(biāo)不可達(dá)的情況出現(xiàn)。因此,為避免上述情況的出現(xiàn),本文借鑒人工勢場法的思想,提出一種基于虛擬引力勢場的路由算法。
本文綜合考慮水聲傳感器節(jié)點(diǎn)安全可靠的傳輸數(shù)據(jù)、節(jié)點(diǎn)剩余能量值的大小、歷史傳輸成功率及在單位時間內(nèi)節(jié)點(diǎn)可傳遞數(shù)據(jù)量的大小,運(yùn)用虛擬引力勢場的知識,當(dāng)源節(jié)點(diǎn)向傳感器節(jié)點(diǎn)發(fā)送請求信息時,假設(shè)節(jié)點(diǎn)A在接收源節(jié)點(diǎn)的“請求信息”后,計(jì)算節(jié)點(diǎn)A自身的吸引力,再向下一跳發(fā)送“請求信息”,對其余節(jié)點(diǎn)重復(fù)此方式,最終把信息發(fā)送到sink節(jié)點(diǎn)。節(jié)點(diǎn)間使用虛擬的引力把數(shù)據(jù)流吸引向選取的最優(yōu)路徑,使其高效安全地傳輸至sink節(jié)點(diǎn)。圖2為虛擬引力勢場的節(jié)點(diǎn)模型視圖。
圖2 虛擬引力勢場的節(jié)點(diǎn)模型視圖
1.2.1 引力場
根據(jù)庫倫定律中異性電荷相互吸引的理論,把水聲傳感器網(wǎng)絡(luò)抽象成一個由sink節(jié)點(diǎn)激發(fā)的引力勢場,網(wǎng)絡(luò)中節(jié)點(diǎn)均模擬為正電荷,數(shù)據(jù)流模擬為負(fù)電荷;其中sink節(jié)點(diǎn)的電荷量被視為無窮大,因此吸引力最大。數(shù)據(jù)流會被引力最大的節(jié)點(diǎn)吸引傳輸,最終流向sink節(jié)點(diǎn)。
在把水聲傳感器網(wǎng)絡(luò)模擬為引力場后,對于網(wǎng)絡(luò)中(x,y,z)處的某節(jié)點(diǎn),定義sink節(jié)點(diǎn)對該節(jié)點(diǎn)數(shù)據(jù)流的吸引力F(x,y,z)為
(8)
式中:s(x,y,z)為數(shù)據(jù)量函數(shù);Q為該節(jié)點(diǎn)的剩余能量;h為該節(jié)點(diǎn)歷史傳輸成功率;qe為單位負(fù)載;c為單位向量;Df為節(jié)點(diǎn)實(shí)際狀態(tài)下的能量;Dt為節(jié)點(diǎn)原有能量;r為該節(jié)點(diǎn)與sink節(jié)點(diǎn)間的應(yīng)用距離,該應(yīng)用距離是實(shí)際距離與環(huán)境影響因子的乘積,應(yīng)用距離的表達(dá)式為
r=dis(xs,ys,zs,x,y,z)×v(x,y,z)
(9)
式中:dis(xs,ys,zs,x,y,z)是該節(jié)點(diǎn)到sink節(jié)點(diǎn)的實(shí)際距離;v(x,y,z)是該節(jié)點(diǎn)的環(huán)境影響因子。v(x,y,z)值由該節(jié)點(diǎn)附近對傳輸產(chǎn)生影響的障礙物(如礁石、海水密度、洋流、溫度等諸多因素)決定,其盡可能地表征現(xiàn)實(shí)中水聲傳感器網(wǎng)絡(luò)某節(jié)點(diǎn)的通信能力。式(8)中的s(x,y,z)表達(dá)式為
(10)
式中:a為傳遞數(shù)據(jù)量的調(diào)節(jié)因子;Ef(x,y,z)為該節(jié)點(diǎn)單位時間從上一跳節(jié)點(diǎn)傳輸中接受到的實(shí)際數(shù)據(jù)量;Et(x,y,z)為該節(jié)點(diǎn)在理想情況下單位時間從上一跳節(jié)點(diǎn)傳輸中接受到的數(shù)據(jù)量。
在電場概念中,為表示電場的強(qiáng)弱和方向,由引力場強(qiáng)度來形容引力場中節(jié)點(diǎn)的相關(guān)特性。某節(jié)點(diǎn)的引力場強(qiáng)度E(x,y,z)是指此節(jié)點(diǎn)處的數(shù)據(jù)流受到的吸引力F(x,y,z)與單位數(shù)據(jù)流負(fù)載q(x,y,z)的比值,表達(dá)式為
(11)
由式(11)可知,引力場強(qiáng)度受該節(jié)點(diǎn)與sink節(jié)點(diǎn)間的應(yīng)用距離、某時刻的剩余能量和該節(jié)點(diǎn)附近的環(huán)境因素共同影響。
若網(wǎng)絡(luò)結(jié)構(gòu)里存在n個sink節(jié)點(diǎn),則這n個節(jié)點(diǎn)會共同激發(fā)一個引力場,那么某個中繼節(jié)點(diǎn)監(jiān)測到的數(shù)據(jù)受到的吸引力為每個sink節(jié)點(diǎn)對該數(shù)據(jù)產(chǎn)生的引力之和。公式為(12)所示。
(12)
該節(jié)點(diǎn)的總引力場強(qiáng)度E(x,y,z)為n個sink節(jié)點(diǎn)產(chǎn)生的場強(qiáng)之和。
(13)
1.2.2 路由選擇
計(jì)算完各節(jié)點(diǎn)的場強(qiáng)值,中繼節(jié)點(diǎn)A在選擇下一跳節(jié)點(diǎn)Anext時,會選擇引力場強(qiáng)度最大值的節(jié)點(diǎn)Amax,因?yàn)槠涿枋隽嗽摴?jié)點(diǎn)的歷史傳輸成功率、剩余能量及單位負(fù)載等參數(shù);與其他中繼節(jié)點(diǎn)相比,引力場強(qiáng)度最大值的Anext最適合作為下一跳通信的節(jié)點(diǎn),該節(jié)點(diǎn)發(fā)揮“引力”作用,吸引數(shù)據(jù)流的傳輸。若Anext不是sink節(jié)點(diǎn),則采用同樣方法尋找最優(yōu)的下一跳節(jié)點(diǎn),直到下一跳為sink節(jié)點(diǎn)。在找到所有通向sink節(jié)點(diǎn)的路徑后,源節(jié)點(diǎn)計(jì)算每條路徑的平均場強(qiáng),平均場強(qiáng)值最大的路徑為最優(yōu)路徑。最優(yōu)路徑的確定如圖3所示。
圖3 最優(yōu)路徑的確定
結(jié)合上述路由算法的闡述,RAGPF算法偽代碼如表1所示。
表1 算法偽代碼
本文采用NS-3仿真軟件進(jìn)行仿真驗(yàn)證,通過此仿真平臺,對水聲傳感器網(wǎng)絡(luò)中基于虛擬引力勢場的路由算法進(jìn)行可行性驗(yàn)證。在此基礎(chǔ)上從數(shù)據(jù)包投遞、平均端到端時延這兩方面對APF算法、Epidemic算法與RAGPF算法相比較。表2為仿真參數(shù)。圖4為三種算法的平均端到端時延仿真圖。
表2 仿真參數(shù)
圖4 平均端到端時延
圖4顯示了三種算法平均端到端的時延情況。由于仿真過程對節(jié)點(diǎn)能量有消耗,會使中繼節(jié)點(diǎn)出現(xiàn)陸續(xù)死亡,致使三種算法的時延都呈上升趨勢。Epidemic路由算法會過多發(fā)送數(shù)據(jù),在節(jié)點(diǎn)能量不斷減少下,該算法會因?yàn)闊o限制洪泛產(chǎn)生大量的消息副本,占用路由資源,增大端到端時延。APF算法可能會陷入局部最小值和局部振蕩的情況,加大了時延,對到達(dá)sink節(jié)點(diǎn)時間產(chǎn)生不確定性。RAGPF路由算法的時延相對較低且較穩(wěn)定,該算法選擇一條最優(yōu)路徑,傳輸時減少了網(wǎng)絡(luò)擁塞,提高了路由效率,使數(shù)據(jù)可被高效、快速地轉(zhuǎn)發(fā)。圖5為三種算法的數(shù)據(jù)包投遞率仿真圖。
圖5 數(shù)據(jù)包投遞率
由圖5可以看出,Epidemic、APF兩種算法的投遞率都偏低,是因?yàn)镋pidemic算法采用泛洪機(jī)制,沒有目的性的向若干中繼節(jié)點(diǎn)傳輸數(shù)據(jù)包,加大了能量損耗,數(shù)據(jù)包投遞率降低;APF算法很大可能性陷入環(huán)境因素,導(dǎo)致數(shù)據(jù)傳輸?shù)某晒π越档?,轉(zhuǎn)發(fā)效果差。而RAGPF算法會定時尋找最優(yōu)路徑,保證傳輸?shù)目煽啃?,對傳輸?shù)據(jù)包產(chǎn)生積極作用。
針對水聲傳感器網(wǎng)絡(luò)的路由選擇,盡可能的保證數(shù)據(jù)安全可靠地傳輸至sink節(jié)點(diǎn)。RAGPF算法根據(jù)節(jié)點(diǎn)的剩余能量值的大小、歷史傳輸成功率等因素來建立勢場模型,由sink節(jié)點(diǎn)激發(fā)引力勢場,選擇出平均引力場強(qiáng)度值最大的路徑,即傳輸最優(yōu)路徑;進(jìn)而數(shù)據(jù)流流向sink節(jié)點(diǎn)。從仿真結(jié)果可以得出,RAGPF算法在傳輸時相對減少了網(wǎng)絡(luò)擁塞,提高路由效率,保證了傳輸可靠性,對傳輸過程產(chǎn)生積極作用,對推動水聲傳感器網(wǎng)絡(luò)中路由傳輸?shù)陌l(fā)展具有參考價值。