[发明专利]一种内存数据库集群的同步方法及内存数据库主机在审
申请号: | 201510299544.7 | 申请日: | 2015-06-03 |
公开(公告)号: | CN104965862A | 公开(公告)日: | 2015-10-07 |
发明(设计)人: | 李雪冰;蓝应志 | 申请(专利权)人: | 深圳市创梦天地科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 数据库 集群 同步 方法 主机 | ||
技术领域
本发明涉及数据库技术领域,尤其涉及一种内存数据库集群的同步方法及内存数据库主机。
背景技术
内存数据库是指将数据放在内存中直接操作的数据库,一般以集群的方式部署,这样的集群称为内存数据库集群。内存数据库集群包括内存数据库主机和内存数据库从机,两者之间需要保持数据的同步。进一步地,同步分为全量同步和增量同步,全量同步是指内存数据库从机一次性将内存数据库主机的全部数据进行同步,增量同步是指内存数据库从机只对其与内存数据库主机之间不同的部分数据进行同步,应理解地,针对大数据的同步,执行全量同步的效率要低于增量同步,因此优先尝试增量同步。
在现有技术中,内存数据库主机会在初始化时创建一个增量同步缓存区来保存临时数据,如图1所示,当内存数据库从机与内存数据库主机之间因网络问题导致闪断重连后,内存数据库从机会向内存数据库主机发送增量同步请求指令以请求对数据进行增量同步;内存数据库主机根据增量同步请求指令中的运行号和同步偏移地址判断内存数据库从机是否满足进行增量同步的条件,如当内存数据库从机的运行号等于内存数据库主机的运行号且同步偏移地址小于增量同步缓存区的缓存上限地址时判定为满足进行增量同步的条件,此时内存数据库主机将增量同步缓存区中同步偏移地址以后的数据发送给内存数据库从机以实现增量同步,又如当内存数据库从机的运行号不等于内存数据库主机的运行号或同步偏移地址大于增量同步缓存区的地址容量时判定为不满足进行增量同步的条件,此时内存数据库主机将内存中所有的数据生成内存数据库镜像文件发送给内存数据库从机以实现全量同步。
然而,上述现有技术存在以下问题:(1)在业务高峰期或大并发数据情况下极有可能在闪断期间数据量会超过增量同步缓存区的缓存大小,导致增量同步缓存区循环覆盖缓存,造成数据丢失,影响主从机之间数据的一致性;(2)在同步偏移地址超出增量同步缓存区的范围时会进行全量同步,这将影响同步效率以及内存数据库主机的处理性能。
发明内容
本发明实施例所要解决的技术问题在于,提供一种内存数据库集群的同步方法及内存数据库主机,可以实现保证主从机之间数据的一致性、提高数据同步的效率以及改善主机的处理性能。
为了解决上述技术问题,本发明实施例提供一种内存数据库集群的同步方法,包括:
获取内存数据库从机发送的同步请求指令,所述同步请求指令包括同步偏移地址;
判断当前需要同步到的数据的存储地址与所述同步偏移地址的差值是否大于增量同步缓存区的地址容量;
若否,则将所述增量同步缓存区中在所述同步偏移地址以后的数据发送给所述内存数据库从机以实现增量同步;
若是,则将持久化数据保存文件中在所述同步偏移地址以后的数据发送给所述内存数据库从机以实现增量同步。
相应地,本发明实施例还提供了一种内存数据库主机,包括:
指令获取模块,用于获取内存数据库从机发送的同步请求指令,所述同步请求指令包括同步偏移地址;
容量判断模块,用于判断当前需要同步到的数据的存储地址与所述同步偏移地址的差值是否大于增量同步缓存区的地址容量;
第一发送模块,用于若否,则将所述增量同步缓存区中在所述同步偏移地址以后的数据发送给所述内存数据库从机以实现增量同步;
第二发送模块,用于若是,则将持久化数据保存文件中在所述同步偏移地址以后的数据发送给所述内存数据库从机以实现增量同步。
实施本发明实施例,具有如下有益效果:本发明实施例中的内存数据库主机,在获取内存数据库从机发送的同步请求指令(其中同步请求指令包括同步偏移地址)后,若判定当前需要同步到的数据的存储地址与同步偏移地址的差值大于增量同步缓存区的地址容量,则将持久化数据保存文件中在同步偏移地址以后的数据发送给内存数据库从机以进行增量同步,从而避免在此情况下会进行全量同步,可以实现保证主从机之间数据的一致性、提高数据同步的效率以及改善主机的处理性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的一种现有内存数据库集群的同步方法的示意图;
图2是本发明实施例中的一种内存数据库集群的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市创梦天地科技有限公司,未经深圳市创梦天地科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510299544.7/2.html,转载请声明来源钻瓜专利网。