一种跨数据中心的数据同步方法和装置制造方法及图纸

技术编号:11404669 阅读:108 留言:0更新日期:2015-05-03 20:44
本发明专利技术实施例提供了一种跨数据中心的数据同步方法和装置,其中的方法具体包括:收集待同步数据中心的键值对数据;以及利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。本发明专利技术实施例能够减少对各数据中心的访问次数,从而能够减轻对各数据中心的线上访问压力,并且既能够提高跨数据中心的数据同步效率,又能够避免占用各数据中心的计算资源,从而避免影响到各数据中心的性能。

【技术实现步骤摘要】
一种跨数据中心的数据同步方法和装置
本专利技术涉及分布式存储
,特别是涉及一种跨数据中心的数据同步方法和装置。
技术介绍
随着的互联网时代已经到来,遍布全世界的互联网用户每天都进行多种多样的交互,随时都在制造各种各样的数据,这些数据的数量是单机时代数据量的数倍。为存储这些数据,各互联网公司在世界各地建立了庞大的IDC(互联网数据中心,InternetDataCenter),单个数据中心的主机数量在几百至数万的数量级不等。为了实现数据中心故障时数据中心之间的无缝对接,跨数据中心的数据同步变得尤为重要。现有跨数据中心的数据同步方案通常由各数据中心基于数据中心之间的相互访问来完成。例如,A数据中心侧的数据同步过程具体包括:A数据中心首先依据key值查询B数据中心以得到B数据中心所存储key值对应的第一value值,然后,A数据中心将自身存储key值对应的第二value值与上述第一value值进行比较,若不一致则对key值对应的第二value值进行修复。B数据中心侧的数据同步过程与A数据中心侧的数据同步过程,也需要查询A数据中心以得到A数据中心所存储key值对应的value值。可以看出,现有跨数据中心的数据同步方案需要频繁访问数据中心的线上服务。例如,在待同步数据中心的数目为2时,A数据中心和B数据中心需要互相访问;又如,在待同步数据中心的数目为3时,A数据中心、B数据中心和C数据中心也需要互相访问,也即,A数据中心、B数据中心和C数据中心分别需要被另外的数据中心访问,也即,需要向两个数据中心提供线上服务。可见,在待同步的数据中心的数目较多时,大大增加了数据中心的线上访问压力。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种跨数据中心的数据同步方法和装置。依据本专利技术的一个方面,提供了一种跨数据中心的数据同步方法,包括:收集待同步数据中心的键值对数据;以及利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。可选地,所述方法还包括:利用各数据库中心的客户端进行不一致的检测结果对应键值对数据的修复。可选地,所述利用各数据库中心的客户端进行不一致的检测结果对应键值对数据的修复的步骤,包括:将所述不一致的检测结果对应键值对数据划分为多份子键值对数据;在多台机器上利用各数据库中心的客户端进行所述多份子键值对数据的修复;其中,所述机器的数量等于所述子键值对数据的份数。可选地,所述在多台机器上利用各数据库中心的客户端进行所述多份子键值对数据的修复的步骤,包括:在每台机器上启动进程来运行所有数据中心的客户端,并利用所有数据中心的客户端进行所述每份子键值对数据的修复。可选地,所述利用各数据库中心的客户端进行不一致的检测结果的修复的步骤,包括:针对不一致的检测结果,获取其对应待修复键及对应主数据中心的值;利用从数据中心的客户端向对应从数据中心发送命令;其中,所述命令用于指示所述从数据中心将所述不一致键对应的值设置为所述主数据中心的值。可选地,所述不一致的检测结果对应键值对数据存储于数据库文件中,则所述将所述不一致的检测结果对应键值对数据划分为多份子键值对数据的步骤具体为,将所述数据库文件分割为多个子数据库文件,其中,每份子数据库文件中存储有对应的子键值对数据。可选地,所述利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果的步骤,包括:在映射阶段,利用所述分布式计算框架的计算节点从输入的所述待同步数据中心的键值对数据中抽取键值对,将每个键值对作为参数传递给映射函数,经过映射函数处理后将产生的中间结果写入本地磁盘中;以及在化简阶段,利用所述分布式计算框架的计算节点根据所述中间结果的位置从磁盘中读取所述中间结果,对所述中间结果进行排序,并针对排序后中间结果中每个唯一的键,将其键值对传递给化简函数,经过化简函数处理后产生检测结果;其中,所述化简函数的处理过程包括:对每个唯一的键对应的多个值进行比较,若相同则得到一致的检测结果,若不同则得到不一致的检测结果。依据本专利技术的另一方面,提供了一种跨数据中心的数据同步装置,包括:收集模块,用于收集待同步数据中心的键值对数据;以及检测模块,用于利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。可选地,所述装置还包括:修复模块,用于利用各数据库中心的客户端进行不一致的检测结果对应键值对数据的修复。可选地,所述修复模块,包括:划分子模块,用于将所述不一致的检测结果对应键值对数据划分为多份子键值对数据;以及并行修复子模块,用于在多台机器上利用各数据库中心的客户端进行所述多份子键值对数据的修复;其中,所述机器的数量等于所述子键值对数据的份数。根据本专利技术实施例的一种跨数据中心的数据同步方法和装置,可以收集待同步数据中心的键值对数据,并利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果;由于仅仅需要分别对各数据中心进行一次访问,即可完成待同步数据中心的键值对数据的收集,因此,相对于现有方案,本专利技术实施例能够减少对各数据中心的访问次数,从而能够减轻对各数据中心的线上访问压力;并且,相对于现有方案通常由各数据中心在自身机器上进行键值对数据的一致性检测,本专利技术实施例利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,能够发挥分布式计算框架扩容能力强、高效率和高可靠性的优势,既能够提高跨数据中心的数据同步效率,又能够避免占用各数据中心的计算资源,从而避免影响到各数据中心的性能。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文可选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种跨数据中心的数据同步方法的步骤流程示意图;图2示出了根据本专利技术一个实施例的一种跨数据中心的数据同步方法的步骤流程示意图;图3示出了根据本专利技术一个示例的一种跨数据中心的数据同步方法的步骤流程示意图;图4示出了根据本专利技术一个实施例的一种跨数据中心的数据同步装置的结构示意图;以及图5示出了根据本专利技术一个实施例的一种跨数据中心的数据同步装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。参照图1,示出了根据本专利技术一个实施例的跨数据中心的数据同步方法的步骤流程示意图,具体可以包括如下步骤:步骤101、收集待同步数据中心的键值对数据;步骤102、利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。本专利技术实本文档来自技高网
...
一种跨数据中心的数据同步方法和装置

【技术保护点】
一种跨数据中心的数据同步方法,包括:收集待同步数据中心的键值对数据;以及利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。

【技术特征摘要】
1.一种跨数据中心的数据同步方法,包括:收集待同步数据中心的键值对数据;以及利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果;利用各数据中心的客户端进行不一致的检测结果对应键值对数据的修复;所述利用各数据中心的客户端进行不一致的检测结果对应键值对数据的修复的步骤,包括:将所述不一致的检测结果对应键值对数据划分为多份子键值对数据;在多台机器上利用各数据中心的客户端进行所述多份子键值对数据的修复;其中,所述机器的数量等于所述子键值对数据的份数。2.如权利要求1所述的方法,其特征在于,所述在多台机器上利用各数据中心的客户端进行所述多份子键值对数据的修复的步骤,包括:在每台机器上启动进程来运行所有数据中心的客户端,并利用所有数据中心的客户端进行所述每份子键值对数据的修复。3.如权利要求1所述的方法,其特征在于,所述利用各数据中心的客户端进行不一致的检测结果的修复的步骤,包括:针对不一致的检测结果,获取其对应待修复键及对应主数据中心的值;利用从数据中心的客户端向对应从数据中心发送命令;其中,所述命令用于指示所述从数据中心将所述不一致键对应的值设置为所述主数据中心的值。4.如权利要求1所述的方法,其特征在于,所述不一致的检测结果对应键值对数据存储于数据库文件中,则所述将所述不一致的检测结果对应键值对数据划分为多份子键值对数据的步骤具体为,将所述数据库文件分割为多个子数据库文件,其中,每份子数据库文件中存储有对应的子键值对数据。5.如权利要求1所述的方法,其特征在于,所述利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果的步骤,包括:在映射阶段,利用所述分布式计算框架的计算节点从输入的所述待同步数据中心的键值对数据中抽取键值对,将每个键值对作为参数传递给映射函数,经过映射函数处理后将产生的中间结果写入本地磁盘中;以及在化简阶段,利用所述分布式计算框架的计算节点根据所述中间结果的位置从磁盘中读取所述中间结果,对所述中间结果进行排序,并针对排序后中间结果中每个唯一的键,将其键值对传递给化简函数,经过化简函数处理后产生检测结果;其中,所述化简函数的处理过程包括:对每个唯一的键...

【专利技术属性】
技术研发人员:陈宗志王超陈营李明昊宋昭
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1