張爭(zhēng)萬(wàn),張春炯,李洪兵,謝 濤
(1.西南大學(xué)培訓(xùn)與繼續(xù)教育學(xué)院,重慶 400715;2.同濟(jì)大學(xué)電子與信息工程學(xué)院,上海 201804;3.重慶三峽學(xué)院電子與信息工程學(xué)院,重慶 404199;4.西南大學(xué)教育學(xué)部,重慶 400715)
(?通信作者電子郵箱chunjiongzhang@#edu.cn)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)由大量微型傳感器節(jié)點(diǎn)形成自組織、動(dòng)態(tài)、多跳的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[1-3],在智能控制、環(huán)境監(jiān)測(cè)、國(guó)防等領(lǐng)域得到了廣泛的應(yīng)用[4]。WSN 的工作環(huán)境易受溫度、振動(dòng)和電磁等外界干擾,導(dǎo)致射頻沖突、時(shí)鐘異步、電池耗盡、信號(hào)丟失和軟件錯(cuò)誤等故障,大大降低了傳感器節(jié)點(diǎn)的可靠性[5],從而對(duì)網(wǎng)絡(luò)自組織能力、自適應(yīng)性和魯棒性帶來(lái)很大的影響[6-8]。特別是,當(dāng)WSN部署在復(fù)雜的監(jiān)測(cè)環(huán)境中時(shí),節(jié)點(diǎn)的能耗過(guò)大導(dǎo)致節(jié)點(diǎn)過(guò)早死亡,嚴(yán)重影響了整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)可靠性傳輸。一直以來(lái),可靠性傳輸是WSN 面臨的重要挑戰(zhàn)。多路徑傳輸技術(shù)能有效提高無(wú)線傳感器網(wǎng)絡(luò)的可靠性與穩(wěn)定性[9],它通過(guò)尋找合理的傳輸路徑,自適應(yīng)處理數(shù)據(jù)傳輸異常,從而提供高可信計(jì)算服務(wù)[10];然而,動(dòng)態(tài)的網(wǎng)絡(luò)數(shù)據(jù)傳輸模型對(duì)數(shù)據(jù)傳輸異常難以及時(shí)處理,對(duì)新出現(xiàn)的可靠傳輸路徑故障缺乏自主解決能力,無(wú)法滿足大規(guī)模、可擴(kuò)展的應(yīng)用需求[11-12],因此,研究具有動(dòng)態(tài)自適應(yīng)特征的多路徑可靠傳輸具有重要的意義。
近年來(lái),許多研究探索了節(jié)點(diǎn)協(xié)同、路由機(jī)制、重傳、丟包冗余和低延遲等重要問(wèn)題。例如,Moradian 等[13]對(duì)布置的隨機(jī)節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)能量捕獲,優(yōu)化了最小化數(shù)據(jù)包的平均端到端延遲。當(dāng)節(jié)點(diǎn)合作最優(yōu)時(shí),場(chǎng)景建模為一個(gè)準(zhǔn)生滅過(guò)程和一個(gè)約束馬爾可夫決策過(guò)程。又如,Yuan 等[14]針對(duì)未來(lái)無(wú)線網(wǎng)絡(luò)的需求和特點(diǎn),探索了傳感節(jié)點(diǎn)和sink 之間信息共享模式。盡管已有研究從編碼等方式對(duì)傳輸鏈路質(zhì)量進(jìn)行了優(yōu)化,提出了用于可靠數(shù)據(jù)傳輸?shù)逆溌饭β士刂茩C(jī)制。然而,大部分研究只是單一地解決了數(shù)據(jù)延遲、網(wǎng)絡(luò)覆蓋等問(wèn)題,未考慮到網(wǎng)絡(luò)的數(shù)據(jù)傳輸路徑是否連通以及全局能量的消耗。為解決因節(jié)點(diǎn)部署不均勻造成的節(jié)點(diǎn)能量消耗大、數(shù)據(jù)的傳輸可靠性低的問(wèn)題,本文試圖利用免疫連通模型的原理,設(shè)計(jì)一種魯棒的多路徑傳輸選擇算法,當(dāng)數(shù)據(jù)傳輸發(fā)生故障時(shí),利用免疫機(jī)制來(lái)選擇路徑的適應(yīng)度函數(shù),從而達(dá)到優(yōu)化傳輸路徑和減少節(jié)點(diǎn)能耗的目的。
生物學(xué)上,免疫機(jī)制是指淋巴細(xì)胞對(duì)有害抗原或外部病原體的消除和識(shí)別,其過(guò)程主要包括免疫應(yīng)答和免疫識(shí)別兩部分。免疫應(yīng)答是第一次接觸未知或已知病原體的過(guò)程;免疫識(shí)別是抗體結(jié)合抗原的過(guò)程。淋巴細(xì)胞對(duì)整個(gè)抗原免疫部位進(jìn)行淋巴細(xì)胞增殖選擇建立多條免疫連通路徑,從而快速通過(guò)免疫多路徑傳遞應(yīng)答信息,達(dá)到抗原消除和識(shí)別的目的。簡(jiǎn)言之,免疫連通模型就是淋巴細(xì)胞通過(guò)多條免疫連通路徑使整個(gè)免疫系統(tǒng)迅速做出應(yīng)答和識(shí)別[15]。
免疫機(jī)制具有記憶學(xué)習(xí)、反饋調(diào)節(jié)、無(wú)中心的分布式自治處理機(jī)制,兼具開(kāi)放性、分布性、動(dòng)態(tài)性和魯棒性等特點(diǎn)。它通過(guò)自我識(shí)別、相互刺激與制約構(gòu)成了一個(gè)動(dòng)態(tài)平衡的網(wǎng)絡(luò)結(jié)構(gòu)。將免疫理論應(yīng)用于現(xiàn)有算法可以保留原算法的優(yōu)良特性,有選擇、有目的地利用待求問(wèn)題中的重要信息抑制其優(yōu)化過(guò)程中出現(xiàn)的退化現(xiàn)象。免疫算法具有生成和檢測(cè)的群智能搜索機(jī)制,使得它在保留上一代最佳個(gè)體的前提下是全局收斂的,智能化地構(gòu)造具有動(dòng)態(tài)性和自適應(yīng)性的信息防御機(jī)制,用來(lái)抵抗外部無(wú)用信息的侵入(退化解,即變異等操作過(guò)后的適應(yīng)度值低于父類的解),從而保證信息的有效性和無(wú)害性(最優(yōu)解)。在實(shí)際問(wèn)題中引入免疫的概念進(jìn)行全局搜索可以有效避免很多重復(fù)的工作。免疫算法的基本思想就是在傳統(tǒng)的算法基礎(chǔ)上加入一個(gè)免疫算子,從而防止種群的退化。免疫算子有變異和免疫選擇兩個(gè)步驟,可以有效地調(diào)節(jié)選擇壓力、保持種群多樣性。
由于免疫算法可以反饋學(xué)習(xí)、自我修復(fù),一些學(xué)者將其引入到WSN 中。無(wú)線傳感器網(wǎng)絡(luò)是一個(gè)典型的分布式、自組織網(wǎng)絡(luò),需要在不斷變化的環(huán)境中保持系統(tǒng)穩(wěn)定性,無(wú)線傳感器網(wǎng)絡(luò)連通故障容錯(cuò)和免疫系統(tǒng)所遇到的問(wèn)題具有相似性,保障了免疫系統(tǒng)在網(wǎng)絡(luò)連通故障容錯(cuò)領(lǐng)域的良好發(fā)展。在網(wǎng)絡(luò)多路徑連通中,免疫算法可以依據(jù)其優(yōu)化與更新變異規(guī)則對(duì)不同連通路徑上的節(jié)點(diǎn)進(jìn)行最優(yōu)分配與利用;并且,基于免疫機(jī)制的路由策略可以有效地控制傳感器的能量消耗。
目前,在無(wú)線傳感器網(wǎng)絡(luò)免疫連通的研究有:運(yùn)用遺傳樣本優(yōu)化和蒙特卡洛評(píng)價(jià)函數(shù)最大化傳輸效率,基于二進(jìn)制和概率模型的集中免疫泰森多路徑優(yōu)化傳輸[16],多目標(biāo)免疫協(xié)同進(jìn)化算法[17],簇間拓?fù)涿庖哐莼P?,泰森盲區(qū)多邊形傳輸控制[18],最大連接傳輸樹(shù)模型及其傳輸優(yōu)化算法[19]??傮w而言,免疫連通模型構(gòu)建如下:
1)抗體。源節(jié)點(diǎn)與目的節(jié)點(diǎn)之間的多條路徑保證網(wǎng)絡(luò)連通性和傳輸可靠性。
2)抗原。監(jiān)測(cè)區(qū)域內(nèi)所有網(wǎng)絡(luò)節(jié)點(diǎn)。
3)抗體抗原親和力評(píng)價(jià)函數(shù)f。傳輸路徑上節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)傳輸可靠性的保證能力。單條路徑質(zhì)量評(píng)價(jià)函數(shù)定義為式(1):
其中:pi為第i條傳輸路徑;qi為該路徑鏈的質(zhì)量。式(1)表示路徑質(zhì)量與路徑鏈的質(zhì)量成正比,與源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑鏈數(shù)量w的平方成反比。相應(yīng)地,M條傳輸路徑的質(zhì)量評(píng)價(jià)函數(shù)為式(2):
4)抗體編碼規(guī)則。檢測(cè)區(qū)域內(nèi)的所有抗原(節(jié)點(diǎn))以二進(jìn)制編碼,二進(jìn)制編碼位數(shù)為節(jié)點(diǎn)數(shù)量的最小值。
5)抗原/體(基因)變異規(guī)則。二進(jìn)制數(shù)0 隨機(jī)變?yōu)?,二進(jìn)制數(shù)1隨機(jī)變?yōu)?,抗原變異后的節(jié)點(diǎn)需在上一跳節(jié)點(diǎn)的射頻覆蓋范圍內(nèi),抗體的變異需在源節(jié)點(diǎn)和目的節(jié)點(diǎn)間保持連通性,沒(méi)有連通的抗體無(wú)效。
6)變異種群設(shè)置。最初隨機(jī)建立w個(gè)有效抗體,保持源節(jié)點(diǎn)和目的節(jié)點(diǎn)間的連通性。抗體的變異按照自適應(yīng)遺傳算法[20]中交叉概率Pc與變異概率Pm進(jìn)行變異生成新的抗體群,Pc和Pm由式(3)和式(4)給出:
其中:fmax為抗體中路徑質(zhì)量的最大值;favg為抗體中路徑質(zhì)量的平均值;fc為耦合交叉抗體的評(píng)價(jià)值;fd為該變異抗體的評(píng)價(jià)值;k1、k2、k3、k4為常數(shù)。
多路徑傳輸?shù)哪康氖翘岣邿o(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)間的連通性。研究表明多路徑傳輸能顯著提升網(wǎng)絡(luò)連通穩(wěn)健性并延長(zhǎng)動(dòng)態(tài)傳感網(wǎng)絡(luò)的生命周期[21]。
假設(shè)在監(jiān)測(cè)區(qū)域內(nèi)有n個(gè)傳感器節(jié)點(diǎn)。令S表示源節(jié)點(diǎn),D為目的節(jié)點(diǎn),Ni(i∈[1,n])是傳輸中繼節(jié)點(diǎn)。從S建立多條傳輸路徑到D,以保證數(shù)據(jù)的可靠性傳輸。每個(gè)中繼節(jié)點(diǎn)Ni可以作為智能體。根據(jù)文獻(xiàn)[22],免疫連通算法通過(guò)免疫選擇算子、免疫克隆算子、免疫系統(tǒng)運(yùn)算符和記憶選擇算子來(lái)促進(jìn)抗體群體和抗原群體,以產(chǎn)生令人滿意的免疫克隆路徑連通條件。多智能體需要傳輸數(shù)據(jù)時(shí)可并行執(zhí)行免疫連通算法實(shí)現(xiàn)多智能體與D的連通。
傳輸穩(wěn)定性和可靠性可以用路徑鏈的質(zhì)量(簡(jiǎn)稱路徑質(zhì)量)來(lái)評(píng)估。當(dāng)路徑質(zhì)量低于某一閾值時(shí),節(jié)點(diǎn)以較大的概率發(fā)生故障。節(jié)點(diǎn)Ni和節(jié)點(diǎn)Nj之間所有可能路徑的質(zhì)量Q定義為兩節(jié)點(diǎn)剩余能量與距離的歸一化權(quán)重和,表示為式(5):
其中:λ為權(quán)重系數(shù),滿足λ1+λ2=1;Ei和Ej分別表示節(jié)點(diǎn)Ni和Nj的剩余能量;為節(jié)點(diǎn)初始能量;Dij表示中繼節(jié)點(diǎn)Ni和Nj的路徑長(zhǎng)度。路徑質(zhì)量反映了兩節(jié)點(diǎn)間的剩余能量和兩點(diǎn)間距離對(duì)路徑質(zhì)量的貢獻(xiàn)度。
為了減輕網(wǎng)絡(luò)傳輸負(fù)擔(dān),利用網(wǎng)絡(luò)編碼技術(shù)重構(gòu)源節(jié)點(diǎn)的數(shù)據(jù)包,把不同的傳輸信息轉(zhuǎn)化成更小的數(shù)據(jù)包,然后在目標(biāo)節(jié)點(diǎn)進(jìn)行還原,不必反復(fù)傳輸或者復(fù)制全部信息。編碼過(guò)的數(shù)據(jù)包可以在中繼節(jié)點(diǎn)間的多條路徑上反復(fù)傳遞,然后再被送往目的節(jié)點(diǎn),而不需要額外路由[23]。假設(shè)傳輸所需的路徑鏈數(shù)為式(6):
其中:Ik表示取整函數(shù);ηk是第k個(gè)傳感節(jié)點(diǎn)的數(shù)據(jù)通過(guò)量;ek表示可靠性;ρ表示路徑的故障率;v表示路徑上節(jié)點(diǎn)的平均跳數(shù)。
令每個(gè)節(jié)點(diǎn)的初始能量相同,并假設(shè)傳感器節(jié)點(diǎn)與匯聚節(jié)點(diǎn)通信時(shí)沒(méi)有發(fā)生故障,則節(jié)點(diǎn)能耗由式(7)計(jì)算:
其中:r0為節(jié)點(diǎn)初始設(shè)定的通信半徑;r為計(jì)算時(shí)節(jié)點(diǎn)的通信半徑;ECt為數(shù)據(jù)傳輸?shù)哪芰繐p失;ECf是節(jié)點(diǎn)的自身能耗。
當(dāng)源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間傳輸路徑出現(xiàn)中繼節(jié)點(diǎn)耦合或者故障時(shí),可以通過(guò)多路徑路由選擇和免疫機(jī)制建立最佳傳輸路徑。多路徑選擇可以減小節(jié)點(diǎn)的重要度,避免部分傳輸節(jié)點(diǎn)的故障影響整體的數(shù)據(jù)傳輸,從而提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性。免疫機(jī)制可用來(lái)選擇路徑的適應(yīng)度函數(shù),從而達(dá)到優(yōu)化路徑和減少中繼節(jié)點(diǎn)能耗的目的。
本文算法總體框架如圖1所示。其具體流程如下:
首先,確定初始網(wǎng)絡(luò)中的相關(guān)參數(shù),包括節(jié)點(diǎn)數(shù)、通信半徑、節(jié)點(diǎn)位置和檢測(cè)區(qū)域大小,建立能量矩陣。確定抗體與抗原,建立初始抗體群,對(duì)抗原抗體進(jìn)行二進(jìn)制編碼。源節(jié)點(diǎn)首先選擇在其射頻范圍內(nèi)的節(jié)點(diǎn)作為下跳節(jié)點(diǎn),收到上跳節(jié)點(diǎn)信息包的節(jié)點(diǎn)將信息轉(zhuǎn)發(fā)給在其射頻范圍內(nèi)的且沒(méi)有得到過(guò)此數(shù)據(jù)包的節(jié)點(diǎn),使用式(5)判斷節(jié)點(diǎn)的通信質(zhì)量,選擇從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的w條傳輸路徑作為w個(gè)抗體。
對(duì)所有的抗體成員,用式(1)進(jìn)行評(píng)價(jià),選擇b(b≤w)個(gè)最優(yōu)抗體成員作為初始抗體成員群,得到C={p(1),p(2),…,p(b)}。用式(2)對(duì)選擇出的路徑進(jìn)行評(píng)價(jià),篩選出滿足條件的優(yōu)秀路徑組成新的初始抗體群。
隨機(jī)選取一個(gè)耦合的中繼節(jié)點(diǎn),將該節(jié)點(diǎn)放入傳輸區(qū)域能量測(cè)量系統(tǒng)[24](頻率監(jiān)測(cè)網(wǎng)絡(luò)通過(guò)使用全球定位系統(tǒng)-時(shí)間同步監(jiān)視器捕獲動(dòng)態(tài)網(wǎng)格行為,是一種態(tài)勢(shì)感知系統(tǒng)),對(duì)該節(jié)點(diǎn)的能量損耗和數(shù)據(jù)包吞吐量進(jìn)行統(tǒng)計(jì)分析,達(dá)到路徑需求條件的節(jié)點(diǎn)所在路徑被保留。最優(yōu)路徑跟蹤長(zhǎng)度計(jì)算式為式(8):
其中:Dij為節(jié)點(diǎn)Ni和Nj之間的歐氏距離;pi∈C。最優(yōu)路徑選擇的判別條件為式(9):
其中:Tmax-throughout為最大數(shù)據(jù)速率;m為轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)的個(gè)數(shù);是節(jié)點(diǎn)Ni的第j個(gè)數(shù)據(jù)包的大小;Vmax為該節(jié)點(diǎn)的最大轉(zhuǎn)發(fā)數(shù),Vmin為最小轉(zhuǎn)發(fā)數(shù)。
圖1 本文算法框架Fig.1 Framework of proposed algorithm
根據(jù)抗體節(jié)點(diǎn)變異規(guī)則,對(duì)抗體群里的抗體成員按照式(3)和(4)進(jìn)行變異。將變異后的新抗體用式(2)進(jìn)行評(píng)價(jià)后與原抗體混合比較,選擇最優(yōu)的b個(gè)抗體成員作為新的變異抗體群。
在路徑節(jié)點(diǎn)能量滿足Ei< min{E1,E2,…,En}時(shí)尋找該節(jié)點(diǎn)的全局最優(yōu)路徑,循環(huán)執(zhí)行上述過(guò)程直至迭代次數(shù)超過(guò)預(yù)先設(shè)定的數(shù)值。
本文算法的輸入為抗體成員p、自定義閾值δ和μ,輸出為多路徑最優(yōu)解Q。算法偽代碼為:
源節(jié)點(diǎn)S與目的節(jié)點(diǎn)D之間的傳輸可以用多條路徑來(lái)表示。多路徑交叉即有公共的傳輸節(jié)點(diǎn)。此交叉節(jié)點(diǎn)導(dǎo)致兩條路徑的建立和傳輸?shù)闹匾仍黾印R坏┐斯?jié)點(diǎn)發(fā)生故障,將影響這些路徑的傳輸可靠性,從而無(wú)法滿足源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的數(shù)據(jù)傳輸需要。因此,一定程度上去除路徑上交叉節(jié)點(diǎn),有助于提高節(jié)點(diǎn)間的數(shù)據(jù)傳輸可靠性。為解除路徑pi和路徑pj在節(jié)點(diǎn)Nk處的交叉關(guān)系,需找出位于節(jié)點(diǎn)Nk的上跳節(jié)點(diǎn)和其射頻覆蓋范圍內(nèi)屬于其他路徑上的節(jié)點(diǎn)集合,再判斷節(jié)點(diǎn)Nk的下跳節(jié)點(diǎn)是否在新節(jié)點(diǎn)的射頻范圍內(nèi)。通過(guò)解除交叉節(jié)點(diǎn)使源節(jié)點(diǎn)到目的節(jié)點(diǎn)互不相連的多路徑連通,降低這些節(jié)點(diǎn)的重要度,提高從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的數(shù)據(jù)傳輸穩(wěn)定性。
為了評(píng)價(jià)本文所提出方法的性能,實(shí)驗(yàn)分別與可信聚類路由(Reliability-based Clustering Routing,RCR)算法[25]、密度自適應(yīng)(Density Self Adaptation,DSA)算法[26]和調(diào)制前向錯(cuò)誤糾正(Modulation-forward Error Correction,MEC)算法[27]進(jìn)行比較。其中,DSA 采用基本無(wú)功路由協(xié)議AODV(Ad hoc Ondemand Distance Vector routing),MEC 的節(jié)點(diǎn)基于主動(dòng)維持的概率值來(lái)選擇下一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),RCR 利用模糊邏輯和蟻群優(yōu)化、基于路線平均長(zhǎng)度進(jìn)行蟻群信息素更新。
實(shí)驗(yàn)將傳感器節(jié)點(diǎn)隨機(jī)部署在一個(gè)1 000 m×1 000 m的模擬檢測(cè)區(qū)域內(nèi)。所有節(jié)點(diǎn)的初始能量Eini=2 J。數(shù)據(jù)包大小固定為64 B。
對(duì)于靜態(tài)場(chǎng)景,本文使用文獻(xiàn)[17]中給出的基于對(duì)數(shù)路徑距離的能量損耗模型,如式(10)所示。
PL(r)=PL(r0)+10nlog(r/r0) (10)
最大和最小可用功率分別設(shè)置為100 m和10 m的通信范圍。對(duì)于每個(gè)模擬場(chǎng)景,隨機(jī)生成10 個(gè)不同拓?fù)?,在每個(gè)拓?fù)渖蠄?zhí)行600 個(gè)通信周期的模擬。每次模擬重復(fù)10 次,獲得95%信度區(qū)間。每10 個(gè)通信周期重復(fù)主動(dòng)節(jié)點(diǎn)選擇過(guò)程。路徑質(zhì)量初始值固定在0.1。表1給出了主要實(shí)驗(yàn)參數(shù)。
表1 實(shí)驗(yàn)參數(shù)設(shè)置Tab.1 Parameter setting in experiments
對(duì)于動(dòng)態(tài)場(chǎng)景,實(shí)驗(yàn)使用隨機(jī)路徑移動(dòng)模型,模擬方向、速度變化以及節(jié)點(diǎn)的暫停。網(wǎng)絡(luò)延遲值設(shè)置為5 s,節(jié)點(diǎn)密度為200,速度分別為5 m/s、10 m/s 和15 m/s。速度參數(shù)是基于一些實(shí)際應(yīng)用來(lái)確定的,例如在封閉環(huán)境(低速)、外部環(huán)境監(jiān)視(中速)或污染源追蹤(更高速度)的水質(zhì)監(jiān)測(cè)。計(jì)算結(jié)果取50次模擬的平均值。
1)網(wǎng)絡(luò)壽命。通過(guò)計(jì)算存活節(jié)點(diǎn)的數(shù)量可以檢查網(wǎng)絡(luò)的效率,獲得有效傳感器節(jié)點(diǎn)相對(duì)于通信輪次數(shù)的分布。本實(shí)驗(yàn)分別考慮了從第一個(gè)節(jié)點(diǎn)到當(dāng)25%、50%和75%的節(jié)點(diǎn)死亡時(shí)的通信輪次數(shù)。傳感器節(jié)點(diǎn)的數(shù)量設(shè)置為從100~500。
2)端到端傳輸延遲。包的延時(shí)是指包的接收時(shí)間與發(fā)送時(shí)間差,包含所經(jīng)歷的路由延遲和數(shù)據(jù)傳輸延遲的平均值。其計(jì)算方法為:端到端延遲=數(shù)據(jù)包的接收時(shí)間-數(shù)據(jù)包的發(fā)送時(shí)間。
3)覆蓋率。整個(gè)網(wǎng)絡(luò)基于指定面積大小的有效監(jiān)測(cè)面積比例,計(jì)算方法為:覆蓋率=所有節(jié)點(diǎn)通信半徑覆蓋面積總和(允許重疊覆蓋)/期望部署覆蓋面積。
4)報(bào)文數(shù)量開(kāi)銷。用于發(fā)送數(shù)據(jù)時(shí)尋找轉(zhuǎn)發(fā)節(jié)點(diǎn)的控制分組的開(kāi)銷,計(jì)算方法為:報(bào)文數(shù)量開(kāi)銷=發(fā)送的控制報(bào)文總數(shù)/發(fā)送的數(shù)據(jù)報(bào)文數(shù)量。
5)報(bào)文傳送率。網(wǎng)絡(luò)中交換與傳輸?shù)臄?shù)據(jù)單元,即站點(diǎn)一次性要發(fā)送的數(shù)據(jù)塊,計(jì)算方法為:報(bào)文傳送率=發(fā)送的報(bào)文總數(shù)/接收到的報(bào)文總數(shù)。
6)載荷分布。WSN 每個(gè)節(jié)點(diǎn)都是等價(jià)的,可以單獨(dú)向鄰居節(jié)點(diǎn)提供服務(wù),將其他節(jié)點(diǎn)發(fā)送來(lái)的請(qǐng)求均勻分配到對(duì)稱結(jié)構(gòu)中的某一個(gè)匯聚節(jié)點(diǎn)上,而接收到請(qǐng)求的節(jié)點(diǎn)可以獨(dú)立地回應(yīng)請(qǐng)求。這有利于延長(zhǎng)網(wǎng)絡(luò)壽命,提高網(wǎng)絡(luò)可靠性。本文中,載荷分布表示為每100 次數(shù)據(jù)傳輸后節(jié)點(diǎn)剩余能量的平均方差和標(biāo)準(zhǔn)偏差。
7)簇頭開(kāi)銷與包投遞率。簇頭開(kāi)銷表示為節(jié)點(diǎn)有效匯聚的數(shù)據(jù)包比例;包投遞率表示為源節(jié)點(diǎn)所發(fā)送的數(shù)據(jù)包數(shù)量到目的節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù)量比例。
3.3.1 網(wǎng)絡(luò)壽命
靜態(tài)場(chǎng)景下的網(wǎng)絡(luò)壽命仿真結(jié)果如圖2所示。
圖2 網(wǎng)絡(luò)壽命(靜態(tài))Fig.2 Network lifetime(static)
圖2(a)顯示了當(dāng)?shù)谝还?jié)點(diǎn)能量耗完時(shí)的通信輪數(shù),圖2(b)~(d)顯示了網(wǎng)絡(luò)25%、55%和75%節(jié)點(diǎn)死亡時(shí)的輪次數(shù)。當(dāng)50%的節(jié)點(diǎn)消耗能量時(shí),認(rèn)為只有部分網(wǎng)絡(luò)運(yùn)行;當(dāng)75%的節(jié)點(diǎn)消耗能量時(shí),網(wǎng)絡(luò)被認(rèn)為是完全死亡的。DSA 和MEC 使用純粹的主動(dòng)數(shù)據(jù)傳輸方法,在網(wǎng)絡(luò)壽命方面的表現(xiàn)最差;RCR使用正交方向傳輸,在數(shù)據(jù)傳輸路徑節(jié)點(diǎn)存活方面表現(xiàn)較好;本文算法使用兩節(jié)點(diǎn)的剩余能量與距離的歸一化權(quán)重和(也就是路徑質(zhì)量)來(lái)選擇下一個(gè)更優(yōu)的數(shù)據(jù)傳輸路徑,擁有更好的性能和較小的節(jié)點(diǎn)死亡率,從而延長(zhǎng)了網(wǎng)絡(luò)的生命周期。
圖3 顯示了動(dòng)態(tài)場(chǎng)景下的網(wǎng)絡(luò)壽命??傮w上,網(wǎng)絡(luò)壽命隨著節(jié)點(diǎn)速度的增加而降低,但是本文算法性能總體上優(yōu)于其他算法,RCR 次之。DSA 和MEC 受傳感器速度的影響較小,且算法的性能相當(dāng)接近,表現(xiàn)出一定的穩(wěn)定性。本文算法和RCR受傳感器速度的影響較大。
圖3 網(wǎng)絡(luò)壽命(動(dòng)態(tài))Fig.3 Network lifetime(dynamic)
3.3.2 端到端傳輸延遲
靜態(tài)場(chǎng)景下端到端延遲的實(shí)驗(yàn)結(jié)果如圖4 所示。RCR、MEC 的平均端到端延遲隨著節(jié)點(diǎn)數(shù)的增加而增加,本文算法和DSA 的平均端到端延遲隨著節(jié)點(diǎn)數(shù)的增加而減少。RCR在低分組傳送延遲方面表現(xiàn)最好,當(dāng)傳感器節(jié)點(diǎn)數(shù)增加至260 左右時(shí),其傳輸延遲超過(guò)DSA。本文算法在傳感器數(shù)低于200的情況下,其端到端延遲略高于MEC,但隨著節(jié)點(diǎn)數(shù)增加,其傳輸延遲在所有方法中最低。
圖4 端到端延遲(靜態(tài))Fig.4 End-to-end delay(static)
圖5 顯示在動(dòng)態(tài)場(chǎng)景下,傳輸延遲隨著節(jié)點(diǎn)速度的增加而增加。本文所提算法的端到端延遲明顯低于RCR,并且在移動(dòng)速度為5 m/s 和10 m/s 時(shí)與MEC 和DSA 相當(dāng)。因此,本文算法在動(dòng)態(tài)環(huán)境中表現(xiàn)較好。
圖5 端到端延遲(動(dòng)態(tài))Fig.5 End-to-end delay(dynamic)
3.3.3 覆蓋率
圖6 給出了不同算法在網(wǎng)絡(luò)覆蓋率方面的比較。總體上,隨著節(jié)點(diǎn)密度的增加,網(wǎng)絡(luò)覆蓋率增加。本文算法在100個(gè)傳感器節(jié)點(diǎn)以上的覆蓋率最高,DSA次之,RCR的覆蓋率優(yōu)于MEC。本文算法中,由于多路徑傳輸沒(méi)有存在耦合交叉節(jié)點(diǎn),相同的節(jié)點(diǎn)數(shù)可被全部用于覆蓋區(qū)域。
圖6 不同算法的網(wǎng)絡(luò)覆蓋率比較Fig.6 Comparison of network coverage of different algorithms
3.3.4 傳輸可靠性
傳輸可靠性的實(shí)驗(yàn)結(jié)果如圖7 所示。與MEC 相比,本文算法的可靠性較好。RCR 的可靠性變化幅度較大:當(dāng)傳感器節(jié)點(diǎn)數(shù)較少時(shí),傳輸可靠性非常低;當(dāng)傳感器數(shù)高于200 時(shí),其傳輸可靠性超過(guò)DSA;當(dāng)傳感器數(shù)超過(guò)300 時(shí),其傳輸可靠性與本文算法、MEC 無(wú)明顯差別。傳輸可靠性的穩(wěn)定可使路徑質(zhì)量得到改善,從而提高數(shù)據(jù)報(bào)的交付率。
圖7 不同算法的傳輸可靠性比較Fig.7 Comparison of transmission reliability of different algorithms
3.3.5 載荷分布
載荷分布是根據(jù)每100 次數(shù)據(jù)傳輸后節(jié)點(diǎn)剩余能量的平均值和標(biāo)準(zhǔn)偏差表示的。圖8 顯示了傳感器節(jié)點(diǎn)相對(duì)于數(shù)據(jù)傳輸次數(shù)的平均剩余能量。本文提出的算法中平均剩余能量隨著通信輪次的增加下降得比較緩慢,DSA 和MEC 的平均剩余能量并無(wú)明顯差異,其下降坡度較本文算法和RCR陡峭。
圖8 不同算法的載荷分布比較Fig.8 Comparison of load distribution of different algorithms
圖9 顯示了剩余能量的標(biāo)準(zhǔn)差與通信輪次的關(guān)系。本文所提算法的剩余能量標(biāo)準(zhǔn)差最低,RCR 和DSA 次之,標(biāo)準(zhǔn)差最大的是MEC。由于傳輸路徑上無(wú)交叉節(jié)點(diǎn),本文算法中的能量消耗相較其他算法具有較為平滑的線性特征,可保證能量利用更加均衡。
圖9 不同算法的剩余能量比較Fig.9 Comparison of remaining energy of different algorithms
3.3.6 簇頭開(kāi)銷與包投遞率
簇頭開(kāi)銷的模擬結(jié)果如圖10 所示。隨著節(jié)點(diǎn)速度的增加,簇頭開(kāi)銷均有所增加。在所有節(jié)點(diǎn)速度下,本文提出的算法比其他算法開(kāi)銷更低。圖11 顯示了不同節(jié)點(diǎn)速度下數(shù)據(jù)包的投遞率。MEC 和DSA 分組投遞率較低。在低速下,本文算法的分組投遞率更加明顯,在較高的速度下,本文所提算法的分組投遞率與RCR基本相當(dāng)。
圖10 不同算法的簇頭開(kāi)銷比較Fig.10 Comparison of cluster head overhead of different algorithms
圖11 不同算法的包投遞率比較Fig.11 Comparison of packet delivery rate of different algorithms
本文提出了一種基于免疫連通模型的無(wú)線傳感器網(wǎng)絡(luò)多路徑選擇算法,將無(wú)線傳感器可靠傳輸問(wèn)題轉(zhuǎn)化為免疫連通模型中抗原抗體結(jié)合的路徑選擇求解和優(yōu)化,將免疫機(jī)制分布式信息處理能力應(yīng)用到無(wú)線傳感器網(wǎng)絡(luò)傳輸故障之中。仿真結(jié)果顯示本文算法提高了數(shù)據(jù)傳輸可靠性,降低了能耗和節(jié)點(diǎn)的死亡率,延長(zhǎng)了網(wǎng)絡(luò)生命周期,在靜態(tài)和動(dòng)態(tài)環(huán)境中表現(xiàn)都較好。該算法可以應(yīng)用于對(duì)能量效率、可擴(kuò)展性、延長(zhǎng)網(wǎng)絡(luò)壽命和降低網(wǎng)絡(luò)開(kāi)銷有較高要求的傳感器網(wǎng)絡(luò)的設(shè)計(jì)。本研究潛在的應(yīng)用場(chǎng)景包括戰(zhàn)場(chǎng)監(jiān)視、棲息地監(jiān)測(cè)、水下監(jiān)測(cè)和地下煤礦監(jiān)測(cè)。接下來(lái),所提出的研究可以在Mesh 網(wǎng)絡(luò)、ad hoc網(wǎng)絡(luò),以及大規(guī)模數(shù)據(jù)網(wǎng)絡(luò)中進(jìn)行應(yīng)用與優(yōu)化。