[发明专利]一种数据同步方法、装置以及电子设备有效
申请号: | 201710060057.4 | 申请日: | 2017-01-24 |
公开(公告)号: | CN108345617B | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 唐治洋;付鑫;卢毅军;陶云峰;安凯歌 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 同步 方法 装置 以及 电子设备 | ||
本申请公开了一种数据同步方法,包括:获取待同步数据对应日志的序列标识信息;判断所述序列标识信息是否满足其对应的变更条件,若是,根据所述日志所记录数据变更操作涉及的所述待同步数据的数据变更,将所述待同步数据的数据变更应用到数据存储空间中。所述数据同步方法,在进行数据同步时,将满足约束条件的待同步数据的数据变更应用到数据存储空间中,从而避免了由于不可靠数据传输导致数据存储空间的数据一致性被破坏的情形,确保数据同步过程中的数据一致性。
技术领域
本申请涉及数据同步技术领域,具体涉及一种数据同步方法。本申请同时涉及一种数据同步装置,以及一种电子设备。
背景技术
随着云计算的发展,越来越多的业务需求要求一种更强大的用于数据存储的数据中心,并且要求数据中心具有较强的高可用性,能够最大程度的减少甚至消除系统故障对正常业务的影响,因此,建立多个数据中心实现业务容灾成为必然选择,这些数据中心之间的数据同步成为实现业务高可用性至关重要的一环。
目前有许多方案着眼于实现分布式场景下的数据一致性,通过在不同的服务器上部署用户进程的多个运行副本,同时保证同一时间有且仅有一个进程作为主节点(Master)提供服务,其余进程为处于备用状态的从节点(Slave),一旦Master进程发生故障,会有一个Slave被选举为新Master来提供服务。然而,当前选举的新Master代替发生故障的Master进行工作之后,发生故障的Master在发生故障前未完成的数据变更操作,可能会由于数据包丢失、重发或者网络延时等影响因素,导致数据变更操作经过一定的延时之后到达,但是,延时的数据变更操作到达时,这一数据变更操作对应的数据已经被新Master更新,在此基础上执行延时到达的数据变更操作,势必会对数据一致性造成破坏。
发明内容
本申请提供一种数据同步方法,以解决现有技术存在的数据一致性被破坏的缺陷。本申请另外提供一种数据同步装置,以及一种电子设备。
本申请提供一种数据同步方法,包括:
获取待同步数据对应日志的序列标识信息;
判断所述序列标识信息是否满足其对应的变更条件,若是,执行下一步;
根据所述日志所记录数据变更操作涉及的所述待同步数据的数据变更,将所述待同步数据的数据变更应用到数据存储空间中。
可选的,所述日志通过集群当中的主节点从日志队列中读取,且所述主节点从所述日志队列中读取日志时,根据日志加入所述日志队列的时间,按照从先到后的顺序依次从所述日志队列中读取日志。
可选的,所述序列标识信息包括下述至少一项:所述日志在所述日志队列当中的序列号,用于从所述日志队列获取所述日志的主节点的节点标识,用于传输所述日志的数据连接的连接标识;
其中,所述数据连接包括:所述主节点与所述数据存储空间之间建立的TCP连接。
可选的,若所述序列标识信息为所述日志在所述日志队列当中的序列号,所述日志的序列号对应的变更条件包括:序列号大于最后一次发生数据变更时对应日志的末位变更序列号,或者,序列号大于或者等于所述末位变更序列号。
可选的,所述判断所述序列标识信息是否满足其对应的变更条件,采用如下方式实现:
判断所述日志当中携带的序列号是否大于所述待同步数据对应的末位序列号,若是,执行下一步;
或者,判断所述日志当中携带的序列号是否大于或者等于所述待同步数据对应的末位序列号,若是,执行下一步。
可选的,所述数据存储空间采用Key/Value数据存储模型进行数据存储;其中,Key为所述待同步数据,Value为所述待同步数据的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710060057.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置