[发明专利]一种分布式文件系统文件局部随机预读的方法和设备有效
申请号: | 202010474760.1 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111625503B | 公开(公告)日: | 2022-11-04 |
发明(设计)人: | 王帅阳;李文鹏;张端 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/182 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 文件系统 文件 局部 随机 方法 设备 | ||
本发明提供了一种分布式文件系统文件局部随机预读的方法和设备,该方法包括以下步骤:在文件操作句柄中创建预读结构指针;响应于文件被读取,读取并更新预读结构指针中的信息,并判断读取是否为局部随机读;响应于读取为局部随机读且更新后的信息中的连续读次数大于1且当前读位置大于等于更新后的信息中的预读触发点,进行预读。通过使用本发明的方案,能够提升大文件局部随机读场景预读性能,可以避免小块io对网络磁盘压力,降低大文件局部随机读场景网络、磁盘压力。
技术领域
本领域涉及计算机领域,并且更具体地涉及一种分布式文件系统文件局部随机预读的方法和设备。
背景技术
对于分布式文件系统(对象存储),大文件读IO瓶颈主要在网络和磁盘,而内存性能远远超过网络与磁盘,预读能够屏蔽网络与磁盘低性能短板,提升整体读性能。目前分布式文件存储服务端存在的预读机制,但只有服务端接收顺序IO时才发生,而目前软件并行化处理早已广泛应用,用户顺序读,被协议软件并行转发后,导致存储服务端接收的IO呈现局部随机读特性。目前预读无法实现预期效果。
发明内容
有鉴于此,本发明实施例的目的在于提出一种分布式文件系统文件局部随机预读的方法和设备,通过使用本发明的方法,能够提升大文件局部随机读场景预读性能,可以避免小块io对网络磁盘压力,降低大文件局部随机读场景网络、磁盘压力。
基于上述目的,本发明的实施例的一个方面提供了一种分布式文件系统文件局部随机预读的方法,包括以下步骤:
在文件操作句柄中创建预读结构指针;
响应于文件被读取,读取并更新预读结构指针中的信息,并判断读取是否为局部随机读;
响应于读取为局部随机读且更新后的信息中的连续读次数大于1且当前读位置大于等于更新后的信息中的预读触发点,进行预读。
根据本发明的一个实施例,预读结构指针中的信息包括上次读结束位置、上次预读结束位置、上次预读长度、顺序读次数、顺序读数据量、局部随机读窗口、最大预读长度和预读触发点。
根据本发明的一个实施例,响应于文件被读取,读取并更新预读结构指针中的信息,并判断读取是否为局部随机读包括:
响应于当前读位置和上次读结束位置相同,将顺序读次数加1,顺序读数据量加随机长度;
响应于当前读位置和上次读结束位置不同,判断本次读偏移和上次读结束位置相差的数据量是否在一个随机窗口中;
响应于本次读偏移和上次读结束位置相差的数据量在一个随机窗口中,判断本次读为局部随机读。
根据本发明的一个实施例,还包括:
响应于本次读不是局部随机读,将顺序读次数和顺序读数据量置零。
根据本发明的一个实施例,局部随机读窗口和最大预读长度存储在全局配置中。
本发明的实施例的另一个方面,还提供了一种分布式文件系统文件局部随机预读的设备,设备包括:
创建模块,创建模块配置为在文件操作句柄中创建预读结构指针;
判断模块,判断模块配置为响应于文件被读取,读取并更新预读结构指针中的信息,并判断读取是否为局部随机读;
预读模块,预读模块配置为响应于读取为局部随机读且更新后的信息中的连续读次数大于1且当前读位置大于等于更新后的信息中的预读触发点,进行预读。
根据本发明的一个实施例,预读结构指针中的信息包括上次读结束位置、上次预读结束位置、上次预读长度、顺序读次数、顺序读数据量、局部随机读窗口、最大预读长度和预读触发点。
根据本发明的一个实施例,判断模块还配置为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010474760.1/2.html,转载请声明来源钻瓜专利网。