[发明专利]数据库恢复方法及装置有效
申请号: | 201510400419.0 | 申请日: | 2015-07-09 |
公开(公告)号: | CN105045678B | 公开(公告)日: | 2018-10-26 |
发明(设计)人: | 窦锦帅;谭国斌;沈建荣 | 申请(专利权)人: | 小米科技有限责任公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F17/30 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 恢复 方法 装置 | ||
本发明公开实施例提供了一种数据库恢复方法及装置,用于由主库和从库组成的数据库系统,初始时所述从库的数据与所述主库的数据相同;所述方法包括:按时间顺序获取所述主库上已完成的操作;每次获取到所述操作后,以当前获取的所述操作的完成时间为基础延迟预设时长后在所述从库上执行相同的操作;当所述主库出现错误时,确定导致错误的错误操作;判断所述错误操作是否已经在所述从库上执行;如果所述错误操作尚未在所述从库上执行,则使用所述从库的数据对所述主库的数据进行恢复。本发明公开实施例的方案可以精确恢复到错误操作的前一操作的状态,这就在很大程度上避免了数据的丢失,将损失减少到尽可能小,提升了数据库运行时的安全性和可靠性。
技术领域
本发明公开涉及数据库技术,尤其涉及数据库恢复方法及装置。
背景技术
在数据库的操作使用中,难免会出现因软件程序问题或是维护操作失误等原因而执行了错误的数据库操作指令的情况,将数据库中数据进行了错误的修改。这些误操作轻则影响数据准确性,重则导致重大经济损失,如订单信息错误,用户账号余额错误等。
在相关技术中,为了能够在出现误操作时挽回损失,消除影响,传统的办法大多是定时备份数据库,例如每天备份一次,然后在需要恢复数据时,可以将数据库恢复到备份时的状态。
发明内容
为克服相关技术中存在的问题,本发明公开提供一种数据库恢复方法及装置,以提升数据库运行时的安全性和可靠性。
根据本发明公开实施例的第一方面,提供一种数据库恢复方法,所述方法用于由主库和从库组成的数据库系统,初始时所述从库的数据与所述主库的数据相同;所述方法包括:
按时间顺序获取所述主库上已完成的操作;
每次获取到所述操作后,以当前获取的所述操作的完成时间为基础延迟预设时长后在所述从库上执行相同的操作;
当所述主库出现错误时,确定导致错误的错误操作;
判断所述错误操作是否已经在所述从库上执行;
如果所述错误操作尚未在所述从库上执行,则使用所述从库的数据对所述主库的数据进行恢复。
可选的,所述按时间顺序获取所述主库上已完成的操作,包括:
顺序读取记载在主库操作日志中的操作。
可选的,所述以当前获取的所述操作的完成时间为基础延迟预设时长后在所述从库上 执行相同的操作,包括:
获取所述从库的当前时间;
判断当前获取的所述操作的完成时间与所述当前时间之差是否小于所述预设时长;
如果小于所述预设时长,则返回获取所述从库的当前时间的步骤;
如果大于或等于所述预设时长,则在所述从库上执行与所述操作相同的操作。
可选的,所述使用所述从库的数据对所述主库的数据进行恢复,包括:
在所述从库上执行完所述错误操作之前的操作;
使用所述从库当前的数据对所述主库的数据进行修复,以使所述主库的数据恢复到执行所述错误操作之前的状态。
可选的,所述方法还包括:
根据用户的输入对所述预设时长进行修改。
根据本公开实施例的第二方面,提供一种数据库恢复装置,所述装置用于由主库和从库组成的数据库系统,初始时所述从库的数据与所述主库的数据相同;所述装置包括:
主库操作获取模块,用于按时间顺序获取所述主库上已完成的操作,每次获取到所述操作后,触发从库异步备份模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510400419.0/2.html,转载请声明来源钻瓜专利网。