嚴(yán)江榮
(貴州師范大學(xué)國(guó)際教育學(xué)院 貴州 貴陽(yáng) 550025)
無(wú)線傳感器網(wǎng)絡(luò)在許多領(lǐng)域都有著廣泛的應(yīng)用,如環(huán)境監(jiān)測(cè)、智能家居、農(nóng)業(yè)等。節(jié)點(diǎn)作為無(wú)線傳感器網(wǎng)絡(luò)的基本單元,其能源利用效率和數(shù)據(jù)傳輸速度直接影響著整個(gè)網(wǎng)絡(luò)的性能。因此,針對(duì)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的研究具有重要意義[1]。無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)通常由傳感器、微控制器、無(wú)線通信模塊和電源等組成。在工作過(guò)程中,節(jié)點(diǎn)需要不斷進(jìn)行數(shù)據(jù)采集、處理和傳輸,而這些操作都需要消耗能源。由于節(jié)點(diǎn)通常由電池供電,能源消耗過(guò)快會(huì)縮短節(jié)點(diǎn)的使用壽命,甚至導(dǎo)致網(wǎng)絡(luò)失效。此外,數(shù)據(jù)傳輸速度也是衡量節(jié)點(diǎn)性能的重要指標(biāo)。如何平衡能源消耗和數(shù)據(jù)傳輸速度之間的關(guān)系,是無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)面臨的主要問(wèn)題之一[2]。對(duì)此,本文提出一種無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的休眠自動(dòng)調(diào)度智能優(yōu)化方法,旨在提高節(jié)點(diǎn)的能源利用效率和數(shù)據(jù)傳輸速度。
將無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的休眠自動(dòng)調(diào)度過(guò)程劃分為若干個(gè)周期,調(diào)度方法會(huì)在每一個(gè)周期開(kāi)始階段對(duì)對(duì)應(yīng)節(jié)點(diǎn)所處狀態(tài)進(jìn)行決策。如果一個(gè)節(jié)點(diǎn)被安排好了,這個(gè)節(jié)點(diǎn)就會(huì)轉(zhuǎn)變?yōu)榛钴S狀態(tài),其他沒(méi)有被安排的節(jié)點(diǎn)將會(huì)進(jìn)入到休眠狀態(tài)。該機(jī)制使得工作中的傳感器節(jié)點(diǎn)進(jìn)入睡眠模式,延長(zhǎng)了網(wǎng)絡(luò)的生命周期。在此過(guò)程中,關(guān)鍵能量的有效保留是實(shí)現(xiàn)對(duì)其調(diào)度優(yōu)化的重點(diǎn)。根據(jù)上述所需,建立無(wú)線傳感器網(wǎng)絡(luò)休眠調(diào)度機(jī)制,在該機(jī)制中引入Ditian算法。該算法的基本思路為:在無(wú)線傳感器網(wǎng)絡(luò)中,任意一個(gè)節(jié)點(diǎn)被其相鄰節(jié)點(diǎn)所覆蓋的范圍取值在[0,2π]以?xún)?nèi),則將該點(diǎn)定義為冗余覆蓋節(jié)點(diǎn),需要將該節(jié)點(diǎn)的無(wú)線通信關(guān)閉,并將其從活躍狀態(tài)轉(zhuǎn)變?yōu)樾菝郀顟B(tài)。在網(wǎng)絡(luò)當(dāng)中,設(shè)置任意個(gè)傳感器節(jié)點(diǎn)為w,則其鄰域節(jié)點(diǎn)的集合可表示為:
式(1)中,N(w) 表示傳感器節(jié)點(diǎn)w的鄰域節(jié)點(diǎn)集合;d(u,w) 表示從u到w的歐氏距離(Euclidean distance);Rs表示無(wú)線傳感器網(wǎng)絡(luò)的感知半徑。若任意傳感器節(jié)點(diǎn)w的所有鄰域節(jié)點(diǎn)對(duì)w的覆蓋范圍均能夠滿足在[0,2π]范圍內(nèi),則該節(jié)點(diǎn)稱(chēng)之為冗余覆蓋節(jié)點(diǎn)[3]。通過(guò)上述機(jī)制的建立可以有效減少在無(wú)線傳感器網(wǎng)絡(luò)當(dāng)中的冗余覆蓋節(jié)點(diǎn),進(jìn)而達(dá)到降低節(jié)點(diǎn)能量消耗的目的。
在應(yīng)用上述設(shè)計(jì)的無(wú)線傳感器網(wǎng)絡(luò)休眠調(diào)度機(jī)制進(jìn)行調(diào)度時(shí),得到的冗余節(jié)點(diǎn)集合相對(duì)較小,并且Ditian 算法在運(yùn)算的過(guò)程中沒(méi)有考慮到節(jié)點(diǎn)的相互通信問(wèn)題,因此針對(duì)這一問(wèn)題,可在機(jī)制運(yùn)行的基礎(chǔ)上,結(jié)合無(wú)線傳感器網(wǎng)絡(luò)特點(diǎn)和節(jié)點(diǎn)能量特點(diǎn),進(jìn)行后續(xù)的智能優(yōu)化調(diào)度。引入分簇拓?fù)淅碚摚瑯?gòu)建無(wú)線傳感器網(wǎng)絡(luò)模型和節(jié)點(diǎn)能量模型[4]。分簇拓?fù)涫且环N常見(jiàn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),它將網(wǎng)絡(luò)劃分為多個(gè)簇,每個(gè)簇由一個(gè)簇頭和多個(gè)簇成員組成。簇頭負(fù)責(zé)與匯聚節(jié)點(diǎn)(通常是基站或路由器)進(jìn)行通信,而簇成員負(fù)責(zé)收集和處理傳感器數(shù)據(jù)。在確定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)時(shí),需要考慮節(jié)點(diǎn)分布、通信范圍、能量消耗等因素。在分簇拓?fù)渲校?jié)點(diǎn)可以分為簇頭節(jié)點(diǎn)和簇成員節(jié)點(diǎn)[5]。簇頭節(jié)點(diǎn)負(fù)責(zé)與匯聚節(jié)點(diǎn)進(jìn)行通信,并將簇成員節(jié)點(diǎn)的數(shù)據(jù)傳輸?shù)絽R聚節(jié)點(diǎn)。簇成員節(jié)點(diǎn)負(fù)責(zé)收集和處理傳感器數(shù)據(jù),并將其傳輸給簇頭節(jié)點(diǎn)。假設(shè)存在一個(gè)邊長(zhǎng)為L(zhǎng)的二維正方形區(qū)域,將該區(qū)域定義為Ω,在Ω當(dāng)中部署了N個(gè)傳感器節(jié)點(diǎn),則傳感器節(jié)點(diǎn)的集合可表示為:
式(2)~式(3)中,Node表示傳感器節(jié)點(diǎn)集合。針對(duì)網(wǎng)絡(luò)模型中的節(jié)點(diǎn)可用布爾覆蓋模型結(jié)構(gòu)構(gòu)建,上述將節(jié)點(diǎn)感知的半徑設(shè)置為Rs,則可以進(jìn)一步確定感知面積:以節(jié)點(diǎn)為中心,以Rs為半徑形成的圓,其面積為。上述論述內(nèi)容為該網(wǎng)絡(luò)模型的一般設(shè)置。在此基礎(chǔ)上,除匯聚節(jié)點(diǎn)外,將所有節(jié)點(diǎn)的感知半徑均設(shè)置為Rs, 初始能量均為E0,節(jié)點(diǎn)通信半徑均為感知半徑的2 倍。定義在網(wǎng)絡(luò)模型當(dāng)中,每一個(gè)節(jié)點(diǎn)都有唯一一個(gè)識(shí)別ID。
對(duì)于無(wú)線傳感器網(wǎng)絡(luò),節(jié)點(diǎn)的能耗模型如圖1 所示。

圖1 無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)無(wú)線通信能量消耗模型圖
在上述模型結(jié)構(gòu)中,按照節(jié)點(diǎn)發(fā)送和接收之間的距離,劃分自由空間和多鏈路衰減兩個(gè)能量消耗模型。當(dāng)節(jié)點(diǎn)發(fā)送與接收之間的距離d小于設(shè)定的臨界值d0時(shí),此時(shí)節(jié)點(diǎn)發(fā)送可以選擇自由空間方式(方式A);當(dāng)節(jié)點(diǎn)發(fā)送與接收之間的距離大于臨界值d0時(shí),此時(shí)節(jié)點(diǎn)發(fā)送可以選擇多鏈路衰減方式(方式B)。對(duì)于臨界值d0的求解可結(jié)合下述公式得出:
式(4)中,εfs表示選擇方式A 需要消耗的能量;εfs表示選擇方式B 需要消耗的能量。假設(shè)節(jié)點(diǎn)發(fā)送與接收之間的距離為d,節(jié)點(diǎn)發(fā)送數(shù)據(jù)量為k位數(shù)據(jù)包,則節(jié)點(diǎn)能量的消耗通常包含兩個(gè)部分,分別為發(fā)送電路損耗部分和放大功率損耗部分,其表達(dá)式為:
式(5)中,ETx(k,d) 表示節(jié)點(diǎn)能量的消耗;ETx-e(k) 表示發(fā)送電路部分能量損耗;ETx-a表示放大功率部分能量損耗;Ee表示1 bit 數(shù)據(jù)在發(fā)送或接收過(guò)程中所消耗的能量。在計(jì)算過(guò)程中,若d小于設(shè)定的臨界值d0, 則按照公式(5)上半部分進(jìn)行計(jì)算;若d大于或等于設(shè)定的臨界值d0,則按照公式(5)下半部分進(jìn)行計(jì)算。
結(jié)合上述構(gòu)建的網(wǎng)絡(luò)模型與能量面模型,對(duì)休眠自動(dòng)調(diào)度算法進(jìn)行計(jì)算,并結(jié)合該調(diào)度算法實(shí)現(xiàn)對(duì)節(jié)點(diǎn)休眠自動(dòng)調(diào)度的智能優(yōu)化。無(wú)線傳感器網(wǎng)絡(luò)按照輪數(shù)實(shí)現(xiàn)運(yùn)行,在運(yùn)行時(shí)刻分為建立節(jié)點(diǎn)階段和節(jié)點(diǎn)穩(wěn)定運(yùn)行階段。在第一個(gè)階段,將整個(gè)WSN 劃分為若干個(gè)簇,每個(gè)節(jié)點(diǎn)都以一定的概率當(dāng)選為簇首,并向其他節(jié)點(diǎn)發(fā)出邀請(qǐng),由相鄰節(jié)點(diǎn)根據(jù)信號(hào)強(qiáng)度確定最近的節(jié)點(diǎn)加入簇結(jié)構(gòu)中,并將TMDA 時(shí)間切片中的數(shù)據(jù)分配到簇首。在此基礎(chǔ)上,簇內(nèi)的節(jié)點(diǎn)進(jìn)入第二個(gè)階段,而簇首等正常節(jié)點(diǎn)則穩(wěn)定地工作。在此基礎(chǔ)上,提出了一種基于聚類(lèi)分析的方法。在此過(guò)程中,網(wǎng)絡(luò)處于睡眠狀態(tài),不需要耗費(fèi)任何能源。在這一過(guò)程中,對(duì)于簇首的選擇按照下述內(nèi)容進(jìn)行。
首先,節(jié)點(diǎn)會(huì)隨機(jī)產(chǎn)生一個(gè)0,1 的隨機(jī)值,如果預(yù)設(shè)的數(shù)值比這個(gè)隨機(jī)值大,那么這個(gè)節(jié)點(diǎn)就會(huì)被選中,成為這個(gè)簇首的節(jié)點(diǎn),并向附近的其他節(jié)點(diǎn)進(jìn)行廣播。這一過(guò)程可以用下述公式表示:
式(6)中,T(n) 表示簇首節(jié)點(diǎn);p表示簇首節(jié)點(diǎn)占整個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的比例;n表示輪數(shù);G表示簇首失敗節(jié)點(diǎn)集合。在確定簇首后,形成簇結(jié)構(gòu),對(duì)結(jié)構(gòu)當(dāng)中每一個(gè)節(jié)點(diǎn)是否為覆蓋冗余節(jié)點(diǎn)進(jìn)行判定,并遵循上述構(gòu)建的無(wú)線傳感器網(wǎng)絡(luò)休眠調(diào)度機(jī)制,實(shí)現(xiàn)對(duì)節(jié)點(diǎn)的休眠自動(dòng)調(diào)度。
為驗(yàn)證本文提出的休眠自動(dòng)調(diào)度智能優(yōu)化方法的有效性,進(jìn)行了一系列實(shí)驗(yàn)。實(shí)驗(yàn)中,應(yīng)用本文方法對(duì)無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行調(diào)度,并將優(yōu)化前后的調(diào)度結(jié)果進(jìn)行對(duì)比。
將Matlab 作為實(shí)驗(yàn)仿真平臺(tái),在該平臺(tái)中引入一個(gè)無(wú)線傳感器網(wǎng)絡(luò),該網(wǎng)絡(luò)中每一個(gè)節(jié)點(diǎn)在100 m×100 m 的目標(biāo)區(qū)域內(nèi)為隨機(jī)分布。將傳感器通信半徑設(shè)置為感知半徑的2 倍。針對(duì)實(shí)驗(yàn)過(guò)程中其他條件,按照表1 中內(nèi)容進(jìn)行設(shè)置。

表1 實(shí)驗(yàn)參數(shù)設(shè)置
對(duì)優(yōu)化前后節(jié)點(diǎn)休眠調(diào)度的能量消耗情況進(jìn)行比較,可通過(guò)記錄無(wú)線傳感器網(wǎng)絡(luò)中死亡節(jié)點(diǎn)的數(shù)量實(shí)現(xiàn)對(duì)能量消耗的衡量,死亡節(jié)點(diǎn)數(shù)越少,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能量消耗越少,越能確保網(wǎng)絡(luò)的連通;死亡節(jié)點(diǎn)數(shù)越多,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能量消耗越多,越無(wú)法保證網(wǎng)絡(luò)的連通。基于此,將優(yōu)化前后調(diào)度中死亡節(jié)點(diǎn)數(shù)量隨實(shí)驗(yàn)時(shí)間的變化曲線繪制成圖2。

圖2 優(yōu)化前后休眠調(diào)度中死亡節(jié)點(diǎn)數(shù)量隨時(shí)間變化曲線
從圖2 中兩條曲線可以看出,隨著時(shí)間的增加,死亡節(jié)點(diǎn)數(shù)量也逐漸增加,但應(yīng)用優(yōu)化前的調(diào)度方法無(wú)線傳感器網(wǎng)絡(luò)中死亡節(jié)點(diǎn)數(shù)量隨時(shí)間變化的曲線更陡,數(shù)量增加速度更快,而應(yīng)用優(yōu)化后的調(diào)度方法死亡節(jié)點(diǎn)數(shù)量變化曲線明顯更加平緩,說(shuō)明優(yōu)化后死亡節(jié)點(diǎn)數(shù)量得到有效控制,傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能量消耗得到有效降低。
在此基礎(chǔ)上,再對(duì)優(yōu)化前后調(diào)度方法應(yīng)用下無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)傳輸速度進(jìn)行對(duì)比。在上述設(shè)計(jì)的實(shí)驗(yàn)環(huán)境中,隨機(jī)選取5 個(gè)節(jié)點(diǎn)作為研究對(duì)象,其編號(hào)分別為CGQ-I、CGQ-II、CGQ-III、CGQ-IV 和CGQ-V。記錄在相同的傳輸時(shí)間內(nèi)每個(gè)節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)量,數(shù)據(jù)量越大,說(shuō)明數(shù)據(jù)傳輸速度越快;反之,數(shù)據(jù)量越小,說(shuō)明數(shù)據(jù)傳輸速度越慢。根據(jù)上述論述,將5 個(gè)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在應(yīng)用優(yōu)化方法前后規(guī)定時(shí)間內(nèi)的傳輸數(shù)據(jù)量記錄如表2 所示。

表2 優(yōu)化前后節(jié)點(diǎn)在規(guī)定時(shí)間內(nèi)的傳輸數(shù)據(jù)量對(duì)比
從表2 中記錄的數(shù)據(jù)可以直觀看出,優(yōu)化前每個(gè)節(jié)點(diǎn)的傳輸數(shù)據(jù)量在100 Mbits ~200 Mbits 之間,而優(yōu)化后每個(gè)節(jié)點(diǎn)的傳輸數(shù)據(jù)量均在300 Mbits 以上。根據(jù)上述邏輯可知,優(yōu)化后各個(gè)節(jié)點(diǎn)的數(shù)據(jù)傳輸速度更快。因此,綜合上述得出的結(jié)果可以證明,本文上述提出的優(yōu)化方法在實(shí)際應(yīng)用中,一方面可以降低節(jié)點(diǎn)能量消耗,另一方面可以有效提高節(jié)點(diǎn)的數(shù)據(jù)傳輸速度,具備極高的應(yīng)用可行性,能夠?qū)崿F(xiàn)對(duì)節(jié)點(diǎn)休眠自動(dòng)調(diào)度的智能優(yōu)化。
綜上所述,本文提出一種無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的休眠自動(dòng)調(diào)度智能優(yōu)化方法,通過(guò)自動(dòng)調(diào)整節(jié)點(diǎn)的休眠時(shí)間,實(shí)現(xiàn)了能源的有效利用和數(shù)據(jù)傳輸速度的提升。實(shí)驗(yàn)結(jié)果表明,該方法在能源消耗和數(shù)據(jù)傳輸速度方面均優(yōu)于傳統(tǒng)的輪詢(xún)方法。因此,本文提出的休眠自動(dòng)調(diào)度智能優(yōu)化方法具有重要的應(yīng)用前景,可為無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的性能提升提供有效支持。