裴芳,鄭瑩,董龍明
(1.湖南機電職業(yè)技術(shù)學院,長沙410073;2.常德職業(yè)技術(shù)學院,湖南常德415000;3.陸軍駐南京地區(qū)軍事代表室,南京210000)
基于動態(tài)可調(diào)簇的能量感知無線傳感網(wǎng)數(shù)據(jù)收集協(xié)議*
裴芳1,鄭瑩2,董龍明3
(1.湖南機電職業(yè)技術(shù)學院,長沙410073;2.常德職業(yè)技術(shù)學院,湖南常德415000;3.陸軍駐南京地區(qū)軍事代表室,南京210000)
針對無線傳感網(wǎng)中高效數(shù)據(jù)收集和傳輸?shù)男枰岢隽艘环N基于動態(tài)可調(diào)簇的能量感知數(shù)據(jù)收集協(xié)議ACEDGP(AdjustedCluster-basedenergy-awareDataGatheringProtocol)。該協(xié)議初始時根據(jù)區(qū)域?qū)⒐?jié)點等分成許多簇結(jié)構(gòu),簇首節(jié)點負責簇內(nèi)部數(shù)據(jù)的收集和聚合,距離較遠的簇通過其他簇首節(jié)點的轉(zhuǎn)發(fā)實現(xiàn)數(shù)據(jù)的收集;隨著時間的推移和節(jié)點能量的減少,ACEDGP能夠統(tǒng)計各簇首能量消耗預測簇的通信頻次,根據(jù)動態(tài)調(diào)整簇策略選擇合適的簇首節(jié)點和合并分裂各個相鄰的簇,保證各簇首節(jié)點簇內(nèi)數(shù)據(jù)收集和簇間數(shù)據(jù)轉(zhuǎn)發(fā)的能量平衡。仿真結(jié)果表明,與典型的分簇協(xié)議相比,ACEDGP能夠更好地平衡節(jié)點的能耗,獲得更長的網(wǎng)絡(luò)生存期。
無線傳感網(wǎng),數(shù)據(jù)收集協(xié)議,動態(tài)可調(diào)簇
無線傳感網(wǎng)(WSN,wireless sensor network)是由分布在監(jiān)測區(qū)域內(nèi)的能夠采集環(huán)境數(shù)據(jù)、簡單數(shù)據(jù)處理和無線通信的大量傳感器節(jié)點通過無線通信協(xié)議構(gòu)成的無線多跳adhoc網(wǎng)絡(luò)[1]。WSN能夠在寬闊惡劣的條件下,實時收集大量詳實可靠的一手數(shù)據(jù),被廣泛應用于工業(yè)控制、環(huán)境監(jiān)測、交通管理、國防軍事等領(lǐng)域。
無線傳感網(wǎng)數(shù)據(jù)收集協(xié)議從網(wǎng)絡(luò)拓撲結(jié)構(gòu)上可以分為平面數(shù)據(jù)收集協(xié)議和分簇數(shù)據(jù)收集協(xié)議。平面數(shù)據(jù)收集協(xié)議所有節(jié)點的地位平等,網(wǎng)絡(luò)中沒有管理節(jié)點,優(yōu)點是簡單、易擴展,但不利節(jié)點的數(shù)據(jù)融合,離源節(jié)點遠的節(jié)點由于數(shù)據(jù)傳輸代價大能量耗盡快,因此,不適合大規(guī)模分布區(qū)域廣的無線傳感網(wǎng)應用。在分簇的數(shù)據(jù)收集協(xié)議中,網(wǎng)絡(luò)中的節(jié)點通常根據(jù)某種規(guī)則被劃歸為簇首節(jié)點和成員節(jié)點。簇首節(jié)點管理簇內(nèi)部成員節(jié)點,負責簇內(nèi)成員節(jié)點的數(shù)據(jù)收集融合處理以及簇間數(shù)據(jù)轉(zhuǎn)發(fā)。簇首節(jié)點承擔著主要的無線傳感網(wǎng)的任務,其失效往往影響整個簇的失效,雖然設(shè)計時可以賦予簇首節(jié)點高能量,但隨著時間的推移,簇首節(jié)點由于故障或能量急劇消耗從而導致整個簇失效。如何動態(tài)調(diào)整簇的規(guī)模選擇合適的簇首節(jié)點成為基于分簇的數(shù)據(jù)收集協(xié)議研究的熱點和難點。
國內(nèi)外研究學者針對分簇的無線傳感網(wǎng)數(shù)據(jù)收集協(xié)議相繼提出了多種典型的數(shù)據(jù)收集協(xié)議,如:LEACH算法[2]、PEGASID[3]、PEDAP協(xié)議[4]和多層回溯協(xié)議MTP[5]。LEACH算法隨機選取簇首,成員節(jié)點的數(shù)據(jù)匯聚到簇首節(jié)點后發(fā)送給基站,減少了與基站直接通信節(jié)點數(shù)據(jù),協(xié)議在每輪隨機重新選擇簇首,理論能夠?qū)⒛芰肯木鶆虻胤植荚谒泄?jié)點上,但是,算法很難保證簇首節(jié)點在網(wǎng)絡(luò)中均勻分布。PEGASID協(xié)議根據(jù)節(jié)點的地理位置形成一條相鄰節(jié)點間距離最短的鏈,節(jié)點間的通信僅限于相鄰節(jié)點,可以有效地較少通信距離所消耗的能量,PEDAP協(xié)議在PEGASID協(xié)議進一步優(yōu)化,將節(jié)點構(gòu)造一棵最小匯集樹,但是需要維護網(wǎng)絡(luò)全局信息,尤其是節(jié)點意外失效時,需要重新廣播全局信息。多層回溯協(xié)議MTP通過檢測基站信號強弱來確定節(jié)點和基站的距離,根據(jù)基站信號的距離來確定節(jié)點和基站的距離,通過頂層節(jié)點遷移機制,能夠?qū)⒛芰繐p耗較均勻地分布在所有節(jié)點上。這些協(xié)議通過各種方法動態(tài)選擇簇首節(jié)點,將能耗盡量分布在無線網(wǎng)的節(jié)點中。但是,這些調(diào)整只是簇內(nèi)節(jié)點的微調(diào),不能在簇間根據(jù)通信任務而進行調(diào)整,容易導致通信平凡的簇首先失效,而通信頻次低的簇節(jié)點能量過剩,不適用于通信任務分配不均的無線傳感網(wǎng)。本文提出的基于動態(tài)可調(diào)簇的能量感知數(shù)據(jù)收集協(xié)議是對當前基于簇結(jié)構(gòu)數(shù)據(jù)收集協(xié)議的改進,除了在簇內(nèi)根據(jù)簇首的能耗動態(tài)調(diào)整簇首節(jié)點外,ACEDGP根據(jù)簇首節(jié)點和能耗評估通信的頻次,合并那些通信量少的簇和分裂那些通信量大的簇,以此來平衡簇內(nèi)節(jié)點能量的消耗。
ACEDGP假設(shè)無線傳感網(wǎng)中的節(jié)點隨機分布在一個方形區(qū)域內(nèi),并且具有下面的性質(zhì):①唯一的基站部署在無線網(wǎng)外部較遠的距離;②每個節(jié)點具有唯一的標識ID,初始時具有相同的能量;③傳感器節(jié)點部署后不再移動;④所有節(jié)點具有相同的計算和通信能力;⑤節(jié)點的地理位置不可知;⑥可根據(jù)節(jié)點距離的不同調(diào)節(jié)發(fā)射節(jié)點的功率。
文中采用與文獻[6]相同的能耗模型,能量衰減模型隨發(fā)送距離的遠近分為自由空間模型和多路衰減模型:當發(fā)送距離在一定閾值d0(d0為常量)內(nèi),發(fā)送數(shù)據(jù)的功耗和距離的平方成正比;當發(fā)送距離大于d0時,功耗和距離的四次方成正比,當節(jié)點向距離d以外的另一個節(jié)點發(fā)送k個字節(jié)的數(shù)據(jù)時,其所消耗的能量由式(1)計算:
其中,Eelec表示收發(fā)電路所消耗的能量,Eamp表示信號放大器消耗的能量。節(jié)點接受數(shù)據(jù)所消耗的能量由式(2)計算得到。
由式(1)可知:節(jié)點發(fā)送數(shù)據(jù)所消耗的能量由Eelec(k)和Eamp(k,d)兩部分組成,這就決定著在構(gòu)造簇分組節(jié)點時,簇的半徑不能過大以減少每次通信Eamp(k,d)因子的代價;簇的半徑也不能太小,如果太小,使得無線傳感網(wǎng)中簇的數(shù)目太多,簇首數(shù)據(jù)轉(zhuǎn)發(fā)次數(shù)太多。因此,如何設(shè)計合適大小的簇,對節(jié)約簇首能耗具有重要的意義。ACEDGP基于該思路除了繼承MTP協(xié)議簇首節(jié)點遷移外,提出了一種動態(tài)調(diào)整簇大小策略,實時監(jiān)測簇首節(jié)點能耗情況,合并那些通信量少的簇和分裂那些通信量大的簇,平衡簇首節(jié)點的能量消耗,以延遲無線傳感網(wǎng)的生命周期。
2.1節(jié)點分簇
在系統(tǒng)初始化時,ACEDGP協(xié)議將傳感網(wǎng)絡(luò)中所有節(jié)點按照區(qū)域劃分成多個簇,簇內(nèi)隨機推薦一個節(jié)點作為簇首節(jié)點。
簇首節(jié)點將簇內(nèi)各節(jié)點的數(shù)據(jù)收集,經(jīng)過打包壓縮拆分等手段匯聚后根據(jù)簇間的路由表逐級傳輸至基站。因此,ACEDGP協(xié)議中每個簇首節(jié)點需要維護兩類信息:基本信息和簇間的路由信息。
對任意節(jié)點Ni,基本信息包括節(jié)點ID、簇首節(jié)點ID、剩余能量、能量門限值,可以用四元組表示:
節(jié)點ID是統(tǒng)一編碼,CH_ID表示簇首節(jié)點的ID,可以用來代表整個簇,節(jié)點通過CH_ID就可以在簇內(nèi)將感知到的數(shù)據(jù)傳遞給該簇首。剩余能量則是記錄節(jié)點當前剩余的能量。能量閾值用于判斷節(jié)點是否可以擁有充足的能量充當簇首節(jié)點以維持該簇內(nèi)數(shù)據(jù)通信和簇間數(shù)據(jù)轉(zhuǎn)發(fā);能量閾值Energy_Threshold/2描述了該簇是否需要分裂成更小的簇;Energy_Threshold*2描述了簇首節(jié)點能量剩余較多,大于該值說明該簇可以合并。
簇間路由信息維護與本簇相鄰接監(jiān)控區(qū)域的簇首節(jié)點信息,可以用兩個隊列表示:轉(zhuǎn)發(fā)隊列TransferQueue和區(qū)域鄰接隊列NeighAreaQueue。這兩個隊列在系統(tǒng)初始化時構(gòu)建,轉(zhuǎn)發(fā)隊列記錄了該簇首節(jié)點可以將數(shù)據(jù)轉(zhuǎn)發(fā)的下一個簇首ID,區(qū)域隊列記錄了與該簇地理相鄰的簇首ID,用來動態(tài)調(diào)整簇的大小。轉(zhuǎn)發(fā)隊列在傳感網(wǎng)節(jié)點分簇確定簇首節(jié)點后構(gòu)建,由基站廣播一則消息,通過與基站距離的遠近構(gòu)建一條通往基站的鏈路,為了增強傳感網(wǎng)的容錯性,通往基站的鏈路可能不止一路,簇首可以選擇多個簇間首節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)傳遞給基站。
2.2簇首節(jié)點數(shù)據(jù)轉(zhuǎn)發(fā)
在ACEDGP協(xié)議中,簇首節(jié)點的數(shù)據(jù)經(jīng)過轉(zhuǎn)發(fā)隊列中的簇首節(jié)點轉(zhuǎn)發(fā),最后將數(shù)據(jù)轉(zhuǎn)發(fā)到基站。圖1完整地描述了ACEDGP協(xié)議中數(shù)據(jù)收集并傳輸?shù)交镜倪^程。首先,各簇內(nèi)節(jié)點將數(shù)據(jù)分布匯聚到簇首節(jié)點CHi、CHj和CHm中。CHi和CHj、CHj和CHm構(gòu)成了區(qū)域鄰接隊列,CHj為簇首節(jié)點CHi的轉(zhuǎn)發(fā)隊列,CHm為簇首節(jié)點CHj的轉(zhuǎn)發(fā)隊列。因此,簇首節(jié)點CHi將數(shù)據(jù)由簇內(nèi)數(shù)據(jù)匯聚后傳遞給簇首節(jié)點CHj,然后簇首節(jié)點CHj將接受到數(shù)據(jù)和簇內(nèi)收集的數(shù)據(jù)匯總打包一并傳輸給簇首節(jié)點CHm,最后,簇首節(jié)點CHm將匯總后的數(shù)據(jù)傳輸給基站。
圖1 簇首節(jié)點數(shù)據(jù)傳輸路徑
2.3動態(tài)調(diào)整簇策略
當無線傳感網(wǎng)運行一點階段后,由于簇首節(jié)點承擔著大量的數(shù)據(jù)匯總和傳輸任務,造成能量急劇消耗,當能量消耗至某個極限值時不再具備簇首節(jié)點和轉(zhuǎn)發(fā)數(shù)據(jù)的資格。在這種情況下,ACEDGP協(xié)議設(shè)置兩種動態(tài)調(diào)整簇策略,一方面,在簇內(nèi)重新選取能量高的節(jié)點作為該簇節(jié)點;另一方面,通過統(tǒng)計簇內(nèi)節(jié)點能量消耗的情況來預測簇的檢測任務和通信頻次,合并那些通信量少的簇,分裂那些通信量大的簇,以此來平衡簇內(nèi)節(jié)點能量的消耗,最大限度地延遲無線傳感網(wǎng)的生命周期。
當簇首節(jié)點的剩余能量Energy_Threshold/2<=Res_Energy<Energy_Threshold時,在該簇內(nèi)發(fā)起廣播更換簇首消息ModifyCH,通知簇內(nèi)其他節(jié)點將剩余能量Res_Energy發(fā)送該簇首,然后簇首選擇剩余能量最大的節(jié)點作為新的簇首,并且在無線傳感網(wǎng)中廣播修改該簇首ID的消息,簇內(nèi)修改基本信息的簇首ID,其他簇首節(jié)點將轉(zhuǎn)發(fā)隊列和區(qū)域鄰接隊列中原簇首ID更換新的簇首節(jié)點,完成簇首的更換。
當簇首節(jié)點的能量Res_Energy<Energy_Threshold/2時,首先從區(qū)域鄰接隊列NeighAreaQueue中查找是否存在其他簇首能量Res_Energy>Energy_Threshold*2(表明該簇內(nèi)部數(shù)據(jù)量消耗比較低),如果存在,則將該簇合并到簇首能量最高的簇,該簇所有節(jié)點作為新簇的普通節(jié)點,新簇的簇首仍為原來的簇首,并廣播無線傳感網(wǎng)修改相應簇首節(jié)點;如果不存在,則將原來的簇分裂成兩個新的簇,其中:一個子簇ch1仍以原來簇首為簇首節(jié)點,因此,其轉(zhuǎn)發(fā)隊列和區(qū)域鄰接隊列繼承原來的簇,將子簇ch2的簇首加入到區(qū)域鄰接隊列;另一個子簇ch2選擇一個能量較高的節(jié)點為簇首節(jié)點,子簇ch1的簇首加入到子簇ch2的轉(zhuǎn)發(fā)隊列TransferQueue和區(qū)域鄰接隊列NeighAreaQueue;如果無法動態(tài)調(diào)整則將能量閾值減半。該算法偽代碼描述如下:
3.1參數(shù)設(shè)置
本文采用基于Java的DTN仿真工具ONE(Opportunistic Network Environment)[7]進行仿真實驗。為了驗證本文協(xié)議的有效性,分別對LEACH[2]、MTP[5]和ACEDGP 3種協(xié)議分布從能耗和網(wǎng)絡(luò)生存周期進行對比。實驗中個項參數(shù)設(shè)置如表1所示。每次輪巡節(jié)點是否發(fā)送數(shù)據(jù)包是隨機的,模擬真實傳感網(wǎng)環(huán)境的數(shù)據(jù)收集。
表1 實驗參數(shù)列表
3.2實驗結(jié)果及分析
三種協(xié)議的能耗比較如圖2所示。隨著網(wǎng)絡(luò)中節(jié)點數(shù)的增加,節(jié)點最大能耗也相應增加,與LEACH和MTP協(xié)議相比,和ACEDGP的能耗更低。這是因為ACEDGP動態(tài)調(diào)整簇策略更加豐富,尤其是簇分裂和合并策略根據(jù)通信頻次實時調(diào)整簇的大小,能夠平衡簇首節(jié)點的能耗,更加適用于任務不等動態(tài)傳感網(wǎng)。
圖2 節(jié)點最大能耗對比
網(wǎng)絡(luò)生命周期定義為第1個節(jié)點能量耗盡時經(jīng)過的輪數(shù),實驗結(jié)果如圖3所示。ACEDGP協(xié)議的網(wǎng)絡(luò)生存期比其他兩種協(xié)議都長。主要是由于ACEDGP采用基于動態(tài)可調(diào)簇結(jié)構(gòu)進行數(shù)據(jù)收集:通過輪換簇首節(jié)點,能減少簇首的能耗;通過合并或分裂簇可以網(wǎng)絡(luò)負載更加均衡。
圖3 網(wǎng)絡(luò)生命期
為了降低數(shù)據(jù)收集時節(jié)點的能耗和延長網(wǎng)絡(luò)生命期,本文提出了一種基于動態(tài)可調(diào)簇的能量感知無線傳感網(wǎng)數(shù)據(jù)收集協(xié)議ACEDGP。該協(xié)議通過設(shè)置兩種動態(tài)調(diào)整重構(gòu)簇的大小側(cè)率,能夠適應節(jié)點監(jiān)控任務和通信任務不均的動態(tài)傳感網(wǎng)中,仿真實驗結(jié)果驗證了該數(shù)據(jù)協(xié)議的有效性。能量閾值的設(shè)置關(guān)系到簇的調(diào)整方案和頻次,如何設(shè)計更加合理的能量閾值,使其在能耗、網(wǎng)絡(luò)生存期和延遲等方面同時具有較優(yōu)的性能是下一步研究的方向。
[1]VIDYASAGAR P,ATIF S,ELIZABETH C.Wireless sensor networks:a survey[C]//International Conference on Advanced Information Networking and Applications Workshops. Bradford,UnitedKingdom,2009:636-641.
[2]HEINZELMAN W R,KULIK J,BALAKRISHNAN H. Adaptive protocols for information dissemination in wireless sensornetworks[C]//In:Proc of the5thAnnual International Conference on Mobile Computing and Networking.New York:ACMPress,2001:174-185.
[3]LINDSEY S,RAGHAVENDRA C S.Pegasis:Power-efficientgatheringinsensorinformationsystems[C]//In:Proc of IEEE AerospaceConference2002.Los Alamitos,CA:IEEE ComputerSocietyPress,2002:1-6.
[4]TAN H O.Power efficient data gathering and aggregation in wirelesssensornetworks[J].SIGMOD Record,2003,32(4):66-71.
[5]劉昕,王全玉,金旭亮.基于能量感知的素具匯聚和路由協(xié)議[J].計算機研究與發(fā)展,2008,45(1):83-88.
[6]HEINZELMAN W B,CHANDRAKASAN A P,BALAKRISHNAN H.An application-specific protocolarchitectureforwirelessmicrosensornetworks[C]// IEEE Transactions on Wireless Communications,2002(1):660-670.
[7]KERANENA,OTT J,KARKKAINENT.TheONE simulator for DTN protocol evaluation[C]//SIMUTools’09:Proceedings of the 2nd International Conference on Simulation ToolsandTechniques,NewYork,NY,USA,2009.
An Adjusted Cluster Based Energy-Aware Data Gathering Protocol for WSN
PEI Fang1,ZHENG Ying2,DONG Long-ming3
(1.Hunan Mechanical and Electrical Polytechnic,Changsha 410073,China;2.Changde Vocational Technical College,Changde 415000,China;3.Nanjing Military Representative Office of PLA Army,Nanjing 210000,China)
This paper presents an adjusted cluster based energy-aware data gathering protocol for wireless sensor network,called ACEDGP.ACEDGP divides nodes equally into several clusters according to different regions.Cluster heads gather and aggregate data from other nodes in clusters,and the data of clusters at a distance are gathered by the forwarding of other cluster heads.Along with the decrease of the energy in the cluster heads,ACEDGP can forecast the communication frequency by counting the energy consumption of the cluster heads.It can select the suitable cluster heads and combine or split the adjacent clusters according to the dynamic adjustment strategy,which can ensure sufficient energy in the cluster heads to gather data in the cluster and forwarding data over clusters. Simulation results show that ACEDGP can balance the energy consumption of nodes better,and thus increase the lifetime of WSN.
wirelesssensornetwork,datagatheringprotocol,adjustedcluster
TP316.4
A
1002-0640(2016)10-0177-04
2015-08-06
2015-09-16
湖南省教育廳課題(13C258);湖南省常德市科技局一般項目(2014JF11)
裴芳(1977-),女,湖南常德人,碩士,副教授。研究方向為:無線傳感器網(wǎng)。