缓存的空间分配方法及装置制造方法及图纸

技术编号:10021935 阅读:125 留言:0更新日期:2014-05-09 03:26
本申请实施例提供了一种缓存的空间分配方法及装置,该方法应用于存储设备中,存储设备包括缓存,缓存的空间被划分为多个缓存区,其中,每个缓存区存储数据的最小单位不同,该方法包括:获取读数据请求,其中,读数据请求中携带有目标数据的数据量大小;根据目标数据的数据量大小确定目标数据对应的目标缓存区,目标数据的数据量大小小于或等于目标缓存区存储数据的最小单位;修改计数值,计数值用于指示目标缓存区的访问次数;根据修改后的计数值确定目标缓存区在缓存的空间中的容量占比;根据容量占比调整目标缓存区的容量。通过本申请解决了现有缓存空间分配的方法中存在的不能准确地做到与业务的需求相匹配,造成缓存空间利用率不高的问题。

【技术实现步骤摘要】
【专利摘要】本申请实施例提供了一种缓存的空间分配方法及装置,该方法应用于存储设备中,存储设备包括缓存,缓存的空间被划分为多个缓存区,其中,每个缓存区存储数据的最小单位不同,该方法包括:获取读数据请求,其中,读数据请求中携带有目标数据的数据量大小;根据目标数据的数据量大小确定目标数据对应的目标缓存区,目标数据的数据量大小小于或等于目标缓存区存储数据的最小单位;修改计数值,计数值用于指示目标缓存区的访问次数;根据修改后的计数值确定目标缓存区在缓存的空间中的容量占比;根据容量占比调整目标缓存区的容量。通过本申请解决了现有缓存空间分配的方法中存在的不能准确地做到与业务的需求相匹配,造成缓存空间利用率不高的问题。【专利说明】缓存的空间分配方法及装置
本专利技术涉及数据管理
,尤其涉及一种缓存的空间分配方法及装置。
技术介绍
为了提高数据存储和访问速度,现通常将数据缓存至高速缓存器中,例如:SSD(Solid State Disk,固态硬盘)。具体的,对应多种业务的数据需要缓存时,需要先为每种业务分配缓存空间,再将不同种业务的缓存数据缓存到分配的缓存空间中。然而,在系统运行一段时间后,每种业务的缓存数据都会有所调整,此时会出现某种业务的缓存空间不足,而另一种业务的缓存空间过多的情况,那么就需要用户调整缓存空间分配,将对应缓存空间过多的业务的部分缓存空间删除,添加对应缓存空间不足的业务中去。但是,这种依赖用户的配置调整缓存空间分配的方法,并不能准确地做到与业务的需求相匹配,造成缓存空间利用率不高。
技术实现思路
本专利技术实施例提供了一种缓存的空间分配方法,以解决现有缓存空间分配的方法中存在的不能准确地做到与业务的需求相匹配,造成缓存空间利用率不高的问题。为实现上述目的,本申请提供如下技术方案:第一方面,提供了一种缓存的空间分配方法,所述方法应用于存储设备中,所述存储设备包括所述缓存,所述缓存的空间被划分为多个缓存区,其中,每个缓存区存储数据的最小单位不同,所述方法包括:获取读数据请求,其中,所述读数据请求中携带有目标数据的数据量大小;根据所述目标数据的数据量大小确定所述目标数据对应的目标缓存区,所述目标数据的数据量大小小于或等于所述目标缓存区存储数据的最小单位;修改计数值,所述计数值用于指示所述目标缓存区的访问次数;根据所述修改后的计数值确定所述目标缓存区在所述缓存的空间中的容量占比;根据所述容量占比调整所述目标缓存区的容量。在所述第一方面的第一种可能实现方式中,所述根据所述目标数据的数据量大小确定所述目标数据对应的目标缓存区,包括:比对所述目标数据的数据量大小和每个缓存区存储数据的最小单位;确定存储数据的最小单位不小于所述目标数据的数据量大小的缓存区为目标缓存区。在所述第一方面的第二种可能实现方式中,所述根据所述修改后的计数值确定所述目标缓存区在所述缓存的空间中的容量占比,包括:计算所述修改后的计数值在计数总值中的比例值,其中,所述计数总值为所述缓存的空间的所有缓存区的访问次数的总和;根据所述比例值和所述缓存的空间的总容量,获得所述目标缓存区在所述缓存的空间中的容量占比。在所述第一方面的第三种可能实现方式中,所述根据所述容量占比调整所述目标缓存区的容量包括:比较所述目标缓存区的容量占比对应的容量和所述目标缓存区的原始容量;若所述目标缓存区的容量占比对应的容量小于所述目标缓存区的原始容量,依据所述目标缓存区的容量占比对应的容量,以预设缓存量为单位释放缓存空间;若所述目标缓存区的容量占比对应的容量大于所述目标缓存区的原始容量,依据所述目标缓存区的容量占比对应的容量,从释放得到的缓存空间中以所述预设缓存量为单位添加缓存空间。结合所述第一方面,或所述第一方面的上述任意一种可能的实现方式,还提供了所述第一方面的第四种可能的实现方式,所述获取读数据请求之前,还包括:确定所述读数据请求中携带的目标数据的数据量大小不大于预设阈值。第二方面,提供了一种缓存的空间分配装置,应用于存储设备中,所述存储设备包括所述缓存,所述缓存的空间被划分为多个缓存区,其中,每个缓存区存储数据的最小单位不同,所述装置包括:获取单元,用于获取读数据请求,其中,所述读数据请求中携带有目标数据的数据量大小;第一确定单元,用于根据所述获取单元得到的所述目标数据的数据量大小确定所述目标数据对应的目标缓存区,所述目标数据的数据量大小小于或等于所述目标缓存区存储数据的最小单位;修改单元,用于修改计数值,所述计数值用于指示所述第一确定单元确定的所述目标缓存区的访问次数;第二确定单元,用于根据所述修改单元得到的所述修改后的计数值确定所述目标缓存区在所述缓存的空间中的容量占比;调整单元,用于根据所述第二确定单元得到的所述容量占比调整所述目标缓存区的容量。在所述第二方面的第一种可能实现方式中,所述第一确定单元包括:比对单元,比对所述目标数据的数据量大小和每个缓存区存储数据的最小单位;第一确定子单元,用于确定存储数据的最小单位不小于所述目标数据的数据量大小的缓存区为目标缓存区。在所述第二方面的第二种可能实现方式中,所述第二确定单元包括:计算单元,用于计算所述修改后的计数值在计数总值中的比例值,其中,所述计数总值为所述缓存的空间的所有缓存区的访问次数的总和;获得单元,用于根据所述计算单元计算得到的所述比例值和所述缓存的空间的总容量,获得所述目标缓存区在所述缓存的空间中的容量占比。在所述第二方面的第三种可能实现方式中,所述调整单元包括:比较单元,用于比较所述目标缓存区的容量占比对应的容量和所述目标缓存区的原始容量;释放单元,用于所述比较单元确定所述目标缓存区的容量占比对应的容量小于所述目标缓存区的原始容量,依据所述目标缓存区的容量占比对应的容量,以预设缓存量为单位释放缓存空间;添加单元,用于所述比较单元确定所述目标缓存区的容量占比对应的容量大于所述目标缓存区的原始容量,依据所述目标缓存区的容量占比对应的容量,从释放得到的缓存空间中以所述预设缓存量为单位添加缓存空间。结合第二方面或所述第二方面的上述任意一种可能的实现方式,还提供了第二方面的第四种可能实现方式,还包括:第三确定单元,用于确定所述读数据请求中携带的目标数据的数据量大小不大于预设阈值。从上述的技术方案可以看出,本专利技术实施例公开的缓存的空间分配方法中,所述缓存的空间划分为多个缓存区,且每个缓存区存储数据的最小单位不同;具体的,所述缓存的空间分配方法中,根据所述容量占比调整所述目标缓存区的容量,并且,所述容量占比是采用所述目标数据的数据量大小小于或等于所述目标缓存区存储数据的最小单位的方式,确定与所述目标数据对应的目标缓存区,再修改用于指示所述目标缓存区的访问次数的计数值,最后根据修改后的计数值确定的,这样,所述目标缓存区的容量的分配都跟目标数据的数据量大小相关,可以使所述缓存区的容量的分配与业务的需求相匹配,解决了现有缓存空间分配的方法中存在的不能准确地做到与业务的需求相匹配,造成缓存空间利用率不高的问题。【专利附图】【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:周后兵
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1