本申请涉及区块链,特别涉及一种数据同步方法、装置、电子设备及计算机可读存储介质。
背景技术:
1、在分布式系统中,由于存在数据落后或新加入的节点,每个节点都需要保留历史数据来帮助落后的节点完成数据同步。尤其是在区块链系统中,需要在每个节点中记录全量的历史数据来实现对账本的溯源需求。
2、区块链的数据更新需要共识协议参与,而共识过程通常也是连续的。如果一个落后的共识节点通过快速同步的方式更新到了最新的账本数据,但是会因为缺少历史共识协议的数据而无法直接参与共识。
技术实现思路
1、根据本申请的各种实施例,提供一种数据同步方法、装置、电子设备及计算机可读存储介质,可以解决区块链系统中落后节点在只同步最新的账本数据无法直接参与共识的问题。
2、第一方面,本申请提供了一种数据同步方法,应用于异步网络集群中的第一共识节点,异步网络集群还包括第二共识节点;第一共识节点和第二共识节点基于有向无环图的结构存储各个共识节点在每个共识轮次的交易提案的法定证书;该方法包括:
3、获取所述异步网络集群中的所述第二共识节点在第二共识轮次发送的法定证书;若当前所处的第一共识轮次的轮次数小于所述第二共识轮次的轮次数,则向所述第二共识节点发送同步数据请求;接收并同步所述第二共识节点基于所述有向无环图反馈的所述第一共识轮次对应的限制提交轮次与第二共识轮次之间的第一目标法定证书和目标交易提案。
4、通过上述方式,异步网络集群中的共识节点通过有向无环图的结构存储每个共识节点在共识轮次生成的法定证书,当第一共识节点的共识轮次落后于其他第二共识节点的共识轮次时,会向其他第二共识节点发送同步数据的请求,获取第二共识节点基于有向无环图中的第一共识轮次与第二共识轮次之间的法定证书以及相应的交易提案,完成数据的同步,实现了异步网络集群的数据同步,基于有向无环图存储的法定证书提供待同步的第一目标法定证书和目标交易提案,解决了区块链系统中落后节点在只同步最新的账本数据无法直接参与共识的问题;提高了落后的共识节点的同步效率,降低了新加入的共识节点参与共识的延迟。
5、第二方面,本申请提供了数据同步方法,应用于异步网络集群中的第二共识节点,异步网络集群还包括第一共识节点,第一共识节点和第二共识节点基于有向无环图的结构存储各个共识节点在每个共识轮次的交易提案的法定证书,该方法包括:
6、在第二共识轮次,向异步网络集群中的第一共识节点发送第二共识轮次的法定证书;在第一共识节点所处的第一共识轮次的轮次数小于第二共识轮次的轮次数时,接收第一共识节点发送的同步数据请求;基于同步数据请求,向第一共识节点发送有向无环图中第一共识轮次对应的限制提交轮次与第二共识轮次之间的第一目标法定证书和目标交易提案。
7、第三方面,本申请提供了一种数据同步装置,包括:
8、获取单元,用于获取异步网络集群中的所述第二共识节点在第二共识轮次发送的法定证书;
9、发送单元,用于若当前所处的第一共识轮次的轮次数小于所述第二共识轮次的轮次数,则向所述第二共识节点发送同步数据请求;
10、同步单元,用于接收并同步所述第二共识节点基于所述有向无环图反馈的所述第一共识轮次对应的限制提交轮次与第二共识轮次之间的第一目标法定证书和目标交易提案;
11、其中,所述异步网络集群中的第一共识节点和所述第二共识节点基于有向无环图的结构存储各个共识节点在每个共识轮次的交易提案的法定证书。
12、第四方面,本申请提供了一种数据同步装置,包括:
13、发送单元,用于在第二共识轮次向异步网络集群中的所述第一共识节点发送所述法定证书;
14、接收单元,用于在所述第一共识节点所处的第一共识轮次的轮次数小于所述第二共识轮次的轮次数时,接收所述第一共识节点发送的同步数据请求;
15、所述发送单元,还用于基于所述同步数据请求,向所述第一共识节点发送所述有向无环图中所述第一共识轮次对应的限制提交轮次与第二共识轮次之间的第一目标法定证书和目标交易提案;
16、其中,所述异步网络集群中的所述第一共识节点和第二共识节点基于有向无环图的结构存储各个共识节点在每个共识轮次的交易提案的法定证书。
17、第五方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面或第二方面中任一项所述的方法。
18、第六方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面中任一项所述的方法。
19、第七方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面或第二方面中任一项所述的方法。
20、可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
1.一种数据同步方法,其特征在于,应用于异步网络集群中的第一共识节点,所述异步网络集群还包括第二共识节点;所述第一共识节点和所述第二共识节点基于有向无环图的结构存储各个共识节点在每个共识轮次的交易提案的法定证书;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述向所述第二共识节点发送同步数据请求之后,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,在所述获取所述异步网络集群中的所述第二共识节点在第二共识轮次发送的法定证书之前,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,在所述接收至少法定数量个所述第二共识节点发送的检查点信息之后,所述方法还包括:
5.根据权利要求2或4所述的方法,其特征在于,所述基于所述检查点信息记录的所述有向无环图中的序列子图,同步所述目标共识轮次的所述共识状态,包括:
6.一种数据同步方法,其特征在于,应用于异步网络集群中的第二共识节点,所述异步网络集群还包括第一共识节点,所述第一共识节点和所述第二共识节点基于有向无环图的结构存储各个共识节点在每个共识轮次的交易提案的法定证书,所述方法包括:
7.根据权利要求6所述的方法,其特征在于,在所述向所述第一共识节点发送所述有向无环图中所述第一共识轮次对应的限制提交轮次与所述第二共识轮次之间的第一目标法定证书和目标交易提案之前,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,在所述向所述第一共识节点发送所述检查点信息之后,所述方法还包括:
9.根据权利要求7或8所述的方法,其特征在于,在所述向所述第一共识节点发送所述检查点信息之后,所述方法还包括:
10.一种数据同步装置,其特征在于,包括:
11.一种数据同步装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。