一种存储空间管理方法及装置制造方法及图纸

技术编号:16345680 阅读:42 留言:0更新日期:2017-10-03 22:14
本发明专利技术公开了一种存储空间管理方法及装置,将存储空间划分为存储块并编号,创建空间地图树结构,当将存储任务分配到存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到有空闲索引块的叶子节点,在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中。通过本发明专利技术实现了提升系统的访问效率和改善用户体验的目的。

【技术实现步骤摘要】
一种存储空间管理方法及装置
本专利技术涉及存储
,特别是涉及一种存储系统的存储空间管理方法及装置。
技术介绍
在现有的存储系统中,对于存储空间的管理基本是把存储空间划分为等大小的存储块,然后把空闲的存储块通过链表的形式进行存储。在分配空闲区间时,从链表的尾部获取空闲的存储块;当空间回收时把释放的存储块再放到链表的尾部。虽然这种存储空间管理方法的优点是实现简单、空间分配和回收效率都较高,但是该种存储空间管理方法也存在着一定的缺点,在系统运行一段时间后,对于需要分配多个存储块的情况,分配的多个存储块的地址是离散的,在进行数据存储访问时进行的随机I/O访问,会导致数据的访问效率底下,客户体验差。
技术实现思路
针对于上述问题,本专利技术提供一种存储空间管理方法及装置,实现了提升系统的访问效率和改善用户体验的目的。为了实现上述目的,根据本专利技术的第一方面,提供了一种存储空间管理方法,该方法包括:将存储系统的存储空间划分为多个存储块,并对所述存储块按照存储空间的地址大小进行线性编号,获得所述存储块的编号;设置所述存储块的比特字段,并基于所述比特字段划分得到空闲存储块,其中,所述比特位字段为0时表示所述存储块空闲,当所述比特位字段为1时标识所述存储块被使用;创建空间地图树结构,其中,所述空间地图树包括根节点和叶子节点;将所述存储块的使用相关信息存储到所述叶子节点中;创建所述存储块的索引,并将所述索引存放至所述根节点;在将存储任务分配到空闲存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到空闲存储块的编号,基于所述编号在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中。优选的,所述将所述存储块的使用信息存储到所述叶子节点中,包括:分别设置所述叶子节点块头字段和块号字段;将所述存储块中拥有空闲存储块的数量信息存储至所述叶子节点的块头字段;将所述叶子节点对应的被使用的存储块的编号信息存储至所述叶子节点的块号字段。优选的,所述创建所述存储块的索引,并将所述索引存放至所述根节点,包括:创建所述存储块的索引;分别设置索引块号字段和空闲指向字段;将所述索引指向的叶子节点对应的存储块的编号存储至所述索引块号字段;将所述索引指向的叶子节点对应的存储块中空闲存储块的数量信息存储至所述空闲指向字段。优选的,所述在将存储任务分配到空闲存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到有空闲存储块的编号,基于所述编号在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中,包括:在将存储任务分配到空闲存储块时,获取到上一次存储任务分配到的空闲存储块的编号,将所述编号数值加一获得查找空闲存储块的起始存储块的编号;根据起始存储块的编号,查找获得对应的所述根节点中的索引的空闲标识字段;解析所述空闲标识字段,获得空闲存储块的编号;基于所述编号,查找获得所述叶子节点中的空闲存储块位置信息;查找所述空闲存储块位置信息对应的存储块,得到空闲存储块;将所述存储任务存储至所述空闲存储块中。优选的,当对存储块进行存储空间释放时,该方法还包括:将所述存储空间待释放的存储块的比特字段设置为0。根据本专利技术的第二方面,提供了一种存储空间管理装置,该装置包括:划分模块,用于将存储系统的存储空间划分为多个存储块,并对所述存储块按照存储空间的地址大小进行线性编号,获得所述存储块的编号;设置模块,用于设置所述存储块的比特字段,并基于所述比特字段划分得到空闲存储块,其中,所述比特位字段为0时表示所述存储块空闲,当所述比特位字段为1时标识所述存储块被使用;创建模块,用于创建空间地图树结构,其中,所述空间地图树包括根节点和叶子节点;第一存储模块,用于将所述存储块的使用相关信息存储到所述叶子节点中;第二存储模块,用于创建所述存储块的索引,并将所述索引存放至所述根节点;分配模块,用于在将存储任务分配到空闲存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到空闲存储块的编号,基于所述编号在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中。优选的,所述第一存储模块包括:第一设置单元,用于分别设置所述叶子节点块头字段和块号字段;第一存储单元,用于将所述存储块中拥有空闲存储块的数量信息存储至所述叶子节点的块头字段;第二存储单元,用于将所述叶子节点对应的被使用的存储块的编号信息存储至所述叶子节点的块号字段。优选的,所述第二存储模块包括:创建单元,用于创建所述存储块的索引;第二设置单元,用于分别设置索引块号字段和空闲指向字段;第三存储单元,用于将所述索引指向的叶子节点对应的存储块的编号存储至所述索引块号字段;第四存储单元,用于将所述索引指向的叶子节点对应的存储块中空闲存储块的数量信息存储至所述空闲指向字段。优选的,当将存储任务分配到存储块时,所述分配模块包括:第一获取单元,用于在将存储任务分配到空闲存储块时,获取到上一次存储任务分配到的空闲存储块的编号,将所述编号数值加一获得查找空闲存储块的起始存储块的编号;第二获取单元,用于根据起始存储块查找获得所述根节点中的索引的空闲标识字段;第三获取单元,用于解析所述空闲标识字段,获得空闲存储块的编号;第一查找单元,用于基于所述编号,查找获得所述叶子节点中的空闲存储块位置信息;第二查找单元,用于查找所述空闲存储块位置信息对应的存储块,得到空闲存储块;任务存储单元,用于将所述存储任务存储至所述空闲存储块中。优选的,当对存储块进行存储空间释放时,该装置还包括:释放设置模块,用于将所述存储空间待释放的存储块的比特字段设置为0。相较于现有技术,本专利技术将存储空间划分为多个存储块,并对所述存储块按照存储空间的地址大小进行线性编号;创建空间地图树结构,将所述存储块的使用相关信息存储到所述叶子节点中,创建所述存储块的索引,并将所述索引存放至所述根节点;当将存储任务分配到存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到有空闲索引块的叶子节点,在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中。在本专利技术中由于将存储块按照存储空间的地址大小进行线性编号,保证存储块的地址是连续的或者是按照存储空间地址进行递增的,并创建了空间地图树的结构,在分配存储块时先设定起始查找位置然后根据根节点对应的索引查找到叶子节点中的空闲存储块,这样保证了查找从上一次获得的空闲块之后进行,提升了数据访问效率,进而实现了改善用户体验的目的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例一提供的一种存储空间管理方法的流程示意图;图2为本专利技术实施中空间地图树的示意图;图3为本专利技术实施例二中对应图1步骤S14将信息存储到叶子节点的流程示意图;图4为本专利技术实施例二中对应图1步骤本文档来自技高网...
一种存储空间管理方法及装置

【技术保护点】
一种存储空间管理方法,其特征在于,该方法包括:将存储系统的存储空间划分为多个存储块,并对所述存储块按照存储空间的地址大小进行线性编号,获得所述存储块的编号;设置所述存储块的比特字段,并基于所述比特字段划分得到空闲存储块,其中,所述比特位字段为0时表示所述存储块空闲,当所述比特位字段为1时标识所述存储块被使用;创建空间地图树结构,其中,所述空间地图树包括根节点和叶子节点;将所述存储块的使用相关信息存储到所述叶子节点中;创建所述存储块的索引,并将所述索引存放至所述根节点;在将存储任务分配到空闲存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到空闲存储块的编号,基于所述编号在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中。

【技术特征摘要】
1.一种存储空间管理方法,其特征在于,该方法包括:将存储系统的存储空间划分为多个存储块,并对所述存储块按照存储空间的地址大小进行线性编号,获得所述存储块的编号;设置所述存储块的比特字段,并基于所述比特字段划分得到空闲存储块,其中,所述比特位字段为0时表示所述存储块空闲,当所述比特位字段为1时标识所述存储块被使用;创建空间地图树结构,其中,所述空间地图树包括根节点和叶子节点;将所述存储块的使用相关信息存储到所述叶子节点中;创建所述存储块的索引,并将所述索引存放至所述根节点;在将存储任务分配到空闲存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到空闲存储块的编号,基于所述编号在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中。2.根据权利要求1所述的方法,其特征在于,所述将所述存储块的使用信息存储到所述叶子节点中,包括:分别设置所述叶子节点块头字段和块号字段;将所述存储块中拥有空闲存储块的数量信息存储至所述叶子节点的块头字段;将所述叶子节点对应的被使用的存储块的编号信息存储至所述叶子节点的块号字段。3.根据权利要求1所述的方法,其特征在于,所述创建所述存储块的索引,并将所述索引存放至所述根节点,包括:创建所述存储块的索引;分别设置索引块号字段和空闲指向字段;将所述索引指向的叶子节点对应的存储块的编号存储至所述索引块号字段;将所述索引指向的叶子节点对应的存储块中空闲存储块的数量信息存储至所述空闲指向字段。4.根据权利要求1所述的方法,其特征在于,所述在将存储任务分配到空闲存储块时,预设查找空闲存储块的起始位置,根据所述起始位置获得所述根节点中对应的索引,根据所述索引查找到有空闲存储块的编号,基于所述编号在所述叶子节点中进行查找获得空闲存储块,将所述存储任务存储至所述空闲存储块中,包括:在将存储任务分配到空闲存储块时,获取到上一次存储任务分配到的空闲存储块的编号,将所述编号数值加一获得查找空闲存储块的起始存储块的编号;根据起始存储块的编号,查找获得对应的所述根节点中的索引的空闲标识字段;解析所述空闲标识字段,获得空闲存储块的编号;基于所述编号,查找获得所述叶子节点中的空闲存储块位置信息;查找所述空闲存储块位置信息对应的存储块,得到空闲存储块;将所述存储任务存储至所述空闲存储块中。5.根据权利要求1所述的方法,其特征在于,当对存储块进行存储空间释放时,该方法还包括:将所述存储空间待释放的存储块的比特字段设置为0。6.一种存储空间管理装置,其...

【专利技术属性】
技术研发人员:王永刚范聪聪
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1