[发明专利]基于位图的存储空间管理系统及其方法有效
申请号: | 201510097786.8 | 申请日: | 2015-03-05 |
公开(公告)号: | CN104731872B | 公开(公告)日: | 2018-04-03 |
发明(设计)人: | 龙恢;管志坚 | 申请(专利权)人: | 长沙新弘软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 施浩 |
地址: | 410000 湖南省长沙高新区*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 位图 存储空间 管理 系统 及其 方法 | ||
技术领域
本发明涉及一种存储空间的管理系统,尤其涉及基于位图来实现的存储空间管理系统和方法。
背景技术
位图示法是一种根据位图结构中的数据位来表示存储卷或者分区中的簇的分配和使用情况,它结构简单、易于实现,大多数文件系统都采用了位图来进行存储空间的管理。
比如,Windows操作系统中的FAT文件系统采用了文件分配表,它是FAT文件系统中使用磁盘数据索引和定位引进的一种链式结构。在FAT文件系统中,存储器具有专门的文件分配表区(FAT区),它描述了文件系统中每个文件所占用的存储空间大小并将该存储空间结构化为一个文件的簇分配链表。文件的存储依照FAT表中的簇链式数据结构来进行。
比如,Linux系统中采用Ext2的非日志型文件系统,一个被格式化为Etx2文件系统的磁盘分区,被分成一个引导分区后接多个块组,一个块组又包含超级块、块组描述、数据块位图、i-node位图、i-node表、数据块。其中超级块用于存放文件系统信息,一个文件系统内的每个块组的超级块均包含相同内容。块组描述用于存放块组信息。数据块位图用于管理空闲数据块。i-node位图用于管理空闲i-node。i-node表用于存放i-node表,每个文件对应一个i-node表,i-node表用于管理文件的元数据(如uid、gid、ctime、dtime、指向数据块的指针等)。数据块用于存放实际用户数据。
而无论是Windows还是Linux系统,目前操作系统管理存储空间的位图比较简单,即一位表示一个固定的存储块大小。如果每块分配的空间太小,在存储和访问大的数据对象时效率就会下降。而如果每块分配的空间太大,在存储小的数据对象时又会浪费很多空间。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种基于位图的存储空间管理系统及其方法,实现了在存储小的数据对象时按照小块来分配,存储大的数据对象时按照大块来分配。
本发明的技术方案为:本发明揭示了一种基于位图的存储空间管理系统,包括:
索引位图配置模块,配置位于上层的索引位图,索引位图包括主资源索引位图、大块索引位图、副资源索引位图、以及小块索引位图;
状态位图配置模块,配置位于下层的状态位图,状态位图包括并列的资源状态位图和分配状态位图,其中资源状态位图的一个资源状态位和分配状态位图中的相应位置的一个分配状态位对应着存储空间中的同一个存储块,每多个资源状态位构成一个资源状态位图单元,每多个分配状态位构成一个分配状态位图单元,每一个资源状态位图单元和与之对应的一个分配状态位图单元组成一个状态位图单元,且资源状态位图中的每一位的二进制值指示对应的存储块是否被占用,分配状态位图中的每一位的二进制值指示对应的存储块是否可进一步分割;
其中索引位图中的每一索引位对应一个状态位图单元,通过索引位的二进制值表示是否有效,主资源索引位图用于索引包含空闲块且没有用于大块分配或小块分配的一个状态位图单元,副资源索引位图用于索引小块分配且资源状态位不全为占用状态的一个状态位图单元,大块索引位图用于索引大块分配的一个状态位图单元,小块索引位图用于索引小块分配的一个状态位图单元。
根据本发明的基于位图的存储空间管理系统的一实施例,索引位图配置模块配置多层级的索引位图。
根据本发明的基于位图的存储空间管理系统的一实施例,索引位图配置模块中的每个索引位图和状态位图配置模块中的每个状态位图分割成若干小块,并将每个位图相关联部分的小块集合到一起进行管理。
根据本发明的基于位图的存储空间管理系统的一实施例,状态位图配置模块中的资源状态位图和分配状态位图将存储空间中的存储块配置为未占用可分块状态、已占用可分块状态和已占用不可分块状态,当分配大块时状态位图配置模块同时修改存储块在资源状态位图和分配状态位图中的对应的状态位,以使存储块的状态配置成已占用不可分块状态;当分配小块时,在首次操作中修改存储块在资源状态位图和分配状态位图中的对应的状态位,以使存储块的状态配置成已占用可分块状态,直至存储块被全部分割成小块后,修改存储块在资源状态位图和分配状态位图中的对应的状态位,以使存储块的状态配置成已占用不可分块状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙新弘软件有限公司,未经长沙新弘软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510097786.8/2.html,转载请声明来源钻瓜专利网。