專利名稱:一種基于無線傳感器網(wǎng)絡(luò)的混合機制mac協(xié)議通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種基于無線傳感器網(wǎng)絡(luò)的混合機制MAC協(xié)議通信方法,屬于無線通信網(wǎng)絡(luò)領(lǐng)域。
背景技術(shù):
介質(zhì)訪問控制(Media Access Control, MAC)協(xié)議處于無線傳感器網(wǎng)絡(luò)協(xié)議的底層部分,決定無線信道的使用方式,直接影響無線資源的使用效率、網(wǎng)絡(luò)吞吐量和時延等重要性能,是保證無線傳感器網(wǎng)絡(luò)高效通信的關(guān) 鍵網(wǎng)絡(luò)協(xié)議之一。無線傳感器網(wǎng)絡(luò)的功能是由眾多節(jié)點協(xié)作實現(xiàn)的,在局部范圍需要MAC協(xié)議協(xié)調(diào)節(jié)點間的無線信道分配,在整個網(wǎng)絡(luò)范圍內(nèi)需要路由協(xié)議選擇通信路徑。從通信網(wǎng)絡(luò)看,無線傳感器網(wǎng)絡(luò)是ー種特定的自組織網(wǎng)絡(luò)。無線傳感器網(wǎng)絡(luò)的MAC協(xié)議設(shè)計存在著自組織網(wǎng)絡(luò)中的共性問題,同時,又具有節(jié)點資源受限、網(wǎng)絡(luò)負載低及業(yè)務(wù)流的方向性相對固定等特殊性。因此,為無線自組織網(wǎng)絡(luò)設(shè)計的MAC協(xié)議并不能簡單地直接用于無線傳感器網(wǎng)絡(luò),無線傳感器網(wǎng)絡(luò)的MAC協(xié)議設(shè)計面臨著新的挑戰(zhàn),需要重點考慮以下幾方面的問題。I節(jié)點資源受限
⑴節(jié)點能量的限制無線傳感器網(wǎng)絡(luò)一般采用電池供電,并且工作于無人職守的環(huán)境中,無法更換電池或補充能源。所以,節(jié)能成為無線傳感器網(wǎng)絡(luò)設(shè)計的重要目標(biāo),需要在滿足應(yīng)用要求的前提下盡可能延長網(wǎng)絡(luò)的壽命。<ヵ節(jié)點的計算和存儲能力限制受體積、成本等因素的影響,無線傳感器節(jié)點的計算和存儲能力有限,這就要求無線傳感器網(wǎng)絡(luò)的MAC協(xié)議設(shè)計要盡可能簡單,減少計算和存儲量。2多跳信道共享
無線傳感器網(wǎng)絡(luò)的信道共享方式為多跳共享方式,源節(jié)點通信覆蓋范圍外的節(jié)點不受源節(jié)點發(fā)送數(shù)據(jù)的影響,它們也可以發(fā)送數(shù)據(jù)信息,這也稱為信道的空間復(fù)用方式。信道共享提高了頻譜的利用率,増加了網(wǎng)絡(luò)的呑吐量,但也帶來了以下的問題
⑴消息的碰撞;⑵隱藏和暴露終端問題;(31串音問題。3業(yè)務(wù)流的特殊性
無線傳感器網(wǎng)絡(luò)主要面向監(jiān)測類的應(yīng)用,其業(yè)務(wù)特征與無線自組織網(wǎng)絡(luò)相比,有以下特點。m業(yè)務(wù)單一、業(yè)務(wù)量??;⑵業(yè)務(wù)流向具有方向性;〖3)業(yè)務(wù)分布在時間和空間上的差異。4拓撲的動態(tài)適應(yīng)性
無線傳感器網(wǎng)絡(luò)的規(guī)模龐大,網(wǎng)絡(luò)是自組織的,由于節(jié)點的移動、新節(jié)點加入、節(jié)點故障或死亡、鏈路故障等,易造成網(wǎng)絡(luò)拓撲結(jié)構(gòu)的動態(tài)性變化。因此,無線傳感器網(wǎng)絡(luò)的MAC協(xié)議必須具備可擴展性、分布性和自組織性,能夠適應(yīng)拓撲的動態(tài)性。
由于受到以上因素的影響,無線傳感器網(wǎng)絡(luò)MAC協(xié)議與傳統(tǒng)無線網(wǎng)絡(luò)關(guān)注的因素正好相反。傳統(tǒng)無線網(wǎng)絡(luò)的MAC協(xié)議設(shè)計的重點目標(biāo)是提高節(jié)點使用帶寬的公平性、帶寬利用率及網(wǎng)絡(luò)的實時性,而無線傳感器網(wǎng)絡(luò)MAC協(xié)議的設(shè)計把能量有效性放在首位,其次才考慮協(xié)議的可擴展性、延時、信道利用率、呑吐率、適應(yīng)性等。針對無線傳感器網(wǎng)絡(luò)的不同應(yīng)用,目前研究人員提出了多種不同機制的MAC協(xié)議。包括基于競爭的MAC協(xié)議、基于調(diào)度的MAC協(xié)議及競爭和基于混合機制的MAC協(xié)議。基于競爭類的MAC協(xié)議都是隨機接入的,當(dāng)節(jié)點有數(shù)據(jù)發(fā)送請求時,通過競爭的方式占用無線信道,當(dāng)數(shù)據(jù)發(fā)生沖突時,按照某種策略重新發(fā)送數(shù)據(jù),直到數(shù)據(jù)發(fā)送成功或放棄數(shù)據(jù)的發(fā)送。典型的基于競爭的MAC協(xié)議有S-MAC、T-MAC, AS-MAC協(xié)議等。這類協(xié)議不需要網(wǎng)絡(luò)節(jié)點嚴(yán)格的時間同步,具有執(zhí)行簡單、擴展性好及適應(yīng)拓撲變化能力強等優(yōu)點;但這類協(xié)議的缺點也很明顯,隨機競爭容易產(chǎn)生消息的碰撞,造成能量的浪費?;谡{(diào)度的MAC協(xié)議就是預(yù)先為每個節(jié)點分配用于發(fā)送或接收數(shù)據(jù)的獨立時間片,而在其它時間段節(jié)點進入睡眠狀態(tài)?;谡{(diào)度的MAC協(xié)議的主要優(yōu)點有以下幾個方面避免了競爭機制中的消息碰撞重傳問題;不存在節(jié)點競爭信道的開銷,因此,減少了數(shù)據(jù)傳輸過程中的控制開銷;節(jié)點接入信道的方式是確定性的,因此,對于要求實時服務(wù)的應(yīng)用可以提供確定上限的時延;節(jié)點空閑監(jiān)聽的時間大大減少。但這類協(xié)議也存在如下的缺點網(wǎng)絡(luò)節(jié)點之間需要嚴(yán)格的時間同步;當(dāng)新節(jié)點加入或舊節(jié)點失效時,很難調(diào)整MAC協(xié)議時間幀的大小和時間片的分配,可擴展性較差;對節(jié)點移動、節(jié)點失效引起的網(wǎng)絡(luò)拓撲變化的適應(yīng)性較差;對于業(yè)務(wù)量的變化不敏感。但由于基于調(diào)度的MAC協(xié)議的固有節(jié)能特性,不少研究者針對TDMA協(xié)議的不足,同時結(jié)合具體的無線傳感器網(wǎng)絡(luò)應(yīng)用,提出了多種基于調(diào)度的無線傳感器網(wǎng)絡(luò)MAC協(xié)議。典型的MAC協(xié)議有LMAC協(xié)議、TRAMA協(xié)議、DMAC協(xié)議等?;诟偁幍腗AC協(xié)議和基于調(diào)度的MAC協(xié)議各有其應(yīng)用的場合和優(yōu)缺點,基于競爭的MAC協(xié)議具有適應(yīng)網(wǎng)絡(luò)變化能力強的優(yōu)點,工作方式靈活,節(jié)點間無需精確的同歩,但它的最大缺陷在于節(jié)點因數(shù)據(jù)傳遞沖突的能量消耗通常比較大。而基于調(diào)度機制的MAC 協(xié)議,解決了數(shù)據(jù)傳遞的沖突問題,但適應(yīng)網(wǎng)絡(luò)變化的能力差。為了利用兩種協(xié)議的優(yōu)點,研究人員提出了采用混合機制的MAC協(xié)議。來提高網(wǎng)絡(luò)的性能。ZMAC協(xié)議是典型的基于混合機制的MAC協(xié)議,運用CSMA作為基本機制,在競爭增大時使用TDMA機制來避免信道沖突。ZMAC協(xié)議將競爭和調(diào)度機制相結(jié)合,既降低了節(jié)點發(fā)送數(shù)據(jù)時的沖突發(fā)生概率,又提高了協(xié)議對網(wǎng)絡(luò)變化的適應(yīng)性,同時對節(jié)點同步的要求大大降低了,井能提供均衡的網(wǎng)絡(luò)性能。但ZMAC協(xié)議需要為每個節(jié)點分配ー個擁有時隙,實現(xiàn)復(fù)雜,這又限制了 ZMAC協(xié)議的應(yīng)用。無線傳感器網(wǎng)絡(luò)能量有限的特點,決定了 MAC協(xié)議的設(shè)計必須以節(jié)能為主要目標(biāo)。在基于競爭類的MAC協(xié)議如S-MAC采用多種節(jié)能措施節(jié)省能量,其中周期休眠減少空閑偵聽的機制具有顯著的節(jié)能效果,使得S-MAC協(xié)議的能效性得到了顯著的提高,但S-MAC對時延敏感的業(yè)務(wù)具有的延遲影響是無法克服的;而在基于調(diào)度機制的MAC協(xié)議如TRAMA,每個節(jié)點僅在屬于自己的時隙收發(fā)數(shù)據(jù),在其它時隙處于睡眠狀態(tài),有效地避免了沖突,但節(jié)點間的時間同步、時隙分配算法及對網(wǎng)絡(luò)拓撲動態(tài)變化的適應(yīng)性差等問題使得這類協(xié)議的應(yīng)用受到限制,同時也不能滿足網(wǎng)絡(luò)對時延敏感業(yè)務(wù)的應(yīng)用要求;結(jié)合競爭和調(diào)度優(yōu)點所提出的混合機制MAC協(xié)議如Z-MAC僅是放寬了對節(jié)點間同步的要求、對網(wǎng)絡(luò)變化的適應(yīng)性適當(dāng)增強,但復(fù)雜性增加了,數(shù)據(jù)傳遞的時延性能并沒有實質(zhì)改善,并且增加了控制開銷。
發(fā)明內(nèi)容
本發(fā)明的目的是解決多跳無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)傳遞時延與能耗的矛盾問題。本發(fā)明為解決上述技術(shù)問題而提供ー種基于無線傳感器網(wǎng)絡(luò)的混合機制MAC協(xié)議通信方法,該方法的具體步驟如下
0.將節(jié)點的時間軸分為周期性的預(yù)約時段和數(shù)據(jù)時段,預(yù)約時段分為若干短的預(yù)約時隙,數(shù)據(jù)時段分為若干短的數(shù)據(jù)傳遞時隙;
2).根據(jù)上層協(xié)議和無線傳感器網(wǎng)絡(luò)的同步算法,更新節(jié)點ー跳鄰居節(jié)點列表,并使它與其兩跳以內(nèi)的鄰居節(jié)點之間時間同步;
3).每個節(jié)點隨機選擇ー個預(yù)約時隙作為節(jié)點的擁有時隙,在節(jié)點的擁有時隙到來時 才開始對數(shù)據(jù)時隙的預(yù)約,并具有高優(yōu)先級,在每個預(yù)約時隙到來時,節(jié)點根據(jù)其業(yè)務(wù)到達情況、業(yè)務(wù)特征和激活偵聽或發(fā)送預(yù)約消息RM的結(jié)果,實現(xiàn)對數(shù)據(jù)時段的不同數(shù)據(jù)時隙的預(yù)約;
4).節(jié)點根據(jù)在預(yù)約時段對各個數(shù)據(jù)時隙的預(yù)約情況決定在每個數(shù)據(jù)時隙到來時是否激活喚醒,僅在預(yù)約的數(shù)據(jù)時隙到來時激活偵聽,并基于載波偵聽的結(jié)果,執(zhí)行基于RTS/CTS/DATA/ACK的數(shù)據(jù)發(fā)送和接收操作,或者睡眠直至本數(shù)據(jù)時隙結(jié)束,完成數(shù)據(jù)的傳遞。所述的步驟I)具體包括如下步驟
根據(jù)網(wǎng)絡(luò)應(yīng)用要求和業(yè)務(wù)特征,采用無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)協(xié)議將節(jié)點的周期エ作時間、每周期的預(yù)約時段時間長度、每周期的數(shù)據(jù)傳遞時段的時間長度、每個短的預(yù)約時隙的時間長度、每個短的數(shù)據(jù)時隙的時間長度、每個時隙的載波偵聽的最大窗ロ時間長度參數(shù)分發(fā)給所有節(jié)點,并建立一跳的鄰居節(jié)點記錄表;
根據(jù)節(jié)點的工作參數(shù),設(shè)置節(jié)點的周期工作時間、以及每個周期的周期性的時隙預(yù)約時段時間和數(shù)據(jù)傳遞時段時間,并將時隙預(yù)約時段分為若干短的預(yù)約時隙,數(shù)據(jù)傳遞時段 分為若干短的數(shù)據(jù)傳遞時隙;
設(shè)置節(jié)點按統(tǒng)ー的時間啟動開始工作。所述的步驟2)的具體步驟包括
利用無線傳感器網(wǎng)絡(luò)的同步算法或采用S-MAC協(xié)議的通告同步報文機制使兩跳的鄰居節(jié)點之間保持同步;
利用上層協(xié)議和在通告同步報文時采用捎帶機制,更新節(jié)點的一跳鄰居節(jié)點記錄表。所述的步驟3)的具體步驟如下
1.設(shè)置預(yù)約時隙個數(shù)計數(shù)器A等于I,將表示業(yè)務(wù)數(shù)據(jù)時延敏感度的TL的缺省值設(shè)置為0,井隨機從#個預(yù)約時隙中選擇ー個作為節(jié)點的擁有時隙;
2.判斷當(dāng)前是否有業(yè)務(wù)數(shù)據(jù)需要發(fā)送,若節(jié)點有業(yè)務(wù)數(shù)據(jù)需要發(fā)送,則根據(jù)所要發(fā)送業(yè)務(wù)數(shù)據(jù)對時延敏感度的要求高低設(shè)置TL的值,若節(jié)點沒有業(yè)務(wù)數(shù)據(jù)需要發(fā)送,則按步驟4執(zhí)行;
3.節(jié)點在當(dāng)前預(yù)約時隙激活偵聽,若TL=H,則節(jié)點在當(dāng)前的預(yù)約時隙激活喚醒后立即發(fā)送預(yù)約消息RM,其中包含TL,并在發(fā)送預(yù)約消息RM后將節(jié)點的TL設(shè)置為0,將節(jié)點在所預(yù)約的數(shù)據(jù)時隙設(shè)置為數(shù)據(jù)發(fā)送節(jié)點,若TL=L,且當(dāng)前預(yù)約時隙是節(jié)點的擁有時隙,節(jié)點在當(dāng)前預(yù)約時隙激活喚醒后先在[O,Tcs/2\時間內(nèi)隨機偵聽載波一定時間,在偵聽載波結(jié)束后,若信道空閑則立即發(fā)送包含TL信息的預(yù)約消息RM,并在發(fā)送RM后節(jié)點將TL設(shè)置為O,將節(jié)點在所預(yù)約的數(shù)據(jù)時隙設(shè)置為數(shù)據(jù)發(fā)送節(jié)點,否則,若信道忙,則節(jié)點取消發(fā)送預(yù)約消息的企圖,繼續(xù)偵聽載波并按步驟4執(zhí)行,若TL=L,且當(dāng)前預(yù)約時隙的編號小于節(jié)點的擁有時隙編號,取消發(fā)送預(yù)約消息,進入步驟4,若TL=L,且當(dāng)前預(yù)約時隙的編號大于節(jié)點的擁有時隙編號,節(jié)點在當(dāng)前預(yù)約時隙激活喚醒后先在[7 /2,7 ]時間內(nèi)隨機偵聽載波一定時間,在偵聽載波結(jié)束后,若信道空閑,則立即發(fā)送包含TL信息的預(yù)約消息RM,并在發(fā)送預(yù)約消息RM后節(jié)點將TL為O,將節(jié)點在所預(yù)約的數(shù)據(jù)時隙設(shè)置為數(shù)據(jù)發(fā)送節(jié)點,否則,節(jié)點取消發(fā)送預(yù)約消息,繼續(xù)偵聽載波進入步驟4 ;
4.預(yù)約時隙到來時沒有業(yè)務(wù)數(shù)據(jù)需要發(fā)送的節(jié)點,即TL等于O,則節(jié)點激活喚醒后先執(zhí)行偵聽載波Tcs的時間,若在Tcs時間內(nèi)節(jié)點偵聽到預(yù)約信息RM,且它是預(yù)約的目的接收節(jié)點,則首先從預(yù)約信息RM中提取出預(yù)約的數(shù)據(jù)時隙編號和TL,將節(jié)點在預(yù)約的數(shù)據(jù)接收 時隙設(shè)置為預(yù)約數(shù)據(jù)接收時隙,井根據(jù)預(yù)約消息中的TL設(shè)置節(jié)點當(dāng)前的TL,若預(yù)約信息RM中包含的TL為H,則將設(shè)置節(jié)點的TL為H,并設(shè)置節(jié)點下一跳的預(yù)約數(shù)據(jù)時隙為DSLOT_N+1,否則不進行任何設(shè)置,然后節(jié)點進入休眠狀態(tài)直至本預(yù)約時隙結(jié)束;若節(jié)點在Tcs時間內(nèi)偵聽到發(fā)生碰撞的消息,無法識別,則設(shè)置節(jié)點在本周期數(shù)據(jù)時段的每個數(shù)據(jù)時隙都為預(yù)約接收數(shù)據(jù)時隙,然后節(jié)點進入休眠狀態(tài)直至本預(yù)約時隙結(jié)束;若節(jié)點在ら時間內(nèi)沒有偵聽到任何消息,即信道空閑,則在Tcs時間結(jié)束后節(jié)點進入休眠狀態(tài)直至本預(yù)約時隙結(jié)束;
5.更新A等于A加1,重復(fù)執(zhí)行步驟2、步驟3、步驟4,直至本周期預(yù)約時段的#個預(yù)約時隙結(jié)束,節(jié)點完成預(yù)約時段的數(shù)據(jù)時隙預(yù)約,進入數(shù)據(jù)時段。所述的步驟4)的具體步驟如下
a)設(shè)置數(shù)據(jù)時隙個數(shù)計數(shù)器《等于I;
b)節(jié)點的激活喚醒若當(dāng)前數(shù)據(jù)時隙是節(jié)點在預(yù)約時段預(yù)約的發(fā)送數(shù)據(jù)時隙,則節(jié)點激活喚醒,并在
時間內(nèi)隨機設(shè)置節(jié)點的偵聽時間,偵聽結(jié)束后轉(zhuǎn)向執(zhí)行步驟C),若當(dāng)前數(shù)據(jù)時隙是節(jié)點在預(yù)約時段預(yù)約的接收數(shù)據(jù)時隙,則節(jié)點激活喚醒后處于偵聽狀態(tài),并轉(zhuǎn)向執(zhí)行步驟d),若當(dāng)前數(shù)據(jù)時隙在預(yù)約時段沒有被預(yù)約,則節(jié)點處于休眠狀態(tài),直至當(dāng)前數(shù)據(jù)時隙結(jié)束,然后轉(zhuǎn)向執(zhí)行步驟e);
c)節(jié)點發(fā)送數(shù)據(jù)若偵聽信道空閑,則立即發(fā)送RTS控制消息,并在接收到CTS消息后開始發(fā)送數(shù)據(jù)DATA,直至發(fā)送數(shù)據(jù)DATA結(jié)束,收到ACK確認消息,節(jié)點進入休眠狀態(tài),直至當(dāng)前數(shù)據(jù)時隙結(jié)束,然后執(zhí)行步驟e),若偵聽信道忙,則轉(zhuǎn)向執(zhí)行步驟d);
d)節(jié)點接收數(shù)據(jù)若節(jié)點在Tcs時間內(nèi)偵聽到RTS消息,則立即發(fā)送CTS應(yīng)答消息,并等待接收數(shù)據(jù)DATA直至完成數(shù)據(jù)DATA的接收后,發(fā)送ACK確認消息;若在偵聽Tcs時間內(nèi)沒有偵聽到RTS消息,則在偵聽載波Tcs時間結(jié)束后,節(jié)點進入休眠狀態(tài),直至當(dāng)前數(shù)據(jù)時隙結(jié)束,然后轉(zhuǎn)向執(zhí)行步驟e);
e)更新等于加1,重復(fù)執(zhí)行步驟b)、步驟C)、步驟C),直至本周期數(shù)據(jù)時段的#個數(shù)據(jù)時隙結(jié)束,節(jié)點完成數(shù)據(jù)時段的數(shù)據(jù)傳遞,進入下一周期。本發(fā)明的有益效果是本發(fā)明通過設(shè)置周期預(yù)約時段,利用設(shè)置節(jié)點的擁有時隙,使節(jié)點在擁有時隙到來時才參與競爭信道的預(yù)約,每個預(yù)約時隙設(shè)置ー個載波偵聽的最大窗ロ時間,利用節(jié)點激活喚醒的隨機偵聽減少節(jié)點的預(yù)約消息發(fā)送碰撞概率及空閑偵聽的時間,適應(yīng)網(wǎng)絡(luò)業(yè)務(wù)的變化,并可根據(jù)業(yè)務(wù)對時延敏感度的不同要求,實現(xiàn)在單周期的單跳或多跳的數(shù)據(jù)時隙預(yù)約,提高了信道的利用率,減少了控制開銷和數(shù)據(jù)傳遞的時延 ’節(jié)點在周期數(shù)據(jù)時段,根據(jù)在預(yù)約時段對各數(shù)據(jù)時隙的預(yù)約情況激活喚醒,節(jié)點僅在被預(yù)約的數(shù)據(jù)時隙喚醒偵聽,實現(xiàn)在單周期數(shù)據(jù)的單跳或多跳傳遞,而在沒有被預(yù)約的數(shù)據(jù)時隙節(jié)點處于睡眠狀態(tài),提高了節(jié)點的能效利用率,能很好地滿足數(shù)據(jù)傳遞的及時性要求。
圖I是本發(fā)明節(jié)點生命期的工作過程示意 圖2是本發(fā)明網(wǎng)絡(luò)節(jié)點時間軸的單周期組成示意 圖3是本發(fā)明的周期預(yù)約時段實現(xiàn)流程 圖4是本發(fā)明的周期數(shù)據(jù)時段實現(xiàn)流程圖;
圖5是本發(fā)明的網(wǎng)絡(luò)節(jié)點拓撲實例 圖6是本發(fā)明單周期實現(xiàn)單跳數(shù)據(jù)傳遞的工作過程實例 圖7是本發(fā)明單周期實現(xiàn)多跳數(shù)據(jù)傳遞的工作過程實例圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
做進ー步說明。結(jié)合圖2說明多跳無線傳感器網(wǎng)絡(luò)的混合機制MAC協(xié)議實現(xiàn)方法的步驟為網(wǎng)絡(luò)初始化、周期狀態(tài)更新和同步、周期預(yù)約時段和周期數(shù)據(jù)時段,其中網(wǎng)絡(luò)初始化用于設(shè)置有關(guān)參數(shù)和建立網(wǎng)絡(luò),僅在網(wǎng)絡(luò)布置時執(zhí)行一次,以后不再執(zhí)行;周期狀態(tài)更新和周期同步目的是為了維護ー跳鄰居節(jié)點的紀(jì)錄表,使兩跳的鄰居節(jié)點間維持時間同歩;周期預(yù)約時段實現(xiàn)節(jié)點的隨機競爭信道預(yù)約,由若干個預(yù)約時隙組成,每個預(yù)約時隙設(shè)置ー個節(jié)點喚醒偵聽的最大時間窗7 ,用以在發(fā)送數(shù)據(jù)時隨機偵聽信道、在發(fā)送預(yù)約消息RM及偵聽消息RM來完成對數(shù)據(jù)時隙的預(yù)約;周期數(shù)據(jù)時段根據(jù)對各個數(shù)據(jù)時隙的預(yù)約來執(zhí)行喚醒偵聽及數(shù)據(jù)的發(fā)送和接收,由若干個數(shù)據(jù)時隙組成,每個數(shù)據(jù)時隙在預(yù)約喚醒時也設(shè)置ー個節(jié)點喚醒偵聽的最大時間窗ら,用以隨機偵聽信道的空閑、發(fā)送或偵聽RTS,完成基于RTS/CTS/DATA/ACK的數(shù)據(jù)傳遞過程。下面說明各階段工作時間的具體設(shè)置。網(wǎng)絡(luò)初始化的時間る網(wǎng)絡(luò)初始化階段的目的是分發(fā)網(wǎng)絡(luò)有關(guān)參數(shù),建立網(wǎng)絡(luò)節(jié)點的一跳鄰居節(jié)點記錄表,實現(xiàn)兩跳鄰居節(jié)點間的時間同歩。由于這個階段只在網(wǎng)絡(luò)初始布置時執(zhí)行一次,其執(zhí)行時間對網(wǎng)絡(luò)的應(yīng)用并不構(gòu)成嚴(yán)重影響,在網(wǎng)絡(luò)生命期中/;可以忽略不計。周期狀態(tài)更新和同步時間Tss :周期狀態(tài)更新和同步的目的是維護和更新節(jié)點的一跳鄰居節(jié)點記錄表及兩跳節(jié)點間的時間同步,由于節(jié)點的同步可以利用無線傳感器網(wǎng)絡(luò)的同步算法或采用S-MAC協(xié)議的通告同步報文機制實現(xiàn)、狀態(tài)更新可以利用上層協(xié)議和在通告同步報文時采用捎帶機制實現(xiàn),且僅是局部的狀態(tài)更新和同步,所以這個階段占整個周期的時間可以不予考慮。周期預(yù)約時段/^周期預(yù)約時段的目的是為了實現(xiàn)對數(shù)據(jù)時隙的預(yù)約,考慮無線傳感器網(wǎng)絡(luò)的業(yè)務(wù)較低、節(jié)點密度高、業(yè)務(wù)的發(fā)生具有突發(fā)性等特點,將預(yù)約時段劃分為若干個短的預(yù)約時隙,用公式表示如下
Tw~~K · Trc
其中,7^為每個預(yù)約時隙的時間,且滿足下式
TrcPTcs^Trm
其中,Tcs為節(jié)點激活喚醒偵聽載波的最大窗ロ時間;ん#為發(fā)送或接收預(yù)約消息RM的時間,使在每個預(yù)約時隙可以有ー個節(jié)點成功預(yù)約到信道,設(shè)置激活喚醒偵聽時間窗7 的目的是為了減少節(jié)點間進行信道預(yù)約的碰撞,減少節(jié)點的空閑偵聽。
周期數(shù)據(jù)時段Td :周期預(yù)約時段的目的是為了實現(xiàn)數(shù)據(jù)傳遞,與S-MAC在每個周期僅傳遞ー個數(shù)據(jù)報文的情況不同,這里為了分解本地數(shù)據(jù)傳遞的碰撞及實現(xiàn)時延敏感業(yè)務(wù)單周期的多跳數(shù)據(jù)傳遞,將數(shù)據(jù)時段根據(jù)網(wǎng)絡(luò)的業(yè)務(wù)特點和時延要求劃分為若干個數(shù)據(jù)時隙,在每個數(shù)據(jù)時隙可以完成基于RTS/CTS/DATA/ACK的數(shù)據(jù)傳遞過程。因此,周期數(shù)據(jù)時段的時間為
T0=M · Tsr
其中,ガ表示數(shù)據(jù)時隙的個數(shù),ろ#為每個數(shù)據(jù)時隙的時間,且滿足下式
Ts》TCS—TRTS—TCTS—TDATA—TACK
上式中,TrkヽTcts, Tdata和Tack分別為傳遞RTS、CTS、DATA和ACK消息所需的時間。因此,節(jié)點的周期工作時間Γ為
T-TSS+TW+TD K · Trc+M · Tsr
根據(jù)上述分析,由于節(jié)點在預(yù)約時段采用分時隙的隨機偵聽、發(fā)送預(yù)約消息RM對數(shù)據(jù)時隙進行提前預(yù)約,在無業(yè)務(wù)的情況下節(jié)點每個預(yù)約時隙的偵聽最大時間窗為7 ,每個預(yù)約時隙節(jié)點的工作時間是根據(jù)對信道隨機偵聽的結(jié)果不同發(fā)生變化的,節(jié)點在數(shù)據(jù)時段是根據(jù)在預(yù)約時段對數(shù)據(jù)時隙的預(yù)約來激活喚醒的,在無業(yè)務(wù)的情況下整個數(shù)據(jù)時段將處于睡眠狀態(tài),節(jié)點僅在預(yù)約的數(shù)據(jù)時隙喚醒偵聽,井根據(jù)偵聽的結(jié)果執(zhí)行不同的操作。因此,每個周期節(jié)點激活工作的時間占整個周期的時間長度的比值(稱為占空比)是隨業(yè)務(wù)不斷發(fā)生變化的,其變化范圍的計算公式如下
K*TCS/T(PDC(\
其中,#為周期預(yù)約時段的預(yù)約時隙的個數(shù),r為周期的工作時間;
結(jié)合圖2 圖7說明本發(fā)明根據(jù)圖I所示的節(jié)點工作時間劃分方法,執(zhí)行網(wǎng)絡(luò)初始化、周期狀態(tài)更新和同步、周期預(yù)約時段和周期數(shù)據(jù)時段的具體步驟如下
I.網(wǎng)絡(luò)初始化階段
網(wǎng)絡(luò)工作參數(shù)分發(fā)網(wǎng)絡(luò)布置后,根據(jù)網(wǎng)絡(luò)應(yīng)用要求和業(yè)務(wù)特征,采用無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)分發(fā)協(xié)議將節(jié)點的周期工作時間、每周期的預(yù)約時段時間長度、每周期的數(shù)據(jù)傳遞時段的時間長度、每個短的預(yù)約時隙的時間長度、每個短的數(shù)據(jù)時隙的時間長度、每個時隙的載波偵聽的最大窗ロ時間長度等參數(shù)分發(fā)給所有節(jié)點,并建立一跳的鄰居節(jié)點記錄表;設(shè)置節(jié)點工作參數(shù)根據(jù)節(jié)點的工作參數(shù),設(shè)置節(jié)點的周期工作時間、以及每個周期的周期性的時隙預(yù)約時段時間和數(shù)據(jù)傳遞時段時間,并將時隙預(yù)約時段分為若干短的預(yù)約時隙,數(shù)據(jù)傳遞時段分為若干短的數(shù)據(jù)傳遞時隙;
啟動節(jié)點工作設(shè)置節(jié)點按統(tǒng)ー的時間啟動開始工作。2.周期狀態(tài)更新和同步階段由于無線傳感器網(wǎng)絡(luò)節(jié)點易出現(xiàn)故障、布置環(huán)境惡劣易造成數(shù)據(jù)鏈路的失效、節(jié)點的電池壽命有限等,因此網(wǎng)絡(luò)拓撲是不斷發(fā)生變化的。另外由于節(jié)點的時鐘受到外部環(huán)境的影響以及存在的時間飄逸、抖動,隨著時間的推移存在著同步的誤差及失步,因此,為了維持節(jié)點間的同步必須不斷地采用同步算法維護節(jié)點間的同歩。為了減少控制開銷和實現(xiàn)的復(fù)雜度,僅讓節(jié)點維護局部的鄰居節(jié)點狀態(tài)信息和實現(xiàn)局部兩跳范圍內(nèi)的節(jié)點同歩。在節(jié)點執(zhí)行網(wǎng)絡(luò)初始化時間る結(jié)束或執(zhí)行周期數(shù)據(jù)時段時間ん結(jié)束后,節(jié)點開始執(zhí)行周期狀態(tài)更新和同歩。節(jié)點在進入周期狀態(tài)更新和同步階段的工作過程如下 首先設(shè)置周期狀態(tài)更新和同步的時間為,并開始計時;然后利用無線傳感器網(wǎng)絡(luò)的同步算法或采用S-MAC協(xié)議的通告同步報文機制使兩跳的鄰居節(jié)點之間保持同步;
利用上層協(xié)議和在通告同步報文時采用捎帶機制,更新節(jié)點的一跳鄰居節(jié)點記錄表; 計時時間Tss到,周期狀態(tài)更新和同步過程結(jié)束,節(jié)點的工作進入預(yù)約時段。3.周期預(yù)約時段
周期預(yù)約時段由若干個預(yù)約時隙組成,每個預(yù)約時隙設(shè)置ー個節(jié)點激活偵聽載波的最大時間窗7;s,根據(jù)業(yè)務(wù)特征和隨機選擇節(jié)點的擁有時隙,使節(jié)點對信道進行載波偵聽的退避時間不同,從而使節(jié)點在每個預(yù)約時隙參與競爭預(yù)約時隙時具有不同的優(yōu)先級,然后節(jié)點根據(jù)偵聽的結(jié)果決定節(jié)點是否發(fā)送或繼續(xù)偵聽預(yù)約消息RM或在最大時間窗/;5結(jié)束后進入睡眠狀態(tài),只有在某個預(yù)約時隙偵聽到或發(fā)送了預(yù)約消息RM的節(jié)點才成功地預(yù)約了預(yù)約消息RM中選定的數(shù)據(jù)時隙。節(jié)點在進入預(yù)約時段的工作過程如下
1).初始化和設(shè)置節(jié)點的擁有時隙,設(shè)置預(yù)約時隙個數(shù)計數(shù)器A等于1,將表示業(yè)務(wù)數(shù)據(jù)時延敏感度的TL的缺省值設(shè)置為0,井隨機從#個預(yù)約時隙中選擇ー個作為節(jié)點的擁有時隙;
2).判斷是否有業(yè)務(wù)數(shù)據(jù)到達需要發(fā)送及業(yè)務(wù)數(shù)據(jù)時延敏感度TL的設(shè)置。首先判斷當(dāng)前是否有業(yè)務(wù)數(shù)據(jù)需要發(fā)送,若節(jié)點有業(yè)務(wù)數(shù)據(jù)需要發(fā)送,則根據(jù)所要發(fā)送業(yè)務(wù)數(shù)據(jù)對時延敏感度的要求高低設(shè)置TL的值若業(yè)務(wù)數(shù)據(jù)對時延敏感度要求高,設(shè)置TL等于仏若業(yè)務(wù)數(shù)據(jù)對時延敏感度要求低,設(shè)置TL等于Z ;若節(jié)點沒有業(yè)務(wù)數(shù)據(jù)需要發(fā)送,則按步驟4)執(zhí)行;
3).節(jié)點在當(dāng)前預(yù)約時隙激活偵聽,有數(shù)據(jù)需要發(fā)送的節(jié)點,根據(jù)業(yè)務(wù)對時延敏感度TL設(shè)置不同,分別執(zhí)行如下操作若TL=//,則節(jié)點在當(dāng)前的預(yù)約時隙激活喚醒后立即發(fā)送預(yù)約消息RM,其中包含TL,預(yù)約的數(shù)據(jù)時隙編號若已經(jīng)設(shè)置則按設(shè)置值進行預(yù)約,若沒有設(shè)置,則將其設(shè)置為具有最小編號的空閑時隙,將設(shè)置后的預(yù)約時隙編號包含在發(fā)送的預(yù)約消息RM中發(fā)送出去,并在發(fā)送預(yù)約消息RM后將節(jié)點的TL設(shè)置為0,將節(jié)點在所預(yù)約的數(shù)據(jù)時隙設(shè)置為數(shù)據(jù)發(fā)送節(jié)點;若TL=Z,且當(dāng)前預(yù)約時隙是節(jié)點的擁有時隙,則節(jié)點在當(dāng)前預(yù)約時隙激活喚醒后先在
時間內(nèi)隨機偵聽載波一定時間,在偵聽載波結(jié)束后,若信道空閑則立即發(fā)送包含TL信息的預(yù)約消息RM,并在發(fā)送RM后節(jié)點將TL設(shè)置為O,將節(jié)點在所預(yù)約的數(shù)據(jù)時隙設(shè)置為數(shù)據(jù)發(fā)送節(jié)點,否則,若信道忙,則節(jié)點取消發(fā)送預(yù)約消息的企圖,繼續(xù)偵聽載波并進入到步驟山若TL=L,且當(dāng)前預(yù)約時隙的編號小于節(jié)點的擁有時隙編號,取消發(fā)送預(yù)約消息,進入步驟山若TL=L,且當(dāng)前預(yù)約時隙的編號大于節(jié)點的擁有時隙編號,節(jié)點在當(dāng)前預(yù)約時隙激活喚醒后先在[7 /2,Tcs^時間內(nèi)隨機偵聽載波一定時間,在偵聽載波結(jié)束后,若信道空閑,則立即發(fā)送包含TL信息的預(yù)約消息RM,并在發(fā)送預(yù)約消息RM后節(jié)點將TL為O,將節(jié)點在所預(yù)約的數(shù)據(jù)時隙設(shè)置為數(shù)據(jù)發(fā)送節(jié)點,否則,節(jié)點取消發(fā)送預(yù)約消息,繼續(xù)偵聽載波進入步驟d ;d.預(yù)約時隙到來時沒有業(yè)務(wù)數(shù)據(jù)需要發(fā)送的節(jié)點,即TL等于O,則節(jié)點激活喚醒后先執(zhí)行偵聽載波Tcs的時間,若在Tcs時間內(nèi)節(jié)點偵聽到預(yù)約信息RM,且它是預(yù)約的目的接收節(jié)點,則首先從預(yù)約信息RM中提取出預(yù)約的數(shù)據(jù)時隙編號和TL,將節(jié)點在預(yù)約的數(shù)據(jù)接收時隙設(shè)置為預(yù)約數(shù)據(jù)接收時隙,井根據(jù)預(yù)約消息中的TL設(shè)置節(jié)點當(dāng)前的TL,若預(yù)約信息RM中包含的TL為H,則將設(shè)置節(jié)點的TL為H,并設(shè)置節(jié)點下一跳的預(yù)約數(shù)據(jù)時隙為DSLOT_N+1,否則不進行任何設(shè)置,然后節(jié)點進入休眠狀態(tài)直至本預(yù)約時隙結(jié)束;若節(jié)點在Tcs時間內(nèi)偵聽到發(fā)生碰撞的消息,無法識別,則設(shè)置節(jié)點在本周期數(shù)據(jù)時段的每個數(shù)據(jù)時隙都為預(yù)約接收數(shù)據(jù)時隙,然后節(jié)點進入休眠狀態(tài)直至本預(yù)約時隙結(jié)束;若節(jié)點在ら時間內(nèi)沒有偵聽到任何消息,即信道空閑,則在Tcs時間結(jié)束后節(jié)點進入休眠狀態(tài)直至本預(yù)約時隙結(jié)束; e.更新A等于A加1,重復(fù)執(zhí)行步驟b、步驟c和步驟d,直至本周期預(yù)約時段的#個預(yù)約時隙結(jié)束,節(jié)點完成預(yù)約時段的數(shù)據(jù)時隙預(yù)約,進入數(shù)據(jù)時段。
5.根據(jù)權(quán)利要求3或4所述的基于無線傳感器網(wǎng)絡(luò)的混合機制MAC協(xié)議通信方法,其特征在于所述的步驟4)的具體步驟如下 a).設(shè)置數(shù)據(jù)時隙個數(shù)計數(shù)器《等于I; b).節(jié)點的激活喚醒若當(dāng)前數(shù)據(jù)時隙是節(jié)點在預(yù)約時段預(yù)約的發(fā)送數(shù)據(jù)時隙,則節(jié)點激活喚醒,并在[O,Tcs-\時間內(nèi)隨機設(shè)置節(jié)點的偵聽時間,偵聽結(jié)束后轉(zhuǎn)向執(zhí)行步驟c);若當(dāng)前數(shù)據(jù)時隙是節(jié)點在預(yù)約時段預(yù)約的接收數(shù)據(jù)時隙,則節(jié)點激活喚醒后處于偵聽狀態(tài),并轉(zhuǎn)向執(zhí)行步驟d);若當(dāng)前數(shù)據(jù)時隙在預(yù)約時段沒有被預(yù)約,則節(jié)點處于休眠狀態(tài),直至當(dāng)前數(shù)據(jù)時隙結(jié)束,然后轉(zhuǎn)向執(zhí)行步驟e); c).若偵聽信道空閑,則立即發(fā)送RTS控制消息,并在接收到CTS消息后開始發(fā)送數(shù)據(jù)DATA,直至發(fā)送數(shù)據(jù)DATA結(jié)束、收到ACK確認消息,節(jié)點進入休眠狀態(tài),直至當(dāng)前數(shù)據(jù)時隙結(jié)束,然后執(zhí)行步驟e);若偵聽信道忙,則轉(zhuǎn)向執(zhí)行步驟d); d).若節(jié)點在Tcs時間內(nèi)偵聽到RTS消息,則立即發(fā)送CTS應(yīng)答消息,并等待接收數(shù)據(jù)DATA直至完成數(shù)據(jù)DATA的接收后,發(fā)送ACK確認消息;若在偵聽Tcs時間內(nèi)沒有偵聽到RTS消息,則在偵聽載波Tcs時間結(jié)束后,節(jié)點進入休眠狀態(tài),直至當(dāng)前數(shù)據(jù)時隙結(jié)束,然后轉(zhuǎn)向執(zhí)行步驟e); e).更新《等于《加1,重復(fù)執(zhí)行步驟b)、步驟C)、步驟d),直至本周期數(shù)據(jù)時段的#個數(shù)據(jù)時隙結(jié)束,節(jié)點完成數(shù)據(jù)時段的數(shù)據(jù)傳遞,進入下一周期。
全文摘要
本發(fā)明涉及一種基于無線傳感器網(wǎng)絡(luò)的混合機制MAC協(xié)議通信方法,本發(fā)明通過設(shè)置周期預(yù)約時段,利用設(shè)置節(jié)點的擁有時隙,使節(jié)點在擁有時隙到來時才參與競爭信道的預(yù)約,每個預(yù)約時隙設(shè)置一個載波偵聽的最大窗口時間,利用節(jié)點激活喚醒的隨機偵聽減少節(jié)點的預(yù)約消息發(fā)送碰撞概率及空閑偵聽的時間,實現(xiàn)在單周期的單跳或多跳的數(shù)據(jù)時隙預(yù)約,減少了控制開銷和數(shù)據(jù)傳遞的時延;節(jié)點在周期數(shù)據(jù)時段,根據(jù)在預(yù)約時段對各數(shù)據(jù)時隙的預(yù)約情況激活喚醒,節(jié)點僅在被預(yù)約的數(shù)據(jù)時隙喚醒偵聽,實現(xiàn)在單周期數(shù)據(jù)的單跳或多跳傳遞,而在沒有被預(yù)約的數(shù)據(jù)時隙節(jié)點處于睡眠狀態(tài),提高了節(jié)點的能效利用率,能很好地滿足數(shù)據(jù)傳遞的及時性要求。
文檔編號H04W56/00GK102695265SQ20121000452
公開日2012年9月26日 申請日期2012年1月9日 優(yōu)先權(quán)日2012年1月9日
發(fā)明者付江濤, 付磊, 周立鵬, 張前進, 彭勃, 李佩佩, 李敏, 沈森, 王雯霞, 鄭國強 申請人:河南科技大學(xué)