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