[发明专利]一种数据的访问方法、装置及设备有效
申请号: | 201510223983.X | 申请日: | 2015-05-05 |
公开(公告)号: | CN104850502B | 公开(公告)日: | 2018-03-09 |
发明(设计)人: | 景玉超;刘永合;胡剑阳 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 访问 方法 装置 设备 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种数据的访问方法、装置及设备。
背景技术
为了减少数据访问时的处理器(CPU)占用率,简化数据传输流程,通常会使用DMA来传输数据,即不需要CPU的参与,直接在内存和I/O设备之间直接进行数据交换。
传统地,用户进程访问储存设备时,流程如下:用户态进程发起的访问,先经过标准库处理,然后由标准库发起系统调用,数据进入文件系统,文件系统对文件做访问权限检测,保证访问的安全性;然后进入内核驱动处理,内核驱动组建IO访问消息,并且执行IO调度;最后由存储设备处理数据。由于用户进程(APP)使用的是虚拟地址,通常在物理上是不连续的,而DMA操作需要知道物理地址,因此需要将APP空间中的数据拷入连续的物理空间中,DMA才能操作。
这种传统的方式中,文件访问流程中经历的软件层次比较多,软件的开销大;并且,访问过程中数据需要从用户态拷贝到内核态再拷贝到储存设备,或者从储存设备拷贝到内核态再拷贝到用户态,这将加大CPU的开销;进一步地,在访问PCIe SSD硬盘时,由于PCIe SSD硬盘相比传统机械硬盘访问速度快,通过文件系统访问PCIe SSD硬盘时,文件系统造成的延时比较严重。
发明内容
本发明实施例提供了一种数据的访问方法、装置及设备,用于缩短访问路径,减少时延,降低CPU开销。
第一方面,本发明提供了一种数据的访问方法,包括:
获取第一访问请求,所述第一访问请求携带目标数据所在文件的句柄;
根据所述句柄查找预置的第一级用户空间映射表,获取inode number和Offset,并根据获取到的所述inode number和Offset查找预置的第二级用户空间映射表,获取第一LBA,其中,所述第一级用户空间映射表包括所述句柄、inode number和Offset的对应关系,所述第二级用户空间映射表包括所述inode number、Offset和第一LBA的对应关系;
根据所述inode number和第一LBA触发通过预先建立的消息队列访问存储设备中的目标数据的操作,其中,所述消息队列是由所述存储设备的驱动创建的用于提供访问接口。
在第一方面的第一种可能的实现方式中,所述根据所述inode number和第一LBA触发通过预先建立的消息队列访问存储设备中的目标数据的操作的步骤之后,还包括:根据所述inode number查找权限检测表,并获取第二LBA,在确定所述第一LBA是所述第二LBA的子集时,返回所述目标数据,其中,所述权限检测表是由所述存储设备的驱动创建的用于提供给所述存储设备进行权限检测。
根据第一方面,或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述inode number和第一LBA触发通过预先建立的消息队列访问存储设备中的目标数据的操作,具体包括:生成第二访问请求,所述第二访问请求携带所述inode number和第一LBA;通过所述消息队列向所述存储设备发送所述第二访问请求,所述第二访问请求用于访问所述目标数据。
根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二访问请求还携带所述文件在内存中的物理地址,所述物理地址是由内核根据接收到文件的虚地址进行转化得到文件的物理地址。
根据第一方面的第二种可能的实现方式,在第四种可能的实现方式中,每一个访问进程对应一个所述消息队列。
根据第一方面的第二种可能的实现方式,在第五种可能的实现方式中,所述通过预先建立的消息队列向所述存储设备发送所述第二访问请求的步骤之前,还包括:确定所述存储设备的驱动中是否创建有与所述第二访问请求对应的消息队列,若否,则向所述存储设备的驱动发送创建请求,所述创建请求用于创建所述消息队列;在所述存储设备的驱动成功创建所述消息队列后,接收所述存储设备返回的所述消息队列的物理地址和寄存器地址。
根据第一方面或第一方面的第一种可能的实现方式,在第六种可能的实现方式中,所述根据所述句柄查找预置的第一级用户空间映射表的步骤之前,还包括:向文件系统发送获取请求,所述获取请求携带所述句柄,以使得所述文件系统根据所述句柄获取并返回所述文件的inode number、Offset和所述第一LBA的对应关系;根据所述对应关系生成所述第一级用户空间映射表和第二级用户空间映射表。
根据第一方面或第一方面的第一种可能的实现方式,在第七种可能的实现方式中,所述第二级用户空间映射表为红黑二叉树组织。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510223983.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种通用地址空间管理方法及其系统
- 下一篇:移动应用测试系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置