一种元数据落盘方法、装置、系统及计算机可读存储介质制造方法及图纸

技术编号:21913622 阅读:55 留言:0更新日期:2019-08-21 12:19
本申请公开了一种元数据落盘方法,包括对内存B+树第一叶子节点中的各元数据对应的磁盘B+树叶子节点进行查询,确定内存B+树与磁盘B+树的连续覆盖区域;对处于同一连续覆盖区域内的所有元数据进行合并处理,获得新叶子节点;若内存B+树第一叶子节点不是终止叶子节点,则获取下一叶子节点的元数据,并返回连续覆盖区域确定的步骤,直至遍历到终止叶子节点;将各新叶子节点的元数据存储至磁盘内,完成元数据落盘;该元数据落盘方法落盘效率较高,可使大规模并发随机访问元数据达到更高的效率。本申请还公开了一种元数据落盘装置、系统及计算机可读存储介质,均具有上述有益效果。

A Metadata Dropping Method, Device, System and Computer Readable Storage Media

【技术实现步骤摘要】
一种元数据落盘方法、装置、系统及计算机可读存储介质
本申请涉及数据存储
,特别涉及一种元数据落盘方法,还涉及一种元数据落盘装置、系统以及计算机可读存储介质。
技术介绍
元数据是指描述数据的数据,不仅表示数据的类型、名称、值等信息,也提供了数据的上下文信息,如数据所属域、数据来源等。在数据存储系统中,元数据是信息存储的基础,是数据的最小单元。在全闪存储中,必然涉及到大量且高并发的数据访问和查询问题,有效的管理元数据,才能增加访问效率。因此,全闪存中元数据的有效管理、落盘保存效率以及避免写放大至关重要,可使大规模并发随机访问元数据达到更高的效率。全闪存元数据一般以B+树的数据结构来组织,其中包括内存B+树和磁盘B+树两部分,当写缓存中内存B+树的元数据达到一定阈值后,需要将其写到盘上,与磁盘B+树进行合并获得新的B+树,进而完成落盘。然而,在现有技术中,上述元数据合并过程是通过B+树插入操作实现,传统的B+树插入操作是逐个插入,即将内存B+树中的元数据逐个插入至磁盘B+树中,当需要落盘的元数据数量较大时,该种落盘方法效率较为低下;进一步,当磁盘B+树中元数据数量较大时,其插入过程则涉及大量的数据查找和拷贝,进一步降低了元数据落盘效率。因此,如何有效提高元数据落盘效率是本领域技术人员亟待解决的问题。
技术实现思路
本申请的目的是提供一种元数据落盘方法,该元数据落盘方法落盘效率较高,可使大规模并发随机访问元数据达到更高的效率;本申请的另一目的是提供一种元数据落盘装置、系统以及计算机可读存储介质,也具有上述有益效果。为解决上述技术问题,本申请提供了一种元数据落盘方法,所述元数据落盘方法包括:当接收到落盘指令时,获取内存B+树第一叶子节点的元数据;对各所述元数据对应的磁盘B+树叶子节点进行查询,确定所述内存B+树与所述磁盘B+树的连续覆盖区域;对处于同一连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得新叶子节点;判断所述内存B+树第一叶子节点是否为内存B+树终止叶子节点;若否,则获取所述内存B+树下一叶子节点的元数据,并返回所述查询与各所述元数据对应的磁盘B+树叶子节点,确定所述内存B+树与所述磁盘B+树的连续覆盖区域的步骤,直至遍历到所述内存B+树终止叶子节点;将各所述新叶子节点的元数据存储至磁盘内,完成元数据落盘。优选的,所述获取内存B+树第一叶子节点的元数据之前,还包括:判断所述磁盘中是否存在所述磁盘B+树;若不存在,则将所述内存B+树存储至所述磁盘,完成元数据落盘;若存在,则执行所述获取内存B+树第一叶子节点的元数据的步骤。优选的,处于所述连续覆盖区域内的所述内存B+树的元数据对应的磁盘B+树叶子节点相同或相邻。优选的,所述对处于所述连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得新叶子节点,包括:通过归并排序算法对处于所述连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得所述新叶子节点。优选的,所述获取所述内存B+树下一叶子节点的元数据之前,还包括:将内存B+树上一叶子节点的元数据对应的磁盘B+树叶子节点删除。优选的,所述将各所述新叶子节点的元数据存储至磁盘内,完成元数据落盘,包括:通过各所述新叶子节点生成新内存B+树;将所述新内存B+树存储至所述磁盘内,完成元数据落盘。优选的,所述完成元数据落盘之后,还包括:删除内存中所述新内存B+树,完成内存释放。为解决上述技术问题,本申请还提供了一种元数据落盘装置,所述元数据落盘装置包括:元数据获取模块,用于当接收到落盘指令时,获取内存B+树第一叶子节点的元数据;连续覆盖区域确定模块,用于对各所述元数据对应的磁盘B+树叶子节点进行查询,确定所述内存B+树与所述磁盘B+树的连续覆盖区域;元数据合并模块,用于对处于同一连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得新叶子节点;终止判断模块,用于判断所述内存B+树第一叶子节点是否为内存B+树终止叶子节点;循环遍历模块,用于若所述内存B+树第一叶子节点不为所述内存B+树终止叶子节点,则获取所述内存B+树下一叶子节点的元数据,并返回所述连续覆盖区域确定模块,直至遍历到所述内存B+树终止叶子节点;元数据落盘模块,用于将各所述新叶子节点的元数据存储至磁盘内,完成元数据落盘。为解决上述技术问题,本申请还提供了一种元数据落盘系统,所述元数据落盘系统包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任意一种元数据落盘方法的步骤。为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种元数据落盘方法的步骤。本申请所提供的一种元数据落盘方法,包括当接收到落盘指令时,获取内存B+树第一叶子节点的元数据;对各所述元数据对应的磁盘B+树叶子节点进行查询,确定所述内存B+树与所述磁盘B+树的连续覆盖区域;对处于同一连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得新叶子节点;判断所述内存B+树第一叶子节点是否为内存B+树终止叶子节点;若否,则获取所述内存B+树下一叶子节点的元数据,并返回所述查询与各所述元数据对应的磁盘B+树叶子节点,确定所述内存B+树与所述磁盘B+树的连续覆盖区域的步骤,直至遍历到所述内存B+树终止叶子节点;将各所述新叶子节点的元数据存储至磁盘内,完成元数据落盘。可见,本申请所提供的元数据落盘方法,基于B+树数据结构的特性,元数据全部存储于B+树的叶子节点上,且为有序排列,由此,即可将内存B+树各个叶子节点中的元数据看做一个有序数列,将磁盘B+树叶子节点中的元数据看做一个有序数列,此时,通过查询并确定两个有序数列的连续覆盖区域,对处于同一连续覆盖区域内的内存元数据和磁盘元数据进行合并处理,从而完成批量元数据的排序并生成获得新的叶子节点,进一步实现数据落盘;相较于现有技术,可有效避免元数据逐个插入造成的落盘效率低下的问题,可使大规模并发随机访问元数据达到更高的效率。本申请所提供的一种元数据落盘装置、系统以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请所提供的一种元数据落盘方法的流程示意图;图2为本申请所提供的一种内存B+树与磁盘B+树的叶子节点对照图;图3为本申请所提供的另一种内存B+树与磁盘B+树的叶子节点对照图;图4为本申请所提供的另一种元数据落盘方法的流程示意图;图5为本申请所提供的一种元数据落盘装置的结构示意图;图6为本申请所提供的一种元数据落盘系统的结构示意图。具体实施方式本申请的核心是提供一种元数据落盘方法,该元数据落盘方法落盘效率较高,可使大规模并发随机访问元数据达到更高的效率;本申请的另一核心是提供一种元数据落盘装置、系统以及计算机可读存储介质,也具有上述本文档来自技高网...

【技术保护点】
1.一种元数据落盘方法,其特征在于,包括:当接收到落盘指令时,获取内存B+树第一叶子节点的元数据;对各所述元数据对应的磁盘B+树叶子节点进行查询,确定所述内存B+树与所述磁盘B+树的连续覆盖区域;对处于同一连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得新叶子节点;判断所述内存B+树第一叶子节点是否为内存B+树终止叶子节点;若否,则获取所述内存B+树下一叶子节点的元数据,并返回所述查询与各所述元数据对应的磁盘B+树叶子节点,确定所述内存B+树与所述磁盘B+树的连续覆盖区域的步骤,直至遍历到所述内存B+树终止叶子节点;将各所述新叶子节点的元数据存储至磁盘内,完成元数据落盘。

【技术特征摘要】
1.一种元数据落盘方法,其特征在于,包括:当接收到落盘指令时,获取内存B+树第一叶子节点的元数据;对各所述元数据对应的磁盘B+树叶子节点进行查询,确定所述内存B+树与所述磁盘B+树的连续覆盖区域;对处于同一连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得新叶子节点;判断所述内存B+树第一叶子节点是否为内存B+树终止叶子节点;若否,则获取所述内存B+树下一叶子节点的元数据,并返回所述查询与各所述元数据对应的磁盘B+树叶子节点,确定所述内存B+树与所述磁盘B+树的连续覆盖区域的步骤,直至遍历到所述内存B+树终止叶子节点;将各所述新叶子节点的元数据存储至磁盘内,完成元数据落盘。2.如权利要求1所述的元数据落盘方法,其特征在于,所述获取内存B+树第一叶子节点的元数据之前,还包括:判断所述磁盘中是否存在所述磁盘B+树;若不存在,则将所述内存B+树存储至所述磁盘,完成元数据落盘;若存在,则执行所述获取内存B+树第一叶子节点的元数据的步骤。3.如权利要求1所述的元数据落盘方法,其特征在于,处于所述连续覆盖区域内的所述内存B+树的元数据对应的磁盘B+树叶子节点相同或相邻。4.如权利要求1至3任意一项所述的元数据落盘方法,其特征在于,所述对处于所述连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得新叶子节点,包括:通过归并排序算法对处于所述连续覆盖区域内的所述内存B+树的元数据和所述磁盘B+树的元数据进行合并处理,获得所述新叶子节点。5.如权利要求4所述的元数据落盘方法,其特征在于,所述获取所述内存B+树下一叶子节点的元数据之前,还包括:将内存B+树...

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

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

1