專利名稱:一種采用定時器和能量閾值機制的spin路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種傳感器網(wǎng)絡(luò)節(jié)點路由方法,尤其是一種采用定時器和能量閾值機制的SPIN路由方法。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由部署在監(jiān)測區(qū)域內(nèi)大量低成本且具有傳感、數(shù)據(jù)處理和無線通信能力的傳感器節(jié)點(sensor node)、匯聚節(jié)點(sinknode)以及任務(wù)管理用戶通過自組織方式形成的網(wǎng)絡(luò)。路由協(xié)議負(fù)責(zé)將數(shù)據(jù)分組從源節(jié)點通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)到目的節(jié)點,實現(xiàn)尋找源節(jié)點和目的節(jié)點間的優(yōu)化路徑,將數(shù)據(jù)分組沿著優(yōu)化路徑正確轉(zhuǎn)發(fā)。在無線傳感器網(wǎng)絡(luò)中,節(jié)點能量有限且一般沒有能量補充,因此路由協(xié)議需要高效利用能量,同時傳感器網(wǎng)絡(luò)節(jié)點數(shù)目往往很大,節(jié)點只能獲取局部拓?fù)浣Y(jié)構(gòu)信息,路由協(xié)議要能在局部網(wǎng)絡(luò)信息的基礎(chǔ)上選擇合適的路徑。作為無線傳感器網(wǎng)絡(luò)中的平面路由的一種,SPIN算法加強了節(jié)點之間的溝通,通過協(xié)商機制來進行節(jié)點間的數(shù)據(jù)傳輸。SPIN算法是一種比較簡單的路由算法,對于計算資源有限的無線傳感器網(wǎng)絡(luò)節(jié)點來說,是很大的優(yōu)勢,邏輯簡單易實現(xiàn)。對于算法的健壯性來說,SPIN算法的健壯性較高,如果有節(jié)點退出了網(wǎng)絡(luò),通過其算法的實現(xiàn)機制能保證網(wǎng)絡(luò)傳輸數(shù)據(jù)的不受影響,可靠地傳輸數(shù)據(jù)。另外,SPIN算法的節(jié)能性較高,可以只花較少的應(yīng)答幀代價,相對于利用廣播形式傳輸數(shù)據(jù)的洪泛算法,大大降低傳輸冗余數(shù)據(jù),節(jié)省了能量。SPIN路由算法中共包含三種消息類型,分別是ADV,REQ和DATA消息。其中,當(dāng)一個SPIN節(jié)點有數(shù)據(jù)要共享時,它就會發(fā)出一條ADV消息。當(dāng)一個SPIN節(jié)點想要接收某些實際的數(shù)據(jù)時,就發(fā)出REQ請求。而DATA消息包含了實際的將要傳輸?shù)臄?shù)據(jù)。SPIN路由算法到目前為此已有大量研究,但并未取得突破性的進展。此類研究主要集中在兩方面:一是節(jié)點的節(jié)能性,另外就是整個無線傳感器網(wǎng)絡(luò)的生命周期的延長。以往的研究SPIN算法在無線傳感器網(wǎng)絡(luò)中的應(yīng)用模型往往過于理想化,還存在很多沒有考慮全面的問題。無線傳感器網(wǎng)絡(luò)的路由在實際情況下是復(fù)雜多變的,使得傳統(tǒng)的SPIN算法不夠完善,在一些情況下也會產(chǎn)生能量的浪費和網(wǎng)絡(luò)消耗能量的不均衡。所以,如何解決這些問題,達到更節(jié)省節(jié)點的能量和延長網(wǎng)絡(luò)生命周期,是本發(fā)明研究的重點。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對上述現(xiàn)有的路由方法,提供一種采用定時器和能量閾值機制的SPIN路由方法,該方法能節(jié)省節(jié)點能量,均衡網(wǎng)絡(luò)能耗,延長無線傳感網(wǎng)絡(luò)生命周期。本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為:通過傳感網(wǎng)中的ADV, REQ和DATA共3種類型的消息以及加上的能量閾值和時間閾值,使得節(jié)點間能夠進行協(xié)商和溝通來傳輸數(shù)據(jù),以達到節(jié)省發(fā)送能量,均衡節(jié)點消耗,延長傳感網(wǎng)網(wǎng)絡(luò)生命周期的目的。本發(fā)明的具體內(nèi)容為:在線性區(qū)域的無線傳感器網(wǎng)絡(luò)分布區(qū)域中,隨機分布N個無線傳感器節(jié)點。當(dāng)一個A節(jié)點獲得了新的數(shù)據(jù)并想傳輸出去時,先對該數(shù)據(jù)進行處理產(chǎn)生ADV消息。經(jīng)過一個由定時器產(chǎn)生的隨機延時,期間如果收到REQ消息則A節(jié)點結(jié)束處理,如果直到延時時間結(jié)束還未收到REQ消息則向鄰節(jié)點發(fā)送ADV消息,等待接收REQ消息。其他節(jié)點收到ADV消息后,先檢驗自己是否已有該數(shù)據(jù),如果是則結(jié)束處理,如果不是則判斷自己的能量情況,如果能量低于能量閾值則節(jié)點結(jié)束處理。如果能量高于能量閾值,先經(jīng)過一個由定時器產(chǎn)生的隨機延遲,期間如果收到REQ消息,節(jié)點結(jié)束處理。如果完成隨機延時還未收到REQ消息,則向鄰節(jié)點發(fā)送REQ消息。A節(jié)點接收到REQ消息,發(fā)送DATA消息,如果等待REQ消息的過程中超過定時器設(shè)定的時間閾值,則重新發(fā)送ADV消息。期間的隨機延時機制避免了信息的重復(fù)發(fā)送或是重復(fù)接收,節(jié)省了能耗,而能量閾值的機制均衡了節(jié)點能耗,延長了網(wǎng)絡(luò)生命周期。本發(fā)明的方法步驟如下:(I)當(dāng)一個A節(jié)點獲得了新的數(shù)據(jù)并想傳輸出去時,先對該數(shù)據(jù)進行處理產(chǎn)生ADV消息。(2)A節(jié)點經(jīng)過一個由定時器產(chǎn)生的隨機延時,才進入待發(fā)送數(shù)據(jù)狀態(tài),期間如果收到REQ消息則A節(jié)點結(jié)束處理,如果直到延時時間結(jié)束還未收到REQ消息則轉(zhuǎn)到(3)。(3)A節(jié)點向鄰節(jié)點發(fā)送ADV消息,等待接收REQ消息。(4)其他節(jié)點收到ADV消息后,先檢查自己是否已有該數(shù)據(jù),如果是則結(jié)束處理,如果不是則判斷自己的能量情況,如果能量低于能量閾值則節(jié)點結(jié)束處理,如果能量高于能量閾值轉(zhuǎn)到(5)。(5)節(jié)點經(jīng)過一個由定時器產(chǎn)生的隨機延時,期間如果收到REQ消息,節(jié)點結(jié)束處理。如果完成隨機延時還未收到REQ消息則轉(zhuǎn)到(6)。(6)節(jié)點向鄰節(jié)點發(fā)送REQ消息。(7) A節(jié)點接收到REQ消息,發(fā)送DATA消息,如果等待REQ消息的過程中超過定時器設(shè)定的時間閾值,則轉(zhuǎn)到
(3)。步驟(I)具體為傳感器網(wǎng)絡(luò)中各節(jié)點將要傳輸?shù)臄?shù)據(jù)進行處理,產(chǎn)生ADV消息,由于這一部分信息量較少,故傳輸時使用能量也較少。步驟(2) (3)具體為要傳輸數(shù)據(jù)的節(jié)點先經(jīng)過一個由定時器產(chǎn)生的隨機延時,期間如果收到REQ消息,表明周圍的其他節(jié)點開始了數(shù)據(jù)傳輸?shù)牧鞒?,自己不必重?fù)發(fā)送,則節(jié)點結(jié)束處理。如果直到延時結(jié)束還未收到REQ消息即向鄰節(jié)點廣播ADV消息。避免了信息的重復(fù)發(fā)送,節(jié)省了能量。步驟(4)具體為其他節(jié)點接收到ADV消息后先檢查自己是否已有該數(shù)據(jù),如果是則結(jié)束處理,如果不是則判斷自己的能量值,如果自身能量值低于能量閾值則節(jié)點結(jié)束處理,如果自身能量值高于能量閾值則進入準(zhǔn)備接收數(shù)據(jù)狀態(tài)。設(shè)定的能量閾值能使得無線傳感器網(wǎng)絡(luò)能量均衡地消耗,延長了其生命周期。步驟(5) (6)具體為高于能量閾值的節(jié)點在發(fā)送REQ消息之前先經(jīng)過一個由定時器產(chǎn)生的隨機延遲。期間如果收到其他節(jié)點發(fā)送的REQ消息,則表明該消息已經(jīng)被其他節(jié)點接收,本節(jié)點結(jié)束處理。如果直到延遲結(jié)束還未收到REQ消息,則本節(jié)點向鄰節(jié)點發(fā)送REQ消息。避免了消息的重復(fù)接收,節(jié)省了能量。6.根據(jù)權(quán)利要求1所描述的一種采用定時器和能量閾值機制的SPIN路由方法,其特征在于:步驟(7)具體為需要進行信息傳輸?shù)墓?jié)點接收到REQ消息后,發(fā)送DATA數(shù)據(jù)。如果等待REQ消息的過程中超過定時器設(shè)定的時間閾值,則本節(jié)點重新向鄰節(jié)點發(fā)送ADV消息。設(shè)定的時間閾值避免了傳輸數(shù)據(jù)的丟失,保證了數(shù)據(jù)的可靠傳輸。本發(fā)明中傳感器網(wǎng)絡(luò)中的數(shù)據(jù)是通過發(fā)送信息量較少的消息進行協(xié)商后進行傳輸?shù)模苊饬藬?shù)據(jù)的重復(fù)發(fā)送和接收,保證了節(jié)點能量的均衡消耗,大大減少能量的消耗。由此可以達到均衡節(jié)點消耗,節(jié)省發(fā)送能量,延長傳感網(wǎng)網(wǎng)絡(luò)生命周期的目的。
圖1為本發(fā)明無線傳感器網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)節(jié)點的狀態(tài)流程 圖2為本發(fā)明無線傳感器網(wǎng)絡(luò)中接收數(shù)據(jù)節(jié)點的狀態(tài)流程圖。
具體實施例方式如圖1、圖2所示,假設(shè)在一個正方形的無線傳感器網(wǎng)絡(luò)區(qū)域中,沒有丟包和隊列延遲,網(wǎng)絡(luò)分布均勻。網(wǎng)絡(luò)節(jié)點的平均鄰居為N,一個節(jié)點將m個字節(jié)的數(shù)據(jù)傳輸?shù)侥康墓?jié)點,節(jié)點發(fā)送一個字節(jié)消耗能量
E s,節(jié)點接受一個字節(jié)消耗能量Bf,ADV和REQ消息為L字節(jié)。設(shè)定的能量閾值為馬,設(shè)定的時間閾值為。1.對于傳感網(wǎng)中任一節(jié)點A,需要轉(zhuǎn)發(fā)m個字節(jié)數(shù)據(jù),節(jié)點A將數(shù)據(jù)信息處理產(chǎn)生ADV消息。在發(fā)送ADV消息之前節(jié)點A有一個由定時器產(chǎn)生的隨機延時,如果在延時期間接收到REQ消息,則節(jié)點A結(jié)束處理。如果直到延遲結(jié)束還未收到REQ消息,則A節(jié)點發(fā)
送ADV消息,消耗(N-1) L E5的能量。2.A節(jié)點的鄰節(jié)點收到ADV消息后,先檢查自己是否已有該數(shù)據(jù),如果是則結(jié)束處理,如果不是則判斷自己的能量,如果能量低于能量閾值耳則結(jié)束處理,如果能量高于
能量閾值馬,則進入一個由定時器產(chǎn)生的隨機延時。其中接收ADV消息,消耗L Et的能量。3.在隨機延時期間如果本節(jié)點收到REQ消息則結(jié)束處理,如果這個隨機延時結(jié)束還未收到REQ消息則本節(jié)點向鄰節(jié)點發(fā)送REQ消息,消耗(N-1)L E:的能量。4.A節(jié)點接收到鄰節(jié)點發(fā)送的REQ消息后,向其發(fā)送DATA+m個字節(jié)信息,消耗(m+L) Es的能量。節(jié)點接收DATA+m個字節(jié)信息,消耗(m+L) 的能量。5.如果A節(jié)點在發(fā)送ADV消息后過了定時器設(shè)定的的時間閾值仍未收到REQ消息,則A節(jié)點重新發(fā)送ADV消息。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:將定時器產(chǎn)生的隨機延時、能量閾值和定時器產(chǎn)生的時間閾值結(jié)合起來,避免了信息的重復(fù)發(fā)送和信息的重復(fù)接收,大大減少能量的消耗,可以達到均衡節(jié)點能量,節(jié)省發(fā)送能量,延長傳感網(wǎng)網(wǎng)絡(luò)生命周期的目的。
權(quán)利要求
1.一種采用定時器和能量閾值機制的SPIN路由方法,其特征及方法步驟為: (1)當(dāng)一個A節(jié)點獲得了新數(shù)據(jù)并想傳輸出去時,先對該數(shù)據(jù)進行處理產(chǎn)生ADV消息; (2)A節(jié)點經(jīng)過一個由定時器產(chǎn)生的隨機延時,才進入待發(fā)送數(shù)據(jù)狀態(tài),期間如果收到REQ消息則A節(jié)點結(jié)束處理,如果直到延時時間結(jié)束還未收到REQ消息則轉(zhuǎn)到(3); (3)A節(jié)點向鄰節(jié)點發(fā)送ADV消息,等待接收REQ消息; (4)其他節(jié)點收到ADV消息后,檢查自己是否已有該數(shù)據(jù),如果已有則結(jié)束處理,如果沒有再判斷自己的能量情況,如果能量低于能量閾值則節(jié)點結(jié)束處理,如果能量高于能量閾值則轉(zhuǎn)到(5); (5)節(jié)點經(jīng)過一個由定時器產(chǎn)生的隨機延時,期間如果收到REQ消息則本節(jié)點結(jié)束處理,如果直到延時時間結(jié)束還未收到REQ則轉(zhuǎn)到(6); (6)節(jié)點向鄰節(jié)點發(fā)送REQ消息; (7)A節(jié)點接收到REQ消息,發(fā)送DATA消息,如果等待REQ消息的過程中超過定時器設(shè)定的時間閾值,則轉(zhuǎn)到(3)。
2.根據(jù)權(quán)利要求1所述的一種采用定時器和能量閾值機制的SPIN路由方法,其特征在于:步驟(I)具體為傳感器網(wǎng)絡(luò)中各節(jié)點將要傳輸?shù)臄?shù)據(jù)進行處理,產(chǎn)生ADV消息,由于這一部分信息量較少,故傳輸時使用能量也較少。
3.根據(jù)權(quán)利要求1所述的一種采用定時器和能量閾值機制的SPIN路由方法,其特征在于:步驟(2) (3)具體為要傳輸數(shù)據(jù)的節(jié)點先經(jīng)過一個由定時器產(chǎn)生的隨機延時,期間如果收到REQ消息,表明周圍的其他節(jié)點開始了數(shù)據(jù)傳輸?shù)牧鞒?,自己不必重?fù)發(fā)送,則節(jié)點結(jié)束處理,如果直到延時結(jié)束還未收到REQ消息則向鄰節(jié)點廣播ADV消息。
4.根據(jù)權(quán)利要求1所述的一種采用定時器和能量閾值機制的SPIN路由方法,其特征在于:步驟(4)其他節(jié)點接收到ADV消息后先檢查自己是否已有該數(shù)據(jù),如果是則結(jié)束處理,如果不是則判斷自己的能量值,如果低于能量閾值則節(jié)點結(jié)束處理,如果高于能量閾值則進入準(zhǔn)備接收數(shù)據(jù)狀態(tài),設(shè)定的能量閾值能使得無線傳感器網(wǎng)絡(luò)能量均衡地消耗,延長了無線傳感器網(wǎng)絡(luò)的生命周期。
5.根據(jù)權(quán)利要求1所述的一種采用定時器和能量閾值機制的SPIN路由方法,其特征在于:步驟(5) (6)具體為高于能量閾值的節(jié)點在發(fā)送REQ消息之前先經(jīng)過一個由定時器產(chǎn)生的隨機延時,期間如果收到其他節(jié)點發(fā)送的REQ消息,則表明該消息已經(jīng)被其他節(jié)點接收,本節(jié)點結(jié)束處理,如果直到延遲結(jié)束還未收到REQ消息,則本節(jié)點向鄰節(jié)點發(fā)送REQ消息,避免了消息的重復(fù)接收,節(jié)省了能量。
6.根據(jù)權(quán)利要求1所述的一種采用定時器和能量閾值機制的SPIN路由方法,其特征在于:步驟(7)具體為需要進行數(shù)據(jù)傳輸?shù)墓?jié)點接收到REQ消息后,發(fā)送DATA消息,如果等待REQ消息的過程中超過定時器設(shè)定的時間閾值,則本節(jié)點重新向鄰節(jié)點發(fā)送ADV消息,設(shè)定的時間閾值避免了傳輸數(shù)據(jù)的丟失,保證了數(shù)據(jù)的可靠傳輸。
全文摘要
一種采用定時器和能量閾值機制的SPIN路由方法,SPIN算法是以數(shù)據(jù)為中心的自適應(yīng)路由協(xié)議,本方法中無線傳感網(wǎng)中的節(jié)點間傳輸包含ADV,REQ和DATA共3種類型的消息,當(dāng)節(jié)點有數(shù)據(jù)發(fā)送時通過ADV消息廣播并由定時器產(chǎn)生隨機延時,鄰節(jié)點收到ADV消息后檢查其是否已有該數(shù)據(jù)并在自身能量滿足條件的情況下由定時器產(chǎn)生隨機延時,回復(fù)REQ消息表示愿意傳輸數(shù)據(jù)。協(xié)商達成后數(shù)據(jù)在節(jié)點間進行傳輸。另外,發(fā)送數(shù)據(jù)節(jié)點超過定時器設(shè)定的時間閾值未收到REQ消息則重新發(fā)送ADV消息,以避免信息的丟失。數(shù)據(jù)傳輸過程中,采用本方法的SPIN路由的方式,實現(xiàn)節(jié)省發(fā)送能量和可靠傳輸數(shù)據(jù),達到均衡節(jié)點能量,延長傳感器網(wǎng)絡(luò)生命周期的目的。
文檔編號H04W40/10GK103209457SQ20131000343
公開日2013年7月17日 申請日期2013年1月6日 優(yōu)先權(quán)日2013年1月6日
發(fā)明者漆麗, 龍承志, 虞貴財, 向滿天, 羅建平, 鄒文生, 余堯毅, 周海 申請人:南昌大學(xué)