[发明专利]一种基于二进制日志解析的MySQL数据库增量同步实现方法在审
申请号: | 201911138975.X | 申请日: | 2019-11-20 |
公开(公告)号: | CN110879813A | 公开(公告)日: | 2020-03-13 |
发明(设计)人: | 苗亚囡;曹景亮;李朝铭 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 二进制 日志 解析 mysql 数据库 增量 同步 实现 方法 | ||
1.一种基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:该方法通过读取、解析MySQL的二进制日志文件,获取、恢复MySQL数据库源库的增量数据,将解析后的增量数据以字符串形式暂存到CMSP消息队列中,借助CMSP的加密压缩传输,解析入库端的CMSP传输的加密压缩传输的消息队列,实现MySQL数据库从源库到MySQL数据库目标库的数据同步。
2.根据权利要求1所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:MySQL的二进制日志文件以事件形式记录对数据库表的操作,并为每个已提交的事件类型分配唯一的日志名log_name和日志位置log_pos,日志位置log_pos作为对数据库进行新增、更新、删除增量操作的解析的标记点;
当增量采集开始时记录一个起始的增量点即日志名log_name和日志位置log_pos,以该增量点为起点进行数据事件类型的解析,当解析表为配置表,同时存在新增、更新、删除事件时,对事件内容进行按行解析,查询增量结束时会记录一个结束的日志名log_name和日志位置log_pos;
下次查询增量时,用上一次结束的日志名log_name和日志位置log_pos作为起始日志名log_name和日志位置log_pos继续进行新增、更新、删除增量操作的解析。
3.根据权利要求2所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:在MySQL数据库中执行新增操作时,首先创建一张测试表,测试表中元素数据类型为一个整型和一个可变长度的字符串,在该测试表中插入数据;查看创建测试表结构和插入数据时二进制日志文件中的日志名log_name和日志位置log_pos的变化;解析二进制日志文件在创建测试表结构和插入数据时的记录。
4.根据权利要求3所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:在MySQL数据库中执行新增操作时,二进制日志文件中以Qurey事件类型记录创建测试表结构和查询操作,执行插入数据时,二进制日志文件在新增事件中记录插入的数据值,每一个事件类型对应唯一的日志名log_name和日志位置log_pos。
5.根据权利要求4所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:对于MySQL数据库中执行新增操作时,读取二进制日志文件唯一的日志位置log_pos解析新增事件中对应的每个字段的新增数据,并将解析的新增数据以字符串形式存储到CMSP消息队列中,实现对插入的新增数据的采集和存储,通过CMSP的加密传输及入库组件的解析,将插入的增量数据转存到目标库,实现MySQL数据库从源库到目标库的新增数据同步。
6.根据权利要求5所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:在MySQL数据库中执行更新操作时,首先创建一张测试表,测试表中元素数据类型为一个整型和一个可变长度的字符串,对该测试表中数据做修改;查看创建测试表结构和修改数据时二进制日志文件中的日志名log_name和日志位置log_pos的变化;查看二进制日志文件在创建测试表结构和修改数据时的记录。
7.根据权利要求6所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:在MySQL数据库中执行更新操作时,二进制日志文件在事件中记录更新数据所在的数据库名和数据库表名,同时在更新事件中记录更新列数和数据值,每一个事件类型对应唯一的日志名log_name和日志位置log_pos。
8.根据权利要求7所述的基于二进制日志解析的MySQL数据库增量同步实现方法,其特征在于:对于MySQL数据库中执行更新操作时,通过唯一的日志位置log_pos为起点读取二进制日志文件,解析更新事件的内容,并将解析出的数据值以字符串的形式存储到CMSP的消息队列中,实现对MySQL数据库更新数据的采集和存储,经过CMSP的加密传输和入库组件的解析,将更新数据转存的目标库,实现MySQL数据库从源库到目标库的更新同步。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911138975.X/1.html,转载请声明来源钻瓜专利网。