[发明专利]一种数据库的同步方法及装置在审
申请号: | 201911406311.7 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111241191A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 刘倞;朱兴;吴磊 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 白晓晰 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 同步 方法 装置 | ||
1.一种数据库的同步方法,其特征在于,包括:
获取源数据库的二进制日志文件;
配置源数据库和目标数据库,解析所述二进制日志文件,生成对应的源数据库操作指令;将所述源数据库操作指令转换为目标数据库的操作指令;
执行所述目标数据库的操作指令完成数据库的同步操作。
2.根据权利要求1所述的方法,其特征在于,所述获取源数据库的二进制日志文件,包括:
若数据库为MySQL数据库,则获取binlog日志。
3.根据权利要求1所述的方法,其特征在于,所述配置源数据库和目标数据库,包括:
配置源数据库的二进制日志文件的存放路径;
读取源数据库上次的同步位置;
在源数据库建立缓存区,将源数据库的二进制日志文件转换成文本并写入缓存区;
记录源数据库当前的同步位置;
建立目标数据库与源数据库的映射。
4.根据权利要求1所述的方法,其特征在于,所述解析所述二进制日志文件,生成对应的源数据库操作指令,将所述源数据库操作指令转换为目标数据库的操作指令,具体的包括:
若源数据库为MySQL数据库,则解析所述binlog日志;
根据所述binlog日志提取SQL语句,并将所述SQL语句转换为目标数据库SQL语句;
将所述目标数据库SQL语句转换成cmd指令。
5.根据权利要求4所述的方法,其特征在于,根据所述binlog日志提取SQL语句,包括:
按照MySQL数据库的二进制日志的格式,提取关键的SQL语句。
6.根据权利要求4所述的方法,其特征在于,在将所述目标数据库SQL语句转换成cmd指令的步骤之前,还包括:
加密所述目标数据库SQL语句中的关键字段值。
7.根据权利要求1所述的方法,其特征在于,所述执行所述目标数据库的操作指令完成数据库的同步操作,包括:
在所述目标数据库执行cmd指令,完成源数据库到目标数据库的同步操作。
8.根据权利要求1或7所述的方法,其特征在于,在执行所述目标数据库的操作指令完成数据库的同步操作的步骤之后,还包括:
将执行过程写入日志;
将执行失败的命令保存至错误数据存放路径;
备份同步的数据。
9.根据权利要求1所述的方法,其特征在于,所述源数据库和目标数据库,可以为不同类型的数据库。
10.一种数据库的同步装置,其特征在于,包括;
日志获取单元,用于获取源数据库的二进制日志文件:
操作指令获取单元,用于配置源数据库和目标数据库,解析所述二进制日志文件,生成对应的源数据库操作指令;将所述源数据库操作指令转换为目标数据库的操作指令;
同步单元,用于执行所述目标数据库的操作指令完成数据库的同步操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911406311.7/1.html,转载请声明来源钻瓜专利网。