碎片整理方法、装置及设备与流程

文档序号:12157657阅读:来源:国知局

技术特征:

1.一种碎片整理方法,其特征在于,所述方法包括:

获取存储器中分片chunk的有效数据占用率,所述chunk中存储有数据块及所述数据块的元数据索引;

若所述chunk的有效数据占用率低于预设门限,则获取所述数据块的元数据索引,其中,所述元数据索引中,包括所述数据块所属文件的文件标识FID和所述数据块的原位置信息;

在根据所述数据块的原位置信息确定所述数据块为有效数据块后,将所述数据块作为待迁移的数据块,为所述数据块分配目标chunk,将所述数据块迁移至所述目标chunk;

根据所述FID,查找所述数据块所属文件的元数据信息,将所述元数据信息中包含的所述数据块迁移前的所述原位置信息更新为所述数据块迁移后的目的位置信息。

2.根据权利要求1所述的方法,其特征在于,所述为所述数据块分配目标chunk之后,所述方法还包括:

基于类型长度值TLV格式,在所述目标chunk中写入所述目的位置信息以及所述FID,得到所述数据块的元数据索引,其中,所述目的位置信息包括所述数据块的长度值、以及所述数据块迁移后的目的存储地址。

3.根据权利要求1所述的方法,其特征在于,所述获取存储器中分片chunk的有效数据占用率之前,所述方法还包括:

为所述chunk设置一个位图文件,所述位图文件中的每一个数值位用于标识所述chunk中对应空间的被占用情况;

其中,当所述位图文件中一个数值位的取值为第一常数时,表征所述数值位指示的空间已被有效数据占用;当所述位图文件中一个数值位的取值为第二常数时,表征所述数值位指示的空间未被有效数据占用。

4.根据权利要求3所述的方法,其特征在于,所述获取存储器中分片chunk的有效数据占用率,包括:

统计所述位图文件中取值为所述第一常数的数值位个数;

获取所述位图文件中数值位总个数;

计算所述取值为所述第一常数的数值位个数与所述数值位总个数之间的比值,得到所述chunk的有效数据占用率。

5.根据权利要求3所述的方法,其特征在于,所述原位置信息中包括所述数据块迁移前的原存储地址和所述数据块的长度值,所述方法还包括:

根据所述原存储地址和所述长度值,在所述chunk的位图文件中确定所述数据块占用空间对应的至少一个数值位;

若所述至少一个数值位中每一个数值位的取值均为所述第一常数,则确定所述数据块为有效数据块。

6.根据权利要求3至5中任一权利要求所述的方法,其特征在于,所述方法还包括:

若所述chunk的有效数据占用率低于预设门限,则在将所述chunk中每一个有效数据块均写入分配的对应目标chunk后,分别将所述chunk的位图文件中每一个数值位赋值为所述第二常数。

7.根据权利要求1所述的方法,其特征在于,所述根据所述FID,查找所述数据块所属文件的元数据信息,包括:

在元数据树结构中查找存储有所述FID的元数据节点,所述元数据节点中存储了所述数据块所属文件的元数据信息,所述元数据信息中至少包括所述文件的FID和所述文件包含的每一个数据块的位置信息;

其中,所述元数据树结构中以元数据节点形式记录了本地存储的全部文件的元数据信息。

8.一种碎片整理装置,其特征在于,所述装置包括:

第一获取模块,用于获取存储器中分片chunk的有效数据占用率,所述chunk中存储有数据块及所述数据块的元数据索引;

第二获取模块,用于若所述chunk的有效数据占用率低于预设门限,则获取所述数据块的元数据索引,其中,所述元数据索引中,包括所述数据块所属文件的文件标识FID和所述数据块的原位置信息;

分配模块,用于在根据所述数据块的原位置信息确定所述数据块为有效数据块后,将所述数据块作为待迁移的数据块,为所述数据块分配目标chunk,将所述数据块迁移至所述目标chunk;

查找模块,用于根据所述FID,查找所述数据块所属文件的元数据信息;

更新模块,用于将所述元数据信息中包含的所述数据块迁移前的所述原位置信息更新为所述数据块迁移后的目的位置信息。

9.根据权利要求8所述的装置,其特征在于,所述装置还包括:

写入模块,用于基于类型长度值TLV格式,在所述目标chunk中写入所述目的位置信息以及所述FID,得到所述数据块的元数据索引,其中,所述目的位置信息包括所述数据块的长度值、以及所述数据块迁移后的目的存储地址。

10.根据权利要求8所述的装置,其特征在于,所述装置还包括:

设置模块,用于为所述chunk设置一个位图文件,所述位图文件中的每一个数值位用于标识所述chunk中对应空间的被占用情况;

其中,当所述位图文件中一个数值位的取值为第一常数时,表征所述数值位指示的空间已被有效数据占用;当所述位图文件中一个数值位的取值为第二常数时,表征所述数值位指示的空间未被有效数据占用。

11.根据权利要求10所述的装置,其特征在于,所述第一获取模块,用于统计所述位图文件中取值为所述第一常数的数值位个数;获取所述位图文件中数值位总个数;计算所述取值为所述第一常数的数值位个数与所述数值位总个数之间的比值,得到所述chunk的有效数据占用率。

12.根据权利要求10所述的装置,其特征在于,所述原位置信息中包括所述数据块迁移前的原存储地址和所述数据块的长度值,所述装置还包括:

确定模块,用于根据所述原存储地址和所述长度值,在所述chunk的位图文件中确定所述数据块占用空间对应的至少一个数值位;若所述至少一个数值位中每一个数值位的取值均为所述第一常数,则确定所述数据块为有效数据块。

13.根据权利要求10至12中任一权利要求所述的装置,其特征在于,所述装置还包括:

赋值模块,用于若所述chunk的有效数据占用率低于预设门限,则在将所述chunk中每一个有效数据块均写入分配的对应目标chunk后,分别将所述chunk的位图文件中每一个数值位赋值为所述第二常数。

14.根据权利要求8所述的装置,其特征在于,所述查找模块,用于在元数据树结构中查找存储有所述FID的元数据节点,所述元数据节点中存储了所述数据块所属文件的元数据信息,所述元数据信息中至少包括所述文件的FID和所述文件包含的每一个数据块的位置信息;

其中,所述元数据树结构中以元数据节点形式记录了本地存储的全部文件的元数据信息。

15.一种碎片整理设备,其特征在于,所述设备包括:内存和处理器,所述内存存储有程序代码,所述处理器用于调用所述程序代码,执行以下操作:

获取存储器中分片chunk的有效数据占用率,所述chunk中存储有数据块及所述数据块的元数据索引;

若所述chunk的有效数据占用率低于预设门限,则获取所述数据块的元数据索引,其中,所述元数据索引中,包括所述数据块所属文件的文件标识FID和所述数据块的原位置信息;

在根据所述数据块的原位置信息确定所述数据块为有效数据块后,将所述数据块作为待迁移的数据块,为所述数据块分配目标chunk,将所述数据块迁移至所述目标chunk;

根据所述FID,查找所述数据块所属文件的元数据信息,将所述元数据信息中包含的所述数据块迁移前的所述原位置信息更新为所述数据块迁移后的目的位置信息。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1