瞿 霞,華建祥
(福建林業(yè)職業(yè)技術(shù)學(xué)院 自動(dòng)化工程系,福建 南平 353000)
物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分[1]。從技術(shù)架構(gòu)看,物聯(lián)網(wǎng)感知層是物聯(lián)網(wǎng)的基礎(chǔ)和核心,由于感知層中的節(jié)點(diǎn)將采集到的信息傳遞到物聯(lián)網(wǎng)的上層作進(jìn)一步處理與分析,因而感知層也是信息采集的關(guān)鍵部分。節(jié)點(diǎn)部署是物聯(lián)網(wǎng)感知層網(wǎng)絡(luò)工作的基礎(chǔ),對(duì)網(wǎng)絡(luò)的運(yùn)行狀況和壽命有很大的影響。網(wǎng)絡(luò)節(jié)點(diǎn)的部署問(wèn)題涉及到覆蓋、連接和節(jié)約能量消耗3個(gè)方面,因此物聯(lián)網(wǎng)的感知層為了實(shí)現(xiàn)更好的感知效果,需要對(duì)網(wǎng)絡(luò)上的最優(yōu)節(jié)點(diǎn)進(jìn)行部署,保證感知層網(wǎng)絡(luò)具有較高的覆蓋率和良好的節(jié)點(diǎn)通信[2]。
目前,該領(lǐng)域已經(jīng)出現(xiàn)了一些研究成果。錢開(kāi)國(guó)等[3]提出移動(dòng)通信網(wǎng)絡(luò)中繼節(jié)點(diǎn)部署優(yōu)化方法。設(shè)定網(wǎng)絡(luò)中無(wú)移動(dòng)中繼節(jié)點(diǎn)時(shí),組建網(wǎng)絡(luò)節(jié)點(diǎn)能量消耗模型。融合貪婪算法完善靜態(tài)路由樹(shù)的拓?fù)浣Y(jié)構(gòu),使得路由樹(shù)的拓?fù)浣Y(jié)構(gòu)收斂于最優(yōu)位置,以此對(duì)移動(dòng)通信網(wǎng)絡(luò)中繼節(jié)點(diǎn)部署。該方法的部署效果較好,但是復(fù)雜度較高,無(wú)法進(jìn)行普遍應(yīng)用。徐力等[4]在概率感知優(yōu)化模型下,將無(wú)線傳感器網(wǎng)絡(luò)的覆蓋率和移動(dòng)節(jié)點(diǎn)的能耗作為多目標(biāo)優(yōu)化函數(shù),通過(guò)改進(jìn)混合粒子群優(yōu)化算法不斷迭代,調(diào)整移動(dòng)節(jié)點(diǎn)的最優(yōu)位置,控制網(wǎng)絡(luò)覆蓋率最大化,同時(shí)減小移動(dòng)距離,使得能耗最小化。該方法主要解決了傳感網(wǎng)絡(luò)部署的能耗問(wèn)題,但是部署過(guò)程網(wǎng)絡(luò)覆蓋率較小。譚景文[5]提出了基于溫度空間分布規(guī)律的傳感節(jié)點(diǎn)部署方法。該方法以流體力學(xué)仿真結(jié)果為依據(jù),結(jié)合節(jié)點(diǎn)測(cè)量數(shù)據(jù),動(dòng)態(tài)預(yù)測(cè)節(jié)點(diǎn)放置位置。該方法的應(yīng)用過(guò)程較為簡(jiǎn)單,但是部署覆蓋率較低。
提出一種針對(duì)物聯(lián)網(wǎng)感知層的網(wǎng)絡(luò)節(jié)點(diǎn)部署方法,即網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)的分組部署方法[6]。通過(guò)該方法的設(shè)計(jì)與實(shí)現(xiàn),能夠解決傳統(tǒng)節(jié)點(diǎn)部署方法當(dāng)中存在的問(wèn)題,從而實(shí)現(xiàn)節(jié)點(diǎn)部署的尋優(yōu)精度的提升。
在物聯(lián)網(wǎng)環(huán)境下,感知層網(wǎng)絡(luò)節(jié)點(diǎn)部署需要經(jīng)歷節(jié)點(diǎn)投放、節(jié)點(diǎn)分組、節(jié)點(diǎn)估計(jì)等多個(gè)步驟,最終得到節(jié)點(diǎn)部署結(jié)果。具體的網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法的實(shí)現(xiàn)流程如圖1所示。
物聯(lián)網(wǎng)感知層節(jié)點(diǎn)的部署問(wèn)題可以轉(zhuǎn)化為決策變量到一組目標(biāo)映射的求解問(wèn)題,因此需要建立感知層網(wǎng)絡(luò)節(jié)點(diǎn)的部署求解模型[7]。在物聯(lián)網(wǎng)感知層網(wǎng)絡(luò)節(jié)點(diǎn)分組部署問(wèn)題中,需要保證網(wǎng)絡(luò)的安全性的同時(shí)提高網(wǎng)絡(luò)覆蓋率。因此在網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法設(shè)計(jì)過(guò)程中,需要將節(jié)點(diǎn)連通的安全性以及網(wǎng)絡(luò)覆蓋率考慮在內(nèi),分別從目標(biāo)函數(shù)和約束條件兩個(gè)方面進(jìn)行感知層網(wǎng)絡(luò)節(jié)點(diǎn)部署模型的建立。
圖1 網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法Fig.1 Network optimal node group deployment method
1.1.1 目標(biāo)函數(shù)
感知層網(wǎng)絡(luò)節(jié)點(diǎn)部署模型中的目標(biāo)函數(shù)主要針對(duì)安全連通度和網(wǎng)絡(luò)覆蓋率兩個(gè)方面。其中網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)的連通度主要是指網(wǎng)絡(luò)中的節(jié)點(diǎn)范圍之內(nèi)能夠和其通信的相鄰節(jié)點(diǎn)的數(shù)量與網(wǎng)絡(luò)中總節(jié)點(diǎn)數(shù)量二次方的比值[8]。得到的比值越大,則網(wǎng)絡(luò)節(jié)點(diǎn)之間的連通度越大,網(wǎng)絡(luò)中存在的通路越多。因此有關(guān)于網(wǎng)絡(luò)連通度的部署模型計(jì)算目標(biāo)函數(shù)可以表示為:
式中,ρij表示的是相鄰節(jié)點(diǎn)的連通因子,連通因子的計(jì)算公式如下:
其中,d(Si,Sj)表示任意節(jié)點(diǎn)與其相鄰節(jié)點(diǎn)之間的距離,N表示節(jié)點(diǎn)數(shù)量,Rc為任意節(jié)點(diǎn)的通信半徑[9]。
而網(wǎng)絡(luò)覆蓋率方面目標(biāo)函數(shù)的建立,主要是將節(jié)點(diǎn)分組部署的區(qū)域T,離散成為N個(gè)目標(biāo)點(diǎn)集的表示方式。因此可以將覆蓋率目標(biāo)函數(shù)表示為:
式中:Tl表示的是感知目標(biāo)節(jié)點(diǎn);P(Si,Tl)為節(jié)點(diǎn)Si對(duì)Tl的感知概率。
1.1.2 約束條件
節(jié)點(diǎn)模型的約束條件是為了保證網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)之間都存在著至少一條可以順利連接的通信路徑,且盡量保證節(jié)點(diǎn)消耗的能量最低。
結(jié)合感知層網(wǎng)絡(luò)節(jié)點(diǎn)部署模型的目標(biāo)函數(shù)和約束條件,可以將網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)約束條件用式(4)來(lái)表示:
對(duì)感知層最優(yōu)節(jié)點(diǎn)數(shù)進(jìn)行估算,首先需要對(duì)網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)進(jìn)行求解,得出節(jié)點(diǎn)的最優(yōu)解集。首先初始化網(wǎng)絡(luò)普通節(jié)點(diǎn)z,其中最大迭代次數(shù)為tmax,隨機(jī)初始化所有的節(jié)點(diǎn)位置以及速度。通過(guò)建立的感知層網(wǎng)絡(luò)節(jié)點(diǎn)部署模型計(jì)算目標(biāo)函數(shù)C,更新節(jié)點(diǎn)的慣性權(quán)重,計(jì)算節(jié)點(diǎn)的適應(yīng)度值,更新網(wǎng)絡(luò)普通節(jié)點(diǎn)的極值。同時(shí)根據(jù)密集距離,采用比例選擇的方法為每一個(gè)網(wǎng)絡(luò)選取全局最優(yōu)節(jié)點(diǎn)。當(dāng)?shù)鷿M足t≥tmax時(shí),迭代循環(huán)結(jié)束,同時(shí)輸出最優(yōu)解集。否則對(duì)目標(biāo)函數(shù)進(jìn)行更新計(jì)算。在理想狀態(tài)下,假設(shè)物聯(lián)網(wǎng)感知層的網(wǎng)絡(luò)節(jié)點(diǎn)的通信距離為r,最大距離為2r。圖2(a)表示了理想狀態(tài)下全覆蓋節(jié)點(diǎn)部署情況,圖2(b)表示了理想狀態(tài)下連通性覆蓋節(jié)點(diǎn)部署情況。
圖2 理想狀態(tài)下節(jié)點(diǎn)部署情況圖Fig.2 Node deployment under ideal conditions
那么在理想狀態(tài)下全覆蓋感知節(jié)點(diǎn)的有效覆蓋面積Sp可以表示為:
連通性部署感知節(jié)點(diǎn)的有效覆蓋面積Spc可以表示為:
連通性部署所需節(jié)點(diǎn)個(gè)數(shù)較少,因此將得到的節(jié)點(diǎn)最優(yōu)解集投放到邊長(zhǎng)m×n的矩形區(qū)域,那么需要投放的最少感知節(jié)點(diǎn)個(gè)數(shù)可以表示為:
通過(guò)式(7)可以得出最少感知節(jié)點(diǎn)數(shù)目,為了確保節(jié)點(diǎn)的組網(wǎng)工作可以適當(dāng)?shù)奶砑幼顑?yōu)節(jié)點(diǎn)。
在獲得最優(yōu)節(jié)點(diǎn)數(shù)目的前提下,對(duì)物聯(lián)網(wǎng)感知層最優(yōu)節(jié)點(diǎn)進(jìn)行分組處理。首先需要定義最優(yōu)節(jié)點(diǎn)中的中心節(jié)點(diǎn),中心節(jié)點(diǎn)定義的標(biāo)準(zhǔn)為帶寬達(dá)到前20%。將中心節(jié)點(diǎn)投放到環(huán)境當(dāng)中,并進(jìn)行簡(jiǎn)單部署。定義一個(gè)距離值,即為分組半徑,測(cè)量中心節(jié)點(diǎn)與普通最優(yōu)節(jié)點(diǎn)之間的網(wǎng)絡(luò)距離,若得出的網(wǎng)絡(luò)距離結(jié)果小于分組半徑,則將該最優(yōu)節(jié)點(diǎn)分配到該中心節(jié)點(diǎn)的范圍之內(nèi)。按照同樣的方法可以將投放的所有網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)進(jìn)行分組,得到如圖3的分組結(jié)果。
圖3 (a)中心節(jié)點(diǎn)分組結(jié)果(b)最優(yōu)節(jié)點(diǎn)分組結(jié)果Fig.3 (a)Result of central node grouping(b)Result of optimal node grouping
在一定的時(shí)間間隔內(nèi),物聯(lián)網(wǎng)感知層的網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)會(huì)根據(jù)發(fā)布的信息采集指令進(jìn)行最大距離的移動(dòng),為了平衡各個(gè)節(jié)點(diǎn)之間的移動(dòng)距離,保證其功能的實(shí)現(xiàn),需要將節(jié)點(diǎn)Si在t步移動(dòng)距離定義為:
節(jié)點(diǎn)Si在t步的位置更新情況通過(guò)式(9)來(lái)計(jì)算:
上式中,u為網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)的平衡權(quán)值,St-new和Si-old分別表示感知層節(jié)點(diǎn)Si在t步范圍之內(nèi)的初始位置和終止位置[10],F(xiàn)i(t)為網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)在t步內(nèi)的所承受的虛擬合力,max(step)為節(jié)點(diǎn)單次移動(dòng)的最大步長(zhǎng)。
在此基礎(chǔ)上進(jìn)行中心節(jié)點(diǎn)的更新定位,得到中心節(jié)點(diǎn)的坐標(biāo)位置X=(x,y)。已知k個(gè)感知節(jié)點(diǎn)所接收到的信號(hào)強(qiáng)度P,則定位結(jié)果可以通過(guò)中心節(jié)點(diǎn)的定位結(jié)果與信號(hào)強(qiáng)度來(lái)估計(jì):
式中,Q表示節(jié)點(diǎn)信號(hào)的發(fā)射功率,β為常量參數(shù)。通過(guò)公式得到中心位置的更新定位結(jié)果。
在得到更新位置的條件下,對(duì)網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)之間的傳輸距離進(jìn)行控制,在相同的分組組別當(dāng)中,假設(shè)物聯(lián)網(wǎng)感知層的最優(yōu)節(jié)點(diǎn)為A、B、C、D、E、F,其中A為感知層的采集節(jié)點(diǎn),B到F節(jié)點(diǎn)為網(wǎng)絡(luò)經(jīng)過(guò)的中間節(jié)點(diǎn),最終到達(dá)網(wǎng)絡(luò)接收終端,傳輸過(guò)程如圖4所示。
圖4 節(jié)點(diǎn)傳輸距離控制示意圖Fig.4 Control of node transmission distance
在節(jié)點(diǎn)分組傳輸過(guò)程中,采用測(cè)距部署的方法,計(jì)算相鄰節(jié)點(diǎn)之間的距離,并按照節(jié)點(diǎn)的覆蓋范圍設(shè)定該組節(jié)點(diǎn)之間的傳輸距離闕值[11]。網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)在執(zhí)行任務(wù)以及自由移動(dòng)的過(guò)程當(dāng)中,需要遵循兩個(gè)條件,一個(gè)是相鄰兩節(jié)點(diǎn)之間需要保證在闕值范圍之內(nèi),另一個(gè)條件為節(jié)點(diǎn)與該組中心節(jié)點(diǎn)的距離,控制在max(step)之內(nèi)。在節(jié)點(diǎn)的傳輸距離控制完成之后,覆蓋范圍即為以中心節(jié)點(diǎn)為中心,信號(hào)傳輸最遠(yuǎn)距離為半徑的圓的并集。
在物聯(lián)網(wǎng)感知層網(wǎng)絡(luò)節(jié)點(diǎn)的傳輸過(guò)程中,將網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行連通,保證節(jié)點(diǎn)之間的協(xié)同數(shù)據(jù)處理工作。提出節(jié)點(diǎn)的連通加權(quán)率為:
式中σ1和σ2表示的是連通率的歸一化權(quán)值,F(xiàn)和F'分別表示連通前的節(jié)點(diǎn)數(shù)據(jù)集和連通后的節(jié)點(diǎn)數(shù)據(jù)集。將感知層網(wǎng)絡(luò)節(jié)點(diǎn)連通之后,對(duì)新的節(jié)點(diǎn)位置進(jìn)行計(jì)算,并與初始位置進(jìn)行比較,保留較大值并重新賦值給X[12]。最終的物聯(lián)網(wǎng)感知層網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署結(jié)果如圖5所示。
圖5 節(jié)點(diǎn)分組部署輸出結(jié)果Fig.5 Node grouping deployment output
為了檢驗(yàn)物聯(lián)網(wǎng)感知層網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法的有效性,以網(wǎng)絡(luò)覆蓋率為實(shí)驗(yàn)指標(biāo)進(jìn)行仿真實(shí)驗(yàn)研究,以下為仿真實(shí)驗(yàn)結(jié)果。通過(guò)對(duì)實(shí)驗(yàn)結(jié)果的分析,驗(yàn)證研究方法的有效性。
此次驗(yàn)證實(shí)驗(yàn)選用NS3仿真工具作為網(wǎng)絡(luò)節(jié)點(diǎn)分組部署的仿真平臺(tái)。NS3仿真工具屬于一種開(kāi)源的離散事件網(wǎng)絡(luò)節(jié)點(diǎn)模擬器,使用C++與Java語(yǔ)言進(jìn)行編碼的語(yǔ)言實(shí)現(xiàn),同時(shí)也支持Python等語(yǔ)言腳本代碼的運(yùn)行。在物聯(lián)網(wǎng)感知層網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法的驗(yàn)證仿真實(shí)驗(yàn)當(dāng)中,借助NS3仿真工具來(lái)搭建一個(gè)多節(jié)點(diǎn)的物聯(lián)網(wǎng)感知層,其界面如圖6所示。
圖6 仿真環(huán)境生成的大規(guī)模網(wǎng)絡(luò)節(jié)點(diǎn)場(chǎng)景Fig.6 A large-scale network node scenario generated by the simulation environment
在此環(huán)境下,設(shè)置網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)的部署區(qū)域面積為100 m×100 m,總節(jié)點(diǎn)個(gè)數(shù)為100個(gè),使用隨機(jī)部署方式確定網(wǎng)絡(luò)節(jié)點(diǎn)的初始狀態(tài),物聯(lián)網(wǎng)感知層節(jié)點(diǎn)的感知半徑以及通信半徑分別為5和10 m。在此實(shí)驗(yàn)環(huán)境下,進(jìn)行仿真驗(yàn)證的具體操作。
在保證網(wǎng)絡(luò)連通性質(zhì)完好的情況下,對(duì)物聯(lián)網(wǎng)感知層節(jié)點(diǎn)分組部署方法的網(wǎng)絡(luò)覆蓋率進(jìn)行仿真實(shí)驗(yàn)驗(yàn)證。選取仿真環(huán)境中的100個(gè)節(jié)點(diǎn),平均將其分為兩組。其中編號(hào)為1~50的節(jié)點(diǎn)使用傳統(tǒng)的網(wǎng)絡(luò)節(jié)點(diǎn)部署方法進(jìn)行部署。而編號(hào)為51~100的節(jié)點(diǎn)使用設(shè)計(jì)完成的最優(yōu)節(jié)點(diǎn)分組部署方法進(jìn)行部署。規(guī)定兩組節(jié)點(diǎn)的初始部署覆蓋率為72.64%,綜合節(jié)點(diǎn)的最大與最小傳輸半徑,可以計(jì)算出每一個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)覆蓋范圍,進(jìn)而得出網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法節(jié)點(diǎn)數(shù)與分組傳輸半徑之間的關(guān)系。參考仿真實(shí)驗(yàn)中節(jié)點(diǎn)數(shù)與分組傳輸半徑的關(guān)系,可以分別得出網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法的覆蓋率計(jì)算結(jié)果。同理得出傳統(tǒng)方法節(jié)點(diǎn)數(shù)與傳輸半徑之間的關(guān)系,進(jìn)而計(jì)算傳統(tǒng)部署方法的網(wǎng)絡(luò)覆蓋率。
經(jīng)過(guò)仿真實(shí)驗(yàn)過(guò)程得到兩種方法下的節(jié)點(diǎn)數(shù)與分組傳輸半徑的關(guān)系數(shù)據(jù)如表1所示。
表1 節(jié)點(diǎn)數(shù)與分組傳輸半徑的關(guān)系表Tab.1 The relationship between the number of nodes and the packet transmission radius
網(wǎng)絡(luò)覆蓋率的計(jì)算公式為:
在物聯(lián)網(wǎng)環(huán)境下,通過(guò)使用網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法,能夠保證網(wǎng)絡(luò)覆蓋率,得到了較好的應(yīng)用結(jié)果。由于仿真實(shí)驗(yàn)當(dāng)中設(shè)置的節(jié)點(diǎn)數(shù)量較少,無(wú)法得到有關(guān)于網(wǎng)絡(luò)安全連通度的實(shí)驗(yàn)結(jié)果。因此在下一階段的工作研究當(dāng)中,需要對(duì)安全連通問(wèn)題進(jìn)行實(shí)驗(yàn)對(duì)比與驗(yàn)證,以提供更符合實(shí)際的結(jié)果,保證網(wǎng)絡(luò)最優(yōu)節(jié)點(diǎn)分組部署方法在物聯(lián)網(wǎng)感知層內(nèi)的應(yīng)用價(jià)值。