物联网终端的区块链组网方法和系统与流程

文档序号:16978475发布日期:2019-02-26 19:15阅读:380来源:国知局
物联网终端的区块链组网方法和系统与流程

本发明涉及物联网技术,特别是涉及一种物联网终端的区块链组网方法和系统。



背景技术:

物联网现有的网络模式是利用一个中心化的数据中心或者云平台(以下简称中心侧),负责管理所有的已连接设备(以下简称终端侧)的数据。这种传统的中心化方式具有维护简单、资源发现效率高的优点。但是,对中心侧的要求非常高,极易受到攻击,出现单点故障等。目前,物联网的终端规模设计动辄上千万,以目前的发展速度,几十亿,甚至上百亿的终端数量也只是时间问题,庞大的带宽需求以及伴随而来的高昂的费用无疑是一个无法回避的问题。

由此可见,当终端规模较大时,现有物联网的网络模式会存在对中心侧的性能要求高、健壮性差、带宽要求高等问题,相应的,物联网平台的运营成本也将大幅度升高。



技术实现要素:

有鉴于此,本发明的主要目的在于提供一种物联网终端的区块链组网方法和系统,在大规模终端应用场景下,可以有效降低中心侧的压力,降低物联网平台的运营成本。

为了达到上述目的,本发明提出的技术方案为:

一种物联网终端的区块链组网方法,包括:

终端向物联网云平台服务器发送注册请求;

预设在所述终端中的区块链模块对所述注册请求进行拦截,同时从预设的种子网关列表中选择一区块链网关,利用该区块链网关接入区块链网络;

所述区块链模块对所述终端的所有输出消息进行拦截,根据所述输出消息的内容,对所述输出消息进行相应的输出过滤,对于需要传输给其他节点的消息,利用所述区块链网络进行相应的传输;

所述区块链模块对来自所述区块链网络的所有输入消息进行拦截,将所述输入消息转换成所述终端支持的通信协议后,透传给所述终端。

一种物联网终端的区块链组网系统,包括:终端、区块链模块、区块链网关和物联网云平台服务器,其中,

所述区块链模块,预设在所述终端中,用于对所述终端向物联网云平台服务器发送的注册请求进行拦截,同时从预设的种子网关列表中选择一区块链网关,利用该区块链网关接入区块链网络;对所述终端的所有输出消息进行拦截,根据所述输出消息的内容,对所述输出消息进行相应的输出过滤,对于需要传输给其他节点的消息,利用所述区块链网络进行相应的传输;对来自所述区块链网络的所有输入消息进行拦截,将所述输入消息转换成所述终端支持的通信协议后,透传给所述终端。

综上所述,本发明提出的物联网终端的区块链组网方法和系统,在终端内预设区块链模块,利用该区块链模块使得终端可以接入由物联网终端组成的区块链网络,如此,可以充分利用区块链网络的去中心化优势,在大规模终端应用场景下,有效降低物联网中心侧的压力,降低物联网平台的运营成本。

附图说明

图1为本发明实施例的方法流程示意图;

图2为本发明实施例的系统结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。

区块链是采用分布式数据库维护一个持续快速增长数字记录列表的对等网络,其起源于比特币是比特币背后的分布式账本平台,本质上是一个分布式计算和存储系统。区块链具有去中心化、集体维护、不可篡改、数据透明、用户匿名等一系列优点,可以极大地降低交易、转账、核算成本。

本发明的核心思想是:引入区块链技术,在物联网内组建区块链网络,利用区块链技术所具有的去中心化等优点,来减少中心化物联网对中心侧的压力,降低物联网终端设备对中心侧的数据依赖,减少带宽占用等。

图1为本发明实施例的流程示意图,如图1所示,该实施例实现的物联网终端的区块链组网方法主要包括:

步骤101、终端向物联网云平台服务器发送注册请求。

本步骤中,和现有系统相同,终端开机后,需要先发起向物联网云平台的注册,即,向物联网云平台服务器发送注册请求。

步骤102、预设在所述终端中的区块链模块对所述注册请求进行拦截,同时从预设的种子网关列表中选择一区块链网关,利用该区块链网关接入区块链网络。

本步骤中,预设于终端中的区块链模块拦截到终端发起的注册请求后,将触发接入到区块链网络,成为区块链网络中的一节点。在进行接入时,将从预先获取的区块链网络的种子网关列表中选择一区块链网关,以便利用所选择的网关接入到区块链网络。具体地,为了便于实现,可以采用随机选择的方式,选择用于当前接入的区块链网关。

当终端成功接入区块链网络后,将可以作为区块链网络的节点,利用区块链网络,与区块链网络中的其他终端进行数据的交易,实现区块链网络节点所可以实现的区块链功能。

步骤103、所述区块链模块对所述终端的所有输出消息进行拦截,根据所述输出消息的内容,对所述输出消息进行相应的输出过滤,对于需要传输给其他节点的消息,利用所述区块链网络进行相应的传输;所述区块链模块对来自所述区块链网络的所有输入消息进行拦截,将所述输入消息转换成所述终端支持的通信协议后,透传给所述终端。

本步骤中,终端成功接入到区块链网络后,设于终端中的区块链模块需要对终端的输入、输出消息进行拦截,以便利用区块链网络实现终端与物联网中其他节点之间的数据交互。这里,通过引入区块链模块,对终端的消息进行拦截,使得终端上运行区块链的功能,对于终端而言是透明的,从而使得终端侧可以以最小化甚至无修改的成本接入到区块链网络中。

具体地,对于终端的输出消息,区块链模块将根据消息的具体内容进行相应的筛选,对于需要传输给其他节点的消息,则需要转换为区块链协议的消息,在区块链网络内进行传输。如此,通过利用物联网的终端组建区块链网络,一方面,可以大幅度降低物联网终端设备对云平台服务器(即中心侧)的依赖,减少带宽占用,另一方面,可以在云平台服务器不可达时,终端依然可以利用所接入的区块链网络获得数据,使得云平台服务器的不可达不会影响终端对所需数据的获取。

为了实现区块链网络消息的透传,这里,对于来自区块链网络的所有输入消息,区块链模块将会对其进行拦截,将其转换为终端支持的通信协议后,再传给终端。

较佳地,为了确保区块链网络中有一定数量的网关节点,以满足区块链网络的正常运行,当网关数量较少时,设备性能较好的终端可以竞争成为种子网关或普通网关,具体地,可以采用下述方法实现这一目的:

当所述终端与所述云平台服务器之间的通信中断时,如果所述区块链网络中的网关数量小于预设阈值,则所述区块链模块在所述终端的设备性能指标满足预设的网关竞争条件时,触发所述终端竞争所述区块链网络的种子网关或普通网关。

这里,网关竞争条件可由本领域技术人员根据实际需要进行设置,可以包括终端的设备性能指标、运行状态指标等。

在实际应用中,区块链网络中网关数量的阈值,可由本领域技术人员根据实际应用中区块链网络正常运行所需要的网关数进行设置。

所述竞争具体可采用现有的竞争方法实现,在此不再赘述。

较佳地,云平台服务器可以对区块链网络工作状态进行监管。具体地,云平台服务器可以作为区块链网络的节点,并按照预设的备份周期备份所述区块链网络内的数据交互记录。

所述备份周期的大小可由本领域技术人员根据实际需要进行设置。

进一步地,云平台服务器可以对区块链网络中的网关信息进行维护,具体地,可以采用下述方法实现这一目的:

所述云平台服务器对区块链网络中各个节点的运行状态进行监测,并根据监测结果和实时获取的网关节点退出信息,对区块链网络的种子网关和网关信息进行更新。这里,网关信息包括种子网关和普通网关的信息。

在实际应用中,云平台服务器可根据周期性地对各节点(即终端)的轮询结果和种子网关的退出消息,实时获取区块链网络中各个网关的运行状况,进而可以对网关信息进行实时更新。具体地,可通过下述方法实现这一目的:

当所述种子网关需要退出所述区块链网络时,在所述退出之前,在所述区块链网络中广播相应的退出消息;

所述云平台服务器对区块链网络中各个节点的状态进行监测包括:

所述云平台服务器按照预设的轮询周期,轮询所述区块链网络中的各个节点,确定各个节点是否正常运行。

较佳地,为了确保区块链网络中的网关数量能满足区块链网络的正常运行,当有种子网关或普通网关退出时,可通过产生新的相应网关,避免网关的减少影响区块链网络的正常运行,具体地,可通过下述方法实现这一目的:

当所述区块链网络中的种子网关退出时,触发在所述区块链网络的普通网关中通过选举产生一个候选的种子网关;

如果所述区块链网络中的所有节点与所述云平台服务器之间的连接均中断,则将所述候选的种子网关作为新的种子网关;否则,触发所述云平台服务器对根据所述候选的种子网关的历史运行信息对所述候选的种子网关进行认证,如果所述认证通过,则将所述候选的种子网关作为新的种子网关。

当所述区块链网络中的普通网关退出时,触发在所述区块链网络的节点中通过选举产生一个新的普通网关。

上述方法中,考虑到种子网关的性能要求高,需要尽量由云平台服务器对新产生的种子网关进行认证,以确保种子网关的可靠性,而对于新产生的普通网关,则不需要云平台服务器的认证,可以直接通过选举产生即可。

在实际应用中,云平台服务器可根据候选的种子网关的历史运行状况,判断候选的种子网关是否具有种子网关的资格,具体认证标准可由本领域技术人员根据实际需要进行设置,在此不再赘述。

图2为与上述方法相对应的物联网终端的区块链组网系统结构示意图,如图2所示,该系统主要包括:终端、区块链模块、区块链网关和物联网云平台服务器,其中,所述区块链模块,预设在所述终端中,用于对所述终端向物联网云平台服务器发送的注册请求进行拦截,同时从预设的种子网关列表中选择一区块链网关,利用该区块链网关接入区块链网络;对所述终端的所有输出消息进行拦截,根据所述输出消息的内容,对所述输出消息进行相应的输出过滤,对于需要传输给其他节点的消息,利用所述区块链网络进行相应的传输;对来自所述区块链网络的所有输入消息进行拦截,将所述输入消息转换成所述终端支持的通信协议后,透传给所述终端。

较佳地,所述区块链模块,进一步用于当所述终端与所述云平台服务器之间的通信中断时,如果所述区块链网络中的网关数量小于预设阈值,则在所述终端的设备性能指标满足预设的网关竞争条件时,触发所述终端竞争所述区块链网络的种子网关或普通网关。

较佳地,所述云平台服务器为所述区块链网络的节点,进一步用于按照预设的备份周期备份所述区块链网络内的数据交互记录。

较佳地,所述云平台服务器,进一步用于对区块链网络中各个节点的运行状态进行监测,并根据所述监测结果和实时获取的网关节点退出信息,对区块链网络的种子网关和网关信息进行更新。

较佳地,所述云平台服务器,进一步用于按照预设的轮询周期,轮询所述区块链网络中的各个节点,确定各个节点是否正常运行;根据所述种子网关在退出所述区块链网络时在所述区块链网络中广播的退出消息,获知所述种子网关退出。

较佳地,当所述区块链网络中的种子网关退出时,触发在所述区块链网络的普通网关中通过选举产生一个候选的种子网关;如果所述区块链网络中的所有节点与所述云平台服务器之间的连接均中断,则将所述候选的种子网关作为新的种子网关;否则,触发所述云平台服务器对根据所述候选的种子网关的历史运行信息对所述候选的种子网关进行认证,如果所述认证通过,则将所述候选的种子网关作为新的种子网关。

当所述区块链网络中的普通网关退出时,触发在所述区块链网络的节点中通过选举产生一个新的普通网关。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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