[发明专利]数据恢复方法、装置及电子设备在审
| 申请号: | 201910068356.1 | 申请日: | 2019-01-24 |
| 公开(公告)号: | CN109828865A | 公开(公告)日: | 2019-05-31 |
| 发明(设计)人: | 许圣霖 | 申请(专利权)人: | 北京三快在线科技有限公司 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14 |
| 代理公司: | 北京曼威知识产权代理有限公司 11709 | 代理人: | 方志炜 |
| 地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 备份数据 数据恢复 装置及电子设备 目标数据 表头数据 网络限制 备份 恢复 存储 申请 网络 | ||
本申请提供一种数据恢复方法、装置及电子设备,所述方法的一具体实施方式包括:若确定第一数据库已损坏,获取预先针对所述第一数据库而存储的备份数据,所述备份数据包括所述第一数据库对应的表头数据;基于所述备份数据从已损坏的所述第一数据库中提取目标数据;基于所述目标数据确定第二数据库,所述第二数据库用于恢复已损坏的所述第一数据库。该实施方式实现了数据的恢复,无需依赖网络,解决了数据库的备份与数据恢复受网络限制的问题。
技术领域
本申请涉及数据库技术领域,特别涉及一种数据恢复方法、装置及电子设备。
背景技术
SQLite数据库是一款轻型的开源嵌入式数据库,目前来说,SQLite数据库广泛地应用在各种终端设备中。SQLite数据库在使用过程中可能会发生损坏,而导致整个数据库记录的大量数据的丢失。在相关技术中,一般是将SQLite数据库上传至云端进行备份,当终端设备中的SQLite数据库发生损坏后,可以从云端下载已备份的数据库。但是,这种方式过于依赖网络,当终端设备无法连接网络时,无法进行数据库的上传和下载,从而使得数据库的备份与数据恢复受到了网络的限制。
发明内容
为了解决上述技术问题之一,本申请提供一种数据恢复方法、装置及电子设备。
根据本申请实施例的第一方面,提供一种数据恢复方法,包括:
若确定第一数据库已损坏,获取预先针对所述第一数据库而存储的备份数据,所述备份数据包括所述第一数据库对应的表头数据;
基于所述备份数据从已损坏的所述第一数据库中提取目标数据;
基于所述目标数据确定第二数据库,所述第二数据库用于恢复已损坏的所述第一数据库。
可选的,所述基于所述备份数据从已损坏的所述第一数据库中提取目标数据,包括:
基于所述备份数据解析已损坏的所述第一数据库中的B树结构;
从已损坏的所述第一数据库中提取B树结构的节点数据作为目标数据。
可选的,所述基于所述目标数据确定第二数据库,包括:
新建数据库文件;
采用所述备份数据在所述数据库文件中构建系统表;
采用所述目标数据生成用于插入节点数据的SQL语句;
按照所述SQL语句向所述数据库文件中插入节点数据,得到第二数据库。
可选的,所述方法还包括:
响应于完成所述第一数据库的创建,从所述第一数据库的系统表中提取所述第一数据库对应的表头数据作为所述备份数据;
对所述备份数据进行压缩存储。
可选的,所述方法还包括:
响应于确定所述第一数据库对应的表头数据发生变化,更新所述备份数据。
可选的,所述更新所述备份数据,包括:
将当前所述第一数据库的表头数据与所述备份数据进行比较,得到差异数据;
采用所述差异数据更新已存储的所述备份数据。
根据本申请实施例的第二方面,提供一种数据恢复装置,包括:
获取模块,用于在确定第一数据库已损坏时,获取预先针对所述第一数据库而存储的备份数据,所述备份数据包括所述第一数据库对应的表头数据;
第一提取模块,用于基于所述备份数据从已损坏的所述第一数据库中提取目标数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910068356.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种审计数据安全管控系统
- 下一篇:一种XFS文件碎片恢复方法和装置





