CN110417567B - 一种物联网设备的配置方法和装置 - Google Patents
一种物联网设备的配置方法和装置 Download PDFInfo
- Publication number
- CN110417567B CN110417567B CN201810395885.8A CN201810395885A CN110417567B CN 110417567 B CN110417567 B CN 110417567B CN 201810395885 A CN201810395885 A CN 201810395885A CN 110417567 B CN110417567 B CN 110417567B
- Authority
- CN
- China
- Prior art keywords
- configuration
- file
- block
- iot
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种物联网设备的配置方法和装置。在本申请中,边缘设备将达成共识后的包括待配置设备列表和配置文件的区块写入到本地账本中,避免区块中的数据被篡改;边缘设备在待配置设备列表中至少一个IOT设备位于关联的本地网络中时,指示该至少一个IOT设备使用配置文件进行配置,这样边缘设备只需要对本地网络中的IOT设备进行配置,不需要对全局的IOT设备进行配置,避免边缘设备承载过重的处理开销。
Description
技术领域
本发明涉及物联网通信领域,尤其涉及一种物联网设备的配置方法和装置。
背景技术
物联网(Internet of things,IOT)的应用越来越广泛,物联网是物物相连的互联网。物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,此处“物品”统称为IOT设备。IOT设备的显著特点包括:数量非常庞大,预计2020年IOT设备的数量将达到2000亿个;能力受限,即IOT设备的计算能力、存储能力和网络能力有限;易受攻击,IOT设备的配置数据容易遭到损坏或丢失。在IOT设备的配置数据发生损坏或丢失的情况下,IOT设备需要将不能正常工作,此时需要对IOT设备进行配置。目前通常使用IOT平台对IOT设备进行配置,参见图1a所示为目前的物联网系统的网络架构图,IOT平台通过IOT网关管理多个IOT设备,例如:IOT网关可以是边缘设备,边缘设备位于本地网络和区块链网络的边缘,在IOT设备需要配置时,IOT平台识别IOT网关,通过IOT网关将配置数据下发给IOT设备,以完成配置过程。但是目前的配置方法存在的问题是:当需要对大批量的IOT设备进行配置时,IOT平台的负载过重,会影响IOT平台运行的稳定性以及可能导致配置过程的失败。
发明内容
本发明实施例所要解决的技术问题在于,提供一种物联网设备的配置方法和装置,解决现有技术中对大批量的IOT设备进行配置时导致的IOT平台负载过重的问题。
第一方面,本申请提供了一种物联网设备的配置方法,包括:边缘设备获取第一区块,边缘设备将第一区块写入到本地账本中,在待配置设备列表中至少一个IOT设备位于边缘设备关联的本地网络中时,边缘设备指示至少一个IOT设备使用配置文件更新本地配置数据。
其中,第一区块可以是共识网络进行共识后发送给边缘设备的,也可以是设备配置文件发布节点发送给边缘设备的,本发明实施例不作限制。边缘设备获取到第一区块后,可以对第一区块进行验证,例如:验证第一区块的签名是否正确,验证通过后,将第一区块写入到本地账本中。第一区块包括设备配置操作记录数据,设备配置操作记录数据包括待配置设备列表和配置文件。可选的,设备配置操作记录数据可以来自设备配置文件发布节点,设备配置文件发布节点可以是区块链网络中的一个区块链节点,边缘设备也是该区块链网络中的一个区块链节点。区块链网络包括多个区块链节点,区块链节点可以是设备配置文件发布节点,也可以是边缘设备。
实施本发明的实施例,边缘设备将达成共识后的第一区块写入到本地账本中,避免第一区块中的数据被篡改;边缘设备根据第一区块中的待配置设备列表和配置文件,在待配置设备列表中至少一个IOT设备位于关联的本地网络中时,指示该至少一个IOT设备使用配置文件进行配置,这样边缘设备只需要对本地网络中的IOT设备进行配置,不需要对全局的IOT设备进行配置,避免边缘设备承载过重的处理开销。
在一种可能的设计中,边缘设备将第一区块写入到本地账本之前,还包括:
边缘设备确定待配置设备列表中存在至少一个IOT设备位于所述边缘设备关联的本地网络中。
其中,边缘设备关联一个本地网络,本地网络中包括一个或多个IOT设备,待配置设备列表中包括一个或多个IOT设备,边缘设备判断待配置设备列表中是否存在至少一个IOT设备位于该本地网络中,若为是,边缘设备对第一区块进行验证,验证通过后,边缘设备将第一区块写入到本地账本中。可选的,边缘设备判断待配置列表中不存在至少一个IOT设备位于该本地网络中时,则设备配置操作记录数据和本地网络中的IOT设备无关,边缘设备丢弃该第一区块,以节省本地的存储空间。
在一种可能的设计中,还包括:
所述边缘设备接收来自目标IOT设备的包括第一哈希值的配置成功响应;其中,所述第一哈希值是所述目标IOT设备根据更新后的本地配置数据生成的,所述目标IOT设备为所述至少一个IOT设备中的任意一个;
所述边缘设备指示所述区块链网络中的任意N个区块链节点对所述配置成功响应进行验证,N为大于0的整数;
验证通过后,所述边缘设备请求所述区块链网络中的各个区块链节点将包括所述第一哈希值的第二区块写入各自对应的本地账本中。
在一种可能的设计中,还包括:
所述边缘设备接收来自所述目标IOT设备的验证请求;其中,所述验证请求包括第二哈希值,所述第二哈希值是所述目标IOT设备在发生故障的情况下根据当前的本地配置数据生成的;
所述边缘设备从所述第二区块中获取所述第一哈希值;
所述边缘设备比较所述第一哈希值和所述第二哈希值是否相同,
若不相同,所述边缘设备从所述第一区块中获取所述配置文件;
所述边缘设备指示所述目标IOT设备根据所述配置文件更新本地配置数据。
在一种可能的设计中,所述验证请求还包括文件标识和/或版本号;
所述边缘设备从所述第一区块中获取所述配置文件包括:
所述边缘设备根据所述文件标识和/或文件版本号查询对应的所述第一区块,以及从所述第一区块中获取所述配置文件。
在一种可能的设计中,所述边缘设备接收来自所述目标IOT设备的验证请求之前,还包括:
所述边缘设备接收来自所述目标IOT设备的网络注册请求;其中,所述网络注册请求用于请求加入所述边缘设备关联的本地网络中;
所述边缘设备对所述目标IOT设备进行身份验证;
身份验证通过后,所述边缘设备向所述目标IOT设备发送成功加入本地网络的注册成功响应。
在一种可能的设计中,所示网络注册请求还包括文件标识和/或文件版本号;所述设备配置操作记录数据包括文件标识和/或文件版本号;
所述方法还包括:
在所述目标IOT设备位于所述待配置设备列表中的情况下,所述边缘设备比较所述设备配置操作记录数据中包括的文件标识和/或文件版本号与所述网络注册请求中包括的文件标识和/或文件版本号是否相同;
若为是,所述边缘设备指示所述目标IOT设备使用所述配置文件更新本地配置数据。
第二方面,本申请提供了一种物联网设备的配置方法,包括:
IOT设备接收来自边缘设备的配置文件;
所述IOT设备根据所述配置文件更新本地配置数据;
所述IOT设备根据更新后的本地配置数据得到第一哈希值;
所述IOT设备向所述边缘设备发送包括所述第一哈希值的配置成功响应。
实施本发明的实施例,IOT设备在根据边缘设备发送的配置文件进行更新后,对更新后的本地配置数据进行哈希运算后得到第一哈希值,将第一哈希值通知给边缘设备,这样能通过比较变更前的哈希值和变更后的哈希值来检测该IOT设备本地配置数据是否发生变更,这样能快实现IOT设备故障的自动检测。
在一种可能的设计中,所述IOT设备向所述边缘设备发送包括所述第一哈希值的配置成功响应之后,还包括:
所述IOT设备确定发生故障时,根据当前的本地配置数据得到第二哈希值;
所述IOT设备向所述边缘设备发送包括所述第二哈希值的验证请求;
所述IOT设备接收所述边缘设备的配置指示;其中,所述配置指示包括配置文件;
所述IOT设备根据所述配置文件更新本地配置数据。
在一种可能的设计中,所述IOT设备确定发生故障包括:
所述IOT设备在预设时长内未连接到IOT平台的情况下,确定发生故障;或
所述IOT设备接收来自IOT平台的故障指示消息时,确定发生故障。
在一种可能的设计中,所述IOT设备确定发生故障时,根据当前的本地配置数据得到第二哈希值之前,还包括:
所述IOT设备移动到所述边缘设备关联的本地网络时,向所述边缘设备发送网络注册请求;
所述IOT设备接收来自所述边缘设备发送的成功加入所述本地网络的注册成功响应。
在一种可能的设计中,所述网络注册请求还包括文件标识和/或文件版本号。
第三方面,本申请提供了一种物联网设备的配置方法,包括:
设备配置文件发布节点获取设备配置操作记录数据;其中,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述设备配置文件发布节点为区块链网络中的区块链节点;
所述设备配置文件发布节点指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证;其中,N为大于0的正整数;
在验证通过的情况下,所述设备配置文件发布节点请求所述区块链网络中的各个区块链节点将包括所述设备配置操作记录数据的第一区块写入到各自的本地账本中。
在一种可能的设计中,所述设备配置文件发布节点指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证包括:
对如下的一种或多种进行验证:
验证所述配置文件中的配置数据项是否合法;
验证所述配置文件中的配置数据项是否与所述设备配置文件发布节点的本地账本存储的配置数据项发生冲突;
验证所述设备配置文件发布节点是否合法;
验证所述文件配置文件服务器是否具有对所述待配置设备列表中的IOT设备进行配置的权限。
在一种可能的设计中,所述区块链网络中的每个区块链节点上预存储或预配置有合法配置数据项列表、合法发布者的身份信息、配置权限信息中的一种或多种。
第四方面,本申请提供了一种物联网设备的配置装置,包括:
接收单元,用于获取第一区块;其中,所述第一区块包括设备配置操作记录数据,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述边缘设备区块链网络中的区块链节点;
处理单元,用于将所述第一区块写入到本地账本中;
所述处理单元,还用于在所述待配置设备列表中至少一个IOT设备位于所述配置装置关联的本地网络中时,指示所述至少一个IOT设备使用所述配置文件更新本地配置数据。
在一种可能的设计中,
所述处理单元,还用于确定所述待配置设备列表中存在至少一个IOT设备位于所述边缘设备关联的本地网络中。
在一种可能的设计中,
所述接收单元,还用于接收来自目标IOT设备的包括第一哈希值的配置成功响应;其中,所述第一哈希值是所述目标IOT设备根据更新后的本地配置数据生成的,所述目标IOT设备为所述至少一个IOT设备中的任意一个;
所述处理单元,还用于指示所述区块链网络中的任意N个区块链节点对所述配置成功响应进行验证,N为大于0的整数;
验证通过后,请求所述区块链网络中的各个区块链节点将包括所述第一哈希值的第二区块写入各自对应的本地账本中。
在一种可能的设计中,
所述接收单元,还用于接收来自所述目标IOT设备的验证请求;其中,所述验证请求包括第二哈希值,所述第二哈希值是所述目标IOT设备在发生故障的情况下根据当前的本地配置数据生成的;
所述处理单元还用于:
从所述第二区块中获取所述第一哈希值;
比较所述第一哈希值和所述第二哈希值是否相同,
若不相同,从所述第一区块中获取所述配置文件;
指示所述目标IOT设备根据所述配置文件更新本地配置数据。
在一种可能的设计中,所述验证请求还包括文件标识和/或版本号;
所述处理单元用于从所述第一区块中获取所述配置文件,包括:
根据所述文件标识和/或文件版本号查询对应的所述第一区块,以及从所述第一区块中获取所述配置文件。
在一种可能的设计中,还包括:发送单元;
所述接收单元,还用于接收来自所述目标IOT设备的网络注册请求;其中,所述网络注册请求用于请求加入所述边缘设备关联的本地网络中;
所述处理单元还用于:
对所述目标IOT设备进行身份验证;
身份验证通过后,指示所述发送单元向所述目标IOT设备发送成功加入本地网络的注册成功响应。
在一种可能的设计中,所示网络注册请求还包括文件标识和/或文件版本号;所述设备配置操作记录数据包括文件标识和/或文件版本号;
所述处理单元还用于:
在所述目标IOT设备位于所述待配置设备列表中的情况下,所述边缘设备比较所述设备配置操作记录数据中包括的文件标识和/或文件版本号与所述网络注册请求中包括的文件标识和/或文件版本号是否相同;
若为是,所述边缘设备指示所述目标IOT设备使用所述配置文件更新本地配置数据。
第五方面,本申请提供了一种物联网设备的配置装置,包括:
接收单元,用于接收来自边缘设备的配置文件;
处理单元,用于根据所述配置文件更新本地配置数据;
所述处理单元,还用于根据更新后的本地配置数据得到第一哈希值;
发送单元,用于向所述边缘设备发送包括所述第一哈希值的配置成功响应。
在一种可能的设计中,所述处理单元还用于:
确定发生故障时,根据当前的本地配置数据得到第二哈希值;
指示所述发送单元向所述边缘设备发送包括所述第二哈希值的验证请求;
指示所述接收单元接收所述边缘设备的配置指示;其中,所述配置指示包括配置文件;
根据所述配置文件更新本地配置数据。
在一种可能的设计中,所述处理单元用于确定发生故障,包括:
预设时长内未连接到IOT平台的情况下,确定发生故障;或
在所述接收单元接收来自IOT平台的故障指示消息时,确定发生故障。
在一种可能的设计中,所述处理单元还用于:
移动到所述边缘设备关联的本地网络时,指示所述发送单元向所述边缘设备发送网络注册请求;
指示所述接收单元接收来自所述边缘设备发送的成功加入所述本地网络的注册成功响应。
在一种可能的设计中,所述网络注册请求还包括文件标识和/或文件版本号。
第六方面,本申请提供了一种物联网设备的配置装置,包括:
接收单元,用于获取设备配置操作记录数据;其中,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述设备配置文件发布节点为区块链网络中的区块链节点;
处理单元,用于指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证;其中,N为大于0的正整数;
所述处理单元,还用于在验证通过的情况下,请求所述区块链网络中的各个区块链节点将包括所述设备配置操作记录数据的第一区块写入到各自的本地账本中。
在一种可能的设计中,所述处理单元用于指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证,包括:
对如下的一种或多种进行验证:
验证所述配置文件中的配置数据项是否合法;
验证所述配置文件中的配置数据项是否与所述设备配置文件发布节点的本地账本存储的配置数据项发生冲突;
验证所述设备配置文件发布节点是否合法;
验证所述文件配置文件服务器是否具有对所述待配置设备列表中的IOT设备进行配置的权限。
在一种可能的设计中,所述区块链网络中的每个区块链节点上预存储或预配置有合法配置数据项列表、合法发布者的身份信息、配置权限信息中的一种或多种。
本申请又一方面提供了一种装置,该装置包括:存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行各方面所述的方法。
本申请的又一方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1a是本发明实施例提供的一种现有的物联网通信系统的网络架构图;
图1b本发明实施例提供的一种物联网通信系统的网络架构图;
图2是本发明实施例提供的一种物联网设备的配置方法的交互示意图;
图3a是本发明实施例提供的一种物联网通信系统的网络架构图;
图3b和图3c是本发明实施例提供的一种物联网设备得配置方法得另一交互示意图;
图4是本发明实施例提供的一种装置的结构示意图;
图5是本发明实施例提供的一种装置的另一结构示意图;
图6是本发明实施例提供的一种装置的另一结构示意图。
具体实施方式
图1b为本申请提供的一种通信系统架构示意图,所述通信系统包括一个或多个设备配置文件发布节点、一个或多个边缘设备以及一个或多个IOT设备。其中,每个边缘设备管理一个本地网络,本地网络中包括一个或多个IOT设备,边缘设备可通过无线或有线的方式与本地网络中的IOT设备进行通信。一个或多个设备配置文件发布节点和一个或多个边缘设备组成区块链网络,即每个设备配置文件发布节点和每个边缘设备均为区块链节点。区块链网络是由分布式网络上的互相不完全信任的计算机通过共识规则,共同维护一套可追溯、不可篡改的链式数据的系统,由于数据和平台不被任何机构单方面控制,区块链网络是去中心化的系统,区块链网络是高安全、高可靠、可信的去中心化的基础计算框架。
具体而言,区块链网络中每个区块链节点会维护一个本地账本,本地账本存储有组成区块链的多个区块;数据记录在区块中,新写入的数据组成新的区块,添加在当前区块链的末端,每个区块在存储数据的同时还会存储前一个区块中所记录的数据对应的哈希值,如果单独修改区块链中某个区块,那么该区块后面的区块无法与该区块链接,因此对区块链中的任意一个区块的修改是可追溯的。区块写入本地账本的过程包括:client节点需要向区块链网络中写入区块时,client节点选择区块链网络中的一个或多个区块链节点作为endorsing节点,该选择的一个多个endorsing节点对待写入的区块进行验证,各个endorsing把签名后的验证结果(endorsement)发生给client节点,client节点根据接收到的验证结果确定验证通过后,将待写入的区块提交给共识网络,共识网络包括多个ordering(共识)节点,共识网络采用共识算法对区块达成共识后,共识网络的一个ordering向区块链网络中的区块链节点广播该区块,各个区块链节点节点到区块后,对区块进行验证,验证通过后写入到本地账本中。
需要说明的是,区块链网络中的区块链节点可以同时为client节点、endorsing节点和ordering节点。
可选的,本发明实施例的通信系统还包括一个或多个设备配置文件服务器,每个设备配置文件发布节点连接一个或多个设备配置文件服务器,设备配置文件服务器可以是IOTSP、电信运营商或设备厂商部署的,设备配置文件服务器和设备配置文件发布节点之间可通过安全通道进行通信,例如:设备配置文件服务器通过SSL/TLS(Secure SocketsLayer/Transport Layer Security,安全套接层/安全传输层)、HTTPS(Hyper TextTransfer Protocol over Secure Socket Layer,基于安全套接层的超文本传输协议)、VPN(Virtual Private Network,虚拟专用网络)与设备配置文件发布节点进行通信。
需要说明的是,图1b中通信系统中各设备的数量和形态仅为举例说明,并非对本发明实施例构成限定。
本申请实施例可以应用于无线通信系统,需要说明的是,本申请实施例提及的无线通信系统包括但不限于:窄带物联网系统(Narrow Band-Internet of Things,NB-IoT)、全球移动通信系统(Global System for Mobile Communications,GSM)、增强型数据速率GSM演进系统(Enhanced Data rate for GSM Evolution,EDGE)、宽带码分多址系统(Wideband Code Division Multiple Access,WCDMA)、码分多址2000系统(Code DivisionMultiple Access,CDMA2000)、时分同步码分多址系统(Time Division-SynchronizationCode Division Multiple Access,TD-SCDMA),长期演进系统(Long Term Evolution,LTE)、NR(New Radio,新空口)通信系统以及下一代5G移动通信系统的三大应用场景增强型移动宽带(Enhanced Mobile Broad Band,eMBB)、URLLC以及大规模机器通信(MassiveMachine-Type Communications,mMTC)。
在本申请实施例中,物联网设备(InternetofThingsterminal)包括但不限于智能仪表(例如:智能水表、智能电表、智能燃气表)、智能家电(例如:电冰箱、微波炉、热水器、洗衣机)、监视设备等。
参见图2,是本发明实施例提供的一种物联网设备的配置方法的交互示意图,在本发明实施例中,所述方法包括:
S201、设备配置文件发布节点获取设备配置操作记录数据。
具体的,设备配置操作记录数据包括配置文件和待配置设备列表,配置文件用于对IOT设备进行配置,配置文件可包括一个或多个配置数据项,例如:配置文件用于配置IOT设备的上报周期、上报的参数类型等。待配置设备列表用于表示需要进行配置的一个或多个IOT设备,可选的,待配置设备列表可以包括设备标识、设备型号、设备组标识、设备厂商标识、设备所属组织和区域标识中的一种或多种。例如:待配置设备列表包括一个或多个设备标识,表示需要对一个或多个设备标识对应的IOT设备进行配置;或待配置设备列表包括一个或多个设备组标识,表示需要对一个或多个设备组内所有的IOT设备进行配置设备;或待配置设备列表包括一个或多个设备厂商标识,表示需要对一个或多个设备厂商的所有IOT设备进行配置;或待配置设备列表包括一个或多个组织标识,表示需要对一个或组织所属的所有IOT设备进行配置;或待配置设备列表包括一个或多个区域标识,表示需要对一个或多个区域内所有IOT设备进行配置。
可选的,设备配置操作记录数据还包括配置文件的标识和配置文件的版本号中的一种或多种。
S202、设备配置文件发布节点对设备配置操作记录数据进行验证。
具体的,设备配置文件指示区块链网络中的任意N个区块链节点对获取的设备配置操作记录数据进行验证,N为大于或等于1的整数,验证的主要过程包括:设备配置文件发布节点指示区块链网络中的一个或多个endorsing节点对设备配置操作记录数据进行验证,一个或多个endorsing节点将签名后的验证结果发生给设备配置文件发布节点,验证结果包括验证通过或验证不通过两种情况,设备配置文件发布节点根据验证结果确定对设备配置操作记录数据验证通过或验证不通过。其中,该一个或多个endorsing节点可以是预先指定的,也可以是在获取到设备配置操作记录数据后临时指定的,本实施例不作限制。可选的,N大于或等于区块链网络中区块链节点数量的1/2。在设备配置操作记录数据通过的情况下,执行S203;否则,终止流程。
可选的,验证设备配置操作记录数据包括如下的一种或多种:
验证配置文件中的配置数据项是否合法。
验证本地账本中的配置数据项和配置文件中的配置数据项是否发生冲突。例如:区块链账本中记录的IOT设备的上报周期为20分钟,而配置文件中记录的上报周期为10分钟,则二者发生冲突。
验证设备配置操作记录数据的发布者是否合法。其中,设备配置操作记录数据的发布者可以是IOTSP、电信运营商或设备厂商。
验证待配置设备列表对应的IOT设备是否具有配置权限。
S203、设备配置文件发布节点请求区块链网络中的各个区块链节点将包括设备配置操作记录数据的第一区块写入到各自的本地账本中。
具体的,设备配置文件发布节点将包括设备配置操作记录数据的第一区块提交给共识(ordering)网络,共识网络包括一个或多个ordering节点,共识网络对第一区块采用预设的共识算法达成共识后,共识算法包括但不限于:PoW(Proof of Work,工作量证明)、PoS(Proof of Stake,权益证明)、DPoS(Delegate Proof of Stake,委托权益证明)、PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)中的任意一种,共识网络中的任意一个ordering节点向区块链网络中的各个区块链节点广播第一区块,各个区块链节点接收到第一区块后,对第一区块进行验证,验证通过后将第一区块写入各自的本地账本中。
其中,设备配置文件发布节点也为区块链网络中的一个区块链节点,对于设备配置文件发布节点来说,设备配置文件发布节点接收来自共识网络的第一区块,设备配置文件发布节点对第一区块进行验证,验证的方法包括对第一区块的数字签名进行验证,验证通过后,设备配置文件发布节点将第一区块写入本地区块链账本中。
S204、边缘设备获取第一区块。
可选的,边缘设备接收来自共识网络的第一区块,边缘设备对第一区块进行验证。
S205、边缘设备将第一区块写入到本地账本中。
具体的,边缘设备对第一区块进行验证,例如:边缘设备对第一区块的数字签名进行验证,验证通过后,边缘设备确定待配置设备列表中边缘设备将第一区块写入到本地账本中,边缘设备将第一区块写入到本地账本中的过程可参照现有技术的描述,此处不再赘述。
可选的,边缘设备解析第一区块中的设备配置操作记录数据,设备配置操作记录数据包括待配置设备列表和配置文件,边缘设备确定待配置设备列表中不存在任何一个IOT设备位于该边缘设备关联的本地网络时,边缘设备可以不将第一区块写入到本地账本中,边缘设备丢弃该第一区块,边缘设备只需要写入与本地网络相关的区块,这样可以节省边缘设备的存储空间。例如:待配置设备列表包括设备1、设备2和设备3,而边缘设备关联的本地网络包括设备4、设备5和设备6,则待配置设备列表中不存在任何一个IOT设备位于该本地网络中,边缘设备丢弃包括该待配置设备列表的第一区块。
S206、边缘设备向IOT设备发送配置指示,IOT设备接收来自边缘设备的配置指示。
具体的,边缘设备确定待配置设备列表中存在至少一个IOT设备位于该边缘设备关联的本地网络中的情况下,边缘设备向该至少一个IOT设备发送配置指示,配置指示中包括配置文件。例如:待配置设备列表包括IOT设备1、IOT设备2和IOT设备3,边缘设备管理的本地网络包括IOT设备2、IOT设备4和IOT设备5,则边缘设备确定待配置设备列表中的IOT设备2存在于该边缘设备管理的本地网络中,边缘设备向IOT设备2发送包括配置文件的配置指示,IOT设备2接收来自边缘设备的包括配置文件的配置指示。需要说明的是,待配置列表中的IOT设备的数量可以是一个或多个,
S207、IOT设备根据配置文件更新本地配置数据。
具体的,IOT设备根据配置文件中的配置数据项对本地数据配置数据进行更新。
实施本发明实施例,一个或多个设备配置文件发布节点和一个或多个边缘设备构成区块链网络,边缘设备只对关联的本地网络中的IOT设备进行配置,边缘设备的负荷小,避免现有技术中采用IOT平台为中心的网络配置,实现了去中心化的网络配置,减少了IOT平台的处理开销。
为了对本发明实施例的物联网设备的配置方法进行详细说明,图3a提供了一种通信系统的具体结构示意图,图3a中的通信系统包括设备配置文件发布节点、边缘设备1、边缘设备2、设备配置文件服务器,IOT设备11、IOT设备12、IOT设备21、IOT设备22。其中,设备配置文件发布节点、边缘设备1和边缘设备2组成区块链网络,边缘设备1管理的本地网络包括IOT设备11和IOT设备12,边缘设备2管理的本地网络包括IOT设备21和IOT设备22。
参见图3b和图3c,为本发明实施例提供的一种物联网设备的配置方法的另一交互示意图,在本发明实施例的通信系统基于图3a的网络架构,所述方法包括:
S301、设备配置文件服务器向设备配置文件发布节点发送设备配置操作记录数据,设备配置文件发布节点接收来自设备配置文件服务器的设备配置操作记录数据。
具体的,设备配置文件服务器可通过安全通道与设备配置文件发布节点进行通信,设备配置文件服务器可以是电信运营商、IOTSP或设备厂商部署的,即设备配置操作记录数据的发布者可以是电信运营商、IOTSP或设备厂商。设备配置操作记录数据包括待配置设备和配置文件,设备配置操作记录数据包括配置文件和待配置设备列表,配置文件用于对IOT设备进行配置,配置文件可包括一个或多个配置数据项,例如:配置文件用于配置IOT设备的上报周期、上报的参数类型等。待配置设备列表用于表示需要进行配置的一个或多个IOT设备,可选的,待配置设备列表可以用于设备标识、设备型号、设备组标识、设备厂商标识、设备所属组织和区域标识中的一种或多种表示。假设待配置设备列表包括IOT设备11。
可选地,设备配置操作记录数据还可以包括配置文件的标识和配置文件的版本号中的一种或多种。
S302、设备配置文件发布节点对设备配置操作记录数据进行验证,验证结果为通过。
具体的,设备配置文件指示区块链网络中的任意N个endorsing节点对设备配置操作记录数据进行验证操作,验证的具体过程可参照图2的实施例中的描述,N为大于1的整数。可选的,N大于或等于区块链网络中区块链节点数量的1/2,本实施例中区块链网络中区块链节点的数量为3,则N为大于或等于2的整数。在区块链网络中的任意N个区块链节点验证设备配置操作记录数据通过的情况下,执行S303;否则,终止流程。
可选的,验证设备配置操作记录数据包括如下的一种或多种:
验证配置文件中的配置数据项是否合法。
验证本地账本中的配置数据项和配置文件中的配置数据项是否发生冲突。例如:区块链账本中记录的IOT设备的上报周期为20分钟,而配置文件中记录的上报周期为10分钟,则二者发生冲突。
验证设备配置操作记录数据的发布者是否合法。其中,设备配置操作记录数据的发布者可以是IOTSP、电信运营商或设备厂商。
验证待配置设备列表对应的IOT设备是否具有配置权限。
S303、设备配置文件发布节点将包括设备配置操作记录数据的第一区块写入到本地账本中。
具体的,设备配置文件发布节点根据设备配置操作记录数据生成第一区块,将第一区块提交给共识网络,或者设备配置文件发布节点将设备配置操作记录数据提交给共识网络(图3a中未画出),由共识网络生成包括该设备配置操作记录数据的第一区块;共识网络中的节点是区块链网络中的多个节点,共识网络中的节点也成为endorsing节点。共识网络采用共识算法对第一区块达成共识后,共识网络将第一区块广播给区块链网络中各个区块链节点。
设备配置文件发布节点也是上述区块链网络中的一个区块链节点,设备配置文件发布节点接收来自共识网络的第一区块,对第一区块进行验证,验证通过后,设备配置文件发布节点将第一区块写入到本地账本中,写入区块链账本中的过程可参照现有的区块链网络中的描述,此处不再赘述。
S304、边缘设备2将第一区块写入到本地账本中。
具体的,边缘设备2是区块链网络中的一个区块链节点,边缘设备2接收来自共识网络的第一区块,对第一区块进行验证,验证通过后,边缘设备2将第一区块写入本地账本中的过程可参照现有的区块链协议中的描述,此处不再赘述。
可选的,边缘设备2解析第一区块链中的设备配置操作记录数据,得到待配置列表包括IOT设备11,边缘设备2关联的本地网络包括IOT设备21和IOT设备22,边缘设备2确定待配置列表中的IOT设备不在本地网络中,边缘设备2丢弃该第一区块,不将第一区块写入到本地账本中。
S305、边缘设备1将第一区块写入到本地账本中。
具体的,边缘设备1为区块链网络中的一个区块链节点,边缘设备1接收来自共识网络的第一区块,对第一区块进行验证,验证通过后,边缘设备1将第一区块写入到本地账本中的过程可参照现有的区块链协议中的描述,此处不再赘述。
可选的,边缘设备1解析第一区块中的设备配置操作记录数据,得到待配置设备列表包括IOT设备11,边缘设备1关联的本地网络包括IOT设备11和IOT设备12,边缘设备1确定待配置列表中的IOT设备位于本地网络中,边缘设备1需要将第一区块写入到本地账本中。
需要说明的S303至S305的执行顺序本实施例不作限制,可以是任意顺序执行上述三个步骤。
S306、边缘设备1向IOT设备11发送配置指示,IOT设备11接收来自边缘设备11的配置指示。
具体的,配置指示包括S301中所述的配置文件,边缘设备1解析第一区块中的设备配置操作记录数据,得到待配置设备列表包括IOT设备11,边缘设备1确定待配置设备列表和本地网络中共同存在的IOT设备为IOT设备11,边缘设备1向IOT设备11发送第一区块中的配置文件。
可选地,配置指示中还包括所述配置文件的标识和版本号中的一种或多种。
S307、IOT设备11根据配置文件更新本地配置数据。
具体的,IOT设备11根据配置文件中的配置数据项更新本地配置数据,例如:IOT设备11根据配置文件中的上报周期和上报参数类型更新本地配置数据。
S308、IOT设备11根据更新后的本地配置数据得到第一哈希值。
具体的,IOT设备11根据预设的哈希算法对更新后的本地配置数据进行哈希运算得到第一哈希值,哈希算法包括但不限于:SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512中的任意一种。
S309、IOT设备11向边缘设备1发送配置成功响应,边缘设备1接收来自IOT设备的配置成功响应。
具体的,配置成功响应表示IOT设备11成功根据配置文件完成配置过程,配置成功响应中可携带S308中计算出的第一哈希值。
可选地,配置成功响应中还包括所述配置文件的标识和版本号。
S310、边缘设备1验证配置成功响应,验证通过后生成包括第一哈希值的第二区块。
具体的,边缘设备1指示区块链网络中的任意的N个区块链节点对配置成功响应进行验证,边缘设备1确定N个区块链节点验证配置成功响应的验证结果均为通过时,边缘设备1生成包括第一哈希值的第二区块,将第二区块提交给共识网络,共识网络根据共识算法对第二区块达成共识后,向区块链网络中的各个区块链网络广播第二区块。其中,验证配置成功响应包括:验证边缘设备1的身份是否合法,和/或验证IOT设备11是否位于待配置设备列表中。
可选地,第二区块中还包括第一哈希值对应的配置文件的标识和版本号中的一种或多种。
S311、边缘设备1将第二区块写入到本地账本中。
具体的,边缘设备1是区块链网络中的一个区块链节点,边缘设备1接收来自共识网络的第二区块,对第二区块进行验证,验证通过后边缘设备1将第二区块写入到本地账本中,写入的过程可参照现有技术中区块链协议的描述,此处不再赘述。
S312、边缘设备2将第二区块写入到本地账本中。
具体的,边缘设备2是区块链网络中的一个区块链节点,边缘设备2接收来自共识网络的第二区块,对第二区块进行验证,验证通过后边缘设备2将第二区块写入到本地账本中。
S313、设备配置文件发布节点将第二区块写入到本地账本中。
具体的,设备配置文件发布节点是区块链网络中的一个区块链节点,设备配置文件发布节点接收来自共识网络的第二区块,对第二区块进行验证,验证通过后设备配置文件发布节点将第二区块写入到本地账本中。
S314、IOT设备11检测发生故障。
具体的,IOT设备11检测发生故障的方法可以是:IOT设备11检测到再预设时长内无法连接到IOT平台的情况下,确定发生故障,例如:在30分钟内无法连接到IOT平台,IOT设备11确定自身发生故障;或IOT平台检测IOT设备11上报的数据超时,确定IOT设备11发生故障。
S315、IOT设备11根据当前的本地配置数据生成第二哈希值。
具体的,IOT设备根据预设的哈希算法对当前的本地配置数据进行哈希运算得到第二哈希值,其中,S315和S308采用相同的哈希算法。
S316、IOT设备11向边缘设备1发送验证请求,边缘设备1接收来自IOT设备11的验证请求。
其中,验证请求中包括S315中计算的第二哈希值。可选的,验证请求中还可以携带配置文件的标识和版本号中的一种或多种。
S317、边缘设备1比较第二区块中的第一哈希值和第二哈希值是否相同。
具体的,边缘设备1从本地账本中获取第二区块,解析第二区块中的第一哈希值,比较第一哈希值和验证请求中包括的第一哈希值是否相同,若不相同,表明IOT设备11发生故障。
S318边缘设备1获取第一区块中的配置文件。
具体的,在确定IOT设备11发生故障的情况下,边缘设备1解析第一区块得到配置文件。可选的,边缘设备1根据验证请求中携带的配置文件的标识和/或版本号获取对应的第一区块,然后从第一区块中获取相应的配置文件。
S319、边缘设备1向IOT设备11发送配置恢复指示,IOT设备11接收来自边缘设备1的配置恢复指示。
其中,配置恢复指示包括配置文件,配置恢复指示用于指示IOT设备11根据配置文件恢复本地配置数据。
S320、IOT设备11根据配置文件更新本地配置数据。
其中,由于S320和S207配置时采用相同的配置文件,因此S320中更新后的本地配置数据和S307中更新后的本地配置数据相同。
S321、IOT设备11根据更新后的本地配置数据得到第一哈希值。
具体的,S320中更新后的本地配置数据和S307中更新后的本地配置数据相同,S325中采用的哈希算法同样与S308中的哈希算法相同,因此,S325中根据更新后得到的本地配置数据生成的哈希值也为第一哈希值。
S322、IOT设备11向边缘设备11发送恢复成功响应,边缘设备1接收来自IOT设备11的恢复成功响应。
S323、边缘设备1验证配置成功响应。
具体的,边缘设备1指示区块链网络中的任意的一个或多个区块链网络对配置成功响应进行验证,验证通过后生成包括第一哈希至的第三区块,将第三区块提交给共识网络,共识网络根据共识算法对第三区块达成共识后,向区块链网络中的各个区块链节点广播第三区块。
实施本发明的实施例,IOT设备发生故障时,管理该IOT设备的边缘设备根据IOT设备的请求将本地账本中的配置文件下发给该IOT设备,以实现自动恢复IOT设备的本地配置数据,故障恢复过程无需IOT平台的参与,避免现有技术中以IOT平台为中心的配置恢复过程,减少IOT平台的处理开销。
S324、边缘设备1将第三区块写入到本地账本中。
具体的,边缘设备1接收来共识网络的第三区块,对第三区块进行验证,验证通过后,将第三区块写入到本地账本中。
S325、边缘设备2将第三区块写入到本地账本中。
具体的,边缘设备2接收来共识网络的第三区块,对第三区块进行验证,验证通过后,将第三区块写入到本地账本中。
S326、设备配置文件发布节点将第三区块写入到本地账本中。
具体的,设备配置文件发布节点接收来共识网络的第三区块,对第三区块进行验证,验证通过后,将第三区块写入到本地账本中。
其中,下面对移动性场景进行说明,假设IOT设备11原来位于边缘设备3关联的本地网络中,后续由于移动性,IOT设备11移动到边缘设备1关联的本地网络中时,IOT设备11检测到移动到边缘设备1关联的本地网络中时,IOT设备11向边缘设备1发送网络注册请求,网络注册请求中可携带IOT设备11的标识,边缘设备1接收来自IOT设备11的网络注册请求,对IOT设备11进行身份验证,验证通过后,边缘设备1将IOT设备11加入到本地网络中,边缘设备1向IOT设备11发送注册成功响应。边缘设备1对本地网络的管理过程可参照图3b和图3c的描述,此处不再赘述。
可选的,设备配置操作记录数据还包括配置文件标识和/或文件版本号,网络注册请求中还包括文件标识和/或文件版本号,边缘设备1确定IOT设备11位于待配置设备列表中,比较网络注册请求中的文件标识和/或文件版本号与S301中接收到的设备配置操作记录中的文件标识和/或文件版本号不相同时,边缘设备1向IOT设备11发送配置指示,配置指示包括配置文件,指示IOT设备11根据配置文件更新本地配置数据,具体过程可参照图3b和图3c的描述,此处不再赘述。需要说明的是,配置指示和注册成功响应可以是同一个消息,也可以是两个独立的消息,本实施例不作限制。
进一步可选的,网络注册请求中还包括IOT设备11根据当前的本地配置数据生成的哈希值。
上述的附图详细阐述了本发明实施例的一种物联网设备的配置方法,下面提供了本发明实施例的一种物联网设备的的配置装置(以下简称装置4)。
在一种可能的实施方式中,图4所示的装置4可以实现图2、图3b和图3c所示实施例的边缘设备侧,装置4包括接收单元401和处理单元402。
接收单元401,用于获取第一区块;其中,所述第一区块包括设备配置操作记录数据,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述边缘设备区块链网络中的区块链节点。
处理单元402,用于将所述第一区块写入到本地账本中。
所述处理单元402,还用于在所述待配置设备列表中至少一个IOT设备位于配置4关联的本地网络中时,指示所述至少一个IOT设备使用所述配置文件更新本地配置数据。
可选的,处理单元402,还用于确定所述待配置设备列表中存在至少一个IOT设备位于所述边缘设备关联的本地网络中。
可选的,接收单元401,还用于接收来自目标IOT设备的包括第一哈希值的配置成功响应;其中,所述第一哈希值是所述目标IOT设备根据更新后的本地配置数据生成的,所述目标IOT设备为所述至少一个IOT设备中的任意一个;
处理单元402,还用于指示所述区块链网络中的任意N个区块链节点对所述配置成功响应进行验证,N为大于0的整数;
验证通过后,请求所述区块链网络中的各个区块链节点将包括所述第一哈希值的第二区块写入各自对应的本地账本中。
可选的,接收单元401,还用于接收来自所述目标IOT设备的验证请求;其中,所述验证请求包括第二哈希值,所述第二哈希值是所述目标IOT设备在发生故障的情况下根据当前的本地配置数据生成的;
处理单元402还用于:
从所述第二区块中获取所述第一哈希值;
比较所述第一哈希值和所述第二哈希值是否相同,
若不相同,从所述第一区块中获取所述配置文件;
指示所述目标IOT设备根据所述配置文件更新本地配置数据。
可选的,所述验证请求还包括文件标识和/或版本号;
所述处理单元用于从所述第一区块中获取所述配置文件,包括:
根据所述文件标识和/或文件版本号查询对应的所述第一区块,以及从所述第一区块中获取所述配置文件。
可选的,还包括:发送单元;
所述接收单元401,还用于接收来自所述目标IOT设备的网络注册请求;其中,所述网络注册请求用于请求加入所述边缘设备关联的本地网络中;
所述处理单元402还用于:
对所述目标IOT设备进行身份验证;
身份验证通过后,指示所述发送单元向所述目标IOT设备发送成功加入本地网络的注册成功响应。
可选的,所示网络注册请求还包括文件标识和/或文件版本号;所述设备配置操作记录数据包括文件标识和/或文件版本号;
所述处理单元还用于:
在所述目标IOT设备位于所述待配置设备列表中的情况下,所述边缘设备比较所述设备配置操作记录数据中包括的文件标识和/或文件版本号与所述网络注册请求中包括的文件标识和/或文件版本号是否相同;
若为是,所述边缘设备指示所述目标IOT设备使用所述配置文件更新本地配置数据。
所述装置4可以为边缘设备,所述装置4也可以为实现相关功能的现场可编程门阵列(field-programmable gate array,FPGA),专用集成芯片,系统芯片(system on chip,SoC),中央处理器(central processor unit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controller unit,MCU),还可以采用可编程控制器(programmable logic device,PLD)或其他集成芯片。
在另一种可能的实施方式中,图4所示的装置4可以实现图2、图3b和图3c所示实施例的设备配置文件发布节点,装置4包括接收单元401和处理单元402。
接收单元401,用于获取设备配置操作记录数据;其中,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述设备配置文件发布节点为区块链网络中的区块链节点。
处理单元402,用于指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证;其中,N为大于0的正整数。
处理单元402,还用于在验证通过的情况下,请求所述区块链网络中的各个区块链节点将包括所述设备配置操作记录数据的第一区块写入到各自的本地账本中。
可选的,处理单元402用于指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证,包括:
对如下的一种或多种进行验证:
验证所述配置文件中的配置数据项是否合法;
验证所述配置文件中的配置数据项是否与所述设备配置文件发布节点的本地账本存储的配置数据项发生冲突;
验证所述设备配置文件发布节点是否合法;
验证所述文件配置文件服务器是否具有对所述待配置设备列表中的IOT设备进行配置的权限。
可选的,所述区块链网络中的每个区块链节点上预存储或预配置有合法配置数据项列表、合法发布者的身份信息、配置权限信息中的一种或多种。
所述装置4可以为IOT设备,所述装置4也可以为实现相关功能的现场可编程门阵列(field-programmable gate array,FPGA),专用集成芯片,系统芯片(system on chip,SoC),中央处理器(central processor unit,CPU),网络处理器(network processor,NP),数字信号处理电路,微控制器(micro controller unit,MCU),还可以采用可编程控制器(programmable logic device,PLD)或其他集成芯片。
本发明实施例和图2、图3b和图3c的方法实施例基于同一构思,其带来的技术效果也相同,具体过程可参照图2、图3b和图3c的方法实施例的描述,此处不再赘述。
参见图5,图5所示的装置5可以实现图2、图3b和图3c所示实施例的设备配置文件发布节点,装置5包括接收单元501、处理单元502和发送单元503。
接收单元501,用于接收来自边缘设备的配置文件。
处理单元502,用于根据所述配置文件更新本地配置数据。
所述处理单元502,还用于根据更新后的本地配置数据得到第一哈希值;
发送单元503,用于向所述边缘设备发送包括所述第一哈希值的配置成功响应。
可选的,处理单元502还用于:
确定发生故障时,根据当前的本地配置数据得到第二哈希值;
指示所述发送单元向所述边缘设备发送包括所述第二哈希值的验证请求;
指示所述接收单元接收所述边缘设备的配置指示;其中,所述配置指示包括配置文件;
根据所述配置文件更新本地配置数据。
可选的,处理单元502用于确定发生故障,包括:
预设时长内未连接到IOT平台的情况下,确定发生故障;或
在所述接收单元接收来自IOT平台的故障指示消息时,确定发生故障。
可选的,处理单元502还用于:
移动到所述边缘设备关联的本地网络时,指示发送单元501向所述边缘设备发送网络注册请求;
指示接收单元502接收来自所述边缘设备发送的成功加入所述本地网络的注册成功响应。
可选的于,所述网络注册请求还包括文件标识和/或文件版本号。
图6为本发明实施例提供的一种装置结构示意图,以下简称装置6,装置6可以集成于前述边缘设备、IOT设备或设备配置文件发布节点,如图6所示,该装置包括:存储器602、处理器601、发射器604以及接收器603。
存储器602可以是独立的物理单元,与处理器601、发射器604以及接收器603可以通过总线连接。存储器602、处理器601、发射器604以及接收器601也可以集成在一起,通过硬件实现等。
发射器604和接收器603还可以与天线连接,接收器603通过天线接收其他设备发送的信息,相应地,发射器604通过天线向其他设备发送信息。
存储器602用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器601调用该程序,执行以上方法实施例的操作。
可选地,当上述实施例的物联网设备的配置方法中的部分或全部通过软件实现时,随机接入装置也可以只包括处理器。用于存储程序的存储器位于随机接入装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
上述实施例中,发送模块或发射器执行上述各个方法实施例发送的步骤,接收模块或接收器执行上述各个方法实施例接收的步骤,其它步骤由其他模块或处理器执行。发送模块和接收模块可以组成收发模块,接收器和发射器可以组成收发器。
本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的物联网设备的配置方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的物联网设备的配置方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (30)
1.一种物联网设备的配置方法,其特征在于,包括:
边缘设备获取第一区块;其中,所述第一区块包括设备配置操作记录数据,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述边缘设备为区块链网络中的区块链节点;
所述边缘设备将所述第一区块写入到本地账本中;
在所述待配置设备列表中至少一个物联网IOT设备位于所述边缘设备关联的本地网络中时,所述边缘设备指示所述至少一个IOT设备使用所述配置文件更新本地配置数据。
2.根据权利要求1所述的方法,其特征在于,所述边缘设备将所述第一区块写入到本地账本中之前,还包括:
所述边缘设备确定所述待配置设备列表中存在至少一个IOT设备位于所述边缘设备关联的本地网络中。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
所述边缘设备接收来自目标IOT设备的包括第一哈希值的配置成功响应;其中,所述第一哈希值是所述目标IOT设备根据更新后的本地配置数据生成的,所述目标IOT设备为所述至少一个IOT设备中的任意一个;
所述边缘设备指示所述区块链网络中的任意N个区块链节点对所述配置成功响应进行验证,N为大于0的整数;
验证通过后,所述边缘设备请求所述区块链网络中的各个区块链节点将包括所述第一哈希值的第二区块写入各自对应的本地账本中。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述边缘设备接收来自所述目标IOT设备的验证请求;其中,所述验证请求包括第二哈希值,所述第二哈希值是所述目标IOT设备在发生故障的情况下根据当前的本地配置数据生成的;
所述边缘设备从所述第二区块中获取所述第一哈希值;
所述边缘设备比较所述第一哈希值和所述第二哈希值是否相同,
若不相同,所述边缘设备从所述第一区块中获取所述配置文件;
所述边缘设备指示所述目标IOT设备根据所述配置文件更新本地配置数据。
5.根据权利要求4所述的方法,其特征在于,所述验证请求还包括文件标识和/或版本号;
所述边缘设备从所述第一区块中获取所述配置文件包括:
所述边缘设备根据所述文件标识和/或文件版本号查询对应的所述第一区块,以及从所述第一区块中获取所述配置文件。
6.根据权利要求4所述的方法,其特征在于,所述边缘设备接收来自所述目标IOT设备的验证请求之前,还包括:
所述边缘设备接收来自所述目标IOT设备的网络注册请求;其中,所述网络注册请求用于请求加入所述边缘设备关联的本地网络中;
所述边缘设备对所述目标IOT设备进行身份验证;
身份验证通过后,所述边缘设备向所述目标IOT设备发送成功加入本地网络的注册成功响应。
7.根据权利要求6所述的方法,其特征在于,所示网络注册请求还包括文件标识和/或文件版本号;所述设备配置操作记录数据包括文件标识和/或文件版本号;
所述方法还包括:
在所述目标IOT设备位于所述待配置设备列表中的情况下,所述边缘设备比较所述设备配置操作记录数据中包括的文件标识和/或文件版本号与所述网络注册请求中包括的文件标识和/或文件版本号是否相同;
若为是,所述边缘设备指示所述目标IOT设备使用所述配置文件更新本地配置数据。
8.一种物联网设备的配置装置,其特征在于,包括:
接收单元,用于获取第一区块;其中,所述第一区块包括设备配置操作记录数据,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述配置装置为区块链网络中的区块链节点;
处理单元,用于将所述第一区块写入到本地账本中;
所述处理单元,还用于在所述待配置设备列表中至少一个IOT设备位于所述配置装置关联的本地网络中时,指示所述至少一个IOT设备使用所述配置文件更新本地配置数据。
9.根据权利要求8所述的装置,其特征在于,
所述处理单元,还用于确定所述待配置设备列表中存在至少一个IOT设备位于所述配置装置关联的本地网络中。
10.根据权利要求8或9所述的装置,其特征在于,
所述接收单元,还用于接收来自目标IOT设备的包括第一哈希值的配置成功响应;其中,所述第一哈希值是所述目标IOT设备根据更新后的本地配置数据生成的,所述目标IOT设备为所述至少一个IOT设备中的任意一个;
所述处理单元,还用于指示所述区块链网络中的任意N个区块链节点对所述配置成功响应进行验证,N为大于0的整数;
验证通过后,请求所述区块链网络中的各个区块链节点将包括所述第一哈希值的第二区块写入各自对应的本地账本中。
11.根据权利要求10所述的装置,其特征在于,
所述接收单元,还用于接收来自所述目标IOT设备的验证请求;其中,所述验证请求包括第二哈希值,所述第二哈希值是所述目标IOT设备在发生故障的情况下根据当前的本地配置数据生成的;
所述处理单元还用于:
从所述第二区块中获取所述第一哈希值;
比较所述第一哈希值和所述第二哈希值是否相同,
若不相同,从所述第一区块中获取所述配置文件;
指示所述目标IOT设备根据所述配置文件更新本地配置数据。
12.根据权利要求11所述的装置,其特征在于,所述验证请求还包括文件标识和/或版本号;
所述处理单元用于从所述第一区块中获取所述配置文件,包括:
根据所述文件标识和/或文件版本号查询对应的所述第一区块,以及从所述第一区块中获取所述配置文件。
13.根据权利要求11所述的装置,其特征在于,还包括:发送单元;
所述接收单元,还用于接收来自所述目标IOT设备的网络注册请求;其中,所述网络注册请求用于请求加入所述配置装置关联的本地网络中;
所述处理单元还用于:
对所述目标IOT设备进行身份验证;
身份验证通过后,指示所述发送单元向所述目标IOT设备发送成功加入本地网络的注册成功响应。
14.根据权利要求13所述的装置,其特征在于,所示网络注册请求还包括文件标识和/或文件版本号;所述设备配置操作记录数据包括文件标识和/或文件版本号;
所述处理单元还用于:
在所述目标IOT设备位于所述待配置设备列表中的情况下,所述配置装置比较所述设备配置操作记录数据中包括的文件标识和/或文件版本号与所述网络注册请求中包括的文件标识和/或文件版本号是否相同;
若为是,所述配置装置指示所述目标IOT设备使用所述配置文件更新本地配置数据。
15.一种物联网设备的配置方法,其特征在于,包括:
IOT设备接收来自边缘设备的配置文件;
所述IOT设备根据所述配置文件更新本地配置数据;
所述IOT设备根据更新后的本地配置数据得到第一哈希值;
所述IOT设备向所述边缘设备发送包括所述第一哈希值的配置成功响应。
16.根据权利要求15所述的方法,其特征在于,所述IOT设备向所述边缘设备发送包括所述第一哈希值的配置成功响应之后,还包括:
所述IOT设备确定发生故障时,根据当前的本地配置数据得到第二哈希值;
所述IOT设备向所述边缘设备发送包括所述第二哈希值的验证请求;
所述IOT设备接收所述边缘设备的配置指示;其中,所述配置指示包括配置文件;
所述IOT设备根据所述配置文件更新本地配置数据。
17.根据权利要求16所述的方法,其特征在于,所述IOT设备确定发生故障包括:
所述IOT设备在预设时长内未连接到IOT平台的情况下,确定发生故障;或
所述IOT设备接收来自IOT平台的故障指示消息时,确定发生故障。
18.根据权利要求16所述的方法,其特征在于,所述IOT设备确定发生故障时,根据当前的本地配置数据得到第二哈希值之前,还包括:
所述IOT设备移动到所述边缘设备关联的本地网络时,向所述边缘设备发送网络注册请求;
所述IOT设备接收来自所述边缘设备发送的成功加入所述本地网络的注册成功响应。
19.根据权利要求18所述的方法,其特征在于,所述网络注册请求还包括文件标识和/或文件版本号。
20.一种物联网设备的配置装置,其特征在于,包括:
接收单元,用于接收来自边缘设备的配置文件;
处理单元,用于根据所述配置文件更新本地配置数据;
所述处理单元,还用于根据更新后的本地配置数据得到第一哈希值;
发送单元,用于向所述边缘设备发送包括所述第一哈希值的配置成功响应。
21.根据权利要求20所述的装置,其特征在于,所述处理单元还用于:
确定发生故障时,根据当前的本地配置数据得到第二哈希值;
指示所述发送单元向所述边缘设备发送包括所述第二哈希值的验证请求;
指示所述接收单元接收所述边缘设备的配置指示;其中,所述配置指示包括配置文件;
根据所述配置文件更新本地配置数据。
22.根据权利要求21所述的装置,其特征在于,所述处理单元用于确定发生故障,包括:
预设时长内未连接到IOT平台的情况下,确定发生故障;或
在所述接收单元接收来自IOT平台的故障指示消息时,确定发生故障。
23.根据权利要求21所述的装置,其特征在于,所述处理单元还用于:
移动到所述边缘设备关联的本地网络时,指示所述发送单元向所述边缘设备发送网络注册请求;
指示所述接收单元接收来自所述边缘设备发送的成功加入所述本地网络的注册成功响应。
24.根据权利要求23所述的装置,其特征在于,所述网络注册请求还包括文件标识和/或文件版本号。
25.一种物联网设备的配置方法,其特征在于,包括:
设备配置文件发布节点获取设备配置操作记录数据;其中,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述设备配置文件发布节点为区块链网络中的区块链节点;
所述设备配置文件发布节点指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证;其中,N为大于0的正整数;
在验证通过的情况下,所述设备配置文件发布节点请求所述区块链网络中的各个区块链节点将包括所述设备配置操作记录数据的第一区块写入到各自的本地账本中。
26.根据权利要求25所述的方法,其特征在于,所述设备配置文件发布节点指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证包括:
对如下的一种或多种进行验证:
验证所述配置文件中的配置数据项是否合法;
验证所述配置文件中的配置数据项是否与所述设备配置文件发布节点的本地账本存储的配置数据项发生冲突;
验证所述设备配置文件发布节点是否合法;
验证文件配置文件服务器是否具有对所述待配置设备列表中的IOT设备进行配置的权限。
27.根据权利要求25或26所述的方法,其特征在于,所述区块链网络中的每个区块链节点上预存储或预配置有合法配置数据项列表、合法发布者的身份信息、配置权限信息中的一种或多种。
28.一种物联网设备的配置装置,其特征在于,包括:
接收单元,用于获取设备配置操作记录数据;其中,所述设备配置操作记录数据包括待配置设备列表和配置文件,所述配置装置 为区块链网络中的区块链节点;
处理单元,用于指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证;其中,N为大于0的正整数;
所述处理单元,还用于在验证通过的情况下,请求所述区块链网络中的各个区块链节点将包括所述设备配置操作记录数据的第一区块写入到各自的本地账本中。
29.根据权利要求28所述的装置,其特征在于,所述处理单元用于指示所述区块链网络中的任意N个区块链节点对所述设备配置操作记录数据进行验证,包括:
对如下的一种或多种进行验证:
验证所述配置文件中的配置数据项是否合法;
验证所述配置文件中的配置数据项是否与所述设备配置文件发布节点的本地账本存储的配置数据项发生冲突;
验证所述设备配置文件发布节点是否合法;
验证文件配置文件服务器是否具有对所述待配置设备列表中的IOT设备进行配置的权限。
30.根据权利要求28或29所述的装置,其特征在于,所述区块链网络中的每个区块链节点上预存储或预配置有合法配置数据项列表、合法发布者的身份信息、配置权限信息中的一种或多种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810395885.8A CN110417567B (zh) | 2018-04-27 | 2018-04-27 | 一种物联网设备的配置方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810395885.8A CN110417567B (zh) | 2018-04-27 | 2018-04-27 | 一种物联网设备的配置方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417567A CN110417567A (zh) | 2019-11-05 |
CN110417567B true CN110417567B (zh) | 2021-12-14 |
Family
ID=68346912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810395885.8A Active CN110417567B (zh) | 2018-04-27 | 2018-04-27 | 一种物联网设备的配置方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417567B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111221609A (zh) * | 2019-12-30 | 2020-06-02 | 创维集团有限公司 | 一种数据处理方法、系统及存储介质 |
CN111552215B (zh) * | 2020-05-22 | 2022-02-11 | 中国联合网络通信集团有限公司 | 物联网设备安全防护方法和系统 |
CN115967545B (zh) * | 2022-12-01 | 2024-02-06 | 上海物盾信息科技有限公司 | 边缘计算安全防护方法、系统、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141601A (zh) * | 2015-08-17 | 2015-12-09 | 北京佰才邦技术有限公司 | 物联网协议转换功能的配置方法和装置 |
CN105591812A (zh) * | 2015-10-29 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种智能家居配置方法及装置 |
CN106130779A (zh) * | 2016-07-18 | 2016-11-16 | 布比(北京)网络技术有限公司 | 一种物联设备及用该设备的物联网构建方法 |
CN107566381A (zh) * | 2017-09-12 | 2018-01-09 | 中国联合网络通信集团有限公司 | 设备安全控制方法、装置及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9967334B2 (en) * | 2015-03-02 | 2018-05-08 | Dell Products Lp | Computing device configuration and management using a secure decentralized transaction ledger |
US10972448B2 (en) * | 2016-06-20 | 2021-04-06 | Intel Corporation | Technologies for data broker assisted transfer of device ownership |
WO2018020373A1 (en) * | 2016-07-29 | 2018-02-01 | nChain Holdings Limited | Blockchain-implemented method and system |
US10185550B2 (en) * | 2016-09-28 | 2019-01-22 | Mcafee, Inc. | Device-driven auto-recovery using multiple recovery sources |
CN107819829B (zh) * | 2017-10-17 | 2020-07-07 | 上海点融信息科技有限责任公司 | 访问区块链的方法、系统、区块链节点设备及用户终端 |
-
2018
- 2018-04-27 CN CN201810395885.8A patent/CN110417567B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141601A (zh) * | 2015-08-17 | 2015-12-09 | 北京佰才邦技术有限公司 | 物联网协议转换功能的配置方法和装置 |
CN105591812A (zh) * | 2015-10-29 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种智能家居配置方法及装置 |
CN106130779A (zh) * | 2016-07-18 | 2016-11-16 | 布比(北京)网络技术有限公司 | 一种物联设备及用该设备的物联网构建方法 |
CN107566381A (zh) * | 2017-09-12 | 2018-01-09 | 中国联合网络通信集团有限公司 | 设备安全控制方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
a survey of how to use bockchain to secure internet of things and the stalker attack;Emanuel Ferreira Jesus .et al;《security and communication networks》;20180408;第1-27页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110417567A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11943376B1 (en) | Template based credential provisioning | |
US12132609B2 (en) | Blockchains for securing IoT devices | |
US11546755B2 (en) | Centralized configurator server for DPP provisioning of enrollees in a network | |
US10678938B2 (en) | Trustworthy peripheral transfer of ownership | |
US10185550B2 (en) | Device-driven auto-recovery using multiple recovery sources | |
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
US9960923B2 (en) | Handling of digital certificates | |
CN110417567B (zh) | 一种物联网设备的配置方法和装置 | |
JP7551222B2 (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
US20160085995A1 (en) | Technologies for verifying components | |
CN107294924B (zh) | 漏洞的检测方法、装置和系统 | |
US20200128390A1 (en) | Method and apparatus for handling remote profile management exception | |
CN110730081B (zh) | 基于区块链网络的证书吊销方法、相关设备及介质 | |
US11963261B2 (en) | Method and apparatus for recovering profile in case of device change failure | |
EP3598333A1 (en) | Electronic device update management | |
US20240163119A1 (en) | Device management method, system, and apparatus | |
JP2015032962A (ja) | 通信装置、鍵共有方法、プログラムおよび通信システム | |
JP2022531040A (ja) | データ収集方法、データ収集装置、データ収集デバイスおよびコンピュータ可読記憶媒体 | |
WO2020010906A1 (zh) | 操作系统os批量安装方法、装置和网络设备 | |
CN114125812A (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN115348177B (zh) | 一种工控系统网络拓扑安全重构方法、装置及存储介质 | |
US10536346B2 (en) | Data processing method and device | |
US20210195418A1 (en) | A technique for authenticating data transmitted over a cellular network | |
US11983542B2 (en) | Management of edge computing nodes in preboot execution environment (PxE) having unique media access control (MAC) address with targeted installation of edge node | |
CN118803030A (zh) | 离线验证方法、系统、验证终端、可读存储介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |