[发明专利]分布式文件系统的小文件预读方法及系统在审
| 申请号: | 201611034542.6 | 申请日: | 2016-11-17 |
| 公开(公告)号: | CN106776759A | 公开(公告)日: | 2017-05-31 |
| 发明(设计)人: | 张端;李雪生 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
| 地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分布式 文件系统 文件 方法 系统 | ||
技术领域
本发明涉及数据读取技术领域,特别涉及一种分布式文件系统的小文件预读方法,还涉及一种分布式文件系统的小文件预读系统。
背景技术
在分布式文件系统中,数据预读是常见的功能,它可以减少IO(数据输入和输出)路径长度,提高对文件的读性能。具体的,在底层存储介质中用户进程读取文件依次只能读取一个文件中的一部分数据,将剩下的一部分数据进行预读,即将剩下的一部分数据缓存至文件系统层面,便于下次读取剩下数据时,并不是从底层存储介质中读取,而是从文件系统层进行读取,加快了数据读取的速度。
海量小文件在一次读取过程中将小文件中的数据全部读取,然而,一次读取通常要读取不止一个小文件,如果读取多个小文件时,上述数据读取方法在小文件读取过程中并没有发挥优势,一次读取进程中,读取剩余小文件仍然需要从底层存储介质中读取,导致海量小文件读取速度变慢。
因此,如何提高海量小文件的预读速度是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种分布式文件系统的小文件预读方法,有效提高海量小文件的预读速度。
为解决上述技术问题,本发明提供一种分布式文件系统的小文件预读方法,包括:
步骤S1:接收用户发起的小文件的读请求;
步骤S2:根据所述预读请求判断文件系统层中是否存在相应的小文件缓存,若否,则执行后续步骤,若是,则执行步骤S4;
步骤S3:读取底层存储介质中的所述小文件及其同目录下后续的小文件,将所述小文件及所述同目录下后续的小文件缓存至所述文件系统层中;
步骤S4:读取所述文件系统层中的所述小文件缓存,并将所述小文件缓存返回至所述用户。
优选的,在上述分布式文件系统的小文件预读方法中,所述步骤S3之前,还包括:
判断所述小文件以及所述同目录下后续的小文件的大小是否超过用户配置的文件大小阈值,若否,则执行所述步骤S3。
优选的,在上述分布式文件系统的小文件预读方法中,所述步骤S3之后,还包括:
步骤S5:判断已缓存至文件系统层中的所述同目录下后续的小文件的数量是否超过用户配置的文件数量阈值,若否,则继续缓存所述同父目录下后续的小文件,若是,则停止缓存。
优选的,在上述分布式文件系统的小文件预读方法中,所述步骤S4之后,还包括:
按照文件在目录中偏移量读取已缓存的所述同父目录下后续的小文件。
优选的,在上述分布式文件系统的小文件预读方法中,所述步骤S4之后,还包括:
按照节点号顺序读取已缓存的所述同父目录下后续的小文件。
本发明还提供一种分布式文件系统的小文件预读系统,包括:
接收模块,用于接收用户发起的小文件的读请求;
第一判断模块,用于判断文件系统层中是否存在相应的小文件缓存;
缓存模块,用于将所述小文件及所述同目录下后续的小文件缓存至所述文件系统层中;
预读模块,用于读取底层存储介质中的所述小文件及其同目录下后续的小文件,读取所述文件系统层中的所述小文件缓存。
优选的,在上述分布式文件系统的小文件预读系统中,还包括:
第二判断模块,用于判断所述小文件以及所述同目录下后续的小文件的大小是否超过用户配置的文件大小阈值。
优选的,在上述分布式文件系统的小文件预读系统中,还包括:
第三判断模块,用于判断已缓存至文件系统层中的所述同目录下后续的小文件的数量是否超过用户配置的文件数量阈值。
优选的,在上述分布式文件系统的小文件预读系统中,所述预读模块包括:
第一预读单元,用于按照在目录中文件偏移量读取已缓存的所述同父目录下后续的小文件。
优选的,在上述分布式文件系统的小文件预读系统中,所述预读模块还包括:
第二预读单元,用于按照节点号顺序读取已缓存的所述同父目录下后续的小文件。
本发明所提供一种分布式文件系统的小文件预读方法,步骤S1:接收用户发起的小文件的读请求;步骤S2:判断文件系统层中是否存在相应的小文件缓存,若否,则执行后续步骤,若是,则执行步骤S4;步骤S3:读取底层存储介质中的所述小文件及其同目录下后续的小文件,将所述小文件及所述同目录下后续的小文件缓存至所述文件系统层中;步骤S4:读取所述文件系统层中的所述小文件缓存,并将所述小文件缓存返回至所述用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611034542.6/2.html,转载请声明来源钻瓜专利网。





