联盟链的数据同步方法、装置、可读介质及电子设备制造方法及图纸

技术编号:26762574 阅读:17 留言:0更新日期:2020-12-18 23:13
本申请的实施例提供了一种联盟链的数据同步方法、装置、可读介质及电子设备。该方法包括:若需要同步联盟链中的区块数据,则从所述联盟链的检查点信息集中选择目标检查点,所述检查点信息集包含有多个检查点以及各个检查点对应的账本数据快照,所述各个检查点对应的账本数据快照包含有所述各个检查点所对应区块高度的账本数据全局状态;根据选择的所述目标检查点,获取所述目标检查点对应的目标账本数据快照,所述目标账本数据快照包含有所述目标检查点所对应目标区块高度的目标账本数据全局状态;存储所述目标账本数据全局状态,并对所述联盟链中处于所述目标区块高度之后的区块数据进行同步。本申请实施例的技术方案实现了区块数据的快速同步。

【技术实现步骤摘要】
联盟链的数据同步方法、装置、可读介质及电子设备
本申请涉及区块链领域,具体而言,涉及一种联盟链的数据同步方法、装置、可读介质及电子设备。
技术介绍
随着区块链技术的兴起,其应用场景也在不断丰富扩展,从交易转账,到产品溯源,基本已经形成了一种“万物皆可上链”的发展趋势。而随着链上数据的不断增长,如何进行快速高效的区块数据同步成为一个不可避免的问题。区块链主要包含有联盟链、私有链和公有链,相比于公有链,在联盟链中节点设备进行区块数据同步需要花费大量时间,同步效率较低。
技术实现思路
本申请的实施例提供了一种联盟链的数据同步方法、装置、计算机可读介质及电子设备,进而至少在一定程度上实现了区块数据的快速同步,提高了联盟链中数据同步效率。本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。根据本申请实施例的一个方面,提供了一种联盟链的数据同步方法,包括:若需要同步联盟链中的区块数据,则从所述联盟链的检查点信息集中选择目标检查点,所述检查点信息集包含有多个检查点以及各个检查点对应的账本数据快照,所述各个检查点对应的账本数据快照包含有所述各个检查点所对应区块高度的账本数据全局状态;根据选择的所述目标检查点,获取所述目标检查点对应的目标账本数据快照,所述目标账本数据快照包含有所述目标检查点所对应目标区块高度的目标账本数据全局状态;存储所述目标账本数据全局状态,并对所述联盟链中处于所述目标区块高度之后的区块数据进行同步。根据本申请实施例的一个方面,提供了一种联盟链的数据同步方法,包括:获取所述联盟链的当前区块高度;若所述当前区块高度达到目标检查点对应的区块高度,则获取所述当前区块高度的账本数据全局状态;根据所述账本数据全局状态,生成所述目标检查点对应的账本数据快照,所述账本数据快照包含有所述目标检查点所对应区块高度的账本数据全局状态;将所述目标检查点以及所述目标检查点对应的账本数据快照存储至所述联盟链的检查点信息集中,所述检查点信息集用于使需要同步所述联盟链中的区块数据的节点从中选取检查点,并基于选取的检查点同步区块数据。根据本申请实施例的一个方面,提供了一种联盟链的数据同步装置,包括:选择单元,配置为若需要同步联盟链中的区块数据,则从所述联盟链的检查点信息集中选择目标检查点,所述检查点信息集包含有多个检查点以及各个检查点对应的账本数据快照,所述各个检查点对应的账本数据快照包含有所述各个检查点所对应区块高度的账本数据全局状态;第一获取单元,配置为根据选择的所述目标检查点,获取所述目标检查点对应的目标账本数据快照,所述目标账本数据快照包含有所述目标检查点所对应目标区块高度的目标账本数据全局状态;存储同步单元,配置为存储所述目标账本数据全局状态,并对所述联盟链中处于所述目标区块高度之后的区块数据进行同步。在本申请的一些实施例中,基于前述方案,所述选择单元配置为:根据期望的数据同步时长,确定在所述数据同步时长内能够同步的第一区块高度;计算所述联盟链的指定区块高度与所述第一区块高度之差,得到第二区块高度,所述指定区块高度是需要同步到的区块高度;根据所述第二区块高度,以及检查点与区块高度之间的对应关系,选择所述目标检查点。在本申请的一些实施例中,基于前述方案,所述选择单元配置为:从所述联盟链的检查点信息集中获取所述各个检查点对应的区块高度;将所述各个检查点对应的区块高度中最大区块高度对应的检查点作为所述目标检查点。在本申请的一些实施例中,基于前述方案,所述账本数据快照是所述联盟链的已有参与方的共识节点对所述各个检查点所对应区块高度的账本数据全局状态进行共识后生成的;在所述装置设置在新加入所述联盟链的节点中的情况下,所述选择单元包括:第一选择子单元,配置为若新加入所述联盟链的节点为所述联盟链的已有参与方的新增节点,则在所述新增节点加入所述联盟链之后,直接从所述联盟链的检查点信息集中选择所述目标检查点;第二选择子单元,配置为若新加入所述联盟链的节点为所述联盟链的新增参与方的节点,则在所述新增参与方的节点加入所述联盟链之后,从所述联盟链的检查点信息集中选择至少两个检查点进行校验,在校验通过后,从所述检查点信息集中选择所述目标检查点。在本申请的一些实施例中,基于前述方案,所述第二选择子单元配置为:根据从所述联盟链的检查点信息集中选择的至少两个检查点分别对应的账本数据快照,确定所述至少两个检查点分别对应的区块高度以及所对应的账本数据全局状态;根据所述至少两个检查点分别对应的账本数据全局状态,对所述至少两个检查点中相邻检查点所对应的区块高度之间的交易进行校验,得到校验结果。在本申请的一些实施例中,基于前述方案,所述装置还包括:第一确定单元,配置为若对所述至少两个检查点中任意相邻检查点所对应的区块高度之间的交易均校验通过,则确定对所述至少两个检查点校验通过。根据本申请实施例的一个方面,提供了一种联盟链的数据同步装置,包括:第二获取单元,配置为获取所述联盟链的当前区块高度;第三获取单元,配置为若所述当前区块高度达到目标检查点对应的区块高度,则获取所述当前区块高度的账本数据全局状态;生成单元,配置为根据所述账本数据全局状态,生成所述目标检查点对应的账本数据快照,所述账本数据快照包含有所述目标检查点所对应区块高度的账本数据全局状态;存储单元,配置为将所述目标检查点以及所述目标检查点对应的账本数据快照存储至所述联盟链的检查点信息集中,所述检查点信息集用于使需要同步所述联盟链中的区块数据的节点从中选取检查点,并基于选取的检查点同步区块数据。在本申请的一些实施例中,基于前述方案,所述第三获取单元配置为:向所述联盟链的同一参与方对应的背书节点发送用于生成所述当前区块高度的账本数据全局状态的请求;接收所述同一参与方对应的背书节点返回的所述当前区块高度的账本数据全局状态。在本申请的一些实施例中,基于前述方案,所述装置还包括:第四获取单元,配置为获取所述联盟链的检查点配置信息,以及所述目标检查点的上一检查点对应的区块高度,所述检查点配置信息包含有相邻两个检查点之间的间隔区块高度;第二确定单元,配置为若所述当前区块高度与所述上一检查点对应的区块高度之差等于所述间隔区块高度,则确定所述当前区块高度达到所述目标检查点对应的区块高度。在本申请的一些实施例中,基于前述方案,所述生成单元配置为:在所述联盟链中对所述当前区块高度的账本数据全局状态进行共识;若超过预设数量的共识节点对所述当前区块高度的账本数据全局状态达成共识,则生成所述目标检查点对应的账本数据快照。在本申请的一些实施例中,基于前述方案,所述当前区块高度的账本数据全局状态是向所述联盟链的同一参与方对应的背书节点发送请求所制定的,所述装置还包括:发送单元,配置为若在所述联盟链中对所述当前区块高度的账本数据全局状态共识失败,则向所述同一参与方的背书节点重新发送请求;第三确定单元,配置为若向所述联盟链的同一参与方的背书节点发送请求的次数超过预设次数,则确定所述当前区块高度的账本数据全局状态制定失败本文档来自技高网...

【技术保护点】
1.一种联盟链的数据同步方法,其特征在于,所述方法包括:/n若需要同步联盟链中的区块数据,则从所述联盟链的检查点信息集中选择目标检查点,所述检查点信息集包含有多个检查点以及各个检查点对应的账本数据快照,所述各个检查点对应的账本数据快照包含有所述各个检查点所对应区块高度的账本数据全局状态;/n根据选择的所述目标检查点,获取所述目标检查点对应的目标账本数据快照,所述目标账本数据快照包含有所述目标检查点所对应目标区块高度的目标账本数据全局状态;/n存储所述目标账本数据全局状态,并对所述联盟链中处于所述目标区块高度之后的区块数据进行同步。/n

【技术特征摘要】
1.一种联盟链的数据同步方法,其特征在于,所述方法包括:
若需要同步联盟链中的区块数据,则从所述联盟链的检查点信息集中选择目标检查点,所述检查点信息集包含有多个检查点以及各个检查点对应的账本数据快照,所述各个检查点对应的账本数据快照包含有所述各个检查点所对应区块高度的账本数据全局状态;
根据选择的所述目标检查点,获取所述目标检查点对应的目标账本数据快照,所述目标账本数据快照包含有所述目标检查点所对应目标区块高度的目标账本数据全局状态;
存储所述目标账本数据全局状态,并对所述联盟链中处于所述目标区块高度之后的区块数据进行同步。


2.根据权利要求1所述的方法,其特征在于,从所述联盟链的检查点信息集中选择目标检查点,包括:
根据期望的数据同步时长,确定在所述数据同步时长内能够同步的第一区块高度;
计算所述联盟链的指定区块高度与所述第一区块高度之差,得到第二区块高度,所述指定区块高度是需要同步到的区块高度;
根据所述第二区块高度,以及检查点与区块高度之间的对应关系,选择所述目标检查点。


3.根据权利要求1所述的方法,其特征在于,从所述联盟链的检查点信息集中选择目标检查点,包括:
从所述联盟链的检查点信息集中获取所述各个检查点对应的区块高度;
将所述各个检查点对应的区块高度中最大区块高度对应的检查点作为所述目标检查点。


4.根据权利要求1所述的方法,其特征在于,所述账本数据快照是所述联盟链的已有参与方的共识节点对所述各个检查点所对应区块高度的账本数据全局状态进行共识后生成的;
在所述方法由新加入所述联盟链的节点执行的情况下,从所述联盟链的检查点信息集中选择目标检查点,包括:
若新加入所述联盟链的节点为所述联盟链的已有参与方的新增节点,则在所述新增节点加入所述区块链之后,直接从所述联盟链的检查点信息集中选择所述目标检查点;
若新加入所述联盟链的节点为所述联盟链的新增参与方的节点,则在所述新增参与方的节点加入所述联盟链之后,从所述联盟链的检查点信息集中选择至少两个检查点进行校验,在校验通过后,从所述检查点信息集中选择所述目标检查点。


5.根据权利要求4所述的方法,其特征在于,从所述联盟链的检查点信息集中选择至少两个检查点进行校验,包括:
根据从所述联盟链的检查点信息集中选择的至少两个检查点分别对应的账本数据快照,确定所述至少两个检查点分别对应的区块高度以及所对应的账本数据全局状态;
根据所述至少两个检查点分别对应的账本数据全局状态,对所述至少两个检查点中相邻检查点所对应的区块高度之间的交易进行校验,得到校验结果。


6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若对所述至少两个检查点中任意相邻检查点所对应的区块高度之间的交易均校验通过,则确定对所述至少两个检查点校验通过。


7.一种联盟链的数据同步方法,其特征在于,所述方法包括:
获取所述联盟链的当前区块高度;
若所述当前区块高度达到目标检查点对应的区块高度,则获取所述当前区块高度的账本数据全局状态;
根据所述账本数据全局状态,生成所述目标检查点对应的账本数据快照,所述账本数据快照包含有所述目标检查点所对应区块高度的账本数据全局状态;
将所述目标检查点以及所述目标检查点对应的账本数据快照存储至所述联盟链的检查点信息集中,所述检查点信息集用于使需要同步所述联盟链中的区块数据的节点从中选取检查点,并基于选取的检查点同步区块数据。


8.根据权利要求7所述的方法,其特征在于,获取...

【专利技术属性】
技术研发人员:庄晓照
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1