[发明专利]共享文件的获取方法、装置、电子设备及存储介质有效
申请号: | 202010482053.7 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111680014B | 公开(公告)日: | 2023-06-02 |
发明(设计)人: | 周化锰 | 申请(专利权)人: | 北京五八信息技术有限公司 |
主分类号: | G06F16/176 | 分类号: | G06F16/176;G06F16/172 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 100080 北京市海淀区学清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 共享 文件 获取 方法 装置 电子设备 存储 介质 | ||
本发明公开一种共享文件的获取方法、装置、电子设备及存储介质,主要应用在共享文件较大的情况下。当共享文件较大时,共享文件会被拆分为多个数据段在对象存储设备中保存,每一个数据段也会在元数据服务器中对应一段元信息。本发明方案中,当接收到对于同一个共享文件的多个数据段请求并且请求的元信息包含在预存的元信息中时,客户端可以从预存的元信息中直接获取当前请求的元信息,无需再次从元数据服务器从获取元信息。本发明方案中的客户端,在接收到对于同一个共享文件的多个数据段请求时,能够减少与元数据服务器进行通信的次数,提高获取到完整共享文件数据的效率。
技术领域
本发明涉及软件开发技术领域,尤其涉及共享文件的获取方法、装置、电子设备及存储介质。
背景技术
共享文件存储技术可以将共享文件的元信息保存在元数据服务器(MetadataServer,MDS)上,将共享文件的数据保存在对象存储设备(Object-based Storage Device,OSD)上。当客户端需要读取某一共享文件的数据时,需要先从MDS中获取该文件的元信息,进而根据元信息确定该文件数据的存储位置,即确定存储数据的OSD,最后再从所确定的OSD内读出相应的数据。
当共享文件较大时,共享文件存储技术需要将共享文件的完整数据划分为多个数据段保存到不同的OSD中,再将每一个数据段对应的元信息分别保存进MDS。如果客户端需要获取该文件的完整数据,需要与MDS进行多次通信,从而获取该文件各个数据段的元信息,最后再根据各个元信息分别从OSD中获取到对应的数据段。
然而,当前这种共享文件存储技术中,共享文件越大,其数据段以及数据段对应的元信息就越多,相应地,客户端与MDS通信的次数也越多,客户端获取到完整共享文件数据的效率就越低。
发明内容
本发明提供了一种共享文件的获取方法、装置、电子设备及存储介质,以解决目前共享文件存储技术中,共享文件越大客户端获取到完整共享文件数据的效率就越低的问题。
第一方面,本发明提供了一种共享文件的获取方法,应用于客户端,包括:
获取当前数据请求,所述当前数据请求用于表示客户端需要获取的属于共享文件的目标数据段;
响应于所述当前数据请求,查询本地缓存中的预存元信息是否包含与所述目标数据段对应的目标元信息;所述预存元信息是指属于所述共享文件且已保存在本地缓存中的元信息;
如果所述本地缓存中的所述预存元信息包含所述目标元信息,则从对象存储设备中获取所述目标元信息对应的所述目标数据段。
结合第一方面,在第一方面的一种可实现方式中,所述从对象存储设备中获取所述目标元信息对应的所述目标数据段之后,还包括:
获取响应上一次的历史数据请求时,计算出的历史预读位置;
如果所述历史预读位置处于所述目标数据段内,并且所述目标数据段与上一次历史数据请求所请求的历史数据段的数据内容连续,则确定响应于所述当前数据请求时需要从元数据服务器中获取预存元信息;
获取当前请求次序,所述当前请求次序用于表示响应于当前数据请求时客户端是第几次需要从所述元数据服务器获取预存元信息;
根据所述当前请求次序,计算预存元信息的起始位置和长度;
根据所述预存元信息的起始位置和长度,从所述元数据服务器中所述共享文件对应的完整元信息中获取所述预存元信息;
将所述预存元信息保存在本地缓存中。
结合第一方面,在第一方面的一种可实现方式中,根据如下公式计算所述预存元信息的起始位置和长度:
offset(n)=offset(n-1)+size(n-1),(n≥1),
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010482053.7/2.html,转载请声明来源钻瓜专利网。