王自力,鄭 鑫
(1.駐馬店職業(yè)技術(shù)學(xué)院信息工程系,河南 駐馬店 463000;2.黃淮學(xué)院信息工程學(xué)院,河南 駐馬店 463000)
面向異構(gòu)網(wǎng)絡(luò)的基于k-覆蓋的休眠調(diào)度算法*
王自力1*,鄭 鑫2
(1.駐馬店職業(yè)技術(shù)學(xué)院信息工程系,河南 駐馬店 463000;2.黃淮學(xué)院信息工程學(xué)院,河南 駐馬店 463000)
異構(gòu)無線傳感網(wǎng)絡(luò)WSNs(Wireless Sensor Networks)的多數(shù)監(jiān)測(cè)應(yīng)用要求興趣區(qū)域FoI(Field of Interest)是k覆蓋(k-cover),且k≥1。而冗余節(jié)點(diǎn)被安排為休眠,進(jìn)而最小化能量消耗。為此,提出面向異構(gòu)網(wǎng)絡(luò)的基于k-覆蓋的冗余節(jié)點(diǎn)休眠算法k-CRSS(k-cover based sleep Scheduling algorithm for redundant node)。k-CRSS算法引用概率方法判斷節(jié)點(diǎn)是否為冗余節(jié)點(diǎn),并推導(dǎo)判斷一個(gè)節(jié)點(diǎn)是否為冗余節(jié)點(diǎn)的概率表述式。然后,引用調(diào)度算法識(shí)別所有冗余節(jié)點(diǎn),并讓它們進(jìn)行休眠,且在FoI內(nèi)不出現(xiàn)覆蓋空洞。k-CRSS算法屬分布式算法,并無需任何地理信息,僅通過少量控制消息收集鄰居節(jié)點(diǎn)信息。實(shí)驗(yàn)數(shù)據(jù)表明,k-CRSS算法通過調(diào)度算法減少了活動(dòng)節(jié)點(diǎn)數(shù),進(jìn)而延長(zhǎng)了網(wǎng)絡(luò)壽命。
無線傳感網(wǎng);覆蓋;冗余節(jié)點(diǎn);調(diào)度算法;網(wǎng)絡(luò)壽命
無線傳感網(wǎng)絡(luò)WSNs(Wireless Sensor Networks)由多個(gè)微型傳感節(jié)點(diǎn)構(gòu)成,這些節(jié)點(diǎn)通過感測(cè)環(huán)境,實(shí)現(xiàn)檢測(cè)興趣區(qū)域FoI(Field of Interest)的目的。目前,WSNs廣泛應(yīng)用于康復(fù)醫(yī)療、戰(zhàn)場(chǎng)監(jiān)測(cè)等。由于WSNs常部署于野外惡劣環(huán)境,當(dāng)節(jié)點(diǎn)能量消耗殆盡,也不便以更換電池或充電。因此,常通過密集部署傳感節(jié)點(diǎn),進(jìn)而延長(zhǎng)WSNs的網(wǎng)絡(luò)壽命[-4]。
依據(jù)傳感節(jié)點(diǎn)感測(cè)距離或通信半徑的不同,可將傳感節(jié)點(diǎn)劃分不同類型,這類WSNs也稱為異構(gòu)WSNs[5]。在異構(gòu)WSNs中,由于節(jié)點(diǎn)通信范圍不同,可能節(jié)點(diǎn)間的能量殆盡時(shí)間也不同,這有利于延長(zhǎng)網(wǎng)絡(luò)壽命,因此,本文以異構(gòu)WSNs為研究對(duì)象。
任何WSNs應(yīng)用都涉及對(duì)FoI的監(jiān)測(cè),而覆蓋是衡量WSNs服務(wù)質(zhì)量的重要參數(shù)之一。FoI內(nèi)任何事件若能被監(jiān)測(cè),當(dāng)FoI內(nèi)事件發(fā)生地在傳感節(jié)點(diǎn)的感測(cè)范圍內(nèi)時(shí),傳感節(jié)點(diǎn)就能感測(cè)該事件。如果FoI內(nèi)點(diǎn)被k個(gè)活動(dòng)節(jié)點(diǎn)感測(cè),則此點(diǎn)稱為k覆蓋(k-cover)[6]。如果FoI內(nèi)每個(gè)點(diǎn)均為k-cover,則將FoI稱為k-cover[7]。
在維持FoI的k-cover的同時(shí),最小化能量消耗,進(jìn)而延長(zhǎng)網(wǎng)絡(luò)壽命是非常重要的。延長(zhǎng)網(wǎng)絡(luò)壽命常采用的方法就是識(shí)別網(wǎng)絡(luò)內(nèi)的冗余節(jié)點(diǎn),然后將冗余節(jié)點(diǎn)休眠[8-11]。當(dāng)節(jié)點(diǎn)的感測(cè)范圍內(nèi)每點(diǎn)已k-cover時(shí),則認(rèn)為該節(jié)點(diǎn)為冗余節(jié)點(diǎn)。
此外,多數(shù)文獻(xiàn)常假定每個(gè)傳感節(jié)點(diǎn)均知道自己位置信息,而實(shí)際上這是不切實(shí)際的?;谌蚨ㄎ幌到y(tǒng)GPS或三角定位算法的位置獲取方法要么是成本高,要么是在多數(shù)應(yīng)用場(chǎng)景不具有可操作性。
據(jù)此,本文在無需獲取傳感節(jié)點(diǎn)的位置信息或相關(guān)信息條件下,提出面向異構(gòu)網(wǎng)絡(luò)的基于k-cover的冗余節(jié)點(diǎn)休眠算法k-CRSS。k-CRSS算法引用概率方法量化FoI內(nèi)點(diǎn)的覆蓋冗余,然后再推導(dǎo)出傳感節(jié)點(diǎn)的覆蓋冗余概率,最后再針對(duì)冗余節(jié)點(diǎn),采用分布式休眠調(diào)度算法。實(shí)驗(yàn)數(shù)據(jù)表明,提出的k-CRSS算法在保證FoI是k-cover的同時(shí),減少了活動(dòng)節(jié)點(diǎn)數(shù),降低了能耗,進(jìn)而延長(zhǎng)網(wǎng)絡(luò)壽命。
假定傳感節(jié)點(diǎn)分布于3-D FoI區(qū)域ψ[8-9],且ψ呈正方形。在ψ中,依據(jù)傳感節(jié)點(diǎn)的感測(cè)距離或通信半徑,將它們劃分t類。假定Ni為第i類傳感節(jié)點(diǎn)的節(jié)點(diǎn)數(shù),且網(wǎng)絡(luò)內(nèi)總的節(jié)點(diǎn)數(shù)N:
(1)
類似地,假定節(jié)點(diǎn)si的通信區(qū)域也為圓形區(qū)域,且表示為R(si,Ci),其中Ci為節(jié)點(diǎn)的通信半徑。
定義1感測(cè)鄰居,通信鄰居和雙鄰居 對(duì)于任何兩個(gè)傳感節(jié)點(diǎn)si、sj,且1≤i,j≤t。如果i≠j,并且Si≠Sj或者Ci≠Cj。如果si與sj間距離d(i,j)小于Si+Sj,則將sj稱為si的感測(cè)鄰居,或者si稱為sj的感測(cè)鄰居。類似地,如果d(i,j)小于Ci+Cj,則將sj稱為si的通信鄰居,或者si稱為sj的通信鄰居。如果它們既是感測(cè)鄰居又是通信鄰居,則它們就稱為雙鄰居。
圖1顯示了節(jié)點(diǎn)si和sj的感測(cè)區(qū)域和通信區(qū)域范圍,其中黑色虛線圈是通信區(qū)域,而黑色實(shí)線圈是感測(cè)區(qū)域。
圖1 不同節(jié)點(diǎn)的感測(cè)和通信示意圖
定義2對(duì)于兩個(gè)鄰居傳感節(jié)點(diǎn)si和sj,取δij=min(Si+Sj,Cj)稱為有效協(xié)調(diào)距離。以si為圓心以δij為半徑的區(qū)域R(si,δij)稱為有效協(xié)調(diào)圓。
定義3k-覆蓋率 FoI的k-覆蓋率表示為ηk,其等于FoI區(qū)域內(nèi)被k-覆蓋的面積與FoI區(qū)域總面積之比。
2.1 點(diǎn)覆蓋冗余
任意兩個(gè)相近的傳感節(jié)點(diǎn),它們間覆蓋區(qū)域可能存在交叉重疊,如圖2所示的黑色的陰影部分,其中q表示事件發(fā)生點(diǎn),且q∈R(si,Si),離si距離為d。而點(diǎn)q也同時(shí)被節(jié)點(diǎn)sj覆蓋。為此,用Aj(q)表示此類事件。
圖2 覆蓋交叉重疊示意圖
(2)
注意到P[Aj(q)]依賴于q和sj的位置和有效協(xié)調(diào)圓R[si,min(Cj,Si+Sj)]。
P[Aj(q)]僅反映了只有一個(gè)雙鄰居節(jié)點(diǎn)sj與節(jié)點(diǎn)si發(fā)生了覆蓋重疊的概率。接下來,推導(dǎo)當(dāng)有多個(gè)雙鄰居節(jié)點(diǎn)發(fā)生覆蓋重疊的概率Bj,ω(q)。
由于假定節(jié)點(diǎn)均勻隨機(jī)分布,n個(gè)雙鄰居節(jié)點(diǎn)中有r個(gè)節(jié)點(diǎn)是屬于j類型的事件發(fā)生概率ρr,n為:
(3)
式中:nj/n表示節(jié)點(diǎn)為j類型的概率。
類似地,點(diǎn)位置q被r個(gè)j類型節(jié)點(diǎn)中的ω個(gè)節(jié)點(diǎn)覆蓋的概率ρω,r,且ω≤r≤n,可定義為:
(4)
因此,Bj,ω(q)的概率可表述為:
(5)
接下來,令Ck(q)表示在第i類傳感節(jié)點(diǎn)的區(qū)域范圍內(nèi)點(diǎn)q至少被它的k個(gè)任意類型的鄰居節(jié)點(diǎn)覆蓋。例如,當(dāng)k=2時(shí),事件C2(q)的概率:
P[C2(q)]=1-P(n)-P(1)
(6)
式中:P(n)表示點(diǎn)q沒有被任何鄰居節(jié)點(diǎn)覆蓋的概率,而P(1)表示點(diǎn)q被一個(gè)鄰居節(jié)點(diǎn)覆蓋的概率。
由于傳感節(jié)點(diǎn)間彼此獨(dú)立,可得:
P(n)=P[B1,0(q)]P[B2,0(q)]…P[Bt,0(q)]
(7)
而P(1):
P(1)=P[B1,1(q)]P[B2,0(q)]…P[Bt,0(q)]+
P[B1,0(q)]P[B2,1(q)]…P[Bt,0(q)]+
?
P[B1,0(q)]P[B2,0(q)]…P[Bt,1(q)]
(8)
(9)
(10)
(11)
2.2 傳感節(jié)點(diǎn)的冗余
(12)
2.3 狀態(tài)切換
k-CRSS算法將時(shí)間劃分不同的輪,每個(gè)輪由兩階段構(gòu)成:初始階段和感測(cè)階段。在感測(cè)階段,所有的活動(dòng)節(jié)點(diǎn)一直感測(cè)環(huán)境數(shù)據(jù),直到下一輪。
此外,傳感節(jié)點(diǎn)有3種狀態(tài),分別為活動(dòng)Active、等待Wait和休眠Sleep。在活動(dòng)狀態(tài)時(shí),傳感節(jié)點(diǎn)負(fù)責(zé)感測(cè)數(shù)據(jù),并與鄰居進(jìn)行通信。當(dāng)節(jié)點(diǎn)是冗余的,但仍處于通信狀態(tài)時(shí),它就進(jìn)入等待狀態(tài)。而處于休眠狀態(tài)的節(jié)點(diǎn)不感測(cè)環(huán)境,也不進(jìn)行通信,即進(jìn)入保存能量階段。
2.3.1 鄰居表的建立
在每一輪開始,所有節(jié)點(diǎn)均為活動(dòng)狀態(tài)。它們給所有鄰居節(jié)點(diǎn)廣播HELLO消息,其包括ID和類型。若節(jié)點(diǎn)收到HELLO消息,就將該節(jié)點(diǎn)ID和相應(yīng)的類型存入鄰居表中,如表1所示。
表1 鄰居表格式
圖3 活動(dòng)狀態(tài)節(jié)點(diǎn)的工作流程
2.3.2 活動(dòng)狀態(tài)節(jié)點(diǎn)
2.3.3 等待狀態(tài)節(jié)點(diǎn)
當(dāng)進(jìn)入等待狀態(tài)后,該節(jié)點(diǎn)繼續(xù)跟蹤HELLO消息,同時(shí)啟用隨機(jī)退避定時(shí)器。當(dāng)定時(shí)結(jié)束后,節(jié)點(diǎn)就廣播SLEEP消息,其包含自己的ID,通告鄰居節(jié)點(diǎn),它即將進(jìn)入休眠狀態(tài)。定時(shí)時(shí)間與節(jié)點(diǎn)的剩余能量和隨機(jī)數(shù)有關(guān)。傳感節(jié)點(diǎn)si的定時(shí)時(shí)間Timeri:
(13)
式中:Einit、Ei分別為節(jié)點(diǎn)初始能量和剩余能量,而R為節(jié)點(diǎn)產(chǎn)生隨機(jī)數(shù),且R∈(0,1)。而T為定時(shí)時(shí)間的基時(shí)。
等待狀態(tài)節(jié)點(diǎn)的工作流程如圖4所示。
圖4 等待狀態(tài)節(jié)點(diǎn)的工作流程
圖5 休眠狀態(tài)節(jié)點(diǎn)的工作流程
2.3.4 休眠狀態(tài)節(jié)點(diǎn)
當(dāng)節(jié)點(diǎn)是休眠狀態(tài),它就隨機(jī)設(shè)置一個(gè)休眠時(shí)間。當(dāng)休眠時(shí)間結(jié)束,就是廣播一個(gè)HELLO消息,并進(jìn)入活動(dòng)狀態(tài)。休眠狀態(tài)節(jié)點(diǎn)的工作流程如圖5所示。
為了更好地分析k-CRSS算法的性能,利用NS-2.34仿真軟件建立仿真平臺(tái)[13]。N個(gè)傳感節(jié)點(diǎn)分布于體積V的FoI,節(jié)點(diǎn)的初始能量為60 J,覆蓋率ηk=0.99[14]。
3.1 網(wǎng)絡(luò)壽命隨FoI區(qū)域變化
本次實(shí)驗(yàn)分析k-CRSS算法的網(wǎng)絡(luò)壽命。實(shí)驗(yàn)中,考慮k-覆蓋,且k=1,2。依據(jù)k-覆蓋的定義,k-覆蓋是指網(wǎng)絡(luò)內(nèi)每個(gè)位置點(diǎn)同時(shí)由k個(gè)傳感節(jié)點(diǎn)覆蓋。
N=1 800個(gè)節(jié)點(diǎn)隨機(jī)分布于FoI區(qū)域內(nèi),同時(shí),只考慮兩類節(jié)點(diǎn),即t=2。這兩類節(jié)點(diǎn)數(shù)比表示為N1∶N2。此外,V從803m3到1003m3變化。實(shí)驗(yàn)數(shù)據(jù)如圖6所示,其中No-Scheduling表示未引用休眠調(diào)度算法。
圖6 網(wǎng)絡(luò)壽命
從圖6可知,沒有引用k-CRSS算法(No-Scheduling)的網(wǎng)絡(luò)壽命最低。當(dāng)不引入k-CRSS算法時(shí),所有節(jié)點(diǎn)均處于活動(dòng)狀態(tài),它們的能量消耗過快,因此,網(wǎng)絡(luò)壽命最低。而k-CRSS算法通過引用休眠機(jī)制,有效地提高能量利用率,進(jìn)而延長(zhǎng)了網(wǎng)絡(luò)壽命。
此外,從圖6可知,隨著FoI區(qū)域體積的增加,網(wǎng)絡(luò)壽命下降。這主要是因?yàn)?在節(jié)點(diǎn)數(shù)一定的情況下,體積的增加,為了保證覆蓋率,需要更多的節(jié)點(diǎn)保持活動(dòng)節(jié)點(diǎn),這增加了節(jié)點(diǎn)能量的消耗。觀察到N1∶N2對(duì)網(wǎng)絡(luò)壽命的影響:當(dāng)N1∶N2=0∶1時(shí),網(wǎng)絡(luò)壽命最大,依次是N1∶N2=1∶3、N1∶N2=1∶1。這主要是類型2節(jié)點(diǎn)的感測(cè)距離和通信半徑均大于類型1節(jié)點(diǎn)。那么,類型2節(jié)點(diǎn)數(shù)越多,越有利于節(jié)省能量。
3.2 網(wǎng)絡(luò)壽命隨節(jié)點(diǎn)數(shù)的變化
本次實(shí)驗(yàn)分析在固定FoI區(qū)域體積內(nèi)節(jié)點(diǎn)數(shù)的增加對(duì)網(wǎng)絡(luò)壽命的影響。實(shí)驗(yàn)中,k=1,2,V為803m3,N從1 200至20 000變化。實(shí)驗(yàn)數(shù)據(jù)如圖7所示。
從圖7可知,在固定的803區(qū)域內(nèi),節(jié)點(diǎn)數(shù)的增加,提高了網(wǎng)絡(luò)壽命。原因在于:當(dāng)區(qū)域固定,在維持同等覆蓋率時(shí),節(jié)點(diǎn)數(shù)越多,就有越多的節(jié)點(diǎn)處于休眠狀態(tài),這必然有利于網(wǎng)絡(luò)壽命的提高。與未引入k-CRSS算法相比,k-CRSS算法通過輪流切換節(jié)點(diǎn)狀態(tài),節(jié)省能量,進(jìn)而提高了網(wǎng)絡(luò)壽命。
圖7 網(wǎng)絡(luò)壽命
3.3 同類算法的比較
選擇分布式的k-覆蓋算法DCP[15]作為參照,且傳感節(jié)點(diǎn)數(shù)N為5 000。V從803m3至1003m3變化,實(shí)驗(yàn)數(shù)據(jù)如圖8所示。
圖8 活動(dòng)節(jié)點(diǎn)數(shù)
圖8顯示了活動(dòng)節(jié)點(diǎn)數(shù)隨FoI區(qū)域體積的變化情況。從圖8可知,在維持同等覆蓋率的同時(shí),k-CRSS算法的活動(dòng)節(jié)點(diǎn)數(shù)更少,這說明k-CRSS算法通過少的活動(dòng)節(jié)點(diǎn)就能滿足覆蓋要求,這有利于網(wǎng)絡(luò)壽命的增加。
針對(duì)異構(gòu)網(wǎng)絡(luò)的FoI區(qū)域的k-cover問題,提出基于k-cover的冗余節(jié)點(diǎn)休眠算法k-CRSS。k-CRSS算法旨在保證FoI內(nèi)的k-cover同時(shí),最小化活動(dòng)節(jié)點(diǎn)數(shù),即讓冗余節(jié)點(diǎn)休眠,進(jìn)而保存能量,延長(zhǎng)網(wǎng)絡(luò)壽命。k-CRSS算法先引用概率模型,估計(jì)傳感節(jié)點(diǎn)成為冗余節(jié)點(diǎn)的概率。然后,進(jìn)行節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換,進(jìn)而保存節(jié)點(diǎn)能量。實(shí)驗(yàn)數(shù)據(jù)表明,提出的k-CRSS算法有效地延長(zhǎng)網(wǎng)絡(luò)壽命。
[1] Ammari H M,Das S K. A Study ofk-Coverage and Measures of Connectivity in 3-D Wireless Sensor Networks[J]. IEEE Trans Comput 2010,59(2):243-257.
[2] 陳東海,李長(zhǎng)庚. 基于簇頭功能分化的無線傳感器網(wǎng)絡(luò)成簇算法[J]. 傳感技術(shù)學(xué)報(bào),2015,28(2):244-248.
[3] Lu Z,Li W,Pan M. Maximum Lifetime Scheduling for Target Coverage and Data Collection in Wireless Sensor Networks[J]. IEEE Trans Veh Technol,2015,64(2):714-727.
[4] 門順治,孫順遠(yuǎn),徐保國(guó). 基于PSO的非均勻分簇雙簇頭路由算法[J]. 傳感技術(shù)學(xué)報(bào),2014,27(9):1281-1286.
[5] Mahboubi H,Moezzi K,Aghdam A,et al. Distributed Deployment Algorithms for Efficient Coverage in a Network of Mobile Sensors with Nonidentical Sensing Capabilities[J]. IEEE Trans Veh Technol,2014,63(8):3998-4016.
[6] Adulyasas A,Sun Z,Wang N. Connected Coverage Optimization for Sensor Scheduling in Wireless Sensor Networks[J]. IEEE Sensors J,2015,15(7):3877-3892.
[7] Yan F,Vergne A,Martins P,et al. Homology Based Distributed Coverage Hole Detection in Wireless Sensor Networks[J]. IEEE/ACM Trans Netw,2015,23(6):1705-1718.
[8] Ammari H M,Das S K. Jointk-Coverage and Hybrid Forwarding in Duty-Cycled Three-Dimensional Wireless Sensor Networks[C]//Proc IEEE SECON,2012:170-178.
[9] Huang C F,Tseng Y C,Lo L C. The Coverage Problem in Three-Dimensional Wireless Sensor Networks[J]. J Interconnect Netw,2012,8(3):209-227.
[10] Ammari H M,Das S K. Centralized and Clusteredk-Coverage Protocols for Wireless Sensor Networks[J]. IEEE Trans Comput,2012,61(1):118-133.
[11] Gupta H P,Rao S V,Venkatesh T. Analysis of the Redundancy in Coverage of a Heterogeneous Wireless Sensor Network[C]//Proc IEEE ICC,2013:1904-1909.
[12] Wang B. Coverage Problems in Sensor Networks:A Survey[J]. ACM Comput Surveys,2011,43(4):32-53.
[13] The Network Simulator—ns-2.34.[Online]. Available:http://www.isi.edu/nsnam/ns.
[14] Jin Y. EECCR:An Energy-Efficientm-Coverage andn-Connectivity Routing Algorithm under Border Effects in Heterogeneous Sensor Networks[J]. IEEE Trans Veh Technol,2014,58(3):1429-1442.
[15] Ammari H M,Das S K. Jointk-Coverage and Hybrid Forwarding in Duty-Cycled Three-Dimensional Wireless Sensor Networks[C]//Proc IEEE SECON,2012:170-178.
王自力(1978-),男,漢族,河南駐馬店人,碩士,副教授,研究方向?yàn)橛?jì)算機(jī)應(yīng)用及物聯(lián)網(wǎng)技術(shù);
鄭鑫(1977-),女,漢族,河南駐馬店人,碩士,副教授,研究方向?yàn)橛?jì)算機(jī)應(yīng)用及物聯(lián)網(wǎng)技術(shù)。
k-CoverBased-SleepSchedulingAlgorithmforRedundantNodeinHeterogeneousWSNs*
WANGZili1*,ZHENGXin2
(1.Department of Information Engineering,Zhumadian Career Technical College,Zhumadian He’nan 463000,China; 2.Information Engineering Institute,Huanghuai University,Zhumadian He’nan 463000,China)
Some monitoring applications in heterogeneous wireless sensor networks(WSNs)may require the Field of Interest(FoI)bek-covered,k≥1,while redundant sensors must be scheduled to sleep to minimize energy consumption. Therefore,k-cover based sleep Scheduling algorithm(k-CRSS)for redundant node is proposed in this paper.k-CRSS algorithm has used probabilistic approach to determine if a sensor redundant to meet the desired coverage requirement of FoI. We derived an expression to determine the probability of the region covered by a sensor of any type being redundantly covered by the neighbors. We proposed a scheduling protocol to identify all the redundant sensor nodes and schedule them to sleep without creating a coverage hole in the FoI. The proposed protocol is completely distributed,does not use any geographic information,and uses only the information gathered about the neighbors using a few control messages. Simulation results demonstrated that the number of active sensors is reduced due to the scheduling protocol,and hence,the network lifetime is increased.
wireless sensor network;coverage;redundant node;scheduling algorithm;network lifetime
項(xiàng)目來源:河南省高等學(xué)校青年骨干教師計(jì)劃項(xiàng)目(2015GGJS-300)
2017-03-06修改日期:2017-05-31
TP393
:A
:1004-1699(2017)09-1422-05
10.3969/j.issn.1004-1699.2017.09.021
概率方法,先推導(dǎo)點(diǎn)覆蓋冗余概率表達(dá)式,然后再推導(dǎo)傳感節(jié)點(diǎn)覆蓋冗余表達(dá)式,最后采用分布式的休眠調(diào)度算法。