一種對無線傳感器網絡中感知數據的精確查詢方法
【專利摘要】本發明公開了一種對無線傳感器網絡中感知數據的精確查詢方法,包括如下步驟:基站向網絡傳感器節點發送查詢信息;網絡傳感器葉節點采集感知數據生成直方圖數據結構并發送至中間節點;中間節點融合葉點的直方圖數據并發送至上游節點,直至基站收到所有中間節點的直方圖數據;基站合并所有直方圖數據并計算查詢結果。本發明利用直方圖數據結構來存儲區域內節點感知數據分布,通過多輪搜索來提高查詢精度。
【專利說明】一種對無線傳感器網絡中感知數據的精確查詢方法
【技術領域】
[0001]本發明涉及一種對無線傳感器網絡中感知數據的查詢方法,特別涉及一種對無線傳感器網絡中感知數據的精確查詢方法,屬于無線傳感器網絡數據處理【技術領域】。
【背景技術】
[0002]隨著通信、傳感器制造、嵌入式計算的日益成熟,大規模無線傳感器網絡技術迅速發展并被廣泛應用,包括棲息地的監測,定位,跟蹤和庫存管理。無線傳感器網絡就是由部署在監測區域內大量的廉價微型傳感器節點組成,通過無線通信方式形成的一個多跳的自組織的網絡系統,其目的是協作地感知、采集和處理網絡覆蓋區域中被感知對象的信息,并發送給觀察者。
[0003]典型的無線傳感器網絡由大量微型傳感器節點組成,它們能夠在惡劣及危險環境中迅速展開,并通過無線自組成網絡,不受現有有線網絡基礎設施的限制。感知數據通過無線通信以多跳中繼方式匯集到數據處理中心。在這些應用中,傳感器通常部署在大面積獲得各種參數的測量。用戶可以通過發出各種查詢,來進行遙感數據收集和分析。這樣的一類查詢大致可以分為兩類:非全局查詢和全局查詢。非全局查詢指的是,對于在集合S上的任意一個查詢Q,有這樣一個函數f,使得對于S=S1 U S2,有Q(S) =f (Q(S1) ,Q(S2))。反之,如果不存在這樣的函數,那么這個查詢就是全局的查詢。
[0004]一般來說,非全局查詢返回一個單一的數值結果,例如平均數,總和等。此外,這一類查詢是可分解的,所以中間節點可以對收集的數據進行計算合并,而不會產生任何信息損失。全局查詢在傳感器應用中非常重要,例如,當傳感數據受到噪聲擾動時,此時,取得監測區域中位數比平均數將更有意義,因為噪音在很大程度上會影響平均的結果,而且全局查詢可以得到近似的數據分布。
[0005]現有的一個直接的方法來得到全局查詢的結果是將所有傳感器的數據都收集到基站進行檢索,但是,這種方法非常耗費資源,是不節能的。現有另外一種叫做Q-digest方法用基于數據桶的存儲結構來解決分位數查詢,當消息長度設置為m的時候,Q-digest保證達到一個和m相關的誤差邊界。但是此方法存在有不確定誤差的缺陷,并不能精確計算出查詢結果。
【發明內容】
[0006](一)要解決的技術問題
[0007]本發明要解決的技術問題是:再不耗費資源的前提下提高查詢精度。
[0008](二)技術方案
[0009]為解決上述技術問題,本發明提供了一種對無線傳感器網絡中感知數據的精確查詢方法,包括如下步驟:
[0010]基站向網絡傳感器節點發送查詢信息;
[0011]網絡傳感器葉節點采集感知數據生成直方圖數據結構并發送至中間節點;[0012]中間節點融合葉點的直方圖數據并發送至上游節點,直至基站收到所有中間節點的直方圖數據;
[0013]基站合并所有直方圖數據并計算查詢結果。
[0014]其中較優地,所述網絡傳感器葉節點采集感知數據生成直方圖數據結構并發送至中間節點的步驟進一步包括:
[0015]葉子節點采集感知數據;
[0016]建立一個只包含一個數據桶的直方圖數據結構;
[0017]將采集的感知數據存入數據桶;
[0018]將數據發送至所述葉子節點的父節點。
[0019]其中較優地,所述中間節點融合葉點的直方圖數據并發送至上游節點的步驟進一步包括:
[0020]中間節點接收所有子節點的直方圖數據結構;
[0021]合并相同數據范圍的數據桶,累加數據數目;
[0022]發送至當前中間節點的父節點。
[0023]其中較優地,所述計算查詢結果的步驟進一步包括:
[0024]確定要查詢的輸出結果;
[0025]確定初始查詢值;
[0026]當查詢值小于輸出結果時累加直方圖數據結構中的數據數目;
[0027]直至查詢值大于或等于查詢輸出結果;
[0028]輸出結果。
[0029]其中較優地,所述計算查詢結果的步驟之后還包括對查詢結果的精度是否符合要求的判斷步驟:
[0030]如果查詢結果精度符合要求,則輸出查詢結果;
[0031]如果查詢結果精度不符合要求,則調整直方圖數據結構的數據桶數據范圍重新循環查詢,直至查詢結果符合精度要求。
[0032]其中較優地,所述調整直方圖數據結構的數據桶數據范圍的步驟進一步包括:
[0033]當中位數的值轉移到焦點窗口之外時,通過活動窗口提煉方法和分層提煉方法重新獲得焦點窗口。
[0034]其中較優地,所述滑動窗口提煉方法進一步包括:
[0035]向查詢值移動的方向移動焦點窗口 ;
[0036]移動長度為焦點窗口的長度;
[0037]合并非焦點窗口的數據桶;
[0038]細分焦點窗口的數據值。
[0039]其中較優地,所述分層提煉方法進一步包括:
[0040]粗略定位焦點窗口 ;
[0041]細分焦點窗口 ;
[0042]滑動焦點窗口查詢確切值。
[0043]其中較優地,所述調整直方圖數據結構的數據桶數據范圍的步驟進一步包括:
[0044]按照數據集的范圍將數據按數據桶個數均等分份;[0045]細分焦點窗口所在的數據桶,合并焦點窗口之外的數據桶;
[0046]移動焦點窗口 ;
[0047]如此循環,直至焦點窗口所在數據桶覆蓋數據長度為I。
[0048](三)有益效果
[0049]本發明提供的對無線傳感器網絡中感知數據的精確查詢方法,利用直方圖數據結構來存儲區域內節點感知數據分布,通過多輪搜索來提高查詢精度。
【專利附圖】
【附圖說明】
[0050]圖1是本發明查詢方法流程示意圖;
[0051]圖2是本發明網絡傳感器節點網絡拓撲結構示意圖;
[0052]圖3是本發明一個直方圖數據結構實施例示意圖;
[0053]圖4是本發明合并兩個F-Buckets結構示意圖;
[0054]圖5是本發明初始循環范圍提煉方法示意圖;
[0055]圖6是本發明滑動窗口提煉方法示意圖;
[0056]圖7是本發明分層提煉方法示意圖。
【具體實施方式】
[0057]下面結合附圖和實施例,對本發明的【具體實施方式】作進一步詳細描述。以下實施例用于說明本發明,但不用來限制本發明的范圍。
[0058]如圖1所示,本發明提供一種對無線傳感器網絡中感知數據的精確查詢方法,具體包括如下步驟:基站向網絡傳感器節點發送查詢信息;網絡傳感器葉節點采集感知數據生成直方圖數據結構并發送至父節點;父前節點融合葉點的直方圖數據并發送至上游節點,如此直至基站收到所有子節點的直方圖數據;基站合并所有直方圖數據并計算查詢結果。下面對本發明提供的查詢方法展開詳細的說明。
[0059]首先,介紹基站向網絡傳感器節點發送查詢信息的步驟。
[0060]當用戶需要在一定的網絡傳感區域獲取一定的數據時,用戶需要通過基站向當前網絡傳感區域中的網絡傳感器節點發送查詢消息,網絡傳感器節點接收到查詢消息后,采集用戶所需要的數據。
[0061]其次,介紹網絡傳感器葉節點采集感知數據生成直方圖數據結構并發送至中間節點的步驟。
[0062]如圖2所示,在本發明提供的對無線傳感器網絡中感知數據的精確查詢方法中,優選采用樹狀路由拓撲。根節點表示基站(Sink),樹中每一個結點表示一個網絡傳感器節點(Sensor)。葉子節點對用戶所需數據查詢時,葉子節點首先感知數據,然后建立一個只包含一個數據桶的直方圖數據結構,將自己采集的感知數據存入該數據桶,然后把這個數據通過無線方式發送給自己的父節點。具體地,以中位數查詢為例,舉例說明。
[0063]本發明使用直方圖數據結構匯總結構存儲網絡的數據值的分布。如圖3所示,在本發明中,當前網絡傳感區域中一共有η個網絡傳感器,每個網絡傳感器是一個網絡傳感器節點。η個網絡傳感器采集的數據組成一個數據集S,其中數據集的范圍記為記為[I, σ ] ο直方圖數據結構表示為F-Bucket,在F-Bucket中的每個數據桶(bucket)代表一個數據范圍,并記錄這個范圍內包含的數據值個數(count值)。一個直方圖數據結構(F-Bucket) F包含若干的三元組,其中,一個三元組為一個數據桶。這個直方圖數據結構(F-Bucket)F 可以表示為 F= {B0, B1,..., Bi,..., Bm_J 和 Bi=Onin, max, count),其中 m 表示數據桶的數量。每個數據桶Bi表示一個范圍[B1.min, B1.max],變量B1.count記錄在這個范圍內的傳感器讀數個數。數據桶之間的數據范圍是連續的,既B1.max+l=Bi+1.min。F-Bucket可以變化,每個bucket的數據范圍并不固定,會依據每一輪的查詢結果進行調整。為了減小傳輸的字節,子節點向父節點發送數據時,消息中不必包含整個F-Bucket,而只需包含那些計數不為O的數據桶的信息。當用戶查詢中位數時,收到查詢信息的葉子節點采集感知數據。葉子節點建立一個只包含一個數據桶(bucket)的直方圖數據結構(F-Bucket),將當前自己采集的感知數據存入該數據桶(bucket)。然后通過無線傳感器網絡傳送至當前頁子節點的父節點。
[0064]再次,介紹中間節點融合葉點的直方圖數據并發送至上游節點,直至基站收到所有中間節點的直方圖數據的步驟。
[0065]在當前的無線傳感器網絡區域中,中間網絡傳感器節點(簡稱中間節點)也采集感知數據,中間節點生成數據值(V)。中間節點新建一個直方圖數據結構(F-Bucket)Fv。無線傳感器網絡中的中間網絡傳感器節點接收到所有子節點的直方圖數據結構(F-Bucket),并將這些直方圖數據結構(F-Bucket)中的數據合并到一個直方圖數據結構(F-Bucket),然后發送至自己的父節點。按照此方法直至所有中間節點的直方圖數據結構均發送至基站。中間節點對葉節點的直方圖融合的過程具體如方法I所述,方法I描述了中間節點進行的操作。
[0066]
【權利要求】
1.一種對無線傳感器網絡中感知數據的精確查詢方法,其特征在于,包括如下步驟: 基站向網絡傳感器節點發送查詢信息; 網絡傳感器葉節點采集感知數據生成直方圖數據結構并發送至中間節點; 中間節點融合葉點的直方圖數據并發送至上游節點,直至基站收到所有中間節點的直方圖數據; 基站合并所有直方圖數據并計算查詢結果。
2.如權利要求1所述的查詢方法,其特征在于,所述網絡傳感器葉節點采集感知數據生成直方圖數據結構并發送至中間節點的步驟進一步包括: 葉子節點采集感知數據; 建立一個只包含一個數據桶的直方圖數據結構; 將采集的感知數據存入數據桶; 將數據發送至所述葉子節點的父節點。
3.如權利要求1所述的查詢方法,其特征在于,所述中間節點融合葉點的直方圖數據并發送至上游節點的步驟進一步包括: 中間節點接收所有子節點的直方圖數據結構; 合并相同數據范圍的數據桶,累加數據數目; 發送至當前中間節點的父節點。
4.如權利要求1所述的查詢方法,其特征在于,所述計算查詢結果的步驟進一步包括: 確定要查詢的輸出結果; 確定初始查詢值; 當查詢值小于輸出結果時累加直方圖數據結構中的數據數目; 直至查詢值大于或等于查詢輸出結果; 輸出結果。
5.如權利要求1所述的查詢方法,其特征在于,所述計算查詢結果的步驟之后還包括對查詢結果的精度是否符合要求的判斷步驟: 如果查詢結果精度符合要求,則輸出查詢結果; 如果查詢結果精度不符合要求,則調整直方圖數據結構的數據桶數據范圍重新循環查詢,直至查詢結果符合精度要求。
6.如權利要求5所述的查詢方法,其特征在于,所述調整直方圖數據結構的數據桶數據范圍的步驟進一步包括: 當中位數的值轉移到焦點窗口之外時,通過活動窗口提煉方法和分層提煉方法重新獲得焦點窗口。
7.如權利要求6所述的查詢方法,其特征在于,所述滑動窗口提煉方法進一步包括: 向查詢值移動的方向移動焦點窗口; 移動長度為焦點窗口的長度; 合并非焦點窗口的數據桶; 細分焦點窗口的數據值。
8.如權利要求6所述的查詢方法,其特征在于,所述分層提煉方法進一步包括: 粗略定位焦點窗口;細分焦點窗口; 滑動焦點窗口查詢確切值。
9.權利要求5所述的查詢方法,其特征在于,所述調整直方圖數據結構的數據桶數據范圍的步驟進一步包括: 按照數據集的范圍將數據按數據桶個數均等分份; 細分焦點窗口所在的數據桶,合并焦點窗口之外的數據桶; 移動焦點窗口; 如此循環,直 至焦點窗口所在數據桶覆蓋數據長度為I。
【文檔編號】H04W24/04GK103945439SQ201410160802
【公開日】2014年7月23日 申請日期:2014年4月21日 優先權日:2014年4月21日
【發明者】劉克彬, 劉云浩 申請人:清華大學