一种基于区块链的物联网监控管理方法及系统与流程

文档序号:21318697发布日期:2020-06-30 20:49阅读:538来源:国知局
一种基于区块链的物联网监控管理方法及系统与流程

本发明属于区块链物联网技术领域,具体涉及一种基于区块链的物联网监控管理方法及系统。



背景技术:

物联网在长期发展演进过程中,遇到了以下几个行业痛点:设备安全、个人隐私、架构僵化、通信兼容和多主体协同等。近期,在物联网接入控制系统方面的提议已经将区块链纳入其中,以克服传统物联网系统中固有的问题。虽然物联网系统长期以各种形式存在,但安全挑战正在出现,并将在可预见的未来继续出现。一般it安全方法和工具无法满足安全物联网部署的所有特定要求。因此,确定适用于物联网安全解决方案的紧急方法非常重要。

目前,很多物联网都是运营商、企业内部的自组织网络,运营联盟链多中心、弱中心化的特质将降低中心化架构的高额运维成本,信息加密、安全通信的特质将有助于保护隐私,身份权限管理和多方共识有助于识别非法节点,及时阻止恶意节点的接入和作恶,区块链体系结构的核心优势包括:任何节点都可以创建交易,在经过一段时间的确认之后,就可以合理地确认该交易是否为有效,区块链可有效地防止双方问题的发生;对于试图重写或者修改交易记录而言,它的成本是非常高的。区块链实现了两种记录:交易(transactions)以及区块(blocks)。交易是被存储在区块链上的实际数据,而区块则是记录确认某些交易是在何时,以及以何种顺序成为区块链数据库的一部分。交易是由参与者在正常过程中使用系统所创建的(在加密数字货币的例子中,一笔交易是由bob将代币发送给alice所创建的),而区块则是由我们称之为矿工(miners)的单位负责创建。区块链技术,是实现了数据公开、透明、可追溯的产品的架构设计方法,算作广义的区块链。

区块链与物联网的结合需要应对服务商可信度、认证安全和法律监管缺失三大风险。当物联网扩展到数十亿设备和数百万设备所有者时,不可能为每个物联网设备维护acl并依赖集中式访问控制服务器。为了使这些物联网设备所有者能够控制其设备生成的数据,区块链部署是一种可能的解决方案,不包括对集中式第三方的依赖。然而,在越来越多的物联网系统应用区块链技术的过程中,如何更高效的进行去掉中心化监管的物联网系统,如何针对各种网关节点进行有效的可视化监控管理,促使庞大的物联网体系能够在区块链底层网络的支撑下高效的响应、交易运行是当前需要解决的问题。



技术实现要素:

针对以上问题,本发明设计了一个多链架构的区块链物联网网络,提出了一个方便的集成化的区块链物联网监管方法和系统,用来部署和实时监管区块链物联网网络运行。它同时具有监控和管理两大特色,并且实现多链之间的数据交换,通过接口封装,将复杂的区块链架构进行类别归属管理,并提供监管途径,将物联网底层网络的状态利用区块链技术进行实时监控展示。

一方面,本发明一种基于区块链的物联网监控管理方法,包括如下步骤:

(1)建立基于多链架构的物联网网络,包括主链和子链:

1)任一参与机构创建各类网关节点,并连接相关设备,将不同功能的物联网设备连接相应网关形成多个子链,参与机构包括物联网设备提供机构、设备操作需求机构,各机构通过网关连接物联网设备。

各子链中存储每个物联网设备的属性信息,包括:名称、设备用途及各指标信息。各子链实现物联网不同功能的物联网设备信息上链,并透明不可篡改。

2)由各参与机构提供节点形成主链,其中每一个子链选取其中节点加入主链,形成多链物联网网络架构,主链将不同场景需求的物联网设备所属的子链集结同步,使整个物联网网络运行可控。各参与机构提供背书节点、共识节点、记账节点,而子链可随机选取其链中任一节点或者根据场景需求投票竞选链中节点作为记账节点加入主链,该节点共享拥有其所属子链各节点信息,通过加入主链,其所存储信息与主链其他节点共享,实现全网物联网信息共享,通过多链架构,让不同场景的子链服务于不同需求。3)设置跨链协议,这些不同的链之间需要传输数字资产和状态,跨链协议可以实现链与链之间的互操作性。当然,这里也需要跨链对于性能和安全的影响;其他需求机构可选择通过邀请码加入到该网络中。

(2)对所述物联网网络进行区块链监管环境部署:

1)将包含区块链底层的安装包上传至网关节点服务器,并形成文件列表,保存绝对路径,导入rancher相关镜像并利用导入的镜像启动rancher部署集群环境,通过rancher部署集群依赖的所有镜像到相应网关节点服务器;

2)在集群中搭建docker的私有仓库,并将区块链相关镜像传入私有仓库;

3)安装命令行操作工具,用于查询和管理集群资源,配置服务器并启用区块链监管系统。

(3)将物联网网络链上节点进行集群管理和封装:

1)将多链物联网网络中的节点按照类别进行集合封装,通过集群进行节点部署,从所述私有仓库内拉取相关镜像,启动集合运行,使相关节点均在集群中运行,若某个节点发生故障或宕机,集群有保活机制可实现节点的动态漂移,并保证数据的一致性;

2)设置集群接口和底层通信传输接口,集群接口用于管理集群内节点的状态,网络通信传输接口用于管理监控界面与多链物联网网络的数据信息传输。

(4)对封装后的区块链物联网网络进行可视化监控,包括整个网络连接的拓扑展示,以及对每个网络中的任一区块链的状态监控:

1)在操作界面上建立区块链信息总览表,通过网络通信传输接口,连接区块链底层服务端和上层业务端,获取到所有的区块链信息,包括子链物联网设备运行状态及主链区块信息,并呈现在信息总览表中;后端是利用grpc连接底层服务端获取区块链最新区块,解析后的区块详细数据,利用websocket推送给前端;

websocket协议是基于tcp的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端。

2)节点状态页面与服务端建立websocket连接,用于收发节点状态相关的请求和响应,前端解析json格式的响应,利用react更新界面,显示最新的状态数据,用户可以在界面上点击停止/启动按钮来管理各节点的生命周期;

3)根据节点以及连线数据计算拓扑图布局,并渲染拓扑图界面;(具体方法:调用函数initsimulation在一个svg中模拟节点与连线的位置情况,采用d3的forcelayout模型,过程模拟次数为300次,最终模拟结果会缓存在支持localstorage的浏览器中并返回给调用者,根据模拟结果以及样式配置渲染最终拓扑图界面。)

4)点击信息总览表内的任一区块链,显示当前选择区块链的名称、区块高度、执行合约数以及交易情况,同时拓扑图上降低不属于该区块链的节点与连接的透明度,以做区分,实现对所述物联网网络的链上的可视化实时监控。

进一步地,所述实时监控状态包括区块状态和节点状态:分别为区块高度、交易情况、最新区块时间、tps、执行合约情况、所选共识算法、区块平均生成时间、节点创建加入、取消及节点状态获取,通过对区块状态和节点状态的监控实现对所述物联网网络状态及设备的运行状态、调用情况的监管控制。

另一方面,本发明提出一种基于区块链的物联网监控管理系统,包括:

部署模块,用于区块链物联网网络环境部署;

组建模块,用于所述网络的创建与加入,主链和子链的创建与加入,完成整个区块链监管网络的基本组建;

管理模块,用于集群管理和接口封装管理;

监控模块用于监控每个区块链及节点的状态指标和整个网络连接的拓扑展示。

进一步地,所述组建模块包括:节点模块,负责各参与机构节点的创建、增加、取消;合约模块:每个区块链中智能合约的创建、部署及更新。

进一步地,集群模块,负责管理区块链物理机,主机节点的规划,加入与退出;

接口封装模块,提供集群管理接口和区块链物联网网络的传输接口,通过封装实现接口转换和数据包装。

进一步地,区块监控模块:提供区块链物联网网络中每个区块状态监控功能,用户通过区块监控模块查看该区块的实时状态:区块高度、交易情况、最新区块时间、tps、执行合约情况、所选共识算法、区块平均生成时间、节点创建加入、取消及节点状态获取;并通过对区块状态和节点状态的监控实现对所述物联网网络状态及设备的运行状态、调用情况的监管控制。

状态展示模块:该模块负责显示用户指定区块链中的各项监控指标数据,即区块监控模块所监控的该区块链的最新状态,并显示该区块链中发生的交易数据;

详情列表模块:负责与区块状态监控相关的操作与相关数据列表展示及数据存储,具体功能包括区块列表详情,交易列表详情,合约调用次数,查看世界状态等,并汇总信息总览表展示出来;

区块元模块:通过该模块用户可以查看当前产生的区块信息,包括区块编号、上一区块哈希、区块内的成功/失败交易数量及交易详情;

世界状态模块:该模块负责显示当前安装并处于运行状态的合约以及合约的世界状态。

附图说明

图1:本发明多链物联网网络示意图;

图2:本发明多链架构示意图;

图3:本发明基于区块链的物联网网络监管方法的流程图;

图4:本发明中整个区块链物联网监管网络架构图;

图5:本发明基于区块链的物联网网络监管系统的流程图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

(1)如图1,本发明设计了一个多链架构的区块链物联网网络,图2是对图1的进一步补充,在该网络中,物联网参与机构创建各类网关节点,并连接相关设备,将不同功能的物联网设备连接相应网关形成多个子链网络,由各参与机构提供节点形成主链网络。如图2所示,子链1、2和3根据其链上的物联网设备数据更新、共识出块形成新的区块,各子链区块信息记账存储后后在主链上形成汇总经广播共识后形成主链区块,从而形成多链物联网网络,各子链实现物联网不同功能的物联网设备信息上链,并透明不可篡改。

通过多链架构,让不同场景的子链服务于不同需求。比如运行在存储能力弱的设备上的子链可采用类mimblewimble架构来减小存储;注重支付场景的子链可能不需要运行智能合约。

设置跨链协议,即采取双向锁定的跨链机制,实现各子链之间必要的数字资产传输,其他需求机构可选择通过已加入上链机构发布的邀请码加入到该网络中。如图3所示,为本发明基于区块链的物联网监管方法流程图。

提出一个方便的集成化的区块链物联网监管方法和系统,用来部署和实时监管区块链物联网网络运行。

(2):区块链物联网网络的环境部署:

1)首先,准备服务器、客户端及开通网络访问关系,并安装docker,导入rancher相关镜像并利用导入的镜像启动rancher,通过浏览器页面部署集群(比如kubernetes集群)环境,其中rancher是一个部署集群的工具。

具体如下:rancher镜像的导入:将导入通过rancher部署kubernetes依赖的所有镜像到物联网网关服务器。

比如在5个不同的物联网网关服务器上,将云象区块链(yunphant_baas)docker镜像目录下的文件解压:

#切换到镜像压缩包目录

cd$yunphant_baas/docker_images

#解压文件

tar-xvzfrancher.tar.gz

tar-xvzfk8s.tar.gz

在任一服务器上分别执行:

#切换到安装脚本目录

cd$yunphant_baas/script

#执行脚本导入master相关镜像

./load_master_images.sh

在剩余服务器上执行:

#切换到安装脚本目录

cd$yunphant_baas/script

#执行脚本导入master相关镜像

./load_slave_images.sh

其次,用rancher部署kubernetes,用上一步导入的镜像启动rancher,通过浏览器页面部署kubernetes,启动rancher服务端,

2)安装命令行操作工具kubectl,用于查询和管理kubernetes资源,并在集群中搭建docker的私有仓库,主要用于存放区块链相关镜像,并将区块链相关镜像传入私有仓库;

3)配置服务器并启用区块链物联网监管系统。

(3):将物联网网络链上参与节点进行集群管理和封装:

1)参见图4,参与机构创建各类节点,包括创建peer,orderer,kafka,zookeeper等节点,结合设备网关组建多链物联网网络,用户登录后,可以创建自己的区块链物联网网络,也可以通过邀请码加入别人的区块链物联网网络,共享orderer,kafka,zookeeper等基础组件;

2)将节点按照类别进行集合封装,通过集群进行节点部署,kubernetes集群管理的区块链物联网网络,其中每个类型的节点,都作为一个独立的集合运行在kubernetes集群中。从docker私有仓库内拉取相关镜像,启动集合运行,使相关节点均在集群中运行,若某个节点发生故障或宕机,集群有保活机制可实现节点的动态漂移,并保证数据的一致性;

3)设置kubernetes接口和区块链物联网网络通信传输接口,集群接口用于管理集群内节点的状态,包括创建集合和监控集合,网络通信传输接口用于管理监控界面与区块链物联网网络底层的数据信息传输,通过两大接口一层封装,提供了监控和管理的途径。

另外,参与机构参与创建主链部分,将peer加入到主链中,各节点参与部署智能合约;参与机构将可公开信息发布至主链中,并定期通过合约更新信息状态,包括链组织更新、节点状态、合约部署、交易记录等可公开的数据信息。各区块链底层平台之间通过主链上的合约进行事件通知和数据交换,借用了区块链的网络结构,不额外增加网络结构复杂度,实现机构间消息通讯、邮件通知、工作流等功能。

(4):对封装后的区块链物联网网络进行可视化监控,实时反映整个区块链物联网网络的各种指标状态,包括整个网络连接的拓扑展示,以及对每一区块链的指标监控:

1)建立区块链信息总览表,通过网络通信传输接口,建立websocket协议连接,用于接收监控的状态和数据,连接区块链底层服务端,获取子区块链实时监控状态,并呈现在信息总览表中;后端是利用grpc连接底层服务端获取区块链最新区块,解析后的区块详细数据,利用websocket推送给前端。发送messagegetoverview获取初始化拓扑图数据,保持websocket连接,接受接口端推送的拓扑图变化数据,直到路由发生变化,在客户端关闭websocket。websocket协议是基于tcp的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,允许服务器主动发送信息给客户端。

根据websocket拿到的数据,显示当前网络中的区块链数量的信息总览表,并可以点击的列表形式显示各个区块链。点击任一区块链列表进入该区块链信息页面,显示当前选择区块链的名称、共识算法、区块高度、合约数以及交易数,同时拓扑图上会降低不属于该区块链的节点与连接的透明度,以做区分。实时监控状态包括:区块高度、交易数量、最新区块时间、tps、合约数量、所选共识算法、区块平均生成时间。

2)用户可以在界面上点击停止/启动按钮来管理各节点的生命周期,具体包括:

a)节点状态页面与服务端建立websocket连接,用于收发节点状态相关的请求和响应,前端解析json格式的响应,利用react更新界面,显示最新的状态数据;

b)进行用户身份验证,并将http请求升级为websocket连接,绑定消息处理器,将该连接收到的数据转发至nodeoperationhandler;

c)解析websocket传入的数据,调用对应的处理函数;

d)状态处理相关服务,包括查询数据库中的结果并返回;轮询集群内节点状态并存入数据库;

e)存放状态相关数据。

3)根据节点以及连线数据计算拓扑图布局,并渲染拓扑图界面。具体方法:调用函数initsimulation在一个svg中模拟节点与连线的位置情况,采用d3的forcelayout模型,过程模拟次数为300次,最终模拟结果会缓存在支持localstorage的浏览器中并返回给调用者,根据模拟结果以及样式配置渲染最终拓扑图界面。

4)点击信息总览表内的任一区块链,显示当前选择区块链的名称、区块高度、执行合约数以及交易情况,同时拓扑图上降低不属于该区块链的节点与连接的透明度,以做区分,实现对所述物联网网络的链上的可视化实时监控。

其中,实时监控状态包括区块状态和节点状态:分别为区块高度、交易情况、最新区块时间、tps、执行合约情况、所选共识算法、区块平均生成时间、节点创建加入、取消及节点状态获取,通过对区块状态和节点状态的监控实现对所述物联网网络状态及设备的运行状态、调用情况的监管控制。

上述基于区块链的监管方法,将区块链节点进行集群管理,通过区块链信息总览表和拓扑图进行监控展示,并通过组建主链,进行各区块链之间的事件通知和数据交换,使整体形成一个有序可控的区块链物联网网络。

此外,本申请实施例还提供一种基于区块链的物联网监管系统,实现上述区块链监管方法的计算机程序,一种基于区块链的物联网监管系统,如图5所示,包括:

部署模块,用于区块链物联网网络的环境部署,首先准备服务器、客户端,开通网络访问关系,在服务器上安装docker并运行,导入通过rancher部署集群依赖的所有镜像到服务器,启动rancher,通过浏览器页面部署集群,并添加相应环境,命令行操作工具,完成系统环境部署。

组建模块,用于组建子链和主链,完成整个多链物联网网络的创建,组建模块包括:节点模块,为创建资源部分,创建、增加、取消peer,orderer,kafka,zookeeper节点,以及创建主链,将peer加入到主链中;

合约模块:每个区块链中智能合约的创建、部署及实例化更新。

管理模块,用于集群管理和接口封装管理,包括:集群模块,集群模块,负责物理机器的管理,主机节点的规划,加入与退出。接口封装模块,提供集群管理接口和区块链物联网网络的网络传输接口,通过封装实现接口转换和数据包装,进一步实现集群内部和集群之间的网络通信,确保整个区块链物联网网络联通。

监控模块用于监控每个区块链包括节点的状态指标和整个网络连接的拓扑展示。

a)根据请求注册监控服务,监控页面访问状态展示模块的监控路由,建立websocket连接,用于接收监控的状态和数据,前端解析json格式的响应,利用react更新界面,显示最新的状态数据;

b)将请求转发至详情列表模块类处理,针对所请求监控区块,调用相应区块监控模块轮询各种资源的实时状态,区块高度、交易数量、最新区块时间、tps、合约数量、所选共识算法、区块平均生成时间;

c)进行监控数据服务,向数据库和内存查询资源的状态,并将数据返回给状态展示模块、区块元模块、世界状态模块;

d)详情列表模块存储监控相关数据。

利用本发明的监管系统首先调用部署模块部署集群环境,利用组建模块创建区块链监管网络,及节点创建和合约的部署,形成区块链物联网网络,然后调用管理模块对节点进行集合归属和状态管理,并设置管理接口,为系统监控展示提供途径,调用监控模块,查看任一区块的实时状态和详情信息。该系统完成区块链底层架构的部署、创建和监管整个区块链物联网网络的全生命周期,方便部署和运维,满足不同物联网场景需求的区块链服务架构。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1