数据同步方法及系统与流程

摘要: 本申请涉及分布式系统,具体涉及数据同步方法及系统。背景技术:1、在分布式系统中,为确保数据的高可用性和一致性,通常采用共识算法来复制日志。raft和paxos是...
数据同步方法及系统与流程

本申请涉及分布式系统,具体涉及数据同步方法及系统。

背景技术:

1、在分布式系统中,为确保数据的高可用性和一致性,通常采用共识算法来复制日志。raft和paxos是目前最主流的共识算法,它们基于领导者-追随者架构和法定人数机制,确保所有节点上的日志条目以相同的全序顺序提交给状态机并应用。因此,如何在保持raft协议强一致性的前提下,提高日志复制的并行度和吞吐量,成为本领域亟待解决的技术问题。

技术实现思路

1、为解决上述技术问题,本申请实施例提供一种数据同步方法及系统,能够提高日志复制的并行度和吞吐量。

2、第一方面,提供一种数据同步方法,应用于包括一个领导者节点及一个或者多个追随者节点的分布式系统中,所述方法包括:

3、为每个节点配置多个日志分区,每个日志分区对应一个独立的日志文件,其中,在同一日志分区内,日志条目按照全序排列,在不同日志分区之间,日志条目的写入和复制操作并行执行;

4、响应于所述领导者节点接收到客户端请求,根据所述请求所操作的数据对象,通过确定性映射算法确定所述请求对应的目标日志分区;

5、所述领导者节点将所述请求生成为日志条目,在所述目标日志分区内按日志索引顺序将所述日志条目写入到对应的日志文件中,并将所述日志条目并行发送至所有所述追随者节点。

6、第二方面,本申请实施例还提供一种数据同步系统,包括一个领导者节点及一个或者多个追随者节点,所述领导者节点及所述追随者节点执行上述数据同步方法。

7、本申请实施例通过多分区并行取代单一日志串行,在不牺牲一致性的前提下,有效解决了传统 raft 的 i/o 瓶颈与并行度不足问题,显著提升了分布式系统的吞吐量与资源利用率。

1.一种数据同步方法,其特征在于,应用于包括一个领导者节点及一个或者多个追随者节点的分布式系统中,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述请求所操作的数据对象,通过确定性映射算法确定所述请求对应的目标日志分区,包括:

3.根据权利要求2所述的方法,其特征在于,响应于存在多个不同的分区编号,所述领导者节点将所述请求生成为日志条目,在所述目标日志分区内按日志索引顺序将所述日志条目写入到对应的日志文件中,并将所述日志条目并行发送至所有追随者节点,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述利用所有节点共享的预设确定性算法,从每个节点的多个日志分区中选择一个主分区,包括:

7.根据权利要求5所述的方法,其特征在于,所述在所述追随者节点对应的主分区上执行领导者选举算法,以确定一个新的领导者节点,包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括对所述新的领导者节点中除主分区外的每个其他日志分区,执行以下步骤:

9.根据权利要求8所述的方法,其特征在于,所述获取所述追随者节点对所述候选日志条目的确认结果,包括:

10.根据权利要求8所述的方法,其特征在于,所述方法还包括:

11.根据权利要求1所述的方法,其特征在于,该方法还包括:

12.一种数据同步系统,其特征在于,包括一个领导者节点及一个或者多个追随者节点,所述领导者节点及所述追随者节点执行上述1~11中任意一项所述的数据同步方法。