一种基于元数据B+树的元数据校验方法及装置与流程

文档序号:20165035发布日期:2020-03-24 21:24阅读:227来源:国知局
一种基于元数据B+树的元数据校验方法及装置与流程

本申请涉及数据存储领域,尤其涉及一种基于元数据b+树的元数据校验方法及装置。



背景技术:

随着存储行业的发展,存储系统对于软件的要求越来越高。其中,对于元数据的校验是存储系统中重要的一环。

元数据是指描述数据的数据,可以理解为数据字典,比一般意义的数据范畴更加广泛的数据,不仅仅是表示数据的类型、名称、值等信息,也进一步提供了数据的上下文信息,比如数据所属域、数据来源等等。在数据存储系统中,元数据是信息存储的基础,是数据的最小单元,在获取存储中所需要的数据时,需要先获取该数据的元数据。

元数据b+树是存储元数据的一种有效方法,其特点在于只利用树形结构上的叶节点存储元数据中的信息,其它节点只存储与元数据信息相关的分类信息,从而可以对元数据信息进行快速有效的检索。为了使元数据b+树存储方式有效进行,针对元数据b+树结构的元数据校验是必不可缺的技术环节。目前仍缺乏一种基于元数据b+树的元数据校验方法。



技术实现要素:

为了解决现有技术存在的上述技术问题,本申请提供了一种基于元数据b+树的元数据校验方法及装置,通过在元数据b+树的各个节点中加入校验字段的方式解决了现有技术中无法针对元数据b+树的结构进行元数据校验的问题。

本申请提供了一种基于元数据b+树的元数据校验方法,包括:

接收元数据查询请求,并从元数据b+树中获取对应的元数据以及所述元数据所在节点的第一校验字段;

从所述元数据所在节点的父节点中获取所述父节点中的第二校验字段;

比较所述第一校验字段与所述第二校验字段是否相同;

根据比较结果判断所述元数据是否有效。

可选的,所述根据比较结果判断所述元数据是否有效包括:

当所述第一校验字段与所述第二校验字段相同时,所述元数据为有效数据;

当所述第一校验字段与所述第二校验字段不同时,所述元数据为无效数据。

可选的,在所述接收元数据查询请求之前进一步包括:

在一颗元数据b+树上的所有节点中添加相同的校验字段。

可选的,所述校验字段包括:

公钥commonkey、树型treetype校验字段。

可选的,在所述根据比较结果判断元数据是否有效之后进一步包括:

当判断所述元数据为有效数据后,向所述元数据查询请求的发起者发送所说元数据对应数据的物理块地址pba,所述pba用于指向所述元数据对应数据的存储地址。

可选的,在所述根据比较结果判断元数据是否有效之后进一步包括:

当判断所述元数据为无效数据后,向元数据查询请求的发起者反馈存储器损坏的信息。

本申请提供了一种基于元数据b+树的元数据校验装置,包括:

查询单元,用于接收元数据查询请求,并从元数据b+树中获取对应的元数据及所述元数据所在节点的第一校验字段;

获取单元,用于从所述元数据所在节点的父节点中获取所述父节点中的第二校验字段;

比较单元,用于比较所述第一校验字段与所述第二校验字段是否相同;

判断单元,用于根据比较结果判断所述元数据是否为有效数据。

可选的,在所述查询单元之前进一步包括:

补增单元,用于向一棵元数据b+树的所有节点中添加相同的校验字段。

可选的,所述校验字段包括:

公钥commonkey、树型treetype校验字段。

可选的,所述判断单元的判断结果包括:

当所述第一校验字段与所述第二校验字段相同时,所述元数据为有效数据;

当所述第一校验字段与所述第二校验字段不同时,所述元数据为无效数据,所述元数据的存储器损坏。

可选的,在所述判断单元后进一步包括:

发送单元,用于当判断所述元数据为有效数据后,将所述元数据对应的数据的pba信息发送给元数据查询请求的发起者;

可选的,在所述判断单元后进一步包括:

反馈单元,用于当判断所述元数据为无效数据后,将存储器损坏的信息反馈给所述元数据查询请求的发起者。

本申请所述方法具有以下优点:

通过在元数据b+树节点中添加校验字段并比较获取的元数据所在节点的校验字段与其父节点的校验字段是否相同,当不相同时,说明两节点中有一个节点校验字段发生变化,证明其节点已损坏,并且所述元数据b+树已经失效,所获得的元数据也不具有有效性,从而可以有效的验证所获取的元数据是否为所在元数据b+树中的有效数据,从而防止由于获取到错误的元数据信息而无法获取所需要的数据信息。

同时,通过对失效元数据信息的反馈,可以及时发现存储器中出现的故障,从而使工作人员可以对存储器进行及时修正。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例一提供的一种基于元数据b+树的元数据校验方法的流程图;

图2为一种元数据b+树结构示意图;

图3为本申请实施例二提供的另一种基于元数据b+树的元数据校验方法的流程图;

图4为本申请实施例三提供的一种基于元数据b+树的元数据校验装置的结构框图;

图5为本申请实施例四提供的另一种基于元数据b+树的元数据校验装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一:

本申请实施例一提供了一种基于元数据b+树的元数据校验方法,下面结合附图具体说明。

参见图1,该图为本申请实施例一提供的机油稀释的解决方法的流程图。

本申请实施例所述方法包括以下步骤:

s101:接收元数据查询请求,并从元数据b+树中获取对应的元数据以及所述元数据所在节点的第一校验字段。

如图2所示,在一棵元数据b+树中具有多个节点,其中只有第2层的叶节点中存储有元数据信息内容,其它节点只存储有与元数据有关的分类信息,可以使用户利用其它节点的分类信息在元数据b+树中索引到需要的元数据信息。

同时,在同一棵元数据b+树中的所有节点中都包含有相同的校验字段,该校验字段包括公钥commonkey、树型treetype校验字段等。

s102:从所述元数据所在节点的父节点中获取所述父节点中的第二校验字段。

元数据所在节点的父节点是指元数据信息所在的叶节点的上级节点。

s103:比较所述第一校验字段与所述第二校验字段是否相同。

由于预设的同一棵元数据b+树中的所有节点中的校验字段相同,因此,可以根据获取到的元数据信息所在叶节点的校验字段与所述叶节点的父节点中的校验字段是否相同来判断所述元数据信息是否有效。

s104:根据比较结果判断所述元数据是否有效。

所述比较结果共有两种:

当所述第一校验字段与所述第二校验字段相同时,所述元数据为有效数据;

当所述第一校验字段与所述第二校验字段不同时,所述元数据为无效数据。同时,当出现校验字段不同时,说明存储器发生了故障,例如生成卷离线事件等。

实施例二:

本申请实施例二提供了另一种基于元数据b+树的元数据校验方法的实施例,下面结合附图具体说明。

参见图3,该图为本申请实施例二提供的另一种基于元数据b+树的元数据校验方法的流程图。

本申请实施例所述方法包括:

s201:在一棵元数据b+树的所有节点中添加相同的校验字段。

添加相同的校验字段的目的是可以根据校验字段是否相同来判断获取的信息是否有效。

s202:接收元数据查询请求,并从所述元数据b+树中获取对应的元数据以及所述元数据所在节点的第一校验字段。

s203:从所述元数据所在节点的父节点中获取所述父节点中的第二校验字段。

s204:比较所述第一校验字段与所述第二校验字段是否相同。

s205:根据比较结果判断所述元数据是否有效。

所述比较结果共有两种:

当所述第一校验字段与所述第二校验字段相同时,所述元数据为有效数据;

当所述第一校验字段与所述第二校验字段不同时,所述元数据为无效数据。同时,当出现校验字段不同时,说明存储器发生了故障,例如生成卷离线事件等。

s206:当判断所述元数据为有效数据时,向元数据查询请求的发起者发送元数据对应数据的pba。

物理区块地址pba中包含有数据存储位置的地址信息,通过pba即可找到相应的数据。

s207:当判断所述元数据为无效数据时,向元数据查询请求的发起者反馈存储器损坏的信息。

当所述第一校验字段与所述第二校验字段不相同时,说明元数据存储器中发生了例如生成卷离线事件等故障事件,此时向元数据查询请求的发起者反馈存储器损坏的信息,以便相关人员对存储器及时修正。

实施例三:

基于上述实施例提供的基于元数据b+树的元数据校验方法,本申请实施例三还提供了一种基于元数据b+树的元数据校验装置,下面结合附图具体说明。

如图4,该图为本实施例提供的一种基于元数据b+树的元数据校验装置的结构框图。

所述结构框图包括:

101:查询单元,用于接收元数据查询请求,并从元数据b+树中获取对应的元数据及所述元数据所在节点的第一校验字段;

102:获取单元,用于从所述元数据所在节点的父节点中获取所述父节点中的第二校验字段;

103:比较单元,用于比较所述第一校验字段与所述第二校验字段是否相同;

104:判断单元,用于根据比较结果判断所述元数据是否为有效数据。

实施例四:

基于上述基于元数据b+树的元数据校验方法,本申请实施例还提供了另一种基于元数据b+树的元数据校验装置,下面结合附图具体说明。

如图5,该图为本申请基于元数据b+树的元数据校验装置的另一实施例的结构框图,包括:

201:补增单元,用于向一棵元数据b+树的所有节点中添加相同的校验字段。

202:查询单元,用于接收元数据查询请求,并从元数据b+树中获取对应的元数据及所述元数据所在节点的第一校验字段;

203:获取单元,用于从所述元数据所在节点的父节点中获取所述父节点中的第二校验字段;

204:比较单元,用于比较所述第一校验字段与所述第二校验字段是否相同;

205:判断单元,用于根据比较结果判断所述元数据是否为有效数据。

206:发送单元,用于当判断所述元数据为有效数据后,将所述元数据对应的数据的pba信息发送给元数据查询请求的发起者。

207:反馈单元,用于当判断所述元数据为无效数据后,将存储器损坏的信息反馈给所述元数据查询请求的发起者。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程可以参考前述方法实施例中的对应过程,在此不再赘述。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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