一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能mac協(xié)議通信方法
【專利摘要】本發(fā)明屬于無線傳感器網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,包括:新節(jié)點通過維護(hù)鄰居節(jié)點的喚醒時間表,記錄鄰居節(jié)點的喚醒時間偏移值;根據(jù)鄰居節(jié)點的喚醒時間偏移值確定新節(jié)點的喚醒時間偏移值;當(dāng)發(fā)送節(jié)點發(fā)送數(shù)據(jù)時,查詢所述喚醒時間表中對應(yīng)的接收節(jié)點信息,并預(yù)測接收節(jié)點的喚醒時間。本發(fā)明根據(jù)鄰居節(jié)點喚醒時間選擇偏移值,保證了節(jié)點之間具有不同的喚醒時間,并通過準(zhǔn)確預(yù)測接收節(jié)點的喚醒時間,能夠有效減少空閑偵聽帶來的能量消耗,節(jié)約了能量。
【專利說明】—種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法。
【背景技術(shù)】
[0002]無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network, WSN)是由大量的靜止或移動的傳感器以自組織和多跳的方式構(gòu)成的無線網(wǎng)絡(luò),以協(xié)作地感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋地理區(qū)域內(nèi)被感知對象的信息。
[0003]在傳感器網(wǎng)絡(luò)使用過程中,部分傳感器節(jié)點由于能量耗盡或環(huán)境因素造成失效,也有一些節(jié)點為了彌補失效節(jié)點、增加監(jiān)測精度而補充到網(wǎng)絡(luò)中(新節(jié)點),這樣在傳感器網(wǎng)絡(luò)中的節(jié)點個數(shù)就動態(tài)地增加或減少,從而使網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)隨之動態(tài)地變化。
[0004]無線傳感器網(wǎng)絡(luò)中,節(jié)點的喚醒方式有以下幾種:
[0005](I)全喚醒模式:這種模式下,無線傳感器網(wǎng)絡(luò)中的所有節(jié)點同時喚醒,探測并跟蹤網(wǎng)絡(luò)中出現(xiàn)的目標(biāo),雖然這種模式下可以得到較高的跟蹤精度,然而是以網(wǎng)絡(luò)能量的消耗巨大為代價的。
[0006](2)隨機喚醒模式:這種模式下,無線傳感器網(wǎng)絡(luò)中的節(jié)點由給定的喚醒概率P隨機喚醒。
[0007](3)由預(yù)測機制選擇喚醒模式:這種模式下,無線傳感器網(wǎng)絡(luò)中的節(jié)點根據(jù)跟蹤任務(wù)的需要,選擇性的喚醒對跟蹤精度收益較大的節(jié)點,通過獲得的信息預(yù)測目標(biāo)下一時刻的狀態(tài),并喚醒節(jié)點。
[0008](4)任務(wù)循環(huán)喚醒模式:這種模式下,無線傳感器網(wǎng)絡(luò)中的節(jié)點周期性的出于喚醒狀態(tài),這種工作模式的節(jié)點可以與其他工作模式的節(jié)點共存,并協(xié)助其他工作模式的節(jié)點工作。
[0009]在無線傳感器網(wǎng)絡(luò)中,媒體介質(zhì)訪問控制(Media Access ControI,MAC)協(xié)議處于無線傳感器網(wǎng)絡(luò)協(xié)議的底層部分,主要用于傳感器節(jié)點間公平有效地共享通信媒介,對傳感器網(wǎng)絡(luò)的性能有較大影響,是保證無線傳感器網(wǎng)絡(luò)有效通信的關(guān)鍵網(wǎng)絡(luò)協(xié)議之一。
[0010]相關(guān)技術(shù)中的基于接收端發(fā)起的異步MAC層協(xié)議,節(jié)點維持鄰居節(jié)點固定的喚醒時間表,在持續(xù)空閑偵聽時帶來較大的能量消耗,不利于節(jié)能。
【發(fā)明內(nèi)容】
[0011]本發(fā)明的目的在于提供一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,以解決上述的問題。
[0012]在本發(fā)明的實施例中提供了一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,包括:
[0013]新節(jié)點通過維護(hù)鄰居節(jié)點的喚醒時間表,記錄鄰居節(jié)點的喚醒時間偏移值;
[0014]根據(jù)鄰居節(jié)點的喚醒時間偏移值確定新節(jié)點的喚醒時間偏移值,公式如下:
[0015]
max[i(/,y)]
Ow = Ow(n+ - +0.5_
L λ 」Id'aeiV +
[0016]式中,0w(i)為接收節(jié)點i的喚醒時間偏移值,Ow為新節(jié)點的喚醒時間偏移值,t(i, j)為i,j兩節(jié)點喚醒時刻差值,其中i,j兩個節(jié)點的喚醒時刻處在所有節(jié)點中喚醒間隔最短的時間內(nèi);
[0017]當(dāng)發(fā)送節(jié)點發(fā)送數(shù)據(jù)時,查詢喚醒時間表中對應(yīng)的接收節(jié)點信息,并預(yù)測接收節(jié)點的喚醒時間,預(yù)測公式如下:
[0018]tremain(i) = Twakeup (i) - (tc-0w (i)) % Twakeup ⑴
[0019]式中,tremain(i)為接收節(jié)點i下次喚醒時刻剩余時間,Twakeup⑴為節(jié)點i喚醒間隔,tc為發(fā)送節(jié)點當(dāng)前時間,Ow(i)為接收節(jié)點i的喚醒偏移值。
[0020]進(jìn)一步,新節(jié)點通過維護(hù)鄰居節(jié)點的喚醒時間表記錄鄰居節(jié)點的喚醒時間偏移值之前,還包括:
[0021]持續(xù)監(jiān)聽節(jié)點初始最大喚醒間隔的時長,當(dāng)接收到鄰居節(jié)點發(fā)送的信標(biāo)幀時,發(fā)送帶有請求節(jié)點喚醒狀態(tài)標(biāo)志位的空數(shù)據(jù)幀;
[0022]當(dāng)發(fā)送節(jié)點接收到帶有標(biāo)志位的空數(shù)據(jù)幀時,在發(fā)送的ACK幀中嵌入節(jié)點的喚醒間隔;
[0023]新節(jié)點在持續(xù)監(jiān)聽時間內(nèi)接收鄰居節(jié)點返回的ACK幀,并在監(jiān)聽結(jié)束后維護(hù)一張鄰居節(jié)點喚醒時間表。
[0024]進(jìn)一步,該方法還包括:當(dāng)接收節(jié)點的實際喚醒時間與發(fā)送節(jié)點預(yù)測的喚醒時間的差值大于誤差閾值時,重新請求接收節(jié)點喚醒時間的信息。
[0025]進(jìn)一步,該方法還包括:發(fā)送節(jié)點每次發(fā)送數(shù)據(jù)前,檢測緩沖隊列中等待傳輸?shù)臄?shù)據(jù)包數(shù)量,根據(jù)等待傳輸?shù)臄?shù)據(jù)包數(shù)量計算等待傳輸數(shù)據(jù)包數(shù)量等級,根據(jù)等待傳輸數(shù)據(jù)包數(shù)量等級自適應(yīng)改變節(jié)點的喚醒間隔。
[0026]進(jìn)一步,根據(jù)等待傳輸數(shù)據(jù)包數(shù)量等級自適應(yīng)改變節(jié)點的喚醒間隔,具體包括:
[0027]當(dāng)相比于上一次發(fā)送數(shù)據(jù)前,等待傳輸數(shù)據(jù)包數(shù)量等級發(fā)生改變時,將標(biāo)志位和所述等待傳輸數(shù)據(jù)包數(shù)量等級嵌入到預(yù)發(fā)送的數(shù)據(jù)幀中;其中,標(biāo)志位用于通知接收節(jié)點數(shù)據(jù)幀中嵌入有改變的等待傳輸數(shù)據(jù)包數(shù)量等級,等待傳輸數(shù)據(jù)包數(shù)量等級由下式求得:
O,Nwait(l^ < Ylthresholdl
[0028]pwait ⑴=I,YlthresholdX ^ Nwait(J.^ < fDthreshold2
2,Tlthreshold 2 ^ Nwait
[0029]式中,PwaitQ)為節(jié)點i等待傳輸數(shù)據(jù)包數(shù)量等級,Nwait⑴為節(jié)點i等待傳輸?shù)臄?shù)據(jù)包數(shù)量,Hthreshold為發(fā)送節(jié)點負(fù)載因子,P threshold為接收節(jié)點負(fù)載因子;
[0030]當(dāng)節(jié)點收到帶有標(biāo)志位的數(shù)據(jù)幀時更新孩子節(jié)點中等待傳輸數(shù)據(jù)包數(shù)量等級的總和,當(dāng)未收到帶有標(biāo)志位的數(shù)據(jù)幀時,保持等待傳輸數(shù)據(jù)包數(shù)量等級不變;其中,孩子節(jié)點中等待傳輸數(shù)據(jù)包數(shù)量等級的總和由下式求得:
【權(quán)利要求】
1.一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,其特征在于,包括: 新節(jié)點通過維護(hù)鄰居節(jié)點的喚醒時間表,記錄鄰居節(jié)點的喚醒時間偏移值; 根據(jù)鄰居節(jié)點的喚醒時間偏移值確定新節(jié)點的喚醒時間偏移值,公式如下:
0w = 0,.(/)+ 臟剛他σ
L λ 」/?^2σ’σε?ν + 式中,Ow(i)為接收節(jié)點i的喚醒時間偏移值,Ow為新節(jié)點的喚醒時間偏移值,t(i, j)為i,j兩節(jié)點喚醒時刻差值,其中i,j兩節(jié)點的喚醒時刻處在所有節(jié)點中喚醒間隔最短的時間內(nèi); 當(dāng)發(fā)送節(jié)點發(fā)送數(shù)據(jù)時,查詢所述喚醒時間表中對應(yīng)的接收節(jié)點信息,并預(yù)測接收節(jié)點的喚醒時間,預(yù)測公式如下:
tremain(i)=
Twakeup
(i)-(tc-0w(i)) % T
wakeup
⑴ 式中,tremain(i)為接收節(jié)點i下次喚醒時刻剩余時間,Twakeup(i)為節(jié)點i喚醒間隔,tc為發(fā)送節(jié)點當(dāng)前時間,Ow(i)為接收節(jié)點i的喚醒偏移值。
2.根據(jù)權(quán)利要求1所述的一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,其特征在于,新節(jié)點通過維護(hù)鄰居節(jié)點的喚醒時間表記錄鄰居節(jié)點的喚醒時間偏移值之前,還包括: 持續(xù)監(jiān)聽節(jié)點初始最大喚醒間隔的時長,當(dāng)接收到鄰居節(jié)點發(fā)送的信標(biāo)幀時,發(fā)送帶有請求節(jié)點喚醒狀態(tài)標(biāo)志位的空數(shù)據(jù)巾貞; 當(dāng)發(fā)送節(jié)點接收到帶有標(biāo)志位的空數(shù)據(jù)幀時,在發(fā)送的ACK幀中嵌入節(jié)點的喚醒間隔; 新節(jié)點在持續(xù)監(jiān)聽時間內(nèi)接收鄰居節(jié)點返回的ACK幀,并在監(jiān)聽結(jié)束后維護(hù)一張鄰居節(jié)點喚醒時間表。
3.根據(jù)權(quán)利要求2所述的一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,其特征在于,還包括: 當(dāng)接收節(jié)點的實際喚醒時間與發(fā)送節(jié)點預(yù)測的喚醒時間的差值大于誤差閾值時,重新請求接收節(jié)點喚醒時間的信息。
4.根據(jù)權(quán)利要求1、2或3所述的一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,其特征在于,還包括: 發(fā)送節(jié)點每次發(fā)送數(shù)據(jù)前,檢測緩沖隊列中等待傳輸?shù)臄?shù)據(jù)包數(shù)量,根據(jù)等待傳輸?shù)臄?shù)據(jù)包數(shù)量計算等待傳輸數(shù)據(jù)包數(shù)量等級,根據(jù)等待傳輸數(shù)據(jù)包數(shù)量等級自適應(yīng)改變節(jié)點的喚醒間隔。
5.根據(jù)權(quán)利要求4所述的一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,其特征在于,根據(jù)等待傳輸數(shù)據(jù)包數(shù)量等級自適應(yīng)改變節(jié)點的喚醒間隔,具體包括: 當(dāng)相比于上一次發(fā)送數(shù)據(jù)前,等待傳輸數(shù)據(jù)包數(shù)量等級發(fā)生改變時,將標(biāo)志位和所述等待傳輸數(shù)據(jù)包數(shù)量等級嵌入到預(yù)發(fā)送的數(shù)據(jù)幀中;其中,所述標(biāo)志位用于通知接收節(jié)點數(shù)據(jù)幀中嵌入有改變的等待傳輸數(shù)據(jù)包數(shù)量等級,所述等待傳輸數(shù)據(jù)包數(shù)量等級由下式求得:
式中,pwait(i)為節(jié)點i等待傳輸數(shù)據(jù)包數(shù)量等級,Nwait(I)為節(jié)點i等待傳輸?shù)臄?shù)據(jù)包數(shù)量,Hthreshold為發(fā)送節(jié)點負(fù)載因子,P threshold為接收節(jié)點負(fù)載因子; 當(dāng)節(jié)點收到帶有所述標(biāo)志位的數(shù)據(jù)幀時更新孩子節(jié)點中等待傳輸數(shù)據(jù)包數(shù)量等級的總和,當(dāng)未收到帶有所述標(biāo)志位的數(shù)據(jù)幀時,保持等待傳輸數(shù)據(jù)包數(shù)量等級不變;其中,孩子節(jié)點中等待傳輸數(shù)據(jù)包數(shù)量等級的總和由下式求得:
式中,Pwait為孩子節(jié)點中等待傳輸數(shù)據(jù)包數(shù)量等級的總和,PwaltQ)為節(jié)點i等待傳輸數(shù)據(jù)包數(shù)量等級,S為孩子節(jié)點的個數(shù); 接收節(jié)點動態(tài)改變喚醒間隔;其中,動態(tài)改變喚醒間隔的條件為調(diào)整因子改變,相關(guān)公式如下:
式中,μ為調(diào)整因子,Pwait為孩子節(jié)點中等待傳輸數(shù)據(jù)包數(shù)量等級的總和,Pthreshtjld為接收節(jié)點負(fù)載因子,Ttmp為節(jié)點計算后的喚醒間隔,Tinit wakeup為節(jié)點初始最大喚醒間隔,Twakeup為節(jié)點的喚醒間隔,Tmin為節(jié)點最小喚醒間隔。
6.根據(jù)權(quán)利要求5所述的一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,其特征在于,還包括:當(dāng)調(diào)整因子未改變時保持喚醒間隔不變。
7.根據(jù)權(quán)利要求6所述的一種基于無線傳感器網(wǎng)絡(luò)的節(jié)能MAC協(xié)議通信方法,其特征在于,還包括: 當(dāng)發(fā)送節(jié)點接收到接收節(jié)點的喚醒信標(biāo)幀時,轉(zhuǎn)換為睡眠狀態(tài)直到接收節(jié)點下一次喚醒時間重傳數(shù)據(jù)。
【文檔編號】H04W52/02GK104202803SQ201410438896
【公開日】2014年12月10日 申請日期:2014年8月30日 優(yōu)先權(quán)日:2014年8月30日
【發(fā)明者】馬禮, 高洪磊, 張永梅, 馬東超, 宋麗華 申請人:北方工業(yè)大學(xué)