一種異頻無線傳感器網(wǎng)絡(luò)中的初始組網(wǎng)與路由方法
【專利摘要】本發(fā)明提出了一種異頻無線傳感器網(wǎng)絡(luò)中的初始組網(wǎng)與路由方法,在多個異頻基站存在的條件下,普通節(jié)點通過輪詢偵聽與消息交互,同時實現(xiàn)初始組網(wǎng)與路由,完成網(wǎng)絡(luò)在無人干預(yù)下的自組織運行,從而為普通節(jié)點與異頻基站的組網(wǎng)提供一種高效、快速的手段。同時,采用逆向路由方法,在網(wǎng)絡(luò)中的傳感數(shù)據(jù)向基站匯聚提供支持。本發(fā)明將輪詢偵聽與逆向路由學(xué)節(jié)相結(jié)合,能夠有效地解決存在多個異頻基站的條件下,無線傳感器網(wǎng)絡(luò)的初始組網(wǎng)問題;同時將路由建立與節(jié)點初始入網(wǎng)有機(jī)地結(jié)合在一起,所生成的路徑能夠為后續(xù)的傳感數(shù)據(jù)收集匯聚以及基站向普通節(jié)點下發(fā)指令提供保障;而路由路徑根據(jù)網(wǎng)絡(luò)拓?fù)渥兓瘎討B(tài)更新,支持具有移動性的無線傳感器網(wǎng)絡(luò)。
【專利說明】一種異頻無線傳感器網(wǎng)絡(luò)中的初始組網(wǎng)與路由方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無線網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體為一種異頻無線傳感器網(wǎng)絡(luò)中的初始組網(wǎng)與路由方法,應(yīng)用于具有多個工作頻率且隨機(jī)投放在監(jiān)測區(qū)域的無線傳感器網(wǎng)。
【背景技術(shù)】
[0002]無線傳感器網(wǎng)絡(luò)是由一組傳感器節(jié)點和基站構(gòu)成的一類無線多跳網(wǎng)絡(luò)。傳感器節(jié)點負(fù)責(zé)收集所在區(qū)域內(nèi)的信息,并通過多跳方式將數(shù)據(jù)傳遞給基站;基站則負(fù)責(zé)分析和處理來自網(wǎng)絡(luò)中各節(jié)點的數(shù)據(jù)。
[0003]在傳感器網(wǎng)絡(luò)應(yīng)用中,通常情況下傳感器節(jié)點被放置在沒有基礎(chǔ)結(jié)構(gòu)的地方,傳感器節(jié)點的位置往往不能預(yù)先確定,節(jié)點之間的相互鄰居關(guān)系也不能預(yù)先獲知。例如,通過飛機(jī)播撒大量傳感器節(jié)點到面積廣闊的原始森林中,或隨意放置到人類不可到達(dá)的危險的區(qū)域。因而無線傳感器網(wǎng)絡(luò)具有自組織的能力,能夠自動進(jìn)行配置和管理,通過拓?fù)淇刂茩C(jī)制和網(wǎng)絡(luò)協(xié)議自組織地形成多跳轉(zhuǎn)發(fā)的通信系統(tǒng)。
[0004]為了減少沖突,網(wǎng)絡(luò)中的基站可以采用不同的工作頻率。網(wǎng)絡(luò)在布設(shè)前,各基站預(yù)先設(shè)置一個工作頻率。然而,由于基站位置的不可預(yù)知性,網(wǎng)絡(luò)拓?fù)涞碾S機(jī)性,不能預(yù)先為普通節(jié)點設(shè)置固定的工作頻率。為此,目前已有了一些分簇方法:
[0005]I)低能耗分族方法(參見文獻(xiàn):W.R.Heinzelman, A.Chandrakasan andH.Balakrishnan.Energy-Efficient Communicat1n Protocol for WirelessMicrosensor Networks.33rd Hawaii Internat1nal Conference on SystemSciences, Hawaii, USA, 2000)。該方法的基本思想是在全網(wǎng)范圍內(nèi)周期性隨機(jī)選取簇首,未選舉成為簇首的節(jié)點選擇最近的相鄰簇首加入簇。在該方法中,簇首的周期性隨機(jī)選舉使得網(wǎng)絡(luò)中每個節(jié)點都可以周期性擔(dān)任簇首,從而使得網(wǎng)絡(luò)能耗均衡;另外,簇首的數(shù)據(jù)融合處理能夠減少網(wǎng)絡(luò)中冗余數(shù)據(jù)信息,降低數(shù)據(jù)傳輸開銷。
[0006]2)權(quán)重分族方法(參見文獻(xiàn):M.Chatterjee, S.K.Das and D.Turgut.WCA: AWeighted Clustering Algorithm for Mobile Ad Hoc Networks.Cluster Computing Journal, 2002, vol.5,n0.2,pp.193-204)。該方法是一種經(jīng)典的基于節(jié)點度的分簇方法。該方法將節(jié)點的度、收發(fā)能量和剩余能量作為選舉簇首的依據(jù),并限制形成分簇的大小(簇節(jié)點數(shù)過大時,簇內(nèi)通信將消耗大量能量)以節(jié)省能量消耗。該方法比先前提出的分簇算法考慮得更為全面,并且通過實驗證明,性能也更加優(yōu)越。該方法的主要缺點是分簇初始化前,它需要獲取節(jié)點的權(quán)重,要求每個節(jié)點向網(wǎng)絡(luò)中擴(kuò)散自己信息,并保存其他所有的節(jié)點信息,大量的計算和通信開銷導(dǎo)致其分簇開銷較大。簇首在完成匯聚和轉(zhuǎn)發(fā)功能的過程中,分簇的開銷也會導(dǎo)致其能量消耗過快而過快死亡,導(dǎo)致網(wǎng)絡(luò)拓?fù)涞牟环€(wěn)定。
[0007]3)定向天線分簇方法(參見文獻(xiàn):Y.C.Chen and C.Y.Wen.DistributedClustering With Direct1nal Antennas for Wireless Sensor Networks.1EEE SensorsJournal, 2013.vol.13,n0.6,pp.2166-2180)。該方法適用于采用定向天線的無線傳感器網(wǎng)絡(luò)中的分簇。該方法旨在減少協(xié)議開銷,并保證網(wǎng)絡(luò)的連通性。該方法采用了隨機(jī)等待時鐘、局部判決等手段,提高分簇性能。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的就是要提供一種異頻無線傳感器網(wǎng)絡(luò)中的初始組網(wǎng)與路由方法,在多個異頻基站存在的條件下,普通節(jié)點通過輪詢偵聽與消息交互,同時實現(xiàn)初始組網(wǎng)與路由,完成網(wǎng)絡(luò)在無人干預(yù)下的自組織運行,從而為普通節(jié)點與異頻基站的組網(wǎng)提供一種高效、快速的手段。同時,采用逆向路由方法,在網(wǎng)絡(luò)中的傳感數(shù)據(jù)向基站匯聚提供支持。
[0009]本發(fā)明中異頻無線傳感器網(wǎng)絡(luò)的初始組網(wǎng)與路由方法的原理:
[0010]網(wǎng)絡(luò)中存在兩類節(jié)點:基站和普通節(jié)點。其中,基站具有的無線接口具有固定工作頻率,采用半雙工方式進(jìn)行無線信道的訪問;普通節(jié)點的無線接口能夠在系統(tǒng)所使用的頻率集上進(jìn)行動態(tài)切換,也采用半雙工方式進(jìn)行無線信道的訪問。網(wǎng)絡(luò)中的各節(jié)點被隨機(jī)投放于監(jiān)測區(qū)域內(nèi),并開機(jī)啟動。
[0011]各基站在各自的工作頻率上周期性廣播入網(wǎng)通告消息?;靖浇€未入網(wǎng)的普通節(jié)點周期性地切換工作頻率,偵聽廣播入網(wǎng)通告消息。當(dāng)未入網(wǎng)節(jié)點收到入網(wǎng)通告消息后,將工作頻率鎖定在當(dāng)前頻率上,并向基站發(fā)送入網(wǎng)請求消息?;臼盏饺刖W(wǎng)請求消息后,向未入網(wǎng)節(jié)點應(yīng)答入網(wǎng)確認(rèn)消息。收到入網(wǎng)確認(rèn)消息后,節(jié)點完成入網(wǎng)過程。已入網(wǎng)節(jié)點轉(zhuǎn)發(fā)入網(wǎng)通告消息。由此,從基站附近的節(jié)點開始,隨著更多節(jié)點的入網(wǎng),入網(wǎng)通告消息逐漸擴(kuò)散到全網(wǎng),完成網(wǎng)絡(luò)的初始組網(wǎng)過程。
[0012]節(jié)點在接收到入網(wǎng)通告消息后,學(xué)習(xí)以對應(yīng)基站為目的節(jié)點的逆向路由。即將發(fā)送入網(wǎng)通告消息節(jié)點作為上一跳節(jié)點,以路徑長度為標(biāo)準(zhǔn),選擇到達(dá)基站的最短路徑。并在網(wǎng)絡(luò)初始組網(wǎng)完成時,形成多顆以基站為根的最短路由樹。節(jié)點發(fā)送的入網(wǎng)請求消息將沿該路由樹遞交到對應(yīng)的基站。同樣,節(jié)點在收到入網(wǎng)請求消息時,也學(xué)習(xí)以發(fā)送請求消息的節(jié)點為目的節(jié)點的逆向路由,即將發(fā)送入網(wǎng)請求消息節(jié)點作為上一跳節(jié)點,以路徑長度為標(biāo)準(zhǔn),選擇到達(dá)請求節(jié)點的最短路徑。同樣,也形成多顆以基站為根的最短路由樹,且與上述最短路由樹路徑方向相反。
[0013]本發(fā)明中異頻無線傳感器網(wǎng)絡(luò)的初始組網(wǎng)與路由方法的主要特點包括:
[0014]1、支持具有多個異頻基站的無線傳感器網(wǎng)絡(luò)初始組網(wǎng)。
[0015]2、通過入網(wǎng)通告消息,節(jié)點入網(wǎng)過程從多個異頻基站附近開始,逐漸擴(kuò)散到全網(wǎng)。
[0016]3、通過逆向路由學(xué)習(xí),在入網(wǎng)過程同時建立樹型路由,支持后續(xù)數(shù)據(jù)匯聚與信令發(fā)布。
[0017]4、支持具有移動性的無線傳感器網(wǎng)絡(luò)。
[0018]5、支持基站和普通節(jié)點的動態(tài)入網(wǎng)與出網(wǎng)。
[0019]本發(fā)明的技術(shù)方案為:
[0020]所述一種異頻無線傳感器網(wǎng)絡(luò)中的初始組網(wǎng)與路由方法,其特征在于:包括以下步驟:
[0021]步驟1:入網(wǎng)通告:
[0022]入網(wǎng)通告過程包括入網(wǎng)通告消息的發(fā)送、入網(wǎng)通告消息的接收以及入網(wǎng)通告消息的轉(zhuǎn)發(fā)三個過程:
[0023]入網(wǎng)通告消息的發(fā)送:
[0024]各基站在開機(jī)啟動后,在設(shè)定的工作頻率上以周期Ta發(fā)送入網(wǎng)通告消息;各基站維護(hù)一個消息序列號,在每次發(fā)送入網(wǎng)通告消息時,該序列號的值加I ;入網(wǎng)通告消息包括<基站地址 >、< 發(fā)送節(jié)點地址 >、< 與基站的間距 > 以及〈序列號 > ;其中,< 發(fā)送節(jié)點地址>設(shè)置為基站地址;〈與基站的間距 > 設(shè)置為O ;〈序列號〉設(shè)置為基站所維護(hù)的消息序列號的值;然后,基站以廣播方式發(fā)送入網(wǎng)通告消息;
[0025]入網(wǎng)通告消息的接收:
[0026]普通節(jié)點在入網(wǎng)前以周期CTa輪詢系統(tǒng)各工作頻率,其中參數(shù)C> I ;當(dāng)普通節(jié)點收到入網(wǎng)通告消息后,鎖定當(dāng)前工作頻率,并將〈序列號 > 值進(jìn)行緩存;如果入網(wǎng)通告消息中的〈序列號 > 不大于緩存中的序列號值,表明該入網(wǎng)通告消息重復(fù)接收,不再處理,否則,按如下方式進(jìn)行處理:
[0027]采用入網(wǎng)通告消息更新路由表項,將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 > 的值,并將到基站的距離設(shè)置為〈與基站的間距 > 的值加I ;如果節(jié)點未入網(wǎng),那么節(jié)點基于所學(xué)路由表項,以單播方式向基站發(fā)送入網(wǎng)請求消息;
[0028]入網(wǎng)通告消息的轉(zhuǎn)發(fā):
[0029]已入網(wǎng)普通節(jié)點收到入網(wǎng)通告消息后,如果該入網(wǎng)通告消息非重復(fù)接收,那么對該入網(wǎng)通告消息進(jìn)行轉(zhuǎn)發(fā):首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,<與基站的間距>的值加I ;然后,將該入網(wǎng)通告消息以廣播方式發(fā)送出去;
[0030]步驟2:入網(wǎng)請求:
[0031]入網(wǎng)請求過程包括入網(wǎng)請求消息的發(fā)送、入網(wǎng)請求消息的接收以及入網(wǎng)請求消息的轉(zhuǎn)發(fā)三個過程:
[0032]入網(wǎng)請求消息的發(fā)送:
[0033]未入網(wǎng)普通節(jié)點收到入網(wǎng)通告消息后,以單播方式向?qū)?yīng)基站發(fā)送入網(wǎng)請求消息:入網(wǎng)請求消息包括〈基站地址 >、〈請求節(jié)點地址 >、〈發(fā)送節(jié)點地址 >、〈接收節(jié)點地址>、<與請求節(jié)點的間距 > ;其中,< 請求節(jié)點地址 > 和〈發(fā)送節(jié)點地址 > 都設(shè)置為本節(jié)點地址,< 接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,< 與請求節(jié)點的間距 > 設(shè)置為O ;
[0034]A網(wǎng)請求消息的接收:
[0035]節(jié)點在收到入網(wǎng)請求消息后,學(xué)習(xí)以〈請求節(jié)點地址 > 為目的地址的路由表項,將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 > 的值,并將到目的節(jié)點的距離設(shè)置為〈與請求節(jié)點的間距 > 的值加I ;
[0036]如果本節(jié)點地址與〈基站地址〉相同,那么執(zhí)行入網(wǎng)確認(rèn)過程;如果本節(jié)點不是基站,且地址與〈接收節(jié)點地址〉相同,那么執(zhí)行入網(wǎng)請求消息的轉(zhuǎn)發(fā);否則,丟棄該入網(wǎng)請求消息;
[0037]入網(wǎng)請求消息的轉(zhuǎn)發(fā):
[0038]普通節(jié)點收到入網(wǎng)請求消息后,如果不丟棄,那么本節(jié)點根據(jù)已經(jīng)學(xué)習(xí)到的以基站為目的節(jié)點的路由,向基站轉(zhuǎn)發(fā)該入網(wǎng)請求消息:首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,〈接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,〈與請求節(jié)點的間距 > 的值加I ;然后,將該入網(wǎng)請求消息以單播方式發(fā)送出去;
[0039]步驟3:入網(wǎng)確認(rèn):
[0040]入網(wǎng)確認(rèn)過程包括入網(wǎng)確認(rèn)消息的發(fā)送、入網(wǎng)確認(rèn)消息的接收以及入網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā)三個過程:
[0041]入網(wǎng)確認(rèn)消息的發(fā)送:
[0042]基站收到未入網(wǎng)普通節(jié)點的入網(wǎng)請求消息后,以單播方式向該請求節(jié)點發(fā)送入網(wǎng)確認(rèn)消息;入網(wǎng)確認(rèn)消息包括〈基站地址 >、〈請求節(jié)點地址 >、〈發(fā)送節(jié)點地址 >、〈接收節(jié)點地址 >、〈與基站的間距 > ;其中,〈基站地址 > 和〈發(fā)送節(jié)點地址 > 都設(shè)置為本基站地址,<請求節(jié)點地址 > 設(shè)置為發(fā)送入網(wǎng)請求消息的節(jié)點地址,< 接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,< 與基站的間距 > 設(shè)置為O ;
[0043]A網(wǎng)確認(rèn)消息的接收:
[0044]節(jié)點在收到入網(wǎng)確認(rèn)消息后,學(xué)習(xí)以〈基站地址 > 為目的地址的路由表項,將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 > 的值,并將到目的節(jié)點的距離設(shè)置為〈與基站的間距 > 的值加I ;
[0045]如果本節(jié)點地址與〈請求節(jié)點地址 > 相同,那么節(jié)點完成入網(wǎng)確認(rèn)過程,正式加入網(wǎng)絡(luò);如果本節(jié)點與〈請求節(jié)點地址 > 不同,但與〈接收節(jié)點地址 > 相同,那么執(zhí)行入網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā)步驟;否則,丟棄該入網(wǎng)確認(rèn)消息;
[0046]A網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā):
[0047]普通節(jié)點收到入網(wǎng)確認(rèn)消息后,如果不丟棄,那么本節(jié)點根據(jù)已經(jīng)學(xué)習(xí)到的以請求節(jié)點為目的節(jié)點的路由,轉(zhuǎn)發(fā)該入網(wǎng)請求消息:首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,< 接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,< 與基站的間距 > 的值加I ;然后,將該入網(wǎng)確認(rèn)消息以單播方式發(fā)送出去;
[0048]步驟4:入網(wǎng)維持:
[0049]分為普通節(jié)點入網(wǎng)維持、普通節(jié)點出網(wǎng)、基站出網(wǎng)三個過程:
[0050]普通節(jié)點入網(wǎng)維持:
[0051]已入網(wǎng)普通節(jié)點以周期T,,向基站發(fā)送入網(wǎng)請求消息;
[0052]普通節(jié)點出網(wǎng):
[0053]如果基站在KTq時間內(nèi)沒有收到已入網(wǎng)節(jié)點的任何消息,則表示該節(jié)點出網(wǎng),其中,參數(shù)K > I ;基站將包含該節(jié)點的路由表項刪除;
[0054]基站出網(wǎng):
[0055]如果已入網(wǎng)節(jié)點在LTa時間內(nèi)沒有收到對應(yīng)基站的任何消息,則表示該基站已經(jīng)出網(wǎng),其中,參數(shù)L> I ;節(jié)點將包含該基站的路由表項刪除,回到未入網(wǎng)狀態(tài),并依入網(wǎng)通告過程中的入網(wǎng)通告消息接收過程進(jìn)行操作。
[0056]有益效果
[0057]本發(fā)明與傳統(tǒng)的無線傳感器網(wǎng)絡(luò)組網(wǎng)方法相比,將輪詢偵聽與逆向路由學(xué)節(jié)相結(jié)合,即考慮了異頻基站對初始組網(wǎng)的影響,又考慮了后續(xù)數(shù)據(jù)匯聚與信令發(fā)布的路由需求,能夠有效地解決存在多個異頻基站的條件下,無線傳感器網(wǎng)絡(luò)的初始組網(wǎng)問題;并且將節(jié)點初始入網(wǎng)過程中實現(xiàn)了同時完成了節(jié)點頻率的選擇與基站接入;同時將路由建立與節(jié)點初始入網(wǎng)有機(jī)地結(jié)合在一起,所生成的路徑能夠為后續(xù)的傳感數(shù)據(jù)收集匯聚以及基站向普通節(jié)點下發(fā)指令提供保障;而路由路徑根據(jù)網(wǎng)絡(luò)拓?fù)渥兓瘎討B(tài)更新,支持具有移動性的無線傳感器網(wǎng)絡(luò);最后本發(fā)明也支持基站與普通節(jié)點的動態(tài)入網(wǎng)與出網(wǎng)。
【專利附圖】
【附圖說明】
[0058]圖1普通節(jié)點運行的狀態(tài)圖。
[0059]圖2入網(wǎng)通告消息的接收與處理的過程。
[0060]圖3入網(wǎng)請求消息的接收與處理過程。
[0061]圖4入網(wǎng)確認(rèn)消息的接收與處理過程。
【具體實施方式】
[0062]下面結(jié)合具體實施例描述本發(fā)明:
[0063]系統(tǒng)包含多個基站和多個普通節(jié)點,每個基站的工作頻率可以不同。通過飛行器播撒等方式,將上述節(jié)點隨機(jī)地布設(shè)于監(jiān)測區(qū)域內(nèi),并構(gòu)成一個無線傳感器網(wǎng)絡(luò)。網(wǎng)絡(luò)在開機(jī)啟動后,采用本發(fā)明中所述方法完成初始組網(wǎng)與路由建立。普通節(jié)點通過所建立的路由路徑,將所收集的傳感數(shù)據(jù)匯集到對應(yīng)基站。基點也能通過所建立的路由路徑,向與之關(guān)聯(lián)的普通節(jié)點發(fā)布控制指令。
[0064]具體的過程如下:
[0065]步驟1:入網(wǎng)通告:
[0066]入網(wǎng)通告過程包括入網(wǎng)通告消息的發(fā)送、入網(wǎng)通告消息的接收以及入網(wǎng)通告消息的轉(zhuǎn)發(fā)三個過程。
[0067]入網(wǎng)通告消息的發(fā)送:
[0068]各基站在開機(jī)啟動后,在設(shè)定的工作頻率上以周期Ta發(fā)送入網(wǎng)通告消息;各基站維護(hù)一個消息序列號,在每次發(fā)送入網(wǎng)通告消息時,該序列號的值加I ;入網(wǎng)通告消息包括<基站地址 >、< 發(fā)送節(jié)點地址 >、< 與基站的間距 > 以及〈序列號 > ;其中,< 發(fā)送節(jié)點地址>設(shè)置為基站地址;〈與基站的間距 > 設(shè)置為O ;〈序列號〉設(shè)置為基站所維護(hù)的消息序列號的值;然后,基站以廣播方式發(fā)送入網(wǎng)通告消息。
[0069]入網(wǎng)通告消息的接收:
[0070]普通節(jié)點在入網(wǎng)前以周期CTa輪詢系統(tǒng)各工作頻率,其中參數(shù)C> I ;當(dāng)普通節(jié)點收到入網(wǎng)通告消息后,鎖定當(dāng)前工作頻率,并將〈序列號 > 值進(jìn)行緩存;如果入網(wǎng)通告消息中的〈序列號 > 不大于緩存中的序列號值,表明該入網(wǎng)通告消息重復(fù)接收,不再處理,否則,按如下方式進(jìn)行處理:
[0071]采用入網(wǎng)通告消息更新路由表項,將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 > 的值,并將到基站的距離設(shè)置為〈與基站的間距 > 的值加I ;如果節(jié)點未入網(wǎng),那么節(jié)點基于所學(xué)路由表項,以單播方式向基站發(fā)送入網(wǎng)請求消息。
[0072]入網(wǎng)通告消息的轉(zhuǎn)發(fā):
[0073]已入網(wǎng)普通節(jié)點收到入網(wǎng)通告消息后,如果該入網(wǎng)通告消息非重復(fù)接收,那么對該入網(wǎng)通告消息進(jìn)行轉(zhuǎn)發(fā):首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,<與基站的間距>的值加I ;然后,將該入網(wǎng)通告消息以廣播方式發(fā)送出去。
[0074]步驟2:入網(wǎng)請求:
[0075]入網(wǎng)請求過程包括入網(wǎng)請求消息的發(fā)送、入網(wǎng)請求消息的接收以及入網(wǎng)請求消息的轉(zhuǎn)發(fā)三個過程。
[0076]入網(wǎng)請求消息的發(fā)送:
[0077]未入網(wǎng)普通節(jié)點收到入網(wǎng)通告消息后,向?qū)?yīng)基站發(fā)送入網(wǎng)請求消息。由于在入網(wǎng)通告過程中,普通節(jié)點已經(jīng)學(xué)習(xí)到了以基站為目的節(jié)點的路由,因而未入網(wǎng)普通節(jié)點將以單播方式向基站發(fā)送入網(wǎng)請求消息。入網(wǎng)請求消息包括〈基站地址 >、〈請求節(jié)點地址>、<發(fā)送節(jié)點地址 >、< 接收節(jié)點地址 >、< 與請求節(jié)點的間距 > ;其中,〈請求節(jié)點地址 > 和〈發(fā)送節(jié)點地址〉都設(shè)置為本節(jié)點地址,〈接收節(jié)點地址〉設(shè)置為路由表項中下一跳地址,<與請求節(jié)點的間距〉設(shè)置為O。
[0078]A網(wǎng)請求消息的接收:
[0079]節(jié)點在收到入網(wǎng)請求消息后,學(xué)習(xí)以〈請求節(jié)點地址 > 為目的地址的路由表項。將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 > 的值,并將到目的節(jié)點的距離設(shè)置為〈與請求節(jié)點的間距 > 的值加I。
[0080]如果本節(jié)點地址與〈基站地址〉相同,那么執(zhí)行入網(wǎng)確認(rèn)過程;如果本節(jié)點不是基站,且地址與〈接收節(jié)點地址〉相同,那么執(zhí)行入網(wǎng)請求消息的轉(zhuǎn)發(fā);否則,丟棄該入網(wǎng)請求消息。
[0081]入網(wǎng)請求消息的轉(zhuǎn)發(fā):
[0082]普通節(jié)點收到入網(wǎng)請求消息后,如果不丟棄,那么本節(jié)點根據(jù)已經(jīng)學(xué)習(xí)到的以基站為目的節(jié)點的路由,向基站轉(zhuǎn)發(fā)該入網(wǎng)請求消息:首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,〈接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,〈與請求節(jié)點的間距 > 的值加I ;然后,將該入網(wǎng)請求消息以單播方式發(fā)送出去。
[0083]步驟3:入網(wǎng)確認(rèn):
[0084]入網(wǎng)確認(rèn)過程包括入網(wǎng)確認(rèn)消息的發(fā)送、入網(wǎng)確認(rèn)消息的接收以及入網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā)三個過程。
[0085]入網(wǎng)確認(rèn)消息的發(fā)送:
[0086]基站收到未入網(wǎng)普通節(jié)點的入網(wǎng)請求消息后,向該請求節(jié)點發(fā)送入網(wǎng)確認(rèn)消息。由于在入網(wǎng)請求過程中,基站已經(jīng)學(xué)習(xí)到了以請求節(jié)點為目的節(jié)點的路由,因而基站將以單播方式向請求節(jié)點發(fā)送入網(wǎng)確認(rèn)消息。入網(wǎng)確認(rèn)消息包括〈基站地址 >、〈請求節(jié)點地址>、<發(fā)送節(jié)點地址 >、< 接收節(jié)點地址 >、< 與基站的間距 > ;其中,< 基站地址 > 和〈發(fā)送節(jié)點地址 > 都設(shè)置為本基站地址,< 請求節(jié)點地址 > 設(shè)置為發(fā)送入網(wǎng)請求消息的節(jié)點地址,<接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,< 與基站的間距 > 設(shè)置為O。
[0087]A網(wǎng)確認(rèn)消息的接收:
[0088]節(jié)點在收到入網(wǎng)確認(rèn)消息后,學(xué)習(xí)以〈基站地址 > 為目的地址的路由表項。將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 > 的值,并將到目的節(jié)點的距離設(shè)置為〈與基站的間距>的值加I ;
[0089]如果本節(jié)點地址與〈請求節(jié)點地址 > 相同,那么節(jié)點完成入網(wǎng)確認(rèn)過程,正式加入網(wǎng)絡(luò);如果本節(jié)點與〈請求節(jié)點地址 > 不同,但與〈接收節(jié)點地址 > 相同,那么執(zhí)行入網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā)步驟;否則,丟棄該入網(wǎng)確認(rèn)消息;
[0090]A網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā):
[0091]普通節(jié)點收到入網(wǎng)確認(rèn)消息后,如果不丟棄,那么本節(jié)點根據(jù)已經(jīng)學(xué)習(xí)到的以請求節(jié)點為目的節(jié)點的路由,轉(zhuǎn)發(fā)該入網(wǎng)請求消息:首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,< 接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,< 與基站的間距 > 的值加I;然后,將該入網(wǎng)確認(rèn)消息以單播方式發(fā)送出去。
[0092]步驟4:入網(wǎng)維持:
[0093]分為普通節(jié)點入網(wǎng)維持、普通節(jié)點出網(wǎng)、基站出網(wǎng)三個過程:
[0094]普通節(jié)點入網(wǎng)維持:
[0095]已入網(wǎng)普通節(jié)點以周期T,,向基站發(fā)送入網(wǎng)請求消息;
[0096]普通節(jié)點出網(wǎng):
[0097]如果基站在KTq時間內(nèi)沒有收到已入網(wǎng)節(jié)點的任何消息(包括入網(wǎng)通告、入網(wǎng)請求、入網(wǎng)確認(rèn)以及數(shù)據(jù)消息),則表示該節(jié)點出網(wǎng),其中,參數(shù)K > I ;基站將包含該節(jié)點的路由表項刪除;
[0098]基站出網(wǎng):
[0099]如果已入網(wǎng)節(jié)點在LTa時間內(nèi)沒有收到對應(yīng)基站的任何消息,則表示該基站已經(jīng)出網(wǎng),其中,參數(shù)L> I ;節(jié)點將包含該基站的路由表項刪除,回到未入網(wǎng)狀態(tài),并依入網(wǎng)通告過程中的入網(wǎng)通告消息接收過程進(jìn)行操作。
[0100]這樣隨著節(jié)點能量的消耗,網(wǎng)絡(luò)在工作一段時間后,將出現(xiàn)節(jié)點出網(wǎng)。本發(fā)明中所述方法能夠在普通節(jié)點出網(wǎng)時,維持網(wǎng)絡(luò)中的路由;并在基站出網(wǎng)時,實現(xiàn)普通節(jié)點的重入網(wǎng)。
[0101]在網(wǎng)絡(luò)運行過程中,例如在一部分節(jié)點耗盡能量時,還可以向網(wǎng)絡(luò)中補(bǔ)充投放新的基站和普通節(jié)點。本發(fā)明中所述方法能夠在增加新基站和普通節(jié)點時,動態(tài)地適應(yīng)網(wǎng)絡(luò)拓?fù)涞淖兓瑢崿F(xiàn)新節(jié)點的入網(wǎng)與路由建立。
【權(quán)利要求】
1.一種異頻無線傳感器網(wǎng)絡(luò)中的初始組網(wǎng)與路由方法,其特征在于:包括以下步驟: 步驟1:入網(wǎng)通告: 入網(wǎng)通告過程包括入網(wǎng)通告消息的發(fā)送、入網(wǎng)通告消息的接收以及入網(wǎng)通告消息的轉(zhuǎn)發(fā)三個過程: 入網(wǎng)通告消息的發(fā)送: 各基站在開機(jī)啟動后,在設(shè)定的工作頻率上以周期13發(fā)送入網(wǎng)通告消息;各基站維護(hù)一個消息序列號,在每次發(fā)送入網(wǎng)通告消息時,該序列號的值加1 ;入網(wǎng)通告消息包括〈基站地址 ?、〈發(fā)送節(jié)點地址 ?、〈與基站的間距 ? 以及〈序列號 ? ;其中,〈發(fā)送節(jié)點地址 ? 設(shè)置為基站地址;〈與基站的間距 ? 設(shè)置為0 ;〈序列號 ? 設(shè)置為基站所維護(hù)的消息序列號的值;然后,基站以廣播方式發(fā)送入網(wǎng)通告消息; 入網(wǎng)通告消息的接收: 普通節(jié)點在入網(wǎng)前以周期輪詢系統(tǒng)各工作頻率,其中參數(shù)? 1 ;當(dāng)普通節(jié)點收到入網(wǎng)通告消息后,鎖定當(dāng)前工作頻率,并將〈序列號 ? 值進(jìn)行緩存;如果入網(wǎng)通告消息中的?序列號 ? 不大于緩存中的序列號值,表明該入網(wǎng)通告消息重復(fù)接收,不再處理,否則,按如下方式進(jìn)行處理: 采用入網(wǎng)通告消息更新路由表項,將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址〉的值,并將到基站的距離設(shè)置為〈與基站的間距 ? 的值加1 ;如果節(jié)點未入網(wǎng),那么節(jié)點基于所學(xué)路由表項,以單播方式向基站發(fā)送入網(wǎng)請求消息; 入網(wǎng)通告消息的轉(zhuǎn)發(fā): 已入網(wǎng)普通節(jié)點收到入網(wǎng)通告消息后,如果該入網(wǎng)通告消息非重復(fù)接收,那么對該入網(wǎng)通告消息進(jìn)行轉(zhuǎn)發(fā):首先,將〈發(fā)送節(jié)點地址 ? 設(shè)置為本節(jié)點地址,? 與基站的間距 ? 的值加1 ;然后,將該入網(wǎng)通告消息以廣播方式發(fā)送出去; 步驟2:入網(wǎng)請求: 入網(wǎng)請求過程包括入網(wǎng)請求消息的發(fā)送、入網(wǎng)請求消息的接收以及入網(wǎng)請求消息的轉(zhuǎn)發(fā)三個過程: 入網(wǎng)請求消息的發(fā)送: 未入網(wǎng)普通節(jié)點收到入網(wǎng)通告消息后,以單播方式向?qū)?yīng)基站發(fā)送入網(wǎng)請求消息:入網(wǎng)請求消息包括〈基站地址 ?、? 請求節(jié)點地址 ?、? 發(fā)送節(jié)點地址 ?、? 接收節(jié)點地址?、?與請求節(jié)點的間距 ? ;其中,〈請求節(jié)點地址 ? 和〈發(fā)送節(jié)點地址 ? 都設(shè)置為本節(jié)點地址,?接收節(jié)點地址 ? 設(shè)置為路由表項中下一跳地址,? 與請求節(jié)點的間距 ? 設(shè)置為0 ; 入網(wǎng)請求消息的接收: 節(jié)點在收到入網(wǎng)請求消息后,學(xué)習(xí)以〈請求節(jié)點地址 ? 為目的地址的路由表項,將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 ? 的值,并將到目的節(jié)點的距離設(shè)置為〈與請求節(jié)點的間距?的值加1 ; 如果本節(jié)點地址與〈基站地址 ? 相同,那么執(zhí)行入網(wǎng)確認(rèn)過程;如果本節(jié)點不是基站,且地址與〈接收節(jié)點地址 ? 相同,那么執(zhí)行入網(wǎng)請求消息的轉(zhuǎn)發(fā);否則,丟棄該入網(wǎng)請求消息; 入網(wǎng)請求消息的轉(zhuǎn)發(fā): 普通節(jié)點收到入網(wǎng)請求消息后,如果不丟棄,那么本節(jié)點根據(jù)已經(jīng)學(xué)習(xí)到的以基站為目的節(jié)點的路由,向基站轉(zhuǎn)發(fā)該入網(wǎng)請求消息:首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,< 接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,< 與請求節(jié)點的間距 > 的值加1 ;然后,將該入網(wǎng)請求消息以單播方式發(fā)送出去; 步驟3:入網(wǎng)確認(rèn): 入網(wǎng)確認(rèn)過程包括入網(wǎng)確認(rèn)消息的發(fā)送、入網(wǎng)確認(rèn)消息的接收以及入網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā)三個過程: 入網(wǎng)確認(rèn)消息的發(fā)送: 基站收到未入網(wǎng)普通節(jié)點的入網(wǎng)請求消息后,以單播方式向該請求節(jié)點發(fā)送入網(wǎng)確認(rèn)消息;入網(wǎng)確認(rèn)消息包括〈基站地址 >、〈請求節(jié)點地址 >、〈發(fā)送節(jié)點地址 >、〈接收節(jié)點地址 >、〈與基站的間距 > ;其中,〈基站地址 > 和〈發(fā)送節(jié)點地址 > 都設(shè)置為本基站地址,〈請求節(jié)點地址 > 設(shè)置為發(fā)送入網(wǎng)請求消息的節(jié)點地址,< 接收節(jié)點地址 > 設(shè)置為路由表項中下一跳地址,< 與基站的間距 > 設(shè)置為0 ; 入網(wǎng)確認(rèn)消息的接收: 節(jié)點在收到入網(wǎng)確認(rèn)消息后,學(xué)習(xí)以〈基站地址 > 為目的地址的路由表項,將下一跳地址設(shè)置為〈發(fā)送節(jié)點地址 > 的值,并將到目的節(jié)點的距離設(shè)置為〈與基站的間距 > 的值加1 ; 如果本節(jié)點地址與〈請求節(jié)點地址〉相同,那么節(jié)點完成入網(wǎng)確認(rèn)過程,正式加入網(wǎng)絡(luò);如果本節(jié)點與〈請求節(jié)點地址 > 不同,但與〈接收節(jié)點地址 > 相同,那么執(zhí)行入網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā)步驟;否則,丟棄該入網(wǎng)確認(rèn)消息; 入網(wǎng)確認(rèn)消息的轉(zhuǎn)發(fā): 普通節(jié)點收到入網(wǎng)確認(rèn)消息后,如果不丟棄,那么本節(jié)點根據(jù)已經(jīng)學(xué)習(xí)到的以請求節(jié)點為目的節(jié)點的路由,轉(zhuǎn)發(fā)該入網(wǎng)請求消息:首先,將〈發(fā)送節(jié)點地址 > 設(shè)置為本節(jié)點地址,〈接收節(jié)點地址〉設(shè)置為路由表項中下一跳地址,〈與基站的間距〉的值加1 ;然后,將該入網(wǎng)確認(rèn)消息以單播方式發(fā)送出去; 步驟4:入網(wǎng)維持: 分為普通節(jié)點入網(wǎng)維持、普通節(jié)點出網(wǎng)、基站出網(wǎng)三個過程: 普通節(jié)點入網(wǎng)維持: 已入網(wǎng)普通節(jié)點以周期?;,向基站發(fā)送入網(wǎng)請求消息; 普通節(jié)點出網(wǎng): 如果基站在KT,時間內(nèi)沒有收到已入網(wǎng)節(jié)點的任何消息,則表示該節(jié)點出網(wǎng),其中,參數(shù)K > 1 ;基站將包含該節(jié)點的路由表項刪除; 基站出網(wǎng): 如果已入網(wǎng)節(jié)點在1^1;時間內(nèi)沒有收到對應(yīng)基站的任何消息,則表示該基站已經(jīng)出網(wǎng),其中,參數(shù)L> 1 ;節(jié)點將包含該基站的路由表項刪除,回到未入網(wǎng)狀態(tài),并依入網(wǎng)通告過程中的入網(wǎng)通告消息接收過程進(jìn)行操作。
【文檔編號】H04W84/18GK104320821SQ201410555649
【公開日】2015年1月28日 申請日期:2014年10月17日 優(yōu)先權(quán)日:2014年10月17日
【發(fā)明者】楊雙懋, 龍曉波, 李 昊, 唐偉, 譚雪松 申請人:中國電子科技集團(tuán)公司第二十九研究所