CN107704203A - 聚合大文件的删除方法、装置、设备及计算机存储介质 - Google Patents
聚合大文件的删除方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN107704203A CN107704203A CN201710891883.3A CN201710891883A CN107704203A CN 107704203 A CN107704203 A CN 107704203A CN 201710891883 A CN201710891883 A CN 201710891883A CN 107704203 A CN107704203 A CN 107704203A
- Authority
- CN
- China
- Prior art keywords
- polymerization
- small documents
- big file
- file
- big
- 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.)
- Granted
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/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
- 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
技术领域
本发明涉及小文件聚合存储技术领域,特别是涉及一种聚合大文件的删除方法。本发明还涉及一种聚合大文件的装置、设备及计算机存储介质。
背景技术
在社交购物网站、广播电视、网络视频等海量小文件应用场景中,对小文件进行聚合存储是提高存储系统利用率和提升文件读取速度的重要手段。
小文件聚合存储技术中,多个小文件聚以聚合对象OBJ(object,对象,磁盘上数据存储单位)为单位进行聚合,聚合对象OBJ作为聚合大文件的数据存入到磁盘中,对小文件的读取,实际上转换为对聚合大文件数据的读取。
在现有技术中,在聚合大文件中删除小文件时,如果删除文件相应数据,需要先通过小文件元数据信息找到其所属的聚合大文件,该聚合大文件中没有存储其他小文件时,可以直接删除聚合大文件,但是当聚合大文件中同时存储了其他小文件数据时,则不能删除,需要等待该聚合大文件中所有文件均待删除之后,再删除聚合大文件上的全部数据,这样会导致无法释放磁盘空间的问题,降低了磁盘利用率。
因此,如何提供一种提高磁盘利用率的聚合大文件的方法、装置、设备及计算机存储介质是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种聚合大文件的删除方法,其在删除聚合大文件时将聚合大文件中待保留的小文件写入新的聚合文件,提高了聚合大文件的删除效率,从而提高了磁盘的利用率。本发明的另一目的是提供一种基于上述方法的聚合大文件的装置、设备及计算机存储介质。
为解决上述技术问题,本发明提供了一种聚合大文件的删除方法,包括:
在接收到聚合小文件的删除指令时,将聚合大文件对象头中待删除的小文件对应的的标识标为无效,所述待删除的小文件所在的存储空间为无效存储空间;
对聚合目录下的聚合大文件依次进行扫描,根据扫描结果计算当前扫描的聚合大文件中的无效存储空间的大小;
当所述无效存储空间的大小大于预设空间阈值时,将所述无效存储空间对应的聚合大文件加入清理队列中;
当所述聚合目录扫描完毕后,对所述清理队列中的聚合大文件启动清理线程;
对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;如果是,重复读取所述当前清理的聚合大文件中下一个小文件的标识直至所述当前清理队列里的聚合大文件中全部小文件的标识均已被读取;
当遍历完各个所述小文件时,删除所述聚合大文件中的数据并将所述聚合大文件从所述清理队列中出队。
优选地,所述当所述无效存储空间的大小大于预设空间阈值时,将所述无效存储空间对应的聚合大文件加入清理队列中的过程包括:
判断所述无效存储空间对应的聚合大文件是否已经存在所述清理队列中;若不存在,则对所述清理队列加锁,并且将所述无效存储空间对应的聚合大文件加入所述清理队列,直到所述所述无效存储空间对应的聚合大文件进入所述清理队列后,对所述清理队列解锁。
优选地,所述清理队列包括等待清理队列和正在清理队列,所述将所述无效存储空间的数量大于预设阈值的聚合大文件加入清理队列中的方法包括:
将无效存储空间大小大于所述预设空间阈值的聚合大文件加入所述等待清理队列;
判断所述等待清理队列中的聚合大文件在预设时间段内是否被访问过,若是,则将该聚合大文件从所述等待清理队列中出队并将其返回至所述聚合目录;若不是,则将该聚合大文件从所述等待清理队列中出队并加入所述正在清理队列中;
相应的,当所述聚合目录扫描完毕后,对所述正在清理队列中的聚合大文件启动清理线程。
优选地,所述对象头包括所述小文件的INO以及标识;所述对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将没有删除的小文件写入新的聚合文件中的过程包括:
根据所述当前清理的聚合大文件的INO获取该聚合大文件的元数据信息;
从所述当前清理的聚合大文件的元数据信息中读取该聚合大文件中的各个小文件对应的的标识;
根据所述标识确定待保留的小文件,并根据所述待保留的小文件的INO从元数据服务器中查找相应的文件信息;
调用聚合文件创建写接口,根据所述文件信息将所述待保留的小文件写入新的聚合文件中。
优选地,所述将待删除的小文件对应的的标识标为无效之后还包括:
将所述元数据服务器中所述无效小文件对应的文件信息删除;
相应的,所述对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中的过程包括:
对当前清理的聚合大文件中的小文件对应的的INO进行读取;
根据各个所述小文件的INO从元数据服务器中查找是否存在相应的文件信息;
若所述文件信息不存在,则记录所述文件信息不存在的小文件INO和所述当前清理的聚合大文件的INO;若所述文件信息存在,则调用聚合文件创建写接口,将所述文件信息存在的小文件写入新的聚合文件中。
为解决上述技术问题,本发明还提供了一种聚合大文件的删除装置,包括:
标记单元,用于在接收到聚合小文件的删除指令时,将聚合大文件对象头中待删除的小文件对应的的标识标为无效,所述待删除的小文件所在的存储空间为无效存储空间;
扫描单元,用于对聚合目录下的聚合大文件依次进行扫描,根据扫描结果计算当前扫描的聚合大文件中的无效存储空间的大小;
添加单元,用于当所述无效存储空间的大小大于预设空间阈值时,将所述无效存储空间对应的聚合大文件加入清理队列中;
启动单元,用于当所述聚合目录扫描完毕后,对所述清理队列中的聚合大文件启动清理线程;
写入单元,用于对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;如果是,重复读取所述当前清理的聚合大文件中下一个小文件的标识直至所述当前清理队列里的聚合大文件中全部小文件的标识均已被读取;
删除单元,用于当遍历完各个所述小文件时,删除所述聚合大文件中的数据并将所述聚合大文件从所述清理队列中出队。
优选地,所述对象头包括所述小文件的INO以及标识,所述写入单元包括:
获取子单元,用于根据所述当前清理的聚合大文件的INO获取该聚合大文件的元数据信息;
第一读取子单元,用于从所述当前清理的聚合大文件的元数据信息中读取该聚合大文件中的各个小文件对应的的标识;
第一查找子单元,用于根据所述标识确定待保留的小文件,并根据所述待保留的小文件的INO从元数据服务器中查找相应的文件信息;
第一写入子单元,调用聚合文件创建写接口,根据所述文件信息将所述待保留的小文件写入新的聚合文件中。
优选地,所述标记单元还包括:
删除子单元,用于将所述元数据服务器中的无效小文件对应的文件信息删除;
所述写入单元具体包括:
第二读取子单元,用于对当前清理的聚合大文件中的小文件对应的的INO进行读取;
第二查找子单元,用于根据各个所述小文件的INO从元数据服务器中查找是否存在相应的文件信息;
第二写入子单元,用于若所述文件信息不存在,则记录所述文件信息不存在的小文件INO和所述当前清理的聚合大文件的INO;若所述文件信息存在,则调用聚合文件创建写接口,将所述文件信息存在的小文件写入新的聚合文件中。
为解决上述技术问题,本发明还提供一种聚合大文件的删除设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的一种聚合大文件的删除方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的一种聚合大文件的删除方法的步骤。
本发明提供了一种聚合大文件的方法、装置、设备及计算机存储介质,本发明包括将待删除的小文件存储空间标记为无效存储空间;对聚合目录下的聚合大文件进行扫描,当无效存储空间的大小大于预设空间阈值时,将无效存储空间对应的聚合大文件加入清理队列中;对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据标识判断小文件是否待删除,确定待保留的小文件后,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;当遍历完各个小文件时,删除聚合大文件中的数据并将聚合大文件从清理队列中出队。本发明通过扫描的聚合大文件的方式,当聚合大文件无效存储空间大小大于预设空间阈值时,就将当前清理的聚合大文件中待保留的小文件写入新的聚合文件中,然后删除该聚合大文件,释放磁盘空间,相比于现有技术中直到所有的小文件被删除,即所有存储空间为无效存储空间时才删除所有数据,提高了聚合大文件的删除效率,从而提高了磁盘利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种聚合大文件的删除方法的流程图;
图2为本发明提供的一种聚合大文件的删除装置的结构示意图。
具体实施方式
本发明的核心是提供一种聚合大文件的删除方法,其在删除聚合大文件时将聚合大文件中待保留的小文件写入新的聚合文件,提高了聚合大文件的删除效率,从而提高了磁盘的利用率。本发明的另一核心是提供一种基于上述方法的聚合大文件的装置、设备及计算机存储介质。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种聚合大文件的删除方法,如图1所示,图1为本发明提供的一种聚合大文件的删除方法的流程图,该方法包括以下步骤:
步骤S1:在接收到聚合小文件的删除指令时,将聚合大文件对象头中待删除的小文件对应的的标识标为无效,待删除的小文件所在的存储空间为无效存储空间;
需要说明的是,小文件聚合存储时,每个聚合大文件的对象头(即聚合大文件的起始位置)保存了聚合大文件中各个小文件的INO以及标识,例如,用0或1作为一个小文件的标识,标识为0表示对应的小文件为待删除的小文件,待删除的小文件的存储区域为无效存储区域,标识为1表示对应的小文件为待保留的小文件,待保留的小文件的存储区域为有效存储区域,因此,聚合大文件的对象头中的标识为一串数字,从该标识的起始位置开始,该串数字的每一位对应了一个小文件。聚合功能在删除小文件时,并不是真正删除文件数据,而是找到小文件所在在聚合大文件,将聚合大文件对象头中小文件对应的标识置为0。当然,本发明不限定标识的具体类型。
步骤S2:对聚合目录下的聚合大文件依次进行扫描,根据扫描结果计算当前扫描的聚合大文件中的无效存储空间的大小;
步骤S3:当无效存储空间的大小大于预设空间阈值时,将无效存储空间对应的聚合大文件加入清理队列中;
需要说明的是,用户在后台可自行设置一个清理周期,定期启动磁盘扫描程序对聚合目录下的聚合大文件进行扫描,每扫描完一个聚合大文件的存储空间后统计聚合大文件对象头中的标识信息,将标识中为0的小文件的存储空间的容量总和作为无效存储空间的大小,当无效存储空间的大小大于预设空间阈值时,将该聚合大文件加入清理队列中。
步骤S4:当聚合目录扫描完毕后,对清理队列中的聚合大文件启动清理线程;
需要说明的是,当聚合目录扫描完毕后,判断清理队列是否为空,若是,则表示没有聚合大文件需要清理,处理结束;若否,则向清理程序发送启动信号,唤醒清理程序开始对清理队列中的聚合大文件进行清理。
步骤S5:对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据标识判断小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;如果是,重复读取当前清理的聚合大文件中下一个小文件的标识直至当前清理队列里的聚合大文件中全部小文件的标识均已被读取;
步骤S6:当遍历完各个小文件时,删除聚合大文件中的数据并将聚合大文件从清理队列中出队。
作为优选的,步骤S3的过程包括:
判断无效存储空间对应的聚合大文件是否已经存在清理队列中;若不存在,则对清理队列加锁,并且将无效存储空间对应的聚合大文件加入清理队列,直到无效存储空间对应的聚合大文件进入清理队列后,对清理队列解锁。
作为优选的,清理队列包括等待清理队列和正在清理队列,步骤S3的过程包括:
将无效存储空间大小大于预设空间阈值的聚合大文件加入等待清理队列;
判断等待清理队列中的聚合大文件在预设时间段内是否被访问过,若是,则将该聚合大文件从等待清理队列中出队并将其返回至聚合目录;若不是,则将该聚合大文件从等待清理队列中出队并加入正在清理队列中;
相应的,当聚合目录扫描完毕后,对正在清理队列中的聚合大文件启动清理线程。
需要说明的是,例如,判断等待清理队列中的聚合大文件在10分钟内是否被访问过,若是,则将该聚合大文件从等待清理队列中出队并将其返回至聚合目录;若不是,则将该聚合大文件从等待清理队列中出队并加入正在清理队列中。当然,本发明不限定预设时间段的具体数值。
可以理解的是,当聚合大文件在预设时间段内被访问,则表明该聚合大文件为访问率较高的文件,用户在近期内可能还会经常访问该文件,在对该聚合文件清理的过程中用户是不能访问该聚合大文件的,因此为了能让用户正常访问该聚合大文件文件,暂时不对该聚合大文件进行清理,将其出队并返回至聚合目录,等到下一扫描周期再进行处理。
作为优选的,对象头包括小文件的INO以及标识;步骤S5的过程包括:
根据当前清理的聚合大文件的INO获取该聚合大文件的元数据信息;
从当前清理的聚合大文件的元数据信息中读取该聚合大文件中的各个小文件对应的的标识;
根据标识确定待保留的小文件,并根据待保留的小文件的INO从元数据服务器中查找相应的文件信息;
调用聚合文件创建写接口,根据文件信息将待保留的小文件写入新的聚合文件中。
需要说明的是,元数据服务器中保存着小文件的文件信息,该文件信息保存对应小文件的属性,其中包括:小文件的INO、大小、类型、存储位置等属性,当然,本发明对该属性内容不做限定。
作为优选的,步骤S1之后还包括:
将元数据服务器中无效小文件对应的文件信息删除;
相应的,步骤S5的过程包括:
对当前清理的聚合大文件中的小文件对应的的INO进行读取;
根据各个小文件的INO从元数据服务器中查找是否存在相应的文件信息;
若文件信息不存在,则记录文件信息不存在的小文件INO和当前清理的聚合大文件的INO;若文件信息存在,则调用聚合文件创建写接口,将文件信息存在的小文件写入新的聚合文件中。
需要说明的是,本发明将聚合大文件以4KB为单位划分为若干个存储区域,当小文件进行聚合存储时,若小文件不足4KB,则调用一个存储空间来存储,该存储空间剩余部分置为空,若小文件大于4KB,则调用两个或两个以上的存储空间来存储,存储空间剩余部分也置为空,因此,不会出现一个存储空间存有两个小文件数据的情况。当然,本发明不限定划分存储区域的具体大小。
可以理解的是,将聚合大文件划分为若干个存储区域能够更好地计算出无效存储空间的容量总和。
本发明提供了一种聚合大文件的删除方法,本发明包括将待删除的小文件存储空间标记为无效存储空间;对聚合目录下的聚合大文件进行扫描,当无效存储空间的大小大于预设空间阈值时,将无效存储空间对应的聚合大文件加入清理队列中;对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据标识判断小文件是否待删除,确定待保留的小文件后,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;当遍历完各个小文件时,删除聚合大文件中的数据并将聚合大文件从清理队列中出队。本发明通过扫描的聚合大文件的方式,当聚合大文件无效存储空间大小大于预设空间阈值时,就将当前清理的聚合大文件中待保留的小文件写入新的聚合文件中,然后删除该聚合大文件,释放磁盘空间,相比于现有技术中直到所有的小文件被删除,即所有存储空间为无效存储空间时才删除所有数据,释放磁盘空间,本发明提高了磁盘利用率。
本发明还提供了一种聚合大文件的删除装置,如图2所示,图2为本发明提供的一种聚合大文件的删除装置的结构示意图,该装置包括:
标记单元1,用于在接收到聚合小文件的删除指令时,将聚合大文件对象头中待删除的小文件对应的的标识标为无效,待删除的小文件所在的存储空间为无效存储空间;
扫描单元2,用于对聚合目录下的聚合大文件依次进行扫描,根据扫描结果计算当前扫描的聚合大文件中的无效存储空间的大小;
添加单元3,用于当无效存储空间的大小大于预设空间阈值时,将无效存储空间对应的聚合大文件加入清理队列中;
启动单元4,用于当聚合目录扫描完毕后,对清理队列中的聚合大文件启动清理线程;
写入单元5,用于对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据标识判断小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;如果是,重复读取当前清理的聚合大文件中下一个小文件的标识直至当前清理队列里的聚合大文件中全部小文件的标识均已被读取;
删除单元6,用于当遍历完各个小文件时,删除聚合大文件中的数据并将聚合大文件从清理队列中出队。
优选地,对象头包括小文件的INO以及标识,写入单元5包括:
获取子单元,用于根据当前清理的聚合大文件的INO获取该聚合大文件的元数据信息;
第一读取子单元,用于从当前清理的聚合大文件的元数据信息中读取该聚合大文件中的各个小文件对应的的标识;
第一查找子单元,用于根据标识确定待保留的小文件,并根据待保留的小文件的INO从元数据服务器中查找相应的文件信息;
第一写入子单元,调用聚合文件创建写接口,根据文件信息将待保留的小文件写入新的聚合文件中。
优选地,标记单元1还包括:
删除子单元,用于将元数据服务器中的无效小文件对应的文件信息删除;
写入单元5具体包括:
第二读取子单元,用于对当前清理的聚合大文件中的小文件对应的的INO进行读取;
第二查找子单元,用于根据各个小文件的INO从元数据服务器中查找是否存在相应的文件信息;
第二写入子单元,用于若文件信息不存在,则记录文件信息不存在的小文件INO和当前清理的聚合大文件的INO;若文件信息存在,则调用聚合文件创建写接口,将文件信息存在的小文件写入新的聚合文件中。
本发明提供了一种聚合大文件的删除装置,本发明包括将待删除的小文件存储空间标记为无效存储空间;对聚合目录下的聚合大文件进行扫描,当无效存储空间的大小大于预设空间阈值时,将无效存储空间对应的聚合大文件加入清理队列中;对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据标识判断小文件是否待删除,确定待保留的小文件后,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;当遍历完各个小文件时,删除聚合大文件中的数据并将聚合大文件从清理队列中出队。本发明通过扫描的聚合大文件的方式,当聚合大文件无效存储空间大小大于预设空间阈值时,就将当前清理的聚合大文件中待保留的小文件写入新的聚合文件中,然后删除该聚合大文件,释放磁盘空间,相比于现有技术中直到所有的小文件被删除,即所有存储空间为无效存储空间时才删除所有数据,释放磁盘空间,本发明提高了磁盘利用率。
本发明还提供一种聚合大文件的删除设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述任一项的一种聚合大文件的删除方法的步骤。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项的一种聚合大文件的删除方法的步骤。
以上对本发明所提供一种聚合大文件的方法、装置、设备及计算机存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种聚合大文件的删除方法,其特征在于,包括:
在接收到聚合小文件的删除指令时,将聚合大文件对象头中待删除的小文件对应的的标识标为无效,所述待删除的小文件所在的存储空间为无效存储空间;
对聚合目录下的所述聚合大文件依次进行扫描,根据扫描结果计算当前扫描的聚合大文件中的无效存储空间的大小;
当所述无效存储空间的大小大于预设空间阈值时,将所述无效存储空间对应的聚合大文件加入清理队列中;
当所述聚合目录扫描完毕后,对所述清理队列中的聚合大文件启动清理线程;
对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;如果是,重复读取所述当前清理的聚合大文件中下一个小文件的标识直至所述当前清理队列里的聚合大文件中全部小文件的标识均已被读取;
当遍历完各个所述小文件时,删除所述聚合大文件中的数据并将所述聚合大文件从所述清理队列中出队。
2.根据权利要求1所述的方法,其特征在于,所述当所述无效存储空间的大小大于预设空间阈值时,将所述无效存储空间对应的聚合大文件加入清理队列中的过程包括:
判断所述无效存储空间对应的聚合大文件是否已经存在所述清理队列中;若不存在,则对所述清理队列加锁,并且将所述无效存储空间对应的聚合大文件加入所述清理队列,直到所述所述无效存储空间对应的聚合大文件进入所述清理队列后,对所述清理队列解锁。
3.根据权利要求1所述的方法,其特征在于,所述清理队列包括等待清理队列和正在清理队列,所述将所述无效存储空间的数量大于预设阈值的聚合大文件加入清理队列中的方法包括:
将无效存储空间大小大于所述预设空间阈值的聚合大文件加入所述等待清理队列;
判断所述等待清理队列中的聚合大文件在预设时间段内是否被访问过,若是,则将该聚合大文件从所述等待清理队列中出队并将其返回至所述聚合目录;若不是,则将该聚合大文件从所述等待清理队列中出队并加入所述正在清理队列中;
相应的,当所述聚合目录扫描完毕后,对所述正在清理队列中的聚合大文件启动清理线程。
4.根据权利要求1所述的方法,其特征在于,所述对象头包括所述小文件的INO以及标识;所述对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将没有删除的小文件写入新的聚合文件中的过程包括:
根据所述当前清理的聚合大文件的INO获取该聚合大文件的元数据信息;
从所述当前清理的聚合大文件的元数据信息中读取该聚合大文件中的各个小文件对应的的标识;
根据所述标识确定待保留的小文件,并根据所述待保留的小文件的INO从元数据服务器中查找相应的文件信息;
调用聚合文件创建写接口,根据所述文件信息将所述待保留的小文件写入新的聚合文件中。
5.根据权利要求1所述的方法,其特征在于,所述将待删除的小文件对应的的标识标为无效之后还包括:
将所述元数据服务器中所述无效小文件对应的文件信息删除;
相应的,所述对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中的过程包括:
对当前清理的聚合大文件中的小文件对应的的INO进行读取;
根据各个所述小文件的INO从元数据服务器中查找是否存在相应的文件信息;
若所述文件信息不存在,则记录所述文件信息不存在的小文件INO和所述当前清理的聚合大文件的INO;若所述文件信息存在,则调用聚合文件创建写接口,将所述文件信息存在的小文件写入新的聚合文件中。
6.一种聚合大文件的删除装置,其特征在于,包括:
标记单元,用于在接收到聚合小文件的删除指令时,将聚合大文件对象头中待删除的小文件对应的的标识标为无效,所述待删除的小文件所在的存储空间为无效存储空间;
扫描单元,用于对聚合目录下的聚合大文件依次进行扫描,根据扫描结果计算当前扫描的聚合大文件中的无效存储空间的大小;
添加单元,用于当所述无效存储空间的大小大于预设空间阈值时,将所述无效存储空间对应的聚合大文件加入清理队列中;
启动单元,用于当所述聚合目录扫描完毕后,对所述清理队列中的聚合大文件启动清理线程;
写入单元,用于对当前清理的聚合大文件中的小文件对应的的标识进行读取,根据所述标识判断所述小文件是否待删除,如果否,调用聚合文件创建写接口,将待保留的小文件写入新的聚合文件中;如果是,重复读取所述当前清理的聚合大文件中下一个小文件的标识直至所述当前清理队列里的聚合大文件中全部小文件的标识均已被读取;
删除单元,用于当遍历完各个所述小文件时,删除所述聚合大文件中的数据并将所述聚合大文件从所述清理队列中出队。
7.根据权利要求6所述的装置,其特征在于,所述对象头包括所述小文件的INO以及标识,所述写入单元包括:
获取子单元,用于根据所述当前清理的聚合大文件的INO获取该聚合大文件的元数据信息;
第一读取子单元,用于从所述当前清理的聚合大文件的元数据信息中读取该聚合大文件中的各个小文件对应的的标识;
第一查找子单元,用于根据所述标识确定待保留的小文件,并根据所述待保留的小文件的INO从元数据服务器中查找相应的文件信息;
第一写入子单元,调用聚合文件创建写接口,根据所述文件信息将所述待保留的小文件写入新的聚合文件中。
8.根据权利要求6所述的装置,其特征在于,所述标记单元还包括:
删除子单元,用于将所述元数据服务器中的无效小文件对应的文件信息删除;
所述写入单元具体包括:
第二读取子单元,用于对当前清理的聚合大文件中的小文件对应的的INO进行读取;
第二查找子单元,用于根据各个所述小文件的INO从元数据服务器中查找是否存在相应的文件信息;
第二写入子单元,用于若所述文件信息不存在,则记录所述文件信息不存在的小文件INO和所述当前清理的聚合大文件的INO;若所述文件信息存在,则调用聚合文件创建写接口,将所述文件信息存在的小文件写入新的聚合文件中。
9.一种聚合大文件的删除设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的一种聚合大文件的删除方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述一种聚合大文件的删除方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710891883.3A CN107704203B (zh) | 2017-09-27 | 2017-09-27 | 聚合大文件的删除方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710891883.3A CN107704203B (zh) | 2017-09-27 | 2017-09-27 | 聚合大文件的删除方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704203A true CN107704203A (zh) | 2018-02-16 |
CN107704203B CN107704203B (zh) | 2021-08-31 |
Family
ID=61175587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710891883.3A Active CN107704203B (zh) | 2017-09-27 | 2017-09-27 | 聚合大文件的删除方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704203B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763473A (zh) * | 2018-05-29 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种分布式存储的本地对象存储方法及装置 |
CN108958653A (zh) * | 2018-06-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种基于底层聚合文件的空间回收方法、系统及相关装置 |
CN108958659A (zh) * | 2018-06-29 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种分布式存储系统的小文件聚合方法、装置及介质 |
CN110874182A (zh) * | 2018-08-31 | 2020-03-10 | 杭州海康威视系统技术有限公司 | 一种条带索引的处理方法、装置及设备 |
CN111176574A (zh) * | 2019-12-27 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种小文件存储方法、装置、设备及介质 |
CN113704027A (zh) * | 2021-10-29 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 文件聚合兼容方法、装置、计算机设备和存储介质 |
WO2021238246A1 (zh) * | 2020-05-28 | 2021-12-02 | 苏州浪潮智能科技有限公司 | 一种聚合小文件的操作请求的处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346444A1 (en) * | 2009-12-08 | 2013-12-26 | Netapp, Inc. | Metadata subsystem for a distributed object store in a network storage system |
CN103605726A (zh) * | 2013-11-15 | 2014-02-26 | 中安消技术有限公司 | 一种小文件的存取方法、系统及控制节点和存储节点 |
US20150046504A1 (en) * | 2004-04-30 | 2015-02-12 | Netapp, Inc. | Extension of write anywhere file layout write allocation |
CN104572670A (zh) * | 2013-10-15 | 2015-04-29 | 方正国际软件(北京)有限公司 | 一种小文件的存储、查询及删除方法和系统 |
US9152603B1 (en) * | 2011-12-31 | 2015-10-06 | Albert J Kelly, III | System and method for increasing application compute client data I/O bandwidth performance from data file systems and/or data object storage systems by hosting/bundling all of the data file system storage servers and/or data object storage system servers in the same common global shared memory compute system as the application compute clients |
CN105404652A (zh) * | 2015-10-29 | 2016-03-16 | 河海大学 | 一种基于hdfs的海量小文件处理方法 |
CN107066592A (zh) * | 2017-04-18 | 2017-08-18 | 广东浪潮大数据研究有限公司 | 一种用于文件系统的文件碎片整理方法及系统 |
-
2017
- 2017-09-27 CN CN201710891883.3A patent/CN107704203B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150046504A1 (en) * | 2004-04-30 | 2015-02-12 | Netapp, Inc. | Extension of write anywhere file layout write allocation |
US20130346444A1 (en) * | 2009-12-08 | 2013-12-26 | Netapp, Inc. | Metadata subsystem for a distributed object store in a network storage system |
US9152603B1 (en) * | 2011-12-31 | 2015-10-06 | Albert J Kelly, III | System and method for increasing application compute client data I/O bandwidth performance from data file systems and/or data object storage systems by hosting/bundling all of the data file system storage servers and/or data object storage system servers in the same common global shared memory compute system as the application compute clients |
CN104572670A (zh) * | 2013-10-15 | 2015-04-29 | 方正国际软件(北京)有限公司 | 一种小文件的存储、查询及删除方法和系统 |
CN103605726A (zh) * | 2013-11-15 | 2014-02-26 | 中安消技术有限公司 | 一种小文件的存取方法、系统及控制节点和存储节点 |
CN105404652A (zh) * | 2015-10-29 | 2016-03-16 | 河海大学 | 一种基于hdfs的海量小文件处理方法 |
CN107066592A (zh) * | 2017-04-18 | 2017-08-18 | 广东浪潮大数据研究有限公司 | 一种用于文件系统的文件碎片整理方法及系统 |
Non-Patent Citations (1)
Title |
---|
吴森: ""分布式文件系统小文件性能优化技术研究"", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763473A (zh) * | 2018-05-29 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种分布式存储的本地对象存储方法及装置 |
CN108958653A (zh) * | 2018-06-26 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种基于底层聚合文件的空间回收方法、系统及相关装置 |
CN108958659A (zh) * | 2018-06-29 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种分布式存储系统的小文件聚合方法、装置及介质 |
CN110874182A (zh) * | 2018-08-31 | 2020-03-10 | 杭州海康威视系统技术有限公司 | 一种条带索引的处理方法、装置及设备 |
CN110874182B (zh) * | 2018-08-31 | 2023-12-26 | 杭州海康威视系统技术有限公司 | 一种条带索引的处理方法、装置及设备 |
CN111176574A (zh) * | 2019-12-27 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种小文件存储方法、装置、设备及介质 |
CN111176574B (zh) * | 2019-12-27 | 2022-03-22 | 浪潮电子信息产业股份有限公司 | 一种小文件存储方法、装置、设备及介质 |
WO2021238246A1 (zh) * | 2020-05-28 | 2021-12-02 | 苏州浪潮智能科技有限公司 | 一种聚合小文件的操作请求的处理方法及装置 |
CN113704027A (zh) * | 2021-10-29 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 文件聚合兼容方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107704203B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704203A (zh) | 聚合大文件的删除方法、装置、设备及计算机存储介质 | |
CN102629247B (zh) | 一种数据处理方法、装置和系统 | |
JP3554459B2 (ja) | テキストデータ登録検索方法 | |
CN108647151A (zh) | 一种全闪系统元数据落盘方法、装置、设备及存储介质 | |
CN102314485A (zh) | 哈希表添加、查找和删除方法及装置 | |
CN108984686B (zh) | 一种基于日志合并的分布式文件系统索引方法和装置 | |
CN106951375A (zh) | 在存储系统中删除快照卷的方法及装置 | |
CN105912687A (zh) | 海量分布式数据库存储单元 | |
CN107958079A (zh) | 聚合文件删除方法、系统、装置及可读存储介质 | |
CN103198150A (zh) | 一种大数据索引方法及系统 | |
CN115840543B (zh) | 一种数据分层存储方法、装置、设备及存储介质 | |
CN110287201A (zh) | 数据访问方法、装置、设备及存储介质 | |
CN107168651A (zh) | 一种小文件聚合存储处理方法 | |
CN113448946B (zh) | 数据迁移方法及装置、电子设备 | |
CN107368545A (zh) | 一种基于MerkleTree变形算法的去重方法及装置 | |
WO2021238408A1 (zh) | 对象存储平台以及对象聚合方法、装置和服务器 | |
JP5448428B2 (ja) | データ管理システム及びデータ管理方法及びデータ管理プログラム | |
CN108647280A (zh) | 一种存储通讯信息的方法和装置 | |
CN103246718B (zh) | 文件访问方法、装置和设备 | |
CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
CN109144431A (zh) | 数据块的缓存方法、装置、设备及存储介质 | |
CN104317955A (zh) | 一种移动终端存储空间中的文件扫描方法和装置 | |
CN106649860A (zh) | 一种应用在聚合文件上的碎片整理方法 | |
CN115269745A (zh) | 一种关系型数据至图数据映射方法、设备及存储介质 | |
CN116820323A (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 |