一种元数据访问方法、装置、设备及可读存储介质制造方法及图纸

技术编号:24091674 阅读:21 留言:0更新日期:2020-05-09 08:21
本申请公开了一种元数据访问方法、装置、设备及可读存储介质。本申请公开的方法包括:若接收到元数据访问请求,则从元数据访问请求中提取逻辑地址;确定逻辑地址对应的目标B+树;在目标B+树中查询逻辑地址对应的目标叶子节点;若元数据访问请求为写请求,则根据元数据访问请求修改目标叶子节点中的逻辑地址对应的键值对,并将修改后的目标叶子节点写入磁盘。本申请可以缓解写放大问题,降低磁盘损耗,提高元数据的访问性能和效率,从而提升整个存储系统的性能和效率。相应地,本申请公开的一种元数据访问装置、设备及可读存储介质,也同样具有上述技术效果。

A metadata access method, device, device and readable storage medium

【技术实现步骤摘要】
一种元数据访问方法、装置、设备及可读存储介质
本申请涉及计算机
,特别涉及一种元数据访问方法、装置、设备及可读存储介质。
技术介绍
在全闪存储系统中,元数据使用B+树的数据结构来管理。目前,B+树中的每个节点(Node)上存储有512个键值对,当一个节点中的任一个键值对发生变化,需要将整个节点上的所有键值对都写盘一次。每个键值对的大小为16B(字节),因此当某一个节点中的任一个键值对发生变化,则需要将16B×512=8KB(千字节)的数据写入磁盘。如此一来,会产生很大的写放大,反复落盘会增加磁盘损耗,元数据的访问性能和效率也较低,因此影响了整个存储系统的性能和效率。因此,如何提高元数据的访问性能和效率,是本领域技术人员需要解决的问题。
技术实现思路
有鉴于此,本申请的目的在于提供一种元数据访问方法、装置、设备及可读存储介质,以提高元数据的访问性能和效率。其具体方案如下:第一方面,本申请提供了一种元数据访问方法,包括:若接收到元数据访问请求,则从所述元数据访问请求中提取逻辑地址;确定所述逻辑地址对应的目标B+树;所述目标B+树中的每个节点上存储的键值对个数小于512;在所述目标B+树中查询所述逻辑地址对应的目标叶子节点;若所述元数据访问请求为写请求,则根据所述元数据访问请求修改所述目标叶子节点中的所述逻辑地址对应的键值对,并将修改后的所述目标叶子节点写入磁盘。优选地,所述确定所述逻辑地址对应的目标B+树,包括:查询所述逻辑地址的前N位;查询所有B+树的标识信息,将标识信息与所述前N位一致的B+树确定为所述目标B+树。优选地,所述在所述目标B+树中查询所述逻辑地址对应的目标叶子节点,包括:遍历所述目标B+树,以查询所述目标叶子节点。优选地,所述在所述目标B+树中查询所述逻辑地址对应的目标叶子节点之前,还包括:判断所述目标B+树中是否存在所述目标叶子节点;若是,则执行所述在所述目标B+树中查询所述逻辑地址对应的目标叶子节点的步骤。优选地,还包括:若所述目标B+树中不存在所述目标叶子节点,则判断所述元数据访问请求的类型;若所述元数据访问请求为写请求,则在所述目标B+树中创建所述目标叶子节点,将所述键值对存储至所述目标叶子节点后,将所述目标叶子节点写入磁盘;所述键值对包括所述逻辑地址和所述逻辑地址对应的物理地址。优选地,还包括:若所述元数据访问请求为读请求,则返回数据不存在的提示消息。优选地,所述在所述目标B+树中查询所述逻辑地址对应的目标叶子节点之后,还包括:若所述元数据访问请求为读请求,则读取所述键值对中的物理地址并返回。第二方面,本申请提供了一种元数据访问装置,包括:提取模块,用于若接收到元数据访问请求,则从所述元数据访问请求中提取逻辑地址;确定模块,用于确定所述逻辑地址对应的目标B+树;所述目标B+树中的每个节点上存储的键值对个数小于512;查询模块,用于在所述目标B+树中查询所述逻辑地址对应的目标叶子节点;修改模块,用于若所述元数据访问请求为写请求,则根据所述元数据访问请求修改所述目标叶子节点中的所述逻辑地址对应的键值对,并将修改后的所述目标叶子节点写入磁盘。第三方面,本申请提供了一种元数据访问设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以实现前述公开的元数据访问方法。第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的元数据访问方法。通过以上方案可知,本申请提供了一种元数据访问方法,包括:若接收到元数据访问请求,则从所述元数据访问请求中提取逻辑地址;确定所述逻辑地址对应的目标B+树;所述目标B+树中的每个节点上存储的键值对个数小于512;在所述目标B+树中查询所述逻辑地址对应的目标叶子节点;若所述元数据访问请求为写请求,则根据所述元数据访问请求修改所述目标叶子节点中的所述逻辑地址对应的键值对,并将修改后的所述目标叶子节点写入磁盘。可见,该方法在接收到元数据访问请求后,从元数据访问请求中提取逻辑地址;然后确定逻辑地址对应的目标B+树;并在目标B+树中查询逻辑地址对应的目标叶子节点;若元数据访问请求为写请求,则根据元数据访问请求修改目标叶子节点中的逻辑地址对应的键值对,并将修改后的目标叶子节点写入磁盘。其中,目标B+树中的每个节点上存储的键值对个数小于512。如此一来,每次将叶子节点写入磁盘时,需要写入的数据量将减小,从而可以缓解写放大问题,降低磁盘损耗,提高元数据的访问性能和效率,从而提升整个存储系统的性能和效率。相应地,本申请提供的一种元数据访问装置、设备及可读存储介质,也同样具有上述技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种元数据访问方法流程图;图2为本申请公开的另一种元数据访问方法流程图;图3为本申请公开的一种B+树示意图;图4为本申请公开的一个卷对应的多个B+树的示意图;图5为本申请公开的一种元数据访问装置示意图;图6为本申请公开的一种元数据访问设备示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,现有技术会产生很大的写放大,反复落盘会增加磁盘损耗,元数据的访问性能和效率也较低,因此影响了整个存储系统的性能和效率。为此,本申请提供了一种元数据访问方案,能够缓解写放大问题,降低磁盘损耗,提高元数据的访问性能和效率,从而提升整个存储系统的性能和效率。参见图1所示,本申请实施例公开了一种元数据访问方法,包括:S101、若接收到元数据访问请求,则从元数据访问请求中提取逻辑地址。S102、确定逻辑地址对应的目标B+树。其中,目标B+树中的每个节点上存储的键值对个数小于512。需要说明的是,B+树中的节点分为叶子节点和非叶子节点。叶子节点上以键值对的形式存储有元数据的逻辑地址和物理地址。非叶子节点上以键值对的形式存储有其下级节点的索引值和下级节点的物理地址。键值对为key-value键值对。在一种具体实施方式中,确定逻辑地址对应的目标B+树,包括:查询逻辑地址的前N位;查询所有B+树的标识信息,将标识信息与前N位一致的B+树确定为目标B+树。在本实施本文档来自技高网...

【技术保护点】
1.一种元数据访问方法,其特征在于,包括:/n若接收到元数据访问请求,则从所述元数据访问请求中提取逻辑地址;/n确定所述逻辑地址对应的目标B+树;所述目标B+树中的每个节点上存储的键值对个数小于512;/n在所述目标B+树中查询所述逻辑地址对应的目标叶子节点;/n若所述元数据访问请求为写请求,则根据所述元数据访问请求修改所述目标叶子节点中的所述逻辑地址对应的键值对,并将修改后的所述目标叶子节点写入磁盘。/n

【技术特征摘要】
1.一种元数据访问方法,其特征在于,包括:
若接收到元数据访问请求,则从所述元数据访问请求中提取逻辑地址;
确定所述逻辑地址对应的目标B+树;所述目标B+树中的每个节点上存储的键值对个数小于512;
在所述目标B+树中查询所述逻辑地址对应的目标叶子节点;
若所述元数据访问请求为写请求,则根据所述元数据访问请求修改所述目标叶子节点中的所述逻辑地址对应的键值对,并将修改后的所述目标叶子节点写入磁盘。


2.根据权利要求1所述的元数据访问方法,其特征在于,所述确定所述逻辑地址对应的目标B+树,包括:
查询所述逻辑地址的前N位;
查询所有B+树的标识信息,将标识信息与所述前N位一致的B+树确定为所述目标B+树。


3.根据权利要求1所述的元数据访问方法,其特征在于,所述在所述目标B+树中查询所述逻辑地址对应的目标叶子节点,包括:
遍历所述目标B+树,以查询所述目标叶子节点。


4.根据权利要求1所述的元数据访问方法,其特征在于,所述在所述目标B+树中查询所述逻辑地址对应的目标叶子节点之前,还包括:
判断所述目标B+树中是否存在所述目标叶子节点;
若是,则执行所述在所述目标B+树中查询所述逻辑地址对应的目标叶子节点的步骤。


5.根据权利要求4所述的元数据访问方法,其特征在于,还包括:
若所述目标B+树中不存在所述目标叶子节点,则判断所述元数据访问请求的类型;
若所述元数据访问请求为写请求,则在所述目标B+树中创...

【专利技术属性】
技术研发人员:刚亚州
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1