CN109739931A - 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 - Google Patents
一种基于CMSP的MySQLBinlog日志解析的增量同步方法 Download PDFInfo
- Publication number
- CN109739931A CN109739931A CN201811569833.4A CN201811569833A CN109739931A CN 109739931 A CN109739931 A CN 109739931A CN 201811569833 A CN201811569833 A CN 201811569833A CN 109739931 A CN109739931 A CN 109739931A
- Authority
- CN
- China
- Prior art keywords
- data
- mysql
- log
- parsing
- binary
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于CMSP的MySQLBinlog日志解析的增量同步方法,属于结构化数据抽取技术领域,本发明通过解析MySQL Binlog日志获取增量数据。MySQL这部分数据是二进制格式的数据,按照MySQL的通信协议,将二进制数据转换成ASCII值的数据。这部分数据涵盖了MySQL数据库增、删、改的信息。通过对这部分数据进行格式转换,转换为一种约定的协议格式,基于高效、稳定、安全的云消息传输平台,可以实现MySQL数据增量同步到MySQL、DB2、Oracle等同源或异源数据库。
Description
技术领域
本发明涉及结构化数据抽取技术,尤其涉及一种基于CMSP的MySQLBinlog日志解析的增量同步方法。
背景技术
随着科技进步和信息技术的不断发展,数据在人们生活中扮演着越来越重要的角色。大数据这一概念被越来越多的人提及和重视,各类数据的汇集、加工和分析也显得越来越重要。智慧城市和健康医疗是当下科技前沿的先锋代表,但其依赖的基础依然是浩瀚有序的各种数据。因此如何实时高效获取准确的数据变得尤为重要,各种同源和异源数据库之间的数据汇聚逐步被提上日程。
发明内容
为了解决以上技术问题,本发明提出了一种基于CMSP的MySQLBinlog日志解析的增量同步方法,基于高效、可靠、稳定的CMSP(云消息服务平台),MySQL Binlog的增量同步技术可以准实时的将MySQL数据库中增、删、改的各类数据同步到同源或者异源数据库中,从而实现数据汇聚的目的。。
本发明的技术方案是:
一种基于CMSP实现MySQL Binlog日志解析的增量同步方法,通过解析MySQL的Binlog二进制数据,可以准实时获取MySQL数据库中增、删、改的数据,基于高效、可靠、稳定的云消息服务平台,解决了增量数据的同步问题。通过将解析后的数据转换成通用的协议数据格式,实现了异源和同源数据库之间的数据汇集问题。
本发明通过解析MySQL Binlog日志获取增量数据。MySQL这部分数据是二进制格式的数据,按照MySQL的通信协议,将二进制数据转换成ASCII值的数据。这部分数据涵盖了MySQL数据库增、删、改的信息。通过对这部分数据进行格式转换,转换为一种约定的协议格式,基于高效、稳定、安全的云消息传输平台,可以实现MySQL数据增量同步到MySQL、DB2、Oracle等同源或异源数据库。
进一步的包括,基于CMSP的MySQLBinlog日志解析的增量同步方法按照业务功能划分,主要分为三部分,分别为获取二进制日志、二进制日志解析和格式转换。
其中,
二进制日志获取是整个设计中的最基础部分,后续的解析完全依赖于日志的获取。
通过调用Mysql的通信协议,模拟从库向主库发送dump请求命令。主库在收到请求命令后,会主动推送变化的日志信息。
二进制日志解析是整个增量同步方法中的核心部分,功能是将二进制数据转换成可读性的数据。
由于binlog日志是以事件为基础进行记录的。在进行解析时,需要对各种事件的协议格式分别处理,对应成功能相对独立的模块。
在日志解析这部分,分为通用功能模块和专用功能模块;
通用功能模块主要是将一些公共函数组装到该模块中,最大限度达到复用的目的;
专用功能模块是功能非常独立的模块部分,对应于高内聚、低耦合的设计思想。像新增数据、变更数据和删除数据的解析功能分别对应独立的模块。
格式转换模块将解析之后的数据,根据通用转换协议,将数据组装成通用格式。
组装后的数据放到云消息服务平台,供其他同源或者异源数据库的入库使用,从而方便实现Mysql到同源或异源数据库的增量同步。
本发明的有益效果是
为了解决MySQL增量数据(增、删、改)的准实时同步、同时对源库的影响降到最低,无需在数据库源端建表,避免触发器方式实现增量带来的不利因素。同时抽取的是具体的数据,而不是增、删、改的SQL语句,摆脱了数据库类型的限制。为实现异源数据库之间的增、删、改数据同步做了很好的铺垫。
附图说明
图1是MySQL Binlog解析增量同步到同源数据库示意图;
图2是MySQL Binlog解析增量同步到异源数据库示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
本发明提出一种基于CMSP实现MySQL Binlog日志解析的增量同步方法,通过解析MySQL的Binlog二进制数据,可以准实时获取MySQL数据库中增、删、改的数据,基于高效、可靠、稳定的云消息服务平台,解决了增量数据的同步问题。通过将解析后的数据转换成通用的协议数据格式,实现了异源和同源数据库之间的数据汇集问题。
本次发明的主要内容描述如下所示:
1、使用Binlog解析方式,可以直接获取MySQL数据库中增、删、改的数据,通过转换成协议的标砖格式,可以实现同源或者异源数据库之间的准实时同步。避免了使用其他方式解析获取增、删、改SQL语句的不利方面。
2、基于浪潮高效、可靠、稳定的CMSP(云消息服务平台),可以将MySQL源端增、删、改的数据准实时准确送达到目的端,保证数据的完整性和一致性。
按照业务功能划分,主要分为三部分,分别为获取二进制日志、二进制日志解析和格式转换。
二进制日志获取是整个设计中的最基础部分,后续的解析完全依赖于日志的获取。通过调用Mysql的通信协议,模拟从库向主库发送dump请求命令。主库在收到请求命令后,会主动推送变化的日志信息。
二进制日志解析是整个增量同步方法中的核心部分,功能是将二进制数据转换成可读性的数据。由于binlog日志是以事件为基础进行记录的。在进行解析时,需要对各种事件的协议格式分别处理,对应成功能相对独立的模块。
在日志解析这部分,分为通用功能模块和专用功能模块,通用功能模块主要是将一些公共函数组装到该模块中,最大限度达到复用的目的。专用功能模块是功能非常独立的模块部分,对应于高内聚、低耦合的设计思想。像新增数据、变更数据和删除数据的解析功能分别对应独立的模块。
格式转换模块将解析之后的数据,根据通用转换协议,将数据组装成通用格式。组装后的数据放到云消息服务平台,供其他同源或者异源数据库的入库使用,从而方便实现Mysql到同源或异源数据库的增量同步。
本发明主要分为三个组件:增量抽取组件、格式转换组件、入库组件
安装实施如下所示:
(1)首先安装增量抽取组件、格式转换组件、入库组件、云消息服务组件
(2)配置增量抽取组件。
(3)配置格式转换组件
(4)配置入库组件
(5)配置云消息服务组件
(6)配置MySQL数据库,开启binlog日志的行模式
(7)启动各组件
测试结果:
1)MySQL增量同步到MySQL
对源表test1增、删、改各三次,三次变动的数据均能准实时同步到目的库。
2)MySQL增量同步到Oracle
对源表test1增、删、改各三次,三次变动的数据均能准实时同步到目的库。
通过解析MySQL的Binlog二进制数据,可以准实时获取MySQL数据库中增、删、改的数据,基于高效、可靠、稳定的云消息服务平台,解决了增量数据的同步问题。通过将解析后的数据转换成通用的协议数据格式,实现了异源和同源数据库之间的数据汇集问题。
Claims (8)
1.一种基于CMSP的MySQLBinlog日志解析的增量同步方法,其特征在于,
通过解析MySQL的Binlog二进制数据,实时获取MySQL数据库中增、删、改的数据,基于云消息服务平台,解决增量数据的同步问题;通过将解析后的数据转换成通用的协议数据格式,实现异源和同源数据库之间的数据汇集问题。
2.根据权利要求1所述的方法,其特征在于,
MySQL这部分数据是二进制格式的数据,按照MySQL的通信协议,将二进制数据转换成ASCII值的数据;这部分数据涵盖了MySQL数据库增、删、改的信息;通过对这部分数据进行格式转换,转换为一种约定的协议格式,基于云消息传输平台,实现MySQL数据增量同步到同源或异源数据库。
3.根据权利要求2所述的方法,其特征在于,
主要分为三部分,分别为获取二进制日志、二进制日志解析和格式转换;
其中,
二进制日志获取是整个设计中的最基础部分,后续的解析完全依赖于日志的获取;
二进制日志解析是整个增量同步方法中的核心部分,功能是将二进制数据转换成可读性的数据;
格式转换模块将解析之后的数据,根据通用转换协议,将数据组装成通用格式。
4.根据权利要求3所述的方法,其特征在于,
所述二进制日志获取,是通过调用Mysql的通信协议,模拟从库向主库发送dump请求命令;主库在收到请求命令后,会主动推送变化的日志信息。
5.根据权利要求3所述的方法,其特征在于,
所述二进制日志解析,是由于binlog日志是以事件为基础进行记录的;在进行解析时,需要对各种事件的协议格式分别处理,对应成功能相对独立的模块。
6.根据权利要求5所述的方法,其特征在于,
在日志解析这部分,分为通用功能模块和专用功能模块,
其中,
通用功能模块主要是将一些公共函数组装到该模块中,最大限度达到复用的目的;
专用功能模块是功能非常独立的模块部分,对应于高内聚、低耦合的设计思想。
7.根据权利要求3所述的方法,其特征在于,
在日志解析部分,新增数据、变更数据和删除数据的解析功能分别对应独立的模块。
8.根据权利要求3所述的方法,其特征在于,
将组装后的数据放到云消息服务平台,供其他同源或者异源数据库的入库使用,从而方便实现Mysql到同源或异源数据库的增量同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811569833.4A CN109739931B (zh) | 2018-12-21 | 2018-12-21 | 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811569833.4A CN109739931B (zh) | 2018-12-21 | 2018-12-21 | 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739931A true CN109739931A (zh) | 2019-05-10 |
CN109739931B CN109739931B (zh) | 2023-03-24 |
Family
ID=66361045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811569833.4A Active CN109739931B (zh) | 2018-12-21 | 2018-12-21 | 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739931B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175213A (zh) * | 2019-05-27 | 2019-08-27 | 浪潮软件集团有限公司 | 一种基于SCN方式的Oracle数据库同步***及方法 |
CN110222121A (zh) * | 2019-06-14 | 2019-09-10 | 浪潮软件股份有限公司 | 一种基于CDC方式的SQL Server数据库增量同步实现方法及*** |
CN110321359A (zh) * | 2019-07-05 | 2019-10-11 | 浪潮软件集团有限公司 | 一种基于cmsp的空间数据增量更新方法 |
CN110377666A (zh) * | 2019-07-26 | 2019-10-25 | 浪潮软件股份有限公司 | 基于cmsp消息中间件进行异源数据库间数据同步的方法 |
CN110401851A (zh) * | 2019-08-28 | 2019-11-01 | 浪潮软件集团有限公司 | 一种基于cmsp的视频转码方法 |
CN110493244A (zh) * | 2019-08-28 | 2019-11-22 | 浪潮软件集团有限公司 | 一种基于cmsp的视频采集方法 |
CN110659263A (zh) * | 2019-09-24 | 2020-01-07 | 浪潮软件集团有限公司 | 一种异构数据库数据交换方法 |
CN110866022A (zh) * | 2019-10-24 | 2020-03-06 | 贝壳技术有限公司 | 基于日志文件的数据解析方法、***及装置 |
CN110990365A (zh) * | 2019-12-03 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置、服务器及存储介质 |
CN111159205A (zh) * | 2019-11-27 | 2020-05-15 | 京东数字科技控股有限公司 | 一种数据处理方法及*** |
CN112269717A (zh) * | 2020-10-30 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种基于CMSP采集Tomcat日志并输出到Web界面的方法及工具 |
CN113760836A (zh) * | 2021-01-27 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种宽表计算方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180081956A1 (en) * | 2013-11-04 | 2018-03-22 | Guangdong Electronics Industry Institute Ltd. | Method for automatically synchronizing multi-source heterogeneous data resources |
CN108228755A (zh) * | 2017-12-21 | 2018-06-29 | 江苏瑞中数据股份有限公司 | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 |
CN108897895A (zh) * | 2018-07-12 | 2018-11-27 | 浪潮软件集团有限公司 | 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法 |
-
2018
- 2018-12-21 CN CN201811569833.4A patent/CN109739931B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180081956A1 (en) * | 2013-11-04 | 2018-03-22 | Guangdong Electronics Industry Institute Ltd. | Method for automatically synchronizing multi-source heterogeneous data resources |
CN108228755A (zh) * | 2017-12-21 | 2018-06-29 | 江苏瑞中数据股份有限公司 | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 |
CN108897895A (zh) * | 2018-07-12 | 2018-11-27 | 浪潮软件集团有限公司 | 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法 |
Non-Patent Citations (1)
Title |
---|
庞秋奔等: "基于Web Service多源异构***增量同步的实现", 《计算机应用与软件》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175213A (zh) * | 2019-05-27 | 2019-08-27 | 浪潮软件集团有限公司 | 一种基于SCN方式的Oracle数据库同步***及方法 |
CN110222121A (zh) * | 2019-06-14 | 2019-09-10 | 浪潮软件股份有限公司 | 一种基于CDC方式的SQL Server数据库增量同步实现方法及*** |
CN110321359B (zh) * | 2019-07-05 | 2023-06-09 | 浪潮软件集团有限公司 | 一种基于cmsp的空间数据增量更新方法 |
CN110321359A (zh) * | 2019-07-05 | 2019-10-11 | 浪潮软件集团有限公司 | 一种基于cmsp的空间数据增量更新方法 |
CN110377666A (zh) * | 2019-07-26 | 2019-10-25 | 浪潮软件股份有限公司 | 基于cmsp消息中间件进行异源数据库间数据同步的方法 |
CN110401851A (zh) * | 2019-08-28 | 2019-11-01 | 浪潮软件集团有限公司 | 一种基于cmsp的视频转码方法 |
CN110493244A (zh) * | 2019-08-28 | 2019-11-22 | 浪潮软件集团有限公司 | 一种基于cmsp的视频采集方法 |
CN110659263A (zh) * | 2019-09-24 | 2020-01-07 | 浪潮软件集团有限公司 | 一种异构数据库数据交换方法 |
CN110866022A (zh) * | 2019-10-24 | 2020-03-06 | 贝壳技术有限公司 | 基于日志文件的数据解析方法、***及装置 |
CN111159205A (zh) * | 2019-11-27 | 2020-05-15 | 京东数字科技控股有限公司 | 一种数据处理方法及*** |
CN110990365A (zh) * | 2019-12-03 | 2020-04-10 | 北京奇艺世纪科技有限公司 | 一种数据同步方法、装置、服务器及存储介质 |
CN112269717A (zh) * | 2020-10-30 | 2021-01-26 | 浪潮云信息技术股份公司 | 一种基于CMSP采集Tomcat日志并输出到Web界面的方法及工具 |
CN113760836A (zh) * | 2021-01-27 | 2021-12-07 | 北京京东振世信息技术有限公司 | 一种宽表计算方法和装置 |
CN113760836B (zh) * | 2021-01-27 | 2024-04-12 | 北京京东振世信息技术有限公司 | 一种宽表计算方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109739931B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739931A (zh) | 一种基于CMSP的MySQLBinlog日志解析的增量同步方法 | |
CN106850788B (zh) | 面向多源异构地理信息资源的集成框架及集成方法 | |
CN110377666A (zh) | 基于cmsp消息中间件进行异源数据库间数据同步的方法 | |
CN107729366A (zh) | 一种普适多源异构大规模数据同步*** | |
CN110175213A (zh) | 一种基于SCN方式的Oracle数据库同步***及方法 | |
CN104573056A (zh) | 一种基于oracle数据库大数据量在线迁移的方法 | |
CN103825930B (zh) | 一种分布式环境下的实时数据同步方法 | |
CN104143124B (zh) | 会议预定方法及项目管理*** | |
CN108536743A (zh) | 一种指控***数据库数据同步*** | |
CN109495290B (zh) | 一种运维***主子站交互方法和*** | |
CN101997714A (zh) | 时间处理方法、装置和*** | |
CN101340448A (zh) | 一种面向数字家庭的医疗数据集成方案 | |
CN110502490A (zh) | 一种MongoDB数据库数据同步***及实现方法 | |
CN101141754A (zh) | 一种增值业务分析***及其方法 | |
CN113032379B (zh) | 面向配网运检多源数据采集的方法 | |
CN110958327A (zh) | 一种智能变电站远程测试***及方法 | |
CN108228755A (zh) | 基于日志解析技术的MySQL数据库到Hadoop平台的数据同步复制方法 | |
CN106354707A (zh) | 一种省级电网节能发电调度报表动态生成*** | |
CN104216970B (zh) | 一种协同数据交换方法 | |
CN110069566A (zh) | 一种单向导入***中异构数据库同步方法 | |
CN109561155B (zh) | 一种变电站设备远程集中监视与运维方法 | |
CN104881739A (zh) | 一种基于iec61970/61968 cim标准的营配数据一致性校验方法 | |
CN104112183B (zh) | 智能变电站即插即用的智能调度模型管理***及管理方法 | |
CN104639613B (zh) | 基于改进网络协议的移动数据同步中间件的实现方法 | |
CN110377602A (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 | ||
CB02 | Change of applicant information |
Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province Applicant after: INSPUR SOFTWARE Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant before: INSPUR SOFTWARE Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |