李 廬 趙曉峰
(1.安徽財(cái)經(jīng)大學(xué) 教務(wù)處,安徽 蚌埠 233030;2.安徽財(cái)經(jīng)大學(xué) 圖書與信息中心,安徽 蚌埠 233030)
無(wú)線傳感器網(wǎng)絡(luò)是一種集成監(jiān)測(cè)、控制以及無(wú)線通信的網(wǎng)絡(luò)系統(tǒng),能夠通過(guò)末梢傳感設(shè)備獲取周圍信息,并對(duì)其進(jìn)行分布式處理,隨后傳遞給用戶,而用戶從得到的傳感信息挖掘出所需要的信息,具有極強(qiáng)的感知性、大規(guī)?;?、自組織性、動(dòng)態(tài)化等特點(diǎn),在軍事、智能交通、環(huán)境監(jiān)控、醫(yī)療衛(wèi)生等多個(gè)領(lǐng)域具有顯著作用。然而,傳感器網(wǎng)絡(luò)工作的環(huán)境較為惡劣,數(shù)據(jù)傳輸并不很穩(wěn)定,鏈路和節(jié)點(diǎn)很容易失效,導(dǎo)致出現(xiàn)數(shù)據(jù)丟包和傳輸錯(cuò)誤現(xiàn)象[1]。在此背景下,如何保證傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸成為一大難題。
面對(duì)上述問(wèn)題,國(guó)內(nèi)外對(duì)其進(jìn)行了很多研究,提出了基于網(wǎng)絡(luò)編碼的傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸方法、基于支持向量機(jī)的傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸方法、基于粒子群優(yōu)化的傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸方法等。這些方法存在共同缺點(diǎn)就是當(dāng)節(jié)點(diǎn)分布非常密集時(shí),整個(gè)網(wǎng)絡(luò)負(fù)載水平失衡,容易出現(xiàn)關(guān)鍵節(jié)點(diǎn)因能量耗盡而過(guò)早死亡,導(dǎo)致傳輸路徑出現(xiàn)更嚴(yán)重的抖動(dòng)現(xiàn)象或直接造成通信鏈路中斷,使得數(shù)據(jù)丟包現(xiàn)象反而嚴(yán)重[2]。
針對(duì)上述問(wèn)題,本文提出一種新的傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法,即基于拓?fù)涓兄成渌惴ǖ膫鞲衅骶W(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法。該方法主要分為三部分:第一部分傳感器網(wǎng)絡(luò)拓?fù)涓兄坏诙糠指鶕?jù)得到的傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),映射得出拓?fù)渖厦織l鏈路的數(shù)據(jù)傳輸能力;第三部分根據(jù)鏈路傳輸能力,合理分配資源,實(shí)現(xiàn)數(shù)據(jù)穩(wěn)定傳輸[3]。為測(cè)試本文方法的有效性,進(jìn)行仿真測(cè)試實(shí)驗(yàn)。結(jié)果表明:與基于網(wǎng)絡(luò)編碼的傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法、基于支持向量機(jī)的傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法、基于粒子群優(yōu)化的傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法相比,本文基于拓?fù)涓兄成渌惴ǖ膫鬏敺椒ǖ臄?shù)據(jù)丟包率得到有效改善,由此可知本文方法的穩(wěn)定傳輸性能更佳,傳感器網(wǎng)絡(luò)數(shù)據(jù)的完整性得到進(jìn)一步改善。
傳感器網(wǎng)絡(luò)集數(shù)據(jù)的采集、處理和傳輸三種功能為一體,由若干個(gè)傳感器節(jié)點(diǎn)、一個(gè)匯聚節(jié)點(diǎn)和一個(gè)管理節(jié)點(diǎn)構(gòu)成,如圖1 所示。
大量傳感器節(jié)點(diǎn)隨機(jī)分布在待監(jiān)控范圍內(nèi),通過(guò)無(wú)線通信將散落的傳感器節(jié)點(diǎn)組成一個(gè)多跳的自組織網(wǎng)絡(luò)結(jié)構(gòu),然后啟動(dòng)各傳感器節(jié)點(diǎn)感知、獲取監(jiān)控范圍內(nèi)的信息,包括聲、光、溫度、濕度等,并進(jìn)行模數(shù)轉(zhuǎn)換,再將轉(zhuǎn)換后的數(shù)據(jù)匯聚到一起,最后通過(guò)無(wú)線通信網(wǎng)絡(luò),包括Internet、衛(wèi)星等,傳輸?shù)焦芾砉?jié)點(diǎn),進(jìn)行信息存儲(chǔ)和處理,供用戶進(jìn)行數(shù)據(jù)挖掘和分析決策[4]。
圖1 傳感器網(wǎng)絡(luò)結(jié)構(gòu)示意圖
傳感器網(wǎng)絡(luò)可以在任何環(huán)境、任何時(shí)間內(nèi)工作,并不需要太多的人力來(lái)進(jìn)行管理,且具有更好的容錯(cuò)能力,獲取的信息較為可靠準(zhǔn)確。然而當(dāng)節(jié)點(diǎn)分布非常密集,且能量負(fù)載分布不均衡時(shí),數(shù)據(jù)傳輸路徑會(huì)出現(xiàn)抖動(dòng),導(dǎo)致傳輸不穩(wěn)定,造成數(shù)據(jù)丟包。為此,本文從負(fù)載均衡的角度著手,利用拓?fù)涓兄成渌惴▽?shí)現(xiàn)傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸。
傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是指在傳感器網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)相互連接的形式。一般有三種形式,即星型拓?fù)?、網(wǎng)狀拓?fù)浜蜆?shù)狀拓?fù)?,如圖2 所示[5]。
圖2 傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)形式
三種傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)形式特點(diǎn)如表1 所示。
表1 三種傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)形式特點(diǎn)
傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)感知是指確定待監(jiān)控范圍內(nèi)各節(jié)點(diǎn)位置以及鏈接部署方案的過(guò)程。由此可知傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)感知分為兩個(gè)階段任務(wù):傳感器節(jié)點(diǎn)定位和拓?fù)錁?gòu)建,具體過(guò)程如下。
階段1:傳感器節(jié)點(diǎn)定位。
傳感器節(jié)點(diǎn)定位方法有很多,如通過(guò)計(jì)算錨節(jié)點(diǎn)距離進(jìn)行定位、通過(guò)預(yù)測(cè)信號(hào)接收強(qiáng)度進(jìn)行定位、通過(guò)估算信號(hào)傳送時(shí)間進(jìn)行定位等[6]。在這里采用“通過(guò)計(jì)算錨節(jié)點(diǎn)距離”進(jìn)行定位,原理如下:利用機(jī)器設(shè)備設(shè)置運(yùn)行程序口令,自動(dòng)生成錨節(jié)點(diǎn)位置,方法簡(jiǎn)單高效。
階段2:傳感器網(wǎng)絡(luò)拓?fù)錁?gòu)建。
步驟 1:計(jì)算無(wú)線傳感器網(wǎng)絡(luò)能量消耗最小時(shí)需要的簇頭數(shù)量;
步驟2:尋找每個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn);
步驟3:計(jì)算每個(gè)節(jié)點(diǎn)的覆蓋均勻度;
步驟 4:根據(jù)每個(gè)節(jié)點(diǎn)的剩余能量和每個(gè)節(jié)點(diǎn)的覆蓋均勻度計(jì)算權(quán)值,構(gòu)建最小支配集MDS;
步驟5:根據(jù)MDS,構(gòu)建連通支配集CDS;
步驟 6:當(dāng)有新的節(jié)點(diǎn)加入或者所述節(jié)點(diǎn)退出傳感器網(wǎng)絡(luò)時(shí),重復(fù)步驟2 到步驟6,完成拓?fù)浣Y(jié)構(gòu)的構(gòu)建[7]。
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)獲取之后,為使后期能夠?qū)崿F(xiàn)負(fù)載均衡分配,需要知道拓?fù)浣Y(jié)構(gòu)上每個(gè)節(jié)點(diǎn)的傳輸能力,即在整個(gè)傳感器網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)進(jìn)行數(shù)據(jù)傳輸能力感知——拓?fù)渚嚯x映射,包括節(jié)點(diǎn)鏈路傳輸能力計(jì)算和區(qū)域拓?fù)溆成涞葍蓚€(gè)步驟[8]。
1.2.1 節(jié)點(diǎn)鏈路傳輸能力計(jì)算
傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是由若干個(gè)傳感器節(jié)點(diǎn)相互連接構(gòu)成,因此獲取節(jié)點(diǎn)鏈路的數(shù)據(jù)傳輸能力對(duì)于分配資源具有重要意義[9]。節(jié)點(diǎn)鏈路傳輸能力計(jì)算公式如下:
式(1)中,Y 表示節(jié)點(diǎn)鏈路傳輸能力; Pij表示節(jié)點(diǎn)i 通過(guò)節(jié)點(diǎn)鏈路j 的路徑數(shù); Pij′表示節(jié)點(diǎn)i 通過(guò)節(jié)點(diǎn)鏈路j 的實(shí)際估算流量;γ 表示鏈路寬度。
1.2.2 區(qū)域拓?fù)溆成?/p>
區(qū)域拓?fù)溆成涞哪康氖桥袛噫溌返亩秳?dòng)出現(xiàn)可能性,其原理是通過(guò)對(duì)拓?fù)浣Y(jié)構(gòu)中整體鏈路進(jìn)行映射處理,然后再進(jìn)行標(biāo)準(zhǔn)化處理,最后根據(jù)式(2)實(shí)現(xiàn)鏈路抖動(dòng)判斷。
式(2)中,S 為鏈路抖動(dòng)概率;d1為實(shí)際拓?fù)渚嚯x;d2為估算的拓?fù)渚嚯x。
傳感器節(jié)點(diǎn)負(fù)載不均衡是影響傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸穩(wěn)定的關(guān)鍵因素,因此要想實(shí)現(xiàn)傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸,就要先解決負(fù)載不均衡的問(wèn)題。在數(shù)據(jù)穩(wěn)定傳輸研究中,分為傳感器節(jié)點(diǎn)負(fù)載均衡調(diào)度和穩(wěn)定傳輸兩個(gè)階段內(nèi)容[10]。
階段1:傳感器節(jié)點(diǎn)負(fù)載均衡調(diào)度。
在這里采用蟻群算法得到傳感器節(jié)點(diǎn)負(fù)載均衡調(diào)度最優(yōu)方案。蟻群算法是一種模擬螞蟻覓食過(guò)程發(fā)展而來(lái)的尋優(yōu)算法[11]。該算法應(yīng)用具體過(guò)程如下:
步驟 1:信息初始化。輸入算法相關(guān)參數(shù),并賦予傳感器每條鏈路相同的信息素;
步驟2:選擇策略。讓螞蟻隨機(jī)挑選一條路走,并同時(shí)釋放信息素;
步驟 3:信息素更新。為防止算法陷人局部最優(yōu),在螞蟻完成一次搜索后,需要對(duì)螞蟻留在鏈路上的信息素進(jìn)行更新;
步驟4:求局部最優(yōu)解;
步驟5:全局更新;
步驟6:求全局最優(yōu)解;
步驟 7:對(duì)最優(yōu)解進(jìn)行反編碼,得到傳感器節(jié)點(diǎn)負(fù)載均衡調(diào)度方案[12]。
階段2:數(shù)據(jù)穩(wěn)定傳輸。
在這里根據(jù)上述得到的傳感器節(jié)點(diǎn)負(fù)載均衡分配方案,利用一種并發(fā)編織多路徑可靠傳輸協(xié)議實(shí)現(xiàn)數(shù)據(jù)穩(wěn)定傳輸。具體流程如下:
步驟1:傳感器節(jié)點(diǎn)采集數(shù)據(jù);
步驟2:將數(shù)據(jù)傳輸?shù)綄?duì)應(yīng)集群的簇頭節(jié)點(diǎn)(匯聚節(jié)點(diǎn));
步驟 3:在簇頭節(jié)點(diǎn)中對(duì)傳輸過(guò)來(lái)的感知數(shù)據(jù)進(jìn)行數(shù)據(jù)融合;
步驟4:為簇頭節(jié)點(diǎn)構(gòu)建本地路由表;
步驟 5:根據(jù)構(gòu)建的路由表,為簇頭節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分組;
步驟 6:根據(jù)數(shù)據(jù)分組情況,為簇頭節(jié)點(diǎn)進(jìn)行并發(fā)多路徑傳輸;
步驟7:對(duì)傳輸過(guò)來(lái)的分組數(shù)據(jù)進(jìn)行數(shù)據(jù)融合;
步驟 8:比較融合后的數(shù)據(jù)包與原始數(shù)據(jù)包大小。若大小相同,說(shuō)明數(shù)據(jù)穩(wěn)定傳輸;若大小不相同,說(shuō)明數(shù)據(jù)出現(xiàn)丟包,未實(shí)現(xiàn)數(shù)據(jù)穩(wěn)定傳輸[13]。
為測(cè)試本文傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法性能,需要進(jìn)行性能仿真實(shí)驗(yàn)分析。實(shí)驗(yàn)參與者有 4個(gè),即本文方法和三種傳統(tǒng)傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法(基于網(wǎng)絡(luò)編碼的傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法、基于支持向量機(jī)的傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法、基于粒子群優(yōu)化的傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法)。實(shí)驗(yàn)過(guò)程包括傳感器網(wǎng)絡(luò)部署、測(cè)試平臺(tái)搭建、實(shí)驗(yàn)參數(shù)設(shè)置、實(shí)驗(yàn)結(jié)果分析四步驟[14]。
本文所使用的實(shí)驗(yàn)數(shù)據(jù)均來(lái)自真實(shí)網(wǎng)絡(luò)環(huán)境,其背景為某古建筑安全風(fēng)險(xiǎn)監(jiān)測(cè)項(xiàng)目,傳感器節(jié)點(diǎn)部署在 400 m×400 m 的區(qū)域內(nèi),具體情況如圖 3所示。
圖3 傳感器節(jié)點(diǎn)部署
為測(cè)試傳輸性能,搭建測(cè)試平臺(tái),如圖4 所示。
圖4 測(cè)試平臺(tái)
該平臺(tái)環(huán)境設(shè)置如下:處理器為Intel(R) Core(T M)7M640@2.8GHz;內(nèi)存為Kingston4GB×2;硬盤為SAMSUNG 128G SSD;操作系統(tǒng)為Windows8.1企業(yè)版;仿真平臺(tái)為MATLAB7.10[15]。
實(shí)驗(yàn)參數(shù)設(shè)置由表2 給出。
表2 實(shí)驗(yàn)參數(shù)設(shè)置
本文選取數(shù)據(jù)丟包率來(lái)評(píng)測(cè)方法性能。丟包率是指數(shù)據(jù)傳輸過(guò)程中所丟失數(shù)據(jù)包數(shù)量占所發(fā)送數(shù)據(jù)包的比率,丟包率越小,傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸穩(wěn)定性越好,反之越差。為保證結(jié)果準(zhǔn)確性,反復(fù)進(jìn)行10 次實(shí)驗(yàn)。表3 為四種傳輸方法10 次應(yīng)用下得到的數(shù)據(jù)丟包率情況。
表3 數(shù)據(jù)丟包率情況 單位:%
從表3 可以看出,本文方法的平均數(shù)據(jù)丟包率為0.02436%。而基于網(wǎng)絡(luò)編碼、支持向量機(jī)、粒子群優(yōu)化的三種傳統(tǒng)傳感器網(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法的平均數(shù)據(jù)丟包率分別為 0.03472%,0.03617%,0.04079%。由以上結(jié)果對(duì)比可知,本文方法的數(shù)據(jù)丟包率更少,說(shuō)明本文的基于拓?fù)涓兄成渌惴ǖ膫鞲衅骶W(wǎng)絡(luò)數(shù)據(jù)傳輸方法穩(wěn)定性更好。
綜上所述,傳感器網(wǎng)絡(luò)在醫(yī)學(xué)、軍事、交通控制、環(huán)境監(jiān)控等多個(gè)領(lǐng)域均起到了重要作用。它通過(guò)傳感器感知相關(guān)信息,在經(jīng)過(guò)處理后,傳輸給用戶,而用戶透過(guò)這些信息可以獲取到所需信息,從而為決策提供可靠依據(jù)。然而,受到傳感器工作環(huán)境的影響,其數(shù)據(jù)傳輸時(shí)并不很穩(wěn)定,經(jīng)常出現(xiàn)數(shù)據(jù)丟包現(xiàn)象。為此,在三種傳統(tǒng)數(shù)據(jù)傳輸方法基礎(chǔ)上,提出一種基于拓?fù)涓兄成渌惴ǖ膫鞲衅骶W(wǎng)絡(luò)數(shù)據(jù)穩(wěn)定傳輸方法。經(jīng)測(cè)試,本文方法丟包率更小,說(shuō)明本文方法穩(wěn)定傳輸性能更好,更能保證數(shù)據(jù)包的完整性。