一種改進(jìn)的carp路由協(xié)議的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種改進(jìn)的CARP路由協(xié)議。
【背景技術(shù)】
[0002] 海洋覆蓋了地球表面面積的70%以上,地球環(huán)境深受海洋的影響,人類的生活嚴(yán) 重依賴于海洋。水下傳感器網(wǎng)絡(luò)(將耗能低、短距離中通信的水下傳感器節(jié)點(diǎn)部署到指定 海域中從而建立起的網(wǎng)絡(luò))被認(rèn)為是探索水下環(huán)境的可靠選擇。其中,絕大多數(shù)的傳感器 節(jié)點(diǎn)是靠電池供電的。所以,設(shè)計(jì)收集探測數(shù)據(jù)并上傳這些數(shù)據(jù)到水面基站的路由協(xié)議時(shí), 提尚能源效率是最基本的原則。
[0003] CARP (Common Access Redundancy Protocol :共用地址冗余協(xié)議)是一個(gè)位置無 關(guān)和逐層貪婪的路由協(xié)議,使用傳感器節(jié)點(diǎn)的跳數(shù)來表示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),可以有效避免連 通性漏洞和陰影區(qū)域。CARP持續(xù)監(jiān)測相鄰傳感器節(jié)點(diǎn)之間的鏈路質(zhì)量,并把它作為數(shù)據(jù)傳 輸中繼節(jié)點(diǎn)選擇過程中一個(gè)重要因素加以考慮。數(shù)據(jù)包上傳過程中,CARP采用的是逐層貪 婪和全包上傳的方式。
[0004] CARP的性能和適用性已經(jīng)在實(shí)際的海洋環(huán)境中被評估,當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)相對穩(wěn)定 時(shí),CARP的最優(yōu)數(shù)據(jù)傳輸中繼節(jié)點(diǎn)選擇策略,即PING-PONG策略,會產(chǎn)生大量的冗余控制信 息包,造成網(wǎng)絡(luò)的擁塞,降低了數(shù)據(jù)傳輸?shù)男省A硗?,CARP不考慮重用之前收集到的探測 數(shù)據(jù),來支持某些特定領(lǐng)域的應(yīng)用程序(當(dāng)探測數(shù)據(jù)數(shù)值的變化在一定的閾值范圍內(nèi)時(shí), 某些應(yīng)用依然能夠很好的工作)。
【發(fā)明內(nèi)容】
[0005] 針對上述問題,本發(fā)明提供一種改進(jìn)的CARP路由協(xié)議,選擇最優(yōu)數(shù)據(jù)傳輸中繼節(jié) 點(diǎn)時(shí),減少PING-PONG冗余控制信息包;進(jìn)一步的,提出一種數(shù)據(jù)包上傳算法,高效節(jié)能使 用傳感器收集的數(shù)據(jù)。
[0006] 為實(shí)現(xiàn)上述技術(shù)目的,達(dá)到上述技術(shù)效果,本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):
[0007] -種改進(jìn)的CARP路由協(xié)議,其特征在于,選擇最優(yōu)數(shù)據(jù)傳輸中繼節(jié)點(diǎn)的具體步驟 如下:
[0008] 步驟1 :每當(dāng)傳感器節(jié)點(diǎn)nvsrJ^播一個(gè)PING控制信息包時(shí),計(jì)算與節(jié)點(diǎn)nv sn相鄰 的傳感器節(jié)點(diǎn)的信道質(zhì)量參數(shù)g (nvsn)值;
[0009] 步驟2 :上一次數(shù)據(jù)傳輸中繼節(jié)點(diǎn)和所有g(shù)(nvsn)值在范圍(β Xg(CO),〇〇) 內(nèi)的相鄰節(jié)點(diǎn)都回復(fù)PONG包,其中,閾值β是范圍在0-1之間的浮點(diǎn)數(shù),g(co)是上一次 最優(yōu)的節(jié)點(diǎn)的信道質(zhì)量參數(shù)值;
[0010] 步驟3 :在所有g(shù)(nvsn)值在范圍(β Xg(CO),〇〇 )內(nèi)的相鄰節(jié)點(diǎn)中,選擇g(nvsn) 值最大的上一層節(jié)點(diǎn)uvz:
則選擇UVz為當(dāng)前數(shù)據(jù)傳輸?shù)闹欣^節(jié) 點(diǎn),否則,繼續(xù)使用上次中繼節(jié)點(diǎn)。
[0011] 優(yōu)選,信息包上傳的具體步驟如下:
[0012] 步驟a :當(dāng)傳感器節(jié)點(diǎn)UVsn收集到新數(shù)據(jù)包爾4?^后,與存儲在本地節(jié)點(diǎn)的上一 次收集的數(shù)據(jù)進(jìn)行比較;
[0013] 步驟b :若改變量小于設(shè)定的閾值a a&,則向中繼節(jié)點(diǎn)發(fā)送INFORM控制包; 若改變量大于設(shè)定的閾值a a&,則將數(shù)據(jù)包上傳,并將存儲在本地節(jié)點(diǎn)的數(shù)據(jù)更新為新收 集的數(shù)據(jù)皿;
[0014] 其中,INFORM控制包定義為:
表示傳感器 節(jié)點(diǎn)仍^的ID標(biāo)識號,
表示中繼節(jié)點(diǎn)
的ID標(biāo)識號,HC(Uvsn)表示傳感器節(jié) 點(diǎn)UvsJ^跳數(shù),pid表示上一次上傳的數(shù)據(jù)包id,Lpkt表示數(shù)據(jù)包標(biāo)識集合,包括產(chǎn)生該數(shù) 據(jù)包節(jié)點(diǎn)和轉(zhuǎn)發(fā)該數(shù)據(jù)包節(jié)點(diǎn)。
[0016] 其中,信道質(zhì)量參數(shù)g(nvsn)值的計(jì)算公式如下:
[0017] g(nvsn) = goodness (nvsn)+l/HC(nvsn)
[0018] 式中:g(nvsn)表示節(jié)點(diǎn)uvjP節(jié)點(diǎn)nvsn的通信質(zhì)量,HC(nv sn)表示傳感器節(jié)點(diǎn)nvsn 的跳數(shù),g〇〇dness(nvsn) = lq(uvx,nvsn)Xlq(nvsn,uvz),lq(uv x,nvsn)代表節(jié)點(diǎn) uv,節(jié)點(diǎn) nvsn的鏈路質(zhì)量,Iq (nv sn, uvz)代表節(jié)點(diǎn)nvsn和節(jié)點(diǎn)uv z的鏈路質(zhì)量,uv 2是nv sn的相鄰節(jié)點(diǎn) 中具有最佳的鏈路質(zhì)量的傳感器節(jié)點(diǎn)。
[0019] 本發(fā)明的有益效果是:在CARP路由協(xié)議基礎(chǔ)上提出一種優(yōu)化路由協(xié)議E-CARP,從 高效節(jié)能的角度出發(fā),優(yōu)化CARP路由協(xié)議,提出一種更加高效節(jié)能的路由協(xié)議E-CARP。其 中,E-CARP路由協(xié)議在網(wǎng)絡(luò)初始化沿用CARP的思想,而在中繼節(jié)點(diǎn)選擇和數(shù)據(jù)包的傳送上 進(jìn)行了改進(jìn):
[0020] 第一、選擇最優(yōu)數(shù)據(jù)傳輸中繼節(jié)點(diǎn)時(shí),減少PING-PONG冗余控制信息包,上一次數(shù) 據(jù)傳輸中繼節(jié)點(diǎn)
值在范圍(β Xg(?),-〇內(nèi)的相鄰節(jié)點(diǎn)都回復(fù)PONG 包,范圍之外的相鄰節(jié)點(diǎn)無需回復(fù)PONG包,減少部分PONG包冗余。而且,數(shù)據(jù)傳輸中繼節(jié) 點(diǎn)的選擇程序不是每一次都是必須更新的,再次使用前一段時(shí)間使用的數(shù)據(jù)傳輸中繼節(jié)點(diǎn) 可能更加合適。這種策略將顯著減少網(wǎng)絡(luò)中的PONG控制信息包的數(shù)量,從而減少水下傳 感器網(wǎng)絡(luò)能量消耗。
[0021] 第二、數(shù)據(jù)包重用:在兩個(gè)相鄰的時(shí)間片段內(nèi),監(jiān)測海域環(huán)境變化相對穩(wěn)定情況 下,探測數(shù)據(jù)在一定閾值范圍內(nèi)變化時(shí),某些特定領(lǐng)域的應(yīng)用程序依然能夠很好的工作。而 大多數(shù)情況,探測數(shù)據(jù)只會在小范圍內(nèi)變化,探測數(shù)據(jù)輕微的變化對一些不需要高精度數(shù) 據(jù)的應(yīng)用程序來說價(jià)值不大。以INFORM包代替部分變化范圍在閾值之內(nèi)數(shù)據(jù)包上傳,從而 減少整個(gè)網(wǎng)絡(luò)數(shù)據(jù)包傳送,減低傳感器網(wǎng)絡(luò)的耗能。
【附圖說明】
[0022] 圖1是本發(fā)明水下傳感器節(jié)點(diǎn)的部署圖;
[0023] 圖2是本發(fā)明改進(jìn)的CARP路由協(xié)議的工作流程圖。
【具體實(shí)施方式】
[0024] 下面結(jié)合附圖和具體的實(shí)施例對本發(fā)明技術(shù)方案作進(jìn)一步的詳細(xì)描述,以使本領(lǐng) 域的技術(shù)人員可以更好的理解本發(fā)明并能予以實(shí)施,但所舉實(shí)施例不作為對本發(fā)明的限 定。
[0025] -種改進(jìn)的CARP路由協(xié)議,從高效節(jié)能的角度出發(fā),優(yōu)化CARP路由協(xié)議,提出一 種更加高效節(jié)能的路由協(xié)議E-CARP,E-CARP路由協(xié)議在網(wǎng)絡(luò)初始化沿用CARP的思想。在 中繼節(jié)點(diǎn)選擇和數(shù)據(jù)包的傳送上進(jìn)行兩點(diǎn)改進(jìn),下面分別對改進(jìn)點(diǎn)進(jìn)行詳細(xì)描述。
[0026] 選擇最優(yōu)數(shù)據(jù)傳輸中繼節(jié)點(diǎn)的具體步驟如下:
[0027] 步驟1 :每當(dāng)傳感器節(jié)點(diǎn)nvsrJ^播一個(gè)PING控制信息包時(shí),計(jì)算與節(jié)點(diǎn)nv sn相鄰 的傳感器節(jié)點(diǎn)的信道質(zhì)量參數(shù)g (nvsn)值;
[0028] 信道質(zhì)量參數(shù)g (Iivsn)值(即g值)的計(jì)算公式如下:
[0029] g(nvsn) = goodness (nvsn)+l/HC(nvsn)
[0030] 式中:g (nvsn)表示節(jié)點(diǎn)uvx和節(jié)點(diǎn)nv sn的通信質(zhì)量,HC (nv sn)表示傳感器節(jié)點(diǎn)nvsn 的跳數(shù),g〇〇dness(nvsn) = lq(uvx,nvsn)Xlq(nvsn,uvz),lq(uv x,nvsn)代表節(jié)點(diǎn) uv,節(jié)點(diǎn) nvsn的鏈路質(zhì)量,Iq (nv sn, uvz)代表節(jié)點(diǎn)nvsn和節(jié)點(diǎn)uv z的鏈路質(zhì)量,uv 2是nv sn的相鄰節(jié)點(diǎn) 中具有最佳的鏈路質(zhì)量的傳感器節(jié)點(diǎn)。顯而易見,在所有相鄰傳感器節(jié)點(diǎn)中,最大g(rw sn) 值的傳感器節(jié)點(diǎn)是最適合被選為數(shù)據(jù)傳輸中繼節(jié)點(diǎn)。
[0031] 步驟2 :上一次數(shù)據(jù)傳輸中繼節(jié)點(diǎn)和所有g(shù)(nvsn)值在范圍(β Xg(CO),〇〇 ) 內(nèi)的相鄰節(jié)點(diǎn)都回復(fù)PONG包,其中,閾值β是范圍在0-1之間的浮點(diǎn)數(shù),g(co)是上一次 最優(yōu)的節(jié)點(diǎn)的信道質(zhì)量參數(shù)值;
[0032] 節(jié)點(diǎn)位置隨著水流而變化。因此,根據(jù)特定地區(qū)、特定季節(jié)水流湍急和緩慢的程 度,適當(dāng)?shù)馗麻撝郸?,更好地減少水下無線傳感器網(wǎng)絡(luò)的耗能。
[0033] 步驟3 :在所有g(shù) (nvsn)值在范圍(β X g (ω),〇〇 )內(nèi)的相鄰節(jié)點(diǎn)中,選擇g (nvsn) 值最大的上一層節(jié)點(diǎn)uvz,
則選擇UVz為當(dāng)前數(shù)據(jù)傳輸?shù)闹欣^節(jié) 點(diǎn),否則,繼續(xù)使用上次中繼節(jié)點(diǎn)·
[0034] 在選擇中繼節(jié)點(diǎn)算法中,使用基于接收到EPING包算法來回復(fù)PONG包。在此過程 中,數(shù)據(jù)傳輸中繼節(jié)點(diǎn)的選擇程序不是每一次都是必須更新的,再次使用前一段時(shí)間使用 的數(shù)據(jù)傳輸中繼節(jié)點(diǎn)可能更加合適。這種策略將顯著減少網(wǎng)絡(luò)中的PONG控制信息包的數(shù) 量,從而減少水下傳感器網(wǎng)絡(luò)能量消耗。
[0035] 信息包上傳的具體步驟如下:
[0036] 步驟a :當(dāng)傳感器節(jié)點(diǎn)集到新數(shù)據(jù)包Vdxipsn后,與存儲在本地節(jié)點(diǎn)的上一 次收集的數(shù)據(jù)進(jìn)行比較;
[0037] 步驟b :若改變量小于設(shè)定的閾值a a&,則向中繼節(jié)點(diǎn)發(fā)送INFORM控制包; 若改變量大于設(shè)定的閾值a a&,則將數(shù)據(jù)包上傳,并將存儲在本地節(jié)點(diǎn)的數(shù)據(jù)更新為新收 集的數(shù)據(jù)Fa/Ws?i,以便下次新探測數(shù)據(jù)做比較,確定改變量;
[0038] 其中,a a&是變化因子,規(guī)定了重用數(shù)據(jù)的數(shù)據(jù)改變量范圍:(〇, a at上INFORM控 制包定義為:
表示傳感器 節(jié)點(diǎn)UVsnBtl ID標(biāo)識號,'表示中繼節(jié)點(diǎn)的ID標(biāo)識號,HC(UVsn)表示傳感器節(jié) 點(diǎn)UvsJ^跳數(shù),pid表示上一次上傳的數(shù)據(jù)包id,Lpkt表示數(shù)據(jù)包標(biāo)識集合,包括產(chǎn)生該數(shù) 據(jù)包節(jié)點(diǎn)和轉(zhuǎn)發(fā)該數(shù)據(jù)包節(jié)點(diǎn)。
[0040] 使用INFORM控制包來通知基站,若新收集的數(shù)據(jù)與上一次上傳到基站的數(shù)據(jù) 改變量在閾值aa&范圍內(nèi),應(yīng)用程序可以繼續(xù)使用上一次數(shù)據(jù)。中繼節(jié)點(diǎn)接收到 INFORM包回復(fù)ACK包,表示正確接收INFORM包。提出一種數(shù)據(jù)包上傳算法,讓應(yīng)用程序確 定需求數(shù)據(jù)精度,來高效節(jié)能使用傳感器收集的數(shù)據(jù)。
[0041] 當(dāng)監(jiān)測海域在相對穩(wěn)定的環(huán)境下,探測數(shù)據(jù)的變化有很大可能在閾值a a&的范圍 內(nèi),此時(shí)應(yīng)向水面基站發(fā)送INFORM控制信息包,而不是數(shù)據(jù)信息包。因此,在網(wǎng)絡(luò)中傳輸?shù)?數(shù)據(jù)總量顯著減少,網(wǎng)絡(luò)的能量消耗大幅降低。
[004