System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于分布式文件系统的元数据缓存方法技术方案_技高网

一种基于分布式文件系统的元数据缓存方法技术方案

技术编号:40318677 阅读:9 留言:0更新日期:2024-02-07 21:01
本发明专利技术公开了一种基于分布式文件系统的元数据缓存方法,涉及分布式文件系统技术领域。该基于分布式文件系统的元数据缓存方法,通过内核态VFS模块能直接处理来自应用程序的大多数元数据请求,无需ceph‑fuse进程处理所有的元数据请求,缩短应用程序查询ceph‑fuse文件元数据时的I/O路径、减少内核态与用户态的切换次数,从而减少ceph‑fuse的压力,降低cpu的消耗,提升cephfs分布式文件系统的元数据查询能力,使VFS能直接响应命中缓存的元数据查询请求,缩短了元数据请求的I/O路径,减轻了ceph‑fuse进程的压力,节约了cpu计算资源,提升了ceph文件存储性能。

【技术实现步骤摘要】

本专利技术涉及分布式文件系统,具体为一种基于分布式文件系统的元数据缓存方法


技术介绍

1、ceph文件存储功能cephfs,它的客户端ceph-fuse组件是基于linux fuse实现的用户态文件系统,通常地,运行在用户态的应用程序读写或查找文件时,需要先调用linux操作系统的读写、查找接口,然后由内核态的vfs模块通过/dev/fuse设备与用户态的ceph-fuse组件交互,把读写、查找文件的请求交由ceph-fuse进程处理,ceph-fuse进程从其本身的缓存中或者从ceph的元数据服务器(mds)中获取所要操作的文件元数据,获取成功之后需要再通过/dev/fuse设备把结果返回内核态的vfs模块,再由vfs模块把结果反馈到用户程序,为了提高用户态文件系统的元数据访问性能,linux fuse提供了对文件元数据的缓存功能,即dcache、icache,非分布式的用户态文件系统可以轻易的使用dcache、icache缓存元数据从而提高元数据的访问性能。

2、由于以上的获取数据需要较长的读取i/o路径,使用户程序每次读写、查找文件都需要经过共4次内核态与用户态的切换,这不仅消耗了许多的cpu计算资源,而且严重的影响了cephfs的性能,又由于vfs规范的原因,对某个文件的读写、查询需要先获取该文件元数据信息,如inode号、文件属性,获取该文件的元数据信息需要先获取文件所在目录的元数据信息,获取目录的元数据信息需要获取上一层目录的元数据信息,需要这样层层获取,直到根目录,由于多个ceph-fuse进程会同时持有同一文件的元数据的原因,直接使用dcache、icache缓存文件元数据会导致多个ceph-fuse进程之间元数据不一致的问题,如在ceph-fuse进程a删除test文件后,在ceph-fuse进程b依然可以看到test文件存在。因此分布式文件系统ceph-fuse组件一直无法使用dcache、icache缓存文件元数据以提高文件系统的元数据性能。


技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本专利技术提供了一种基于分布式文件系统的元数据缓存方法,解决了分布式文件系统使用dcache、icache时导致的数据不一致以及应用程序查询ceph-fuse文件元数据时的i/o路径长、内核态与用户态的切换次数较多,ceph-fuse的运行压力大,cpu的消耗高,cephfs分布式文件系统的元数据查询能力差的问题。

3、(二)技术方案

4、为实现以上目的,本专利技术通过以下技术方案予以实现:一种基于分布式文件系统的元数据缓存方法,包括:

5、步骤s1:应用程序发送文件元数据请求至vfs;

6、步骤s2:vfs从cache中查找对应的元数据信息;

7、步骤s3:判断元数据请求是否命中cache中的元数据信息;

8、步骤s4:对s3中的判断结果进行处理;

9、步骤s5:对获取到的文件元数据进行判断是否符合缓存策略;

10、步骤s6:对经过缓存策略处理的数据进行处理;

11、步骤s7:应用程序接收元数据。

12、进一步地,所述步骤s1中,在原有的文件元数据操作请求中,应用程序先通过系统调用将请求转到vfs模块。

13、进一步地,所述步骤s4中,如果元数据请求命中cache中的元数据信息则元数据直接返回给客户端;

14、如果元数据请求没有命中cache中的元数据信息,则通过/dev/fuse将请求转给ceph-fuse进程,并从中获取元数据信息。

15、进一步地,所述步骤s5中缓存策略的判断维度具体为文件类型和文件路径深度,其中同时满足这两个维度的文件视为符合缓存策略。

16、进一步地,所述步骤s5中如果文件元数据符合缓存策略要求,则把元数据缓存在cache中并对其设置失效时间和删除回调函数。

17、进一步地,所述步骤s5中如果文件元数据不符合缓存策略要求,则直接执行步骤s7。

18、进一步地,所述元数据请求没有命中cache中的元数据信息,则通过/dev/fuse将请求转给ceph-fuse进程,并从中获取元数据信息,其中具体的获取方法是从mds中获取,从mds中获取后会同时把元数据缓存在ceph-fuse的cache中。

19、进一步地,所述设置失效时间值在启动ceph-fuse进程时设置。

20、进一步地,所述删除回调函数是为了保持元数据在多个ceph-fuse进程之间的一致性。

21、一种基于分布式文件系统的元数据缓存装置,包括:

22、发送模块:用于应用程序发送文件元数据请求至vfs;

23、查找模块:用于vfs从cache中查找对应的元数据信息;

24、判断模块一:用于判断元数据请求是否命中cache中的元数据信息;

25、处理模块:用于对元数据请求是否命中cache中的元数据信息的判断结果进行处理;

26、判断模块二:用于对获取到的文件元数据进行判断是否符合缓存策略;

27、处理模块二:用于对经过缓存策略处理的数据进行处理;

28、接收模块:用于应用程序接收元数据。

29、(三)有益效果

30、本专利技术具有以下有益效果:

31、该基于分布式文件系统的元数据缓存方法,通过内核态vfs模块能直接处理来自应用程序的大多数元数据请求,无需ceph-fuse进程处理所有的元数据请求,缩短应用程序查询ceph-fuse文件元数据时的i/o路径、减少内核态与用户态的切换次数,从而减少ceph-fuse的压力,降低cpu的消耗,提升cephfs分布式文件系统的元数据查询能力,利用vfs模块的dcache、icache缓存来缓存cephfs文件的元数据,使vfs能直接响应命中缓存的元数据查询请求,缩短了元数据请求的i/o路径,减轻了ceph-fuse进程的压力,节约了cpu计算资源,提升了ceph文件存储性能。

32、当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。

本文档来自技高网...

【技术保护点】

1.一种基于分布式文件系统的元数据缓存方法,其特征在于,包括:

2.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤S1中,在原有的文件元数据操作请求中,应用程序先通过系统调用将请求转到VFS模块。

3.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤S4中,如果元数据请求命中cache中的元数据信息则元数据直接返回给客户端;

4.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤S5中缓存策略的判断维度具体为文件类型和文件路径深度,其中同时满足这两个维度的文件视为符合缓存策略。

5.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤S5中如果文件元数据符合缓存策略要求,则把元数据缓存在cache中并对其设置失效时间和删除回调函数。

6.根据权利要求5所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤S5中如果文件元数据不符合缓存策略要求,则直接执行步骤S7。

7.根据权利要求3所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述元数据请求没有命中cache中的元数据信息,则通过/dev/fuse将请求转给ceph-fuse进程,并从中获取元数据信息,其中具体的获取方法是从mds中获取,从mds中获取后会同时把元数据缓存在ceph-fuse的cache中。

8.根据权利要求5所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述设置失效时间值在启动ceph-fuse进程时设置。

9.根据权利要求5所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述删除回调函数是为了保持元数据在多个ceph-fuse进程之间的一致性。

10.一种基于分布式文件系统的元数据缓存装置,其特征在于,包括:

...

【技术特征摘要】

1.一种基于分布式文件系统的元数据缓存方法,其特征在于,包括:

2.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤s1中,在原有的文件元数据操作请求中,应用程序先通过系统调用将请求转到vfs模块。

3.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤s4中,如果元数据请求命中cache中的元数据信息则元数据直接返回给客户端;

4.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤s5中缓存策略的判断维度具体为文件类型和文件路径深度,其中同时满足这两个维度的文件视为符合缓存策略。

5.根据权利要求1所述的一种基于分布式文件系统的元数据缓存方法,其特征在于:所述步骤s5中如果文件元数据符合缓存策略要求,则把元数据缓存在cache中并对其设置失效时间和删除回调函数。

6.根据权利要...

【专利技术属性】
技术研发人员:谢胜刘宽夏勇段江南黄景平
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1