数据库同步方法、系统、生产端及消费端解析服务器与流程

文档序号:33322160发布日期:2023-03-03 21:13阅读:37来源:国知局
数据库同步方法、系统、生产端及消费端解析服务器与流程

1.本发明涉及大数据技术领域,尤指一种数据库同步方法、系统、生产端及消费端解析服务器。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.互联网发展至今,已经步入大数据时代,数据保存与转移的重要性已愈发凸显,各类业务系统的开展与数据处理息息相关,为适应市场需求,让数据同步变得稳定、简单且高效越来越重要。
4.目前流行的数据同步方法是使用数据库的发布和订阅功能,实现同一服务器下不同数据库的表数据同步,以及不同服务器下的不同数据库的表数据同步,但是该方法的使用前提是源数据表结构和目标数据表结构必须相同,导致数据库同步不方便且效率低。


技术实现要素:

5.为解决现有技术存在的问题,本发明提出了一种数据库同步方法、系统、生产端及消费端解析服务器;该方法及系统基于生产消费模式实现高效、便利且有序的数据库同步。
6.在本发明实施例的第一方面,提出了一种数据库同步方法,包括:
7.生产端解析服务器在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储;
8.消费端解析服务器分批次读取所述持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
9.在本发明实施例的第二方面,提出了一种数据库同步方法,该方法应用于生产端解析服务器,包括:
10.在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;
11.解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储。
12.在本发明实施例的第三方面,提出了一种数据库同步方法,该方法应用于消费端解析服务器,包括:
13.分批次读取所述持久层存储的解析数据;
14.将每一批次读取的解析数据赋予唯一顺序标识;
15.根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
16.在本发明实施例的第四方面,提出了一种数据库同步系统,包括:
17.生产端解析服务器,用于在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储;
18.消费端解析服务器,用于分批次读取所述持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
19.在本发明实施例的第五方面,提出了一种数据库同步生产端解析服务器,包括:
20.转储单元,用于在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;
21.解析单元,用于解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储。
22.在本发明实施例的第六方面,提出了一种数据库同步消费端解析服务器,包括:
23.读取单元,用于分批次读取所述持久层存储的解析数据;
24.赋予单元,用于将每一批次读取的解析数据赋予唯一顺序标识;
25.同步单元,用于根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
26.在本发明实施例的第七方面,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现数据库同步方法。
27.在本发明实施例的第八方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现数据库同步方法。
28.在本发明实施例的第九方面,提出了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现数据库同步方法。
29.本发明提出的数据库同步方案可以稳定且高效地进行数据同步,并能解决使用数据库的发布和订阅功能同步数据方法的缺陷,本发明将待同步的数据采用二进制日志转储的方式进行处理,并对二进制日志文件进行解析,将解析数据存储至持久层,在将数据同步到消费端时,采用流式消费的方式分批次读取持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识,根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库,该方案可以基于生产消费模式实现高效、便利且有序的数据库同步。
附图说明
30.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
31.图1是本发明一实施例的应用于系统数据库同步方法的流程示意图。
32.图2是本发明一实施例的数据库同步系统架构示意图。
33.图3是本发明一实施例的数据库同步方法的整体流程示意图。
34.图4是本发明一实施例的持久层扩展接口组成的示意图。
35.图5是本发明一实施例的应用于生产端解析服务器的数据库同步方法的流程示意
图。
36.图6是本发明一实施例的应用于消费端解析服务器的数据库同步方法的流程示意图。
37.图7是本发明一实施例的数据库同步系统架构示意图。
38.图8是本发明一实施例的数据库同步生产端解析服务器的架构示意图。
39.图9是本发明一实施例的数据库同步消费端解析服务器的架构示意图。
40.图10是本发明一实施例的计算机设备结构示意图。
具体实施方式
41.下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
42.本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
43.根据本发明的实施方式,提出了一种数据库同步方法及系统,涉及大数据技术领域。本发明针对使用数据库的发布和订阅功能同步数据方法的问题和缺陷,采用生产消费模式进行数据库同步,并基于持久层扩展自定义的控制接口,可解决源数据表和目标数据表在同步时结构僵化的问题,便于用户直接操作使用。
44.考虑到现有技术存在的技术问题,本发明实施例提供了一种数据库同步方案,该方案为一种基于生产消费模式的mysql数据库同步方案,下面进行详细介绍。
45.下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
46.图1是本发明一实施例的数据库同步方法流程示意图。如图1所示,该方法包括:
47.步骤101:生产端解析服务器在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储;
48.步骤102:消费端解析服务器分批次读取所述持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
49.本发明根据获得的生产端数据库产生待同步数据,将待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;解析待同步数据的二进制日志文件,获得完整的解析数据,将解析数据传递给持久层存储;分批次读取所述持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识;根据唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
50.与现有技术中使用数据库的发布和订阅功能进行数据库同步,需确保源数据表结构和目标数据表结构必须相同,结构形式僵化导致无法进行功能拓展不同,本发明实施例提供一种基于生产消费模式的数据库同步方法,该方法实现了源数据表结构和目标数据表不统一的情况下,高效平稳地进行数据库同步,且方便增加扩展接口,便于用户直接控制数
据库同步过程。
51.为了对上述数据库同步方法进行更为清楚的解释,下面结合图2和图3对数据库同步方法的整体流程进行详细说明。
52.图2为本发明一实施例中的数据库同步系统架构示意图,数据库同步系统可以包括三大部分:对应生产端数据库的生产端解析服务器(图2中的生产端解析服务),couchbase数据库(即持久层),以及对应消费端数据库的消费端解析服务器(图2中的消费端解析服务)。图3是本发明一实施例的数据库同步方法的整体流程示意图。下面结合上述三大部分详细介绍本发明实施例中的数据库同步方法。
53.一、首先,介绍生产端解析服务器的实施方式,即图3中的“s1和s2”。
54.在步骤101中,参考图3,生产端解析服务器在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储的详细流程为:
55.在检测到生产端数据库产生待同步数据时,对待同步数据执行关系型数据库管理系统mysql数据库中的二进制日志转储binlog dump操作,将待同步数据转化为二进制日志文件;该步骤对应于图3中的“生产端数据库产生数据”和“binlog dump二进制日志转储”;
56.执行mysql数据库中的二进制日志解析binlog parser操作对待同步数据的二进制日志文件进行解析,得到完整的解析数据;该步骤对应于图3中的“binary log进行binlog parser解析”;
57.将完整的解析数据传递给couchbase数据库进行持久化存储;该步骤对应于图3中的“持久层存储”;
58.记录所述待同步数据的二进制日志文件的解析进度;该步骤对应于图3中的“记录成功后的binary log进度”。
59.通过上述可知,图3中的生产端解析服务可以包括“binlog dump二进制日志转储”、“binary log进行binlog parser解析”、“持久层存储”以及“记录成功后的binary log进度”。
60.具体的,在检测到生产端数据库产生待同步数据时,对待同步数据执行关系型数据库管理系统mysql数据库中的二进制日志转储binlog dump操作,将待同步数据转化为二进制日志文件;执行mysql数据库中的二进制日志解析binlog parser操作对待同步数据的二进制日志文件进行解析,得到完整的解析数据;将完整的解析数据传递给couchbase数据库进行存储;couchbase数据库作为数据同步的中转站,不仅要能够高效读入、写出数据,而且要做好数据的备份,确保数据的完整性及安全性;最后记录下待同步数据的二进制日志文件的解析进度。
61.在一个实施例中,生产端数据库产生的数据需要同步到消费端数据库,此时执行mysql数据库中的binlog dump操作,将待同步数据转化为二进制日志文件。
62.具体实施时,将待同步数据转化为二进制日志文件,可实现待同步数据的二进制转储,解决源数据与目标数据结构不一致而不能同步的问题。
63.在一个实施例中,执行mysql数据库中的binlog parser操作对待同步数据的二进制日志文件进行解析,得到完整的待存储解析数据。
64.具体实施时,得到完整的待存储解析数据提高了数据同步的完整性。
65.在一个实施例中,将完整的待存储解析数据传递给couchbase数据库进行存储。
66.具体实施时,将完整的待存储解析数据存储在couchbase,couchbase数据库作为生产数据库与目标数据库的连接件,有着枢纽的作用,作为数据同步的中转站,不仅能够高效读入、写出数据,而且可以做好数据的备份,确保数据的完整性及安全性。
67.在一个实施例中,记录下待同步数据的二进制日志文件的解析进度,解析进度可通过持久层自定义的接口进行监控和控制。
68.具体实施时,实现用户对解析进度的实时监测。
69.二、其次,介绍couchbase数据库的实施方式,即图3中的s3。
70.本发明实施例以couchbase数据库作为源端解析服务(生产端解析服务)和目标端消费服务(消费端解析服务)之间的中间基站,保证连通的持久高效,couchbase即为持久缓存层,作为数据同步的中转站,不仅要能够高效读入、写出数据,而且要做好数据的备份,确保数据的完整性及安全性。
71.三、再次,介绍消费端解析服务器的实施方式,即图3中的“s4和s5”。
72.在步骤102中,参考图3,消费端解析服务器(即图2和图3中的消费端解析服务)分批次读取所述持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库的详细流程(即图3中的“s4和s5”)为:
73.分批次读取所述持久层存储的解析数据;该步骤对应图3中的“获取数据”;
74.将每一批次读取的解析数据赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库;该步骤对应图3中的“更新本地读取计数器”、“执行dml语句”、“消费端数据库同步数据”;
75.当同步至消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作。
76.具体的,持久层存储的解析数据采用流式消费的方法进行处理,即将解析数据分解成多批次的微小解析数据单元,依次读取多批次的微小解析数据单元,将每一批次读取的解析数据单元赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库,每次同步成功都会在服务器本地更新读取计数器,保证解析数据单元的唯一性;当同步至消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作。
77.通过上述可知,图3中的“消费端数据库解析服务”可以包括“获取数据”、“更新本地读取计数器”以及“执行dml语句”。
78.在一实施例中,采用流式消费的方法处理存储在持久层的解析数据,将解析数据分解成多批次的微小解析数据单元,依次读取每一批次的微小解析数据单元,将每一批次读取的解析数据单元设置唯一的同步顺序标识。
79.具体实施时,将解析数据分解成多批次的微小解析数据单元,利用数字下标来展开操作顺序,以实时有序来保证同步操作高效。
80.在一实施例中,根据唯一的同步顺序标识,采用mysql数据库中的get操作将每一批次读取的解析数据同步至消费端数据库。
81.具体实施时,使用mysql数据库中的get方法操作简单,确保高效数据库同步。
82.在一实施例中,每次执行mysql数据库中的get操作,都会在服务器本地更新读取计数器,保证解析数据单元的唯一性,如果同步消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作。
83.具体实施时,如果同步消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作,这种异常处理机制保证解析数据唯一性的同时,高效完成数据同步。
84.在一实施例中,生产端解析服务器与消费端解析服务器分开部署,独立运作。
85.具体实施时,将生产端解析服务器与消费端解析服务器分开部署,可降低系统耦合度,提高程序可扩展性。
86.在上述数据库同步方法所述持久层还包括扩展接口,参考图4,所述持久层扩展接口401包括用户访问业务接口402、允许用户操作接口403以及数据同步流量控制接口404。
87.具体实施时,在持久层自定义用户访问业务接口、允许用户操作接口以及数据同步流量控制接口,避免了用户的专业领域盲区,方便普通用户的使用。
88.在一实施例中,在couchbase数据库中扩展用户访问业务接口、允许用户操作接口以及数据同步流量控制接口。
89.具体实施时,在couchbase数据库中扩展用户访问业务接口、允许用户操作接口以及数据同步流量控制接口,附加控制都必须满足接入用户的控制需求,确保用户实时了解数据同步相关信息,方便其后期管理,并在数据同步上支持定制同步及数据异构,使得同步的弹性更大;运维人员只需连接接口即可开展工作,提高其工作效率。
90.在上述数据库同步方法所述持久层还与配置中心进行连接,所述配置中心存储用户名及密码等用户信息,用户需通过配置中心登录,持久层调用配置中心存储的配置信息才能操作控制数据库同步。
91.图5是本发明一实施例中应用于生产端解析服务器的数据库同步方法流程示意图,该方法包括:
92.步骤501:在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;
93.步骤502:解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储。
94.具体的,在检测到生产端数据库产生待同步数据时,对待同步数据执行关系型数据库管理系统mysql数据库中的二进制日志转储binlog dump操作,将待同步数据转化为二进制日志文件;执行mysql数据库中的二进制日志解析binlog parser操作对待同步数据的二进制日志文件进行解析,得到完整的解析数据;将完整的解析数据传递给couchbase数据库进行存储;couchbase数据库作为数据同步的中转站,不仅要能够高效读入、写出数据,而且要做好数据的备份,确保数据的完整性及安全性;最后记录下待同步数据的二进制日志文件的解析进度。
95.在一个实施例中,生产端数据库产生的数据需要同步到消费端数据库,此时执行mysql数据库中的binlog dump操作,将待同步数据转化为二进制日志文件。
96.具体实施时,将待同步数据转化为二进制日志文件,可实现待同步数据的二进制
转储,解决源数据与目标数据结构不一致而不能同步的问题。
97.在一个实施例中,执行mysql数据库中的binlog parser操作对待同步数据的二进制日志文件进行解析,得到完整的待存储解析数据。
98.具体实施时,得到完整的待存储解析数据提高了数据同步的完整性。
99.在一个实施例中,将完整的待存储解析数据传递给couchbase数据库进行存储。
100.具体实施时,将完整的待存储解析数据存储在couchbase,couchbase数据库作为生产数据库与目标数据库的连接件,有着枢纽的作用,作为数据同步的中转站,不仅能够高效读入、写出数据,而且可以做好数据的备份,确保数据的完整性及安全性。
101.在一个实施例中,记录下待同步数据的二进制日志文件的解析进度,解析进度可通过持久层自定义的接口进行监控和控制。
102.具体实施时,实现用户对解析进度的实时监测。
103.图6是本发明一实施例应用于消费端解析服务器的数据库同步方法流程示意图,该方法包括:
104.步骤601:分批次读取所述持久层存储的解析数据;
105.步骤602:将每一批次读取的解析数据赋予唯一顺序标识;
106.步骤603:根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
107.具体的,持久层存储的解析数据采用流式消费的方法进行处理,即将解析数据分解成多批次的微小解析数据单元,依次读取多批次的微小解析数据单元,将每一批次读取的解析数据单元赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库,每次同步成功都会在服务器本地更新读取计数器,保证解析数据单元的唯一性;当同步至消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作。
108.在一实施例中,采用流式消费的方法处理存储在持久层的解析数据,将解析数据分解成多批次的微小解析数据单元,依次读取每一批次的微小解析数据单元,将每一批次读取的解析数据单元设置唯一的同步顺序标识。
109.具体实施时,将解析数据分解成多批次的微小解析数据单元,利用数字下标来展开操作顺序,以实时有序来保证同步操作高效。
110.在一实施例中,根据唯一的同步顺序标识,采用mysql数据库中的get操作将每一批次读取的解析数据同步至消费端数据库。
111.具体实施时,使用mysql数据库中的get方法操作简单,确保高效数据库同步。
112.在一实施例中,每次执行mysql数据库中的get操作,都会在服务器本地更新读取计数器,保证解析数据单元的唯一性,如果同步消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作。
113.具体实施时,如果同步消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作,这种异常处理机制保证解析数据唯一性的同时,高效完成数据同步。
114.需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所
示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
115.本发明实施例中还提供了一种数据库同步系统,如下面的实施例所述。由于该数据库同步系统解决问题的原理与应用于系统的数据库同步方法相似,因此该数据库同步系统的实施可以参见应用于系统的数据库同步方法的实施,重复之处不再赘述。
116.图7为本发明实施例中数据库同步系统的结构示意图,如图7所示,该数据库同步系统包括:
117.生产端解析服务器701,用于在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储;
118.消费端解析服务器702,用于分批次读取所述持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识;根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
119.在一实施例中,所述生产端解析服务器701具体用于:
120.在检测到生产端数据库产生待同步数据时,对所述待同步数据执行关系型数据库管理系统mysql数据库中的二进制日志转储binlog dump操作,将待同步数据转化为二进制日志文件;
121.执行mysql数据库中的二进制日志解析binlog parser操作对所述待同步数据的二进制日志文件进行解析,得到完整的解析数据;
122.将完整的解析数据传递给couchbase数据库进行持久化存储。
123.在一实施例中,所述生产端解析服务器701还用于:
124.记录所述待同步数据的二进制日志文件的解析进度。
125.在一实施例中,所述消费端解析服务器702还用于:
126.当同步至消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作。
127.在一实施例中,所述生产端解析服务器701与所述消费端解析服务器702分开部署。
128.本发明一实施例的数据库同步系统中,所述持久层还包括扩展接口,所述扩展接口包括用户访问业务接口、允许用户操作接口以及数据同步流量控制接口。
129.图8为本发明实施例中数据库同步生产端解析服务器的结构示意图,如图8所示,该生产端解析服务器包括:
130.转储单元801,用于在检测到生产端数据库产生待同步数据时,将所述待同步数据进行二进制日志转储,得到待同步数据的二进制日志文件;
131.解析单元802,用于解析所述待同步数据的二进制日志文件,获得完整的解析数据,将所述解析数据传递给持久层存储。
132.在一实施例中,所述转储单元801具体用于:
133.在检测到生产端数据库产生待同步数据时,对所述待同步数据执行关系型数据库管理系统mysql数据库中的二进制日志转储binlog dump操作,将待同步数据转化为二进制日志文件。
134.在一实施例中,所述解析单元802具体用于:
135.执行mysql数据库中的二进制日志解析binlog parser操作对所述待同步数据的二进制日志文件进行解析,得到完整的解析数据;
136.将完整的解析数据传递给couchbase数据库进行持久化存储。
137.在一实施例中,所述解析单元802还用于:
138.记录所述待同步数据的二进制日志文件的解析进度。
139.图9为本发明实施例中数据库同步消费端解析服务器的结构示意图,如图9所示,该消费端解析服务器包括:
140.读取单元901,用于分批次读取所述持久层存储的解析数据;
141.赋予单元902,用于将每一批次读取的解析数据赋予唯一顺序标识;
142.同步单元903,用于根据所述唯一顺序标识将每一批次读取的解析数据同步至消费端数据库。
143.在一实施例中,所述同步单元903还用于:
144.当同步至消费端数据库的执行语句出现异常情况时,自动跳过异常执行语句,继续下一执行语句的操作。
145.基于前述发明构思,如图10所示,本发明还提出了一种计算机设备1000,包括存储器1010、处理器1020及存储在存储器1010上并可在处理器1020上运行的计算机程序1030,所述处理器1020执行所述计算机程序1030时实现前述数据库同步方法。
146.基于前述发明构思,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述数据库同步方法。
147.基于前述发明构思,本发明提出了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现数据库同步方法。
148.本发明提出的数据库同步方法及系统可以稳定且高效地进行数据同步,并能解决使用数据库的发布和订阅功能同步数据方法的缺陷,本发明将待同步的数据采用二进制日志转储的方式进行处理,并对二进制日志文件进行解析,将解析数据存储至持久层,在将数据同步到消费端时,采用流式消费的方式分批次读取持久层存储的解析数据,将每一批次读取的解析数据赋予唯一顺序标识,保证操作有序高效,实现了源数据表和目标数据表结构不同时的数据同步;生产端服务器与消费端服务器分开部署,独立运作,降低系统耦合度,提高程序可扩展性,基于持久层扩展用户访问业务接口、允许用户操作接口以及数据同步流量控制接口,避免了用户的专业领域盲区,使用户可以控制数据同步流量,实时监测数据同步信息,方便后期管理与维护。
149.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
150.本发明是参照根据本发明实施例的方法和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计
算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
151.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
152.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
153.最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1