首页 / 专利库 / 资料储存系统 / 工作量证明 / 基于区块链的物联网的数据处理方法、物联网及存储介质

基于链的物联网数据处理方法、物联网及存储介质

阅读:602发布:2020-05-19

专利汇可以提供基于链的物联网数据处理方法、物联网及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 区 块 链 的 物联网 的 数据处理 方法,当接收到终端信息数据时,第一共识 节点 根据终端信息数据生成数据区块,并将数据区块存储到数据区块链上;当接收到用户交易数据时,第二共识节点根据用户交易数据生成交易区块,并将交易区块存储到交易区块链上。本发明还公开了一种基于区块链的物联网和存储介质。本发明通过将物联网中的终端信息数据基于工作量共识机制存储到数据区块链上,将用户交易数据基于实用拜占庭容错 算法 存储到交易区块链上,在物联网中采用混合共识机制,可以有效地结合工作量共识机制的去中心化程度高的优点与拜占庭容错算法的共识效率高的优点,极大地提高了基于区块链的物联网的共识安全 水 平和共识效率。,下面是基于链的物联网数据处理方法、物联网及存储介质专利的具体信息内容。

1.一种基于链的物联网数据处理方法,所述物联网包括区块链节点,其特征在于,所述区块链节点包括运行工作量证明机制的第一共识节点和运行实用拜占庭容错算法的第二共识节点,所述基于区块链的物联网的数据处理方法包括以下步骤:
当接收到终端信息数据时,所述第一共识节点执行工作量证明任务,以获取区块生成权,所述第一共识节点根据所述终端信息数据生成数据区块,并将所述数据区块存储到数据区块链上;
当接收到用户交易数据时,所述第二共识节点基于所述实用拜占庭算法达成共识,所述第二共识节点根据所述用户交易数据生成交易区块,并将所述交易区块存储到交易区块链上。
2.根据权利要求1所述的基于区块链的物联网的数据处理方法,所述第二共识节点包括主节点和副本节点,其特征在于,所述当接收到用户交易数据时,所述第二共识节点基于所述实用拜占庭算法达成共识,所述第二共识节点根据所述用户交易数据生成交易区块,并将所述交易区块存储到交易区块链上的步骤包括:
当接收到用户交易数据时,所述主节点根据所述用户交易数据生成交易区块并将所述交易区块广播给副本节点;
当所述主节点和所述副本节点对所述交易区块达成共识时,所述主节点和所述副本节点均将所述交易区块存储到交易区块链上。
3.根据权利要求2所述的基于区块链的物联网的数据处理方法,其特征在于,所述基于区块链的物联网的数据处理方法还包括:
所述主节点判断是否在监测周期内接收到所述副本节点对应的心跳包;
当所述主节点判定未在所述监测周期内接收到所述副本节点对应的心跳包时,判定所述副本节点发生异常。
4.根据权利要求3所述的基于区块链的物联网的数据处理方法,其特征在于,所述基于区块链的物联网的数据处理方法还包括:
获取所述用户交易数据的接收频率
当所述接收频率大于所述预设频率阈值时,减小所述监测周期。
5.根据权利要求3所述的基于区块链的物联网的数据处理方法,其特征在于,所述当所述主节点判定未在所述监测周期内接收到所述副本节点对应的心跳包时,判定所述副本节点发生异常的步骤之后还包括:
所述主节点从所述第一共识节点中选取目标第一共识节点;
将所述目标第一共识节点替换发生异常的所述副本节点;
优选地,所述主节点从所述第一共识节点中选取目标第一共识节点的步骤包括:
所述主节点获取所述第一共识节点的计算能
所述主节点根据所述第一共识节点的计算能力从所述第一共识节点中选取目标第一共识节点;
进一步优选,所述主节点根据所述第一共识节点的计算能力从所述第一共识节点中选取目标第一共识节点的步骤包括:
将计算能力大于预设计算能力阈值的第一共识节点作为候选目标第一共识节点;
从所述候选目标第一共识节点中选取计算能力最低的第一共识节点作为目标第一共识节点。
6.根据权利要求5所述的基于区块链的物联网的数据处理方法,其特征在于,所述将所述目标第一共识节点替换所述发生异常的副本节点的步骤之后还包括:
所述主节点发送认证请求给所述目标第一共识节点;
所述主节点接收到所述目标第一共识节点反馈的认证消息时,从所述认证消息中获取电子签名,其中,所述电子签名根据所述目标第一共识节点的私钥生成;
所述主节点使用所述目标第一共识节点的公钥对所述电子签名进行验证;
所述主节点对所述电子签名验证通过时,发送认证成功消息给所述目标第一共识节点。
7.根据权利要求1至6任一项所述的基于区块链的物联网的数据处理方法,其特征在于,还包括如下步骤:
所述区块链节点接收到区块查询请求时,从所述查询请求中获取查询关键字;
所述区块链节点根据所述查询关键字在数据区块链中或交易区块链中搜索区块。
8.根据权利要求1至6任一项所述的基于区块链的物联网的数据处理方法,其特征在于,所述区块链节点上存储有区块索引表,所述基于区块链的物联网的数据处理方法还包括步骤:
所述区块链节点从区块查询请求中获取查询关键字;
所述区块链节点根据所述查询关键字从所述区块索引表中获取对应的存储地址,其中,所述区块索引表包括已存储的区块对应的查询关键字和存储地址;
所述区块链节点根据所述存储地址获取所述待查询区块。
9.一种基于区块链的物联网,其特征在于,所述基于区块链的物联网包括区块链节点装置,所述区块链节点装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的物联网的数据处理程序,所述基于区块链的物联网的数据处理程序被所述处理器执行时实现根据权利要求1至6中任一项所述的基于区块链的物联网的数据处理方法的步骤。
10.一种存储介质,其特征在于,计算机可读的所述存储介质上存储有基于区块链的物联网的数据处理程序,所述基于区块链的物联网的数据处理程序被处理器执行时实现根据权利要求1至6中任一项所述的基于区块链的物联网的数据处理方法的步骤。

说明书全文

基于链的物联网数据处理方法、物联网及存储介质

技术领域

[0001] 本发明涉及物联网技术领域,尤其涉及一种基于区块链的物联网的数据处理方法、物联网及计算机可读存储介质。

背景技术

[0002] 区块链是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0003] 区块链技术与物联网结合,主要解决物联网数据的存储安全问题和设备之间传输数据时信任问题,数据传输的交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目。区块链分布式的网络结构提供一种机制,使得设备之间保持共识,无需与中心进行验证,这样即使一个或多个节点被攻破,整体网络体系的数据依然是可靠、安全的。
[0004] 在基于区块链技术的物联网中,每一个区块链节点完全同步所有区块的数据,整个物联网同时只能有一条单链,并且由于基于单一的工作量证明(POW)的共识效率比较低,降低了物联网的整体交易速度。

发明内容

[0005] 本发明的主要目的在于提供一种基于区块链的物联网的数据处理方法、物联网和计算机可读存储介质,通过将物联网中的数据分成传感器数据和用户交易数据两类,分别将数据量较大的传感器数据存储到使用POW共识机制的区块链上,将数据量相对少一些的用户交易数据存储到采用PBFT共识机制区块链上,结合了POW共识机制安全性高和PBFT共识效率高的优点,很好地解决了现有技术中基于区块链的物联网采用单一的工作量证明机制共识效率低的技术问题。
[0006] 为实现上述目的,本发明提供一种基于区块链的物联网的数据处理方法,所述区块链节点包括运行工作量证明机制的第一共识节点和运行实用拜占庭容错算法的第二共识节点,所述基于区块链的物联网的数据处理方法包括如下步骤:
[0007] 当接收到终端信息数据时,所述第一共识节点执行工作量证明任务,以获取区块生成权,所述第一共识节点根据所述终端信息数据生成数据区块,并将所述数据区块存储到数据区块链上;
[0008] 当接收到用户交易数据时,所述第二共识节点基于所述实用拜占庭算法达成共识,所述第二共识节点根据所述用户交易数据生成交易区块,并将所述交易区块存储到交易区块链上。
[0009] 优选地,所述当接收到用户交易数据时,所述第二共识节点基于所述实用拜占庭算法达成共识,所述第二共识节点根据所述用户交易数据生成交易区块,并将所述交易区块存储到交易区块链上的步骤包括:
[0010] 当接收到用户交易数据时,所述主节点根据所述用户交易数据生成交易区块并将所述交易区块广播给副本节点;
[0011] 当所述主节点和所述副本节点对所述交易区块达成共识时,所述主节点和所述副本节点均将所述交易区块存储到交易区块链上。
[0012] 优选地,为了提高物联网的容错能,所述基于区块链的物联网的数据处理方法还包括:
[0013] 所述主节点判断是否在监测周期内接收到所述副本节点对应的心跳包;
[0014] 当所述主节点判定未在所述监测周期内接收到所述副本节点对应的心跳包时,判定所述副本节点发生异常。
[0015] 优选地,为了进一步提高物联网的容错能力,所述基于区块链的物联网的数据处理方法还包括:
[0016] 获取所述用户交易数据的接收频率
[0017] 当所述接收频率大于所述预设频率阈值时,减小所述监测周期。
[0018] 优选地,为了及时恢复异常,当所述主节点判定未在所述监测周期内接收到所述副本节点对应的心跳包时,判定所述副本节点发生异常的步骤之后还包括:
[0019] 所述主节点从所述第一共识节点中选取目标第一共识节点;
[0020] 将所述目标第一共识节点替换所述发生异常的副本节点。
[0021] 优选地,为了减少对第一共识节点共识能力的影响,所述主节点从所述第一共识节点中选取目标第一共识节点的步骤包括:
[0022] 所述主节点获取所述第一共识节点的计算能力;
[0023] 所述主节点根据所述第一共识节点的计算能力从所述第一共识节点中挑选目标第一共识节点。
[0024] 优选地,所述主节点根据所述第一共识节点的计算能力从所述第一共识节点中选取目标第一共识节点的步骤包括:
[0025] 将计算能力大于预设计算能力阈值的第一共识节点作为候选目标第一共识节点;
[0026] 从所述候选目标第一共识节点中选取计算能力最低的第一共识节点作为目标第一共识节点。
[0027] 优选地,为了避免网络中恶意节点的欺骗行为,提高共识机制运行的可靠性,所述将所述目标第一共识节点替换发生异常的副本节点的步骤之后还包括:
[0028] 所述主节点发送认证请求给所述目标第一共识节点;
[0029] 所述主节点接收到所述目标第一共识节点反馈的认证消息时,从所述认证消息中获取电子签名,其中,所述电子签名根据所述目标第一共识节点的私钥生成;
[0030] 所述主节点使用所述目标第一共识节点的公钥对所述电子签名进行验证;
[0031] 所述主节点对所述电子签名验证通过时,发生认证成功消息给所述目标第一共识节点。
[0032] 优选地,为了提高区块查询效率,所述基于区块链的物联网的数据处理方法还包括步骤:
[0033] 所述区块链节点接收到区块查询请求,从所述查询请求中获取查询关键字;
[0034] 所述区块链节点根据所述查询关键字在数据区块链中或交易区块链中搜索区块。
[0035] 优选地,为了提高区块查询效率,所述区块链节点上存储有区块索引表,所述基于区块链的物联网的数据处理方法还包括步骤:
[0036] 所述区块链节点根据区块查询请求,获取待查询区块的查询关键字;
[0037] 所述区块链节点根据所述待查询区块的查询关键字从所述区块索引表中获取所述待查询区块的存储地址,其中,所述区块索引表包括已存储的区块对应的查询关键字和存储地址;
[0038] 所述区块链节点根据所述待查询区块存储地址获取所述待查询区块。
[0039] 此外,为实现上述目的,本发明还提供基于区块链的物联网,所述基于区块链的物联网包括区块链节点装置,所述区块链节点装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的物联网的数据处理程序,所述基于区块链的物联网的数据处理程序被所述处理器执行时实现如上所述的基于区块链的物联网的数据处理方法的步骤。
[0040] 此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于区块链的物联网的数据处理程序,所述基于区块链的物联网的数据处理程序被处理器执行时实现如上所述的基于区块链的物联网的数据处理方法的步骤。
[0041] 本发明提出的一种基于区块链的物联网的数据处理方法、物联网和可读计算机存储介质,通过将物联网中的终端信息数据基于工作量共识机制存储到数据区块链上,将用户交易数据基于实用拜占庭容错算法存储到交易区块链上,在物联网中采用双链结构进行并行的共识运算,共识运算效率得到大大提高,使得基于区块链实现的物联网的数据存储方法同时具有工作量共识机制的去中心化程度高的优点与拜占庭容错算法的共识效率高的优点,极大地提高了基于区块链的物联网的共识安全平和共识效率。附图说明
[0042] 图1是本发明实施例方案涉及的基于区块链的物联网结构示意图;
[0043] 图2是本发明实施例方案设计的基于区块链的物联网中的区块链节点装置的结构示意图;
[0044] 图3为本发明基于区块链的物联网的数据处理方法第一实施例的流程示意图;
[0045] 图4、图5为本发明基于区块链的物联网的数据处理方法第二实施例的流程示意图;
[0046] 图6为本发明基于区块链的物联网的数据处理方法第三实施例的流程示意图;
[0047] 图7为本发明基于区块链的物联网的数据处理方法第四实施例的流程示意图。
[0048] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0049] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0050] 本发明实施例的主要解决方案是:提供一种基于区块链的物联网的数据处理方法,所述物联网包括区块链节点,所述区块链节点包括运行工作量证明机制(POW)的第一共识节点和运行实用拜占庭容错算法(PBFT)的第二共识节点,所述基于区块链的物联网的数据处理方法包括以下步骤:当接收到终端信息数据时,所述第一共识节点根据所述终端信息数据生成数据区块,并将所述数据区块存储到数据区块链上,其中,终端信息数据为接入物联网的各种智能终端所采集的信息数据;当接收到用户交易数据时,所述第二共识节点根据所述用户交易数据生成交易区块,并将所述交易区块存储到交易区块链上,其中,用户交易数据为用户节点与智能合约服务器在执行智能合约时产生的交易信息。
[0051] 一般而言,当将区块链应用于物联网时,因为物联网所需要存储信息的节点众多,一般考虑是使用POW共识机制,POW共识机制安全性高但共识效率低。比起POW共识机制,PBFT共识效率高,但是由于PBFT共识机制一般被应用于私有网络,并且在节点数少的时候才能取得比较好的性能,所以一般不会被应用于物联网。
[0052] 然而,在本发明中通过将物联网中的数据进行分类,基于区块链机制对于不同类别的数据分别使用POW共识机制和PBFT共识机制,得以将两种共识机制在物联网的区块链存储中进行结合,可以有效地利用POW工作量共识机制的去中心化程度高的优点与PBFT拜占庭容错算法的共识效率高的优点,在物联网中采用混合共识机制,极大地提高了基于区块链的物联网的共识安全水平和共识效率,达到了共识安全性和共识效率的平衡。
[0053] 在对本发明实施例进行详细的解释说明之前,先对本发明涉及到的基于区块链的物联网的系统架构进行说明。
[0054] 如图1所示,本实施例中基于区块链的物联网包括与互联网10连接的感知层节点20、区块链节点30、智能合约服务器40以及用户节点50,其中,感知层节点30运行物联网的传输协议,例如消息队列遥测传输(Message Queuing Telemetry Transport),区块链节点
30运行P2P(Peer to Peer对等网络)网络协议。
[0055] 感知层节点20:负责采集终端信息数据,注册为区块链的用户,可以只同步区块头,不需保存完整的区块链账本,向区块链节点发出将终端信息数据存储为数据区块的请求。感知层节点包括各类传感器、RFID标签和读写器以及多种智能设备。
[0056] 区块链节点30:包括运行工作量证明机制(POW)的第一共识节点和运行实用拜占庭容错算法(PBFT)的第二共识节点,其中,第一共识节点保存的账本为数据区块链,第二共识节点保存的账本为交易区块链。
[0057] 智能合约服务器40:负责部署智能合约以及智能合约用户的注册、认证和管理。其中,智能合约是传统合约的数字化版本,是存储在智能合约服务器上可运行的计算机程序,可以在满足其源代码中写入的条件时自行执行。
[0058] 用户节点50:注册为区块链的用户,可以只同步区块头,不需保存完整的区块链,发起基于智能合约的交易,交易过程中生成用户交易数据,同时向区块链节点发出将用户交易数据存储为交易区块的请求。用户节点可为计算机或各种移动终端。
[0059] 上述的区块链节点也可称为区块链节点装置,图2是区块链节点装置的结构示意图。该区块链节点装置可以包括:处理器1001,例如CPU,通信总线1002,存储器1003。其中,通信总线1002用于实现这些组件之间的连接通信。存储器1003可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1003可选的还可以是独立于前述处理器1001的存储装置。
[0060] 本领域技术人员可以理解,图2中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0061] 如图2所示,作为一种计算机存储介质的存储器1003中可以包括操作系统和基于区块链的物联网的数据处理程序,在图2所示的装置中,处理器1001可以用于调用存储器1003中存储的基于区块链的物联网的数据程序,并执行上述基于区块链的物联网的数据方法的步骤。
[0062] 参照图3,本发明第一实施例提供一种基于区块链的物联网的数据处理方法,所述方法包括:
[0063] 步骤S10,当接收到终端信息数据时,所述第一共识节点执行工作量证明任务,以获取区块生成权,所述第一共识节点根据所述终端信息数据生成数据区块,并将所述数据区块存储到数据区块链上;
[0064] 当物联网数据是终端信息数据时,第一共识节点执行工作量证明任务,以获取区块生成权,其中,工作量证明任务为求解满足特定条件的哈希值;第一共识节点在获得区块生成权后,根据终端信息数据生成数据区块并将数据区块存储到数据区块链上。
[0065] 在本实施例中,由感知层节点负责采集终端信息数据,其中,终端信息数据为接入物联网的各种智能终端所采集的信息数据,例如智能家居设备所采集的温度或湿度数据、智能电表设备所采集的用电量数据、共享单车采集的定位信息等。需要说明的是,接入物联网的智能终端自身可以作为感知层节点负责自身信息数据的采集,也可以将自身的信息数据发送给感知层节点。
[0066] 当感知层节点接收到新的终端信息数据,需要及时将其保存到数据区块链上,以安全地存储该终端信息数据。由于本实施例中的物联网中同时存在运行工作量证明机制(POW)的第一共识节点和运行实用拜占庭容错算法(PBFT)的第二共识节点,感知层节点中需要存储包含第一共识节点的地址列表,从该地址列表中获取一个第一共识节点的地址,给该第一共识节点发送将所采集的终端信息数据存储到数据区块链上的请求。
[0067] 步骤S20,当接收到用户交易数据时,所述第二共识节点基于所述实用拜占庭算法达成共识,所述第二共识节点根据所述用户交易数据生成交易区块,并将所述交易区块存储到交易区块链上。
[0068] 在本实施例中,用户交易数据为用户节点与智能合约服务器在执行智能合约时产生的交易信息。具体地,先由用户节点向智能合约服务器发起执行智能合约的交易请求,通过与智能合约服务器的信息交互完成一笔智能合约交易,此时用户节点将该笔智能合约交易的相关信息作为用户交易数据,向第二共识节点中的主节点发出用户交易数据存储请求。以电力管理机构的智能合约为例,电力管理机构在智能合约服务器上发布电力智能合约,发电用户和用电用户均通过自身的用户节点上运行的软件平台与智能合约服务器进行信息交互,以完成各种交易行为,包括注册、发电用户增发电量以及用电用户购买电量等等,每一笔交易的信息都形成一组用户交易数据。
[0069] 根据实用拜占庭容错算法,第二共识节点包括主节点和副本节点。在一个视图中,只有一个第二共识节点为主节点,其余的第二共识节点为副本节点,其中,主节点负责接收用户交易数据的存储请求,基于这些存储请求进行排序并转发给副本节点,由副本节点对这些存储请求执行相应的验证操作。当物联网数据是用户交易数据时,主节点根据用户交易数据生成交易区块并将交易区块广播给副本节点;当主节点和副本节点对交易区块达成共识时,主节点和副本节点均将所述交易区块存储到交易区块链上。
[0070] 接下来主节点和副本节点通过三个阶段来对该用户数据存储请求达成共识:预准备阶段(pre-prepare)、准备阶段(prepare)和确认阶段(commit)。
[0071] 首先,在预准备阶段,主节点收到用户节点发出的用户交易数据存储请求时,根据该用户交易数据生成新的交易区块,向所有副本节点广播预准备消息和该交易区块。接着,任一副本节点接收到预准备消息后进入准备阶段,对接收到的预准备消息和交易区块均进行验证,验证通过时给其他的副本节点广播准备消息。这样,任一副本节点进入准备阶段,会接收到多个准备消息,任一副本节点均会验证并统计接收到的准备消息,当收到的验证通过的准备消息的数据大于或等于预设阈值时副本节点进入确认阶段,开始生成确认消息,并给其他的副本节点广播确认消息。同样的,任一副本节点都会接收到多个确认消息,任一副本节点均会验证并统计接收到的确认消息,当收到的验证通过的确认消息的数目大于或等于预设阈值时,将接收到的交易区块保存到本地的交易区块链上。
[0072] 需要说明的是,根据PBFT的设计原理,若总节点数目为n,即主节点和副本节点的数目总和为n时,若这个n个节点中有f个异常节点,并且这f个异常节点在上述的准备阶段和确认阶段均不发送准备消息或确认消息,任一副本节点会根据接收到的(n-f)个准备消息或确认消息进行验证,则上述的预设阈值可以设置为(n-f)个准备消息或确认消息。在验证过程中,考虑到最坏的一种情况,即接收到的n-f个准备消息或确认消息中可能存在f个假消息,那么接收到的可以通过验证的消息数目为n-2f,要求通过验证的消息数目大于假消息的数目,则有n-2f>f,即n>3f,因此n个节点的PBFT网络最多可以容忍的不回复消息的异常节点的数目为f。
[0073] 在PBFT算法中,由于每个副本节点都需要和其他节点进行共识同步,随着节点的增多,性能会下降的很快,为了保证PBFT共识机制运行效率,需要对运行PBFT共识机制的节点数目进行限制,因此考虑将物联网中所需要存储到区块链上的数据进行分类,分成传感器数据和用户交易数据两类。传感器数据量相比起用户交易数据大很多,需要更多的区块链节点进行数据的存储,所以可以将传感器数据与用户交易数据分别放置两条链上进行存储,存储传感器数据的区块链节点数目多,采用POW共识机制,存储用户交易数据的区块链节点数目相对少,采用PBFT共识机制,这样整体提高了物联网所涉及的区块链网络的共识效率。
[0074] 需要说明的是,POW共识机制安全性高,为物联网数据的存储安全提供了足够的算力保护,PBFT共识机制可以有效的提高交易速度,二者的结合所带来的这两方面的优点是其他共识机制无法取代的。
[0075] 因此,在本实施例中,将物联网中的终端信息数据基于工作量共识机制存储到数据区块链上,将用户交易数据基于实用拜占庭容错算法存储到交易区块链上,通过在物联网中采用混合共识机制,可以有效地结合工作量共识机制的去中心化程度高的优点与拜占庭容错算法的共识效率高的优点,极大地提高了基于区块链的物联网的共识安全水平和共识效率。
[0076] 进一步的,参照图4,基于本发明的第一实施例提出第二实施例,提供一种基于区块链的物联网的数据处理方法,本实施例还包括:
[0077] 步骤S30,所述主节点判断是否在监测周期内接收到所述副本节点对应的心跳包;
[0078] 在区块链节点基于实用拜占庭容错算法进行共识时,主节点通过心跳机制监测所有的副本节点的运行状况,具体为主节点实时判断在监测周期内是否接收到各个副本节点的心跳包。
[0079] 步骤S40,当所述主节点判定未在所述监测周期内接收到所述副本节点对应的心跳包时,判定所述副本节点发生异常。
[0080] 在本步骤中,当主节点监测到某一个副本节点未能在检测周期内发送心跳包时,判定该副本节点发生异常,不能正常运行。
[0081] 需要说明的是,该监测周期可以是预设的,也可以在系统运行过程中实时进行调整。例如,可以获取用户交易数据的接收频率,当接收频率大于预设频率阈值时,减小监测周期,即当用户交易数据的接收频率较高时,各个副本节点的负荷量也较高,出现异常的概率提高,需要通过减小监测周期来及时发现异常的副本节点,以进行处理从而提高系统的容错能力。
[0082] 在本实施例中,当主节点监测到有发生异常的副本节点时,从第一共识节点中选取目标第一共识节点,将该目标第一共识节点替换发生异常的副本节点。此时从运行工作量证明机制的第一共识节点中选取目标第一共识节点作为新的副本节点,主节点可以从第一共识节点中随机挑选一个第一共识节点作为新的副本节点,也可以获取第一共识节点的计算能力,根据第一共识节点的计算能力从第一共识节点中挑选新的副本节点。
[0083] 具体地,在根据第一共识节点的计算能力挑选新的副本节点时,可以先将计算能力大于预设计算能力阈值的第一共识节点作为候选目标第一共识节点,再从候选目标第一共识节点中选取计算能力最低的第一共识节点作为目标第一共识节点。
[0084] 其中,可获取在预设时间段内第一共识节点生成区块的次数,次数越高表明计算能力越强,以此来估算第一共识节点的计算能力。为了尽量减少对第一共识节点之间的共识效率的影响,可以选择计算能力最弱的第一共识节点作为新的副本节点。
[0085] 进一步地,为了避免网络中恶意节点的欺骗行为,提高共识机制运行的可靠性,如图5所示,主节点可以按照下述步骤S50~S80对挑选出的目标第一共识节点进行身份认证。
[0086] 步骤S50,所述主节点发送认证请求给所述目标第一共识节点;
[0087] 步骤S60,所述主节点接收到所述目标第一共识节点反馈的认证消息时,从所述认证消息中获取电子签名,其中,所述电子签名根据所述目标第一共识节点的私钥生成;
[0088] 步骤S70,所述主节点使用所述目标第一共识节点的公钥对所述电子签名进行验证;
[0089] 步骤S80,所述主节点对所述电子签名验证通过时,发生认证成功消息给所述目标第一共识节点。
[0090] 当目标第一共识节点接收到认证成功消息时,才表明目标第一共识点成为有效的副本节点,可以与主节点与其他的副本节点一起按照实用拜占庭容错算法对新区块进行共识。
[0091] 需要说明的是,在基于区块链组建物联网时,对于每一个运行工作量证明机制的第一共识节点,按照预设规则生成一对公钥和私钥,公钥是公开的,第二共识节点的主节点可以随时获取,私钥则由第一共识节点自己保存。
[0092] 在本实施例中,通过在主节点实时监测到是否有副本节点发生异常,当副本节点发生异常时,从所述第一共识节点中选取新的副本节点,提高了物联网的共识机制的容错水平。
[0093] 进一步的,如图6所示,基于本发明的第一实施例或第二实施例提出第三实施例,提供一种基于区块链的物联网的数据处理方法,本实施例还包括:
[0094] 步骤S90,所述区块链节点接收到区块查询请求时,从所述查询请求中获取查询关键字;
[0095] 为了提高区块的查询效率,区块链节点在生成新区块时,可以在区块体中的预设位置写入关键字。例如,区块链节点在根据终端信息数据生成数据区块时,在数据区块的预设位置写入终端信息数据的关键字,区块链节点在根据用户交易数据生成交易区块时,在交易区块的预设位置写入用户交易数据的关键字。
[0096] 需要说明的是,区块链节点是根据感知层节点或用户节点发生的区块存储请求生成区块的,由感知层节点或用户节点将与待生成区块的数据对应的关键字写入区块存储请求中。例如感知层节点在存储终端信息数据时,可以为不同类型的终端信息数据设置不同的关键字,例如共享单车、智能家居、智能电表等,用户节点在存储交易数据时,也可以为不同类型的交易数据设置不同的关键字,例如租车交易、购电交易等。区块链节点从存储请求中提取关键字,写入对应的区块体中。
[0097] 步骤S100,所述区块链节点根据所述查询关键字在数据区块链中或交易区块链中搜索区块。
[0098] 查询请求中需携带该关键字,这样区块链节点在接收到查询请求时,可以根据该关键字在数据区块链或交易区块链中搜索区块。
[0099] 在本实施例中,通过在区块体的固定位置写入关键字,区块链节点根据关键字在数据区块链中或交易区块链中搜索区块,在有海量的物联网数据存储于区块链上时,可以极大地提高区块查询效率。
[0100] 进一步的,如图7基于本发明的第一实施例或第二实施例提出第四实施例,提供一种基于区块链的物联网的数据处理方法,所述区块链节点维护区块索引表,本实施例的步骤包括:
[0101] 步骤S110,所述区块链节点从区块查询请求中获取查询关键字;
[0102] 在本实施例中,每当用户节点完成一笔交易时,获取该笔交易的关键字,向区块链节点发送将该笔交易的数据保存到区块链上的请求,其中,请求中携带该笔交易的关键字。当区块链节点反馈该笔交易的数据被成功保存成交易区块时,用户节点记录下该笔交易的关键字和被成功保存成交易区块的状态。当用户节点向区块链节点发起交易区块查询请求时,在请求中携带交易区块的关键字。
[0103] 类似地,每当感知层节点搜集到一组终端信息数据时,获取该组终端信息数据的关键字,向区块链节点发送将该组终端信息数据保存到区块链上的请求,其中,请求中携带该组终端信息数据的关键字。当区块链节点反馈该组终端信息数据被成功保存成数据区块时,感知层节点记录下该组终端信息数据的关键字和被成功保存成数据区块的状态。由于对数据区块的查询也是由用户节点发起的,感知层节点需要将被成功保存成数据区块的终端信息数据的关键字发送给用户节点,用户节点即可以根据终端信息数据的关键字向区块链节点发起数据区块查询请求。
[0104] 需要说明的是,交易的关键字可以是交易内容的分类标签,例如为用电交易、租车交易或商品购买交易等等,也可以是发起交易的用户的分类标签,例如为VIP用户交易或普通用户交易;终端信息数据的标签可以是信息数据内容的分类标签,例如是智能家居信息数据、共享单车定位数据或仓库商品信息数据等,也可以是终端的分类标签,例如可以是终端上所设置的传感器类型,包括温度传感器、图像传感器以及压力传感器等等。此外,发起交易的用户还可以根据自己的喜好为该笔交易自定义关键字。
[0105] 步骤S120,所述区块链节点根据所述查询关键字从所述区块索引表中获取对应的存储地址,其中,所述区块索引表包括已存储的区块对应的关键字和存储地址;
[0106] 区块索引表通过这样的方式建立:区块链节点启动运行后先初始化一个空的区块索引表,在接收到新区块并存储新区块后,获取新区块的关键字和对应的存储地址,并将关键字和对应的存储地址保存到区块索引表中。
[0107] 步骤S130,所述区块链节点根据所述存储地址获取所述待查询区块。
[0108] 在本实施例中,区块链节点通过保存区块索引表,根据待查询区块的关键字从区块索引表中获取待查询区块的存储地址,进而根据待查询区块的存储地址获取待查询区块,在数据区块链或交易区块链上存储了数目庞大的区块时,可以准确快速地搜索到目标区块,提高区块查询效率。
[0109] 本发明还提供基于区块链的物联网,所述基于区块链的物联网包括区块链节点装置,所述区块链节点装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的物联网的数据处理程序,所述基于区块链的物联网的数据处理程序被所述处理器执行时实现如上所述的基于区块链的物联网的数据处理方法的步骤。
[0110] 此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的物联网的数据处理程序,所述基于区块链的物联网的数据处理程序被处理器执行时实现所述的基于区块链的物联网的数据处理方法的步骤。
[0111] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0112] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0113] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0114] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈