[发明专利]一种合并存储空间回收方法、装置及电子设备有效
申请号: | 201711136335.6 | 申请日: | 2017-11-16 |
公开(公告)号: | CN108090128B | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 李杰辉;牛立国 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F16/17 | 分类号: | G06F16/17;G06F16/16 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 合并 存储空间 回收 方法 装置 电子设备 | ||
本发明实施例提供了一种合并存储空间回收方法、装置及电子设备,包括:确定第一文件块中待回收存储空间的小文件;按照第一文件块中至少一个小文件在第一文件块的存储位置的前后顺序,依次对至少一个小文件执行第一或第二处理;第一处理包括:判断出小文件是待回收存储空间的小文件,对小文件所占的存储空间执行文件空洞处理;第二处理包括:判断出小文件不是待回收存储空间的小文件,将小文件复制到第一文件块的存储区域的尾部,对小文件被复制前所占的存储空间执行文件空洞处理。本发明实施例通过就地回收的方式对第一文件块进行存储空间的回收,节约了回收过程中合并存储系统的存储空间。
技术领域
本发明涉及存储技术领域,特别是涉及一种合并存储空间回收方法、装置及电子设备。
背景技术
互联网的高速发展产生了海量的图片、文档等文件,这些文件的特点是尺寸较小(一般在100KB以下)以及数量巨大(一般数以亿计),传统的可移植操作系统接口(PortableOperating System Interface,POSIX)文件系统已经难以满足对海量小文件的处理需求,这就是业界著名的海量小文件问题。
对于海量小文件问题,业界的通用做法是合并存储,即将小文件合并存储到一个POSIX文件中,例如一些社交网站或购物网站都有专用的合并存储系统,如:Haystack,Ambry和TFS。在合并存储系统中,除了将小文件的内容存储到POSIX大文件中之外,还需要保存小文件在大文件中偏移量,也就是索引信息。
在合并存储系统中,删除一个小文件时,通用的做法是在索引信息里将小文件标识为已删除的状态。标识为已删除的小文件在POSIX大文件里面所占的存储空间并不会马上被回收,而是通过后台进程进行异步回收。目前一般都是采用2阶段式的复制-提交(Copy-Commit)方法对POSIX大文件的存储空间进行异步回收,其步骤为:首先复制阶段包括:创建一个临时文件和临时索引文件;然后,从头开始扫描大文件里的所有小文件,如果该小文件被标识为已删除,则跳过,否则,将该小文件复制到临时文件,同时在临时索引文件里添加临时文件中小文件的索引信息;最后提交阶段包括:用临时文件代替大文件,原先的大文件就不存在了,从而完成大文件的存储空间的回收。然而,Copy-Commit方法存在这样的缺点:在复制小文件的过程中,采用非就地的方式,即大文件和临时文件同时存在,因此,需要合并存储系统预留出足够的存储空间。
发明内容
本发明实施例的目的在于提供一种合并存储空间回收方法、装置及电子设备,以通过就地回收的方式对第一文件块进行存储空间的回收,节约回收过程中合并存储系统的存储空间。具体技术方案如下:
为达到上述目的,第一方面,本发明实施例提供了一种合并存储空间回收方法,所述方法包括:
确定第一文件块中待回收存储空间的小文件;其中,所述第一文件块存储有至少一个小文件,且所述至少一个小文件被依次连续存储在所述第一文件块中;
按照所述至少一个小文件在所述第一文件块的存储位置的前后顺序,依次对所述至少一个小文件执行第一处理或第二处理;其中,
所述第一处理包括:判断出该小文件是待回收存储空间的小文件,则对该待回收存储空间的小文件所占的存储空间执行文件空洞处理;
所述第二处理包括:判断出该小文件不是待回收存储空间的小文件,将该不是待回收存储空间的小文件复制到所述第一文件块的存储区域的尾部,对该不是待回收存储空间的小文件被复制前所占的存储空间执行文件空洞处理,其中,所述第一文件块的存储区域为所述至少一个小文件在所述第一文件块中被连续存储的区域。
可选地,所述确定第一文件块中待回收存储空间的小文件,包括:
获取所述至少一个小文件的删除状态信息;其中,所述删除状态信息用于标识所述至少一个小文件为已删除或未删除;
将所有标识为已删除的小文件确定为第一文件块中待回收存储空间的小文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711136335.6/2.html,转载请声明来源钻瓜专利网。