System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种LevelDB或IndexedDB数据库记录删除恢复的方法和装置制造方法及图纸_技高网

一种LevelDB或IndexedDB数据库记录删除恢复的方法和装置制造方法及图纸

技术编号:40074427 阅读:8 留言:0更新日期:2024-01-17 00:48
本发明专利技术提出了一种LevelDB或IndexedDB数据库记录删除恢复的方法,该方法包括如下步骤:响应于构建自定义的查询迭代器;利用所述查询迭代器依次遍历Memtable、Immutable Memtable和Level 0‑levelN的SSTables数据;以及同时查询每个键Key第一个非删除或错误状态的数据,若遍历到状态为已删除的key的情况,则继续下面的遍历,而不直接返回空值,以从LevelDB或IndexedDB中恢复出已删除但尚未触发归并机制的记录数据。本发明专利技术的方法绕过LevelDB数据查询迭代器的删除标记校验机制,通过构建自定义的查询迭代器遍历level 0层的数据,搜寻获取删除标记的关键字,进而依据关键字获取对应的数据值,即从LevelDB/IndexedDB的SSTables(Sorted String Table)中快速恢复出已删除但尚未触发归并机制的记录数据,具有可恢复性强、恢复速度快、恢复准确性高的特点。

【技术实现步骤摘要】

本专利技术属于数据库,具体涉及一种leveldb或indexeddb数据库记录删除恢复的方法和装置。


技术介绍

1、leveldb和indexeddb不是关系型数据库,而是归属nosql数据存储技术和范畴。

2、leveldb是一种由google开发开源的快速键值存储的数据库,具备高速读写、占用空间小、灵活配置等特点,广泛应用于需要高速读写本地数据的应用程序,如chrome、firefox、skype、redis、memcached、kafka、apache flume、ethereum、bitcoin等诸多著名应用。leveldb使用了一种结构化的数据格式,支持将数据存储在内存中,也支持将数据持久化到磁盘上,能够快速地从大量数据中查找指定的键值对。

3、而indexeddb是一种主要面向web浏览器的数据库,是html5规范的组成部分,其允许网页应用程序在客户端本地存储并检索大量结构化数据,以减少联网访问服务器,提供存储离线应用程序数据、添加搜索功能、保存用户设置、在应用程序之间共享数据等多种功能。indexeddb的数据结构和leveldb的数据结构基本相同,其差异主要在于索引器的实现方案。

4、leveldb/indexeddb作为多种类型应用客户端的高速本地存储数据库,广泛应用于chromium衍生应用、网页版即时通讯客户端(如skype)、区块链应用等诸多热门应用领域,对leveldb/indexeddb存储的数据进行解析、恢复和归类统计分析,对取证工作存在极其重要的意义。

<p>5、leveldb/indexeddb作为取证分析工作的重要研究对象,目前市面上大部分取证软件基于google开源的leveldb库进行二次开发,仅对leveldb/indexeddb的正常记录数据进行解析展示,并未对已删除记录数据进行恢复和解析,而这些已删除记录数据往往隐藏着重要痕迹信息,能够为案情调查提供高价值的线索。

6、有鉴于此,提出一种leveldb或indexeddb数据库记录删除恢复的方法和装置是非常具有意义的。


技术实现思路

1、为了解决现有leveldb/indexeddb取证方面存在的不足问题,本专利技术提供一种leveldb或indexeddb数据库记录删除恢复的方法和装置,本方法绕过leveldb数据查询迭代器的删除标记校验机制,通过构建自定义的查询迭代器遍历level 0层的数据,搜寻获取删除标记的关键字,进而依据关键字获取对应的数据值,即从leveldb/indexeddb的sstables(sorted string table)中快速恢复出已删除但尚未触发归并机制的记录数据,具有可恢复性强、恢复速度快、恢复准确性高的特点,以解决上述存在的技术缺陷问题。

2、第一方面,本专利技术提出了一种leveldb或indexeddb数据库记录删除恢复的方法,该方法包括如下步骤:

3、响应于构建自定义的查询迭代器;

4、利用所述查询迭代器依次遍历memtable、immutable memtable和level0-leveln的sstables数据;以及

5、同时查询每个键key第一个非删除或错误状态的数据,若遍历到状态为已删除的key的情况,则继续下面的遍历,而不直接返回空值,以从leveldb或indexeddb中恢复出已删除但尚未触发归并机制的记录数据。

6、优选的,该方法具体包括:

7、响应于用户传入指定的userkey开始查询;

8、先查询内存中的memtable,若未找到key进行下一步骤;若找到key,判断是否有删除标记;

9、如果有删除标记,则进行下一步骤,否则输出结果。

10、进一步优选的,该方法还包括:

11、查询内存中的只读数据immutable memtable,若未找到key则进行下一步骤;若找到key,判断是否有删除标记;

12、如果有删除标记,则进行下一步骤,否则输出结果。

13、进一步优选的,该方法还包括:

14、查询硬盘中的level 0的sstable,遍历level 0中的sstable,找出所有满足最大key大于待查询key以及最小key小于待查询key的sstable,并按照文件序号从大到小进行查询;

15、循环遍历上一步骤符合条件的sstable,直到找到待查询key,判断状态是否为删除或错误,如果状态不是删除或错误就输出结果,否则继续循环。

16、进一步优选的,该方法还包括:

17、遍历完level 0的所有sstable且未输出值,则遍历level 1-n的sstable;

18、遍历level 1-n的sstable,若未找到key,继续查询下一层level;

19、若找到key,判断是否删除或错误,如果状态不是删除或错误就输出结果,否则继续查询下一层level;

20、直到查询完最后一层level,最后输出结果。

21、进一步优选的,该方法还包括:

22、单独每一层的sstable的key的范围没有重叠,每一层最多查询一个sstable。

23、进一步优选的,所述sstables数据为sorted string table,包括*.log文件和*.ldb文件的数据。

24、第二方面,本专利技术实施例还提供一种leveldb或indexeddb数据库记录删除恢复的装置,该装置包括:

25、构建模块,配置用于构建自定义的查询迭代器;

26、遍历模块,配置用于利用查询迭代器依次遍历memtable、immutable memtable和level 0-leveln的sstables数据;

27、查询模块,配置用于查询每个键key第一个非删除或错误状态的数据,若遍历到状态为已删除的key的情况,则继续下面的遍历,而不直接返回空值,以从leveldb或indexeddb中恢复出已删除但尚未触发归并机制的记录数据。

28、第三方面,本专利技术实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。

29、第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。

30、与现有技术相比,本专利技术的有益成果在于:

31、(1)本专利技术的方法绕过leveldb数据查询迭代器的删除标记校验机制,通过构建自定义的查询迭代器遍历level 0层的数据,搜寻获取删除标记的关键字,进而依据关键字获取对应的数据值,即从leveldb/indexeddb的sstables(sorted strin本文档来自技高网...

【技术保护点】

1.一种LevelDB或IndexedDB数据库记录删除恢复的方法,其特征在于,该方法包括如下步骤:

2.根据权利要求1所述的LevelDB或IndexedDB数据库记录删除恢复的方法,其特征在于,该方法具体包括:

3.根据权利要求2所述的LevelDB或IndexedDB数据库记录删除恢复的方法,其特征在于,该方法还包括:

4.根据权利要求3所述的LevelDB或IndexedDB数据库记录删除恢复的方法,其特征在于,该方法还包括:

5.根据权利要求4所述的LevelDB或IndexedDB数据库记录删除恢复的方法,其特征在于,该方法还包括:

6.根据权利要求5所述的LevelDB或IndexedDB数据库记录删除恢复的方法,其特征在于,该方法还包括:

7.根据权利要求6所述的LevelDB或IndexedDB数据库记录删除恢复的方法,其特征在于,所述SSTables数据为Sorted String Table,包括*.log文件和*.ldb文件的数据。

8.一种LevelDB或IndexedDB数据库记录删除恢复的装置,其特征在于,该装置包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一所述的方法。

...

【技术特征摘要】

1.一种leveldb或indexeddb数据库记录删除恢复的方法,其特征在于,该方法包括如下步骤:

2.根据权利要求1所述的leveldb或indexeddb数据库记录删除恢复的方法,其特征在于,该方法具体包括:

3.根据权利要求2所述的leveldb或indexeddb数据库记录删除恢复的方法,其特征在于,该方法还包括:

4.根据权利要求3所述的leveldb或indexeddb数据库记录删除恢复的方法,其特征在于,该方法还包括:

5.根据权利要求4所述的leveldb或indexeddb数据库记录删除恢复的方法,其特征在于,该方法还包括:

【专利技术属性】
技术研发人员:王小玲王志永杜鑫辉刘志祥林志玮
申请(专利权)人:厦门市美亚柏科信息安全研究所有限公司
类型:发明
国别省市:

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

1