[发明专利]一种保持数据一致性的方法和装置有效
申请号: | 201610080266.0 | 申请日: | 2016-02-04 |
公开(公告)号: | CN105760456B | 公开(公告)日: | 2019-11-29 |
发明(设计)人: | 赖明星;郭忆 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/182 |
代理公司: | 11410 北京市中伦律师事务所 | 代理人: | 张思悦<国际申请>=<国际公布>=<进入 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保持 数据一致性 方法 装置 | ||
1.一种保持数据一致性的方法,包括:
确定初始主机宕机时,从与所述初始主机相关联的从机中选择出预先设定的目标从机;
将所述目标从机作为新的主机、所述与所述初始主机相关联的从机中除所述目标从机之外的其他从机作为剩余从机;
针对所述剩余从机中的每一个从机,将该从机中已经复制的所述初始主机中发生过变化的数据,与所述新的主机中已经复制的所述初始主机中发生过变化的数据保持一致,之后,若所述新的主机中的数据发生变化,所述方法还包括:针对所述剩余从机中的任意一从机,分别执行:将所述任意一从机按照所述新的主机中bin log文件生成的顺序,依次将所述新的主机中bin log文件中的事件event复制至relay log文件中,其中,若所述relaylog文件的大小未达到阈值,且当前从所述任一bin log文件中读取的event为Rotateevent时,建立下一个relay log文件,并将所述任意一bin log文件的相邻的下一个binlog文件的文件名写入所述下一个relay log文件的头部;之后,按照所述event复制的顺序,依次执行所述relay log文件中的event,从而保持所述新的主机中的数据和所述剩余从机中的数据的一致性;
其中,所述新的主机中的每一个bin log文件的底部包括Rotate event,所述Rotateevent包括与所述Rotate event所属的bin log文件相邻的下一个bin log文件的文件名;
其中,将该从机中已经复制的所述初始主机中发生过变化的数据,与所述新的主机中已经复制的所述初始主机中发生过变化的数据保持一致,包括:
确定该从机当前复制到所述初始主机中发生过变化的数据的第一位置;
确定所述新的主机当前复制到所述初始主机中发生过变化的数据的第二位置;
判断所述第一位置是否大于所述第二位置,若是,将所述第一位置和所述第二位置之间的所述发生过变化的数据回滚掉;否则,将所述第一位置和所述第二位置之间的所述发生过变化的数据复制至该从机中。
2.如权利要求1所述的方法,所述方法还包括:
若将所述新的主机中的任意一bin log文件中的event复制至relay log文件的过程中,所述relay log文件的大小达到阈值时,建立下一个relay log文件,并将所述任意一bin log文件的文件名写入所述下一个relay log文件的头部。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610080266.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种页面展示方法、装置和系统
- 下一篇:一种面向多源异构数据的云推送方法