基于区块链网络的数据处理方法及相关设备技术

技术编号:39411603 阅读:9 留言:0更新日期:2023-11-19 16:03
本申请实施例提供了一种基于区块链网络的数据处理方法及相关设备,其中,区块链网络包括共识网络和业务网络,共识网络中包含多个共识节点,业务网络中包含多个业务节点;该方法包括:当检测到区块链网络中的源区块链存在异常时,获取针对源区块链的区块同步数据;从业务网络中的各个业务节点中获取各个业务节点分别记录的源区块链上的交易数据;基于区块同步数据及各个业务节点分别记录的源区块链上的交易数据进行区块链恢复处理,得到目标区块链。通过本申请实施例能够完整且有效地恢复出正常的区块链,使得基于区块链的业务能够正常地执行。常地执行。常地执行。

【技术实现步骤摘要】
基于区块链网络的数据处理方法及相关设备


[0001]本申请涉及区块链
,尤其涉及一种基于区块链网络的数据处理方法、一种基于区块链网络的数据处理装置、一种计算机设备、一种计算机可读存储介质以及一种计算机程序产品。

技术介绍

[0002]随着区块链技术的发展,区块链在金融、供应链管理、娱乐、医疗等各个领域都发挥着十分重要的作用,基于区块链去中心化、不可篡改等特点,数据能够被更加安全地存储。但是,在一些场景下区块链可能存在异常,从而影响区块链的业务,比如,在私有链场景下,如果一个中心(可理解为一个机构)放弃维护共识网络中的共识节点,那么区块链会发生丢失从而导致基于区块链的业务无法正常进行。在此情况下,如何对区块链数据进行恢复是必要的。

技术实现思路

[0003]本申请实施例提供一种基于区块链网络的数据处理方法及相关设备,可以完整且有效地恢复出正常的区块链,使得基于区块链的业务能够正常地执行。
[0004]本申请实施例一方面提供了一种基于区块链网络的数据处理方法,区块链网络包括共识网络和业务网络,共识网络中包含多个共识节点,业务网络中包含多个业务节点;该方法包括:当检测到区块链网络中的源区块链存在异常时,获取针对源区块链的区块同步数据;从业务网络中的各个业务节点中获取各个业务节点分别记录的源区块链上的交易数据;基于区块同步数据及各个业务节点分别记录的源区块链上的交易数据进行区块链恢复处理,得到目标区块链。
[0005]本申请实施例一方面提供了一种基于区块链网络的数据处理装置,区块链网络包括共识网络和业务网络,共识网络中包含多个共识节点,业务网络中包含多个业务节点;该装置包括:获取单元,用于当检测到区块链网络中的源区块链存在异常时,获取针对源区块链的区块同步数据;获取单元,还用于从业务网络中的各个业务节点中获取各个业务节点分别记录的源区块链上的交易数据;处理单元,用于基于区块同步数据及各个业务节点分别记录的源区块链上的交易数据进行区块链恢复处理,得到目标区块链。
[0006]本申请实施例一方面提供一种计算机设备,该计算机设备包括:处理器,适用于执行计算机程序;
计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现如上述基于区块链网络的数据处理方法。
[0007]相应的,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器加载并执行如上述基于区块链网络的数据处理方法。
[0008]相应的,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现上述基于区块链网络的数据处理方法。
[0009]在本申请实施例中在检测到区块链网络中的源区块链存在异常时,可获取针对该源区块链的区块同步数据,还可从业务网络中的各个业务节点中获取各自记录的源区块链上的交易数据;可见,在源区块链存在异常的情况下,能够完整地获取到与源区块链有关的数据(包括区块同步数据和交易数据),进而可基于针对源区块链的区块同步数据和各个业务节点所记录的源区块链上的交易数据进行区块链恢复处理,得到目标区块链。这样,能够基于源区块链上较为关键的数据,能够准确、完整地恢复出与正常的源区块链相同的目标区块链,通过目标区块链可还原出源区块链中应有的区块数据,从而保障原本基于源区块链的业务,能够基于目标区块链被正常执行。
附图说明
[0010]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1a是本申请一个示例性实施例提供的一种数据共享系统的示意图;图1b是本申请一个示例性实施例提供的一种区块链构成的示意图;图1c是本申请一个示例性实施例提供的一种新区块产生的过程示意图;图1d是本申请一个示例性实施例提供的一种基于区块链网络的数据处理系统的架构图;图1e是本申请一个示例性实施例提供的一种区块链网络的示意图;图2是本申请一个示例性实施例提供的一种基于区块链网络的数据处理方法的流程示意图;图3是本申请一个示例性实施例提供的一种基于关联关系恢复区块链数据的示意图;图4a是本申请一个示例性实施例提供的一种默克尔树的示意图;图4b是本申请一个示例性实施例提供的一种区块与默克尔树、默克尔根之间的关系示意图;图5a是本申请一个示例性实施例提供的一种默克尔子树的示意图;图5b是本申请一个示例性实施例提供的另一种默克尔子树的示意图;图5c是本申请一个示例性实施例提供的一种合并默克尔子树的示意图;图6a是本申请一个示例性实施例提供的一种交易验证的流程示意图;
图6b是本申请一个示例性实施例提供的另一种交易验证的流程示意图;图6c是本申请一个示例性实施例提供的一种交易发送的流程示意图;图7是本申请一个示例性实施例提供的一种基于区块链网络的数据处理装置的结构示意图;图8是本申请一个示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0012]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0013]本申请提出了一种基于区块链网络的数据处理方案,该方案涉及基于区块链网络的数据处理系统、方法及相关设备,该方案中区块链网络包括业务网络和共识网络,业务网络中包括多个业务节点,这些业务节点可以是不同参与方的节点,主要负责向共识网络中的共识节点发送交易数据;共识网络中包括多个共识节点,主要负责根据交易数据执行交易并对交易数据进行共识上链处理。该基于区块链网络的数据处理方法包括:在检测到区块链网络中的源区块链存在异常时,获取针对该源区块链的区块同步数据,还可获取各个业务节点分别记录的源区块链上的交易数据;由于业务网络中各个业务节点转发过的交易数据可在共识上链后被存储至原区块链上,因此,获取到的业务网络中所有业务节点记录的源区块链上的交易数据,是源区块链上完整的交易数据。进而基于获取到的区块同步数据和获取到的交易数据进行区块链恢复,能够较为准确、完整地还原出正常的源区块链,即得到目标区块链。
[0014]本申请基于区块链网络的数据处理方法可以由第一业务节点(即业务网络中的任一业务节点来执行)或者是由可信的第三方提供的设备执行。如果由可信的第三方提供的设备执行本申请提供的数据处理方法,那么可从各个业务网络中的各个业务节点中获取到源区块链上的完整的交易数据,如果由第一业务节点执行,那么除了获取第一业务节点本地记录的源区块链上的交易数据,还需从其他业务节点中获取所记录的源区块链上的交易数据。这样,能够得到源区块链上完整的交易数据,以保证区本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链网络的数据处理方法,其特征在于,所述区块链网络包括共识网络和业务网络,所述共识网络中包含多个共识节点,所述业务网络中包含多个业务节点;所述方法包括:当检测到所述区块链网络中的源区块链存在异常时,获取针对所述源区块链的区块同步数据;从所述业务网络中的各个业务节点中获取所述各个业务节点分别记录的所述源区块链上的交易数据;基于所述区块同步数据及所述各个业务节点分别记录的所述源区块链上的交易数据进行区块链恢复处理,得到目标区块链。2.如权利要求1所述的方法,其特征在于,所述区块同步数据包括所述源区块链上的区块的区块头;所述获取针对所述源区块链的区块同步数据,包括:获取针对所述源区块链进行历史同步的区块头;确定所述历史同步的所有区块头中对应的最大区块高度;若所述最大区块高度等于所述源区块链的高度,则将所述历史同步的区块头确定为针对所述源区块链的区块同步数据;若所述最大区块高度小于所述源区块链的高度,则针对所述源区块链重新进行区块同步处理,直至获得所述源区块链上最新区块的区块头,并在区块同步处理完成后将所述历史同步的区块头和重新进行区块同步处理获得的区块头共同确定为针对所述源区块链的区块同步数据。3.如权利要求2所述的方法,其特征在于,所述源区块链上的交易数据被封装在所述源区块链上的区块的区块体中,所述交易数据通过所属区块的区块体与所属区块的区块头之间建立关联;所述基于所述区块同步数据及所述各个业务节点分别记录的所述源区块链上的交易数据进行区块链恢复处理,得到目标区块链,包括:根据区块头与交易数据之间的关联关系,在所述各个业务节点分别记录的所述源区块链上的交易数据中分别查找所述区块同步数据中的各区块头所关联的交易数据;基于所述区块同步数据中的各区块头及查找到的相应交易数据,恢复出所述源区块链上的各个区块;将恢复出的各个区块进行连接,形成所述目标区块链。4.如权利要求2所述的方法,其特征在于,所述源区块链上的交易数据被封装在所述源区块链上的区块的区块体中,所述交易数据通过所属区块的区块体与所属区块的区块头之间建立关联;所述源区块链的任一区块对应一棵默克尔树,所述默克尔树是根据所述源区块链上的任一区块中的交易数据生成的;所述基于所述区块同步数据及所述各个业务节点分别记录的所述源区块链上的交易数据进行区块链恢复处理,得到目标区块链,包括:根据区块头与交易数据之间的关联关系,以及所述各个业务节点分别记录的所述源区块链上的交易数据,确定属于同一区块中的交易数据在所述各个业务节点中的分布情况;基于所述分布情况,构建同一区块在所述各个业务节点中的默克尔子树;对同一区块的各棵默克尔子树进行合并,得到所述源区块链上各个区块分别对应的默
克尔树;基于各个区块分别对应的默克尔树和各个区块分别对应的区块头,恢复出所述源区块链上的各个区块;将恢复出的各个区块进行连接,形成所述目标区块链。5.如权利要求1

4任一项所述的方法,其特征在于,所述业务网络中的各个业务节点用于分别向所述共识网络发送交易数据,触发所述共识网络中的共识节点基于接收到的交易数据执行交易获得交易执行结果,并由所述共识网络中的共识节点将交易执行结果反馈给所述各个业务节点;所述源区块链存在异常,包括以下一种或多种:所述业务网络中的业务节点向所述共识网络发送交易数据的发送失败率超过预设失败率阈值;所述业务网络中的业务节点针对已发送交易数据所接收到的交易执行结果的数量比小于预设比值;所述共识网络中出现故障的共识节点的数量占比大于预设占比值;所述业务网络中的业务节点针对已发送交易数据所接收到的交易执行结果的正确率低于预设正确率阈值;所述业务网络中的业务节点所记录的交易数据在所述源区块链上被篡改的数量大于预设篡改数量阈值;所述源区块链上被标记为异常的区块数据大于预设数量阈值。6.如权利要求5所述的方法,其特征在于,所述方法由第一业务节点执行,所述第一业务节点为所述业务网络中的任一业务节点;所述方法还包括:接收客户端发送的交易验证请求,所述交易验证请求用于请求对所述源区块链上的目标交易数据进行验证;所述目标交易数据被记录至所述业务网络中转发过所述目标交易数据的业务节点中;向所述共识网络转发所述交易验证请求,以使所述共识网络中的共识节点获取并返回所述目标交易数据的验证信息;根据所述目标交易数据的验证信息对所述目标交易数据进行验证。7.如权利要求6所述的方法,其特征在于,所述第一业务节点中同步有所述源区块链上的至少一个区块的区块头,且每个区块头包括区块高度;所述验证信息包括所述目标交易数据所属区块的区块高度以及所述目标交易数据对应的默克尔路径;所述根据所述目标交易数据的验证信息对所述目标交易数据进...

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

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

1