CN110928852B - 一种垃圾回收方法、装置及计算机可读存储介质 - Google Patents
一种垃圾回收方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110928852B CN110928852B CN201911252881.5A CN201911252881A CN110928852B CN 110928852 B CN110928852 B CN 110928852B CN 201911252881 A CN201911252881 A CN 201911252881A CN 110928852 B CN110928852 B CN 110928852B
- Authority
- CN
- China
- Prior art keywords
- moved
- block
- segment
- section
- blocks
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种垃圾回收方法、装置及计算机可读存储介质,统计待搬移段集合内所有待搬移段中各数据块的块被搬移次数;基于所统计的块被搬移次数,从待搬移段集合中确定目标待搬移段;将目标待搬移段中的有效数据块搬移至目标垃圾回收位置。通过本申请方案的实施,基于块搬移次数选定目标待搬移段搬移至目标位置,在垃圾回收时对减少文件系统碎片化程度的层面进行了考虑,有效改善了文件系统的碎片化程度,增强了文件系统的垃圾回收的有效性,使得文件系统的性能得到了更为充分的发挥。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种垃圾回收方法、装置及计算机可读存储介质。
背景技术
在文件系统中,一定大小的空间分配单元称为块,而一定数量的连续的块组成的单元称为段,块上有效数据被删除或在其他位置更新后被记为无效,段中的可用空间会变得碎片化。在计算机领域,文件系统都需要针对碎片化空间进行垃圾回收操作,垃圾回收的核心任务是将碎片化的段中的有效数据块搬移到其他位置,从而获得更多无碎片的段用于满足整段空间分配需求或者实现连续写入。
目前,在进行垃圾回收时,其中一种垃圾回收方式是直接基于数据生存期来实现数据的冷热分离,对搬移开销较小的碎片空间进行回收,这种方式仅对回收段的成本进行了考虑,在实际应用中可能会面临垃圾回收后的数据很快再次碎片化的问题,导致文件系统的垃圾回收有效性较差,以及系统性能未得到充分发挥。
发明内容
本申请实施例提供了一种垃圾回收方法、装置及计算机可读存储介质,至少能够解决相关技术中基于数据生存期对搬移开销较小的碎片空间进行回收,所导致的文件系统的垃圾回收有效性较差以及系统性能未得到充分发挥的问题。
本申请实施例第一方面提供了一种垃圾回收方法,包括:
统计待搬移段集合各待搬移段的块被搬移次数;其中,所述块用于表征文件系统的空间分配单元,所述段包括多个连续的所述块,所述块被搬移次数用于表征对所述文件系统进行垃圾回收时,所述段的各所述块在历史时间周期内被搬移的累积计数;
基于所述块被搬移次数,从所述待搬移段集合确定目标待搬移段;
将所述目标待搬移段的有效块搬移至目标垃圾回收位置。
本申请实施例第二方面提供了一种垃圾回收装置,包括:
统计模块,用于统计待搬移段集合各待搬移段的块被搬移次数;其中,所述块用于表征文件系统的空间分配单元,所述段包括多个连续的所述块,所述块被搬移次数用于表征对所述文件系统进行垃圾回收时,所述段的各所述块在历史时间周期内被搬移的累积计数;
确定模块,用于基于所述块被搬移次数,从所述待搬移段集合确定目标待搬移段;
搬移模块,用于将所述目标待搬移段的有效块搬移至目标垃圾回收位置。
本申请实施例第三方面提供了一种电子装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述本申请实施例第一方面提供的垃圾回收方法中的各步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的垃圾回收方法中的各步骤。
由上可见,根据本申请方案所提供的垃圾回收方法、装置及计算机可读存储介质,统计待搬移段集合内所有待搬移段中各数据块的块被搬移次数;基于所统计的块被搬移次数,从待搬移段集合中确定目标待搬移段;将目标待搬移段中的有效数据块搬移至目标垃圾回收位置。通过本申请方案的实施,基于块搬移次数选定目标待搬移段搬移至目标位置,在垃圾回收时对减少文件系统碎片化程度的层面进行了考虑,有效改善了文件系统的碎片化程度,增强了文件系统的垃圾回收的有效性,使得文件系统的性能得到了更为充分的发挥。
附图说明
图1为本申请第一实施例提供的垃圾回收方法的基本流程示意图;
图2为本申请第一实施例提供的数据块搬移的源位置和目标位置的示意图;
图3为本申请第一实施例提供的一种目标待搬移段的确定方法的流程示意图;
图4为本申请第一实施例提供的另一种目标待搬移段的确定方法的流程示意图;
图5为本申请第二实施例提供的垃圾回收方法的细化流程示意图;
图6为本申请第三实施例提供的一种垃圾回收装置的程序模块示意图;
图7为本申请第三实施例提供的另一种垃圾回收装置的程序模块示意图;
图8为本申请第四实施例提供的电子装置的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决相关技术中基于数据生存期对搬移开销较小的碎片空间进行回收,所导致的文件系统的垃圾回收有效性较差以及系统性能未得到充分发挥的技术问题,本申请第一实施例提供了一种垃圾回收方法,如图1为本实施例提供的垃圾回收方法的基本流程图,该垃圾回收方法包括以下的步骤:
步骤101、统计待搬移段集合各待搬移段的块被搬移次数。
具体的,在本实施例中,块(也即数据块)用于表征文件系统的空间分配单元,段(也即分段)包括多个连续的块,块被搬移次数用于表征对文件系统进行垃圾回收时,段的各块在历史时间周期内被搬移的累积计数。本实施例的块被搬移次数为一个可以衡量段中数据冷热级别的指标,指段中数据块被垃圾回收搬移的计数,每次发生搬移时,新位置(也即目标位置)的快搬移计数器在旧位置(也即原始位置)的块搬移计数器基础上加1,并且旧位置的块被搬移计数器清零,若数据块上的数据被删除或更新,则该位置的被搬移计数器被清零。
应当说明的是,本实施例的文件系统包括日志结构文件系统、非日志结构文件系统以及分布式文件系统等多种文件系统。在实际应用中,优选的可以应用于日志结构文件系统。日志结构文件系统通过“化随机为顺序”的异地更新方式大大提升随机写性能,但同时引入了空间碎片化的问题,从而垃圾回收算法的好坏极大的决定了日志结构文件系统在实际应用中尤其是长时间使用后的性能。
在本实施例一种可选的实施方式中,在统计待搬移段集合各待搬移段的块被搬移次数之前,在所有可回收段中过滤热数据所在段,生成待搬移段集合,其中,生成待搬移段集合的方式包括但不限于以下两种方式:
方式一,统计文件系统所有段的有效数据块的平均更新时间间隔;将各平均更新时间间隔超过时间间隔阈值的段确定为待搬移段,并基于所有待搬移段生成待搬移段集合。
具体的,在本实施例中,段的平均更新时间的维护只统计有效块的更新时间,每次段的数据块使用情况发生变化时按如下公式计算:
其中,mtime为段的平均更新时间间隔,即:段的年龄,vblocks为有效块的数量,time为发生块更新时的时间点,下标old和new分别表示更新前和更新后。本实施例的时间间隔阈值可以为一个预设的阈值,例如1天,当然也可以是根据预设规则实时确定的值,对于所有可回收段,只有段的年龄超过一个阈值TA时才将其列入待搬移段集合。
方式二,统计文件系统所有段的数据剩余寿命;将各数据剩余寿命超过寿命阈值的段确定为待搬移段,并基于所有待搬移段生成待搬移段集合。
具体的,在本实施例中,应用层可通过接口设定每个文件的寿命(过期时间),对于特定的文件类型(如:扩展名为tmp、log、db-journal等)设定合适的寿命,如:7天,只有剩余寿命大于一个阈值TE(如:7天)时才将其加入待搬移段集合。
应当理解的是,如果一个块很快会因更新或删除数据而变为无效,则因搬移开销较大而可以不必搬移,本实施例上述根据数据更新时间和已知数据寿命信息过滤潜在的热数据,实现冷热数据的有效分离,以减少不必要的搬移。
步骤102、基于块被搬移次数,从待搬移段集合确定目标待搬移段。
具体的,在实际应用中,若单纯只追求低垃圾回收成本,而不在减少文件系统碎片化层面进行考虑,例如虽然回收只有一个有效块的段的成本很低,但是若所回收的这个段之后很快便再次碎片化,则可能导致文件系统性能降低,增大功耗和器件寿命消耗。基于此,本实施例基于块搬移次数区分数据的冷热级别,然后选定目标待搬移段进行搬移,在垃圾回收时在对减少文件系统碎片化程度的层面进行了考虑,可有效避免二次碎片化发生,改善了文件系统的碎片化程度。
步骤103、将目标待搬移段的有效块搬移至目标垃圾回收位置。
具体的,在实际应用中,通常只考虑了垃圾回收时的垃圾从哪里来,而并未考虑垃圾应当回收到哪里去,本实施例对数据块搬移的目标位置进行了考虑,以选择最优的搬移方式,增强了文件系统的垃圾回收的有效性,使得文件系统的性能得到了更为充分的发挥。
在本实施例一种可选的实施方式中,在将目标待搬移段中的有效块搬移至目标垃圾回收位置之前,还包括:获取各可用垃圾回收位置的回收收益数据;基于回收收益数据,从各可用垃圾回收位置中选取对应于目标待搬移段的目标垃圾回收位置。
具体的,现有技术中通常仅考虑到垃圾回收的成本也即搬移开销,而没有从文件系统层面考虑垃圾回收的收益,也即没有考虑对文件系统碎片化程度的改善,仅会将搬移的数据和正常数据一样处理,同时还容易加重数据冷热分布不均的程度。基于此,本实施例基于各可用垃圾回收位置也即各可用段的回收收益评估结果,来选择最优的搬移方式,进而可以对日志结构文件系统的反碎片化能力和长期使用后的性能进行较大提升。
进一步地,在本实施例一种可选的实施方式中,获取各可用垃圾回收位置的回收收益数据包括:获取各可用垃圾回收位置的冷热程度指标和/或碎片化程度指标;基于冷热程度指标和/或碎片化程度指标评估各可用垃圾回收位置的回收收益数据。
具体的,在本实施例一种典型的实现中,垃圾回收收益可以基于冷热程度指标和/或碎片化程度指标实现,其中,冷热程度指标可以通过段中块被搬移次数平均值MA衡量,MA越大则说明数据越冷,而MA越小则数据可能较热;而碎片化程度指标则可以通过段中由连续有效块组成的片段的总片段数来衡量,其中,总片段数越大说明段越碎,反碎片效果越好。因此,本实施例在垃圾回收位置的冷热程度指标与搬移的数据块的冷热程度越相近,则该垃圾回收位置的回收收益越高,并且在冷热程度指标一致的垃圾回收位置中,碎片化程度指标指示的碎片化程度越高的垃圾回收位置的回收收益越高。
应当理解的是,在实际应用中,冷热程度指标可以通过段中数据块更新时间来衡量,而碎片化程度指标还可以通过段中连续有效块数小于预设数量阈值的片段的总片段数进行衡量,本实施例不对此进行唯一限定。
本实施例通过一个具体的例子对上述目标垃圾回收位置的选取过程进行进一步说明,如图2所示为本实施例提供的数据块搬移的源位置和目标位置的示意图,其中,A为数据块搬移的源位置,而B、C和D为三个可用的目标位置,另外,空白部分为无效数据块,而阴影部分为有效数据块,并且不同的阴影样式指示的数据冷热程度不同,根据图2可以看出,B目标位置和C目标位置的由连续有效块组成的片段的总片段数为3,而D目标位置的总片段数则为1,从而在对A源位置的有效数据块进行垃圾回收时,先从冷热程度指标出发,优先选择冷热程度与源位置的待搬移数据块相近的B目标位置和C目标位置,然后再从碎片化程度指标出发,进一步选出总片段数较多的C目标位置作为搬移目的地,反碎片化效果最好。
如图3所示为本实施例提供的一种目标待搬移段的确定方法的流程示意图,在本实施例一种可选的实施方式中,基于块被搬移次数,从待搬移段集合确定目标待搬移段具体包括以下步骤:
步骤301、从待搬移段集合获取所有有效块数量小于第一数量阈值的待搬移段;
步骤302、对所获取的各待搬移段中所有块的块被搬移次数进行求和,得到块被搬移次数总和;
步骤303、将块被搬移次数总和大于次数阈值的待搬移段确定为目标待搬移段。
具体的,在本实施例中,在过滤掉潜在热数据后形成的待搬移段集合为空则需要回退到传统的基于段中有效块数量的回收算法,也即对有效块数量小于数量阈值的段确定为目标待搬移段。而本实施例为了避免没必要的搬移,在找出有效块数量小于指定阈值(通常可设为段中总块数的10%)的所有段之后,优先考虑搬移成本低的段,选择其中较冷的段,也即块被搬移次数总和较大的段进行搬移,应当理解的是,在一种优选的实现中,可以选择最冷的段也即块被搬移次数总和最大的段进行搬移。
还应当说明的是,段的块被搬移次数总和即为段中所有数据块的被搬移计数器的累加和,计算公式表示为:
其中,M表示块被搬移次数总和,movei表示段中块i的被搬移次数,n表示段中的块数。
如图4所示为本实施例提供的另一种目标待搬移段的确定方法的流程示意图,进一步地,在本实施例一种可选的实施方式中,从待搬移段集合获取所有有效数据块数量小于第一数量阈值的待搬移段之后,还具体包括以下步骤:
步骤401、在未获取到有效块数量小于第一数量阈值的待搬移段时,通过比较各待搬移段的所有块的块被搬移次数,确定对应于各待搬移段的最大块被搬移次数以及最小块被搬移次数;
步骤402、基于最大块被搬移次数以及最小块被搬移次数,确定各待搬移段的块被搬移次数最大差值;
步骤403、将块被搬移次数最大差值大于差值阈值的待搬移段中,有效块数量小于第二数量阈值的待搬移段确定为目标待搬移段。
具体的,在本实施例中,若所有段中有效块的数量都大于指定数量阈值,则说明目标数据冷热分离效果较差,没有有效块数少于指定阈值的低搬移成本的段,此时考虑再次进行冷热分离,找出冷热分离效果相对较差的一些段,也即块被搬移次数最大差值MD大于指定阈值(例如5次)的所有段,进一步再从所找出段中挑选出有效块数相对较少的段作为目标待搬移段,以控制搬移开销,应当理解的是,在一种优选的实现中,可以选择对所找出的段中有效块数最少的段进行搬移,另外,本实施例的第二数量阈值大于第一数量阈值。
还应当说明的是,段内块之间被搬移次数最大差值可以表示为:MD=|movex-movey|,其中,x,y∈(1,2,…,n),MD表示块被搬移次数最大差值,n表示段中的块数,movex、movey分别表示最大块被搬移次数以及最小块被搬移次数。
更进一步地,在本实施例一种可选的实施方式中,基于最大块被搬移次数以及最小块被搬移次数,确定各待搬移段的块被搬移次数最大差值之后,还包括:在不存在块被搬移次数最大差值大于差值阈值的待搬移段时,基于块被搬移次数总和以及有效块数量确定各待搬移段的块被搬移次数平均值;将块被搬移次数平均值大于平均值阈值的待搬移段确定为目标待搬移段。
具体的,本实施例在所有段中有效块的数量都大于指定数量阈值,且块被搬移次数最大差值小于指定差值阈值时,在数据块冷热分离较好的情况下综合考虑搬移成本和数据冷热程度,选择块被搬移次数平均值MA较大的段进行搬移,应当理解的是,在一种优选的实现中,可以从待搬移段集合中选择块被搬移次数平均值最大的段作为搬移对象。
还应当说明的是,块被搬移次数平均值可以表示为:MA=M/v,其中,MA表示块被搬移次数平均值,M表示块被搬移次数总和,v表示段中有效块的个数。
基于上述本申请实施例的技术方案,统计待搬移段集合内所有待搬移段中各数据块的块被搬移次数;基于所统计的块被搬移次数,从待搬移段集合中确定目标待搬移段;将目标待搬移段中的有效数据块搬移至目标垃圾回收位置。通过本申请方案的实施,基于块搬移次数选定目标待搬移段搬移至目标位置,在垃圾回收时对减少文件系统碎片化程度的层面进行了考虑,有效改善了文件系统的碎片化程度,增强了文件系统的垃圾回收的有效性,使得文件系统的性能得到了更为充分的发挥。
图5中的方法为本申请第二实施例提供的一种细化的垃圾回收方法,该垃圾回收方法包括:
步骤501、统计文件系统中所有段的有效块的平均更新时间间隔。
步骤502、将各平均更新时间间隔超过时间间隔阈值的段确定为待搬移段,并基于所有待搬移段生成待搬移段集合。
具体的,本实施例在所有可回收段中过滤热数据所在段,生成待搬移段集合。如果一个块很快会因更新或删除数据而变为无效,则因搬移开销较大而可以不必搬移,本实施例上述根据数据更新时间过滤潜在的热数据,实现冷热数据的有效分离,以减少不必要的搬移。
步骤503、统计待搬移段集合内各待搬移段的块被搬移次数。
本实施例的块被搬移次数用于表征对文件系统进行垃圾回收时,段中各数据块被搬移的累积计数,为一个可以衡量段中数据冷热级别的指标。
步骤504、获取待搬移段集合中,所有有效块数量小于第一数量阈值的待搬移段。
本实施例为了避免没必要的搬移,从待搬移段集合中找出有效数据块数量小于指定阈值(通常可设为段中总块数的10%)的所有段。
步骤505、对所获取的各待搬移段中所有块的块被搬移次数进行求和,得到块被搬移次数总和。
步骤506、将块被搬移次数总和最大的待搬移段确定为目标待搬移段。
在本实施例中,优先考虑搬移成本低的段,选择其中最冷的段,也即块被搬移次数总和最大的段进行搬移。
应当说明的是,在未获取到有效数据块数量小于第一数量阈值的待搬移段时,则确定各待搬移段的块被搬移次数最大差值,并将块被搬移次数最大差值大于差值阈值的待搬移段中,有效数据块数量最少的待搬移段确定为目标待搬移段。
还应当说明的是,在不存在块被搬移次数最大差值大于差值阈值的待搬移段时,则基于块被搬移次数总和以及有效数据块数量确定各待搬移段的块被搬移次数平均值,并将块被搬移次数平均值最大的待搬移段确定为目标待搬移段。
步骤507、获取各可用垃圾回收位置的冷热程度指标以及碎片化程度指标。
步骤508、基于冷热程度指标以及碎片化程度指标,从各可用垃圾回收位置中选取对应于目标待搬移段的目标垃圾回收位置。
本实施例通过各可用垃圾回收位置的冷热程度指标以及碎片化程度指标来评估其垃圾回收收益,并基于回收收益评估结果来选择最优的搬移目的地。其中,冷热程度指标可以通过段中块被搬移次数平均值衡量,而碎片化程度指标则可以通过段中由连续有效块组成的片段的总片段数来衡量。
步骤509、将目标待搬移段中的有效块搬移至目标垃圾回收位置。
本实施例在垃圾回收时对减少文件系统碎片化程度的层面以及对数据块搬移的目标位置进行了考虑,有效改善了文件系统的碎片化程度,增强了文件系统的垃圾回收的有效性,使得文件系统的性能得到了更为充分的发挥。
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成唯一限定。
根据本申请实施例公开的垃圾回收方法,将各平均更新时间间隔超过时间间隔阈值的段确定为待搬移段,并基于所有待搬移段生成待搬移段集合;统计待搬移段集合内所有待搬移段中各数据块的块被搬移次数;将所有有效数据块数量小于第一数量阈值的待搬移段中,块被搬移次数总和最大的待搬移段确定为目标待搬移段;基于各可用垃圾回收位置的冷热程度指标以及碎片化程度指标,从各可用垃圾回收位置中选取对应于目标待搬移段的目标垃圾回收位置;将目标待搬移段中的有效数据块搬移至目标垃圾回收位置。通过本申请方案的实施,综合考虑搬移成本、数据冷热、碎片化情况来进行垃圾回收,极大地改善了垃圾回收效率、冷热分离效果以及反碎片化效果,增强了文件系统的垃圾回收的有效性,使得文件系统的性能得到了更为充分的发挥。
图6为本申请第三实施例提供的一种垃圾回收装置。该垃圾回收装置可用于实现前述实施例中的垃圾回收方法。如图6所示,该垃圾回收装置主要包括:
统计模块601,用于统计待搬移段集合各待搬移段的块被搬移次数;其中,块用于表征文件系统的空间分配单元,段包括多个连续的块,块被搬移次数用于表征对文件系统进行垃圾回收时,段的各块在历史时间周期内被搬移的累积计数;
确定模块602,用于基于块被搬移次数,从待搬移段集合确定目标待搬移段;
搬移模块603,用于将目标待搬移段的有效块搬移至目标垃圾回收位置。
如图7所示为本实施例提供的另一种垃圾回收装置,在本实施例一种可选的实施方式中,垃圾回收装置还包括:生成模块604,用于在统计待搬移段集合各待搬移段的块被搬移次数之前,统计文件系统所有段的有效块的平均更新时间间隔;将各平均更新时间间隔超过时间间隔阈值的段确定为待搬移段,并基于所有待搬移段生成待搬移段集合;或,统计文件系统所有段的数据剩余寿命;将各数据剩余寿命超过寿命阈值的段确定为待搬移段,并基于所有待搬移段生成待搬移段集合。
请继续参阅图7,在本实施例一种可选的实施方式中,垃圾回收装置还包括:获取模块605,用于在将目标待搬移段的有效块搬移至目标垃圾回收位置之前,获取各可用垃圾回收位置的回收收益数据;基于回收收益数据,从各可用垃圾回收位置选取对应于目标待搬移段的目标垃圾回收位置。
进一步地,在本实施例一种可选的实施方式中,获取模块605在获取各可用垃圾回收位置的回收收益数据时,具体用于:获取各可用垃圾回收位置的冷热程度指标和/或碎片化程度指标;基于冷热程度指标和/或碎片化程度指标评估各可用垃圾回收位置的回收收益数据。
在本实施例一种可选的实施方式中,确定模块602具体用于:从待搬移段集合中获取所有有效块数量小于第一数量阈值的待搬移段;对所获取的各待搬移段中所有块的块被搬移次数进行求和,得到块被搬移次数总和;将块被搬移次数总和大于次数阈值的待搬移段确定为目标待搬移段。
进一步地,在本实施例一种可选的实施方式中,在未获取到有效块数量小于第一数量阈值的待搬移段时,确定模块602还用于:通过比较各待搬移段中所有块的块被搬移次数,确定对应于各待搬移段的最大块被搬移次数以及最小块被搬移次数;基于最大块被搬移次数以及最小块被搬移次数,确定各待搬移段的块被搬移次数最大差值;将块被搬移次数最大差值大于差值阈值的待搬移段中,有效块数量小于第二数量阈值的待搬移段确定为目标待搬移段。
更进一步地,在本实施例一种可选的实施方式中,在不存在块被搬移次数最大差值大于差值阈值的待搬移段时,确定模块602还用于:基于块被搬移次数总和以及有效块数量确定各待搬移段的块被搬移次数平均值;将块被搬移次数平均值大于平均值阈值的待搬移段确定为目标待搬移段。
应当说明的是,第一、二实施例中的垃圾回收方法均可基于本实施例提供的垃圾回收装置实现,所属领域的普通技术人员可以清楚的了解到,为描述的方便和简洁,本实施例中所描述的垃圾回收装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
根据本实施例所提供的垃圾回收装置,统计待搬移段集合内所有待搬移段中各数据块的块被搬移次数;基于所统计的块被搬移次数,从待搬移段集合中确定目标待搬移段;将目标待搬移段中的有效数据块搬移至目标垃圾回收位置。通过本申请方案的实施,基于块搬移次数选定目标待搬移段搬移至目标位置,在垃圾回收时对减少文件系统碎片化程度的层面进行了考虑,有效改善了文件系统的碎片化程度,增强了文件系统的垃圾回收的有效性,使得文件系统的性能得到了更为充分的发挥。
请参阅图8,图8为本申请第四实施例提供的一种电子装置。该电子装置可用于实现前述实施例中的垃圾回收方法。如图8所示,该电子装置主要包括:
存储器801、处理器802、总线803及存储在存储器801上并可在处理器802上运行的计算机程序,存储器801和处理器802通过总线803连接。处理器802执行该计算机程序时,实现前述实施例中的垃圾回收方法。其中,处理器的数量可以是一个或多个。
存储器801可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器801用于存储可执行程序代码,处理器802与存储器801耦合。
进一步的,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子装置中,该计算机可读存储介质可以是前述图8所示实施例中的存储器。
该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述实施例中的垃圾回收方法。进一步的,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的垃圾回收方法、装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种垃圾回收方法,其特征在于,包括:
统计待搬移段集合各待搬移段的块被搬移次数;其中,所述块用于表征文件系统的空间分配单元,所述段包括多个连续的所述块,所述块被搬移次数用于表征对所述文件系统进行垃圾回收时,所述段的各所述块在历史时间周期内被搬移的累积计数;
在从所述待搬移段集合未获取到有效块数量小于第一数量阈值的待搬移段时,通过比较各所述待搬移段的所有块的所述块被搬移次数,确定对应于所述各待搬移段的最大块被搬移次数以及最小块被搬移次数;
基于所述最大块被搬移次数以及最小块被搬移次数,确定所述各待搬移段的块被搬移次数最大差值;
将所述块被搬移次数最大差值大于差值阈值的所述待搬移段中,所述有效块数量小于第二数量阈值的所述待搬移段确定为目标待搬移段;
将所述目标待搬移段的有效块搬移至目标垃圾回收位置。
2.根据权利要求1所述的垃圾回收方法,其特征在于,所述统计待搬移段集合各待搬移段的块被搬移次数之前,还包括:
统计所述文件系统所有段的所述有效块的平均更新时间间隔;
将各所述平均更新时间间隔超过时间间隔阈值的段确定为所述待搬移段,并基于所有所述待搬移段生成所述待搬移段集合。
3.根据权利要求1所述的垃圾回收方法,其特征在于,所述将所述目标待搬移段的有效块搬移至目标垃圾回收位置之前,还包括:
获取各可用垃圾回收位置的回收收益数据;
基于所述回收收益数据,从所述各可用垃圾回收位置选取对应于所述目标待搬移段的所述目标垃圾回收位置。
4.根据权利要求3所述的垃圾回收方法,其特征在于,所述获取各可用垃圾回收位置的回收收益数据包括:
获取各可用垃圾回收位置的冷热程度指标和/或碎片化程度指标;
基于所述冷热程度指标和/或碎片化程度指标评估所述各可用垃圾回收位置的回收收益数据。
5.根据权利要求1至4中任意一项所述的垃圾回收方法,其特征在于,包括:
在从所述待搬移段集合获取所有有效块数量小于所述第一数量阈值的待搬移段时;
对所获取的各所述待搬移段中所有块的所述块被搬移次数进行求和,得到块被搬移次数总和;
将所述块被搬移次数总和大于次数阈值的所述待搬移段确定为目标待搬移段。
6.根据权利要求5所述的垃圾回收方法,其特征在于,所述基于所述最大块被搬移次数以及最小块被搬移次数,确定所述各待搬移段的块被搬移次数最大差值之后,还包括:
在不存在所述块被搬移次数最大差值大于差值阈值的所述待搬移段时,基于所述块被搬移次数总和以及所述有效块数量确定各所述待搬移段的块被搬移次数平均值;
将所述块被搬移次数平均值大于平均值阈值的所述待搬移段确定为目标待搬移段。
7.一种垃圾回收装置,其特征在于,包括:
统计模块,用于统计待搬移段集合各待搬移段的块被搬移次数;其中,所述块用于表征文件系统的空间分配单元,所述段包括多个连续的所述块,所述块被搬移次数用于表征对所述文件系统进行垃圾回收时,所述段的各所述块在历史时间周期内被搬移的累积计数;
确定模块,用于在从所述待搬移段集合未获取到有效块数量小于第一数量阈值的待搬移段时,通过比较各所述待搬移段的所有块的所述块被搬移次数,确定对应于所述各待搬移段的最大块被搬移次数以及最小块被搬移次数;
基于所述最大块被搬移次数以及最小块被搬移次数,确定所述各待搬移段的块被搬移次数最大差值;
将所述块被搬移次数最大差值大于差值阈值的所述待搬移段中,所述有效块数量小于第二数量阈值的所述待搬移段确定为目标待搬移段;
搬移模块,用于将所述目标待搬移段的有效块搬移至目标垃圾回收位置。
8.一种电子装置,包括:存储器、处理器及总线,其特征在于,所述总线用于实现所述存储器、处理器之间的连接通信;所述处理器用于执行存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至6中任意一项所述方法中的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至6中的任意一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252881.5A CN110928852B (zh) | 2019-12-09 | 2019-12-09 | 一种垃圾回收方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252881.5A CN110928852B (zh) | 2019-12-09 | 2019-12-09 | 一种垃圾回收方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928852A CN110928852A (zh) | 2020-03-27 |
CN110928852B true CN110928852B (zh) | 2022-12-02 |
Family
ID=69858563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252881.5A Active CN110928852B (zh) | 2019-12-09 | 2019-12-09 | 一种垃圾回收方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928852B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049021B (zh) * | 2022-08-29 | 2023-10-20 | 荣耀终端有限公司 | 存储空间管理方法、电子设备及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609358A (zh) * | 2012-01-12 | 2012-07-25 | 记忆科技(深圳)有限公司 | 聚集静态数据的方法及其固态硬盘 |
CN104375944A (zh) * | 2013-08-14 | 2015-02-25 | 联想(北京)有限公司 | 一种数据存储方法和装置 |
CN104850500A (zh) * | 2014-02-14 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 用于数据存储的数据处理方法和装置 |
WO2016018383A1 (en) * | 2014-07-31 | 2016-02-04 | Hewlett-Packard Development Company | Live migration of data |
CN105701024A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种存储设备及其垃圾数据回收的方法 |
WO2017006674A1 (ja) * | 2015-07-06 | 2017-01-12 | 日本電気株式会社 | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム |
CN109119106A (zh) * | 2017-06-26 | 2019-01-01 | 中兴通讯股份有限公司 | 数据存储方法、设备及计算机可读存储介质 |
CN109496300A (zh) * | 2018-03-23 | 2019-03-19 | 华为技术有限公司 | 一种存储介质垃圾回收方法、存储介质和程序产品 |
CN110347612A (zh) * | 2019-06-04 | 2019-10-18 | 华南理工大学 | 一种适用于固态盘的动态调整垃圾回收方法 |
CN110531927A (zh) * | 2019-08-06 | 2019-12-03 | 深圳大普微电子科技有限公司 | 一种基于块分级的垃圾回收方法及非易失性的存储设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176864B2 (en) * | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
-
2019
- 2019-12-09 CN CN201911252881.5A patent/CN110928852B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609358A (zh) * | 2012-01-12 | 2012-07-25 | 记忆科技(深圳)有限公司 | 聚集静态数据的方法及其固态硬盘 |
CN104375944A (zh) * | 2013-08-14 | 2015-02-25 | 联想(北京)有限公司 | 一种数据存储方法和装置 |
CN104850500A (zh) * | 2014-02-14 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 用于数据存储的数据处理方法和装置 |
WO2016018383A1 (en) * | 2014-07-31 | 2016-02-04 | Hewlett-Packard Development Company | Live migration of data |
WO2017006674A1 (ja) * | 2015-07-06 | 2017-01-12 | 日本電気株式会社 | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム |
CN105701024A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种存储设备及其垃圾数据回收的方法 |
CN109119106A (zh) * | 2017-06-26 | 2019-01-01 | 中兴通讯股份有限公司 | 数据存储方法、设备及计算机可读存储介质 |
CN109496300A (zh) * | 2018-03-23 | 2019-03-19 | 华为技术有限公司 | 一种存储介质垃圾回收方法、存储介质和程序产品 |
CN110347612A (zh) * | 2019-06-04 | 2019-10-18 | 华南理工大学 | 一种适用于固态盘的动态调整垃圾回收方法 |
CN110531927A (zh) * | 2019-08-06 | 2019-12-03 | 深圳大普微电子科技有限公司 | 一种基于块分级的垃圾回收方法及非易失性的存储设备 |
Non-Patent Citations (2)
Title |
---|
一种SSD存储系统中的先应式垃圾回收算法;屠雪真等;《电信科学》;20190423(第05期);第86-96页 * |
闪存的磨损均衡专利技术综述;鱼冰等;《河南科技》;20141005(第19期);第11-13页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110928852A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965394B2 (en) | Selective compression in data storage systems | |
US10466932B2 (en) | Cache data placement for compression in data storage systems | |
CN106681934B (zh) | 一种存储设备垃圾回收的方法及设备 | |
US9898202B2 (en) | Enhanced multi-streaming though statistical analysis | |
CN108139968B (zh) | 确定垃圾收集器线程数量及活动管理的方法及设备 | |
CN108776614B (zh) | 存储块的回收方法和装置 | |
CN103019887B (zh) | 数据备份方法及装置 | |
Yang et al. | Reducing garbage collection overhead in {SSD} based on workload prediction | |
CN102314397B (zh) | 缓存数据块的处理方法 | |
CN103455435A (zh) | 数据写入方法及装置 | |
CN104714891B (zh) | 一种闪存数据管理方法及装置 | |
US10725907B2 (en) | Information processing apparatus for specifying data region of garbage collection, information processing system and information processing method | |
CN109144431B (zh) | 数据块的缓存方法、装置、设备及存储介质 | |
US20130198198A1 (en) | Generating method, generating system, and recording medium | |
CN112286459A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN104050057B (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
CN110928852B (zh) | 一种垃圾回收方法、装置及计算机可读存储介质 | |
CN104424361A (zh) | 自动定义热存储和大工作负载 | |
CN107846327A (zh) | 一种网管性能数据的处理方法及装置 | |
CN115858510A (zh) | 一种评测数据温度并进行动态存储管理的方法及存储介质 | |
EP4261712A1 (en) | Data elimination method and apparatus, cache node, and cache system | |
WO2015081742A1 (zh) | 写数据的方法及装置 | |
TWI803179B (zh) | 記憶體系統及非揮發性記憶體的控制方法 | |
EP3182267A1 (en) | Method and device for isolating disk regions | |
CN107533506A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |