一种基于CMSP的MySQLBinlog日志解析的增量同步方法与流程

文档序号:17641985发布日期:2019-05-11 00:44阅读:1170来源:国知局
一种基于CMSP的MySQLBinlog日志解析的增量同步方法与流程

本发明涉及结构化数据抽取技术,尤其涉及一种基于cmsp的mysqlbinlog日志解析的增量同步方法。



背景技术:

随着科技进步和信息技术的不断发展,数据在人们生活中扮演着越来越重要的角色。大数据这一概念被越来越多的人提及和重视,各类数据的汇集、加工和分析也显得越来越重要。智慧城市和健康医疗是当下科技前沿的先锋代表,但其依赖的基础依然是浩瀚有序的各种数据。因此如何实时高效获取准确的数据变得尤为重要,各种同源和异源数据库之间的数据汇聚逐步被提上日程。



技术实现要素:

为了解决以上技术问题,本发明提出了一种基于cmsp的mysqlbinlog日志解析的增量同步方法,基于高效、可靠、稳定的cmsp(云消息服务平台),mysqlbinlog的增量同步技术可以准实时的将mysql数据库中增、删、改的各类数据同步到同源或者异源数据库中,从而实现数据汇聚的目的。。

本发明的技术方案是:

一种基于cmsp实现mysqlbinlog日志解析的增量同步方法,通过解析mysql的binlog二进制数据,可以准实时获取mysql数据库中增、删、改的数据,基于高效、可靠、稳定的云消息服务平台,解决了增量数据的同步问题。通过将解析后的数据转换成通用的协议数据格式,实现了异源和同源数据库之间的数据汇集问题。

本发明通过解析mysqlbinlog日志获取增量数据。mysql这部分数据是二进制格式的数据,按照mysql的通信协议,将二进制数据转换成ascii值的数据。这部分数据涵盖了mysql数据库增、删、改的信息。通过对这部分数据进行格式转换,转换为一种约定的协议格式,基于高效、稳定、安全的云消息传输平台,可以实现mysql数据增量同步到mysql、db2、oracle等同源或异源数据库。

进一步的包括,基于cmsp的mysqlbinlog日志解析的增量同步方法按照业务功能划分,主要分为三部分,分别为获取二进制日志、二进制日志解析和格式转换。

其中,

二进制日志获取是整个设计中的最基础部分,后续的解析完全依赖于日志的获取。

通过调用mysql的通信协议,模拟从库向主库发送dump请求命令。主库在收到请求命令后,会主动推送变化的日志信息。

二进制日志解析是整个增量同步方法中的核心部分,功能是将二进制数据转换成可读性的数据。

由于binlog日志是以事件为基础进行记录的。在进行解析时,需要对各种事件的协议格式分别处理,对应成功能相对独立的模块。

在日志解析这部分,分为通用功能模块和专用功能模块;

通用功能模块主要是将一些公共函数组装到该模块中,最大限度达到复用的目的;

专用功能模块是功能非常独立的模块部分,对应于高内聚、低耦合的设计思想。像新增数据、变更数据和删除数据的解析功能分别对应独立的模块。

格式转换模块将解析之后的数据,根据通用转换协议,将数据组装成通用格式。

组装后的数据放到云消息服务平台,供其他同源或者异源数据库的入库使用,从而方便实现mysql到同源或异源数据库的增量同步。

本发明的有益效果是

为了解决mysql增量数据(增、删、改)的准实时同步、同时对源库的影响降到最低,无需在数据库源端建表,避免触发器方式实现增量带来的不利因素。同时抽取的是具体的数据,而不是增、删、改的sql语句,摆脱了数据库类型的限制。为实现异源数据库之间的增、删、改数据同步做了很好的铺垫。

附图说明

图1是mysqlbinlog解析增量同步到同源数据库示意图;

图2是mysqlbinlog解析增量同步到异源数据库示意图。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

本发明提出一种基于cmsp实现mysqlbinlog日志解析的增量同步方法,通过解析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数据库中增、删、改的数据,基于高效、可靠、稳定的云消息服务平台,解决了增量数据的同步问题。通过将解析后的数据转换成通用的协议数据格式,实现了异源和同源数据库之间的数据汇集问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1