一种元数据缓存方法、系统、设备以及介质技术方案

技术编号:31512931 阅读:12 留言:0更新日期:2021-12-22 23:54
本发明专利技术公开了一种元数据缓存方法,包括以下步骤:响应于接收到元数据查询请求,根据所述请求中携带的物理地址在哈希表中查询对应的元数据节点;响应于在所述哈希表中无法查询到对应的元数据节点,从底层硬盘中获取对应的元数据节点;根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级;根据所述元数据节点的优先级将所述元数据节点添加到对应级别的LUR队列的头部以及添加到所述哈希表中。本发明专利技术还公开了一种系统、计算机设备以及可读存储介质。本发明专利技术提出的方案可以获得高效的元数据访问和增加并发查询的稳定性、高效性。性。性。

【技术实现步骤摘要】
一种元数据缓存方法、系统、设备以及介质


[0001]本专利技术涉及元数据领域,具体涉及一种元数据缓存方法、系统、设备以及存储介质。

技术介绍

[0002]元数据(Mete data)是指描述数据的数据(data about data),可以理解为比一般意义的数据范畴更加广泛的数据,不仅仅是表示数据的类型、名称、值等信息,也进一步提供了数据的上下文信息,比如数据所属域、数据来源等等。在数据存储系统中,元数据是信息存储的基础,是数据的最小单元。近年来,随着信息技术的发展,产生了海量的数据,但是如何有效地管理和组织这些海量数据已经成为一个突出的问题。对于存储的大量数据,查询分析其中的数据内容和数据含义,才能更加有效的利用数据。在存储系统中元数据的高效组织和管理是解决这一问题的有效手段,能支持系统对数据的管理和维护。简言之,只有有效的管理元数据,数据才能变得更有价值。因此,如何有效的管理元数据和使用元数据,是一个非常值得探讨的问题。海量数据存储,必然涉及到大量且高并发的数据访问和查询问题,有效的管理元数据,才能增加并发访问量和访问效率。因此元数据的查询缓存的有效管理和元数据的缓存替换方法至关重要,可使大规模并发随机访问元数据缓存有更高的命中率。
[0003]全闪存储元数据管理有LP、PL、HP三种映射关系,分别对应LP树、PL树、HP树。LP树是L

P的映射组织,主要作用是卷的逻辑地址LBA到物理池的物理地址PBA的映射,给用户主机读写使用;PL树是P

L的映射组织,主要作用是池的物理地址到卷的逻辑地址的映射,供垃圾回收查询物理地址PBA是否还在使用;HP树是H

P的映射组织,供重删模块使用,H表示数据的指纹值,主要作用是数据指纹到池的物理地址的映射,开启重删功能时,新写的数据首先计算指纹值,然后查询HP映射,如果查询到P表示物理池中有相同数据了,不需再分配物理地址了。
[0004]如图1示出的元数据的缓存在整个查询流程中的功能和位置,数据查询请求要查询数据时,先查询元数据,找到L

>P映射关系,首先访问元数据缓存,如果在缓存中查找到对应的元数据,则直接做元数据校验后返回给查询request,否则去SSD盘上访问元数据,然后返给查询请求,最后查询请求去访问PBA对应的数据;可见元数据的访问效率对于数据读写是非常重要的,元数据的组织结构方法对于元数据的访问效率至关重要。
[0005]由于在全闪存储中,元数据管理更为至关重要,元数据管理主要管理L

P映射、P

L映射、H

P映射关系,由于涉及到大量且高并发、短时延的数据访问,全闪存储元数据通常使用B+树的数据结构来组织,因为内存容量有限,当缓存到达一定阈值时必须淘汰,这就涉及到缓存淘汰策略,传统的淘汰测试都是根据单一的LRU策略淘汰旧的缓存,这样可能会造成缓存命中率无法达到预期。

技术实现思路

[0006]有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种元数据缓存方法,包括以下步骤:响应于接收到元数据查询请求,根据所述请求中携带的物理地址在哈希表中查询对应的元数据节点;响应于在所述哈希表中无法查询到对应的元数据节点,从底层硬盘中获取对应的元数据节点;根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级;根据所述元数据节点的优先级将所述元数据节点添加到对应级别的LUR队列的头部以及添加到所述哈希表中。
[0007]在一些实施例中,还包括:响应于在所述哈希表中查询到对应的元数据节点,根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级;根据所述优先级确定对应级别的LUR队列以将所述对应级别的LUR队列中的元数据节点移动到所述对应级别的LUR队列的头部。
[0008]在一些实施例中,根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级,进一步包括:根据所述元数据节点在所述底层硬盘的B+树结构中的层高确定第一优先级并根据所述元数据节点的类型确定第二优先级;利用所述第一优先级乘以第一预设权重后加上所述第二优先级乘以第二预设权重得到所述元数据节点对应的优先级。
[0009]在一些实施例中,还包括:响应于触发淘汰机制,根据预设规则将若干个LUR队列中的若干个元数据节点删除并将所述哈希表中相应的若干个元数据节点删除。
[0010]在一些实施例中,根据预设规则将若干个LUR队列中的若干个元数据节点删除并将所述哈希表中相应的若干个元数据节点删除,进一步包括:根据LUR队列的优先级确定淘汰若干个元数据节点的所述若干个LUR队列。
[0011]在一些实施例中,根据预设规则将若干个LUR队列中的若干个元数据节点删除并将所述哈希表中相应的若干个元数据节点删除,进一步包括:根据预设因子确定所述若干个LUR队列中待淘汰的若干个元数据节点。
[0012]在一些实施例中,根据预设因子确定所述若干个LUR队列中待淘汰的若干个元数据节点,进一步包括:根据添加时间确定所述若干个LUR队列中待淘汰的若干个元数据节点。
[0013]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种元数据缓存系统,包括:查询模块,配置为响应于接收到元数据查询请求,根据所述请求中携带的物理地址在哈希表中查询对应的元数据节点;获取模块,配置为响应于在所述哈希表中无法查询到对应的元数据节点,从底层
硬盘中获取对应的元数据节点;计算模块,配置为根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级;添加模块,配置为根据所述元数据节点的优先级将所述元数据节点添加到对应级别的LUR队列的头部以及添加到所述哈希表中。
[0014]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种元数据缓存方法的步骤。
[0015]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种元数据缓存方法的步骤。
[0016]本专利技术具有以下有益技术效果之一:本专利技术提出的方案可使得元数据的缓存的有效管理和元数据的缓存替换方法更加的高效,可使大规模并发随机访问元数据缓存有更高的命中率。可以获得高效的元数据访问和增加并发查询的稳定性、高效性。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种元数据缓存方法,其特征在于,包括以下步骤:响应于接收到元数据查询请求,根据所述请求中携带的物理地址在哈希表中查询对应的元数据节点;响应于在所述哈希表中无法查询到对应的元数据节点,从底层硬盘中获取对应的元数据节点;根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级;根据所述元数据节点的优先级将所述元数据节点添加到对应级别的LUR队列的头部以及添加到所述哈希表中。2.如权利要求1所述的方法,其特征在于,还包括:响应于在所述哈希表中查询到对应的元数据节点,根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级;根据所述优先级确定对应级别的LUR队列以将所述对应级别的LUR队列中的元数据节点移动到所述对应级别的LUR队列的头部。3.如权利要求1或2所述的方法,其特征在于,根据所述元数据节点在所述底层硬盘的B+树结构中的层高以及所述元数据节点的类型计算所述元数据节点的优先级,进一步包括:根据所述元数据节点在所述底层硬盘的B+树结构中的层高确定第一优先级并根据所述元数据节点的类型确定第二优先级;利用所述第一优先级乘以第一预设权重后加上所述第二优先级乘以第二预设权重得到所述元数据节点对应的优先级。4.如权利要求1所述的方法,其特征在于,还包括:响应于触发淘汰机制,根据预设规则将若干个LUR队列中的若干个元数据节点删除并将所述哈希表中相应的若干个元数据节点删除。5.如权利要求4所述的方法,其特征在于,根据预设规则将若干个LUR队列中的若干个元数据节点删除并将所述哈希表中相应的若干个...

【专利技术属性】
技术研发人员:刚亚州
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1