基于边缘计算与区块链的异常数据检测研究

2022-11-25 04:38孙允鹏侯梦媛
现代计算机 2022年17期
关键词:边缘区块节点

孙允鹏,侯梦媛

(1.河北地质大学信息工程学院,石家庄 050031;2.智能传感物联网技术河北省工程研究中心,石家庄 050031)

0 引言

近年来,随着物联网、边缘计算、区块链等技术的不断发展和融合,海量传感器设备被广泛应用于农业、工业等不同领域,目前基于云计算的集中式大数据处理模式无法满足大规模异常数据的实时检测需求[1-2],同时利用边缘计算场与区块链技术相结合来解决传统数据存储安全性差等问题必然是一种新浪潮,区块链+边缘计算将成为5G时代重要的网络基础设施和创新驱动力。目前采用边缘或雾计算的异常检测提供了一种新替代方法,即在数据源附近执行分布式异常检测。然而,将计算从云推向边缘将面临严峻的挑战[3-4]。

1 检测系统架构

目前环境监测、智慧农业等数据传输都是通过无线传感器网络实现的,大量传感器主要用于数据的采集、聚合和传输。本文主要设计了一种分层边缘计算模型[5],由远程云服务器、边缘节点和传感器节点三部分组成,将数据异常检测任务合理地迁移到传感器节点和边缘节点计算处理。其次利用区块链、5G智能传输等技术搭建一个“平台+应用”的五层系统架构,从而满足了数据存储分布式去中心化需求[6-7],架构图如图1所示。

LoRa节点层是构成传感器节点的主要元素,其利用多个柔性太阳能自供电高度集成扩展性强的LoRa传感节点,对农业物联网等领域的信息进行采集,从而实现无线低功耗效果。数据分块层主要任务是将无线采集装置采集的数据首先进行分块处理,然后将分块后的数据上传至边缘网关层,利用分布式原理上传保证了网络的健壮性以及数据溯源的便捷性。5G智能边缘网关层主要功能是将采集到的数据进行控制转发,一是可支持多源异构数据;二是将数据异常检测算法部署其中,从而达到数据清洗的效果。区块链平台层主要将关键数据上链,一方面利用区块链的去中心化能力保证物联网设备传输数据的安全性、节点身份验证的完整性和产品数据可溯的能力,确保了数据安全;另一方面采用边缘节点间的独立共识和区块链安全架构,保证了网络的安全。此外,它还可以检测和隔离故障或受损害的节点,以保护整个系统免受任何安全攻击,实现了安全可靠、不可篡改和全程可追溯的分布式数据库,区块链平台架构如图2所示。

用户应用层主要是打造一个云边协同的智能终端,利用自主研发的智能化管控平台将异常检测算法清洗后的数据进行实时显示,从而实现数据分析与业务洞察,以便管理人员快速决策。

2 异常数据检测算法

2.1 基于空间相关性多源异构数据异常检测算法

在无线传感器网络场景中,可以通过考虑来自其相邻节点的感测数据来估计传感器节点产生的异常值。传统算法往往只针对单源时间序列,而忽略了相邻节点生成的数据点之间具有很高的空间相关性。本文算法通过分析不同位置的多个传感器的数据,对比相邻边缘节点中同一类型的节点间属性的相关性来进行异常值选择。

异常检测算法的具体步骤如下:首先,对数据进行归一化处理,用以消除不同标度对数据所带来的影响;然后对边缘节点进行编号,假设第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,将此两个边缘节点标记为异常,再进行下一个边缘节点比较,并通过四分数方法求出异常的边缘节点。

2.2 实现代码

最后,利用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

3 实验结果分析

为了评估算法的性能,本文采用智慧农业试验示范站采集的真实环境数据进行实验。数据集选取2022年12月3日所采集的温度、湿度、光照及PH值四项指标,传感器每隔10分钟采集一次,进行相关的异常检测分析,实验分别与DBSCAN、ODSTC算法进行了对比,为了保证实验的效果,相同实验重复了10次,Space-Tine方法的执行时间小于其他方法。特别是,随着数据规模的不断扩大,这种趋势更加明显。在检测精度方面,随着数据量的不断增加,基于空间相关性方法的精确性要高于其他三种方法,如图3所示。

4 结语

本文首先搭建一个区块链与边缘计算技术融合的平台+应用的系统架构,实现了“通用感知节点+场景传感器件”的高效方案,其次在智能网关层提出了一种基于层次边缘计算的框架模型,将云平台任务分解到多个边缘设备上,接着嵌入了多源异构数据异常检测算法,对数据做进一步的清洗,旨在对农业环境事故监测做出快速决策。整个系统不仅提高了数据的安全可靠性,也提升了产品数据可溯的能力。

猜你喜欢
边缘区块节点
基于图连通支配集的子图匹配优化算法
结合概率路由的机会网络自私节点检测算法
面向复杂网络的节点相似性度量*
采用贪婪启发式的异构WSNs 部分覆盖算法*
《红楼梦》的数字化述评——兼及区块链的启示
区块链助跑财资管理
一场区块链引发的全民狂欢
区块链助力企业创新
一张图看懂边缘计算
在边缘寻找自我