[发明专利]一种存储预读方法、装置及存储系统有效
申请号: | 201710585374.8 | 申请日: | 2017-07-18 |
公开(公告)号: | CN107340978B | 公开(公告)日: | 2020-05-26 |
发明(设计)人: | 仇锋利 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 方法 装置 存储系统 | ||
本发明公开了一种存储预读方法、装置及存储系统,包括预先建立用于读取文件的历史的IO请求队列,IO请求包括位置和数据偏移量,IO请求的地址区间为[位置,位置+数据偏移量];获取用于读取文件的当前IO请求;当IO请求队列中不存在历史IO请求的地址区间与当前IO请求的地址区间相交,且,地址区间的末端位置在当前IO请求的地址区间的起始位置之前的且两者的差值数值大于第一阈值,且,地址区间的起始位置在当前IO请求的地址区间的末端位置之后且两者的差值数值大于第一阈值时,不启动预读,否则,启动预读。本申请提高了预读判断的准确性,提升了存储系统读数据的速度,提高了存储系统的性能。
技术领域
本发明涉及存储技术领域,特别是涉及一种存储预读方法、装置及存储系统。
背景技术
随着信息技术的发展,数据量越来越多,据预测,到2020年,全球数据量将膨胀到40000EB,如何存储和处理这些数据是整个IT行业面临的问题。高效的处理大量的数据是一个系统工程,存储系统是系统工程中一个重要的环节。具体的,存储系统包括磁盘,磁盘的读、写速度影响到存储系统的性能,对磁盘中的数据进行预读能够提高存储系统读数据的速度。
现有技术中的预读方案是通过文件系统记录不同应用向同一文件发出的IO请求,IO请求可以用Position读取位置和Length数据偏移量来表示,记作(pos,len),文件系统记录上一次应用的IO请求在文件中的读取位置和数据偏移量,并与本次应用的IO请求在该文件的读取位置进行比较,判断两次应用IO请求在文件中的读取位置是否是连续的,如果是连续的,则启动预读。例如,上一次IO请求为(100,128),即在位置100处开始读取128个字节,本次IO请求为(229,200),即在位置229处开始读取200个字节,则可以认为本次IO请求和上次IO请求是连续的,可以启动预读。
由于现有技术中的预读方案的判断条件过于理想化,而在实际操作中,应用千差万别,因此很难有某个应用的IO请求完全符合现有技术中的算法要求,也即很难有某个应用的IO请求都是连续读数据的,所以表现出来就是预读少,或者甚至根本没有启动预读。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种存储预读方法、装置及存储系统,提高了预读判断的准确性,提升了存储系统读数据的速度,提高了存储系统的性能。
为解决上述技术问题,本发明提供了一种存储预读方法,应用于存储系统,包括:
步骤S11:预先建立用于读取文件的历史的IO请求队列,IO请求包括位置和数据偏移量,所述IO请求的地址区间为[位置,位置+数据偏移量];
步骤S12:获取用于读取所述文件的当前IO请求;
步骤S13:当所述IO请求队列中不存在历史IO请求的地址区间与所述当前IO请求的地址区间相交,且,地址区间的末端位置在所述当前IO请求的地址区间的起始位置之前的且两者的差值数值大于第一阈值,且,地址区间的起始位置在所述当前IO请求的地址区间的末端位置之后且两者的差值数值大于所述第一阈值时,不启动预读,否则,启动预读。
优选地,所述IO请求队列中的历史IO请求为时间上距离当前最近的预设长度的IO请求。
优选地,步骤S13具体为:
当所述IO请求队列中存在历史IO请求的地址区间与所述当前IO请求的地址区间相交时,启动预读。
优选地,步骤S13具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710585374.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种存储虚拟化新型缓存预读实现方法
- 下一篇:物料标签打印系统