[发明专利]数据读取方法、装置及计算设备有效

专利信息
申请号: 201310267802.4 申请日: 2013-06-28
公开(公告)号: CN103336672A 公开(公告)日: 2013-10-02
发明(设计)人: 张勇;李海丰;杜培亮 申请(专利权)人: 华为技术有限公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 北京弘权知识产权代理事务所(普通合伙) 11363 代理人: 陈蕾;许伟群
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 数据 读取 方法 装置 计算 设备
【说明书】:

技术领域

发明涉及计算机领域,特别涉及数据读取方法、装置及计算设备。

背景技术

计算设备内通常包括具有计算能力的中央处理器(Central Processing Unit,CPU)、硬盘、内存等硬件设备。其中,硬盘和内存均为计算设备内的存储媒介,由于硬盘由机械部件带动运转,因此CPU从硬盘内读取数据的速度要远低于从内存读取数据的速度。现有技术中,CPU从硬盘内读取数据时,将根据数据读请求所请求数据的大小依次生成多个块读取请求,并对这些块读取请求进行串行处理,即每一次仅读取一个块读取请求对应的数据。

发明人在对现有技术的研究过程中发现,通过串行处理方式对块读取请求进行处理时,由于同一时刻仅处理一个块读取请求,因此处理效率和数据读取效率都较低;并且,由于处理每一个块读取请求时,都需要挂起数据读请求的用户进程,并在处理下一个块读取请求时,唤醒前一次挂起的用户进程,因此当同一数据读请求的块读取请求较多时,计算设备内的进程调度开销较大。

发明内容

本发明实施例提供数据读取方法、装置及计算设备,以提高从硬盘读取数据效率,减少数据读取过程中进程调度的开销。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

第一方面,提供一种数据读取方法,所述方法包括:

接收用户进程提交的数据读请求;

根据所述数据读请求生成至少两个块读取请求;

将所述至少两个块读取请求一次性提交至硬盘的输入输出IO调度队列;

通过调度所述IO调度队列中的所述至少两个块读取请求,将所述数据读请求所请求的数据从硬盘缓存区读取到用户缓存区。

结合第一方面,在第一方面的第一种可能的实现方式中,所述根据所述数据读请求生成至少两个块读取请求,包括:

根据所述数据读请求所请求的数据的大小将所述数据分解成多个数据页;

在内核缓存区内为所述多个数据页中的至少两个数据页分配存储空间;以及

为所述至少两个数据页中的每一个数据页生成一个块读取请求。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述在内核缓存区内为所述多个数据页中的至少两个数据页分配存储空间具体包括:根据所述多个数据页的缓存位置,在所述内核缓存区内为所述多个数据页中位于硬盘缓存区的至少两个数据页分配存储空间;

所述为所述至少两个数据页中的每一个数据页生成一个块读取请求具体包括:为所述位于硬盘缓存区的至少两个数据页中的每一个数据页生成一个块读取请求。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:

根据所述多个数据页的缓存位置,将所述多个数据页中位于所述内核缓存区的数据页的数据从所述内核缓存区读取到用户缓存区。

结合第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述通过调度所述IO调度队列中的所述至少两个块读取请求,将所述数据读请求所请求的数据从硬盘缓存区读取到用户缓存区,包括:

依次调度所述IO调度队列中的块读取请求,将每一个块读取请求所请求的数据从所述硬盘缓存区读取到在所述内核缓存区内为所述每一个块读取请求的数据页分配的存储空间,并从所述分配的存储空间读取到用户缓存区。

结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将所述至少两个块读取请求一次性提交至硬盘的IO调度队列后,所述方法还包括:挂起所述用户进程;

所述将所述数据读请求所请求的数据从硬盘缓存区读取到用户缓存区后,所述方法还包括:唤醒所述用户进程。

第二方面,提供一种数据读取装置,所述装置包括:

接收单元,用于接收用户进程提交的数据读请求;

生成单元,用于根据所述接收单元接收到的所述数据读请求生成至少两个块读取请求;

提交单元,用于将所述生成单元生成的所述至少两个块读取请求一次性提交至硬盘的输入输出IO调度队列;

读取单元,用于通过调度所述IO调度队列中的由所述提交单元提交的至少两个块读取请求,将所述数据读请求所请求的数据从硬盘缓存区读取到用户缓存区。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310267802.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top