【技术实现步骤摘要】
一种SQLite数据恢复方法
[0001]本专利技术涉及
SQLite
数据库
,具体来说,涉及一种
SQLite
数据恢复方法
。
技术介绍
[0002]SQLite
,是一款轻型的数据库,是遵守
ACID
的关系型数据库管理系统,它包含在一个相对小的
C
库中
。SQLite
是世界上部署最广泛的
SQL
数据库引擎,它代码轻巧,容易编译,基本都被主流开发平台支持,支持
2TB
数据存储,它支持
LIKE
与
MATCH
两个方式查询搜索,
LIKE
可以直接对普通数据表查询,但性能比较低,特别是遇到数据量比较大的情况,大量字符串匹配不会导致时间消耗,以致应用卡顿
。
为此开发者一般会选择
MATCH
来开发功能,但
MATCH
只能用于
FTS
数据表查询,
FTS
是全文检索的简称,
[0003]目前,传统
SQLite
数据方法恢复方法,具体如下:分析数据库格式定位出整个数据库中存在的剩余空间
(
未分配空间
、
回收空间
)
;套用数据表模版
(
字段类型
、
长度
)
在剩余空间中匹配,当遇到符合该模版时即可将该记录恢复,不符合
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.
一种
SQLite
数据恢复方法,其特征在于,包括以下步骤:预先从数据库中目标
FTS5
数据表获取所有页面分词数据,记为
Blocks
;依次遍历
Blocks
,根据
Page
解析器对每个
Block
进行切分与汇总,获取每个分词与文档列表记录,记为
Term
‑
Doclists
;进行依次遍历
Term
‑
Doclists
,根据
Term
解析器对每个
Term
‑
Doclist
处理与汇总,获取完整分词与文档列表,记为
Key
‑
Doclists
;依次遍历
Key
‑
Doclists
,根据
doclist
和
poslist
解析器对每个
Key
‑
Doclist
处理,获取分词语句实例与位置分布,记为
key
‑
rowid
‑
poslists
;依次遍历
key
‑
rowid
‑
poslists
,根据
collist
解析器对每个
key
‑
rowid
‑
poslist
处理,获取分词在相关语句中具体位置索引,记为
key
‑
rowid
‑
offsets
;进行分词重组,对
key
‑
rowid
‑
offsets
数据,存入键值,记为
rowid
‑
records
;从数据库中目标
FTS5
数据表获取所有相关记录
id
与内容,记为
id
‑
contents
,并进行比对
rowid
‑
records、id
‑
contents
两个键值,获取分析结果
。2.
技术研发人员:谢清泉,吴兴德,王海啸,黄喆,
申请(专利权)人:苏州龙信信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。