王艷琴
(桂林電子科技大學(xué)計算機科學(xué)與工程學(xué)院,桂林541004)
在眾多的路由協(xié)議中,許多研究者認(rèn)為地理位置路由協(xié)議是解決和處理資源嚴(yán)重受限的WSN最有效的方案之一。在許多應(yīng)用中,若不能獲得被監(jiān)測對象事件發(fā)生的具體地理位置,就無法采取相應(yīng)措施。如在軍事戰(zhàn)場中,需要知道戰(zhàn)爭發(fā)生的地點;在森林火災(zāi)中,也要及時獲得火災(zāi)發(fā)生的位置。因此,研究基于地理位置的路由協(xié)議是一項非常有意義的工作[1]。
位置路由協(xié)議有一個顯著的特點,節(jié)點能夠通過GPS或者其他類似的定位方法來獲得自身位置信息,并且可以將自己的當(dāng)前狀態(tài)與位置信息告知其通信半徑內(nèi)的鄰居節(jié)點。路由的建立僅通過一跳通信范圍節(jié)點信息就可以完成,而節(jié)點間的信息傳輸也只需知道目的節(jié)點的位置信息和下一跳節(jié)點的位置,不需要其他的拓?fù)湫畔ⅰ?/p>
能量對于WSN的生命周期具有決定意義,能耗是WSN路由協(xié)議需要重點考慮的問題。位置和能量感知路由協(xié)議(Geographic and Energy Aware Routing,GEAR)充分考慮了能源有效性,基于地理位置,與傳統(tǒng)非能量感知的位置路由相比,極大地延長了網(wǎng)絡(luò)的生命周期。
GEAR采用節(jié)點的地理位置信息及節(jié)點剩余能量的情況,建立查詢消息到目標(biāo)域的路徑。傳送數(shù)據(jù)分組到目標(biāo)域中所有節(jié)點的過程包括兩個階段:目標(biāo)域數(shù)據(jù)傳送和域內(nèi)數(shù)據(jù)傳送。
在目標(biāo)域數(shù)據(jù)傳送階段,當(dāng)節(jié)點接收到數(shù)據(jù)分組,它將鄰接點同目標(biāo)域的距離和它自己與目標(biāo)域的距離相比較。若存在更小距離,則選擇最小距離的鄰接點作為下一跳節(jié)點;否則,認(rèn)為存在“空洞”,節(jié)點將根據(jù)鄰居的最小開銷來選擇下一跳節(jié)點。
在域內(nèi)數(shù)據(jù)傳送階段,可通過以下兩種方式讓數(shù)據(jù)在域內(nèi)擴散:當(dāng)節(jié)點密度較小時,直接采用洪泛轉(zhuǎn)發(fā)機制;當(dāng)節(jié)點密度較大時,則采用迭代轉(zhuǎn)發(fā)機制,直到域內(nèi)剩下唯一的節(jié)點。GEAR的解決方案:當(dāng)查詢命令到達(dá)區(qū)域內(nèi)的第一個節(jié)點時,若該節(jié)點的鄰接點數(shù)目大于一個預(yù)設(shè)的閾值,則使用遞歸轉(zhuǎn)發(fā)機制,否則用前者。
當(dāng)這兩個階段完成后,目標(biāo)域內(nèi)節(jié)點都將監(jiān)測數(shù)據(jù)發(fā)送到目標(biāo)域內(nèi)第一個收到查詢消息的節(jié)點,此節(jié)點再將監(jiān)測數(shù)據(jù)沿查詢消息的反向路徑向匯聚節(jié)點傳送。
針對GEAR路由協(xié)議在數(shù)據(jù)傳輸過程中存在的路由空洞及能量浪費問題,提出了一種新的位置路由協(xié)議——GEAR+。
3.1.1 路由空洞
在目標(biāo)域數(shù)據(jù)傳送階段,當(dāng)節(jié)點的所有鄰接點都比自己到目標(biāo)域的距離大時,就遇到了路由空洞問題,該節(jié)點知道自己遇到了路由空洞問題,則根據(jù)鄰居節(jié)點的最小開銷來選擇下一跳節(jié)點[2]。
當(dāng)經(jīng)過一段時間后,有可能再遇到路由空洞,若選擇原來的節(jié)點作為下一跳節(jié)點,就會形成上次的路由空洞問題,這需要在2個節(jié)點間不斷循環(huán)作為下一跳節(jié)點,才能跳出空洞區(qū)域,這樣就造成了不必要的節(jié)點能量損耗[3]。
所以,如果節(jié)點能擁有相鄰兩跳或更多跳節(jié)點的地理位置信息,那么節(jié)點遇到路由空洞的條件是兩跳或多跳范圍內(nèi)沒有比它更接近目標(biāo)域的節(jié)點。這樣就可以提前意識到路由空洞的存在,大大減少路由空洞產(chǎn)生的概率,從而避免在錯誤路徑上走得更遠(yuǎn),也保證了匯聚節(jié)點以較小的代價完成目標(biāo)域數(shù)據(jù)傳送。
3.1.2 能量浪費
在域內(nèi)數(shù)據(jù)傳送階段,目標(biāo)域的所有節(jié)點一直處于數(shù)據(jù)傳輸或者空閑狀態(tài),節(jié)點不工作還處于空閑狀態(tài)無疑是對能量的浪費。由于數(shù)據(jù)采集時同一區(qū)域的眾多節(jié)點采集的數(shù)據(jù),其中必定有一些相似或相同的,而對于采集到的數(shù)據(jù)都會沿原路返回至匯聚節(jié)點[4]。
所以,若讓這些節(jié)點協(xié)同工作,對數(shù)據(jù)進(jìn)行必要的融合,就可以減少冗余數(shù)據(jù)包的傳輸;與此同時,還可以通過改變節(jié)點的工作狀態(tài)來節(jié)約能源,當(dāng)節(jié)點采集完數(shù)據(jù)送往特定節(jié)點進(jìn)行數(shù)據(jù)融合時其他節(jié)點就可以進(jìn)入休眠狀態(tài)。
本文針對GEAR算法中傳送數(shù)據(jù)分組的兩個階段都進(jìn)行了研究與改進(jìn),由于GEAR算法在NS2中的實現(xiàn)是一個簡化的版本,查詢消息在目標(biāo)域內(nèi)的轉(zhuǎn)發(fā)是采用洪泛方式,并沒有采用迭代方式[5],所以為便于比較改進(jìn)前后的效果,在對第二階段改進(jìn)方案的實現(xiàn)中僅針對洪泛方式進(jìn)行設(shè)計。具體改進(jìn)方案如下:
長輸管道的連頭焊接技術(shù)大多采用根焊(低氫焊條向上或者手工鎢極氬弧焊接)+填蓋(低氫焊條向上或者自保護(hù)藥芯焊絲向下)的焊接方法?!敖鹂凇钡暮附佣嗖捎酶福ㄊ止ゆu極氬弧焊)+填蓋(自保護(hù)藥芯焊絲向下)的焊接方法
①第一階段的改進(jìn)。對路由空洞的分析可知,如果節(jié)點能擁有相鄰兩跳或更多跳節(jié)點的地理位置信息,那么兩跳范圍內(nèi)或者是滿足條件的多跳范圍內(nèi)的節(jié)點都變成了“鄰居”節(jié)點。數(shù)據(jù)傳送之前,采用通過鄰居節(jié)點之間的N次信息交換,使各節(jié)點掌握K跳范圍內(nèi)鄰居節(jié)點的位置信息,當(dāng)在數(shù)據(jù)傳送時,就可以利用K跳鄰居的位置信息優(yōu)化路由的選擇。
②第二階段的改進(jìn)。
◆匯聚節(jié)點在發(fā)送查詢消息前先根據(jù)節(jié)點的通信半徑將目標(biāo)域劃分成若干個大小相等的子區(qū)域,并把每個區(qū)域看成為一個簇;
◆根據(jù)各簇內(nèi)節(jié)點能量的大小為它們選擇簇首節(jié)點,只要節(jié)點的能量最大,并能大于能量閾值,該節(jié)點就可以擔(dān)任簇首節(jié)點;
◆節(jié)點將在第一個T時間內(nèi)采集的數(shù)據(jù)首先傳送至簇首節(jié)點,由簇首節(jié)點對其進(jìn)行數(shù)據(jù)融合后再發(fā)送至域內(nèi)第一個接收到查詢消息的節(jié)點,再沿查詢消息的反向路徑發(fā)送至匯聚節(jié)點;
◆在下一個T時間里,當(dāng)簇頭節(jié)點接收到由簇內(nèi)節(jié)點采集并發(fā)送來的數(shù)據(jù)后,將簇內(nèi)節(jié)點轉(zhuǎn)換為休眠狀態(tài),直到第二個T時間結(jié)束,簇內(nèi)節(jié)點則根據(jù)自己的時鐘將自己轉(zhuǎn)入喚醒狀態(tài),等待下一次采集數(shù)據(jù)的命令。
本文采用NS2來模擬驗證GEAR算法與改進(jìn)算法GEAR+的性能。
為了研究GEAR+的性能,并對 GEAR+協(xié)議與GEAR協(xié)議進(jìn)行仿真和對比分析,本文仿真參數(shù)設(shè)置如下所示:
◆MAC層采用802.11;
◆網(wǎng)絡(luò)中分布200個相同的節(jié)點,初始能量均為1J,且所有節(jié)點保持禁止;
◆200個節(jié)點隨機分布在600 m×600 m的區(qū)域內(nèi);
◆節(jié)點的通信半徑為90 m,目標(biāo)域為矩形區(qū)域,矩形的中心坐標(biāo)以及大小根據(jù)實驗場景具體設(shè)置;
◆所有傳輸數(shù)據(jù)分組的大小固定為32字節(jié),發(fā)送和接收一個數(shù)據(jù)分組的比值為1.6∶1.2;
◆每個節(jié)點發(fā)送一個數(shù)據(jù)分組消耗的能量為0.1 J,接收一個數(shù)據(jù)分組消耗的能量為0.075 J,可調(diào)權(quán)值α的取值為1,假設(shè)休眠狀態(tài)時能量消耗為0;
◆仿真時間為30 s。
以上參數(shù)并非恒定不變,根據(jù)不同的方針,場景需要改變其中的一些參數(shù)值。仿真過程中,當(dāng)節(jié)點數(shù)目增加時,改變網(wǎng)絡(luò)尺寸大小,但保持節(jié)點密度不變。
如圖1所示,采用改進(jìn)后的算法時節(jié)點剩余能量較多。
圖1 節(jié)點能量消耗圖
本文介紹了基于地理位置信息的WSN路由協(xié)議,并詳細(xì)介紹了位置路由GEAR的基本原理。針對GEAR協(xié)議在數(shù)據(jù)傳輸過程中存在的路由空洞及能量浪費問題,提出了一種改進(jìn)的位置路由協(xié)議。采用NS2仿真工具對其仿真實驗,盡管仿真工具的集成版本有所限制,可實驗還是取得了比較理想的結(jié)果,要投入實際應(yīng)用還需要大量的學(xué)習(xí)。隨著WSN技術(shù)的快速發(fā)展,相信研究地理位置路由協(xié)議會成為一項非常有意義的工作。
[1]胡新和,楊博雄,陳瑛.基于Gear算法的無線傳感器網(wǎng)絡(luò)路由協(xié)議研究[J].南京師范大學(xué)學(xué)報:工程技術(shù)版,2010,10(3):60-63.
[2]朱少山.無線傳感器網(wǎng)絡(luò)中基于地理位置信息的混合路由算法[D].濟南:山東大學(xué),2010.
[3]張耀,賈振紅.求解路由空洞問題的GEAR改進(jìn)算法[J].計算機工程,2008,34(12):94-96.
[4]劉曉慶,崔風(fēng)云,李玉華.無線傳感器網(wǎng)絡(luò)中基于地理位置路由算法的研究和改進(jìn)[J].電腦知識與技術(shù),2009,5(7):1745-1746.
[5]趙海霞.無線傳感器網(wǎng)絡(luò)GEA R協(xié)議的一種改進(jìn)方案[J].傳感器與微系統(tǒng),2006,25(9):61-63.