賀晟,黃冠銀,朱石明,劉安豐, 2
?
基于匯聚環(huán)的網(wǎng)內(nèi)事件路由策略
賀晟1,黃冠銀1,朱石明1,劉安豐1, 2
(1. 中南大學(xué) 軟件學(xué)院,湖南 長沙,410083;2. 中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙,410083)
對事件數(shù)據(jù)融合策略進(jìn)行改進(jìn),提出一種新的基于匯集環(huán)的數(shù)據(jù)融合路由策略,論述策略的各個(gè)方面,包括路由的形成、匯集環(huán)停留的時(shí)間比例等,并對策略性能進(jìn)行分析,最后通過實(shí)驗(yàn)予以驗(yàn)證。研究結(jié)果表明:在網(wǎng)絡(luò)的非hotspots建立環(huán)繞網(wǎng)絡(luò)的匯集環(huán),除第1環(huán)數(shù)據(jù)直接發(fā)往Sink外,其他環(huán)的數(shù)據(jù)由匯集環(huán)融合后再發(fā)往Sink,極大地減少了需要發(fā)往Sink的數(shù)據(jù)量,成倍地提高了網(wǎng)絡(luò)壽命,驗(yàn)證了該策略的有效性。
無線傳感器網(wǎng)絡(luò);數(shù)據(jù)融合;匯集環(huán);網(wǎng)絡(luò)壽命
無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)是由電池供電,其能量非常有限,而且不能被替換與更新,因而傳感器節(jié)點(diǎn)的能量一旦消耗殆盡,傳感器節(jié)點(diǎn)便完全失去功能而死亡,因而,如何在有效監(jiān)測事件的基礎(chǔ)上節(jié)省網(wǎng)絡(luò)的能量,提高網(wǎng)絡(luò)壽命是一個(gè)重要的研究課題。大量研究表明[1?6]:事件信息在時(shí)間上與空間上都存在相關(guān)性,因而可以通過數(shù)據(jù)融合(data aggregation)技術(shù)將多個(gè)事件的信息融合成數(shù)據(jù)量少得多的數(shù)據(jù)包,然后發(fā)往Sink,從而極大地減少了網(wǎng)絡(luò)所需要傳送的數(shù)據(jù)量,提高了網(wǎng)絡(luò)壽命[7?9]。Villas等[5]提出了一種較好的事件信息融合策略。該策略的主要思想是:若將多個(gè)不同區(qū)域發(fā)生的事件信息匯合在1條路由路徑發(fā)往Sink,則這些事件的數(shù)據(jù)包就可以在經(jīng)過同一節(jié)點(diǎn)時(shí)進(jìn)行數(shù)據(jù)融合,從而可以進(jìn)一步減少數(shù)據(jù)發(fā)送量,進(jìn)一步提高網(wǎng)絡(luò)壽命。但是,這種策略還存在一個(gè)很大不足,即這種策略只是一種能夠在局部將多個(gè)事件的信息融合在一起,而沒有全局網(wǎng)絡(luò)事件信息融合的能力。若事件發(fā)生的區(qū)域相距較遠(yuǎn),則這些事件信息依然獨(dú)立地將沒有進(jìn)行數(shù)據(jù)融合的事件信息發(fā)往Sink,從而使這種策略的有效性大大降低。為此,本文作者提出一種能夠進(jìn)行全局事件信息融合的策略,稱為基于匯集環(huán)的路由策略(aggregation ring based routing, ARR)。與以往的策略相比,該策略具有以下特點(diǎn): 1) 策略具有全局事件信息融合的能力,因而能夠極大地減少發(fā)送到Sink的數(shù)據(jù)量,極大地提高網(wǎng)絡(luò)壽命;2) 具有很高的能量有效性;3) 提高了網(wǎng)絡(luò)壽命達(dá)數(shù)倍,驗(yàn)證該策略的有效性。
1 系統(tǒng)模型與問題描述
1.1 網(wǎng)絡(luò)模型
本文所采用的網(wǎng)絡(luò)模型如下。
1)個(gè)同構(gòu)節(jié)點(diǎn)隨機(jī)地部署在1個(gè)二維平面網(wǎng)絡(luò)內(nèi),節(jié)點(diǎn)密度為,每個(gè)節(jié)點(diǎn)持續(xù)監(jiān)測周圍的環(huán)境,一旦監(jiān)測到感興趣的事件,則將事件信息發(fā)往Sink。應(yīng)用對事件的延遲不敏感。
2) 假設(shè)被監(jiān)測的目標(biāo)出現(xiàn)在網(wǎng)絡(luò)中的位置是隨機(jī)分布的,也就是每個(gè)傳感器節(jié)點(diǎn)監(jiān)測到目標(biāo)的概率是均等的。
3) 數(shù)據(jù)融合模型。本文采用逐步多跳無損數(shù)據(jù)融合模型(lossless step-by-step multi-hop aggregation model)[10]。在該模型中,當(dāng)2個(gè)數(shù)據(jù)包在1個(gè)節(jié)點(diǎn)上相遇時(shí),就進(jìn)行數(shù)據(jù)融合。用表示節(jié)點(diǎn)s的數(shù)據(jù)和節(jié)點(diǎn)s的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合(data aggregate)后的結(jié)果。數(shù)據(jù)融合公式如下:
1.2 能量消耗模型
本文只考慮數(shù)據(jù)通信的能量消耗[2?3, 9]。在發(fā)送數(shù)據(jù)時(shí),若數(shù)據(jù)發(fā)送距離小于閾值0,則采用自由空間模型,否則,采用多路徑衰減模型。發(fā)送和接收長度為的數(shù)據(jù)的能耗分別為
其中:為數(shù)據(jù)發(fā)送距離;elec為無線收發(fā)電路發(fā)送或接收單位長度數(shù)據(jù)的電路能耗;fs和mp分別為自由空間模型和多路徑衰減模型的放大器能耗參數(shù)。
1.3 問題描述
本文的主要目標(biāo)是針對無線傳感器網(wǎng)絡(luò)設(shè)計(jì)一種有效的事件信息融合路由策略,能夠有效地將事件信息融合后發(fā)往Sink,并使得網(wǎng)絡(luò)壽命最大化。與文獻(xiàn)[1, 4?5]中的定義一樣,網(wǎng)絡(luò)壽命定義為網(wǎng)絡(luò)中第1個(gè)節(jié)點(diǎn)死亡的時(shí)間。設(shè)E為節(jié)點(diǎn)的能量消耗,則使得網(wǎng)絡(luò)壽命最大化可以表達(dá)為
2 基于匯集環(huán)的網(wǎng)內(nèi)事件聚合策略
2.1 ARR策略總體概略
本文提出的基于匯集環(huán)的路由策略(aggregation ring based routing, ARR)是對DRINA策略的改進(jìn)。DRINA策略是由Villas等[5]提出的一種較好的事件數(shù)據(jù)聚集路由策略。策略主要首先執(zhí)行跳數(shù)擴(kuò)散協(xié)議從而使每個(gè)節(jié)點(diǎn)得到到達(dá)Sink的跳數(shù),如圖1所示。
圖1 DRINA 策略
DRINA策略的創(chuàng)新點(diǎn)主要體現(xiàn)在事件發(fā)生后的路由過程,如圖1所示。當(dāng)事件1(event 1)發(fā)生后,事件信息沿最短路由路徑向Sink發(fā)送,但與以往研究不同的是:DRINA策略將事件信息發(fā)送到Sink這條路由上的所有節(jié)點(diǎn)到達(dá)Sink的跳數(shù)都設(shè)置為0跳,然后,此路由上的節(jié)點(diǎn)進(jìn)行類似于前面所述的跳數(shù)擴(kuò)散協(xié)議。這樣,一旦有1條到達(dá)Sink的路由,此路由上節(jié)點(diǎn)到達(dá)Sink的跳數(shù)由于被設(shè)置為0跳,其附近節(jié)點(diǎn)到達(dá)Sink的路由就會(huì)更改為向此路由,受此路由影響范圍內(nèi)的事件就會(huì)經(jīng)過此路由向Sink發(fā)送事件信息,此路由影響范圍內(nèi)多個(gè)事件的信息就能夠進(jìn)行數(shù)據(jù)融合,從而減少發(fā)送到Sink的數(shù)據(jù)量,提高網(wǎng)絡(luò)壽命。但是DRINA只能從局部進(jìn)行優(yōu)化。如圖1所示,由于事件3與事件1和2發(fā)生的位置相距較遠(yuǎn),因而,依據(jù)DRINA的路由策略,事件3的信息將產(chǎn)生獨(dú)立的路由路徑,獨(dú)立地將自己的事件信息發(fā)往Sink,而不能進(jìn)行數(shù)據(jù)融合??梢奃RINA是一種具有局部視野的優(yōu)化策略,能夠?qū)嚯x相近的事件信息進(jìn)行信息融合,不能對整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)進(jìn)行整體數(shù)據(jù)融合。針對DRINA策略存在的不足,本文提出一種基于匯集環(huán)的路由策略(aggregation ring based routing, ARR),如圖2所示。ARR策略的主要特征是在網(wǎng)絡(luò)能量有較多剩余的區(qū)域建立圍繞Sink的匯集環(huán)。事件發(fā)生后,匯集環(huán)外的所有事件信息都會(huì)經(jīng)過環(huán),匯集環(huán)內(nèi)(指距離Sink的跳數(shù)小于或者等于環(huán)上節(jié)點(diǎn)到達(dá)Sink節(jié)點(diǎn)跳數(shù)的區(qū)域)依據(jù)自己距離環(huán)的位置決定是否向環(huán)發(fā)送信息還是直接向Sink發(fā)送信息。因?yàn)榫嚯xSink 1跳范圍內(nèi)節(jié)點(diǎn)的能量消耗最高,是整個(gè)系統(tǒng)的瓶頸,因而,在ARR策略中,若事件發(fā)生在距離Sink 1跳范圍內(nèi),則事件信息直接向Sink發(fā)送,否則,都向匯集環(huán)發(fā)送。向匯集環(huán)發(fā)送雖然增加了系統(tǒng)的總能量消耗,但還是能夠減少hotspots區(qū)域的能量消耗,這對整個(gè)網(wǎng)絡(luò)壽命的提高是有利的。
圖2 ARR策略
當(dāng)網(wǎng)絡(luò)中的事件信息發(fā)送到匯集環(huán)后,事件信息圍繞匯集環(huán)路由1周,這樣將整個(gè)網(wǎng)絡(luò)的所有事件信息都能夠進(jìn)行融合,大大減少了需要發(fā)送到Sink的數(shù)據(jù)量??梢姡珹RR策略是一種具有全局視野的信息融合路由策略。
2.2 ARR策略詳細(xì)設(shè)計(jì)
在ARR策略中,每個(gè)節(jié)點(diǎn)需要存儲(chǔ)2個(gè)變量的值:一組值是到達(dá) Sink的最小跳數(shù)(hop to sink, 簡稱HTS);另一個(gè)值是到達(dá)匯集環(huán)的最小跳數(shù)(hop to ring, HTR)。當(dāng)節(jié)點(diǎn)存儲(chǔ)這2個(gè)值后,節(jié)點(diǎn)就能夠有效地形成到達(dá)Sink或者匯集環(huán)的路由。總體來說,ARR策略由如下幾個(gè)階段組成:1) 每個(gè)節(jié)點(diǎn)距離Sink跳數(shù)的形成。每個(gè)節(jié)點(diǎn)到達(dá)Sink的跳數(shù)在此階段獲得,即確定每個(gè)節(jié)點(diǎn)的HTS[9]。2) 匯集環(huán)的創(chuàng)建。創(chuàng)建匯集環(huán),在創(chuàng)建匯集環(huán)后,將匯集環(huán)上的節(jié)點(diǎn)到達(dá)匯集環(huán)的跳數(shù)設(shè)為0跳,然后向外廣播從而使整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)獲得到達(dá)匯集環(huán)的跳數(shù)即HTR。3) 事件簇的創(chuàng)建。事件發(fā)生后可能有多個(gè)節(jié)點(diǎn)感知到事件,因而一般采用簇的方式,由事件附近的感知事件的節(jié)點(diǎn)形成簇,由簇頭節(jié)點(diǎn)融合簇內(nèi)節(jié)點(diǎn)感知的事件信息。事件簇的形成與文獻(xiàn)[9]中的類似。4) 事件信息的路由過程。簇頭節(jié)點(diǎn)的事件信息路由到匯集環(huán),傳送到Sink的路由階段。
2.2.1 階段2:匯集環(huán)的創(chuàng)建
設(shè)匯集環(huán)創(chuàng)建的位置位于距離Sink為跳處,則創(chuàng)建匯集環(huán)的過程如下:由Sink節(jié)點(diǎn)發(fā)起,沿著最大跳數(shù)節(jié)點(diǎn)向外路由(即每次選擇比自己HTS大的節(jié)點(diǎn)作為下一跳路由方法),直到下一跳節(jié)點(diǎn)(如)的HTS為時(shí),則以節(jié)點(diǎn)為起點(diǎn)開始創(chuàng)建匯集環(huán)。其過程是:依據(jù)左手(右手)規(guī)則選擇自己左邊(右邊)且與自己HTS相同的節(jié)點(diǎn)作為路由的下一跳節(jié)點(diǎn),下一跳節(jié)點(diǎn)同樣依據(jù)左手(右手)規(guī)則選擇自己左邊(右邊)且與自己的HTS相同的節(jié)點(diǎn)作為路由的下一跳節(jié)點(diǎn)。如此過程一直進(jìn)行下去,直到當(dāng)依據(jù)左手(右手)規(guī)則選擇下一跳范圍內(nèi)可以選擇到節(jié)點(diǎn)時(shí),則選擇節(jié)點(diǎn)為終點(diǎn),這樣,形成既以節(jié)點(diǎn)為起點(diǎn),又以為終點(diǎn)的匯集環(huán)。具體算法如算法1所示。
算法1:匯集環(huán)創(chuàng)建算法
//指定在距離Sink跳數(shù)為處創(chuàng)建環(huán)
Stage I: route to ring
1: let nodeis sink,is HTS
3: select nodefrom neighbor node of
//選擇比節(jié)點(diǎn)的跳數(shù)大1的鄰居節(jié)點(diǎn)作為下一跳;
4: let=;
5: end while
Stage II: creating ring
6:=
7: nodeselect it’s the most faraway left neighboras next hop whose HTS is
8: while the select node is notDo
9: if nodeis node’s left neighbor then
10: the next hop is;
11: else
12: next hop is’s the most faraway left
neighborwhose HTS is;
13: let=;
14: end if
15: end while
2.2.2 階段4:路由階段
路由階段由匯集環(huán)創(chuàng)建后,匯集環(huán)中的所有節(jié)點(diǎn)將自己到達(dá)匯集環(huán)的跳數(shù)(HTR)為0跳,然后,環(huán)上的每個(gè)節(jié)點(diǎn)將自己的HTR向外廣播擴(kuò)散,與得到HTS跳數(shù)的過程類似,通過HTR的擴(kuò)散過程后每個(gè)節(jié)點(diǎn)都確定了自己的HTR。
當(dāng)所有節(jié)點(diǎn)確定了自己的HTR與HTS后,事件數(shù)據(jù)發(fā)送的原則如下:1)近Sink 1跳范圍內(nèi)產(chǎn)生的事件數(shù)據(jù)直接發(fā)往Sink;2) 非Sink 1跳范圍內(nèi)的節(jié)點(diǎn)先依據(jù)HTR指示的信息發(fā)往匯集環(huán),即每次選擇比自己HTR少的節(jié)點(diǎn)作為下一跳,直到HTR為0時(shí)發(fā)送到環(huán)上。然后,在環(huán)上路由1周后,將匯集環(huán)上的所有數(shù)據(jù)融合后再發(fā)往Sink。而發(fā)往Sink時(shí)路由的依據(jù)是依據(jù)HTS,即每次選擇比自己少的HTS路由到Sink。
采用這種策略的原因是:1) 由于近Sink 1跳范圍內(nèi)是hotspots區(qū)域,因此,環(huán)一定不在1跳范圍內(nèi),因?yàn)樵?跳范圍內(nèi)會(huì)加重hotspots的負(fù)載。而1跳節(jié)點(diǎn)內(nèi)的信息可直接發(fā)往Sink,比經(jīng)過環(huán)轉(zhuǎn)發(fā)更節(jié)省能量,因而,Sink 1跳內(nèi)節(jié)點(diǎn)的數(shù)據(jù)直接發(fā)往Sink。 2) 由于其能量有剩余,非hotspots區(qū)域節(jié)點(diǎn)的數(shù)據(jù)都發(fā)往環(huán),在環(huán)上進(jìn)行數(shù)據(jù)融合后再發(fā)往Sink的數(shù)據(jù)量,在hotspots區(qū)域內(nèi)會(huì)少于不進(jìn)行數(shù)據(jù)融合再發(fā)往Sink的數(shù)據(jù)量。簇頭節(jié)點(diǎn)數(shù)據(jù)產(chǎn)生后的路由算法如下。
算法2:數(shù)據(jù)路由
Ⅰ: stage 1: route to ring
1: cluster headis the node which have data to send to sink, letis HTS,is HTR;
3: else
4: ifcan send the data to the ring then nodesend data to Sink;
5: else
6: nodeselect neighborwhose=.?1;
7: while the selected nodeis not in the Ring Do
8: send data to node;
9: select neighborwhose=.?1;
10: end while
Ⅱ: stage 2: ring circle route
11: random select nodeas initiate circle routing node
12: nodeselect left neighborof ring
13: while nodeis not
14:send data to;
15: ifalso has data
then aggregation all data into one data packet
16: let=
17: end while
Ⅲ: stage 2: routing to Sink
18: nodeselect neighborwhose
19: let nodesend data to, let=
20: while the nodeis not Sink Do
21: nodeselect neighborwhose
22: let nodesend data to, let=;
23: end while
2.3 策略的參數(shù)優(yōu)化
前面給出了ARR策略的具體設(shè)計(jì),但還有1個(gè)重要問題即ARR策略中匯集環(huán)(aggregation ring)的位置問題。匯集環(huán)的位置應(yīng)該位于網(wǎng)絡(luò)能量剩余的位置,以便充分利用網(wǎng)絡(luò)的剩余能量,因此,確定匯集環(huán)的位置選擇要先分析網(wǎng)絡(luò)的能量消耗,然后才能確定匯集環(huán)在網(wǎng)絡(luò)不同位置停留的時(shí)間比例關(guān)系。設(shè)網(wǎng)絡(luò)半徑為,網(wǎng)絡(luò)以節(jié)點(diǎn)的發(fā)送半徑劃分為不同的環(huán),Sink為0環(huán),距離Sink 1跳范圍內(nèi)的節(jié)點(diǎn)為第1環(huán),環(huán)的編號(hào)依次向外。第環(huán)的節(jié)點(diǎn)承擔(dān)第環(huán)以及大于第環(huán)的數(shù)據(jù)。第環(huán)以及大于第環(huán)的節(jié)點(diǎn)個(gè)數(shù)為。第環(huán)的節(jié)點(diǎn)個(gè)數(shù)為
每個(gè)事件發(fā)生后,采用基于簇的方式收集事件信息,由簇頭節(jié)點(diǎn)來處理。假設(shè)節(jié)點(diǎn)在1個(gè)事件周期內(nèi)產(chǎn)生數(shù)據(jù)的可能性為,事件產(chǎn)生后,必有1個(gè)簇頭節(jié)點(diǎn)收集事件的信息。由于簇頭節(jié)點(diǎn)收集事件信息與事件發(fā)生的概率是相等的,因而,每個(gè)節(jié)點(diǎn)充當(dāng)簇頭節(jié)點(diǎn)的概率相同,在1個(gè)事件周期內(nèi)產(chǎn)生數(shù)據(jù)的概率也為。事件產(chǎn)生后,經(jīng)過簇頭節(jié)點(diǎn)數(shù)據(jù)融合后的數(shù)據(jù)包長度為,因而可以認(rèn)為:在1個(gè)事件周期內(nèi)節(jié)點(diǎn)產(chǎn)生數(shù)據(jù)概率為,產(chǎn)生的數(shù)據(jù)包長度為。若匯集環(huán)位于第環(huán),則網(wǎng)絡(luò)中節(jié)點(diǎn)承擔(dān)的數(shù)據(jù)量情況分析如下:網(wǎng)絡(luò)中第1環(huán)節(jié)點(diǎn)只需要發(fā)送自己的數(shù)據(jù)直接到達(dá)Sink以及整個(gè)網(wǎng)絡(luò)經(jīng)過數(shù)據(jù)融合后的數(shù)據(jù),其他環(huán)的節(jié)點(diǎn)將自己的數(shù)據(jù)發(fā)送到第環(huán),節(jié)點(diǎn)所在的環(huán)號(hào)大于沿Sink方向路由的環(huán)號(hào)。若節(jié)點(diǎn)所在的環(huán)號(hào)小于,則沿背離Sink的方向路由。ARR數(shù)據(jù)路由如圖3所示。
圖3 ARR數(shù)據(jù)路由
第環(huán)為匯集環(huán),匯集環(huán)的節(jié)點(diǎn)有2類:一類是環(huán)路由上的節(jié)點(diǎn),如圖3中匯集環(huán)內(nèi)的白色節(jié)點(diǎn)所示,環(huán)路由上的節(jié)點(diǎn)形成1個(gè)首尾相連的圓形環(huán)路由,除了第1環(huán)的數(shù)據(jù)外,其他環(huán)的數(shù)據(jù)都向第環(huán)發(fā)送數(shù)據(jù),匯集環(huán)內(nèi)節(jié)點(diǎn)接受這些數(shù)據(jù);另一類是匯集環(huán)內(nèi)的非環(huán)路由上的節(jié)點(diǎn)(如圖3中黑色節(jié)點(diǎn)所示)。黑色節(jié)點(diǎn)接收到的數(shù)據(jù)還需要向環(huán)路由上的節(jié)點(diǎn)轉(zhuǎn)發(fā)。由于數(shù)據(jù)是向環(huán)路由的,因而,在到達(dá)匯集環(huán)前數(shù)據(jù)路由中相遇的概率非常小,而且為降低網(wǎng)絡(luò)延遲,每個(gè)事件的數(shù)據(jù)產(chǎn)生后都立即向環(huán)路由,因而,在本文中不考慮到匯集環(huán)前的數(shù)據(jù)融合。下面對網(wǎng)絡(luò)中節(jié)點(diǎn)承擔(dān)的數(shù)據(jù)量進(jìn)行分析,然后給出匯集環(huán)位置與停留時(shí)間的比例關(guān)系。
證明:如圖1所示,由于每個(gè)節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)都需要發(fā)送到匯集環(huán),因此,對于第環(huán),它一定承擔(dān)除第1環(huán)外其他區(qū)域的所有數(shù)據(jù)。這些區(qū)域的面積為
這些區(qū)域產(chǎn)生的數(shù)據(jù)量為
第環(huán)的面積為
第環(huán)共有節(jié)點(diǎn)個(gè)數(shù)為
從而可以得到第環(huán)的節(jié)點(diǎn)在一輪數(shù)據(jù)收集過程中承擔(dān)的數(shù)據(jù)量為
依據(jù)定理1可以看出:若匯集環(huán)離Sink越近,則承擔(dān)的數(shù)據(jù)量越多;反之,若匯集環(huán)離Sink越遠(yuǎn),則承擔(dān)的數(shù)據(jù)量越少??梢?,當(dāng)匯集環(huán)位于網(wǎng)絡(luò)不同區(qū)域時(shí),傳感器網(wǎng)絡(luò)的能量消耗是不均勻的,因而,需要仔細(xì)規(guī)劃匯集環(huán)的位置,匯集環(huán)建立在網(wǎng)絡(luò)不同的區(qū)域,使不同區(qū)域的節(jié)點(diǎn)充當(dāng)匯集環(huán),使得網(wǎng)絡(luò)不同區(qū)域節(jié)點(diǎn)的能量消耗均衡,從而提高網(wǎng)絡(luò)壽命。
第環(huán)發(fā)送的數(shù)據(jù)量為
綜合以上可得證。
證明:首先,依據(jù)定理1中式(7)可知第環(huán)每個(gè)節(jié)點(diǎn)的接收到數(shù)據(jù)量為。第環(huán)每個(gè)節(jié)點(diǎn)都向環(huán)上的節(jié)點(diǎn)發(fā)送,因此,第環(huán)上的每個(gè)節(jié)點(diǎn)發(fā)送的第1部分?jǐn)?shù)據(jù)量為。由第環(huán)的平均長度為,而節(jié)點(diǎn)的發(fā)送半徑為,因而,環(huán)上的節(jié)點(diǎn)個(gè)數(shù)為
至此,網(wǎng)絡(luò)的數(shù)據(jù)都路由與數(shù)據(jù)融合到匯集環(huán)上的節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)上的平均數(shù)據(jù)包為。然后,環(huán)上節(jié)點(diǎn)的數(shù)據(jù)再沿環(huán)路由1周,在此過程中再進(jìn)行數(shù)據(jù)融合。由于環(huán)上的節(jié)點(diǎn)個(gè)數(shù)為,每經(jīng)過1個(gè)節(jié)點(diǎn),就會(huì)進(jìn)行1次數(shù)據(jù)融合,因而最終發(fā)往Sink的數(shù)據(jù)量為
證明:首先,第環(huán)的節(jié)點(diǎn)將自己的數(shù)據(jù)往環(huán)形路由上轉(zhuǎn)發(fā),這一步需要發(fā)送的數(shù)據(jù)量由定理3可知第環(huán)上的節(jié)點(diǎn)個(gè)數(shù)為,第環(huán)總共有節(jié)點(diǎn)個(gè)數(shù)為。每個(gè)節(jié)點(diǎn)有數(shù)據(jù)量為則發(fā)往環(huán)形路由的數(shù)據(jù)總量為,然后,環(huán)上的節(jié)點(diǎn)向前轉(zhuǎn)發(fā)。環(huán)上每個(gè)節(jié)點(diǎn)的初始數(shù)據(jù)量為,第1個(gè)節(jié)點(diǎn)向前發(fā)送的數(shù)據(jù)量為。第2個(gè)節(jié)點(diǎn)向前發(fā)送的數(shù)據(jù)量為。依此下去,第環(huán)向前發(fā)送的數(shù)據(jù)量為,從而可以得到在沿環(huán)路由中的發(fā)送的總數(shù)據(jù)量為
可得對環(huán)來說每個(gè)節(jié)點(diǎn)平均承擔(dān)的數(shù)據(jù)量為
證明:匯集環(huán)內(nèi)數(shù)據(jù)有2部分:一是接收網(wǎng)絡(luò)內(nèi)其他節(jié)點(diǎn)路由來的數(shù)據(jù)。這部分?jǐn)?shù)據(jù)由定理1計(jì)算得
往環(huán)形路由上節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)以及環(huán)形路由上節(jié)點(diǎn)沿環(huán)路由的數(shù)據(jù)轉(zhuǎn)發(fā),這部分轉(zhuǎn)發(fā)的數(shù)據(jù)量為前面定理4計(jì)算得到的。這樣,第環(huán)總的轉(zhuǎn)發(fā)的數(shù)據(jù)量為。
證明:定理2證明了當(dāng)匯集環(huán)位于第環(huán)時(shí),網(wǎng)絡(luò)的第環(huán)每個(gè)節(jié)點(diǎn)接收的向匯集環(huán)路由的數(shù)據(jù)量如式(13)所示。對于的節(jié)點(diǎn),還需要承擔(dān)經(jīng)過匯集環(huán)進(jìn)行數(shù)據(jù)融合后發(fā)往Sink的數(shù)據(jù),而定理2證明網(wǎng)絡(luò)中的數(shù)據(jù)經(jīng)過匯集環(huán)進(jìn)行數(shù)據(jù)融合后的數(shù)據(jù)量為(據(jù)式(16))。而第環(huán)共有節(jié)點(diǎn)個(gè)數(shù),因而,每個(gè)節(jié)點(diǎn)承擔(dān)這部分的數(shù)據(jù)量為??梢缘玫骄W(wǎng)絡(luò)的第環(huán)每個(gè)節(jié)點(diǎn)平均發(fā)送的總數(shù)據(jù)量為
證明:定理2證明網(wǎng)絡(luò)中的數(shù)據(jù)經(jīng)過匯集環(huán)進(jìn)行數(shù)據(jù)融合后的數(shù)據(jù)量為,即式(16)所示。而第1環(huán)共有節(jié)點(diǎn)個(gè)數(shù),因而,每個(gè)節(jié)點(diǎn)承擔(dān)這部分的數(shù)據(jù)量為。1環(huán)內(nèi)節(jié)點(diǎn)數(shù)據(jù)產(chǎn)生率為,數(shù)據(jù)包的長度為,因此,對于第1環(huán)的節(jié)點(diǎn)來說,每個(gè)節(jié)點(diǎn)發(fā)往Sink的數(shù)據(jù)量為。得證。
推理1 在ARR策略中,網(wǎng)絡(luò)中不同環(huán)的節(jié)點(diǎn)承擔(dān)的總數(shù)據(jù)量為
3 實(shí)驗(yàn)及性能分析
采用OMNET++網(wǎng)絡(luò)模擬器[11],如不加特別,說明網(wǎng)絡(luò)參數(shù)設(shè)置為:=500 m,=50 m,節(jié)點(diǎn)個(gè)數(shù)為800,=0.001,數(shù)據(jù)融合率=0.3,節(jié)點(diǎn)密度=0.002。其他實(shí)驗(yàn)參數(shù)如表2所示。
表2 實(shí)驗(yàn)參數(shù)
圖4所示為網(wǎng)絡(luò)不同規(guī)模下的網(wǎng)絡(luò)壽命對比。從圖4可以看出:在ARR策略下,由于充分利用了網(wǎng)絡(luò)非hotspots區(qū)域的能量來創(chuàng)建匯集環(huán),從而將網(wǎng)絡(luò)上除第1環(huán)外的所有數(shù)據(jù)都進(jìn)行數(shù)據(jù)融合后再發(fā)往Sink,這時(shí)發(fā)往Sink的數(shù)據(jù)量最小,因而,ARR策略的網(wǎng)絡(luò)壽命遠(yuǎn)比DRINA策略的網(wǎng)絡(luò)壽命高。而在本實(shí)驗(yàn)中,DRINA策略中有4~5條路由路徑向Sink發(fā)送,相當(dāng)于其數(shù)據(jù)融合率只有ARR策略的1/4~1/5,因而其網(wǎng)絡(luò)壽命遠(yuǎn)比ARR策略的低。另外,網(wǎng)絡(luò)規(guī)模越大,其網(wǎng)絡(luò)壽命越低。