数据库恢复方法及装置的制造方法_3

文档序号:9326764阅读:来源:国知局
库 系统,初始时所述从库的数据与所述主库的数据相同,所述装置包括:
[0115] 处理器;
[0116] 用于存储处理器可执行指令的存储器;
[0117] 其中,所述处理器被配置为:
[0118] 按时间顺序获取所述主库上已完成的操作;
[0119] 每次获取到所述操作后,以当前获取的所述操作的完成时间为基础延迟预设时长 后在所述从库上执行相同的操作;
[0120] 当所述主库出现错误时,确定导致错误的错误操作;
[0121] 判断所述错误操作是否已经在所述从库上执行;
[0122] 如果所述错误操作尚未在所述从库上执行,则使用所述从库的数据对所述主库的 数据进行恢复。
[0123] 本公开还公开了一种非临时性计算机可读存储介质,当所述存储介质中的指令由 设备的处理器执行时,使得设备能够执行一种数据库恢复方法,所述方法用于由主库和从 库组成的数据库系统,初始时所述从库的数据与所述主库的数据相同,所述方法包括:
[0124] 按时间顺序获取所述主库上已完成的操作;
[0125] 每次获取到所述操作后,以当前获取的所述操作的完成时间为基础延迟预设时长 后在所述从库上执行相同的操作;
[0126] 当所述主库出现错误时,确定导致错误的错误操作;
[0127] 判断所述错误操作是否已经在所述从库上执行;
[0128] 如果所述错误操作尚未在所述从库上执行,则使用所述从库的数据对所述主库的 数据进行恢复。
[0129] 图10是根据一示例性实施例示出的一种用于数据库恢复的装置的框图。例如,该 装置2900可以被提供为一服务器。
[0130] 参照图10,装置2900包括处理组件2922,其进一步包括一个或多个处理器,以及 由存储器2932所代表的存储器资源,用于存储可由处理组件2922的执行的指令,例如应用 程序。存储器2932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令 的模块。此外,处理组件2922被配置为执行指令,以执行上述服务器侧的方法。
[0131] 装置2900还可以包括一个电源组件2926被配置为执行装置2900的电源管理,一 个有线或无线网络接口 2950被配置为将装置2900连接到网络,和一个输入输出(I/O)接 口 2958。装置2900可以操作基于存储在存储器2932的操作系统,例如Windows ServerTM, Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM 或类似。
[0132] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其 它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或 者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识 或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的 权利要求指出。
[0133] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并 且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【主权项】
1. 一种数据库恢复方法,其特征在于,所述方法用于由主库和从库组成的数据库系统, 初始时所述从库的数据与所述主库的数据相同;所述方法包括: 按时间顺序获取所述主库上已完成的操作; 每次获取到所述操作后,以当前获取的所述操作的完成时间为基础延迟预设时长后在 所述从库上执行相同的操作; 当所述主库出现错误时,确定导致错误的错误操作; 判断所述错误操作是否已经在所述从库上执行; 如果所述错误操作尚未在所述从库上执行,则使用所述从库的数据对所述主库的数据 进行恢复。2. 根据权利要求1所述的方法,其特征在于,所述按时间顺序获取所述主库上已完成 的操作,包括: 顺序读取记载在主库操作日志中的操作。3. 根据权利要求1所述的方法,其特征在于,所述以当前获取的所述操作的完成时间 为基础延迟预设时长后在所述从库上执行相同的操作,包括: 获取所述从库的当前时间; 判断当前获取的所述操作的完成时间与所述当前时间之差是否小于所述预设时长; 如果小于所述预设时长,则返回获取所述从库的当前时间的步骤; 如果大于或等于所述预设时长,则在所述从库上执行与所述操作相同的操作。4. 根据权利要求1所述的方法,其特征在于,所述使用所述从库的数据对所述主库的 数据进行恢复,包括: 在所述从库上执行完所述错误操作之前的操作; 使用所述从库当前的数据对所述主库的数据进行修复,以使所述主库的数据恢复到执 行所述错误操作之前的状态。5. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 根据用户的输入对所述预设时长进行修改。6. -种数据库恢复装置,其特征在于,所述装置用于由主库和从库组成的数据库系统, 初始时所述从库的数据与所述主库的数据相同;所述装置包括: 主库操作获取模块,用于按时间顺序获取所述主库上已完成的操作,每次获取到所述 操作后,触发从库异步备份模块; 从库异步备份模块,用于以主库操作获取模块当前获取的所述操作的完成时间为基 础,延迟预设时长后在所述从库上执行相同的操作; 恢复判断模块,用于当所述主库出现错误时,确定导致错误的错误操作,判断所述错误 操作是否已经在所述从库上执行,如果所述错误操作尚未在所述从库上执行,则触发数据 恢复模块; 数据恢复模块,用于使用所述从库的数据对所述主库的数据进行恢复。7. 根据权利要求6所述的装置,其特征在于,所述主库操作获取模块包括: 顺序读取子模块,用于顺序读取记载在主库操作日志中的操作; 备份触发子模块,用于每次获取到所述操作后,触发从库异步备份模块。8. 根据权利要求6所述的装置,其特征在于,所述从库异步备份模块包括: 时间获取子模块,用于获取所述从库的当前时间; 时间对比子模块,用于判断判断当前获取的所述操作的完成时间与所述当前时间之差 是否小于所述预设时长,如果小于所述预设时长,则触发时间获取子模块,如果大于或等于 所述预设时长,则在所述从库上执行与所述操作相同的操作。9. 根据权利要求6所述的装置,其特征在于,所述数据恢复模块包括: 恢复准备子模块,用于在所述从库上执行完所述错误操作之前的操作; 数据修复子模块,用于使用所述从库当前的数据对所述主库的数据进行修复,以使所 述主库的数据恢复到执行所述错误操作之前的状态。10. 根据权利要求6所述的装置,其特征在于,所述装置还包括: 时长修改模块,用于根据用户的输入对所述预设时长进行修改。11. 一种数据库恢复装置,其特征在于,所述装置用于由主库和从库组成的数据库系 统,初始时所述从库的数据与所述主库的数据相同,所述装置包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 按时间顺序获取所述主库上已完成的操作; 每次获取到所述操作后,以当前获取的所述操作的完成时间为基础延迟预设时长后在 所述从库上执行相同的操作; 当所述主库出现错误时,确定导致错误的错误操作; 判断所述错误操作是否已经在所述从库上执行; 如果所述错误操作尚未在所述从库上执行,则使用所述从库的数据对所述主库的数据 进行恢复。
【专利摘要】本发明公开实施例提供了一种数据库恢复方法及装置,用于由主库和从库组成的数据库系统,初始时所述从库的数据与所述主库的数据相同;所述方法包括:按时间顺序获取所述主库上已完成的操作;每次获取到所述操作后,以当前获取的所述操作的完成时间为基础延迟预设时长后在所述从库上执行相同的操作;当所述主库出现错误时,确定导致错误的错误操作;判断所述错误操作是否已经在所述从库上执行;如果所述错误操作尚未在所述从库上执行,则使用所述从库的数据对所述主库的数据进行恢复。本发明公开实施例的方案可以精确恢复到错误操作的前一操作的状态,这就在很大程度上避免了数据的丢失,将损失减少到尽可能小,提升了数据库运行时的安全性和可靠性。
【IPC分类】G06F17/30, G06F11/14
【公开号】CN105045678
【申请号】CN201510400419
【发明人】窦锦帅, 谭国斌, 沈建荣
【申请人】小米科技有限责任公司
【公开日】2015年11月11日
【申请日】2015年7月9日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1