1.本发明涉及区块链技术领域,具体涉及一种基于区块链的传感器异常检 测方法、装置及系统。
背景技术:2.无线传感器网络通常部署在无人值守的和恶劣的环境中,进行无线传感 器网络实时采集监测区域内的环境信息,如温度、湿度、亮度和压强等。其 容易受到外界恶劣的环境因素影响其检测能力。而在高危生产线上的传感器 则更容易受到影响,而为了防止传感器的异常,则需要频繁的进行人工检查, 而在检查过程中,为了保证检测人员的人身安全,则需要完全停止或部分停 止生产线,对企业造成巨大的经济负担。
3.而目前对上述问题,一般是通过将检测数据发送至统一的服务器进行异 常情况的检测,从而确定传感器是否存在异常问题,而由于在生产线上传感 器众多且繁杂,在检测时服务器需要耗费巨大计算量,并且计算效率低下; 而由于是中心化计算方案,当服务器被攻击时,容易造成大范围传感器的错 检,严重威胁生产线的安全。
技术实现要素:4.鉴于所述问题,提出了本技术以便提供克服所述问题或者至少部分地解 决所述问题的一种基于区块链的传感器异常检测方法、装置及系统,包括:
5.一种基于区块链的传感器异常检测方法,所述方法用于对生产线上的传 感器的运行参数异常进行检测,所述方法涉及区块链终端、传感器和用户终 端;其中,所述区块链终端具有无线自组织功能和网关功能,且存有功能区 间参考状况参数;所述区块链终端和所述传感器分别设置于所述生产线中各 功能区间内;所述区块链终端分别与用户终端和传感器连接;具体地,不同 功能区间内的区块链终端和传感器互不相连;所述传感器用于采集功能区间 状况参数,并周期性将所述功能区间状况参数进行加密后发送至对应的区块 链终端;其中,所述功能区间状况参数包括环境参数和设备运行状态参数;
6.所述方法包括:
7.所述区块链终依据从所述传感器接收的所述功能区间状况参数以及所 述功能区间参考状况参数,生成对应于所述功能区间状况参数与所述功能区 间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;
8.当所述比较结果为有误时,所述区块链终端则依据所述比较结果生成所 述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所述功能 区间报警参数和所述功能区间状况参数;所述用户端用于接收所述功能区间 状况参数和/或功能区间报警参数。
9.进一步地,所述方法还包括:
10.所述区块链终端采集在标准工作状态下生产线上各个所述功能区间的 功能区间标准状况参数,并将所述功能区间标准状况参数通过z-score标准 化方法进行归一化生成
标准状况参数集;
11.所述区块链终端依据随机哈希函数对所述标准状况参数集进行降维,生 成降维参数集;
12.所述区块链终端依据主次哈希函数对所述降维参数集进行集映射分桶, 并分别确定所述标准状况参数集的维度均值和分桶后的降维参数集的维度 均值;
13.所述区块链终端将所述标准状况参数集和分桶后的降维参数集中维度 均值差最大的维度设置为分割属性,将所述分割属性对应的分桶后的降维参 数集的维度均值作为分割点;
14.所述区块链终端依据所述分割属性、所述分割点和预设的树限制高度建 立对应于所述标准状况参数集的隔离森林的隔离树。
15.进一步地,所述区块链终依据从所述传感器接收的所述功能区间状况参 数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所 述功能区间参考状况参数的比较结果的步骤,包括:
16.将所述功能区间状况参数分别进行归一化和降维,生成降维验证参数;
17.将所述降维验证参数依次放入所述隔离森林的隔离树中,确定每项参数 的路径长度和异常得分;
18.依据所述异常得分和预设的得分阈值确定所述比较结果。
19.进一步地,所述区块链终端采集在标准工作状态下生产线上各个所述功 能区间的功能区间标准状况参数,并将所述功能区间标准状况参数通过 z-score标准化方法进行归一化生成标准状况参数集的步骤,包括:
20.设置无线传感器网络节点s={sj:j=1,2,
…
m}每隔一个固定时间间 隔δt,各个节点收集一组功能区间标准状况参数并将其发送给基站;其中, 节点sj记录的一组功能区间标准状况参数是一个p维的向量vj=(v
j1
,v
j2
,
…
, v
jp
),vj∈r
p
,其中p表示功能区间标准状况参数的类型数;在下一个δt内, 基站将收到n组功能区间标准状况参数v={v1,v2,
…
vn},其中,组数n 与节点id无关;
21.定义功能区间标准状况参数集v的维度均值为:
[0022][0023]
式中,时间t是检测特征的接收时间;定义时间段[0,t]内收到的检测 特征集为训练数据,其表示为矩阵x
t
={x1,x2,
…
,xk},k=t/δt。
[0024]
进一步地,所述随机哈希函数为:
[0025][0026]
其中,α是从满足p-稳定分布函数中随机抽样得到的q维向量,β是一 个在上均匀分布的随机变量;哈希函数h
α,β
(υ):rq→
z能把一个q维向 量υ映射到整数集上;[:]为向下取整操作;数据集经过l个随机哈希函数 h=(h1(υ),h2(υ),λ,h
l
(υ))降维映射后得到一个l维向量v=(v1,v2,
…
,v
l
)。
[0027]
进一步地,所述区块链终端依据主次哈希函数对所述降维参数集进行集 映射分
桶,并分别确定所述标准状况参数集的维度均值和分桶后的降维参数 集的维度均值的步骤,包括:
[0028]
通过主哈希函数g1公式和次哈希函数g2公式计算得出对应的主哈希 函数值g1和次哈希函数值g2:
[0029][0030][0031]
将主哈希函数值g1=次哈希函数值g2的参数分配至同一个桶内;
[0032]
对各个桶内哈希值进行统计数量,若桶内数量大于等于隔离森林子采样 大小,则筛选出满足条件的所有的桶;
[0033]
将筛选出的桶内的参数所对应的索引号排序,并从[v]
n*l
中选出索引号 中一一对应的每一条记录,从而组成桶所对应的经过降维子采样的新数据集 [a]
k*l
,k《n,n为桶个数;
[0034]
分别确定桶内所述标准状况参数集的维度均值和分桶后的降维参数集 的维度均值。
[0035]
进一步地,所述分别确定桶内所述标准状况参数集的维度均值和分桶后 的降维参数集的维度均值的步骤,包括:
[0036]
计算新数据集的维度均值具体包括:将新数据集[a]
k*l
作为改进后的隔 离森林算法的输入数据集,若有l个维度,l个维度分别计算均值v
new
,将 矩阵xt的列均值μ和v
new
分别对应索引后,求出均值差m
li
,找出m
li
最 大值对应的属性li作为分割属性,v
newi
作为分割点。
[0037]
进一步地,所述将所述降维验证参数依次放入所述隔离森林的隔离树中, 确定每项参数的路径长度和异常得分的步骤,包括:
[0038]
将实时数据点放入构建的隔离树中,记录数据点在树中的平均路径长度 c(n)和异常得分s(x,n):
[0039][0040][0041]
其中,e(h(x))为样本x在隔离树中的路径长度的期望。
[0042]
一种基于区块链的传感器异常检测装置,所述装置用于对生产线上的传 感器的运行参数异常进行检测,所述装置涉及区块链终端、传感器和用户终 端;其中,所述区块链终端具有无线自组织功能和网关功能,且存有功能区 间参考状况参数;所述区块链终端和所述传感器分别设置于所述生产线中各 功能区间内;所述区块链终端分别与用户终端和传感器连接;具体地,不同 功能区间内的区块链终端和传感器互不相连;所述传感器用于采集功能区间 状况参数,并周期性将所述功能区间状况参数进行加密后发送至对应的区块 链终端;其中,所述功能区间状况参数包括环境参数和设备运行状态参数;
[0043]
所述装置包括:
[0044]
比较结果生成模块,用于依据从所述传感器接收的所述功能区间状况参 数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所 述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;
[0045]
功能区间报警参数生成模块,用于当所述比较结果为有误时,则依据所 述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向所述用 户端发送所述功能区间报警参数和所述功能区间状况参数;所述用户端用于 接收所述功能区间状况参数和/或功能区间报警参数。
[0046]
一种基于区块链的传感器异常检测系统,所述系统用于对生产线上的传 感器的运行参数异常进行检测,所述系统涉及区块链终端、传感器和用户终 端;其中,所述区块链终端具有无线自组织功能和网关功能,且存有功能区 间参考状况参数;所述区块链终端和所述传感器分别设置于所述生产线中各 功能区间内;所述区块链终端分别与用户终端和传感器连接;具体地,不同 功能区间内的区块链终端和传感器互不相连;所述传感器用于采集功能区间 状况参数,并周期性将所述功能区间状况参数进行加密后发送至对应的区块 链终端;其中,所述功能区间状况参数包括环境参数和设备运行状态参数;
[0047]
所述区块链终端用于认证传感器,通过无线自组织网络和以太网的双向 数据转发和协议转换解密接收的传感器数据进行存储和并行计算,以及通过 智能合约进行区块链终端间数据共享;
[0048]
所述区块链终端还用于依据从所述传感器接收的所述功能区间状况参 数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所 述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;
[0049]
所述传感器用于采集功能区间内的环境参数和设备运行状态参数,并将 所述环境参数和所述设备运行状态参数周期性加密发送至对应的区块链终 端;
[0050]
所述区块链终端还用于当所述比较结果为有误时,则依据所述比较结果 生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所 述功能区间报警参数和所述功能区间状况参数;
[0051]
所述用户端用于接收所述功能区间状况参数和/或功能区间报警参数;
[0052]
所述用户终端还用于与区块链终端进行数据交互,显示生产线现场各功 能区间中的环境参数和所述设备运行状态参数,并对传感器以及各功能区间 中的生产设备进行控制。
[0053]
本技术具有以下优点:
[0054]
在本技术的实施例中,通过所述区块链终依据从所述传感器接收的所述 功能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区 间状况参数与所述功能区间参考状况参数的比较结果;其中,所述比较结果 包括无误和有误;当所述比较结果为有误时,所述区块链终端则依据所述比 较结果生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端 发送所述功能区间报警参数和所述功能区间状况参数;所述用户端用于接收 所述功能区间状况参数和/或功能区间报警参数。通过区块链技术去中心化机 制,免除了搭建服务器高昂的成本;通过将数据分布式存储在各个区块链终 端,有效防止了数据丢失和数据被篡改,提高了数据安全性;通过各区块链 终端进行独立并行计算,提高了整体的计算能力和运行效率。
附图说明
[0055]
为了更清楚地说明本技术的技术方案,下面将对本技术的描述中所需要 使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的 一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提 下,还可以根据这些附图获得其他的附图。
[0056]
图1是本技术一实施例提供的一种基于区块链的传感器异常检测方法的 步骤流程图;
[0057]
图2是本技术一实施例提供的一种基于区块链的传感器异常检测装置的 结构框图;
[0058]
图3是本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0059]
为使本技术的所述目的、特征和优点能够更加明显易懂,下面结合附图 和具体实施方式对本技术作进一步详细的说明。显然,所描述的实施例是本 申请一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域 普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属 于本技术保护的范围。
[0060]
参照图1,示出了本技术一实施例提供的一种基于区块链的传感器异常 检测方法,所述方法用于对生产线上的传感器的运行参数异常进行检测,所 述方法涉及区块链终端、传感器和用户终端;其中,所述区块链终端具有无 线自组织功能和网关功能,且存有功能区间参考状况参数;所述区块链终端 和所述传感器分别设置于所述生产线中各功能区间内;所述区块链终端分别 与用户终端和传感器连接;具体地,不同功能区间内的区块链终端和传感器 互不相连;所述传感器用于采集功能区间状况参数,并周期性将所述功能区 间状况参数进行加密后发送至对应的区块链终端;其中,所述功能区间状况 参数包括环境参数和设备运行状态参数;
[0061]
所述方法包括:
[0062]
s110、所述区块链终依据从所述传感器接收的所述功能区间状况参数以 及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所述功 能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;
[0063]
s120、当所述比较结果为有误时,所述区块链终端则依据所述比较结果 生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所 述功能区间报警参数和所述功能区间状况参数;所述用户端用于接收所述功 能区间状况参数和/或功能区间报警参数。
[0064]
在本技术的实施例中,通过所述区块链终依据从所述传感器接收的所述 功能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区 间状况参数与所述功能区间参考状况参数的比较结果;其中,所述比较结果 包括无误和有误;当所述比较结果为有误时,所述区块链终端则依据所述比 较结果生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端 发送所述功能区间报警参数和所述功能区间状况参数;所述用户端用于接收 所述功能区间状况参数和/或功能区间报警参数。通过区块链技术去中心化机 制,免除了搭建服务器高昂的成本;通过将数据分布式存储在各个区块链终 端,有
效防止了数据丢失和数据被篡改,提高了数据安全性;通过各区块链 终端进行独立并行计算,提高了整体的计算能力和运行效率。
[0065]
下面,将对本示例性实施例中的基于区块链的传感器异常检测方法作进 一步地说明。
[0066]
如上述步骤s110所述,所述区块链终依据从所述传感器接收的所述功 能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区间 状况参数与所述功能区间参考状况参数的比较结果;其中,所述比较结果包 括无误和有误。
[0067]
需要说明的是,所述区块链终端部署于工业生产线的各个功能区间,分 别与用户终端和该工业生产线的各个功能区间内设置的传感器连接,所述区 块链终端与工业生产线的各个功能区间一一对应,具有认证传感器,解密接 收的传感器数据进行存储和并行计算的功能,并且还能通过智能合约与不同 功能区间内的区块链终端间进行数据共享;所述传感器,用于采集环境参数 和设备运行状态参数,将其作为数据周期性的加密发送至与其直接连接的区 块链终端;所述用户终端,用于与区块链终端进行数据交互。
[0068]
需要说明的是,所述传感器可以通过无线传感网络将采集的环境参数和 设备运行状态参数发送至与其直接连接的区块链终端。
[0069]
区块链具有多中心,弱中心化的特质,具有和物联网相似的分散化拓扑 结,基于区块链技术所搭建的无中心化工业生产线物联网监控方法,具有以 下优点:
[0070]
实现数据的分布式存储使信息不可篡改,保证数据安全;通过非对称加 密技术进行加密,保障数据传输安全性和用户的隐私性;通过多个区块链终 端进行交互,进行并行计算实现全局优化,提高了计算能力,提高了监控系 统的响应速度和运行效率;通过区块链智能合约实现数据共享。
[0071]
作为一种示例,将工业生产线设置为由若干相似的功能区间,各个功能 区间设置一个区块链终端,负责对相应的功能区间内进行本地局部管理优化, 并通过智能合约与其它功能区间的区块链终端进行交互协作,通过并行计算 实现无中心系统的最优控制,通过工作量证明的共识机制达成共识,智能产 生设备的操作信息、运行状态信息、环境信息的聚合数据存储在idsb(iotdata storage blockchain,物联网数据存储链)中。
[0072]
作为一种示例,所述功能区间内一般设置有若干个设备,各区块链终端 通过lora、485等通信方式对所管理的功能区间的传感器进行监控,收集和 处理传感器信息,具有相同的处理计算、数据存储能力,充分发挥独立处理 计算的能力,完成无中心网络的并行计算,以自组织的方式完成全局的优化 控制管理,与用户终端进行通信查询数据并下发控制命令。
[0073]
作为一种示例,所述用户终端与区块链终端进行数据交互,通过人机界 面显示该生产线内目标功能区间或所有功能区间的各种环境参数和/或设备 工作状态参数,或,通过发送控制命令只区块链终端对所述传感器所连接的 生产设备进行控制。以实现对生产设备的远程监控、远程运维以及远程服务。 其中,所述用户终端可以为部署在生产线功能区间外的控制中心,也可以为 手机、平板电脑等可移动设备。
[0074]
作为一种示例,传感器可以是具有检测温度、湿度和光照中至少一种功 能的传感器,还可以是特定的气体检测终端(如:甲烷、一氧化碳、二氧化 碳等),还可以是具有人体检测功能的检测终端等具有环境检测属性的终端。
[0075]
在本发明一实施例中,可以结合下列描述进一步说明步骤s110所述“所 述区块链终依据从所述传感器接收的所述功能区间状况参数以及所述功能 区间参考状况参数,生成对应于所述功能区间状况参数与所述功能区间参考 状况参数的比较结果”的具体过程。
[0076]
如下列步骤所述,将所述功能区间状况参数分别进行归一化和降维,生 成降维验证参数;
[0077]
如下列步骤所述,将所述降维验证参数依次放入所述隔离森林的隔离树 中,确定每项参数的路径长度和异常得分;
[0078]
作为一种示例,将实时数据点放入构建的隔离树中,记录数据点在树中 的平均路径长度c(n)和异常得分s(x,n):
[0079][0080][0081]
其中,e(h(x))为样本x在隔离树中的路径长度的期望。
[0082]
如下列步骤所述,依据所述异常得分和预设的得分阈值确定所述比较结 果。
[0083]
作为一种示例,将异常得分与预设的得分阈值进行迭代计算比较,若异 常得分大于等于阈值,数据点被判定为有误;若异常得分小于阈值,数据点 被判定为无误
[0084]
在本发明一实施例中,所述新区块的内容包括区块头和区块体,所述区 块头包括父区块头哈希值、merkle树根值、时间戳、区块大小、难度目标值 和随机数值;所述区块体中的数据内容为对应的所述传感器上传的功能区间 状况参数,所述数据内容格式包括时间戳、传感器标识、工作状态或环境参 数值。
[0085]
如上述步骤s120所述,当所述比较结果为有误时,所述区块链终端则 依据所述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向 所述用户端发送所述功能区间报警参数和所述功能区间状况参数;所述用户 端用于接收所述功能区间状况参数和/或功能区间报警参数。
[0086]
在本发明一实施例中,所述方法还包括:
[0087]
如下列步骤所述,所述区块链终端采集在标准工作状态下生产线上各个 所述功能区间的功能区间标准状况参数,并将所述功能区间标准状况参数通 过z-score标准化方法进行归一化生成标准状况参数集;
[0088]
作为一种示例,设置无线传感器网络节点s={sj:j=1,2,
…
m}每隔 一个固定时间间隔δt,各个节点收集一组功能区间标准状况参数并将其发送 给基站;其中,节点sj记录的一组功能区间标准状况参数是一个p维的向量 vj=(v
j1
,v
j2
,
…
,v
jp
),vj∈r
p
,其中p表示功能区间标准状况参数的类型数; 在下一个δt内,基站将收到n组功能区间标准状况参数v={v1,v2,
…
vn}, 其中,组数n与节点id无关;
[0089]
定义功能区间标准状况参数集v的维度均值为:
[0090][0091]
式中,时间t是检测特征的接收时间;定义时间段[0,t]内收到的检测 特征集为训练数据,其表示为矩阵x
t
={x1,x2,
…
,xk},k=t/δt。
[0092]
如下列步骤所述,所述区块链终端依据随机哈希函数对所述标准状况参 数集进行降维,生成降维参数集;
[0093]
作为一种示例,所述随机哈希函数为:
[0094][0095]
其中,α是从满足p-稳定分布函数中随机抽样得到的q维向量,β是一 个在上均匀分布的随机变量;哈希函数h
α,β
(υ):rq→
z能把一个q维向 量υ映射到整数集上;[:]为向下取整操作;数据集经过l个随机哈希函数 h=(h1(υ),h2(υ),λ,h
l
(υ))降维映射后得到一个l维向量v=(v1,v2,
…
,v
l
)。
[0096]
如下列步骤所述,所述区块链终端依据主次哈希函数对所述降维参数集 进行集映射分桶,并分别确定所述标准状况参数集的维度均值和分桶后的降 维参数集的维度均值;
[0097]
作为一种示例,通过主哈希函数g1公式和次哈希函数g2公式计算得 出对应的主哈希函数值g1和次哈希函数值g2:
[0098][0099][0100]
将主哈希函数值g1=次哈希函数值g2的参数分配至同一个桶内;
[0101]
对各个桶内哈希值进行统计数量,若桶内数量大于等于隔离森林子采样 大小,则筛选出满足条件的所有的桶;
[0102]
将筛选出的桶内的参数所对应的索引号排序,并从[v]
n*l
中选出索引号 中一一对应的每一条记录,从而组成桶所对应的经过降维子采样的新数据集 [a]
k*l
,k《n,n为桶个数;
[0103]
分别确定桶内所述标准状况参数集的维度均值和分桶后的降维参数集 的维度均值。
[0104]
在一具体实现中,分别确定桶内所述标准状况参数集的维度均值和分桶 后的降维参数集的维度均值的步骤,可以为:计算新数据集的维度均值具体 包括:将新数据集[a]
k*l
作为改进后的隔离森林算法的输入数据集,若有l 个维度,l个维度分别计算均值v
new
,将矩阵xt的列均值μ和v
new
分别对 应索引后,求出均值差m
li
,找出m
li
最大值对应的属性li作为分割属性, v
newi
作为分割点
[0105]
所述区块链终端将所述标准状况参数集和分桶后的降维参数集中维度 均值差最大的维度设置为分割属性,将所述分割属性对应的分桶后的降维参 数集的维度均值作为分割点;
[0106]
所述区块链终端依据所述分割属性、所述分割点和预设的树限制高度建 立对应于所述标准状况参数集的隔离森林的隔离树。
[0107]
在本发明一实施例中,所述用户终端用于向所述区块链终端发送查询请 求;其中,所述查询请求包括功能区间标识;所述方法还包括:
[0108]
当接收到所述查询请求时,所述区块链终端依据所述功能区间标识确定 对应的所述功能区间状况参数,并将所述功能区间状况参数反馈至所述用户 终端。
[0109]
需要说明的是,区块链综合了分布式存储、共识机制、加密算法、智能 合约等技术,广泛应用于数字支付、云计算、物联网、共享经济等多个领域, 具有去中心化、不可篡改、身份匿名、集体维护、规则透明等特点。
[0110]
分布式存储,将数据分散存储在多个网络节点上,各网络节点地位平等, 通过p2p网络进行广播,存储相同的区块数据副本,防止因中心出现故障引 起的数据丢失。
[0111]
共识机制,由于各网络节点的计算和通信上存在差异,会造成区块不一 致,因此通过共识机制达成共识,建立信任,存储一致的区块数据。
[0112]
采用工作量证明的共识机制建立网络节点之间的信任,网络节点一边接 收其余网络节点转发的数据,一边进行工作量证明的数学运算,网络节点一 直在寻找随机数,将区块头的元素进行哈希运算,使得到的哈希数值小于或 等于目标哈希值,最先找到满足条件的随机数的网络节点,获得生成新区块 的权利。
[0113]
加密算法,哈希运算将任意长度的数据生成256位的二进制值,用于数 据加密和工作量证明过程,能够保证数据的完整性并防止数据被篡改。
[0114]
非对称加密算法由一对私钥和公钥组成,公钥公开,私钥保密,公钥加 密的数据使用对应的私钥进行解密,私钥加密的数据使用对应的公钥进行解 密。非对称加密的两种用途为数据加密和数字签名。
[0115]
数字签名用以验证数据的真实性和正确性,数据经过两次sha256哈希 运算生成256位哈希值,再使用私钥签名哈希值得到数字签名,使数据不能 被伪造。数据加密是将数据和数字签名进行使用接收方的公钥加密得到最终 数据,有效防止数据泄露。
[0116]
智能合约,是由事件驱动的、具备状态的、部署于可共享的分布式数据 库上的链上代码,存储数据交换的规则。智能合约代码经过网络节点的广播、 验证后记入区块链特定地址并存储在每个网络节点中,包括数据共享的流程、 条件等,当一个预先设定的条件被触发时,智能合约执行相应的合同条款。
[0117]
在本发明一实施例中,当需要接入待授权传感器时,所述待授权传感器 用于上传注册信息至处于连接状态的区块链终端;所述方法还包括:
[0118]
所述区块链终端对所述注册信息通过智能合约进行认证,并通过共识机 制鉴定所述待授权传感器的合法性,得到认证信息存储于各区块链终端;
[0119]
所述区块链终端通过智能合约依据认证信息设置所述待授权传感器的 访问权限;
[0120]
当注册成功时,所述区块链终端生成对应于所述待授权传感器的公钥地 址和私钥地址,并发送至所述待授权传感器。
[0121]
需要说明的是,物联网中通过接入认证技术来防止未授权传感器设备连 接到生产设备物联网系统,发起恶意攻击,传感器设备使用之前扫描二维码 进行设备注册,传感器上报注册信息到区块链终端,各区块链终端对上报的 设备信息通过智能合约进行认证,通过共识机制鉴定设备的身份是否合法, 认证通过后将结果反馈至区块链网络中,认证信息存储在区块链之中,并且 可以通过智能合约设置设备访问权限,保证接入物联网的传感器的合法性。
[0122]
需要说明的是,传感器计算能力有限,只进行加密和传输,将加密后的 数据发送至区块链终端,使用验证机制对数据进行验证,传感器随时通过注 册加入或者因为发生故障而退出无线自组织网络,系统为每个传感器生成一 对基于ecdsa圆曲线算法的公钥和私钥地址,公钥地址相当于物联网设备的 id号,通过公钥地址便可获取该传感器的感知数据,通过非对称加密实现 iot设备可靠的数据传输,对于无法进行签名、加密等运算的传感器,可通 过集成安全芯片提升运算能力。
[0123]
其中,传感器sti遵循一定的时间周期通过无线传感网络将环境参数或 设备运行状态参数上报至区块链终端inj,其中传感器sti使用内置私钥签 名感知数据m得到数字签名signi(m),再使用区块链终端inj的公钥对数据 和数字签名signi(m)进行加密获得最终数据ej(m+signi(m)),将最终数据 上发至区块链终端。
[0124]
区块链终端接收到传感器加密数据后用内置的私钥进行解密,重新计算 数据的哈希值与接收到的哈希值对比,一致则数据符合要求则暂时存本地数 据库中,如果数据不符合要求则丢弃该数据。区块链终端验证感知数据符合 要求后,区块链终端bnk将数据广播至其余区块链终端。
[0125]
区块链终端接收后,验证符合要求后将数据存储在本地数据库中,便于 用户对数据的实时查看,当用户获取某个功能区间实时的环境参数或设备工 作状态时,用户终端将加密后的查询命令发送至相应区块链终端,区块链终 端解密后,将加密后的感知数据发送至用户终端,用户终端解密后进行显示, 保障了用户终端和和区块链终端间数据安全。
[0126]
在本发明一实施例中,所述区块链终端依据验证成功的功能区间状况参 数向预设的数据存储链进行区块上链,并通过智能合约进行区块链终端间数 据共享的步骤,包括:
[0127]
所述区块链终端获取连接的所述传感器的所述功能区间状况参数,并对 所述功能区间状况参数进行数字签名向物联网数据存储链请求区块上链;
[0128]
所述区块链终端将所述功能区间状况参数和对应的数字签名通过p2p 网络向其余功能区间的区块链终端进行广播;其余功能区间的区块链终端验 证接收的广播数据,将验证成功的广播数据存储至本地数据库;其中,当所 述广播数据验证失败,则丢弃所述广播数据;各所述区块链终端在接受广播 数据的同时进行工作量证明运算,先完成工作量证明运算的区块链终端将生 成的新区块广播至其余区块链终端;其中,其余功能区间对应的区块链终端 接收新区块进行验证,转发验证成功的新区快,并广播验证结果;生成新区 块的区块链终端接收其余区块链终端的验证结果和数字签名,进行再次广播; 其余区块链终端接收后进行验证,并将验证结果以少数服从多数的原则,存 储验证成功的新区块至物联网数据存储链。
[0129]
需要说明的是,请求区块上链为当区块链终端获取到功能区间范围内传 感器的数据后,对其进行数字签名向idsb请求区块上链。
[0130]
区块链终端将传感器上发的数据和数字签名signk(m)通过p2p网络进 行广播,其余区块链终端接收后,验证数据正确后存储在本地数据库中,并 转发给下一个区块链终端,验证失败后直接丢弃该数据,不再进行转发。
[0131]
在本发明一实施例中,所述新区块的内容包括区块头和区块体,所述区 块头包括父区块头哈希值、merkle树根值、时间戳、区块大小、难度目标值 和随机数值;所述区块体
中的数据内容为对应的所述传感器上传的功能区间 状况参数,所述数据内容格式包括时间戳、传感器标识、工作状态或环境参 数值。
[0132]
需要说明的是,各区块链终端一边接收其余区块链终端转发的数据,一 边进行工作量证明的运算,首先完成工作量证明运算的区块链终端获得生成 新区块的权利。
[0133]
新区块的内容包括区块头和区块体,区块头包括父区块头哈希值, merkle树根值,时间戳,区块大小,难度目标值,随机数值。区块体中的数 据内容为所属传感器上发的数据,数据内容格式为时间戳、传感器id、工作 状态或环境参数值。
[0134]
在本发明一实施例中,还包括:所述区块链终端进行工作量证明运算, 具体地:
[0135]
收集当前一段时间所有的功能区间状况参数;
[0136]
计算所有功能区间状况参数的merkle根值,并保存在区块头中;
[0137]
将上一个区块的父区块头哈希值填入当前区块链终端的父区块头哈希 值中;
[0138]
获取当前区块的难度目标值;
[0139]
将当前时间保存在当前区块的时间戳中;
[0140]
计算当前区块头的目标哈希值,直到找到满足区块头哈希数值小于或等 于目标哈希值的随机数。
[0141]
作为一种示例,工作量证明运算过程具体步骤如下:
[0142]
区块链终端收集当前一段时间所有的感知数据。
[0143]
区块链终端计算出所有数据的merkle根值保存在区块头中。
[0144]
把上一个区块的区块头hash值填入当前区块的父区块哈希值中。
[0145]
获取当前难度目标值。
[0146]
把当前时间保存在当前区块的时间戳timestamp中。
[0147]
寻找满足条件的随机数nonce,计算当前区块头的双sha256哈希值,直 到找到满足区块头hash数值小于或等于目标hash值的随机数。
[0148]
需要说明的是,首先做出工作量证明运算的区块链终端将生成的新区块 广播给其余区块链终端,接受其余区块链终端的验证,验证过程包括验证新 区块数据结构是否正确,验证随机数是否满足难度目标值,验证区块内的数 据内容是否正确等,其余区块链终端验证无误后转发新区块,并将验证结果 进行广播。
[0149]
需要说明的是,首先生成新区块的区块链终端收集其余区块链终端的验 证结果和数字签名,再次广播该区块和其余区块链终端的验证结果,其余区 块链终端接收后判断验证结果,当全网内51%的区块链终端验证通过,各区 块链终端遵循少数服从多数的原则对新区块进行存储,所有区块链终端进行 下一次工作量证明的运算,若大于51%的区块链终端验证未通过,所有区块 链终端丢弃该区块继续进行该次工作量证明的运算。
[0150]
在本发明一实施例中,还包括:所述各区块链终端对工业生产线物联网 进行联动监控,具体地:
[0151]
所述区块链终端依据其本地数据库存储的功能区间状况参数进行学习, 建立学习模型;
[0152]
所述区块链终端将接收所述传感器的功能区间状况参数输入学习模型 得到传感器控制命令,加密后下发至该功能区间状况参数上传的传感器。
[0153]
需要说明的是,无中心网络中区块链终端间不断交互,进行并行计算, 通过智能
协作完成全局的优化控制,当前接入物联网智能设备越来越多,各 工业生产线的各个功能区间内物联网设备产生的数据具有极大价值,当前数 据共享缺乏安全保障以及信息孤岛等问题,借助区块链智能合约技术,保证 区块链终端数据共享的安全性,区块链终端根据事先规定的智能合约与其他 设备进行交互,各智能设备之间以自组织、相互协作的方式实现智能化控制, 促进物联网设备的数据价值转移和共享。
[0154]
无中心网络中区块链终端的组网方式与多agent系统相似,生产设备物 联网系统视作多agent系统,功能区间agent完成本地设备的监控,收集处 理本地传感器信息,进行分析、推理、决策,中央agent对所有功能区间 agent进行管理和协调,多agent相互通信,联合感知环境,通过信息交互 和协同工作完成任务。区块链终端与功能区间agent相似,并行计算,与其 他区块链终端交互,不断更新本地变量,通过反复交互,直至运算结果收敛, 多区块链终端本地计算以及协同计算,解决系统的优化控制问题。
[0155]
作为一种示例,区块链终端融合终端设备的运行状态和环境参数,通过 智能合约技术实现区块链终端间数据共享,具体流程如下:
[0156]
访问策略的创建。作为数据提供者的传感器创建访问策略发布在区块链 中,包括数据共享的时间、次数、对象。
[0157]
数据共享请求验证。区块链终端首先查找区块链账本中是否存在授权访 问,如果存在授权访问,区块链终端发起数据共享请求,智能合约判断是否 具有访问权限。
[0158]
智能合约输出数据。区块链终端执行智能合约,根据数据提供者设置的 访问条件输出数据。区块链终端对共享数据进行分析完成感知或控制任务。
[0159]
在一具体实现中,各功能区间区块链终端通过监测功能区间内设备信息、 人员操作信息等学习人的行为,通过人员检测终端、设备终端对生产线各功 能区间内人员情况进行判断,对功能区间人员的智能跟踪和定位,如:当原 料区间的检测终端或门禁检测到功能区间人员离开区间时,打开区间内的巡 航监控设备。
[0160]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较 简单,相关之处参见方法实施例的部分说明即可。
[0161]
参照图2,示出了本技术一实施例提供的一种基于区块链的传感器异常 检测装置,所述装置用于对生产线上的传感器的运行参数异常进行检测,所 述装置涉及区块链终端、传感器和用户终端;其中,所述区块链终端具有无 线自组织功能和网关功能,且存有功能区间参考状况参数;所述区块链终端 和所述传感器分别设置于所述生产线中各功能区间内;所述区块链终端分别 与用户终端和传感器连接;具体地,不同功能区间内的区块链终端和传感器 互不相连;所述传感器用于采集功能区间状况参数,并周期性将所述功能区 间状况参数进行加密后发送至对应的区块链终端;其中,所述功能区间状况 参数包括环境参数和设备运行状态参数;
[0162]
所述装置包括:
[0163]
比较结果生成模块210,用于依据从所述传感器接收的所述功能区间状 况参数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数 与所述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和 有误;
[0164]
功能区间报警参数生成模块220,用于当所述比较结果为有误时,则依 据所述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向所 述用户端发送所述功
能区间报警参数和所述功能区间状况参数;所述用户端 用于接收所述功能区间状况参数和/或功能区间报警参数。
[0165]
在本发明一实施例中,所述方法还包括:
[0166]
标准状况参数集生成模块,用于采集在标准工作状态下生产线上各个所 述功能区间的功能区间标准状况参数,并将所述功能区间标准状况参数通过 z-score标准化方法进行归一化生成标准状况参数集;
[0167]
降维参数集生成模块,用于依据随机哈希函数对所述标准状况参数集进 行降维,生成降维参数集;
[0168]
维度均值确定模块,用于依据主次哈希函数对所述降维参数集进行集映 射分桶,并分别确定所述标准状况参数集的维度均值和分桶后的降维参数集 的维度均值;
[0169]
隔离树建立条件确定模块,用于将所述标准状况参数集和分桶后的降维 参数集中维度均值差最大的维度设置为分割属性,将所述分割属性对应的分 桶后的降维参数集的维度均值作为分割点;
[0170]
隔离树建立模块,用于依据所述分割属性、所述分割点和预设的树限制 高度建立对应于所述标准状况参数集的隔离森林的隔离树。
[0171]
在本发明一实施例中,所述比较结果生成模块210,包括:
[0172]
降维验证参数生成子模块,用于将所述功能区间状况参数分别进行归一 化和降维,生成降维验证参数;
[0173]
路径长度和异常得分确定子模块,用于将所述降维验证参数依次放入所 述隔离森林的隔离树中,确定每项参数的路径长度和异常得分;
[0174]
比较结果确定子模块,用于依据所述异常得分和预设的得分阈值确定所 述比较结果。
[0175]
在本发明一实施例中,所述标准状况参数集生成模块,包括:
[0176]
无线传感器网络节点设置子模块,用于设置无线传感器网络节点s={sj: j=1,2,
…
m}每隔一个固定时间间隔δt,各个节点收集一组功能区间标准 状况参数并将其发送给基站;其中,节点sj记录的一组功能区间标准状况参 数是一个p维的向量vj=(v
j1
,v
j2
,
…
,v
jp
),vj∈r
p
,其中p表示功能区间标 准状况参数的类型数;在下一个δt内,基站将收到n组功能区间标准状况 参数v={v1,v2,
…
vn},其中,组数n与节点id无关;
[0177]
功能区间标准状况参数集定义子模块,用于定义功能区间标准状况参数 集v的维度均值为:
[0178][0179]
式中,时间t是检测特征的接收时间;定义时间段[0,t]内收到的检测 特征集为训练数据,其表示为矩阵x
t
={x1,x2,
…
,xk},k=t/δt。
[0180]
在本发明一实施例中,所述随机哈希函数为:
[0181][0182]
其中,α是从满足p-稳定分布函数中随机抽样得到的q维向量,β是一 个在
上均匀分布的随机变量;哈希函数h
α,β
(υ):rq→
z能把一个q维向 量υ映射到整数集上;[:]为向下取整操作;数据集经过l个随机哈希函数 h=(h1(υ),h2(υ),λ,h
l
(υ))降维映射后得到一个l维向量v=(v1,v2,
…
,v
l
)。
[0183]
在本发明一实施例中,所述维度均值确定模块,包括:
[0184]
主、次哈希函数值计算子模块,用于通过主哈希函数g1公式和次哈希 函数g2公式计算得出对应的主哈希函数值g1和次哈希函数值g2:
[0185][0186][0187]
分配子模块,用于将主哈希函数值g1=次哈希函数值g2的参数分配至 同一个桶内;
[0188]
筛选子模块,用于对各个桶内哈希值进行统计数量,若桶内数量大于等 于隔离森林子采样大小,则筛选出满足条件的所有的桶;
[0189]
索引号排序子模块,用于将筛选出的桶内的参数所对应的索引号排序, 并从[v]
n*l
中选出索引号中一一对应的每一条记录,从而组成桶所对应的经 过降维子采样的新数据集[a]
k*l
,k《n,n为桶个数;
[0190]
维度均值确定子模块,用于分别确定桶内所述标准状况参数集的维度均 值和分桶后的降维参数集的维度均值。
[0191]
在本发明一实施例中,所述维度均值确定子模块,包括:
[0192]
计算子模块,用于计算新数据集的维度均值具体包括:将新数据集[a]
k*l
作为改进后的隔离森林算法的输入数据集,若有l个维度,l个维度分别计 算均值v
new
,将矩阵xt的列均值μ和v
new
分别对应索引后,求出均值差 m
li
,找出m
li
最大值对应的属性li作为分割属性,v
newi
作为分割点。
[0193]
在本发明一实施例中,所述路径长度和异常得分确定子模块,包括:
[0194]
路径长度和异常得分计算子模块,用于将实时数据点放入构建的隔离树 中,记录数据点在树中的平均路径长度c(n)和异常得分s(x,n):
[0195][0196][0197]
其中,e(h(x))为样本x在隔离树中的路径长度的期望。
[0198]
一种基于区块链的传感器异常检测系统,所述系统用于对生产线上的传 感器的运行参数异常进行检测,所述系统涉及区块链终端、传感器和用户终 端;其中,所述区块链终端具有无线自组织功能和网关功能,且存有功能区 间参考状况参数;所述区块链终端和所述传感器分别设置于所述生产线中各 功能区间内;所述区块链终端分别与用户终端和传感器连接;具体地,不同 功能区间内的区块链终端和传感器互不相连;所述传感器用于采集功能区间 状况参数,并周期性将所述功能区间状况参数进行加密后发送至对应的区
块 链终端;其中,所述功能区间状况参数包括环境参数和设备运行状态参数;
[0199]
所述区块链终端用于认证传感器,通过无线自组织网络和以太网的双向 数据转发和协议转换解密接收的传感器数据进行存储和并行计算,以及通过 智能合约进行区块链终端间数据共享;
[0200]
所述区块链终端还用于依据从所述传感器接收的所述功能区间状况参 数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所 述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;
[0201]
所述传感器用于采集功能区间内的环境参数和设备运行状态参数,并将 所述环境参数和所述设备运行状态参数周期性加密发送至对应的区块链终 端;
[0202]
所述区块链终端还用于当所述比较结果为有误时,则依据所述比较结果 生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所 述功能区间报警参数和所述功能区间状况参数;
[0203]
所述用户端用于接收所述功能区间状况参数和/或功能区间报警参数;
[0204]
所述用户终端还用于与区块链终端进行数据交互,显示生产线现场各功 能区间中的环境参数和所述设备运行状态参数,并对传感器以及各功能区间 中的生产设备进行控制。
[0205]
在本发明一实施例中,所述传感器将采集的环境参数和设备运行状态参 数通过采用无线射频通信的方式发送至对应的所述区块链终端;所述用户终 端与区块链终端通过以太网络进行连接,获取所述传感器采集的环境参数和 设备运行状态参数,以及发送控制指令至所述传感器。
[0206]
参照图3,示出了本技术的一种基于区块链的传感器异常检测方法的计 算机设备,具体可以包括如下:
[0207]
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件 可以包括但不限于:一个或者多个处理器或者处理单元16,内存28,连接 不同系统组件(包括内存28和处理单元16)的总线18。
[0208]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储 器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任 意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体 系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、音 视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0209]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是 任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质, 可移动的和不可移动的介质。
[0210]
内存28可以包括易失性存储器形式的计算机系统可读介质,例如随机 存取存储器30和/或高速缓存存储器32。计算机设备12可以进一步包括其 他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例, 存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱 动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(如“软 盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom, dvd-rom或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动 器可以通过一个或者多
个数据介质界面与总线18相连。存储器可以包括至 少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些 程序模块42被配置以执行本技术各实施例的功能。
[0211]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例 如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或 者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或 某种组合中可能包括网络环境的实现。程序模块42通常执行本技术所描述 的实施例中的功能和/或方法。
[0212]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、 显示器24、摄像头等)通信,还可与一个或者多个使得操作人员能与该计算 机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其 他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种 通信可以通过i/o接口22进行。并且,计算机设备12还可以通过网络适配 器20与一个或者多个网络(例如局域网(lan)),广域网(wan)和/ 或公共网络(例如因特网)通信。如图3所示,网络适配器20通过总线18 与计算机设备12的其他模块通信。应当明白,尽管图3中未示出,可以结 合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设 备驱动器、冗余处理单元16、外部磁盘驱动阵列、raid系统、磁带驱动器 以及数据备份存储系统34等。
[0213]
处理单元16通过运行存储在内存28中的程序,从而执行各种功能应用 以及数据处理,例如实现本技术实施例所提供的一种基于区块链的传感器异 常检测方法。
[0214]
也即,上述处理单元16执行上述程序时实现:所述区块链终依据从所 述传感器接收的所述功能区间状况参数以及所述功能区间参考状况参数,生 成对应于所述功能区间状况参数与所述功能区间参考状况参数的比较结果; 其中,所述比较结果包括无误和有误;当所述比较结果为有误时,所述区块 链终端则依据所述比较结果生成所述功能区间报警参数,并通过调用所述智 能合约向所述用户端发送所述功能区间报警参数和所述功能区间状况参数; 所述用户端用于接收所述功能区间状况参数和/或功能区间报警参数。
[0215]
在本技术实施例中,本技术还提供一种计算机可读存储介质,其上存储 有计算机程序,该程序被处理器执行时实现如本技术所有实施例提供的一种 基于区块链的传感器异常检测方法。
[0216]
也即,给程序被处理器执行时实现:所述区块链终依据从所述传感器接 收的所述功能区间状况参数以及所述功能区间参考状况参数,生成对应于所 述功能区间状况参数与所述功能区间参考状况参数的比较结果;其中,所述 比较结果包括无误和有误;当所述比较结果为有误时,所述区块链终端则依 据所述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向所 述用户端发送所述功能区间报警参数和所述功能区间状况参数;所述用户端 用于接收所述功能区间状况参数和/或功能区间报警参数。
[0217]
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可 以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例 如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装 置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非 穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬 盘、随机存取存储器(ram)、只读存储器(rom)、可擦可编程只读存 储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、 光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机 可读存储介质可以是任何包含或存储
程序的有形介质,该程序可以被指令执 行系统、装置或者器件使用或者与其结合使用。
[0218]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的 数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采 用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的 组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算 机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系 统、装置或者器件使用或者与其结合使用的程序。
[0219]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术操作 的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸 如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c
”ꢀ
语言或类似的程序设计语言。程序代码可以完全地在操作人员计算机上执行、 部分地在操作人员计算机上执行、作为一个独立的软件包执行、部分在操作 人员计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器 上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络 ——包括局域网(lan)或广域网(wan)——连接到操作人员计算机, 或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连 接)。本说明书中的各个实施例分别采用递进的方式描述,每个实施例重点 说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相 参见即可。
[0220]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦 得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以, 所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所 有变更和修改。
[0221]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语 仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求 或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术 语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而 使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物 品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一 个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终 端设备中还存在另外的相同要素。
[0222]
以上对本技术所提供的一种基于区块链的传感器异常检测方法、装置及 系统,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式 进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思 想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方 式及应用范围上分别会有改变之处,综上所述,本说明书内容不应理解为对 本技术的限制。
技术特征:1.一种基于区块链的传感器异常检测方法,所述方法用于对生产线上的传感器的运行参数异常进行检测,所述方法涉及区块链终端、传感器和用户终端;其中,所述区块链终端具有无线自组织功能和网关功能,且存有功能区间参考状况参数;所述区块链终端和所述传感器分别设置于所述生产线中各功能区间内;所述区块链终端分别与用户终端和传感器连接;具体地,不同功能区间内的区块链终端和传感器互不相连;所述传感器用于采集功能区间状况参数,并周期性将所述功能区间状况参数进行加密后发送至对应的区块链终端;其中,所述功能区间状况参数包括环境参数和设备运行状态参数;其特征在于,所述方法包括:所述区块链终依据从所述传感器接收的所述功能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;当所述比较结果为有误时,所述区块链终端则依据所述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所述功能区间报警参数和所述功能区间状况参数;所述用户端用于接收所述功能区间状况参数和/或功能区间报警参数。2.根据权利要求1所述的基于区块链的传感器异常检测方法,其特征在于,所述方法还包括:所述区块链终端采集在标准工作状态下生产线上各个所述功能区间的功能区间标准状况参数,并将所述功能区间标准状况参数通过z-score标准化方法进行归一化生成标准状况参数集;所述区块链终端依据随机哈希函数对所述标准状况参数集进行降维,生成降维参数集;所述区块链终端依据主次哈希函数对所述降维参数集进行集映射分桶,并分别确定所述标准状况参数集的维度均值和分桶后的降维参数集的维度均值;所述区块链终端将所述标准状况参数集和分桶后的降维参数集中维度均值差最大的维度设置为分割属性,将所述分割属性对应的分桶后的降维参数集的维度均值作为分割点;所述区块链终端依据所述分割属性、所述分割点和预设的树限制高度建立对应于所述标准状况参数集的隔离森林的隔离树。3.根据权利要求2所述的基于区块链的传感器异常检测方法,其特征在于,所述区块链终依据从所述传感器接收的所述功能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所述功能区间参考状况参数的比较结果的步骤,包括:将所述功能区间状况参数分别进行归一化和降维,生成降维验证参数;将所述降维验证参数依次放入所述隔离森林的隔离树中,确定每项参数的路径长度和异常得分;依据所述异常得分和预设的得分阈值确定所述比较结果。4.根据权利要求2所述的基于区块链的传感器异常检测方法,其特征在于,所述区块链终端采集在标准工作状态下生产线上各个所述功能区间的功能区间标准状况参数,并将所述功能区间标准状况参数通过z-score标准化方法进行归一化生成标准状况参数集的步骤,包括:
设置无线传感器网络节点s={s
j
:j=1,2,
…
m}每隔一个固定时间间隔δt,各个节点收集一组功能区间标准状况参数并将其发送给基站;其中,节点s
j
记录的一组功能区间标准状况参数是一个p维的向量v
j
=(v
j1
,v
j2
,
…
,v
jp
),v
j
∈r
p
,其中p表示功能区间标准状况参数的类型数;在下一个δt内,基站将收到n组功能区间标准状况参数v={v1,v2,
…
v
n
},其中,组数n与节点id无关;定义功能区间标准状况参数集v的维度均值为:式中,时间t是检测特征的接收时间;定义时间段[0,t]内收到的检测特征集为训练数据,其表示为矩阵x
t
={x1,x2,
…
,x
k
},k=t/δt。5.根据权利要求2所述的基于区块链的传感器异常检测方法,其特征在于,所述随机哈希函数为:其中,α是从满足p-稳定分布函数中随机抽样得到的q维向量,β是一个在上均匀分布的随机变量;哈希函数h
α,β
(υ):r
q
→
z能把一个q维向量υ映射到整数集上;[:]为向下取整操作;数据集经过l个随机哈希函数h=(h1(υ),h2(υ),λ,h
l
(υ))降维映射后得到一个l维向量v=(v1,v2,
…
,v
l
)。6.根据权利要求5所述的基于区块链的传感器异常检测方法,其特征在于,所述区块链终端依据主次哈希函数对所述降维参数集进行集映射分桶,并分别确定所述标准状况参数集的维度均值和分桶后的降维参数集的维度均值的步骤,包括:通过主哈希函数g1公式和次哈希函数g2公式计算得出对应的主哈希函数值g1和次哈希函数值g2:希函数值g2:将主哈希函数值g1=次哈希函数值g2的参数分配至同一个桶内;对各个桶内哈希值进行统计数量,若桶内数量大于等于隔离森林子采样大小,则筛选出满足条件的所有的桶;将筛选出的桶内的参数所对应的索引号排序,并从[v]
n*l
中选出索引号中一一对应的每一条记录,从而组成桶所对应的经过降维子采样的新数据集[a]
k*l
,k<n,n为桶个数;分别确定桶内所述标准状况参数集的维度均值和分桶后的降维参数集的维度均值。7.根据权利要求6所述的基于区块链的传感器异常检测方法,其特征在于,所述分别确定桶内所述标准状况参数集的维度均值和分桶后的降维参数集的维度均值的步骤,包括:计算新数据集的维度均值具体包括:将新数据集[a]
k*l
作为改进后的隔离森林算法的输入数据集,若有l个维度,l个维度分别计算均值v
new
,将矩阵xt的列均值μ和v
new
分别对应索引后,求出均值差m
li
,找出m
li
最大值对应的属性li作为分割属性,v
newi
作为分割点。
8.根据权利要求3所述的基于区块链的传感器异常检测方法,其特征在于,所述将所述降维验证参数依次放入所述隔离森林的隔离树中,确定每项参数的路径长度和异常得分的步骤,包括:将实时数据点放入构建的隔离树中,记录数据点在树中的平均路径长度c(n)和异常得分s(x,n):n):其中,e(h(x))为样本x在隔离树中的路径长度的期望。9.一种基于区块链的传感器异常检测装置,所述装置用于对生产线上的传感器的运行参数异常进行检测,所述装置涉及区块链终端、传感器和用户终端;其中,所述区块链终端具有无线自组织功能和网关功能,且存有功能区间参考状况参数;所述区块链终端和所述传感器分别设置于所述生产线中各功能区间内;所述区块链终端分别与用户终端和传感器连接;具体地,不同功能区间内的区块链终端和传感器互不相连;所述传感器用于采集功能区间状况参数,并周期性将所述功能区间状况参数进行加密后发送至对应的区块链终端;其中,所述功能区间状况参数包括环境参数和设备运行状态参数;其特征在于,所述装置包括:比较结果生成模块,用于依据从所述传感器接收的所述功能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;功能区间报警参数生成模块,用于当所述比较结果为有误时,则依据所述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所述功能区间报警参数和所述功能区间状况参数;所述用户端用于接收所述功能区间状况参数和/或功能区间报警参数。10.一种基于区块链的传感器异常检测系统,所述系统用于对生产线上的传感器的运行参数异常进行检测,其特征在于,所述系统涉及区块链终端、传感器和用户终端;其中,所述区块链终端具有无线自组织功能和网关功能,且存有功能区间参考状况参数;所述区块链终端和所述传感器分别设置于所述生产线中各功能区间内;所述区块链终端分别与用户终端和传感器连接;具体地,不同功能区间内的区块链终端和传感器互不相连;所述传感器用于采集功能区间状况参数,并周期性将所述功能区间状况参数进行加密后发送至对应的区块链终端;其中,所述功能区间状况参数包括环境参数和设备运行状态参数;所述区块链终端用于认证传感器,通过无线自组织网络和以太网的双向数据转发和协议转换解密接收的传感器数据进行存储和并行计算,以及通过智能合约进行区块链终端间数据共享;所述区块链终端还用于依据从所述传感器接收的所述功能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;所述传感器用于采集功能区间内的环境参数和设备运行状态参数,并将所述环境参数
和所述设备运行状态参数周期性加密发送至对应的区块链终端;所述区块链终端还用于当所述比较结果为有误时,则依据所述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所述功能区间报警参数和所述功能区间状况参数;所述用户端用于接收所述功能区间状况参数和/或功能区间报警参数;所述用户终端还用于与区块链终端进行数据交互,显示生产线现场各功能区间中的环境参数和所述设备运行状态参数,并对传感器以及各功能区间中的生产设备进行控制。
技术总结本发明实施例提供了一种基于区块链的传感器异常检测方法、装置及系统,所述方法包括:所述区块链终依据从所述传感器接收的所述功能区间状况参数以及所述功能区间参考状况参数,生成对应于所述功能区间状况参数与所述功能区间参考状况参数的比较结果;其中,所述比较结果包括无误和有误;当所述比较结果为有误时,所述区块链终端则依据所述比较结果生成所述功能区间报警参数,并通过调用所述智能合约向所述用户端发送所述功能区间报警参数和所述功能区间状况参数;所述用户端用于接收所述功能区间状况参数和/或功能区间报警参数。通过区块链技术去中心化机制,免除了云端服务器高昂的成本。高昂的成本。高昂的成本。
技术研发人员:李振军 陆芸婷 廖银萍 刘运时 周兵 夏清
受保护的技术使用者:深圳技师学院
技术研发日:2022.03.18
技术公布日:2022/7/5