[发明专利]一种文件迁移方法、装置和存储设备有效
申请号: | 201480037601.8 | 申请日: | 2014-09-26 |
公开(公告)号: | CN105637491B | 公开(公告)日: | 2017-06-20 |
发明(设计)人: | 夏锋 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 迁移 方法 装置 存储 设备 | ||
技术领域
本发明实施例涉及存储技术领域,特别是一种文件迁移方法、装置和存储设备。
背景技术
文件系统是一种存储和组织用户数据的数据结构,为用户提供了简单方便的数据访问。对于具有文件系统的存储设备来说,其磁盘上的存储空间对用户是透明的,用户不用关心数据存放在磁盘中的具体位置,仅通过访问目录或文件就可以访问数据。
写重定向(全称:Redirection On Write,简称:ROW)文件系统,是指采用写时重定向方式写数据的文件系统。当新的用户数据写入或者修改原有的用户数据时,新数据不会覆盖掉原来的旧数据,而是在存储设备上分配新的空间写入该数据,当新数据写成功后再释放旧数据的存储空间。然而,随着新数据的不断写入,存储设备上不停地分配新的存储空间,同时旧数据的存储空间不停地释放,而释放出的旧数据的存储空间也是离散的,无法再写入新的数据,那么就造成了磁盘上的存储空间碎片化的问题。因此,对存储空间进行碎片整理就变得必要,碎片整理是指将离散的小块空闲存储空间,整理成大块连续的存储空间。
发明内容
本发明实施例提供了一种文件迁移方法、装置和存储设备,可以将目标文件迁移到预先分配的连续的存储空间中,由此达到磁盘碎片整理的目的。
本发明实施例第一方面提供了一种文件迁移方法,所述方法应用于存储设备中,所述存储设备保存有目标文件,所述目标文件包括多个数据块,所述方法包括:
所述存储设备获取所述目标文件的元数据的快照,所述快照包括所述多个数据块的逻辑地址和所述多个数据块的第一写入时间,所述第一写入时间是指所述快照中记录的所述数据块写入所述存储设备的时间;
从所述多个数据块的逻辑地址和所述多个数据块的第一写入时间中,确定目标数据块的逻辑地址和所述目标数据块的第一写入时间;
根据所述目标数据块的逻辑地址从所述目标文件的元数据中获得所述目标数据块的逻辑地址对应的第二写入时间,其中所述目标文件的元数据包括所述目标数据块的逻辑地址和所述第二写入时间,所述第二写入时间是指所述目标数据块最近一次写入所述存储设备的时间;
确定所述第一写入时间与所述第二写入时间相同时,将所述目标数据块迁移到预先分配的连续的存储空间中。
结合第一方面,在第一种可能的实施方式中,所述方法还包括:
预先分配所述连续的存储空间,所述存储空间的大小不小于所述目标文件的大小。
结合第一方面,或者第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述方法还包括:
在所述存储空间中为所述目标数据块分配物理地址;
所述将所述目标数据块迁移到预先分配的连续的存储空间中包括:将所述目标数据块写入所述物理地址对应的存储空间中。
结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,在所述存储空间中为所述目标数据块分配物理地址之后,所述方法还包括:
将所述物理地址以及所述目标数据块写入所述物理地址对应的存储空间的时间保存在所述目标文件的元数据中。
结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,在所述根据所述目标数据块的逻辑地址从所述目标文件的元数据中获得所述目标数据块的逻辑地址对应的第二写入时间时,所述方法还包括:
对所述目标数据块的逻辑地址和所述第二写入时间执行加锁操作,使得所述目标数据块的逻辑地址和所述第二写入时间在所述获得所述目标数据块的逻辑地址对应的第二写入时间之后至所述将所述物理地址以及所述目标数据块写入所述物理地址对应的存储空间的时间保存在所述目标文件的元数据中之前不能被修改。
结合第一方面,或者第一方面的第一种至第一方面的第四种可能的实施方式,在本发明第五种可能的实施方式中,所述存储设备获取所述目标文件的元数据的快照包括:
当预设的时间到达时或者接收到文件迁移指令时,所述存储设备获取所述目标文件的元数据的快照。
本发明实施例第二方面提供了一种文件迁移装置,所述装置位于存储设备中,所述存储设备保存有目标文件,所述目标文件包括多个数据块,所述装置包括碎片整理模块,其中,所述碎片整理模块包括:
快照获取模块,用于获取所述目标文件的元数据的快照,所述快照包括所述多个数据块的逻辑地址和所述多个数据块的第一写入时间,所述第一写入时间是指所述快照中记录的所述数据块写入所述存储设备的时间;
地址映射模块,用于保存所述目标文件的元数据的快照以及目标文件的元数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480037601.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:频繁使用的去重复对象的完整性
- 下一篇:追踪源代码用于末端用户监控