CN117785034A - 一种分级缓存***、方法及服务器 - Google Patents
一种分级缓存***、方法及服务器 Download PDFInfo
- Publication number
- CN117785034A CN117785034A CN202311685339.5A CN202311685339A CN117785034A CN 117785034 A CN117785034 A CN 117785034A CN 202311685339 A CN202311685339 A CN 202311685339A CN 117785034 A CN117785034 A CN 117785034A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- read
- hot spot
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 239000000872 buffer Substances 0.000 claims abstract description 293
- 230000003139 buffering effect Effects 0.000 claims abstract description 19
- 230000008030 elimination Effects 0.000 claims abstract description 16
- 238000003379 elimination reaction Methods 0.000 claims abstract description 16
- 238000012216 screening Methods 0.000 claims abstract description 11
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 55
- 239000012634 fragment Substances 0.000 claims description 12
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000009977 dual effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种分级缓存***、方法及服务器,该***包括:第一缓存器和第二缓存器;所述第一缓存器用于缓存当前已存储至预设硬盘的热点数据,并按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将所述一般数据淘汰至所述第二缓存器;所述第二缓存器用于缓存所述第一缓存器淘汰的一般数据;所述第一缓存器还用于接收用户发送的数据读请求,以确定用户的待读数据,当所述热点数据不包括所述待读数据时,从所述第二缓存器读取所述待读数据。通过采用第一缓存器和第二缓存器实现热点数据的分级管理,使用户发送的I/O请求大概率命中缓存器,减少预设硬盘的I/O次数,提高了存储***的吞吐性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种分级缓存***、方法及服务器。
背景技术
随着固态存储技术的发展,NVMe、SSD等固态存储设备得到了广泛的应用,但受限于设备成本,固态存储设备智能作为小容量的高速缓存设备存在于存储***中。
在现有技术中,通常是基于固态存储设备和大容量的低速存储设备共同组成混闪服务器,一般利用高速存储设备创建高速缓存池,低速存储设备创建慢速池,使用不同的对象存储资源(Object Storage Device,简称:OSD)进程分别管理缓存盘和低速盘。
但是,双存储池需要双池绑定,业务I/O因存在代理转发使得I/O路径变长,降低了存储***的吞吐性能。
发明内容
本申请提供一种分级缓存***、方法及服务器,以解决现有技术降低了存储***的吞吐性能等缺陷。
本申请第一个方面提供一种分级缓存***,包括:第一缓存器和第二缓存器;
所述第一缓存器用于缓存当前已存储至预设硬盘的热点数据,并按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将所述一般数据淘汰至所述第二缓存器;
所述第二缓存器用于缓存所述第一缓存器淘汰的一般数据;
所述第一缓存器还用于接收用户发送的数据读请求,以确定用户的待读数据,当所述热点数据不包括所述待读数据时,从所述第二缓存器读取所述待读数据;
其中,所述第一缓存器采用内存缓存器,所述第二缓存器采用NVMe缓存器,所述第一缓存器为***一级缓存,所述第二缓存器为***二级缓存。
在一种可选的实施方式中,所述第一缓存器,还用于:
当所述热点数据包括部分待读数据时,从所述热点数据中提取目标数据片段;
从所述第二缓存器和/或所述预设硬盘中读取剩余数据片段;
组装所述目标数据片段和剩余数据片段,得到待读数据,并将所述待读数据反馈至所述用户。
在一种可选的实施方式中,所述第一缓存器,用于:
获取用户发送的数据写请求;
根据所述数据写请求,将待写数据存储至所述预设硬盘;
若确定所述待写数据为热点数据,则在将所述待写数据存储至所述预设硬盘之后,将所述待写数据作为热点数据缓存。
在一种可选的实施方式中,所述第一缓存器,还用于:
根据所述待写数据的属性特征,判断所述待写数据是否为热点数据。
在一种可选的实施方式中,所述第二缓存器,用于:
监测第二缓存器水位;
根据所述第二缓存器水位,确定数据缓存策略。
在一种可选的实施方式中,所述第二缓存器,用于:
当所述第二缓存器水位超出预设水位上限值时,仅缓存所述第一缓存器淘汰的一般数据;
当所述第二缓存器水位低于预设水位上限值,但高于预设水位下限值时,缓存所述第一缓存器淘汰的所述一般数据及目标数据请求所对应的第一目标数据;
当所述第二缓存器水位低于预设水位下限值时,缓存所述第一缓存器淘汰的一般数据及所有所述数据请求所对应的第二目标数据;
其中,所述目标数据请求包括目标数据读请求和目标数据写请求,所述目标数据读请求为读数据量小于预设阈值的数据读请求,所述目标数据写请求为写数据量小于预设阈值的数据写请求,所述第一目标数据包括第一目标读数据和第一目标写数据,所述第二目标数据包括第二目标读数据和第二目标写数据,所述第一目标数据和第二目标数据均不包括已缓存在所述第一缓存器的热点数据。
在一种可选的实施方式中,所述第一缓存器,用于:
当任一所述热点数据在所述第一缓存器的访问频率达到预设淘汰标准时,将该热点数据确定为一般数据;
在将所述一般数据缓存至所述第二缓存器的同时,在所述第一缓存器删除所述一般数据,以将所述一般数据淘汰至所述第二缓存器。
在一种可选的实施方式中,所述第二缓存器,用于:
当任一所述一般数据在所述第二缓存器的访问频率达到预设删除标准时,在所述第二缓存器删除该一般数据。
本申请第二个方面提供一种分级缓存方法,包括:
将当前已存储至预设硬盘的热点数据缓存至第一缓存器;
按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将所述一般数据淘汰至第二缓存器;其中,所述第二缓存器用于缓存所述第一缓存器淘汰的一般数据;
接收用户发送的数据读请求,以确定用户的待读数据;
当所述第一缓存器当前缓存的热点数据不包括所述待读数据时,从所述第二缓存器读取所述待读数据;
其中,所述第一缓存器采用内存缓存器,所述第二缓存器采用NVMe缓存器,所述第一缓存器为***一级缓存,所述第二缓存器为***二级缓存。
本申请第三个方面提供一种服务器,包括:如上第一个方面以及第一个方面各种可能的设计所述的分级缓存***。
本申请技术方案,具有如下优点:
本申请提供一种分级缓存***、方法及服务器,该***包括:第一缓存器和第二缓存器;所述第一缓存器用于缓存当前已存储至预设硬盘的热点数据,并按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将所述一般数据淘汰至所述第二缓存器;所述第二缓存器用于缓存所述第一缓存器淘汰的一般数据;所述第一缓存器还用于接收用户发送的数据读请求,以确定用户的待读数据,当所述热点数据不包括所述待读数据时,从所述第二缓存器读取所述待读数据,其中,第一缓存器采用内存缓存器,第二缓存器采用NVMe缓存器,第一缓存器为***一级缓存,第二缓存器为***二级缓存。上述方案提供的***,通过采用第一缓存器和第二缓存器实现热点数据的分级管理,使用户发送的I/O请求大概率命中缓存器,减少预设硬盘的I/O次数,提高了存储***的吞吐性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的分级缓存***的结构示意;
图2为本申请实施例提供的分级缓存***的网络结构图;
图3为本申请实施例提供的用户交互流程示意图;
图4为本申请实施例提供的示例性的第二缓存器的数据缓存流程示意图;
图5为本申请实施例提供的分级缓存方法的流程示意图;
图6为本申请实施例提供的服务器的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
随着固态存储技术的发展,固态存储设备(如NVMe、SSD等)作为下一代存储设备进入了存储市场。但是受限于设备成本,固态存储设备无法全部替代传统的机械存储设备(HDD),只能作为小容量的高速缓存设备存在于存储***中。根据存储服务器中的存储设备分类,当前的存储服务器一般可以分成三类:全闪(全部为高速设备如SSD、NVMe等)、混闪(由高速设备SSD或NVMe、低速设备HDD混合组成)、全HDD(全部为低速设备HDD)。采用全HDD的存储服务器,受限于HDD盘的性能,往往***的吞吐性能较差;全闪设备的服务器可以依靠NVMe盘优秀的响应时延,提升存储性能,但是成本较高。所以在综合考虑***性能和成本的前提下,用户常常会考虑采用混闪场景的存储服务器。
在采用混闪服务器的分布式存储***中,往往通过“数据分层存储”,用高速设备存储用户高频访问的热点数据,且要在有限的存储空间内尽可能多的存储高频数据,降低用户的读取时延;使用性能较低的HDD盘存储用户低频访问的数据,充分发挥HDD盘容量大、价格低的优势,最大限度的利用硬件资源。对于混闪服务器,目前主流的厂商一般用如下方式去管理闪存设备:采用双存储池方案,利用闪存盘创建高速缓存池,HDD盘创建慢速池;采用的双存储池方案可以使用不同的OSD进程分别管理缓存盘和低速盘,即使用Cache Pool管理缓存盘,存储热点数据;使用Storage Pool管理低速盘,存储非热点数据。但是双存储池意味着更多的PG(归置组,用于放置Object对象的载体)、需要双池绑定,业务IO因存在代理转发使得IO路径变长,降低存储性能。
针对上述问题,本申请实施例提供的一种分级缓存***、方法及服务器,该***包括:第一缓存器和第二缓存器;第一缓存器用于缓存当前已存储至预设硬盘的热点数据,并按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将一般数据淘汰至第二缓存器;第二缓存器用于缓存第一缓存器淘汰的一般数据;第一缓存器还用于接收用户发送的数据读请求,以确定用户的待读数据,当热点数据不包括待读数据时,从第二缓存器读取待读数据,其中,第一缓存器采用内存缓存器,第二缓存器采用NVMe缓存器,第一缓存器为***一级缓存,第二缓存器为***二级缓存。上述方案提供的***,通过采用第一缓存器和第二缓存器实现热点数据的分级管理,使用户发送的I/O请求大概率命中缓存器,减少预设硬盘的I/O次数,提高了存储***的吞吐性能。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
本申请实施例提供了一种分级缓存***,用于对用户I/O数据进行分级缓存。
如图1所示,为本申请实施例提供的分级缓存***的结构示意图,该***包括:第一缓存器和第二缓存器。第一缓存器采用内存缓存器,第二缓存器采用NVMe缓存器,第一缓存器为***一级缓存,第二缓存器为***二级缓存。
其中,第一缓存器用于缓存当前已存储至预设硬盘的热点数据,并按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将一般数据淘汰至第二缓存器;第二缓存器用于缓存第一缓存器淘汰的一般数据;第一缓存器还用于接收用户发送的数据读请求,以确定用户的待读数据,当热点数据不包括待读数据时,从第二缓存器读取待读数据。
其中,如图2所示,为本申请实施例提供的分级缓存***的网络结构图,第一缓存器可以采用内存缓存器Write Cache(RAM),第二缓存器可以采用NVMe缓存器Disk Cache(NVMe),预设硬盘具体指HDD,业务I/O可以直接访问第一缓存器、第二缓存器和预设硬盘。第一缓存器和第二缓存器采用单副本的形式缓存数据,即第一缓存器和第二缓存器缓存的数据不重叠。其中,第一缓存器以对象为单位缓存数据,不保证数据的持久性,断电后需要重新识别和加载。
具体地,可以按照I/O数据的热度,对I/O数据进行分级缓存。当用户发起数据写请求时,内存在响应该数据写请求将数据写入预设硬盘的同时,判断当前写入的数据是否为热点数据,若确定为热点数据,则在该数据落盘后将其(clean数据)作为热点数据保存至第一缓存器。由于第一缓存器本身存储空间有限,所以第一缓存器可以按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将一般数据淘汰至第二缓存器。其中,一般数据的热度低于热点数据的热度。当用户发送数据读请求时,首先将该数据读请求发送至第一缓存器,第一缓存器根据接收到的数据读请求,确定待读数据,然后判断自身缓存的热点数据是否包括待读数据,若包括,则直接向用户反馈待读数据,否则,从第二缓存器读取待读数据。
具体地,在一实施例中,第一缓存器,用于获取用户发送的数据写请求;根据数据写请求,将待写数据存储至预设硬盘;若确定待写数据为热点数据,则在将待写数据存储至预设硬盘之后,将待写数据作为热点数据缓存。其中,热点数据识别以对象为单位,热度统计方式基于布隆过滤器实现。
具体地,在一实施例中,所述第一缓存器可以根据所述待写数据的属性特征,判断所述待写数据是否为热点数据。
具体地,在接收到用户发送的数据写请求后,可以根据该数据写请求的源地址、目的地址、待写数据类型和待写数据大小等属性特征,确定待写数据的热度指标,根据待写数据的热度指标的高低,判断该待写数据是否为热点数据。
具体地,在一实施例中,第一缓存器,还用于当热点数据包括部分待读数据时,从热点数据中提取目标数据片段;从第二缓存器和/或预设硬盘中读取剩余数据片段;组装目标数据片段和剩余数据片段,得到待读数据,并将待读数据反馈至用户。
具体地,如图3所示,为本申请实施例提供的用户交互流程示意图,数据池包括第一缓存器、第二缓存器和预设硬盘,用户向数据池发送数据读请求,数据池OSD在接收到一个数据读请求后,首先判断数据读请求的待读数据是否已缓存在第一缓存器,若是,则直接从第一缓存器读取待读数据,若第一缓存器没有缓存待读数据,则进一步判断待读数据是否缓存在第二缓存器,若是,则从第二缓存器读取待读数据,若第二缓存器也没有缓存待读数据,则从预设硬盘读取待读数据。在逐级判断过程中,若发现第一缓存器缓存了部分待读数据,先读取该部分待读数据(目标数据片段),然后判断第二缓存器是否存有剩余数据片段,若有,则从第二缓存器读取剩余数据片段,然后通过组装目标数据片段和剩余数据片段,得到完整的待读数据,若第二缓存器只包括部分剩余数据片段,则仅在第二缓存器读取该部分剩余数据片段,其他剩余数据片段从预设硬盘读取,最后进行数据片段组装。其中,当需要从预设硬盘(HDD)读取数据时,需要缓存则构造本地对象处理事务,向Store层发起写请求。
进一步地,在一实施例中,当用户请求的待读数据不属于热点数据时,在将待读数据反馈给用户的同时,判断该待读数据是否为热点数据,若确定该待读数据为热点数据,则将该待读数据缓存至第一缓存器。此时具体可以根据该待读数据的访问频率等特征,计算该待读数据的热度指标。
具体地,在一实施例中,第一缓存器,用于当任一热点数据在第一缓存器的访问频率达到预设淘汰标准时,将该热点数据确定为一般数据;在将一般数据缓存至第二缓存器的同时,在第一缓存器删除一般数据,以将一般数据淘汰至第二缓存器。
进一步地,在一实施例中,第二缓存器,用于当任一一般数据在第二缓存器的访问频率达到预设删除标准时,在第二缓存器删除该一般数据。
具体地,第一缓存器的数据淘汰策略可以通过TwoQCache实现,TwoQCache有三个缓存队列。其中buffer_hot保存热点数据,buffer_warm_in保存最新添加的热点数据,buffer_warm_out保存从buffer_warm_in中淘汰出来的数据,从buffer_warm_in队列末尾开始删除多余的数据,删除的数据会直接加入到buffer_warm_out的头部。buffer_warm_in具体可以采用最近最少使用队列等实现,当第一缓存器水位到达85%时需要淘汰数据,从buffer_warm_out中逐步淘汰数据,释放第一缓存器缓存空间。第二缓存器与第一缓存器的数据淘汰策略基本相同,只是第一缓存器将淘汰的数据缓存至第二缓存器,第二缓存器则直接删除淘汰数据(一般数据)。
在上述实施例的基础上,由于第二缓存器的缓存空间也有限,因此为进一步提高数据缓存的合理性,作为一种可实施的方式,在一实施例中,第二缓存器,用于监测第二缓存器水位;根据第二缓存器水位,确定数据缓存策略。
需要说明的是,第二缓存器水位表征第二缓存器的空间占用比例。
具体地,在一实施例中,第二缓存器,用于当第二缓存器水位超出预设水位上限值时,仅缓存第一缓存器淘汰的一般数据;当第二缓存器水位低于预设水位上限值,但高于预设水位下限值时,缓存第一缓存器淘汰的一般数据及目标数据请求所对应的第一目标数据;当第二缓存器水位低于预设水位下限值时,缓存第一缓存器淘汰的一般数据及所有数据请求所对应的第二目标数据。
其中,目标数据请求包括目标数据读请求和目标数据写请求,目标数据读请求为读数据量小于预设阈值的数据读请求,目标数据写请求为写数据量小于预设阈值的数据写请求,第一目标数据包括第一目标读数据和第一目标写数据,第二目标数据包括第二目标读数据和第二目标写数据,第一目标数据和第二目标数据均不包括已缓存在第一缓存器的热点数据。
具体地,如图4所示,为本申请实施例提供的示例性的第二缓存器的数据缓存流程示意图,在收到客户端发送的数据读写请求时,首先进行水位信息判断,若第二缓存器水位超出预设水位上限值,则为高水位,若第二缓存器水位低于预设水位上限值,但高于预设水位下限值,则为中水位,若第二缓存器水位低于预设水位下限值,则为低水位。当为低水位时,所有数据读写请求产生的第二目标数据均可以写入第二缓存器,当为中水位时,判断当前待写入的数据读写请求是否为目标数据请求,若是,则将其产生的第二目标数据写入第二缓存器,当为高水位时,不仅缓存第一缓存器淘汰的一般数据,还可以缓存热点数据的数据读写请求所交互的数据。
示例性的,以预设水位上限值为75%,预设水位下限值为25%为例,当第二缓存器水位达到80%时,确定第二缓存器水位超出预设水位上限值,此时第二缓存器仅缓存第一缓存器淘汰的一般数据。当第二缓存器水位达到50%时,确定第二缓存器水位低于预设水位上限值,但高于预设水位下限值,此时第二缓存器缓存第一缓存器淘汰的一般数据的同时,还缓存数据量小于256k的目标数据读请求和目标数据写请求产生的第一目标读数据和第一目标写数据。当第二缓存器水位达到15%时,确定第二缓存器水位预设水位下限值,此时第二缓存器缓存第一缓存器淘汰的一般数据及所有数据请求所对应的第二目标数据,即当第二缓存器水位较低(低于预设下限值)时不做缓存数据的筛选。其中,当需要缓存写I/O(目标写数据)时,写缓存是在数据写入数据池后通过后台任务的方式,再将这部分数据写入第二缓存器中;当需要缓存读IO(目标读数据)时,需要读取的数据返回给客户端(用户)后,通过后台任务的方式,将这部分数据写入第二缓存器中。
进一步地,在一实施例中,当***出现OSD故障时,需要清理第二缓存器中的脏数据,当PG出现主备切换时,识别出发生主备切换的PG对应的hot_oid,将对应所属的hot_oid加入后台热数据删除队列,删除热点数据;当出现OSD上电时,默认之前保留的热数据缓存皆无效,在上电流程中完成对热点数据的清理,相应PG的热点数据全部清理完成后,该PG的热数据缓存功能才可生效;PG删除时,删除该PG下对应的所有第二缓存器缓存的数据。
本申请实施例提供的分级缓存***,包括:第一缓存器和第二缓存器;第一缓存器用于缓存当前已存储至预设硬盘的热点数据,并按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将一般数据淘汰至第二缓存器;第二缓存器用于缓存第一缓存器淘汰的一般数据;第一缓存器还用于接收用户发送的数据读请求,以确定用户的待读数据,当热点数据不包括待读数据时,从第二缓存器读取待读数据,其中,第一缓存器采用内存缓存器,第二缓存器采用NVMe缓存器,第一缓存器为***一级缓存,第二缓存器为***二级缓存。上述方案提供的***,通过采用第一缓存器和第二缓存器实现热点数据的分级管理,使用户发送的I/O请求大概率命中缓存器,减少预设硬盘的I/O次数,提高了存储***的吞吐性能。并且,通过实现对热点数据识别,并根据设备缓存策略实现热点数据的缓存管理,使用户的业务I/O尽可能的命中Cache缓存,减少HDD盘的I/O次数,提升存储***的吞吐性能。
本申请实施例提供了一种分级缓存方法,用于对用户I/O数据进行分级缓存。本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于对用户I/O数据进行分级缓存的电子设备。
如图5所示,为本申请实施例提供的分级缓存方法的流程示意图,该方法包括:
步骤501,将当前已存储至预设硬盘的热点数据缓存至第一缓存器;
步骤502,按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将一般数据淘汰至第二缓存器;其中,第二缓存器用于缓存第一缓存器淘汰的一般数据;
步骤503,接收用户发送的数据读请求,以确定用户的待读数据;
步骤504,当第一缓存器当前缓存的热点数据不包括待读数据时,从第二缓存器读取待读数据。
其中,第一缓存器采用内存缓存器,第二缓存器采用NVMe缓存器,第一缓存器为***一级缓存,第二缓存器为***二级缓存。
关于本实施例中的分级缓存方法,其中各个步骤的具体实施方式已经在有关该***的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的分级缓存方法,用于基于上述实施例提供的分级缓存***实现,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种服务器,用于部署上述实施例提供的分级缓存***。
如图6所示,为本申请实施例提供的服务器的结构示意图。该服务器包括:上述实施例提供的分级缓存***。
本申请实施例提供的服务器,用于运行上述实施例提供的分级缓存***,其实现方式与原理相同,不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种分级缓存***,其特征在于,包括:第一缓存器和第二缓存器;
所述第一缓存器用于缓存当前已存储至预设硬盘的热点数据,并按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将所述一般数据淘汰至所述第二缓存器;
所述第二缓存器用于缓存所述第一缓存器淘汰的一般数据;
所述第一缓存器还用于接收用户发送的数据读请求,以确定用户的待读数据,当所述热点数据不包括所述待读数据时,从所述第二缓存器读取所述待读数据;
其中,所述第一缓存器采用内存缓存器,所述第二缓存器采用NVMe缓存器,所述第一缓存器为***一级缓存,所述第二缓存器为***二级缓存。
2.根据权利要求1所述的***,其特征在于,所述第一缓存器,还用于:
当所述热点数据包括部分待读数据时,从所述热点数据中提取目标数据片段;
从所述第二缓存器和/或所述预设硬盘中读取剩余数据片段;
组装所述目标数据片段和剩余数据片段,得到待读数据,并将所述待读数据反馈至所述用户。
3.根据权利要求1所述的***,其特征在于,所述第一缓存器,用于:
获取用户发送的数据写请求;
根据所述数据写请求,将待写数据存储至所述预设硬盘;
若确定所述待写数据为热点数据,则在将所述待写数据存储至所述预设硬盘之后,将所述待写数据作为热点数据缓存。
4.根据权利要求3所述的***,其特征在于,所述第一缓存器,还用于:
根据所述待写数据的属性特征,判断所述待写数据是否为热点数据。
5.根据权利要求1所述的***,其特征在于,所述第二缓存器,用于:
监测第二缓存器水位;
根据所述第二缓存器水位,确定数据缓存策略。
6.根据权利要求5所述的***,其特征在于,所述第二缓存器,用于:
当所述第二缓存器水位超出预设水位上限值时,仅缓存所述第一缓存器淘汰的一般数据;
当所述第二缓存器水位低于预设水位上限值,但高于预设水位下限值时,缓存所述第一缓存器淘汰的所述一般数据及目标数据请求所对应的第一目标数据;
当所述第二缓存器水位低于预设水位下限值时,缓存所述第一缓存器淘汰的一般数据及所有所述数据请求所对应的第二目标数据;
其中,所述目标数据请求包括目标数据读请求和目标数据写请求,所述目标数据读请求为读数据量小于预设阈值的数据读请求,所述目标数据写请求为写数据量小于预设阈值的数据写请求,所述第一目标数据包括第一目标读数据和第一目标写数据,所述第二目标数据包括第二目标读数据和第二目标写数据,所述第一目标数据和第二目标数据均不包括已缓存在所述第一缓存器的热点数据。
7.根据权利要求1所述的***,其特征在于,所述第一缓存器,用于:
当任一所述热点数据在所述第一缓存器的访问频率达到预设淘汰标准时,将该热点数据确定为一般数据;
在将所述一般数据缓存至所述第二缓存器的同时,在所述第一缓存器删除所述一般数据,以将所述一般数据淘汰至所述第二缓存器。
8.根据权利要求1所述的***,其特征在于,所述第二缓存器,用于:
当任一所述一般数据在所述第二缓存器的访问频率达到预设删除标准时,在所述第二缓存器删除该一般数据。
9.一种分级缓存方法,其特征在于,包括:
将当前已存储至预设硬盘的热点数据缓存至第一缓存器;
按照预设淘汰标准,在已缓存的热点数据中筛选一般数据,将所述一般数据淘汰至第二缓存器;其中,所述第二缓存器用于缓存所述第一缓存器淘汰的一般数据;
接收用户发送的数据读请求,以确定用户的待读数据;
当所述第一缓存器当前缓存的热点数据不包括所述待读数据时,从所述第二缓存器读取所述待读数据;
其中,所述第一缓存器采用内存缓存器,所述第二缓存器采用NVMe缓存器,所述第一缓存器为***一级缓存,所述第二缓存器为***二级缓存。
10.一种服务器,其特征在于,包括:如权利要求1至8任一项所述的分级缓存***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685339.5A CN117785034A (zh) | 2023-12-07 | 2023-12-07 | 一种分级缓存***、方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311685339.5A CN117785034A (zh) | 2023-12-07 | 2023-12-07 | 一种分级缓存***、方法及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785034A true CN117785034A (zh) | 2024-03-29 |
Family
ID=90384190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311685339.5A Pending CN117785034A (zh) | 2023-12-07 | 2023-12-07 | 一种分级缓存***、方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785034A (zh) |
-
2023
- 2023-12-07 CN CN202311685339.5A patent/CN117785034A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9465554B2 (en) | Tiered caching and migration in differing granularities | |
CN106547476B (zh) | 用于数据存储***的方法和装置 | |
US9430404B2 (en) | Thinly provisioned flash cache with shared storage pool | |
US8595451B2 (en) | Managing a storage cache utilizing externally assigned cache priority tags | |
US8996799B2 (en) | Content storage system with modified cache write policies | |
CN108647151A (zh) | 一种全闪***元数据落盘方法、装置、设备及存储介质 | |
CN109947363B (zh) | 一种分布式存储***的数据缓存方法 | |
JP2018520420A (ja) | ハイブリッドオブジェクトストレージデバイスのためのキャッシュアーキテクチャおよびアルゴリズム | |
JP2012517644A (ja) | 高速記憶装置をキャッシュとして使用するストレージシステム | |
CN107422989B (zh) | 一种Server SAN***多副本读取方法及存储*** | |
US20220164316A1 (en) | Deduplication method and apparatus | |
US9471253B2 (en) | Use of flash cache to improve tiered migration performance | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
CN112379841A (zh) | 数据处理方法、装置和电子设备 | |
WO2014153931A1 (zh) | 文件存储方法、装置、访问客户端及元数据服务器*** | |
CN105915595B (zh) | 一种集群存储***存取数据的方法以及集群存储*** | |
US11474750B2 (en) | Storage control apparatus and storage medium | |
CN117472285A (zh) | 固态硬盘用智能运行加速方法、计算机设备及存储介质 | |
CN116069261A (zh) | 一种数据处理方法、***、设备以及存储介质 | |
JP2005258789A (ja) | ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法 | |
EP4307129A1 (en) | Method for writing data into solid-state hard disk | |
CN117785034A (zh) | 一种分级缓存***、方法及服务器 | |
CN115543194A (zh) | 分布式对象存储方法、装置、设备和计算机可读存储介质 | |
CN115563029A (zh) | 一种基于两层缓存结构的缓存方法及装置 | |
Liang et al. | Magic: making IMR-based HDD perform like CMR-based HDD |
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 |