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