CN109284339A - 一种数据库数据实时同步的方法和装置 - Google Patents
一种数据库数据实时同步的方法和装置 Download PDFInfo
- Publication number
- CN109284339A CN109284339A CN201811452969.7A CN201811452969A CN109284339A CN 109284339 A CN109284339 A CN 109284339A CN 201811452969 A CN201811452969 A CN 201811452969A CN 109284339 A CN109284339 A CN 109284339A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- database
- source server
- synchronization
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据同步技术领域,尤其涉及一种数据库数据实时同步的方法和装置。包括:执行完全同步,将源端服务器数据库中的第一待同步数据完全同步到目标数据库中;执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中。本发明适用于所有相同类型数据库之间的实时同步,仅通过一次完全同步以及不断地增量同步,便实现了数据库数据的实时同步,操作方法简单,并且提高了数据库实时同步的效率。
Description
技术领域
本发明涉及数据同步技术领域,尤其涉及一种数据库数据实时同步的方法和装置。
背景技术
随着计算机技术和数据库技术的快速发展,数据库的应用范围越来越广泛,在业务系统中,数据库的重要性越来越高。对于一些重要的业务系统,特别是银行、证券、电信等行业的业务,需要保证业务系统的业务连续性,其中一个重要方面就是要保证数据库服务的可靠性和连续性。
目前,为生产环境下的数据库配置备份数据库是保证数据库可靠性和连续性的通用做法,当生产环境下的数据库节点发生故障时,可以将业务切换到备份数据库节点上,从而保证业务的连续性。实现业务切换的基础,就是生产数据库和备份数据直接的数据实时同步。目前,主要的数据库数据同步的方式是,监控源数据库在修改事务时产生日志信息,接收端将日志信息还原成结构化查询语言 (Structured Query Language,SQL),对于每一条日志信息,均需要解析和编译SQL语句,并逐条执行SQL语句,从而完成数据库事务的同步。这种方式需要解析日志信息,然后将日志信息转换成SQL语句,使得数据库同步效率低下,特别是对于数据库第一次完全同步时,同步时间更长。
为此,我们提出一种数据库数据实时同步的方法和装置来解决上述问题。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种备份数据库数据的方法和装置。
为了实现上述目的,本发明采用了如下技术方案:
一种数据库数据实时同步的方法,包括:
一种数据库数据实时同步的方法,所述方法包括:
执行完全同步,将源端服务器数据库中的第一待同步数据完全同步到目标数据库中;
执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中。
优选地,所述的执行完全同步,将源端服务器数据库中的第一待同步数据完全同步到目标数据库中,具体包括:
调用数据库接口,对所述第一待同步数据进行完全备份。
进一步地,所述的第一待同步数据,具体包括:
所述源端服务器数据库中的全部数据或所述源端服务器数据库中的部分指定数据。
优选地,执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中,具体包括:
监控所述源端服务器的I/O控制器,检测到所述I/O控制器有变化时,将所述第二待同步数据同步到目标数据库中。
进一步地,所述的第二待同步数据,具体包括:
执行对所述第一待同步数据完全同步后,所述源端服务器数据库中变化的数据或执行上一次增量同步后,所述源端服务器数据库中变化的数据。
一种数据库数据实时同步装置,包括:
第一执行模块,执行完全同步,将源端服务器数据库中的第一待同步数据完全同步到目标数据库中;
第二执行模块,执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中。
优选地,所述第一执行模块,具体包括:
调用单元,调用数据库接口;
第一同步单元,对所述第一待同步数据进行完全备份。
进一步地,所述的第一待同步数据,具体包括:
所述源端服务器数据库中的全部数据或所述源端服务器数据库中的部分指定数据。
优选地,所述第二执行模块,具体包括:
监控单元,监控所述源端服务器的I/O控制器,检测到所述I/O控制器有变化时;
第二同步单元,将所述第二待同步数据同步到目标数据库中。
进一步地,所述的第二待同步数据,具体包括:
执行对所述第一待同步数据完全同步后,所述源端服务器数据库中变化的数据或执行上一次增量同步后,所述源端服务器数据库中变化的数据。
本发明提出了一种数据库数据实时同步的方法。在同步开始时,先执行一次完全同步,将源端服务器数据库中的数据完全同步到目标数据库中。在完全同步执行结束后,不断地执行增量同步,将源端服务器数据库中的数据变化实时同步到目标数据库中。在执行数据库数据完全同步时,通过调用数据库接口,对源数据库进行完全备份;然后使用完全备份的数据,在目标数据库执行异机恢复,这样可以快速完成源端服务器数据库和目标数据库的完全同步。在执行增量同步时,通过监控源端服务器的I/O变化,将监控到的I/O变化发送到目标服务器,目标端接收I/O变化后,执行I/O操作,从而实现目标端数据与源端数据的实时同步;本发明适用于所有相同类型数据库之间的实时同步,仅通过一次完全同步以及不断地增量同步,便实现了数据库数据的实时同步,操作方法简单,并且提高了数据库实时同步的效率。
附图说明
图1示出了本发明实施例1一种数据库数据实时同步的方法具体流程图;
图2示出了本发明实施例2一种数据库数据实时同步装置的具体结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
本实施例提供一种数据库数据实时同步的方法,用于一种数据库数据实时同步装置中。如图1所示,该方法包括以下步骤:
S101:执行完全同步,将源端服务器数据库中的第一待同步数据完全同步到目标数据库中;
调用数据库接口,对所述第一待同步数据进行完全备份;
具体地,第一待同步数据为源端服务器数据库中的全部数据或源端服务器数据库中的部分指定数据;
本步骤101中,可以是目标数据库所在的目标服务器主动向源端服务器发起数据传输请求,源端服务器在接收到数据传输请求后向目标数据库发送第一待同步数据,也可以是源端服务器向目标数据库所在的目标服务器主动发起数据传输请求,目标数据库所在的目标服务器接响应发起的数据传输请求后,源端服务器向目标服务器的目标数据库发送第一待备份数据;
数据库中的数据为逻辑一致性的数据,即数据库数据包括原始数据库中的数据文件和共享该原始数据库的存储空间的所有主机的内存空间中的数据;
第一待同步数据可以为源端服务器数据库在接收到数据传输请求后源端服务器数据库的全部数据,也可以为依照规定或协议限制的数据库的部分数据;
依照规定或协议限制的数据库的部分数据具体包括:目标服务器发起的数据传输请求中携带的关于第一待同步数据的位置、属性或其他形式的限定。
S102:执行增量同步,将源端服务器数据库中生成的第二待同步数据同步到目标数据库中;
监控源端服务器的I/O控制器,检测到I/O控制器有变化时,将第二待同步数据同步到目标数据库中;
具体地,第二待同步数据为执行对第一待同步数据的完全同步后,源端服务器数据库中变化的数据或执行上一次增量同步后,所述源端服务器数据库中变化的数据;
执行完全同步后,源端服务器数据库中变化的数据就是第二待同步数据;接着执行增量同步,将执行完全同步后,源端服务器数据库中的第二待同步数据发送到目标服务器目标数据库中后,源端服务器数据库中变化的数据记为第二待同步数据,即,源端服务器不断将新变化的数据传输到目标数据库中。
在步骤102中,监控源端服务器的I/O控制器的执行主体可以为源端服务器,在源端服务器监控到自身的I/O控制器有变化时,向目标数据库所在的目标服务器发起数据传输请求,接收到目标服务器的响应后向目标服务器的数据库传输第二待同步数据;在此过程中,源端服务器也可以在监控到自身的I/O控制器有变化后,直接向目标服务器发送第二待同步数据;
监控源端服务器I/O控制器的执行主体也可以为目标服务器,当目标服务器检测到源端服务器I/O控制器发生变化时,直接向源端服务器发送数据传输请求,源端服务器在接收到目标服务器发送的数据传输请求后,将第二待同步数据发送到目标服务器的数据库;
源端服务器数据库对将第二待同步数据发送到目标服务器数据库后,将第二待
可选的,目标服务器目标数据库将接收到源端服务器数据库数据库传输的第一待同步数据和第二同步数据存储在目标数据库中后,标记时间戳。
实施例2
本实施例提供一种数据库数据实时同步装置。如图2所示,该装置包括:
201:第一执行模块,执行完全同步,将所述源端服务器数据库中的第一待同步数据完全同步到目标数据库中;
其中,第一执行模块包括:
调用单元,调用数据库接口;
第一同步单元,对所述第一待同步数据进行完全备份
202:第二执行模块,执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中;
其中,第二执行模块包括,
监控单元,监控所述源端服务器的I/O控制器,检测到所述I/O控制器有变化时;
第二同步单元,将所述第二待同步数据同步到目标数据库中。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行实施例中的任一实施方式。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,本申请的实施例可提供方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可又计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理装置的处理器以产生一个机器,使得通过计算机或其他可编程数据处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理以特定方式工作的计算机可读存储器中,使得存储在计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程装置上执行提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明较佳的一部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以组合、等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种数据库数据实时同步的方法,其特征在于,所述方法包括:
执行完全同步,将源端服务器数据库中的第一待同步数据完全同步到目标数据库中;
执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中。
2.根据权利要求1所述的一种数据库数据实时同步的方法,其特征在于,所述的执行完全同步,将源端服务器数据库中的第一待同步数据完全同步到目标数据库中,具体包括:
调用数据库接口,对所述第一待同步数据进行完全备份。
3.根据权利要求1或2所述的第一待同步数据,具体包括:
所述源端服务器数据库中的全部数据或所述源端服务器数据库中的部分指定数据。
4.根据权利要求1所述的一种数据库数据实时同步的方法,其特征在于,执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中,具体包括:
监控所述源端服务器的I/O控制器,检测到所述I/O控制器有变化时,将所述第二待同步数据同步到目标数据库中。
5.根据权利要求1或4所述的第二待同步数据,具体包括:
执行对所述第一待同步数据的完全同步后,所述源端服务器数据库中变化的数据或执行上一次增量同步后,所述源端服务器数据库中变化的数据。
6.一种数据库数据实时同步装置,其特征在于,包括:
第一执行模块,执行完全同步,将所述源端服务器数据库中的第一待同步数据完全同步到目标数据库中;
第二执行模块,执行增量同步,将所述源端服务器数据库中生成的第二待同步数据同步到目标数据库中。
7.根据权利要求6所述的一种数据库数据实时同步装置,其特征在于,所述第一执行模块,具体包括:
调用单元,调用数据库接口;
第一同步单元,对所述第一待同步数据进行完全备份。
8.根据权利要求6或7所述的第一待同步数据,其特征在于,具体包括:
所述源端服务器数据库中的全部数据或所述源端服务器数据库中的部分指定数据。
9.根据权利要求6所述的一种数据库数据实时同步装置,其特征在于,所述第二执行模块,具体包括:
监控单元,监控所述源端服务器的I/O控制器,检测到所述I/O控制器有变化时;
第二同步单元,将所述第二待同步数据同步到目标数据库中。
10.根据权利要求6或9所述的第二待同步数据,具体包括:
执行对所述第一待同步数据完全同步后,所述源端服务器数据库中变化的数据或执行上一次增量同步后,所述源端服务器数据库中变化的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811452969.7A CN109284339A (zh) | 2018-11-30 | 2018-11-30 | 一种数据库数据实时同步的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811452969.7A CN109284339A (zh) | 2018-11-30 | 2018-11-30 | 一种数据库数据实时同步的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109284339A true CN109284339A (zh) | 2019-01-29 |
Family
ID=65173673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811452969.7A Pending CN109284339A (zh) | 2018-11-30 | 2018-11-30 | 一种数据库数据实时同步的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284339A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933630A (zh) * | 2019-03-19 | 2019-06-25 | 武汉达梦数据库有限公司 | 数据库数据实时同步方法及设备 |
CN109933632A (zh) * | 2019-04-04 | 2019-06-25 | 杭州数梦工场科技有限公司 | 一种数据库的数据迁移方法、装置及设备 |
CN111639139A (zh) * | 2020-06-04 | 2020-09-08 | 中国工商银行股份有限公司 | 针对数据中心的数据同步方法、装置、计算设备以及介质 |
CN112839067A (zh) * | 2019-11-22 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 一种数据同步方法及装置 |
CN113127259A (zh) * | 2019-12-30 | 2021-07-16 | 北京懿医云科技有限公司 | 数据部署方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752372A (zh) * | 2012-06-18 | 2012-10-24 | 天津神舟通用数据技术有限公司 | 一种基于文件的数据库同步方法 |
CN103581231A (zh) * | 2012-07-25 | 2014-02-12 | 腾讯科技(北京)有限公司 | Ugc主备数据同步方法及其系统 |
CN107704550A (zh) * | 2017-09-26 | 2018-02-16 | 深圳前海微众银行股份有限公司 | 文件迁移方法、装置以及计算机可读存储介质 |
-
2018
- 2018-11-30 CN CN201811452969.7A patent/CN109284339A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752372A (zh) * | 2012-06-18 | 2012-10-24 | 天津神舟通用数据技术有限公司 | 一种基于文件的数据库同步方法 |
CN103581231A (zh) * | 2012-07-25 | 2014-02-12 | 腾讯科技(北京)有限公司 | Ugc主备数据同步方法及其系统 |
CN107704550A (zh) * | 2017-09-26 | 2018-02-16 | 深圳前海微众银行股份有限公司 | 文件迁移方法、装置以及计算机可读存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933630A (zh) * | 2019-03-19 | 2019-06-25 | 武汉达梦数据库有限公司 | 数据库数据实时同步方法及设备 |
CN109933630B (zh) * | 2019-03-19 | 2021-11-23 | 武汉达梦数据库股份有限公司 | 数据库数据实时同步方法及设备 |
CN109933632A (zh) * | 2019-04-04 | 2019-06-25 | 杭州数梦工场科技有限公司 | 一种数据库的数据迁移方法、装置及设备 |
CN109933632B (zh) * | 2019-04-04 | 2021-04-27 | 杭州数梦工场科技有限公司 | 一种数据库的数据迁移方法、装置及设备 |
CN112839067A (zh) * | 2019-11-22 | 2021-05-25 | 腾讯科技(深圳)有限公司 | 一种数据同步方法及装置 |
CN113127259A (zh) * | 2019-12-30 | 2021-07-16 | 北京懿医云科技有限公司 | 数据部署方法、装置、设备及存储介质 |
CN113127259B (zh) * | 2019-12-30 | 2024-03-12 | 北京懿医云科技有限公司 | 数据部署方法、装置、设备及存储介质 |
CN111639139A (zh) * | 2020-06-04 | 2020-09-08 | 中国工商银行股份有限公司 | 针对数据中心的数据同步方法、装置、计算设备以及介质 |
CN111639139B (zh) * | 2020-06-04 | 2024-02-02 | 中国工商银行股份有限公司 | 针对数据中心的数据同步方法、装置、计算设备以及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284339A (zh) | 一种数据库数据实时同步的方法和装置 | |
CN106970921B (zh) | 一种数据迁移方法及装置 | |
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
EP2738695B1 (en) | Slave side transaction ID buffering for efficient distributed transaction management | |
TWI669620B (zh) | Database switching method, server, storage medium, electronic device and product | |
US9594801B2 (en) | Systems and methods for allocating work for various types of services among nodes in a distributed computing system | |
CN104699541A (zh) | 同步数据的方法、装置、数据传输组件及系统 | |
US11928089B2 (en) | Data processing method and device for distributed database, storage medium, and electronic device | |
CN103744906A (zh) | 一种数据同步系统、方法及装置 | |
CN113987064A (zh) | 数据处理方法、系统及设备 | |
CN106777126B (zh) | 一种支持异构时序数据库的数据在线迁移方法 | |
CN108319623A (zh) | 一种数据重分布方法、装置及数据库集群 | |
CN110334077A (zh) | 数据库跨机房迁移的方法及装置 | |
CN109299063B (zh) | 一种跨平台数据库迁移方法及系统 | |
CN112965951A (zh) | 用于数据库中数据重分布的系统和方法 | |
CN103716384A (zh) | 跨数据中心实现云存储数据同步的方法和装置 | |
US10824641B1 (en) | Deterministic query-based replication | |
EP2498163A2 (en) | Information Processing Apparatus and Time-of-Day Control Method | |
WO2016019729A1 (zh) | 一种动态调度方法、系统及计算机存储介质 | |
CN104516796A (zh) | 一种基于命令集的网元备份与恢复方法及装置 | |
CN110737507A (zh) | 一种虚拟机迁移方法与装置 | |
CN105488139B (zh) | 基于用电信息采集系统的跨平台存储数据迁移的方法 | |
CN107621994A (zh) | 一种数据快照创建的方法及装置 | |
CN109635040B (zh) | 实时数据迁移方法、装置及存储介质 | |
CN106649418A (zh) | 一种在驱动中直连分片实现分布式数据库数据导入的高性能方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190129 |
|
RJ01 | Rejection of invention patent application after publication |