戴國勇,苗春雨,毛科技,王 凱,陳慶章*
(1.浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023;2.浙江樹人大學(xué)信息科技學(xué)院,杭州 310014)
?
一種基于中繼節(jié)點(diǎn)的線性無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集MAC協(xié)議*
戴國勇1,2,苗春雨1,毛科技1,王 凱1,陳慶章1*
(1.浙江工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023;2.浙江樹人大學(xué)信息科技學(xué)院,杭州 310014)
MAC協(xié)議對(duì)于無線傳感器網(wǎng)絡(luò)的能效是至關(guān)重要的。針對(duì)線性無線傳感器網(wǎng)絡(luò)設(shè)計(jì)了一個(gè)基于中繼節(jié)點(diǎn)的數(shù)據(jù)收集MAC協(xié)議SLDMAC。源節(jié)點(diǎn)向匯聚節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),引入節(jié)點(diǎn)能耗因子和剩余能量均衡因子兩個(gè)參數(shù),通過優(yōu)化這兩個(gè)參數(shù),選擇合適的中間節(jié)點(diǎn)進(jìn)行中繼,從而提升網(wǎng)絡(luò)的性能。實(shí)驗(yàn)結(jié)果表明:與DMAC協(xié)議相比,SLDMAC協(xié)議提升了網(wǎng)絡(luò)的能效和生存周期。
無線傳感器網(wǎng)絡(luò);線性拓?fù)?MAC協(xié)議;低能耗;中繼
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是物聯(lián)網(wǎng)的重要基礎(chǔ)之一,具有非常廣泛的應(yīng)用場(chǎng)景,如災(zāi)難救助、環(huán)境監(jiān)測(cè)、交通監(jiān)測(cè)、城市基礎(chǔ)設(shè)施監(jiān)測(cè)等[1-3]。WSN通常由大量具有無線通信和計(jì)算能力的傳感器節(jié)點(diǎn)以無線、多跳、自組織的形式構(gòu)成。由于WSN常常工作在野外等無人值守的環(huán)境中,而節(jié)點(diǎn)又是由一次性電源供電的,因此當(dāng)節(jié)點(diǎn)電源能量耗盡時(shí)很難為它更換電源,這就意味著節(jié)點(diǎn)電源能量耗盡時(shí),節(jié)點(diǎn)就會(huì)失效,這將直接影響到WSN的生存期。所以,節(jié)能管理是WSN研究領(lǐng)域中的一項(xiàng)重要研究?jī)?nèi)容。
介質(zhì)訪問控制協(xié)議——MAC協(xié)議(Medium Access Control Protocol)是WSN中節(jié)點(diǎn)通信的基礎(chǔ),WSN中的無線信道使用方式及資源分配由相應(yīng)的MAC協(xié)議決定,在MAC層研究如何有效減少冗余數(shù)據(jù)的傳輸、降低網(wǎng)絡(luò)總的數(shù)據(jù)傳輸量,設(shè)計(jì)一種高能效的MAC協(xié)議,對(duì)于節(jié)省節(jié)點(diǎn)能耗、延長網(wǎng)絡(luò)的生存期具有重要意義。
目前,關(guān)于MAC協(xié)議的研究已經(jīng)很多,也提出了許多MAC協(xié)議,例如:S-MAC[4],T-MAC[5],DMAC[6]等。這些協(xié)議主要有的沿用傳統(tǒng)無線網(wǎng)絡(luò)或Ad hoc網(wǎng)絡(luò)的MAC協(xié)議設(shè)計(jì)方法,有的也考慮了WSN網(wǎng)絡(luò)的數(shù)據(jù)特性,但值得注意的是,這些協(xié)議都是考慮節(jié)點(diǎn)隨機(jī)部署而未針對(duì)特定的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)而設(shè)計(jì)。事實(shí)上,在WSN的應(yīng)用領(lǐng)域中,許多應(yīng)用場(chǎng)景的節(jié)點(diǎn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是線性拓?fù)浣Y(jié)構(gòu)或者說是近似線性拓?fù)浣Y(jié)構(gòu)。例如:高壓輸電線路在線監(jiān)控、路燈節(jié)能監(jiān)控、高速公路流量監(jiān)控、河流或管道水質(zhì)監(jiān)控等。這些監(jiān)測(cè)區(qū)域都是狹長型的,相比于傳感器節(jié)點(diǎn)通信距離小的特點(diǎn),可以認(rèn)為這些區(qū)域是直線型的。我們把這種傳感器節(jié)點(diǎn)分布具有線性拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)稱為線性傳感器網(wǎng)絡(luò),它是無線傳感器網(wǎng)絡(luò)中的一種常用模型。線性無線傳感器網(wǎng)絡(luò)與傳統(tǒng)的WSN相比,監(jiān)測(cè)數(shù)據(jù)一般要經(jīng)過更多的跳數(shù)才能到達(dá)匯聚節(jié)點(diǎn)[7]。由于線性無線傳感器網(wǎng)絡(luò)的獨(dú)特性,傳統(tǒng)的無線網(wǎng)絡(luò)MAC協(xié)議直接應(yīng)用在線性無線傳感器網(wǎng)絡(luò)中可能會(huì)存在能耗高、傳輸效率低等問題。而目前針對(duì)線性無線傳感器網(wǎng)絡(luò)的MAC協(xié)議研究尚不多見。因此,本文主要研究具有線性拓?fù)涞臒o線傳感器網(wǎng)絡(luò)中的高能效的MAC協(xié)議,與現(xiàn)有的MAC協(xié)議相比突出其線性網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的適應(yīng)性。本文的主要貢獻(xiàn)在于:①研究了線性無線傳感器網(wǎng)絡(luò)的特點(diǎn)、拓?fù)浣Y(jié)構(gòu),在單個(gè)節(jié)點(diǎn)能耗模型[8]的基礎(chǔ)上分析線性WSN中節(jié)點(diǎn)數(shù)據(jù)傳輸?shù)哪芎?②分析了線性無線傳感器網(wǎng)絡(luò)中數(shù)據(jù)收集是中繼節(jié)點(diǎn)的選擇對(duì)傳輸能耗的影響,在DMAC協(xié)議[6]的基礎(chǔ)上考慮了單個(gè)傳感器節(jié)點(diǎn)剩余能量以及傳感器節(jié)點(diǎn)之間剩余能量的平衡,提出了一種線性傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸中繼節(jié)點(diǎn)選擇算法,從而節(jié)省傳輸能耗;③將線性傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)劃分層次,并基于節(jié)點(diǎn)的層次關(guān)系提出了一種線性傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)休眠/喚醒階梯調(diào)度機(jī)制,進(jìn)一步節(jié)省傳感器節(jié)點(diǎn)空閑偵聽的能耗。
本文剩余章節(jié)安排如下:第2節(jié)介紹WSN中MAC協(xié)議設(shè)計(jì)相關(guān)工作,第3節(jié)詳細(xì)介紹我們提出的SLDMAC協(xié)議,第4節(jié)描述我們?cè)贛ATLAB平臺(tái)下仿真SLDMAC協(xié)議的性能及相關(guān)分析討論,第5節(jié)是對(duì)全文的總結(jié)。
關(guān)于MAC協(xié)議的研究很多,也非常廣泛,而無線傳感器網(wǎng)絡(luò)中的MAC協(xié)議的研究則主要關(guān)注降低傳感器節(jié)點(diǎn)的能耗、延長網(wǎng)絡(luò)生存時(shí)間[9]。
CMAC協(xié)議[10]是一種異步的協(xié)議,避免了同步開銷。CMAC在網(wǎng)絡(luò)沒有數(shù)據(jù)要傳輸時(shí)允許節(jié)點(diǎn)以低占空比運(yùn)行,當(dāng)承載數(shù)據(jù)流量時(shí),首先使用Anycast喚醒轉(zhuǎn)發(fā)節(jié)點(diǎn),然后逐步收斂到最優(yōu)路由。李哲濤[11]等人提出了基于預(yù)測(cè)機(jī)制的異步無線傳感器網(wǎng)絡(luò)MAC協(xié)議(PB-MAC),該協(xié)議中發(fā)送節(jié)點(diǎn)能夠精確預(yù)測(cè)接收節(jié)點(diǎn)的喚醒時(shí)間,根據(jù)預(yù)測(cè)重建連接和數(shù)據(jù)重傳機(jī)制,從而降低了占空比,避免沖突,實(shí)現(xiàn)高效重傳。胡玉鵬[12]等人提出了一種無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)緩存-喚醒-轉(zhuǎn)發(fā)的異步通信模式,允許發(fā)送節(jié)點(diǎn)直接向睡眠的接收節(jié)點(diǎn)上的低功耗異步模塊寫入數(shù)據(jù),單個(gè)節(jié)點(diǎn)僅按照自身的時(shí)間喚醒并進(jìn)行數(shù)據(jù)通信,無需同步機(jī)制,與傳統(tǒng)同步通信相比延長了網(wǎng)絡(luò)的生存期。AGQ-MAC[13]采用GridQuorum組分配信道,動(dòng)態(tài)調(diào)配Quorum比率得到節(jié)點(diǎn)的最優(yōu)占空比,并在鄰節(jié)點(diǎn)發(fā)現(xiàn)過程中采用雙前導(dǎo)序文抽樣來監(jiān)測(cè)信道狀態(tài),減少節(jié)點(diǎn)喚醒時(shí)間,提高能效。
DMAC[6]是一種樹狀網(wǎng)絡(luò)數(shù)據(jù)收集協(xié)議。該協(xié)議針對(duì)樹狀層次型無線傳感器網(wǎng)絡(luò),根據(jù)節(jié)點(diǎn)所在的層數(shù),對(duì)不同層之間的節(jié)點(diǎn)數(shù)據(jù)收發(fā)進(jìn)行交錯(cuò)的調(diào)度,使得節(jié)點(diǎn)的數(shù)據(jù)傳輸從葉子節(jié)點(diǎn)開始逐層的向根節(jié)點(diǎn)方向進(jìn)行。DMAC利用網(wǎng)絡(luò)節(jié)點(diǎn)間的層次關(guān)系作為調(diào)度的準(zhǔn)則,給出了樹狀網(wǎng)絡(luò)的數(shù)據(jù)低功耗傳輸方法。同時(shí),它并沒有考慮到流量可變的情況,當(dāng)網(wǎng)絡(luò)中需要發(fā)送數(shù)據(jù)的節(jié)點(diǎn)個(gè)數(shù)較少時(shí),大量節(jié)點(diǎn)會(huì)產(chǎn)生因?yàn)榈却聦庸?jié)點(diǎn)的數(shù)據(jù)發(fā)送而造成的多余的喚醒時(shí)間,造成不必要的空閑偵聽。馬濤[14]等人針對(duì)層次模型的無線傳感器網(wǎng)絡(luò)中骨干層的MAC協(xié)議進(jìn)行研究,提出了GBN-MAC協(xié)議,傳感器節(jié)點(diǎn)根據(jù)收到的請(qǐng)求發(fā)送幀以及分片數(shù)據(jù)幀進(jìn)行休眠調(diào)度使節(jié)點(diǎn)適時(shí)休眠降低能耗。劉云璐[15]等人針對(duì)樹狀結(jié)構(gòu)的無線傳感器網(wǎng)絡(luò)提出了對(duì)CSMA/CA協(xié)議的優(yōu)化算法,將節(jié)點(diǎn)在樹狀結(jié)構(gòu)中的位置信息用于調(diào)整其MAC信道接入分配,改變了CSMA/CA原有的各個(gè)幾點(diǎn)均等競(jìng)爭(zhēng)信道的方式,減少了信道資源的浪費(fèi),提高了網(wǎng)絡(luò)傳輸效率。
SEMAC協(xié)議[16]針對(duì)大規(guī)模無線傳感器網(wǎng)絡(luò)中監(jiān)測(cè)數(shù)據(jù)具有空間相關(guān)性和冗余傳輸?shù)膯栴},利用信號(hào)強(qiáng)度優(yōu)先的節(jié)點(diǎn)篩選策略,減少發(fā)送數(shù)據(jù)的節(jié)點(diǎn),減少網(wǎng)絡(luò)冗余傳輸,從而降低網(wǎng)絡(luò)能耗,提高網(wǎng)絡(luò)吞吐量。
Zhao Y Z等人提出了AS-MAC協(xié)議[17]在節(jié)點(diǎn)工作周期中引入了自適應(yīng)調(diào)度,節(jié)點(diǎn)的激活期根據(jù)可變的流量負(fù)載決定,靈活調(diào)度休眠期與激活期。即網(wǎng)絡(luò)流量負(fù)載小的時(shí)候節(jié)點(diǎn)及時(shí)進(jìn)入休眠期,節(jié)省能量,網(wǎng)絡(luò)流量負(fù)載大的時(shí)候進(jìn)入激活期,快速傳輸數(shù)據(jù),減少延時(shí)。智能混合IH-MAC協(xié)議[18],結(jié)合了CSMA和TDMA的優(yōu)勢(shì),根據(jù)網(wǎng)絡(luò)負(fù)載情況動(dòng)態(tài)調(diào)整調(diào)度方式,同時(shí)采用并行傳輸,以獲得更高效的傳輸。
上述現(xiàn)有的無線傳感器網(wǎng)絡(luò)中的MAC協(xié)議分別關(guān)注異步通信優(yōu)化占空比、層次型網(wǎng)絡(luò)的適應(yīng)性、流量負(fù)載自適應(yīng)等方面,在不同程度上都節(jié)省了節(jié)點(diǎn)的能耗,能夠有效延長網(wǎng)絡(luò)生存期。但是這些協(xié)議基本上是針對(duì)網(wǎng)狀不規(guī)則拓?fù)浣Y(jié)構(gòu)的。本文所做工作與上述文獻(xiàn)最大區(qū)別在于針對(duì)線性拓?fù)浣Y(jié)構(gòu)的無線傳感器網(wǎng)絡(luò)設(shè)計(jì)MAC協(xié)議,提升網(wǎng)絡(luò)性能、提高節(jié)點(diǎn)的能效。
2.1 網(wǎng)絡(luò)及能耗模型
考慮如圖1所示的網(wǎng)絡(luò)結(jié)構(gòu),共有n個(gè)傳感器節(jié)點(diǎn)呈線性分布,匯聚節(jié)點(diǎn)位于線性網(wǎng)絡(luò)的一端。設(shè)置傳感器節(jié)點(diǎn)集V={v1,v2,…,vn-1,vn},匯聚節(jié)點(diǎn)為S,節(jié)點(diǎn)編號(hào)越小越靠近匯聚節(jié)點(diǎn),任意兩傳感器節(jié)點(diǎn)vi與vj之間的距離為di,j。這里我們假設(shè)節(jié)點(diǎn)集中所有節(jié)點(diǎn)完全相同,具有相同的初始能量、傳輸距離和能耗模型,并且能夠根據(jù)不同傳輸距離調(diào)整發(fā)射功率。傳感器節(jié)點(diǎn)采用確定的部署方式,可以按照精確位置進(jìn)行安裝。
圖1 線性無線傳感器網(wǎng)絡(luò)模型
采用廣泛使用的節(jié)點(diǎn)能量消耗模型[8],當(dāng)節(jié)點(diǎn)i發(fā)送給節(jié)點(diǎn)j長度為l(bit)的數(shù)據(jù)時(shí),節(jié)點(diǎn)i消耗的能量為:
(1)
節(jié)點(diǎn)j消耗的能量為:
Er_j=lc2
(2)
其中,c1為發(fā)射機(jī)基帶電路能耗參數(shù),c2為接收機(jī)電路能耗參數(shù),a為發(fā)射機(jī)放大電路能耗參數(shù),α為路徑衰減指數(shù),取值為2到4間的整數(shù)。令c=c1+c2,可得總能量消耗為:
(3)
根據(jù)節(jié)點(diǎn)能耗模型,考慮節(jié)點(diǎn)A發(fā)送數(shù)據(jù)給節(jié)點(diǎn)D,A和D間距離AD=d的情況。設(shè)節(jié)點(diǎn)B為節(jié)點(diǎn)A、D之間的節(jié)點(diǎn),AB=x,則我們有以下結(jié)論:當(dāng)d≥(c/a(1-21-α))1/α?xí)r,存在節(jié)點(diǎn)B,使得A將數(shù)據(jù)通過B傳輸給D所消耗的能量EABD小于A直接將數(shù)據(jù)傳輸給D所消耗的能量EAD。(證明略)
考慮更為一般的情況,節(jié)點(diǎn)A將數(shù)據(jù)傳輸給節(jié)點(diǎn)D,A、D間距離AD=d滿足d≥(c/a(1-21-α))1/α,求解滿足最小能量消耗傳輸?shù)闹欣^節(jié)點(diǎn)選擇方案。求解如下:
假設(shè)A、D間通過n-1個(gè)中繼進(jìn)行數(shù)據(jù)傳輸,將傳輸線路劃分成長度為x1,x2,…,xn的n段,則數(shù)據(jù)通過這n段從A傳輸?shù)紻的能量消耗為:
(4)
利用拉格朗日乘數(shù)法可得,當(dāng)x1=x2=…=xn=d/n時(shí),函數(shù)f取得最小值。即選擇中繼以保證數(shù)據(jù)在A、D間以相等的距離進(jìn)行多跳傳輸時(shí),消耗的能量最小,將其代入式(4),得:
f(x1,x2,…,xn)=adαn1-α+nc=k(n)
(5)
由上述可得,節(jié)點(diǎn)A將數(shù)據(jù)傳輸給節(jié)點(diǎn)D,A、D間的距離AD=d滿足d≥(c/a(1-21-α))1/α?xí)r,選擇在數(shù)據(jù)流方向上距離A為kd0(k=1,2,3,…)的節(jié)點(diǎn)作為中繼節(jié)點(diǎn),即將數(shù)據(jù)以d0為單跳距離沿著AD的方向多跳傳輸,網(wǎng)絡(luò)整體消耗的能量最少,將d0稱為最佳中繼轉(zhuǎn)發(fā)距離。
2.2 協(xié)議的基本思想
在線性拓?fù)涞木W(wǎng)絡(luò)中,若兩通信節(jié)點(diǎn)間的距離太大,盡管它們之間可以直接通信,但這會(huì)消耗大量的能量,需要合理的在它們兩者間的路徑中選擇中繼節(jié)點(diǎn)將數(shù)據(jù)以多跳的方式進(jìn)行傳輸,以減少能量的消耗。并且,若以最佳中繼轉(zhuǎn)發(fā)距離d0為單跳距離選擇中繼節(jié)點(diǎn),通信能耗最低。線性網(wǎng)絡(luò)拓?fù)錄Q定了當(dāng)數(shù)據(jù)上傳時(shí),數(shù)據(jù)流的方向總是從遠(yuǎn)離匯聚節(jié)點(diǎn)的節(jié)點(diǎn)以單跳或者多跳的方式向靠近匯聚節(jié)點(diǎn)的節(jié)點(diǎn)傳輸,最后傳輸給匯聚節(jié)點(diǎn)。借鑒DMAC協(xié)議,可以把這個(gè)數(shù)據(jù)傳輸看作是一個(gè)從下往上的鏈狀數(shù)據(jù)收集過程,整個(gè)網(wǎng)絡(luò)中有數(shù)據(jù)需要發(fā)送的節(jié)點(diǎn)組成一條線性的數(shù)據(jù)收集鏈,數(shù)據(jù)傳輸在這些節(jié)點(diǎn)間由下游節(jié)點(diǎn)往上游節(jié)點(diǎn)進(jìn)行。因此,在每一輪節(jié)點(diǎn)數(shù)據(jù)上傳中,為了提高效率,可以按照這個(gè)數(shù)據(jù)收集鏈中節(jié)點(diǎn)的層次安排其休眠/喚醒時(shí)間,使得待發(fā)送節(jié)點(diǎn)只有在接收到數(shù)據(jù)收集鏈中與其相鄰的下游節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù)后,將自己的數(shù)據(jù)與接收到的數(shù)據(jù)組成在一起,再將組合后的數(shù)據(jù)發(fā)送給數(shù)據(jù)收集鏈中與其相鄰的上游節(jié)點(diǎn)。
由于網(wǎng)絡(luò)流量可變的特點(diǎn),并不是在每個(gè)周期所有節(jié)點(diǎn)都有數(shù)據(jù)需要發(fā)送,因此,在進(jìn)行數(shù)據(jù)傳輸時(shí),為了避免其余節(jié)點(diǎn)因空閑偵聽消耗不必要的能量,可以利用這些需要發(fā)送數(shù)據(jù)的節(jié)點(diǎn)組成數(shù)據(jù)收集鏈,使數(shù)據(jù)傳輸僅僅在這些節(jié)點(diǎn)之間按照線性數(shù)據(jù)收集方法進(jìn)行數(shù)據(jù)傳輸。同時(shí),由于在大部分應(yīng)用中大多數(shù)時(shí)間內(nèi)節(jié)點(diǎn)都不需要發(fā)送數(shù)據(jù),這就會(huì)造成在很多時(shí)刻利用上述數(shù)據(jù)收集鏈進(jìn)行數(shù)據(jù)上傳時(shí)相鄰兩個(gè)需要發(fā)送數(shù)據(jù)節(jié)點(diǎn)之間的距離過遠(yuǎn)。根據(jù)上文所述,這兩個(gè)節(jié)點(diǎn)間進(jìn)行直接的數(shù)據(jù)傳輸會(huì)造成過多的能量消耗,需要在這兩個(gè)節(jié)點(diǎn)間進(jìn)行中繼節(jié)點(diǎn)選擇,將這些中繼節(jié)點(diǎn)加入到數(shù)據(jù)收集鏈中以利用中繼將數(shù)據(jù)在這兩個(gè)節(jié)點(diǎn)間進(jìn)行多跳傳輸,以降低整個(gè)網(wǎng)絡(luò)因本次數(shù)據(jù)傳輸消耗的能量。
我們?cè)O(shè)計(jì)的SLDMAC協(xié)議的基本思路是:整個(gè)網(wǎng)絡(luò)以T為工作周期周期性的工作,每個(gè)工作周期分為以下3個(gè)階段,如圖2所示。
圖2 SLDMAC協(xié)議流程
①發(fā)送請(qǐng)求階段。用于通知匯聚節(jié)點(diǎn)在本周期中需要發(fā)送數(shù)據(jù)的傳感器節(jié)點(diǎn),由一系列的時(shí)隙組成,這些時(shí)隙都預(yù)先分配給每個(gè)傳感器節(jié)點(diǎn)。因此,發(fā)送請(qǐng)求階段的長度取決于本網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)的數(shù)目,并且時(shí)隙與傳感器節(jié)點(diǎn)一一對(duì)應(yīng)。若節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送,它總是休眠并等待屬于自己的時(shí)隙,當(dāng)?shù)鹊綍r(shí)隙后喚醒,以單跳的方式發(fā)送1位的控制信息給匯聚節(jié)點(diǎn)。匯聚節(jié)點(diǎn)接收到某個(gè)節(jié)點(diǎn)的控制信息后就知道該節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送,將其設(shè)置為發(fā)送節(jié)點(diǎn),當(dāng)發(fā)送請(qǐng)求階段完成后,匯聚節(jié)點(diǎn)就獲得了在本周期有數(shù)據(jù)需要發(fā)送的節(jié)點(diǎn)集,即發(fā)送節(jié)點(diǎn)集,設(shè)置為Vs。
②集中處理階段。集中處理階段是一段較短的時(shí)間,可分為兩個(gè)子階段:第一個(gè)子階段匯聚節(jié)點(diǎn)在獲知所有發(fā)送節(jié)點(diǎn)后,利用中繼選擇算法選擇中繼節(jié)點(diǎn);第2個(gè)子階段匯聚節(jié)點(diǎn)根據(jù)協(xié)議中設(shè)計(jì)的線性數(shù)據(jù)收集鏈節(jié)點(diǎn)階梯休眠/喚醒調(diào)度機(jī)制,為本周期中的發(fā)送節(jié)點(diǎn)和中繼節(jié)點(diǎn)設(shè)置調(diào)度信息,并在這個(gè)階段的末期通過廣播調(diào)度信息通知各傳感器節(jié)點(diǎn)。由于這些操作是通過匯聚節(jié)點(diǎn)集中式處理的,因此持續(xù)時(shí)間很短,同時(shí)所有傳感器節(jié)點(diǎn)在集中處理階段時(shí)都處于休眠狀態(tài),僅僅在廣播期內(nèi)喚醒以接收調(diào)度信息。
③數(shù)據(jù)上傳階段。該階段將本周期內(nèi)的發(fā)送節(jié)點(diǎn)和中繼節(jié)點(diǎn)組成本周期內(nèi)的線性數(shù)據(jù)收集鏈,對(duì)鏈中的節(jié)點(diǎn)進(jìn)行階梯狀的休眠/喚醒調(diào)度,將數(shù)據(jù)上傳給匯聚節(jié)點(diǎn)。該階段的總長度為所有傳感器節(jié)點(diǎn)都需要進(jìn)行休眠/喚醒調(diào)度的時(shí)間,由于網(wǎng)絡(luò)中發(fā)送節(jié)點(diǎn)數(shù)量可變,若并不是所有節(jié)點(diǎn)都需要喚醒調(diào)度,則該階段在節(jié)點(diǎn)調(diào)度時(shí)間后會(huì)剩余一定的空閑時(shí)間,該時(shí)間內(nèi)所有節(jié)點(diǎn)都處于休眠狀態(tài)。
2.3 中繼節(jié)點(diǎn)選擇
由2.1節(jié)可知,當(dāng)兩相鄰發(fā)送節(jié)點(diǎn)間的距離大于dt時(shí),以最佳中繼轉(zhuǎn)發(fā)距離d0選擇中繼,能使數(shù)據(jù)以最少能耗在這兩個(gè)相鄰發(fā)送節(jié)點(diǎn)間傳輸。然而,一方面若一直以d0選擇中繼,極有可能會(huì)導(dǎo)致那些被選擇為中繼的節(jié)點(diǎn)的能量消耗過快,從而成為網(wǎng)絡(luò)的瓶頸;另一方面,并不能保證每個(gè)節(jié)點(diǎn)都以d0的距離分布。因此在相鄰兩發(fā)送節(jié)點(diǎn)間選擇中繼時(shí)需要設(shè)計(jì)中繼節(jié)點(diǎn)選擇算來并綜合考慮能量消耗和能量負(fù)載平衡。
首先計(jì)算選擇不同的中繼對(duì)數(shù)據(jù)傳輸能量消耗的影響。考慮節(jié)點(diǎn)A將數(shù)據(jù)傳輸給目的節(jié)點(diǎn)D的情形,若A在發(fā)送數(shù)據(jù)時(shí)需要選擇中繼,則在其0到2d0的距離范圍內(nèi)必須選擇中繼節(jié)點(diǎn),否則這一跳必然會(huì)多消耗能量。假設(shè)選擇的中繼R在距離A的x處,計(jì)算相比較于R在d0處的最少傳輸能量消耗,至少需要多消耗的能量,定義為ΔE,以下分兩種情況計(jì)算ΔE。
①若x ②若d0 同時(shí),利用鄰居節(jié)點(diǎn)剩余能量的均方差對(duì)節(jié)點(diǎn)的局部能量均衡進(jìn)行定量的計(jì)算,假設(shè)節(jié)點(diǎn)A在其0到2d0的距離范圍內(nèi)共有k個(gè)鄰居節(jié)點(diǎn),它們的剩余能量分別為E1,E2…Ek,節(jié)點(diǎn)A的剩余能量為E0,定義能量平衡因子φ如下: (6) 其中Ea為A及其鄰居節(jié)點(diǎn)的剩余能量的均值。φ越小,表示A及其鄰居節(jié)點(diǎn)的剩余能量的方差小,即它們的剩余能量與平均能量之間的波動(dòng)幅度就小,因此,它們之間的剩余能量就越均衡。 根據(jù)以上所述,當(dāng)節(jié)點(diǎn)A在進(jìn)行中繼節(jié)點(diǎn)選擇時(shí),需要綜合考慮選擇中繼節(jié)點(diǎn)對(duì)數(shù)據(jù)傳輸能耗和局部能量負(fù)載均衡的影響。設(shè)置能耗影響因子δ=ΔE2,通過δ對(duì)不同中繼選擇方式下的數(shù)據(jù)傳輸能耗進(jìn)行評(píng)估,并結(jié)合式(6),將δ和φ相加,利用δ+φ對(duì)中繼選擇的能耗影響和能量負(fù)載平衡進(jìn)行綜合評(píng)估。即: (7) ε綜合包含了中繼選擇的能耗和能量負(fù)載均衡的影響,并且將這兩者都從對(duì)理想值的波動(dòng)的角度展現(xiàn)出來,具有衡量的一致性,能夠有效的結(jié)合能耗影響和能量負(fù)載平衡這兩個(gè)角度,對(duì)中繼節(jié)點(diǎn)的選取做出良好的判斷。 對(duì)于某個(gè)單一節(jié)點(diǎn),當(dāng)在其數(shù)據(jù)發(fā)送方向范圍0到2d0的鄰居中進(jìn)行中繼節(jié)點(diǎn)選擇時(shí),其選擇算法總是選擇經(jīng)過轉(zhuǎn)發(fā)后ε最小的那個(gè)節(jié)點(diǎn)作為中繼節(jié)點(diǎn)。例如節(jié)點(diǎn)A在其2d0的距離內(nèi)選擇中繼時(shí),共有k個(gè)鄰居,A及其他們的目前能量分別為E0,E1,E2…Eu…Ek。假設(shè)選擇某個(gè)鄰居u,則A需要將數(shù)據(jù)傳輸給u,并假設(shè)u以最佳距離d0將數(shù)據(jù)轉(zhuǎn)發(fā)出去,因此,在選擇節(jié)點(diǎn)u作為中繼后,A及其鄰居節(jié)點(diǎn)剩余能量更新為E0-Et,E1,E2…(Eu-Er-Ed0)…Ek,其中Et為A消耗的發(fā)送能量,Er為接收數(shù)據(jù)消耗的能量,Ed0為u通過d0距離將數(shù)據(jù)轉(zhuǎn)發(fā)消耗的能量。根據(jù)剩余能量,可計(jì)算通過u作為中繼轉(zhuǎn)發(fā)后的局部能量均衡因子φu。同時(shí)根據(jù)A與u之間的距離,可以計(jì)算δu,因此可計(jì)算得通過最終的εu。通過對(duì)A鄰居的k個(gè)節(jié)點(diǎn)計(jì)算不同的ε,選擇具有最小的ε值的那個(gè)節(jié)點(diǎn)作為中繼節(jié)點(diǎn)。 在中繼選擇階段,設(shè)置中繼節(jié)點(diǎn)集Vr,設(shè)計(jì)中繼節(jié)點(diǎn)集Vr選擇算法?;舅枷霝?在相鄰的兩發(fā)送節(jié)點(diǎn)A、B之間的鏈路選擇中繼時(shí),從A節(jié)點(diǎn)開始,先在數(shù)據(jù)發(fā)送方向距離A2d0的距離范圍選擇中繼節(jié)點(diǎn),設(shè)為R,然后從R開始,在R、B之間的鏈路繼續(xù)執(zhí)行中繼節(jié)點(diǎn)集選擇算法。算法具體步驟為:①在初始階段,設(shè)置Vr為空,并且復(fù)制發(fā)送節(jié)點(diǎn)集Vs的節(jié)點(diǎn)到Vss;②遍歷節(jié)點(diǎn)集Vss。選擇兩個(gè)相鄰節(jié)點(diǎn)對(duì)(VssiVssj),并確定這兩個(gè)節(jié)點(diǎn)間的鏈路并沒有被選擇過。若不存在滿足目標(biāo)的相鄰節(jié)點(diǎn),則說明Vr選擇完畢,退出算法;③若|VssiVssj| 2.4 線性數(shù)據(jù)收集鏈節(jié)點(diǎn)階梯調(diào)度 節(jié)點(diǎn)集Vs+Vr內(nèi)的節(jié)點(diǎn)需要在數(shù)據(jù)上傳階段喚醒進(jìn)行數(shù)據(jù)傳輸,它們組成了本周期內(nèi)的線性數(shù)據(jù)收集鏈,數(shù)據(jù)從離匯聚節(jié)點(diǎn)最遠(yuǎn)端的節(jié)點(diǎn)單向流往匯聚節(jié)點(diǎn)。在數(shù)據(jù)收集鏈中,用層來表示各個(gè)節(jié)點(diǎn)間的關(guān)系,將離匯聚節(jié)點(diǎn)最近的節(jié)點(diǎn)層數(shù)設(shè)置為1,若節(jié)點(diǎn)n與匯聚節(jié)點(diǎn)之間有n-1個(gè)節(jié)點(diǎn),則其層數(shù)為n。 在線性數(shù)據(jù)收集鏈中,總是由最高層的節(jié)點(diǎn)先喚醒發(fā)送數(shù)據(jù)包,其余層次節(jié)點(diǎn)在接收到來自于比自己高層的節(jié)點(diǎn)數(shù)據(jù)包后,再將自己的數(shù)據(jù)放入該數(shù)據(jù)包并將其發(fā)送給與自己相鄰的低層節(jié)點(diǎn)。對(duì)于鏈中的某個(gè)節(jié)點(diǎn),只需要在屬于自己的數(shù)據(jù)收發(fā)時(shí)間內(nèi)喚醒,在其余的時(shí)間內(nèi)休眠。設(shè)置節(jié)點(diǎn)進(jìn)行數(shù)據(jù)收發(fā)的時(shí)間為T,將T分為兩部分,分別為接收時(shí)間RX和發(fā)送時(shí)間TX,T=RX+TX。RX時(shí)間段內(nèi)節(jié)點(diǎn)接收高層節(jié)點(diǎn)發(fā)送給自己的數(shù)據(jù),TX時(shí)間段內(nèi)將融合有自身數(shù)據(jù)的數(shù)據(jù)包發(fā)送給自己相鄰的低層節(jié)點(diǎn)。對(duì)于任意兩個(gè)相鄰的節(jié)點(diǎn)i和i-1,對(duì)應(yīng)于它們的層數(shù)分別為i和i-1層,設(shè)計(jì)它們的數(shù)據(jù)收發(fā)時(shí)間Ti與Ti-1相鄰,節(jié)點(diǎn)i的發(fā)送時(shí)間段TXi和節(jié)點(diǎn)i-1的接收時(shí)間段RXi-1重合,并且這兩者的時(shí)間段相同,TXi=RXi-1。為了保證節(jié)點(diǎn)在TX或者RX時(shí)間段內(nèi)能完整的收發(fā)最大的數(shù)據(jù)量,設(shè)置這兩段時(shí)間為數(shù)據(jù)包滿載荷下的一次數(shù)據(jù)發(fā)送時(shí)間。 圖3 節(jié)點(diǎn)階梯調(diào)度 因此,在線性數(shù)據(jù)收集鏈中,從最高層節(jié)點(diǎn)開始喚醒,其余節(jié)點(diǎn)根據(jù)所在層次進(jìn)行階梯狀的休眠/喚醒調(diào)度,直到數(shù)據(jù)遍歷每個(gè)節(jié)點(diǎn)到達(dá)匯聚節(jié)點(diǎn),節(jié)點(diǎn)階梯調(diào)度如圖3所示??梢?在此調(diào)度中,每個(gè)節(jié)點(diǎn)不但避免了數(shù)據(jù)在其他節(jié)點(diǎn)間傳輸時(shí)自己的空閑監(jiān)聽,而且避免了在屬于自己的數(shù)據(jù)收發(fā)時(shí)間段內(nèi)不必要的空閑監(jiān)聽,因此能量消耗達(dá)到最低。 3.1 實(shí)驗(yàn)環(huán)境 本文采用MATLAB仿真平臺(tái)進(jìn)行仿真實(shí)驗(yàn),傳感器拓?fù)浣Y(jié)構(gòu)為線性拓?fù)浣Y(jié)構(gòu),整個(gè)網(wǎng)絡(luò)長度為500 m,假設(shè)有N(實(shí)驗(yàn)中取4~20之間)個(gè)節(jié)點(diǎn),則相鄰傳感器節(jié)點(diǎn)間的距離為(500/N)m,匯聚節(jié)點(diǎn)位于線性結(jié)構(gòu)的一端。傳感器節(jié)點(diǎn)的發(fā)射功率可調(diào),在最大功率情況下能夠保證任意兩個(gè)相鄰節(jié)點(diǎn)之間能夠直接通信,節(jié)點(diǎn)的最大通信半徑為100 m。路徑衰減指數(shù)α=2,典型的無線電參數(shù)如表1所示,仿真將使用這些參數(shù),根據(jù)表中參數(shù)可以計(jì)算出對(duì)應(yīng)的最佳中繼轉(zhuǎn)發(fā)距離d0=100 m。同時(shí),設(shè)置傳感器節(jié)點(diǎn)初始能量為0.1 J,節(jié)點(diǎn)間發(fā)送一次滿載荷數(shù)據(jù)所需時(shí)間Tu=10 ms,在每個(gè)網(wǎng)絡(luò)周期,設(shè)置傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù)長度為L=300位。 表1 仿真實(shí)驗(yàn)系統(tǒng)參數(shù)取值 對(duì)于事件驅(qū)動(dòng)型網(wǎng)絡(luò),當(dāng)某節(jié)點(diǎn)所在處的事件發(fā)生時(shí),節(jié)點(diǎn)有數(shù)據(jù)需要發(fā)送。因此,定義網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的數(shù)據(jù)到達(dá)時(shí)間為它們所在處的事件發(fā)生時(shí)間,是指當(dāng)節(jié)點(diǎn)在本周期發(fā)送數(shù)據(jù)后,距離下一次數(shù)據(jù)發(fā)送所需要的時(shí)間,即需要幾個(gè)周期。網(wǎng)絡(luò)中各節(jié)點(diǎn)的數(shù)據(jù)到達(dá)服從泊松分布,這是一個(gè)泊松事件流,泊松事件流的等待時(shí)間服從負(fù)指數(shù)分布。負(fù)指數(shù)分布,即若隨機(jī)變量X的概率密度函數(shù)為: (8) 其中參數(shù)λ>0為常數(shù),則X服從參數(shù)為λ的負(fù)指數(shù)分布,E(X)=1/λ,λ表示單位時(shí)間內(nèi)某事件發(fā)生的次數(shù)。仿真中數(shù)據(jù)源采用的方式為:網(wǎng)絡(luò)中各節(jié)點(diǎn)的數(shù)據(jù)到達(dá)時(shí)間服從λ的負(fù)指數(shù)分布,數(shù)據(jù)到達(dá)時(shí)間的期望為1/λ,因此,可以通過調(diào)節(jié)λ的大小來改變節(jié)點(diǎn)數(shù)據(jù)到達(dá)率,即網(wǎng)絡(luò)流量的大小,并且這個(gè)網(wǎng)絡(luò)流量是服從指數(shù)分布的。 3.2 性能評(píng)價(jià)指標(biāo) 本文主要設(shè)定以下3個(gè)性能評(píng)價(jià)指標(biāo): ①網(wǎng)絡(luò)能量消耗。網(wǎng)絡(luò)能量消耗是指網(wǎng)絡(luò)在工作一定時(shí)間后各傳感器節(jié)點(diǎn)消耗的總能量和,反映了無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在運(yùn)行該協(xié)議進(jìn)行數(shù)據(jù)傳輸時(shí)的能量消耗情況,是衡量協(xié)議能耗的主要指標(biāo)。 ②網(wǎng)絡(luò)生命周期。網(wǎng)絡(luò)生命周期是指整個(gè)網(wǎng)絡(luò)從開始運(yùn)行到第一個(gè)傳感器節(jié)點(diǎn)能量耗盡所經(jīng)歷的時(shí)間,不僅衡量了協(xié)議的能耗,更進(jìn)一步的體現(xiàn)了協(xié)議對(duì)網(wǎng)絡(luò)能量負(fù)載均衡的影響。網(wǎng)絡(luò)擁有較長的生命周期,說明節(jié)點(diǎn)數(shù)據(jù)傳輸協(xié)議消耗的能量在節(jié)點(diǎn)間比較均勻的分布。由于網(wǎng)絡(luò)是周期性的工作的,因此在衡量網(wǎng)絡(luò)生命周期時(shí),以運(yùn)行的周期數(shù)(或者輪數(shù))來表示網(wǎng)絡(luò)從開始到第一個(gè)傳感器節(jié)點(diǎn)能量耗盡所經(jīng)歷的時(shí)間。 ③平均數(shù)據(jù)傳輸延遲。平均數(shù)據(jù)傳輸延遲是指網(wǎng)絡(luò)在一定工作時(shí)間內(nèi),各個(gè)傳感器節(jié)點(diǎn)的數(shù)據(jù)從產(chǎn)生到被匯聚節(jié)點(diǎn)接收所需要的平均時(shí)間。它反映了傳感器節(jié)點(diǎn)的數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)的延遲情況,是衡量協(xié)議對(duì)數(shù)據(jù)傳輸實(shí)時(shí)性影響的重要指標(biāo)。假設(shè)在某個(gè)周期Ti內(nèi),共有Kj個(gè)節(jié)點(diǎn)需要發(fā)送數(shù)據(jù),設(shè)節(jié)點(diǎn)j的數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn)所需時(shí)間為tj,則網(wǎng)絡(luò)在工作n個(gè)周期后節(jié)點(diǎn)平均數(shù)據(jù)傳輸延遲可表示為: 3.3 實(shí)驗(yàn)結(jié)果及分析 實(shí)驗(yàn)將SLDMAC協(xié)議與不選擇中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)的LDMAC協(xié)議以及DMAC協(xié)議進(jìn)行比較。首先比較運(yùn)行協(xié)議時(shí),網(wǎng)絡(luò)的能量消耗、生命周期以及數(shù)據(jù)傳輸延遲隨著網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)增加的變化。為了保證3個(gè)協(xié)議在運(yùn)行時(shí)網(wǎng)絡(luò)中不存在能量耗盡的節(jié)點(diǎn),取協(xié)議運(yùn)行時(shí)間為400個(gè)周期。網(wǎng)絡(luò)總長度為500 m,設(shè)計(jì)網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)從4到20逐漸增加,因而相鄰節(jié)點(diǎn)間距離從100 m開始逐漸減小。同時(shí),考慮一般的情況,為了驗(yàn)證協(xié)議在常規(guī)流量下的性能,假設(shè)網(wǎng)絡(luò)流量并不飽和但是事件發(fā)生率較高,取λ=0.3,即數(shù)據(jù)到達(dá)期望是3個(gè)周期。 圖4展示了網(wǎng)絡(luò)分別運(yùn)行3個(gè)協(xié)議時(shí),總能量消耗隨著節(jié)點(diǎn)個(gè)數(shù)增加的變化。從圖中可以看出,不管節(jié)點(diǎn)個(gè)數(shù)如何變化,SLDMAC相對(duì)于LDMAC能量消耗少,這是由于不管網(wǎng)絡(luò)情況如何,SLDMAC在每周期發(fā)送數(shù)據(jù)時(shí)合理的選擇了中繼,將全局能耗降低;當(dāng)節(jié)點(diǎn)個(gè)數(shù)較多時(shí),節(jié)點(diǎn)間距離變小,每個(gè)周期發(fā)送節(jié)點(diǎn)個(gè)數(shù)增加,因此需要中繼選擇的機(jī)會(huì)就變少,因此這兩者之間的能耗差距會(huì)變小。而相比于DMAC,SLDMAC消耗的能量也少,這有兩部分原因:一方面,DMAC將所有節(jié)點(diǎn)組成數(shù)據(jù)傳輸鏈,使得在每個(gè)周期數(shù)據(jù)傳輸時(shí)高于最高層發(fā)送節(jié)點(diǎn)層數(shù)的節(jié)點(diǎn)進(jìn)行無謂的空閑偵聽;另一方面,隨著節(jié)點(diǎn)個(gè)數(shù)增加,節(jié)點(diǎn)間距離逐漸小于最佳中繼轉(zhuǎn)發(fā)距離,DMAC傳輸?shù)臄?shù)據(jù)經(jīng)過網(wǎng)絡(luò)中節(jié)點(diǎn)會(huì)造成較大的相對(duì)于理想中繼轉(zhuǎn)發(fā)而多能耗的能量。而SLDMAC即避免了每個(gè)周期無關(guān)節(jié)點(diǎn)的空閑偵聽,又在數(shù)據(jù)傳輸時(shí)合理的選擇的中繼以減少相對(duì)于理想的中繼轉(zhuǎn)發(fā)所要多消耗的能量。隨著節(jié)點(diǎn)個(gè)數(shù)的增加,網(wǎng)絡(luò)中每個(gè)周期發(fā)送節(jié)點(diǎn)個(gè)數(shù)增加,3個(gè)協(xié)議的能耗都將增加。此時(shí)由于相鄰節(jié)點(diǎn)間的距離不斷減小,DMAC的能耗將大大增加,而LDMAC僅僅在發(fā)送節(jié)點(diǎn)間傳輸數(shù)據(jù),發(fā)送節(jié)點(diǎn)是隨機(jī)的,因此DMAC的能耗將逐漸超過LDMAC。所以,隨著節(jié)點(diǎn)個(gè)數(shù)的增加,DMAC的能耗將成為最大,并且與其他兩個(gè)協(xié)議的能耗差距將不斷增大,而SLDMAC的能耗始終為最小。 圖4 能耗與節(jié)點(diǎn)個(gè)數(shù)的關(guān)系 圖5展示了網(wǎng)絡(luò)分別運(yùn)行3個(gè)協(xié)議時(shí),網(wǎng)絡(luò)生命周期隨著節(jié)點(diǎn)個(gè)數(shù)增加的變化。從圖中可以看出,無論節(jié)點(diǎn)個(gè)數(shù)如何變化,SLDMAC總是相對(duì)于LDMAC和DMAC具有最長的網(wǎng)絡(luò)生命周期,并且波動(dòng)叫小。這是因?yàn)镾LDMAC一方面通過中繼節(jié)點(diǎn)選擇減少了數(shù)據(jù)傳輸時(shí)網(wǎng)絡(luò)的整體能量消耗,另一方面又在中繼節(jié)點(diǎn)選擇時(shí)考慮了節(jié)點(diǎn)能量負(fù)載平衡的思想,避免了選擇那些能量即將耗盡的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。而DMAC的數(shù)據(jù)傳輸需要經(jīng)過所有節(jié)點(diǎn),因此離匯聚節(jié)點(diǎn)最近的傳感器節(jié)點(diǎn)總是會(huì)消耗大量的能量而第一個(gè)耗盡,成為整個(gè)網(wǎng)絡(luò)的瓶頸,因此DMAC的網(wǎng)絡(luò)生命周期較短,并且當(dāng)節(jié)點(diǎn)個(gè)數(shù)增加時(shí),這種現(xiàn)象更為明顯。LDMAC由于在節(jié)點(diǎn)個(gè)數(shù)較少時(shí)消耗比DMAC多的能量,此時(shí)生命周期比DMAC短,但隨著節(jié)點(diǎn)個(gè)數(shù)增加,由于節(jié)點(diǎn)間距離的拉近和數(shù)據(jù)發(fā)送的隨機(jī)性,它的生命周期將介于上述兩協(xié)議之間。同時(shí),隨著節(jié)點(diǎn)個(gè)數(shù)的增加,線性網(wǎng)絡(luò)跳數(shù)增多,那些靠近匯聚節(jié)點(diǎn)的傳感器節(jié)點(diǎn)的能耗將逐漸成為網(wǎng)絡(luò)的瓶頸,因此3個(gè)協(xié)議下的網(wǎng)絡(luò)生命周期都逐漸減少。特別是DMAC,由于離匯聚節(jié)點(diǎn)最近的傳感器節(jié)點(diǎn)為整個(gè)網(wǎng)絡(luò)的瓶頸節(jié)點(diǎn),隨著網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)增加,其能耗將大大加劇,所以DMAC的網(wǎng)絡(luò)生命周期隨著節(jié)點(diǎn)個(gè)數(shù)的增加而大大降低。 圖5 生命周期與節(jié)點(diǎn)個(gè)數(shù)的關(guān)系 圖6展示了網(wǎng)絡(luò)分別運(yùn)行3個(gè)協(xié)議時(shí),數(shù)據(jù)傳輸延遲隨著節(jié)點(diǎn)個(gè)數(shù)增加的變化。從圖中可以看出,DMAC數(shù)據(jù)傳輸延遲最大,因?yàn)镈MAC進(jìn)行數(shù)據(jù)傳輸時(shí)需要經(jīng)過每一個(gè)低于最高層發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn)。而LDMAC只是在發(fā)送節(jié)點(diǎn)間進(jìn)數(shù)據(jù)傳輸,因此數(shù)據(jù)傳輸延遲最小。SLDMAC由于根據(jù)發(fā)送節(jié)點(diǎn)的情況選擇了中繼節(jié)點(diǎn),數(shù)據(jù)傳輸在發(fā)送節(jié)點(diǎn)和中繼節(jié)點(diǎn)集中進(jìn)行,不需要經(jīng)過所有節(jié)點(diǎn),因而它的數(shù)據(jù)傳輸延遲介于DMAC與LDMAC之間。當(dāng)節(jié)點(diǎn)個(gè)數(shù)小于7時(shí),節(jié)點(diǎn)間距離大于或相近于最佳轉(zhuǎn)發(fā)距離,因此發(fā)送節(jié)點(diǎn)間的所有節(jié)點(diǎn)都會(huì)被選擇為中繼,這時(shí)SLDMAC與DMAC的數(shù)據(jù)傳輸延遲相同。隨著網(wǎng)絡(luò)中節(jié)點(diǎn)個(gè)數(shù)的增加,發(fā)送節(jié)點(diǎn)的個(gè)數(shù)增加,3個(gè)協(xié)議數(shù)據(jù)傳輸?shù)难舆t都將增大,特別是DMAC,由于它數(shù)據(jù)傳輸時(shí)需要經(jīng)過每個(gè)低于最高層發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn),因此其數(shù)據(jù)延遲隨節(jié)點(diǎn)增加的速度要比另兩個(gè)協(xié)議的要快。 圖6 數(shù)據(jù)傳輸延遲與節(jié)點(diǎn)個(gè)數(shù)的關(guān)系 下面比較運(yùn)行3個(gè)協(xié)議時(shí),網(wǎng)絡(luò)的能量消耗、生命周期以及數(shù)據(jù)傳輸延遲隨著節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的變化。節(jié)點(diǎn)數(shù)據(jù)平均到達(dá)時(shí)間表達(dá)式為1/λ,考慮節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間從1周期到10周期逐一增加的情況,此時(shí)即λ從1不等分的減小到0.1。根據(jù)網(wǎng)絡(luò)長度為500 m,節(jié)點(diǎn)最佳轉(zhuǎn)發(fā)距離d0=100 m,設(shè)計(jì)網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù)為10的情況,相鄰節(jié)點(diǎn)間距離為50 m。 圖7展示了網(wǎng)絡(luò)在運(yùn)行400周期時(shí)網(wǎng)絡(luò)能量消耗與節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的關(guān)系。從圖中可以看出,SLDMAC在節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間變化的情況下能耗比DMAC和LDMAC都要低。隨著節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的增加,節(jié)點(diǎn)數(shù)據(jù)流量減小,3個(gè)協(xié)議下網(wǎng)絡(luò)能耗都隨著降低,但是SLDMAC相比較于其他兩個(gè)協(xié)議的能耗減少的更快,這是因?yàn)楫?dāng)發(fā)送節(jié)點(diǎn)個(gè)數(shù)少時(shí),SLDMAC有更多的機(jī)會(huì)能夠通過中繼選擇來降低數(shù)據(jù)傳輸?shù)哪芎?而LDMAC將數(shù)據(jù)在發(fā)送節(jié)點(diǎn)間之間傳輸和DMAC將數(shù)據(jù)通過低于最高層發(fā)送節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)傳輸以及高于最高層發(fā)送節(jié)點(diǎn)的空閑偵聽都會(huì)消耗更多的能量。 圖7 能耗與節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的關(guān)系 圖8展示了網(wǎng)絡(luò)生命周期與節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的關(guān)系。從圖中可以看出,不管節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間如何變化,SLDMAC比其余兩個(gè)協(xié)議有更長的網(wǎng)絡(luò)生命周期。當(dāng)平均數(shù)據(jù)到達(dá)時(shí)間較小時(shí),這時(shí)候網(wǎng)絡(luò)數(shù)據(jù)流量接近于飽和狀態(tài),SLDMAC選擇中繼的機(jī)會(huì)較少,因此它和LDMAC、DMAC的性能較為接近。隨著平均到達(dá)時(shí)間的增加,網(wǎng)絡(luò)數(shù)據(jù)流量降低,3個(gè)協(xié)議下的網(wǎng)絡(luò)生命周期都增加,此時(shí),在每個(gè)周期,SLDMAC就有很多機(jī)會(huì)能夠根據(jù)發(fā)送節(jié)點(diǎn)的情況來選擇中繼減少數(shù)據(jù)傳輸?shù)哪芎暮途夤?jié)點(diǎn)間的能量,因此它的性能有著很大的提升,而DMAC將受限于離匯聚節(jié)點(diǎn)最近的傳感器節(jié)點(diǎn)的能量瓶頸,LDMAC受限于遠(yuǎn)距離間發(fā)送節(jié)點(diǎn)之間數(shù)據(jù)傳輸造成的過多的能耗,因此此時(shí)SLDMAC的性能將于LDMAC和DMAC提升的更快。 圖9展示了數(shù)據(jù)傳輸延遲與節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的關(guān)系。不管節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間如何變化,由于DMAC的數(shù)據(jù)傳輸需要經(jīng)過每一個(gè)低于最高層發(fā)送節(jié)點(diǎn)的節(jié)點(diǎn),因此其傳輸延遲最大;SLDMAC由于選擇了中繼,數(shù)據(jù)延遲將大于LDMAC。當(dāng)節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間增加時(shí),每個(gè)周期內(nèi)發(fā)送節(jié)點(diǎn)減少,3個(gè)協(xié)議的數(shù)據(jù)傳輸延遲都會(huì)減少,而由于LDMAC是直接在發(fā)送節(jié)點(diǎn)間進(jìn)行數(shù)據(jù)傳輸,因此其數(shù)據(jù)傳輸延遲減少的最明顯。 圖8 生命周期與節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的關(guān)系 圖9 數(shù)據(jù)傳輸延遲與節(jié)點(diǎn)平均數(shù)據(jù)到達(dá)時(shí)間的關(guān)系 線性無線傳感器網(wǎng)絡(luò)具有非常廣泛的實(shí)際應(yīng)用場(chǎng)景,本文根據(jù)線性無線傳感器網(wǎng)絡(luò)的特性,設(shè)計(jì)了一個(gè)基于中繼節(jié)點(diǎn)的數(shù)據(jù)搜集MAC協(xié)議SLDMAC。該協(xié)議考慮了節(jié)點(diǎn)向SINK節(jié)點(diǎn)傳輸數(shù)據(jù)時(shí)如何選擇最優(yōu)的中繼節(jié)點(diǎn)以及階梯調(diào)度節(jié)點(diǎn)休眠狀態(tài),提高傳感器節(jié)點(diǎn)的能效以及節(jié)點(diǎn)之間的能量平衡,從而延長傳感器網(wǎng)絡(luò)的生存期。中繼節(jié)點(diǎn)選擇過程中定義了兩個(gè)參數(shù):節(jié)點(diǎn)能耗因子和節(jié)點(diǎn)之間剩余能量平衡因子,選擇中繼節(jié)點(diǎn)時(shí)綜合評(píng)估這兩個(gè)參數(shù)。我們?cè)贛ATLAB平臺(tái)下對(duì)SLDMAC協(xié)議進(jìn)行仿真,與DMAC、LDMAC協(xié)議進(jìn)行比較。實(shí)驗(yàn)結(jié)果表明,SLDMAC協(xié)議在線性無線傳感器網(wǎng)絡(luò)中具有更好的性能表現(xiàn),更加適合線性無線傳感器網(wǎng)絡(luò)。 [1] 馬祖長,孫怡寧,梅濤.無線傳感器網(wǎng)絡(luò)綜述[J].通信學(xué)報(bào),2004(4):114-124. [2]洪鋒,褚紅偉,金宗科,等.無線傳感器網(wǎng)絡(luò)應(yīng)用系統(tǒng)最新進(jìn)展綜述[J].計(jì)算機(jī)研究與發(fā)展,2010(S2):81-87. [3]李建中,高宏.無線傳感器網(wǎng)絡(luò)的研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2008(1):1-15. [4]Ye Wei,Heidemann J,Estrin D.Medium Access Control with Coordinated Adaptive Sleeping for Wireless Sensor Networks[J].IEEE/ACM Transactions on Networking,2004,12(3):493-506. [5]Langendoen K Dam T V.An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks[C]//ACM Sensys,2003. [6]Lu G,Krishnamachari B,Raghavendra C S.An Adaptive Energy-Efficient and Low-Latency MAC for Tree-Based Data Gathering in Sensor Networks[J].Wireless Communications and Mobile Computing,2007,7(7):863-875. [7]趙增華,李騰飛,金泉,等.基于線性異構(gòu)無線傳感器網(wǎng)絡(luò)的協(xié)同可靠數(shù)據(jù)傳輸[J].計(jì)算機(jī)研究與發(fā)展,2010,47(z2):205-208. [8]Marco Zimmerling,Waltenegus Dargie,Johnathan M Reason.Localized Power-Aware Routing in Linear Wireless Sensor Networks[C]//ACM,2008:24-33. [9]蹇強(qiáng),龔正虎,朱培棟,等.無線傳感器網(wǎng)絡(luò)MAC協(xié)議研究進(jìn)展[J].軟件學(xué)報(bào),2008,19(2):389-403. [10]Sha Liu,Fan Kaiwei,Prasun Sinha.CMAC:An Energy-Efficient MAC Layer Protocol Using Convergent Packet Forwarding for Wireless Sensor Networks[J].ACM Transactions on Sensor Networks(TOSN),2009,5(4):29. [11]李哲濤,朱更明,王志強(qiáng),等.低占空比、低碰撞的異步無線傳感器網(wǎng)絡(luò)MAC協(xié)議[J].通信學(xué)報(bào),2013,(10):9-16. [12]胡玉鵬,林亞平,周四望,等.面向異步通信機(jī)制的無線傳感器網(wǎng)絡(luò)及其MAC協(xié)議研究[J].計(jì)算機(jī)學(xué)報(bào),2011,34(8):1463-1477. [13]胥楚貴,鄧曉衡,劉持標(biāo),等.AGQ-MAC:無線傳感器網(wǎng)絡(luò)中基于Grid Quorum的異步低占空比MAC協(xié)議[J].小型微型計(jì)算機(jī)系統(tǒng),2013,(10):2383-2387. [14]馬濤,單洪,陳娟.層次無線傳感器網(wǎng)絡(luò)中骨干層MAC協(xié)議設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2013,25(10):1452-1457. [15]劉云璐,蒲菊華,方維維,等.一種無線傳感器網(wǎng)絡(luò)MAC協(xié)議優(yōu)化算法[J].計(jì)算機(jī)學(xué)報(bào),2012,35(3):529-539. [16]唐盛禹,鄭國強(qiáng).一種基于空間相關(guān)性的無線傳感器網(wǎng)絡(luò)MAC協(xié)議[J].傳感技術(shù)學(xué)報(bào),2011,24(5):758-763. [17]Zhao Y Z,Ma M,Miao C Y,et al.An Energy-Efficient and Low-Latency MAC Protocol with Adaptive Scheduling for Multi-Hop Wireless Sensor Networks[J].Computer Communications,2010,33(12):1452-1461. [18]Mohammad A,Matsumoto M,Sato T.An Intelligent Hybrid MAC with Traffic-Differentiation-Based QoS for Wireless Sensor Networks[J].IEEE Sensors Journal,2013,13(6):2391-2399. 戴國勇(1983-),男,講師,博士研究生,主要研究方向是無線傳感器網(wǎng)絡(luò)、網(wǎng)絡(luò)安全等; 苗春雨(1978-),男,副教授,博士研究生,主要研究方向是無線傳感器網(wǎng)絡(luò)、可信計(jì)算等; 陳慶章(1956-),男,教授,博士生導(dǎo)師,主要研究方向是無線傳感器網(wǎng)絡(luò)、分布式處理與協(xié)同工作等,qzchen@zjut.edu.cn。 AMACProtocolforDataGatheringinLinearWirelessSensorNetworkBasedonSelectiveRelayNodes* DAIGuoyong1,2,MIAOChunyu1,MAOKeji1,WANGKai1,CHENQingzhang1* (1.College of Computer Science and Technology,Zhejiang University of Technology,Hangzhou 310023,China;2.College of Information Science and Technology,Zhejiang Shuren University,Hangzhou 310014,China) Medium access control(MAC)protocol is of paramount importance for energy efficiency in wireless sensor networks.An energy efficient MAC protocol SLDMAC is designed for data gathering in linear wireless sensor networks.In order to enhance the performance,when a source node transmits data to the Sink,proper relay nodes are selected for forwarding data according to the energy consumption factor of individual node and residual energy balance factor.Some simulation experiments are conducted and the results show that,SLDMAC provides better energy efficiency and long lifetime than the existing DMAC protocol. WSN;linear topology;MAC protocol;low-energy consumption;relay nodes 項(xiàng)目來源:國家自然科學(xué)基金面上項(xiàng)目(61379023);浙江省自然科學(xué)基金項(xiàng)目(LY12F02036);浙江省大學(xué)生科技創(chuàng)新活動(dòng)計(jì)劃(新苗人才計(jì)劃)項(xiàng)目(2013R403064) 2014-04-03修改日期:2014-06-07 10.3969/j.issn.1004-1699.2014.07.016 TN915 :A :1004-1699(2014)07-0939-093 仿真實(shí)驗(yàn)及分析
4 結(jié)論