本發(fā)明涉及無線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,涉及無線傳感器網(wǎng)絡(luò)中節(jié)點的休眠調(diào)度方法,是一種在給定鏈路中通過插入最少的蘇醒時隙使鏈路滿足通信時間要求的節(jié)點休眠調(diào)度方法。
背景技術(shù):為了克服無線傳感器網(wǎng)絡(luò)的能量壽命問題,能源研究一直是傳感器網(wǎng)絡(luò)研究的重點。近年來已經(jīng)建立很多模型用來從節(jié)點周圍的環(huán)境中收集能量,從而對其進行供電。然而目前的研究大多數(shù)集中在硬件設(shè)計和電源管理方面,通過改變節(jié)點占空比技術(shù)來節(jié)省能量方面的研究還不多。近段時間,ESC協(xié)議(YuGu,TingZhu,andTianHe.ESC:EnergySynchronizedCommunicationinSustainableSensorNetworks,inICNP’09)通過引入一個透明的中間件來最大程度減小網(wǎng)絡(luò)傳輸延遲,從而延長節(jié)點壽命。對許多傳感器網(wǎng)絡(luò)來說,低占空比下實時數(shù)據(jù)傳輸是影響節(jié)點能量的一個關(guān)鍵因素。目前國內(nèi)外的一些學者也針對節(jié)點剩余能量和鏈路質(zhì)量等問題提出了一些解決方法。PTW(XueYangandNitinH.Vaidya.AWakeupSchemeforSensorNetworks:AchievingBalanceBetweenEnergySavingandEnd-to-endDelay,inRTAS’04)介紹了一種在能耗節(jié)省和端到端延遲之間的平衡方法。另外,現(xiàn)有技術(shù)領(lǐng)域還提出了SDC算法(Y.Gu,T.He,M.Lin,andJ.Xu,“SpatiotemporalDelayControlforLow-Duty-CycleSensorNetworks,”inRTSS’09,2009),該算法試圖使用一種通用的方法來減小網(wǎng)絡(luò)的延遲。SDC算法能夠使得延遲控制在一定條件的情況下,節(jié)省節(jié)點的能量消耗。但是該算法仍然存在著一些不足之處,如并沒有考慮鏈路質(zhì)量可能引起的數(shù)據(jù)重傳,從而導致節(jié)點間的傳輸延遲增大。和以往增加額外設(shè)備、沒有考慮鏈路質(zhì)量的研究不同,本發(fā)明提出了一種在WSN中基于鏈路質(zhì)量的節(jié)點休眠調(diào)度方法,其核心思想是在考慮鏈路質(zhì)量的基礎(chǔ)上,以最小的能耗代價滿足通信的時延要求。
技術(shù)實現(xiàn)要素:本發(fā)明所要解決的技術(shù)問題是提供一種基于鏈路質(zhì)量的節(jié)點休眠調(diào)度方法,用于解決現(xiàn)有技術(shù)額外設(shè)備多、沒有考慮鏈路質(zhì)量等問題。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于鏈路質(zhì)量的節(jié)點休眠調(diào)度方法,包括:步驟1,檢測鏈路上各相鄰節(jié)點之間的鏈路質(zhì)量;步驟2,結(jié)合檢測出的鏈路質(zhì)量,計算源節(jié)點到目的節(jié)點的延遲期望值,若該延遲期望值大于實際應用要求的延遲閾值,則執(zhí)行步驟3,否則流程結(jié)束;步驟3,從增加一次蘇醒時隙開始,依次計算出增加蘇醒時隙后的源節(jié)點到目的節(jié)點的最小延遲期望值,直到計算出的最小延遲期望值小于或等于延遲閾值,或直到增加蘇醒時隙的次數(shù)等于源節(jié)點到目的節(jié)點所需的跳數(shù)。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。進一步,所述步驟2中,根據(jù)初始的節(jié)點工作調(diào)度表計算源節(jié)點到目的節(jié)點的延遲期望值,且所述節(jié)點工作調(diào)度表包括節(jié)點蘇醒的開始時間和節(jié)點的蘇醒時隙大小。進一步,節(jié)點的蘇醒時隙大小為1秒。進一步,所述步驟2中計算源節(jié)點到目的節(jié)點的延遲期望值的具體過程為:假設(shè)源節(jié)點為i,目的節(jié)點為j,此時源節(jié)點i和目的節(jié)點j為相鄰節(jié)點,用表示相鄰節(jié)點i和j之間增加一次蘇醒時隙后的延遲期望值,則有:式中,n為數(shù)據(jù)重傳數(shù),Nmax為最大重傳次數(shù),表示對進行向下取整,表示對n/2進行向下取整,T為節(jié)點i和節(jié)點j的工作周期,pij為源節(jié)點i到目的節(jié)點j之間鏈路質(zhì)量,表示i的蘇醒時間,表示j的蘇醒時間。進一步,所述步驟3依次計算出增加蘇醒時隙后的源節(jié)點到目的節(jié)點的最小延遲期望值的方法具體包括:假設(shè)源節(jié)點為i,目的節(jié)點為j,從增加一次蘇醒時隙開始,設(shè)增加h次蘇醒時隙所能達到的源節(jié)點i到目的節(jié)點j的最小延遲期望值為其中m表示源節(jié)點i到目的節(jié)點j所需要的跳數(shù),h的值小于或等于m,則有:式中,表示新增蘇醒時隙后節(jié)點i和j之間的延遲期望值;是一個組合公式,表示在源節(jié)點沒有增加蘇醒時隙,而從源節(jié)點到節(jié)點j增加了h次蘇醒時隙次數(shù)的情況下,節(jié)點i到節(jié)點j的延遲期望值,t'表示節(jié)點j收到數(shù)據(jù)包的時刻;是一個組合公式,表示源節(jié)點增加了一次蘇醒時隙,而從源節(jié)點到節(jié)點j增加了h-1次蘇醒時隙后節(jié)點i到節(jié)點j的延遲期望值,t'表示節(jié)點j-1收到數(shù)據(jù)包的時刻。本發(fā)明的有益效果是:本發(fā)明在考慮鏈路質(zhì)量基礎(chǔ)上,使得節(jié)點通過插入時隙來減小端到端之間的延遲,滿足系統(tǒng)的限定延遲。并且,本發(fā)明可以為限定延遲下的節(jié)點休眠調(diào)度算法提供一定的研究基礎(chǔ),同時在通過能量感知來延長網(wǎng)絡(luò)生命周期方面提供一定思路。附圖說明圖1為本發(fā)明所述基于鏈路質(zhì)量的節(jié)點休眠調(diào)度方法的流程示意圖;圖2為本發(fā)明實施例中不考慮鏈路質(zhì)量的網(wǎng)絡(luò)傳輸模型示意圖;圖3為本發(fā)明實施例中考慮鏈路質(zhì)量的網(wǎng)絡(luò)傳輸模型示意圖;圖4為本發(fā)明實施例采用增加蘇醒時隙減小延遲的示例圖。具體實施方式以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。如圖1所示,本實施例給出了一種基于鏈路質(zhì)量的節(jié)點休眠調(diào)度方法,包括:步驟1,檢測鏈路上各相鄰節(jié)點之間的鏈路質(zhì)量;步驟2,結(jié)合檢測出的鏈路質(zhì)量,計算源節(jié)點到目的節(jié)點的延遲期望值,若該延遲期望值大于實際應用要求的延遲閾值,則執(zhí)行步驟3,否則流程結(jié)束;步驟3,從增加一次蘇醒時隙開始,依次計算出增加蘇醒時隙后的源節(jié)點到目的節(jié)點的最小延遲期望值,直到計算出的最小延遲期望值小于或等于延遲閾值,或直到增加蘇醒時隙的次數(shù)等于源節(jié)點到目的節(jié)點所需的跳數(shù)?;谏鲜霾襟E,本實施例的具體實施過程如下所述。假定節(jié)點i的每一次蘇醒時隙可用二元組表示,其中表示節(jié)點i的第j次蘇醒,表示節(jié)點i第j次蘇醒的持續(xù)時間。假定在T時間內(nèi),節(jié)點總共蘇醒M次,則節(jié)點的工作時間表表示為為簡化描述,假定節(jié)點周期工作,每一個蘇醒時隙的大小均為τ(τ表示最小計時單位),且節(jié)點的工作周期為T,則節(jié)點i的工作時間表可表示為Γi={(ti,1)},其中ti表示節(jié)點蘇醒的開始時間,比如:當節(jié)點的工作周期為100時,{(1,1)}表示節(jié)點將在1,101,201,…分別蘇醒1個τ。圖2為不考慮鏈路質(zhì)量的網(wǎng)絡(luò)傳輸模型,節(jié)點A的工作周期可以用ΓA={(1,1)}表示,同理ΓB={(5,1)}、ΓC={(8,1)},這里假定τ的值為1秒。在不考慮鏈路質(zhì)量的情況下,節(jié)點A到節(jié)點C的傳輸延遲為7s。實際應用中,真實環(huán)境中鏈路之間的數(shù)據(jù)傳輸成功率并不是100%,圖3即為考慮鏈路質(zhì)量的情況,假設(shè)A、B之間的鏈路質(zhì)量為0.8,B、C之間的鏈路質(zhì)量為0.6。為了描述方便,以下假設(shè)節(jié)點時隙都為1秒,則節(jié)點i的工作調(diào)度表簡化為。因為可能會出現(xiàn)數(shù)據(jù)傳輸不成功的情況,需要引入數(shù)據(jù)重傳。如果源節(jié)點S到目的節(jié)點D之間一條路徑上經(jīng)過的節(jié)點依次為1則該條路徑在時刻t從源節(jié)點到目的節(jié)點進行數(shù)據(jù)傳輸?shù)男菝哐舆t期望值為:式中,Nmax表示最大重傳次數(shù),ps1、p12…p(m-2)(m-1)、p(m-1)j表示相應的鏈路質(zhì)量,ds1(t)、d12(t1)…d(m-2)(m-1)(tm-2)、d(m-1)D(tm-1)表示各相鄰節(jié)點間的傳輸延遲,T表示周期。如圖3所示,假設(shè)周期T=100s,最大重傳次數(shù)為Nmax=3,通過計算可以得出A、C之間的傳輸延遲為E[DAC(1)]=70.32S。根據(jù)公式(1),可得計算過程為:易知,考慮鏈路質(zhì)量之后的期望傳輸時間是原來的10倍多。上述計算結(jié)果只是基于兩跳路徑計算的,隨著網(wǎng)絡(luò)中端到端之間跳數(shù)的增加,休眠延遲也就會變得更大。由此可見,網(wǎng)絡(luò)中鏈路質(zhì)量對端到端延遲的影響是巨大的。由于鏈路質(zhì)量不可靠的WSN中延遲大而不能夠滿足實際應用的要求,可通過增加節(jié)點蘇醒時隙來減少延遲,圖4即為增加蘇醒時隙減小延遲的一個示例圖。經(jīng)過計算得出,在原始狀態(tài)下節(jié)點A向節(jié)點B傳輸?shù)男菝哐舆t期望值約為69.02s,節(jié)點B增加一次蘇醒時隙后該值變?yōu)?1.55s,延遲減少了83%左右。一般地,對于鄰居節(jié)點i和j,當節(jié)點j需要增加一次蘇醒時隙以減少休眠延遲,即節(jié)點j的工作周期由變?yōu)闀r。如果那么可以得出新增蘇醒時隙后節(jié)點i和j之間的延遲期望值為公式:式中,n為數(shù)據(jù)重傳數(shù),Nmax為最大重傳次數(shù),表示對進行向下取整,表示對n/2進行向下取整,T為節(jié)點i和節(jié)點j的工作周期,pij為源節(jié)點i到目的節(jié)點j之間鏈路質(zhì)量,表示i的蘇醒時間,表示j的蘇醒時間。為了計算出節(jié)點i到節(jié)點j端到端的休眠延遲,用表示當節(jié)點i在t時刻收到數(shù)據(jù)包并準備發(fā)送給節(jié)點j,在該條路徑上增加h次蘇醒時隙所能達到的最小休眠延遲期望值。m為該條路徑上節(jié)點i到節(jié)點j所需要的跳數(shù),h的值小于或等于m。該算法分為以下兩步:第一步,根據(jù)初始的節(jié)點工作調(diào)度表,利用公式(2)計算出從源節(jié)點i到目的節(jié)點j的延遲期望值如果該期望值小于或等于實際應用要求的延遲閾值B,即則認為已經(jīng)滿足了實際應用的要求,不需要額外增加節(jié)點的蘇醒次數(shù),該算法退出。否則進入第二步。第二步,從增加1次蘇醒時隙開始,依次計算出增加h次蘇醒時隙所能達到的最小延遲期望值直到滿足不等式或者h=m,這時h的取值是最小的,所要增加的能量消耗也是最小的。這樣就保證了從源節(jié)點到目的節(jié)點在滿足限定延遲(B)的情況下,所消耗的能量是最小的。在第二步中,對于鄰居節(jié)點i和j,如果不增加節(jié)點j的蘇醒次數(shù),則節(jié)點i和節(jié)點j的延遲為原來的值。在一個工作周期中,如果節(jié)點j的蘇醒時刻不是比節(jié)點i的蘇醒時刻大1個時隙的話,那么增加一次節(jié)點j的蘇醒時隙次數(shù)將會減少節(jié)點i和節(jié)點j之間的休眠延遲。因此可以得出兩相鄰節(jié)點的延遲期望值滿足以下公式:式中,E[dij(t)]可由公式(1)的算法得出,可由公式(2)的算法得出?,F(xiàn)在考慮一般的情況,節(jié)點i和節(jié)點j并不是鄰居節(jié)點,節(jié)點i要向節(jié)點j發(fā)送數(shù)據(jù)信息必須經(jīng)過某條路徑上的其它m-1跳節(jié)點。這樣對于節(jié)點j來說,最后從源節(jié)點i發(fā)送過來的數(shù)據(jù)到節(jié)點j包括以下兩種情況:第一,數(shù)據(jù)包從源節(jié)點到目的節(jié)點的過程中,節(jié)點1并不增加蘇醒時隙,而是保持原來的工作方式不變,然后在從節(jié)點1到節(jié)點j總共增加了h個蘇醒時隙;第二,數(shù)據(jù)包從源節(jié)點到其下一跳節(jié)點1,為了減少休眠延遲期望值,節(jié)點1增加一次蘇醒時隙,從節(jié)點1到節(jié)點j增加了h-1次蘇醒時隙。根據(jù)上面考慮的兩種情況和公式(2),可以通過迭代計算出增加h次蘇醒時隙后,節(jié)點i和節(jié)點j之間的端到端休眠延遲的期望值。因此,可以得到以下公式得到增加h次蘇醒時隙所能達到的源節(jié)點i到目的節(jié)點j的最小延遲期望值為式中,表示新增蘇醒時隙后節(jié)點i和j之間的延遲期望值;是一個組合公式,表示在源節(jié)點沒有增加蘇醒時隙,而從源節(jié)點到節(jié)點j增加了h次蘇醒時隙次數(shù)的情況下,節(jié)點i到節(jié)點j的延遲期望值,t'表示節(jié)點j收到數(shù)據(jù)包的時刻;是一個組合公式,表示源節(jié)點增加了一次蘇醒時隙,而從源節(jié)點到節(jié)點j增加了h-1次蘇醒時隙后節(jié)點i到節(jié)點j的延遲期望值,t'表示節(jié)點j-1收到數(shù)據(jù)包的時刻,的具體值的獲得可結(jié)合公式(1)至公式(3)獲得。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。