[发明专利]跨机房的redis集群备份数据的方法、装置、设备及存储介质在审
申请号: | 201811347403.8 | 申请日: | 2018-11-13 |
公开(公告)号: | CN109684406A | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 刘硕;李明;马彦兵 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F11/14 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100084 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 集群 写操作 机房 集群备份 队列 写入 可读存储介质 存储介质 电子设备 备份 失败 成功 存储 检测 | ||
1.一种跨机房的redis集群备份数据的方法,其特征在于,所述方法包括:
对分布在不同机房的主redis集群和从redis集群进行双写操作,所述双写操作包括对所述主redis集群进行的写操作,以及,在针对所述主redis集群进行的写操作成功之后针对所述从redis集群进行的写操作;
检测所述双写操作是否失败;
在所述双写操作失败的情况下,将成功写入所述主redis集群的key-value值中的key值存储到kafka队列,以使得所述从redis集群根据所述kafka队列中的key值,将成功写入所述主redis集群的key-value值备份到本地。
2.根据权利要求1所述的方法,其特征在于,检测所述双写操作是否成功,包括:
检测针对所述从redis集群进行的写操作是否失败,或者,检测用于针对所述从redis集群进行写操作的缓存队列是否已满,其中,所述双写操作失败的情况为针对所述从redis集群进行的写操作是否失败,或者,用于针对所述从redis集群进行写操作的缓存队列已满。
3.一种跨机房的redis集群备份数据的方法,其特征在于,应用于从redis集群,所述从redis集群与主redis集群分布在不同机房,所述方法包括:
从kafka队列中读取成功写入所述主redis集群的key-value值中的key值;
根据所述key值,从所述主redis集群中读取成功写入所述主redis集群的key-value值;
将成功写入所述主redis集群的key-value值备份到本地。
4.根据权利要求3所述的方法,其特征在于,将成功写入所述主redis集群的key-value值备份到本地,包括:
将成功写入所述主redis集群的key-value值与本地存储的key-value值比较;
在成功写入所述主redis集群的key-value值是本地存储的key-value值的更新版本的情况下,删除本地存储的key-value值,并将成功写入所述主redis集群的key-value值存储到本地。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
检测所述主redis集群是否发生故障;
在所述主redis集群发生故障的情况下,将所述从redis集群配置为新的主redis集群。
6.一种跨机房的redis集群备份数据的装置,其特征在于,所述装置包括:
双写操作模块,用于对分布在不同机房的主redis集群和从redis集群进行双写操作,所述双写操作包括对所述主redis集群进行的写操作,以及,在针对所述主redis集群进行的写操作成功之后针对所述从redis集群进行的写操作;
检测模块,用于检测所述双写操作是否失败;
存储模块,用于在所述双写操作失败的情况下,将成功写入所述主redis集群的key-value值中的key值存储到kafka队列,以使得所述从redis集群根据所述kafka队列中的key值,将成功写入所述主redis集群的key-value值备份到本地。
7.根据权利要求6所述的装置,其特征在于,所述检测模块包括:
检测子模块,用于检测针对所述从redis集群进行的写操作是否失败,或者,检测用于针对所述从redis集群进行写操作的缓存队列是否已满,其中,所述双写操作失败的情况为针对所述从redis集群进行的写操作是否失败,或者,用于针对所述从redis集群进行写操作的缓存队列已满。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811347403.8/1.html,转载请声明来源钻瓜专利网。