專利名稱:一種代理節(jié)點(diǎn)和傳感器網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無(wú)線傳感領(lǐng)域,具體涉及到一種代理節(jié)點(diǎn)、應(yīng)用該代理節(jié)點(diǎn)的傳感器網(wǎng)絡(luò)以及基于所述代理節(jié)點(diǎn)進(jìn)行傳感器網(wǎng)絡(luò)數(shù)據(jù)獲取方法。
背景技術(shù):
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)通過(guò)部署在監(jiān)測(cè)區(qū)域內(nèi)的傳感器節(jié)點(diǎn)實(shí)時(shí)地收集區(qū)域的各種變量數(shù)據(jù),并以有效地方式組織管理這些數(shù)據(jù),用戶可以隨時(shí)隨地地獲取所感興趣的數(shù)據(jù),具備十分廣泛的應(yīng)用前景?,F(xiàn)有的傳感器網(wǎng)絡(luò)數(shù)據(jù)管理主要分為基于扁平網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)管理和基于分層網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)管理這兩種方式。基于扁平網(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)管理屬于傳統(tǒng)的傳感器網(wǎng)絡(luò)數(shù)據(jù)管理方式,傳感器節(jié)點(diǎn) 自身受限的資源均難以滿足用戶多樣化的數(shù)據(jù)需求,如較低延時(shí)的數(shù)據(jù)查詢、歷史數(shù)據(jù)的查詢等?;诜謱泳W(wǎng)絡(luò)架構(gòu)的數(shù)據(jù)管理方式,如TSAR,PRESTO方案,這種分層網(wǎng)絡(luò)架構(gòu)如圖I所示,從下至上依次可分為傳感器層、代理層和邏輯存儲(chǔ)層和應(yīng)用層傳感器層也稱為sensor層,該層由傳感器節(jié)點(diǎn)組成,這些節(jié)點(diǎn)基于地理區(qū)域或其它自定義策略被分成多個(gè)域,域內(nèi)節(jié)點(diǎn)基于WSN自組網(wǎng)協(xié)議實(shí)現(xiàn)節(jié)點(diǎn)間的通信,而每個(gè)域的傳感器節(jié)點(diǎn)有一個(gè)代理層的代理節(jié)點(diǎn)進(jìn)行集中式的管理。代理層,通常稱之為Proxy層,該層由一定數(shù)量資源豐富的Proxy代理節(jié)點(diǎn)組成,如Crossbow Stargate、嵌入式網(wǎng)關(guān)等,這些Proxy節(jié)點(diǎn)通常有足夠強(qiáng)大的計(jì)算、存儲(chǔ)能力來(lái)支撐復(fù)雜的功能運(yùn)算和容量存儲(chǔ),它負(fù)責(zé)對(duì)所轄域內(nèi)的傳感器節(jié)點(diǎn)的管理。在通信能力方面,它集成了 802. 15. 4模塊實(shí)現(xiàn)與傳感器節(jié)點(diǎn)的通信,同時(shí)還集成了以太網(wǎng)模塊或802. 11模塊,實(shí)現(xiàn)這些Proxy節(jié)點(diǎn)間地互聯(lián)互通,最終形成一個(gè)完整的數(shù)據(jù)共享網(wǎng)絡(luò);邏輯存儲(chǔ)層是一個(gè)邏輯上的視圖層,它通過(guò)一致的數(shù)據(jù)組織方式將分布在不同Proxy節(jié)點(diǎn)上的傳感器數(shù)據(jù)呈現(xiàn)給上層用戶,并提供的統(tǒng)一數(shù)據(jù)訪問(wèn)接口,來(lái)自本地或網(wǎng)絡(luò)用戶的數(shù)據(jù)請(qǐng)求在該層被分發(fā)到具體的某個(gè)Proxy節(jié)點(diǎn)進(jìn)行處理;應(yīng)用層是用戶通過(guò)各種終端設(shè)備如PC、智能手機(jī)等,利用邏輯存儲(chǔ)層提供的統(tǒng)一數(shù)據(jù)訪問(wèn)接口獲取目標(biāo)數(shù)據(jù)的邏輯層。基于這種Proxy/Sensor分層架構(gòu),網(wǎng)絡(luò)數(shù)據(jù)同時(shí)存儲(chǔ)在Proxy層和Sensor層。在TSAR方案中,傳感器節(jié)點(diǎn)相關(guān)元數(shù)據(jù)信息(如節(jié)點(diǎn)ID、傳感器ID、位置坐標(biāo)等)被存儲(chǔ)在Proxy層節(jié)點(diǎn)上,而采集到的感知數(shù)據(jù)則被存儲(chǔ)在Sensor層節(jié)點(diǎn)上,通過(guò)Proxy層的元數(shù)據(jù)可以定位目標(biāo)數(shù)據(jù)所在的Sensor層節(jié)點(diǎn),降低扁平網(wǎng)絡(luò)架構(gòu)方案中在節(jié)點(diǎn)上實(shí)施較為復(fù)雜的查詢策略所帶來(lái)的高能耗;同時(shí),Sensor層還可以將感知數(shù)據(jù)上報(bào)到Proxy層,實(shí)施持久化存儲(chǔ)以提供歷史數(shù)據(jù)查詢與分析支持。在PRESTO方案中,采用預(yù)測(cè)技術(shù)在Proxy層建立數(shù)據(jù)預(yù)測(cè)模型,在Proxy層節(jié)點(diǎn)上存儲(chǔ)的是基于預(yù)測(cè)模型得到的預(yù)估數(shù)據(jù),而在Sensor層存儲(chǔ)的是傳感器節(jié)點(diǎn)采集的感知數(shù)據(jù),當(dāng)預(yù)估數(shù)據(jù)與感知數(shù)據(jù)有較大偏差時(shí),Sensor層將感知數(shù)據(jù)上報(bào)給Proxy層以修正預(yù)估數(shù)據(jù)。這種基于Proxy/Sensor分層架構(gòu)的數(shù)據(jù)管理方式充分利用了資源不受限制的Proxy節(jié)點(diǎn),最小化傳感器節(jié)點(diǎn)的查詢能量消耗,并且通過(guò)Proxy層緩存數(shù)據(jù),一方面能提供更加能效的傳感器數(shù)據(jù)服務(wù),另一方面提供對(duì)歷史數(shù)據(jù)的查詢支持。但是在最先進(jìn)的PRESTO方案中,無(wú)法針對(duì)用戶對(duì)數(shù)據(jù)的選擇性和時(shí)段性設(shè)計(jì),即用戶在一段時(shí)間內(nèi)只對(duì)某些感知數(shù)據(jù)感興趣,那么分發(fā)用戶目標(biāo)之外的數(shù)據(jù)將導(dǎo)致額外的能耗,因此本發(fā)明所要解決的問(wèn)題就是針對(duì)用戶對(duì)數(shù)據(jù)的選擇性和時(shí)段性,基于用戶數(shù)據(jù)需求特性的進(jìn)行設(shè)計(jì),道道減小能耗的目的。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種代理節(jié)點(diǎn),以解決現(xiàn)有技術(shù)的傳感器網(wǎng)絡(luò)無(wú)法針對(duì)用戶對(duì)數(shù)據(jù)的需求特性設(shè)計(jì),而造成數(shù)據(jù)冗余和傳輸消耗較大的問(wèn)題。為實(shí)現(xiàn)上述目的,本發(fā)明一方面提供了一種代理節(jié)點(diǎn),應(yīng)用在傳感器網(wǎng)絡(luò)中,所述傳感器網(wǎng)絡(luò)包括多個(gè)由傳感器節(jié)點(diǎn)組成的傳感器域、每個(gè)傳感器域設(shè)置的至少一代理節(jié)點(diǎn)以及應(yīng)用終端,包括預(yù)測(cè)引擎模塊,其接收用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息,并依照用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息當(dāng)前狀態(tài)和用戶目標(biāo)數(shù)據(jù)ID歷史查詢狀態(tài),計(jì)算預(yù)測(cè)值;目標(biāo)數(shù)據(jù)拉取模塊,其接收所述預(yù)測(cè)值,在所述預(yù)測(cè)值超過(guò)判定閾值時(shí),向與所述用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的傳感器節(jié)點(diǎn)發(fā)送命令,控制所述傳感器節(jié)點(diǎn)上報(bào)該傳感器存儲(chǔ)的感知數(shù)據(jù)。本發(fā)明另一方面提供了一種傳感器網(wǎng)絡(luò)數(shù)據(jù)獲取方法,包括接收用戶數(shù)據(jù)讀取請(qǐng)求;解析用戶數(shù)據(jù)讀取請(qǐng)求,獲取用戶目標(biāo)數(shù)據(jù)ID ;依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求狀態(tài),計(jì)算預(yù)測(cè)值;依據(jù)所述預(yù)測(cè)值,判斷是否超過(guò)判定閾值;若是,則向傳感器節(jié)點(diǎn)發(fā)送數(shù)據(jù)讀取命令;接收并存儲(chǔ)傳感器節(jié)點(diǎn)發(fā)送的感知數(shù)據(jù);將在獲取到的感知數(shù)據(jù)中查找到的與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的目標(biāo)感知數(shù)據(jù)反饋給用戶。相應(yīng)的,本發(fā)明還提供了一種傳感器網(wǎng)絡(luò),包括多個(gè)由傳感器節(jié)點(diǎn)組成的傳感器域、每個(gè)傳感器域設(shè)置的至少一代理節(jié)點(diǎn)以及應(yīng)用終端,所述代理節(jié)點(diǎn)包括預(yù)測(cè)引擎模塊,其接收用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息,并依照用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息當(dāng)前狀態(tài)和用戶目標(biāo)數(shù)據(jù)ID歷史查詢狀態(tài),計(jì)算預(yù)測(cè)值;目標(biāo)數(shù)據(jù)拉取模塊,其接收所述預(yù)測(cè)值,在所述預(yù)測(cè)值超過(guò)判定閾值時(shí),向與所述用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的傳感器節(jié)點(diǎn)發(fā)送命令,控制所述傳感器節(jié)點(diǎn)上報(bào)該傳感器存儲(chǔ)的感知數(shù)據(jù)。由于采用了以上的技術(shù)特征,使得份發(fā)明相比于現(xiàn)有技術(shù),具有如下的優(yōu)點(diǎn)和積極效果
采用本發(fā)明一實(shí)施例提供的代理節(jié)點(diǎn)構(gòu)建的傳感器網(wǎng)絡(luò)通過(guò)基于用戶的歷史查詢記錄,建立能夠預(yù)測(cè)數(shù)據(jù)需求的時(shí)間序列模型,對(duì)解析的網(wǎng)絡(luò)用戶查詢請(qǐng)求進(jìn)行判斷,過(guò)濾誤報(bào)或存在差錯(cuò)的數(shù)據(jù)請(qǐng)求ID,篩選用戶目標(biāo)數(shù)據(jù)ID,只針對(duì)用戶目標(biāo)數(shù)據(jù)ID從傳感器層中讀取相應(yīng)的感知數(shù)據(jù),減少了分發(fā)用戶目標(biāo)之外的數(shù)據(jù)所導(dǎo)致的額外能耗。依據(jù)本發(fā)明另一實(shí)施例 提供的傳感器網(wǎng)絡(luò),能夠?qū)崟r(shí)監(jiān)測(cè)傳感器節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)空間的負(fù)載狀態(tài),在負(fù)載達(dá)到一定范圍后,將數(shù)據(jù)上報(bào)到應(yīng)用層,完成后清空存儲(chǔ)空間,減少因傳感器節(jié)點(diǎn)存儲(chǔ)空間限制所造成的數(shù)據(jù)丟失。
圖I為基于代理/傳感器的傳感器網(wǎng)絡(luò)分層架構(gòu)圖;圖2為依據(jù)本發(fā)明一實(shí)施例的傳感器網(wǎng)絡(luò)框圖;圖3為不同平滑因子下的指數(shù)平滑法時(shí)間序列預(yù)測(cè)結(jié)果圖表;圖4是應(yīng)用本發(fā)明第一實(shí)施例的數(shù)據(jù)查詢流程圖;圖5是依據(jù)本發(fā)明另一實(shí)施例的傳感器網(wǎng)絡(luò)框圖;圖6是應(yīng)用本發(fā)明第二實(shí)施例的數(shù)據(jù)存儲(chǔ)流程圖。
具體實(shí)施例方式下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。本發(fā)明的核心思想是在借鑒PRESTO和TSAR的設(shè)計(jì)基礎(chǔ)上提供一種新的傳感器網(wǎng)絡(luò)也就是在Proxy代理層,基于用戶的歷史查詢記錄建立時(shí)間序列預(yù)測(cè)模型,利用該預(yù)測(cè)模型推斷未來(lái)的用戶數(shù)據(jù)需求,并通過(guò)Model-Pull拉取策略從Sensor傳感器層獲取相關(guān)的感知數(shù)據(jù),以減少非用戶目標(biāo)數(shù)據(jù)讀取帶來(lái)的網(wǎng)絡(luò)負(fù)擔(dān)和能耗。圖2是依照本發(fā)明一實(shí)施例的代理節(jié)點(diǎn)功能框圖,該代理節(jié)點(diǎn)應(yīng)用在傳感器網(wǎng)絡(luò)中,所述傳感器網(wǎng)絡(luò)包括由多個(gè)傳感器域組成的傳感器層、由每個(gè)傳感器域代理節(jié)點(diǎn)組成的代理層和由應(yīng)用終端組成的應(yīng)用層,其架構(gòu)可參考圖I所示的分層傳感器網(wǎng)絡(luò)架構(gòu)圖。每個(gè)傳感器域又包含多個(gè)設(shè)置在不同位置的傳感器節(jié)點(diǎn),分別可以采集溫度、濕度等感知信息;而代理節(jié)點(diǎn)則可以采用網(wǎng)關(guān)或者服務(wù)器的形式,具備存儲(chǔ)和數(shù)據(jù)處理功能;應(yīng)用層包含多個(gè)應(yīng)用終端,具體可以是智能手機(jī)、PC或者的平板電腦等。由圖2可見(jiàn),所述代理節(jié)點(diǎn)包括與應(yīng)用層直接數(shù)據(jù)交互的查詢處理模塊201、對(duì)用戶目標(biāo)數(shù)據(jù)進(jìn)行預(yù)測(cè)引擎模塊202、對(duì)用戶目標(biāo)數(shù)據(jù)查詢的數(shù)據(jù)緩存模塊203、依照預(yù)測(cè)引擎模塊202預(yù)測(cè)數(shù)據(jù)從傳感器節(jié)點(diǎn)拉取感知數(shù)據(jù)的目標(biāo)數(shù)據(jù)拉取模塊204以及接受傳感器節(jié)點(diǎn)上報(bào)數(shù)據(jù)包并對(duì)數(shù)據(jù)包進(jìn)行解析的存儲(chǔ)引擎模塊205。所述查詢處理模塊201接收到來(lái)自于應(yīng)用層的用戶請(qǐng)求數(shù)據(jù)包,之后對(duì)其進(jìn)行解析,獲取用戶目標(biāo)數(shù)據(jù)ID,并將該ID信息發(fā)送給預(yù)測(cè)引擎模塊202以及數(shù)據(jù)緩存模塊203。數(shù)據(jù)緩存模塊203以設(shè)定的規(guī)則存儲(chǔ)所述的存儲(chǔ)引擎模塊205從傳感器節(jié)點(diǎn)獲取的數(shù)據(jù)包。根據(jù)查詢處理模塊201傳送的目標(biāo)數(shù)據(jù)ID在其存儲(chǔ)的數(shù)據(jù)中查找目標(biāo)數(shù)據(jù),如果查找成功,則將查找到的數(shù)據(jù)反饋給應(yīng)用層的終端設(shè)備。若查找失敗,則將此ID發(fā)送給預(yù)測(cè)引擎模塊,在等待一段時(shí)間后,再次在數(shù)據(jù)緩存模塊203中查找目標(biāo)數(shù)據(jù)。當(dāng)然也可以設(shè)置計(jì)時(shí)器,若查找失敗,則將此ID發(fā)送給預(yù)測(cè)引擎模塊,設(shè)置計(jì)時(shí)器,等待一段時(shí)間,在設(shè)定的計(jì)時(shí)時(shí)間到達(dá)后,再次在數(shù)據(jù)緩存模塊203中查找目標(biāo)數(shù)據(jù),若成功則將數(shù)據(jù)反饋給用戶端,若失敗則此次查詢失敗。
預(yù)測(cè)引擎模塊為一代理節(jié)點(diǎn)的管理范圍內(nèi)的傳感器數(shù)據(jù)建立對(duì)應(yīng)用戶數(shù)據(jù)需求時(shí)間序列模型,在接收到所述查詢處理模塊解析的用戶目標(biāo)數(shù)據(jù)ID后,通過(guò)時(shí)間序列模型計(jì)算輸出一判斷是否需要查詢此ID號(hào)的傳感器數(shù)據(jù)的預(yù)測(cè)值;所述目標(biāo)數(shù)據(jù)拉取模塊接收所述預(yù)測(cè)值,在所述預(yù)測(cè)值超過(guò)判定閾值時(shí),向與所述ID對(duì)應(yīng)的傳感器節(jié)點(diǎn)發(fā)送命令,控制所述傳感器節(jié)點(diǎn)主動(dòng)上報(bào)該傳感器存儲(chǔ)的感知數(shù)據(jù)。預(yù)測(cè)引擎模塊202的作用的依據(jù)用戶的查詢習(xí)慣建立對(duì)應(yīng)用戶數(shù)據(jù)需求的時(shí)間序列模型。以下介紹依據(jù)指數(shù)平滑法建立時(shí)間序列模型的原理。時(shí)間序列是按時(shí)間順序排列的、隨時(shí)間變化且相互關(guān)聯(lián)的數(shù)據(jù)序列,時(shí)間序列預(yù)測(cè)技術(shù)就是通過(guò)對(duì)預(yù)測(cè)目標(biāo)自身時(shí)間序列的處理,來(lái)分析它隨時(shí)間的變化趨勢(shì),并建立數(shù)學(xué)模型進(jìn)行外推的定量預(yù)測(cè)方法。 指數(shù)平滑法時(shí)間序列預(yù)測(cè)模型描述如下設(shè)Xci, X1, . . . Xn為時(shí)間序列觀察值,S1, S2, . . . , Sn為時(shí)間t的觀察值的指數(shù)平滑值,α為平滑系數(shù),O < α < I,則指數(shù)平滑值為Sf) = ^+ :(1 — )尤—!+cc(l —(Z)2Xi-2 +…=CfXi + (I _ cOA—! (i)觀察上式,實(shí)際值Xt, Xw, Xt_2的權(quán)系數(shù)分別為α、α (1-α)、α (1_α)2.依次類推,離現(xiàn)在時(shí)刻越遠(yuǎn)的數(shù)據(jù),其權(quán)系數(shù)越小。預(yù)測(cè)公式如下Xm= St (2 )在利用該公式進(jìn)行預(yù)測(cè)時(shí),首先需要選擇平滑系數(shù)α,研究⑴(2)可以發(fā)現(xiàn)α的大小規(guī)定了在新預(yù)測(cè)值中新數(shù)據(jù)和原預(yù)測(cè)值所占的比重,α越大,新數(shù)據(jù)所占的比重就越大,反之亦然。α值應(yīng)根據(jù)時(shí)間序列的具體性質(zhì)在O I之間選擇,具體如何選擇一般可遵循下列原則①如果時(shí)間序列波動(dòng)不大,比較平穩(wěn),則α應(yīng)取小一點(diǎn),如(O. I O. 5),使預(yù)測(cè)模型能包含較長(zhǎng)時(shí)間序列的信息;②如果時(shí)間序列具有迅速且明顯的變動(dòng)傾向,則α應(yīng)取大一點(diǎn),如(O. 6 O. 8),使預(yù)測(cè)模型靈敏度高一些,以便迅速跟上數(shù)據(jù)的變化。在本實(shí)施例中,代理層節(jié)點(diǎn)記錄用戶的每次查詢,包括查詢的時(shí)間次序、目標(biāo)數(shù)據(jù)ID等,并以此得到時(shí)間序列觀察值,利用⑴⑵得到監(jiān)測(cè)區(qū)域內(nèi)感知數(shù)據(jù)的時(shí)間序列預(yù)測(cè)公式。例如代理層節(jié)點(diǎn)記錄的用戶對(duì)監(jiān)測(cè)區(qū)域內(nèi)感知溫度數(shù)據(jù)的時(shí)間序列觀察值為
,每個(gè)觀察值表示在At時(shí)間內(nèi)溫度數(shù)據(jù)被用戶查詢與否,O表示未查詢,I表示被查詢,在α = O. 2,0. 5,0. 7,0. 8時(shí),Matlab仿真結(jié)果如圖2所
/Jn ο分析仿真結(jié)果可以發(fā)現(xiàn),基于指數(shù)平滑法建立的時(shí)間序列模型得到的預(yù)測(cè)值序列能較好的反映歷史觀察值序列的變化趨勢(shì),但是在平滑因子取不同值條件下,預(yù)測(cè)序列會(huì)有不同的跟蹤勢(shì)能。在傳感器網(wǎng)絡(luò)應(yīng)用中,用戶對(duì)數(shù)據(jù)的查詢通常具有一定的時(shí)段性,且具有明顯的變動(dòng)傾向,根據(jù)上文所述的平滑因子選擇原則并經(jīng)實(shí)驗(yàn)仿真發(fā)現(xiàn)當(dāng)α =0.5,以
O.51作為判定閾值,預(yù)測(cè)模型能較好地平衡預(yù)測(cè)性能和能效性能,即取α = O. 5,當(dāng)預(yù)測(cè)值不小于O. 51時(shí),判定未來(lái)時(shí)間內(nèi)用戶對(duì)該數(shù)據(jù)有需求,應(yīng)實(shí)施Model-Pull目標(biāo)數(shù)據(jù)拉取模塊204提取Sensor層相應(yīng)的感知數(shù)據(jù)到Proxy層實(shí)施持久化存儲(chǔ)具體地,預(yù)測(cè)引擎模塊利用上節(jié)所述的方法,為該P(yáng)roxy節(jié)點(diǎn)范圍內(nèi)的傳感器數(shù)據(jù)建立時(shí)間序列預(yù)測(cè)模型。當(dāng)然也可以依據(jù)移動(dòng)平均法或者自適應(yīng)濾波法進(jìn)行時(shí)間序列預(yù)測(cè)。但基于指數(shù)平滑法是計(jì)算最為簡(jiǎn)單,且最適合對(duì)于傳感器網(wǎng)絡(luò)的應(yīng)用。預(yù)測(cè)引擎模塊202在一個(gè)計(jì)時(shí)器的控制下,基于查詢處理模塊201傳送來(lái)的用戶目標(biāo)數(shù)據(jù)ID信息,實(shí)時(shí)更新當(dāng)前At時(shí)間內(nèi)的用戶數(shù)據(jù)需求,若在計(jì)時(shí)段內(nèi)接收到某一 ID數(shù)據(jù)請(qǐng)求,則將其Xt置1,否則保持其默認(rèn)值0,計(jì)時(shí)段結(jié)束后,利用Xt和Sw得到St,即為預(yù)測(cè)值Xt+1,同時(shí)將St更新到Sw,預(yù)測(cè)引擎的預(yù)測(cè)值將被送往Model-Pull模塊。Model-Pull目標(biāo)數(shù)據(jù)拉取模塊204的輸入是預(yù)測(cè)引擎模塊的預(yù)測(cè)值輸出,當(dāng)預(yù)測(cè)值大于判定閾值時(shí),生成WSN命令包,下發(fā)到Sensor層相關(guān)的傳感器節(jié)點(diǎn),該傳感器節(jié)點(diǎn)將主動(dòng)上報(bào)其本地存儲(chǔ)的感知數(shù)據(jù)。上報(bào)之后,數(shù)據(jù)緩存模塊203會(huì)根據(jù)ID再次查找數(shù)據(jù),如果查找成功則返回給用戶,不成功則查詢失敗。請(qǐng)參考圖4,其為應(yīng)用上述實(shí)施例進(jìn)行數(shù)據(jù)查詢的流程圖。代理層200的代理節(jié)點(diǎn)接收來(lái)自應(yīng)用層終端的網(wǎng)絡(luò)或本地用戶的查詢,在查詢處理模塊201中進(jìn)行解析,解析后的用戶目標(biāo)數(shù)據(jù)ID被送往數(shù)據(jù)緩存模塊202中以查詢相應(yīng)的目標(biāo)數(shù)據(jù),同時(shí)被預(yù)測(cè)引擎模塊201捕獲以進(jìn)行下一時(shí)段的預(yù)測(cè).當(dāng)數(shù)據(jù)緩存模塊202中獲得目標(biāo)數(shù)據(jù)時(shí),目標(biāo)數(shù)據(jù)被返回給用戶,否則,在設(shè)定的時(shí)段后重新查詢。在設(shè)定的時(shí)段內(nèi),預(yù)測(cè)引擎模塊201計(jì)算出預(yù)測(cè)值,Model-Pull在預(yù)測(cè)值大于判定閾值時(shí),生成WSN命令包,下發(fā)到Sensor層相關(guān)的傳感器節(jié)點(diǎn),該傳感器節(jié)點(diǎn)將主動(dòng)上報(bào)其本地存儲(chǔ)的感知數(shù)據(jù)。上報(bào)之后,數(shù)據(jù)緩存模塊203會(huì)根據(jù)ID再次查找數(shù)據(jù),如果查找成功則返回給用戶,不成功則查詢失敗。依據(jù)上述實(shí)施例,可以建立一種根據(jù)用戶查詢歷史的時(shí)間序列模型,只對(duì)用戶選擇性的數(shù)據(jù)進(jìn)行讀取,而對(duì)于在用戶的歷史查詢記錄模型中得出的并非用戶的目標(biāo)數(shù)據(jù)的部分不進(jìn)行存取操作,這樣減少了網(wǎng)絡(luò)傳輸和數(shù)據(jù)冗余,降低能耗。相應(yīng)的,本發(fā)明還提供一種傳感器網(wǎng)絡(luò),包括由多個(gè)傳感器域組成的傳感器層、由每個(gè)傳感器域代理節(jié)點(diǎn)組成的代理層和由應(yīng)用終端組成的應(yīng)用層,其架構(gòu)可參考圖I所示的分層傳感器網(wǎng)絡(luò)架構(gòu)圖。每個(gè)傳感器域又包含多個(gè)設(shè)置在不同位置的傳感器節(jié)點(diǎn),分別可以采集溫度、濕度等感知信息;而代理節(jié)點(diǎn)則可以采用網(wǎng)關(guān)或者服務(wù)器的形式,具備存儲(chǔ)和數(shù)據(jù)處理功能;應(yīng)用層包含多個(gè)應(yīng)用終端,具體可以是智能手機(jī)、PC或者的平板電腦等。前述的代理節(jié)點(diǎn)應(yīng)用在此傳感器網(wǎng)絡(luò)中,具體代理節(jié)點(diǎn)不再詳細(xì)敘述。通過(guò)此傳感器網(wǎng)絡(luò)對(duì)用戶選擇性的數(shù)據(jù)進(jìn)行讀取,而對(duì)于在用戶的歷史查詢記錄模型中得出的并非用戶的目標(biāo)數(shù)據(jù)的部分不進(jìn)行存取操作,這樣減少了網(wǎng)絡(luò)傳輸和數(shù)據(jù)冗余,降低能耗。圖4是傳感器網(wǎng)絡(luò)在傳感器節(jié)點(diǎn)的功能框圖。傳感器節(jié)點(diǎn)采集到監(jiān)測(cè)數(shù)據(jù)后存儲(chǔ)在自身的存儲(chǔ)空間內(nèi),但是受限于節(jié)點(diǎn)的能耗和成本設(shè)計(jì)等因素,傳感器節(jié)點(diǎn)的存儲(chǔ)能力有限,當(dāng)有限的存儲(chǔ)空間耗盡后,原來(lái)的數(shù)據(jù)會(huì)丟失。因此,該實(shí)施例在傳感器節(jié)點(diǎn)中增加了本地負(fù)載監(jiān)控模塊301和請(qǐng)求響應(yīng)處理模塊302。其中,本地負(fù)載監(jiān)控模塊301實(shí)時(shí)地監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)空間的負(fù)載狀態(tài),通過(guò)預(yù)先設(shè)定的閾值,當(dāng)監(jiān)測(cè)到節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)空間負(fù)載達(dá)到該閾值時(shí),啟動(dòng)感知數(shù)據(jù)上報(bào)過(guò)程,主動(dòng)將存儲(chǔ)空間內(nèi)的所有感知數(shù)據(jù)傳送給Proxy層,完成后清空數(shù)據(jù)存儲(chǔ)空間;
請(qǐng)求響應(yīng)處理模塊302在傳感器節(jié)點(diǎn)接收到來(lái)自代理層的Model-Pull的確定ID數(shù)據(jù)的請(qǐng)求后,啟動(dòng)數(shù)據(jù)上報(bào)過(guò)程,將數(shù)據(jù)存儲(chǔ)空間內(nèi)所有的目標(biāo)數(shù)據(jù)上報(bào)給Proxy代理層,同時(shí)啟動(dòng)計(jì)時(shí)器,在預(yù)定的計(jì)時(shí)范圍內(nèi),將最新采集到的感知數(shù)據(jù)通過(guò)存儲(chǔ)引擎模塊205轉(zhuǎn)發(fā)給數(shù)據(jù)緩存模塊203,從而上 報(bào)給代理層。圖6是采用本實(shí)施例進(jìn)行數(shù)據(jù)存儲(chǔ)的流程圖。由圖可見(jiàn),傳感器節(jié)點(diǎn)周期性的采集環(huán)境數(shù)據(jù),并將采集到的感知數(shù)據(jù)存儲(chǔ)到本地?cái)?shù)據(jù)存儲(chǔ)空間。傳感器節(jié)點(diǎn)監(jiān)聽(tīng)來(lái)自Proxy代理層的Model-Pull請(qǐng)求(MPR)消息,當(dāng)收到MPR消息時(shí),節(jié)點(diǎn)啟動(dòng)計(jì)時(shí)器,并開(kāi)始上報(bào)采集到的目標(biāo)數(shù)據(jù),計(jì)時(shí)結(jié)束停止數(shù)據(jù)上報(bào),若計(jì)時(shí)期間再次收到Model-Pull消息,重新開(kāi)始計(jì)時(shí)器。另一方面,傳感器節(jié)點(diǎn)通過(guò)本地負(fù)載監(jiān)控模塊301監(jiān)測(cè)數(shù)據(jù)存儲(chǔ)區(qū)的負(fù)載狀態(tài),當(dāng)監(jiān)測(cè)到負(fù)載達(dá)到預(yù)定閾值時(shí),將其數(shù)據(jù)存儲(chǔ)區(qū)內(nèi)的感知數(shù)據(jù)全部封包上傳,之后清空數(shù)據(jù)存儲(chǔ)區(qū)。Proxy代理節(jié)點(diǎn)收到傳感器節(jié)點(diǎn)上報(bào)的感知數(shù)據(jù)包時(shí),通過(guò)存儲(chǔ)引擎模塊將感知數(shù)據(jù)存儲(chǔ)其數(shù)據(jù)緩存區(qū)。本實(shí)施例通過(guò)傳感器節(jié)點(diǎn)不僅能夠?qū)崿F(xiàn)傳統(tǒng)傳感器網(wǎng)絡(luò)中的數(shù)據(jù)響應(yīng)服務(wù),還通過(guò)主動(dòng)數(shù)據(jù)上報(bào),實(shí)現(xiàn)了歷史數(shù)據(jù)查詢服務(wù)的支持;此外,還避免了傳感器節(jié)點(diǎn)有限的存儲(chǔ)空間耗盡后,原來(lái)的數(shù)據(jù)會(huì)丟失的危險(xiǎn)。此外,本發(fā)明還提供了一種傳感器網(wǎng)絡(luò)數(shù)據(jù)獲取方法,該方法包括接收用戶數(shù)據(jù)讀取請(qǐng)求;解析用戶數(shù)據(jù)讀取請(qǐng)求,獲取用戶目標(biāo)數(shù)據(jù)ID ;依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求狀態(tài),計(jì)算預(yù)測(cè)值;依據(jù)所述預(yù)測(cè)值,判斷是否超過(guò)判定閾值;若是,則向傳感器節(jié)點(diǎn)發(fā)送數(shù)據(jù)讀取命令;接收并存儲(chǔ)傳感器節(jié)點(diǎn)發(fā)送的感知數(shù)據(jù);將在獲取到的感知數(shù)據(jù)中查找到的與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的目標(biāo)感知數(shù)據(jù)反饋給用戶。在獲取用戶目標(biāo)數(shù)據(jù)ID的步驟之后,還包括在代理節(jié)點(diǎn)內(nèi)查找與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的感知數(shù)據(jù),若查找成功,則向用戶反饋感知數(shù)據(jù)。在代理節(jié)點(diǎn)內(nèi)查找與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的感知數(shù)據(jù),若查找不成功,則等待一段設(shè)定時(shí)間后,再次在代理節(jié)點(diǎn)內(nèi)查找與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的感知數(shù)據(jù)。所述依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID,計(jì)算預(yù)測(cè)值的步驟中,是采用指數(shù)平滑法,依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求狀態(tài)和歷史查詢記錄,計(jì)算預(yù)測(cè)值。具體地,所述方法的實(shí)施過(guò)程可參考,關(guān)于代理節(jié)點(diǎn)工作的過(guò)程,不加贅述。專業(yè)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上所述的具體實(shí)施方式
,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含 在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種代理節(jié)點(diǎn),應(yīng)用在傳感器網(wǎng)絡(luò)中,所述傳感器網(wǎng)絡(luò)包括多個(gè)由傳感器節(jié)點(diǎn)組成的傳感器域、每個(gè)傳感器域設(shè)置的至少一代理節(jié)點(diǎn)以及應(yīng)用終端,其特征在于,包括 預(yù)測(cè)引擎模塊,其接收用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息,并依照用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息當(dāng)前狀態(tài)和用戶目標(biāo)數(shù)據(jù)ID歷史查詢狀態(tài),計(jì)算預(yù)測(cè)值; 目標(biāo)數(shù)據(jù)拉取模塊,其接收所述預(yù)測(cè)值,在所述預(yù)測(cè)值超過(guò)判定閾值時(shí),向與所述用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的傳感器節(jié)點(diǎn)發(fā)送命令,控制所述傳感器節(jié)點(diǎn)上報(bào)該傳感器存儲(chǔ)的感知數(shù)據(jù)。
2.如權(quán)利要求I所述的代理節(jié)點(diǎn),其特征在于,還包括一查詢處理模塊,用以解析用戶請(qǐng)求數(shù)據(jù)包,獲取用戶目標(biāo)數(shù)據(jù)ID。
3.如權(quán)利要求I所述的代理節(jié)點(diǎn),其特征在于,還包括一數(shù)據(jù)緩存模塊、用以存儲(chǔ)傳感器節(jié)點(diǎn)上報(bào)的感知數(shù)據(jù)。
4.如權(quán)利要求3所述的代理節(jié)點(diǎn),其特征在于,所述數(shù)據(jù)緩存模塊接收所述的用戶目標(biāo)數(shù)據(jù)ID,之后查找目標(biāo)數(shù)據(jù),如果查找成功,則將查找到的數(shù)據(jù)返回給用戶。
5.如權(quán)利要求3所述的代理節(jié)點(diǎn),其特征在于,所述數(shù)據(jù)緩存模塊接收所述的用戶目標(biāo)數(shù)據(jù)ID,之后查找目標(biāo)數(shù)據(jù),如果查找不成功,則發(fā)送所述ID給預(yù)測(cè)引擎模塊,在一定時(shí)間之后重新在數(shù)據(jù)緩存模塊中查找該數(shù)據(jù),若成功則返回,否則查詢失敗。
6.如權(quán)利要求I所述的代理節(jié)點(diǎn),其特征在于,在所述預(yù)測(cè)值不超過(guò)判定閾值時(shí),所述預(yù)測(cè)引擎模塊記錄所述用戶目標(biāo)數(shù)據(jù)ID此次查詢,依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID的此次查詢記錄,預(yù)測(cè)下一時(shí)段的用戶需求。
7.—種傳感器網(wǎng)絡(luò)數(shù)據(jù)獲取方法,其特征在于,包括 接收用戶數(shù)據(jù)讀取請(qǐng)求; 解析用戶數(shù)據(jù)讀取請(qǐng)求,獲取用戶目標(biāo)數(shù)據(jù)ID ; 依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求狀態(tài),計(jì)算預(yù)測(cè)值; 依據(jù)所述預(yù)測(cè)值,判斷是否超過(guò)判定閾值; 若是,則向傳感器節(jié)點(diǎn)發(fā)送數(shù)據(jù)讀取命令; 接收并存儲(chǔ)傳感器節(jié)點(diǎn)發(fā)送的感知數(shù)據(jù); 將在獲取到的感知數(shù)據(jù)中查找到的與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的目標(biāo)感知數(shù)據(jù)反饋給用戶。
8.如權(quán)利要求7所述的方法,其特征在于,在獲取用戶目標(biāo)數(shù)據(jù)ID的步驟之后,還包括在代理節(jié)點(diǎn)內(nèi)查找與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的感知數(shù)據(jù),若查找成功,則向用戶反饋感知數(shù)據(jù)。
9.如權(quán)利要求8所述的方法,其特征在于,在代理節(jié)點(diǎn)內(nèi)查找與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的感知數(shù)據(jù),若查找不成功,則等待一段設(shè)定時(shí)間后,再次在代理節(jié)點(diǎn)內(nèi)查找與用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的感知數(shù)據(jù)。
10.如權(quán)利要求7所述的方法,其特征在于,所述依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID,計(jì)算預(yù)測(cè)值的步驟中,是采用指數(shù)平滑法,依據(jù)所述用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求狀態(tài)和歷史查詢記錄,計(jì)算預(yù)測(cè)值。
11.一種傳感器網(wǎng)絡(luò),包括多個(gè)由傳感器節(jié)點(diǎn)組成的傳感器域、每個(gè)傳感器域設(shè)置的至少一代理節(jié)點(diǎn)以及應(yīng)用終端,其特征在于,所述代理節(jié)點(diǎn)包括預(yù)測(cè)引擎模塊,其接收用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息,并依照用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息當(dāng)前狀態(tài)和用戶目標(biāo)數(shù)據(jù)ID歷史查詢狀態(tài),計(jì)算預(yù)測(cè)值; 目標(biāo)數(shù)據(jù)拉取模塊,其接收所述預(yù)測(cè)值,在所述預(yù)測(cè)值超過(guò)判定閾值時(shí),向與所述用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的傳感器節(jié)點(diǎn)發(fā)送命令,控制所述傳感器節(jié)點(diǎn)上報(bào)該傳感器存儲(chǔ)的感知 數(shù)據(jù)。
12.如權(quán)利要求11所述的傳感器網(wǎng)絡(luò),其特征在于,所述傳感器節(jié)點(diǎn)包括一本地負(fù)載監(jiān)控模塊,該本地負(fù)載監(jiān)控模塊監(jiān)測(cè)傳感器節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)空間的負(fù)載狀態(tài),通過(guò)設(shè)定的閾值,當(dāng)監(jiān)測(cè)到傳感器節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)空間負(fù)載達(dá)到該閾值時(shí),啟動(dòng)感知數(shù)據(jù)上報(bào)過(guò)程,將存儲(chǔ)空間內(nèi)的所有感知數(shù)據(jù)傳送給代理節(jié)點(diǎn),完成后清空數(shù)據(jù)存儲(chǔ)空間。
13.如權(quán)利要求11所述的傳感器網(wǎng)絡(luò),其特征在于,所述傳感器節(jié)點(diǎn)還包括一請(qǐng)求響應(yīng)處理模塊,當(dāng)該傳感器節(jié)點(diǎn)接收到來(lái)自代理節(jié)點(diǎn)對(duì)一確定ID數(shù)據(jù)的請(qǐng)求后,開(kāi)始計(jì)時(shí),上報(bào)該傳感器節(jié)點(diǎn)采集到的目標(biāo)數(shù)據(jù)給代理節(jié)點(diǎn),計(jì)時(shí)結(jié)束后,停止上報(bào)。
全文摘要
本發(fā)明涉及一種代理節(jié)點(diǎn),可應(yīng)用在傳感器網(wǎng)絡(luò)中,包括多個(gè)由傳感器節(jié)點(diǎn)組成的傳感器域、每個(gè)傳感器域設(shè)置的至少一代理節(jié)點(diǎn)以及應(yīng)用終端,包括預(yù)測(cè)引擎模塊,其接收用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息,并依照用戶目標(biāo)數(shù)據(jù)ID請(qǐng)求信息當(dāng)前狀態(tài)和用戶目標(biāo)數(shù)據(jù)ID歷史查詢狀態(tài),計(jì)算預(yù)測(cè)值;目標(biāo)數(shù)據(jù)拉取模塊,其接收所述預(yù)測(cè)值,在所述預(yù)測(cè)值超過(guò)判定閾值時(shí),向與所述用戶目標(biāo)數(shù)據(jù)ID對(duì)應(yīng)的傳感器節(jié)點(diǎn)發(fā)送命令,控制所述傳感器節(jié)點(diǎn)上報(bào)該傳感器存儲(chǔ)的感知數(shù)據(jù)。本發(fā)明針對(duì)用戶目標(biāo)數(shù)據(jù)ID從傳感器層中讀取相應(yīng)的感知數(shù)據(jù),減少了分發(fā)用戶目標(biāo)之外的數(shù)據(jù)所導(dǎo)致的額外能耗和網(wǎng)絡(luò)負(fù)載。
文檔編號(hào)H04W84/18GK102625486SQ20121011106
公開(kāi)日2012年8月1日 申請(qǐng)日期2012年4月16日 優(yōu)先權(quán)日2012年4月16日
發(fā)明者周旭, 唐暉, 唐鼎, 慈松, 熊浩, 趙志軍 申請(qǐng)人:中國(guó)科學(xué)院聲學(xué)研究所