專利名稱:一種負(fù)載平衡的ctp路由協(xié)議的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種CTP路由協(xié)議,具體說是一種適用于無線傳感器網(wǎng)絡(luò)的基于數(shù)據(jù)傳輸?shù)呢?fù)載平衡的CTP路由協(xié)議(BCTP路由協(xié)議)。
背景技術(shù):
CTP路由協(xié)議是目前應(yīng)用最廣泛的TinyOS操作系統(tǒng)中的路由協(xié)議。其基本思想為建立一棵匯聚樹,將至少一個(gè)樹根節(jié)點(diǎn)作為基站,當(dāng)節(jié)點(diǎn)采集的的監(jiān)測數(shù)據(jù)要傳輸?shù)交緯r(shí),數(shù)據(jù)沿著收集樹向上傳輸,當(dāng)節(jié)點(diǎn)收到數(shù)據(jù)時(shí),如該節(jié)點(diǎn)不是基站則將收到的數(shù)據(jù)轉(zhuǎn)發(fā)給它的下一跳節(jié)點(diǎn)。當(dāng)無線傳感器網(wǎng)絡(luò)中多于一個(gè)根節(jié)點(diǎn)時(shí),就形成了一片森林,CTP路由協(xié)議通過選擇父節(jié)點(diǎn)(即下一跳節(jié)點(diǎn))隱式地使節(jié)點(diǎn)加入了其中一棵匯聚樹中。該路由協(xié)議提供的是到根節(jié)點(diǎn)的盡力的多跳數(shù)據(jù)傳輸,具有保證傳輸可靠性的路由選擇機(jī)制。CTP路由協(xié)議提供了幾種提高傳輸可靠性的路由機(jī)制,但它仍然只是盡力傳輸,但其數(shù)據(jù)遞送·率不能保證100%。另外寬帶相對有限的無線傳感器網(wǎng)絡(luò)系統(tǒng)不適合CTP協(xié)議,因?yàn)樵撀酚蓞f(xié)議在通信量相對較低的網(wǎng)絡(luò)中比較高效。CTP路由協(xié)議的數(shù)據(jù)包的傳輸方向是基于網(wǎng)絡(luò)中節(jié)點(diǎn)間的鏈路質(zhì)量為指標(biāo)還判斷的。這種鏈路質(zhì)量的機(jī)制確保鏈路是自由的,但同時(shí)也導(dǎo)致了網(wǎng)絡(luò)中某些父節(jié)點(diǎn)負(fù)擔(dān)了過多的數(shù)據(jù)傳輸任務(wù)。也因此導(dǎo)致了這些父節(jié)點(diǎn)的電池電量很快消耗殆盡,從而使得整個(gè)網(wǎng)絡(luò)的壽命變短。另外CTP路由協(xié)議引入了 ETX為路由梯度。網(wǎng)絡(luò)中的節(jié)點(diǎn)的路由機(jī)制是根據(jù)當(dāng)前具有最好的鏈路質(zhì)量的鄰居節(jié)點(diǎn)動(dòng)態(tài)選擇的。由CTP路有協(xié)議的鏈路質(zhì)量評估機(jī)制和路由選擇機(jī)制,我們可以發(fā)現(xiàn)網(wǎng)絡(luò)中的節(jié)點(diǎn)是以鏈路代價(jià)來選擇下一跳路由的。因此很難避免整個(gè)網(wǎng)絡(luò)中的某些節(jié)點(diǎn)負(fù)載過多的數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)。雖然CTP路由協(xié)議由探測擁塞的功能,但是它不可避免擁塞的產(chǎn)生,降低了整個(gè)無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)收集的效率。而且CTP也會(huì)導(dǎo)致網(wǎng)絡(luò)的震蕩,由于CTP路由協(xié)議的父節(jié)點(diǎn)選擇是基于最由的的鏈路質(zhì)量的路徑所經(jīng)過的父節(jié)點(diǎn)。當(dāng)大量的節(jié)點(diǎn)選擇該路徑時(shí),造成節(jié)點(diǎn)的擁塞,在此時(shí)節(jié)點(diǎn)就會(huì)選擇次優(yōu)的不擁塞的路徑直到該路徑擁塞。這樣使得整個(gè)網(wǎng)絡(luò)造成震蕩。為了解決CTP路由協(xié)議所存在的某些節(jié)點(diǎn)負(fù)載過大以及網(wǎng)絡(luò)震蕩的問題,有人提出了負(fù)載平衡的CTP路由協(xié)議。文獻(xiàn) I (Jing Zhao, Lei Wang, Wenlong Yue, Zhengquan Qin, Ming Zhu. LoadMigrating for the Hot Spots in Wireless Sensor Networks using CTP. InternationalConference on Mobile Ad-hoc and Sensor Networks. 2011,167-174P)提出了針對CTP路由協(xié)議的熱點(diǎn)節(jié)點(diǎn)的負(fù)載遷移的策略的改進(jìn)。該文獻(xiàn)以節(jié)點(diǎn)發(fā)送的數(shù)據(jù)總量為指標(biāo),以ETX以鏈路梯度。當(dāng)某個(gè)節(jié)點(diǎn)發(fā)送的數(shù)據(jù)量超過某個(gè)閾值時(shí),節(jié)點(diǎn)查詢和父節(jié)點(diǎn)處于同一層次的鄰居節(jié)點(diǎn),選擇發(fā)送數(shù)據(jù)量較少的節(jié)點(diǎn)作為其下一次路由的父節(jié)點(diǎn)。這個(gè)算法從一定程度上減少了節(jié)點(diǎn)不平衡的狀態(tài),但是該節(jié)點(diǎn)不能避免節(jié)點(diǎn)不平衡的現(xiàn)象只是把狀態(tài)處于即將繁忙的狀態(tài)時(shí)向該節(jié)點(diǎn)同一層次的其他節(jié)點(diǎn)進(jìn)行分流。這個(gè)情況又會(huì)導(dǎo)致新的節(jié)點(diǎn)發(fā)送的數(shù)據(jù)流量過大,再次導(dǎo)致數(shù)據(jù)的分流。因此該算法只是解決了某些節(jié)點(diǎn)處于繁忙狀態(tài)的節(jié)點(diǎn)丟包而其他節(jié)點(diǎn)處于空閑狀態(tài)的問題,而不能避免該問題的產(chǎn)生。并且該算法會(huì)導(dǎo)致嚴(yán)重的網(wǎng)絡(luò)震蕩。文獻(xiàn)2 (Yongjun Li, Hu Chen, Rongchuan He, Rong Xie, Shaocong Zou. ICTP:An Improved Data Collection Protocol Based On CTP. Wireless Communications andSignal Processing, 21-23 Oct. 2010)提出了負(fù)載平衡的CTP路由協(xié)議。該文獻(xiàn)提出的路由協(xié)議不同于文獻(xiàn)I提出的文獻(xiàn)協(xié)議。文獻(xiàn)I提出的負(fù)載遷移的CTP路由協(xié)議主要是針對負(fù)載較重的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分流,從而使得節(jié)點(diǎn)的負(fù)載趨于平衡,但是又很容易導(dǎo)致其他的同層次的節(jié)點(diǎn)的負(fù)載增加,而該節(jié)點(diǎn)的負(fù)載減少又導(dǎo)致了新的負(fù)載不平衡。但文獻(xiàn)2提出的路由協(xié)議不是針對熱點(diǎn)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)遷移,而是從節(jié)點(diǎn)的父節(jié)點(diǎn)選擇就考慮了負(fù)載平衡的因素。該算法的思想是選擇N條鏈路質(zhì)量較好的候選下一跳節(jié)點(diǎn),然后以隨機(jī)選擇的方式選擇一個(gè)節(jié)點(diǎn)作為其父節(jié)點(diǎn)。由于節(jié)點(diǎn)的父節(jié)點(diǎn)的選擇不是根 據(jù)鏈路質(zhì)量最好的一條鏈路所經(jīng)過的鄰居節(jié)點(diǎn)作為其父節(jié)點(diǎn),因此不會(huì)是的數(shù)據(jù)都經(jīng)過某個(gè)到根節(jié)點(diǎn)的鏈路質(zhì)量很好的節(jié)點(diǎn),從而造成該節(jié)點(diǎn)的負(fù)載過重,因不會(huì)由于在數(shù)據(jù)傳輸過程中數(shù)據(jù)的的分流而導(dǎo)致網(wǎng)絡(luò)的震蕩。但該協(xié)議存在以下兩個(gè)問題第一隨機(jī)選擇可能導(dǎo)致某些節(jié)點(diǎn)的負(fù)載過重而其他節(jié)點(diǎn)處于空閑狀態(tài),但這種情況產(chǎn)生的概率較小。第二由于父節(jié)點(diǎn)的選擇不是根據(jù)鏈路質(zhì)量的好壞決定,因此上選擇的路徑不是最好的,雖然避免了某些節(jié)點(diǎn)由于負(fù)載過重而導(dǎo)致能量很快耗盡,從而導(dǎo)致整個(gè)網(wǎng)絡(luò)壽命減少的問題,但是由于某些鏈路質(zhì)量較差的路徑上的節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)和好的鏈路質(zhì)量的路徑相同(至少從概率上是相同的),由于鏈路質(zhì)量較差的鏈路傳輸數(shù)據(jù)需要重傳的次數(shù)較多,從而在該方面又耗費(fèi)了大量的能量,而且該路徑很可能很快的同層次的節(jié)點(diǎn)的能量耗盡從而導(dǎo)致網(wǎng)絡(luò)的壽命變短。文獻(xiàn)3 (Yang Song, Yaqiong Chai, Fengrui Ye, and Wenqiang Xu. A NovelTinyOS 2. x Routing Protocol with Load Balance Named CTP-TICN. KNOWLEDGEENGINEERING AND MANAGEMENT Advances in Intelligent and Soft Computing, 2012,Volume 12)提出的基于負(fù)載平衡的CTP路由協(xié)議即不存在文獻(xiàn)I所提出的負(fù)載遷移的CTP路由協(xié)議所存在的網(wǎng)絡(luò)震蕩的問題也不存在文獻(xiàn)2所提出的基于隨機(jī)選擇父節(jié)點(diǎn)的平衡負(fù)載CTP路由協(xié)議所存在的鏈路質(zhì)量較好的鏈路和鏈路較差的鏈路有同等概率被選為節(jié)點(diǎn)的傳輸路徑從而顯著降低了 CTP路由協(xié)議性能的的問題。該協(xié)議提出了基于數(shù)據(jù)強(qiáng)度和下一跳節(jié)點(diǎn)的數(shù)據(jù)負(fù)載率的平衡負(fù)載CTP路由協(xié)議。其每個(gè)節(jié)點(diǎn)需要維護(hù)當(dāng)前節(jié)點(diǎn)所處于整個(gè)無線傳感器網(wǎng)絡(luò)的路由匯聚樹的層次、所處于同一層次的節(jié)點(diǎn)的信息、當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)的數(shù)目、當(dāng)前節(jié)點(diǎn)的下層所有節(jié)點(diǎn)的總數(shù)目以及當(dāng)前節(jié)點(diǎn)所有的子節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目。當(dāng)某個(gè)節(jié)點(diǎn)的所負(fù)載的子節(jié)點(diǎn)數(shù)目超過該同一層次節(jié)點(diǎn)的平均所負(fù)載的子節(jié)點(diǎn)數(shù)目時(shí)該節(jié)點(diǎn)被標(biāo)記為BUSY狀態(tài)。處于BUSY狀態(tài)的節(jié)點(diǎn)則選擇其某個(gè)擁有最少數(shù)目子節(jié)點(diǎn)的子節(jié)點(diǎn)向當(dāng)前節(jié)點(diǎn)同一層次的并且其負(fù)載小于當(dāng)前層次的節(jié)點(diǎn)的平均負(fù)載的節(jié)點(diǎn)轉(zhuǎn)移。由上文可知該路由協(xié)議存在一個(gè)穩(wěn)定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),因此不存在文獻(xiàn)I所存在的網(wǎng)絡(luò)震蕩的問題。并且由于是當(dāng)路由拓?fù)浣Y(jié)構(gòu)建立后在調(diào)整拓?fù)浣Y(jié)構(gòu)的負(fù)載平衡,因此鏈路狀態(tài)較好的下一跳節(jié)點(diǎn)負(fù)載了更多的數(shù)據(jù)轉(zhuǎn)發(fā)工作,不存在文獻(xiàn)2所提出的鏈路質(zhì)量好的鏈路和鏈路狀態(tài)差的鏈路有同樣的概率作為節(jié)點(diǎn)的傳輸路徑而使得路由協(xié)議丟棄的CTP路由協(xié)議所存在的優(yōu)勢的問題。但是該路由協(xié)議同樣存在的一定的問題。首先該路由協(xié)議需要保存的無線傳感器網(wǎng)絡(luò)拓?fù)涞臓顟B(tài)過多,由于無線傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的是實(shí)時(shí)變化的,使得節(jié)點(diǎn)中保存的各種狀態(tài)的不準(zhǔn)確導(dǎo)致該路由協(xié)議的不準(zhǔn)確。而且我們看到該路由協(xié)議針對CTP路由協(xié)議的平衡算法計(jì)算量過大、保存的數(shù)據(jù)量過多,在計(jì)算能力較低,資源首先的無線傳感器節(jié)點(diǎn)上來說實(shí)際運(yùn)行結(jié)果并不一定好。另外由于該路由協(xié)議的算法平衡負(fù)載時(shí)只是對負(fù)載最大的節(jié)點(diǎn)的進(jìn)行子孫節(jié)點(diǎn)數(shù)目最小的的孩子節(jié)點(diǎn)進(jìn)行轉(zhuǎn)移,慢慢調(diào)試已達(dá)到網(wǎng)絡(luò)的平衡負(fù)載,由此應(yīng)用該算法的無線傳感器網(wǎng)絡(luò)的路由穩(wěn)定時(shí)間較大,可能導(dǎo)致了數(shù)據(jù)傳輸?shù)牟环€(wěn)定以及路由穩(wěn)定時(shí)間階段的能耗較大。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服當(dāng)前無線傳感器網(wǎng)絡(luò)的路由協(xié)議的技術(shù)的不足,提出了一 種適用于無線傳感器網(wǎng)絡(luò)的基于數(shù)據(jù)傳輸?shù)呢?fù)載平衡的CTP路由協(xié)議(BCTP路由協(xié)議),本發(fā)明能兼顧無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)的能耗、數(shù)據(jù)傳輸?shù)母咝?、可靠性并且兼顧了無線傳感器網(wǎng)絡(luò)中拓?fù)浣Y(jié)構(gòu)的路由樹的同一層次節(jié)點(diǎn)的節(jié)點(diǎn)能耗的平衡性。通過對無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)選擇父節(jié)點(diǎn)時(shí)對候選父節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)量的考慮,來平衡無線傳感器網(wǎng)絡(luò)中拓?fù)浣Y(jié)構(gòu)樹的同一層次的節(jié)點(diǎn)的轉(zhuǎn)發(fā)數(shù)據(jù)進(jìn)行平衡,在保證網(wǎng)絡(luò)整體性能優(yōu)化的同時(shí),有效地延長了網(wǎng)絡(luò)生存時(shí)間,提高了網(wǎng)絡(luò)的能效,解決了無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)震蕩,使得系統(tǒng)資源能獲得高效地利用。本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的。一種負(fù)載平衡的CTP路由協(xié)議,其路由建立過程如下
第一步在一個(gè)無線傳感器網(wǎng)絡(luò)中,存在位于任意位置的匯聚節(jié)點(diǎn),多個(gè)無線傳感器節(jié)點(diǎn)任意分布在其周圍,每個(gè)無線傳感器匯聚節(jié)點(diǎn)的ETX (期望傳輸值)設(shè)為O,其它所有的無線傳感器節(jié)點(diǎn)的ETX設(shè)為一個(gè)指定的最大值。當(dāng)每個(gè)節(jié)點(diǎn)啟動(dòng)后,向周圍的節(jié)點(diǎn)廣播一個(gè)路由幀,并將路由幀的P位置位,該位的意義是允許節(jié)點(diǎn)從其他節(jié)點(diǎn)請求路由信息,如果具有有效路由(該節(jié)點(diǎn)廣播的路由幀的ETX字段的值不為設(shè)定的最大值則表示該節(jié)點(diǎn)具有有效的路由)的節(jié)點(diǎn)收到一個(gè)P位位置置位的消息包,則表示應(yīng)該傳輸一個(gè)路由幀。當(dāng)匯聚節(jié)點(diǎn)的鄰居節(jié)點(diǎn)在首次收到匯聚節(jié)點(diǎn)的廣播后,則將匯聚節(jié)點(diǎn)設(shè)為本節(jié)點(diǎn)的父節(jié)點(diǎn),將本節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的ETX值設(shè)置為本節(jié)點(diǎn)到父節(jié)點(diǎn)也就是匯聚節(jié)點(diǎn)的單跳ETX值;此時(shí)由于節(jié)點(diǎn)的父節(jié)點(diǎn)改變,則立即向周圍的鄰居節(jié)點(diǎn)廣播自己的路由幀。本節(jié)點(diǎn)到其他節(jié)點(diǎn)的鏈路ETX值的計(jì)算方法是用鏈路估計(jì)(Link Estimate)描述鏈路質(zhì)量評估。鏈路估計(jì)的基本思想是節(jié)點(diǎn)統(tǒng)計(jì)一定時(shí)間內(nèi)從某個(gè)鄰居節(jié)點(diǎn)接收到的分組占該鄰居節(jié)點(diǎn)發(fā)送往該節(jié)點(diǎn)的分組數(shù)量的比重。本路由協(xié)議鏈路估計(jì)包括兩個(gè)部分發(fā)送代價(jià)估計(jì)和接收代價(jià)估計(jì),并用這兩個(gè)值來表示鏈路的雙向通信代價(jià)。本路由協(xié)議還綜合原先的鏈路估計(jì)決定新的鏈路估計(jì)值。節(jié)點(diǎn)在收到鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)來的數(shù)據(jù)分組或者來自鄰居節(jié)點(diǎn)的路由狀態(tài)廣播后,都會(huì)更新從該鄰居節(jié)點(diǎn)接收分組的計(jì)數(shù)。節(jié)點(diǎn)在周期性路由狀態(tài)廣播中包括自己到每個(gè)鄰居節(jié)點(diǎn)的發(fā)送分組計(jì)數(shù)。以節(jié)點(diǎn)A為例,經(jīng)過一段時(shí)間的統(tǒng)計(jì)后它可以得到來自鄰居節(jié)點(diǎn)B的接收分組數(shù)目,而節(jié)點(diǎn)B在自己的路由狀態(tài)廣播中告知向節(jié)點(diǎn)A發(fā)送分組的數(shù)目。這二者的商就是節(jié)點(diǎn)A接收節(jié)點(diǎn)B發(fā)送的分組的成功率,用RcvEstA/B表示。公式表示如下RcvEstA/B=RcvCountA/SendCountB。上面公式中的RcvCountA表示A節(jié)點(diǎn)接收到的節(jié)點(diǎn)B所發(fā)送的數(shù)據(jù)巾貞/路由巾貞的數(shù)目,SendCountB表示B節(jié)點(diǎn)在這個(gè)時(shí)間段內(nèi)所發(fā)送的數(shù)據(jù)幀/路由幀的數(shù)目。節(jié)點(diǎn)A 到節(jié)點(diǎn) B 的鏈路 ETX=RcvEstA/B*10。第二步無線傳感器網(wǎng)絡(luò)中的無線傳感器節(jié)點(diǎn)接收到擁有有效路由的節(jié)點(diǎn)發(fā)送的路由幀,則將該節(jié)點(diǎn)設(shè)為自己的父節(jié)點(diǎn),并將自己的ETX值設(shè)為父節(jié)點(diǎn)的ETX值加上本節(jié)點(diǎn)到父節(jié)點(diǎn)的鏈路ETX,并向周圍的鄰居節(jié)點(diǎn)廣播自己的路由幀。當(dāng)節(jié)點(diǎn)具有有效的路由之后,可以將定時(shí)監(jiān)測到的環(huán)境數(shù)據(jù)發(fā)送到自己的父節(jié)點(diǎn),當(dāng)根節(jié)點(diǎn)接收到自己的子節(jié)點(diǎn)發(fā)送給自己的環(huán)境數(shù)據(jù)幀時(shí),用以計(jì)算和子節(jié)點(diǎn)間的鏈路ETX,并將該數(shù)據(jù)幀轉(zhuǎn)發(fā)給自己的父 節(jié)點(diǎn),直到該數(shù)據(jù)幀轉(zhuǎn)發(fā)到根節(jié)點(diǎn),當(dāng)根節(jié)點(diǎn)接收到該數(shù)據(jù)幀時(shí)將該數(shù)據(jù)幀通過串口或者USB接口轉(zhuǎn)發(fā)到嵌入式節(jié)點(diǎn)或者PC機(jī)。第三步無線傳感器網(wǎng)絡(luò)的路由維護(hù)過程。無線傳感器節(jié)點(diǎn)周期性地廣播路由狀態(tài)信息,更新鄰居節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的ETX值的信息,并根據(jù)上述鏈路質(zhì)量評估算法對每個(gè)鄰居節(jié)點(diǎn)進(jìn)行鏈路質(zhì)量評估。當(dāng)跳數(shù)更新和鏈路評估完成后,節(jié)點(diǎn)將根據(jù)新的路由表信息重新選擇父節(jié)點(diǎn)。這時(shí)當(dāng)前的父節(jié)點(diǎn)和所有鄰居節(jié)點(diǎn)的地位是不相同的。只有本節(jié)點(diǎn)通過其他節(jié)點(diǎn)的整個(gè)鏈路的ETX值超過通過父節(jié)點(diǎn)的整個(gè)鏈路的ETX值一個(gè)閾值才改變自己的父節(jié)點(diǎn)。并將該ETX重新記錄,然后立即向周圍的鄰居節(jié)點(diǎn)廣播路由幀。由于鏈路質(zhì)量等原因,節(jié)點(diǎn)的父節(jié)點(diǎn)可能失效。在協(xié)議中表現(xiàn)為鏈路代價(jià)的上升和丟包數(shù)的上升。當(dāng)鏈路代價(jià)上升到超過一個(gè)閾值,以上或者一個(gè)路由更新周期內(nèi)的丟包數(shù)達(dá)到最大允許數(shù)以上時(shí),節(jié)點(diǎn)將認(rèn)為父節(jié)點(diǎn)無效。立即進(jìn)行路由更新,節(jié)點(diǎn)將選擇其他節(jié)點(diǎn)作為父節(jié)點(diǎn)。選擇的方法同樣是在鄰居表中選擇跳數(shù)最小,鏈路質(zhì)量最好的節(jié)點(diǎn)作為父節(jié)點(diǎn)。同時(shí)本路由協(xié)議維護(hù)了一個(gè)每周期發(fā)送的數(shù)據(jù)包的變量。在無線傳感器網(wǎng)絡(luò)的維護(hù)的過程中,計(jì)算一個(gè)無線傳感器節(jié)點(diǎn)通過父節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的這個(gè)鏈路的鏈路質(zhì)量時(shí)除了考慮鏈路的ETX值,還要考慮父節(jié)點(diǎn)每周期轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)量。當(dāng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)中的候選父節(jié)點(diǎn)鏈路質(zhì)量值不超過某個(gè)閾值,選擇兩個(gè)節(jié)點(diǎn)中轉(zhuǎn)發(fā)數(shù)據(jù)較少的節(jié)點(diǎn)作為他的父節(jié)點(diǎn),并立即廣播自己的路由幀。該方案使得某個(gè)無線傳感器網(wǎng)絡(luò)中拓?fù)錁涞耐粚哟蔚墓?jié)點(diǎn)負(fù)載平衡。本發(fā)明的適用范圍是無線傳感器網(wǎng)絡(luò),以提高無線傳感器網(wǎng)絡(luò)的高效性、可靠性以及節(jié)點(diǎn)的平衡負(fù)載,延長網(wǎng)絡(luò)生存時(shí)間為目的,通過平衡建立的無線傳感器網(wǎng)絡(luò)的拓?fù)錁渲型粚哟蔚墓?jié)點(diǎn)的平衡負(fù)載來實(shí)現(xiàn)提高無線傳感器網(wǎng)絡(luò)的生存周期的設(shè)計(jì)。本發(fā)明解決了 CTP路由協(xié)議負(fù)載不平衡而導(dǎo)致的無線傳感器網(wǎng)絡(luò)壽命減低的問題,同時(shí)也解決了無線傳感器網(wǎng)絡(luò)網(wǎng)絡(luò)震蕩的問題,也保持了 CTP路由協(xié)議數(shù)據(jù)投遞率較高以及數(shù)據(jù)傳輸效率高的性能。
圖I是應(yīng)用本發(fā)明的無線傳感器網(wǎng)絡(luò)的路由協(xié)議的無線傳感器網(wǎng)絡(luò)建立的初始網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。圖中圓圈為傳感器節(jié)點(diǎn),圓圈中的阿拉伯?dāng)?shù)字表明該節(jié)點(diǎn)的節(jié)點(diǎn)號,標(biāo)明為基站的方框?yàn)榛竟?jié)點(diǎn)。圖2是應(yīng)用本發(fā)明的無線傳感器網(wǎng)絡(luò)的路由協(xié)議在運(yùn)行一段時(shí)間后無線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)穩(wěn)定后的無線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖。圖中圓圈為傳感器節(jié)點(diǎn),圓圈中的阿拉伯?dāng)?shù)字表明該節(jié)點(diǎn)的節(jié)點(diǎn)號,標(biāo)明為基站的方框?yàn)榛竟?jié)點(diǎn)。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對本發(fā)明做詳細(xì)說明。具體實(shí)例
首先當(dāng)路由開始建立時(shí),各個(gè)節(jié)點(diǎn)前一個(gè)周期傳輸?shù)臄?shù)據(jù)量均為0,因此各個(gè)節(jié)點(diǎn)選擇父節(jié)點(diǎn)僅需要考慮與CTP路由協(xié)議相同的問題,即鏈路期望傳輸值,建立的初始網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖I所示。
在圖I所示的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中由于節(jié)點(diǎn)I到根節(jié)點(diǎn)的鏈路質(zhì)量較好因此相比于其他處于同一層次的節(jié)點(diǎn),節(jié)點(diǎn)I的子孫節(jié)點(diǎn)數(shù)目較多,因此在同一個(gè)周期內(nèi),節(jié)點(diǎn)I所轉(zhuǎn)發(fā)的數(shù)據(jù)量也最大,因此在該拓?fù)浣Y(jié)構(gòu)下,無線傳感器網(wǎng)絡(luò)的負(fù)載是不平衡的,節(jié)點(diǎn)I的能耗很快消耗完而導(dǎo)致無線傳感器網(wǎng)絡(luò)的壽命變短,因此隨著節(jié)點(diǎn)I周期轉(zhuǎn)發(fā)的數(shù)據(jù)量的增力口,相比于其他處于同一層次的節(jié)點(diǎn),節(jié)點(diǎn)I的路由梯度變大,因此節(jié)點(diǎn)I的子孫節(jié)點(diǎn)開始向路由梯度較小的節(jié)點(diǎn)轉(zhuǎn)移。其穩(wěn)定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示。由圖2可看出節(jié)點(diǎn)I的子孫節(jié)點(diǎn)數(shù)目仍然大于處于同一層次結(jié)構(gòu)的節(jié)點(diǎn)2和節(jié)點(diǎn)3,因?yàn)楣?jié)點(diǎn)的的鏈路傳輸期望值小于節(jié)點(diǎn)2和節(jié)點(diǎn)3因此其轉(zhuǎn)發(fā)的數(shù)據(jù)量大于節(jié)點(diǎn)2和節(jié)點(diǎn)3。因此可以得出本文所提出了負(fù)載平衡的路由協(xié)議充分考慮了鏈路質(zhì)量與負(fù)載平衡兩個(gè)問題,在提升無線傳感器網(wǎng)絡(luò)壽命的同時(shí)也考慮的無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)投遞率。
權(quán)利要求
1. 一種負(fù)載平衡的CTP路由協(xié)議,其路由建立過程如下 第一步在一個(gè)無線傳感器網(wǎng)絡(luò)中,存在位于任意位置的匯聚節(jié)點(diǎn),多個(gè)無線傳感器節(jié)點(diǎn)任意分布在其周圍,每個(gè)無線傳感器匯聚節(jié)點(diǎn)的期望傳輸值設(shè)為O,其它所有的無線傳感器節(jié)點(diǎn)的期望傳輸值設(shè)為一個(gè)指定的最大值;當(dāng)每個(gè)節(jié)點(diǎn)啟動(dòng)后,向周圍的節(jié)點(diǎn)廣播一個(gè)路由幀,并將路由幀的P位置位,允許節(jié)點(diǎn)從其他節(jié)點(diǎn)請求路由信息;如果具有有效路由的節(jié)點(diǎn)收到一個(gè)P位位置置位的消息包,則表示應(yīng)該傳輸一個(gè)路由幀;當(dāng)匯聚節(jié)點(diǎn)的鄰居節(jié)點(diǎn)在收到匯聚節(jié)點(diǎn)的廣播后,則將匯聚節(jié)點(diǎn)設(shè)為本節(jié)點(diǎn)的父節(jié)點(diǎn),將本節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的ETX值設(shè)置為本節(jié)點(diǎn)到父節(jié)點(diǎn)也就是匯聚節(jié)點(diǎn)的單跳ETX值;此時(shí)由于節(jié)點(diǎn)的父節(jié)點(diǎn)改變,則立即向周圍的鄰居節(jié)點(diǎn)廣播自己的路由幀; 所述有效路由是指,節(jié)點(diǎn)廣播的路由幀的期望傳輸值不為設(shè)定的最大值則表示該節(jié)點(diǎn)具有有效的路由; 本節(jié)點(diǎn)到其他節(jié)點(diǎn)的鏈路期望傳輸值的計(jì)算方法是用鏈路估計(jì)描述鏈路質(zhì)量評估;所 述鏈路估計(jì)是,節(jié)點(diǎn)統(tǒng)計(jì)一定時(shí)間內(nèi)從某個(gè)鄰居節(jié)點(diǎn)接收到的分組占該鄰居節(jié)點(diǎn)發(fā)送往該節(jié)點(diǎn)的分組數(shù)量的比重;本路由協(xié)議鏈路估計(jì)包括兩個(gè)部分發(fā)送代價(jià)估計(jì)和接收代價(jià)估計(jì),并用這兩個(gè)值來表示鏈路的雙向通信代價(jià); 節(jié)點(diǎn)在收到鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)來的數(shù)據(jù)分組或者來自鄰居節(jié)點(diǎn)的路由狀態(tài)廣播后,都會(huì)更新從該鄰居節(jié)點(diǎn)接收分組的計(jì)數(shù);節(jié)點(diǎn)在周期性路由狀態(tài)廣播中包括自己到每個(gè)鄰居節(jié)點(diǎn)的發(fā)送分組計(jì)數(shù);某節(jié)點(diǎn)A經(jīng)過一段時(shí)間的統(tǒng)計(jì)后它可以得到來自鄰居節(jié)點(diǎn)B的接收分組數(shù)目,而節(jié)點(diǎn)B在自己的路由狀態(tài)廣播中告知向節(jié)點(diǎn)A發(fā)送分組的數(shù)目;這二者的商就是節(jié)點(diǎn)A接收節(jié)點(diǎn)B發(fā)送的分組的成功率,用RcvEstA/B表示,公式如下RcvEstA/B=RcvCountA/SendCountB 上面公式中的RcvCountA表示A節(jié)點(diǎn)接收到的節(jié)點(diǎn)B所發(fā)送的數(shù)據(jù)巾貞/路由巾貞的數(shù)目,SendCountB表示B節(jié)點(diǎn)在這個(gè)時(shí)間段內(nèi)所發(fā)送的數(shù)據(jù)巾貞/路由巾貞的數(shù)目; 節(jié)點(diǎn)A到節(jié)點(diǎn)B的鏈路ETX=RcvEstA/B*10 ; 第二步無線傳感器網(wǎng)絡(luò)中的無線傳感器節(jié)點(diǎn)接收到擁有有效路由的節(jié)點(diǎn)發(fā)送的路由幀,則將該節(jié)點(diǎn)設(shè)為自己的父節(jié)點(diǎn),并將自己的期望傳輸值設(shè)為父節(jié)點(diǎn)的期望傳輸值加上本節(jié)點(diǎn)到父節(jié)點(diǎn)的鏈路期望傳輸值,并向周圍的鄰居節(jié)點(diǎn)廣播自己的路由幀;當(dāng)節(jié)點(diǎn)具有有效的路由之后,可以將定時(shí)監(jiān)測到的環(huán)境數(shù)據(jù)發(fā)送到自己的父節(jié)點(diǎn),當(dāng)根節(jié)點(diǎn)接收到自己的子節(jié)點(diǎn)發(fā)送給自己的環(huán)境數(shù)據(jù)幀時(shí),用以計(jì)算和子節(jié)點(diǎn)間的鏈路期望傳輸值,并將該數(shù)據(jù)巾貞轉(zhuǎn)發(fā)給自己的父節(jié)點(diǎn),直到該數(shù)據(jù)巾貞轉(zhuǎn)發(fā)到根節(jié)點(diǎn),當(dāng)根節(jié)點(diǎn)接收到該數(shù)據(jù)巾貞時(shí)將該數(shù)據(jù)幀通過串口或者USB接口轉(zhuǎn)發(fā)到嵌入式節(jié)點(diǎn)或者PC機(jī); 第三步無線傳感器網(wǎng)絡(luò)的路由維護(hù)過程; 無線傳感器節(jié)點(diǎn)周期性地廣播路由狀態(tài)信息,更新鄰居節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的期望傳輸值的信息,并根據(jù)上述鏈路質(zhì)量評估算法對每個(gè)鄰居節(jié)點(diǎn)進(jìn)行鏈路質(zhì)量評估;當(dāng)跳數(shù)更新和鏈路評估完成后,節(jié)點(diǎn)將根據(jù)新的路由表信息重新選擇父節(jié)點(diǎn);這時(shí)當(dāng)前的父節(jié)點(diǎn)和所有鄰居節(jié)點(diǎn)的地位是不相同的;只有本節(jié)點(diǎn)通過其他節(jié)點(diǎn)的整個(gè)鏈路的期望傳輸值超過通過父節(jié)點(diǎn)的整個(gè)鏈路的期望傳輸值一個(gè)閾值才改變自己的父節(jié)點(diǎn);并將該期望傳輸值重新記錄,然后立即向周圍的鄰居節(jié)點(diǎn)廣播路由幀;當(dāng)鏈路代價(jià)上升到超過一個(gè)閾值以上或者一個(gè)路由更新周期內(nèi)的丟包數(shù)達(dá)到最大允許數(shù)以上時(shí),節(jié)點(diǎn)將認(rèn)為父節(jié)點(diǎn)無效,立即進(jìn)行路由更新,節(jié)點(diǎn)將選擇其他節(jié)點(diǎn)作為父節(jié)點(diǎn);選擇的方法是在鄰居表中選擇跳數(shù)最小,鏈路質(zhì)量最好的節(jié)點(diǎn)作為父節(jié)點(diǎn); 同時(shí)本路由協(xié)議維護(hù)了一個(gè)每周期發(fā)送的數(shù)據(jù)包的變量;當(dāng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)中的候選父節(jié)點(diǎn)鏈路質(zhì)量值 不超過某個(gè)閾值,選擇兩個(gè)節(jié)點(diǎn)中轉(zhuǎn)發(fā)數(shù)據(jù)較少的節(jié)點(diǎn)作為他的父節(jié)點(diǎn),并立即廣播自己的路由幀。
全文摘要
本發(fā)明提出了一種適用于無線傳感器網(wǎng)絡(luò)的基于數(shù)據(jù)傳輸?shù)呢?fù)載平衡的CTP路由協(xié)議,兼顧無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)的能耗、數(shù)據(jù)傳輸?shù)母咝浴⒖煽啃圆⑶壹骖櫫藷o線傳感器網(wǎng)絡(luò)中拓?fù)浣Y(jié)構(gòu)的路由樹的同一層次節(jié)點(diǎn)的節(jié)點(diǎn)能耗的平衡性。通過對無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)選擇父節(jié)點(diǎn)時(shí)對候選父節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)量的考慮,來平衡無線傳感器網(wǎng)絡(luò)中拓?fù)浣Y(jié)構(gòu)樹的同一層次的節(jié)點(diǎn)的轉(zhuǎn)發(fā)數(shù)據(jù)進(jìn)行平衡,在保證網(wǎng)絡(luò)整體性能優(yōu)化的同時(shí),有效地延長了網(wǎng)絡(luò)生存時(shí)間,提高了網(wǎng)絡(luò)的能效,解決了無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)震蕩問題,也保持了CTP路由協(xié)議數(shù)據(jù)投遞率較高以及數(shù)據(jù)傳輸效率高的性能。
文檔編號H04W40/04GK102857975SQ20121039892
公開日2013年1月2日 申請日期2012年10月19日 優(yōu)先權(quán)日2012年10月19日
發(fā)明者陳力軍, 高寧 申請人:南京大學(xué)