無(wú)線傳感器網(wǎng)絡(luò)分簇多跳路由協(xié)議的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及的是用于無(wú)線傳感網(wǎng)絡(luò)中的一種分簇多跳路由算法。屬于無(wú)線傳感網(wǎng) 絡(luò)路由控制算法技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 無(wú)線傳感器網(wǎng)絡(luò)目前已經(jīng)成為無(wú)線通信網(wǎng)絡(luò)的研究熱點(diǎn)之一。而網(wǎng)絡(luò)中數(shù)據(jù)的傳 輸離不開(kāi)路由協(xié)議.路由協(xié)議的任務(wù)是在傳感器節(jié)點(diǎn)和匯聚節(jié)點(diǎn)之間建立路由,從而可靠 地傳遞數(shù)據(jù)。由于傳感器網(wǎng)絡(luò)是資源受限的網(wǎng)絡(luò),因此路由協(xié)議的設(shè)計(jì)不能太復(fù)雜,不能在 節(jié)點(diǎn)上保存太多信息,節(jié)點(diǎn)間不能交換太多報(bào)文,等等。為有效完成上述任務(wù),已有的很多 路由協(xié)議大都利用了以下特征:
[0003] (1)由于傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)眾多,無(wú)法為每一個(gè)節(jié)點(diǎn)建立一個(gè)能在網(wǎng)絡(luò)中唯一區(qū) 別的標(biāo)識(shí),因此傳感器節(jié)點(diǎn)按數(shù)據(jù)屬性尋址,而非傳統(tǒng)的基于IP的尋址;
[0004] (2)無(wú)線傳感器網(wǎng)絡(luò)需要從多個(gè)源節(jié)點(diǎn)向一個(gè)匯節(jié)點(diǎn)傳送數(shù)據(jù);
[0005] (3)原始監(jiān)測(cè)數(shù)據(jù)中有大量冗余信息,路由協(xié)議往往合并數(shù)據(jù),減少冗余性,進(jìn)而 降低能量消耗和發(fā)射功耗;
[0006] (4)傳感器節(jié)點(diǎn)的傳輸能力、能量、處理能力和內(nèi)存都非常有限,同時(shí)網(wǎng)絡(luò)又具有 節(jié)點(diǎn)數(shù)量眾多、動(dòng)態(tài)性強(qiáng)、感知數(shù)據(jù)量大等特點(diǎn),所以需要很好地對(duì)網(wǎng)絡(luò)資源進(jìn)行管理。
[0007] 無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議和傳統(tǒng)網(wǎng)絡(luò)路由協(xié)議最大的不同就是高度的應(yīng)用相關(guān) 性,因此,沒(méi)有最好的路由協(xié)議只有最合適的協(xié)議,設(shè)計(jì)者應(yīng)該根據(jù)不同的應(yīng)用場(chǎng)合選擇、 設(shè)計(jì)合適的路由協(xié)議,下面列出了在不同應(yīng)用場(chǎng)合之下協(xié)議的設(shè)計(jì)要求:
[0008] (1)針對(duì)能量高度受限的特點(diǎn),高效利用能量幾乎是設(shè)計(jì)的第一策略;
[0009] (2)針對(duì)包頭開(kāi)銷大、通信耗能、節(jié)點(diǎn)有合作關(guān)系、數(shù)據(jù)有相關(guān)性、節(jié)點(diǎn)能量有限等 特點(diǎn),采用數(shù)據(jù)聚合、過(guò)濾等技術(shù);
[0010] (3)針對(duì)流量特征、通信耗能等特點(diǎn),采用通信量負(fù)載平衡技術(shù);
[0011] (4)針對(duì)節(jié)點(diǎn)少移動(dòng)的特點(diǎn),不維護(hù)其移動(dòng)性;
[0012] (5)針對(duì)網(wǎng)絡(luò)相對(duì)封閉、不提供計(jì)算等特點(diǎn),只在匯聚節(jié)點(diǎn)與其他網(wǎng)絡(luò)互聯(lián);
[0013] (6)針對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)不常編址的特點(diǎn),采用基于數(shù)據(jù)或基于位置的通信機(jī)制;
[0014] (7)針對(duì)節(jié)點(diǎn)易失效的特點(diǎn),采用多路徑機(jī)制。
[0015] 在實(shí)際應(yīng)用中,往往難以兼顧上述所有的設(shè)計(jì)目標(biāo),因此對(duì)于具體的無(wú)線傳感器 網(wǎng)絡(luò)應(yīng)用,應(yīng)針對(duì)具體的要求對(duì)整體設(shè)計(jì)進(jìn)行各方面的權(quán)衡,以實(shí)現(xiàn)網(wǎng)絡(luò)效用最大化。
【發(fā)明內(nèi)容】
[0016] 發(fā)明目的:針對(duì)大型固定場(chǎng)所中分布的同質(zhì)高密度靜態(tài)無(wú)線傳感器節(jié)點(diǎn)所組成的 無(wú)線傳感網(wǎng)絡(luò),本發(fā)明提出了一種基于虛擬網(wǎng)格的分簇多跳路由協(xié)議。
[0017] 技術(shù)方案:為了實(shí)現(xiàn)上述目的,本發(fā)明使用以下技術(shù)方案:
[0018] -種無(wú)線傳感器網(wǎng)絡(luò)分簇多跳路由協(xié)議,具體如下:
[0019] (1)根據(jù)傳感器節(jié)點(diǎn)的物理位置信息和無(wú)線收發(fā)器的工作半徑,將傳感器節(jié)點(diǎn)劃 分到相應(yīng)的大小相等的正方形虛擬網(wǎng)格之中,每個(gè)虛擬網(wǎng)格即為一個(gè)簇;
[0020] (2)傳感器節(jié)點(diǎn)根據(jù)自己的地理位置信息,判斷自己所屬的簇,同一網(wǎng)格之中的節(jié) 點(diǎn)可以相互獲取信息,形成鄰居表;
[0021] (3)在每一簇中擁有兩種角色:簇頭和終端設(shè)備,每一同質(zhì)節(jié)點(diǎn)都能夠根據(jù)一定 的機(jī)制在這兩種角色之間切換。每個(gè)簇中要選舉出一個(gè)簇頭節(jié)點(diǎn),用于接收其他節(jié)點(diǎn)的數(shù) 據(jù),所有簇頭節(jié)點(diǎn)采集的數(shù)據(jù)的最終目的地為匯聚節(jié)點(diǎn)。
[0022] (4)在網(wǎng)絡(luò)運(yùn)行過(guò)程中,簇頭節(jié)點(diǎn)只工作有限的時(shí)間,超時(shí)后動(dòng)態(tài)重新選舉簇頭, 以達(dá)到盡量延長(zhǎng)網(wǎng)絡(luò)壽命的目的。
[0023] (5)匯聚節(jié)點(diǎn)可以發(fā)起查詢命令,簇間根據(jù)最小路徑代價(jià)和簇頭的剩余能量在簇 頭節(jié)點(diǎn)之間建立路由表。
[0024] (6)當(dāng)網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)采集到應(yīng)用相關(guān)的數(shù)據(jù)后,沿著建立的最小代價(jià)路徑 反向路由至匯聚節(jié)點(diǎn),并使用piggyback機(jī)制更新當(dāng)前的路由代價(jià),實(shí)時(shí)修改路由表。
[0025] 進(jìn)一步地,所述(1)中假設(shè)每個(gè)虛擬網(wǎng)格的邊長(zhǎng)為r,相鄰網(wǎng)格中的節(jié)點(diǎn)距離不能 超過(guò)節(jié)點(diǎn)傳輸距離R,既有:
[0026]
[0027] 每個(gè)虛擬網(wǎng)格中的節(jié)點(diǎn)形成網(wǎng)絡(luò)中的一個(gè)簇,每個(gè)簇都有唯一的簇編號(hào),由于節(jié) 點(diǎn)已知其物理位置信息,因此在設(shè)定虛擬網(wǎng)格的尺寸之后,每個(gè)節(jié)點(diǎn)可以根據(jù)自身的物理 位置計(jì)算出其所在的簇編號(hào),簇編號(hào)由兩個(gè)字節(jié)組成,第一個(gè)字節(jié)為簇的X軸編號(hào)iX,第二 個(gè)字節(jié)為簇的Y軸編號(hào)iY,iX和iY由以下公式獲得:
[0028]
[0029] 其中x為節(jié)點(diǎn)在檢測(cè)范圍內(nèi)的x軸坐標(biāo),y作為節(jié)點(diǎn)在監(jiān)測(cè)范圍內(nèi)的y軸坐標(biāo)。
[0030] 進(jìn)一步地,每個(gè)傳感器節(jié)點(diǎn)都有三種狀態(tài):發(fā)現(xiàn)(discovery)、活動(dòng)(active)和睡 眠(sleeping)。處于active狀態(tài)的節(jié)點(diǎn)即為簇頭節(jié)點(diǎn)。在網(wǎng)絡(luò)初始化狀態(tài),所有節(jié)點(diǎn)都處 于發(fā)現(xiàn)狀態(tài),每個(gè)節(jié)點(diǎn)都通過(guò)發(fā)送消息通告自己的位置、ID等信息,經(jīng)過(guò)這個(gè)階段,節(jié)點(diǎn)能 夠得知同一網(wǎng)格中的其他節(jié)點(diǎn)信息。然后,每個(gè)節(jié)點(diǎn)將自己的定時(shí)器設(shè)為某個(gè)區(qū)間內(nèi)的隨 機(jī)值T d。一旦定時(shí)器超時(shí),節(jié)點(diǎn)發(fā)送消息聲明它進(jìn)入活動(dòng)狀態(tài),成為簇頭節(jié)點(diǎn)。節(jié)點(diǎn)如果在 定時(shí)器超時(shí)之前收到來(lái)自同一網(wǎng)格內(nèi)其他節(jié)點(diǎn)的聲明,則進(jìn)入休眠狀態(tài)。
[0031] 所述(3)中用節(jié)點(diǎn)剩余能量模型來(lái)計(jì)算合理的發(fā)現(xiàn)時(shí)間Td:
[0032]
[0033] 其中,簇頭節(jié)點(diǎn)設(shè)定定時(shí)器!;,代表它處于活動(dòng)狀態(tài)的時(shí)間,在Ta超時(shí)前,簇頭不 停發(fā)出聲明,以防止該區(qū)域內(nèi)處于發(fā)現(xiàn)狀態(tài)的節(jié)點(diǎn)進(jìn)入活動(dòng)狀態(tài),1JS時(shí)后,簇頭重新回到 發(fā)現(xiàn)狀態(tài);處于睡眠狀態(tài)的節(jié)點(diǎn)也設(shè)定定時(shí)器T s,待Ts超時(shí)后,也進(jìn)入發(fā)現(xiàn)狀態(tài),進(jìn)入新的 族頭選舉;
[0034] 1^、1'3、1';3的選取和整個(gè)網(wǎng)絡(luò)的生命周期有著重要關(guān)系。其中1^直接影響哪個(gè)節(jié)點(diǎn) 將成為簇頭,Td越小的節(jié)點(diǎn)成為簇頭的可能性越大。因而在簇頭的選舉過(guò)程中,應(yīng)該通過(guò)合 理的選取機(jī)制,使得已經(jīng)作為簇頭工作過(guò)的節(jié)點(diǎn)能夠擁有更大的1,從而降低其再次成為 簇頭進(jìn)入活動(dòng)狀態(tài)的可能性。
[0035] 式中EJTJ為時(shí)刻節(jié)點(diǎn)剩余能量,由T對(duì)刻節(jié)點(diǎn)i累計(jì)接收的n 1數(shù)據(jù)包,發(fā) 送的n2個(gè)數(shù)據(jù)包和節(jié)點(diǎn)的起始能量E init決定:
[0036]
[0037] 式中Et (B)為節(jié)點(diǎn)發(fā)送數(shù)據(jù)能量模型:
[0038] Et(B) = (et+edrn)B
[0039] Er(B)為節(jié)點(diǎn)接收數(shù)據(jù)能量模型:
[0040] Er(B) = erB
[0041] 其中^是傳輸每比特信息消耗的能量,單位是J/b,e d是無(wú)線傳輸過(guò)程中的單位能 量損耗,^和e d的值由節(jié)點(diǎn)發(fā)送器特性決定,參數(shù)n是信道路徑丟失指數(shù),依賴于RF環(huán)境, n值一般是2或4, r是傳輸距離,B是無(wú)線信號(hào)比特;
[0042] 簇頭節(jié)點(diǎn)活動(dòng)時(shí)間?;=--, r
[0043] 其中r為預(yù)期的每節(jié)點(diǎn)擔(dān)任簇頭輪數(shù),enlt為根據(jù)能量估算的節(jié)點(diǎn)生命周期;
[0044] 節(jié)點(diǎn)睡眠時(shí)間設(shè)定為T(mén)s= T a。
[0045] 進(jìn)一步地,所述(5)中在路由表建立的過(guò)程中,通過(guò)交換鄰居節(jié)點(diǎn)能量獲取路徑 代價(jià),逐跳地在每個(gè)簇頭節(jié)點(diǎn)上建立反向的從數(shù)據(jù)源到匯聚節(jié)點(diǎn)的最小代價(jià)路由;
[0046] 初始時(shí)刻,所有節(jié)點(diǎn)已消耗能量為0,匯聚節(jié)點(diǎn)的路徑代價(jià)為0,匯聚節(jié)點(diǎn)首先選 擇距離它最近的簇頭節(jié)點(diǎn)i為第一跳節(jié)點(diǎn),將查詢命令傳輸給節(jié)點(diǎn)i,節(jié)點(diǎn)i在獲取查詢命 令后,如果發(fā)現(xiàn)查詢目標(biāo)屬于其鄰居簇,則直接轉(zhuǎn)發(fā)查詢命令至該鄰居簇;否則,節(jié)點(diǎn)i通 過(guò)能量更新機(jī)制獲得歸一化的所有相鄰簇頭節(jié)點(diǎn)的已消耗能量,并計(jì)算出其所有鄰居簇頭 節(jié)點(diǎn)距目標(biāo)簇幾何中心的距離,根據(jù)路徑代價(jià)函數(shù)計(jì)算出代價(jià)最小的鄰居簇j,將查詢命令 轉(zhuǎn)發(fā)給它,節(jié)點(diǎn)i維護(hù)一張路徑代價(jià)表,記錄由它到簇R的已知代價(jià)h (隊(duì),R),h (隊(duì),R)初始 值為〇 ;當(dāng)節(jié)點(diǎn)i選擇出代價(jià)最小的鄰居簇頭j后,將h (隊(duì),R)設(shè)置為h (Nj,R) +c (Ni,Nj),其 中cd R)為將數(shù)據(jù)包從i節(jié)點(diǎn)傳輸至j節(jié)點(diǎn)的路徑代價(jià),同樣由代價(jià)函數(shù)獲得,簇頭節(jié)點(diǎn) j依次執(zhí)行上述操作,查詢命令傳送至目的節(jié)點(diǎn)所在簇的簇頭為止,此時(shí)由匯聚節(jié)點(diǎn)至目標(biāo) 節(jié)點(diǎn)的路由建立完成;
[0047] 路徑代價(jià)估計(jì)公式:
[0048] cCN,, R) = a cKN,, R) + (l-a )e(N)
[0049] 其中,c (隊(duì),R)為節(jié)點(diǎn)隊(duì)到目標(biāo)節(jié)點(diǎn)所在簇R的估計(jì)路徑代價(jià);d (N u R)為節(jié)點(diǎn)隊(duì) 到目標(biāo)節(jié)點(diǎn)所在簇R的簇幾何中心的距離;e(N)為節(jié)點(diǎn)隊(duì)已經(jīng)消耗的能量;a為(0,1)的 可調(diào)權(quán)重參數(shù)。
[0050] 進(jìn)一步地,所述(6)中當(dāng)目標(biāo)傳感器節(jié)點(diǎn)接收到匯聚節(jié)點(diǎn)轉(zhuǎn)發(fā)來(lái)的查詢命令,并 采集到所需數(shù)據(jù)后,節(jié)點(diǎn)沿著路由表中的下一跳節(jié)點(diǎn),將所需的數(shù)據(jù)逐跳地發(fā)向匯聚節(jié)點(diǎn), 在數(shù)據(jù)的傳輸過(guò)程中,數(shù)據(jù)信息中"稍帶"每跳節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的實(shí)際能量消耗值;對(duì)于數(shù) 據(jù)傳輸經(jīng)過(guò)的每個(gè)節(jié)點(diǎn),首先記錄稍帶信息中的能量代價(jià),然后將信息中的能量代價(jià)加上 它發(fā)送該信息到下一條節(jié)點(diǎn)的能量消耗,替代消息中原有的"稍帶"值來(lái)轉(zhuǎn)發(fā)數(shù)據(jù),接收方 記錄新的路徑代價(jià),并進(jìn)行必要的路由更新,接收方下一次轉(zhuǎn)發(fā)查詢命令時(shí),用剛才記錄到 的到事件區(qū)域的實(shí)際代價(jià)替代估算的代價(jià),在下一次路由形成時(shí),用調(diào)整后的實(shí)際代價(jià)選 擇到目標(biāo)簇的優(yōu)化路徑。
[0051] 有益效果:使用本發(fā)明的路由協(xié)議,可以使得大型固定場(chǎng)所中分布的同質(zhì)高密度 靜態(tài)無(wú)線傳感器節(jié)點(diǎn)所組成的無(wú)線傳感網(wǎng)絡(luò)的生命周期延長(zhǎng),并使不同節(jié)點(diǎn)的能量趨于平 均。
【附圖說(shuō)明】
[0052] 圖1是是本發(fā)明的簇頭選舉流程圖;
[0053] 圖2是本發(fā)明的網(wǎng)絡(luò)建立示意圖。
【具體實(shí)施方式】
[0054] 下面結(jié)合附圖和具體的算例對(duì)本發(fā)明進(jìn)行詳細(xì)的描述。
[0055] 本發(fā)明基于的網(wǎng)絡(luò)模型假設(shè)n個(gè)傳感器節(jié)點(diǎn)隨機(jī)均勻分布在一個(gè)LXL的二維正 方形區(qū)域R內(nèi),并假設(shè)該傳感器網(wǎng)絡(luò)具有如下性質(zhì):
[0056] 1)傳感器網(wǎng)絡(luò)為高密度靜態(tài)網(wǎng)絡(luò),即節(jié)點(diǎn)部署后不再移動(dòng);
[0057] 2)無(wú)線傳感器網(wǎng)絡(luò)部署在二維平面中,沒(méi)有障礙物;
[0058] 3)傳感器節(jié)點(diǎn)結(jié)構(gòu)相同,有同樣的最大傳輸距離;
[0059] 4)匯聚節(jié)點(diǎn)部署于一個(gè)固定位置,且匯聚節(jié)點(diǎn)是唯一的,位于觀測(cè)區(qū)域外圍邊緣, 沒(méi)有能量約束,計(jì)算能力和存儲(chǔ)能力相對(duì)較強(qiáng);
[0060] 5)電池供電,節(jié)點(diǎn)能量不能補(bǔ)充;
[0061] 6)節(jié)點(diǎn)物理位置可以預(yù)先獲知。
[0062] 網(wǎng)格劃分
[0063] 首先在監(jiān)測(cè)區(qū)域內(nèi)建立直角坐標(biāo)系,根據(jù)無(wú)線電模型計(jì)算得到最優(yōu)分簇?cái)?shù)目,網(wǎng) 絡(luò)被劃分為相應(yīng)個(gè)數(shù)的單元格,并為單元格進(jìn)行編號(hào),每個(gè)單元格即為一個(gè)簇,節(jié)點(diǎn)根據(jù)自 己的地理位置信息判斷自己屬于哪個(gè)簇。圖1中用虛線分割了不同簇A~F。
[0064] 簇頭選舉
[0065] 在IEEE802. 15. 4協(xié)議基礎(chǔ)上描述簇頭選舉過(guò)程,簇頭選舉過(guò)程中所涉及的主要 原語(yǔ)如下:
[0066] 1、NLME-CLUSTER-MEMBER-DISCOVERY. request
[00