[发明专利]一种数据库同步方法和数据库系统有效
申请号: | 201310507349.X | 申请日: | 2013-10-24 |
公开(公告)号: | CN103500229B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 王超;陈磊;陈营;陈宗志 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京中强智尚知识产权代理有限公司11448 | 代理人: | 姜精斌 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 同步 方法 系统 | ||
1.一种数据库同步方法,其包括:
将主数据库划分为多个主数据分区,将从数据库划分为多个从数据分区;
为每个主数据分区设置一主二进制日志文件并为每个从数据分区设置一从二进制日志文件;
当所述主数据分区发生数据更改时,将此数据更改记录到与此主数据分区对应的主二进制日志文件中,并将所述主数据分区的数据更改记录发送到所述从数据库;
对于每个从数据分区启动至少一个接收线程和至少一个第二工作线程;当所述接收线程接收到与其对应的从数据分区的数据更改记录时,将此数据更改记录传递到所述第二工作线程;所述第二工作线程将此数据更改记录到与所述第二工作线程对应的从数据分区的从二进制日志文件中,并执行与所述第二工作线程对应的从数据分区的数据更改。
2.如权利要求1所述的方法,其中:
所述主数据库与所述从数据库的分区划分相同,并且,所述多个主数据分区与所述多个从数据分区一一对应。
3.如权利要求2所述的方法,其中:
对于每个主数据分区启动至少一个第一工作线程;
所述第一工作线程执行与其对应的主数据分区的数据更改,并将数据更改记录到与此主数据分区对应的主二进制日志文件中。
4.如权利要求2所述的方法,其中:
对于每个主二进制日志文件启动至少一个发送线程;所述发送线程监控与其对应的主二进制日志文件;
当此主二进制日志文件的大小发生变化时,所述发送线程读取此主二进制日志文件中新插入的数据更改记录,并将所述新插入的数据更改记录缓存在缓存队列中;
当缓存队列的长度到达设定的阈值时,所述发送线程将所述缓存队列中的数据更改记录发送到所述从数据库。
5.如权利要求4所述的方法,其中:
所述发送线程和所述接收线程采用同步或异步方式传递所述数据更改记录;
所述数据更改记录包括执行DROP、CREATE、ALTER、GRANT、REVOKE、TRUNCATE、UPDATE、INSERT、DELETE数据库命令的记录。
6.一种数据库系统,其特征在于,包括:
主数据库节点和从数据库节点;其中,在所述主数据库节点中运行主数据库,在所述从数据库节点中运行从数据库;
所述主数据库划分为多个主数据分区,在主数据库节点中对应于每个主数据分区设置主二进制日志文件;所述从数据库划分为多个从数据分区,在主数据库节点中对应于每个从数据分区设置从二进制日志文件;
当所述主数据分区发生数据更改时,所述主数据库将此数据更改记录到与此主数据分区对应的主二进制日志文件中,并将所述主数据分区的数据更改记录发送到所述从数据库;
在从数据库节点中对于每个从数据分区启动至少一个接收线程和至少一个第二工作线程;当所述接收线程接收到与其对应的从数据分区的数据更改记录时,将此数据更改记录传递到所述第二工作线程;所述第二工作线程将此数据更改记录到与所述第二工作线程对应的从数据分区的从二进制日志文件中,并执行与所述第二工作线程对应的从数据分区的数据更改。
7.如权利要求6所述的系统,其特征在于:
所述主数据库与所述从数据库的分区划分相同,并且,所述多个主数据分区与所述多个从数据分区一一对应,并设置编号;
在主数据库节点中对于每个主数据分区启动至少一个第一工作线程;所述第一工作线程执行与其对应的主数据分区的数据更改,并将数据更改记录到与此主数据分区对应的主二进制日志文件中。
8.如权利要求7所述的系统,其特征在于:
在主数据库节点中对于每个主二进制日志文件启动至少一个发送线程;所述发送线程监控与其对应的主二进制日志文件;
当此主二进制日志文件的大小发生变化时,所述发送线程读取此主二进制日志文件中新插入的数据更改记录,并将所述新插入的数据更改记录缓存在缓存队列中;
当缓存队列的长度到达设定的阈值时,所述发送线程将所述缓存队列中的数据更改记录发送到所述从数据库。
9.如权利要求8所述的系统,其特征在于:
所述发送线程和所述接收线程采用同步或异步方式传递所述数据更改记录;
所述数据更改记录包括执行DROP、CREATE、ALTER、GRANT、REVOKE、TRUNCATE、UPDATE、INSERT、DELETE数据库命令的记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310507349.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:钢芯铸胶螺旋托辊
- 下一篇:刮板输送机电缆保护装置