一种适用于物联网的Raft共识方法技术

技术编号:30763728 阅读:20 留言:0更新日期:2021-11-10 12:18
本发明专利技术公开了一种适用于物联网的Raft共识方法,包括,通过物联网采集设备实时采集分布式物理网网络中的物联网数据,并将物联网数据缓存于物联网网关;在60s+K/N的时间内将物联网数据进行打包,并统计打包的数据流量;基于线性同余算法的随机数函数及哈希算法计算随机数Nonce值;根据数据流量参数进行选主难度动态调整,确定目标值,并判断随机数Nonce值是否符合目标值;设计计时器并启动共识选主流程,根据符合目标值的随机数Nonce值,选取共识主节点,并进行RAFT日志复制;本发明专利技术根据节点接收采集设备所接收的数据量的动态变化实现主节点的动态选举,且安全可靠,运维成本低。运维成本低。运维成本低。

【技术实现步骤摘要】
一种适用于物联网的Raft共识方法


[0001]本专利技术涉及共识机制的
,尤其涉及一种适用于物联网的Raft共识方法。

技术介绍

[0002]RAFT共识算法是实现分布式共识的一种算法,主要用来管理日志复制的一致性,该共识算法以其更易理解、共识效率高而被许多分布式系统采用。
[0003]然而,由于传统RAFT共识算法采用的是多次通信投票选主方式,这对于通常采用P2P网络的分布式系统的通信效率提出更高要求,同时,基于投票选主的RAFT共识算法随机性很强,虽保障一定的安全性,但中心化程度过高,无法适用于弱信任环境中。通信环境要求过高及不适用于弱信任环境的问题,使得传统RAFT共识算法无法与物联网应用场景相耦合。

技术实现思路

[0004]本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。
[0005]鉴于上述现有存在的问题,提出了本专利技术。
[0006]因此,本专利技术提供了一种适用于物联网的Raft共识方法,能够解决共识算法与物联网应用场景耦合性问题。
[0007]为解决上述技术问题,本专利技术提供如下技术方案:包括,通过物联网采集设备实时采集分布式物理网网络中的物联网数据,并将所述物联网数据缓存于物联网网关;在60s+K/N的时间内将物联网网关中的物联网数据进行打包,并统计打包的数据流量;基于线性同余算法的随机数函数及SHA

256算法计算随机数Nonce值;根据数据流量参数进行选主难度动态调整,进而确定目标值,并判断所述随机数Nonce值是否符合所述目标值;若符合所述目标值,则保留符合证明;否则,则更新所述随机数Nonce值,并继续判断更新后的随机数Nonce值是否符合所述目标值;设计计时器并启动共识选主流程,根据符合目标值的随机数Nonce值,选取共识主节点,并进行RAFT日志复制;其中,K为常数,N其各节点单位时间内接收到的数据流量大小。
[0008]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:所述计算随机数Nonce值包括,所述基于线性同余算法的随机数函数的表达式为:
[0009](Ni+1)=(a*Ni+b)Mod M
[0010]其中,i=0,1,...,M

1;M为当前时间戳;N为所述随机数Nonce值,a为大素数,b为常数。
[0011]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:所述设计计时器包括,所述计时器包括心跳计时器、选主计时器和紧急选主计时器;设置所述心跳计时器的时间为150ms到300ms;设置所述选主计时器的时间为60s+K/N;设置所述紧急选主
计时器的时间为K/N。
[0012]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:所述选主难度动态调整包括,设计难度动态调整函数,通过所述难度动态调整函数进行所述选主难度动态调整,所述难度动态调整函数如下式:
[0013][0014]其中,D(H)为区块的难度;为前一区块的难度;为自适应调节出块难度函数;H
i
为当前区块号。
[0015]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:所述自适应调节出块难度函数包括,
[0016][0017][0018]其中,χ是调整的单位,为调整的系数;所述自适应调节出块难度函数的下界为D0,上界为

99;P(H)
HS
为父区块时间戳。
[0019]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:所述判断包括,判断条件如下:
[0020]Hash(Rand(h,n))≤N/D(H)
[0021]其中,其中h和n为输入,即区块头哈希值、以及Header中的Nonce值;N为节点接收的流量数值,N/D(H)为所述目标值。
[0022]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:还包括,可在Leader节点未出现宕机的情况下进行共识选主和在网络环境不可靠,Leader节点出现宕机的情况下启动共识选主流程。
[0023]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:所述RAFT日志复制包括,通过Client客户端向所述Leader节点提交指令,当所述Leader节点收到所述指令后,将所述指令写入本地日志中;所述Leader节点将所述指令并发复制给其他节点,并等待所述其他节点将指令写入所述本地日志中;直至所有指令都被写入到所述本地日志中,所述Leader节点将指令提交给状态机,而后状态机将执行结果返回给所述Client客户端。
[0024]作为本专利技术所述的适用于物联网的Raft共识方法的一种优选方案,其中:选取所述共识主节点包括,将符合目标值的第一个随机数Nonce值作为所述共识主节点。
[0025]本专利技术的有益效果:本专利技术基于传统Raft共识算法简单的日志复制流程,减少了消息繁杂的通信环节,并根据节点接收采集设备所接收的数据量的动态变化实现主节点的动态选举,且安全可靠,运维成本低。
附图说明
[0026]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
[0027]图1为本专利技术第一个实施例所述的一种适用于物联网的Raft共识方法的流程示意图;
[0028]图2为本专利技术第一个实施例所述的一种适用于物联网的Raft共识方法的任期概念示意图;
[0029]图3为本专利技术第一个实施例所述的一种适用于物联网的Raft共识方法的事务请求提交示意图;
[0030]图4为本专利技术第一个实施例所述的一种适用于物联网的Raft共识方法的事务广播示意图;
[0031]图5为本专利技术第一个实施例所述的一种适用于物联网的Raft共识方法的事务同步示意图;
[0032]图6为本专利技术第二个实施例所述的一种适用于物联网的Raft共识方法的传统RAFT共识方法测试数据示意图。
[0033]图7为本专利技术第二个实施例所述的一种适用于物联网的Raft共识方法的本方法测试数据示意图。
具体实施方式
[0034]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本专利技术的具体实施方式做详细的说明,显然所描述的实施例是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术的保护的范围。
[0035]在下面的描述中阐述了很多具体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适用于物联网的Raft共识方法,其特征在于:包括,通过物联网采集设备实时采集分布式网络中的物联网数据,并将所述物联网数据缓存于物联网网关;在60s+K/N的时间内将物联网网关中的物联网数据进行打包,并统计打包的数据流量;基于线性同余算法的随机数函数及SHA

256算法计算随机数Nonce值;根据数据流量参数进行选主难度动态调整,进而确定目标值,并判断所述随机数Nonce值是否符合所述目标值;若符合所述目标值,则保留所述随机数Nonce值;否则,则更新所述随机数Nonce值,并继续判断更新后的随机数Nonce值是否符合所述目标值;设计计时器并启动共识选主流程,根据符合目标值的随机数Nonce值,选取共识主节点,并进行RAFT日志复制;其中,K为常数,N其各节点单位时间内接收到的数据流量大小。2.如权利要求1所述的适用于物联网的Raft共识方法,其特征在于:所述计算随机数Nonce值包括,所述基于线性同余算法的随机数函数的表达式为:(Ni+1)=(a*Ni+b)Mod M其中,i=0,1,...,M

1;M为当前时间戳;N为所述随机数Nonce值,a为大素数,b为常数。3.如权利要求2所述的适用于物联网的Raft共识方法,其特征在于:所述设计计时器包括,所述计时器包括心跳计时器、选主计时器和紧急选主计时器;设置所述心跳计时器的时间为150ms到300ms;设置所述选主计时器的时间为60s+K/N;设置所述紧急选主计时器的时间为K/N。4.如权利要求1或2所述的适用于物联网的Raft共识方法,其特征在于:所述选主难度动态调整包括,设计难度动态调整函数,通过所述难度动态调整函数进行所述选主难度动态...

【专利技术属性】
技术研发人员:王绪繁柯晓凡陶俭陈竞翔黄杰周子岩
申请(专利权)人:华能能源交通产业控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1