[发明专利]一种数据库的同步方法及装置在审
申请号: | 201911406311.7 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111241191A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 刘倞;朱兴;吴磊 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 白晓晰 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 同步 方法 装置 | ||
本发明公开了一种数据库的同步方法,包括:获取源数据库的二进制日志文件;配置源数据库和目标数据库,解析所述二进制日志文件,生成对应的源数据库操作指令;将所述源数据库操作指令转换为目标数据库的操作指令;执行所述目标数据库的操作指令完成数据库的同步操作,解决了不同类型的数据库之间的数据同步不需要通过编写代码或通过应用程序实现的问题。
技术领域
本申请涉及数据库管理领域,具体涉及一种数据库的同步方法,同时涉及一种数据库的同步装置。
背景技术
数据库同步技术是目前应用系统处理的核心,不但应用系统需要向数据库进行增/删/改/查操作,同样数据仓库也需要从众多的数据库中获取不同交易数据来完善自身的数据集。数据同步主要有两个层面,一是通过后台程序编码实现数据同步,二是直接作用于数据库,在数据库层面实现数据的同步。
目前常用的一些数据库同步的方法:a、通过发布/订阅的方式实现同步,发布/订阅是SQL Server自带的一种数据库备份的机制,通过该机制可以快速的实现数据的备份同步,不用编写任何的代码;b、通过SQL JOB方式实现数据同步,通过SQL Job定时作业的方式实现同步其基本原理就是通过目标服务器和源服务器的连接,然后通过编写SQL语句,从源服务器中读取数据,再更新到目标服务器;c、通过Service Broker消息队列的方式实现数据同步,SQL Server Service Broker是数据库引擎的组成部分,为SQL Server提供队列和可靠的消息传递。既可用于使用单个SQL Server实例的应用程序,也可用于在多个实例间分发工作的应用程序。
从目前常用的一些数据库同步的方法可知,目前,不同类型的数据库之间的数据同步需要通过编写代码或通过应用程序实现。
发明内容
本申请提供一种数据库的同步方法,解决了不同类型的数据库之间的数据同步不需要通过编写代码或通过应用程序实现的问题。
本申请提供一种数据库的同步方法,包括:
获取源数据库的二进制日志文件;
配置源数据库和目标数据库,解析所述二进制日志文件,生成对应的源数据库操作指令;将所述源数据库操作指令转换为目标数据库的操作指令;
执行所述目标数据库的操作指令完成数据库的同步操作。
优选的,所述获取源数据库的二进制日志文件,包括:
若数据库为MySQL数据库,则获取binlog日志。
优选的,所述配置源数据库和目标数据库,包括:
配置源数据库的二进制日志文件的存放路径;
读取源数据库上次的同步位置;
在源数据库建立缓存区,将源数据库的二进制日志文件转换成文本并写入缓存区;
记录源数据库当前的同步位置;
建立目标数据库与源数据库的映射。
优选的,所述解析所述二进制日志文件,生成对应的源数据库操作指令,将所述源数据库操作指令转换为目标数据库的操作指令,具体的包括:
若源数据库为MySQL数据库,则解析所述binlog日志;
根据所述binlog日志提取SQL语句,并将所述SQL语句转换为目标数据库SQL语句;
将所述目标数据库SQL语句转换成cmd指令。
优选的,根据所述binlog日志提取SQL语句,包括:
按照MySQL数据库的二进制日志的格式,提取关键的SQL语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911406311.7/2.html,转载请声明来源钻瓜专利网。