本發(fā)明主要涉及無線傳感器網(wǎng)絡(luò)柵欄覆蓋領(lǐng)域,涉及二次部署的WSN柵欄強(qiáng)化方法。
背景技術(shù):
柵欄覆蓋是無線傳感器網(wǎng)絡(luò)領(lǐng)域主要的覆蓋模型之一,其主要研究當(dāng)監(jiān)測(cè)目標(biāo)試圖穿越無線傳感器網(wǎng)絡(luò)部署區(qū)域時(shí)被檢測(cè)問題。由于構(gòu)建一條柵欄需要耗費(fèi)較大的資源,因此如何提高柵欄的魯棒性是關(guān)鍵問題。無線傳感器網(wǎng)絡(luò)柵欄覆蓋有著廣泛的用途,如在軍事方面,將柵欄部署在陣地前沿可以檢測(cè)敵人的入侵。在環(huán)保方面,將柵欄部署在污染源周圍可檢測(cè)污染物的擴(kuò)散情況。在林業(yè)保護(hù)方面,將柵欄部署在森林火災(zāi)現(xiàn)場(chǎng)可檢測(cè)火災(zāi)蔓延情況等。
目前國內(nèi)外在無線傳感器網(wǎng)絡(luò)柵欄覆蓋的領(lǐng)域已經(jīng)取得了豐厚的成果,文獻(xiàn)《Command control for many-robot systems》關(guān)于機(jī)器人節(jié)點(diǎn)覆蓋,最早提出柵欄覆蓋的概念。Kumar等人提出了k-柵欄覆蓋的概念,并研究區(qū)域被K-柵欄覆蓋所需的條件等問題,同時(shí)在文獻(xiàn)中提出了Optimal Sleep-Wakeup柵欄調(diào)度算法,該算法調(diào)度柵欄形成強(qiáng)K-柵欄,使得柵欄的能量被充分利用,從而達(dá)到柵欄生存時(shí)間的最大化。Anwar Saipulla等人提出了line-based部署方法,該方法形成柵欄的概率比均勻部署等方式更高,并且提出了基于權(quán)重有向圖的最大流算法派遣移動(dòng)節(jié)點(diǎn)修補(bǔ)柵欄間隙,使總移動(dòng)距離最優(yōu)。Habib Mostafaei等人提出了一種分布式的自學(xué)習(xí)算法解決靜態(tài)節(jié)點(diǎn)的K-柵欄覆蓋問題,并將該算法的網(wǎng)絡(luò)生存時(shí)間與文獻(xiàn)《Optimal Sleep-Wakeup Algorithms for Barriers of Wireless Sensors》中的Optimal Sleep-Wakeup算法進(jìn)行對(duì)比。Xu B等人研究了利用入侵者的歷史數(shù)據(jù)作為后續(xù)柵欄強(qiáng)化的先驗(yàn)條件,預(yù)測(cè)下一時(shí)間段柵欄中最易受入侵者攻擊的節(jié)點(diǎn),并將移動(dòng)節(jié)點(diǎn)移動(dòng)到最易受攻擊節(jié)點(diǎn)處的方法,該方法使柵欄不會(huì)被快速破壞。Li et al.等人研究了一種在滿足入侵檢測(cè)率的條件下調(diào)度柵欄,使得柵欄生存時(shí)間最長的方法。Chen J等人提出利用概率感知模型,以入侵速度為限制條件,將傳感器網(wǎng)絡(luò)問題轉(zhuǎn)化為最大流問題,并根據(jù)節(jié)點(diǎn)間距離和剩余能量,提出一種有界柵欄構(gòu)造方法。Keung et al.等人研究了靜態(tài)傳感器節(jié)點(diǎn)在部署區(qū)域內(nèi)形成強(qiáng)K-柵欄需要的節(jié)點(diǎn)數(shù)量。
上述的方法都是對(duì)構(gòu)建的柵欄進(jìn)行研究,然而這些柵欄非常脆弱,隨著節(jié)點(diǎn)能量的消耗,感知半徑會(huì)逐漸減小,柵欄中節(jié)點(diǎn)感知范圍重疊少的部分極易出現(xiàn)間隙。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決現(xiàn)有技術(shù)的上述缺點(diǎn),提出了一種二次部署的柵欄強(qiáng)化方法,該方法通過再次部署較少的移動(dòng)節(jié)點(diǎn)將柵欄中薄弱點(diǎn)進(jìn)行強(qiáng)化,使得柵欄不容易出現(xiàn)間隙,大大加強(qiáng)了柵欄的生存能力。
本發(fā)明所述的二次部署的WSN柵欄強(qiáng)化方法,包括如下步驟:
步驟1,初始柵欄分析;
步驟11,能耗感知模型;
步驟111,傳感器節(jié)點(diǎn)的感知半徑與節(jié)點(diǎn)自身存儲(chǔ)的能量存在關(guān)系,本方法提出的關(guān)系模型如式(1)所示:
式(1)中ek為節(jié)點(diǎn)消耗的能量,c1表示感知常數(shù),rk表示感知半徑變化量;
步驟112,傳感器節(jié)點(diǎn)的總能量為E,如式(2)所示,節(jié)點(diǎn)消耗能量為e時(shí)的感知半徑r如式子(3)所示:
式(2)和(3)中的R為最大感知半徑,e為消耗的能量,E為傳感器節(jié)點(diǎn)的總能量;
步驟12,薄弱點(diǎn)查找;
步驟121,遍歷柵欄中所有的傳感器節(jié)點(diǎn),計(jì)算相鄰節(jié)點(diǎn)的距離d,柵欄中相鄰節(jié)點(diǎn)間距離的集合為D={d1,d2,d3...ds-1}(s為傳感器節(jié)點(diǎn)數(shù)量);
步驟122,隨機(jī)部署的靜態(tài)傳感器節(jié)點(diǎn)間的距離集合D滿足高斯分布,如式(4)所示:
式(4)中s表示距離集合大小,本方法將集合D中元素di∈[μ+σ,2R]對(duì)應(yīng)的相鄰節(jié)點(diǎn)間的中點(diǎn)wn作為薄弱點(diǎn),建立薄弱點(diǎn)集合W={w1,w2,w3...wn}(n為薄弱點(diǎn)的個(gè)數(shù));
步驟2,二次部署;
步驟21,本發(fā)明提出了二次部署的方法,第一次部署靜態(tài)節(jié)點(diǎn),利用靜態(tài)節(jié)點(diǎn)構(gòu)建柵欄,第二次沿著已經(jīng)構(gòu)建的柵欄再次部署移動(dòng)節(jié)點(diǎn),利用移動(dòng)節(jié)點(diǎn)修補(bǔ)或強(qiáng)化柵欄,具體步驟如下:
步驟211,根據(jù)部署區(qū)域的環(huán)境和要求部署靜態(tài)傳感器節(jié)點(diǎn),然后采用柵欄構(gòu)建算法構(gòu)建柵欄,隨著節(jié)點(diǎn)能量的消耗,容易出現(xiàn)間隙,從而導(dǎo)致柵欄的監(jiān)測(cè)功能失效,因此我們進(jìn)行步驟212,部署移動(dòng)節(jié)點(diǎn)用于強(qiáng)化柵欄;
步驟212,采用line-based方法沿著步驟211中已構(gòu)建的柵欄部署可移動(dòng)節(jié)點(diǎn);
步驟3,強(qiáng)化柵欄;
步驟31,可強(qiáng)化的薄弱點(diǎn)數(shù)量;
步驟311,本發(fā)明提出一種基于集合的最大流算法在保證準(zhǔn)確率的條件下提高了算法的效率,已知薄弱點(diǎn)集合為W,可移動(dòng)節(jié)點(diǎn)的集合為M={m1,m2,m3...mn},移動(dòng)節(jié)點(diǎn)的可移動(dòng)距離為md,當(dāng)wi(wi∈W)與mi(mi∈M)的距離小于md,則mi稱為薄弱點(diǎn)的鄰居節(jié)點(diǎn),具體步驟為:
步驟3111,計(jì)算薄弱點(diǎn)的鄰居移動(dòng)節(jié)點(diǎn)的集合,并將公共鄰居節(jié)點(diǎn)區(qū)分開后得到薄弱點(diǎn)新的鄰居節(jié)點(diǎn)子集合n;
步驟3112,以每個(gè)薄弱點(diǎn)的新鄰居節(jié)點(diǎn)子集合n中元素?cái)?shù)量為權(quán)重值,建立有向圖G;
步驟3113,采用最大流算法計(jì)算圖G的最大流,當(dāng)最大流等于薄弱點(diǎn)的數(shù)量,則此時(shí)薄弱點(diǎn)可被全部強(qiáng)化,否則存在不能被強(qiáng)化的薄弱點(diǎn),因?yàn)樗鼪]有可移動(dòng)鄰居節(jié)點(diǎn);
步驟32,強(qiáng)化策略;
步驟321,合并多個(gè)子集合n為全部鄰節(jié)點(diǎn)集合N,集合N中的可移動(dòng)節(jié)點(diǎn)到它的鄰居薄弱點(diǎn)的距離集合為MD={md1,md2,md3,...mdnum|mdi≤md}(num為所有移動(dòng)節(jié)點(diǎn)的個(gè)數(shù)),對(duì)集合MD升序排序得到集合MD',本發(fā)明采用二分查找法搜索mdoptimum,mdmin<mdoptimum<mdmax(mdmin和mdmax為升序得到的最小值和最大值),使得滿足集合ED={MD'|mdi≤mdoptimum}的移動(dòng)節(jié)點(diǎn)恰好能強(qiáng)化所有的薄弱點(diǎn),則此時(shí)移動(dòng)節(jié)點(diǎn)移動(dòng)的距離總和最小,二分法算法具體步驟為:
步驟3211,初始化
步驟3212,更新薄弱點(diǎn)的鄰居子集合n,將距離薄弱點(diǎn)大于mdoptimum的節(jié)點(diǎn)從鄰居集合移除,并更新有向圖G的權(quán)重和拓?fù)洌?/p>
步驟3213,計(jì)算更新后有向圖G的最大流,當(dāng)最大流小于薄弱點(diǎn)數(shù)量,則當(dāng)最大流等于薄弱點(diǎn)數(shù)量,且|L-optimum|<ε,輸出mdoptimum,算法結(jié)束,否則執(zhí)行步驟3214;
步驟3124,跳回步驟3212。
本發(fā)明的優(yōu)點(diǎn)是:
(1)本發(fā)明通過再次部署較少的移動(dòng)節(jié)點(diǎn)將柵欄中薄弱點(diǎn)進(jìn)行強(qiáng)化,使得柵欄不容易出現(xiàn)間隙,大大加強(qiáng)了柵欄的生存能力;
(2)本發(fā)明提出了二次部署的部署方式,能大大提高移動(dòng)節(jié)點(diǎn)的利用率,同時(shí)利用基于集合的最大流算法計(jì)算可強(qiáng)化節(jié)點(diǎn)的數(shù)量,然后利用二分搜索方法在保證最大化強(qiáng)化薄弱點(diǎn)數(shù)量的前提下使得移動(dòng)節(jié)點(diǎn)的移動(dòng)距離總和最小。
附圖說明
圖1本發(fā)明的薄弱點(diǎn)圖
圖2本發(fā)明的二次部署圖
圖3本發(fā)明的權(quán)重有向圖
具體實(shí)施方式
下面結(jié)合附圖進(jìn)一步說明本發(fā)明。
本發(fā)明所述的二次部署的WSN柵欄強(qiáng)化方法,包括如下步驟:步驟1,初始柵欄分析;
在部署區(qū)域中部署一定傳感器節(jié)點(diǎn)后,構(gòu)建成了初始的柵欄,然而柵欄中相鄰節(jié)點(diǎn)的感知范圍重疊部分大小不一,隨著節(jié)點(diǎn)能量的消耗,感知范圍逐漸減少,因此感知范圍重疊部分少的地方極易出現(xiàn)柵欄間隙,監(jiān)測(cè)目標(biāo)就可以通過間隙穿越柵欄而不被監(jiān)測(cè)到。部署WSN柵欄需要耗費(fèi)大量的資源,如果因?yàn)闁艡谥心承┍∪觞c(diǎn)的存在而造成柵欄過早死亡是一種極大的浪費(fèi),因此找出柵欄中的薄弱點(diǎn)然后利用移動(dòng)節(jié)點(diǎn)進(jìn)行強(qiáng)化意義很大。
步驟11,能耗感知模型;
步驟111,傳感器節(jié)點(diǎn)的感知半徑與節(jié)點(diǎn)自身存儲(chǔ)的能量有關(guān)系,當(dāng)節(jié)點(diǎn)能量充足時(shí),感知半徑最大,隨著能量消耗,感知半徑逐漸減小。感知半徑和能耗關(guān)系通常采用文獻(xiàn)《Energy-efficient connected coverage of discrete targets in wireless sensor networks》中的感知能耗模型計(jì)算,根據(jù)該模型,本發(fā)明提出了感知半徑隨能耗變化的關(guān)系模型。
式(1)中ek為節(jié)點(diǎn)消耗的能量,c1表示感知常數(shù),rk表示感知半徑變化量。本發(fā)明采用關(guān)系模型(a)進(jìn)行后續(xù)研究。
步驟112,假設(shè)傳感器節(jié)點(diǎn)的總能量為E,如式(2)所示,當(dāng)節(jié)點(diǎn)感知半徑為0時(shí),節(jié)點(diǎn)的能量剛好消耗完。當(dāng)節(jié)點(diǎn)消耗能量為e時(shí),節(jié)點(diǎn)的感知半徑r如式子(3)所示。
式(2、3)中R為節(jié)點(diǎn)最大感知半徑。假設(shè)節(jié)點(diǎn)的能量主要由節(jié)點(diǎn)感知而消耗,通過節(jié)點(diǎn)能耗感知模型可以對(duì)初始柵欄和強(qiáng)化后的柵欄進(jìn)行穩(wěn)健性分析。
步驟12,薄弱點(diǎn)查找;
步驟121,本發(fā)明中的傳感器節(jié)點(diǎn)已經(jīng)通過定位技術(shù)獲得坐標(biāo)。初始構(gòu)建的柵欄節(jié)點(diǎn)能量充足,感知半徑為R,隨著能量的消耗,感知半徑減小,柵欄中相鄰節(jié)點(diǎn)間距離接近2R的部分極易出現(xiàn)間隙。以節(jié)點(diǎn)間距離d作為薄弱點(diǎn)查找的依據(jù),d越大,該處的柵欄越容易出現(xiàn)間隙,柵欄薄弱點(diǎn)如圖1所示,薄弱點(diǎn)的坐標(biāo)為節(jié)點(diǎn)n1和n2的中點(diǎn)。
遍歷柵欄中所有的傳感器節(jié)點(diǎn),計(jì)算相鄰節(jié)點(diǎn)的距離d,假設(shè)柵欄由s個(gè)傳感器節(jié)點(diǎn)構(gòu)成,柵欄中相鄰節(jié)點(diǎn)間距離的集合為D={d1,d2,d3...ds-1},di越小,柵欄越穩(wěn)固,反之柵欄越脆弱。
步驟122,部署靜態(tài)傳感器節(jié)點(diǎn)是隨機(jī)部署的,假設(shè)集合D中的元素滿足高斯分布,如式(4)所示。
式(4)中
本發(fā)明將集合D中元素di∈[μ+σ,2R]對(duì)應(yīng)的相鄰節(jié)點(diǎn)n1和n2的中點(diǎn)wi作為薄弱點(diǎn),建立薄弱點(diǎn)集合W={w1,w2,w3...wn}。
步驟2,二次部署;
步驟21,目前有很多研究都利用移動(dòng)節(jié)點(diǎn)來修復(fù)柵欄,如文獻(xiàn)《Barrier coverage with line-based deployed mobile sensors》。這些移動(dòng)節(jié)點(diǎn)和靜態(tài)節(jié)點(diǎn)混雜在一起一次性部署在監(jiān)測(cè)區(qū)域中,這種部署方式使得移動(dòng)節(jié)點(diǎn)被利用的概率很低,造成大量移動(dòng)節(jié)點(diǎn)不能被利用,而且移動(dòng)節(jié)點(diǎn)的價(jià)格昂貴,這種部署方式無疑大大增加了部署柵欄的成本。為提高移動(dòng)節(jié)點(diǎn)的利用率,增加?xùn)艡诘姆€(wěn)健性,提出了二次部署的方法,第一次部署靜態(tài)節(jié)點(diǎn),利用靜態(tài)節(jié)點(diǎn)構(gòu)建柵欄,第二次沿著已經(jīng)構(gòu)建的柵欄再次部署移動(dòng)節(jié)點(diǎn),利用移動(dòng)節(jié)點(diǎn)修補(bǔ)或強(qiáng)化柵欄,如圖2所示。
步驟211,根據(jù)部署區(qū)域的環(huán)境和要求,可采用泊松部署、隨機(jī)均勻部署、Line-based等部署方式部署靜態(tài)傳感器節(jié)點(diǎn),然后可采用文獻(xiàn)《基于改進(jìn)蟻群算法的無線傳感器網(wǎng)絡(luò)柵欄覆蓋優(yōu)化研究》等柵欄構(gòu)建算法構(gòu)建柵欄。此時(shí)構(gòu)建的柵欄魯棒性差,柵欄運(yùn)行一段時(shí)間后,隨著節(jié)點(diǎn)能量的消耗,容易出現(xiàn)間隙,從而導(dǎo)致柵欄的監(jiān)測(cè)功能失效,因此我們進(jìn)行步驟二,部署移動(dòng)節(jié)點(diǎn)用于強(qiáng)化柵欄。
步驟212,部署移動(dòng)節(jié)點(diǎn)的方式和文獻(xiàn)《Barrier Coverage of Line-Based Deployed Wireless Sensor Networks》采用的Line-based方法相似,這次是沿著步驟一中已構(gòu)建的柵欄部署可移動(dòng)傳感器節(jié)點(diǎn)。二次部署方法使得移動(dòng)節(jié)點(diǎn)有目標(biāo)性的部署在柵欄旁邊,因此能更充分的用于柵欄的修補(bǔ)和強(qiáng)化工作。
步驟3,強(qiáng)化柵欄;
本部分主要是通過基于集合的最大流算法計(jì)算可強(qiáng)化的薄弱點(diǎn)數(shù)量,然后將可移動(dòng)節(jié)點(diǎn)移動(dòng)到柵欄中的薄弱點(diǎn)強(qiáng)化柵欄。強(qiáng)化后的柵欄和初始柵欄相比更加穩(wěn)健,隨著節(jié)點(diǎn)能量消耗,強(qiáng)化后的柵欄不容易出現(xiàn)間隙。
步驟31,可強(qiáng)化的薄弱點(diǎn)數(shù)量;
步驟311,目前很多研究都采用最大流算法解決可修復(fù)柵欄間隙數(shù)量這個(gè)問題,如文獻(xiàn)《Strengthening barrier-coverage of static sensor network with mobile sensor nodes》。通過該方法能準(zhǔn)確計(jì)算出最大可修復(fù)柵欄間隙的數(shù)量,然而移動(dòng)節(jié)點(diǎn)的數(shù)量多,該算法效率并不高。本發(fā)明強(qiáng)化柵欄薄弱點(diǎn)與柵欄間隙修復(fù)問題相似,因此提出一種基于集合的最大流算法在保證準(zhǔn)確率的條件下提高了算法的效率。
假設(shè)柵欄的薄弱點(diǎn)有wi、wi+1、wi+2...wk,可移動(dòng)節(jié)點(diǎn)的集合為M={m1,m2,m3...mn},移動(dòng)節(jié)點(diǎn)的可移動(dòng)距離為md。當(dāng)wi與mi的距離小于md,則mi稱為薄弱點(diǎn)的鄰居節(jié)點(diǎn)。算法具體步驟如下:
步驟3111,以薄弱點(diǎn)wi、wi+1、wi+2為例,計(jì)算它們的鄰居移動(dòng)節(jié)點(diǎn),分別為集合A、B、C,這些集合中可能包含薄弱點(diǎn)的公共鄰居節(jié)點(diǎn),然后將這些公共鄰居節(jié)點(diǎn)區(qū)分開,以集合A、B為例,如式(5、6、7)所示。
a=A-A∩B (5)
b=A∩B (6)
c=B-A∩B (7)
其中a為wi的鄰居節(jié)點(diǎn)集合、b為wi、wi+1的公共鄰居節(jié)點(diǎn)集合,c為wi+1為wi+1的鄰居節(jié)點(diǎn)集合。
步驟3112,以集合a、b、c的元素?cái)?shù)量Na、Nb、Nc為權(quán)重值,建立有向圖G,如圖3所示,圖中添加開始節(jié)點(diǎn)u和結(jié)束節(jié)點(diǎn)v,與u連接的權(quán)重值為集合元素的數(shù)量,與v連接的權(quán)重值都為1,集合d為wi+2的鄰居節(jié)點(diǎn)集合。
步驟3113,采用最大流算法計(jì)算圖G的最大流,當(dāng)最大流等于薄弱點(diǎn)的數(shù)量,則此時(shí)薄弱點(diǎn)可被全部強(qiáng)化,否則存在不能被強(qiáng)化的薄弱點(diǎn),因?yàn)樗鼪]有可移動(dòng)鄰居節(jié)點(diǎn)。
步驟32,強(qiáng)化策略;
步驟321,本小節(jié)主要研究利用移動(dòng)節(jié)點(diǎn)強(qiáng)化柵欄薄弱點(diǎn)的移動(dòng)距離總和最小。通過3.1小節(jié)得到了所有薄弱點(diǎn)的鄰居節(jié)點(diǎn)集合(a、b、c、d等),合并鄰居節(jié)點(diǎn)集合N=a∪b∪c∪d∪...,假設(shè)集合N中的可移動(dòng)節(jié)點(diǎn)到它的鄰居薄弱點(diǎn)的距離集合為MD={md1,md2,md3,...mdnum|mdi≤md},集合MD中有num個(gè)元素,對(duì)集合MD升序排序得到集合MD',集合MD'的第一個(gè)元素為mdmin,最后一個(gè)元素為mdmax。假設(shè)存在一個(gè)距離mdoptimum,mdmin<mdoptimum<mdmax,使得滿足集合ED={MD'|mdi≤mdoptimum}的移動(dòng)節(jié)點(diǎn)恰好能強(qiáng)化所有的薄弱點(diǎn),則此時(shí)移動(dòng)節(jié)點(diǎn)移動(dòng)的距離總和最小。
本發(fā)明采用二分查找法搜索mdoptimum,ε為一個(gè)閾值,用于算法逼近,算法具體操作如下步驟所示:
步驟3211,初始化L=0,
步驟3212,更新薄弱點(diǎn)的鄰居集合a、b、c、d等,將距離薄弱點(diǎn)大于mdoptimum的節(jié)點(diǎn)從鄰居集合移除,并更新有向圖G的權(quán)重和拓?fù)洹?/p>
步驟3213,計(jì)算更新后有向圖G的最大流,如果最大流小于薄弱點(diǎn)數(shù)量,則L=optimum,最大流不可能大于薄弱點(diǎn)的數(shù)量。如果最大流等于薄弱點(diǎn)數(shù)量,且L-optimum|<ε,輸出mdoptimum,算法結(jié)束,否則執(zhí)行步驟4。
步驟3214,跳回步驟2。