周 瑩 (1968-)
女,廣東,本科,廣東工業(yè)大學實驗教學部實驗師,研究方向為實驗教學與管理。
摘要:無線傳感器網絡是一門獲取和處理信息的新興技術,它以數(shù)據(jù)為中心,提供數(shù)據(jù)采集、處理和查詢功能,其根本任務是準確獲取物理世界的有價值信息。數(shù)據(jù)存儲和數(shù)據(jù)查詢是無線傳感器網絡研究中的重點和熱點問題.。本文探討了無線傳感器網絡的數(shù)據(jù)存儲與查詢技術。
關鍵詞:無線傳感器;數(shù)據(jù)存儲;數(shù)據(jù)查詢;查詢優(yōu)化
Abstract: Wireless sensor networks(WSN) is a novel technology about acquiring and processing information,which is data centric and provides data collection,processing and query services。Its fundamental task is to accurately access to valuable information of the physical world. Data storage and query technology are the hot spots in the research of wireless sensor networks. This thesis discusses wireless sensor networks briefly and study data storage, query technology in details.
Key words: Wireless Sensor; Data storage; Data query; Query optimization
無線傳感器網絡,就是由部署在監(jiān)測區(qū)域內大量的廉價微型傳感器節(jié)點組成,節(jié)點之間通過無線通信方式形成一個多跳的自組織的網絡系統(tǒng),該網絡的目的是節(jié)點之間能夠協(xié)作地感應、收集、處理和傳輸網絡覆蓋區(qū)域中感知目標的信息,并發(fā)送給信息收集者[1]。
1 無線傳感器的結構
無線傳感器網絡通常由一組帶有嵌入式處理器、傳感器以及無線收發(fā)裝置的節(jié)點以自組織的方式構成的無線網絡,通過節(jié)點的協(xié)同工作來采集和處理網絡覆蓋區(qū)域中的目標信息[2]。圖1是經常被引用的一個典型的網絡架構,傳感器節(jié)點部署在一個目標區(qū)域中,傳感器節(jié)點測得的信息如溫度、濕度、光照、壓力,速度等通過多跳的方式傳送到匯聚點,通過匯聚點連入,最后接入任務管理節(jié)點。任務管理節(jié)點具有人機界面,可以進行干預,遙控和管理。匯聚點是擁有具有較強通信能力和計算能力及資源的系統(tǒng)[3]。
圖1 WSN網絡體系結構
圖1只是一個典型的無線傳感器網絡系統(tǒng)架構,每個具體的實例會有各種不同,如信息傳送的方式,各傳感器節(jié)點互相連接的方式,路由的選擇,等等[4] [5]。
2 感知數(shù)據(jù)中心存儲技術
傳感器網絡中的數(shù)據(jù)存儲方式一般分為3種[6]:(1)外部存儲:數(shù)據(jù)集中存放在傳感器網絡外的中心處理設備(基站或網關)上。(2)本地存儲:感知數(shù)據(jù)產生后即存放在產生它的傳感器節(jié)點。(3)數(shù)據(jù)中心存儲(Data-Centric Storage,DCS):給感知數(shù)據(jù)命名,根據(jù)感知數(shù)據(jù)名字存放在傳感器網絡中指定的位置。
使用外部存儲方法時,傳感器節(jié)點將所有采集的數(shù)據(jù)按事先指定的方式傳輸?shù)街行墓?jié)點進行分析和處理,存儲很簡單,但通信開銷大,中心及其周圍節(jié)點會成為系統(tǒng)性能的瓶頸,同時可能把一些用不到的數(shù)據(jù)也傳到中心節(jié)點,造成浪費。使用本地存儲方法時,存儲感知數(shù)據(jù)不需要耗費額外的通信能量,網絡傳輸?shù)臄?shù)據(jù)都是匯聚節(jié)點感興趣的數(shù)據(jù),但是在查詢數(shù)據(jù)時要遍歷整個網絡,需要耗費大量能量,以數(shù)據(jù)為中心存儲的開銷則介于兩者之間[7]。
表1 3種存儲方式下網絡通信成本比較
表1對3 種存儲方式下的網內能量消耗情況進行了分析比較。其中,n 為網內節(jié)點個數(shù);Dtotal為監(jiān)測到的感知數(shù)據(jù)總個數(shù);Q為查詢個數(shù),每個查詢對應1個報文;Dq為Q個查詢返回的結果數(shù)據(jù)個數(shù),每個數(shù)據(jù)對應1個報文。通過比較3種存儲方式可以得出如下結論:網絡規(guī)模較小時,如果感知數(shù)據(jù)的查詢頻率遠高于數(shù)據(jù)產生頻率,外部存儲方法是適用的。當網絡規(guī)模較大,如果感知數(shù)據(jù)的產生頻率高于查詢頻率,采用外部存儲易產生通信熱點,本地存儲和數(shù)據(jù)中心存儲方式更適用。隨著網絡規(guī)模的繼續(xù)擴大,當Dq>Q并且查詢存在聚合運算時,數(shù)據(jù)中心存儲方式的性能高于本地存儲方法。
3 查詢處理技術
無線傳感器網絡的數(shù)據(jù)查詢是根據(jù)用戶的需求,通過一定的執(zhí)行策略,將查詢語句或者查詢數(shù)據(jù)包發(fā)送到數(shù)據(jù)源,取得數(shù)據(jù)結果,進行處理后返回給用戶的過程。查詢處理與路由策略、感知數(shù)據(jù)模型和數(shù)據(jù)存儲策略緊密相關,不可分割。
無線傳感器網絡的數(shù)據(jù)查詢包括兩個階段[8]:查詢注入傳感器網絡的階段與收集數(shù)據(jù)并返回給用戶的階段。如圖2所示,查詢注入傳感器網絡的階段包括如下過程: 用戶提交查詢請求、查詢解析、查詢優(yōu)化、查詢分發(fā)。當這個階段執(zhí)行完畢,用戶提交的查詢請求被解析與優(yōu)化成有效的查詢計劃,并發(fā)送到傳感器節(jié)點,為下一步數(shù)據(jù)收集工作做好了準備。
圖2 傳感器網絡查詢過程
數(shù)據(jù)查詢的第二個階段是收集數(shù)據(jù)與返回查詢數(shù)據(jù)給用戶。圖3 給出了這個階段的典型描述。需要指出的是,為了有效利用傳感器的有效能量,這個過程往往要對所收集到的數(shù)據(jù)將進行網內處理,比如數(shù)據(jù)聚集、數(shù)據(jù)壓縮等操作。
圖3 查詢數(shù)據(jù)結果處理過程
根據(jù)用戶所感興趣的數(shù)據(jù)的類型,傳感器網絡的查詢可以分成以下幾類[9]:
(1) 快照查詢:查詢傳感器網絡當前或歷史的狀態(tài),如在某一區(qū)域某個時間段溫度值。
(2) 持續(xù)查詢:在用戶指定的時間內持續(xù)不斷的監(jiān)測傳感器網絡的狀態(tài)。如未來一個月的每天溫度值。
(3) 統(tǒng)計查詢:這類查詢一般要對所有或大部分節(jié)點所采集的數(shù)據(jù)進行訪問才能得到結論。如某一區(qū)域某段時間某一時間的平均溫度值。
(4) 多維查詢:這類查詢針對多個變量傳感器,進行多維查詢。如對溫度,濕度和光強三個變量同時查詢。
實際情況還可能是這幾種查詢的混合。每種類型的查詢都需要不同的查詢技術,一種類型的查詢技術并不見得適用于另一種類型的查詢。總之,傳感器網絡的查詢涉及到方方面面的技術,可以把這些技術按查詢過程組織成如圖4 所示的圖形。
圖4 傳感器網絡數(shù)據(jù)查詢技術
4 查詢的優(yōu)化
選擇最好的查詢計劃的過程稱為查詢優(yōu)化,通常做法的是枚舉所有可能的查詢計劃,估算每個計劃中每個操作符的開銷,然后從中選取開銷最小的查詢計劃。在傳感器網絡中,查詢優(yōu)化可以集中式地處理,通常放在服務器端執(zhí)行。查詢優(yōu)化的目標是最小化傳感器網絡的總能量消耗,包括各節(jié)點進行數(shù)據(jù)處理的能源消耗和通信能源消耗。下面將采用基于代價的查詢優(yōu)化方法來產生能量消耗最低的查詢執(zhí)行計劃。
傳感器網絡遵循經典的關系型數(shù)據(jù)庫系統(tǒng)模式,當系統(tǒng)接收到一個查詢請求(如SQL語句)的時候,該查詢請求首先被解析,然后傳遞給查詢優(yōu)化器,查詢優(yōu)化器的作用是生成一個高效的查詢執(zhí)行計劃,查詢計劃當中會說明查詢中不同操作(如join, selection, Projection)的執(zhí)行順序然后對每一個不同的操作使用某一具體的算法(如sort-merge join, hash-join)來實施。一般來說,優(yōu)化器的作用是搜索可能計劃的空間,通過比較各個計劃的預估費用來選取費用最低的查詢計劃,為了評估一個查詢執(zhí)行計劃的費用,優(yōu)化器必須依賴數(shù)據(jù)庫中各類數(shù)據(jù)的有關統(tǒng)計數(shù)據(jù),如關系的大小,域的大小,謂詞(predicates)的選擇等,最后最優(yōu)的查詢計劃被傳遞給查詢執(zhí)行引擎加以執(zhí)行。查詢引擎負責查詢執(zhí)行,查詢的代數(shù)表示是一種邏輯表示,要在具體的節(jié)點上實施查詢,還必須將邏輯的代數(shù)表示轉換成物理的查詢計劃或命令。
節(jié)點的計算能力和能量都十分有限,因此傳感器網絡的查詢優(yōu)化要盡量多地在服務器端執(zhí)行。當客戶端對收到的查詢進行了一系列的變換和優(yōu)化后(并且要求表達查詢的數(shù)據(jù)量要盡量的小),將選擇出最小的查詢計劃下發(fā)到網絡中,如果節(jié)點不是簇首,則直接將查詢轉發(fā)給自己的簇首,簇首收到查詢后,根據(jù)簇內節(jié)點信息,將查詢分解成子查詢分發(fā)給查詢相關的簇內節(jié)點上,非簇首節(jié)點根據(jù)查詢計劃的信息,按照計劃中指定的操作順序執(zhí)行查詢,最后將符合條件的查詢結果返回給簇首節(jié)點,收到查詢結果(不僅是本簇內的結果信息,還包括其子簇的結果信息)的簇首節(jié)點將收到的結果進行處理,將處理后的結果包發(fā)送給其上層的簇首,上層簇首繼續(xù)該過程,直到結果返回給根節(jié)點,由根節(jié)點再將本周期的查詢結果傳送給客戶端。
為節(jié)省能量,我們將查詢下推至節(jié)點執(zhí)行。節(jié)點對查詢操作的執(zhí)行順序不同對應的能量消耗也不同。傳感器的能量消耗主要集中在通信和采樣兩方面[10],因而,在不影響正常查詢執(zhí)行的條件下,我們不僅要壓縮數(shù)據(jù)量的傳輸,減少通訊能量消耗,還要考慮到應用盡量減少采樣次數(shù)等有效方法,降低采樣能量消耗。
因此在執(zhí)行某個查詢過程中,如何減少采樣次數(shù)也是延長節(jié)點壽命的關鍵。如果查詢語句中的某項操作不僅可以影響到其它的許多操作,而且相比較而言執(zhí)行該語句所消耗的能量較少,那么就應該考慮調整該謂詞的執(zhí)行順序,下面分兩種情況進行討論:
(1) 非聚集查詢
規(guī)則1:當選擇條件中無采樣屬性判斷時,則應先判斷選擇屬性的真值,如果為真,則采樣投影操作中的采樣屬性。
規(guī)則2:當選擇條件中的屬性包括采樣屬性時,按照屬性的采樣能量排列(這里設固有屬性的采樣能量為0),從小到大的順序采樣,每采樣一個屬性則判斷相應的謂詞表達式,看是否能決定選擇條件的真值,如果能,則排在其后面的采樣屬性,如果在后續(xù)操作中沒有涉及到(涉及到的屬性可以在執(zhí)行到該屬性時進行采樣),便不用采樣,否則繼續(xù)采樣后面的屬性。
舉例說明 查詢1:采集溫度大于20℃且光小于100的溫度和光值。
SELECT temperature, light
FROM Sensors
WHERE temperature>20℃ AND light<100
SAMPLE 30 s
DURATION 1Day
VALUES WITHIN 1
該查詢有3種查詢計劃:
計劃1:先將光和溫度進行采樣,然后再執(zhí)行WHERE選擇操作語句。
計劃2:先采樣溫度的值,然后執(zhí)行WHERE語句中的temperature >20℃字句,若滿足該語句條件,采樣光的值,最后執(zhí)行WHERE語句中的light<100字句。
計劃3:先采樣光的值,然后執(zhí)行WHERE語句中的light<100字句,若滿足該語句條件,采樣溫度的值,最后執(zhí)行WHERE語句中的temperature>20℃字句。
通過實際測量得知,采樣一次溫度所消耗的能量大于采樣一次光所需能量。由于光和溫度都在WHERE語句中出現(xiàn),因此計劃3是最優(yōu)方案,在一定程度上可以減少采樣能量大的溫度傳感器采樣次數(shù) 。
(2)帶聚集的查詢
當聚集操作是 MAX,MIN等求最值的聚集函數(shù)時,則可以應用一些技巧節(jié)省采樣能源。例如,查詢2:查詢1天內溫度大于20℃的最高光度值,且每30s返回一次結果。
SELECT MAX (light)
FROM Sensors
WHERE temperature>20℃
SAMPLE 30s
DURATION 1 Day
該查詢同樣有3種查詢計劃:
計劃1:先將光和溫度進行采樣,然后再執(zhí)行WHERE選擇操作語句,最后比較當前光度值和其下層節(jié)點(離客戶端較遠)的最大值,大的作為最大值反饋給其上層節(jié)點(離客戶端較近)。
計劃2:先采樣溫度的值,然后執(zhí)行WHERE語句中的temperature>20℃字句,若滿足該語句條件,采樣光的值,做聚集,判斷當前光度值和其下層節(jié)點(離客戶端較遠)的最大值,大的作為最大值反饋給其上層節(jié)點(離客戶端較近)。
計劃3:先采樣光的值,然后做聚集,判斷當前光度值和其下層節(jié)點(離客戶端較遠)的最大值,若當前光度值較小,則直接將較大的值作為最大值反饋給其上層節(jié)點(離客戶端較近),不用采樣溫度值;若當前光度值較大,則然后采樣溫度值,執(zhí)行WHERE 語句中的temperature>20℃字句,滿足條件后才將當前值反饋給其上層節(jié)點。
同查詢1,第3種方案最節(jié)省能量,為最優(yōu)方案。上面通過調整采樣、選擇和聚集操作的順序進一步減少了節(jié)點在采樣方面所浪費的不必要的能量,節(jié)省大量的節(jié)點能源開銷,延長其使用周期。
5 小結
無線傳感器網絡綜合了傳感器技術、嵌入式計算技術、分布式信息處理技術和無線通信技術,能夠實時監(jiān)測、感知和采集各種環(huán)境或監(jiān)測對象的信息,并對其進行處理。由于其十分廣闊的應用前景,無線傳感器網絡相關的研究吸引了學術界和工業(yè)界的廣泛關注。本文針對無線傳感器網絡中的數(shù)據(jù)的特點,對無線傳感器網絡數(shù)據(jù)的存儲、查詢及其優(yōu)化技術進行了深入的探討,以期提供一些有益的參考。
參考文獻
[1] 羅武勝,翟平,魯琴. 無線多媒體傳感器網絡研究[J]. 電子與信息學報,2008,30(6):1511-1516.
[2] 石軍鋒,鐘先信,陳帥. 無線傳感器網絡結構及特點分析[J]. 重慶大學學報(自然科學版),2005,28(2):16-19.
[3] 孫利民,李建中,陳渝.無線傳感器網絡[M]. 北京: 清華大學出版社.2005.
[4] 唐勇,周明天,張欣. 無線傳感器網絡路由協(xié)議研究進展[J]. 軟件學報,2006,17(3):410-421.
[5] 張瓊. 基于內容的無線傳感器網絡路由協(xié)方[J]. 現(xiàn)代電子技術,2007,30(17):87-91.
[6] 李建中,李金寶,石勝飛. 傳感器網絡及其數(shù)據(jù)管理的概念、問題與進展[J]. 軟件學報,2003,14(10):1717-1727.
[7] 崔莉,鞠海玲,苗勇,等.無線傳感器網絡研究進展[J].計算機研究與發(fā)展,2005,42(1):163-174.
[8] 潘群華,李明祿. 無線傳感器網絡中的數(shù)據(jù)查詢[J]. 小型微型計算機系統(tǒng),2007,8(8):1357-1361.
[9]吳亞君.傳感器網絡數(shù)據(jù)查詢處理技術研究[D].黑龍江:黑龍江大學,2006 (6).
[10] 李春杰,劉瑞霞,王繼志.基于無線傳感器網絡的監(jiān)控平臺設計[J].傳感技術學報,2006,19(2) :13-14.