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