[发明专利]一种数据库同步方法及装置在审
申请号: | 201410696885.3 | 申请日: | 2014-11-26 |
公开(公告)号: | CN104346479A | 公开(公告)日: | 2015-02-11 |
发明(设计)人: | 陈宗志;王超;陈磊;陈营;李明昊 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 同步 方法 装置 | ||
1.一种数据库同步方法,其特征在于,所述方法应用于至少包含第一数据库和第二数据库的数据系统,所述第一数据库由主数据库切换为从数据库,所述第二数据库由从数据库切换为主数据库,所述方法包括:
在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
2.如权利要求1所述的方法,其特征在于,所述日志至少包括二进制日志binlog。
3.如权利要求1所述的方法,其特征在于,根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志,包括:
查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录;
将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
4.如权利要求3所述的方法,其特征在于,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,包括:
在所述第一数据库日志中,确定生成时间距当前时刻最近、且同时包含在所述第一数据库日志和所述第二数据库日志中的操作记录;
将确定出的操作记录的生成时间作为分界时间戳;
在所述第一数据库日志中,查找生成时间晚于所述分界时间戳的操作记录。
5.如权利要求3所述的方法,其特征在于,将查找到的各操作记录并入所述第二数据库日志中,包括:
针对查找到的每条操作记录,确定该操作记录对应的标识,作为待定标识;
在所述第二数据库日志中,确定生成时间晚于该操作记录的生成时间的各操作记录对应的标识,作为对比标识;
当各对比标识中不存在所述待定标识时,根据该操作记录的生成时间,将该操作记录插入所述第二数据库日志中。
6.如权利要求5所述的方法,其特征在于,当各对比标识中存在所述待定标识时,忽略所述第一数据库日志中所述待定标识对应的操作记录。
7.如权利要求3所述的方法,其特征在于,根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作,包括:
针对并入所述第二数据库日志中的每条操作记录,提取该操作记录中包含的操作指令,并在所述第二数据库上执行该操作指令。
8.一种数据库同步装置,其特征在于,所述装置应用于至少包含第一数据库和第二数据库的数据系统,所述第一数据库由主数据库切换为从数据库,所述第二数据库由从数据库切换为主数据库,所述装置包括:
提取模块,用于在所述第一数据库切换为从数据库后,提取所述第一数据库的第一数据库日志和所述第二数据库的第二数据库日志;
更新模块,用于根据所述第一数据库日志和所述第二数据库日志,更新所述第二数据库日志;
同步模块,用于根据更新后的第二数据库日志中包含的各操作记录,对所述第二数据库中的数据进行同步操作。
9.如权利要求8所述的装置,其特征在于,所述日志至少包括二进制日志binlog。
10.如权利要求8所述的装置,其特征在于,所述更新模块进一步用于,查找包含在所述第一数据库日志中,且不包含在所述第二数据库日志中的操作记录,将查找到的各操作记录并入所述第二数据库日志中,并将并入后的第二数据库日志作为更新后的第二数据库日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410696885.3/1.html,转载请声明来源钻瓜专利网。