CN108958653A - 一种基于底层聚合文件的空间回收方法、系统及相关装置 - Google Patents
一种基于底层聚合文件的空间回收方法、系统及相关装置 Download PDFInfo
- Publication number
- CN108958653A CN108958653A CN201810668186.6A CN201810668186A CN108958653A CN 108958653 A CN108958653 A CN 108958653A CN 201810668186 A CN201810668186 A CN 201810668186A CN 108958653 A CN108958653 A CN 108958653A
- Authority
- CN
- China
- Prior art keywords
- aggregate file
- file
- target formation
- small documents
- junk data
- 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
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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于底层聚合文件的空间回收方法,首先选取出符合进行空间回收要求的目标底层聚合文件,根据组成各目标底层聚合文件的小文件的存留状态信息将其中未被删除的小文件提取出来,并将其重组为新底层聚合文件,同时删去原目标底层聚合文件以回收已被删除的小文件所占用的存储空间,得以消除现有技术中容易出现的跳跃式查询数据和对磁盘空间的浪费现象,空间回收机制更合理、不易使垃圾数据碎片化,也对存储系统性能影响更低。本申请还同时公开了一种基于底层聚合文件的空间回收系统、装置及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及空间回收技术领域,特别涉及一种基于底层聚合文件的空间回收方法、系统、装置及计算机可读存储介质。
背景技术
在当今互联网时代,数据呈现爆炸式增长,社交网络、移动通信、网络视频、电子商务等各种应用往往能产生亿级甚至十亿、百亿级的海量小文件,而传统存储方式在存储这些小文件时,在元数据管理、访问性能、存储效率等方面都面临着巨大的挑战,因此海量小文件问题成为了业界公认的难题。
针对这种应用场景,近年来发展出一种将小文件聚合追加写入到底层文件系统中的机制,可以把小文件特有的对磁盘的随机读写有效转化为顺序读写,提高性能。但该方案在小文件被删除尤其是大量删除之后,无法做到合理的空间回收(是因为在该文件在系统层面被删除后,还未被在存储介质真正删去),往往容易造成垃圾数据碎片化,既浪费了磁盘空间又使得磁盘不得不跳跃式查询数据,当数据量到达一定程度之后,会对存储系统的性能造成极大影响。
因此,如何克服现有小文件空间回收机制存在的各项技术缺陷,提供一种空间回收更合理、不易使垃圾数据碎片化、对存储系统性能影响更低的小文件空间回收机制是本领域技术人员亟待解决的问题
发明内容
本申请的目的是提供一种基于底层聚合文件的空间回收方法,首先选取出符合进行空间回收要求的目标底层聚合文件,根据组成各目标底层聚合文件的小文件的存留状态信息将其中未被删除的小文件提取出来,并将其重组为新底层聚合文件,同时删去原目标底层聚合文件以回收已被删除的小文件所占用的存储空间,得以消除现有技术中容易出现的跳跃式查询数据和对磁盘空间的浪费现象,空间回收机制更合理、不易使垃圾数据碎片化,也对存储系统性能影响更低。
本申请的另一目的在于提供了一种基于底层聚合文件的空间回收系统、装置及计算机可读存储介质。
为实现上述目的,本申请提供一种基于底层聚合文件的空间回收方法,该空间回收方法包括:
按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件;其中,每个底层聚合文件由预设数量的小文件聚合形成,且所述小文件为文件大小小于预设大小的文件;
获取组成每个所述目标底层聚合文件的各小文件的存留状态信息;
根据所述存留状态信息确定每个所述目标底层聚合文件中未被删除的小文件,得到非垃圾数据片段;
将所述非垃圾数据片段重新组成新底层聚合文件,并删除所述目标底层聚合文件,以回收垃圾数据片段占用的空间;其中,所述垃圾数据片段为根据所述存留状态确定为已被删除的小文件。
可选的,按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件,包括:
判断每个所述底层聚合文件是否处于预设状态;其中,所述预设状态包括处于被占用状态、最新修改时间距当前时间差小于预设时长、垃圾数据片段所占存储空间的比值是否小于预设比值中的至少一项;
若否,则选取相应的底层聚合文件以将其作为所述目标底层聚合文件。
可选的,在获取组成每个所述目标底层聚合文件的各小文件的数据状态信息之前,还包括:
对所述目标底层聚合文件上锁,直至所述目标底层聚合文件被删除。
可选的,在将所述非垃圾数据片段重新组成新底层聚合文件之后,还包括:
根据所述新底层聚合文件中包含的小文件所处的新位置更新相同小文件的索引数据。
可选的,该基于底层聚合文件的空间回收方法还包括:
每隔预设时间间隔对当前时间间隔内的每个底层聚合文件执行所述数据选取操作。
为实现上述目的,本申请提供了一种基于底层聚合文件的空间回收系统,该空间回收系统包括:
目标底层聚合文件选取单元,用于按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件;其中,每个底层聚合文件由预设数量的小文件聚合形成,且所述小文件为文件大小小于预设大小的文件;
存留状态信息获取单元,用于获取组成每个所述目标底层聚合文件的各小文件的存留状态信息;
非垃圾数据片段确定单元,用于根据所述存留状态信息确定每个所述目标底层聚合文件中未被删除的小文件,得到非垃圾数据片段;
非垃圾数据片段处理单元,用于将所述非垃圾数据片段重新组成新底层聚合文件,并删除所述目标底层聚合文件,以回收垃圾数据片段占用的空间;其中,所述垃圾数据片段为根据所述存留状态确定为已被删除的小文件。
可选的,所述目标底层聚合文件选取单元包括:
预设状态判断子单元,用于判断每个所述底层聚合文件是否处于预设状态;其中,所述预设状态包括处于被占用状态、最新修改时间距当前时间差小于预设时长、垃圾数据片段所占存储空间的比值是否小于预设比值中的至少一项;
目标底层聚合文件确定子单元,用于当所述底层聚合文件未处于所述预设状态时,选取相应的底层聚合文件以将其作为所述目标底层聚合文件。
可选的,该基于底层聚合文件的空间回收系统还包括:
文件锁施加单元,用于对所述目标底层聚合文件上锁,直至所述目标底层聚合文件被删除。
可选的,该基于底层聚合文件的空间回收系统还包括:
索引数据更新单元,用于根据所述新底层聚合文件中包含的小文件所处的新位置更新相同小文件的索引数据。
可选的,该基于底层聚合文件的空间回收系统还包括:
定期执行单元,用于每隔预设时间间隔对当前时间间隔内的每个底层聚合文件执行所述数据选取操作。
为实现上述目的,本申请还提供了一种基于底层聚合文件的空间回收装置,该空间回收装置包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的基于底层聚合文件的空间回收方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的基于底层聚合文件的空间回收方法的步骤。
显然,本申请所提供的一种基于底层聚合文件的空间回收方法,首先选取出符合进行空间回收要求的目标底层聚合文件,根据组成各目标底层聚合文件的小文件的存留状态信息将其中未被删除的小文件提取出来,并将其重组为新底层聚合文件,同时删去原目标底层聚合文件以回收已被删除的小文件所占用的存储空间,得以消除现有技术中容易出现的跳跃式查询数据和对磁盘空间的浪费现象,空间回收机制更合理、不易使垃圾数据碎片化,也对存储系统性能影响更低。本申请同时还提供了一种基于底层聚合文件的空间回收系统、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于底层聚合文件的空间回收方法的流程图;
图2为本申请实施例提供的另一种基于底层聚合文件的空间回收方法的流程图;
图3为本申请实施例提供的一种从目标底层聚合文件至新底层聚合文件的重组过程示意图;
图4为本申请实施例提供的一种索引数据库中索引数据随底层聚合文件重组一并更新的过程示意图;
图5为本申请实施例提供的一种基于底层聚合文件的空间回收系统的结构框图。
具体实施方式
本申请的核心是提供一种基于底层聚合文件的空间回收方法,首先选取出符合进行空间回收要求的目标底层聚合文件,根据组成各目标底层聚合文件的小文件的存留状态信息将其中未被删除的小文件提取出来,并将其重组为新底层聚合文件,同时删去原目标底层聚合文件以回收已被删除的小文件所占用的存储空间,得以消除现有技术中容易出现的跳跃式查询数据和对磁盘空间的浪费现象,空间回收机制更合理、不易使垃圾数据碎片化,也对存储系统性能影响更低。本申请同时还提供了一种基于底层聚合文件的空间回收系统、装置及计算机可读存储介质,具有上述有益效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
以下结合图1,图1为本申请实施例提供的一种基于底层聚合文件的空间回收方法的流程图,其具体包括以下步骤:
S101:按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件;
其中,每个底层聚合文件由预设数量的小文件聚合形成,且小文件为文件大小小于预设大小的文件。
本步骤旨在从全量底层聚合文件中选择合适的底层聚合文件来执行后续的空间回收操作,即设置该预设选择规则的目的为从全部的底层聚合文件中选取出不影响存储系统当前运行进程、若不进行空间回收可能会影响存储系统性能的目标底层聚合文件。
具体基于何种原则得以选取出合适的底层聚合文件,方式多种多样,也涉及到一些存储系统运行的常识问题,通常来说,当前正被该存储系统占用的底层聚合文件(即构成该底层聚合文件中的一个或多个小文件正在被占用)是不适合进行空间回收的,因为若进行空间回收可能会与当前的读写任务存在冲突,以对存储系统的性能造成影响甚至导致文件出错等严重问题;另外一般来说最新修改时间离当前时间的时长较短的底层聚合文件也不适合进行空间回收,因为说明该底层聚合文件很有可能被上层系统在近期再次访问(例如误删后找回),为排除进行空间回收后对上层系统造成的影响,一般还会为其设置一个预设时长,若最新修改时间距当前时间的时长超过了该预设时长,则认为对应的底层聚合文件已经长期闲置,对其进行空间回收对上层系统造成影响的概率较小。
还可以结合每个底层聚合文件的垃圾数据片段空间占总空间的比例来对判断一个底层聚合文件的是否适合进行空间回收,该比例是指一个底层聚合文件中已被上层系统在系统层面上删除的小文件所占用存储空间与该底层聚合文件所占存储空间的比例,也常被称为垃圾数据水位。即可以利用每个底层聚合文件的垃圾数据水位值来判断该底层聚合文件是否适合进行空间回收,该垃圾数据水位值以0%~100%为例,可以自行设定符合不同实际情景下的数值,当将该垃圾数据水位阈值设定为80%时,即说明在占一个底层聚合文件80%存储空间的小文件都已经被上层系统在系统层面删除时,就可以认为该底层聚合文件中的待回收空间已经需要进行空间回收,以免对存储系统的性能造成影响,因为若此时要找寻该底层聚合文件中一个未被删除的小文件,就可能需要跳过80%的已被删除的小文件。
当然,除了上面提到的三种选取规则:是否被占用、最新修改时间距当前时间的时长是否超过预设时长、垃圾数据水位值是否超过设定阈值,还包括其它诸如当前存储系统的设备负载情况、设备是否处于异常状态以及是否其它优先级更高的待执行操作等等情况需要考虑,也可以作为选择规则的一部分,且各不同种类的选取规则还可以自行灵活组合,进一步的,还可以不同选取规则在不同应用场景下拥有的不同优先级按优先级设计判断顺序等等,此处并不做具体限定。
进一步的,在经过预设选取规则的选取,得到适合进行空间回收的目标底层聚合文件之后,还可以对其施加文件锁,以使施加了文件锁的目标底层聚合文件不会再被上层系统执行任何操作,即在此种状态下拒绝任何来自上层系统的再访问操作,直至该目标底层聚合文件已经执行完空间回收操作需要被删除时释放锁。
更进一步的,为使存储系统中空间回收操作可自动化执行,可设置执行文件选取操作的触发条件,该触发条件可以为定时、定期、某个信号的产生等等,目的在于可使空间回收操作可根据某个信号自动执行,无需人工开启。还可以某些情况的变化动态调整触发条件,例如在设备负载率较低的情况下就可以适当增多的执行空间回收操作的次数或降低执行空间回收操作的时间间隔等。
S102:获取组成每个目标底层聚合文件的各小文件的存留状态信息;
在S101的基础上,本步骤旨在获取组成每个目标底层聚合文件的各小文件的存留状态信息,其中,该存留状态信息为描述各小文件是否在上层系统被删除的一种状态标识信息,即能够根据该存留状态信息确定对应小文件是否在上层系统被删除,若根据该存储状态信息判断对应小文件已被删除,则对应小文件为所处目标底层聚合文件中的一个垃圾数据片段,相对应的,若根据存储状态信息判断对应小文件未被删除,则对应小文件为所处目标底层聚合文件中的一个非垃圾数据片段。
需要说明的是,通常在使用聚合技术将众多小文件形成底层聚合文件的过程中,为准确确定一个小文件在哪个底层聚合文件中、确定其具体文件,还会建立一个索引数据库,该索引数据库保存有各小文件的具体位置、属于哪个底层聚合文件,通常还对应有包括该存储状态信息在内的文件属性信息,因此可以通过索引数据库得到各小文件的存留状态信息。
S103:根据存留状态信息确定每个目标底层聚合文件中未被删除的小文件,得到非垃圾数据片段;
在S102的基础上,本步骤旨在根据存留状态信息确定每个目标底层聚合文件中未被删除的小文件,以提取得到各非垃圾数据片段,以便后续使用。
S104:将非垃圾数据片段重新组成新底层聚合文件,并删除目标底层聚合文件,以回收垃圾数据片段占用的空间。
在S103的基础上,本步骤旨在将非垃圾数据片段重新组成新底层聚合文件,以回收垃圾数据片段占用的空间。
具体的,重组非垃圾数据片段为新底层聚合文件的方式有很多,可以根据不同的情况基于不同的原则进行重组,例如可以基于就近原则,将原属于同一目标底层聚合文件中的不同非垃圾数据片段优先重组在同一新底层聚合文件;也可以基于随机原则,重新打乱各非垃圾数据片段的组合方式,使得各非垃圾数据片段随机的去重新组成新底层聚合文件;还可以设置每个底层聚合文件的构成要素,例如设置固定的构成小文件数、设置固定的构成总大小、设置构成的小文件来源等等,在不同的应用场景可结合所有可能存在的特殊要求灵活的进行重组,目的仅在于要在使用非垃圾数据片段重组为新底层聚合文件的同时,回收垃圾数据片段占用的部分存储空间,以消除现有技术中未进行重组导致存在的碎片化和跳跃式查询现象,使其依然保持顺序读写,保持存储系统的性能。
进一步的,在重组为新底层聚合文件之后,还需要将各非垃圾数据片段在重组后的新位置在索引数据库中进行更新,以便能够根据正确的索引数据确定相应的小文件。
更进一步的,还可以利用日志系统记录每次执行空间回收操作中每一步操作的详细参数,以生成空间回收操作日志作为操作执行记录待后续使用。
基于上述技术方案,本申请实施例提供的一种基于底层聚合文件的空间回收方法,首先选取出符合进行空间回收要求的目标底层聚合文件,根据组成各目标底层聚合文件的小文件的存留状态信息将其中未被删除的小文件提取出来,并将其重组为新底层聚合文件,同时删去原目标底层聚合文件以回收已被删除的小文件所占用的存储空间,得以消除现有技术中容易出现的跳跃式查询数据和对磁盘空间的浪费现象,空间回收机制更合理、不易使垃圾数据碎片化,也对存储系统性能影响更低。
实施例二
以下结合图2,图2为本申请实施例提供的另一种基于底层聚合文件的空间回收方法的流程图:
S201:判断每个底层聚合文件是否处于预设状态;
其中,该预设状态包括处于被占用状态、最新修改时间距当前时间的时长小于预设时长、垃圾数据片段所占存储空间的比值是否小于预设比值中的至少一项,即判断每个底层聚合文件是否处于被占用状态、最新修改时间距当前时间的时长是否小于预设时长、垃圾数据水位值是否小于预设阈值中至少一项,即存在多种情况,当该预设状态仅包括其中1种时,存在3种不同的具体判断方式;当该预设状态仅包括其中2种时,不考虑执行顺序对其造成的影响存在3种不同的具体判断方式,若考虑执行顺序对其造成的影响存在6种不同的具体判断方式;当该预设状态包括全部的3种时,不考虑执行顺序对其造成的影响仅存在1种具体判断方式,若考虑执行顺序对其造成的影响存在6种不同的具体判断方式。
因此本实施例可实际拆分为多个可行的具体实施例,由于情况复杂可根据实际情况自由组成形成相应的实施例,在此不再一一拆分开叙述。
S202:选取相应的底层聚合文件以将其作为目标底层聚合文件;
本步骤建立在S201的判断结果为一个底层聚合文件未处于该预设状态的基础上,即该底层聚合文件适合进行空间回收,因此将其作为一个目标底层聚合文件。
相反的,若S201的判断结果为一个底层聚合文件处于该预设状态的基础上,结合S201中对预设状态的描述,说明该底层聚合文件不适合进行空间回收,因此可以将其排除在外,继续对其它底层聚合文件进行判断。
还需要说明的是,在判断每个底层聚合文件是否处于预设状态时,可以采用串行或并行的方式进行,具体采用哪种与设备的性能相关,可自行选择。
S203:对目标底层聚合文件上锁;
在S202的基础上,本步骤旨在对确定为目标底层聚合文件施加文件锁,以使该目标底层聚合文件不会再被上层系统访问到,避免冲突的产生。
S204:获取组成每个目标底层聚合文件的各小文件的存留状态信息;
S205:根据存留状态信息确定每个目标底层聚合文件中未被删除的小文件,得到非垃圾数据片段;
S206:将非垃圾数据片段重新组成新底层聚合文件,并删除目标底层聚合文件,同时释放锁,以回收垃圾数据片段占用的空间。
本步骤区别于S104的地方在于,与S203相对应,在将目标底层聚合文件中的所有非垃圾数据片段重组为新底层聚合文件并可以删除原目标底层聚合文件时,释放之前施加的文件锁。
需要说明的是,本实施例中S201和S202中用于选取目标底层聚合文件的方法和S203与S206中为目标底层聚合文件施加文件锁的方法均可以单独基于实施例一形成对应的具体实施例,本实施例仅作为同时使用两种方式的一个较为优选的实施例存在。
实施例三
以下请结合图3和图4,本实施例将以一个实际的例子给出一种具体的实现方式,本实施例在聚合文件机制的基础上,通过定时对聚合文件进行遍历扫描完成垃圾数据的定位,再利用日志的事务性特点完成对垃圾数据的回收,在不影响正常业务的同时达到释放磁盘空间的目的,另外也避免了在回收过程中可能出现的故障所导致的数据不一致,即通过对聚合文件机制中数据回收过程的改进,高效地完成了垃圾数据的回收,同时避免了潜在的数据丢失风险,提升了系统的整体性能和可靠性。
具体操作步骤如下:
每隔一个固定时间段(可自定义,默认1天),默认在凌晨零点整(不影响正常业务性能),开始针对小文件追加生成的底层聚合文件进行扫描,且以下三种底层聚合文件被排除:当前被占用着的文件、最后一次修改时间不超过七天(可自定义)、垃圾数据水位不超过80%(可自定义)的文件;
根据排除规则得到符合条件的底层聚合文件(目标底层聚合文件),针对一个目标底层聚合文件file1,正常状态下的垃圾回收处理线程流程为:
1.对聚合文件file1进行加锁,防止在垃圾回收处理过程中,上层的读写请求获取到中间状态的数据;
2.从保存着数据片段索引关系的索引数据库中提取该聚合文件上的数据信息,从文件头到文件尾,将未被标记为已删除的片段提取出来,如图3和图4中所示的片段B,片段D(其中片段A、C已被删除);
3.将上述提取出来的非垃圾数据片段(片段B和片段D)依次写入到新的底层聚合文件中;
4.更新索引数据库中的索引关系,将数据片段B和D的新位置写入到数据库中,替换之前的记录;
5.所有的非垃圾数据片段(片段B和片段D)都写完之后,删除对应的原目标底层聚合文件file1,并释放锁;
6.上述步骤从2至5封装成事务(transaction)执行,并在文件系统中记录日志,只有当该事务被执行完成,才认为全部执行成功,否则,需要重复执行。
在上述各实施例的基础上,本实施例不仅设置了定期话的自动执行触发条件,且增加使用了文件锁保证在进行空间回收操作时不与上层系统出现冲突,同时还利用了日志系统记录每一步执行的操作参数,并据此判断执行是否完成作为是否还需要重复执行的条件,相较于实施例一和实施例二优点更多,能够解决更多的实际问题,用户系统更佳。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图5,图5为本申请实施例提供的一种基于底层聚合文件的空间回收系统的结构框图,该空间回收系统可以包括:
目标底层聚合文件选取单元100,用于按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件;其中,每个底层聚合文件由预设数量的小文件聚合形成,且小文件为文件大小小于预设大小的文件;
存留状态信息获取单元200,用于获取组成每个目标底层聚合文件的各小文件的存留状态信息;
非垃圾数据片段确定单元300,用于根据存留状态信息确定每个目标底层聚合文件中未被删除的小文件,得到非垃圾数据片段;
非垃圾数据片段处理单元400,用于将非垃圾数据片段重新组成新底层聚合文件,并删除目标底层聚合文件,以回收垃圾数据片段占用的空间;其中,垃圾数据片段为根据存留状态确定为已被删除的小文件。
其中,目标底层聚合文件选取单元100可以包括:
预设状态判断子单元,用于判断每个底层聚合文件是否处于预设状态;其中,预设状态包括处于被占用状态、最新修改时间距当前时间差小于预设时长、垃圾数据片段所占存储空间的比值是否小于预设比值中的至少一项;
目标底层聚合文件确定子单元,用于当底层聚合文件未处于预设状态时,选取相应的底层聚合文件以将其作为目标底层聚合文件。
进一步的,该基于底层聚合文件的空间回收系统还可以包括:
文件锁施加单元,用于对目标底层聚合文件上锁,直至目标底层聚合文件被删除;
索引数据更新单元,用于根据新底层聚合文件中包含的小文件所处的新位置更新相同小文件的索引数据;
定期执行单元,用于每隔预设时间间隔对当前时间间隔内的每个底层聚合文件执行数据选取操作。
基于上述实施例,本申请还提供了一种基于底层聚合文件的空间回收装置,该空间回收装置可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该空间回收装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种基于底层聚合文件的空间回收方法,其特征在于,包括:
按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件;其中,每个底层聚合文件由预设数量的小文件聚合形成,且所述小文件为文件大小小于预设大小的文件;
获取组成每个所述目标底层聚合文件的各小文件的存留状态信息;
根据所述存留状态信息确定每个所述目标底层聚合文件中未被删除的小文件,得到非垃圾数据片段;
将所述非垃圾数据片段重新组成新底层聚合文件,并删除所述目标底层聚合文件,以回收垃圾数据片段占用的空间;其中,所述垃圾数据片段为根据所述存留状态确定为已被删除的小文件。
2.根据权利要求1所述方法,其特征在于,按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件,包括:
判断每个所述底层聚合文件是否处于预设状态;其中,所述预设状态包括处于被占用状态、最新修改时间距当前时间差小于预设时长、垃圾数据片段所占存储空间的比值是否小于预设比值中的至少一项;
若否,则选取相应的底层聚合文件以将其作为所述目标底层聚合文件。
3.根据权利要求1所述方法,其特征在于,在获取组成每个所述目标底层聚合文件的各小文件的数据状态信息之前,还包括:
对所述目标底层聚合文件上锁,直至所述目标底层聚合文件被删除。
4.根据权利要求1所述方法,其特征在于,在将所述非垃圾数据片段重新组成新底层聚合文件之后,还包括:
根据所述新底层聚合文件中包含的小文件所处的新位置更新相同小文件的索引数据。
5.根据权利要求1至4任一项所述方法,其特征在于,还包括:
每隔预设时间间隔对当前时间间隔内的每个底层聚合文件执行所述数据选取操作。
6.一种基于底层聚合文件的空间回收系统,其特征在于,包括:
目标底层聚合文件选取单元,用于按预设选取规则对每个底层聚合文件执行文件选取操作,得到目标底层聚合文件;其中,每个底层聚合文件由预设数量的小文件聚合形成,且所述小文件为文件大小小于预设大小的文件;
存留状态信息获取单元,用于获取组成每个所述目标底层聚合文件的各小文件的存留状态信息;
非垃圾数据片段确定单元,用于根据所述存留状态信息确定每个所述目标底层聚合文件中未被删除的小文件,得到非垃圾数据片段;
非垃圾数据片段处理单元,用于将所述非垃圾数据片段重新组成新底层聚合文件,并删除所述目标底层聚合文件,以回收垃圾数据片段占用的空间;其中,所述垃圾数据片段为根据所述存留状态确定为已被删除的小文件。
7.根据权利要求6所述系统,其特征在于,所述目标底层聚合文件选取单元包括:
预设状态判断子单元,用于判断每个所述底层聚合文件是否处于预设状态;其中,所述预设状态包括处于被占用状态、最新修改时间距当前时间差小于预设时长、垃圾数据片段所占存储空间的比值是否小于预设比值中的至少一项;
目标底层聚合文件确定子单元,用于当所述底层聚合文件未处于所述预设状态时,选取相应的底层聚合文件以将其作为所述目标底层聚合文件。
8.根据权利要求7所述系统,其特征在于,还包括:
文件锁施加单元,用于对所述目标底层聚合文件上锁,直至所述目标底层聚合文件被删除。
9.一种基于底层聚合文件的空间回收装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的基于底层聚合文件的空间回收方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于底层聚合文件的空间回收方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810668186.6A CN108958653A (zh) | 2018-06-26 | 2018-06-26 | 一种基于底层聚合文件的空间回收方法、系统及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810668186.6A CN108958653A (zh) | 2018-06-26 | 2018-06-26 | 一种基于底层聚合文件的空间回收方法、系统及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108958653A true CN108958653A (zh) | 2018-12-07 |
Family
ID=64486645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810668186.6A Pending CN108958653A (zh) | 2018-06-26 | 2018-06-26 | 一种基于底层聚合文件的空间回收方法、系统及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958653A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780814A (zh) * | 2019-10-10 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种存储数据整理方法与装置 |
CN111125034A (zh) * | 2019-12-27 | 2020-05-08 | 深信服科技股份有限公司 | 一种聚合对象数据处理方法、系统及相关设备 |
CN111176578A (zh) * | 2019-12-29 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种对象聚合方法、装置、设备及可读存储介质 |
CN111813342A (zh) * | 2020-07-14 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据回收方法、装置、设备及计算机可读存储介质 |
CN112162701A (zh) * | 2020-09-18 | 2021-01-01 | 北京浪潮数据技术有限公司 | 一种存储空间回收方法、装置、设备及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605726A (zh) * | 2013-11-15 | 2014-02-26 | 中安消技术有限公司 | 一种小文件的存取方法、系统及控制节点和存储节点 |
CN105138282A (zh) * | 2015-08-06 | 2015-12-09 | 上海七牛信息技术有限公司 | 一种存储空间回收的方法及存储系统 |
US20160210369A1 (en) * | 2011-08-05 | 2016-07-21 | Deacon Johnson | System and method for controlling and organizing metadata associated with on-line content |
CN106326292A (zh) * | 2015-06-29 | 2017-01-11 | 杭州海康威视数字技术股份有限公司 | 数据结构和文件聚合、读取方法及装置 |
CN107562915A (zh) * | 2017-09-12 | 2018-01-09 | 郑州云海信息技术有限公司 | 读取小文件的方法、装置和设备及计算机可读存储介质 |
CN107704203A (zh) * | 2017-09-27 | 2018-02-16 | 郑州云海信息技术有限公司 | 聚合大文件的删除方法、装置、设备及计算机存储介质 |
-
2018
- 2018-06-26 CN CN201810668186.6A patent/CN108958653A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160210369A1 (en) * | 2011-08-05 | 2016-07-21 | Deacon Johnson | System and method for controlling and organizing metadata associated with on-line content |
CN103605726A (zh) * | 2013-11-15 | 2014-02-26 | 中安消技术有限公司 | 一种小文件的存取方法、系统及控制节点和存储节点 |
CN106326292A (zh) * | 2015-06-29 | 2017-01-11 | 杭州海康威视数字技术股份有限公司 | 数据结构和文件聚合、读取方法及装置 |
CN105138282A (zh) * | 2015-08-06 | 2015-12-09 | 上海七牛信息技术有限公司 | 一种存储空间回收的方法及存储系统 |
CN107562915A (zh) * | 2017-09-12 | 2018-01-09 | 郑州云海信息技术有限公司 | 读取小文件的方法、装置和设备及计算机可读存储介质 |
CN107704203A (zh) * | 2017-09-27 | 2018-02-16 | 郑州云海信息技术有限公司 | 聚合大文件的删除方法、装置、设备及计算机存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110780814A (zh) * | 2019-10-10 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种存储数据整理方法与装置 |
CN110780814B (zh) * | 2019-10-10 | 2021-08-06 | 苏州浪潮智能科技有限公司 | 一种存储数据整理方法与装置 |
CN111125034A (zh) * | 2019-12-27 | 2020-05-08 | 深信服科技股份有限公司 | 一种聚合对象数据处理方法、系统及相关设备 |
CN111176578A (zh) * | 2019-12-29 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种对象聚合方法、装置、设备及可读存储介质 |
CN111176578B (zh) * | 2019-12-29 | 2022-03-22 | 浪潮电子信息产业股份有限公司 | 一种对象聚合方法、装置、设备及可读存储介质 |
CN111813342A (zh) * | 2020-07-14 | 2020-10-23 | 济南浪潮数据技术有限公司 | 一种数据回收方法、装置、设备及计算机可读存储介质 |
CN112162701A (zh) * | 2020-09-18 | 2021-01-01 | 北京浪潮数据技术有限公司 | 一种存储空间回收方法、装置、设备及计算机存储介质 |
CN112162701B (zh) * | 2020-09-18 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种存储空间回收方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958653A (zh) | 一种基于底层聚合文件的空间回收方法、系统及相关装置 | |
US11853549B2 (en) | Index storage in shingled magnetic recording (SMR) storage system with non-shingled region | |
CN104067216B (zh) | 用于实施可扩展数据存储服务的系统和方法 | |
US20070088769A1 (en) | Reorganization and repair of an icf catalog while open and in-use in a digital data storage system | |
KR101424289B1 (ko) | 웹 사이트 다단계 리사이클링 방법, 및 휴지통 관리 방법 | |
EP1548598A1 (en) | Database re-organizing system and database | |
CN101673192B (zh) | 时序化的数据处理方法、装置及系统 | |
CN101201724B (zh) | 数据存储装置以及重布置数据的方法 | |
CN101375280A (zh) | 事件结构化文件系统(esfs) | |
CN108763473A (zh) | 一种分布式存储的本地对象存储方法及装置 | |
CN103577513A (zh) | 藉延迟节点实例化以缓存xml信息集的系统和/或方法 | |
CN109726175A (zh) | 一种基于HBase的海量文件离线分区管理方法 | |
CN107066349A (zh) | 一种集群文件系统数据保护的方法及系统 | |
CN109388624A (zh) | 分布式文件删除方法、装置、系统及计算机可读存储介质 | |
CN116088770B (zh) | 数据管理方法及装置、系统、电子设备、存储介质 | |
CN105302488B (zh) | 一种存储系统的数据写入方法及系统 | |
CN113377292A (zh) | 一种单机存储引擎 | |
CN104573571A (zh) | 一种智能卡安全文件系统的生成方法 | |
CN107111534A (zh) | 一种数据处理的方法和装置 | |
US20030208464A1 (en) | System and method for optimizing log usage for temporary objects | |
CN104636218B (zh) | 数据恢复方法及装置 | |
CN100543748C (zh) | 一种利用文件分配表进行文件寻道的方法及系统 | |
CN105740098A (zh) | 备份数据中过期数据的判定方法及系统 | |
CN110019130A (zh) | 一种数据库更新的方法及装置 | |
CN103177026A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |