童 星
(青島理工大學,山東 臨沂 273400)
近些年,物聯網傳輸技術得以快速發展,物聯網已普遍應用于信息交互等多個研究領域[1]。由于在實際的物聯網數據傳輸過程中,傳輸流內部節點可控性較低,因此,容易出現傳輸擁堵、傳輸節點丟包等問題,導致網絡整體性能下降。同時,若在數據傳輸的過程中,網絡環境的安全性得不到有效保障,也容易提高傳輸流節點發生丟包的概率[2,3]。也正因如此,數據流丟包問題已成為相關領域中的重點研究課題之一。
傳統的傳輸流丟包節點檢測方法主要有以下三種:
1)文獻[4]中提出運用分布式算法的傳輸流節點丟包檢測方法,該方法主要是對鄰近節點接收指令進行檢測,然后用局部最優節點來替換丟包節點。這種方法雖然可以有效檢測出丟包節點并對其進行處理,但存在檢測效率偏低的問題,不適用于大范圍網絡。
2)文獻[5]中提出基于非線性狀態估計的節點丟包故障檢測方法,利用每個節點的特征對惡意丟包的節點進行檢測,在實際檢測的過程中需要對網絡內部所有的傳輸事件源進行估計,根據計算結果對全部需要檢測的節點濾波處理,并且保存沒有丟包的節點,從而判斷丟包節點。然而這一過程會導致節點轉發率較低。
3)文獻[6]中提出基于安全路徑的傳輸流丟包節點檢測方法,首先構建一個對應的網絡模型,并且對這個模型內部節點的狀態進行判定,然后運用一定的概率事件來對可以節電發送檢測請求,再通過反饋回來的信息進行分析。這種檢測方法雖然可以有效的對節點進行檢測,但對丟包節點的定位精準度較差。
基于傳統方法存在的問題,引入相似度計算過程,對物聯網傳輸流丟包節點進行檢測。過程如下:首先構建節點分布模型,并運用傳輸的信息熵結果建立傳輸分布信道模型,根據丟包檢測的基本原理對傳輸節點進行分類檢測處理,通過節點感測向量檢測完成對物聯網傳輸流丟包節點的檢測,并通過仿真實驗結果表明了該方法具有較高的實用性。
在分析物聯網傳輸節點丟包情況的過程中,首先將需要對物聯網中傳感器節點的最優分布密度模型進行分析。因此,本研究運用二元有向圖G=(V,E)來對其結構進行描述,其中,V表示分布在空間探測區域的物聯網傳感節點頂點集,E表示為物聯網在傳感節點覆蓋區域G中所有邊的集合[7],繼而可獲取物聯網傳輸節點的分布模型。
在物聯網傳感器節點分布模型中,采用多通道結構模型對物聯網中傳感器的Sink點進行描述,在物聯網傳輸流f中,每個節點xn的傳輸能量為W,則可得到數據流傳輸過程的先驗決策函數如下

(1)
式(1)中,e1和e2分別表示鏈路層和傳輸層的傳輸碼元。由于發射節點的功率p與傳輸能量密切相關,由此則可得到數據流傳輸過程的特征量C為

(2)
式(2)中,t表示時間尺度,?為物聯網節點密度的加權系數。在此基礎上,假設將物聯網傳感節點能量耗散值記為B,得到數據傳輸過程的傳輸節點分布模型如下

(3)
式(3)中,v表示數據流中信息量的增長速度。
為了對物聯網傳輸流中所有需要檢測節點進行匹配,需對一個節點的所有鄰近節點進行處理[8]。因此,假設若在一個邊長為M的正方形的檢測區域中,路由中繼節點的數量是m,其中傳輸流的帶寬為b,計算在物聯網中兩個相鄰傳輸節點集合中的信道衰減量為

(4)
在對節點進行定位的過程中,采用自適應鏈路重組以及輪換方法得到節點傳輸的分配和均衡系數分別為δ和τ[9],在此基礎上,構建物聯網中傳輸點的目標函數為

(5)
式(5)中,Eelect表示節點鏈路的瞬時功耗,l表示傳輸路徑長度。
根據上述計算結果,結合每條傳輸信道內的簇頭c及其與對應的Sink點間的距離L,得到傳輸任務信道分布模型為

(6)
式(6)中,i表示物聯網中的傳輸信道總數量,且i=1,2,…,n。
在對物聯網中丟包節點進行檢測的過程中,所應用到的檢測原理如下:運用基于似然的多元分類算法對已知類別的節點進行狀態檢測[10],在此基礎上,生成對未知類別節點分類的分類器,然后對丟包節點進行下步分類,直到完成整個檢測的過程。
假設在物聯網數據傳輸的過程中,發生丟包的節點共含有k個類別,{1,2,…,k},那么對于隨意一個節點樣本xt來說,已知p(C|x),其中C表述為任意一個丟包節點樣本xt的種類分別,那么假設j∈{1,2,…,k},j≠i,且xt是屬于物聯網內部丟包樣本中的第i類,便有
p(C=i|xt)>p(C=j|xT)
(7)
根據上式結果,結合固定的貝葉斯理論,可得到下式

(8)
上述各公式中,p(C)表示物聯網內部丟包節點的先驗概率,p(x|C)和p(x)則分別表示丟包節點的類似然值和后驗概率。


(9)
對于任意位置、任意種類的丟包節點樣本xt來說,將其代入到上述各式中,經過計算后再選取出具有最大后驗概率的類別來作為這個樣本的分類[11],即

(10)
根據上式計算結果,結合物聯網數據傳輸流丟包節點中所有類別取值最大的似然值α,將物聯網內部丟包節點度描述為下式

(11)
式(11)中,y表示節點在傳輸數據之后可能剩余的節點能量,u表示傳輸節點的多徑向衰減量。
對于物聯網內部沒有標記的丟包節點U中未標記丟包節點的樣本向量xt來說,如果滿足下述表達式
gi=(gkxt)max
(12)
那么,便有xt∈C的結果,這樣U中全部的丟包節點就都能夠被檢測出來。
參照上述丟包節點檢測的原理,為進一步加強對丟包節點的檢測效率,對物聯網中節點展開感測向量處理,并根據節點數據向量特有的相對跨度和實際節點之間的像素度來做對應的判定,主要實現過程如下:
首先,對物聯網中鄰近節點序列相似度進行測量計算,然后根據該節點將其描述為丟包節點的判定條件,這樣便有:

(13)
式(13)中,di(t)表示物聯網內部的第i個節點在某一時間t內的鄰近節點序列相似度。
在此基礎上,假設q表示物聯網內部那一個節點,那么就可以將這個節點的感測量用qm描述,則這樣數據節點間的相對距離就可以寫為

(14)
在獲得上式計算結果的基礎上,假設整個物聯網內部的節點數據向量全部有變小的趨勢,那么就可以間接的證明出內部節點具有較高的相似性。根據上述相對距離的表達式,可以進一步計算出物聯網內部兩個相鄰的x1節點和x2節點的整體相似度,其表達式為

(15)
在此基礎上,采用IKruskal算法來獲取網絡中可信的節點集合VE,然后將VE在其節點內部簇中進行擴散,這樣VE內的各節點可以運用分布式方法來獲取出網絡中部分可信節點,并將其作為參考對象。在完成節點相似度計算后,本文將采用比較算法來對丟包節點的實時狀態進行判定,然后再結合物聯網內部節點和相鄰節點在時間域中的相似值進行丟包節點檢測。
假設運用布爾變量來對節點的具體工作狀態進行描述,那么就可以使用常數0或1來描述物聯網內部傳輸數據的節點是否處于正常的運行狀態或是產生的部分丟包的情況。在此基礎上,結合網絡內部相鄰節點測量取值所呈現出的空間相關性特征,即可經過對兩個相鄰的x1節點和x2節點的運行狀態來進行判定,判定過程的表達式為

(16)
式(16)中,ξ表示某個指定的經驗數據,c表示物聯網中臨近節點的測量向量取值。
將內部節點與其鄰近節點在不同時間呈現出的狀態進行對比,判斷它們在不一致的時間域中存有的相似值Y,從而得到物聯網傳輸流丟包節點檢測過程如下:
K=Y×a×h+θ
(17)
式(17)中,將a描述兩節點在任意一段時間內所呈現出的感知數據,這種數據為兩個節點是否具有相似度而提供了判定依據,θ表示為節點預定的閾值,并以此來表示對內部節點出現偶然丟包性所具有的容忍度。
為驗證基于相似度計算的物聯網傳輸流丟包節點檢測方法的有效性與適用性,以文獻[4]中的運用分布式算法的傳輸流節點丟包檢測方法、文獻[5]中的基于非線性狀態估計的節點丟包故障檢測方法以及文獻[6]中的基于安全路徑的傳輸流丟包節點檢測方法作為對比方法。在如表1所示的仿真環境中進行對比實驗。

表1 實驗參數設置情況
以表1中實驗參數為基礎,進行實驗研究,具體結果如下分析。
首先測試不同方法的檢測過程耗時情況,結果如圖1所示。

圖1 檢測耗時對比
分析圖1中的結果可知,隨著實驗次數的逐漸增加,不同方法檢測過程所需時間也在不斷變化。文獻[4]方法和文獻[6]方法的檢測過程耗時較為接近,文獻[5]方法的檢測耗時最高,高于1000ms。相比之下,文獻[4]方法和文獻[6]方法的檢測過程耗時略低,但也多于本文方法的檢測過程耗時。由此可知,本文方法的檢測過程耗時最短,說明該方法檢測效率最高。
測試不同方法的丟包節點定位精準度,結果如圖2所示。

圖2 不同方法丟包節點定位精準度對比
分析圖2所示結果可知,與傳統的檢測方法相比,利用本文方法對丟包節點進行檢測,可以使節點定位的精準度大大提高,最高的丟包率高于90%,明顯高于另外幾種檢測方法。由此可知,本文方法能夠有效保證丟包節點過程的有效性。
最后,測試不同方法的節點轉發率,節點轉發率表示傳輸過程中成功傳輸或轉發的數據流數目占總發送數據的具體比例,是一種用來定義物聯網傳輸流節點檢測方法有效性的重要檢驗標準,其計算過程如下:

(18)
式(18)中,Nf、Nenter和Nout分別用于描述節點轉發率、數據輸入數量以及輸出數量。
具體測試結果如圖3所示。

圖3 不同方法節點轉發率對比
分析圖3可知,在多次實驗中,四種方法的節點轉發率均穩步上升,但是本文方法的節點轉發率明顯高于另外3種對比方法的節點轉發率。由此可知,本文方法能夠保證傳輸流的完整性,檢測過程有效性和可靠性更強。
綜上所述,與3種傳統的傳統檢測方法相比,本文所研究的基于相似度計算的物聯網傳輸流丟包節點檢測方法具有更高的檢測效率,同時,該方法還通過節點相似度計算提高了對丟包節點定位的精準度,同時也保證了較高程度的節點轉發率,整體應用效果較好。
隨著物聯網傳輸技術的快速發展,傳統的丟包節點檢測方法已經不能夠滿足于現階段該項技術發展的基本需求,基于此,本文在相似度計算的基礎上,提出一種物聯網傳輸流丟包節點檢測方法,根據丟包檢測原理,將對節點進行感測向量檢測處理,并對跨度和實際節點之間的像素度來做對應的判定。仿真實驗結果表明,該方法檢測過程效率較高,且能夠精準檢測出丟包節點位置,確保了較高的節點轉發率,為提高數據傳輸效率奠定了堅實的基礎。