李英磊+吳韶波+黃茂源
摘 要:為了有效延長(zhǎng)無(wú)線(xiàn)傳感網(wǎng)的生存時(shí)間,科研人員提出將節(jié)點(diǎn)休眠機(jī)制應(yīng)用于分簇路由的優(yōu)化算法。文中根據(jù)傳感器節(jié)點(diǎn)采集到信息所屬范圍的不同,將節(jié)點(diǎn)分入不同的組內(nèi),按照一定比例休眠組內(nèi)節(jié)點(diǎn),并根據(jù)組內(nèi)節(jié)點(diǎn)的數(shù)量利用k均值算法將本組節(jié)點(diǎn)分入不同的簇中,節(jié)點(diǎn)采集到的信息通過(guò)簇頭采用單跳與多跳相結(jié)合的方式向基站發(fā)送數(shù)據(jù),在保證對(duì)區(qū)域可靠監(jiān)控的基礎(chǔ)上,可有效延長(zhǎng)網(wǎng)絡(luò)的生存周期。結(jié)果表明,在選擇休眠節(jié)點(diǎn)時(shí),根據(jù)節(jié)點(diǎn)在網(wǎng)絡(luò)中所處地位選擇休眠節(jié)點(diǎn),具有使較大比例節(jié)點(diǎn)進(jìn)入休眠狀態(tài)保存能量的優(yōu)點(diǎn)與不影響對(duì)監(jiān)控區(qū)域高覆蓋率的特點(diǎn)。
關(guān)鍵詞:無(wú)線(xiàn)傳感網(wǎng);路由協(xié)議;分簇;能量有效
中圖分類(lèi)號(hào):TP212 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2017)04-00-04
0 引 言
由能源受限的傳感器節(jié)點(diǎn)組成的WSN是部署在監(jiān)控范圍內(nèi)的用于感知和監(jiān)測(cè)環(huán)境參數(shù)的新一代傳感器網(wǎng)絡(luò),通過(guò)無(wú)線(xiàn)通信的方式將數(shù)據(jù)進(jìn)行傳遞處理,從而監(jiān)控某個(gè)區(qū)域內(nèi)的情況[1]。
目前能最大程度降低能耗的有效方法之一是引入節(jié)點(diǎn)休眠機(jī)制[2],本文提出將采集到的信息類(lèi)別與節(jié)點(diǎn)休眠機(jī)制相結(jié)合的優(yōu)化算法,在分簇組網(wǎng)階段,不但考慮節(jié)點(diǎn)之間的距離,還根據(jù)傳感器節(jié)點(diǎn)采集到的信息所屬類(lèi)別的不同將節(jié)點(diǎn)進(jìn)行分組,之后再進(jìn)行分簇算法(Information Type and K_means of WSN Routing Algorithm,IT_kmeans)。分簇算法采用經(jīng)典的k均值算法。在眾多路由協(xié)議設(shè)計(jì)理念中,分簇路由協(xié)議具有獨(dú)特的優(yōu)越性,它在高效便捷傳送數(shù)據(jù)的基礎(chǔ)上,能夠?qū)?shù)據(jù)進(jìn)行一定的數(shù)據(jù)融合處理,在很大程度上降低了網(wǎng)絡(luò)的能量消耗。
將睡眠機(jī)制引入分簇路由算法是一種有效的節(jié)能方式,現(xiàn)階段開(kāi)展了大量的研究工作[3-6]。文獻(xiàn)[3]提出了離簇頭距離越遠(yuǎn)節(jié)點(diǎn)進(jìn)入休眠狀態(tài)概率越高的算法,并將其應(yīng)用于分簇路由算法。文獻(xiàn)[4]對(duì)基于距離的休眠算法進(jìn)行了檢驗(yàn),指出由于節(jié)點(diǎn)間距離和能量消耗的差異,會(huì)導(dǎo)致這些節(jié)點(diǎn)過(guò)早死亡的不足。文獻(xiàn)[5]提出了一種基于節(jié)點(diǎn)剩余能量的多少來(lái)調(diào)整節(jié)點(diǎn)是否進(jìn)入休眠狀態(tài)概率的算法。文獻(xiàn)[6]針對(duì)節(jié)點(diǎn)隨機(jī)休眠算法進(jìn)行了研究。上述4種方法從不同的角度對(duì)休眠機(jī)制進(jìn)行了對(duì)比和驗(yàn)證,其共同的不足在于無(wú)法保證網(wǎng)絡(luò)的覆蓋質(zhì)量。
將路由協(xié)議與節(jié)點(diǎn)休眠機(jī)制相結(jié)合是無(wú)線(xiàn)傳感網(wǎng)研究的重點(diǎn)之一,根據(jù)應(yīng)用的不同,科研人員提出了多種有效的路由機(jī)制[7]。PEGSIS是將每個(gè)sensor node能耗最小化的基于鏈路的路由協(xié)議;APTEEN是將增強(qiáng)后的TDMA調(diào)用加入到處理調(diào)查階段的路由協(xié)議[8];除上述協(xié)議外,LEACH協(xié)議[9]針對(duì)如何解決數(shù)據(jù)融合的問(wèn)題提出了不錯(cuò)的想法,將傳感器節(jié)點(diǎn)分到不同的簇內(nèi),并指定一個(gè)簇首節(jié)點(diǎn),此節(jié)點(diǎn)用于將本簇內(nèi)其他節(jié)點(diǎn)采集到的信息進(jìn)行匯總并傳輸?shù)絊ink節(jié)點(diǎn),從而完成信息傳遞過(guò)程[10]。LEACH路由算法是比較經(jīng)典的路由算法,針對(duì)LEACH算法的改進(jìn)有很多不同的方法,如改進(jìn)簇首的選擇,使能量高的節(jié)點(diǎn)有更高的概率成為簇頭[11],或?qū)Ψ执匦问竭M(jìn)行改進(jìn)[12]。在文獻(xiàn)[13]中作者在分簇、分層方面提出了新的改進(jìn),優(yōu)化路由算法。文獻(xiàn)[14]通過(guò)幾何算法來(lái)優(yōu)化路徑,使得節(jié)點(diǎn)都達(dá)到最優(yōu)路徑。在此基礎(chǔ)上也可結(jié)合簇首選擇,分簇和傳輸三方面對(duì)算法進(jìn)行優(yōu)化[15]。
此外,研究者針對(duì)節(jié)點(diǎn)休眠機(jī)制和k均值算法應(yīng)用于WSN進(jìn)行了大量研究。針對(duì)異步睡眠機(jī)制導(dǎo)致通信延遲增大的問(wèn)題,文獻(xiàn)[16]提出了基于Dual- Radio動(dòng)態(tài)調(diào)節(jié)節(jié)點(diǎn)占空比的算法,通過(guò)調(diào)節(jié)占空比預(yù)測(cè)鏈路通信過(guò)程中可能存在的沖突狀況,有效減少了沖突對(duì)數(shù)據(jù)發(fā)送或接收的干擾。文獻(xiàn)[17]提出了結(jié)合遠(yuǎn)程數(shù)據(jù)采集和移動(dòng)端近距離數(shù)據(jù)采集兩種模式,采用混合監(jiān)聽(tīng)周期的低功耗休眠方法。文獻(xiàn)[18]中將k_means聚類(lèi)算法引入無(wú)線(xiàn)傳感網(wǎng)的異常數(shù)據(jù)檢測(cè)中,提高對(duì)異常數(shù)據(jù)的檢測(cè)率。考慮到WSN的能量均衡問(wèn)題,提出了動(dòng)態(tài)輪換簇頭算法[19]和網(wǎng)絡(luò)動(dòng)態(tài)k值簇頭選擇算法[20],可在一定程度上改進(jìn)通過(guò)簇頭選擇增加WSN生存時(shí)間的問(wèn)題,優(yōu)化了某些節(jié)點(diǎn)因?yàn)閾?dān)任簇頭而過(guò)早死亡的問(wèn)題。在此基礎(chǔ)上,又提出了網(wǎng)絡(luò)分簇與節(jié)點(diǎn)休眠機(jī)制相結(jié)合的優(yōu)化算法[21],從而有效提升了網(wǎng)絡(luò)的生存性,但對(duì)休眠節(jié)點(diǎn)的選擇與不同節(jié)點(diǎn)之間交替休眠以保證能量均衡未提出較好的解決方案。
1 問(wèn)題描述
現(xiàn)階段針對(duì)節(jié)點(diǎn)休眠的算法主要有兩類(lèi)。一是根據(jù)節(jié)點(diǎn)所處位置的不同,隨機(jī)選擇一定比例的節(jié)點(diǎn)休眠;二是在節(jié)點(diǎn)分簇模型中,根據(jù)傳感器節(jié)點(diǎn)距離簇頭的遠(yuǎn)近選擇不同比例的節(jié)點(diǎn)休眠。其他休眠算法大多以這兩種思想為基礎(chǔ)進(jìn)行優(yōu)化。此兩種休眠算法在保證區(qū)域覆蓋率的基礎(chǔ)上使部分節(jié)點(diǎn)進(jìn)行休眠。但在監(jiān)控區(qū)域內(nèi),不同分區(qū)面積差別較大會(huì)導(dǎo)致某些有價(jià)值的信息區(qū)域內(nèi)的節(jié)點(diǎn)進(jìn)行較大比例休眠,甚至某些分區(qū)內(nèi)全部節(jié)點(diǎn)進(jìn)入休眠狀態(tài),從而使監(jiān)控區(qū)域中有價(jià)值的部分信息丟失。針對(duì)這種問(wèn)題,本文提出在節(jié)點(diǎn)分簇階段,先將傳感器節(jié)點(diǎn)根據(jù)信息類(lèi)別進(jìn)行分組,之后按照組內(nèi)節(jié)點(diǎn)的數(shù)量劃分不同的類(lèi)型:
(1)當(dāng)組內(nèi)節(jié)點(diǎn)數(shù)目大于閾值L時(shí),此組內(nèi)節(jié)點(diǎn)按照比例N休眠,之后對(duì)活躍節(jié)點(diǎn)根據(jù)k均值算法進(jìn)行分簇路由;
(2)若組內(nèi)節(jié)點(diǎn)數(shù)目小于閾值L,則此組被當(dāng)作一個(gè)簇處理,不再對(duì)本組內(nèi)節(jié)點(diǎn)進(jìn)行休眠,使得在區(qū)域分類(lèi)的小分區(qū)內(nèi),保證節(jié)點(diǎn)數(shù)目足夠多,使信息的采集更為全面準(zhǔn)確。閾值L的選擇根據(jù)實(shí)際情況可動(dòng)態(tài)設(shè)定與修改。分組節(jié)點(diǎn)休眠模型示意圖如圖1所示。
考慮某矩形區(qū)域內(nèi)隨機(jī)分布著一定數(shù)目的傳感器節(jié)點(diǎn),故取節(jié)點(diǎn)休眠比例N=40%,閾值L=6。為進(jìn)行對(duì)比說(shuō)明,在分簇路由階段首先將節(jié)點(diǎn)根據(jù)所屬信息類(lèi)別的不同劃入不同組中(圖中標(biāo)出了所有分組中的區(qū)域1,2和3),在區(qū)域1和2中節(jié)點(diǎn)數(shù)目為10,大于閾值L,因此對(duì)這兩個(gè)簇內(nèi)的節(jié)點(diǎn)按比例M休眠;而在區(qū)域3內(nèi),由于節(jié)點(diǎn)數(shù)目為5,小于閾值L=6,因此該組內(nèi)節(jié)點(diǎn)不休眠,全部處于活躍狀態(tài)。根據(jù)算法的規(guī)定,區(qū)域1和2中節(jié)點(diǎn)數(shù)目較多,會(huì)在完成部分節(jié)點(diǎn)休眠操作后,按照k均值算法在組內(nèi)進(jìn)行分簇路由;而區(qū)域3內(nèi)的節(jié)點(diǎn)不再進(jìn)行分簇操作,全部節(jié)點(diǎn)即為一個(gè)簇。具體流程如下:
(1)首次分簇組網(wǎng)前,由Sink節(jié)點(diǎn)(匯聚節(jié)點(diǎn))向所有傳感器節(jié)點(diǎn)以廣播形式發(fā)送消息,告知網(wǎng)絡(luò)內(nèi)的所有傳感器節(jié)點(diǎn)下次重新分組的輪數(shù)rd,每個(gè)組激活的傳感器節(jié)點(diǎn)占此簇所有節(jié)點(diǎn)的比例N,以及數(shù)據(jù)分類(lèi)閾值L。
(2)傳感器節(jié)點(diǎn)在首次分簇組網(wǎng)時(shí),將自身采集到的信息類(lèi)型以廣播形式發(fā)送給周?chē)膫鞲衅鞴?jié)點(diǎn),距離為投放的傳感器節(jié)點(diǎn)間兩個(gè)最近節(jié)點(diǎn)之間的理論最大距離。當(dāng)其他傳感器節(jié)點(diǎn)接收到此節(jié)點(diǎn)發(fā)送的信息后,將自己采集的信息與接收到的信息進(jìn)行比較,若兩者屬于相同的數(shù)據(jù)范圍,則兩者建立連接,加入同一組。以此類(lèi)推,所有傳感器節(jié)點(diǎn)就和與自己周?chē)h(huán)境相似的節(jié)點(diǎn)加入了同一個(gè)組。
(3)針對(duì)每個(gè)組,若節(jié)點(diǎn)數(shù)目大于閾值L,按照Sink節(jié)點(diǎn)之前發(fā)送的休眠比例N,隨機(jī)選擇本組內(nèi)m個(gè)傳感器節(jié)點(diǎn)進(jìn)入休眠狀態(tài),其他節(jié)點(diǎn)保持活躍。其中:
m=W×L
式中,W為本組內(nèi)的全部傳感器節(jié)點(diǎn)的數(shù)目,L為由Sink節(jié)點(diǎn)指定的組內(nèi)處于休眠狀態(tài)的sensor節(jié)點(diǎn)比例。
(4)對(duì)所有處于活躍狀態(tài)的傳感器節(jié)點(diǎn),根據(jù)預(yù)先約定好的組內(nèi)節(jié)點(diǎn)數(shù)目與分簇?cái)?shù)目的關(guān)系,利用k-means算法將本組內(nèi)的節(jié)點(diǎn)分成k個(gè)簇。按多跳與單跳相結(jié)合的路由方式,將采集到的信息傳送至Sink節(jié)點(diǎn),Sink節(jié)點(diǎn)再將信息傳送回?cái)?shù)據(jù)處理中心,由數(shù)據(jù)處理中心對(duì)接收到的信息進(jìn)行存儲(chǔ)、分析。
(5)經(jīng)過(guò)rd輪后,所有處于睡眠狀態(tài)的傳感器節(jié)點(diǎn)蘇醒,再按照以上步驟重新組網(wǎng)分簇。
2 分簇模型
2.1 分簇策略
分簇分為兩個(gè)時(shí)間段,即簇結(jié)構(gòu)建立和采集數(shù)據(jù)的傳輸階段。為了降低分簇階段能源的消耗,數(shù)據(jù)傳輸階段的保持時(shí)間應(yīng)大于簇結(jié)構(gòu)建立所消耗的時(shí)間。在首次組網(wǎng)之前,由Sink節(jié)點(diǎn)向所有傳感器節(jié)點(diǎn)發(fā)出信息分類(lèi)模型。比如要采集某區(qū)域內(nèi)的霧霾濃度,將污染物濃度0~50定義為優(yōu),用數(shù)字1表示;將濃度50~100定義為良,用數(shù)字2表示;將濃度100以上定義為污染,以數(shù)字3表示。分組步驟完成后,節(jié)點(diǎn)數(shù)目大于閾值L的組,通過(guò)預(yù)先定義好的休眠比例使一部分傳感器節(jié)點(diǎn)進(jìn)入休眠狀態(tài),再根據(jù)k_means算法將本組內(nèi)激活狀態(tài)的節(jié)點(diǎn)進(jìn)行分簇。如何選擇k值是一個(gè)難點(diǎn),本文通過(guò)綜合考慮傳感器性能與信息采集精確度,提出了一種通過(guò)規(guī)定簇內(nèi)節(jié)點(diǎn)最少節(jié)點(diǎn)數(shù)目的方式來(lái)求出k值,進(jìn)行簇結(jié)構(gòu)的構(gòu)建。其過(guò)程如下:
(1)選擇一個(gè)組,將組中激活節(jié)點(diǎn)的個(gè)數(shù)N與預(yù)先定義的簇節(jié)點(diǎn)最小值C對(duì)比,如果N≤C,則本組所有激活節(jié)點(diǎn)即為一簇,不再進(jìn)行分簇操作;如果N>C,求出N/C并向上取整,即為本組分簇?cái)?shù)量k。
(2)k即為k_means算法中要分成的簇個(gè)數(shù),通過(guò)k均值算法對(duì)本組內(nèi)所有激活狀態(tài)的節(jié)點(diǎn)進(jìn)行分簇操作。
(3)重復(fù)以上步驟,每個(gè)組中所有活躍節(jié)點(diǎn)都成功分配進(jìn)簇內(nèi),完成本次分簇過(guò)程,進(jìn)入信息采集和傳輸階段。
(4)進(jìn)過(guò)rd輪后,所有睡眠狀態(tài)的節(jié)點(diǎn)蘇醒,整個(gè)網(wǎng)絡(luò)按照(1)~(4)重新分簇組網(wǎng),進(jìn)入下一分組階段。
以上過(guò)程中,節(jié)點(diǎn)通過(guò)采集到的信息類(lèi)型的不同進(jìn)行分組,如果某些節(jié)點(diǎn)由于信號(hào)干擾或通信錯(cuò)誤等問(wèn)題未能加入到任何組內(nèi),則此節(jié)點(diǎn)隨機(jī)選擇一個(gè)附近的組加入。在實(shí)際應(yīng)用中還可以考慮加入針對(duì)每個(gè)簇最多和最少數(shù)目節(jié)點(diǎn)的動(dòng)態(tài)調(diào)節(jié),從而使簇規(guī)模在可控的范圍內(nèi)能耗更加均衡。完成分簇操作后,簇頭為簇內(nèi)傳感器節(jié)點(diǎn)調(diào)配信息傳輸時(shí)間表,在信息傳輸時(shí),簇內(nèi)節(jié)點(diǎn)根據(jù)時(shí)間表向簇頭發(fā)送信息,簇頭將收到的信息進(jìn)行整理后發(fā)送給Sink節(jié)點(diǎn)。運(yùn)行rd輪次后,網(wǎng)絡(luò)重新進(jìn)入簇結(jié)構(gòu)建設(shè)階段,從而進(jìn)入下一次組網(wǎng)的循環(huán)中。
2.2 簇內(nèi)節(jié)點(diǎn)的能量均衡
為了分析節(jié)點(diǎn)采用多跳模式與簇頭通信的能量消耗,首先將簇內(nèi)節(jié)點(diǎn)單跳通信方式的能量消耗,然后推廣到n跳。規(guī)定距離簇頭小于R 區(qū)域內(nèi)的傳感器節(jié)點(diǎn)采用單跳方式,稱(chēng)該區(qū)域?yàn)閱翁鴧^(qū)域,此環(huán)內(nèi)的節(jié)點(diǎn)為單跳節(jié)點(diǎn),而單跳區(qū)域外的節(jié)點(diǎn)采用多跳方式傳輸信息。因傳感器節(jié)點(diǎn)在監(jiān)控區(qū)域內(nèi)服從均勻分布,單跳區(qū)域中轉(zhuǎn)發(fā)數(shù)據(jù)包的平均個(gè)數(shù)為:
在一個(gè)數(shù)據(jù)采集周期(輪)內(nèi),能得到臨界節(jié)點(diǎn)多跳時(shí)的能量消耗為:
如果 R = a,則mπR2=A2,此時(shí)簇內(nèi)節(jié)點(diǎn)與簇頭直接通信,即為一個(gè)單跳簇,消除上式中的R,得到單跳通信的能量消耗為:
可見(jiàn),單跳方式是多跳方式的一種簡(jiǎn)化。
現(xiàn)在分析簇區(qū)域中多跳時(shí)的能量消耗,采用多跳通信時(shí),簇內(nèi)n跳節(jié)點(diǎn)在一輪的采集周期內(nèi)平均轉(zhuǎn)發(fā)的數(shù)據(jù)包數(shù)為:
上式第 n 跳中臨界節(jié)點(diǎn)在一輪的數(shù)據(jù)采集周期內(nèi)的轉(zhuǎn)發(fā)數(shù)據(jù)包的平均能量消耗為:
因此,多跳通信時(shí)簇中單個(gè)節(jié)點(diǎn)的平均能量消耗為:
由式(4)可知,當(dāng)利用單跳方式進(jìn)行通信時(shí),節(jié)點(diǎn)的能耗隨nR呈現(xiàn)出單調(diào)遞增的趨勢(shì),而根據(jù)式(6)可知節(jié)點(diǎn)的能耗隨nR的減小單調(diào)遞減。
3 能量模型
假設(shè)數(shù)據(jù)采集階段,傳感器節(jié)點(diǎn)只將自己采集到的信息類(lèi)型發(fā)送給所在簇的簇頭節(jié)點(diǎn),而不與其他簇中節(jié)點(diǎn)進(jìn)行任何通信。簇頭對(duì)本簇的傳感器節(jié)點(diǎn)進(jìn)行管理,將接收到的數(shù)據(jù)進(jìn)行有效數(shù)據(jù)融合,融合后的信息由簇頭節(jié)點(diǎn)以數(shù)據(jù)包的形式發(fā)送給Sink節(jié)點(diǎn)。為計(jì)算方便,作出能耗的假設(shè)模型: e1為節(jié)點(diǎn)接收或者發(fā)送一個(gè)數(shù)據(jù)包需要消耗的能量;udk為RF 功放及信息無(wú)線(xiàn)信道上傳輸所消耗的能量。u為傳感器節(jié)點(diǎn)發(fā)送信息的功放系數(shù),d為信息傳輸?shù)木嚯x,k為傳輸路徑上的能量損失因子,為2~4。
在信息傳輸過(guò)程中,設(shè)簇頭在獨(dú)立的 MAC尋址和處理路由選擇時(shí),不考慮數(shù)據(jù)包之間的碰撞和時(shí)間上空閑監(jiān)聽(tīng)時(shí)消耗的能量。傳感器節(jié)點(diǎn)每發(fā)送一個(gè)數(shù)據(jù)包所消耗的能量為:
其他節(jié)點(diǎn)進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)所需的能量為:
其中:e1=100 mJ,u1=20 nJ/m2,。式(7)表明,當(dāng)兩節(jié)點(diǎn)之間的距離較遠(yuǎn)時(shí),直接傳輸信息所消耗的能量比較大,而采用多跳通信的方式進(jìn)行傳輸,則可在一定程度上節(jié)省能量。
4 仿真與性能分析
4.1 仿真結(jié)果
節(jié)點(diǎn)能源的高效使用是無(wú)線(xiàn)傳感器網(wǎng)絡(luò)能量有限特點(diǎn)的首要設(shè)計(jì)目標(biāo),因而,最大化網(wǎng)絡(luò)生命周期是評(píng)價(jià)一個(gè)算法優(yōu)劣的重要參數(shù)。仿真時(shí)用Matlab生成隨機(jī)放在 100 m×100 m范圍內(nèi)的500個(gè)節(jié)點(diǎn),所有節(jié)點(diǎn)的初始能量為0.5 J,每個(gè)數(shù)據(jù)包長(zhǎng)2 000 bit,節(jié)點(diǎn)能量為零時(shí)死亡。
為驗(yàn)證本文所提IT_kmeans算法的性能,本節(jié)選擇k_means算法進(jìn)行性能對(duì)比。算法的性能通過(guò)兩個(gè)指標(biāo)來(lái)描述,一是網(wǎng)絡(luò)剩余能量,一是剩余的存活節(jié)點(diǎn)數(shù)目。其中,IT_kmeans算法中,設(shè)置參數(shù)為重新分簇的輪次rd=50;每個(gè)簇激活的傳感器節(jié)點(diǎn)占此簇所有節(jié)點(diǎn)的比例N=0.4;分簇類(lèi)別假設(shè)有4個(gè);數(shù)據(jù)包長(zhǎng)度packet_length=4 000;控制包長(zhǎng)度ctr_Packet_length=100;節(jié)點(diǎn)發(fā)送與接受一個(gè)字節(jié)的信息能耗為ETX=ERX=50×0.000 000 001 J。
發(fā)送放大器類(lèi)型為Efs=10×0.000 000 000 001 J;Emp=0.001 3×0.000 000 000 001 J;
數(shù)據(jù)聚集能量為EDA=5×0.000 000 001 J。
圖2展示了k_means算法的分簇結(jié)構(gòu)和IT_kmeans某輪中所有激活節(jié)點(diǎn)的分簇結(jié)構(gòu),圖2(a)所示為k_means算法,圖2(b)所示為IT_kmeans算法。
圖3展示了兩種算法進(jìn)行2 000輪信息采集的剩余能量曲線(xiàn)對(duì)比,圖4展示了以?xún)煞N算法進(jìn)行2 000輪信息采集的剩余存活節(jié)點(diǎn)數(shù)目曲線(xiàn)對(duì)比。通過(guò)對(duì)比可以看出,網(wǎng)絡(luò)剩余能量與存活節(jié)點(diǎn)數(shù)目均有較大優(yōu)化。
4.2 性能分析
此次仿真以激活每個(gè)簇中40%的節(jié)點(diǎn)為條件,根據(jù)以上結(jié)果可知,由于休眠機(jī)制的加入,網(wǎng)絡(luò)剩余能量與存活節(jié)點(diǎn)的數(shù)目都有較大程度的提升。原因是k_means算法中所有節(jié)點(diǎn)都一直處于激活狀態(tài),并且不計(jì)信息冗余的將自身采集到的信息通過(guò)簇頭節(jié)點(diǎn)傳送給Sink節(jié)點(diǎn),而其中存在許多沒(méi)有必要的信息冗余。通過(guò)IT_kmeans算法的改進(jìn),分簇階段不再單純以傳感器節(jié)點(diǎn)位置來(lái)決定其屬于哪個(gè)簇,而是加入了根據(jù)每個(gè)傳感器節(jié)點(diǎn)采集到的信息進(jìn)行分類(lèi),從而可以在休眠一部分節(jié)點(diǎn)的情況下保證對(duì)監(jiān)控區(qū)域信息判斷的準(zhǔn)確性,不影響對(duì)監(jiān)控區(qū)域的覆蓋率,大大增加了系統(tǒng)的持久性。結(jié)果顯示,當(dāng)休眠節(jié)點(diǎn)比例較低時(shí),網(wǎng)絡(luò)剩余總能量與存活節(jié)點(diǎn)數(shù)目都有較大比例的提升。而隨著休眠節(jié)點(diǎn)比例的變化,剩余能量曲線(xiàn)和存活節(jié)點(diǎn)數(shù)目曲線(xiàn)也會(huì)相應(yīng)的進(jìn)行調(diào)整。根據(jù)不同監(jiān)控區(qū)域的要求,可以動(dòng)態(tài)調(diào)整激活的節(jié)點(diǎn)比例,從而使系統(tǒng)更加持久與高效。
5 結(jié) 語(yǔ)
本文提出一種基于采集到的信息所屬類(lèi)別不同對(duì)傳感器節(jié)點(diǎn)進(jìn)行分簇路由的算法,在算法的實(shí)現(xiàn)過(guò)程中,考慮了實(shí)際應(yīng)用中會(huì)出現(xiàn)的可能情況,從而以節(jié)點(diǎn)采集的信息作為主要分簇路由的依據(jù)。在此基礎(chǔ)上,由于處于同一類(lèi)別信息區(qū)域的傳感器節(jié)點(diǎn)已經(jīng)在同一個(gè)簇內(nèi),所以利用了傳感器節(jié)點(diǎn)的休眠機(jī)制,在每一輪的信息傳遞過(guò)程中,使一部分節(jié)點(diǎn)處于休眠狀態(tài),從而在保證信息監(jiān)控精確性的基礎(chǔ)上達(dá)到了延長(zhǎng)網(wǎng)絡(luò)壽命的效果。
參考文獻(xiàn)
[1] Akyildiz, W Su, Y Sankarasubramaniam, et al. Wireless sensor networks: a survey[J].Computer Networks, 2002, 38(4):393-422.
[2] Dousse O, Mannersalo P, Thiran P. Latency of Wireless Sensor Networks with Uncoordinated Power Saving Mechanisms[C].Proc of the 5th ACM International Symposium on Mobile Ad Hoc Network and Compute. Tokyo, japan,2004:109-120.
[3] Deng J,Han Y S, Heinzelman W B,et al. Scheduling Sleeping Nodes in High Density Cluster-Based Sensor Networks[J]. Mobile Networks and Applications,2005, 10(6):825-835.
[4] Duarte-Melo E J, Liu M Y. Analysis of Energy Consumption and Lifetime of Heterogeneous Wireless Sensor Network [C].Proc of the IEEE Global Tele- communication Conference. Taipei , China, 2002:21-25.
[5] Pearlman M R, Deng J, Liang B, et al.Elective Participation in Ad Hoc Networks Based on Energy Consumption [C].Proc of the IEEE Global Tele- communications Conference. Taipei, China, 2002:26-31.
[6] Shi Gaotao, Liao Minghong. Stochastic Sleeping for Energy-Conserving in Large Wireless Sensor Networks[J].Journal of Computer Research and Development, 2006,43(4):579-585.
[7] 王達(dá)山,黃劉生,徐宏力,等.基于矢量的無(wú)線(xiàn)傳感網(wǎng)絡(luò)能量有效配置算法[J].計(jì)算機(jī)研究與發(fā)展,2008,45(4):626-635.
[8] Shaobo Mao,Man Hon Cheung,Wong V.W.S. An optimal energy allocation algorithm for energy harvesting wireless sensor networks[J]. IEEE International Conference on Communications,2012,11(8):265-270.
[9] W. Heinzelman, A. Chandrakasan, H. Balakrishnan. Energy efficient Communication Protocols for Wireless Sensor Networks[C]. in IEEE Proceedings of the Hawaii International Conference System Sciences, Hawaii, USA,2000: 3005-3014.
[10] 陳楠.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)LEACH算法的研究與改進(jìn)[D].北京:北京郵電大學(xué),2008.
[11] 余靜濤,胡同森,鐘明霞.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)路由協(xié)議LEACH的研究與改進(jìn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009,18(2):30-34.
[12] 房曉菲,沈永增,姚俊杰.一種基于LEACH的新型WSN路由算法[J].機(jī)電工程,2008,25(5):100-103.
[13] 呂濤,朱清新,張路橋.一種基于LEACH協(xié)議的改進(jìn)算法[J].電子學(xué)報(bào),2011,39(6):1405-1409.
[14] Ningbo Wang, Hao Zhu.An Energy Efficient Algrithm Based on LEACH Protocol[C].in International Conference on Computer Science and Electronics Engineeing(ICCSEE), Hangzhou, China,2012: 339-342.
[15] Jia Xu, Ning Jin, Xi zhong Lou.Improvement of LEACH protocol for WSN[C].in International Conference on Fuzzy Systems and Knowledge Discovery(FSKD), Sichuan, China,2012:2174-2177.
[16] 楊健,李金寶,郭龍江,等.Dual-Radio 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)睡眠調(diào)度機(jī)制[J].軟件學(xué)報(bào),2011, 22 (S1): 62-72.
[17] 張昱,曹偉,邵世祥.低功耗無(wú)線(xiàn)傳感網(wǎng)節(jié)點(diǎn)的混合監(jiān)聽(tīng)休眠方法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(10):196-199.
[18] 費(fèi)歡,李光輝.基于K-means聚類(lèi)的WSN異常數(shù)據(jù)檢測(cè)算法[J].計(jì)算機(jī)工程,2015,41(7):124-128.
[19] 張亞楠,馬世歡.基于能量均衡的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)分簇路由協(xié)議[J].計(jì)算機(jī)與現(xiàn)代化,2015(7):90-93.
[20] 吳黎兵,杜錦,聶雷,等.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)動(dòng)態(tài)k值簇頭選擇方法[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,43(10):37-41.
[21] 陳龍,劉莉平,趙明,等.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)分簇和節(jié)點(diǎn)休眠綜合性策略研究[J].計(jì)算機(jī)與現(xiàn)代化,2015(4):1-5.