一种元数据缓存管理方法和装置制造方法及图纸

技术编号:22101737 阅读:16 留言:0更新日期:2019-09-14 03:17
本发明专利技术实施例公开了一种元数据缓存管理方法和装置。元数据服务器接收元数据访问请求,元数据访问请求携带有元数据标识;根据元数据访问请求,从多个元数据缓存队列获取元数据标识对应的目标元数据,多个元数据缓存队列具有不同的优先级;确定目标元数据对应的数据类型;基于数据类型、以及多个元数据缓存队列的优先级,从多个元数据缓存队列中确定目标元数据缓存队列,将目标元数据存入目标元数据缓存队列的队头。以此,在缓存淘汰时先淘汰优先级低的元数据缓存队列,并尽可能地保留访问频繁的元数据,使得进行元数据访问时,访问频繁的元数据可以直接被命中,提高了元数据的缓存命中率,进而提高分布式文件系统的读写效率。

A Metadata Cache Management Method and Device

【技术实现步骤摘要】
一种元数据缓存管理方法和装置
本专利技术涉及分布式存储
,具体涉及一种元数据缓存管理方法和装置。
技术介绍
Cephfs(Cephfilesystem,分布式文件系统)包括元数据服务器(MetadataServer,MDS)、和对象存储设备(Object-basedStorageDevice,OSD),其中,元数据服务器用于管理元数据(如缓存元数据),对象存储设备用于将数据和元数据作为对象存储,也就是说,分布式文件系统采用数据和元数据分离的管理方式。用户可以通过客户端实现对文件的访问,首先通过文件的路径和文件名查找出文件的元数据,然后通过元数据对文件进行读写操作。所以,要对文件操作首先要查找到对应的元数据,故元数据访问的性能直接影响文件系统的读写性能。在对现有技术的研究和实践过程中,本专利技术的专利技术人发现,现有技术中,Cephfs的元数据缓存管理多是基于时间局部性原理,采用通用的单LRU(Leastrecentlyused,最近最少使用)机制管理元数据缓存,这种管理机制存在缓存命中率低的缺陷,导致Cephfs的读写效率差。
技术实现思路
本专利技术实施例提供一种元数据缓存管理方法和装置,旨在提高元数据的缓存命中率,进而提高分布式文件系统的读写效率。本专利技术实施例提供一种元数据缓存管理方法,包括:接收元数据访问请求,所述元数据访问请求携带有元数据标识;根据所述元数据访问请求,从多个元数据缓存队列获取所述元数据标识对应的目标元数据,其中,所述多个元数据缓存队列具有不同的优先级;确定所述目标元数据对应的数据类型;基于所述数据类型、以及所述多个元数据缓存队列的优先级,从所述多个元数据缓存队列中确定目标元数据缓存队列,并将所述目标元数据存入所述目标元数据缓存队列的队头。本专利技术实施例还提供一种元数据缓存管理装置,包括:请求处理单元,用于接收元数据访问请求,所述元数据访问请求携带有元数据标识;元数据查找单元,用于根据所述元数据访问请求,从多个元数据缓存队列获取所述元数据标识对应的目标元数据,其中,所述多个元数据缓存队列具有不同的优先级;类型识别单元,用于确定所述目标元数据对应的数据类型;队列管理单元,用于基于所述数据类型、以及所述多个元数据缓存队列的优先级,从所述多个元数据缓存队列中确定目标元数据缓存队列,并将所述目标元数据存入所述目标元数据缓存队列的队头。本专利技术实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本专利技术实施例所提供的任一元数据缓存管理方法。本专利技术实施例还提供一种元数据服务器,所述元数据服务器包括存储器、处理器及存储在所述存储器上,并可在所述处理器上运行的元数据缓存管理程序,所述元数据缓存管理程序被所述处理器执行时实现本专利技术实施例所提供的任一元数据缓存管理方法。本专利技术实施例提供的元数据缓存管理方案,当接收到元数据访问请求时,获取元数据访问请求中携带的元数据标识,根据元数据访问请求,从多个元数据缓存队列获取元数据标识对应的目标元数据,其中,多个元数据缓存队列具有不同的优先级;确定该目标元数据的数据类型,根据数据类型和各元数据缓存队列的优先级从多个元数据缓存队列中确定出目标元数据缓存队列,并将目标元数据存入目标元数据缓存队列的队头,本专利技术根据对元数据的访问情况,动态调整元数据在元数据缓存队列中的位置,使得在缓存淘汰时,先淘汰优先级低的元数据缓存队列,尽可能地保留访问频繁的元数据,减少从对象存储设备中取回元数据的情况,相对于使用单一LRU队列对多种类型的元数据进行管理的方案而言,本方案进行元数据访问时,访问频繁的元数据具有更高的缓存命中率,进而提高了对元数据访问请求的响应速度,使得分布式文件系统具有较高的读写效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本专利技术实施例提供的元数据缓存管理方法中Cephfs的架构示意图;图1b是本专利技术实施例提供的元数据缓存管理方法的元数据请求流程示意图;图1c是本专利技术实施例提供的元数据缓存管理方法的第一流程示意图;图1d是本专利技术实施例提供的元数据缓存管理方法中一个目录中的元数据关系图;图1e是本专利技术实施例提供的元数据缓存队列的第一种示意图;图1f是本专利技术实施例提供的元数据缓存队列的第二种示意图;图1g是本专利技术实施例提供的元数据缓存队列的第三种示意图;图1h是本专利技术实施例提供的元数据缓存队列的第四种示意图;图2a是本专利技术实施例提供的元数据缓存管理方法的第二流程示意图;图2b是本专利技术实施例提供的元数据缓存队列的第五种示意图;图2c是本专利技术实施例提供的元数据缓存管理方法中的元数据老化示意图;图2d是本专利技术实施例提供的元数据缓存管理方法中脏元数据倒盘示意图;图3是本专利技术实施例提供的元数据缓存管理装置的结构示意图;图4是本专利技术实施例提供的元数据服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本专利技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。本专利技术实施例提供一种元数据缓存管理方法,该元数据缓存管理方法的执行主体可以是本专利技术实施例提供的元数据缓存管理装置,或者集成了该元数据缓存管理装置的元数据服务器,其中该元数据缓存管理装置可以采用硬件或者软件的方式实现。其中,元数据服务器可以是元数据服务器集群中的任一台元数据服务器。本专利技术实施例提出的方法,可以应用于分布式文件系统,如Cephfs。请参阅图1a,图1a是本专利技术实施例提供的元数据缓存管理方法中Cephfs的架构示意图。Cephfs包括集群监视器、元数据服务器集群和对象存储设备集群。对元数据和数据进行分离管理,其中元数据操作由元数据服务器集群管理,数据操作由对象存储设备集群管理,客户端可直接通过对象存储设备执行文件的读写操作。请参阅图1b,图1b是本专利技术实施例提供的元数据缓存管理方法的元数据请求流程示意图。当客户端需要访问对象存储设备中的文件对象时,需要先从元数据服务器中获取该文件对象对应的元数据。例如,客户端向元数据服务器集群中的一元数据服务器发起元数据访问请求。每台元数据服务器中有服务处理模块(server)、元数据缓存模块(MDCache),日志模块(MDLog)以及用于与对象存储设备的交互模块(OSDC)。客户端生成元数据请求后,封装成网络消息发送至元数据服务器,元数据服务器使用服务处理模块接收并处理该请求,然后在元数据的缓存模块中查找请求的目标元数据,如果获取到,则将获取到的元数据发送给客户端,以供客户端根据接收到的元数据访本文档来自技高网...

【技术保护点】
1.一种元数据缓存管理方法,其特征在于,所述方法包括:接收元数据访问请求,所述元数据访问请求携带有元数据标识;根据所述元数据访问请求,从多个元数据缓存队列获取所述元数据标识对应的目标元数据,其中,所述多个元数据缓存队列具有不同的优先级;确定所述目标元数据对应的数据类型;基于所述数据类型、以及所述多个元数据缓存队列的优先级,从所述多个元数据缓存队列中确定目标元数据缓存队列,并将所述目标元数据存入所述目标元数据缓存队列的队头。

【技术特征摘要】
1.一种元数据缓存管理方法,其特征在于,所述方法包括:接收元数据访问请求,所述元数据访问请求携带有元数据标识;根据所述元数据访问请求,从多个元数据缓存队列获取所述元数据标识对应的目标元数据,其中,所述多个元数据缓存队列具有不同的优先级;确定所述目标元数据对应的数据类型;基于所述数据类型、以及所述多个元数据缓存队列的优先级,从所述多个元数据缓存队列中确定目标元数据缓存队列,并将所述目标元数据存入所述目标元数据缓存队列的队头。2.如权利要求1所述的元数据缓存管理方法,其特征在于,所述数据类型包括属主元数据和副本元数据;所述基于所述数据类型、以及所述多个元数据缓存队列的优先级,从所述多个元数据缓存队列中确定目标元数据缓存队列的步骤,包括:当所述目标元数据为属主元数据时,根据所述多个元数据缓存队列的优先级,从存储有属主元数据的元数据缓存队列中确定目标元数据缓存队列;当所述目标元数据为副本元数据时,根据所述多个元数据缓存队列的优先级,从存储有副本元数据的元数据缓存队列中确定目标元数据缓存队列。3.如权利要求2所述的元数据缓存管理方法,其特征在于,所述多个元数据缓存队列分别为属主元数据队列、混合元数据队列和副本元数据队列,所述属主元数据队列存储有属主元数据,所述混合元数据队列存储有属主元数据和副本元数据,所述副本元数据队列存储有副本元数据;所述根据所述多个元数据缓存队列的优先级,从存储有属主元数据的元数据缓存队列中确定目标元数据缓存队列的步骤,包括:将所述属主元数据队列作为所述目标元数据缓存队列,其中,所述属主元数据队列的优先级高于所述混合元数据队列的优先级;所述根据所述多个元数据缓存队列的优先级,从存储有副本元数据的元数据缓存队列中确定目标元数据缓存队列的步骤,包括:将所述混合元数据队列作为所述目标元数据缓存队列,其中,所述混合元数据队列的优先级高于所述副本元数据队列的优先级。4.如权利要求3所述的元数据缓存管理方法,其特征在于,所述根据所述元数据访问请求,从多个元数据缓存队列获取所述元数据标识对应的目标元数据的步骤之后,还包括:当从所述元数据缓存队列中获取不到目标元数据时,从元数据服务器集群中的其它元数据服务器获取目标元数据;当获取到所述目标元数据时,创建所述目标元数据的副本元数据并存入所述副本元数据队列;当获取不到所述目标元数据时,从对象存储设备中获取所述目标元数据,并将获取的目标元数据作为属主元数据,存入所述混合元数据队列。5.如权利要求4所述的元数据缓存管理方法,其特征在于,所述从对象存储设备中获取所述目标元数据的步骤之前,还包括:获取缓存的闲置空间量,以及当前的缓存总容量;判断所述闲置空间量与当前...

【专利技术属性】
技术研发人员:葛凯凯邬沛君
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1