CN103778136A - 一种跨机房数据库同步方法及系统 - Google Patents

一种跨机房数据库同步方法及系统 Download PDF

Info

Publication number
CN103778136A
CN103778136A CN201210400979.2A CN201210400979A CN103778136A CN 103778136 A CN103778136 A CN 103778136A CN 201210400979 A CN201210400979 A CN 201210400979A CN 103778136 A CN103778136 A CN 103778136A
Authority
CN
China
Prior art keywords
database
data
module
machine room
source database
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.)
Pending
Application number
CN201210400979.2A
Other languages
English (en)
Inventor
楼江航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210400979.2A priority Critical patent/CN103778136A/zh
Publication of CN103778136A publication Critical patent/CN103778136A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

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)

Abstract

本申请公开了一种跨机房数据库同步方法,用于目标数据库跨机房的从源数据库同步数据,包括如下步骤:步骤100、在源数据库端监听源数据库的变更;步骤110、利用多个顺序编号的并行进程依次提取源数据库的变更数据;步骤120、各个并行进程将提取到的数据经合并、压缩后进行发送;步骤130、在目标数据库端接收各个并行进程发送的数据,按照各并行进程的次序进行加载得到待同步数据,利用该待同步数据更新目标数据库。本申请采用多线程并行处理的思路,利用SQL语义执行的特性,通过对数据的合并、压缩、并行处理等完整的传输方案,来缓解目前跨机房、跨地区网络的同步延迟问题。

Description

一种跨机房数据库同步方法及系统
技术领域
本申请涉及计算机及网络技术领域,尤其涉及一种跨机房数据库同步传输方法和系统。
背景技术
目前针对一些大型网站业务,在系统可用性上往往会考虑数据库的跨机房镜像复制,容灾备份等,在发生不可抗力因素导致当地数据不可用时,能够快速的通过异步的数据库备份或者镜像提供系统访问。
在做数据库同步时,目前一般的做法是通过数据库DML/DDL的变更日志解析,发送给目标库后再重新执行一次数据库DML/DDL变更,以达到两边的数据库保持一致。这种做法针对跨机房,跨地区网络的数据库同步,存在的一个问题就是数据的传输量以及重新执行的代价,源数据库和目标数据库完全是1∶1的模式,源库的一次变更,就会有一份数据传输以及一次DDL/DML执行。
目前杭州到青岛的单个tcp包的网络延迟为70ms,杭州到美国的单个tcp包的网络延迟为200ms,一旦同一时间数据库的变更达到一个高峰,数据库的同步过程会因为网络传输和重新执行而造成阻塞,从而导致数据库同步延迟。因此,针对一些跨机房,跨地区网络的数据库同步,如何减少传输数据以及减少重新执行的代价就非常关键。
现有的技术通常是利用数据库自带的解决方案,比如使用比较广泛的mysql数据库同步。mysql同步会将数据库变更的记录存入binlog文件,并提供socket服务,由需要执行同步的目标库发起一次数据同步请求。
目前mysql5版本自带数据库复制方案,同步系统本身与mysql server进行了集成,作为一个mysql组件存在。例如源数据库为A,目标数据库为B,同步系统为C,同步过程如下:
1)同步系统通过单个socket链接和数据库建立链接,开始监听数据变更;
2)原始数据在数据库A中发生insert/update/delete等操作;
3)数据库A会在本地生成变更日志数据;
4)同步系统监听到数据变更,通过建立的socket开始获取变更数据;
5)在异步接收完整个变更数据包后,解析为内部执行对象;
6)根据数据库A上的变更操作,在目标数据库B上重新执行insert/update/delete等操作。
但现有技术mysql同步主要存在以下问题:
1)为保证同步顺序性,mysql采用了tcp长链接的方式进行数据传输。
2)为保证数据的可靠性,mysql采用了ack请求的回馈模式+顺序传输。只有上一批数据完全获取成功后,才会去获取下一批数据,并且同一时间只有一份数据在传输。
3)mysql变更日志文件binlog详细记录每次数据库的变更,可以提供DBA(数据库管理员)详细查看后用于分析数据库的历史变更记录,并不是仅仅为数据库的高效同步而特殊设计的,所以存在很多冗余数据,造成数据量巨大。
针对跨机房,跨地区网络的同步业务,传统的单tcp工作模式面对高峰时期的数据库变更同步时,会产生数据堆积,造成网络拥堵。
发明内容
本申请提出了一种高效、可靠的数据库同步方法及系统,采用多线程并行处理的思路,利用SQL语义执行的特性,通过对数据的合并、压缩、并行处理等完整的传输方案,来缓解目前跨机房、跨地区网络的同步延迟问题。
一种跨机房数据库同步方法,用于目标数据库跨机房的从源数据库同步数据,包括如下步骤:
步骤100、在源数据库端监听源数据库的变更;
步骤110、利用多个顺序编号的并行进程依次提取源数据库的变更数据;
步骤120、各个并行进程将提取到的数据经合并、压缩后进行发送;
步骤130、在目标数据库端接收各个并行进程发送的数据,按照各并行进程的次序进行加载得到待同步数据,利用该待同步数据更新目标数据库。
所述步骤100中,在源数据库端通过socket和源数据库建立链接,监听数据变更,所述源数据库的变更为Insert、Update、Delete至少一种事件的触发。
源数据库发生insert、update或delete事件时会在本地生成变更日志数据,通过建立的socket可以获取变更数据。
步骤110具体包括:
步骤111、开启多个并行进程并对每个并行进程赋以编号;
步骤112、各个并行进程按照编号依次提取源数据库的变更数据,且在提取的同时进行解析得到若干内部对象,即步骤120所述的提取到的数据。
所述步骤110中,按照系统并行度的设置开启多个并行进程,编号在前的并行进程先提取源数据库的变更数据,满足设定的数据量后,下一个并行进程再开始提取,以此类推。
所述步骤112中,通过与源数据库相匹配的协议格式解析得到所述内部对象,该内部对象的数据结构包括事件类型、主键信息和变更字段。
本申请中内部对象的数据结构采用常用数据库的数据结构类型,例如使用比较广泛的mysql数据库等。
步骤120中,所述的合并包括:
步骤121、同一并行进程中,将主键信息相同的内部对象构建为子链表;
步骤122、将同属一个子链表的所有内部对象按照对应的变更字段依次进行运算,处理得到合并后的内部对象。
源数据库的变更过程中,每一次事件的触发以及所涉及的变更数据可对应一个内部对象,若在一个并行进程中包含了多次的变更操作,在进行数据提取和解析后就对应的生成多个内部对象,在步骤121中,将同一并行进程的所有内部对象进行分类,每一类构建生成一个子链表,同一子链表中的各个内部对象具有相同的主键信息。
在所述步骤122中,按照子链表内各个内部对象的顺序(按照内部对象中所涉及的变更操作的发生时间),依次的进行运算,例如首先将前两个内部对象进行运算得到运算后的内部对象,再将该运算后的内部对象与第三个内部对象进行运算,以此类推,直至完成同一子链表中所有内部对象的运算,得到合并后的内部对象。
在步骤130中,目标数据库端可以同时接收各个并行进程发送的数据,由于各并行进程是按次序编号的,因此,目标数据库端在对接收的数据进行恢复和加载时,也要按照并行进程的编号进行,直至完成所有变更数据的处理。
本申请还提供一种跨机房数据库同步系统,用于目标数据库跨机房的从源数据库同步数据,包括:
监听模块,用于在源数据库端监听源数据库的变更;
提取模块,用于利用多个顺序编号的并行进程依次提取源数据库的变更数据;
数据处理模块,用于各个并行进程将提取到的数据经合并、压缩后进行发送;
接收模块,用于在目标数据库端接收各个并行进程发送的数据,按照各并行进程的次序进行加载得到待同步数据,利用该待同步数据更新目标数据库。
所述监听模块中,源数据库的变更为Insert、Update、Delete至少一种事件的触发。
所述提取模块包括:
进程启动模块,用于开启多个并行进程并对每个并行进程赋以编号;
解析模块,用于各个并行进程按照编号依次提取源数据库的变更数据,且在提取的同时进行解析得到若干内部对象,即数据处理模块中所述的提取到的数据。
所述解析模块,通过与源数据库相匹配的协议格式解析得到所述内部对象,该内部对象的数据结构包括事件类型、主键信息和变更字段。
所述数据处理模块包括依次对提取到的数据进行相应处理的合并模块、压缩模块和发送模块,其中所述合并模块包括:
建子链表模块,用于同一并行进程中,将主键信息相同的内部对象构建为子链表;
运算合并模块,用于将同属一个子链表的所有内部对象按照对应的变更字段依次进行运算,处理得到合并后的内部对象。
本申请跨机房数据库同步方法及系统的有益效果:
相比于现有的同步模式,引入了数据的合并,使数据传递最小化。采用并行同步过程,尽可能将数据传递并行化,网络传输的时间延迟仅发生在第一个并行过程所需要的网络传输时间,针对跨机房、跨地区网络的同步中,可避免数据堆积。
附图说明
图1为本申请跨机房数据库同步方法流程图;
图2为本申请跨机房数据库同步方法中各个并行进程提取源数据库数据变更流程图;
图3为本申请跨机房数据库同步方法数据合并步骤流程图;
图4为本申请跨机房数据库同步系统示意图;
图5为本申请跨机房数据库同步方法示意图(以3个并行进程为例);
图6为本申请跨机房数据库同步方法数据合并步骤示意图。
具体实施方式
以下结合附图对本申请技术方案进行进一步的描述。
参见图1、图5,以mysql系统为例,源数据库与目标数据库处在不同的机房,利用本申请的数据库同步方法,可以高效的完成目标数据库与源数据库的同步更新,本申请跨机房数据库同步方法包括:
步骤100、在源数据库端与源数据库按照协议格式定义,建立socket链接,通过socket链接监听数据变更,源数据库的变更为Insert、Update、Delete至少一种事件的触发。
其中,源数据库与目标数据库遵循mysql同步协议,比如mysql数据同步协议;文档:http://forge.mysql.com/wiki/MySQL_Internals_Binary_Log。通过mysql server提供的数据变更socket服务,进一步的获取对应的变更数据。
步骤110、利用多个顺序编号的并行进程依次提取源数据库的变更数据,参见图2,具体包括:
步骤111、按照系统并行度的设置开启多个并行进程并对每个并行进程赋以编号;例如开启5个并行进程,有序递增的编号为并行进程1、并行进程2、并行进程3、并行进程4、并行进程5。
步骤112、各个并行进程按照编号依次通过socket链接向获取源数据库的变更数据。
编号在前的并行进程先提取源数据库的变更数据,满足设定的数据量后,下一个并行进程再开始提取,按序号从小到大依次进行数据提取,整个过程为串行。
在提取的同时通过协议格式解析mysql server返回的binlog数据,解析为同步系统的内部对象(Entry),在源数据库的变更过程中,每一次事件的触发对应得到一个内部对象。
Entry的数据结构如下:
a)事件类型:
主要分为DDL/DML执行,数据同步主要针对DML操作事件,DML操作事件主要分为Insert、Update、Delete三种事件。
b)主键信息
数据库中表的主键字段,包括主键名,主键值。
c)变更字段
数据库中表的当前变更字段,包括变更字段名,变更前值,变更后值。
步骤120、各个并行进程将提取到的数据经合并、压缩后进行发送;如图3所示,其中的合并过程具体包括:
步骤121、同一并行进程中,将主键信息相同的内部对象构建为子链表;即对同一并行进程的所有内部对象进行分类,每一类构建生成一个子链表,同一子链表中的各个内部对象具有相同的按照主键信息。
参见图6,例如将具有相同主键信息A的各个内部对象构建生成子链表pk1,在子链表pk1中各个内部对象的数据变更的类型(insert、update或delete)可能相同也可能不相同。
同理,将具有相同主键信息B的各个内部对象构建生成子链表pk2,将具有相同主键信息C的各个内部对象构建生成子链表pk3,以此类推。
就每个并行进程而言,可以包含一个或多个子链表,根据每个并行进程的数据容量而定。
步骤122、将同属一个子链表的所有内部对象按照对应的变更字段依次进行运算,处理得到合并后的内部对象。
运算主要针对DML操作事件(Insert、Update、Delete),运算时首先将前两个内部对象进行运算得到运算后的内部对象,再将该运算后的内部对象与第三个内部对象进行运算,以此类推,直至完成同一子链表中所有内部对象的运算,得到合并后的内部对象。
两个进行运算的内部对象中,若变更字段不同,则将不同变更字段的变更类型以及变更前后的值合并至运算后的内部对象;
例如前一个Entry的变更类型为Insert,插入内容为A的字段,而后一个Entry的变更类型为Update,即对原有的内容为B的字段进行了更新而得到内容B`,那么运算后的Entry则视为存在两个变更,即插入内容为A的字段以及对原有的内容为B的字段进行了更新而得到内容B`。
两个进行运算的内部对象中,若变更字段相同,则将该变更字段经两次变更后的值合并至运算后的内部对象。
变更字段相同时的具体运算规则如下:
a)Entry(Insert类型)+Entry(Update类型)=>Entry(Insert类型);即将Entry(Update类型)对应的变更字段,替换掉Entry(Insert类型)中同名的变更字段。
例如在同一子链表中,前一个Entry的变更类型为Insert,插入了3个字段:A字段(A内容)、B字段(B内容)、C字段(C内容)。
而后一个Entry的变更类型为Update,更新了1个字段得到B字段(B’内容)`,那么运算后的Entry:A字段(A内容)、B字段(B’内容)、C字段(C内容),即B字段使用了第二次update的内容,其他字段的都使用第一次insert的内容。
b)Entry(Insert类型)+Entry(Delete类型)=>Entry(Delete类型),即直接返回Entry(Delete类型)。
例如在同一子链表中,前一个Entry的变更类型为Insert,插入A字段(A内容),而后一个Entry的变更类型为Delete,即删除A字段(A内容),那么运算后的Entry则视为删除A字段(A内容)。
c)Entry(Update类型)+Entry(Update类型)=>Entry(Update类型),即同名字段以后者变更字段覆盖前者。
例如在同一子链表中,前一个Entry的变更类型Update,得到变更后的3个字段:A字段(A内容)、B字段(B内容)、C字段(C内容)。
而后一个Entry的变更类型也为Update,变更了2个字段得到:C字段(C’内容)、D字段(D内容)。
运算后的Entry:A字段(A内容)、B字段(B内容)、,C字段(C’内容)、D字段(D内容),可见C字段使用了第二次update的内容,字段为两次变更字段的合集。
又例如在同一子链表中,前一个Entry的变更类型Update,变更了3个字段后得到A字段(A内容)、B字段(B内容)、C字段(C内容)。
而后一个Entry的变更类型也为Update,变更了2个字段得到D字段(D内容)、E字段(E内容)。
运算后的Entry:A字段(A内容)、B字段(B内容)、C字段(C内容)、D字段(D内容)、E字段(E内容),即两次变更没有交集,合并的结果为5个字段,字段为两次变更字段的合集。
d)Entry(Update类型)+Entry(Delete类型)=>Entry(Delete类型),直接返回Entry(Delete类型)。
例如在同一子链表中,前一个Entry的变更类型为Update,即对A字段(A内容)进行了更新得到A字段(A’内容),而后一个Entry的变更类型为Delete,即删除A字段,那么运算后的Entry则视为删除更新后的A字段。
e)Entry(Delete类型)+Entry(Insert类型)=>Entry(Insert类型),直接返回Entry(Insert类型)。
例如在同一子链表中,前一个Entry的变更类型Delete,即删除A字段(A内容),而后一个Entry的变更类型为Insert,即插入A字段(A内容),那么运算后的Entry则视为插入A字段(A内容)。
在步骤120中经以上处理得到合并后的内部对象,再进行压缩和发送,其中压缩时首先通过数据对象序列化将合并后的内部对象转化为二进制,具体算法可以采用高效数据对象序列化算法:google protobuf;
文档:https://developers.google.com/protocol-buffers/docs/overview。
针对序列化后的数据再通过压缩算法进一步压缩,具体算法可以采用高效数据压缩算法:gzip;文档:http://www.gzip.org/。
完成压缩后可以利用传统的tcp传输方式,可靠的将数据传递给目标数据库端。
步骤130、在目标数据库端接收各个并行进程发送的数据(压缩后的数据),按照各并行进程的次序进行加载得到待同步数据,利用该待同步数据更新目标数据库。
在目标数据库端按照mysql server同步协议,顺序的重新执行变更数据,在进行数据库重新执行变更记录之前,会进行并行过程重排。按照原先的数据获取顺序,也就是按并行过程序号从小到大,先加载并行进程1的数据,再加载并行进程2的数据,最后依次加载直到完成,此整个过程为串行。
整个同步过程中,源数据库端与目标数据库端一直维护已经开启的并行进程,以避免通信的间断。
本实施例还提供一种跨机房数据库同步系统,用于目标数据库跨机房的从源数据库同步数据,如图4所示,包括:
监听模块200,用于在源数据库端监听源数据库的变更,源数据库的变更为Insert、Update、Delete至少一种事件的触发;
提取模块210,用于利用多个顺序编号的并行进程依次提取源数据库的变更数据;
数据处理模块220,用于各个并行进程将提取到的数据经合并、压缩后进行发送;
接收模块230,用于在目标数据库端接收各个并行进程发送的数据,按照各并行进程的次序进行加载得到待同步数据,利用该待同步数据更新目标数据库。
提取模块210包括:
进程启动模块211,用于开启多个并行进程并对每个并行进程赋以编号;
解析模块212,用于各个并行进程按照编号依次提取源数据库的变更数据,且在提取的同时进行解析得到若干内部对象,解析时通过与源数据库相匹配的协议格式解析得到所述内部对象,该内部对象的数据结构包括事件类型、主键信息和变更字段。
数据处理模块220包括依次对提取到的数据进行相应处理的合并模块221、压缩模块222和发送模块223,其中合并模块221包括:
建子链表模块2211,用于同一并行进程中,将主键信息相同的内部对象构建为子链表;
运算合并模块2212,用于将同属一个子链表的所有内部对象按照事件类型的不同组合依次进行运算,处理得到合并后的内部对象。
本申请跨机房数据库同步方法和系统引入了数据的合并,使数据传递最小化,采用并行进程,每个并行进程拿到数据后,在各自的进程中会依次进入数据的合并、压缩和传送,多个并行进程互不干扰,这样在针对跨机房、跨地区网络的同步中,提高的效率,避免数据堆积。
本申请跨机房数据库同步系统的各个模块可以集成于一体,也可以分离部署,或进一步拆分成多个子模块。各个模块可以按照实施例描述分布于实施例的系统中,也可以进行相应变化位于不同于本实施例的一个或多个系统中。
本领域的技术人员应该明白,本申请的实施例可提供成为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
本申请的各模块或各步骤可以用通用的计算装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。因此,本申请不限制于任何特定的硬件和软件结合。
以上公开的仅为本申请的具体实施例,但是本申请并非局限于此,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。显然这些改动和变型均应属于本申请要求的保护范围保护内。

Claims (10)

1.一种跨机房数据库同步方法,用于目标数据库跨机房的从源数据库同步数据,其特征在于,包括如下步骤:
步骤100、在源数据库端监听源数据库的变更;
步骤110、利用多个顺序编号的并行进程依次提取源数据库的变更数据;
步骤120、各个并行进程将提取到的数据经合并、压缩后进行发送;
步骤130、在目标数据库端接收各个并行进程发送的数据,按照各并行进程的次序进行加载得到待同步数据,利用该待同步数据更新目标数据库。
2.如权利要求1所述的跨机房数据库同步方法,其特征在于,步骤100中,所述源数据库的变更为Insert、Update、Delete至少一种事件的触发。
3.如权利要求1所述的跨机房数据库同步方法,其特征在于,步骤110具体包括:
步骤111、开启多个并行进程并对每个并行进程赋以编号;
步骤112、各个并行进程按照编号依次提取源数据库的变更数据,且在提取的同时进行解析得到若干内部对象,即步骤120所述的提取到的数据。
4.如权利要求3所述的跨机房数据库同步方法,其特征在于,步骤112中,通过与源数据库相匹配的协议格式解析得到所述内部对象,该内部对象的数据结构包括事件类型、主键信息和变更字段。
5.如权利要求4所述的跨机房数据库同步方法,其特征在于,步骤120中,所述的合并包括:
步骤121、同一并行进程中,将主键信息相同的内部对象构建为子链表;
步骤122、将同属一个子链表的所有内部对象按照对应的变更字段依次进行运算,处理得到合并后的内部对象。
6.一种跨机房数据库同步系统,用于目标数据库跨机房的从源数据库同步数据,其特征在于,包括:
监听模块,用于在源数据库端监听源数据库的变更;
提取模块,用于利用多个顺序编号的并行进程依次提取源数据库的变更数据;
数据处理模块,用于各个并行进程将提取到的数据经合并、压缩后进行发送;
接收模块,用于在目标数据库端接收各个并行进程发送的数据,按照各并行进程的次序进行加载得到待同步数据,利用该待同步数据更新目标数据库。
7.如权利要求6所述的跨机房数据库同步系统,其特征在于,所述监听模块中,源数据库的变更为Insert、Update、Delete至少一种事件的触发。
8.如权利要求6所述的跨机房数据库同步系统,其特征在于,所述提取模块包括:
进程启动模块,用于开启多个并行进程并对每个并行进程赋以编号;
解析模块,用于各个并行进程按照编号依次提取源数据库的变更数据,且在提取的同时进行解析得到若干内部对象,即数据处理模块中所述的提取到的数据。
9.如权利要求8所述的跨机房数据库同步系统,其特征在于,所述解析模块,通过与源数据库相匹配的协议格式解析得到所述内部对象,该内部对象的数据结构包括事件类型、主键信息和变更字段。
10.如权利要求9所述的跨机房数据库同步系统,其特征在于,所述数据处理模块包括依次对提取到的数据进行相应处理的合并模块、压缩模块和发送模块,其中所述合并模块包括:
建子链表模块,用于同一并行进程中,将主键信息相同的内部对象构建为子链表;
运算合并模块,用于将同属一个子链表的所有内部对象按照对应的变更字段依次进行运算,处理得到合并后的内部对象。
CN201210400979.2A 2012-10-19 2012-10-19 一种跨机房数据库同步方法及系统 Pending CN103778136A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210400979.2A CN103778136A (zh) 2012-10-19 2012-10-19 一种跨机房数据库同步方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210400979.2A CN103778136A (zh) 2012-10-19 2012-10-19 一种跨机房数据库同步方法及系统

Publications (1)

Publication Number Publication Date
CN103778136A true CN103778136A (zh) 2014-05-07

Family

ID=50570380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210400979.2A Pending CN103778136A (zh) 2012-10-19 2012-10-19 一种跨机房数据库同步方法及系统

Country Status (1)

Country Link
CN (1) CN103778136A (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219288A (zh) * 2014-08-14 2014-12-17 中国南方电网有限责任公司超高压输电公司 基于多线程的分布式数据同步方法及其系统
CN104699541A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 同步数据的方法、装置、数据传输组件及系统
CN104778228A (zh) * 2015-03-27 2015-07-15 百度在线网络技术(北京)有限公司 一种用于多方置位数据库的方法和装置
CN104794155A (zh) * 2015-03-12 2015-07-22 北京奇虎科技有限公司 数据加载的方法、装置及系统
CN104933127A (zh) * 2015-06-12 2015-09-23 北京京东尚科信息技术有限公司 基于MariaDB的跨机房数据库同步设备及方法
CN105589884A (zh) * 2014-10-24 2016-05-18 腾讯科技(深圳)有限公司 数据处理方法及装置
CN105610933A (zh) * 2015-12-25 2016-05-25 北京奇虎科技有限公司 信息管理方法和设备
CN105677704A (zh) * 2015-12-25 2016-06-15 北京奇虎科技有限公司 信息整理方法和设备以及信息管理方法和设备
CN106156318A (zh) * 2016-07-05 2016-11-23 武汉斗鱼网络科技有限公司 一种实现多节点数据库高可用的系统及方法
CN106357371A (zh) * 2016-10-31 2017-01-25 聚好看科技股份有限公司 跨机房数据传输方法及服务器
CN106844574A (zh) * 2017-01-05 2017-06-13 中国银联股份有限公司 一种远程数据同步的方法和装置
WO2017114199A1 (zh) * 2015-12-31 2017-07-06 阿里巴巴集团控股有限公司 一种数据同步方法和装置
CN107918621A (zh) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 日志数据处理方法、装置及业务系统
CN107958023A (zh) * 2017-11-06 2018-04-24 北京华宇信息技术有限公司 数据同步方法、数据同步装置和计算机可读存储介质
CN108595451A (zh) * 2017-12-04 2018-09-28 阿里巴巴集团控股有限公司 业务请求处理方法及装置
CN109656999A (zh) * 2018-10-11 2019-04-19 平安科技(深圳)有限公司 大数据量的数据同步方法、设备、存储介质及装置
CN109690521A (zh) * 2017-12-28 2019-04-26 深圳配天智能技术研究院有限公司 一种数据库合并的方法以及装置
CN109714392A (zh) * 2018-11-26 2019-05-03 聚好看科技股份有限公司 一种跨机房数据同步方法和装置
CN110033250A (zh) * 2019-03-08 2019-07-19 阿里巴巴集团控股有限公司 减少单元化拆分部署记账耗时的方法和系统
CN110489389A (zh) * 2019-08-16 2019-11-22 北京旷视科技有限公司 一种数据同步方法及装置
CN110659256A (zh) * 2019-09-30 2020-01-07 掌阅科技股份有限公司 多机房同步方法、计算设备及计算机存储介质
CN111221899A (zh) * 2018-11-26 2020-06-02 聚好看科技股份有限公司 一种跨机房数据同步方法和装置
CN112288936A (zh) * 2020-11-18 2021-01-29 济南博观智能科技有限公司 一种特征同步方法、装置、系统、电子设备和存储介质
CN112347062A (zh) * 2019-08-07 2021-02-09 中国石油化工股份有限公司 一种实现地震数据共享的方法及存储介质
US11321324B2 (en) 2019-12-31 2022-05-03 Huawei Technologies Co., Ltd. Systems and methods for cross-region data management in an active-active architecture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101419615A (zh) * 2008-12-10 2009-04-29 阿里巴巴集团控股有限公司 一种前后台数据库的同步方法及装置
CN101719149A (zh) * 2009-12-03 2010-06-02 联动优势科技有限公司 数据同步方法及装置
US20100198789A1 (en) * 2007-06-06 2010-08-05 Kunio Kamimura Database contradiction solution method
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100198789A1 (en) * 2007-06-06 2010-08-05 Kunio Kamimura Database contradiction solution method
CN101419615A (zh) * 2008-12-10 2009-04-29 阿里巴巴集团控股有限公司 一种前后台数据库的同步方法及装置
CN101719149A (zh) * 2009-12-03 2010-06-02 联动优势科技有限公司 数据同步方法及装置
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104219288B (zh) * 2014-08-14 2018-03-23 中国南方电网有限责任公司超高压输电公司 基于多线程的分布式数据同步方法及其系统
CN104219288A (zh) * 2014-08-14 2014-12-17 中国南方电网有限责任公司超高压输电公司 基于多线程的分布式数据同步方法及其系统
CN105589884A (zh) * 2014-10-24 2016-05-18 腾讯科技(深圳)有限公司 数据处理方法及装置
CN104794155A (zh) * 2015-03-12 2015-07-22 北京奇虎科技有限公司 数据加载的方法、装置及系统
CN104778228A (zh) * 2015-03-27 2015-07-15 百度在线网络技术(北京)有限公司 一种用于多方置位数据库的方法和装置
CN104778228B (zh) * 2015-03-27 2018-08-07 百度在线网络技术(北京)有限公司 一种用于多方置位数据库的方法和装置
CN104699541B (zh) * 2015-03-30 2018-07-10 北京奇虎科技有限公司 同步数据的方法、装置、数据传输组件及系统
CN104699541A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 同步数据的方法、装置、数据传输组件及系统
CN104933127A (zh) * 2015-06-12 2015-09-23 北京京东尚科信息技术有限公司 基于MariaDB的跨机房数据库同步设备及方法
CN105610933A (zh) * 2015-12-25 2016-05-25 北京奇虎科技有限公司 信息管理方法和设备
CN105677704A (zh) * 2015-12-25 2016-06-15 北京奇虎科技有限公司 信息整理方法和设备以及信息管理方法和设备
CN105677704B (zh) * 2015-12-25 2020-02-07 北京奇虎科技有限公司 信息整理方法和设备以及信息管理方法和设备
CN105610933B (zh) * 2015-12-25 2019-03-05 北京奇虎科技有限公司 信息管理方法和设备
CN106933534A (zh) * 2015-12-31 2017-07-07 阿里巴巴集团控股有限公司 一种数据同步方法和装置
WO2017114199A1 (zh) * 2015-12-31 2017-07-06 阿里巴巴集团控股有限公司 一种数据同步方法和装置
CN106156318A (zh) * 2016-07-05 2016-11-23 武汉斗鱼网络科技有限公司 一种实现多节点数据库高可用的系统及方法
CN107918621A (zh) * 2016-10-10 2018-04-17 阿里巴巴集团控股有限公司 日志数据处理方法、装置及业务系统
CN106357371A (zh) * 2016-10-31 2017-01-25 聚好看科技股份有限公司 跨机房数据传输方法及服务器
CN106357371B (zh) * 2016-10-31 2019-09-17 聚好看科技股份有限公司 跨机房数据传输方法及服务器
CN106844574A (zh) * 2017-01-05 2017-06-13 中国银联股份有限公司 一种远程数据同步的方法和装置
CN107958023A (zh) * 2017-11-06 2018-04-24 北京华宇信息技术有限公司 数据同步方法、数据同步装置和计算机可读存储介质
CN108595451A (zh) * 2017-12-04 2018-09-28 阿里巴巴集团控股有限公司 业务请求处理方法及装置
CN109690521A (zh) * 2017-12-28 2019-04-26 深圳配天智能技术研究院有限公司 一种数据库合并的方法以及装置
CN109656999A (zh) * 2018-10-11 2019-04-19 平安科技(深圳)有限公司 大数据量的数据同步方法、设备、存储介质及装置
CN109656999B (zh) * 2018-10-11 2024-03-15 平安科技(深圳)有限公司 大数据量的数据同步方法、设备、存储介质及装置
CN109714392A (zh) * 2018-11-26 2019-05-03 聚好看科技股份有限公司 一种跨机房数据同步方法和装置
CN111221899A (zh) * 2018-11-26 2020-06-02 聚好看科技股份有限公司 一种跨机房数据同步方法和装置
CN111221899B (zh) * 2018-11-26 2023-09-01 聚好看科技股份有限公司 一种跨机房数据同步方法和装置
CN110033250A (zh) * 2019-03-08 2019-07-19 阿里巴巴集团控股有限公司 减少单元化拆分部署记账耗时的方法和系统
CN110033250B (zh) * 2019-03-08 2023-10-13 创新先进技术有限公司 减少单元化拆分部署记账耗时的方法和系统
CN112347062A (zh) * 2019-08-07 2021-02-09 中国石油化工股份有限公司 一种实现地震数据共享的方法及存储介质
CN110489389B (zh) * 2019-08-16 2022-04-22 北京旷视科技有限公司 一种数据同步方法及装置
CN110489389A (zh) * 2019-08-16 2019-11-22 北京旷视科技有限公司 一种数据同步方法及装置
CN110659256B (zh) * 2019-09-30 2021-02-26 掌阅科技股份有限公司 多机房同步方法、计算设备及计算机存储介质
CN110659256A (zh) * 2019-09-30 2020-01-07 掌阅科技股份有限公司 多机房同步方法、计算设备及计算机存储介质
US11321324B2 (en) 2019-12-31 2022-05-03 Huawei Technologies Co., Ltd. Systems and methods for cross-region data management in an active-active architecture
CN112288936A (zh) * 2020-11-18 2021-01-29 济南博观智能科技有限公司 一种特征同步方法、装置、系统、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN103778136A (zh) 一种跨机房数据库同步方法及系统
KR101917806B1 (ko) Sql 패킷분석을 통한 이기종 데이터베이스의 데이터 복제 및 동기화 오류 탐지 방법 및 시스템
CN109101627B (zh) 异构数据库同步方法及装置
CN107220142B (zh) 执行数据恢复操作的方法及装置
US8543539B2 (en) Method and system for capturing change of data
US20160292162A1 (en) Streamlined system to restore an analytic model state for training and scoring
CN112685433B (zh) 元数据更新方法、装置、电子设备及计算机可读存储介质
CN104809201A (zh) 一种数据库同步的方法和装置
CN103699580A (zh) 数据库同步方法及装置
CN109379432A (zh) 数据处理方法、装置、服务器及计算机可读存储介质
CN104572689A (zh) 数据同步方法、装置及系统
CN104809202A (zh) 一种数据库同步的方法和装置
CN107870982B (zh) 数据处理方法、系统和计算机可读存储介质
CN102495853A (zh) 一种面向切面的云存储引擎构造方法
CN104050276A (zh) 一种分布式数据库的缓存处理方法及系统
CN111708794B (zh) 基于大数据平台的数据比对方法、装置和计算机设备
CN110647531A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN110837535A (zh) 数据同步的方法、装置、设备和介质
CN105975495A (zh) 大数据的存储、搜索方法及装置
CN112835918A (zh) 一种MySQL数据库增量同步实现方法
CN112732756A (zh) 数据查询方法、装置、设备及存储介质
CN104699592A (zh) 一种日志数据传输的方法和系统
CN114661823A (zh) 数据同步的方法、装置、电子设备及可读存储介质
CN110196880B (zh) 异构数据库数据同步方法和装置、存储介质及电子装置
CN104714880A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20140507

RJ01 Rejection of invention patent application after publication