一种控制垃圾回收的方法和装置制造方法及图纸

技术编号:19903314 阅读:15 留言:0更新日期:2018-12-26 02:52
本发明专利技术公开了一种控制垃圾回收的方法和装置,控制垃圾回收方法,包括:获取目标回收数据的预设权重;根据CPU利用率,确定回收权重阈值;获取已下发的目标回收数据的数目;根据所述目标回收数据的预设权重和所述目标回收数据的数目,获取回收总权重;若所述回收总权重大于等于所述回收权重阈值,则停止下发新的回收任务。该方法,通过根据当前CPU的利用率,获取回收权重阈值,并比较回收总权重是与回收权重阈值的大小,实现对下发任务的数量的控制,进而能够减少对系统的影响。

【技术实现步骤摘要】
一种控制垃圾回收的方法和装置
本专利技术涉及全闪存储
,尤其涉及一种控制垃圾回收的方法和装置。
技术介绍
随着全闪存储技术的发展,垃圾回收的技术受到瞩目。垃圾回收(GarbageCollection,GC)是指回收存储器中长期不使用的内存空间以及废弃信息所占的内存空间。由于全闪存储阵列软件配合固态硬盘(SolidStateDrives,SSD)使用时具有以下特性:不能覆盖写的特性以及SSD盘写数据最小单位与擦除的最小单位不同的特性。因而,存储时需要采用的措施是:重定向写代替覆盖写以及通过垃圾回收来释放存储空间。但是,垃圾回收时数据迁移和元数据修改会对存储阵列产生较多的数据请求,将消耗系统的CPU、内存、硬盘等资源,进而对主机IO的性能和时延造成影响。然而,为了缓解垃圾回收对系统造成的压力,现有技术通常采用控制空间回收单元(extent)的并发量来控制垃圾回收对系统造成的压力。但是,由于每个回收单元内需要迁移的个数是不定的,可以直接回收的个数也是不定的,所以就很容易造成压力波动,时而压力大,时而压力小,对主机的读写(InputOutput,IO)造成较大的影响。
技术实现思路
为了解决现有技术中存在的以上技术问题,本专利技术提供一种控制垃圾回收的方法和装置,通过控制正在执行的垃圾回收的实时总权重,能够稳定垃圾回收产生的压力并减少对系统的影响。为了实现上述目的,本专利技术提供的技术方案如下:本专利技术提供一种控制垃圾回收的方法,包括:获取目标回收数据的预设权重;根据CPU利用率,确定回收权重阈值;获取已下发的目标回收数据的数目;根据所述目标回收数据的预设权重和所述目标回收数据的数目,获取回收总权重;若所述回收总权重大于等于所述回收权重阈值,则停止下发新的回收任务。可选的,所述控制垃圾回收的方法,还包括:若所述回收总权重小于所述回收权重阈值,则下发新的回收任务。可选的,所述目标回收数据包括迁移数据和/或直接回收数据。可选的,当所述目标回收数据包括迁移数据和直接回收数据时,所述预设权重包括第一权重和第二权重,其中,所述第一权重为所述迁移数据的预设权重,所述第二权重为所述直接回收数据的预设权重;所述数目包括第一数目和第二数目,其中,所述第一数目为所述迁移数据的数目,所述第二数目为所述直接回收数据的数目;则,所述获取回收总权重,具体包括:根据所述第一权重和所述第一数目的乘积,获取所述迁移数据的回收权重;根据所述第二权重和所述第二数目的乘积,获取所述直接回收数据的回收权重;根据所述迁移数据的回收权重和所述直接回收数据的回收权重,获取回收总权重。可选的,所述第一权重大于所述第二权重。可选的,所述目标回收数据来自同一个回收单元Extent。可选的,所述目标回收数据来自不同的回收单元Extent。本专利技术还提供一种控制垃圾回收的装置,包括:第一获取单元,用于获取目标回收数据的预设权重;确定单元,用于根据CPU利用率,确定回收权重阈值;第二获取单元,用于获取已下发的目标回收数据的数目;第三获取单元,用于根据所述目标回收数据的预设权重和所述目标回收数据的数目,获取回收总权重;停止单元,用于若所述回收总权重大于等于所述回收权重阈值,则停止下发新的回收任务。可选的,所述控制垃圾回收的装置,还包括:下发单元,用于若所述回收总权重小于所述回收权重阈值,则下发新的回收任务。可选的,所述目标回收数据包括迁移数据和/或直接回收数据。与现有技术相比,本专利技术至少具有以下优点:本申请提供的控制垃圾回收方法,包括:获取目标回收数据的预设权重;根据CPU利用率,确定回收权重阈值;获取已下发的目标回收数据的数目;根据所述目标回收数据的预设权重和所述目标回收数据的数目,获取回收总权重;若所述回收总权重大于等于所述回收权重阈值,则停止下发新的回收任务。该方法,通过获取目标回收数据的预设权重,并根据当前CPU的利用率,获取回收权重阈值,再比较回收总权重是与回收权重阈值的大小,实现对下发任务的数量的控制,进而能够稳定垃圾回收产生的压力并减少对系统的影响。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本申请实施例一提供的控制垃圾回收的方法的流程图;图2为本申请实施例二提供的控制垃圾回收的方法的流程图;图3为本申请实施例三提供的控制垃圾回收的装置的结构示意图。具体实施方式在介绍本申请具体实施方式之前,首先介绍一下描述本申请具体实施方式用到的技术术语。迁移数据:垃圾回收时,需要通过数据迁移实现回收的内存数据。直接回收数据:垃圾回收时,需要通过直接回收实现回收的内存数据。回收单元Extent:存储空间分配的回收单元。回收粒度Grain:用户进行数据存储时,使用的存储单位。需要说明的是,每个Extent包括多个Grain,而且,每个Grain可以是迁移数据,也可以是直接回收数据。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一:参见图1,该图为本申请实施例一提供的控制垃圾回收的方法的流程图。本申请实施例提供的控制垃圾回收的方法,包括:S101:获取目标回收数据的预设权重;预设权重是预先设定的权重,且预设权重可以是根据实际应用情景预先进行设定的。目标回收数据是指垃圾回收时需要回收的内存数据。目标回收数据可以包括迁移数据,也可以包括直接回收数据,还可以包括迁移数据和直接回收数据。例如,预先设定目标回收数据的预设权重为2。S102:根据CPU利用率,确定回收权重阈值;权重阈值是根据CPU的利用率进行确定的,其中,CPU的利用率越高,则回收权重阈值越小;CPU的利用率越低,则回收权重阈值越大。例如,当CPU的利用率为70%时,回收权重阈值可以为100;当CPU的利用率为80%时,回收权重阈值可以为80。为了提高回收权重阈值的准确性,回收权重阈值可以是实时获取的。S103:获取已下发的目标回收数据的数目;已下发的目标回收数据的数目是指已经下发的回收任务中未被回收的Grain的数目。例如,存储器已经下发的回收任务包括100个Grain,其中,30个Grain已被回收,未回收70个Grain,此时,已下发的目标回收数据的数目为70。需要说明的是,目标回收数据的数目可以是实时获取的。S104:根据所述目标回收数据的预设权重和所述目标回收数据的数目,获取回收总权重;回收总权重是指将要完成的回收任务的总的权重。作为示例,回收总权重的值可以是目标回收数据的预设权重与目标回收数据的数目的乘积。例如,当回收数据的预设权重为2且目标回收数据的数目为70时,回收总权重可以为140。S105:若所述回收总权重大于等于所述回收权重阈值,则停止下发新的回收任务。作为示例,当回收总权重为140且回收权重阈值为139时,则停止本文档来自技高网
...

【技术保护点】
1.一种控制垃圾回收的方法,其特征在于,包括:获取目标回收数据的预设权重;根据CPU利用率,确定回收权重阈值;获取已下发的目标回收数据的数目;根据所述目标回收数据的预设权重和所述目标回收数据的数目,获取回收总权重;若所述回收总权重大于等于所述回收权重阈值,则停止下发新的回收任务。

【技术特征摘要】
1.一种控制垃圾回收的方法,其特征在于,包括:获取目标回收数据的预设权重;根据CPU利用率,确定回收权重阈值;获取已下发的目标回收数据的数目;根据所述目标回收数据的预设权重和所述目标回收数据的数目,获取回收总权重;若所述回收总权重大于等于所述回收权重阈值,则停止下发新的回收任务。2.根据权利要求1所述的方法,其特征在于,还包括:若所述回收总权重小于所述回收权重阈值,则下发新的回收任务。3.根据权利要求1所述的方法,其特征在于,所述目标回收数据包括迁移数据和/或直接回收数据。4.根据权利要求3所述的方法,其特征在于,当所述目标回收数据包括迁移数据和直接回收数据时,所述预设权重包括第一权重和第二权重,其中,所述第一权重为所述迁移数据的预设权重,所述第二权重为所述直接回收数据的预设权重;所述数目包括第一数目和第二数目,其中,所述第一数目为所述迁移数据的数目,所述第二数目为所述直接回收数据的数目;则,所述获取回收总权重,具体包括:根据所述第一权重和所述第一数目的乘积,获取所述迁移数据的回收权重;根据所述第二权重和所述第二数目的乘积,获取所述直接回收数...

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

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

1