区块链系统的共识投票处理方法、装置、设备以及介质制造方法及图纸

技术编号:37317697 阅读:12 留言:0更新日期:2023-04-21 22:59
本申请实施例提供了一种区块链系统的共识投票处理方法、装置、设备以及介质,该方法包括:接收待共识区块链中的待共识区块i的预投票信息;若目标节点设备的投票映射表中不包含待共识区块i的预投票信息,则根据待共识区块i与投票映射表中的预投票信息所属的待共识区块,在待共识区块链中的链式位置关系,确定待共识区块i在投票映射表中的插入位置;在投票映射表中的插入位置,添加待共识区块i的预投票信息,得到更新后的投票映射表;根据更新后的投票映射表,更新N个待共识区块分别对应的预投票数以得到目标预投票数,该目标预投票数用于确定待共识区块是否达成共识。采用本申请实施例,可以提高区块链系统中的共识效率。可以提高区块链系统中的共识效率。可以提高区块链系统中的共识效率。

【技术实现步骤摘要】
区块链系统的共识投票处理方法、装置、设备以及介质


[0001]本申请涉及网络媒体
,尤其涉及一种区块链系统的共识投票处理方法、装置、设备以及介质。

技术介绍

[0002]区块链系统是一个分布式的系统,共识机制是保证区块链系统正常运行的基础。区块链系统中的共识可以理解为达成一致的意思,区块链系统中的每个节点设备各自存储有一份分布式账本(即区块链);区块链系统的过程久石让各个节点设备之间的分布式账本保持一致的过程。
[0003]区块链系统的共识过程通常是基于共识算法来实现的,如可以通过BFT(Byzantine Fault Tolerance,拜占庭容错)算法进行共识,该算法的每轮共识都是基于单个区块进行投票,即区块链系统中每生成一个新区块,都需要区块链系统中的节点设备对其进行投票,且每个参与区块共识的节点设备均需要将投票信息广播给其余节点设备,只有该区块高度的区块达成共识后,才能进入下一轮共识过程,造成区块链系统中的共识效率过低。

技术实现思路

[0004]本申请实施例提供一种区块链系统的共识投票处理方法、装置、设备以及介质,可以提高区块链系统的共识效率。
[0005]本申请实施例一方面提供了一种区块链系统的共识投票处理方法,该方法由区块链系统中的目标节点设备执行,包括:
[0006]在区块链系统的共识周期中,接收待共识区块i的预投票信息;待共识区块i属于目标节点设备对应的待共识区块链,待共识区块链是由目标节点设备所接收到的N个待共识区块确定的,i和N均为正整数且i小于或等于N;
[0007]若目标节点设备的投票映射表中不包含待共识区块i的预投票信息,则根据待共识区块i与投票映射表中的预投票信息所属的待共识区块,在待共识区块链中的链式位置关系,确定待共识区块i在投票映射表中的插入位置;投票映射表包括目标节点设备所接收到的预投票信息;
[0008]在投票映射表中的插入位置,添加待共识区块i的预投票信息,得到更新后的投票映射表;
[0009]根据更新后的投票映射表,对N个待共识区块分别对应的预投票数进行更新,得到N个待共识区块分别对应的目标预投票数,根据目标预投票数,确定N个待共识区块在共识周期中达成共识的目标区块。
[0010]本申请实施例一方面提供了一种区块链系统的共识投票处理装置,该装置应用于区块链系统中的目标节点设备,包括:
[0011]接收模块,用于在区块链系统的共识周期中,接收待共识区块i的预投票信息;待
共识区块i属于目标节点设备对应的待共识区块链,待共识区块链是由目标节点设备所接收到的N个待共识区块确定的,i和N均为正整数且i小于或等于N;
[0012]位置确定模块,用于若目标节点设备的投票映射表中不包含待共识区块i的预投票信息,则根据待共识区块i与投票映射表中的预投票信息所属的待共识区块,在待共识区块链中的链式位置关系,确定待共识区块i在投票映射表中的插入位置;投票映射表包括目标节点设备所接收到的预投票信息;
[0013]添加模块,用于在投票映射表中的插入位置,添加待共识区块i的预投票信息,得到更新后的投票映射表;
[0014]投票统计模块,用于根据更新后的投票映射表,对N个待共识区块分别对应的预投票数进行更新,得到N个待共识区块分别对应的目标预投票数,根据目标预投票数,确定N个待共识区块在共识周期中达成共识的目标区块。
[0015]其中,共识周期包括提案阶段;
[0016]该装置还包括:
[0017]区块获取模块,用于获取共识周期的提案阶段中所创建的N个待共识区块,获取N个待共识区块分别包含的当前区块哈希和前继区块哈希;
[0018]区块串连模块,用于当N个待共识区块中的待共识区块j所包含的前继区块哈希为待共识区块i所包含的当前区块哈希时,对待共识区块i和待共识区块j进行串连,生成包含N个待共识区块的待共识区块链;j为小于或等于N的正整数。
[0019]其中,位置确定模块包括:
[0020]投票区块集合确定单元,用于若目标节点设备的投票映射表中不包含待共识区块i的预投票信息,则将投票映射表中的预投票信息所属的待共识区块确定为投票区块集合;
[0021]区块排序单元,用于获取待共识区块i对应的区块高度H,按照投票区块集合中的区块高度的降序排列顺序,对投票区块集合中的待共识区块进行遍历;H为正整数;
[0022]第一位置确定单元,用于当投票区块集合中包含区块高度大于区块高度H的待共识区块时,根据投票区块集合中所包含的区块高度大于区块高度H的待共识区块,确定待共识区块i在投票映射表中的插入位置;
[0023]第二位置确定单元,用于当投票区块集合中不包含区块高度大于区块高度H的待共识区块时,将投票映射表的末尾位置,确定为待共识区块i在投票映射表中的插入位置。
[0024]其中,第一位置确定单元具体用于:
[0025]当投票区块集合中包含区块高度大于区块高度H的待共识区块时,在投票区块集合中获取区块高度小于区块高度H的待共识区块k,以及区块高度大于区块高度H的待共识区块j;待共识区块k和待共识区块j在投票区块集合中具有相邻的排列顺序,j和k均为小于或等于N的正整数;
[0026]在投票映射表中,将待共识区块k与待共识区块j之间的位置,确定为待共识区块i对应的插入位置。
[0027]其中,添加模块包括:
[0028]第一集合创建单元,用于当插入位置为待共识区块k和待共识区块j之间的位置时,为待共识区块i创建前序区块集合和后序区块集合,将待共识区块k添加至待共识区块i的前序区块集合,将待共识区块j添加至待共识区块i的后序区块集合;
[0029]第一键值对构建单元,用于将待共识区块i的当前区块哈希作为关键字,将待共识区块i的前序区块集合、待共识区块i的后序区块集合,以及待共识区块i的预投票信息作为数值结果;
[0030]第一映射表更新单元,用于根据关键字和数值结果,确定待共识区块i对应的投票映射数据,在投票映射表的插入位置添加投票映射数据,得到更新后的投票映射表;更新后的投票映射表中的待共识区块k的后序区块集合包括待共识区块i,且待共识区块j的前序区块集合包括待共识区块i。
[0031]其中,添加模块包括:
[0032]第二集合创建单元,用于当插入位置为投票映射表的末尾位置时,为待共识区块i创建前序区块集合和后序区块集合,将投票区块集合中具有最大区块高度的待共识区块添加至待共识区块i的前序区块集合,确定待共识区块i的后序区块集合为空;
[0033]第二键值对构建单元,用于将待共识区块i的当前区块哈希作为关键字,将待共识区块i的前序区块集合、待共识区块i的后序区块集合,以及待共识区块i的预投票信息作为数值结果;
[0034]第二映射表更新单元,用于根据关键字和数值结果,确定待共识区块i对应的投票映射数据,将投票映射数据添加至投票映射表的末位位置,得到更新后的投票映射表;更新后的投本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链系统的共识投票处理方法,其特征在于,所述方法由区块链系统中的目标节点设备执行,包括:在所述区块链系统的共识周期中,接收待共识区块i的预投票信息;所述待共识区块i属于所述目标节点设备对应的待共识区块链,所述待共识区块链是由所述目标节点设备所接收到的N个待共识区块确定的,i和N均为正整数且i小于或等于N;若所述目标节点设备的投票映射表中不包含所述待共识区块i的预投票信息,则根据所述待共识区块i与所述投票映射表中的预投票信息所属的待共识区块,在所述待共识区块链中的链式位置关系,确定所述待共识区块i在所述投票映射表中的插入位置;所述投票映射表包括所述目标节点设备所接收到的预投票信息;在所述投票映射表中的所述插入位置,添加所述待共识区块i的预投票信息,得到更新后的投票映射表;根据所述更新后的投票映射表,对所述N个待共识区块分别对应的预投票数进行更新,得到所述N个待共识区块分别对应的目标预投票数,根据所述目标预投票数,确定所述N个待共识区块在所述共识周期中达成共识的目标区块。2.根据权利要求1所述的方法,其特征在于,所述共识周期包括提案阶段;所述方法还包括:获取所述共识周期的提案阶段中所创建的N个待共识区块,获取所述N个待共识区块分别包含的当前区块哈希和前继区块哈希;当所述N个待共识区块中的待共识区块j所包含的前继区块哈希为待共识区块i所包含的当前区块哈希时,对所述待共识区块i和所述待共识区块j进行串连,生成包含所述N个待共识区块的待共识区块链;j为小于或等于N的正整数。3.根据权利要求1所述的方法,其特征在于,所述若所述目标节点设备的投票映射表中不包含所述待共识区块i的预投票信息,则根据所述待共识区块i与所述投票映射表中的预投票信息所属的待共识区块,在所述待共识区块链中的链式位置关系,确定所述待共识区块i在所述投票映射表中的插入位置,包括:若所述目标节点设备的投票映射表中不包含所述待共识区块i的预投票信息,则将所述投票映射表中的预投票信息所属的待共识区块确定为投票区块集合;获取所述待共识区块i对应的区块高度H,按照所述投票区块集合中的区块高度的降序排列顺序,对所述投票区块集合中的待共识区块进行遍历;H为正整数;当所述投票区块集合中包含区块高度大于所述区块高度H的待共识区块时,根据所述投票区块集合中所包含的区块高度大于所述区块高度H的待共识区块,确定所述待共识区块i在所述投票映射表中的插入位置;当所述投票区块集合中不包含区块高度大于所述区块高度H的待共识区块时,将所述投票映射表的末尾位置,确定为所述待共识区块i在所述投票映射表中的插入位置。4.根据权利要求3所述的方法,其特征在于,所述当所述投票区块集合中包含区块高度大于所述区块高度H的待共识区块时,根据所述投票区块集合中所包含的区块高度大于所述区块高度H的待共识区块,确定所述待共识区块i在所述投票映射表中的插入位置,包括:当所述投票区块集合中包含区块高度大于所述区块高度H的待共识区块时,在所述投票区块集合中获取区块高度小于所述区块高度H的待共识区块k,以及区块高度大于所述区
块高度H的待共识区块j;所述待共识区块k和所述待共识区块j在所述投票区块集合中具有相邻的排列顺序,j和k均为小于或等于N的正整数;在所述投票映射表中,将所述待共识区块k与所述待共识区块j之间的位置,确定为所述待共识区块i对应的插入位置。5.根据权利要求4所述的方法,其特征在于,所述在所述投票映射表中的所述插入位置,添加所述待共识区块i的预投票信息,得到更新后的投票映射表,包括:当所述插入位置为所述待共识区块k和所述待共识区块j之间的位置时,为所述待共识区块i创建前序区块集合和后序区块集合,将所述待共识区块k添加至所述待共识区块i的前序区块集合,将所述待共识区块j添加至所述待共识区块i的后序区块集合;将所述待共识区块i的当前区块哈希作为关键字,将所述待共识区块i的前序区块集合、所述待共识区块i的后序区块集合,以及所述待共识区块i的预投票信息作为数值结果;根据所述关键字和所述数值结果,确定所述待共识区块i对应的投票映射数据,在所述投票映射表的所述插入位置添加所述投票映射数据,得到更新后的投票映射表;所述更新后的投票映射表中的待共识区块k的后序区块集合包括所述待共识区块i,且待共识区块j的前序区块集合包括所述待共识区块i。6.根据权利要求3所述的方法,其特征在于,所述在所述投票映射表中的所述插入位置,添加所述待共识区块i的预投票信息,得到更新后的投票映射表,包括:当所述插入位置为所述投票映射表的末尾位置时,为所述待共识区块i创建前序区块集合和后序区块集合,将所述投票区块集合中具有最大区块高度的待共识区块添加至所述待共识区块i的前序区块集合,确定所述待共识区块i的后序区块集合为空;将所述待共识区块i的当前区块哈希作为关键字,将所述待共识区块i的前序区块集合、所述待共识区块i的后序...

【专利技术属性】
技术研发人员:刘攀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1