一种案例数据快速存取系统技术方案

技术编号:33083126 阅读:27 留言:0更新日期:2022-04-15 10:40
本发明专利技术涉及一种案例数据快速存取系统,包括:数据层、数据引擎层和驱动层;数据层包括用于存储案例数据的元数据信息的元数据文件和用于存储案例数据的内容的数据文件;数据引擎层包括空闲空间处理引擎、元数据处理引擎和数据处理引擎;空闲空间处理引擎用于维护元数据文件空闲空间链表和数据文件空闲空间链表,并在元数据或数据文件有写入请求时返回一空闲空间;元数据处理引擎用于维护元数据链表;数据处理引擎用于维护数据链表;驱动层用于基于数据引擎层,在操作系统上将数据文件和元数据文件虚拟出文件系统。本发明专利技术一方面能够加快案例的生成速度,另一方面只需拷贝两个文件即可实现案例共享,为电子数据取证分析效率的提升提供了有效的基础。提供了有效的基础。提供了有效的基础。

【技术实现步骤摘要】
一种案例数据快速存取系统


[0001]本专利技术涉及数据存储领域,尤其涉及一种案例数据快速存取系统。

技术介绍

[0002]随着存储技术的不断发展,计算机、手机等电子设备上的存储容量越来越大。电子数据取证过程中,常常会碰到取证生成的案例有上百万甚至上千万的文件,且很多情况下包含了海量的图片、文本等小文件。
[0003]现有的案例存取依赖于操作系统自带的文件系统,自带文件系统以文件为存储单位,涉及到小文件操作时,无法有效对小数据进行聚合处理,导致不管是存储还是拷贝共享时效率都较为低下。
[0004]海量的小文件存取(磁盘频繁读写)往往导致取证过程效率低下,一方面影响取证时生成案例的速度(间接影响到取证速度),另一方面影响后期案例拷贝共享的效率。

技术实现思路

[0005]为了解决上述问题,本专利技术提出了一种案例数据快速存取系统。
[0006]具体方案如下:
[0007]一种案例数据快速存取系统,包括:数据层、数据引擎层和驱动层;
[0008]数据层包括用于存储案例数据的元数据信息的元数据文件和用于存储案例数据的内容的数据文件;
[0009]数据引擎层包括空闲空间处理引擎、元数据处理引擎和数据处理引擎;空闲空间处理引擎用于维护元数据文件空闲空间链表和数据文件空闲空间链表,并在元数据或数据文件有写入请求时返回一空闲空间;元数据处理引擎用于维护元数据链表;数据处理引擎用于维护数据链表;
[0010]驱动层用于基于数据引擎层,在操作系统上将数据文件和元数据文件虚拟出文件系统。
[0011]进一步的,元数据文件中包含的元数据信息的内容包括:文件全路径FilePath、文件类型FileType、文件大小FileSize、文件时间FileTime和数据索引DataIndex,其中数据索引DataIndex的内容包括:数据编号DataNum、数据起始位置DataStartOffset和数据长度DataLenth。
[0012]进一步的,空闲空间处理引擎在初始化时,通过读取元数据文件中的元数据信息,根据空闲记录对应的数据索引构建元数据文件空闲空间链表和数据文件空闲空间链表;当元数据信息中的文件全路径FilePath对应的内容为0x00时,则该元数据信息对应的记录为空闲记录。
[0013]进一步的,元数据文件空闲空间链表和数据文件空闲空间链表中各节点的属性包括空闲空间开始位置FreeSpaceOffset和空闲空间长度FreeSpaceLenth。
[0014]进一步的,空闲空间处理引擎对元数据文件空闲空间链表和数据文件空闲空间链
表的管理规则包括:
[0015]当一块空闲空间开始位置为FreeSpaceOffset
k
空闲空间长度为FreeSpaceLenth
k
的空闲空间需要插入链表时,假设链表中的节点i和节点i+1满足FreeSpaceOffset
k
>FreeSpaceOffset
i
且FreeSpaceOffset
k
<FreeSpaceOffset
i+1
,则进行如下操作:
[0016]1)若FreeSpaceOffset
i
+FreeSpaceLenth
i
等于FreeSpaceOffset
k
,则将节点i的FreeSpaceLenth
i
更新为FreeSpaceLenth
i
+FreeSpaceLenth
k

[0017]2)若FreeSpaceOffset
k
+FreeSpaceLenth
k
等于FreeSpaceOffset
i+1
,则将节点i+1的FreeSpaceOffset
i+1
更新为FreeSpaceOffset
k
,FreeSpaceLenth
i+1
更新为FreeSpaceLenth
k
+FreeSpaceLenth
i

[0018]3)否则将(FreeSpaceOffset
k
,FreeSpaceLenth
k
)作为一个新节点插入到i节点之后;
[0019]其中,FreeSpaceOffset
i
和FreeSpaceOffset
i+1
分别表示链表中节点i和节点i+1的空闲空间开始位置,FreeSpaceLenth
i
和FreeSpaceLenth
i+1
分别表示链表中节点i和节点i+1的空闲空间长度。
[0020]进一步的,空闲空间处理引擎对元数据文件空闲空间链表和数据文件空闲空间链表的管理规则包括:
[0021]当有数据写入请求时,根据需要写入的数据长度DataLenth,按照以下方式从空闲空间处理引擎中申请写入块位置:
[0022]判断链表中是否存在满足空闲空间长度大于或等于需要写入的数据长度DataLenth的节点,如果存在,将满足条件的所有节点中对应空闲空间长度最小的节点对应的空闲空间开始位置作为写入块的空间开始位置;同时,判断该节点的空闲空间长度是否等于需要写入的数据长度DataLenth,如果等于,将该节点从链表中移除;如果不等于,将该节点的空闲空间开始位置更新为原始空闲空间开始位置与需要写入的数据长度DataLenth之和;如果不存在,将文件的尾部作为写入块的空间开始位置。
[0023]进一步的,元数据链表中各节点的属性包括:元数据记录偏移MetaDataOffset、用于标识是否与元数据文件同步的同步标识SynMark和元数据记录MetaData。
[0024]进一步的,元数据处理引擎在初始化时,将元数据文件中所有非空闲的文件元数据记录进行读取,并按照元数据记录偏移MetaDataOffset从小到大进行排序。
[0025]进一步的,元数据处理引擎对元数据链表的管理规则包括:当需要新增文件时,从空闲空间处理引擎中获取符合条件的空闲块后,生成新的节点k,并按照元数据记录偏移从小到大的顺序将节点k插入到元数据链表中,同时将节点k的元数据记录偏移MetaDataOffset
k
赋值为空闲块的空闲空间开始位置FreeSpaceOffset
i
,将节点k的同步标识SynMark
k
赋值为未同步,将节点k的元数据记录MetaData
k
赋值为新增文件的信息。
[0026]进一步的,元数据处理引擎对元数据链表的管理规则包括:当需要删除文件时,从元数据链表中找到待删除文件关联的所有节点信息,并读取相应的数据索引位置,并将链表中记录的元数据区域以及数据索引记录的区域当做空闲节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种案例数据快速存取系统,其特征在于,包括:数据层、数据引擎层和驱动层;数据层包括用于存储案例数据的元数据信息的元数据文件和用于存储案例数据的内容的数据文件;数据引擎层包括空闲空间处理引擎、元数据处理引擎和数据处理引擎;空闲空间处理引擎用于维护元数据文件空闲空间链表和数据文件空闲空间链表,并在元数据或数据文件有写入请求时返回一空闲空间;元数据处理引擎用于维护元数据链表;数据处理引擎用于维护数据链表;驱动层用于基于数据引擎层,在操作系统上将数据文件和元数据文件虚拟出文件系统。2.根据权利要求1所述的案例数据快速存取系统,其特征在于:元数据文件中包含的元数据信息的内容包括:文件全路径FilePath、文件类型FileType、文件大小FileSize、文件时间FileTime和数据索引DataIndex,其中数据索引DataIndex的内容包括:数据编号DataNum、数据起始位置DataStartOffset和数据长度DataLenth。3.根据权利要求1所述的案例数据快速存取系统,其特征在于:空闲空间处理引擎在初始化时,通过读取元数据文件中的元数据信息,根据空闲记录对应的数据索引构建元数据文件空闲空间链表和数据文件空闲空间链表;当元数据信息中的文件全路径FilePath对应的内容为0x00时,则该元数据信息对应的记录为空闲记录。4.根据权利要求1所述的案例数据快速存取系统,其特征在于:元数据文件空闲空间链表和数据文件空闲空间链表中各节点的属性包括空闲空间开始位置FreeSpaceOffset和空闲空间长度FreeSpaceLenth。5.根据权利要求4所述的案例数据快速存取系统,其特征在于:空闲空间处理引擎对元数据文件空闲空间链表和数据文件空闲空间链表的管理规则包括:当一块空闲空间开始位置为FreeSpaceOffset
k
空闲空间长度为FreeSpaceLenth
k
的空闲空间需要插入链表时,假设链表中的节点i和节点i+1满足FreeSpaceOffset
k
>FreeSpaceOffset
i
且FreeSpaceOffset
k
<FreeSpaceOffset
i+1
,则进行如下操作:1)若FreeSpaceOffset
i
+FreeSpaceLenth
i
等于FreeSpaceOffset
k
,则将节点i的FreeSpaceLenth
i
更新为FreeSpaceLenth
i
+FreeSpaceLenth
k
;2)若FreeSpaceOffset
k
+FreeSpaceLenth
k
等于FreeSpaceOffset
i+1
,则将节点i+1的FreeSpaceOffset
i+1
更新为FreeSpaceOffset
k
,FreeSpaceLenth
i+1
更新为FreeSpaceLenth
k
+FreeSpaceLenth
i
;3)否则将(FreeSpaceOffset
k
,FreeSpaceLenth
k
)作为一个新节点插入到i节点之后;其中,FreeSpaceOffset
i
和FreeSpaceOffset
i+1
分别表示链表中节点i和节点i+1的空闲空间开始位置,FreeSpaceLenth
i
和FreeSpaceLenth
i+1
分别表示链表中节点i和节点i+1的空闲空间长度。6.根据权利要求4所述的案例数据快速存取系统,其特征在于:空闲空间处理引擎对元数据文件空闲空间链表和数据文件空闲空间链表的管理规则包括:当有数据写入请求时,根据需要写入的数据长度DataLenth,按照以下方式从空闲空间处理引擎中申请写入块位置:判断链表中是否存...

【专利技术属性】
技术研发人员:黄志炜沈长达杜新胜
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:

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

1