CN109213699B - 一种元数据管理方法、系统、设备及计算机可读存储介质 - Google Patents
一种元数据管理方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109213699B CN109213699B CN201811109612.9A CN201811109612A CN109213699B CN 109213699 B CN109213699 B CN 109213699B CN 201811109612 A CN201811109612 A CN 201811109612A CN 109213699 B CN109213699 B CN 109213699B
- Authority
- CN
- China
- Prior art keywords
- metadata
- linked list
- target
- lru linked
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000000875 corresponding effect Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
Abstract
本申请公开了一种元数据管理方法、系统、设备及计算机可读存储介质,应用于具有LRU链表的存储系统中,该方法包括:接收客户端发送的对于目标元数据的查询请求;响应查询请求,以并行查询方式在预设元数据表中查询目标元数据;若能查询到目标元数据,则将LRU链表中的目标元数据移至LRU链表的头部,并将目标元数据发送至客户端;其中,预设元数据表与LRU链表相对应,预设元数据表与LRU链表中的元数据信息一致。本申请公开的一种元数据管理方法中,可以以并行方式在预设元数据表中查询目标元数据,与现有技术相比,提高了查询效率。本申请提供的一种元数据管理系统、设备及计算机可读存储介质也解决了相应技术问题。
Description
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种元数据管理方法、系统、设备及计算机可读存储介质。
背景技术
在存储系统中,元数据是描述数据的数据,其不仅仅描述了数据的类型、名称、值等信息,还描述了数据的上下文信息,比如数据所属域、数据来源等。在数据存储系统中,元数据是信息存储的基础,是数据的最小单元。为了对存储系统中的数据进行有效管理,需要对元数据进行有效管理。
现有的一种元数据管理方法是利用LRU(Least Recently Used,最近最少使用)算法来管理元数据,具体的,创建LRU链表,当不在LRU链表中的元数据被访问时,将该元数据插入到LRU链表的头部,当在LRU链表中的元数据被访问时,将该元数据移到LRU链表的头部,当LRU链表存满时,将LRU链表尾部的数据丢弃。
然而,现有的一种元数据管理方法中,在LRU链表中查询元数据时,需要从LRU链表头开始遍历整个LRU链表,耗费时间长,效率低下。
综上所述,如何提高管理元数据的管理效率是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种元数据管理方法,其能在一定程度上解决如何提高管理元数据的管理效率的技术问题。本申请还提供了一种元数据管理系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种元数据管理方法,应用于具有LRU链表的存储系统中,包括:
接收客户端发送的对于目标元数据的查询请求;
响应所述查询请求,以并行查询方式在预设元数据表中查询所述目标元数据;
若能查询到所述目标元数据,则将所述LRU链表中的所述目标元数据移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端;
其中,所述预设元数据表与所述LRU链表相对应,所述预设元数据表与所述LRU链表中的元数据信息一致。
优选的,所述以并行查询方式在预设元数据表中查询所述目标元数据,包括:
以并行查询方式在所述预设元数据表中查询所述目标元数据,所述预设元数据表的类型包括哈希表。
优选的,在所述预设元数据表中查询到所述目标元数据之后,所述将所述LRU链表中的所述目标元数据移至所述LRU链表的头部之前,还包括:
确定所述目标元数据在所述预设元数据表中的位置;
根据元数据在所述预设元数据表中的位置与所述元数据在所述LRU链表中的位置间的对应关系,确定所述目标元数据在所述LRU链表中的位置;
判断所述目标元数据在所述LRU链表中的位置是否为所述LRU链表的头部,若否,则执行所述将LRU链表中的所述目标元数据移至所述LRU链表的头部。
优选的,所述以并行查询方式在预设元数据表中查询所述目标元数据,包括:
根据所述目标元数据在B+树中的节点信息,以并行查询方式在所述预设元数据表中查询所述目标元数据的节点信息对应的元数据信息;
所述若能查询到所述目标元数据,则将所述LRU链表中的所述目标元数据移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端,包括:
若能查询到所述目标元数据的节点信息对应的元数据信息,则将所述LRE链表中的所述目标元数据的节点信息对应的元数据信息移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端;
其中,所述B+树包括存储有所述存储系统中的所述元数据的元数据信息的结构树,所述预设元数据表包括基于所述元数据在所述B+树中的节点信息对应的元数据信息构成的元数据表,所述LRU链表包括基于所述元数据在所述B+树中的节点信息对应的元数据信息构成的链表。
优选的,所述以并行查询方式在预设元数据表中查询所述目标元数据之后,还包括:
若未能查询到所述目标元数据,则在所述存储系统中查询所述目标元数据,并将查询到的所述目标元数据插入到所述LRU链表的头部,同步更新所述预设元数据表。
优选的,所述将所述LRU链表中的所述目标元数据移至所述LRU链表的头部之后,所述并将所述目标元数据发送至所述客户端之前,还包括:
将所述目标元数据的引用次数值加1;
所述并将所述目标元数据发送至所述客户端之后,还包括:
将所述目标元数据的引用次数值减1。
优选的,所述将查询到的所述目标元数据插入到所述LRU链表的头部之后,还包括:
判断所述LRU链表的使用率是否达到预设使用率,若是,则从所述LRU链表的尾部开始,删除预设数量的引用次数值为初始值的元数据,同步更新所述预设元数据表。
一种元数据管理系统,应用于具有LRU链表的存储系统中,包括:
第一接收模块,用于接收客户端发送的对于目标元数据的查询请求;
第一响应模块,用于响应所述查询请求,以并行查询方式在预设元数据表中查询所述目标元数据;
第一执行模块,用于第一响应模块查询到所述目标元数据时,将所述LRU链表中的所述目标元数据移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端;
其中,所述预设元数据表与所述LRU链表相对应,所述预设元数据表与所述LRU链表中的元数据信息一致。
一种元数据管理设备,应用于具有LRU链表的存储系统中,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述的元数据管理方法的步骤。
一种计算机可读存储介质,应用于具有LRU链表的存储系统中,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述的元数据管理方法的步骤。
本申请提供的一种元数据管理方法,应用于具有LRU链表的存储系统中,接收客户端发送的对于目标元数据的查询请求;响应查询请求,以并行查询方式在预设元数据表中查询目标元数据;若能查询到目标元数据,则将LRU链表中的目标元数据移至LRU链表的头部,并将目标元数据发送至客户端;其中,预设元数据表与LRU链表相对应,预设元数据表与LRU链表中的元数据信息一致。本申请提供的一种元数据管理方法中,存储系统中存有LRU链表和预设元数据表,预设元数据表与LRU链表相对应,且预设元数据表与LRU链表中的元数据信息一致,这样当需要查询目标元数据时,可以以并行方式在预设元数据表中查询目标元数据,与现有技术中从链表头开始遍历整个LRU链表来查询目标元数据相比,提高了查询效率,此外,在预设元数据表中查询到目标元数据后,还将LRU链表中的目标元数据移至LRU链表的头部,保证了LRU链表的功能。本申请提供的一种元数据管理系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种元数据管理方法的第一流程图;
图2为本申请实施例提供的一种元数据管理方法的第二流程图;
图3为本申请实施例提供的一种元数据管理方法的数据传输示意图;
图4为本申请实施例提供的一种元数据管理系统的结构示意图;
图5为本申请实施例提供的一种元数据管理设备的结构示意图;
图6为本申请实施例提供的一种元数据管理设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有的一种元数据管理方法是利用LRU(Least Recently Used,最近最少使用)算法来管理元数据,具体的,创建LRU链表,当不在LRU链表中的元数据被访问时,将该元数据插入到LRU链表的头部,当在LRU链表中的元数据被访问时,将该元数据移到LRU链表的头部,当LRU链表存满时,将LRU链表尾部的数据丢弃。然而,现有的一种元数据管理方法中,在LRU链表中查询元数据时,需要从LRU链表的表头开始遍历整个LRU链表,耗费时间长,效率低下。本申请提供的一种元数据管理方法可以提高管理元数据的管理效率。
请参阅图1,图1为本申请实施例提供的一种元数据管理方法的第一流程图。
本申请实施例提供的一种元数据管理方法,应用于具有LRU链表的存储系统中,可以包括如下步骤:
步骤S101:接收客户端发送的对于目标元数据的查询请求。
实际应用中,用户获取存储系统中的目标元数据时,可以通过客户端发送对于目标元数据的查询请求至存储系统,相应的,存储系统接收客户端发送的对于目标元数据的查询请求。
步骤S102:响应查询请求,以并行查询方式在预设元数据表中查询目标元数据。
实际应用中,存储系统在接收客户端发送的对于目标元数据的查询请求后,便可以响应查询请求,并以并行查询方式在预设元数据表中查询目标元数据,不难理解,本申请所涉及的预设元数据表应为支持并行查询的数据表,比如预设元数据表的类型可以为哈希表等。
步骤S103:若能查询到目标元数据,则将LRU链表中的目标元数据移至LRU链表的头部,并将目标元数据发送至客户端;其中,预设元数据表与LRU链表相对应,预设元数据表与LRU链表中的元数据信息一致。
实际应用中,若能查询到目标元数据,便表示在LRU链表中存在目标元数据,此时,可以执行步骤S103。相应的,若未能查询到目标元数据,便表示在LRU链表中不存在目标元数据,也即目标元数据并未被外界查询过,目标元数据仍存在存储系统中,此时可以在存储系统中查询目标元数据,并将查询到的目标元数据插入到所述LRU链表的头部,同步更新预设元数据表。同步更新预设元数据表的过程可以是将目标元数据插入预设元数据表中,或者将目标元数据插入预设元数据表的头部等。
具体应用场景中,为了快速在LRU链表中确定出目标元数据,存储系统在预设元数据表中查询到目标元数据之后,在将LRU链表中的目标元数据移至LRU链表的头部之前,还可以确定目标元数据在预设元数据表中的位置;根据元数据在预设元数据表中的位置与元数据在LRU链表中的位置间的对应关系,确定目标元数据在LRU链表中的位置;判断目标元数据在LRU链表中的位置是否为LRU链表的头部,若否,则执行将LRU链表中的目标元数据移至LRU链表的头部的步骤。根据元数据在预设元数据表中的位置与元数据在LRU链表中的位置间的对应关系可以快速在LRU链表中确定出目标元数据的位置,此外,在确定出目标元数据在LRU链表中的位置后,为了避免将位于LRU链表的头部的目标元数据执行移至LRU链表的头部的无效操作,可以先判断目标元数据在LRU链表中的位置是否为LRU链表的头部,若否,再执行将LRU链表中的目标元数据移至LRU链表的头部的步骤。
具体应用场景中,存储系统为了提高存储元数据的存储效率,以及便于用户对元数据的管理,可以借助B+树存储元数据,相应的,存储系统以并行查询方式在预设元数据表中查询目标元数据的过程可以具体为:根据目标元数据在B+树中的节点信息,以并行查询方式在预设元数据表中查询目标元数据的节点信息对应的元数据信息;相应的,若能查询到目标元数据,则将LRU链表中的目标元数据移至LRU链表的头部,并将目标元数据发送至客户端的步骤可以具体为:若能查询到目标元数据的节点信息对应的元数据信息,则将LRE链表中的目标元数据的节点信息对应的元数据信息移至LRU链表的头部,并将目标元数据发送至客户端;其中,B+树包括存储有存储系统中的元数据的元数据信息的结构树,预设元数据表包括基于元数据在B+树中的节点信息对应的元数据信息构成的元数据表,LRU链表包括基于元数据在B+树中的节点信息对应的元数据信息构成的链表。本申请所涉及的元数据在B+树中的节点信息对应的元数据信息可以为元数据的逻辑块地址、元数据的物理块地址等,此外,以并行查询方式在预设元数据表中查询目标元数据时,还可以借助目标元数据的其他信息来辅助查询目标元数据。
具体应用场景中,目标元数据被外界查询,便表示目标元数据为活跃元数据,而同一时刻下可能存在多个活跃元数据,仅仅判断元数据是否位于LRU链表的头部并不能准确得知活跃元数据的信息,为了便于确定出活跃元数据,存储系统将LRU链表中的目标元数据移至LRU链表的头部之后,存储系统将目标元数据发送至客户端之前,还可以将目标元数据的引用次数值加1;相应的,在将目标元数据发送至客户端之后,还可以将目标元数据的引用次数值减1。使得外界可以根据元数据的引用次数值的变化来判断元数据是否为活跃元数据,假设每个元数据的引用次数值初始为0,则用户可以直接判定引用次数值为1的元数据为活跃元数据,而引用次数值为0的元数据为非活跃元数据。此外,LRU链表的空间有限,其并不能无线存储元数据,所以存储系统在将查询到的目标元数据插入到LRU链表的头部之后,还可以判断LRU链表的使用率是否达到预设使用率,若是,则从LRU链表的尾部开始,删除预设数量的引用次数值为初始值的元数据,同步更新预设元数据表,比如删除预设元数据表中的相应元数据等。
本申请提供的一种元数据管理方法,应用于具有LRU链表的存储系统中,接收客户端发送的对于目标元数据的查询请求;响应查询请求,以并行查询方式在预设元数据表中查询目标元数据;若能查询到目标元数据,则将LRU链表中的目标元数据移至LRU链表的头部,并将目标元数据发送至客户端;其中,预设元数据表与LRU链表相对应,预设元数据表与LRU链表中的元数据信息一致。本申请提供的一种元数据管理方法中,存储系统中存有LRU链表和预设元数据表,预设元数据表与LRU链表相对应,且预设元数据表与LRU链表中的元数据信息一致,这样当需要查询目标元数据时,可以以并行方式在预设元数据表中查询目标元数据,与现有技术中从链表头开始遍历整个LRU链表来查询目标元数据相比,提高了查询效率,此外,在预设元数据表中查询到目标元数据后,还将LRU链表中的目标元数据移至LRU链表的头部,保证了LRU链表的功能。
请参阅图2和图3,图2为本申请实施例提供的一种元数据管理方法的第二流程图,图3为本申请实施例提供的一种元数据管理方法的数据传输示意图。
实际应用中,本申请实施例提供的一种元数据管理方法可以包括以下步骤:
步骤S201:接收客户端发送的对于目标元数据的查询请求。
步骤S202:响应查询请求,根据目标元数据在B+树中的节点信息,以并行查询方式在预设元数据表中查询目标元数据的节点信息对应的元数据信息,预设元数据表的类型包括哈希表。
步骤S203:若能查询到目标元数据的节点信息对应的元数据信息,确定目标元数据在预设元数据表中的位置;B+树包括存储有存储系统中的元数据的元数据信息的结构树。
步骤S204:根据元数据在预设元数据表中的位置与元数据在LRU链表中的位置间的对应关系,确定目标元数据在LRU链表中的位置。
步骤S205:将LRE链表中的目标元数据的节点信息对应的元数据信息移至LRU链表的头部,预设元数据表包括基于元数据在B+树中的节点信息对应的元数据信息构成的元数据表。
步骤S206:将目标元数据的引用次数值加1。
步骤S207:将目标元数据发送至客户端,LRU链表包括基于元数据在B+树中的节点信息对应的元数据信息构成的链表。
步骤S208:将目标元数据的引用次数值减1。
步骤S209:判断LRU链表的使用率是否达到预设使用率,若是,则执行步骤S210。
步骤S210:从LRU链表的尾部开始,删除预设数量的引用次数值为初始值的元数据,同步更新预设元数据表。
本申请还提供了一种元数据管理系统,其具有本申请实施例提供的一种元数据管理方法具有的对应效果。请参阅图4,图4为本申请实施例提供的一种元数据管理系统的结构示意图。
本申请实施例提供的一种元数据管理系统,应用于具有LRU链表的存储系统中,可以包括:
第一接收模块101,用于接收客户端发送的对于目标元数据的查询请求;
第一响应模块102,用于响应查询请求,以并行查询方式在预设元数据表中查询目标元数据;
第一执行模块103,用于第一响应模块查询到目标元数据时,将LRU链表中的目标元数据移至LRU链表的头部,并将目标元数据发送至客户端;
其中,预设元数据表与LRU链表相对应,预设元数据表与LRU链表中的元数据信息一致。
本申请实施例提供的一种元数据管理系统中,第一响应模块可以包括:
第一响应单元,用于以并行查询方式在预设元数据表中查询目标元数据,预设元数据表的类型包括哈希表。
本申请实施例提供的一种元数据管理系统中,还可以包括:
第一确定模块,用于第一响应模块在预设元数据表中查询到目标元数据之后,第一执行模块将LRU链表中的目标元数据移至LRU链表的头部之前,确定目标元数据在预设元数据表中的位置;
第二确定模块,用于根据元数据在预设元数据表中的位置与元数据在LRU链表中的位置间的对应关系,确定目标元数据在LRU链表中的位置;
第一判断模块,用于判断目标元数据在LRU链表中的位置是否为LRU链表的头部,若否,则提示第一执行模块执行将LRU链表中的目标元数据移至LRU链表的头部的步骤。
本申请实施例提供的一种元数据管理系统中,第一响应模块可以包括:
第一查询单元,用于根据目标元数据在B+树中的节点信息,以并行查询方式在预设元数据表中查询目标元数据的节点信息对应的元数据信息;
第一执行模块可以包括:
第一执行单元,用于若第一查询单元能查询到目标元数据的节点信息对应的元数据信息,则将LRE链表中的目标元数据的节点信息对应的元数据信息移至LRU链表的头部,并将目标元数据发送至客户端;
其中,B+树包括存储有存储系统中的元数据的元数据信息的结构树,预设元数据表包括基于元数据在B+树中的节点信息对应的元数据信息构成的元数据表,LRU链表包括基于元数据在B+树中的节点信息对应的元数据信息构成的链表。
本申请实施例提供的一种元数据管理系统中,还可以包括:
第二执行模块,用于第一响应模块以并行查询方式在预设元数据表中查询目标元数据之后,若第一响应模块未能查询到目标元数据,则在存储系统中查询目标元数据,并将查询到的目标元数据插入到LRU链表的头部,同步更新预设元数据表。
本申请实施例提供的一种元数据管理系统中,还可以包括:
第一运算模块,用于第一执行模块将LRU链表中的目标元数据移至LRU链表的头部之后,第一执行模块并将目标元数据发送至客户端之前,将目标元数据的引用次数值加1;
第二运算模块,用于第一执行模块并将目标元数据发送至客户端之后,将目标元数据的引用次数值减1。
本申请实施例提供的一种元数据管理系统中,还可以包括:
第二判断模块,用于第二执行模块将查询到的目标元数据插入到LRU链表的头部之后,判断LRU链表的使用率是否达到预设使用率,若是,则从LRU链表的尾部开始,删除预设数量的引用次数值为初始值的元数据,同步更新预设元数据表。
本申请还提供了一种元数据管理设备及计算机可读存储介质,其均具有本申请实施例提供的一种元数据管理方法具有的对应效果。请参阅图5,图5为本申请实施例提供的一种元数据管理设备的结构示意图。
本申请实施例提供的一种元数据管理设备,应用于具有LRU链表的存储系统中,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行存储器201中存储的计算机程序时实现如下步骤:
接收客户端发送的对于目标元数据的查询请求;
响应查询请求,以并行查询方式在预设元数据表中查询目标元数据;
若能查询到目标元数据,则将LRU链表中的目标元数据移至LRU链表的头部,并将目标元数据发送至客户端;
其中,预设元数据表与LRU链表相对应,预设元数据表与LRU链表中的元数据信息一致。
本申请实施例提供的一种元数据管理设备,应用于具有LRU链表的存储系统中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:以并行查询方式在预设元数据表中查询目标元数据,预设元数据表的类型包括哈希表。
本申请实施例提供的一种元数据管理设备,应用于具有LRU链表的存储系统中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:在预设元数据表中查询到目标元数据之后,将LRU链表中的目标元数据移至LRU链表的头部之前,确定目标元数据在预设元数据表中的位置;根据元数据在预设元数据表中的位置与元数据在LRU链表中的位置间的对应关系,确定目标元数据在LRU链表中的位置;判断目标元数据在LRU链表中的位置是否为LRU链表的头部,若否,则执行将LRU链表中的目标元数据移至LRU链表的头部。
本申请实施例提供的一种元数据管理设备,应用于具有LRU链表的存储系统中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:根据目标元数据在B+树中的节点信息,以并行查询方式在预设元数据表中查询目标元数据的节点信息对应的元数据信息;若能查询到目标元数据的节点信息对应的元数据信息,则将LRE链表中的目标元数据的节点信息对应的元数据信息移至LRU链表的头部,并将目标元数据发送至客户端;其中,B+树包括存储有存储系统中的元数据的元数据信息的结构树,预设元数据表包括基于元数据在B+树中的节点信息对应的元数据信息构成的元数据表,LRU链表包括基于元数据在B+树中的节点信息对应的元数据信息构成的链表。
本申请实施例提供的一种元数据管理设备,应用于具有LRU链表的存储系统中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:以并行查询方式在预设元数据表中查询目标元数据之后,若未能查询到目标元数据,则在存储系统中查询目标元数据,并将查询到的目标元数据插入到LRU链表的头部,同步更新预设元数据表。
本申请实施例提供的一种元数据管理设备,应用于具有LRU链表的存储系统中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:将LRU链表中的目标元数据移至LRU链表的头部之后,并将目标元数据发送至客户端之前,将目标元数据的引用次数值加1;并将目标元数据发送至客户端之后,将目标元数据的引用次数值减1。
本申请实施例提供的一种元数据管理设备,应用于具有LRU链表的存储系统中,包括存储器201和处理器202,存储器201中存储有计算机子程序,处理器202执行存储器201中存储的计算机子程序时具体实现如下步骤:将查询到的目标元数据插入到LRU链表的头部之后,判断LRU链表的使用率是否达到预设使用率,若是,则从LRU链表的尾部开始,删除预设数量的引用次数值为初始值的元数据,同步更新预设元数据表。
请参阅图6,本申请实施例提供的另一种元数据管理设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现元数据管理设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,应用于具有LRU链表的存储系统中,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述的元数据管理方法的步骤。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种元数据管理系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种元数据管理方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种元数据管理方法,其特征在于,应用于具有LRU链表的存储系统中,包括:
接收客户端发送的对于目标元数据的查询请求;
响应所述查询请求,以并行查询方式在预设元数据表中查询所述目标元数据;
若能查询到所述目标元数据,则将所述LRU链表中的所述目标元数据移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端;
其中,所述预设元数据表与所述LRU链表相对应,所述预设元数据表与所述LRU链表中的元数据信息一致;
其中,所述以并行查询方式在预设元数据表中查询所述目标元数据,包括:
根据所述目标元数据在B+树中的节点信息,以并行查询方式在所述预设元数据表中查询所述目标元数据的节点信息对应的元数据信息;
所述若能查询到所述目标元数据,则将所述LRU链表中的所述目标元数据移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端,包括:
若能查询到所述目标元数据的节点信息对应的元数据信息,则将所述LRU 链表中的所述目标元数据的节点信息对应的元数据信息移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端;
其中,所述B+树包括存储有所述存储系统中的所述元数据的元数据信息的结构树,所述预设元数据表包括基于所述元数据在所述B+树中的节点信息对应的元数据信息构成的元数据表,所述LRU链表包括基于所述元数据在所述B+树中的节点信息对应的元数据信息构成的链表。
2.根据权利要求1所述的方法,其特征在于,所述以并行查询方式在预设元数据表中查询所述目标元数据,包括:
以并行查询方式在所述预设元数据表中查询所述目标元数据,所述预设元数据表的类型包括哈希表。
3.根据权利要求1所述的方法,其特征在于,在所述预设元数据表中查询到所述目标元数据之后,所述将所述LRU链表中的所述目标元数据移至所述LRU链表的头部之前,还包括:
确定所述目标元数据在所述预设元数据表中的位置;
根据元数据在所述预设元数据表中的位置与所述元数据在所述LRU链表中的位置间的对应关系,确定所述目标元数据在所述LRU链表中的位置;
判断所述目标元数据在所述LRU链表中的位置是否为所述LRU链表的头部,若否,则执行所述将LRU链表中的所述目标元数据移至所述LRU链表的头部。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述以并行查询方式在预设元数据表中查询所述目标元数据之后,还包括:
若未能查询到所述目标元数据,则在所述存储系统中查询所述目标元数据,并将查询到的所述目标元数据插入到所述LRU链表的头部,同步更新所述预设元数据表。
5.根据权利要求4所述的方法,其特征在于,所述将所述LRU链表中的所述目标元数据移至所述LRU链表的头部之后,所述并将所述目标元数据发送至所述客户端之前,还包括:
将所述目标元数据的引用次数值加1;
所述并将所述目标元数据发送至所述客户端之后,还包括:
将所述目标元数据的引用次数值减1。
6.根据权利要求5所述的方法,其特征在于,所述将查询到的所述目标元数据插入到所述LRU链表的头部之后,还包括:
判断所述LRU链表的使用率是否达到预设使用率,若是,则从所述LRU链表的尾部开始,删除预设数量的引用次数值为初始值的元数据,同步更新所述预设元数据表。
7.一种元数据管理系统,其特征在于,应用于具有LRU链表的存储系统中,包括:
第一接收模块,用于接收客户端发送的对于目标元数据的查询请求;
第一响应模块,用于响应所述查询请求,以并行查询方式在预设元数据表中查询所述目标元数据;
第一执行模块,用于第一响应模块查询到所述目标元数据时,将所述LRU链表中的所述目标元数据移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端;
其中,所述预设元数据表与所述LRU链表相对应,所述预设元数据表与所述LRU链表中的元数据信息一致;
其中,所述第一响应模块包括:
第一查询单元,用于根据所述目标元数据在B+树中的节点信息,以并行查询方式在所述预设元数据表中查询所述目标元数据的节点信息对应的元数据信息;
所述第一执行模块包括:
第一执行单元,用于若所述第一查询单元能查询到所述目标元数据的节点信息对应的元数据信息,则将所述LRU 链表中的所述目标元数据的节点信息对应的元数据信息移至所述LRU链表的头部,并将所述目标元数据发送至所述客户端;
其中,所述B+树包括存储有所述存储系统中的所述元数据的元数据信息的结构树,所述预设元数据表包括基于所述元数据在所述B+树中的节点信息对应的元数据信息构成的元数据表,所述LRU链表包括基于所述元数据在所述B+树中的节点信息对应的元数据信息构成的链表。
8.一种元数据管理设备,其特征在于,应用于具有LRU链表的存储系统中,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的元数据管理方法的步骤。
9.一种计算机可读存储介质,其特征在于,应用于具有LRU链表的存储系统中,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的元数据管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109612.9A CN109213699B (zh) | 2018-09-21 | 2018-09-21 | 一种元数据管理方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811109612.9A CN109213699B (zh) | 2018-09-21 | 2018-09-21 | 一种元数据管理方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109213699A CN109213699A (zh) | 2019-01-15 |
CN109213699B true CN109213699B (zh) | 2021-10-29 |
Family
ID=64985122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811109612.9A Active CN109213699B (zh) | 2018-09-21 | 2018-09-21 | 一种元数据管理方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109213699B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933570B (zh) * | 2019-03-15 | 2020-02-07 | 中山大学 | 一种元数据管理方法、系统及介质 |
CN110032366B (zh) * | 2019-04-19 | 2022-07-22 | 北京奇艺世纪科技有限公司 | 一种代码定位方法及装置 |
CN111143290A (zh) * | 2019-12-27 | 2020-05-12 | 浪潮电子信息产业股份有限公司 | 一种内存管理方法、系统、设备及计算机可读存储介质 |
CN113392152A (zh) * | 2020-03-11 | 2021-09-14 | 伊姆西Ip控股有限责任公司 | 用于更新信息的方法、电子设备和计算机程序产品 |
CN111538703B (zh) * | 2020-03-27 | 2024-01-26 | 中科边缘智慧信息科技(苏州)有限公司 | 一种分布式存储系统 |
CN111880735B (zh) * | 2020-07-24 | 2023-07-14 | 北京浪潮数据技术有限公司 | 一种存储系统中数据迁移方法、装置、设备及存储介质 |
CN112148795B (zh) * | 2020-09-27 | 2021-06-15 | 上海依图网络科技有限公司 | 一种数据处理方法、装置、设备及介质 |
CN114338271A (zh) * | 2021-12-29 | 2022-04-12 | 深圳市元征科技股份有限公司 | 数据处理方法、装置、终端及计算机可读存储介质 |
CN116662019B (zh) * | 2023-07-31 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 请求的分配方法、装置、存储介质及电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541982A (zh) * | 2011-10-25 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种组织和访问元数据文件日志的方法 |
CN104303162A (zh) * | 2012-01-12 | 2015-01-21 | 才智知识产权控股公司(2) | 用于管理缓存接纳的系统和方法 |
US9129033B1 (en) * | 2011-08-31 | 2015-09-08 | Google Inc. | Caching efficiency using a metadata cache |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7930588B2 (en) * | 2009-01-28 | 2011-04-19 | International Business Machines Corporation | Deferred volume metadata invalidation |
-
2018
- 2018-09-21 CN CN201811109612.9A patent/CN109213699B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9129033B1 (en) * | 2011-08-31 | 2015-09-08 | Google Inc. | Caching efficiency using a metadata cache |
CN102541982A (zh) * | 2011-10-25 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种组织和访问元数据文件日志的方法 |
CN104303162A (zh) * | 2012-01-12 | 2015-01-21 | 才智知识产权控股公司(2) | 用于管理缓存接纳的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109213699A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213699B (zh) | 一种元数据管理方法、系统、设备及计算机可读存储介质 | |
US11467975B2 (en) | Data processing method and NVMe storage device | |
WO2018099107A1 (zh) | 一种哈希表管理的方法和装置、计算机存储介质 | |
CN102937980B (zh) | 一种集群数据库数据查询方法 | |
EP3905054B1 (en) | File management method, distributed storage system, and management node | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
EP3564844B1 (en) | Data deduplication method and apparatus | |
JP5792594B2 (ja) | 仮想パーティションを用いたデータベース再分配 | |
US10387044B2 (en) | Deduplication in a distributed storage system | |
US8898677B2 (en) | Data arrangement calculating system, data arrangement calculating method, master unit and data arranging method | |
CN106331148A (zh) | 一种客户端数据读取时的缓存管理方法及其装置 | |
JP2018502373A (ja) | ハードウェアベースの処理を使用する分散型ツリースキャンを行うためのシステム及び方法 | |
US11455117B2 (en) | Data reading method, apparatus, and system, avoiding version rollback issues in distributed system | |
CN103369002A (zh) | 一种资源下载的方法及系统 | |
JP6951846B2 (ja) | 計算機システム及びタスクの割当方法 | |
WO2020215580A1 (zh) | 一种分布式全局数据去重方法和装置 | |
CN111241071A (zh) | 一种数据迁移方法、系统、设备及计算机可读存储介质 | |
CN106250322B (zh) | 一种写数据的方法和装置 | |
CN103077099B (zh) | 一种块级快照系统及基于该系统的用户读写方法 | |
US11683316B2 (en) | Method and device for communication between microservices | |
CN104702508A (zh) | 表项动态更新方法及系统 | |
CN104063377A (zh) | 信息处理方法和使用其的电子设备 | |
CN106549983B (zh) | 一种数据库的访问方法及终端、服务器 | |
JP6189266B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP2018526740A (ja) | モバイル端末のためのデータ記憶方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |