孫允鵬,侯夢媛
(1.河北地質大學信息工程學院,石家莊 050031;2.智能傳感物聯網技術河北省工程研究中心,石家莊 050031)
近年來,隨著物聯網、邊緣計算、區塊鏈等技術的不斷發展和融合,海量傳感器設備被廣泛應用于農業、工業等不同領域,目前基于云計算的集中式大數據處理模式無法滿足大規模異常數據的實時檢測需求[1-2],同時利用邊緣計算場與區塊鏈技術相結合來解決傳統數據存儲安全性差等問題必然是一種新浪潮,區塊鏈+邊緣計算將成為5G時代重要的網絡基礎設施和創新驅動力。目前采用邊緣或霧計算的異常檢測提供了一種新替代方法,即在數據源附近執行分布式異常檢測。然而,將計算從云推向邊緣將面臨嚴峻的挑戰[3-4]。
目前環境監測、智慧農業等數據傳輸都是通過無線傳感器網絡實現的,大量傳感器主要用于數據的采集、聚合和傳輸。本文主要設計了一種分層邊緣計算模型[5],由遠程云服務器、邊緣節點和傳感器節點三部分組成,將數據異常檢測任務合理地遷移到傳感器節點和邊緣節點計算處理。其次利用區塊鏈、5G智能傳輸等技術搭建一個“平臺+應用”的五層系統架構,從而滿足了數據存儲分布式去中心化需求[6-7],架構圖如圖1所示。
LoRa節點層是構成傳感器節點的主要元素,其利用多個柔性太陽能自供電高度集成擴展性強的LoRa傳感節點,對農業物聯網等領域的信息進行采集,從而實現無線低功耗效果。數據分塊層主要任務是將無線采集裝置采集的數據首先進行分塊處理,然后將分塊后的數據上傳至邊緣網關層,利用分布式原理上傳保證了網絡的健壯性以及數據溯源的便捷性。5G智能邊緣網關層主要功能是將采集到的數據進行控制轉發,一是可支持多源異構數據;二是將數據異常檢測算法部署其中,從而達到數據清洗的效果。區塊鏈平臺層主要將關鍵數據上鏈,一方面利用區塊鏈的去中心化能力保證物聯網設備傳輸數據的安全性、節點身份驗證的完整性和產品數據可溯的能力,確保了數據安全;另一方面采用邊緣節點間的獨立共識和區塊鏈安全架構,保證了網絡的安全。此外,它還可以檢測和隔離故障或受損害的節點,以保護整個系統免受任何安全攻擊,實現了安全可靠、不可篡改和全程可追溯的分布式數據庫,區塊鏈平臺架構如圖2所示。
用戶應用層主要是打造一個云邊協同的智能終端,利用自主研發的智能化管控平臺將異常檢測算法清洗后的數據進行實時顯示,從而實現數據分析與業務洞察,以便管理人員快速決策。
在無線傳感器網絡場景中,可以通過考慮來自其相鄰節點的感測數據來估計傳感器節點產生的異常值。傳統算法往往只針對單源時間序列,而忽略了相鄰節點生成的數據點之間具有很高的空間相關性。本文算法通過分析不同位置的多個傳感器的數據,對比相鄰邊緣節點中同一類型的節點間屬性的相關性來進行異常值選擇。
異常檢測算法的具體步驟如下:首先,對數據進行歸一化處理,用以消除不同標度對數據所帶來的影響;然后對邊緣節點進行編號,假設第i個邊緣節點的數據為{X1,X2,…,Xn}第i+1個邊緣節點的數據為{Y1,Y2,…,Yn},第i+2個邊緣節點的數據為{Z1,Z2,…,Zn}通過比較兩個邊緣節點的相關性,判斷節點的集體異常性。此時有公式(1):
其次設相關系數為ρ,其中σ為標準差,記得 到 公 式(2)與 公 式(3):
所以,多源數據可表示為n維向量,得到公式(4):
對于多源數據,可以轉化為利用夾角的cos值作為向量相似度,ρ的取值范圍在[-1,1],-1表示兩者完全負相關,1表示兩者完全正相關,0表示兩者完全獨立,由此可得邊緣節點的相似性,即公式(5):
如cor(ρ)<0,將此兩個邊緣節點標記為異常,再進行下一個邊緣節點比較,并通過四分數方法求出異常的邊緣節點。
最后,利用Python語言編程實現了該算法的動態演示,通過基于空間相關性的異常檢測算法對多源異構數據進行檢測。偽代碼如下:
def calc_sim_of_mat(mat1,mat2)://計算兩個矩陣之間的相似度
num=np.do(tmat1,mat2.T)//向量點乘
denom=np.linalg.norm(mat1,axis=1).reshape(-1,1)*np.linalg.norm(mat2,axis=1)//求模長的乘積
def calc_sim(data,labels,all_labels)://計算任意兩個邊緣節點間的相似度
curr_i=data[labels==all_labels[i]];//編號為i的邊緣節點
for j in range(len(all_labels)):
curr_j=data[labels==all_labels[j]];//編號為j的邊緣節點
similarity[i,j]=np.mean(calc_sim_of_ma(tcurr_i,curr_j))//兩個邊緣節點內部的余弦相似度的平均值作為這兩個邊緣節點的相似度
Return similarity;
def main()://讀取數據集,并分離數據和標簽
all_labels=lis(tse(tlabels))//所有的邊緣節點標簽
imilarity=calc_sim(data,labels,all_labels);//計 算任意兩個邊緣節點之間的相似度
sum_similarity=np.sum(similarity,axis=1)//對simi-larity每行求和
將sum_similarity中小于下四分位數的數據作為異常的邊緣節點
if__name__=='__main__':
pass
}
}
為了評估算法的性能,本文采用智慧農業試驗示范站采集的真實環境數據進行實驗。數據集選取2022年12月3日所采集的溫度、濕度、光照及PH值四項指標,傳感器每隔10分鐘采集一次,進行相關的異常檢測分析,實驗分別與DBSCAN、ODSTC算法進行了對比,為了保證實驗的效果,相同實驗重復了10次,Space-Tine方法的執行時間小于其他方法。特別是,隨著數據規模的不斷擴大,這種趨勢更加明顯。在檢測精度方面,隨著數據量的不斷增加,基于空間相關性方法的精確性要高于其他三種方法,如圖3所示。
本文首先搭建一個區塊鏈與邊緣計算技術融合的平臺+應用的系統架構,實現了“通用感知節點+場景傳感器件”的高效方案,其次在智能網關層提出了一種基于層次邊緣計算的框架模型,將云平臺任務分解到多個邊緣設備上,接著嵌入了多源異構數據異常檢測算法,對數據做進一步的清洗,旨在對農業環境事故監測做出快速決策。整個系統不僅提高了數據的安全可靠性,也提升了產品數據可溯的能力。