技术新讯 > 计算推算,计数设备的制造及其应用技术 > 垃圾回收速度控制方法、垃圾回收处理方法及相关组件与流程  >  正文

垃圾回收速度控制方法、垃圾回收处理方法及相关组件与流程

  • 国知局
  • 2024-07-31 23:17:14

本技术涉及存储,特别是涉及垃圾回收速度控制方法、垃圾回收处理方法及相关组件。

背景技术:

1、分布式存储系统在以追加写的方式进行业务处理时,所有新写入的数据会聚合到新的内部存储位置,对应逻辑位置的旧数据变为无效数据。

2、为了使得无效数据对应的存储位置再次可用,需要进行垃圾回收处理。垃圾回收处理过程:当一段内部存储位置中存在大量无效数据时,需要对这一段内部存储位置上的有效数据进行读取,并重新组装写入到新的内部存储位置,以使得旧的内部存储位置全部失效,可以被用来写入新的数据。

3、当存储集群中存在大量的这样需要进行垃圾回收处理的内部存储位置时,同时进行大量的垃圾回收过程,会对业务处理造成影响,并且当这些大量的垃圾回收过程在时间上非均匀处理时,也容易使业务处理过程产生性能波动现象。

4、综上所述,如何有效地降低垃圾回收处理的负面影响等问题,是目前本领域技术人员急需解决的技术问题。

技术实现思路

1、本技术的目的是提供垃圾回收速度控制方法、垃圾回收处理方法、存储系统、设备及可读存储介质,通过基于当前物理空间的使用比例,来确定垃圾回收速度,并基于该垃圾回收速度,进行速度分发,可以有效控制垃圾回收速度,从而降低对业务处理过程的负面影响。

2、为解决上述技术问题,本技术提供如下技术方案:

3、一种垃圾回收速度控制方法,包括:

4、获取当前存储系统中物理空间的使用比例;

5、利用所述使用比例,确定当前的垃圾回收速度;

6、按照预设速度切分所述垃圾回收速度,得到n个子速度量;

7、从处理单元队列中,选出n个垃圾回收处理单元;

8、将所述n个子速度量,依次分配给选出的所述n个垃圾回收处理单元,以便所述垃圾回收处理单元,基于所接收到的子速度量进行垃圾回收处理。

9、优选地,利用所述使用比例,确定当前的垃圾回收速度,包括:

10、判断所述使用比例是否大于垃圾回收最低阈值;

11、如果否,则确定当前的垃圾回收速度为0,并返回获取当前存储系统中物理空间的使用比例;

12、如果是,则判断所述使用比例是否大于等于垃圾回收最高阈值;

13、若所述使用比例大于等于所述垃圾回收最高阈值,则将所述最大垃圾回收速度确定为当前的垃圾回收速度;

14、若所述使用比例小于所述垃圾回收最高阈值,则利用s=max*(p–l)/(h–l),计算当前的垃圾回收速度;

15、其中,s为当前的垃圾回收速度;max为最大垃圾回收速度,p为使用比例,l为垃圾回收最低阈值,h为垃圾回收最高阈值。

16、优选地,在按照预设速度切分所述垃圾回收速度,得到n个子速度量之前,还包括:

17、获取内存统计量;

18、在所述内存统计量小于内存最小阈值的情况下,确定修正系数为1;

19、在所述内存统计量大于等于所述内存最小阈值且小于等于所述内存最大阈值的情况下,利用r=1-(m–ml)/(mh–ml),确定所述修正系数;其中,r为修正系数,m为内存统计量,ml为内存最小阈值,mh为内存最大阈值;

20、在所述内存统计量大于所述内存最大阈值的情况下,确定所述修正系数为0;

21、利用s1=s*r,对所述垃圾回收速度进行修正;其中,s1为修正后的垃圾回收速度,s为修正前的垃圾回收速度。

22、优选地,从处理单元队列中,选出n个垃圾回收处理单元,包括:

23、从所述处理单元队列的队首顺序选出所述n个垃圾回收处理单元;

24、将所述n个垃圾回收处理单元插入所述处理单元队列的队尾。

25、优选地,将所述n个子速度量,依次分配给选出的所述n个垃圾回收处理单元,包括:

26、将单位时间t进行n等分,每一时间片为t;

27、向1个所述垃圾回收处理单元分发一个所述子速度量后,等待t时间,向下一个所述垃圾回收处理单元分发一个所述子速度量,直到完成n个子速度量的分发。

28、一种垃圾回收方法,包括:

29、接收执行如上述垃圾回收速度控制方法所发送的子速度量;

30、基于所述子速度量更新任务累积量;

31、在自身没有发起垃圾回收动作,且更新后的任务累积量达到最小启动阈值的情况下,启动一次垃圾回收动作;

32、在完成了本次垃圾回收动作后,从所述任务累积量中减去本次的垃圾回收的处理量;

33、在完成了本次垃圾回收动作后,若更新后的任务累积量达到所述最小启动阈值,则度过等待时延后,启动一次垃圾回收动作。

34、优选地,度过等待时延,包括:

35、利用t1=tmax*(1-(tr–tl)/(th–tl))计算等待时延;其中,tr为当前的任务累积量,tmax为最大等待时延,tl为所述最小启动阈值,th为最大启动阈值;

36、度过所述等待时延后,启动一次垃圾回收动作。

37、优选地,启动一次垃圾回收动作,包括:

38、读取一个数据块中的有效数据;

39、将所述有效数据写入新的存储位置;

40、无效所述数据块对应的存储位置。

41、优选地,接收执行如上述垃圾回收速度控制方法所发送的子速度量,包括:

42、在接收到所述子速度量的情况下,判断所述任务累积量是否大于拒收阈值;

43、如果是,则拒绝接受所述子速度量;

44、如果否,则接受所述子速度量。

45、一种存储系统,包括:

46、垃圾回收任务调度分发模块和若干个垃圾回收处理单元;

47、所述垃圾回收任务调度分发模块,用于执行如上述的垃圾回收速度控制方法的步骤;

48、所述垃圾回收处理单元,用于执行如上述的垃圾回收处理方法的步骤。

49、一种电子设备,包括:

50、存储器,用于存储计算机程序;

51、处理器,用于执行所述计算机程序时实现如上述垃圾回收速度控制方法的步骤;和/或,执行所述计算机程序时实现如上述垃圾回收处理方法的步骤。

52、一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述垃圾回收速度控制方法的步骤;和/或,计算机程序被处理器执行时实现如上述逻辑回收处理方法的步骤。

53、一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时,实现上述垃圾回收速度控制方法和/或垃圾回收处理方法的步骤。

54、应用本技术实施例所提供的垃圾回收速度控制方法,获取当前存储系统中物理空间的使用比例;利用使用比例,确定当前的垃圾回收速度;按照预设速度切分垃圾回收速度,得到n个子速度量;从处理单元队列中,选出n个垃圾回收处理单元;将n个子速度量,依次分配给给选出的n个垃圾回收处理单元,以便垃圾回收处理单元,基于所接收到的子速度量进行垃圾回收处理。

55、首先,获取当前存储系统中物理空间的使用比例,基于使用比例,来确定当前的垃圾回收速度。然后,将预设速度,对垃圾回收速度进行切分,从而得到n个子速度量。从处理单元队列中顺序选出n个垃圾回收处理单元,然后经这n个子速度量,依次分配给选出的n个垃圾回收处理单元,以便垃圾回收处理单元基于所接收到的子速度量进行垃圾回收处理。

56、技术效果:由于垃圾回收速度是基于当前存储系统的物理空间的使用比例所确定的,并且还会根据预设速度对垃圾回收速度进行切分,从而得到n个子速度量。然后,从处理单元队列中选出n个垃圾回收处理单元,将这n个子速度量依次分发给这n个垃圾回收处理单元,如此,n个垃圾回收处理单元便可基于所接收的子速度量进行垃圾回收处理。即,通过对速度的明确,分割以及分发,实现对垃圾回收处理进行速度控制,从而保障垃圾回收处理不影响业务处理过程。

57、应用本技术实施例所提供的垃圾回收处理方法,接收执行如上述垃圾回收速度控制方法所发送的子速度量;基于子速度量更新任务累积量;在自身没有发起垃圾回收动作,且更新后的任务累积量达到最小启动阈值的情况下,启动一次垃圾回收动作;在完成了本次垃圾回收动作后,从任务累积量中减去本次的垃圾回收的处理量;在完成了本次垃圾回收动作后,若更新后的任务累积量达到最小启动阈值,则度过等待时延后,启动一次垃圾回收动作。

58、在收到子速度量之后,基于该子速度量,便可实现速度控制。具体的,可以对已接收的子速度量进行累积,得到任务累加量,在自身没有发起垃圾回收动作且更新后的任务累积量达到最小启动阈值的情况下,确定一次垃圾回收动作。在完成了本次的垃圾回收动作之后,便从任务累加量中减去本次的垃圾回收的速度量。并且再次检查,更新后的任务累积量是否达到最小启动阈值,如果达到了,则在度过了等待时延之后,再次启动垃圾回收动作。

59、技术效果:垃圾回收处理相互独立,不仅受基于子速度量的累加限制,还需要在进行垃圾回收动作之后,度过等待时延,才能再次启动垃圾回收动作。如此,不仅可以实现垃圾回收速度的控制,还可将垃圾回收处理动作在时间上均匀分布,减少对业务处理过程产生不利影响。

60、相应地,本技术实施例还提供了与上述两种方法相对应的存储系统、设备和可读存储介质,具有上述技术效果,在此不再赘述。

本文地址:https://www.jishuxx.com/zhuanli/20240730/196817.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。