[发明专利]小文件读加速方法、系统、装置及计算机可读存储介质在审
申请号: | 201710881442.5 | 申请日: | 2017-09-26 |
公开(公告)号: | CN107656701A | 公开(公告)日: | 2018-02-02 |
发明(设计)人: | 方兰春 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 加速 方法 系统 装置 计算机 可读 存储 介质 | ||
技术领域
本发明涉及分布式文件系统技术领域,特别是涉及一种小文件读加速方法。本发明还涉及一种小文件读加速系统、装置及计算机可读存储介质。
背景技术
云计算时代,用户对分布式文件系统的性能要求越来越高,不仅要求快速存储还要求快速读取。考虑到存储容量有效利用率,分布式文件系统在存储数据时通常采用纠删码的冗余规则。具体地,存储数据时根据K+M纠删码冗余规则将对象文件分成K份源数据块,再通过纠删算法计算出M份冗余数据块,然后将这K+M份数据块分别存储到K+M个硬盘上,每份数据块与其所在的硬盘一一对应。读取数据时只需读取K+M份数据块中的任意K份数据块就可以计算出存储的对象文件。
可见,在小文件应用场景中,读取一个小文件的数据时,分布式文件系统后端需要从至少K个硬盘上读取数据,所有的K个硬盘读取完成后再组装成对象数据,从对象数据中获取所需的小文件的数据,降低了小文件的读取速度,影响了分布式文件系统的读性能,使得小文件的读取成为了分布式文件系统的性能瓶颈。
因此如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种小文件读加速方法,加速了小文件的读取速度;本发明的另一目的是提供一种小文件读加速系统、装置及计算机可读存储介质,提高了分布式文件系统的读性能。
为解决上述技术问题,本发明提供了一种小文件读加速方法,应用于分布式文件系统,包括:
在接收到客户端发送的操作请求时,判断所述操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;
如果所述操作是所述读操作且所述缓存中存在完整的所述待操作的对象数据,则直接从所述缓存中读取所述待操作的对象数据;
如果所述操作是所述读操作且所述缓存中不存在完整的所述待操作的对象数据,则从硬盘中读取所述待操作的对象数据;
如果所述操作是所述编辑操作,则根据所述操作请求更新所述缓存。
优选地,所述从硬盘中读取所述待操作的对象数据之后,该方法还包括:
判断所述缓存中是否存在待操作的对象;
当所述缓存中不存在所述待操作的对象时,判断所述缓存是否满足缓存所述待操作的对象的条件;
如果所述缓存满足缓存所述待操作的对象的条件,则将读取到的所述待操作的对象数据保存至所述缓存。
优选地,所述根据所述操作请求更新所述缓存的过程具体为:
判断所述缓存中是否存在待操作的对象;
当所述缓存中存在所述待操作的对象时,判断所述缓存中是否存在部分或者完整的所述待操作的对象数据;
如果所述缓存中存在部分或者完整的所述待操作的对象数据,则根据所述操作请求更新所述缓存中存在的部分或者完整的所述待操作的对象数据;
当所述缓存中不存在所述待操作的对象时,判断所述缓存是否满足缓存所述待操作的对象的条件;
如果所述缓存满足缓存所述待操作的对象的条件,则将所述待操作的对象数据保存至所述缓存,并对所述缓存中保存的所述待操作的对象数据执行所述编辑操作。
优选地,如果所述操作是所述编辑操作,在接收到所述操作请求之后,所述根据所述操作请求更新所述缓存之前或者之后,该方法还包括:
对硬盘中的完整的所述待操作的对象数据执行所述编辑操作。
优选地,所述对硬盘中的完整的所述待操作的对象数据执行所述编辑操作之后,该方法还包括:
将执行完所述编辑操作的完整的所述待操作的对象数据发送至所述客户端。
优选地,如果所述操作是所述读操作,所述读取所述待操作的对象数据之后,该方法还包括:
将读取的所述待操作的对象数据发送至所述客户端。
优选地,当所述缓存中存在完整的所述待操作的对象数据时,所述待操作的对象数据保存在所述缓存中的主放置组。
为解决上述技术问题,本发明还提供了一种小文件读加速系统,应用于分布式文件系统,包括:
判断单元,用于在接收到客户端发送的操作请求时,判断所述操作请求对应的操作是否是读操作或者编辑操作,并判断缓存中是否存在完整的待操作的对象数据;如果所述操作是所述读操作且所述缓存中存在完整的所述待操作的对象数据,则触发第一处理单元,如果所述操作是所述读操作且所述缓存中不存在完整的所述待操作的对象数据,则触发第二处理单元,如果所述操作是所述编辑操作,则触发第三处理单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710881442.5/2.html,转载请声明来源钻瓜专利网。