一种SQLite数据恢复方法及系统技术方案

技术编号:37233627 阅读:18 留言:0更新日期:2023-04-20 23:15
本发明专利技术提供了电子数据恢复技术领域的一种SQLite数据恢复方法及系统,方法包括如下步骤:步骤S10、从SQLite数据库中识别数据空闲块;步骤S20、获取各所述数据空闲块的偏移量,基于各所述偏移量构建空闲块列表;步骤S30、基于所述空闲块列表对各数据空闲块进行数据恢复分析,基于分析结果对所述数据空闲块对应数据区的数据进行恢复。本发明专利技术的优点在于:极大的提升了SQLite数据恢复的适用性以及质量。的提升了SQLite数据恢复的适用性以及质量。的提升了SQLite数据恢复的适用性以及质量。

【技术实现步骤摘要】
一种SQLite数据恢复方法及系统


[0001]本专利技术涉及电子数据恢复
,特别指一种SQLite数据恢复方法及系统。

技术介绍

[0002]随着数据管理的需求在不断增加,大量的数据被保存在数据库中,出于管理数据库的存储空间以及数据更新需求,经常需要对数据执行删除操作,数据删除的过程中也存在误删的情况,因此存在恢复被删除数据的需求。
[0003]SQLite是一种基于C语言开发的轻量级开源数据库引擎,具有体积小、运行速度快的优点,广泛应用于嵌入式设备与应用程序的本地存储,在面对大量且不复杂的数据时,SQLite在大部分情况下有很高的可用性,其支持大部分的标准SQL(ANSI/ISO SQL),同时支持数据库事务操作的ACID特性,即便系统出现如断电的异常情况,数据库仍能保持数据不处于异常状态。
[0004]针对SQLite数据的恢复,传统上基于事务文件(数据库事务操作生成的文件)或者日志文件进行恢复;基于事务文件进行恢复要求待恢复的数据包含在数据库的事务操作中,然而实际上并非所有数据的变更操作都发生在事务操作中,导致存在本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种SQLite数据恢复方法,其特征在于:包括如下步骤:步骤S10、从SQLite数据库中识别数据空闲块;步骤S20、获取各所述数据空闲块的偏移量,基于各所述偏移量构建空闲块列表;步骤S30、基于所述空闲块列表对各数据空闲块进行数据恢复分析,基于分析结果对所述数据空闲块对应数据区的数据进行恢复。2.如权利要求1所述的一种SQLite数据恢复方法,其特征在于:所述步骤S10具体为:获取SQLite数据库中存储的数据表的列数以及每一列数据对应的数据类型,按页对所述数据表进行遍历扫描,识别数据空闲块。3.如权利要求2所述的一种SQLite数据恢复方法,其特征在于:所述识别数据空闲块具体为:基于空闲块标识识别所述数据表中数据非全零的数据空闲块。4.如权利要求1所述的一种SQLite数据恢复方法,其特征在于:所述步骤S20具体为:基于页标识对SQLite数据库中存储的数据表进行分页,获取各所述数据空闲块的偏移量;将每一页所述数据表的第二字节和第三字节保存第一个数据空闲块的偏移量,各所述数据空闲块的前两个字节分别保存下一个数据空闲块的偏移量,最后一个所述数据空闲块的前两个字节的数据为全零,进而构建空闲块列表。5.如权利要求1所述的一种SQLite数据恢复方法,其特征在于:所述步骤S30具体包括:步骤S31、基于所述空闲块列表携带的偏移量定位各数据空闲块,基于所述数据空闲块的第三字节和第四字节获取获取空闲块长度,基于所述数据空闲块携带的数据类型以及数据区头长度计算数据区长度;步骤S32、判断所述空闲块长度是否等于数据区长度,若是,则进入步骤S34;若否,则进入步骤S33;步骤S33、判断所述空闲块长度是否大于数据区长度,若是,则说明所述数据空闲块包含多个数据区,对所述数据空闲块进行拆分后,进入步骤S32;若否,则说明数据区被复写,数据损坏无法恢复,并结束流程;步骤S34、基于所述数据类型对数据区进行赋值重构,以完成数据恢复。6.一种SQLite数据恢复系统,其特征在于:包括如下模块:数据空闲块...

【专利技术属性】
技术研发人员:赵泽钧袁苇
申请(专利权)人:福建新大陆通信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1