【技术实现步骤摘要】
基于区块链网络的数据处理方法及相关设备
[0001]本申请涉及区块链
,尤其涉及一种基于区块链网络的数据处理方法、一种基于区块链网络的数据处理装置、一种计算机设备、一种计算机可读存储介质以及一种计算机程序产品。
技术介绍
[0002]随着区块链技术的发展,区块链在金融、供应链管理、娱乐、医疗等各个领域都发挥着十分重要的作用,基于区块链去中心化、不可篡改等特点,数据能够被更加安全地存储。但是,在一些场景下区块链可能存在异常,从而影响区块链的业务,比如,在私有链场景下,如果一个中心(可理解为一个机构)放弃维护共识网络中的共识节点,那么区块链会发生丢失从而导致基于区块链的业务无法正常进行。在此情况下,如何对区块链数据进行恢复是必要的。
技术实现思路
[0003]本申请实施例提供一种基于区块链网络的数据处理方法及相关设备,可以完整且有效地恢复出正常的区块链,使得基于区块链的业务能够正常地执行。
[0004]本申请实施例一方面提供了一种基于区块链网络的数据处理方法,区块链网络包括共识网络和业务网络,共识网络中包含多个共识节点,业务网络中包含多个业务节点;该方法包括:当检测到区块链网络中的源区块链存在异常时,获取针对源区块链的区块同步数据;从业务网络中的各个业务节点中获取各个业务节点分别记录的源区块链上的交易数据;基于区块同步数据及各个业务节点分别记录的源区块链上的交易数据进行区块链恢复处理,得到目标区块链。
[0005]本申请实施例一方面提供了一种基于区块链网络的数据处理装置,区块链网络包 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链网络的数据处理方法,其特征在于,所述区块链网络包括共识网络和业务网络,所述共识网络中包含多个共识节点,所述业务网络中包含多个业务节点;所述方法包括:当检测到所述区块链网络中的源区块链存在异常时,获取针对所述源区块链的区块同步数据;从所述业务网络中的各个业务节点中获取所述各个业务节点分别记录的所述源区块链上的交易数据;基于所述区块同步数据及所述各个业务节点分别记录的所述源区块链上的交易数据进行区块链恢复处理,得到目标区块链。2.如权利要求1所述的方法,其特征在于,所述区块同步数据包括所述源区块链上的区块的区块头;所述获取针对所述源区块链的区块同步数据,包括:获取针对所述源区块链进行历史同步的区块头;确定所述历史同步的所有区块头中对应的最大区块高度;若所述最大区块高度等于所述源区块链的高度,则将所述历史同步的区块头确定为针对所述源区块链的区块同步数据;若所述最大区块高度小于所述源区块链的高度,则针对所述源区块链重新进行区块同步处理,直至获得所述源区块链上最新区块的区块头,并在区块同步处理完成后将所述历史同步的区块头和重新进行区块同步处理获得的区块头共同确定为针对所述源区块链的区块同步数据。3.如权利要求2所述的方法,其特征在于,所述源区块链上的交易数据被封装在所述源区块链上的区块的区块体中,所述交易数据通过所属区块的区块体与所属区块的区块头之间建立关联;所述基于所述区块同步数据及所述各个业务节点分别记录的所述源区块链上的交易数据进行区块链恢复处理,得到目标区块链,包括:根据区块头与交易数据之间的关联关系,在所述各个业务节点分别记录的所述源区块链上的交易数据中分别查找所述区块同步数据中的各区块头所关联的交易数据;基于所述区块同步数据中的各区块头及查找到的相应交易数据,恢复出所述源区块链上的各个区块;将恢复出的各个区块进行连接,形成所述目标区块链。4.如权利要求2所述的方法,其特征在于,所述源区块链上的交易数据被封装在所述源区块链上的区块的区块体中,所述交易数据通过所属区块的区块体与所属区块的区块头之间建立关联;所述源区块链的任一区块对应一棵默克尔树,所述默克尔树是根据所述源区块链上的任一区块中的交易数据生成的;所述基于所述区块同步数据及所述各个业务节点分别记录的所述源区块链上的交易数据进行区块链恢复处理,得到目标区块链,包括:根据区块头与交易数据之间的关联关系,以及所述各个业务节点分别记录的所述源区块链上的交易数据,确定属于同一区块中的交易数据在所述各个业务节点中的分布情况;基于所述分布情况,构建同一区块在所述各个业务节点中的默克尔子树;对同一区块的各棵默克尔子树进行合并,得到所述源区块链上各个区块分别对应的默
克尔树;基于各个区块分别对应的默克尔树和各个区块分别对应的区块头,恢复出所述源区块链上的各个区块;将恢复出的各个区块进行连接,形成所述目标区块链。5.如权利要求1
‑
4任一项所述的方法,其特征在于,所述业务网络中的各个业务节点用于分别向所述共识网络发送交易数据,触发所述共识网络中的共识节点基于接收到的交易数据执行交易获得交易执行结果,并由所述共识网络中的共识节点将交易执行结果反馈给所述各个业务节点;所述源区块链存在异常,包括以下一种或多种:所述业务网络中的业务节点向所述共识网络发送交易数据的发送失败率超过预设失败率阈值;所述业务网络中的业务节点针对已发送交易数据所接收到的交易执行结果的数量比小于预设比值;所述共识网络中出现故障的共识节点的数量占比大于预设占比值;所述业务网络中的业务节点针对已发送交易数据所接收到的交易执行结果的正确率低于预设正确率阈值;所述业务网络中的业务节点所记录的交易数据在所述源区块链上被篡改的数量大于预设篡改数量阈值;所述源区块链上被标记为异常的区块数据大于预设数量阈值。6.如权利要求5所述的方法,其特征在于,所述方法由第一业务节点执行,所述第一业务节点为所述业务网络中的任一业务节点;所述方法还包括:接收客户端发送的交易验证请求,所述交易验证请求用于请求对所述源区块链上的目标交易数据进行验证;所述目标交易数据被记录至所述业务网络中转发过所述目标交易数据的业务节点中;向所述共识网络转发所述交易验证请求,以使所述共识网络中的共识节点获取并返回所述目标交易数据的验证信息;根据所述目标交易数据的验证信息对所述目标交易数据进行验证。7.如权利要求6所述的方法,其特征在于,所述第一业务节点中同步有所述源区块链上的至少一个区块的区块头,且每个区块头包括区块高度;所述验证信息包括所述目标交易数据所属区块的区块高度以及所述目标交易数据对应的默克尔路径;所述根据所述目标交易数据的验证信息对所述目标交易数据进...
【专利技术属性】
技术研发人员:廖志勇,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。