[发明专利]访问文件的方法、装置及存储系统有效
| 申请号: | 201480036922.6 | 申请日: | 2014-09-01 |
| 公开(公告)号: | CN105579977B | 公开(公告)日: | 2020-04-14 |
| 发明(设计)人: | 朱冠宇;徐君;于群 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F12/00 | 分类号: | G06F12/00 |
| 代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 毛威;肖鹂 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 访问 文件 方法 装置 存储系统 | ||
1.一种访问文件的方法,其特征在于,包括:
接收来自进程的文件访问请求,所述文件访问请求包括文件标识,所述文件标识用于指示要访问的目标文件;
根据第一虚拟地址空间与第一映射关系,访问存储文件系统的第一物理地址空间,其中,所述第一映射关系表示所述第一虚拟地址空间与所述第一物理地址空间之间的映射关系,所述第一映射关系记录在所述第一虚拟地址空间对应的进程页表中,所述第一虚拟地址空间为操作系统的用户空间中为所有进程所共享的空间,所述第一物理地址空间为内存空间的一部分;
根据所述目标文件的文件标识,在所述第一物理地址空间中获取所述目标文件的索引节点,所述索引节点中包含有所述目标文件的文件页表的信息;
根据所述索引节点中包含的所述目标文件的文件页表的信息,获取所述目标文件的文件页表,所述文件页表用于指示存储所述目标文件的数据页的第二物理地址空间,其中,所述第二物理地址空间为所述第一物理地址空间的一部分,所述目标文件的数据页用于存储文件数据;
根据所述第二物理地址空间,访问所述目标文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二物理地址空间,访问所述目标文件,包括:
为所述目标文件分配第二虚拟地址空间,所述第二虚拟地址空间为操作系统的用户空间中为所述进程分配的私有空间的一部分,所述第二虚拟地址空间为连续的地址空间;
建立所述第二物理地址空间与所述第二虚拟地址空间之间的第二映射关系;
根据所述第二虚拟地址空间以及所述第二映射关系,访问所述第二物理地址空间中的所述目标文件。
3.根据权利要求2所述的方法,其特征在于,所述建立所述第二物理地址空间与所述第二虚拟地址空间之间的第二映射关系,包括:
通过将所述目标文件的文件页表链入所述第二虚拟地址空间对应的进程页表的方式,建立所述第二映射关系。
4.根据权利要求2或3所述的方法,其特征在于,所述第二虚拟地址空间大于所述第二物理地址空间;
所述根据所述第二虚拟地址空间以及所述第二映射关系,访问所述第二物理地址空间中的所述目标文件,包括:
根据所述第二虚拟地址空间以及所述第二映射关系,对所述第二物理地址空间中的所述目标文件进行读操作;
当所述读操作待读取的数据所对应的虚拟地址超出所述目标文件所对应的虚拟地址空间时,结束所述读操作。
5.根据权利要求2或3所述的方法,其特征在于,所述第二虚拟地址空间大于所述第二物理地址空间;
所述根据所述第二虚拟地址空间以及所述第二映射关系,访问所述第二物理地址空间中的所述目标文件,包括:
根据所述第二虚拟地址空间以及所述第二映射关系,对所述第二物理地址空间中的所述目标文件进行写操作;
当所述写操作待写入的数据对应的虚拟地址超出所述第二虚拟地址空间时,结束所述写操作。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在内核空间,建立所述第一虚拟地址空间与所述第一物理地址空间之间的所述第一映射关系,并将所述第一映射关系对应的映射页表存储在内核空间对应的进程页表中;
在接收到来自所述进程的所述文件访问请求后,所述方法还包括:
确定所述第一虚拟地址空间对应的进程页表中未记录有所述第一映射关系;
将存储在内核空间的所述第一映射关系对应的映射页表链入所述第一虚拟地址空间对应的进程页表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480036922.6/1.html,转载请声明来源钻瓜专利网。





