CN114115744A - 数据回收任务的控制方法、装置、电子设备及存储介质 - Google Patents
数据回收任务的控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114115744A CN114115744A CN202111441758.5A CN202111441758A CN114115744A CN 114115744 A CN114115744 A CN 114115744A CN 202111441758 A CN202111441758 A CN 202111441758A CN 114115744 A CN114115744 A CN 114115744A
- Authority
- CN
- China
- Prior art keywords
- task
- tokens
- storage system
- determining
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000001514 detection method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 9
- 230000008569 process Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了数据回收任务的控制方法、装置、电子设备及存储介质。方法包括:获取当前检测周期在存储***中正在执行的第一数据回收任务,并确定第一数据回收任务对应的第一任务量;查询存储***在当前检测周期的存储量,确定存储量对应的任务量阈值;在第一任务量低于任务量阈值时,根据任务量阈值与第一任务量之间的差值确定新增的第二任务量;从令牌桶中获取满足第二任务量的目标令牌数量,并将目标令牌数量的令牌分配至第二任务量对应的第二数据回收任务。本申请在已执行任务量低于当前存储量对应的任务量阈值时,通过增加任务量提高数据回收速度,同时根据业务压力等级动态设置令牌桶中令牌的数量,能够实现业务处理和数据回收之间的平衡。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及数据回收任务的控制方法、装置、电子设备及存储介质。
背景技术
分布式存储***采用了一种重定向写的算法,每写一份数据都会通过重定向将其写入到不同的存储单元,以提高数据写的性能。但是即使是同一份数据,对其进行多次修改、删除、新写等,每次落到磁盘上的具***置也会不一样,因此,在同一个存储***中,就会存在多份重复、无效的数据,占用存储空间。那么,长时间运行下来,一个存储***很快就会被写满,而且其存储的数据有大部分都是重复、无效的数据,导致存储空间的利用率很低,存储***生命周期短。
在现有技术中,为了解决这个问题,就需要及时地将重复、无效的数据占有的存储空间释放出来,即将重复、无效的数据从磁盘上彻底删除掉,这种技术被称为数据回收(Garbage Collector,GC)。数据回收技术将上述重复、无效的数据划分为垃圾,然后采用分布式存储***内部的数据读写和删除等操作,将垃圾识别、拆分并删除。
在实现本发明的过程中,发明人发现垃圾数据的回收需要占用OSD的带宽和流量,当需要回收的垃圾很多时,大量的内部读写、删除操作就会抢占正常业务的带宽和流量,从而影响设备处理业务的效率。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据回收任务的控制方法、装置、电子设备及存储介质。
根据本申请实施例的一个方面,提供了一种数据回收任务的控制方法,应用于分布式存储***,该控制方法包括:
获取当前检测周期在存储***中正在执行的第一数据回收任务,并确定所述第一数据回收任务对应的第一任务量;
查询所述存储***在当前检测周期的存储量,并确定所述存储量对应的任务量阈值;
在所述第一任务量低于所述任务量阈值的情况下,根据所述任务量阈值与所述第一任务量之间的差值确定新增的第二任务量;
从令牌桶中获取满足所述第二任务量的目标令牌数量,并将所述目标令牌数量的令牌分配至所述第二任务量对应的第二数据回收任务,其中,所述令牌桶中的令牌数量是根据所述存储***在当前检测周期内的业务压力等级确定的。
进一步的,所述确定所述存储量对应的任务量阈值,包括:
获取所述存储***对应的存储量上限;
计算所述存储量与所述存储量上限的比值,并确定所述比值所处的目标比值范围;
基于预设比值范围与任务量阈值之间的第一对应关系,确定所述目标比值范围对应的任务量阈值。
进一步的,在从令牌桶中获取满足所述第二任务量的目标令牌数量之前,所述方法还包括:
检测所述存储***在当前检测周期内的业务压力等级;
在所述业务压力等级小于预设等级的情况下,向所述令牌桶中新增令牌。
进一步的,所述检测所述存储***在当前检测周期内的业务压力等级,包括:
检测所述存储***在当前检测周期内业务流量的时延;
获取所述时延所处的时延范围,并根据所述时延范围确定所述业务压力等级。
进一步的,所述在所述业务压力等级小于预设等级的情况下,向所述令牌桶中新增令牌,包括:
在所述时延小于时延阈值的情况下,确定所述业务压力等级小于预设等级,并获取预设时延范围与令牌数量之间的第二对应关系;
基于所述第二对应关系确定所述时延对应的新增令牌数量;
按照所述新增令牌数量向所述令牌桶分配新增令牌。
进一步的,在将所述目标令牌数量分配至所述第二任务量对应的第二数据回收任务之后,所述方法还包括:
获取待处理业务,并确定所述令牌桶中是否存在剩余令牌;
在所述令牌桶中存在剩余令牌的情况下,将所述剩余令牌分配至所述待处理业务,以使所述存储***对所述待处理业务进行处理。
进一步的,所述方法还包括:
在所述令牌桶中不存在剩余令牌的情况下,查询所述待处理业务对应的等待时间;
在到达所述等待时间的情况下,控制所述存储***对所述待处理业务进行处理。
根据本申请实施例的另一个方面,还提供了一种数据回收任务的控制装置,所述控制装置部署在分布式存储***,该控制装置包括:
获取模块,用于获取当前检测周期在存储***中正在执行的第一数据回收任务,并确定所述第一数据回收任务对应的第一任务量;
查询模块,用于查询所述存储***在当前检测周期的存储数据量,并确定所述存储数据量对应的任务量阈值;
确定模块,用于在所述第一任务量不满足所述任务量阈值的情况下,根据所述任务量阈值与所述第一任务量之间的差值确定新增的第二任务量;
分配模块,用于从令牌桶中获取满足所述第二任务量的目标令牌数量,并将所述目标令牌数量的令牌分配至所述第二任务量对应的第二数据回收任务,其中,所述令牌桶中的令牌数量是根据所述存储***在当前检测周期内的业务压力等级确定的。
进一步的,所述确定模块还用于获取所述存储***对应的存储量上限;计算所述存储量与所述存储量上限的比值,并确定所述比值所处的目标比值范围;基于预设比值范围与任务量阈值之间的第一对应关系,确定所述目标比值范围对应的任务量阈值。
进一步的,所述数据回收任务的控制装置还包括:
检测模块,用于检测所述存储***在当前检测周期内的业务压力等级;
分配模块,用于在所述业务压力等级小于预设等级的情况下,向所述令牌桶中新增令牌。
进一步的,所述检测模块还用于检测所述存储***在当前检测周期内业务流量的时延;获取所述时延所处的时延范围,并根据所述时延范围确定所述业务压力等级。
进一步的,所述分配模块还用于在所述时延小于时延阈值的情况下,确定所述业务压力等级小于预设等级,并获取预设时延范围与令牌数量之间的第二对应关系;基于所述第二对应关系确定所述时延对应的新增令牌数量;按照所述新增令牌数量向所述令牌桶分配新增令牌。
进一步的,所述数据回收任务的控制装置还包括:
查询模块,用于获取待处理业务,并确定所述令牌桶中是否存在剩余令牌;在所述令牌桶中存在剩余令牌的情况下,将所述剩余令牌分配至所述待处理业务,以使所述存储***对所述待处理业务进行处理。
进一步的,所述查询模块还用于在所述令牌桶中不存在剩余令牌的情况下,查询所述待处理业务对应的等待时间;在到达所述等待时间的情况下,控制所述存储***对所述待处理业务进行处理。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请通过设备的存储量确定数据回收任务的任务量阈值,并在当前已执行任务量低于任务量阈值时,通过增加任务量提高数据回收效率,加快存储空间的释放,确保了设备的服务效率,同时根据业务压力等级动态设置令牌桶中令牌的数量,能够实现业务处理和数据回收之间的平衡,保证业务性能的同时,数据也能被尽快回收。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据回收任务的控制方法的流程图;
图2为本申请另一实施例提供的一种数据回收任务的控制方法的流程图;
图3为本申请实施例提供的一种数据回收任务的控制装置的框图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,数据回收技术主要是为了及时的回收磁盘上的垃圾数据,多以固定的速率来回收垃圾,没有动态调节和流量控制。这种策略下的GC不论垃圾量的多少,都按照同样的速率来回收,如果速率设置的较慢,当垃圾量大时,(1)没有及时回收,在有业务的情况下,仍然可能导致磁盘空间被快速写满,业务无法继续读写;(2)如果速率设置的较快,由于GC的流量是对***内部磁盘的数据读写和删除操作,需要占用磁盘的流量和带宽,而客户的业务流量最终也需要占用磁盘的流量和带宽,此时,就会出现资源抢占的问题,GC的流量就会影响到客户的业务流量,可能会导致业务性能的下降,严重时可能会导致磁盘没有资源处理业务流量,业务掉零。
基于此,本申请实施例提供了一种数据回收任务的控制方法、装置、电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
根据本申请实施例的一方面,提供了一种数据回收任务的控制方法的方法实施例。图1为本申请实施例提供的一种数据回收任务的控制方法的流程图,如图1所示,该方法包括:
步骤S11,获取当前检测周期在存储***中正在执行的第一数据回收任务,并确定第一数据回收任务对应的第一任务量。
本申请实施例提供的方法应用于分布式存储***,其中存储***内设有定时器,通过定时器周期性触发数据回收任务。定时器每次触发数据回收任务时,存储***会查询在当前检测周期内正在执行的第一数据回收任务,并统计出第一数据回收任务对应的任务量,将该任务量确定为第一任务量。
步骤S12,查询存储***在当前检测周期的存储量,并确定存储量对应的任务量阈值。
在本申请实施例中,因为伴随着数据存储量的增多,重复、无效的数据也会相应的增加。相应的,需要发起更多的数据回收任务及时的对重复、无效的数据进行回收。因此,检测通过存储***的存储量来确定任务量阈值,以使数据回收任务的数量尽可能的与重复、无效的数据量匹配,另外,任务数量越多,数据回收的流量就越大,回收速率就越快。最终实现快速地回收存储***中的无效/重复数据对象,及时地释放存储空间来存储更多的有效数据。
具体的,步骤S12,确定存储量对应的任务量阈值,包括以下步骤A1-A3:
步骤A1,获取存储***对应的存储量上限。
步骤A2,计算存储量与存储量上限的比值,并确定比值所处的目标比值范围。
步骤A3,基于预设比值范围与任务量阈值之间的第一对应关系,确定目标比值范围对应的任务量阈值。
在本申请实施例中,首先获取存储***对应的存储量上限,然后计算存储量与存储量上限的比值,然后确定该比值所处的目标比值范围,同时获取预设比值范围与任务量阈值之间的对应关系,然后基于该对应关系,确定目标比值范围对应的任务量阈值。
作为一个示例,如表1所示,首先按照比值范围来分段设置任务量阈值n,且1个任务在同一时间只回收一个无效/重复数据对象。n表示当前可以同时运行的最多的任务数量,即使有大于等于n个数据对象等待回收时,同一时间最多只能有n个数据对象正在被回收,当有m(m小于n)个无效/重复数据对象等待回收时,同一时间只有m个无效/重复数据对象正在被回收,其余的n-m个任务处于空闲状态。表1中的并发任务数是分段成倍增长的,由于存储量对应的比值越大,意味着重复、无效的数据越多,需要发起更多的任务来及时地回收无效/重复数据对象。
预设比值范围a | 任务量阈值n |
a<20% | n=b |
20%≤a<30% | n=2×b |
30%≤a<40% | n=3×b |
40%≤a<50% | n=4×b |
50%≤a<60% | n=5×b |
60%≤a<70% | n=6×b |
70%≤a<80% | n=7×b |
表1
在本申请实施例中,由于存储空间使用率慢慢变大时,意味着存储数据量增多,无效/重复的数据量也增多,此时增加数据回收任务的任务量阈值,可以及时地回收掉无效数据,快速地释放出存储空间。
步骤S13,在第一任务量低于任务量阈值的情况下,根据任务量阈值与第一任务量之间的差值确定新增的第二任务量。
在本申请实施例中,在确定任务量阈值n后,对比第一任务量和任务量阈值n,在第一任务量低于任务量阈值的情况下,确定增加的第二任务量为n-m,其中m表示正在被回收的数据量。因为一个任务在同一时间只回收一个无效/重复数据对象,所以n-m就表示能够增加的第二任务量,此时可以把剩余的空闲任务及时地利用起来,提高数据回收效率。
另外,在新增第二任务量以后获取新增结果,如果新增结果显示新增任务量失败,表示当前没有数据在等待回收中,则直接结束;如果新增结果显示新增任务量成功,则当前正在被回收的数据量同步增加。
步骤S14,从令牌桶中获取满足第二任务量的目标令牌数量,并将目标令牌数量的令牌分配至第二任务量对应的第二数据回收任务,其中,令牌桶中的令牌数量是根据存储***在当前检测周期内的业务压力等级确定的。
在本申请实施例中,在确定新增的第二任务量后,从令牌桶中获取与第二任务量相匹配的目标令牌数量,并将目标令牌数量的令牌分配给第二任务量对应的第二数据回收任务,以使第二数据回收任务根据分配的令牌执行数据回收操作。需要说明的是,令牌桶中的令牌数量与存储***在当前检测周期内的业务压力等级相关,其中存储***的业务压力等级越大,令牌桶中的令牌数量越少。相反,如果存储***的压力等级越小,令牌桶中的令牌数量越多。
在本申请实施例中,当前检测周期内的无效/重复的数据都被回收完成后,定时器来重新启动控制进入下一个检测周期。按照定时器时间检测到又有等待回收的数据生成时,就会再次启动此流程,直到待回收的数据对象都被回收完成,直至结束。
本申请通过设备的存储量确定数据回收任务的任务量阈值,并在当前已执行任务量低于任务量阈值时,通过增加任务量提高数据回收效率,加快存储空间的释放,确保了设备的服务效率,同时根据业务压力等级动态设置令牌桶中令牌的数量,能够实现业务处理和数据回收之间的平衡,保证业务性能的同时,数据也能被尽快回收。
在本申请实施例中,在从令牌桶中获取满足第二任务量的目标令牌数量之前,如图2所示,包括以下步骤:
步骤S21,检测存储***在当前检测周期内的业务压力等级。
在本申请实施例中,检测存储***在当前检测周期内的业务压力等级,包括以下步骤B1-B2:
步骤B1,检测存储***在当前检测周期内业务流量的时延。
步骤B2,获取时延所处的时延范围,并根据时延范围确定业务压力等级。
在本申请实施例中,由于业务流量的时延t的大小可以反映当前存储***的繁忙程度、业务压力大小等,以此为依据,增加或减少数据回收的数据流量(即增加或减少相应数量的数据回收任务的第二任务量),以此可以保证业务流量的性能不下降,同时也能以尽可能快的速度回收数据。
作为一个示例,存储***的业务压力等级为一级时,给令牌桶增加4×b(b为大于0的整数)个令牌。存储***的业务压力等级为二级时,则给令牌桶增加2×b个令牌;存储***的业务压力等级为三级时,则给令牌桶只增加b个令牌;存储***的业务压力等级为四级时,则不给令牌桶增加令牌。
步骤S22,在业务压力等级小于预设等级的情况下,向令牌桶中新增令牌。
在本申请实施例中,步骤S22,在业务压力等级小于预设等级的情况下,向令牌桶中新增令牌,包括以下步骤C1-C3:
步骤C1,在时延小于时延阈值的情况下,确定业务压力等级小于预设等级,并获取预设时延范围与令牌数量之间的第二对应关系。
步骤C2,基于第二对应关系确定时延对应的新增令牌数量。
步骤C3,按照新增令牌数量向令牌桶分配新增令牌。
本申请实施例提供的方法,根据osd的op时延来判断当前***的业务压力等级,业务压力等级小的时候,就加大GC的流量,及时回收磁盘上的数据垃圾,快速释放磁盘空间;当业务压力等级大的时候,就减少GC的流量,不过多的占用磁盘带宽,保证业务性能。
作为一个示例,如果时延t<0.5s,表示此时存储***的业务压力等级为一级(最低)。如果时延0.5s≤t<1s,表示此时业务压力等级为二级;如果1s≤t<1.5s,表示业务压力等级为三级;如果1.5s≤t,表示业务压力等级为四级(最高),此时不适宜处理更多的数据回收任务。
在本申请实施例中,在将目标令牌数量分配至第二任务量对应的第二数据回收任务之后,方法还包括以下步骤D1-D2:
步骤D1,获取待处理业务,并确定令牌桶中是否存在剩余令牌。
步骤D2,在令牌桶中存在剩余令牌的情况下,将剩余令牌分配至待处理业务,以使存储***对待处理业务进行处理。
在本申请实施例中,令牌添加流程完毕后,会判断一下当前令牌桶中是否还有剩余的令牌,如果有令牌,就将当前等待的业务下发到存储***上去处理。
在本申请实施例中,方法还包括以下步骤E1-E2:
步骤E1,在令牌桶中不存在剩余令牌的情况下,查询待处理业务对应的等待时间。
步骤E2,在到达等待时间的情况下,控制存储***对待处理业务进行处理。
在本申请实施例中,若当前没有等待的业务,则表示回收垃圾的任务已经全部下发给了存储***,此时流程结束;如果令牌桶中没有令牌,就需要判断当前待处理业务是否达到了等待时间,若否,就继续等待,若是,就强制下发给存储***进行处理。
本申请实施例提供的方法在令牌桶中没有剩余令牌的情况下,因为增加了等待时间,存储***在这段时间内可以优先处理其他的业务,从一定程度上可以缓解业务压力,而同时又不会导致回收垃圾的任务的数据流长时间不能下发,垃圾数据不能及时地被回收。
此流程根据存储***的数据流时延来判断当前***的业务压力大小,当业务压力小的时候,就加大数据回收的流量,及时回收磁盘上的垃圾数据,快速释放磁盘空间;当业务压力大的时候,就减少数据回收的流量,不过多的占用磁盘带宽,保证业务性能。
图3为本申请实施例提供的一种数据回收任务的控制装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,该装置包括:
获取模块31,用于获取当前检测周期在存储***中正在执行的第一数据回收任务,并确定第一数据回收任务对应的第一任务量。
查询模块32,用于查询存储***在当前检测周期的存储数据量,并确定存储数据量对应的任务量阈值。
确定模块33,用于在第一任务量不满足任务量阈值的情况下,根据任务量阈值与第一任务量之间的差值确定新增的第二任务量。
分配模块34,用于从令牌桶中获取满足第二任务量的目标令牌数量,并将目标令牌数量的令牌分配至第二任务量对应的第二数据回收任务,其中,令牌桶中的令牌数量是根据存储***在当前检测周期内的业务压力等级确定的。
在本申请实施例中,确定模块33,用于获取存储***对应的存储量上限;计算存储量与存储量上限的比值,并确定比值所处的目标比值范围基于预设比值范围与任务量阈值之间的第一对应关系,确定目标比值范围对应的任务量阈值。
在本申请实施例中,数据回收任务的控制装置包括:
检测模块,用于检测存储***在当前检测周期内的业务压力等级;
分配模块,用于在业务压力等级小于预设等级的情况下,向令牌桶中新增令牌。
在本申请实施例中,检测模块,用于检测存储***在当前检测周期内业务流量的时延;获取时延所处的时延范围,并根据时延范围确定业务压力等级;
在本申请实施例中,分配模块,用于在时延小于时延阈值的情况下,确定业务压力等级小于预设等级,并获取预设时延范围与令牌数量之间的第二对应关系;基于第二对应关系确定时延对应的新增令牌数量;按照新增令牌数量向令牌桶分配新增令牌。
在本申请实施例中,数据回收任务的控制装置还包括:查询模块,用于获取待处理业务,并确定令牌桶中是否存在剩余令牌;在令牌桶中存在剩余令牌的情况下,将剩余令牌分配至待处理业务,以使存储***对待处理业务进行处理。
在本申请实施例中,查询模块,用于在令牌桶中不存在剩余令牌的情况下,查询待处理业务对应的等待时间;在到达等待时间的情况下,控制存储***对待处理业务进行处理。
本申请实施例还提供一种电子设备,如图4所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据回收任务的控制方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据回收任务的控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk)等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据回收任务的控制方法,应用于分布式存储***,其特征在于,包括:
获取当前检测周期在存储***中正在执行的第一数据回收任务,并确定所述第一数据回收任务对应的第一任务量;
查询所述存储***在当前检测周期的存储量,并确定所述存储量对应的任务量阈值;
在所述第一任务量低于所述任务量阈值的情况下,根据所述任务量阈值与所述第一任务量之间的差值确定新增的第二任务量;
从令牌桶中获取满足所述第二任务量的目标令牌数量,并将所述目标令牌数量的令牌分配至所述第二任务量对应的第二数据回收任务,其中,所述令牌桶中的令牌数量是根据所述存储***在当前检测周期内的业务压力等级确定的。
2.根据权利要求1所述的方法,其特征在于,所述确定所述存储量对应的任务量阈值,包括:
获取所述存储***对应的存储量上限;
计算所述存储量与所述存储量上限的比值,并确定所述比值所处的目标比值范围;
基于预设比值范围与任务量阈值之间的第一对应关系,确定所述目标比值范围对应的任务量阈值。
3.根据权利要求1所述的方法,其特征在于,在从令牌桶中获取满足所述第二任务量的目标令牌数量之前,所述方法还包括:
检测所述存储***在当前检测周期内的业务压力等级;
在所述业务压力等级小于预设等级的情况下,向所述令牌桶中新增令牌。
4.根据权利要求3所述的方法,其特征在于,所述检测所述存储***在当前检测周期内的业务压力等级,包括:
检测所述存储***在当前检测周期内业务流量的时延;
获取所述时延所处的时延范围,并根据所述时延范围确定所述业务压力等级。
5.根据权利要求4所述的方法,其特征在于,所述在所述业务压力等级小于预设等级的情况下,向所述令牌桶中新增令牌,包括:
在所述时延小于时延阈值的情况下,确定所述业务压力等级小于预设等级,并获取预设时延范围与令牌数量之间的第二对应关系;
基于所述第二对应关系确定所述时延对应的新增令牌数量;
按照所述新增令牌数量向所述令牌桶分配新增令牌。
6.根据权利要求1所述的方法,其特征在于,在将所述目标令牌数量分配至所述第二任务量对应的第二数据回收任务之后,所述方法还包括:
获取待处理业务,并确定所述令牌桶中是否存在剩余令牌;
在所述令牌桶中存在剩余令牌的情况下,将所述剩余令牌分配至所述待处理业务,以使所述存储***对所述待处理业务进行处理。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述令牌桶中不存在剩余令牌的情况下,查询所述待处理业务对应的等待时间;
在到达所述等待时间的情况下,控制所述存储***对所述待处理业务进行处理。
8.一种数据回收任务的控制装置,所述控制装置部署在分布式存储***,其特征在于,包括:
获取模块,用于获取当前检测周期在存储***中正在执行的第一数据回收任务,并确定所述第一数据回收任务对应的第一任务量;
查询模块,用于查询所述存储***在当前检测周期的存储数据量,并确定所述存储数据量对应的任务量阈值;
确定模块,用于在所述第一任务量不满足所述任务量阈值的情况下,根据所述任务量阈值与所述第一任务量之间的差值确定新增的第二任务量;
分配模块,用于从令牌桶中获取满足所述第二任务量的目标令牌数量,并将所述目标令牌数量的令牌分配至所述第二任务量对应的第二数据回收任务,其中,所述令牌桶中的令牌数量是根据所述存储***在当前检测周期内的业务压力等级确定的。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1-7中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111441758.5A CN114115744A (zh) | 2021-11-30 | 2021-11-30 | 数据回收任务的控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111441758.5A CN114115744A (zh) | 2021-11-30 | 2021-11-30 | 数据回收任务的控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115744A true CN114115744A (zh) | 2022-03-01 |
Family
ID=80368027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111441758.5A Pending CN114115744A (zh) | 2021-11-30 | 2021-11-30 | 数据回收任务的控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115744A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376373A (zh) * | 2023-12-07 | 2024-01-09 | 新华三技术有限公司 | 元数据操作请求的处理方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804043A (zh) * | 2018-06-26 | 2018-11-13 | 郑州云海信息技术有限公司 | 分布式块存储***带宽流量控制方法、装置、设备及介质 |
CN109213555A (zh) * | 2018-08-16 | 2019-01-15 | 北京交通大学 | 一种面向虚拟桌面云的资源动态调度方法 |
US20190207887A1 (en) * | 2017-12-28 | 2019-07-04 | Facebook, Inc. | Techniques for message deduplication |
CN109977032A (zh) * | 2017-12-28 | 2019-07-05 | 北京忆恒创源科技有限公司 | 垃圾数据回收控制方法及其装置 |
CN111813342A (zh) * | 2020-07-14 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据回收方法、装置、设备及计算机可读存储介质 |
CN112162937A (zh) * | 2020-09-30 | 2021-01-01 | 深圳市时创意电子有限公司 | 存储芯片的数据回收方法、装置、计算机设备及存储介质 |
CN112306415A (zh) * | 2020-11-02 | 2021-02-02 | 成都佰维存储科技有限公司 | Gc流控方法、装置、计算机可读存储介质及电子设备 |
CN112350953A (zh) * | 2019-08-07 | 2021-02-09 | 亿度慧达教育科技(北京)有限公司 | 流量限制方法及其装置、电子设备和计算机可读存储介质 |
-
2021
- 2021-11-30 CN CN202111441758.5A patent/CN114115744A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190207887A1 (en) * | 2017-12-28 | 2019-07-04 | Facebook, Inc. | Techniques for message deduplication |
CN109977032A (zh) * | 2017-12-28 | 2019-07-05 | 北京忆恒创源科技有限公司 | 垃圾数据回收控制方法及其装置 |
CN108804043A (zh) * | 2018-06-26 | 2018-11-13 | 郑州云海信息技术有限公司 | 分布式块存储***带宽流量控制方法、装置、设备及介质 |
CN109213555A (zh) * | 2018-08-16 | 2019-01-15 | 北京交通大学 | 一种面向虚拟桌面云的资源动态调度方法 |
CN112350953A (zh) * | 2019-08-07 | 2021-02-09 | 亿度慧达教育科技(北京)有限公司 | 流量限制方法及其装置、电子设备和计算机可读存储介质 |
CN111813342A (zh) * | 2020-07-14 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据回收方法、装置、设备及计算机可读存储介质 |
CN112162937A (zh) * | 2020-09-30 | 2021-01-01 | 深圳市时创意电子有限公司 | 存储芯片的数据回收方法、装置、计算机设备及存储介质 |
CN112306415A (zh) * | 2020-11-02 | 2021-02-02 | 成都佰维存储科技有限公司 | Gc流控方法、装置、计算机可读存储介质及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376373A (zh) * | 2023-12-07 | 2024-01-09 | 新华三技术有限公司 | 元数据操作请求的处理方法、装置、设备及存储介质 |
CN117376373B (zh) * | 2023-12-07 | 2024-02-23 | 新华三技术有限公司 | 元数据操作请求的处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10268410B2 (en) | Efficient modification of storage system metadata | |
CN110858162B (zh) | 内存管理方法及装置、服务器 | |
CN110109868B (zh) | 用于索引文件的方法、装置和计算机程序产品 | |
CN111309644B (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
US20100037231A1 (en) | Method for reading/writing data in a multithread system | |
CN107533435A (zh) | 存储空间的分配方法及存储设备 | |
CN114168490A (zh) | 确定内存回收阈值的方法及相关设备 | |
US10649967B2 (en) | Memory object pool use in a distributed index and query system | |
CN112463058B (zh) | 一种碎片数据整理方法、装置及存储节点 | |
CN112749135A (zh) | 文件***的存储空间的平衡的方法、设备和计算机程序产品 | |
CN115129621B (zh) | 一种内存管理方法、设备、介质及内存管理模块 | |
CN114115744A (zh) | 数据回收任务的控制方法、装置、电子设备及存储介质 | |
CN112000281A (zh) | 一种存储***重删元数据的缓存方法、***及装置 | |
CN115391609A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN113254223B (zh) | 一种***重启后的资源分配方法、***及相关组件 | |
CN110795234A (zh) | 一种资源调度方法及装置 | |
CN116502225B (zh) | 自适应分组冗余编排的病毒扫描方法、装置及电子设备 | |
CN106537321B (zh) | 存取文件的方法、装置和存储*** | |
CN112346848A (zh) | 一种管理内存池的方法、装置及终端 | |
CN110362769B (zh) | 一种数据处理方法及装置 | |
CN111221468A (zh) | 存储块数据删除方法、装置、电子设备及云存储*** | |
CN115543222A (zh) | 一种存储优化方法、***、设备及可读存储介质 | |
CN112035498B (zh) | 数据块调度方法、装置、调度层节点及存储层节点 | |
CN110688226B (zh) | 一种缓存回收方法、装置、设备及可读存储介质 | |
CN113886082A (zh) | 请求处理方法、装置、计算设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |