中心議題:
- 設(shè)計(jì)能量有效的數(shù)據(jù)分發(fā)方案至關(guān)重要
- 概述無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)是否可移動(dòng)的三種情況
- 分析目前提出的主要數(shù)據(jù)分發(fā)方案
解決方案:
- 建立數(shù)據(jù)分發(fā)的路徑是有效可靠的數(shù)據(jù)分發(fā)關(guān)鍵所在
- 源與sink節(jié)點(diǎn)均固定的數(shù)據(jù)分發(fā)方案
- 源節(jié)點(diǎn)固定而sink節(jié)點(diǎn)不固定的數(shù)據(jù)分發(fā)方案
- 源與sink節(jié)點(diǎn)均不固定的數(shù)據(jù)分發(fā)方案
無線傳感器網(wǎng)絡(luò)是由大量具有感知、計(jì)算和通信能力的低成本低功耗的微型傳感器組成,用于實(shí)時(shí)感知和采集網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)的感知對象的信息,在軍事國防、醫(yī)療健康、環(huán)境監(jiān)測、搶險(xiǎn)救災(zāi)、防恐反恐、動(dòng)物習(xí)性以及交通流量監(jiān)測等領(lǐng)域都具有廣闊的應(yīng)用前景,特別適合應(yīng)用于人不宜到達(dá)的惡劣環(huán)境和危險(xiǎn)區(qū)域。無線傳感器網(wǎng)絡(luò)常常由成百上千個(gè)傳感器協(xié)同工作,傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)一般可分成兩類:一是傳感器節(jié)點(diǎn),也稱為源節(jié)點(diǎn),這些節(jié)點(diǎn)可對觀察范圍內(nèi)的感知對象產(chǎn)生原始數(shù)據(jù),并可存儲(chǔ)、處理和傳輸數(shù)據(jù),這些節(jié)點(diǎn)靠不能補(bǔ)充的電池供電,能量有限;二是網(wǎng)關(guān)節(jié)點(diǎn),也稱為sink節(jié)點(diǎn)(或基站),這些節(jié)點(diǎn)用于實(shí)現(xiàn)傳感器網(wǎng)絡(luò)與Internet的連接,往往數(shù)量有限,但能量能夠得到補(bǔ)充。研究表明,傳感器網(wǎng)絡(luò)中數(shù)據(jù)通信需要消耗大量能量,如何建立有效的數(shù)據(jù)傳輸路徑,節(jié)約節(jié)點(diǎn)的傳輸能耗,延長網(wǎng)絡(luò)生存期,設(shè)計(jì)能量有效的數(shù)據(jù)分發(fā)方案是至關(guān)重要的。
數(shù)據(jù)分發(fā)的分類
根據(jù)源節(jié)點(diǎn)與sink節(jié)點(diǎn)是否可移動(dòng),數(shù)據(jù)分發(fā)可分為三類:
(1)固定源節(jié)點(diǎn)與固定sink節(jié)點(diǎn)間的數(shù)據(jù)分發(fā)。源節(jié)點(diǎn)與sink節(jié)點(diǎn)一旦配置好,它們的位置就不再改變,直到網(wǎng)絡(luò)終止,這是使用最廣泛的數(shù)據(jù)分發(fā)。
(2)固定源節(jié)點(diǎn)與移動(dòng)sink節(jié)點(diǎn)間的數(shù)據(jù)分發(fā)。用戶使用PDA移動(dòng)設(shè)備在感知區(qū)域內(nèi)移動(dòng),通過查詢源節(jié)點(diǎn)來獲取有關(guān)對象的當(dāng)前狀態(tài)或近來目標(biāo)活動(dòng)的概況。
(3)移動(dòng)源節(jié)點(diǎn)與移動(dòng)sink節(jié)點(diǎn)間的數(shù)據(jù)分發(fā)??捎糜诒O(jiān)測和跟蹤移動(dòng)目標(biāo)的傳感器網(wǎng)絡(luò)。
數(shù)據(jù)分發(fā)方案
有效可靠的數(shù)據(jù)分發(fā)關(guān)鍵在于建立數(shù)據(jù)分發(fā)的路徑,通常要考慮節(jié)點(diǎn)的剩余能量、所處的地理位置、網(wǎng)絡(luò)拓?fù)?、?dāng)前環(huán)境和節(jié)點(diǎn)狀態(tài)等因素。數(shù)據(jù)分發(fā)方案主要用于優(yōu)化數(shù)據(jù)分發(fā)路徑,使其盡量接近最佳路徑,以減少能量消耗和網(wǎng)絡(luò)擁塞,有效延長網(wǎng)絡(luò)壽命。針對數(shù)據(jù)分發(fā)的三種分類,需要使用不同的數(shù)據(jù)分發(fā)方案,才能確保有效的數(shù)據(jù)傳輸。
a. 源與sink節(jié)點(diǎn)均固定的數(shù)據(jù)分發(fā)方案
源與sink節(jié)點(diǎn)均固定的傳感器網(wǎng)絡(luò)應(yīng)用最為廣泛,常用于環(huán)境監(jiān)測、搶險(xiǎn)救災(zāi)、防恐反恐以及交通流量監(jiān)測等,吸引了許多研究者的關(guān)注,提出了以下典型的數(shù)據(jù)分發(fā)方案:
(1)基于外部存儲(chǔ)的數(shù)據(jù)分發(fā)方案ES(External Storage-based data dissemination scheme)[1],這是使用最廣泛的一種方案,它依賴于一個(gè)位于傳感器網(wǎng)絡(luò)外部的集中式基站,該基站用于收集和存儲(chǔ)感知數(shù)據(jù)。這種方案必須把源節(jié)點(diǎn)的所有感知數(shù)據(jù)傳送給基站,在查詢過多時(shí),非常低效。
(2)基于數(shù)據(jù)中心存儲(chǔ)的數(shù)據(jù)分發(fā)方案DCS(Data-Centric Storage-based data dissemination scheme)[2],事件的感知數(shù)據(jù)被存儲(chǔ)在網(wǎng)絡(luò)中的某些節(jié)點(diǎn)上,不管什么查詢,數(shù)據(jù)都使用預(yù)定義的方式傳送。這種方案缺乏適應(yīng)性,可能會(huì)引起很多不必要的數(shù)據(jù)傳輸,查詢效率較低。
(3)基于本地存儲(chǔ)的數(shù)據(jù)分發(fā)方案LS(Local Storage-based data dissemination scheme),源節(jié)點(diǎn)只有收到sink節(jié)點(diǎn)的查詢時(shí),才發(fā)送數(shù)據(jù)給sink節(jié)點(diǎn),這樣可以避免傳輸不必要的感知數(shù)據(jù)。這種方案需要一個(gè)sink-source的匹配機(jī)制,使sink節(jié)點(diǎn)容易找到持有所需數(shù)據(jù)的源節(jié)點(diǎn),大多數(shù)采用匹配機(jī)制遵循flood-response的模式,需要在網(wǎng)絡(luò)中泛洪某些控制消息。由于大范圍的網(wǎng)絡(luò)泛洪,可能會(huì)引起嚴(yán)重的網(wǎng)絡(luò)阻塞和大量的能量消耗。
(4)基于索引的數(shù)據(jù)分發(fā)方案(index-based data dissemination scheme)[3],這種方案克服了以上幾種方案存在的問題。在這種方案中,負(fù)責(zé)監(jiān)測某對象的源節(jié)點(diǎn)定期產(chǎn)生該監(jiān)測對象的感知數(shù)據(jù),并存儲(chǔ)到存儲(chǔ)節(jié)點(diǎn)上,存儲(chǔ)節(jié)點(diǎn)可能是該源節(jié)點(diǎn),也可能是鄰近的某個(gè)節(jié)點(diǎn)。同時(shí),存儲(chǔ)節(jié)點(diǎn)的位置信息(稱為索引),要增加到索引節(jié)點(diǎn)上。當(dāng)sink節(jié)點(diǎn)想查詢某個(gè)被監(jiān)測對象產(chǎn)生的感知數(shù)據(jù)時(shí),就發(fā)送一條查詢消息給有關(guān)的索引節(jié)點(diǎn),索引節(jié)點(diǎn)收到該消息后轉(zhuǎn)發(fā)查詢請求給相應(yīng)的存儲(chǔ)節(jié)點(diǎn),由存儲(chǔ)節(jié)點(diǎn)直接發(fā)送查詢結(jié)果給sink節(jié)點(diǎn)。其基本思想如圖1所示。這種數(shù)據(jù)分發(fā)方案避免了發(fā)送不需要的感知數(shù)據(jù),也不需要把控制信息泛洪到整個(gè)網(wǎng)絡(luò),改善了整個(gè)系統(tǒng)的性能,但是增加了維護(hù)索引節(jié)點(diǎn)的額外費(fèi)用。
(5)多級(jí)數(shù)據(jù)分發(fā)方案(multi-resolution data dissemination scheme)[4],綜合了LS和DCS數(shù)據(jù)分發(fā)方案的技術(shù)。其基本思想是在數(shù)據(jù)源中選擇一個(gè)頭節(jié)點(diǎn),代表源節(jié)點(diǎn)在最近的注冊節(jié)點(diǎn)上進(jìn)行注冊。sink節(jié)點(diǎn)把查詢發(fā)送到所有注冊節(jié)點(diǎn)上,從注冊節(jié)點(diǎn)再把查詢發(fā)送到所有匹配的頭節(jié)點(diǎn),當(dāng)頭節(jié)點(diǎn)收到查詢后,在數(shù)據(jù)源內(nèi)選擇一組節(jié)點(diǎn)進(jìn)行查詢。由于sink節(jié)點(diǎn)的位置包含在它分派的查詢中,查詢節(jié)點(diǎn)可以直接把感知數(shù)據(jù)發(fā)送給sink節(jié)點(diǎn),其基本思想如圖2所示。這種數(shù)據(jù)分發(fā)方案避免了查詢泛洪,能有效減少能量消耗。但是在數(shù)據(jù)源中只是基于感知范圍參數(shù)來選擇查詢節(jié)點(diǎn),沒有考慮數(shù)據(jù)的分布情況。
b. 源節(jié)點(diǎn)固定而sink節(jié)點(diǎn)不固定的數(shù)據(jù)分發(fā)方案
源節(jié)點(diǎn)固定,而sink節(jié)點(diǎn)可以移動(dòng)的傳感器網(wǎng)絡(luò)應(yīng)用廣泛。每個(gè)移動(dòng)的sink節(jié)點(diǎn),只要定期報(bào)告它們的當(dāng)前位置,就可從源節(jié)點(diǎn)處接收到感知數(shù)據(jù)。但頻繁的位置更新需要消耗大量能量,而帶寬和電池能量是嚴(yán)格受限的。針對這種傳感器網(wǎng)絡(luò)的特點(diǎn),研究者提出了一些數(shù)據(jù)分發(fā)方案,其中比較典型的有以下幾種:
(1)TTDD(Two-Tier Data Dissemination)數(shù)據(jù)分發(fā)方案[5]。該方案是把監(jiān)測區(qū)域分成一些均勻的網(wǎng)格單元,把最靠近網(wǎng)格邊界的傳感器節(jié)點(diǎn)稱為分發(fā)節(jié)點(diǎn),用來轉(zhuǎn)發(fā)數(shù)據(jù)。當(dāng)監(jiān)測某個(gè)事件的源節(jié)點(diǎn)把事件泛洪到網(wǎng)絡(luò)中時(shí),對該事件感興趣的sink節(jié)點(diǎn)在其所在單元內(nèi)泛洪查詢,最近的分發(fā)節(jié)點(diǎn)收到該查詢時(shí),把查詢轉(zhuǎn)發(fā)給鄰近的分發(fā)節(jié)點(diǎn),轉(zhuǎn)發(fā)處理一直持續(xù)到查詢到達(dá)源節(jié)點(diǎn)或擁有相應(yīng)數(shù)據(jù)的分發(fā)節(jié)點(diǎn)。在查詢轉(zhuǎn)發(fā)期間,建立發(fā)送數(shù)據(jù)給sink節(jié)點(diǎn)的反向路徑。TTDD使用局部查詢泛洪,有效防止了在大規(guī)模網(wǎng)絡(luò)中的消息爆炸。然而網(wǎng)格構(gòu)建和維護(hù)將導(dǎo)致相當(dāng)大的開銷,帶寬和能量的使用效率低,而且局部泛洪仍然會(huì)浪費(fèi)大量能量。
(2)EDDA(Efficient Data Dissemination and Aggregation)數(shù)據(jù)分發(fā)方案[6],這也是基于網(wǎng)格的數(shù)據(jù)分發(fā)方案,但EDDA克服了TTDD中存在的問題。在EDDA中,相同數(shù)據(jù)類型的源節(jié)點(diǎn)共享一個(gè)網(wǎng)格結(jié)構(gòu)來分發(fā)它們的感知數(shù)據(jù),同時(shí)網(wǎng)格共享也提高了數(shù)據(jù)聚合的機(jī)會(huì),而且用單目標(biāo)廣播消息取代了局部泛洪。在EDDA中,sink使用hash函數(shù)來獲取鄰近的直接分發(fā)節(jié)點(diǎn)的位置,然后通過單目標(biāo)廣播把查詢發(fā)送給該節(jié)點(diǎn)。但EDDA仍然要在監(jiān)測區(qū)域上構(gòu)建和維護(hù)網(wǎng)格。
(3)HDDS(Hierarchical Data Dissemination schemes)數(shù)據(jù)分發(fā)方案[7]。HDDS通過構(gòu)建不均勻的網(wǎng)格來分發(fā)數(shù)據(jù)。源節(jié)點(diǎn)在其配置領(lǐng)域的網(wǎng)格F內(nèi)選擇一個(gè)節(jié)點(diǎn)作為分發(fā)節(jié)點(diǎn)d,負(fù)責(zé)把源節(jié)點(diǎn)的感知數(shù)據(jù)傳送給F內(nèi)的任意sink節(jié)點(diǎn)。由于傳感器節(jié)點(diǎn)的存儲(chǔ)容量有限,d只能為有限個(gè)(k個(gè))sink服務(wù),當(dāng)d收到k+1個(gè)sink的預(yù)約消息時(shí),需要新增一層分發(fā)節(jié)點(diǎn)來處理。數(shù)據(jù)由d逐次轉(zhuǎn)發(fā)給由其增加的分發(fā)節(jié)點(diǎn),直到轉(zhuǎn)發(fā)給sink代理為止。在HDDS中,數(shù)據(jù)從源到移動(dòng)sink的發(fā)送路徑,只有在發(fā)送查詢期間才建立,且數(shù)據(jù)發(fā)送路徑接近于最短路線,能夠更有效地減少總能量的消耗,但構(gòu)建不均勻網(wǎng)格作為分發(fā)節(jié)點(diǎn)的覆蓋區(qū)域也要消耗能量。
(4)ODDD(On-Demand Data Dissemination)數(shù)據(jù)分發(fā)方案[8]。在ODDD方案中,源節(jié)點(diǎn)不需要提前構(gòu)建一個(gè)虛擬網(wǎng)格,因此,ODDD減少了在整個(gè)網(wǎng)絡(luò)上創(chuàng)建和維護(hù)虛擬網(wǎng)格結(jié)構(gòu)的費(fèi)用。當(dāng)源節(jié)點(diǎn)監(jiān)測到某類型d的感知數(shù)據(jù)時(shí),使用hash函數(shù)計(jì)算出網(wǎng)格點(diǎn)的位置,并把數(shù)據(jù)聲明消息發(fā)送給最靠近該網(wǎng)格點(diǎn)位置的節(jié)點(diǎn)N,如果存在d的分發(fā)路徑,就使用它來傳播數(shù)據(jù)聲明消息;否則,N變成d的一個(gè)網(wǎng)格點(diǎn),沿著X軸轉(zhuǎn)發(fā)數(shù)據(jù)聲明消息。當(dāng)sink節(jié)點(diǎn)想獲取類型d的數(shù)據(jù)時(shí),它應(yīng)用同一個(gè)hash函數(shù)計(jì)算出直接分發(fā)點(diǎn),并把查詢發(fā)送給它,直接分發(fā)點(diǎn)沿著Y軸轉(zhuǎn)發(fā)該查詢。如果網(wǎng)格點(diǎn)收到查詢,它將檢查廣播列表,查看是否已包含查詢中指定的數(shù)據(jù)聲明。如果包含,則該網(wǎng)格點(diǎn)沿著數(shù)據(jù)聲明消息相反的路徑轉(zhuǎn)發(fā)查詢給相應(yīng)的源節(jié)點(diǎn),源節(jié)點(diǎn)一旦收到該查詢,就開始沿著查詢聲明的相反路徑把數(shù)據(jù)發(fā)送給sink,數(shù)據(jù)的轉(zhuǎn)發(fā)先沿著X軸,再沿著Y軸到達(dá)sink節(jié)點(diǎn)。
c.源與sink節(jié)點(diǎn)均不固定的數(shù)據(jù)分發(fā)方案
當(dāng)源節(jié)點(diǎn)和sink節(jié)點(diǎn)可以移動(dòng)時(shí),前面介紹的數(shù)據(jù)分發(fā)方案都不是很有效。參考文獻(xiàn)[9]提出了基于動(dòng)態(tài)代理樹的數(shù)據(jù)分發(fā)方案(Dynamic Proxy Tree-based data dissemination scheme),其基本思想是每個(gè)源節(jié)點(diǎn)或sink節(jié)點(diǎn)對應(yīng)于一個(gè)固定的節(jié)點(diǎn),稱為源代理或sink代理,監(jiān)測同一目標(biāo)的源代理和查詢該源的sink代理形成一棵代理樹,通過代理樹,源節(jié)點(diǎn)可以把感知數(shù)據(jù)定期發(fā)送給它的代理,繼而再轉(zhuǎn)發(fā)給代理樹中的多個(gè)sink代理,每個(gè)sink節(jié)點(diǎn)可以查詢它的代理來獲取數(shù)據(jù)。這種數(shù)據(jù)分發(fā)方案的關(guān)鍵是當(dāng)源或sink代理改變時(shí),如何有效重建代理樹,參考文獻(xiàn)[9]提出了兩種調(diào)整代理樹的分布式在線方案:一種是最短路徑方案SP(Shortest Path-based scheme);另一種是跨度范圍方案SR(Spanning Range-based scheme)。由于SR需要的控制消息比SP少,因此,SR優(yōu)于SP。
不同應(yīng)用的無線傳感器網(wǎng)絡(luò),需要設(shè)計(jì)不同的能量有效地?cái)?shù)據(jù)分發(fā)方案,才能有效地利用有限的能量,更好地延長傳感器節(jié)點(diǎn)和網(wǎng)絡(luò)的生存時(shí)間。