[发明专利]一种实现写时复制文件系统的方法及装置有效
申请号: | 201510607910.0 | 申请日: | 2015-09-22 |
公开(公告)号: | CN105094711B | 公开(公告)日: | 2018-05-18 |
发明(设计)人: | 苑忠科;张会健;李美欣 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 复制 文件系统 方法 装置 | ||
1.一种实现写时复制文件系统的方法,其特征在于,包括:
在内存中寻找带有脏数据标识的第一元数据;其中,所述在内存中寻找带有脏数据标识的第一元数据,包括:在内存中寻找有所述脏数据的元数据链表;和/或,没有所述脏数据但元数据本身修改链表上的元数据;
将所述第一元数据的lock标识置位;
为所述第一元数据对应的脏数据分配新的磁盘空间,并将所述脏数据下刷至所述新的磁盘空间;
将所述第一元数据写到与所述新的磁盘空间位置相邻的元数据文件中;并将blockmap文件中的与所述脏数据对应的第二元数据写入所述元数据文件中。
2.根据权利要求1所述的方法,其特征在于,为所述第一元数据对应的脏数据分配新的磁盘空间,包括:
预先将block map文件中初始元数据写入所述元数据文件中,并为所述脏数据分配新的磁盘空间。
3.根据权利要求2所述的方法,其特征在于,所述将block map文件中的与所述脏数据对应的第二元数据写入所述元数据文件中之后,包括:
将所述脏数据对应的数据块的fs位值复制到所述block map文件中的update位。
4.根据权利要求3所述的方法,其特征在于,若所述第二元数据没有成功写入所述元数据文件中,则将所述第二元数据存放在write wait队列中,并重新执行将所述第二元数据写入所述元数据文件中的步骤。
5.一种实现写时复制文件系统的装置,其特征在于,包括:
寻找模块,用于在内存中寻找带有脏数据标识的第一元数据;
置位模块,用于将所述第一元数据的lock标识置位;
分配模块,用于为所述第一元数据对应的脏数据分配新的磁盘空间;
下刷模块,用于将所述脏数据下刷至所述新的磁盘空间;
第一元数据写入模块,用于将所述第一元数据写到与所述新的磁盘空间位置相邻的元数据文件中;
第二元数据写入模块,用于将block map文件中的与所述脏数据对应的第二元数据写入所述元数据文件中;
其中,所述寻找模块,包括:在内存中寻找有所述脏数据的元数据链表;和/或,没有所述脏数据但元数据本身修改链表上的元数据。
6.根据权利要求5所述的装置,其特征在于,所述分配模块,包括:
预先将block map文件中初始元数据写入所述元数据文件中,并为所述脏数据分配新的磁盘空间。
7.根据权利要求6所述的装置,其特征在于,所述第二元数据写入模块,包括:
将所述脏数据对应的数据块的fs位值复制到所述block map文件中的update位。
8.根据权利要求7所述的装置,其特征在于,若所述第二元数据写入模块没有成功将所述第二元数据写入所述元数据文件中,则将所述第二元数据存放在write wait队列中,并重新将所述第二元数据写入所述元数据文件中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510607910.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据处理方法及装置
- 下一篇:一种固态盘存储系统的动态数据压缩方法