CN103763368A - 一种跨数据中心的数据同步方法 - Google Patents
一种跨数据中心的数据同步方法 Download PDFInfo
- Publication number
- CN103763368A CN103763368A CN201410023373.0A CN201410023373A CN103763368A CN 103763368 A CN103763368 A CN 103763368A CN 201410023373 A CN201410023373 A CN 201410023373A CN 103763368 A CN103763368 A CN 103763368A
- Authority
- CN
- China
- Prior art keywords
- data
- data center
- daily record
- module
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种跨数据中心的数据同步方法,其具体实现过程为:完成数据的写入与日志的记录;同步调度与推送;日志回放,完成数据同步;进行跨数据中心的数据访问,实现异步数据同步操作。该一种跨数据中心的数据同步方法和现有技术相比,能够实现跨数据中心的异步数据同步操作,提高数据的安全性;有效地利用数据中心内部的IO资源和数据中心之间的网络资源,实用性强,易于推广。
Description
技术领域
本发明涉及计算机数据存储技术领域,具体的说是一种跨数据中心的数据同步方法。
背景技术
随着的互联网时代已经到来:社交网络、微博、位置服务等面向普通互联网用户的交互型网站正蓬勃兴起,如Google、Facebook、Twitter以及国内的人人网、微博等,向数以亿计的用户提供基于互联网和无线网络的交互服务。遍布全世界的互联网用户每天都进行多种多样的交互,随时都在制造各种各样的数据,这些数据的数量是单机时代数据量的数倍。
为存储这些数据,各互联网公司在世界各地建立了庞大的数据中心,单个数据中心的主机数量在几百至数万的数量级不等。来自Google的信息表明,Google在全球有数十个数据中心和过千万台服务器,存储其全球用户每天产生的海量数据。对这些数据的管理和使用都是巨大的挑战:包括数据的读取和存储、索引和寻址、配置和管理的接口、数据中心之间的数据复制等,这其中,对多数据中心之间数据同步的支持和研究需求尤为迫切。
目前针对海量的数据存储的研究仍处于刚刚起步的阶段,对于数据中心之间的数据同步方法仍有许多值得研究和改进的方面,以Hbase为例,Hbase的复制依赖于Master/Slave的体系结构,在0.90.0版本才加入了简单的在两个数据中心之间进行数据复制的特性,复制任务没有优先级队列的实现,没有针对数据中心的负载做统一的调度。另一方面,传统的跨数据中心的数据同步算法通常以整块数据的传输和覆盖为主要方法,这种方法会占用大量的网络资源和IO资源。
针对这一情况,本专利发明了一种基于日志回放的跨数据中心的数据同步方法。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种跨数据中心的数据同步方法。
本发明的技术方案是按以下方式实现的,该一种跨数据中心的数据同步方法,其具体实现过程为:
一、完成数据的写入与日志的记录:在主数据中心运行日志记录模块,当主数据中心接收到客户端发来的数据请求时,该模块将请求所要求的操作以日志的方式记录在主数据中心,该模块以嵌入式或插件的方式,整合到主数据中心的业务流程中。
二、同步调度与推送:设置调度模块运行在主数据中心,该调度模块负责调度数据回放操作,根据主数据中心的负载、备份数据中心的负载、调度策略信息,激活日志的推送和回放操作;调度模块要求的推送操作通过日志推送模块完成,该日志推送模块在主数据中心运行,将数据操作日志传输到备份数据中心。
三、日志回放,完成数据同步:主数据中心日志推送模块推送过来的数据操作执行由日志回放模块接收,该日志回放模块运行在备份数据中心,并在当前数据中心回放数据操作日志,实现两个数据中心的数据同步。
四、进行跨数据中心的数据访问,实现异步数据同步操作。
所述步骤一的详细过程为:客户端根据本地的配置识别到客户数据所在的主数据中心,并将所有的数据操作全部发送到主数据中心,交由主数据中的数据节点进行处理;主数据中心收到客户端的请求后,根据请求的操作和内容执行客户操作,在这一过程中,日志记录模块通过截取请求的方式捕捉到客户请求的操作及相关数据;日志记录模块判断客户端的操作是否需要对数据中心的数据进行修改,如果需要,则该数据操作需要作为跨数据中心数据同步操作的内容,此时日志记录模块将请求的操作及相关的数据以专有的日志格式保存到主数据中心的异步日志记录区域,该区域的内容都是需要进行跨数据中心数据回放的内容。
所述步骤二的详细过程为:首先由运行在主数据中心的调度模块监控以下条件。
1)异步日志记录区域中日志的数目和涉及到的数据量;
2)主数据中心的负载情况,包括网络IO和磁盘IO;
3)备份数据中心的负载情况,包括网络IO和磁盘IO;
当以上三者满足配置管理员设置的调度策略时,触发日志推送操作,日志推送操作由日志推送模块执行,该模块负责将主数据中心异步日志记录区域中的数据操作日志写入到备份数据中心的异步日志执行区域;当日志推送模块完成日志的跨数据中心传输后,会通知调度模块,然后调度模块驱动备份数据中心的日志回放模块执行日志的回放。
所述步骤三的详细过程为:运行在备份数据中心的日志回放模块在接收到调度模块的通知后,开始执行日志的回放操作,日志回放模块读取存储在异步日志执行区域中的数据日志,然后对日志的内容进行解码,取得日志对应的操作以及相关数据,然后在备份数据中心的相关节点上再次执行该操作,使备份数据中心的数据与主数据中心中的数据一致,实现数据的跨数据中心同步。
所述步骤四的客户端在下述两种情况下通过访问备份数据中心获取数据,客户端无法连接主数据中心时;客户端可以连接主数据中心,但主数据中心业务繁忙时。
本发明与现有技术相比所产生的有益效果是:
本发明的一种跨数据中心的数据同步方法能够实现跨数据中心的异步数据同步操作,提高数据的安全性;用户在无法访问主数据中心时,还可以通过访问备用数据中心获取数据;由于在回放过程中,只需要传输数据的差异,而无需传输数据本身,因此本方法还可以降低传输的数据量,减少同步操作对数据中心之间带宽的占用;另外,***中的调度模块能够根据数据中心的负载进行调度,有效地利用数据中心内部的IO资源和数据中心之间的网络资源,起到负载平衡的作用;实用性强,易于推广。
附图说明
附图1是本发明的实现过程示意图。
具体实施方式
下面结合附图对本发明的一种跨数据中心的数据同步方法作以下详细说明。
如附图1所示,一种跨数据中心的数据同步方法, 通过数据操作日志的回放,实现数据中心之间的异步数据同步。其具体实现过程为:
首先通过编程设置以下几个模块:
(1)日志记录模块。运行在主数据中心,负责当主数据中心接收到客户端发来的数据请求时,将请求所要求的操作以日志的方式记录在主数据中心。该模块以嵌入式或插件的方式,整合到主数据中心的业务流程中。
(2)调度模块。运行在主数据中心,负责调度数据回放操作。根据主数据中心的负载、备份数据中心的负载、调度策略等信息,激活日志的推送和回放操作。
(3)日志推送模块。运行在主数据中心,负责执行调度模块要求的推送操作,将数据操作日志传输到备份数据中心。
(4)日志回放模块。运行在备份数据中心,负责接收主数据中心日志推送模块推送过来的数据操作执行,并在当前数据中心回放数据操作日志,实现两个数据中心的数据同步。
通过以上模块完成下述操作:
一、数据的写入与日志的记录。
在正常的情况下,客户端根据本地的配置识别到客户数据所在的主数据中心,并将所有的数据操作,包括读取、写入、删除等,全部发送到主数据中心,交由主数据中的数据节点进行处理。
主数据中心收到客户端的请求后,会根据请求的操作和内容执行客户操作。在这一过程中,日志记录模块会通过截取请求的方式捕捉到客户请求的操作及相关数据。
日志记录模块会判断客户端的操作是否需要对数据中心的数据进行修改,如果需要,则说明该数据操作需要作为跨数据中心数据同步操作的内容。这个时候,日志记录模块会将请求的操作及相关的数据以专有的日志格式保存到主数据中心的异步日志记录区域,该区域的内容都是需要进行跨数据中心数据回放的内容。
二、同步调度与日志的推送。
运行在主数据中心的调度模块,会监控以下条件:
1)异步日志记录区域中日志的数目和涉及到的数据量。
2)主数据中心的负载情况,包括网络IO和磁盘IO。
3)备份数据中心的负载情况,主包括网络IO和磁盘IO。
当以上三者满足配置管理员设置的调度策略时,触发日志推送操作。触发的前提通常是条件1)较高,而条件2)和条件3)较低。
日志推送操作由日志推送模块执行,该模块负责将主数据中心异步日志记录区域中的数据操作日志写入到备份数据中心的异步日志执行区域。
当日志推送模块完成日志的跨数据中心传输后,会通知调度模块。然后调度模块驱动备份数据中心的日志回放模块执行日志的回放。
三、日志的回放。
运行在备份数据中心的日志回访模块在接收到调度模块的通知后,开始执行日志的回放操作。
日志回访模块读取存储在异步日志执行区域中的数据日志,然后对日志的内容进行解码,取得日志对应的操作以及相关数据,然后在备份数据中心的相关节点上再次执行该操作,使备份数据中心的数据与主数据中心中的数据一致。从而实现了数据的跨数据中心同步。
四、跨数据中心的数据访问。
客户端在两种情况下可能会通过访问备份数据中心获取数据:
第一,客户端无法连接主数据中心时。这种情况有可能是主数据中心发生了故障,也可能是由于主数据中心与客户端之间的网络中断。
当出现这种情况时,客户端将尝试从备份数据中心读取操作,且只能执行读取操作。另外,由于此时不确定备份数据中心与主数据中心之间的数据是否已经完成了同步操作,因此客户端会对用户显示相关的提示信息,通知用户此时数据的来源是备份数据中心,且存在数据一致性问题。
第二,客户端可以连接主数据中心,但主数据中心业务繁忙时。
当出现这种情况时,客户端如果判断客户的操作是只读操作,则会向主数据中心确认操作涉及的数据是否已经同步到备份数据中心,如果主数据中心告知客户端数据已经同步完成,则客户端可以通过访问备份数据中心获取客户要读取的数据。此时,备份数据中心起到一个负载平衡的作用。
本发明的跨数据中心的数据同步方法,能够实现跨数据中心的异步数据同步操作,提高数据的安全性。用户在无法访问主数据中心时,还可以通过访问备用数据中心获取数据。能够有效减少数据中心之间同步所产生的数据量。由于在回放过程中,只需要传输数据的差异,而无需传输数据本身,因此可以降低传输的数据量,减少同步操作对数据中心之间带宽的占用。能够根据数据中心的负载进行调度,有效地利用数据中心内部的IO资源和数据中心之间的网络资源,起到负载平衡的作用。
以上所述仅为本发明的实施例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种跨数据中心的数据同步方法,其特征在于其具体实现过程为:
一、完成数据的写入与日志的记录:在主数据中心运行日志记录模块,当主数据中心接收到客户端发来的数据请求时,该模块将请求所要求的操作以日志的方式记录在主数据中心,该模块以嵌入式或插件的方式,整合到主数据中心的业务流程中;
二、同步调度与推送:设置调度模块运行在主数据中心,该调度模块负责调度数据回放操作,根据主数据中心的负载、备份数据中心的负载、调度策略信息,激活日志的推送和回放操作;调度模块要求的推送操作通过日志推送模块完成,该日志推送模块在主数据中心运行,将数据操作日志传输到备份数据中心;
三、日志回放,完成数据同步:主数据中心日志推送模块推送过来的数据操作执行由日志回放模块接收,该日志回放模块运行在备份数据中心,并在当前数据中心回放数据操作日志,实现两个数据中心的数据同步;
四、进行跨数据中心的数据访问,实现异步数据同步操作。
2.根据权利要求1所述的一种跨数据中心的数据同步方法,其特征在于:所述步骤一的详细过程为:客户端根据本地的配置识别到客户数据所在的主数据中心,并将所有的数据操作全部发送到主数据中心,交由主数据中的数据节点进行处理;主数据中心收到客户端的请求后,根据请求的操作和内容执行客户操作,在这一过程中,日志记录模块通过截取请求的方式捕捉到客户请求的操作及相关数据;日志记录模块判断客户端的操作是否需要对数据中心的数据进行修改,如果需要,则该数据操作需要作为跨数据中心数据同步操作的内容,此时日志记录模块将请求的操作及相关的数据以专有的日志格式保存到主数据中心的异步日志记录区域,该区域的内容都是需要进行跨数据中心数据回放的内容。
3.根据权利要求1或2所述的一种跨数据中心的数据同步方法,其特征在于:所述步骤二的详细过程为:首先由运行在主数据中心的调度模块监控以下条件,
1)异步日志记录区域中日志的数目和涉及到的数据量;
2)主数据中心的负载情况,包括网络IO和磁盘IO;
3)备份数据中心的负载情况,包括网络IO和磁盘IO;
当以上三者满足配置管理员设置的调度策略时,触发日志推送操作,日志推送操作由日志推送模块执行,该模块负责将主数据中心异步日志记录区域中的数据操作日志写入到备份数据中心的异步日志执行区域;当日志推送模块完成日志的跨数据中心传输后,会通知调度模块,然后调度模块驱动备份数据中心的日志回放模块执行日志的回放。
4.根据权利要求3所述的一种跨数据中心的数据同步方法,其特征在于:所述步骤三的详细过程为:运行在备份数据中心的日志回放模块在接收到调度模块的通知后,开始执行日志的回放操作,日志回放模块读取存储在异步日志执行区域中的数据日志,然后对日志的内容进行解码,取得日志对应的操作以及相关数据,然后在备份数据中心的相关节点上再次执行该操作,使备份数据中心的数据与主数据中心中的数据一致,实现数据的跨数据中心同步。
5.根据权利要求4所述的一种跨数据中心的数据同步方法,其特征在于:所述步骤四的客户端在下述两种情况下通过访问备份数据中心获取数据,客户端无法连接主数据中心时;客户端可以连接主数据中心,但主数据中心业务繁忙时。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410023373.0A CN103763368B (zh) | 2014-01-20 | 2014-01-20 | 一种跨数据中心的数据同步方法 |
PCT/CN2015/070416 WO2015106656A1 (zh) | 2014-01-20 | 2015-01-09 | 一种跨数据中心的数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410023373.0A CN103763368B (zh) | 2014-01-20 | 2014-01-20 | 一种跨数据中心的数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103763368A true CN103763368A (zh) | 2014-04-30 |
CN103763368B CN103763368B (zh) | 2016-07-06 |
Family
ID=50530527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410023373.0A Active CN103763368B (zh) | 2014-01-20 | 2014-01-20 | 一种跨数据中心的数据同步方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103763368B (zh) |
WO (1) | WO2015106656A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219288A (zh) * | 2014-08-14 | 2014-12-17 | 中国南方电网有限责任公司超高压输电公司 | 基于多线程的分布式数据同步方法及其*** |
CN104519130A (zh) * | 2014-12-16 | 2015-04-15 | 北京中交兴路车联网科技有限公司 | 一种跨idc的数据共享缓存方法 |
WO2015106656A1 (zh) * | 2014-01-20 | 2015-07-23 | 浪潮电子信息产业股份有限公司 | 一种跨数据中心的数据同步方法 |
CN104899278A (zh) * | 2015-05-29 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种Hbase数据库数据操作日志的生成方法及装置 |
CN105610917A (zh) * | 2015-12-22 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 实现***中同步数据修复的方法及*** |
CN106557530A (zh) * | 2015-09-30 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 业务***、数据修复方法及装置 |
CN110290214A (zh) * | 2019-06-28 | 2019-09-27 | 苏州浪潮智能科技有限公司 | 一种数据文件传输实现方法和*** |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750594B (zh) * | 2019-09-30 | 2023-05-30 | 上海视云网络科技有限公司 | 一种基于mysql增量日志实时跨网络数据库同步方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677931A (zh) * | 2004-04-02 | 2005-10-05 | 鸿富锦精密工业(深圳)有限公司 | 网络日志数据管理***及方法 |
CN101043375A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 分布式***日志收集方法及*** |
US20100179940A1 (en) * | 2008-08-26 | 2010-07-15 | Gilder Clark S | Remote data collection systems and methods |
US20120151250A1 (en) * | 2010-12-14 | 2012-06-14 | Hitachi, Ltd. | Failure recovery method in information processing system and information processing system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075556B (zh) * | 2009-11-19 | 2014-11-26 | 北京明朝万达科技有限公司 | 一种具备大规模负载能力的服务架构设计方法 |
CN103500229B (zh) * | 2013-10-24 | 2017-04-19 | 北京奇虎科技有限公司 | 一种数据库同步方法和数据库*** |
CN103763368B (zh) * | 2014-01-20 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种跨数据中心的数据同步方法 |
-
2014
- 2014-01-20 CN CN201410023373.0A patent/CN103763368B/zh active Active
-
2015
- 2015-01-09 WO PCT/CN2015/070416 patent/WO2015106656A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677931A (zh) * | 2004-04-02 | 2005-10-05 | 鸿富锦精密工业(深圳)有限公司 | 网络日志数据管理***及方法 |
CN101043375A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 分布式***日志收集方法及*** |
US20100179940A1 (en) * | 2008-08-26 | 2010-07-15 | Gilder Clark S | Remote data collection systems and methods |
US20120151250A1 (en) * | 2010-12-14 | 2012-06-14 | Hitachi, Ltd. | Failure recovery method in information processing system and information processing system |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015106656A1 (zh) * | 2014-01-20 | 2015-07-23 | 浪潮电子信息产业股份有限公司 | 一种跨数据中心的数据同步方法 |
CN104219288A (zh) * | 2014-08-14 | 2014-12-17 | 中国南方电网有限责任公司超高压输电公司 | 基于多线程的分布式数据同步方法及其*** |
CN104219288B (zh) * | 2014-08-14 | 2018-03-23 | 中国南方电网有限责任公司超高压输电公司 | 基于多线程的分布式数据同步方法及其*** |
CN104519130A (zh) * | 2014-12-16 | 2015-04-15 | 北京中交兴路车联网科技有限公司 | 一种跨idc的数据共享缓存方法 |
CN104519130B (zh) * | 2014-12-16 | 2018-02-27 | 北京中交兴路车联网科技有限公司 | 一种跨idc的数据共享缓存方法 |
CN104899278A (zh) * | 2015-05-29 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种Hbase数据库数据操作日志的生成方法及装置 |
CN106557530A (zh) * | 2015-09-30 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 业务***、数据修复方法及装置 |
CN106557530B (zh) * | 2015-09-30 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 业务***、数据修复方法及装置 |
CN105610917A (zh) * | 2015-12-22 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 实现***中同步数据修复的方法及*** |
CN105610917B (zh) * | 2015-12-22 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 实现***中同步数据修复的方法及*** |
CN110290214A (zh) * | 2019-06-28 | 2019-09-27 | 苏州浪潮智能科技有限公司 | 一种数据文件传输实现方法和*** |
Also Published As
Publication number | Publication date |
---|---|
WO2015106656A1 (zh) | 2015-07-23 |
CN103763368B (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103763368B (zh) | 一种跨数据中心的数据同步方法 | |
CN105335513B (zh) | 一种分布式文件***及文件存储方法 | |
CN101877783B (zh) | 网络视频存储器集群化视频监控***和方法 | |
CN107895253A (zh) | 一种电力交易功能进行微服务改造的方法 | |
CN105912428B (zh) | 实现源数据实时转化为虚拟机镜像的***及方法 | |
CN104391930A (zh) | 分布式文件存储装置和方法 | |
CN109376197B (zh) | 一种数据同步方法、服务器及计算机存储介质 | |
CN103455577A (zh) | 云主机镜像文件的多备份就近存储和读取方法及*** | |
CN103647797A (zh) | 一种分布式文件***及其数据访问方法 | |
CN104899274B (zh) | 一种内存数据库高效远程访问方法 | |
CN105892943A (zh) | 一种分布式存储***中块存储数据的访问方法及*** | |
CN106303428A (zh) | 一种安防云平台 | |
CN105283847A (zh) | 本地存储数据版本控制 | |
US20130031221A1 (en) | Distributed data storage system and method | |
CN105740248B (zh) | 一种数据同步方法、装置及*** | |
CN105828017B (zh) | 一种面向视频会议的云存储接入***及方法 | |
CN102143228A (zh) | 一种云存储***、云客户端及实现存储区域网络服务的方法 | |
CN101370027A (zh) | 网络存储***、方法及应用服务器 | |
CN102982182A (zh) | 一种数据存储规划方法及装置 | |
CN110083306A (zh) | 一种分布式对象存储***及存储方法 | |
CN110099084A (zh) | 一种保证存储服务可用性的方法、***及计算机可读介质 | |
CN102820998B (zh) | 实现面向办公应用的双机容错服务***及其数据存储方法 | |
CN103036952B (zh) | 一种企业级异构融合存储管理*** | |
CN109451079A (zh) | 一种云u盘及其存储方法和存储*** | |
CN103838515B (zh) | 一种服务器集群访问调度多控制器磁盘阵列的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |