The present application discloses a data synchronization method, including: obtaining the sequence identification information of the corresponding log for the synchronized data, determining whether the sequence identification information is satisfied with its corresponding change condition, if, according to the data change involved in the data to wait for the same step according to the data change operation recorded by the log, it will be the same. The data change of step data is applied to data storage space. The data synchronization method applies the data change that satisfies the constraint conditions to the data storage space when the data synchronization is synchronized, thus avoiding the case that the data consistency of the data storage space is destroyed by the unreliable data transmission, and the data consistency in the data synchronization process is ensured.
【技术实现步骤摘要】
一种数据同步方法、装置以及电子设备
本申请涉及数据同步
,具体涉及一种数据同步方法。本申请同时涉及一种数据同步装置,以及一种电子设备。
技术介绍
随着云计算的发展,越来越多的业务需求要求一种更强大的用于数据存储的数据中心,并且要求数据中心具有较强的高可用性,能够最大程度的减少甚至消除系统故障对正常业务的影响,因此,建立多个数据中心实现业务容灾成为必然选择,这些数据中心之间的数据同步成为实现业务高可用性至关重要的一环。目前有许多方案着眼于实现分布式场景下的数据一致性,通过在不同的服务器上部署用户进程的多个运行副本,同时保证同一时间有且仅有一个进程作为主节点(Master)提供服务,其余进程为处于备用状态的从节点(Slave),一旦Master进程发生故障,会有一个Slave被选举为新Master来提供服务。然而,当前选举的新Master代替发生故障的Master进行工作之后,发生故障的Master在发生故障前未完成的数据变更操作,可能会由于数据包丢失、重发或者网络延时等影响因素,导致数据变更操作经过一定的延时之后到达,但是,延时的数据变更操作到达时,这一数据变更操作对应的数据已经被新Master更新,在此基础上执行延时到达的数据变更操作,势必会对数据一致性造成破坏。
技术实现思路
本申请提供一种数据同步方法,以解决现有技术存在的数据一致性被破坏的缺陷。本申请另外提供一种数据同步装置,以及一种电子设备。本申请提供一种数据同步方法,包括:获取待同步数据对应日志的序列标识信息;判断所述序列标识信息是否满足其对应的变更条件,若是,执行下一步;根据所述日志所记录数据 ...
【技术保护点】
1.一种数据同步方法,其特征在于,包括:获取待同步数据对应日志的序列标识信息;判断所述序列标识信息是否满足其对应的变更条件,若是,执行下一步;根据所述日志所记录数据变更操作涉及的所述待同步数据的数据变更,将所述待同步数据的数据变更应用到数据存储空间中。
【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:获取待同步数据对应日志的序列标识信息;判断所述序列标识信息是否满足其对应的变更条件,若是,执行下一步;根据所述日志所记录数据变更操作涉及的所述待同步数据的数据变更,将所述待同步数据的数据变更应用到数据存储空间中。2.根据权利要求1所述的数据同步方法,其特征在于,所述日志通过集群当中的主节点从日志队列中读取,且所述主节点从所述日志队列中读取日志时,根据日志加入所述日志队列的时间,按照从先到后的顺序依次从所述日志队列中读取日志。3.根据权利要求2所述的数据同步方法,其特征在于,所述序列标识信息包括下述至少一项:所述日志在所述日志队列当中的序列号,用于从所述日志队列获取所述日志的主节点的节点标识,用于传输所述日志的数据连接的连接标识;其中,所述数据连接包括:所述主节点与所述数据存储空间之间建立的TCP连接。4.根据权利要求3所述的数据同步方法,其特征在于,若所述序列标识信息为所述日志在所述日志队列当中的序列号,所述日志的序列号对应的变更条件包括:序列号大于最后一次发生数据变更时对应日志的末位变更序列号,或者,序列号大于或者等于所述末位变更序列号。5.根据权利要求4所述的数据同步方法,其特征在于,所述判断所述序列标识信息是否满足其对应的变更条件,采用如下方式实现:判断所述日志当中携带的序列号是否大于所述待同步数据对应的末位序列号,若是,执行下一步;或者,判断所述日志当中携带的序列号是否大于或者等于所述待同步数据对应的末位序列号,若是,执行下一步。6.根据权利要求5所述的数据同步方法,其特征在于,所述数据存储空间采用Key/Value数据存储模型进行数据存储;其中,Key为所述待同步数据,Value为所述待同步数据的值。7.根据权利要求6所述的数据同步方法,其特征在于,所述待同步数据对应的末位变更序列号通过所述Key/Value数据存储模型进行存储,并且按照与所述待同步数据一一对应的方式通过所述Key/Value数据存储模型进行存储。8.根据权利要求3所述的数据同步方法,其特征在于,若所述序列标识信息为所述日志在所述日志队列当中的序列号,所述日志的序列号对应的变更条件包括:序列号大于所述数据存储空间中发生的最后一次数据变更时对应日志的末位日志序列号,或者,序列号大于或者等于所述末位日志序列号。9.根据权利要求8所述的数据同步方法,其特征在于,所述判断所述序列标识信息是否满足其对应的变更条件,采用如下方式实现:判断所述日志当中携带的序列号是否大于所述数据存储空间中当前的末位日志序列号,若是,执行下一步;或者,判断所述日志当中携带的序列号是否大于或者等于所述数据存储空间中当前的末位日志序列号,若是,执行下一步。10.根据权利要求9所述的数据同步方法,其特征在于,所述数据存储空间的末位日志序列号存储在所述数据存储空间中,并且,每次有数据变更应用到所述数据存储空间中,根据当前数据变更对应日志的序列号更新所述数据存储空间的末位日志序列号。11.根据权利要求3所述的数据同步方法,其特征在于,若所述序列标识信息为用于从所述日志队列获取所述日志的主节点的节点标识,所述主节点的节点标识对应的变更条件包括:节点标识大于或者等于所述集群当中当前主节点的节点标识。12.根据权利要求11所述的数据同步方法,其特征在于,所述判断所述序列标识信息是否满足其对应的变更条件,采用如下方式实现:判断所述日志对应主节点的节点标识是否大于或者等于所述集群当中当前主节点的节...
【专利技术属性】
技术研发人员:唐治洋,付鑫,卢毅军,陶云峰,安凯歌,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。