System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,尤其涉及一种基于分布式文件系统的文件缓存方法、装置、终端及介质。
技术介绍
1、目前,绝大部分的网络速度都达不到本机硬盘的速度,因此就会出现网络延时。目前为了减小网络延时对文件存储造成的影响,基本都是通过缓存的方式。存储系统有两个指标,一个就是带宽,一个是iops(一秒钟能处理客户端的请求的个数)。在实际应用时,当对文件进行缓存时,这个文件是处于客户端的缓存里面,并没有存到集群里面去,而如果另一个客户端想去读取这个文件,此时该客户端是不知道文件的位置,从而影响文件的读取,降低了客户端之间的数据交互效率。
2、因此,现有技术还有待改进和提高。
技术实现思路
1、本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于分布式文件系统的文件缓存方法、装置、终端及介质,旨在解决现有技术在对文件进行缓存时,文件读取不便以及客户端之间的数据交互效率低的问题。
2、为了解决上述技术问题,本专利技术所采用的技术方案如下:
3、第一方面,本专利技术提供一种基于分布式文件系统的文件缓存方法,其中,所述方法包括:
4、接收第一客户端的第一请求信息,并确定所述第一请求信息所对应的文件标志位信息,其中,所述第一客户端用于缓存目标文件,所述第一请求信息用于请求集群中的元数据服务器,以将所述文件标志位信息发送至所述元数据服务器;
5、基于所述文件标志位信息,确定所述目标文件在所述第一客户端的缓存位置;
6
7、在一种实现方式中,所述确定所述第一请求信息所对应的文件标志位信息,包括:
8、基于所述第一请求信息,确定所述第一客户端的第一请求意图;
9、若所述第一请求意图为通知意图,则基于所述通知意图,获取所述第一请求信息中与所述通知意图对应的索引信息,并基于所述索引信息得到所述文件标志位信息,其中,所述索引信息用于指引所述目标文件。
10、在一种实现方式中,所述基于所述第一请求信息,确定所述第一客户端的第一请求意图,包括:
11、对所述第一请求信息进行解析,得到解析内容;
12、对所述解析内容进行文件头信息筛查,若所述解析内容中存在文件头信息时,则确实所述第一请求意图是通知意图,所述通知意图用于将所述文件头信息通知至所述元数据服务器。
13、在一种实现方式中,所述若所述第一请求意图为通知意图,则基于所述通知意图,获取所述第一请求信息中与所述通知意图对应的索引信息,并基于所述索引信息得到所述文件标志位信息,包括:
14、获取所述第一客户端中的文件存储目录信息,所述文件存储目录信息用于反映文件存储的位置编码与文件头信息之间的映射关系;
15、将所述文件存储目录信息与所述通知意图对应的所述文件头信息进行匹配,确定所述文件头信息所指向的位置编码信息,所述位置编码信息用于反映所述目标文件在所述第一客户端的位置;
16、基于所述位置编码信息,生成所述索引信息,并将所述索引信息作为所述文件标志位信息。
17、在一种实现方式中,所述基于所述文件标志位信息,确定所述目标文件在所述第一客户端的缓存位置,包括:
18、基于所述文件标志位信息,确定所述文件标志位信息所对应的文件存储路径信息;
19、基于所述文件存储路径信息,确定文件存储路径信息中的最终存储节点,并基于所述最终存储节点确定所述缓存位置,其中,所述第一客户端中的每个存储节点与唯一的一个缓存位置对应。
20、在一种实现方式中,所述基于所述第二请求信息引导所述第二客户端从所述缓存位置中读取所述目标文件,包括:
21、基于所述第二请求信息,确定所述第二请求信息所对应的第二请求意图;
22、若所述第二请求意图为读取意图,则获取所述缓存位置中的所有文件,并基于所述元数据服务器接收到的文件头信息确定所述目标文件,并对所述目标文件进行读取。
23、在一种实现方式中,所述方法包括:
24、若所述第一客户端中的文件缓存数达到阈值后,则获取所述集群中的空对象文件;
25、控制所述第一客户端将待缓存的文件覆盖所述集群中的空对象文件,以完成文件缓存。
26、第二方面,本专利技术实施例还提供一种基于分布式文件系统的文件缓存装置,其中,所述装置包括:
27、标志位确定模块,用于接收第一客户端的第一请求信息,并确定所述第一请求信息所对应的文件标志位信息,其中,所述第一客户端用于缓存目标文件,所述第一请求信息用于请求集群中的元数据服务器,以将所述文件标志位信息发送至所述元数据服务器;
28、缓存位置确定模块,用于基于所述文件标志位信息,确定所述目标文件在所述第一客户端的缓存位置;
29、文件读取模块,用于接收第二客户端的第二请求信息,并基于所述第二请求信息引导所述第二客户端从所述缓存位置中读取所述目标文件。
30、第三方面,本专利技术实施例还提供一种终端,其中,所述终端包括存储器、处理器及存储在存储器中并可在处理器上运行的基于分布式文件系统的文件缓存程序,处理器执行基于分布式文件系统的文件缓存程序时,实现上述方案中任一项的基于分布式文件系统的文件缓存方法的步骤。
31、第四方面,本专利技术实施例还提供一种计算机可读存储介质,其中,计算机可读存储介质上存储有基于分布式文件系统的文件缓存程序,所述基于分布式文件系统的文件缓存程序被处理器执行时,实现上述方案中任一项所述的基于分布式文件系统的文件缓存方法的步骤。
32、有益效果:与现有技术相比,本专利技术提供了一种基于分布式文件系统的文件缓存方法,本专利技术首先接收第一客户端的第一请求信息,并确定所述第一请求信息所对应的文件标志位信息,其中,所述第一客户端用于缓存目标文件,所述第一请求信息用于请求集群中的元数据服务器,以将所述文件标志位信息发送至所述元数据服务器。然后,基于所述文件标志位信息,确定所述目标文件在所述第一客户端的缓存位置。最后,接收第二客户端的第二请求信息,并基于所述第二请求信息引导所述第二客户端从所述缓存位置中读取所述目标文件。本专利技术可实现对存储在客户端的中文件进行高效读取,解决因网络延时所导致的数据滞后问题,以便实现文件在各个终端之间的交互。
本文档来自技高网...【技术保护点】
1.一种基于分布式文件系统的文件缓存方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于分布式文件系统的文件缓存方法,其特征在于,所述确定所述第一请求信息所对应的文件标志位信息,包括:
3.根据权利要求2所述的基于分布式文件系统的文件缓存方法,其特征在于,所述基于所述第一请求信息,确定所述第一客户端的第一请求意图,包括:
4.根据权利要求3所述的基于分布式文件系统的文件缓存方法,其特征在于,所述若所述第一请求意图为通知意图,则基于所述通知意图,获取所述第一请求信息中与所述通知意图对应的索引信息,并基于所述索引信息得到所述文件标志位信息,包括:
5.根据权利要求1所述的基于分布式文件系统的文件缓存方法,其特征在于,所述基于所述文件标志位信息,确定所述目标文件在所述第一客户端的缓存位置,包括:
6.根据权利要求3所述的基于分布式文件系统的文件缓存方法,其特征在于,所述基于所述第二请求信息引导所述第二客户端从所述缓存位置中读取所述目标文件,包括:
7.根据权利要求1所述的基于分布式文件系统的文件缓存方法,
8.一种基于分布式文件系统的文件缓存装置,其特征在于,所述装置包括:
9.一种终端,其特征在于,所述终端包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于分布式文件系统的文件缓存程序,所述处理器执行基于分布式文件系统的文件缓存程序时,实现如权利要求1-7任一项所述的基于分布式文件系统的文件缓存方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于分布式文件系统的文件缓存程序,所述基于分布式文件系统的文件缓存程序被处理器执行时,实现如权利要求1-7任一项所述的基于分布式文件系统的文件缓存方法的步骤。
...【技术特征摘要】
1.一种基于分布式文件系统的文件缓存方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于分布式文件系统的文件缓存方法,其特征在于,所述确定所述第一请求信息所对应的文件标志位信息,包括:
3.根据权利要求2所述的基于分布式文件系统的文件缓存方法,其特征在于,所述基于所述第一请求信息,确定所述第一客户端的第一请求意图,包括:
4.根据权利要求3所述的基于分布式文件系统的文件缓存方法,其特征在于,所述若所述第一请求意图为通知意图,则基于所述通知意图,获取所述第一请求信息中与所述通知意图对应的索引信息,并基于所述索引信息得到所述文件标志位信息,包括:
5.根据权利要求1所述的基于分布式文件系统的文件缓存方法,其特征在于,所述基于所述文件标志位信息,确定所述目标文件在所述第一客户端的缓存位置,包括:
6.根据权利要求3所述的基于分布式文...
【专利技术属性】
技术研发人员:孟军,郑华,裴来广,
申请(专利权)人:柏科数据技术深圳股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。