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

文档序号:8258793阅读:525来源:国知局
一种跨数据中心的数据同步方法和装置的制造方法
【技术领域】
[0001]本发明涉及分布式存储技术领域,特别是涉及一种跨数据中心的数据同步方法和
目.0
【背景技术】
[0002]随着的互联网时代已经到来,遍布全世界的互联网用户每天都进行多种多样的交互,随时都在制造各种各样的数据,这些数据的数量是单机时代数据量的数倍。为存储这些数据,各互联网公司在世界各地建立了庞大的IDC(互联网数据中心,Internet DataCenter),单个数据中心的主机数量在几百至数万的数量级不等。
[0003]为了实现数据中心故障时数据中心之间的无缝对接,跨数据中心的数据同步变得尤为重要。
[0004]现有跨数据中心的数据同步方案通常由各数据中心基于数据中心之间的相互访问来完成。例如,A数据中心侧的数据同步过程具体包括:A数据中心首先依据key值查询B数据中心以得到B数据中心所存储key值对应的第一 value值,然后,A数据中心将自身存储key值对应的第二 value值与上述第一 value值进行比较,若不一致则对key值对应的第二 value值进行修复。B数据中心侧的数据同步过程与A数据中心侧的数据同步过程,也需要查询A数据中心以得到A数据中心所存储key值对应的value值。
[0005]可以看出,现有跨数据中心的数据同步方案需要频繁访问数据中心的线上服务。例如,在待同步数据中心的数目为2时,A数据中心和B数据中心需要互相访问;又如,在待同步数据中心的数目为3时,A数据中心、B数据中心和C数据中心也需要互相访问,也即,A数据中心、B数据中心和C数据中心分别需要被另外的数据中心访问,也即,需要向两个数据中心提供线上服务。可见,在待同步的数据中心的数目较多时,大大增加了数据中心的线上访问压力。

【发明内容】

[0006]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种跨数据中心的数据同步方法和装置。
[0007]依据本发明的一个方面,提供了一种跨数据中心的数据同步方法,包括:
[0008]收集待同步数据中心的键值对数据;以及
[0009]利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。
[0010]可选地,所述方法还包括:
[0011]利用各数据库中心的客户端进行不一致的检测结果对应键值对数据的修复。
[0012]可选地,所述利用各数据库中心的客户端进行不一致的检测结果对应键值对数据的修复的步骤,包括:
[0013]将所述不一致的检测结果对应键值对数据划分为多份子键值对数据;
[0014]在多台机器上利用各数据库中心的客户端进行所述多份子键值对数据的修复;其中,所述机器的数量等于所述子键值对数据的份数。
[0015]可选地,所述在多台机器上利用各数据库中心的客户端进行所述多份子键值对数据的修复的步骤,包括:
[0016]在每台机器上启动进程来运行所有数据中心的客户端,并利用所有数据中心的客户端进行所述每份子键值对数据的修复。
[0017]可选地,所述利用各数据库中心的客户端进行不一致的检测结果的修复的步骤,包括:
[0018]针对不一致的检测结果,获取其对应待修复键及对应主数据中心的值;
[0019]利用从数据中心的客户端向对应从数据中心发送命令;其中,所述命令用于指示所述从数据中心将所述不一致键对应的值设置为所述主数据中心的值。
[0020]可选地,所述不一致的检测结果对应键值对数据存储于数据库文件中,则所述将所述不一致的检测结果对应键值对数据划分为多份子键值对数据的步骤具体为,将所述数据库文件分割为多个子数据库文件,其中,每份子数据库文件中存储有对应的子键值对数据。
[0021]可选地,所述利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果的步骤,包括:
[0022]在映射阶段,利用所述分布式计算框架的计算节点从输入的所述待同步数据中心的键值对数据中抽取键值对,将每个键值对作为参数传递给映射函数,经过映射函数处理后将产生的中间结果写入本地磁盘中;以及
[0023]在化简阶段,利用所述分布式计算框架的计算节点根据所述中间结果的位置从磁盘中读取所述中间结果,对所述中间结果进行排序,并针对排序后中间结果中每个唯一的键,将其键值对传递给化简函数,经过化简函数处理后产生检测结果;其中,所述化简函数的处理过程包括:对每个唯一的键对应的多个值进行比较,若相同则得到一致的检测结果,若不同则得到不一致的检测结果。
[0024]依据本发明的另一方面,提供了一种跨数据中心的数据同步装置,包括:
[0025]收集模块,用于收集待同步数据中心的键值对数据;以及
[0026]检测模块,用于利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。
[0027]可选地,所述装置还包括:
[0028]修复模块,用于利用各数据库中心的客户端进行不一致的检测结果对应键值对数据的修复。
[0029]可选地,所述修复模块,包括:
[0030]划分子模块,用于将所述不一致的检测结果对应键值对数据划分为多份子键值对数据;以及
[0031]并行修复子模块,用于在多台机器上利用各数据库中心的客户端进行所述多份子键值对数据的修复;其中,所述机器的数量等于所述子键值对数据的份数。
[0032]根据本发明实施例的一种跨数据中心的数据同步方法和装置,可以收集待同步数据中心的键值对数据,并利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果;由于仅仅需要分别对各数据中心进行一次访问,即可完成待同步数据中心的键值对数据的收集,因此,相对于现有方案,本发明实施例能够减少对各数据中心的访问次数,从而能够减轻对各数据中心的线上访问压力;
[0033]并且,相对于现有方案通常由各数据中心在自身机器上进行键值对数据的一致性检测,本发明实施例利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,能够发挥分布式计算框架扩容能力强、高效率和高可靠性的优势,既能够提高跨数据中心的数据同步效率,又能够避免占用各数据中心的计算资源,从而避免影响到各数据中心的性能。
[0034]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0035]通过阅读下文可选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出可选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0036]图1示出了根据本发明一个实施例的一种跨数据中心的数据同步方法的步骤流程不意图;
[0037]图2示出了根据本发明一个实施例的一种跨数据中心的数据同步方法的步骤流程不意图;
[0038]图3示出了根据本发明一个示例的一种跨数据中心的数据同步方法的步骤流程示意图;
[0039]图4示出了根据本发明一个实施例的一种跨数据中心的数据同步装置的结构示意图;以及
[0040]图5示出了根据本发明一个实施例的一种跨数据中心的数据同步装置的结构示意图。
【具体实施方式】
[0041]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0042]参照图1,示出了根据本发明一个实施例的跨数据中心的数据同步方法的步骤流程示意图,具体可以包括如下步骤:
[0043]步骤101、收集待同步数据中心的键值对数据;
[0044]步骤102、利用分布式计算框架进行所述待同步数据中心的键值对数据的一致性检测,得到一致或不一致的检测结果。
[0045]本发明实施例可以应用于各种分布式存储系统中,用于进行分布式存储系统中跨数据中心的数据同步,其中,所述数据中心可以为IDC或者机房等等,本发明实施例对具体的数据中心不加以限制。
[0046]相对于现有方案通常由各数据中心基于数据中心之间的相互访问来完成,本发明实施例可以
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1