屬性相關的數據聚合方法
2023-05-27 20:49:11 1
專利名稱:屬性相關的數據聚合方法
技術領域:
本發明涉及無線傳感器網絡(WSN)技術領域,尤其涉及一種動態路由支持的屬性 相關的數據聚合方法。
背景技術:
近十年來,無線傳感器網絡蓬勃發展,可以方便快捷的部署在各種各樣的環境中 自主組網,收集信息。例如,環境監測、侵入性監測、事故監測等。但是無線傳感器網絡中能 量資源非常有限,而且難以及時的得到補充。由於無線傳感器網絡中的節點通常比較密集, 節點採集到的原始數據具有較高的冗餘度。數據聚合協議能夠在中間節點上壓縮採集的數 據,從而降低通信量,節省能量,延長無線傳感器網絡壽命。數據聚合協議的主要挑戰是如 何增強數據包的空間和時間聚合度。現有的數據聚合協議基本都採用靜態路由。但是,靜 態路由在很多情況下不能有效的提高聚合度。例如,如果網絡中有多個應用程式,靜態路由 只是儘量增強所有數據包之間的聚合度,而不考慮數據包之間的相關性。但是,不含有相關 信息的數據包即使相遇了,也不能被聚集掉。常用的基於簇的、基於樹的數據聚合協議一般 都是採用靜態路由。
發明內容
(一)要解決的技術問題本發明所要解決的技術問題是提出一種適用於任何應用、能夠有效節省能量的 數據聚合協議,從而有效提高聚合度。( 二 )技術方案為解決上述問題,本發明提供了一種屬性相關的數據聚合方法,該方法包括步 驟Si.監聽應用程式請求,並根據應用程式請求採集數據;S2.監聽事件,若事件為有數據包到來,則執行步驟S2,若事件為計數器啟動,則 執行步驟S6 ;S3.按照包驅動的時間方案修改數據包包頭中的延遲域,將延遲修改為數據包在 本地節點等待的時間,並將修改後的數據包放入數據聚合隊列;S4.按照延遲大小排序,若計時器未啟動,則按照最小時延啟動計時器,否則,若新 監聽到的數據包的延遲比當前計時器的剩餘時間小,則修改計時器為新監聽到的數據包的 延遲;S5.更新數據聚合隊列的大小,並返回步驟S2 ;S6.取出與數據聚合隊列的隊首數據包屬於同一個應用程式的所有數據包,進行 聚集操作;S7.基於勢能場模型,確定下一跳地址,發送聚合的數據包至所述下一跳。其中,步驟Sl前還包括步驟
初始化基站的深度為0,其它節點的深度為OxfT,基站發送包含其深度值的更新 包,接收到該更新包的節點將包中的深度值加1作為自身的深度值,並發送含有自身深度 值的更新包。其中,步驟S3中的所述包驅動的時間方案為每個節點收到第一個數據包之後啟動計時器為TF,收到新的數據包之後,按照下 式更新計時器為Tp TP=TFx{\-^~)
χφ其中,Nu是節點U處的包的數目,當緩衝池中的隊列佔有率為φ(0< φ <1)時, 計時器為0,保證所述隊列中的數據包立刻被聚集然後發送到下一跳,如果節點在相同時 刻採集到數據,那麼父親節點可以在採集到數據後經過單跳延遲的時間後收到子節點的數 據,所述Tf的最小值為單跳延遲。其中,步驟S7後還包括步驟S8.清除被聚合的應用的數據包;S9.更新聚合隊列的大小;S10.重複執行步驟S2-S10,直至應用結束。其中,在步驟S7中,基於勢能場模型,確定下一跳地址的方法為假設兩個節點之間的距離一樣,假設當前待傳輸的數據包的屬性是δ,本地節點 是U,011是1!的鄰居節點集合,確定具有最大混合勢能場差F^jvei^)的鄰居節點為下 一跳,其中Fuh^ 二 (1 - 二 + CCFJUv (δ),α 為權重,(=Vd{u)-Vd{v),Vd(U)、Vd(V)分別是節點 U、ν 的深度, Fup^v (δ) =Vp {u, δ) - Vp (ν, δ) , Vp (u, δ) = 1-τ (u,δ), Vp (ν, δ) = 1-τ (ν,δ) τ (i,δ)、
τ (ν, δ )分別為節點i、ν處屬性δ對應的信息素含量。其中,τ (i,δ)初始化為0,每到達一個新的數據包,則對應屬性的信息素增加 Δ τ,當有新的數據包到達或者在數據聚集操作之後,按照以下公式更新信息素含量τ (u,δ ) = ρ X τ (u, δ ) +1 X Δ τ,0 < ρ < 1。(三)有益效果本發明的方法能夠適應各種應用,提高含有相關信息的數據包的聚合度,具有能 量有效性以及可擴展性。
圖1 (a)_圖1 (b)為本發明的動態路由支持的屬性相關的數據聚合方法的動機示 意圖;圖2為依照本發明一種實施方式的屬性相關的數據聚合方法流程圖;圖3為一個隨機部署的300個節點的WSN和三個圓形的事件;圖4 (a) -4 (b)分別為依照本發明一種實施方式的ADADR和CT的路由圖;圖5 (a)-5(b)分別為不同節點密度場景的平均發送次數和聚合度;
5
圖6 (a)-6(b)分別為不同事件大小場景的平均發送次數和聚合度;圖7 (a) 7 (b)分別為不同規模場景的平均發送次數和聚合度;圖8(a)為一個10000*10000矩形拓撲中的移動事件;圖8 (b)為移動場景下的平均發送次數和聚合度;圖9為不同節點密度場景下的平均端到端延遲;圖10為不同節點密度場景下的丟包數目;圖11 (a)_圖11 (b)為不同α下的平均發送次數和聚合度。
具體實施例方式本發明提出的屬性相關的數據聚合方法,結合附圖和實施例說明如下。本發明的特徵在於路由層與應用層之間增加一個數據聚集層,路由層向數據聚集 層提供接口 getDanymiCParent,此接口基於勢能場模型提供數據包的下一跳動態地址, 能夠讓含有相關信息的數據包空間聚集程度增強。數據聚集層通過緩衝池中的隊列長度以 及計時器控制聚集操作。協議是事件驅動的,主要步驟如下本發明應用勢能場理論設計了一種動態路由支持的屬性相關的數據聚合協議 ADADR,目的是提高數據聚合協議的聚合度,延長WSN的壽命。仿真試驗結果表明,ADADR能 夠適應各種應用,提高含有相關信息的數據包的聚合度,具有能量有效性以及可擴展性。在經典場論中有這樣幾個概念勢,勢能場,場強,力,勢差,方向導數和梯度。假設(Xtl,y0)處有正電荷+Q,那麼在它的周圍將形成一個電磁場V(x,y)
權利要求
1.一種屬性相關的數據聚合方法,其特徵在於,該方法包括步驟51.監聽應用程式請求,並根據應用程式請求採集數據;52.監聽事件,若事件為有數據包到來,則執行步驟S2,若事件為計數器啟動,則執行 步驟S6 ;53.按照包驅動的時間方案修改數據包包頭中的延遲域,將延遲修改為數據包在本地 節點等待的時間,並將修改後的數據包放入數據聚合隊列;54.按照延遲大小排序,若計時器未啟動,則按照數據包頭中最小的延遲值啟動計時 器,否則,若新監聽到的數據包的延遲比當前計時器的剩餘時間小,則修改計時器為新監聽 到的數據包的延遲;55.更新數據聚合隊列的大小,並返回步驟S2;56.取出與數據聚合隊列的隊首數據包屬於同一個應用程式的所有數據包,進行聚集 操作;57.基於勢能場模型,確定下一跳地址,發送聚合的數據包至所述下一跳。
2.如權利要求1所述的屬性相關的數據聚合方法,其特徵在於,步驟Sl前還包括步驟初始化基站的深度為0,其它節點的深度為OxfT,基站發送包含其深度值的更新包,接 收到該更新包的節點將包中的深度值加1作為自身的深度值,並發送含有自身深度值的更 新包。
3.如權利要求1所述的屬性相關的數據聚合方法,其特徵在於,步驟S3中的所述包驅 動的時間方案為每個節點收到第一個數據包之後啟動計時器為TF,收到新的數據包之後,按照下式更 新計時器為Tp waS、 χφ其中,Nu是節點u處的包的數目,S為緩衝池大小,當緩衝池中的隊列佔有率為Φ(0 < Φ < 1)時,計時器為0,保證所述隊列中的數據包立刻被聚集然後發送到下一跳,如果節 點在相同時刻採集到數據,那麼父親節點可以在採集到數據後經過單跳延遲的時間後收到 子節點的數據,所述TF的最小值為單跳延遲。
4.如權利要求1所述的屬性相關的數據聚合方法,其特徵在於,步驟S7後還包括步驟58.清除被聚合的應用的數據包;59.更新聚合隊列的大小;S10.重複執行步驟S2-S10,直至應用結束。
5.如權利要求2所述的屬性相關的數據聚合方法,其特徵在於,在步驟S7中,基於勢能 場模型,確定下一跳地址的方法為假設兩個節點之間的距離一樣,假設當前待傳輸的數據包的屬性是S,本地節點是u, Ω 是u的鄰居節點集合,確定具有最大混合勢能場差FaKv e鋱)的鄰居節點為下一跳,其 中
6.如權利要求5所述的屬性相關的數據聚合方法,其特徵在於,τ (i,δ)初始化為0, 每到達一個新的數據包,則對應屬性的信息素增加Δ τ,當有新的數據包到達或者在數據 聚集操作之後,按照以下公式更新信息素含量
全文摘要
本發明公開了一種屬性相關的數據聚合方法,該方法包括步驟S1.請求採集數據;S2.若有數據包到來,則執行步驟S2,若計數器啟動,則執行步驟S6;S3.修改包頭的延遲修改為數據包在本地節點等待的時間,將數據包放入DA隊列;S4.按照延遲大小排序,若計時器未啟動,則按照最小時延啟動計時器,否則,若新監聽到的數據包的延遲比當前計時器的剩餘時間小,則修改計時器為新監聽到的數據包的延遲;S5.更新DA隊列的大小,返回步驟S2;S6.取出與DA隊列的隊首屬於同一個應用程式的所有數據包,進行聚集操作;S7.基於勢能場模型,確定下一跳地址發送聚合的數據包。本發明的方法能夠適應各種應用,提高含有相關信息的數據包的聚合度,具有能量有效性以及可擴展性。
文檔編號H04W40/02GK102118819SQ201010622518
公開日2011年7月6日 申請日期2010年12月28日 優先權日2010年12月28日
發明者任豐原, 何滔, 張嬌 申請人:清華大學