[发明专利]用于对象存储集群的数据同步方法与系统有效
申请号: | 201910458490.2 | 申请日: | 2019-05-29 |
公开(公告)号: | CN110175159B | 公开(公告)日: | 2020-07-31 |
发明(设计)人: | 张婷;胡升波;何军 | 申请(专利权)人: | 京东数字科技控股有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F11/14 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 孙宝海;袁礼君 |
地址: | 100176 北京市大兴区经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 对象 存储 集群 数据 同步 方法 系统 | ||
本公开提供一种数据同步方法与系统。数据同步方法包括:接收用户请求并转发所述用户请求至对象存储服务;在所述用户请求是数据变更请求时,响应所述对象存储服务的请求处理成功消息识别所述数据变更请求对应的数据对象以及数据属性;在同步列表中将所述数据对象对应的所述数据属性的值设置为集群名称;定时拉取所述同步列表以生成多个同步任务,一个同步任务对应一个数据对象;按照所述数据对象、所述数据属性以及每个所述数据属性对应的集群名称,通过多个线程执行所述多个同步任务,一个同步任务仅由一个线程执行。本公开提供的数据同步方法可以增强集群间数据同步的可靠性。
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种用于对象存储集群的数据同步方法与系统。
背景技术
对象存储是一种海量小文件的分布式存储系统,部署在一个独立的集群上。为了避免单个集群发生故障时数据丢失,需要将数据备份到别的集群,其中用户写入的集群称为主集群(假设该集群为A),备份集群称为从集群(假设该集群为B),同一时刻只有一个集群对用户提供服务。
当主集群发生故障时,需要变更对外服务的集群,将原来的主集群变更为从集群,将原来的从集群变更为主集群,即集群切换。切换发生前,如果主集群A还有一部分数据未来得及同步到从集群B,切换后,当A集群修复后重新启动,为了数据的完备性,需要将A集群上未同步完的这部分数据再继续同步到B,此时会发生同步服务与用户对集群B的并发写,产生各种复杂的一致性问题。
如果切换后在A集群向B集群同步完成前禁止用户写入新的主集群B,会严重影响用户使用。如果切换后不限制用户写入,将B集群新写入的数据写入新的消息队列,当A集群恢复时,存在A集群向B集群同步和B集群向A集群同步的双向同步,在同步的时候,以时间戳比较待同步数据与目标集群数据的新旧,只有当待同步数据新于目标集群数据时,才进行同步。
此方案有诸多问题:第一,来回多次切换主从集群时,消息队列维护相对复杂,需要大量人工干预;第二,当A或B集群一方的数据不存在时,数据的时间戳也不存在,则无法比较时间戳,所以可能发生新的写数据操作被旧的删除操作覆盖,或者新的删除数据操作被旧的写数据操作覆盖等情况;第三,当B集群上进行的是修改数据的Meta或ACL等元数据操作(数据内容未发生改动)时,也会更改数据的时间戳,此时,判断时间戳则不会同步A集群上的数据,此时可能发生丢失A集群上的数据内容的情况;第四,当切换迅速,发生两集群数据时间戳相同的情况时,则通过时间戳无法判断;第五,此方案严重依赖两个集群的时钟服务,并且需要确保两个集群的时钟一致,当某个集群的时钟服务发生问题时,会发生大范围的一致性问题;
综上,如果不禁止用户写操作,上述方案将有大量的冲突情况无法解决,往往会产生大量的一致性问题或者需要大量的人工干预。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据同步方法与数据同步系统,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的同步流程复杂、同步数据误差以及同步可靠性不高等问题。
根据本公开实施例的第一方面,提供一种数据同步方法,包括:接收用户请求并转发所述用户请求至对象存储服务;在所述用户请求是数据变更请求时,响应所述对象存储服务的请求处理成功消息识别所述数据变更请求对应的数据对象以及数据属性;在同步列表中将所述数据对象对应的所述数据属性的值设置为集群名称;定时拉取所述同步列表以生成多个同步任务,一个同步任务对应一个数据对象;按照所述数据对象、所述数据属性以及每个所述数据属性对应的集群名称,通过多个线程执行所述多个同步任务,一个同步任务仅由一个线程执行;
在本公开的一种示例性实施例中,还包括:
在所述转发所述用户请求至对象存储服务之前,如果所述用户请求是数据变更请求,识别所述数据变更请求的数据对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京东数字科技控股有限公司,未经京东数字科技控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910458490.2/2.html,转载请声明来源钻瓜专利网。