一种数据处理方法和相关装置与流程

    技术2026-07-06  15


    本申请涉及区块链领域,特别是涉及一种数据处理方法和相关装置。


    背景技术:

    1、在包括多个区块链节点的区块链网络中,为了实现去中心化的可信环境,所有区块链节点一般需要通过共识算法,在各区块链节点之间进行数据的一致性同步。一般来说,共识算法会通过提案(proposal)、预投票(prevote)和预提交(precommit)三个阶段来完成共识。

    2、当需要对区块链网络中的数据进行数据更改的交易,例如涉及新增数据、原数据修改等的交易时,可通过一个作为主节点的区块链节点构建针对该交易的提案,然后将该提案对区块链网络中作为子节点的区块链节点进行广播,接收到该提案的区块链节点在确定出该交易的处理结果后在区块链网络中进行预投票和预提交的广播,以此通过各自的处理结果达成对该交易的共识,从而实现各区块链节点的数据同步。

    3、根据共识算法的不同,可能有不同的方式确定每一次交易对应的主节点,例如从区块链节点中随机确定或者轮流作为主节点来构建该交易的提案。然而,区块链节点有时可能出现问题,例如掉线、宕机或者与其他区块链节点的连接断开等。当有问题的区块链节点被作为主节点时,全部或部分子节点可能无法接收到提案,导致不能实现共识。

    4、相关技术中,为了保障共识算法能够稳定运行,各个子节点在提案阶段会有一个等待时长,用于等待主节点构造完成提案,当子节点在该等待时长内未收到提案,则为了保障共识算法能够继续进行且尽快进入下一轮共识,子节点会对一个空提案进行预投票,并基于共识算法切换另一个区块链节点作为主节点进行下一轮共识。

    5、然而,相关技术的这种主节点切换方式虽然能够避免问题区块链作为主节点导致的共识问题,但是会严重影响区块链网络的共识效率。


    技术实现思路

    1、为了解决上述技术问题,本申请提供了一种数据处理方法和相关装置,子节点会在提案阶段开始时确定主节点相对于自身的故障参数,如果基于故障参数可以确定子节点在等待时长内从主节点获取提案的可能性较低,则子节点会识别主节点为故障节点,并在等待时长结束之前进行针对空提案的预投票,从而在本轮共识由于主节点的原因很难达成的情况下,子节点不用机械的等待整个等待时长就能切换主节点并开始下一轮共识,进而减少了主节点故障的共识轮中的无谓等待时长,大大加快了区块链网络的共识效率。

    2、本申请实施例公开了如下技术方案:

    3、一方面,本申请实施例公开了一种数据处理方法,应用于包括多个区块链节点的区块链网络,该方法由第i轮共识中作为子节点的区块链节点执行,包括:

    4、在第i轮共识的提案阶段开始时,确定第i轮共识的主节点相对于子节点的故障参数,主节点为多个区块链节点在第i轮共识中,广播交易所对应提案的区块链节点,故障参数用于标识子节点在提案阶段的等待时长内,从主节点获取所述提案的可能性;

    5、当故障参数满足故障条件时,识别主节点为故障节点;

    6、在等待时长结束之前进行针对空提案的预投票,以便在区块链网络中结束第i轮共识,并从多个区块链节点中切换主节点开始第i+1轮共识。

    7、另一方面,本申请实施例公开了一种数据处理装置,应用于包括多个区块链节点的区块链网络,该装置包括确定单元,识别单元和预投票单元:

    8、确定单元,用于在第i轮共识的提案阶段开始时,确定第i轮共识的主节点相对于子节点的故障参数,主节点为多个区块链节点在第i轮共识中,广播交易所对应提案的区块链节点,故障参数用于标识子节点在提案阶段的等待时长内,从主节点获取提案的可能性;

    9、识别单元,用于当故障参数满足故障条件时,识别主节点为故障节点;

    10、预投票单元,用于在等待时长结束之前进行针对空提案的预投票,以便在区块链网络中结束第i轮共识,并从多个区块链节点中切换主节点开始第i+1轮共识。

    11、又一方面,本申请实施例公开了一种计算机设备,计算机设备包括处理器以及存储器:

    12、存储器用于存储计算机程序,并将计算机程序传输给处理器;

    13、处理器用于根据计算机程序执行以上方面所述的方法。

    14、又一方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,计算机程序用于执行以上方面所述的方法。

    15、又一方面,本申请实施例提供了一种包括计算机程序的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行以上方面所述的方法。

    16、由上述技术方案可以看出,在包括多个区块链节点的区块链网络中,用于交易的第i轮共识的提案阶段由主节点发起,该主节点可在提案阶段针对该交易构建对应的提案,并在区块链网络中广播该提案,区块链网络中的子节点在提案阶段的等待时长中等待接收该提案。为了提升提案达成共识的效率,子节点会在提案阶段开始时确定主节点相对于自身的故障参数,该故障参数用于标识子节点该等待时长内从主节点获取提案的可能性,如果基于故障参数和故障条件确定可能性较低,则子节点会识别主节点为故障节点,并在等待时长结束之前进行针对空提案的预投票,从而在第i轮共识由于主节点的原因很难达成的情况下,子节点不用机械的等待整个等待时长就能切换主节点并开始第i+1轮共识,这种提前识别主节点是否故障的方式,减少了主节点故障的共识轮中的无谓等待时长,大大加快了区块链网络的共识效率。



    技术特征:

    1.一种数据处理方法,其特征在于,应用于包括多个区块链节点的区块链网络,所述方法由第i轮共识中作为子节点的区块链节点执行,所述方法包括:

    2.根据权利要求1所述的方法,其特征在于,所述在所述等待时长结束之前进行针对空提案的预投票,包括:

    3.根据权利要求1所述的方法,其特征在于,所述故障参数包括所述主节点与所述子节点间的共识状态差异参数和所述主节点与所述子节点间数据连接的连接质量参数中的至少一个。

    4.根据权利要求3所述的方法,其特征在于,当所述故障参数包括所述共识状态差异参数和所述连接质量参数时,所述当所述故障参数满足故障条件时,识别所述主节点为故障节点,包括:

    5.根据权利要求3所述的方法,其特征在于,当所述故障参数包括所述共识状态差异参数时,所述确定第i轮共识的主节点相对于所述子节点的故障参数,包括:

    6.根据权利要求1所述的方法,其特征在于,所述等待时长包括n轮子等待时长,n>1,所述在所述等待时长结束之前进行针对空提案的预投票,包括:

    7.根据权利要求6所述的方法,其特征在于,当所述主节点是基于所述主节点与所述子节点间数据连接的连接质量参数被识别为故障节点时,重新确定的所述故障参数包括所述主节点与所述子节点间数据连接的连接质量参数。

    8.根据权利要求1所述的方法,其特征在于,所述等待时长包括n轮子等待时长,n>1,所述方法还包括:

    9.根据权利要求8所述的方法,其特征在于,在所述子节点等待到第j轮子等待时长时,j<n,所述方法还包括:

    10.根据权利要求6或8所述的方法,其特征在于,当所述故障参数包括所述主节点与所述子节点间数据连接的连接质量参数,所述连接质量参数包括所述数据连接的断开时长时,所述子等待时长是根据所述断开时长对应的故障条件确定的。

    11.一种数据处理装置,其特征在于,应用于包括多个区块链节点的区块链网络,所述装置包括确定单元,识别单元和预投票单元:

    12.一种计算机设备,其特征在于,所述计算机设备包括处理器以及存储器:

    13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-10中任意一项所述的方法。

    14.一种包括计算机程序的计算机程序产品,当其在计算机设备上运行时,使得所述计算机设备执行权利要求1-10中任意一项所述的方法。


    技术总结
    本申请公开了一种数据处理方法和相关装置,在包括多个区块链节点的区块链网络中,用于交易的第i轮共识的提案阶段由主节点发起,子节点会在提案阶段开始时确定主节点相对于自身的故障参数,该故障参数用于标识子节点该等待时长内从主节点获取提案的可能性,如果基于故障参数和故障条件确定可能性较低,则子节点会识别主节点为故障节点,并在等待时长结束之前进行针对空提案的预投票,从而在第i轮共识由于主节点的原因很难达成的情况下,子节点不用机械的等待整个等待时长就能切换主节点并开始第i+1轮共识,这种提前识别主节点是否故障的方式,减少了主节点故障的共识轮中的无谓等待时长,大大加快了区块链网络的共识效率。

    技术研发人员:王能
    受保护的技术使用者:腾讯科技(深圳)有限公司
    技术研发日:
    技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-44769.html

    最新回复(0)