一种基于区块链的数据处理方法、设备以及可读存储介质技术

技术编号:37745301 阅读:10 留言:0更新日期:2023-06-05 23:31
本申请公开了一种基于区块链的数据处理方法、设备以及可读存储介质,该方法包括:获取状态消息对集合X

【技术实现步骤摘要】
一种基于区块链的数据处理方法、设备以及可读存储介质


[0001]本申请涉及互联网
,尤其涉及一种基于区块链的数据处理方法、设备以及可读存储介质。

技术介绍

[0002]随着网络技术的快速发展以及政府和企业对数据安全的重视,区块链得到了极大的应用。区块链网络中的节点可以包括共识节点以及同步节点,其中,共识节点参与记账共识,同步节点主要进行业务执行,不参与记账共识,通过身份认证的方式从共识节点中同步区块数据。
[0003]在由共识委员会中的共识节点轮流出块的共识算法中,如果当前轮值的出块节点发生故障,如与其它共识节点相比,出块节点落后很多个区块,或由于网络原因发送不出新块,共识算法为了维持活性,会在出块超时后,由下一个轮值的出块节点出块。上述方法虽然解决了活性,但是由于没有识别出异常共识节点,故再次轮到异常共识节点出块时,仍然会有一次超时,这种情况必然会降低区块链网络的吞吐量。

技术实现思路

[0004]本申请实施例提供一种基于区块链的数据处理方法、设备以及可读存储介质,不仅可以提高识别节点状态的准确度,还可以提高区块链网络的吞吐量。
[0005]本申请实施例一方面提供了一种基于区块链的数据处理方法,包括:
[0006]目标共识节点获取N个共识节点分别对应的状态消息对集合;N为大于1的正整数;N个状态消息对集合包括共识节点Z
y
对应的状态消息对集合X
y
;y为正整数且y小于或等于N;状态消息对集合X
y
包括状态消息对Ar/>b
,状态消息对A
b
包括共识节点Z
b
广播至共识网络的第一状态消息C
b
,以及共识节点Z
y
针对第一状态消息C
b
所生成的第二状态消息C
y
;b为正整数且b小于或等于N;N个共识节点包括目标共识节点、共识节点Z
b
以及共识节点Z
y

[0007]确定共识节点Z
b
在状态消息对A
b
中的状态分值;状态消息对A
b
对应的状态分值用于表征,第一状态消息C
b
以及第二状态消息C
y
之间的状态差异;
[0008]根据状态消息对集合X
y
中每个状态消息对分别对应的状态分值,对N个共识节点进行排序,得到状态消息对集合X
y
对应的节点排序结果;
[0009]根据N个状态消息对集合分别对应的节点排序结果,确定N个共识节点分别对应的节点状态,在共识网络中删除节点状态为节点异常状态的共识节点。
[0010]本申请实施例一方面提供了一种基于区块链的数据处理装置,该基于区块链的数据处理装置运行于目标共识节点,包括:
[0011]第一获取模块,用于获取N个共识节点分别对应的状态消息对集合;N为大于1的正整数;N个状态消息对集合包括共识节点Z
y
对应的状态消息对集合X
y
;y为正整数且y小于或等于N;所述状态消息对集合X
y
包括状态消息对A
b
,所述状态消息对A
b
包括共识节点Z
b
广播至共识网络的第一状态消息C
b
,以及所述共识节点Z
y
针对所述第一状态消息C
b
所生成的第
二状态消息C
y
;b为正整数且b小于或等于N;所述N个共识节点包括所述目标共识节点、所述共识节点Z
b
以及所述共识节点Z
y

[0012]第一确定模块,用于确定所述共识节点Z
b
在所述状态消息对A
b
中的状态分值;所述状态消息对A
b
对应的状态分值用于表征,所述第一状态消息C
b
以及所述第二状态消息C
y
之间的状态差异;
[0013]排序节点模块,用于根据所述状态消息对集合X
y
中每个状态消息对分别对应的状态分值,对所述N个共识节点进行排序,得到所述状态消息对集合X
y
对应的节点排序结果;
[0014]第二确定模块,用于根据所述N个状态消息对集合分别对应的节点排序结果,确定所述N个共识节点分别对应的节点状态,在所述共识网络中删除所述节点状态为节点异常状态的共识节点。
[0015]其中,第一获取模块,包括:
[0016]第一获取单元,用于目标共识节点获取共识节点Z
e
在系统时间达到状态校验周期时所广播的第一状态消息C
e
;共识节点Z
e
属于N

1个共识节点;N

1个共识节点包括N个共识节点中除了目标共识节点之外的共识节点;第一状态消息C
e
包括共识节点Z
e
对应的节点签名I
e
;e为正整数且e小于或等于N

1;
[0017]第二获取单元,用于获取共识节点Z
e
对应的节点公钥,基于共识节点Z
e
对应的节点公钥对节点签名I
e
进行验签,得到第一验签结果;
[0018]第一生成单元,用于根据第一验签结果,生成针对共识节点Z
e
的状态消息对;
[0019]第二生成单元,用于根据N

1个共识节点分别对应的状态消息对,生成目标状态消息对集合;
[0020]第一确定单元,用于获取N

1个共识节点分别广播的状态消息对集合,将N

1个状态消息对集合以及目标状态消息对集合,确定为N个状态消息对集合。
[0021]其中,第一状态消息C
e
还包括共识节点Z
e
的节点标识、共识节点Z
e
对应的区块高度G
e
,以及区块高度G
e
对应的区块哈希;
[0022]第一生成单元,包括:
[0023]第一获取子单元,用于当第一验签结果为验签成功结果时,获取目标区块高度;目标区块高度是指目标共识节点对应的区块高度;
[0024]第一生成子单元,用于基于目标区块高度以及区块高度G
e
,生成第一状态消息C
e
对应的第二状态消息F
e

[0025]第二生成子单元,用于将第一状态消息C
e
以及第二状态消息F
e
组合成针对共识节点Z
e
的待签名状态消息对;
[0026]第三生成子单元,用于基于目标节点私钥对待签名状态消息对进行签名,得到共识节点Z
e
对本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据处理方法,其特征在于,包括:目标共识节点获取N个共识节点分别对应的状态消息对集合;N为大于1的正整数;N个状态消息对集合包括共识节点Z
y
对应的状态消息对集合X
y
;y为正整数且y小于或等于N;所述状态消息对集合X
y
包括状态消息对A
b
,所述状态消息对A
b
包括共识节点Z
b
广播至共识网络的第一状态消息C
b
,以及所述共识节点Z
y
针对所述第一状态消息C
b
所生成的第二状态消息C
y
;b为正整数且b小于或等于N;所述N个共识节点包括所述目标共识节点、所述共识节点Z
b
以及所述共识节点Z
y
;确定所述共识节点Z
b
在所述状态消息对A
b
中的状态分值;所述状态消息对A
b
对应的状态分值用于表征,所述第一状态消息C
b
以及所述第二状态消息C
y
之间的状态差异;根据所述状态消息对集合X
y
中每个状态消息对分别对应的状态分值,对所述N个共识节点进行排序,得到所述状态消息对集合X
y
对应的节点排序结果;根据所述N个状态消息对集合分别对应的节点排序结果,确定所述N个共识节点分别对应的节点状态,在所述共识网络中删除所述节点状态为节点异常状态的共识节点。2.根据权利要求1所述的方法,其特征在于,所述目标共识节点获取N个共识节点分别对应的状态消息对集合,包括:所述目标共识节点获取共识节点Z
e
在系统时间达到状态校验周期时所广播的第一状态消息C
e
;所述共识节点Z
e
属于N

1个共识节点;所述N

1个共识节点包括所述N个共识节点中除了所述目标共识节点之外的共识节点;所述第一状态消息C
e
包括所述共识节点Z
e
对应的节点签名I
e
;e为正整数且e小于或等于N

1;获取所述共识节点Z
e
对应的节点公钥,基于所述共识节点Z
e
对应的节点公钥对所述节点签名I
e
进行验签,得到第一验签结果;根据第一验签结果,生成针对所述共识节点Z
e
的状态消息对;根据所述N

1个共识节点分别对应的状态消息对,生成目标状态消息对集合;获取所述N

1个共识节点分别广播的状态消息对集合,将N

1个状态消息对集合以及所述目标状态消息对集合,确定为所述N个状态消息对集合。3.根据权利要求2所述的方法,其特征在于,所述第一状态消息C
e
还包括所述共识节点Z
e
的节点标识、所述共识节点Z
e
对应的区块高度G
e
,以及所述区块高度G
e
对应的区块哈希;所述根据第一验签结果,生成针对所述共识节点Z
e
的状态消息对,包括:当所述第一验签结果为验签成功结果时,获取目标区块高度;所述目标区块高度是指所述目标共识节点对应的区块高度;基于所述目标区块高度以及所述区块高度G
e
,生成所述第一状态消息C
e
对应的第二状态消息F
e
;将所述第一状态消息C
e
以及所述第二状态消息F
e
组合成针对所述共识节点Z
e
的待签名状态消息对;基于目标节点私钥对所述待签名状态消息对进行签名,得到所述共识节点Z
e
对应的携带第一消息签名的状态消息对;所述目标节点私钥是指所述目标共识节点对应的节点私钥。4.根据权利要求3所述的方法,其特征在于,所述基于所述目标区块高度以及所述区块高度G
e
,生成所述第一状态消息C
e
对应的第二状态消息F
e
,包括:
获取目标节点标识;所述目标节点标识是指所述目标共识节点对应的节点标识;将所述目标区块高度以及所述区块高度G
e
进行对比;若所述目标区块高度等于或大于所述区块高度G
e
,则将第一区块对应的区块哈希确定为目标区块哈希,基于所述目标节点标识、所述目标区块高度以及所述目标区块哈希,生成所述第一状态消息C
e
对应的所述第二状态消息F
e
;所述第一区块对应的区块高度等于所述区块高度G
e
;所述第一区块属于所述目标共识节点对应的账本中的区块;若所述目标区块高度小于所述区块高度G
e
,则将第二区块对应的区块哈希确定为目标区块哈希,基于所述目标节点标识、所述目标区块高度以及所述目标区块哈希,生成所述第一状态消息C
e
对应的所述第二状态消息F
e
;所述第二区块对应的区块高度等于所述目标区块高度;所述第二区块属于所述目标共识节点对应的账本中的区块。5.根据权利要求1所述的方法,其特征在于,所述状态消息对A
b
还包括针对所述第一状态消息C
b
以及所述第二状态消息C
y
的第二消息签名;所述第一状态消息C
b
包括针对所述共识节点Z
b
的第一区块高度,以及针对所述共识节点Z
b
的与所述第一区块高度相关联的第一区块哈希;所述第二状态消息C
y
包括针对所述共识节点Z
y
的第二区块高度,以及针对所述共识节点Z
y
的与所述第一区块高度相关联的第二区块哈希;所述确定所述共识节点Z
b
在所述状态消息对A
b
中的状态分值,包括:调用治理共识委员会合约,通过所述治理共识委员会合约获取所述共识节点Z
y
的节点公钥;基于所述共识节点Z
y
的节点公钥对所述第二消息签名进行验签,得到第二验签结果;当所述第二验签结果为验签成功结果时,对所述第一区块高度以及所述第二区块高度进行对比;若所述第一区块高度大于所述第二区块高度,则将第一目标数值确定为所述共识节点Z
b
在所述状态消息对A
b
中的状态分值;所述第一目标数值用于表征所述第一区块高度大于所述第二区块高度;...

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

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

1