说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210918580.7 (22)申请日 2022.08.01 (71)申请人 上海歆仁信息科技有限公司 地址 200333 上海市普陀区中江路879弄3 号楼3066室 (72)发明人 范晨龙 邓南 戴可钦 马凌霄  徐新忠 吴云 程瑞琪 轩翔宇  (74)专利代理 机构 上海国智知识产权代理事务 所(普通合伙) 31274 专利代理师 潘建玲 (51)Int.Cl. G06F 11/14(2006.01) G06F 16/2455(2019.01) G06F 16/2458(2019.01) (54)发明名称 一种基于SQLite模糊匹配的通用删除数据 定位方法及装置 (57)摘要 本发明的一个方面公开了一种基于SQLite 模糊匹配的通用删除数据定位方法及装置, 所述 方法包括: 根据被恢复的SQLite数据库建立字段 头描述模板; 按块读取原始数据文件中的数据, 将每块数据模糊匹配所述字段头描述模板, 定位 记录的数据偏移量; 响应于数据与字段头描述模 板匹配成功, 按照所述数据偏移量的定位及字段 头描述模板中描述的数据长度读取完整的字段 数据, 得到数据记录结果; 利用筛选机制对所述 数据记录结果进行整理, 定位删除数据, 本发明 公开的一个方面可以实现删除数据在不同数据 结构形态、 不同操作、 不同业务情景下的恢复能 力, 实现SQLite数据库数据恢复的通用性、 全面 性、 有效性和精确性。 权利要求书2页 说明书11页 附图4页 CN 115495280 A 2022.12.20 CN 115495280 A 1.一种基于SQ Lite模糊匹配的通用删除数据定位方法, 包括如下步骤: 根据被恢复的SQ Lite数据库建立字段头描述模板; 按块读取原始数据文件中的数据, 将每块数据模糊匹配所述字段头描述模板, 定位记 录的数据偏移量; 响应于数据与字段头描述模板匹配成功, 按照所述数据偏移量的定位及所述字段头描 述模板中描述的数据长度读取完整的字段 数据, 得到数据记录结果; 利用筛选机制对所述数据记录结果进行整理, 定位删除数据。 2.如权利要求1所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在 于, 所述利用筛 选机制对所述字段 数据结果进行整理, 定位删除数据, 包括: 通过SQLite数据库查询所有未删除记录的rowid列表, 扫描所述数据记录结果得到所 有数据记录结果的ro wid; 将所述数据记录结果的rowid与所述rowid列表进行比对, 判断所述rowid列表中是否 存在所述数据记录结果的ro wid; 若rowid列表中存在某一条所述数据记录结果的rowid, 比对该条数据记录结果的 rowid对应的数据内容与所述该条数据记录结果的rowid对应的所述rowid列表中的rowid 对应的数据内容是否相同; 响应于比对的数据内容相同, 标记所述该 条数据记录结果 为未删除记录; 响应于比对的数据内容 不同, 标记所述该 条数据记录结果 为被修改记录; 若rowid列表中不存在某一条所述数据记录结果的rowid, 标记所述该条数据记录结果 为删除记录, 得到删除数据的定位; 其中, 标记为删除的数据记录结果包括ro wid丢失记录 。 3.如权利要求2所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在 于, 所述利用筛 选机制对所述数据记录结果进行整理, 定位删除数据, 还 包括: 根据所述ro wid丢失记录, 比较所述ro wid丢失记录左右两侧的未删除记录的ro wid值; 若所述rowid丢失记录被单条删除, 根据所述数据子页中描述记录的最左侧数据或最 右侧数据的偏移量, 选择两侧任一起点, 按照记录的r owid依次顺序读取, 推理得到r owid丢 失记录的位置; 若多条所述rowid丢失记录被批量删除或频繁进行连续的写入、 删除操作, 选择最左侧 和最右侧 两个起点, 按照记录的rowid依次顺序读取, 分别推理得到两个位置, 当两个位置 相同, 任一结果均为所述ro wid丢失记录的位置 。 4.如权利要求1所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在 于, 所述按块读取原始数据文件中的数据, 将 每块数据模糊匹配所述字段头描述模板, 定位 记录的数据偏移量, 包括: 打开原始数据文件, 所述原始数据文件包括SQLite  数据库的主db文件和事务缓存文 件; 顺序扫描并按块读取 所述原始数据文件中的数据, 依次与字段头描述模板进行匹配; 响应于所述字段头描述模板中任一一个字段头信息匹配错误, 跳过该块数据, 继续扫 描后续数据, 直至数据所述字段头描述模板中所有字段头信息均匹配成功。 5.如权利要求1所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在权 利 要 求 书 1/2 页 2 CN 115495280 A 2于, 所述利用筛 选机制对所述数据记录结果进行整理, 定位删除数据, 还 包括: 响应于所述删除数据被新数据覆写, 利用业 务数据的字段信息进行二次筛 选。 6.如权利要求2所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在 于, 所述利用筛 选机制对所述数据记录结果进行整理, 定位删除数据, 还 包括: 响应于记录更新操作, 生成新记录的字段数据, 将所述未删除记录的字段数据与所述 新记录的字段数据进 行比对, 若 所述未删除记录的字段数据与所述新记录的字段数据不相 同, 标记所述未删除记录为记录更新前的残留记录, 得到记录更新前的数据定位。 7.如权利要求1所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在 于, 所述原 始数据文件中的数据还 包括FTS扩展模块中用户数据记录表。 8.如权利要求1所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在 于, 在所述按块读取原始数据文件中的数据, 将 每块数据模糊匹配所述字段头描述模板, 定 位记录的数据偏移量之前, 所述方法还 包括: 于读取子页数据时, 动态解密所述子页数据直接使用, 使用后直接释放。 9.如权利要求1所述的一种基于SQLite模糊匹配的通用删除数据定位方法, 其特征在 于, 所述根据被恢复的SQ Lite数据库建立字段头描述模板, 包括: 建立字段头信 息列表, 响应于手动描述所述字段头信 息列表中字段头信 息的数据类型 和附加信息, 将描述后的字段头信息列表保存为字段头模板; 或者, 通过建表语句自动推理字段头信 息生成字段头模板, 所述建表语句包括但不限于字段 信息, 所述字段头信息包括但不限于数据类型和附加信息 。 10.一种基于SQ Lite模糊匹配的通用删除数据定位装置, 包括: 字段头描述模块创建模块, 用于根据被恢复的SQ Lite数据库建立字段头描述模板; 字段类型模糊匹配模块, 用于按块读取原始数据文件中的数据, 将每块数据模糊匹配 所述字段头描述模板, 定位记录的数据偏移量 数据记录结果读取模块, 用于响应于数据与字段头描述模板匹配成功, 按照所述数据 偏移量的定位及所述字段头描述模板中描述的数据长度读取完整的字段数据, 得到数据 记 录结果 数据记录结果筛选模块, 用于利用筛选机制对所述数据记录结果进行整理, 定位删除 数据。权 利 要 求 书 2/2 页 3 CN 115495280 A 3

.PDF文档 专利 一种基于SQLite模糊匹配的通用删除数据定位方法及装置

文档预览
中文文档 18 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于SQLite模糊匹配的通用删除数据定位方法及装置 第 1 页 专利 一种基于SQLite模糊匹配的通用删除数据定位方法及装置 第 2 页 专利 一种基于SQLite模糊匹配的通用删除数据定位方法及装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 17:14:38上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。