[发明专利]文件系统的数据回收方法及装置在审
申请号: | 201410108824.0 | 申请日: | 2014-03-21 |
公开(公告)号: | CN103886070A | 公开(公告)日: | 2014-06-25 |
发明(设计)人: | 谢勇;李育国;付旭东;钟延辉 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 李楠 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件系统 数据 回收 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件系统的数据回收方法及装置。
背景技术
在文件系统中,由于元数据以及文件数据本身会占用空间,尤其是写时复制(Copy on Write,COW)或重定向写(Redirect on Write,ROW)文件系统等支持快照的文件系统。为了保持一致性,存储时在该些文件系统中生成checkpoint或者快照,其中,checkpoint是文件系统自动生成的检查点,而快照是由用户主动创建的检查点。为了达到节省空间的目的,在生成新的数据块之后,需要进行数据回收,即进行checkpoint删除或者快照删除操作,以释放旧的没有被新的checkpoint或快照引用的数据占用的空间。
现有的一种数据回收方法是采用树结构逐级遍历的方法,在生成新的数据块时,将新生成的数据块的引用计数置1,并将新生成的数据块直接引用的数据块的引用计数加1。当文件系统决定删除checkpoint或者快照时,需要从checkpoint根部向下遍历每个数据块,将数据块的引用计数减1,如果数据块的引用计数减为0,继续向下层遍历,当下层引用计数减一后仍然>0,则说明被其他引用需要被保留,并停止向下层遍历。
然而,如果采用上述方法在进行实时更新引用计数,需要依次读取树结构每个数据块的引用计数,判断是否>0,然后执行减引用操作,引用计数的更新时间长,在生成大量修改数据时,很可能在一个checkpoint生成时间里完成不了引用计数的实时更新,造成文件系统压力大的情况。
发明内容
本发明提供一种文件系统的数据回收方法及装置,可以有效地缩短引用计数的更新时间,加快数据回收的速度,减轻文件系统的压力。
本发明第一方面提供了一种文件系统的数据回收方法,所述方法包括:
在生成新数据块时,记录所述新数据块的引用信息,所述引用信息用于记录所述新数据块所直接引用的原有数据块的信息;所述新数据块是从该直接引用的原有数据块复制而来;
扫描所述新数据块,对所述新数据块的引用计数进行加操作;
根据所述新数据块的引用信息,将所述新数据块所直接引用的原有数据块的引用计数进行减操作;
进行减操作后的引用计数满足要求时,对所述原有数据块进行回收。
结合第一方面,在第一方面的第一种可能的实施方式中,所述引用信息具体为所述新数据块所直接引用的原有数据块的数据块编号。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,根据所述新数据块的引用信息,将所述新数据块所直接引用的原有数据块的引用计数进行减操作,具体包括:
根据所述新数据块所直接引用的原有数据块的数据块编号,找出所述新数据块所直接引用的原有数据块,将找出的所述原有数据块的引用计数减一。
结合第一方面,在第一方面的第三种可能的实施方式中,所述方法还包括:
在生成所述新数据块时,所述新数据块形成新检查点;
所述扫描所述新数据块,对所述新数据块的引用计数进行加操作,具体包括:
遍历所述新检查点中的所有数据块,将每个所述数据块的引用计数加一。
结合第一方面,在第一方面的第四种可能的实施方式中,所述方法还包括:
在生成所述新数据块时,所述新数据块形成快照;
所述扫描所述新数据块,对所述新数据块的引用计数进行加操作,具体包括:
遍历所述快照中的所有数据块,将每个所述数据块的引用计数加一。
结合第一方面,在第一方面的第五种可能的实施方式中,所述进行减操作后的引用计数满足要求,具体包括:所述进行减操作后的引用计数为零。
第二方面,本发明还提供了一种文件系统的数据回收装置,所述装置包括:
第一处理单元,用于在生成新数据块时,记录所述新数据块的引用信息,所述引用信息用于记录所述新数据块所直接引用的原有数据块的信息;所述新数据块是从该直接引用的原有数据块复制而来;
第二处理单元,用于扫描所述新数据块,对所述新数据块的引用计数进行加操作;
第三处理单元,用于根据所述第一处理单元记录的所述新数据块的引用信息,将所述新数据块所直接引用的原有数据块的引用计数进行减操作;
回收单元,用于经过所述第三处理单元进行减操作后的引用计数满足要求时,对所述原有数据块进行回收。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410108824.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置