(1.衡陽(yáng)師范學(xué)院 計(jì)算機(jī)系, 湖南 衡陽(yáng) 421008;2.中南大學(xué) 信息科學(xué)與工程學(xué)院 計(jì)算機(jī)系, 長(zhǎng)沙 410083)
摘 要:對(duì)傳感器網(wǎng)絡(luò)中目前已有的數(shù)據(jù)存儲(chǔ)策略進(jìn)行了研究,詳細(xì)介紹了幾個(gè)主要存儲(chǔ)技術(shù)的數(shù)據(jù)存儲(chǔ)思想,并分析了其各自的優(yōu)缺點(diǎn)。最后給出了無(wú)線傳感器網(wǎng)絡(luò)存儲(chǔ)策略研究的未來(lái)發(fā)展趨勢(shì)。
關(guān)鍵詞:無(wú)線傳感器網(wǎng)絡(luò);存儲(chǔ)技術(shù)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A
文章編號(hào):10013695(2009)02043905
Overview of data storage technology for wireless sensor networks
LIANG Xiaoman1,MA Xingpo2
(1.Dept. of Computer, Hengyang Normal University, Hengyang Hunan 421008, China;2.Dept. of Compuer, Institute of Information Science Engineering, Central South University, Changsha 410083, China )
Abstract:This paper gave an overview of data storage technology for wireless sensor networks, introduced the main idea of several important data storage strategies, and discussed their advantages and disadvantages. At the end,presented the advance of the research on data storage technology for sensor networks.
Key words:wireless sensor networks(WSN); storage technology
0 引言
無(wú)線傳感器網(wǎng)絡(luò)(WSN)被認(rèn)為是2l世紀(jì)最重要的技術(shù)之一,在軍事國(guó)防、工農(nóng)業(yè)、城市管理、生物醫(yī)療、環(huán)境監(jiān)測(cè)、搶險(xiǎn)救災(zāi)、防恐反恐、危險(xiǎn)區(qū)域遠(yuǎn)程控制等許多重要領(lǐng)域都有潛在的實(shí)用價(jià)值[1]。可以預(yù)見(jiàn),在不久的將來(lái),它將會(huì)對(duì)人類未來(lái)的生活方式產(chǎn)生深遠(yuǎn)影響。
WSN由大量體積小、成本低,具有無(wú)線通信、傳感、數(shù)據(jù)處理能力的傳感器節(jié)點(diǎn)組成。這些節(jié)點(diǎn)通過(guò)自組織的方式構(gòu)成網(wǎng)絡(luò),借助于節(jié)點(diǎn)中內(nèi)置的形式多樣的傳感器,協(xié)作實(shí)時(shí)地感知和采集周邊環(huán)境中眾多人們感興趣的物質(zhì)現(xiàn)象數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行處理,獲得更為詳盡而準(zhǔn)確的信息,然后將這些信息發(fā)布給觀察者。WSN具有以下特征[2]:a)硬件資源有限。節(jié)點(diǎn)由于受價(jià)格、體積和功耗的限制,其計(jì)算能力、程序空間和內(nèi)存空間比普通的計(jì)算機(jī)功能要弱很多。這一點(diǎn)決定了在節(jié)點(diǎn)操作系統(tǒng)設(shè)計(jì)中,協(xié)議層次不能太復(fù)雜。b)電源容量有限。網(wǎng)絡(luò)節(jié)點(diǎn)由電池供電,電池的容量一般不是很大;其特殊的應(yīng)用領(lǐng)域決定了在使用過(guò)程中,不能給電池充電或更換電池,一旦電池能量用完,這個(gè)節(jié)點(diǎn)也就失去了作用(死亡)。因此在傳感器網(wǎng)絡(luò)設(shè)計(jì)過(guò)程中,任何技術(shù)和協(xié)議的使用都要以節(jié)能為前提。c)無(wú)中心。WSN中沒(méi)有嚴(yán)格的控制中心,所有節(jié)點(diǎn)地位平等,是一個(gè)對(duì)等式網(wǎng)絡(luò)。節(jié)點(diǎn)可以隨時(shí)加入或離開(kāi)網(wǎng)絡(luò),任何節(jié)點(diǎn)的故障不會(huì)影響整個(gè)網(wǎng)絡(luò)的運(yùn)行,具有很強(qiáng)的抗毀性。d)自組織。網(wǎng)絡(luò)的布設(shè)和展開(kāi)無(wú)須依賴于任何預(yù)設(shè)的網(wǎng)絡(luò)設(shè)施,節(jié)點(diǎn)通過(guò)分層協(xié)議和分布式算法協(xié)調(diào)各自的行為,節(jié)點(diǎn)開(kāi)機(jī)后就可以快速、自動(dòng)地組成一個(gè)獨(dú)立的網(wǎng)絡(luò)。e)多跳路由。網(wǎng)絡(luò)中節(jié)點(diǎn)通信距離有限,一般在幾百米范圍內(nèi),節(jié)點(diǎn)只能與它的鄰居直接通信。如果希望與其射頻覆蓋范圍之外的節(jié)點(diǎn)進(jìn)行通信,則需要通過(guò)中間節(jié)點(diǎn)進(jìn)行路由。固定網(wǎng)絡(luò)的多跳路由使用網(wǎng)關(guān)和路由器來(lái)實(shí)現(xiàn),而WSN中的多跳路由是由普通網(wǎng)絡(luò)節(jié)點(diǎn)完成的,沒(méi)有專門(mén)的路由設(shè)備,這樣每個(gè)節(jié)點(diǎn)既可以是信息的發(fā)起者,也是信息的轉(zhuǎn)發(fā)者。f)動(dòng)態(tài)拓?fù)洹SN是一個(gè)動(dòng)態(tài)的網(wǎng)絡(luò),節(jié)點(diǎn)可以隨處移動(dòng);一個(gè)節(jié)點(diǎn)可能會(huì)因?yàn)殡姵啬芰亢谋M或其他故障,退出網(wǎng)絡(luò)運(yùn)行;一個(gè)節(jié)點(diǎn)也可能由于工作的需要而被添加到網(wǎng)絡(luò)中。這些都會(huì)使網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)隨時(shí)發(fā)生變化,因此網(wǎng)絡(luò)應(yīng)該具有動(dòng)態(tài)拓?fù)浣M織功能。g)節(jié)點(diǎn)數(shù)量眾多,分布密集。為了對(duì)一個(gè)區(qū)域執(zhí)行監(jiān)測(cè)任務(wù),往往有成千上萬(wàn)傳感器節(jié)點(diǎn)空投到該區(qū)域。傳感器節(jié)點(diǎn)分布非常密集,利用節(jié)點(diǎn)之間高度連接性來(lái)保證系統(tǒng)的容錯(cuò)性和抗毀性。
存儲(chǔ)策略的研究是WSN數(shù)據(jù)管理與處理的重要研究?jī)?nèi)容之一。由于WSN節(jié)點(diǎn)在不停地采集數(shù)據(jù),而根據(jù)WSN的特點(diǎn),每個(gè)節(jié)點(diǎn)的存儲(chǔ)容量以及能量都是有限的,對(duì)存儲(chǔ)策略的研究是使得有限的存儲(chǔ)空間能盡可能有效地利用。根據(jù)存儲(chǔ)節(jié)點(diǎn)在網(wǎng)絡(luò)中的不同位置,存儲(chǔ)方式分為三種,分別是外部存儲(chǔ)[3]、本地存儲(chǔ)和以數(shù)據(jù)為中心的存儲(chǔ)。外部存儲(chǔ)是指將數(shù)據(jù)存儲(chǔ)在sink 節(jié)點(diǎn)上,查詢請(qǐng)求在sink 節(jié)點(diǎn)上執(zhí)行查詢。在這種存儲(chǔ)方式下,所有感知數(shù)據(jù)都要路由到sink節(jié)點(diǎn)進(jìn)行存儲(chǔ),因而路由數(shù)據(jù)會(huì)消耗大量的能量;如果網(wǎng)絡(luò)中所有節(jié)點(diǎn)幾乎同時(shí)向sink節(jié)點(diǎn)發(fā)送數(shù)據(jù),則會(huì)造成sink周?chē)?jié)點(diǎn)出現(xiàn)擁塞以及較大的丟包率。但當(dāng)查詢涉及幾乎所有的數(shù)據(jù)并且查詢的頻率遠(yuǎn)遠(yuǎn)高于數(shù)據(jù)產(chǎn)生頻率時(shí),適合采用外部存儲(chǔ)的方式。本地存儲(chǔ)[4]是將數(shù)據(jù)都保存到生成數(shù)據(jù)的節(jié)點(diǎn)上。采用本地存儲(chǔ)的方式存儲(chǔ)數(shù)據(jù)所消耗的能量很少,但由于每一次查詢都需要泛洪,這種存儲(chǔ)方式不利于數(shù)據(jù)查詢。只有當(dāng)數(shù)據(jù)的產(chǎn)生頻率遠(yuǎn)遠(yuǎn)高于數(shù)據(jù)的查詢頻率的情況下,本地存儲(chǔ)的方式才顯得比較高效[5]。外部存儲(chǔ)和本地存儲(chǔ)是兩種極端的存儲(chǔ)策略,Shenker等人[6]在2002年提出了以數(shù)據(jù)為中心的存儲(chǔ)策略(DCS)。該存儲(chǔ)策略的主要思想是將數(shù)據(jù)命名,不同名稱的數(shù)據(jù)被映射到不同的地理位置,距離該地理位置最近的節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)。基于該思想的還有文獻(xiàn)[7]。文獻(xiàn)[8]提出了一種基于環(huán)的索引方法,該方法解決了DCS中存在的一些問(wèn)題,如文獻(xiàn)[9]中提到的熱點(diǎn)問(wèn)題; 文獻(xiàn)[10]提出了一個(gè)改進(jìn)的DCS(resilient datacentric storage,RDCS),該策略降低了節(jié)點(diǎn)的平均存儲(chǔ)代價(jià)以及獲取數(shù)據(jù)的平均通信代價(jià);文獻(xiàn)[11,12]提出了一個(gè)稱為維(dimensions)的層次體系存儲(chǔ)結(jié)構(gòu),這種層次結(jié)構(gòu)適合于下鉆(drill down)操作;文獻(xiàn)[13]給出了一種稱為DIFS(distributed index for features in sensor networks)的分布式索引方法,可以有效地處理區(qū)域查詢;文獻(xiàn)[14]提出了一個(gè)稱為DIM的能夠支持多維屬性區(qū)域查詢的空間索引結(jié)構(gòu);文獻(xiàn)[15]給出了一種既能對(duì)感興趣事件及時(shí)收集,又能對(duì)一般數(shù)據(jù)在傳感器網(wǎng)絡(luò)內(nèi)長(zhǎng)期存儲(chǔ)以備網(wǎng)絡(luò)內(nèi)數(shù)據(jù)查詢處理的數(shù)據(jù)存儲(chǔ)策略;文獻(xiàn)[16]通過(guò)實(shí)驗(yàn)證明平行NAND是傳感器網(wǎng)絡(luò)中能量最高效的存儲(chǔ)設(shè)備;文獻(xiàn)[17]針對(duì)應(yīng)用于提供路面信息的傳感器網(wǎng)絡(luò)提出了一種以位置為中心的數(shù)據(jù)存儲(chǔ)策略;文獻(xiàn)[18]針對(duì)以數(shù)據(jù)為中心存儲(chǔ)策略所出現(xiàn)的熱點(diǎn)問(wèn)題提出了一種區(qū)域共享的方案,并指出如果將該方案和DIM方案相結(jié)合將使得以數(shù)據(jù)為中心存儲(chǔ)策略的性能達(dá)到目前為止最優(yōu)的效果。
1 幾種重要數(shù)據(jù)存儲(chǔ)技術(shù)介紹
1.1 DCS系統(tǒng)
DCS系統(tǒng)[6]是最早的以數(shù)據(jù)為中心的存儲(chǔ)系統(tǒng)。DCS用散列函數(shù)把要存儲(chǔ)的數(shù)據(jù)映射到傳感器網(wǎng)絡(luò)中某個(gè)地理位置,選取距離該地理位置最近的節(jié)點(diǎn)作為該數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)。此散列函數(shù)使用了兩個(gè)原語(yǔ),即put(key,value)和get(key)。其中,put(key,value)利用修改的GPSR協(xié)議將數(shù)據(jù)發(fā)送到存儲(chǔ)位置;get(key)用于在查詢發(fā)起時(shí)將數(shù)據(jù)從存儲(chǔ)位置取回。DCS基于數(shù)據(jù)命名的思想,將同種類型的數(shù)據(jù)存儲(chǔ)在同一個(gè)節(jié)點(diǎn)上,查詢只需要發(fā)送到該查詢所包含事件所在的節(jié)點(diǎn)上而不需要泛洪查詢,因此可大大節(jié)約查詢所消耗的能量。但DCS也存在一些問(wèn)題,如熱點(diǎn)問(wèn)題。由于網(wǎng)絡(luò)中所有相同的事件都要發(fā)送給主節(jié)點(diǎn),查詢也要發(fā)送到主節(jié)點(diǎn),主節(jié)點(diǎn)以及主節(jié)點(diǎn)周?chē)墓?jié)點(diǎn)能量消耗最為嚴(yán)重,能量消耗的均衡性很差。
1.2 ARI系統(tǒng)
ARI(adaptive ringbased index)系統(tǒng)是[8]一種采用環(huán)形索引技術(shù)自適應(yīng)的數(shù)據(jù)存儲(chǔ)方法。ARI也是將每一個(gè)事件類型映射到傳感器網(wǎng)絡(luò)中的一個(gè)位置,與DCS系統(tǒng)不同的是,該位置不是存儲(chǔ)感知事件數(shù)據(jù)本身而是在其周?chē)x擇一定數(shù)目的節(jié)點(diǎn)(稱這些節(jié)點(diǎn)為索引節(jié)點(diǎn))用來(lái)存儲(chǔ)該感知事件數(shù)據(jù)的索引,感知的事件數(shù)據(jù)存儲(chǔ)在感知節(jié)點(diǎn)本身或者其周?chē)?jié)點(diǎn)上。各個(gè)索引節(jié)點(diǎn)以及部分非索引節(jié)點(diǎn)互相連接形成一個(gè)環(huán)狀,環(huán)中非索引節(jié)點(diǎn)用來(lái)在索引節(jié)點(diǎn)之間傳遞數(shù)據(jù)。特定事件的查詢首先被路由到該事件對(duì)應(yīng)的索引節(jié)點(diǎn)上,然后由索引節(jié)點(diǎn)將查詢發(fā)送到該事件數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)上。為了減少索引更新所帶來(lái)的通信開(kāi)銷(xiāo),ARI采用了一種懶惰索引更新機(jī)制(LIU),即當(dāng)數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)位置發(fā)生變化時(shí),新的存儲(chǔ)節(jié)點(diǎn)并不立即向索引節(jié)點(diǎn)發(fā)送索引更新消息,而是先計(jì)算自身到當(dāng)前索引節(jié)點(diǎn)所存儲(chǔ)索引位置之間的距離,只有當(dāng)該距離大于一定的門(mén)限值時(shí),才向索引節(jié)點(diǎn)發(fā)送索引更新消息。為了減少頻繁查詢所帶來(lái)的通信開(kāi)銷(xiāo),AIR提供了一種懶惰索引查詢機(jī)制(LIQ),該機(jī)制規(guī)定:a)老的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)在t時(shí)間內(nèi)維護(hù)一個(gè)指向下一個(gè)存儲(chǔ)節(jié)點(diǎn)的指針;b)存儲(chǔ)節(jié)點(diǎn)在向sink節(jié)點(diǎn)回送數(shù)據(jù)時(shí),把自身位置信息也一并回送,sink節(jié)點(diǎn)緩存該位置信息;c)sink節(jié)點(diǎn)在發(fā)起查詢時(shí),首先檢查緩存中是否保存與所查詢事件相關(guān)的存儲(chǔ)節(jié)點(diǎn)的位置信息,如果有,查詢直接被發(fā)送到該位置,否則查詢被發(fā)往該事件對(duì)應(yīng)的索引節(jié)點(diǎn)。ARI系統(tǒng)結(jié)構(gòu)如圖 1 所示。
ARI很好地解決了DCS中出現(xiàn)的主節(jié)點(diǎn)及其周?chē)?jié)點(diǎn)過(guò)熱所帶來(lái)的能量消耗不均衡問(wèn)題,但是ARI主要解決的問(wèn)題是在傳感器網(wǎng)絡(luò)中有大量數(shù)據(jù)產(chǎn)生而查詢只涉及少部分?jǐn)?shù)據(jù)條件下如何高效存儲(chǔ)查詢的問(wèn)題。當(dāng)查詢需要涉及到網(wǎng)絡(luò)中大量節(jié)點(diǎn)時(shí),ARI的索引維護(hù)開(kāi)銷(xiāo)太大。
1.3 Dimensions系統(tǒng)
Dimensions系統(tǒng)[11,12]是一個(gè)支持由粗到細(xì)對(duì)數(shù)據(jù)進(jìn)行查詢以及對(duì)歷史數(shù)據(jù)進(jìn)行查詢的傳感器數(shù)據(jù)管理系統(tǒng)。Dimensions系統(tǒng)采用以數(shù)據(jù)為中心的存儲(chǔ)策略,構(gòu)建存儲(chǔ)層次,在不同層次上存儲(chǔ)不同分辨率的小波系數(shù),即低層節(jié)點(diǎn)存儲(chǔ)分辨率高的數(shù)據(jù),而高層節(jié)點(diǎn)存儲(chǔ)分辨率低的數(shù)據(jù)。
圖2顯示了Dimensions系統(tǒng)的層次結(jié)構(gòu)。系統(tǒng)的最高層為第0層,覆蓋區(qū)域?yàn)檎麄€(gè)傳感器網(wǎng)絡(luò)。為了從第0層構(gòu)建系統(tǒng)結(jié)構(gòu)的第1層子區(qū)域,系統(tǒng)首先把第0層所對(duì)應(yīng)的數(shù)據(jù)集合的名字散列為第0層的一個(gè)位置,與該位置對(duì)應(yīng)的主節(jié)點(diǎn)是層次結(jié)構(gòu)的根節(jié)點(diǎn),稱為頂點(diǎn);然后,系統(tǒng)把第0層的區(qū)域等分為四個(gè)子區(qū)域,形成層次結(jié)構(gòu)的第1層,并在每個(gè)子區(qū)域選擇一個(gè)傳感器節(jié)點(diǎn)作為簇頭節(jié)點(diǎn)。簇頭節(jié)點(diǎn)選擇的方法是:對(duì)于每一個(gè)小的矩形分塊,計(jì)算從此矩形分塊中心位置到根節(jié)點(diǎn)之間的歐幾里得幾何學(xué)最短路徑,選擇這條最短路徑與該矩形區(qū)域邊界的交點(diǎn)位置作為該矩形區(qū)域的簇頭節(jié)點(diǎn)位置。最后,系統(tǒng)把所有的簇頭節(jié)點(diǎn)作為第0層頂點(diǎn)的子節(jié)點(diǎn)。此過(guò)程遞歸進(jìn)行,最終構(gòu)造出層次結(jié)構(gòu)的所有低層次。
Dimensions系統(tǒng)的數(shù)據(jù)存儲(chǔ)過(guò)程是一個(gè)對(duì)數(shù)據(jù)集進(jìn)行時(shí)空處理的過(guò)程。數(shù)據(jù)在時(shí)間上的處理在本地進(jìn)行,包括以下兩個(gè)步驟:a)通過(guò)設(shè)定門(mén)限值等方法對(duì)實(shí)時(shí)數(shù)據(jù)序列進(jìn)行過(guò)濾以抽取代表感興趣事件的時(shí)序數(shù)據(jù);b)對(duì)過(guò)濾后的數(shù)據(jù)進(jìn)行小波編碼壓縮,以獲得包含最大信號(hào)能量的時(shí)序數(shù)據(jù)。數(shù)據(jù)在時(shí)間上的處理是在節(jié)點(diǎn)內(nèi)部進(jìn)行,只有計(jì)算開(kāi)銷(xiāo)而無(wú)通信開(kāi)銷(xiāo),消耗能量較少。數(shù)據(jù)在空間上的處理又稱做空間小波分解,即上一層節(jié)點(diǎn)在收到下層四個(gè)節(jié)點(diǎn)的數(shù)據(jù)時(shí),首先將數(shù)據(jù)存儲(chǔ)在本地,然后采用小波變換技術(shù)繼續(xù)對(duì)數(shù)據(jù)進(jìn)行壓縮處理,獲得新的小波系數(shù)之后,將其向更高一層傳遞。
在Dimensions系統(tǒng)中,各個(gè)層次只存儲(chǔ)小波系數(shù),節(jié)約了存儲(chǔ)空間。由于層與層之間主要傳輸小波系數(shù),傳輸量相比傳輸原始數(shù)據(jù)而言大大減少,降低了存儲(chǔ)數(shù)據(jù)的通信開(kāi)銷(xiāo);同時(shí),由于以下原因,Dimensions系統(tǒng)的數(shù)據(jù)存儲(chǔ)策略大大降低了查詢開(kāi)銷(xiāo):a)查詢采用自頂向下的方式,只需要選擇可能存在所要結(jié)果的分支;b)如果查詢只需要獲得數(shù)據(jù)的大概信息,則查詢只需要沿層次結(jié)構(gòu)樹(shù)向下到滿足其查詢要求的某一層而不需要查詢到最底層。然而,Dimensions系統(tǒng)層次結(jié)構(gòu)樹(shù)只有一個(gè)根節(jié)點(diǎn),所有查詢都要從根節(jié)點(diǎn)開(kāi)始,所有查詢結(jié)果也必須返回根節(jié)點(diǎn),這樣就勢(shì)必會(huì)造成熱點(diǎn)問(wèn)題;同時(shí),網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的存儲(chǔ)空間也沒(méi)有得到均衡利用。雖然文獻(xiàn)[11]給出了一些改進(jìn)策略,但也不十分理想。
1.4 DIFS系統(tǒng)
DIFS系統(tǒng)[13]提供了一種能夠有效處理范圍查詢的數(shù)據(jù)存儲(chǔ)方法,如查詢“列出溫度值在50℃~60℃的所有感知數(shù)據(jù)”。DIFS首先構(gòu)建索引層次結(jié)構(gòu),按所屬層次由低到高,節(jié)點(diǎn)存儲(chǔ)的索引值范圍逐漸減少而節(jié)點(diǎn)覆蓋的地理范圍逐漸增大。位于最高層次的節(jié)點(diǎn)所存儲(chǔ)索引值的范圍最小,而其覆蓋區(qū)域范圍最廣,為整個(gè)傳感器網(wǎng)絡(luò);位于最低層次的節(jié)點(diǎn)(稱為該層次結(jié)構(gòu)的葉子節(jié)點(diǎn))存儲(chǔ)的索引值范圍最廣,但其覆蓋區(qū)域最小,為最小的矩形空間。除根節(jié)點(diǎn)外,下層節(jié)點(diǎn)有b個(gè)上層父節(jié)點(diǎn),b是一個(gè)可變的系統(tǒng)參數(shù);除葉子節(jié)點(diǎn)外,上層節(jié)點(diǎn)有4個(gè)下層孩子節(jié)點(diǎn)。
圖3以溫度屬性為例說(shuō)明了索引層次結(jié)構(gòu)的構(gòu)造過(guò)程。設(shè)網(wǎng)絡(luò)中某個(gè)節(jié)點(diǎn)M感知到某事件的發(fā)生并存儲(chǔ)了該事件的一個(gè)屬性溫度的值(假設(shè)M在A區(qū)域,并假設(shè)該溫度值為65°,b值為2)。為了獲得對(duì)應(yīng)葉子索引節(jié)點(diǎn)的位置,M以下列三個(gè)條件作為hash函數(shù)的輸入:a)該感知節(jié)點(diǎn)的位置;b)空間層次結(jié)構(gòu)中最小矩形區(qū)域(圖中A、B、C、D四個(gè)區(qū)域均為最小矩形區(qū)域)的兩對(duì)角頂點(diǎn)坐標(biāo); c)數(shù)據(jù)名和數(shù)據(jù)值的范圍文字表示(如“0:99”)。M選擇距離該hash函數(shù)輸出坐標(biāo)位置最近的節(jié)點(diǎn)作為其對(duì)應(yīng)的葉子索引節(jié)點(diǎn)(圖3中的節(jié)點(diǎn)a),然后M將一條包含下列信息的消息傳遞給節(jié)點(diǎn)a:a)感知數(shù)據(jù)屬性名;b)屬性值;c)感知節(jié)點(diǎn)的位置。節(jié)點(diǎn)a保存完這些信息后將其所維護(hù)的50~99的數(shù)據(jù)直方圖傳遞給更高一層的父節(jié)點(diǎn)c(c覆蓋區(qū)域?yàn)锳、B、C、D四個(gè)區(qū)域的組合),節(jié)點(diǎn)c在保存完節(jié)點(diǎn)a傳來(lái)的數(shù)據(jù)以后再將溫度值在50~74的直方圖傳遞到更高一層的e點(diǎn)(e點(diǎn)覆蓋區(qū)域?yàn)檎麄€(gè)傳感器網(wǎng)絡(luò))。
DIFS在此索引層次結(jié)構(gòu)上的查詢分三個(gè)階段:a)查詢傳播階段,即將查詢傳播到索引層次結(jié)構(gòu)樹(shù)的若干個(gè)上層節(jié)點(diǎn);b)沿層次結(jié)構(gòu)從上到下搜索階段,此搜索過(guò)程選擇適當(dāng)?shù)姆种е敝寥~子節(jié)點(diǎn);c)返回查詢結(jié)果階段,即從葉子節(jié)點(diǎn)讀取數(shù)據(jù)給查詢發(fā)出點(diǎn)。
類似于Dimensions系統(tǒng),DIFS系統(tǒng)也構(gòu)造層次索引結(jié)構(gòu),然而它與Dimensions系統(tǒng)存在三點(diǎn)不同:a)DIFS層次結(jié)構(gòu)具有多個(gè)根,而不是一個(gè)根;b)DIFS查詢可以從該層次結(jié)構(gòu)的任何地方滲入,而不是僅局限于根節(jié)點(diǎn);c)DIFS層次結(jié)構(gòu)中存儲(chǔ)的是事件的屬性值以及地理位置等信息,而Dimensions系統(tǒng)層次結(jié)構(gòu)存儲(chǔ)的是小波系數(shù)并且各層數(shù)據(jù)有不同的分辨率。由此可以看出,DIFS解決了Dimensions系統(tǒng)中單一樹(shù)根造成的瓶頸問(wèn)題;另外,它有效地沿層次結(jié)構(gòu)向上傳播聚集數(shù)據(jù),可以實(shí)現(xiàn)在層次結(jié)構(gòu)的高層實(shí)現(xiàn)不必要的遍歷。傳感器網(wǎng)絡(luò)每感知到一個(gè)事件數(shù)據(jù),DIFS系統(tǒng)都要將其向上傳輸?shù)浇Y(jié)構(gòu)層次的最頂層,因此索引維護(hù)開(kāi)銷(xiāo)較大。
1.5 DIM系統(tǒng)
DIM系統(tǒng)[14]是一種支持多維存儲(chǔ)查詢的分布式索引結(jié)構(gòu)。比如存儲(chǔ)在傳感器網(wǎng)絡(luò)中的一個(gè)事件有k個(gè)屬性(A1,A2,…,Ak),則DIM系統(tǒng)可返回查詢“找出網(wǎng)絡(luò)中屬性值在(X1-Y1;X2-Y2;…;Xk-Yk)范圍內(nèi)的所有事件”所得的數(shù)據(jù)。它的基本思想是使用保持局域性的地理散列函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的局域性,屬性值接近的事件存儲(chǔ)在相鄰的區(qū)域內(nèi),如此可以節(jié)約范圍查詢的搜索空間。DIM系統(tǒng)為每一個(gè)節(jié)點(diǎn)分配一個(gè)子空間,稱為這個(gè)結(jié)點(diǎn)的域,屬于該域的數(shù)據(jù)存儲(chǔ)在該域所屬的節(jié)點(diǎn)上。域的構(gòu)造性定義是,給定一個(gè)矩形傳感器網(wǎng)絡(luò)區(qū)域R,如果Z是使用下列性質(zhì)的過(guò)程、經(jīng)過(guò)k(k≥0)次劃分R得到的區(qū)域,稱R的子區(qū)域Z是一個(gè)域:a)對(duì)于0≤i≤k,第i次劃分成2i個(gè)大小相等的矩形;b)如果i是偶數(shù),則第i次劃分平行于y軸,否則平行于x軸。
DIM系統(tǒng)中的每一個(gè)域都被賦予一個(gè)編碼。第k次劃分所得到的區(qū)域中位于左邊(偶次劃分)或下邊(奇次劃分)的區(qū)域編碼為在父區(qū)域編碼的基礎(chǔ)上加上0作為后綴;否則,在父區(qū)域編碼的基礎(chǔ)上加上1 作為后綴。在DIM系統(tǒng)中,節(jié)點(diǎn)的域大小不同,每個(gè)節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)自己的域。圖 4 說(shuō)明了傳感器網(wǎng)絡(luò)的域界限。
DIM系統(tǒng)事件數(shù)據(jù)的存儲(chǔ)過(guò)程是,首先節(jié)點(diǎn)對(duì)所感知事件數(shù)據(jù)進(jìn)行編碼;然后利用自身保留的局域性hash函數(shù)將該編碼散列為一個(gè)地理區(qū)域;最后利用GPSR路由算法將該事件數(shù)據(jù)路由到該區(qū)域,由屬于該區(qū)域的節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)。在利用GPSR路由數(shù)據(jù)的過(guò)程中,事件數(shù)據(jù)在到達(dá)下一跳節(jié)點(diǎn)時(shí)并不是直接被轉(zhuǎn)發(fā),而是首先按照該域的長(zhǎng)度對(duì)事件數(shù)據(jù)重新編碼,如果得到的新編碼長(zhǎng)度大于原編碼長(zhǎng)度,則原編碼將會(huì)被新編碼取代。如果該區(qū)域的域編碼與事件數(shù)據(jù)的編碼具有最大匹配長(zhǎng)度,則由該區(qū)域的節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)。在利用DIM系統(tǒng)進(jìn)行范圍查詢時(shí),如果一個(gè)節(jié)點(diǎn)收到一個(gè)查詢,發(fā)現(xiàn)該查詢相關(guān)的域代碼與該域有交疊部分時(shí),該節(jié)點(diǎn)將查詢分解為多個(gè)子查詢。落入該節(jié)點(diǎn)范圍內(nèi)的子查詢將返回部分查詢結(jié)果,其余子查詢將繼續(xù)被轉(zhuǎn)發(fā)。
DIM有效地解決了多屬性范圍查詢問(wèn)題,但DIM的使用范圍只局限于矩形區(qū)域,并且當(dāng)網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)分布不均勻的時(shí)候,會(huì)出現(xiàn)因節(jié)點(diǎn)所屬區(qū)域過(guò)大而導(dǎo)致該節(jié)點(diǎn)負(fù)載過(guò)重,網(wǎng)絡(luò)負(fù)載不均衡,從而會(huì)縮短網(wǎng)絡(luò)壽命。
1.6 Scoop系統(tǒng)
Scoop系統(tǒng)[5]也是一種支持多屬性范圍查詢的自適應(yīng)分布式存儲(chǔ)方法。它的主要思想是,基站周期性地收集網(wǎng)絡(luò)狀態(tài)的統(tǒng)計(jì)信息,根據(jù)這些信息計(jì)算出一個(gè)存儲(chǔ)分派任務(wù)單(以下簡(jiǎn)稱分派單),然后基站將此分派單發(fā)散到傳感器網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)根據(jù)收到的分派單將新產(chǎn)生的數(shù)據(jù)傳輸?shù)街付ǖ墓?jié)點(diǎn),這樣查詢就只需要發(fā)向任務(wù)分配單指定節(jié)點(diǎn),而不需要發(fā)向網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)。這種存儲(chǔ)方式的目的是,綜合考慮存儲(chǔ)、查詢、網(wǎng)絡(luò)條件等多種因素,動(dòng)態(tài)調(diào)整數(shù)據(jù)的存儲(chǔ)位置,以提高數(shù)據(jù)的存儲(chǔ)和查詢效率,節(jié)省能量,延長(zhǎng)網(wǎng)絡(luò)壽命。例如,如果查詢發(fā)布率遠(yuǎn)遠(yuǎn)高于數(shù)據(jù)變化率,則數(shù)據(jù)應(yīng)存儲(chǔ)在靠近查詢發(fā)布的地方;反之,則應(yīng)存儲(chǔ)在距離數(shù)據(jù)源最近的節(jié)點(diǎn)上。
Scoop根據(jù)統(tǒng)計(jì)信息周期性地為每一個(gè)屬性計(jì)算出一個(gè)分派單,這種分派單實(shí)際上是一個(gè)屬性值范圍與傳感器節(jié)點(diǎn)ID號(hào)的映射表。表1展示了溫度屬性在T1到T2時(shí)間內(nèi)各范圍數(shù)據(jù)的存儲(chǔ)任務(wù)分配情況。
Scoop采用路由樹(shù)進(jìn)行數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)查詢路由。在路由樹(shù)中,各節(jié)點(diǎn)記錄了其所有后代節(jié)點(diǎn)、父節(jié)點(diǎn)以及鄰居節(jié)點(diǎn)信息。一條數(shù)據(jù)消息包含三個(gè)域,即數(shù)據(jù)項(xiàng)本身(v)、數(shù)據(jù)所有者(o)和存儲(chǔ)任務(wù)分派單號(hào)(sid)。這三個(gè)域由產(chǎn)生該數(shù)據(jù)的節(jié)點(diǎn)進(jìn)行初始化。當(dāng)一個(gè)節(jié)點(diǎn)新產(chǎn)生一個(gè)或者新接收到一個(gè)數(shù)據(jù)時(shí)采用如下規(guī)則將數(shù)據(jù)路由到任務(wù)單指定節(jié)點(diǎn):如果n的分派單序號(hào)大于消息中分派單的序號(hào)(表明該節(jié)點(diǎn)分派單要新于消息中的分派單),則按照n的分派單更新消息中的o值和sid值。如果o=n,把數(shù)據(jù)存儲(chǔ)在節(jié)點(diǎn)n中;如果n是o的鄰居節(jié)點(diǎn),則直接將數(shù)據(jù)發(fā)向n的鄰居;如果n是基站,則直接將數(shù)據(jù)存儲(chǔ)在基站而不需要將數(shù)據(jù)沿路由樹(shù)向下傳輸;如果o是n的后代節(jié)點(diǎn),則將數(shù)據(jù)包沿適當(dāng)?shù)姆种蛳侣酚?其他情況下,數(shù)據(jù)包被發(fā)往其父節(jié)點(diǎn)。為了獲得查詢需要的數(shù)據(jù),Scoop首先在查詢數(shù)據(jù)包的包頭建立一個(gè)節(jié)點(diǎn)號(hào)到一個(gè)比特位的映射表(如果節(jié)點(diǎn)是要查詢的點(diǎn),則該節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)對(duì)應(yīng)1);然后數(shù)據(jù)包沿路由樹(shù)向下轉(zhuǎn)發(fā),節(jié)點(diǎn)收到查詢數(shù)據(jù)包時(shí),檢查其在映射表中的比特位,如果為1,則節(jié)點(diǎn)查找其緩沖區(qū),看是否有匹配的數(shù)據(jù)項(xiàng),然后將查詢結(jié)果返回(即使沒(méi)有與查詢匹配的數(shù)據(jù)項(xiàng)也要返回查詢結(jié)果);否則,節(jié)點(diǎn)繼續(xù)向下轉(zhuǎn)發(fā)查詢數(shù)據(jù)包,直到發(fā)現(xiàn)某節(jié)點(diǎn)所有子孫節(jié)點(diǎn)在比特表中均對(duì)應(yīng)0。
Scoop能夠根據(jù)實(shí)際情況自適應(yīng)地調(diào)節(jié)數(shù)據(jù)的存儲(chǔ)位置,提高了存儲(chǔ)與查詢的效率。然而,Scoop只適用于小規(guī)模傳感器網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)規(guī)模增大時(shí),一方面,查詢數(shù)據(jù)包包頭維護(hù)比特表的開(kāi)銷(xiāo)過(guò)大;另一方面,路由樹(shù)中各個(gè)節(jié)點(diǎn)維護(hù)其鄰居以及子孫節(jié)點(diǎn)信息開(kāi)銷(xiāo)也大大增加。
1.7 DCAAR系統(tǒng)
DCAAR(datacentric attribute allocation retrieval)系統(tǒng)[19]也是一種以數(shù)據(jù)為中心的分布式存儲(chǔ)系統(tǒng)。它的主要思想是,將一個(gè)矩形的無(wú)線傳感器網(wǎng)絡(luò)均分成m(假設(shè)需要查詢的所有屬性個(gè)數(shù)為m)個(gè)大小相等的網(wǎng)格區(qū)域,每個(gè)屬性對(duì)應(yīng)一個(gè)存儲(chǔ)區(qū)域,每個(gè)新產(chǎn)生大于指定門(mén)限值的屬性數(shù)據(jù)都要傳輸?shù)街付ǖ膮^(qū)域存儲(chǔ),以減少查詢開(kāi)銷(xiāo)。DCAAR系統(tǒng)需建立在以下幾個(gè)前提下才能有效地進(jìn)行數(shù)據(jù)的存儲(chǔ)查詢:a)所有查詢都是預(yù)先知道的;b)網(wǎng)絡(luò)節(jié)點(diǎn)在一個(gè)矩形區(qū)域內(nèi)規(guī)則分布;c)各個(gè)節(jié)點(diǎn)知道自身位置以能判斷自身屬于哪一個(gè)網(wǎng)格;d)網(wǎng)絡(luò)中所有節(jié)點(diǎn)必須知道屬性分配函數(shù)(此分配函數(shù)將某一個(gè)屬性映射到某個(gè)網(wǎng)格區(qū)域)。
DCAAR系統(tǒng)通過(guò)構(gòu)造屬性關(guān)系結(jié)構(gòu)樹(shù)來(lái)分配屬性,以使得高概率的查詢所包含屬性距離查詢發(fā)出點(diǎn)的位置盡可能地近,屬于同一查詢的屬性盡可能分配在相鄰區(qū)域。屬性關(guān)系結(jié)構(gòu)樹(shù)的過(guò)程是,首先基站根據(jù)各個(gè)查詢概率計(jì)算出各個(gè)屬性的查詢概率,屬性的查詢概率的計(jì)算公式為
P(Ai)=qj=1P(Qj)P(Ai|Qj);i=1,…,m
P(Qi)=pj,j=1,…,m;P(Ai|Qj)=1 Ai∈Qj
0 AiQj
各個(gè)查詢依次構(gòu)造深度為1的關(guān)系樹(shù),選擇查詢所包含屬性中查詢概率最高的屬性作為父節(jié)點(diǎn),以該查詢的查詢概率作為父節(jié)點(diǎn)指向子節(jié)點(diǎn)邊的權(quán)值;然后,各個(gè)關(guān)系結(jié)構(gòu)樹(shù)按照查詢概率由低到高的順序依次合并,最終的合并結(jié)果便構(gòu)造出一個(gè)完整的關(guān)系結(jié)構(gòu)樹(shù)。
基站依據(jù)關(guān)系結(jié)構(gòu)樹(shù)及計(jì)算出來(lái)的各屬性概率得到一個(gè)屬性分配函數(shù),將此分配函數(shù)發(fā)散到網(wǎng)絡(luò)中的所有節(jié)點(diǎn),節(jié)點(diǎn)便可根據(jù)此分布函數(shù)將新產(chǎn)生數(shù)據(jù)發(fā)往指定區(qū)域。
DCAAR系統(tǒng)處理查詢的過(guò)程是:a)根據(jù)查詢所包含屬性以及屬性分配函數(shù)找到需要訪問(wèn)的區(qū)域;b)選擇適當(dāng)算法構(gòu)造一棵以基站以及這些屬性對(duì)應(yīng)區(qū)域?yàn)楣?jié)點(diǎn)的最小生成樹(shù);c)查詢由最小生成樹(shù)路由到要訪問(wèn)的各屬性對(duì)應(yīng)區(qū)域,由區(qū)域的中心節(jié)點(diǎn)利用自身索引從存儲(chǔ)節(jié)點(diǎn)檢索出相關(guān)數(shù)據(jù);d)查詢結(jié)果沿最小生成樹(shù)返回基站,并在返回基站的過(guò)程中采用數(shù)據(jù)壓縮等網(wǎng)絡(luò)內(nèi)部處理機(jī)制減少通信量。
DCAAR系統(tǒng)的優(yōu)點(diǎn)在于當(dāng)查詢頻率較大時(shí),總的數(shù)據(jù)存儲(chǔ)查詢效率較高,缺點(diǎn)是當(dāng)數(shù)據(jù)變化率較大時(shí),系統(tǒng)維護(hù)數(shù)據(jù)需要的能量開(kāi)銷(xiāo)太大,并且DCAAR系統(tǒng)必須建立在查詢已知作為前提條件,對(duì)于隨機(jī)查詢則根本無(wú)法實(shí)施。
1.8 RDCS系統(tǒng)
RDCS系統(tǒng)[20]是一種支持多種查詢的以數(shù)據(jù)為中心的分布式存儲(chǔ)系統(tǒng)。它把一個(gè)矩形的傳感器網(wǎng)絡(luò)均分成k個(gè)大小相等的區(qū)域,每一區(qū)域內(nèi)的節(jié)點(diǎn)模式有三種:監(jiān)控模式、存儲(chǔ)模式和普通模式。RDCS規(guī)定每一個(gè)處于存儲(chǔ)模式節(jié)點(diǎn)同時(shí)也處于控制模式,但處于控制模式的節(jié)點(diǎn)不一定處于存儲(chǔ)模式。同時(shí),RDCS還規(guī)定每一個(gè)傳感器網(wǎng)絡(luò)區(qū)域最多為每一個(gè)事件類型分配一個(gè)處于控制模式的節(jié)點(diǎn)。為了調(diào)節(jié)節(jié)點(diǎn)能量與負(fù)載的均衡,節(jié)點(diǎn)還可以進(jìn)行模式轉(zhuǎn)換(RDCS根據(jù)節(jié)點(diǎn)負(fù)載以及剩余能量狀況計(jì)算出一個(gè)活動(dòng)系數(shù),并為每一類事件的活動(dòng)系數(shù)設(shè)置上下門(mén)限值,當(dāng)活動(dòng)系數(shù)大于該門(mén)限值時(shí),處于控制模式的節(jié)點(diǎn)將其模式轉(zhuǎn)換為存儲(chǔ)模式,而當(dāng)活動(dòng)系數(shù)小于下門(mén)限值時(shí),處于存儲(chǔ)模式的節(jié)點(diǎn)將其模式轉(zhuǎn)換為控制模式)。處于控制模式的節(jié)點(diǎn)為每一類事件維護(hù)一張控制表,控制表包含以下幾個(gè)域: a)處于存儲(chǔ)模式的節(jié)點(diǎn)所在域列表;b)處于控制模式的節(jié)點(diǎn)所在域列表;c)事件的摘要信息;d)屬性過(guò)濾器。處于監(jiān)控模式的節(jié)點(diǎn)周期性地更新交換控制表,以獲得全局信息。
RDCS系統(tǒng)存儲(chǔ)一個(gè)事件的過(guò)程是:產(chǎn)生事件感知數(shù)據(jù)的節(jié)點(diǎn)首先將數(shù)據(jù)傳輸?shù)酵瑓^(qū)域內(nèi)同事件類型的控制節(jié)點(diǎn),若該控制節(jié)點(diǎn)同時(shí)也處于存儲(chǔ)模式,則數(shù)據(jù)保存在該節(jié)點(diǎn)上;否則控制節(jié)點(diǎn)從其維護(hù)的該事件類型的控制表中找到最近的處于存儲(chǔ)模式的存儲(chǔ)節(jié)點(diǎn),并將事件傳輸?shù)酱舜鎯?chǔ)節(jié)點(diǎn)上。收到此事件數(shù)據(jù)的存儲(chǔ)節(jié)點(diǎn)將數(shù)據(jù)保存下來(lái),并更新其自身的控制表。
RDCS系統(tǒng)可滿足三種類型的查詢,即同一事件類型所有數(shù)據(jù)信息查詢、同一事件類型摘要查詢和基于某一屬性的查詢。查詢過(guò)程是,查詢發(fā)起節(jié)點(diǎn)首先將查詢傳輸?shù)酵瑓^(qū)域該事件類型的控制節(jié)點(diǎn),該控制節(jié)點(diǎn)分析查詢類型,如果查詢是要獲得所有該事件類型的事件數(shù)據(jù),則該控制節(jié)點(diǎn)將查詢發(fā)往其控制表中所有存儲(chǔ)節(jié)點(diǎn);如果只是查詢?cè)撌录愋偷恼畔ⅲ瑒t控制節(jié)點(diǎn)直接將查詢結(jié)果返回給查詢發(fā)起節(jié)點(diǎn);如果是基于屬性的查詢,則利用屬性過(guò)濾器將查詢發(fā)往所有滿足條件的存儲(chǔ)節(jié)點(diǎn)。收到查詢請(qǐng)求的存儲(chǔ)節(jié)點(diǎn)將查詢結(jié)果直接發(fā)回查詢發(fā)起節(jié)點(diǎn)。
1.9 EHS系統(tǒng)
EHS(effective hotspot storage management schemes)[21]是一種專門(mén)解決熱點(diǎn)問(wèn)題的以數(shù)據(jù)為中心的存儲(chǔ)方案。許多以數(shù)據(jù)為中心的存儲(chǔ)策略都是采用散列函數(shù)的方法,將特定類型的數(shù)據(jù)散列到特定節(jié)點(diǎn)或者特定的區(qū)域存儲(chǔ),這樣,某些節(jié)點(diǎn)或者區(qū)域周?chē)鷶?shù)據(jù)傳輸就會(huì)更加頻繁,使得數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)周?chē)哪切┕?jié)點(diǎn)能量消耗過(guò)多而過(guò)早死亡,縮短了傳感器網(wǎng)絡(luò)壽命。
EHS提出了兩套解決以數(shù)據(jù)為中心存儲(chǔ)熱點(diǎn)問(wèn)題的數(shù)據(jù)存儲(chǔ)方案;一種是基于面(face)的多級(jí)門(mén)限隱蔽方案;另外一種是基于網(wǎng)格和擴(kuò)展虛擬網(wǎng)格的隱蔽方案。基于面的多級(jí)門(mén)限隱蔽方案假設(shè)整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是一個(gè)平面圖,該平面圖由許多個(gè)面組成。每個(gè)傳感器節(jié)點(diǎn)維護(hù)一張face_node表,該表記錄了與該節(jié)點(diǎn)位于同一個(gè)面的其他所有節(jié)點(diǎn)的ID、實(shí)際坐標(biāo)、虛坐標(biāo)和所處層級(jí)。當(dāng)面中某個(gè)節(jié)點(diǎn)存儲(chǔ)了一個(gè)數(shù)據(jù)而達(dá)到其門(mén)限值時(shí),它就將其虛坐標(biāo)設(shè)置為(∞,∞),將對(duì)應(yīng)級(jí)數(shù)項(xiàng)改為1,并將此信息通知與其所處同一面的其他節(jié)點(diǎn)。這樣,下一個(gè)事件數(shù)據(jù)產(chǎn)生時(shí)就不會(huì)被分配到該節(jié)點(diǎn)存儲(chǔ),而是被分到該面中的下一個(gè)節(jié)點(diǎn)存儲(chǔ)。當(dāng)面中最后一個(gè)節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)量達(dá)到其門(mén)限值時(shí),它將其維護(hù)表中的虛地址變?yōu)閷?shí)際地址,將其對(duì)應(yīng)級(jí)數(shù)項(xiàng)改為1,并將該表信息發(fā)往面中其余節(jié)點(diǎn)。當(dāng)有新的數(shù)據(jù)產(chǎn)生時(shí)便可進(jìn)行下一級(jí)的存儲(chǔ)。圖5中,當(dāng)a的存儲(chǔ)數(shù)據(jù)量達(dá)到第一級(jí)門(mén)限時(shí),a將其虛地址修改為(∞,∞)。表2 和3 分別顯示了面A中各個(gè)節(jié)點(diǎn)所維護(hù)表中各項(xiàng)的初始值和當(dāng)節(jié)點(diǎn)a存儲(chǔ)數(shù)據(jù)量達(dá)到第一級(jí)門(mén)限值時(shí)各節(jié)點(diǎn)表。
表2 面A各節(jié)點(diǎn)初始face_node表
IDLRLVTL
a(50,51)(50,51)0
b(21,62)(21,62)0
c(48,90)(48,90)0
表3 節(jié)點(diǎn)a達(dá)到第一級(jí)門(mén)限時(shí)面A的face_node表
IDLRLVTL
a(50,51)(∞,∞)1
b(21,62)(21,62)0
c(48,90)(48,90)0
EHS系統(tǒng)采用隱蔽機(jī)制和多門(mén)限機(jī)制有效地解決了以前數(shù)據(jù)存儲(chǔ)方案所存在的熱點(diǎn)問(wèn)題。然而,它也存在不足之處。當(dāng)一個(gè)面中包含節(jié)點(diǎn)數(shù)目很多時(shí),face_node表必然會(huì)占用傳感器節(jié)點(diǎn)較多寶貴的存儲(chǔ)空間;另外,節(jié)點(diǎn)之間傳遞face_node表信息也會(huì)增加不少的通信開(kāi)銷(xiāo)。
2 結(jié)束語(yǔ)
本文對(duì)目前存在的各種存儲(chǔ)策略進(jìn)行了研究,通過(guò)比較分析發(fā)現(xiàn)以上各個(gè)存儲(chǔ)策略都不能適應(yīng)所有的應(yīng)用場(chǎng)合,而只能適用于某種特定應(yīng)用,并且所有的存儲(chǔ)策略都沒(méi)有考慮安全問(wèn)題。因此,研究自適應(yīng)并且考慮到數(shù)據(jù)安全的存儲(chǔ)策略將是未來(lái)數(shù)據(jù)存儲(chǔ)策略的研究趨勢(shì)。
參考文獻(xiàn):
[1]
莊慶德.傳感器網(wǎng)絡(luò)的研究現(xiàn)狀[J].國(guó)外電子測(cè)量技術(shù),2005(4):15.
[2]馬祖長(zhǎng),孫怡寧,梅濤.無(wú)線傳感器網(wǎng)絡(luò)綜述[J].通信學(xué)報(bào),2004,25(4):114124.
[3]COMAN A,NASCIMNTO M A,SANDER J.A framework for spatiotemporal query processing over wireless sensor networks[C]//Proc of the 1st Int’l Workshop on Data Management for Sensor Networks in Conjunction with VLDB.New York:ACM Press, 2004:104110.
[4]COMAN A,SANDER J,NASCIMENTO M A.An analysis of spatiotemporal query processing in sensor networks[C]//Proc ofthe 21st International Conference on Data Engineering.Washington DC:IEEE Computer Society,2005:120125.
[5]GIL T M,MADDEN S.Scoop:a hybrid, adaptive storage policy for sensor networks[EB/OL].http://thomer.com/papers/scoop.pdf.
[6]SHENKER S,RATNASAMY S,KARP B,et al.Datacentric storage in sensornets[J].ACM SIGCOMM Computer Communication Review,2003,33(1):137142.
[7]RATNASAMY S,KARP B,YIN L,et al.GHT:a geographic hash table for datacentric storage[C]//Proc of the 1st ACM International Workshop on Wireless Sensor Networks and Applications.New York:ACM Press,2002:7887.
[8]ZHANG Weisheng,CAO Guohong,PORTA T L.Data dissemination with ringbased index for wireless sensor networks[C]//Proc of the 11th IEEE International Conference on Network Protocols.Washington DC:IEEE Computer Society, 2003:305314.
[9]李貴林,高宏.傳感器網(wǎng)絡(luò)中基于環(huán)的負(fù)載平衡數(shù)據(jù)存儲(chǔ)方法[J].軟件學(xué)報(bào),2007,18(5):11731185.
[10]ABHISHEK G,JENS G,JOHN C.Resilient datacentric storage in wireless Ad hoc sensor networks[C]//Proc of the 4th International Conference on Mobile Data Management.London:SpringerVerlag,2003:4562.
[11]DEEPAK G, DEBORAH E, JOHN H.Dimensions:why do we need a new data handling architecture for sensor networks[J].ACM SIGCOMM Computer Communication Review,2003,33(1):143148.
[12] DEEPAK G, BEN G, DENIS P,et al.An evaluation of multiresolution storage for sensor networks[C]//Proc of the 1st International Conference on Embedded Networked Sensor Systems.New York:ACM Press,2003:89102.
[13]BENJAMIN G, DEBORAH E, RAMESH G,et al.DIFS:a distributed index for features in sensor networks[C]//Proc of the 1st IEEE International Workshop on Sensor Network Protocols and Applications Anchorage.Washington DC:IEEE Computer Society, 2003:163173.
[14]LI Xin,KIM Y J,GOVINDAN R,et al.Multidimensional range queries in sensor networks[C]//Proc of the 1st International Conference on Embedded Networked Sensor Systems.New York:ACM Press,2003:509517.
[15]GANESAN D,GREENSTEIN B,ESTRIN D,et al.Multiresolution storage and search in sensor networks[J].ACM Trans on Storage,2005,1(3):277315.
[16]MATHUR G,DESNOYERS P,GANESAN D,et al.Ultralow power data storage for sensor networks[C]//Proc of the 5th International Conference on Information Processing in Sensor Networks.New York:ACM Press,2006:374381.
[17]XING Kai,CHENG Xiuzhen,LIU Fang,et al.Locationcentric storage for safety warning based on roadway sensor networks[J].Journal of Parallel and Distributed Computing,2007,67(3):336345.
[18]ALY M,MORSILLO N,CHRYSANTHIS P K,et al.Zone sharing:a hot spots decomposition scheme for data centric storage in sensor networks[C]//Proc of the 2nd Workshop on Data Management for Sensor Networks.New York:ACM Press,2005:2126.
[19]BISWAS R,CHOWDHURY K,AGRAWA D P.Attribute allocation and retrieval scheme for largescale sensor networks[J].International Journal of Wireless Information Networks,2006,13(4):303315.
[20] ABHISHEK G,JENS G, JOHN C.Resilient datacentric storage in wireless Ad hoc sensor networks[C]//Proc of the 4th International Conference on Mobile Data Management.London:SpringerVerlag,2003:4562.
[21]LIAO Wenhua,WU Wanchi.Effective hotspot storage management schemes in wireless sensor networks[EB/OL].(20070426)[20080129].http://www.sciencedirect.com.