CN104933127A - 基于MariaDB的跨机房数据库同步设备及方法 - Google Patents
基于MariaDB的跨机房数据库同步设备及方法 Download PDFInfo
- Publication number
- CN104933127A CN104933127A CN201510323288.0A CN201510323288A CN104933127A CN 104933127 A CN104933127 A CN 104933127A CN 201510323288 A CN201510323288 A CN 201510323288A CN 104933127 A CN104933127 A CN 104933127A
- Authority
- CN
- China
- Prior art keywords
- data event
- new record
- major key
- record
- data
- 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
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
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
本发明公开了一种基于MariaDB的跨机房数据库同步设备及方法,该跨机房数据库同步设备包括源数据库监听捕捉装置、数据事件处理装置、数据事件分发装置及目标数据库同步执行装置,其中,源数据库监听捕捉装置对源数据库进行监听,获取数据事件记录队列,数据事件处理装置对获取的数据事件记录队列进行合并和压缩,生成数据事件更新记录包,数据事件分发装置将数据事件更新记录包分发到各个目标数据库,目标数据库同步执行装置根据收到的数据事件更新记录包,对目标数据库进行同步操作。本发明降低了跨机房数据库同步所需要的网络带宽要求,并能在网络拥堵时保证数据库同步的可靠性。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基于MariaDB的跨机房数据库同步设备及方法。
背景技术
MySQL是互联网行业广泛使用的开源数据库软件,不过由于甲骨文数据库(Oracle)存在将MySQL闭源的风险,许多基于MySQL的应用都面临需要使用替代性的开源数据库软件,MariaDB是一种开源数据库软件,是对MySQL兼容性最好的替代方案。
目前基于MariaDB的数据库同步,一般的做法是通过解析源数据库的数据库模式定义语言/数据操作语言(DML/DDL)的变更日志记性,发送目标数据库再重新执行一次数据库DML/DDL变更,用来保证同步的数据库保持一致。这种方法传输的数据量过于巨大,并且在进行跨机房的数据库同步时,对机房间的网络带宽要求极高,在网络延时较大、网络流量资源不足、同步压力较大的情况下极易造成网络拥堵,影响数据同步的可靠性。
发明内容
(一)要解决的技术问题
本发明的目的在于提供一种基于MariaDB的跨机房数据库同步设备及方法,以降低跨机房数据库同步所需要的网络带宽要求,并在网络拥堵时保证数据库同步的可靠性。
(二)技术方案
本发明提供一种基于MariaDB的跨机房数据库同步设备,其包括:
源数据库监听捕捉装置,用于对源数据库进行监听,获取数据事件记录队列;
数据事件处理装置,用于对获取的数据事件记录队列进行合并和压缩,生成数据事件更新记录包;
数据事件分发装置,用于将数据事件更新记录包分发到各个目标数据库;以及
目标数据库同步执行装置,用于根据收到的数据事件更新记录包,对目标数据库进行同步操作。
本发明提供一种基于MariaDB的跨机房数据库同步方法,其包括:
S1,对源数据库进行监听,获取数据事件记录队列;
S2,对获取的数据事件记录队列进行合并和压缩,生成数据事件更新记录包;
S3,将数据事件更新记录包分发到各个目标数据库;
S4,根据收到的数据事件更新记录包,对目标数据库进行同步操作。
(三)有益效果
1.本发明提供的基于MariaDB的跨机房数据库同步设备及方法,通过对数据事件记录队列进行合并及压缩,极大地减少了需要传输的数据量,因此降低了跨机房数据库同步所需要的网络带宽要求。
2.本发明提供的基于MariaDB的跨机房数据库同步设备及方法,将数据事件更新记录包分发到各个目标数据库时,若遇到网络阻塞,则执行重新分发的操作,这样确保能够将数据事件更新记录包分发到各个目标数据库,因此保证了数据库同步的可靠性。
附图说明
图1是本发明提供的基于MariaDB的跨机房数据库同步设备的结构示意图。
图2是本发明在进行对数据事件记录队列进行合并的流程图。
图3是本发明提供的基于MariaDB的跨机房数据库同步方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明提供一种基于MariaDB的跨机房数据库同步设备,其包括源数据库监听捕捉装置10、数据事件处理装置20、数据事件分发装置30及目标数据库同步执行装置40,其中,源数据库监听捕捉装置10对源数据库进行监听,获取数据事件记录队列,数据事件处理装置20对获取的数据事件记录队列进行合并和压缩,生成数据事件更新记录包,数据事件分发装置30将数据事件更新记录包分发到各个目标数据库,目标数据库同步执行装置40根据收到的数据事件更新记录包,对目标数据库进行同步操作。本发明降低了跨机房数据库同步所需要的网络带宽要求,并能在网络拥堵时保证数据库同步的可靠性。
如图1所示,图1是本发明提供的基于MariaDB的跨机房数据库同步设备的结构示意图,结合具体实施例,该设备包括源数据库监听捕捉装置10、数据事件处理装置20、数据事件分发装置30及目标数据库同步执行装置40,其中:
源数据库监听捕捉装置10采用socket服务对源数据库进行监听,获取涉及到数据变化的数据事件记录队列,其中,数据事件记录队列包括多个按时间顺序排列的数据事件,每个数据事件至少包括数据事件类型、数据事件主键信息及数据事件变更信息。
数据事件处理装置20按照数据事件主键信息,将数据事件记录队列分为一个或多个主键数据事件记录队列,其中,每个主键数据事件记录队列中数据事件的数据事件主键信息相同,将每个主键数据事件记录队列中的数据事件进行合并,获得相应的主键数据事件更新记录,将所有主键数据事件更新记录进行合并,获得数据事件更新记录,对数据事件更新记录进行压缩,生成数据事件更新记录包,其中,在进行数据事件合并时,可按照时间顺序对数据事件进行合并,并且,采用数据操作语言(DML)中的***语句(Insert)、删除语句(Delete)和/或更新语句(Update)进行数据事件合并;数据事件处理装置通过对数据事件记录队列进行合并及压缩,极大地减少了需要传输的数据量,因此降低了跨机房数据库同步所需要的网络带宽要求。
数据事件分发装置30将数据事件更新记录包分发到各个目标数据库,其中,在遇到网络阻塞时,执行重新分发的操作,确保能够将数据事件更新记录包分发到各个目标数据库,因此保证了数据库同步的可靠性。
目标数据库同步执行装置40对数据事件更新记录包进行解压缩,获取所述数据事件更新记录,根据所述数据事件更新记录,完成所述目标数据库的同步操作。
如图2所示,图2是本发明在进行对数据事件记录队列进行合并的流程图,按照数据事件主键信息,将数据事件记录队列分为一个或多个主键数据事件记录队列,其中,每个主键数据事件记录队列中数据事件的数据事件主键信息相同,将每个主键数据事件记录队列中的数据事件进行合并,获得相应的主键数据事件更新记录,将所有主键数据事件更新记录进行合并,获得数据事件更新记录,通过合并极大地减少了需要传输的数据量,因此降低了跨机房数据库同步所需要的网络带宽要求。
如图3所示,图3是本发明提供的基于MariaDB的跨机房数据库同步方法的流程图,结合具体实施例,该方法包括:
S1,采用socket服务对源数据库进行监听,获取涉及到数据变化的数据事件记录队列,其中,数据事件记录队列包括多个按时间顺序排列的数据事件,每个数据事件至少包括数据事件类型、数据事件主键信息及数据事件变更信息;
S2,按照数据事件主键信息,将数据事件记录队列分为一个或多个主键数据事件记录队列,其中,每个主键数据事件记录队列中数据事件的数据事件主键信息相同,将每个主键数据事件记录队列中的数据事件进行合并,获得相应的主键数据事件更新记录,将所有主键数据事件更新记录进行合并,获得数据事件更新记录,对数据事件更新记录进行压缩,生成数据事件更新记录包,其中,在进行数据事件合并时,可按照时间顺序对数据事件进行合并,并且,采用数据操作语言(DML)中的***语句(Insert)、删除语句(Delete)和/或更新语句(Update)进行数据事件合并;此步骤通过对数据事件记录队列进行合并及压缩,极大地减少了需要传输的数据量,因此降低了跨机房数据库同步所需要的网络带宽要求;
S3,将数据事件更新记录包分发到各个目标数据库,其中,在遇到网络阻塞时,执行重新分发的操作,确保能够将数据事件更新记录包分发到各个目标数据库,因此保证了数据库同步的可靠性;
S4,对数据事件更新记录包进行解压缩,获取所述数据事件更新记录,根据所述数据事件更新记录,完成所述目标数据库的同步操作。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种基于MariaDB的跨机房数据库同步设备,其特征在于,该设备包括:
源数据库监听捕捉装置,用于对源数据库进行监听,获取数据事件记录队列;
数据事件处理装置,用于对获取的数据事件记录队列进行合并和压缩,生成数据事件更新记录包;
数据事件分发装置,用于将所述数据事件更新记录包分发到各个目标数据库;以及
目标数据库同步执行装置,用于根据收到的数据事件更新记录包,对目标数据库进行同步操作。
2.根据权利要求1所述的设备,其特征在于,所述源数据库监听捕捉装置采用socket服务对所述源数据库进行监听,获取涉及到数据变化的数据事件记录队列。
3.根据权利要求1所述的设备,在所述数据事件分发装置遇到网络阻塞时,执行重新分发的操作。
4.根据权利要求1所述的设备,其特征在于,所述数据事件记录队列包括多个按时间顺序排列的数据事件,每个数据事件至少包括数据事件类型、数据事件主键信息及数据事件变更信息。
5.根据权利要求4所述的设备,其特征在于,所述数据事件处理装置按照所述数据事件主键信息,将所述数据事件记录队列分为一个或多个主键数据事件记录队列,其中,每个主键数据事件记录队列中数据事件的数据事件主键信息相同,将每个主键数据事件记录队列中的数据事件进行合并,获得相应的主键数据事件更新记录,将所有主键数据事件更新记录进行合并,获得数据事件更新记录,对所述数据事件更新记录进行压缩,生成数据事件更新记录包。
6.根据权利要求5所述的设备,其特征在于,按照所述时间顺序,对所述数据事件进行合并。
7.根据权利要求5所述的设备,其特征在于,采用数据操作语言DML中的***语句Insert、删除语句Delete和/或更新语句Update进行数据事件合并。
8.根据权利要求5所述的设备,其特征在于,在对所述数据事件进行合并时,将所述数据事件类型相同的数据事件进行合并。
9.根据权利要求5所述的设备,其特征在于,所述目标数据库同步执行装置对所述数据事件更新记录包进行解压缩,获取所述数据事件更新记录,根据所述数据事件更新记录,完成所述目标数据库的同步操作。
10.一种基于MariaDB的跨机房数据库同步方法,其特征在于,该方法包括:
S1,对源数据库进行监听,获取数据事件记录队列;
S2,对获取的数据事件记录队列进行合并和压缩,生成数据事件更新记录包;
S3,将所述数据事件更新记录包分发到各个目标数据库;
S4,根据收到的数据事件更新记录包,对目标数据库进行同步操作。
11.根据权利要求10所述的方法,其特征在于,在所述S1中,采用socket服务对所述源数据库进行监听,获取涉及到数据变化的数据事件记录队列。
12.根据权利要求10所述的方法,其特征在于,在所述S3中,在遇到网络阻塞时,执行重新分发的操作。
13.根据权利要求10所述的方法,其特征在于,所述数据事件记录队列包括多个按时间顺序排列的数据事件,每个数据事件至少包括数据事件类型、数据事件主键信息及数据事件变更信息。
14.根据权利要求13所述的方法,其特征在于,在所述S2中,按照所述数据事件主键信息,将所述数据事件记录队列分为一个或多个主键数据事件记录队列,其中,每个主键数据事件记录队列中数据事件的数据事件主键信息相同,将每个主键数据事件记录队列中的数据事件进行合并,获得相应的主键数据事件更新记录,将所有主键数据事件更新记录进行合并,获得数据事件更新记录,对所述数据事件更新记录进行压缩,生成数据事件更新记录包。
15.根据权利要求14所述的方法,其特征在于,按照所述时间顺序,对所述数据事件进行合并。
16.根据权利要求14所述的方法,其特征在于,采用数据操作语言DML中的***语句Insert、删除语句Delete和/或更新语句Update进行数据事件合并。
17.根据权利要求14所述的方法,其特征在于,在对所述数据事件进行合并时,将所述数据事件类型相同的数据事件进行合并。
18.根据权利要求14所述的方法,其特征在于,在所述S4中,对所述数据事件更新记录包进行解压缩,获取所述数据事件更新记录,根据所述数据事件更新记录,完成所述目标数据库的同步操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510323288.0A CN104933127A (zh) | 2015-06-12 | 2015-06-12 | 基于MariaDB的跨机房数据库同步设备及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510323288.0A CN104933127A (zh) | 2015-06-12 | 2015-06-12 | 基于MariaDB的跨机房数据库同步设备及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104933127A true CN104933127A (zh) | 2015-09-23 |
Family
ID=54120294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510323288.0A Pending CN104933127A (zh) | 2015-06-12 | 2015-06-12 | 基于MariaDB的跨机房数据库同步设备及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104933127A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156318A (zh) * | 2016-07-05 | 2016-11-23 | 武汉斗鱼网络科技有限公司 | 一种实现多节点数据库高可用的***及方法 |
WO2017080431A1 (zh) * | 2015-11-12 | 2017-05-18 | ***股份有限公司 | 一种基于日志解析的数据库复制方法及装置 |
CN108512948A (zh) * | 2018-03-21 | 2018-09-07 | 平安普惠企业管理有限公司 | 通讯录更新方法、装置、计算机设备和存储介质 |
CN108595605A (zh) * | 2018-04-20 | 2018-09-28 | 上海蓥石汽车技术有限公司 | 一种车联网平台数据库的构建方法 |
CN109413127A (zh) * | 2017-08-18 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 一种数据同步方法和装置 |
CN112015812A (zh) * | 2020-08-10 | 2020-12-01 | 仁励家网络科技(杭州)有限公司 | 数据同步方法和数据同步装置 |
CN116737834A (zh) * | 2023-06-26 | 2023-09-12 | 舟谱数据技术南京有限公司 | 经销商多租户分库分表场景数据实时同步*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010438A1 (en) * | 2002-05-01 | 2006-01-12 | Thales Avionics, Inc. | Method and system for configuration and download in a restricted architecture network |
CN102637214A (zh) * | 2012-04-28 | 2012-08-15 | 中国工商银行股份有限公司 | 基于数据库服务间的通用数据同步方法及其*** |
CN103778136A (zh) * | 2012-10-19 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种跨机房数据库同步方法及*** |
CN103873517A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和*** |
-
2015
- 2015-06-12 CN CN201510323288.0A patent/CN104933127A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060010438A1 (en) * | 2002-05-01 | 2006-01-12 | Thales Avionics, Inc. | Method and system for configuration and download in a restricted architecture network |
CN102637214A (zh) * | 2012-04-28 | 2012-08-15 | 中国工商银行股份有限公司 | 基于数据库服务间的通用数据同步方法及其*** |
CN103778136A (zh) * | 2012-10-19 | 2014-05-07 | 阿里巴巴集团控股有限公司 | 一种跨机房数据库同步方法及*** |
CN103873517A (zh) * | 2012-12-14 | 2014-06-18 | 中兴通讯股份有限公司 | 一种数据同步的方法、装置和*** |
Non-Patent Citations (2)
Title |
---|
杨彦彬: "《数据通信技术》", 30 June 2009, 北京邮电大学出版社 * |
黄缙华: "《MARIADB入门很简单》", 30 November 2014 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017080431A1 (zh) * | 2015-11-12 | 2017-05-18 | ***股份有限公司 | 一种基于日志解析的数据库复制方法及装置 |
TWI628551B (zh) * | 2015-11-12 | 2018-07-01 | 中國銀聯股份有限公司 | Data library copying method and device based on log parsing |
CN106156318A (zh) * | 2016-07-05 | 2016-11-23 | 武汉斗鱼网络科技有限公司 | 一种实现多节点数据库高可用的***及方法 |
CN109413127A (zh) * | 2017-08-18 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 一种数据同步方法和装置 |
CN109413127B (zh) * | 2017-08-18 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 一种数据同步方法和装置 |
CN108512948A (zh) * | 2018-03-21 | 2018-09-07 | 平安普惠企业管理有限公司 | 通讯录更新方法、装置、计算机设备和存储介质 |
CN108512948B (zh) * | 2018-03-21 | 2022-05-17 | 平安普惠企业管理有限公司 | 通讯录更新方法、装置、计算机设备和存储介质 |
CN108595605A (zh) * | 2018-04-20 | 2018-09-28 | 上海蓥石汽车技术有限公司 | 一种车联网平台数据库的构建方法 |
CN112015812A (zh) * | 2020-08-10 | 2020-12-01 | 仁励家网络科技(杭州)有限公司 | 数据同步方法和数据同步装置 |
CN112015812B (zh) * | 2020-08-10 | 2021-04-27 | 仁励家网络科技(杭州)有限公司 | 数据同步方法和数据同步装置 |
CN116737834A (zh) * | 2023-06-26 | 2023-09-12 | 舟谱数据技术南京有限公司 | 经销商多租户分库分表场景数据实时同步*** |
CN116737834B (zh) * | 2023-06-26 | 2024-04-19 | 舟谱数据技术南京有限公司 | 经销商多租户分库分表场景数据实时同步*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104933127A (zh) | 基于MariaDB的跨机房数据库同步设备及方法 | |
CN109815028B (zh) | 数据同步的***、方法、装置和计算机存储介质 | |
WO2019100614A1 (zh) | 埋点数据处理方法、装置、计算机设备和存储介质 | |
CN102970158B (zh) | 日志存储与处理的方法及日志服务器 | |
CN104699541B (zh) | 同步数据的方法、装置、数据传输组件及*** | |
CN105955970A (zh) | 一种基于日志解析的数据库复制方法及装置 | |
CN104022902A (zh) | 一种监控服务器集群的方法和*** | |
CN110532322B (zh) | 运维交互方法、***、计算机可读存储介质及设备 | |
CN111209310B (zh) | 基于流计算的业务数据处理方法、装置和计算机设备 | |
CN107995242A (zh) | 一种业务处理方法及*** | |
CN111294218B (zh) | 信息处理方法、装置、***及存储介质 | |
CN108134746B (zh) | 轨道交通数据的处理方法及装置 | |
CN105279045A (zh) | 一种数据库的数据恢复方法及*** | |
CN104991952A (zh) | 一种智能数据分发流程引擎及其同步数据的方法 | |
CN111225280A (zh) | 基于嵌入式平台的轻量级视频分析*** | |
CN110018993B (zh) | 一种数据分析***、方法及监控分析*** | |
CN113329139B (zh) | 视频流处理方法、装置及计算机可读存储介质 | |
CN112416396A (zh) | 一种应用程序更新方法和*** | |
CN103944775A (zh) | 一种网络流量采集分析及展示输出的方法 | |
WO2015139565A1 (en) | Heterogeneous logging system management configuration | |
EP2590038A2 (en) | Method and system for storage of data collected from a real time process | |
CN108614820B (zh) | 实现流式源数据解析的方法和装置 | |
CN104636432B (zh) | 一种日志文件压缩和解压的方法及装置 | |
US20200133252A1 (en) | Systems and methods for monitoring performance of a building management system via log streams | |
CN111556098B (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: 20150923 |
|
RJ01 | Rejection of invention patent application after publication |