摘要:被動式工作環境下,無線傳感器網絡有其獨特的特點。在已有的基于簇的數據傳輸模式的基礎上提出了簇中建鏈的新傳輸方法。在簇中節點被喚醒后,由簇頭將這些節點連接成鏈(Link)并隨機選擇鏈首,鏈首收集數據后發送到簇頭。這種方式消除了多個喚醒節點同時向簇頭發送數據造成的數據沖突現象,節省了節點傳輸能耗也使節點間的能耗更加均衡,從而延長了網絡壽命。
關鍵詞:無線傳感器網絡; 被動式網絡; 簇; 鏈
中圖法分類號:TP393.04文獻標識碼:A
文章編號:1001-3695(2007)01-0318-03
無線傳感器網絡(Wireless Sensor Networks,WSN)是一種新興的信息采集和處理技術。它能夠通過各類集成化的微型傳感器協作地實時監測、感知和采集各種環境或監測對象的信息,并以自組多跳的網絡方式傳送到用戶終端[1]。路由技術是無線傳感器網絡通信層的核心技術[2]。從路由的角度看,無線傳感器網絡有其自身的特點,使它既不同于傳統網絡,又不同于移動自組網(Mobile Ad hoc Network,MANET)。傳感器網絡的低能量特點使節能成為路由協議最重要的優化目標。
1網絡分類
無線傳感器網絡作為一種新興的技術,具有廣泛的應用。在不同的應用中,網絡有不同的特征,一般分為:
①主動式監測網絡。在網絡建立后,傳感器節點即開始工作,實時收集監測對象與環境的信息,用戶也可以根據需要隨時從傳感器網絡中查詢獲取自己所需要的數據,整個網絡始終保持工作狀態。②
被動式監測網絡。網絡建立后,首先建立節點間的從屬關系,然后傳感器節點進入休眠(Sleep)狀態并采用低功率監測信道,以節約傳感器節點功耗并拒絕接收非法的連接訪問請求[3]。只有在某種特定監測情況發生時,節點被激活開始收集監測數據,然后主動將數據傳送給匯聚節點,在數據發送完畢后,節點重新進入休眠狀態。這種網絡工作方式大大降低了網絡的能量消耗,延長了網絡壽命,極大地增加了傳感器網絡容量。
2基于簇的網絡傳輸模式
基于簇的數據傳輸模式是目前比較適用的一種傳感器網絡數據傳輸模式,它廣泛應用于主動式網絡和被動式網絡環境中。在網絡建立后,網內節點被分成一個個簇,每簇中有一個簇頭,簇頭收集簇內節點的數據信息后,轉發到其他簇頭或匯聚節點[4,5]。在有規律地更換簇頭的情況下,部分節點能夠保持能量均衡消耗,延長了節點的壽命,增強了網絡生存時間。目前,這種傳輸方式應用得比較多,不同應用中的具體情況也不盡相同,我們歸納其示意圖如圖1所示。
在被動網絡環境下,簇中節點被喚醒后將數據發送給簇頭,簇頭再將數據轉發給其他簇頭或匯聚節點(圖1)。然而,由于在同一個簇內,同一功能類型的傳感器節點的監測對象是相同或相似的,所以一旦被監測的條件發生改變,很有可能同一簇內的同一類型傳感器所有節點均被喚醒或大部分被喚醒。這時,如果所有喚醒節點同時向簇頭發送數據,很容易造成數據發送沖突,降低網絡性能。同時,因為每個節點都發送數據,均要耗費相當的能量,也不利于網絡的節能。為了解決這些問題,本文提出了一種新的數據傳輸模式,即在簇內節點被喚醒后并不是直接向簇頭發送數據,而是先分別向簇頭發出數據發送請求,簇頭在收到所有請求后,統一處理,將所有被喚醒節點連接成“鏈”,由鏈首領收集數據后再轉發給簇頭。從而消除了數據沖突現象,并節省了大部分節點的傳輸能耗,延長了網絡壽命。
3簇中建鏈示意圖
在網絡中,每個簇都會有一個標志CID(i),該標志存放在簇頭中,簇頭所含有的能量為CRP(i),簇中每個節點也都會有一個唯一的標志ID(i1),ID(i2),…,ID(ik),單個節點的能量為CRP(ik),簇頭能夠辨別這些節點。當簇中節點被喚醒后,所有節點向簇頭發出數據發送請求,簇頭在整理所有請求信息后,在簇頭中采用貪心算法,將簇內節點構成一個單鏈Link(i),與PEGASIS[6]中的結構類似,然后隨機選取一個節點作為首領Header(圖2),再把命令和鏈信息轉給鏈首領,鏈首領向鏈的兩端發出收集數據的請求,數據從單鏈的兩個端點向首領流動,因為這些節點位置相對集中,收集到的數據有相同或相似性。為了減少數據冗余,中間節點在傳遞數據前要執行融合操作,最終由首領節點將結果數據傳送給簇頭,然后簇頭將數據傳送到匯聚點或其他簇頭。這種數據傳輸方式消除了所有節點都向簇頭發送信息造成的沖突現象。
由于Link首領的能量消耗是最高的,所以該首領的選取是隨機的。在這次數據收集中這個節點作為首領,在下次數據收集中可能另外一個節點成為了首領,具體如圖2、圖3所示,從而保證了節點間能量的均衡消耗,延長了網絡壽命。
4簇中建鏈工作原理
4.1初始化過程
在網絡搭建成功,簇生成后,簇頭與傳感器源節點之間的工作狀態需要進行有效的初始化,簇頭和傳感器節點之間的初始化流程如圖4所示,簇內有多個節點,以節點i為例。在初始化通信過程中,簇頭主動向簇內節點廣播連接信令(ATTACH)。在傳感器節點i成功地接收和驗證一個數據幀和MAC命令幀后,向簇頭返回確認幀(ACKi),傳感器節點i被置于Sleep工作模式,接下來簇頭與傳感器節點進行主(Master)從(Slave)角色轉換,簇頭處于從模式(Slave)工作狀態,等候響應連接請求信令。此時傳感器節點工作在主模式(Master)下,等待著有需求時喚醒發起連接請求。在初始化結束后,傳感器節點工作于Sleep模式,并采用低功率監測信道,拒絕任何的連接請求。這種設計大大降低了傳感器節點的功耗,并且傳感器節點只是在有需求時喚醒并主動與簇頭建立連接,從而有效地控制了其他網絡中物理射頻以及其他傳感器節點和簇頭的非法連接請求,保證了簇頭節點和傳感器節點間通信的安全可靠。概要描述如下:
簇頭
WHILE(初始狀態)
{
向簇內廣播連接消息ATTACH;
IF(ACKi == True)//傳感器節點 i 返回確認幀
{
傳感器節點 i 工作狀態為Sleep;
}
IF( 所有節點返回ACK == True)
{
簇頭工作模式Mode = Slave;//簇頭處于從工作模式
等待連接請求;
}
}
傳感器節點
WHILE(初始狀態)
{
IF(收到ATTACH)
IF(ATTACH.MAC == True)//驗證MAC命令幀
{
ACKi = True;
將ACKi發給簇頭;
}
THEN
{
工作狀態為Sleep;
工作模式Mode = Master; //節點處于主工作模式
}
低功率監測信道;
}
4.2信息處理過程
信息處理過程是在傳感器節點的硬件檢測電路檢測到其所在的環境發生變化時,由傳感器節點對信息簡單處理后,向簇頭主動發起連接請求(LinkReq),簇頭在整理所有請求信息后,將簇內節點構成一個單鏈(Link),然后隨機選取一個節點作為首領Header(圖2),再把命令和鏈信息轉給鏈首領,鏈首領向鏈的兩端發出收集數據的請求(DataReq),數據從單鏈的兩個端點向首領流動,最終由首領節點將結果數據傳送給簇頭,然后簇頭將數據傳送到匯聚點或其他簇頭。其通信流程如圖5所示。
在工程中測試結論已表明[3],無線傳感器網絡的傳感器節點處于Sleep狀態時只需要周期性地監聽其無線信道,判斷是否有需要自己處理的數據消息,功耗的數學期望值可低至30μA。概要描述如下:
簇頭
WHILE(工作狀態)
{
IF(收到LinkReq)//收到喚醒節點的請求
{
建立鏈結構Link;
將鏈結構信息和數據請求命令給鏈首Header;
IF(收到鏈首傳來的數據)斷開連接并撤銷鏈結構;
}
}
傳感器節點
WHILE(低功率監測信道)
{
IF(環境變化)
{
開始工作;
向簇頭發送連接請求LinkReq;
IF(收到DataReq)//收到鏈首的數據要求
DO
{
將數據發給命令傳來的節點;
}WHILE(數據未傳完)
斷開連接;
工作狀態轉為Sleep;
}
}
5網絡性能分析
被動式無線傳感器網絡的工作原理是基于需求時喚醒的。該網絡結構只允許在簇頭與傳感器節點之間交換數據,即傳感器節點向簇頭發送數據以及簇頭發送數據給傳感器節點。在簇頭與傳感器節點之間沒有數據信息交換時,傳感器節點處于睡眠狀態,簇頭和傳感器節點只進行低功耗的信道掃描,因而為網絡節省了很大一部分能量。由于每個傳感器節點與簇頭之間傳輸的信息很少,信息碰撞的可能性很小,確保了信息的可靠傳輸。
本文中采用的數據傳輸模式更是進一步改善了網絡性能。主要表現在以下三方面:
(1)由于在同一個簇內,節點的監測對象是相同或相似的,所以一旦被監測的條件發生改變,很有可能同一簇內的所有節點都被喚醒或大部分被喚醒。這時,如果所有喚醒節點都同時向簇頭發送數據,很容易造成數據發送沖突。簇中建鏈的傳輸模式改變了這種方式的不足。在鏈建成后,由鏈首收集數據,然后再將數據發送給簇頭,避免了數據沖突現象的發生。
(2)鏈上的節點在發送數據時,不需要長距離發給簇頭了,只需要就近發給鏈上向簇頭方向的鄰節點,傳輸距離短了,節省了能量。而且,因為同一簇內節點監測到的數據是相同或相近的,每個節點均可以對接收到的數據與自己的數據進行融合,再傳出時,數據量并沒有太大的增加,與傳輸距離比起來,還是節省了能量。
(3)鏈首隨機產生,使節點能耗更加均衡。每次環境重新發生變化時,鏈都會被重新建立,鏈首的選取是隨機的,這次這個節點為鏈首,下次另外一個節點為鏈首,使得節點間的能耗更加平均,從而延長了整個網絡的壽命。
對無線傳感器來說,傳輸信息要比執行計算消耗更多的電能,傳感器傳輸一位信息所需要的電能足以執行3 000條計算指令[7]。所以,雖然采用簇中建鏈的數據傳輸模式增加了簇頭建鏈的計算量,但相對于所有節點都向簇頭發送數據來說,還是節省了相當大的能量。
6結論
無線傳感器網絡是一種新興的技術,而被動式網絡是其一個主要的應用方面。本文在已有的基于簇的傳輸模式的基礎上進一步改進,通過簇中建鏈的方式,消除了多個節點同時向簇頭發送數據造成的數據沖突現象,節省節點的傳輸能耗,同時,通過隨機選定鏈首轉發數據使得節點間的能耗更加平均,從而延長了整個網絡的壽命。今后,將進一步加強對此傳輸模式的優化及策略改進。
參考文獻:
[1]崔莉,鞠海玲,苗勇,等. 無線傳感器網絡研究進展[J].計算機研究與發展,2005,42(1):163174.
[2]潘晏濤,盧澤新. 路由技術[EB/OL]. http://www.staredu.net/36/68/40/3161.shtml ,20050422.
[3]劉榮伍,蔣挺,周正. 利用GSM數據傳輸的ZigBee無線傳感器網絡[EB/OL].http://www.paper.edu.cn, 200503.
[4]Jamil Ibriq, Imad Mahgoud. Clusterbased Routing in Wireless Sensor Networks:Issues and Challenges[C]. The SPECTS’04, 20-04.759766.
[5] K Dasgupta, K Kalpakis, P Namjoshi. An Efficient Clusterbased Heuristic for Data Gathering and Aggregation in Sensor Networks[C]. Proceedings of the IEEE Wireless Communications and Networking Conference, 2003.573582.
[6]Lindsey S, Raghavendra C S. PEGASIS: Power Efficient Gathering in Sensor Information Systems[C]. Proc. of the IEEE Aerospace Conf., 2002.168175.
[7]李建中,李金寶,石勝飛. 傳感器網絡及其數據管理的概念、問題與進展[J]. 軟件學報,2003,14(10):8697.
計算機應用研究2007年第1期
作者簡介:
孫亭(1980),男,山東招遠人,博士研究生,主要研究方向為計算機網絡、無線傳感器網絡;
李立宏(1972),男,湖北人,博士,主要研究方向為無線網絡、計算機應用;
楊永田(1939),男,黑龍江人,教授,博導,主要研究方向為計算機網絡、信息安全等;
汪學清(1970),男,山東人,博士研究生,主要研究方向為計算機網絡、無線傳感器網絡。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文