一种分布式数据同步方法及系统技术方案

技术编号:10352138 阅读:140 留言:0更新日期:2014-08-25 11:07
本发明专利技术公开了一种分布式数据同步方法及系统。该方法包括:第一客户端与中心服务器进行数据记录同步;第二客户端从所述中心服务器同步数据记录。该系统包括客户端和中心服务器;所述客户端包括第一同步模块,所述中心服务器包括第二同步模块;所述第一同步模块与所述第二同步模块进行数据记录同步。本发明专利技术通过对数据记录进行同步,使得不同的客户端可以同时对同一数据块中的记录进行修改,并且在数据上传和下载的过程中,仅仅上传和下载修改的部分,提高了系统资源的利用率。

【技术实现步骤摘要】
一种分布式数据同步方法及系统
本专利技术涉及分布式数据同步,具体地,涉及一种分布式数据同步方法及系统。
技术介绍
在分布式数据备份系统中,多个业务系统需要共享一整套会发生变化数据集。对于单个业务系统而言,其仅能读写整套数据集中的一个子集,每个业务系统可以修改自己负责的子集,而多个业务系统的子集可以存在交集。在多个业务系统的子集存在交集的情况下,如果各个业务系统分别提交同一份数据,可能会造成数据之间的冲突。现有技术中,为了避免发生数据的冲突,需要控制在同一时刻只能由一个业务系统提交数据,因此影响了系统的工作效率。
技术实现思路
本专利技术的目的是提供一种分布式数据同步方法及系统,以提高数据的容灾性能,并提升系统资源的利用率。本专利技术提供了一种分布式数据同步方法,该方法包括:第一客户端与中心服务器进行数据记录同步;第二客户端从所述中心服务器同步数据记录。优选地,该方法还包括:在第一客户端与中心服务器进行数据记录同步之前,所述中心服务器向所述第一客户端和所述第二客户端广播配置信息。优选地,在所述第一客户端初次提交数据记录至所述中心服务器的情况下,所述第一客户端与中心服务器进行数据记录同步包括:所述第一客户端提交数据记录至所述中心服务器;所述中心服务器确定所述第一客户端初次提交数据记录之后,所述中心服务器初始化数据记录版本号并将所述数据记录版本号发送至所述第一客户端,所述服务器将该数据记录版本号作为所述中心服务器的数据记录版本号存储,所述第一客户端将该数据记录版本号作为所述第一客户端的数据记录版本号和所述中心服务器的数据记录版本号存储。优选地,在所述第一客户端非初次提交数据记录至所述中心服务器的情况下,所述第一客户端与中心服务器进行数据记录同步包括:如果所述第一客户端的数据记录版本号和所述中心服务器的数据记录版本号相同且数据记录被修改,则所述第一客户端将所述第一客户端的数据记录版本号加一,并将被修改的数据记录提交至所述中心服务器,所述中心服务器将所述中心服务器的数据记录版本号加一后发送至所述第一客户端;如果所述第一客户端的数据记录版本号和所述中心服务器的数据记录版本号相同且数据记录未被修改,则所述第一客户端不向所述中心服务器提交数据记录;如果所述第一客户端的数据记录版本号低于所述中心服务器的数据记录版本号且数据记录未被修改,则所述第一客户端从所述中心服务器同步数据记录;如果所述第一客户端的数据记录版本号低于所述中心服务器的数据记录版本号且数据记录被修改,则所述第一客户端和/或所述中心服务器按照配置的策略进行操作。优选地,该方法还包括:所述第一客户端从所述中心服务器下载所述中心服务器的数据记录版本号和所述中心服务器的数据记录摘要,所述第一客户端计算所述第一客户端的数据记录摘要;如果第一客户端的数据记录摘要与所述服务器的数据记录摘要一致,则判定数据记录未被修改;如果第一客户端的数据记录摘要与所述服务器的数据记录摘要不一致,则判定数据记录被修改。优选地,所述第一客户端以特定时间间隔或实时地与中心服务器进行数据记录同止/J/ O优选地,第二客户端从所述中心服务器同步数据记录包括:所述第二客户端从所述中心服务器下载所述中心服务器的数据记录版本号,在所述第二客户端的数据记录版本号低于所述中心服务器的数据记录版本号的情况下,所述第二客户端从所述中心服务器同步数据记录。优选地,所述第二客户端以特定时间间隔从所述中心服务器同步数据记录。本专利技术提供了一种分布式数据同步系统,该系统包括客户端和中心服务器;所述客户端包括第一同步模块,所述中心服务器包括第二同步模块;所述第一同步模块与所述第二同步模块进行数据记录同步。优选地,所述中心服务器还包括广播模块,用于在所述第一同步模块与所述第二同步模块进行数据记录同步之前向所述客户端广播配置信息。优选地,所述第二同步还包括第二判定模块、第二数据记录版本号处理模块和第二存储模块;所述第二判定模块,用于判定所述第一同步模块是否初次提交数据记录;所述第二数据记录版本号处理模块,用于在第二判定模块判定所述第一同步模块初次提交数据记录的情况下,初始化数据记录版本号,并将所述数据记录版本号发送至第一同步模块;所述第二存储模块,用于将初始化的数据记录版本号作为所述中心服务器的数据记录版本号存储。优选地,其特征在于,所述第一同步模块包括第一判定模块、第一数据记录版本号处理模块、数据记录提交模块、数据记录更新模块、第一策略执行模块和第一存储模块;所述第一判定模块,用于在所述第一同步模块不是初次提交数据记录的情况下,判定所述客户端的数据记录版本号和所述中心服务器的数据记录版本号是否相同且数据记录是否被修改;第一数据记录版本号处理模块,用于在所述第一同步模块不是初次提交数据记录的情况下,将所述客户端的数据记录版本号加一;所述数据记录提交模块,用于所述客户端的数据记录版本号和所述中心服务器的数据记录版本号相同且数据记录被修改的情况下,将被修改的数据记录提交至所述第二同步模块;在所述客户端的数据记录版本号和所述中心服务器的数据记录版本号相同且数据记录未被修改的情况下,不向所述中心服务器提交数据记录;所述数据记录更新模块,用于在所述客户端的数据记录版本号低于所述中心服务器的数据记录版本号且数据记录未被修改的情况下,从所述第二同步模块同步数据记录;第一策略执行模块,用于所述客户端的数据记录版本号低于所述中心服务器的数据记录版本号且数据记录被修改的情况下,按照策略进行操作;所述第二数据记录版本号处理模块,用于在第二判定模块所述第一同步模块不是初次提交数据记录的情况下,将所述数据记录版本号发送至第一同步模块;所述第一存储模块,用于将初始化的数据记录版本号作为所述第一客户端的数据记录版本号和所述中心服务器的数据记录版本号存储,并将加一后的所述客户端的数据记录版本号存储。优选地,其特征在于,第二同步模块,还包括第二数据记录摘要计算模块,用于计算所述中心服务器的数据记录摘要;第一同步模块还包括下载模块和第一数据记录摘要计算模块,所述下载模块用于从所述第二同步模块下载所述中心服务器的数据记录版本号和所述中心服务器的数据记录摘要,所述第一数据记录摘要计算模块用于计算所述客户端的数据记录摘要;所述第一判定模块,用于在客户端的数据记录摘要与所述服务器的数据记录摘要一致的情况下,判定数据记录未被修改;在客户端的数据记录摘要与所述服务器的数据记录摘要不一致的情况下,判定数据记录被修改。优选地,所述第一同步模块以特定时间间隔或实时地与第二同步模块进行数据记录同步。优选地,所述第二同步模块还包括第二策略执行模块,用于所述客户端的数据记录版本号低于所述中心服务器的数据记录版本号的情况下,按照策略进行操作。本专利技术通过对数据记录进行同步,使得不同的客户端可以同时对同一数据块中的记录进行修改,采用基于策略文件配置的方式实现权限和数据范围的划分以及冲突的处理,并且在数据上传和下载的过程中,仅仅上传和下载修改的部分,提高了系统资源的利用率。本专利技术还支持在线和离线多种方式同步数据并支持自动、定时等多种触发方式进行数据同步。【附图说明】附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本专利技术,但并不构成对本文档来自技高网...

【技术保护点】
一种分布式数据同步方法,其特征在于,该方法包括:第一客户端与中心服务器进行数据记录同步;第二客户端从所述中心服务器同步数据记录。

【技术特征摘要】
1.一种分布式数据同步方法,其特征在于,该方法包括: 第一客户端与中心服务器进行数据记录同步; 第二客户端从所述中心服务器同步数据记录。2.根据权利要求1所述的方法,其特征在于,该方法还包括:在第一客户端与中心服务器进行数据记录同步之前,所述中心服务器向所述第一客户端和所述第二客户端广播配置信息。3.根据权利要求1所述的方法,其特征在于,在所述第一客户端初次提交数据记录至所述中心服务器的情况下,所述第一客户端与中心服务器进行数据记录同步包括: 所述第一客户端提交数据记录至所述中心服务器; 所述中心服务器确定所述第一客户端初次提交数据记录之后,所述中心服务器初始化数据记录版本号并将所述数据记录版本号发送至所述第一客户端,所述服务器将该数据记录版本号作为所述中心服务器的数据记录版本号存储,所述第一客户端将该数据记录版本号作为所述第一客户端的数据记录版本号和所述中心服务器的数据记录版本号存储。4.根据权利要求1所述的方法,其特征在于,在所述第一客户端非初次提交数据记录至所述中心服务器的情况下,所述第一客户端与中心服务器进行数据记录同步包括: 如果所述第一客 户端的数据记录版本号和所述中心服务器的数据记录版本号相同且数据记录被修改,则所述第一客户端将所述第一客户端的数据记录版本号加一,并将被修改的数据记录提交至所述中心服务器,所述中心服务器将所述中心服务器的数据记录版本号加一后发送至所述第一客户端; 如果所述第一客户端的数据记录版本号和所述中心服务器的数据记录版本号相同且数据记录未被修改,则所述第一客户端不向所述中心服务器提交数据记录; 如果所述第一客户端的数据记录版本号低于所述中心服务器的数据记录版本号且数据记录未被修改,则所述第一客户端从所述中心服务器同步数据记录; 如果所述第一客户端的数据记录版本号低于所述中心服务器的数据记录版本号且数据记录被修改,则所述第一客户端和/或所述中心服务器按照配置的策略进行操作。5.根据权利要求4所述的方法,其特征在于,该方法还包括:所述第一客户端从所述中心服务器下载所述中心服务器的数据记录版本号和所述中心服务器的数据记录摘要,所述第一客户端计算所述第一客户端的数据记录摘要;如果第一客户端的数据记录摘要与所述服务器的数据记录摘要一致,则判定数据记录未被修改;如果第一客户端的数据记录摘要与所述服务器的数据记录摘要不一致,则判定数据记录被修改。6.根据权利要求1所述的方法,其特征在于,所述第一客户端以特定时间间隔或实时地与中心服务器进行数据记录同步。7.根据权利要求3、4或5所述的方法,其特征在于,第二客户端从所述中心服务器同步数据记录包括: 所述第二客户端从所述中心服务器下载所述中心服务器的数据记录版本号,在所述第二客户端的数据记录版本号低于所述中心服务器的数据记录版本号的情况下,所述第二客户端从所述中心服务器同步数据记录。8.根据权利要求1-6任意一项所述的方法,其特征在于,所述第二客户端以特定时间间隔从所述中心服务器同步数据记录。9.一种分布式数据同步系统,其特征在于,该系统包括客户端和中心服务器; 所述客户端包括第一同步模块,所述中心服务器包括第二同步模块; 所述第一同步模块与所述第二同步模块进行数据记录同步。10.根据权利要求9所述的分布式数据同步系统,其特征在于,所述中心服务器还包括广播模...

【专利技术属性】
技术研发人员:张杰陈暾
申请(专利权)人:北京紫光天禾软件系统技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1