摘要:分析了Cougar傳感器網(wǎng)絡(luò)數(shù)據(jù)管理系統(tǒng)的組成和功能,對(duì)存在簇頭節(jié)點(diǎn)能量消耗大,不均衡的問(wèn)題,提出一種改進(jìn)的Cougar系統(tǒng),給出了節(jié)省能量的查詢(xún)優(yōu)化預(yù)處理算法。實(shí)驗(yàn)表明,改進(jìn)后的Cougar系統(tǒng)有效地降低了傳感器網(wǎng)絡(luò)的能量消耗。
關(guān)鍵詞:傳感器網(wǎng)絡(luò);Cougar系統(tǒng);查詢(xún)處理
中圖分類(lèi)號(hào):TP3911文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)36-10437-02
An Improved Cougar Sensor Network Data Management System
TANG Ye-min1, WANG Lin-yan2
(1.Airforce Radar Academy, Wuhan 430019, China; 2.JiangHan University, Wuhan 430056, China)
Abstract: Analysis of Cougar sensor network data management system composition and function, there is cluster head node energy consumption, it is not balanced problems, propose a modified Cougar system, given the energy-saving pre-processing algorithm for query optimization. Experiments show that the improved Cougar system effectively reduces the energy consumption of sensor networks.
Key word: sensor networks; cougar system; query processing
傳感器網(wǎng)絡(luò)(WSN)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量具有傳感單元、數(shù)據(jù)處理單元和無(wú)線(xiàn)通信模塊的微型傳感器通過(guò)Ad Hoc方式構(gòu)成的無(wú)線(xiàn)網(wǎng)絡(luò)系統(tǒng),節(jié)點(diǎn)間通過(guò)分布式協(xié)同工作、實(shí)時(shí)檢測(cè),獲取感知目標(biāo)信息。由于傳感器網(wǎng)絡(luò)節(jié)點(diǎn)資源有限,易受外界干擾失效,如何對(duì)傳感器網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行管理,越來(lái)越引起人們關(guān)注[1]。
傳感器網(wǎng)絡(luò)數(shù)據(jù)管理系統(tǒng)是一個(gè)提取、存儲(chǔ)、管理傳感器網(wǎng)絡(luò)數(shù)據(jù)的系統(tǒng),目前具有代表性的傳感器網(wǎng)絡(luò)數(shù)據(jù)管理主要包括加州大學(xué)伯克利分校TinyDB系統(tǒng)和康奈爾大學(xué)的Cougar系統(tǒng),TinyDB側(cè)重于為傳感器數(shù)據(jù)管理提供底層系統(tǒng)框架的實(shí)現(xiàn)和對(duì)查詢(xún)引擎的優(yōu)化實(shí)現(xiàn),Cougar側(cè)重于有效通信機(jī)制和查詢(xún)機(jī)制能量有效的優(yōu)化實(shí)現(xiàn),提出操作盡可能在網(wǎng)內(nèi)分布式處理,以減少通信能量的消耗,它們都是半分布式系統(tǒng)結(jié)構(gòu)[2-3]。
1 Cougar系統(tǒng)分析
1.1 Cougar系統(tǒng)組成及功能[4]
Cougar系統(tǒng)包括三個(gè)部分:第一部分是圖形用戶(hù)界面(GUI);第二部分是客戶(hù)前端系統(tǒng)(FrontEnd);第三部分是查詢(xún)代理(QueryProxy)。GUI供用戶(hù)提交查詢(xún)命令,運(yùn)行在主機(jī)上;客戶(hù)前端運(yùn)行在選定節(jié)點(diǎn)上,擔(dān)當(dāng)傳感器網(wǎng)絡(luò)和外部世界的網(wǎng)關(guān);查詢(xún)代理運(yùn)行在每個(gè)節(jié)點(diǎn)上,用來(lái)解釋和執(zhí)行查詢(xún)。
Cougar系統(tǒng)將傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)劃分成簇。每個(gè)簇包含多個(gè)傳感器節(jié)點(diǎn),其中一個(gè)是簇頭節(jié)點(diǎn)。當(dāng)傳感器網(wǎng)絡(luò)配置結(jié)束后已經(jīng)形成簇并確定了簇頭??蛻?hù)前端可以和簇頭通信,簇頭可以和客戶(hù)前端及簇中其它的傳感器節(jié)點(diǎn)通信。在傳感器網(wǎng)絡(luò)內(nèi)部使用定向擴(kuò)散(Directed Diffusion)路由算法進(jìn)行通信,信息交換的格式是XML。GUI和客戶(hù)前端之間的通信使用TCP/IP數(shù)據(jù)包。
圖形用戶(hù)界面(GUI):基于Java的圖形界面,通過(guò)可視化方式或輸入SQL語(yǔ)言發(fā)出查詢(xún)請(qǐng)求,并以可視化方式顯示查詢(xún)結(jié)果。GUI的Map組件可以使用戶(hù)查看網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),并允許把一些節(jié)點(diǎn)加入一個(gè)簇,系統(tǒng)自動(dòng)選舉簇頭。
客戶(hù)前端(FrontEnd):將從GUI獲取的查詢(xún)請(qǐng)求分發(fā)到傳感器各個(gè)節(jié)點(diǎn)上運(yùn)行的查詢(xún)代理,它為運(yùn)行在系統(tǒng)上的GUI保留當(dāng)前運(yùn)行的查詢(xún)軌跡,并從簇頭接收消息??蛻?hù)前端會(huì)對(duì)收到的數(shù)據(jù)進(jìn)行相關(guān)處理,再轉(zhuǎn)發(fā)給發(fā)出查詢(xún)請(qǐng)求的GUI。除了接收GUI的命令,向GUI發(fā)送信息外,客戶(hù)前端還可以將數(shù)據(jù)傳輸?shù)竭h(yuǎn)程MySQL數(shù)據(jù)庫(kù)。
查詢(xún)代理(QueryProxy):由設(shè)備管理器、節(jié)點(diǎn)層軟件和簇頭層軟件構(gòu)成。設(shè)備管理器獲取傳感器節(jié)點(diǎn)的感知數(shù)據(jù)。節(jié)點(diǎn)層軟件管理傳感器節(jié)點(diǎn)上的查詢(xún)執(zhí)行,并通過(guò)設(shè)備管理器與傳感器交互。當(dāng)進(jìn)行查詢(xún)處理時(shí),節(jié)點(diǎn)層軟件從設(shè)備管理器獲得需要的數(shù)據(jù),然后使用這些數(shù)據(jù)進(jìn)行查詢(xún)處理,并將結(jié)果傳送到簇頭。簇頭除了具有節(jié)點(diǎn)層軟件外,還具有一個(gè)簇頭處理層軟件,從簇內(nèi)其它成員接收數(shù)據(jù)。簇頭把接收到的數(shù)據(jù)提交給需要這些數(shù)據(jù)的查詢(xún),并處理這些查詢(xún),最后把結(jié)果傳送到發(fā)出查詢(xún)的客戶(hù)前端。
1.2 存在的問(wèn)題
Cougar系統(tǒng)中運(yùn)行客戶(hù)前端程序的節(jié)點(diǎn)可以看作基站,用戶(hù)的查詢(xún)請(qǐng)求一般與多個(gè)簇頭節(jié)點(diǎn)相關(guān)聯(lián)。將傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)劃分成簇的方法能夠有效的節(jié)約能量,但是,至今提出的多數(shù)分簇路由協(xié)議,如LEACH[5]、HEED[6]等都側(cè)重于研究如何將網(wǎng)絡(luò)中的節(jié)點(diǎn)分成均勻的簇,以及簇內(nèi)數(shù)據(jù)的傳輸問(wèn)題,大都沒(méi)有涉及簇頭節(jié)點(diǎn)之間通信和簇頭節(jié)點(diǎn)與基站之間通信時(shí)的能量消耗問(wèn)題,它們都假設(shè)簇頭節(jié)點(diǎn)與基站直接通信,也即每個(gè)簇頭節(jié)點(diǎn)查詢(xún)的數(shù)據(jù)直接傳送到基站。
在這種簇頭節(jié)點(diǎn)與基站直接通信的查詢(xún)方式中,存在簇頭節(jié)點(diǎn)能量消耗大,不均衡的問(wèn)題。如距離基站遠(yuǎn)的簇頭節(jié)點(diǎn)會(huì)比基站附近的簇頭節(jié)點(diǎn)過(guò)早失效;距離基站很遠(yuǎn)的簇頭節(jié)點(diǎn)由于通信距離限制無(wú)法與基站直接通信,不利于傳感器網(wǎng)絡(luò)數(shù)據(jù)管理的擴(kuò)展。
針對(duì)這一問(wèn)題,提出改進(jìn)方法,基本思想是改變簇頭節(jié)點(diǎn)與基站直接通信的查詢(xún)方式,對(duì)每個(gè)簇頭節(jié)點(diǎn)查詢(xún)的結(jié)果不再直接傳送到基站,而是通過(guò)對(duì)每個(gè)簇頭節(jié)點(diǎn)進(jìn)行通信能量消耗的估算,尋找一個(gè)通信能量消耗少,滿(mǎn)足用戶(hù)查詢(xún)要求的簇頭節(jié)點(diǎn),由該節(jié)點(diǎn)接收其它簇頭節(jié)點(diǎn)傳送的數(shù)據(jù)并進(jìn)行計(jì)算處理,即網(wǎng)內(nèi)處理,然后再將結(jié)果傳送到基站,這樣達(dá)到降低網(wǎng)絡(luò)節(jié)點(diǎn)能耗,滿(mǎn)足用戶(hù)查詢(xún)的目的。
2 改進(jìn)的Cougar系統(tǒng)
2.1 查詢(xún)代理
原有的查詢(xún)代理由設(shè)備管理器、節(jié)點(diǎn)層軟件和簇頭層軟件三部分組成,原有的簇頭層軟件負(fù)責(zé)接收簇內(nèi)其它成員傳送的數(shù)據(jù),但為了實(shí)現(xiàn)簇頭之間的數(shù)據(jù)通信,必須新增加一個(gè)簇頭間處理軟件,它負(fù)責(zé)與查詢(xún)相關(guān)的簇頭之間數(shù)據(jù)的發(fā)送、接收和數(shù)據(jù)處理并將查詢(xún)結(jié)果傳送給客戶(hù)前端。增加的簇頭間軟件功能為:
step1 完成簇內(nèi)成員的數(shù)據(jù)接收及查詢(xún)處理;
step2 等待接收其它簇頭節(jié)點(diǎn)的數(shù)據(jù);
step3 將處理的最后結(jié)果傳送給客戶(hù)前端,完成查詢(xún)。
改進(jìn)的查詢(xún)代理內(nèi)部邏輯結(jié)構(gòu),如圖1。
2.2 客戶(hù)前端
用戶(hù)的查詢(xún)請(qǐng)求以一種類(lèi)SQL語(yǔ)言表示,它僅僅描述了用戶(hù)感興趣的邏輯上一組數(shù)據(jù)集合,并沒(méi)有指定實(shí)際的實(shí)現(xiàn)手段,為了尋找一個(gè)通信能量消耗少,滿(mǎn)足一定實(shí)時(shí)性要求的簇頭節(jié)點(diǎn),客戶(hù)前端在已有的功能基礎(chǔ)上,必須新增加一個(gè)查詢(xún)優(yōu)化預(yù)處理軟件,對(duì)用戶(hù)的查詢(xún)請(qǐng)求進(jìn)行解析、驗(yàn)證和優(yōu)化,其功能為:
step1 從GUI獲得用戶(hù)查詢(xún)請(qǐng)求,找出與之相關(guān)聯(lián)的簇頭節(jié)點(diǎn);
step2 對(duì)每個(gè)簇頭節(jié)點(diǎn)進(jìn)行能量消耗計(jì)算;
step3 尋找一個(gè)最優(yōu)簇頭節(jié)點(diǎn);
step4 制定一個(gè)優(yōu)化的查詢(xún)計(jì)劃;
step5 將查詢(xún)分發(fā)到傳感器網(wǎng)絡(luò)。
改進(jìn)的客戶(hù)前端結(jié)構(gòu),如圖2。
2.3 查詢(xún)優(yōu)化預(yù)處理算法
傳感器網(wǎng)絡(luò)中由于能源受限,要求網(wǎng)絡(luò)中數(shù)據(jù)傳送量盡可能少,傳感器節(jié)點(diǎn)通信能量消耗遠(yuǎn)遠(yuǎn)大于計(jì)算時(shí)的能量消耗,簇頭節(jié)點(diǎn)nj執(zhí)行查詢(xún)時(shí),網(wǎng)絡(luò)消耗的能量包括其它簇頭節(jié)點(diǎn)與nj節(jié)點(diǎn)通信、nj節(jié)點(diǎn)對(duì)本身的數(shù)據(jù)和其它簇頭節(jié)點(diǎn)傳送來(lái)的數(shù)據(jù)的計(jì)算處理、nj節(jié)點(diǎn)與基站通信這三部分消耗的能量。在這三部分中,由于每個(gè)簇頭節(jié)點(diǎn)的計(jì)算耗時(shí)和對(duì)數(shù)據(jù)的計(jì)算處理執(zhí)行的指令個(gè)數(shù)也相同,所以計(jì)算處理的能量消耗也相同,可不用再單獨(dú)計(jì)算,因此,只需計(jì)算比較每個(gè)簇頭節(jié)點(diǎn)的通信能量消耗。根據(jù)無(wú)線(xiàn)電能量關(guān)系模型:E=λkd2,數(shù)據(jù)傳輸過(guò)程中信號(hào)放大部分的能耗占主體,且與數(shù)據(jù)包大小和傳輸距離的平方成正比,λ是單位數(shù)據(jù)傳送單位距離時(shí)傳感器的能耗(焦耳J);k是數(shù)據(jù)包大小;d為通信距離。則其它簇頭節(jié)點(diǎn)與nj節(jié)點(diǎn)通信能量消耗
nj節(jié)點(diǎn)與基站通信能量消耗
由此可得簇頭節(jié)點(diǎn)nj查詢(xún)時(shí)網(wǎng)絡(luò)能量消耗
(1)
設(shè)用戶(hù)的查詢(xún)與n1,…,nm簇頭節(jié)點(diǎn)相關(guān),根據(jù)式(1)估算每個(gè)簇頭節(jié)點(diǎn)查詢(xún)時(shí)網(wǎng)絡(luò)消耗的能量E,從中選出能量消耗最少的簇頭節(jié)點(diǎn),算法的偽碼描述:
初始化:z 存放結(jié)果,p[]存放簇頭節(jié)點(diǎn)號(hào);
for i=1 to m do
En = computing_energy(Ei); //進(jìn)行節(jié)點(diǎn)能量消耗計(jì)算
if (i==1) then
z = p[i];
Ep = En;
else if(En < Ep) then
z = p[i];// 得到能量消耗最少的簇頭節(jié)點(diǎn)號(hào)
Ep = En;
endif
endif
enddo
3 實(shí)驗(yàn)
本文運(yùn)用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言Visual C++ 6.0,對(duì)改進(jìn)的Cougar系統(tǒng)與原Cougar系統(tǒng)中的查詢(xún)能量消耗進(jìn)行了仿真比較。仿真中簇頭節(jié)點(diǎn)均勻分布,能量消耗如圖3。
測(cè)試實(shí)驗(yàn)對(duì)簇頭節(jié)點(diǎn)分為三種情況:
1) 簇頭節(jié)點(diǎn)為1個(gè)時(shí)的能量消耗;
2) 簇頭節(jié)點(diǎn)為7個(gè)時(shí)的能量消耗;
3) 簇頭節(jié)點(diǎn)為20個(gè)時(shí)的能量消耗。
從圖3中可以看出,在簇頭節(jié)點(diǎn)為1個(gè)時(shí),改進(jìn)的Cougar系統(tǒng)與原Cougar系統(tǒng)中的查詢(xún)能量消耗完全一樣,這是特例,隨著簇頭節(jié)點(diǎn)的增多,改進(jìn)的Cougar系統(tǒng)比原Cougar系統(tǒng)中的查詢(xún)能量消耗明顯降低,說(shuō)明改進(jìn)的Cougar系統(tǒng)能有效的減少能量消耗。
4 結(jié)束語(yǔ)
本文分析了Cougar傳感器網(wǎng)絡(luò)數(shù)據(jù)管理系統(tǒng)的組成和功能,根據(jù)查詢(xún)與簇頭節(jié)點(diǎn)的數(shù)據(jù)關(guān)聯(lián)的關(guān)系,在對(duì)簇頭節(jié)點(diǎn)通信能量消耗深入分析基礎(chǔ)上,對(duì)存在簇頭節(jié)點(diǎn)能量消耗大,不均衡的問(wèn)題,提出一種改進(jìn)的Cougar系統(tǒng),給出了節(jié)省能量的查詢(xún)優(yōu)化預(yù)處理算法。相關(guān)仿真實(shí)驗(yàn)證明,改進(jìn)后的Cougar系統(tǒng)能明顯提高查詢(xún)效率,有效降低節(jié)點(diǎn)能耗。
參考文獻(xiàn):
[1] AKYILDIZ I F,SU E L,SANKARASUBRAMANIAM Y,et al.A Survey on Sensor Networks[J]. IEEE Communications Magazine,2002,40(8):102-104.
[2] MADDEN S,F(xiàn)RANKLIN M J.Fjording the Stream:An Architechchture for Queries over Streaming Sensor Data[C] // Proc ICDE Conference Los Alamitos.IEEE Computer Press,2002:555-666.
[3] YAO Y,GEHRKE J.The Cougar a Approach to In-network Query Processing in Sensor Networks[J]. ACM SIGMOD Record,2002,31(3):9-18.
[4] 孫利民,李建中,陳渝,等.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[5] WENDI B,HEINZELMAN.An Application-specific Protocol Architecture for Wireless Microsensornetworks[J]. IEEE Transactions on WirelessCommunications,2002,1(4):660-670.
[6] YOUNIS O,F(xiàn)AHMY S. HEED:a Hybrid Energy-efficient Distributed Clutering Approach for Ad Hoc Sensor Networks[J].IEEE Trans on Mobile Computering,2004,3(4):660-669.