元数据管理组件的缓存管理方法和装置与流程

文档序号:40906262发布日期:2025-02-14 21:18阅读:9来源:国知局
元数据管理组件的缓存管理方法和装置与流程

本公开实施例涉及计算机,具体涉及元数据管理组件的缓存管理方法和装置。


背景技术:

1、目前,针对ceph 提供的分布式文件系统服务(cephfs)的元数据管理组件(mds)的缓存管理中的缓存剔除策略主要是一种静态缓存剔除策略;该种静态缓存剔除策略是在mds的使用缓存超过配置的最大缓存阈值时,按照为客户端配置的每次可以清理的元素数量直接进行缓存剔除。

2、这种静态缓存剔除策略剔除规则比较单一,都是按照预先无差别配置对所有客户端一视同仁,不够灵活,降低了mds的管理能力,且客户体验差。


技术实现思路

1、有鉴于此,本技术提供一种元数据管理组件的缓存管理方法和装置,能够提高元数据管理组件的管理能力,并提高客户体验。

2、为解决上述技术问题,本技术的技术方案是这样实现的:

3、在一个实施例中,提供了一种元数据管理组件的缓存管理方法,所述方法包括:

4、周期监控元数据管理组件的使用缓存;

5、响应于当前监控周期监控到的所述元数据管理组件的使用缓存大于第一缓存阈值,且小于第二缓存阈值,根据当前时间对应的预设时间段内所述元数据管理组件的使用缓存的变化量,以及上一个所述预设时间段内元数据管理组件的使用缓存的变化量计算缓存变化差值;其中,所述第一缓存阈值小于所述第二缓存阈值;

6、基于在当前监控周期计算的所述缓存变化差值,以及最近一个剔除了缓存的监控周期确定的要剔除的总缓存元素数量确定当前监控周期要剔除的总缓存元素数量;

7、根据确定的当前监控周期要剔除的所述总缓存元素数量,以及为每个客户端配置的权重和参考剔除元素数量确定每个客户端要剔除的子缓存元素数量;

8、按照确定的所述每个客户端要剔除的所述子缓存元素数量进行缓存剔除;

9、其中,所述基于在当前监控周期计算的所述缓存变化差值,以及最近一个剔除了缓存的监控周期确定的要剔除的总缓存元素数量确定当前监控周期要剔除的总缓存元素数量,包括:

10、基于当前监控周期计算的所述缓存变化差值与0的比对结果,确定当前监控周期要剔除的总缓存元素数量是最近一个剔除了缓存的监控周期确定的要剔除的总缓存元素数量的n倍;其中,n为0,1或大于1;

11、所述根据确定的当前监控周期要剔除的总缓存元素数量,以及为每个客户端配置的权重和参考剔除元素数量确定每个客户端要剔除的子缓存元素数量,包括:

12、根据确定的当前监控周期要剔除的总缓存元素数量,以及为每个客户端配置的权重确定每个所述客户端预估要剔除的子缓存元素数量;

13、比较每个所述客户端对应的预估要剔除的子缓存元素数量与为每个所述客户端配置的参考剔除元素数量,取值大的缓存元素数量确定为所述客户端对应的实际要剔除的子缓存元素数量。

14、其中,所述响应于当前监控周期监控到的所述元数据管理组件的使用缓存大于第一缓存阈值,且小于第二缓存阈值之后,所述根据当前时间对应的预设时间段内所述元数据管理组件的使用缓存的变化,以及上一个所述预设时间段内元数据管理组件的使用缓存的变化计算当前监控周期对应的缓存变化差值之前,所述方法进一步包括:

15、确定是否存在两个连续预设时间段的缓存;如果是,执行所述根据当前时间对应的预设时间段内所述元数据管理组件的使用缓存的变化,以及上一个所述预设时间段内元数据管理组件的使用缓存的变化计算当前监控周期对应的缓存变化差值步骤;否则,确定为每个客户端配置的参考剔除元素数量为所述客户端要剔除的子缓存元素数量,并按照确定的所述每个客户端要剔除的所述子缓存元素数量进行缓存剔除。

16、其中,所述方法进一步包括:

17、计算一个所述预设时间段内元数据管理组件的使用缓存的变化量,包括:

18、针对预设时间段设置三个子时间段区间,分别为第一子时间段区间、第二子时间段区间和第三子时间段区间;其中,所述第一子时间段区间覆盖所述第二子时间段区间,所述第二子时间段区间覆盖所述第三子时间段区间;

19、分别计算所述三个子时间段区间的每秒缓存变化量;

20、将所述三个子时间段区间的每秒缓存变化量加权求和获得所述预设时间段内元数据管理组件的使用缓存的变化量;

21、所述根据当前时间对应的预设时间段内所述元数据管理组件的使用缓存的变化量,以及上一个所述预设时间段内元数据管理组件的使用缓存的变化量计算缓存变化差值,包括:

22、计算当前时间对应的预设时间段内所述元数据管理组件的使用缓存的变化量;

23、计算上一个所述预设时间段内元数据管理组件的使用缓存的变化量;

24、计算当前时间对应的预设时间段内所述元数据管理组件的使用缓存的变化量与上一个所述预设时间段内元数据管理组件的使用缓存的变化量的差值作为当前监控周期对应的缓存变化差值。

25、其中,所述基于当前监控周期计算的所述缓存变化差值与0的比对结果,确定当前监控周期要剔除的总缓存元素数量为所述最近一个剔除了缓存的监控周期确定的要剔除的总缓存元素数量的n倍;其中,n为0,1或大于1,包括:

26、比较缓存变化差值和0的大小,并确定使用缓存是否处于增长状态;

27、若所述缓存变化差值大于0,则n大于1;

28、若所述缓存变化差值等于0,且使用缓存为增长状态,则n大于1;

29、若所述缓存变化差值等于0,且使用缓存不为增长状态,则n为0;

30、若所述缓存变化差值小于0,则n为1。

31、其中,所述方法进一步包括:

32、在当前监控周期监控到的所述元数据管理组件的使用缓存不小于所述第二缓存阈值时,若收到客户端发送的会话请求,且针对所述客户端配置的执行逻辑为失败,则向发送会话请求的客户端回复由于缓存超限导致操作失败的消息。

33、其中,所述方法进一步包括:

34、在当前监控周期监控到的所述元数据管理组件的使用缓存不小于所述第二缓存阈值时,若收到客户端发送的会话请求,且针对所述客户端配置的执行逻辑为等待,则阻塞所述客户端,并等待预设时间;

35、若预设时间到,且当前所述元数据管理组件的使用缓存不低于所述第二缓存阈值,则向所述客户端回复由于等待超时而导致操作失败的消息;

36、若预设时间内,所述元数据管理组件的使用缓存低于所述第二缓存阈值,则处理所述客户端发送的会话请求,并响应处理结果。

37、其中,所述方法进一步包括:

38、在当前监控周期监控到的所述元数据管理组件的使用缓存不小于所述第二缓存阈值时,若收到客户端发送的会话请求,且针对所述客户端配置的执行逻辑为通过,则跳过缓存通过后端文件处理所述客户端发送的会话请求,并响应处理结果。

39、在另一个实施例中,提供了一种元数据管理组件的缓存管理装置,所述装置包括:

40、监控单元,用于周期监控元数据管理组件的使用缓存;

41、计算单元,用于响应于当前监控周期监控到的所述元数据管理组件的使用缓存大于第一缓存阈值,且小于第二缓存阈值,根据当前时间对应的预设时间段内所述元数据管理组件的使用缓存的变化量,以及上一个所述预设时间段内元数据管理组件的使用缓存的变化量计算缓存变化差值;其中,所述第一缓存阈值小于所述第二缓存阈值;

42、确定单元,用于基于在当前监控周期计算的所述缓存变化差值,以及最近一个剔除了缓存的监控周期确定的要剔除的总缓存元素数量确定当前监控周期要剔除的总缓存元素数量;并根据确定的当前监控周期要剔除的所述总缓存元素数量,以及为每个客户端配置的权重和参考剔除元素数量确定每个客户端要剔除的子缓存元素数量;

43、处理单元,用于按照确定的所述每个客户端要剔除的所述子缓存元素数量进行缓存剔除;

44、其中,所述确定单元,具体用于基于当前监控周期计算的所述缓存变化差值与0的比对结果,确定当前监控周期要剔除的总缓存元素数量是最近一个剔除了缓存的监控周期确定的要剔除的总缓存元素数量的n倍;其中,n为0,1或大于1的值;根据确定的当前监控周期要剔除的总缓存元素数量,以及为每个客户端配置的权重确定每个所述客户端预估要剔除的子缓存元素数量;比较每个所述客户端对应的预估要剔除的子缓存元素数量与为每个所述客户端配置的参考剔除元素数量,取值大的缓存元素数量确定为所述客户端对应的实际要剔除的子缓存元素数量。

45、在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现元数据管理组件的缓存管理方法。

46、在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现元数据管理组件的缓存管理方法。

47、由上面的技术方案可见,上述实施例中通过周期监控mds的使用缓存,确定需要进行缓存剔除时,根据连续两个预设时间段内的使用缓存的变化量,以及最近一个剔除了缓存的监控周期确定的要剔除的总缓存元素数量确定当前监控周期要剔除的总缓存元素数量;再根据确定的总缓存元素数量,以及为每个客户端配置的权重和参考剔除元素数量确定每个客户端要剔除的子缓存元素数量,并按照确定的每个客户端要剔除的所述子缓存元素数量进行缓存剔除。该方案在确定当前监控周期针对每个客户端要剔除的子缓存元素数量时考虑了两个连续的预设时间段的缓存变化量、最近一个剔除了缓存的监控周期要剔除的总缓存元素数量,以及为每个客户端配置的权重和参考剔除元素数量进而能够动态、准确、结合每个客户端的情况进行缓存剔除。因此,该方案能够提高元数据管理组件的管理能力,并提高客户体验。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1