【技术实现步骤摘要】
【国外来华专利技术】访问文件的方法、装置和存储系统
本专利技术实施例涉及计算机领域,并且更具体地,涉及一种访问文件的方法、装置和存储系统。
技术介绍
传统技术中,只有在内核空间中才可以访问文件系统,当进程要访问文件系统中的目标文件时,需要执行系统调用,从用户空间切换到内核空间执行目标文件的访问,这种方式会影响访问文件的速度,同时会产生较大的软件运行开销。因此需要提出一种可以实现直接在用户空间下访问文件的方法。
技术实现思路
本专利技术实施例提供了一种访问文件的方法、装置和存储系统,能够在产生较小软件运行开销的情况下,实现在用户空间访问文件。第一方面,提供了一种访问文件的方法,该方法包括:接收来自进程的文件访问请求,该文件访问请求包括文件标识,该文件标识用于指示要访问的目标文件;根据预设的第一虚拟地址空间和该第一虚拟地址空间与存储文件系统的第一物理地址空间之间的第一映射关系,访问该第一物理地址空间,其中,该第一虚拟地址空间为操作系统的用户空间的一部分,该第一物理地址空间为内存空间的一部分;根据该目标文件的文件标识,在该第一物理地址空间中获取该目标文件的索引节点,该索引节点中包含有该目标文件的文件页表的信息;根据该索引节点中包含的该目标文件的文件页表的信息,获取该目标文件的文件页表,该文件页表中记录有在该第一物理地址空间中存储的该目标文件的数据页的第二物理地址空间,该目标文件的数据页用于存储文件数据;为该目标文件分配第二虚拟地址空间,该第二虚拟地址空间为操作系统的用户空间中为所有进程分配的共享空间的一部分,该第二虚拟地址空间为连续的地址空间;建立该第二物理地址空间与该第二虚拟地址空间 ...
【技术保护点】
PCT国内申请,权利要求书已公开。
【技术特征摘要】
【国外来华专利技术】1.一种访问文件的方法,其特征在于,包括:接收来自进程的文件访问请求,所述文件访问请求包括文件标识,所述文件标识用于指示要访问的目标文件;根据预设的第一虚拟地址空间和所述第一虚拟地址空间与存储文件系统的第一物理地址空间之间的第一映射关系,访问所述第一物理地址空间,其中,所述第一虚拟地址空间为操作系统的用户空间的一部分,所述第一物理地址空间为内存空间的一部分;根据所述目标文件的文件标识,在所述第一物理地址空间中获取所述目标文件的索引节点,所述索引节点中包含有所述目标文件的文件页表的信息;根据所述索引节点中包含的所述目标文件的文件页表的信息,获取所述目标文件的文件页表,所述文件页表中记录有在所述第一物理地址空间中存储的所述目标文件的数据页的第二物理地址空间,所述目标文件的数据页用于存储文件数据;为所述目标文件分配第二虚拟地址空间,所述第二虚拟地址空间为操作系统的用户空间中为所有进程分配的共享空间的一部分,所述第二虚拟地址空间为连续的地址空间;建立所述第二物理地址空间与所述第二虚拟地址空间之间的第二映射关系;根据所述第二虚拟地址空间以及所述第二映射关系,访问所述第二物理地址空间中的所述目标文件。2.根据权利要求1所述的方法,其特征在于,所述建立所述第二物理地址空间与所述第二虚拟地址空间之间的第二映射关系,包括:通过将所述目标文件的文件页表链入所述第二虚拟地址空间对应的进程页表的方式,建立所述第二映射关系。3.根据权利要求1或2所述的方法,其特征在于,所述第二虚拟地址空间大于所述第二物理地址空间;所述根据所述第二虚拟地址空间以及所述第二映射关系,访问所述第二物理地址空间中的所述目标文件,包括:根据所述第二虚拟地址空间以及所述第二映射关系,对所述第二物理地址空间中的所述目标文件进行读操作;当所述读操作待读取的数据所对应的虚拟地址超出所述目标文件所对应的虚拟地址空间时,结束所述读操作。4.根据权利要求1或2所述的方法,其特征在于,所述第二虚拟地址空间大于所述第二物理地址空间;所述根据所述第二虚拟地址空间以及所述第二映射关系,访问所述第二物理地址空间中的所述目标文件,包括:根据所述第二虚拟地址空间以及所述第二映射关系,对所述第二物理地址空间中的所述目标文件进行写操作;当所述写操作待写入的数据对应的虚拟地址超出所述第二虚拟地址空间时,结束所述写操作。5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在内核空间,建立所述第一虚拟地址空间与所述第一物理地址空间之间的所述第一映射关系,并将所述第一映射关系对应的映射页表存储在内核空间对应的进程页表中;在接收到来自所述进程的所述文件访问请求后,所述方法还包括:确定所述第一虚拟地址空间对应的进程页表中未记录有所述第一映射关系;将存储在内核空间的所述第一映射关系对应的映射页表链入所述第一虚拟地址空间对应的进程页表中。6.一种访问文件的装置,其特征在于,包括:接收模块,用于接收来自进程的文件访问请求,所述文件访问请求包括文件标识,所述文件标识用于指示要访问的目标文件;第一访问模块,用于根据预设的第一虚拟地址空间和所述第一虚拟地址空间与存储文件系统的第一物理地址空间之间的第一映射关系,访问所述第一物理地址空间,其中,所述第一虚拟地址空间为操作系统的用户空间的一部分,所述第一物理地址空间为内存空间的一部分;获取模块,用于根据所述接收模块接收的所述目标文件的文件标识,在所述第一物理地址空间中获取所述目标文件的索引节点,所述索引节点中包含有所述目标文件的文件页表的信息;所述获取模块,还用于根据所述索引节点中包含的所述目标文件的文件页表的信息,获取所述目标文件的文件页表,所述文件页表中记录有在所述第一物理地址空间中存储的所述目标文件的数据页的第二物理地址空间,所述目标文件的数据页用于存储文件数据;分配模块,用于为所述目标文件分配第二虚拟地址空间,所述第二虚拟地址空间为操作系统的用户空间中为所有进程分配的共享空间的一部分,所述第二虚拟地址空间为连续的地址空间;第一建立模块,用于建立所述第二物理地址空间与所述分配模块分配的所述第二虚拟地址空间之间的第二映射关系;第二访问模块,用于根据所述分配模块分配的所述第二虚拟地址空间以及所述第一建立模块建立的所述第二映射关系,访问所述第二物理地址空间中的...
【专利技术属性】
技术研发人员:徐君,朱冠宇,于群,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。