System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种缓存盘空间分配方法、装置、计算机设备及存储介质制造方法及图纸_技高网

一种缓存盘空间分配方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:39939369 阅读:4 留言:0更新日期:2024-01-08 22:26
本发明专利技术涉及云存储技术领域,公开了一种缓存盘空间分配方法、装置、计算机设备及存储介质,方法包括:在对缓存盘进行格式化时,将缓存盘的数据区格式化为多种不同大小的数据块;接收缓存数据,并基于缓存数据占用空间的大小从多种不同大小的数据块中为缓存数据分配目标数据块;将缓存数据存入目标数据块。本发明专利技术提供的技术方案解决了缓存盘空间利用率低的问题。

【技术实现步骤摘要】

本专利技术涉及云存储,具体涉及一种缓存盘空间分配方法、装置、计算机设备及存储介质


技术介绍

1、在云存储领域,服务器中的存储盘包括缓存盘和数据盘两大类,数据盘是在服务器中担任存储数据功能的硬盘,缓存盘是根据用户经常访问的数据,将一部分数据保存到硬盘上方便下次读取的时候快速读取,其读取速度比数据盘更快。在当前的存储引擎中主要通过obj(obj是底层存储引擎处理输入输出的基本单元)来管理缓存盘的所有输入输出,在整个存储引擎中单个obj大小被定义为一个固定值,在磁盘初始化的时候,存储引擎中的格式化程序将整个磁盘按照obj的大小进行切割,然后对所有的数据块进行编号,根据该编号可以计算到每个块在磁盘的具体位置。对于整个存储引擎来说,obj的大小是定义的固定值,obj是数据存储请求的基本单元,所以响应于数据存储请求都需要分配一个obj被使用,不论该请求真实写入了多少数据,在磁盘上来看,必须要占用obj对应的物理磁盘大小。例如:一般情况下obj的大小被定义为4m,物理磁盘需要按照4m划分为很多块,此时如果某个obj仅仅写入了4k的数据,但是该obj必须占用的磁盘空间仍然为4m,导致这一块磁盘空间的有效的使用率只有1/1000。在这种模式下整个缓存盘的有效利用空间被极大缩小,对于缓存盘这种空间相对较小的资源,大量的空间浪费,将成为整个系统的一个瓶颈点。


技术实现思路

1、有鉴于此,本专利技术提供了一种缓存盘空间分配方法、装置、计算机设备及存储介质,以解决缓存盘空间利用率低的问题。

2、第一方面,本专利技术提供了一种缓存盘空间分配方法,方法包括:在对缓存盘进行格式化时,将缓存盘的数据区格式化为多种不同大小的数据块;接收缓存数据,并基于缓存数据占用空间的大小从多种不同大小的数据块中为缓存数据分配目标数据块;将缓存数据存入目标数据块。

3、根据上述技术手段,本实施例将缓存盘的数据区划分为大小不同的数据块,并采用按需最小分配的原则给待缓存数据分配数据块使用,将磁盘中空闲的空间合理利用起来,增加了磁盘的使用率,提升整个系统的缓存命中率,在最大程度上减少缓存盘的下刷和同步操作,能够显著增强整个存储系统的输入输出吞吐能力。

4、在一种可选地实施方式中,将缓存盘的数据区格式化为多种不同大小的数据块,包括:按照不同的容量单位将数据区划分为与各种容量单位对应大小的数据块,并得到每个数据块对应的存储id,存储id用于对应缓存盘的物理位置,各数据块的存储id互不重复;将每个数据块对应的存储id放入空闲列表,空闲列表中的存储id用于表示对应的数据块为可用状态;定义obj的大小,并将编号后的数据块映射到不同的obj当中。

5、根据上述技术手段,本实施例为划分的数据块进行不重复编号,以表示各个数据块对应的实际物理位置,然后定义obj的大小,将各个数据块分配给不同的obj使用,相比定义不同大小的obj配置难度更低。当需要进行数据缓存时,只需分配一个obj处理数据存储请求,obj不直接占用一块较大的物理空间,而是根据数据的实际大小从管理的数据块中选择较小的数据块对数据进行缓存,没有利用的数据块在后续的存储任务中还能继续使用,从而显著提高了缓存盘的空间利用率。

6、在一种可选地实施方式中,按照不同的容量单位将数据区划分为与各种容量单位对应大小的数据块,包括:将缓存盘分为三个区域;分别对三个区域按照预设的第一容量单位、第二容量单位和第三容量单位进行划分,得到多个大数据块、中数据块和小数据块,第一容量单位>第二容量单位>第三容量单位。

7、根据上述技术手段,本专利技术实施例将缓存盘的数据区按照大、中、小三种划分为大数据块、中数据块和小数据块,从而适应多种数据存储场景,也避免数据块的种类划分过多,增加数据存储的复杂度。

8、在一种可选地实施方式中,接收缓存数据,并基于缓存数据占用空间的大小从多种不同大小的数据块中为缓存数据分配目标数据块,包括:检测缓存数据的空间占用容量;将空间占用容量依次与各种大小的数据块容量进行比对;根据比对结果,从大于空间占用容量的数据块容量中确定最小的目标数据块容量;根据目标数据块容量从空闲列表中确定目标存储id;根据目标存储id确定使用对应目标数据块的目标obj;通过目标obj接收缓存数据;通过目标obj将缓存数据按照目标存储id存入目标数据块中;将目标存储id从空闲列表中删除。

9、在一种可选地实施方式中,所述第一容量单位、第二容量单位和第三容量单位分别是4m、1m和512k,所述接收缓存数据,并基于所述缓存数据占用空间的大小从多种不同大小的数据块中为所述缓存数据分配目标数据块,包括:检测所述缓存数据的空间占用容量;将所述空间占用容量依次与4m、1m和512k的数据块容量进行比对;根据比对结果,从4m、1m和512k中选择目标数据块容量,所述目标数据块容量是大于所述空间占用容量的最小容量;根据所述目标数据块容量从所述空闲列表中确定目标存储id;根据所述目标存储id确定使用对应所述目标数据块的目标obj;通过所述目标obj接收所述缓存数据;通过所述目标obj将所述缓存数据按照所述目标存储id存入所述目标数据块中;将所述目标存储id从所述空闲列表中删除。

10、根据上述技术手段,本实施例根据缓存数据的大小将大于空间占用容量的数据块容量中最小的目标数据块容量对应的数据块分配使用,在空间最小损耗的条件下还保证输入输出损耗最小,从而利用对应的obj处理数据存储任务,显著降低缓存盘的资源损耗率。

11、在一种可选地实施方式中,方法还包括:当预定义的较小容量单位对应的数据块数量小于预设阈值时,将较小容量单位对应数据块中的数据合并到预定义的较大容量单位对应的数据块中。

12、在一种可选地实施方式中,格式化时通过各个obj的元数据将各个obj以最小的容量单位改为数组,将较小容量单位对应数据块中的数据合并到较大容量单位对应的数据块中,包括:将当前obj中较小容量单位对应数据块中的数据按照数组表征的顺序读出;将读出的数据按照数组表征的顺序写入较大容量单位对应的数据块中;利用第二存储id改写当前obj中的第一存储id,第二存储id为较大容量单位对应的数据块的存储id,第一存储id为较小容量单位对应数据块的存储id;将第二存储id从空闲列表中删除;将第一存储id还原到空闲列表中。

13、根据上述技术手段,首选预定义哪些数据块的容量是较小容量单位,哪些是较大容量单位,然后当较小数据块使用较多时,本实施例还将一些较小数据块中的数据合并到更大的数据块中,解决小数据块、中数据块空间不足的情况,进一步提高存储资源的利用率。同时,将释放的存储id重新放入空闲列表中,便于释放的存储资源被重复调用。

14、在一种可选地实施方式中,方法还包括:接收数据删除请求;通过当前obj响应数据删除请求,将当前obj使用的数据块清空;清理当前obj的元数据信息;将当前obj使用数据块的存储id还原到空闲列表中;当当前obj中的数据下刷到数据盘时,将当前o本文档来自技高网...

【技术保护点】

1.一种缓存盘空间分配方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将缓存盘的数据区格式化为多种不同大小的数据块,包括:

3.根据权利要求2所述的方法,其特征在于,所述按照不同的容量单位将所述数据区划分为与各种容量单位对应大小的数据块,包括:

4.根据权利要求3所述的方法,其特征在于,所述第一容量单位、第二容量单位和第三容量单位分别是4M、1M和512K,所述接收缓存数据,并基于所述缓存数据占用空间的大小从多种不同大小的数据块中为所述缓存数据分配目标数据块,包括:

5.根据权利要求2所述的方法,其特征在于,所述接收缓存数据,并基于所述缓存数据占用空间的大小从多种不同大小的数据块中为所述缓存数据分配目标数据块,包括:

6.根据权利要求2所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,格式化时通过各个OBJ的元数据将各个OBJ以最小的容量单位改为数组,所述将所述较小容量单位对应数据块中的数据合并到预定义的较大容量单位对应的数据块中,包括:>

8.根据权利要求2所述的方法,其特征在于,所述方法还包括:

9.一种缓存盘空间分配装置,其特征在于,所述装置包括:

10.一种计算机设备,其特征在于,包括:

...

【技术特征摘要】

1.一种缓存盘空间分配方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将缓存盘的数据区格式化为多种不同大小的数据块,包括:

3.根据权利要求2所述的方法,其特征在于,所述按照不同的容量单位将所述数据区划分为与各种容量单位对应大小的数据块,包括:

4.根据权利要求3所述的方法,其特征在于,所述第一容量单位、第二容量单位和第三容量单位分别是4m、1m和512k,所述接收缓存数据,并基于所述缓存数据占用空间的大小从多种不同大小的数据块中为所述缓存数据分配目标数据块,包括:

5.根据权利要求2所述的方法,其特征在于...

【专利技术属性】
技术研发人员:张克涛
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1