CN109522243A - 一种全闪存储中元数据缓存管理方法、装置及存储介质 - Google Patents
一种全闪存储中元数据缓存管理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109522243A CN109522243A CN201811232296.4A CN201811232296A CN109522243A CN 109522243 A CN109522243 A CN 109522243A CN 201811232296 A CN201811232296 A CN 201811232296A CN 109522243 A CN109522243 A CN 109522243A
- Authority
- CN
- China
- Prior art keywords
- tree
- metadata
- mark
- stored
- storage
- 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.)
- Granted
Links
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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种全闪存储中元数据缓存管理的方法,包括:将读缓存中的元数据以第一B+树的形式进行存储。将第一B+树的缓存容量与第一预设阈值进行比较,若大于第一预设阈值,则判断第一B+树是否有淘汰标志,淘汰标志用于表示第一B+树的根节点被更新。若第一B+树没有淘汰标志,则根据链表存储的元数据的顺序从尾部至头部依次淘汰第一B+树的叶子节点,直至满足读缓存的缓存容量小于第一预设阈值,链表的头部存储第一B+树中最新被请求访问的元数据。若第一B+树有淘汰标志,则淘汰第一B+树。本申请实施例还提供相应的装置以及存储介质。本申请技术方案通过结合B+树的访问特性,提高元数据查找访问的效率和稳定性,提升缓存命中率。
Description
技术领域
本申请涉及计算机存储技术领域,具体涉及一种全闪存储中元数据缓存管理的方法。
背景技术
固态硬盘(Solid State Disk,SSD)是用固态电子存储芯片阵列而制成的硬盘,由于它的存储介质为与非闪存(NAND Flash),因此相比于传统硬盘,具有低功耗、无噪声、抗震动、存储密度大、传输速度快等优点,被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。存储行业发展到今天,硬件越来越标准化,而软件相比于硬件,具有非标准化的优势。因此,通过优化软件栈,以达到与适配SSD盘无缝连接,从而达到性能最大化和安全的最优化。
全闪存储的后端磁盘全部采用SSD硬盘,全闪存储软件栈中有一个重要模块,即元数据管理模块。在数据存储***中,元数据是信息存储的基础,是数据的最小单元。在全闪存储中,必然涉及到大量且高并发的数据访问和查询问题,现有技术中,访问冲突时需要移动大量数据,出现元数据查找效率低下,稳定性差等问题。
发明内容
本申请实施例提供一种全闪存储中元数据缓存管理方法,使得提高元数据查找访问的效率和稳定性。
为达到上述目的,本申请实施例提供如下技术方案:
本申请第一方面提供一种全闪存储中元数据缓存管理方法,可以包括:将读缓存中的元数据以第一B+树的形式进行存储,元数据存储于第一B+树的叶子节点中。将第一B+树的缓存容量与第一预设阈值进行比较,若大于第一预设阈值,则判断第一B+树是否有淘汰标志,淘汰标志用于表示第一B+树的根节点被更新。若第一B+树没有淘汰标志,则根据链表存储的元数据的顺序从尾部至头部依次淘汰第一B+树的叶子节点,直至满足读缓存的缓存容量小于第一预设阈值,链表的头部存储第一B+树中最新被请求访问的元数据。若第一B+树有淘汰标志,则淘汰第一B+树。
可选地,结合上述第一方面,在第一种可能的实现方式中,在将读缓存中的元数据以第一B+树的形式进行存储之前,还可以包括:接收查询请求,查询请求中携带目标元数据。判断读缓存的第一B+树的叶子节点中是否存储有目标元数据。若存储有目标元数据,则将目标元数据存储到链表的头部。
可选地,结合上述第一方面第一种可能的实现方式,在第二种可能的实现方式中,在判断读缓存的第一B+树的叶子节点中是否存储有目标元数据之后,还可以包括:若没有存储目标元数据,则从固态硬盘SSD中获取目标元数据。将从SSD中获取的目标元数据存储到链表的头部并将目标元数据存储到第一B+树的叶子节点中。相应的,若第一B+树没有淘汰标志,可以包括:若从SSD中获取的目标元数据不是根节点,则第一B+树没有淘汰标志。相应的,若第一B+树有淘汰标志,可以包括:若从SSD中获取的目标元数据是根节点,则第一B+树有淘汰标志。
可选地,结合上述第一方面第一种可能的实现方式,在第三种可能的实现方式中,在接收查询请求,查询请求中携带目标元数据之后,还可以包括:查询写缓存中是否存储有目标元数据。若存储有目标元数据,则返回写缓存中的目标元数据。若没有存储目标元数据,则判断读缓存的第一B+树的叶子节点中是否存储有目标元数据。
可选地,结合上述第一方面第三种可能的实现方式,在第四种可能的实现方式中,在查询写缓存中是否存储有目标元数据之前,还可以包括:接收写缓存请求。根据写缓存请求向写缓存中存储元数据,元数据以第二B+树的形式进行存储。
可选地,结合上述第一方面第四种可能的实现方式,在第五种可能的实现方式中,向写缓存中存储元数据,元数据以第二B+树的形式进行存储之后,还可以包括:判断写缓存的缓存容量是否达到第二预设阈值。若达到第二预设阈值,则将第二B+树存储的元数据按照顺序存储到SSD中,顺序为先存储到写缓存中的元数据先存储到SSD中。当将第二B+树的根节点存储到SSD中时,设置第二B+树的根节点所在的树有淘汰标志。
可选地,结合上述第一方面、第一方面第一种至第五种中任意一种可能的实现方式,在第六种可能的实现方式中,若第一B+树有淘汰标志,则淘汰第一B+树,可以包括:若第一B+树有淘汰标志,且第一B+树上具有正在进行的查询任务,则当第一B+树上的查询任务执行结束后,淘汰第一B+树。
本申请第二方面提供一种全闪存储中元数据缓存管理装置,该装置具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
本申请第三方面提供一种全闪存储中元数据缓存管理装置,该装置包括:输入/输出(I/O)接口、处理器和存储器,所述存储器中存储有程序指令;所述处理器用于执行如上述第一方面或第一方面任意一种可能实现方式的全闪存储中元数据缓存管理的方法。
本申请第四方面提供一种计算机可读存储介质,当指令在计算机终端上运行时,使得计算机终端执行如上述第一方面或第一方面任意一种可能实现方式的全闪存储中元数据缓存管理的方法。
本申请第五方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面或第一方面任意一种可能实现方式的全闪存储中元数据缓存管理的方法。
本申请技术方案提供了一种全闪存储中元数据缓存管理方法,将读缓存中的元数据以第一B+树的形式进行存储,当第一B+树的元数据被访问时,则将最新被访问的第一B+树的元数据存储于链表的头部。若第一B+树的缓存容量大于第一预设阈值,且第一B+树没有淘汰标志时,则根据链表存储的元数据的顺序从尾部至头部依次淘汰第一B+树的叶子节点,直至满足读缓存的缓存容量小于第一预设阈值。若第一B+树的缓存容量大于第一预设阈值,且第一B+树有淘汰标志时,则淘汰第一B+树。从而使得当出现大量且高并发的数据访问查询时,无需移动大量数据,提高元数据查找访问的效率和稳定性,提升缓存命中率。
附图说明
图1为本申请实施例中全闪存储中元数据缓存管理方法的一个实施例示意图;
图2为本申请实施例中全闪存储中元数据缓存管理方法的另一个实施例示意图;
图3为本申请实施例中全闪存储中元数据缓存管理方法的另一个实施例示意图;
图4为本申请实施例中全闪存储中元数据缓存管理装置的一个实施例示意图;
图5为为本申请实施例提供的全闪存储中的元数据缓存管理装置的硬件结构的一个示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供一种全闪存储中元数据缓存管理的方法、装置及存储介质,当出现大量且高并发的数据访问查询时,无需移动大量数据,提高元数据查找访问的效率和稳定性。以下分别进行详细说明。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或装置不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
本发明实施例提供一种全闪存储中元数据缓存管理的方法,本发明实施例还提供相应的装置以及存储介质。以下分别进行详细说明。
图1为本申请实施例中全闪存储中元数据缓存管理方法的一个实施例示意图。
如图1所示,本申请实施例提供的全闪存储中元数据缓存管理方法的一实施例包括:
101、将读缓存中的元数据以第一B+树的形式进行存储。
B+树索引具有50%的空间使用率,即非叶子节点作为索引节点,不作为保存数据的节点以及B+树索引具有O(logN)的查找时间复杂度,B+树查找是通过根节点然后逐级往下遍历直到叶子节点,将元数据存储于第一B+树的叶子节点中。B+树有更好的搜索效率,适合组织元数据。
102、将第一B+树的缓存容量与第一预设阈值进行比较。
第一预设值为预先设定的第一B+树的最大缓存容量,可以按照实际应用的需要设定具体的数值,本申请对此不作具体限定。
103、若大于第一预设阈值,则判断第一B+树是否有淘汰标志。
淘汰标志用于表示第一B+树的根节点被更新。
104、若第一B+树没有淘汰标志,则淘汰第一B+树的叶子节点。
若第一B+树没有淘汰标志,则根据链表存储的元数据的顺序从尾部至头部依次淘汰第一B+树的叶子节点,直至满足读缓存的缓存容量小于第一预设阈值,该链表的头部存储第一B+树中最新被请求访问的元数据。比如,读缓存中存储的元数据1被请求访问,则将元数据1存储到该链表的头部,之后读缓存中存储的元数据2被请求访问,则将元数据2存储到该链表的头部,相应的,元数据1向该链表的尾部方向移动,之后读缓存中存储的元数据3被请求访问,则将元数据3存储到该链表的头部,相应的元数据1和元数据2向该链表的尾部方向移动,元数据2相比于元数据1更靠近该链表头部的方向。也就是说,该链表的头部存储第一B+树中最新被请求访问的元数据。若第一B+树没有淘汰标志,则根据链表存储的元数据的顺序从尾部至头部依次淘汰第一B+树的叶子节点,比如,先淘汰元数据1对应的节点,如果依然大于第一预设阈值,则继续淘汰元数据2对应的节点,当该链表满的时候,则直接将尾部数据丢弃。
105、若第一B+树有淘汰标志,则淘汰第一B+树。
本申请实施例根据B+树的特性,当出现大量且高并发的数据访问查询时,无需移动大量数据,提高元数据查找访问的效率和稳定性。
图2为本申请实施例中全闪存储中元数据缓存方法的另一个实施例示意图。
如图2所示,本申请实施例提供的全闪存储中元数据缓存方法的一实施例包括:
201、将读缓存中的元数据以第一B+树的形式进行存储。
202、接收查询请求。
该查询请求中携带目标元数据。
203、判断读缓存的第一B+树的叶子节点中是否存储有目标元数据。
B+树的叶节点中添加哈希变量,当前叶节点链表的数量,对叶节点的所有关键字取值,并记录当前叶节点链表值。使用查询算法时查到至叶节点时可以通过hash值和叶节点链表数目,哈希算法的时间复杂度是0(1),可以很快找到本叶节点中的内容。
204、若存储有目标元数据,则将目标元数据存储到链表的头部。
205、若没有存储目标元数据,则从固态硬盘SSD中获取目标元数据。
将从SSD中获取的目标元数据存储到链表的头部并将目标元数据存储到第一B+树的叶子节点中
206、将第一B+树的缓存容量与第一预设阈值进行比较。
207、若大于第一预设阈值,则判断第一B+树是否有淘汰标志。
若从SSD中获取的目标元数据不是根节点,则第一B+树没有淘汰标志,若从SSD中获取的目标元数据是根节点,则第一B+树有淘汰标志。
208、若第一B+树没有淘汰标志,则淘汰第一B+树的叶子节点。
209、若第一B+树有淘汰标志,则淘汰第一B+树。
本申请实施例中的步骤201、206、208、209可以参阅图1对应的实施例中的步骤101、102、204、205进行理解,此处不再重复赘述。
图3为本申请实施例中全闪存储中元数据缓存方法的另一个实施例示意图。
如图3所示,本申请实施例提供的全闪存储中元数据缓存方法的一实施例包括:
301、接收写缓存请求。
302、根据写缓存请求向写缓存中存储元数据。
写缓存中的元数据以第二B+树的形式进行存储。
303、判断写缓存的缓存容量是否达到第二预设阈值。
304、若达到第二预设阈值,则将第二B+树存储的元数据存储到SSD中。
若达到第二预设阈值,则将第二B+树存储的元数据按顺序存储到SSD中。该顺序为先存储到写缓存中的元数据先存储到SSD中。也就是说,若达到第二预设值时,即若写缓存中的缓存容量已经被填满,则写缓存中先写入的元数据先被写入SSD中,写缓存中后写入的元数据,后被写入SSD中。当将第二B+树的根节点存储到SSD中时,设置第二B+树的根节点所在的树有淘汰标志。
305、接收查询请求。
306、查询写缓存中是否存储有目标元数据。
写缓存是存储有最新的元数据B+树节点,所以优先查询写缓存中是否存储有目标元数据。
307、若存储有目标元数据,则返回写缓存中的目标元数据。
308、若没有存储目标元数据,则判断读缓存的第一B+树的叶子节点中是否存储有目标元数据。
读缓存中的元数据以第一B+树的形式进行存储。
309、若存储有目标元数据,则将目标元数据存储到链表的头部。
310、若没有存储目标元数据,则从固态硬盘SSD中获取目标元数据。
311、将第一B+树的缓存容量与第一预设阈值进行比较。
312、若大于第一预设阈值,则判断第一B+树是否有淘汰标志。
313、若第一B+树没有淘汰标志,则淘汰第一B+树的叶子节点。
314、若第一B+树有淘汰标志,则淘汰第一B+树。
若第一B+树有淘汰标志,且第一B+树上具有正在进行的查询任务,则当所述第一B+树上的查询任务执行结束后,淘汰第一B+树。
本申请实施例中的步骤309至313可以参阅图2对应的实施例中的步骤204至208进行理解,此处不再重复赘述。
上面对本实施例中的全闪存储中元数据缓存管理方法进行了描述,本申请实施例可以根据上述方法示例对全闪存储中元数据缓存管理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面对本实施例中的功能性限定装置进行描述。
如图4所示,本申请实施例中的全闪存储中元数据缓存管理装置一个实施例,包括:
第一存储单元401,用于执行图1对应的实施例中的101,图2对应的实施例中的201。
比较单元402,用于执行图1对应的实施例中的102,图2对应的实施例中的206,图3对应的实施例中的311。
第一判断单元403,用于执行图1对应的实施例中的103,图2对应的实施例中的203,图2对应的实施例中的207,图3对应的实施例中的308,图3对应的实施例中的312。
淘汰单元404,用于执行图1对应的实施例中的104、图1对应的实施例中的105,图2对应的实施例中的208,图2对应的实施例中的209,图3对应的实施例中的313,图3对应的实施例中的314。
可选地,还包括接收单元405,用于执行图2对应的实施例中的202,用于执行图3对应的实施例中的301,图3对应的实施例中的305。
可选地,还包括第一移动单元406,用于执行图2对应的实施例中的204,图3对应的实施例中的309。
可选地,还包括获取单元407,用于执行图2对应的实施例中的205,图3对应的实施例中的310。
可选地,还包括第二存储单元408,用于执行图3对应的实施例中的302。
可选地,还包括第二判断单元409,用于执行图3对应的实施例中的303。
可选地,还包括第二移动单元410,用于执行图3对应的实施例中的304。
可选地,还包括查询单元411,用于执行图3对应的实施例中的306。
可选地,还包括返回单元412,用于执行图3对应的实施例中的307。
上面从模块化功能实体的角度对本发明实施例中的装置进行描述,下面从硬件处理的角度对本实施例中的装置进行描述。
图5是本申请实施例提供的全闪存储中的元数据缓存管理装置50的结构示意图。所述全闪存储中的元数据缓存管理装置50包括处理器501、存储器504和输入输出(I/O)接口503,存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供操作指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器504存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本申请实施例中,在全闪存储中的元数据缓存管理的过程中,通过调用存储器504存储的操作指令(该操作指令可存储在操作***中),将读缓存中的元数据以第一B+树的形式进行存储,元数据存储于第一B+树的叶子节点中。将第一B+树的缓存容量与第一预设阈值进行比较。若大于第一预设阈值,则判断第一B+树是否有淘汰标志,淘汰标志用于表示第一B+树的根节点被更新。若第一B+树没有淘汰标志,则根据链表存储的元数据的顺序从尾部至头部依次淘汰第一B+树的叶子节点,直至满足读缓存的缓存容量小于第一预设阈值,链表的头部存储第一B+树中最新被请求访问的元数据。若第一B+树有淘汰标志,则淘汰第一B+树。
处理器501控制全闪存储中的元数据缓存管理50的操作,处理器501还可以称为CPU。存储器504可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器504的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,全闪存储中的元数据缓存管理装置50的各个组件通过总线***502耦合在一起,其中总线***502除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***502。
上述本申请实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器504,处理器501读取存储器504中的信息,结合其硬件完成上述方法的步骤。
处理器501用于执行上述图1至图3对应的实施例中描述的方法步骤。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专属计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本申请实施例所提供的全闪存储中的元数据缓存管理的方法、全闪存储中的元数据缓存管理装置、以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种全闪存储中元数据缓存管理的方法,其特征在于,包括:
将读缓存中的元数据以第一B+树的形式进行存储,所述元数据存储于所述第一B+树的叶子节点中;
将所述第一B+树的缓存容量与第一预设阈值进行比较;
若大于所述第一预设阈值,则判断所述第一B+树是否有淘汰标志,所述淘汰标志用于表示所述第一B+树的根节点被更新;
若所述第一B+树没有淘汰标志,则根据链表存储的元数据的顺序从尾部至头部依次淘汰所述第一B+树的叶子节点,直至满足所述读缓存的所述缓存容量小于所述第一预设阈值,所述链表的头部存储所述第一B+树中最新被请求访问的元数据;
若所述第一B+树有淘汰标志,则淘汰所述第一B+树。
2.根据权利要求1所述的方法,其特征在于,在所述将读缓存中的元数据以第一B+树的形式进行存储之前,还包括:
接收查询请求,所述查询请求中携带目标元数据;
判断所述读缓存的第一B+树的叶子节点中是否存储有所述目标元数据;
若存储有所述目标元数据,则将所述目标元数据存储到所述链表的头部。
3.根据权利要求2所述的方法,其特征在于,在所述判断所述读缓存的第一B+树的叶子节点中是否存储有所述目标元数据之后,还包括:
若没有存储所述目标元数据,则从固态硬盘SSD中获取所述目标元数据;
将从所述SSD中获取的所述目标元数据存储到链表的头部并将所述目标元数据存储到所述第一B+树的叶子节点中;
相应的,所述若所述第一B+树没有淘汰标志,包括:
若从所述SSD中获取的所述目标元数据不是根节点,则所述第一B+树没有淘汰标志;
相应的,若所述第一B+树有淘汰标志,包括:
若从所述SSD中获取的所述目标元数据是根节点,则所述第一B+树有淘汰标志。
4.根据权利要求2所述的方法,其特征在于,在所述接收查询请求,所述查询请求中携带目标元数据之后,还包括:
查询写缓存中是否存储有所述目标元数据;
若存储有所述目标元数据,则返回所述写缓存中的所述目标元数据;
若没有存储所述目标元数据,则判断所述读缓存的第一B+树的叶子节点中是否存储有所述目标元数据。
5.根据权利要求4所述的方法,其特征在于,在所述查询写缓存中是否存储有所述目标元数据之前,还包括:
接收写缓存请求;
根据所述写缓存请求向写缓存中存储元数据,所述元数据以第二B+树的形式进行存储。
6.根据权利要求5所述的方法,其特征在于,所述向写缓存中存储元数据,所述元数据以第二B+树的形式进行存储之后,还包括:
判断所述写缓存的缓存容量是否达到第二预设阈值;
若达到所述第二预设阈值,则将所述第二B+树存储的所述元数据按照顺序存储到所述SSD中,所述顺序为先存储到写缓存中的元数据先存储到所述SSD中;
当将所述第二B+树的根节点存储到所述SSD中时,设置所述第二B+树的所述根节点所在的树有淘汰标志。
7.根据权利要求1至6任一所述的方法,其特征在于,所述若所述第一B+树有淘汰标志,则淘汰所述第一B+树,包括:
若所述第一B+树有所述淘汰标志,且所述第一B+树上具有正在进行的查询任务,则当所述第一B+树上的所述查询任务执行结束后,淘汰所述第一B+树。
8.一种全闪存储中元数据缓存管理装置,其特征在于,包括:
第一存储单元,用于将读缓存中的元数据以第一B+树的形式进行存储,所述元数据存储于所述第一B+树的叶子节点中;
比较单元,用于将所述第一存储单元存储的所述第一B+树的缓存容量与第一预设阈值进行比较;
第一判断单元,用于若所述比较单元判断大于所述第一预设阈值,则判断所述第一B+树是否有淘汰标志,所述淘汰标志用于表示所述第一B+树的根节点被更新;
淘汰单元,用于若所述第一判断单元判断所述第一B+树没有淘汰标志,则根据链表存储的元数据的顺序从尾部至头部依次淘汰所述第一B+树的叶子节点,直至满足所述读缓存的所述缓存容量小于所述第一预设阈值,所述链表的头部存储所述第一B+树中最新被请求访问的元数据,若所述第一B+树有淘汰标志,则淘汰所述第一B+树。
9.一种全闪存储中元数据缓存管理装置,其特征在于,所述装置包括:处理器和存储器,所述存储器中存储有程序指令,所述处理器用于执行所述存储器中存储的程序指令,执行如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,当所述指令在计算机装置上运行时,使得所述计算机装置执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811232296.4A CN109522243B (zh) | 2018-10-22 | 2018-10-22 | 一种全闪存储中元数据缓存管理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811232296.4A CN109522243B (zh) | 2018-10-22 | 2018-10-22 | 一种全闪存储中元数据缓存管理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522243A true CN109522243A (zh) | 2019-03-26 |
CN109522243B CN109522243B (zh) | 2021-11-19 |
Family
ID=65772252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811232296.4A Active CN109522243B (zh) | 2018-10-22 | 2018-10-22 | 一种全闪存储中元数据缓存管理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522243B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992708A (zh) * | 2019-04-12 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种元数据查询的方法、装置、设备以及存储介质 |
CN110287160A (zh) * | 2019-05-31 | 2019-09-27 | 广东睿江云计算股份有限公司 | 一种缓存空间清理方法及装置 |
CN110413228A (zh) * | 2019-07-09 | 2019-11-05 | 江苏芯盛智能科技有限公司 | 一种映射表管理方法、***及电子设备和存储介质 |
CN110795042A (zh) * | 2019-10-29 | 2020-02-14 | 北京浪潮数据技术有限公司 | 一种全闪存储***元数据写缓存刷盘方法及相关组件 |
CN110928493A (zh) * | 2019-10-31 | 2020-03-27 | 苏州浪潮智能科技有限公司 | 一种元数据模块及元数据模块处理方法 |
CN111881064A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种全闪存储***中访问请求的处理方法、装置及设备 |
CN112416946A (zh) * | 2020-12-09 | 2021-02-26 | 深圳市优必选科技股份有限公司 | 播放内容管理方法、装置、设备和介质 |
CN113742131A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN114356241A (zh) * | 2021-12-28 | 2022-04-15 | 天翼云科技有限公司 | 小对象数据的存储方法、装置、电子设备和可读介质 |
CN116303586A (zh) * | 2022-12-09 | 2023-06-23 | 中电云数智科技有限公司 | 一种基于多级b+tree的元数据缓存淘汰方法 |
CN117573043A (zh) * | 2024-01-17 | 2024-02-20 | 济南浪潮数据技术有限公司 | 分布式存储数据的传输方法、装置、***、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
CN106227677A (zh) * | 2016-07-20 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种变长缓存元数据管理的方法 |
EP3109764A1 (en) * | 2015-06-23 | 2016-12-28 | Zaklady Urzadzen Komputerowych "ELZAB" S.A. | Flash file system |
CN108242126A (zh) * | 2018-03-20 | 2018-07-03 | 四川大学 | 一种可主动探测和识别危险并警报的智能可穿戴设备 |
US20180260136A1 (en) * | 2017-03-07 | 2018-09-13 | Samsung Electronics Co., Ltd. | SSD with heterogeneous NVM types |
CN108647151A (zh) * | 2018-04-26 | 2018-10-12 | 郑州云海信息技术有限公司 | 一种全闪***元数据落盘方法、装置、设备及存储介质 |
CN112362043A (zh) * | 2020-10-30 | 2021-02-12 | 维沃移动通信有限公司 | 导航方法、装置及电子设备 |
-
2018
- 2018-10-22 CN CN201811232296.4A patent/CN109522243B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092775A (zh) * | 2013-01-31 | 2013-05-08 | 武汉大学 | 一种基于键值结构的空间数据双缓存方法及机制 |
EP3109764A1 (en) * | 2015-06-23 | 2016-12-28 | Zaklady Urzadzen Komputerowych "ELZAB" S.A. | Flash file system |
CN106227677A (zh) * | 2016-07-20 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种变长缓存元数据管理的方法 |
US20180260136A1 (en) * | 2017-03-07 | 2018-09-13 | Samsung Electronics Co., Ltd. | SSD with heterogeneous NVM types |
CN108242126A (zh) * | 2018-03-20 | 2018-07-03 | 四川大学 | 一种可主动探测和识别危险并警报的智能可穿戴设备 |
CN108647151A (zh) * | 2018-04-26 | 2018-10-12 | 郑州云海信息技术有限公司 | 一种全闪***元数据落盘方法、装置、设备及存储介质 |
CN112362043A (zh) * | 2020-10-30 | 2021-02-12 | 维沃移动通信有限公司 | 导航方法、装置及电子设备 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992708A (zh) * | 2019-04-12 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种元数据查询的方法、装置、设备以及存储介质 |
CN110287160A (zh) * | 2019-05-31 | 2019-09-27 | 广东睿江云计算股份有限公司 | 一种缓存空间清理方法及装置 |
CN110287160B (zh) * | 2019-05-31 | 2023-09-12 | 广东睿江云计算股份有限公司 | 一种缓存空间清理方法及装置 |
CN110413228B (zh) * | 2019-07-09 | 2022-10-14 | 江苏芯盛智能科技有限公司 | 一种映射表管理方法、***及电子设备和存储介质 |
CN110413228A (zh) * | 2019-07-09 | 2019-11-05 | 江苏芯盛智能科技有限公司 | 一种映射表管理方法、***及电子设备和存储介质 |
CN110795042A (zh) * | 2019-10-29 | 2020-02-14 | 北京浪潮数据技术有限公司 | 一种全闪存储***元数据写缓存刷盘方法及相关组件 |
CN110928493A (zh) * | 2019-10-31 | 2020-03-27 | 苏州浪潮智能科技有限公司 | 一种元数据模块及元数据模块处理方法 |
CN110928493B (zh) * | 2019-10-31 | 2022-07-22 | 苏州浪潮智能科技有限公司 | 一种元数据模块及元数据模块处理方法 |
CN113742131A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN113742131B (zh) * | 2020-05-29 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN111881064A (zh) * | 2020-07-24 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种全闪存储***中访问请求的处理方法、装置及设备 |
CN112416946A (zh) * | 2020-12-09 | 2021-02-26 | 深圳市优必选科技股份有限公司 | 播放内容管理方法、装置、设备和介质 |
CN114356241A (zh) * | 2021-12-28 | 2022-04-15 | 天翼云科技有限公司 | 小对象数据的存储方法、装置、电子设备和可读介质 |
CN114356241B (zh) * | 2021-12-28 | 2023-11-03 | 天翼云科技有限公司 | 小对象数据的存储方法、装置、电子设备和可读介质 |
CN116303586A (zh) * | 2022-12-09 | 2023-06-23 | 中电云数智科技有限公司 | 一种基于多级b+tree的元数据缓存淘汰方法 |
CN116303586B (zh) * | 2022-12-09 | 2024-01-30 | 中电云计算技术有限公司 | 一种基于多级b+tree的元数据缓存淘汰方法 |
CN117573043A (zh) * | 2024-01-17 | 2024-02-20 | 济南浪潮数据技术有限公司 | 分布式存储数据的传输方法、装置、***、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109522243B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522243A (zh) | 一种全闪存储中元数据缓存管理方法、装置及存储介质 | |
CN106569727B (zh) | 一种多控制器间多存储器共享并行数据读写装置及其写入、读取方法 | |
US9817765B2 (en) | Dynamic hierarchical memory cache awareness within a storage system | |
CN109213694B (zh) | 用于缓存管理的方法和设备 | |
CN114020655A (zh) | 一种内存扩展方法、装置、设备及存储介质 | |
CN111046072A (zh) | 一种数据查询方法、***、异构计算加速平台及存储介质 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN108496161A (zh) | 数据缓存装置及控制方法、数据处理芯片、数据处理*** | |
CN112632069B (zh) | 哈希表数据存储管理方法、装置、介质和电子设备 | |
CN115098412B (zh) | 外设访问控制器、数据访问装置及对应方法、介质和芯片 | |
CN109726353B (zh) | 卷积运算装置和方法 | |
US20210334143A1 (en) | System for cooperation of disaggregated computing resources interconnected through optical circuit, and method for cooperation of disaggregated resources | |
CN111625181A (zh) | 数据处理方法、独立硬盘冗余阵列控制器和数据存储*** | |
US11729268B2 (en) | Computer-implemented method, system, and storage medium for prefetching in a distributed graph architecture | |
JP7221244B2 (ja) | 行列記憶方法、行列アクセス方法、装置、電子機器および記憶媒体 | |
CN109426623A (zh) | 一种读取数据的方法及装置 | |
CN116414735A (zh) | 数据存储方法、***、存储访问配置方法及相关设备 | |
CN109947667B (zh) | 数据访问预测方法和装置 | |
CN112765090B (zh) | 一种目标地址的预取方法、***、设备及介质 | |
US9760577B2 (en) | Write-behind caching in distributed file systems | |
CN109492005A (zh) | 一种b+树读缓存方法及相关装置 | |
CN108733678B (zh) | 一种数据搜索的方法、装置和相关设备 | |
CN111859225A (zh) | 程序文件的访问方法、装置、计算设备和介质 | |
CN116910568B (zh) | 图神经网络模型的训练方法及装置、存储介质及电子装置 | |
CN113986134B (zh) | 存储数据的方法、读取数据的方法和装置 |
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 |