[发明专利]一种Linux下针对机械硬盘的预读方法有效

专利信息
申请号: 201110420003.7 申请日: 2011-12-15
公开(公告)号: CN102520884A 公开(公告)日: 2012-06-27
发明(设计)人: 张福新;吴少刚;陈杰 申请(专利权)人: 江苏中科梦兰电子科技有限公司
主分类号: G06F3/06 分类号: G06F3/06
代理公司: 南京苏高专利商标事务所(普通合伙) 32204 代理人: 柏尚春
地址: 215500 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 linux 针对 机械 硬盘 方法
【说明书】:

技术领域

发明涉及一种Linux下针对机械硬盘的预读方法。

背景技术

随着软件越来越复杂化,软件的启动速度也越来越慢,其通常主要因素源自启动时刻软件对磁盘的随机访问。

目前常见的机械硬盘,虽然有着不错的顺序访问性能,然而其随机访问性能却不高。

于是一些预读技术就被提出,来优化软件的启动速度。预读主要是在磁盘空闲间隙,按照磁盘顺序,提前读取接下来要访问的内容。

预读主要包含两个任务——“收集需要预读的文件片断”和“预读文件片断”。

目前在Linux上,已有预读方法如下:

1.收集需要预读的文件片断:在软件启动阶段采用fanotify/inotify系统调用来监视哪些文件被打开。启动完成后,再依次对前述打开过的文件使用mincore系统调用,来获知文件的哪些部分在内存中,在内存中的部分被认为是启动过程中被读取的,从而被记录下来,形成类似“文件路径:区间1,区间2,...”的一条记录。

最后将上述记录按照所在磁盘位置排列,写入到一个文件中。

2.预读文件片断:在软件启动一开始,预读程序根据上点生成的记录文件,逐个打开文件并通过readahead/posix_fadvise系统调用,来指示操作系统内核进行预读。

然而上述预读方法表现并不尽如人意。

首先,预读操作按照了磁盘序,固然提高了磁盘效率,却往往会干扰正常的读访问。例如某软件启动时,依次访问了四个文件片段:a,b,c,d,而其磁盘顺序为d,c,b,a。这样在启动时刻,按照磁盘序预读的d并不是立即需要的,反而与启动的软件竞争磁盘带宽。

其次,预读仅仅涵盖了启动时刻的文件访问,却忽略了对文件系统元数据的访问。在实测中,启动时刻相当一部分磁盘访问对应到了文件系统的元数据。

发明内容

本发明所要解决的技术问题是提供一种Linux下针对机械硬盘的预读方法,该方法可以有效改善机械硬盘上的软件启动速度。

为了解决上述的技术问题,本发明的一种Linux下针对机械硬盘的预读方法,包括步骤:

1)收集需要预读的文件片断。

无缝记录软件正常启动过程中的磁盘读访问。与已有方案相比,记录对象为磁盘块,从而能记录对文件系统元数据的读取;每次读取块的顺序和块号都将被记录。

启动完成后,按照其磁盘块被访问的顺序,写入到预读镜像。与已有方案相比,写入的是预读内容的一个副本,而非引用。

2)预读文件片断。

软件启动时刻,将优先尝试从预读镜像中读取所需块。与已有方案相比,由于预读镜像磁盘块的顺序与访问顺序一致,从而既满足了最大利用机械磁盘特性,又能避免预读非急需内容,干扰正常启动。

3)维持预读镜像的有效性。

定期同步预读镜像中的磁盘块副本。由于软件更新等原因造成的原件更新,将被发现并更新到镜像中的磁盘块副本中。

采用本发明所提出的预读方法,有效地把软件启动时刻的磁盘随机读访问转化为顺序读取,最大利用机械磁盘特性。同时预读顺序与正常访问顺序一致,有效解决了原有预读干扰问题。另外,对于文件系统元数据的读访问,也能进行预读。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1是本发明“收集需要预读的文件片断”任务在软件启动阶段的工作流程图;

图2是本发明“收集需要预读的文件片断”任务在软件启动完成后的工作流程图;

图3是本发明“预读文件片断”任务的工作流程图;

图4是本发明“维持预读镜像的有效性”任务的工作流程图;

具体实施方式

本发明实现使用了Linux内核的LVM子系统,LVM子系统能够将多个磁盘或镜像文件按照不同目标需求,组成一个虚拟的磁盘。

在本发明中,需要为LVM子系统增加一个readahead目标,该目标下,预读镜像与机械磁盘组成一个虚拟的磁盘。readahead目标对预读的三个任务实现如下:

1)收集需要预读的文件片断:在软件启动阶段,对磁盘块的读请求被依次记录到一块内存区域。图1显示了这个工作流。

在启动完成后,通知readahead目标,生成预读镜像。图2显示了这个工作流,即根据先前记录,依次从机械磁盘上读取磁盘块填充到预读镜像。预读镜像是启动时读取的磁盘块集合的一个副本,按照读取的顺序排列。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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