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