本发明专利技术公开了一种读cache热点识别淘汰方法、装置、设备及存储介质,所述方法通过对IO进行热点识别,获得频次高于预设频次阈值的热点数据,将热点数据输入至cache;挂入查找表和LRU链表,当读IO在cache中命中后,调整对应的key到LRU链表的头部;在cache的数据满了之后,根据FIFO队列从LRU的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据,能够减少写入cache盘的数据量,避免了在热点数据较多的时候,单纯的LRU算法仅考虑时间因素,而忽略了访问频次的诉求,整体提升了cache的命中效率,提高了缓存盘的使用寿命,提高了读cache热点识别淘汰的速度和效率。
【技术实现步骤摘要】
本专利技术涉及数据存储,尤其涉及一种读cache热点识别淘汰方法、装置、设备及存储介质。
技术介绍
1、在以硬盘有机械硬盘(hard disk drive,hdd)为主存的存储系统中,不管是集中式存储系统、还是分布式存储系统,用非易失性内存主机控制器接口规范(non volatilememory express,nvme)或者固态硬盘(solid state disk,ssd)作为读cache都是业界公认的特性,通过将热点数据缓存到nvme或者ssd中,可以保证热点数据直接在高速盘中获取到,而不用去更低速的机械盘,保证更低的输入/输出(input/output,io)时延,从而得到更高的性能。
2、在读cache的算法实现中,一种使用最广泛的算法是最近最少使用(leastrecently used,lru)算法,每当有数据写入的时候,直接写入到读cache中,并挂到lru链表的头部,当一直不再访问的时候,数据会被逐渐移动到尾部,直到cache满了之后,从尾部淘汰;如果在还未淘汰之前,再次访问了它,则又会移动到头部,这样热点的数据就不会被淘汰掉,冷数据被淘汰;但是这种算法存在缺陷,首先,不管是冷数据还是热数据,都会先进入cache,这样存在很大的浪费,比如备份数据,这种模型几乎都是写入,不会读取,那么,进入cache实际上没有任何意义,只会浪费缓存盘的寿命;其次,lru算法仅仅考虑了时间的因素,并没有考虑频次因素,当热点数据较多,且有不同的频次的时候,此时lru算法会一视同仁,导致高频热点数据得不到更好的命中。
技术实现思路
1、本专利技术的主要目的在于提供一种读cache热点识别淘汰方法、装置、设备及存储介质,旨在解决现有技术中现有数据存储算法不管是冷数据还是热数据,都会先进入cache,这样存在很大的浪费,并且会浪费缓存盘的寿命,高频热点数据命中率较低的技术问题。
2、第一方面,本专利技术提供一种读cache热点识别淘汰方法,所述读cache热点识别淘汰方法包括以下步骤:
3、对io进行热点识别,获得频次高于预设频次阈值的热点数据,将所述热点数据输入至cache;
4、挂入查找表和lru链表,当读io在cache中命中后,调整对应的key到lru链表的头部;
5、在cache的数据满了之后,根据fifo队列从lru的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据。
6、可选地,所述对io进行热点识别,获得频次高于预设频次阈值的热点数据,将所述热点数据输入至cache,包括:
7、获取fifo队列,挂入所述fifo队列的同时,进行频次统计,并调整对应的预设频次阈值;
8、根据所述fifo队列和所述预设频次阈值对io进行热点识别,获得频次高于所述预设频次阈值的热点数据,将所述热点数据输入至cache,并挂入查找表和lru链表。
9、可选地,所述挂入查找表和lru链表,当读io在cache中命中后,调整对应的key到lru链表的头部,包括:
10、挂入查找表和lru链表,当读io在cache中命中后,将io上下文信息放到fifo队列中进行保存;
11、根据所述查找表和lru链表调整对应的key到lru链表的头部。
12、可选地,所述根据所述查找表和lru链表调整对应的key到lru链表的头部,包括:
13、在所述io上下文信息进入fifo队列时,根据所述查找表在hashmap中获取所述io上下文信息对应的目标key值;
14、根据lru链表将所述目标key值挂入到对应的频率为1的链表中,在同样key值的io再次进入所述fifo队列时,根据所述查找表在hashmap中找到对应的目标key值从频率为1的链表调整到lru链表的头部中频率为2的链表。
15、可选地,所述在cache的数据满了之后,根据fifo队列从lru的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据,包括:
16、在cache的数据满了之后,获取fifo队列的队列长度;
17、在所述fifo队列中的数据超过所述队列长度时,从lru的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据。
18、可选地,所述在所述fifo队列中的数据超过所述队列长度时,从lru的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据,包括:
19、在所述fifo队列中的数据超过所述队列长度时,获取最早进入所述fifo队列的io数据;
20、获取所述io数据的统计频次,并将所述io数据按频次从高到低排名,获得频次排名,将所述统计频次低于预设频次阈值的io数据作为冷数据;
21、根据所述频次排名依次从lru的尾部开始淘汰缓存盘中的所述冷数据。
22、可选地,所述在cache的数据满了之后,根据fifo队列从lru的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据之后,所述读cache热点识别淘汰方法还包括:
23、在查找热点统计的hashmap中查找所述冷数据对应的冷数据key值;
24、将所述冷数据key值从对应的频率链表挂入到当前频率链表中;
25、将所述冷数据key值从所述fifo队列中删除,将所述冷数据加载到所述cache中,并挂入到所述查找表和所述lru链表。
26、第二方面,为实现上述目的,本专利技术还提出一种读cache热点识别淘汰装置,所述读cache热点识别淘汰装置包括:
27、识别模块,用于对io进行热点识别,获得频次高于预设频次阈值的热点数据,将所述热点数据输入至cache;
28、调整模块,用于挂入查找表和lru链表,当读io在cache中命中后,调整对应的key到lru链表的头部;
29、淘汰模块,用于在cache的数据满了之后,根据fifo队列从lru的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据。
30、第三方面,为实现上述目的,本专利技术还提出一种读cache热点识别淘汰设备,所述读cache热点识别淘汰设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的读cache热点识别淘汰程序,所述读cache热点识别淘汰程序配置为实现如上文所述的读cache热点识别淘汰方法的步骤。
31、第四方面,为实现上述目的,本专利技术还提出一种存储介质,所述存储介质上存储有读cache热点识别淘汰程序,所述读cache热点识别淘汰程序被处理器执行时实现如上文所述的读cache热点识别淘汰方法的步骤。
32、本专利技术提出的读cache热点识别淘汰方法,通过对io进行热点识别,获得频次高于预设频次阈值的热点数据,将所述热点数据输入至cache;挂入查找表和lru链表,当读io在cache中命中后,调整对应的key到lru链表的头部;在cache的数据满了之后,根据fifo队列从本文档来自技高网
...
【技术保护点】
1.一种读cache热点识别淘汰方法,其特征在于,所述读cache热点识别淘汰方法包括:
2.如权利要求1所述的读cache热点识别淘汰方法,其特征在于,所述对IO进行热点识别,获得频次高于预设频次阈值的热点数据,将所述热点数据输入至cache,包括:
3.如权利要求1所述的读cache热点识别淘汰方法,其特征在于,所述挂入查找表和LRU链表,当读IO在cache中命中后,调整对应的key到LRU链表的头部,包括:
4.如权利要求3所述的读cache热点识别淘汰方法,其特征在于,所述根据所述查找表和LRU链表调整对应的key到LRU链表的头部,包括:
5.如权利要求1所述的读cache热点识别淘汰方法,其特征在于,所述在cache的数据满了之后,根据FIFO队列从LRU的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据,包括:
6.如权利要求5所述的读cache热点识别淘汰方法,其特征在于,所述在所述FIFO队列中的数据超过所述队列长度时,从LRU的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据,包括:
7.如权利要求1所述的读cache热点识别淘汰方法,其特征在于,所述在cache的数据满了之后,根据FIFO队列从LRU的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据之后,所述读cache热点识别淘汰方法还包括:
8.一种读cache热点识别淘汰装置,其特征在于,所述读cache热点识别淘汰装置包括:
9.一种读cache热点识别淘汰设备,其特征在于,所述读cache热点识别淘汰设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的读cache热点识别淘汰程序,所述读cache热点识别淘汰程序配置为实现如权利要求1至7中任一项所述的读cache热点识别淘汰方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有读cache热点识别淘汰程序,所述读cache热点识别淘汰程序被处理器执行时实现如权利要求1至7中任一项所述的读cache热点识别淘汰方法的步骤。
...
【技术特征摘要】
1.一种读cache热点识别淘汰方法,其特征在于,所述读cache热点识别淘汰方法包括:
2.如权利要求1所述的读cache热点识别淘汰方法,其特征在于,所述对io进行热点识别,获得频次高于预设频次阈值的热点数据,将所述热点数据输入至cache,包括:
3.如权利要求1所述的读cache热点识别淘汰方法,其特征在于,所述挂入查找表和lru链表,当读io在cache中命中后,调整对应的key到lru链表的头部,包括:
4.如权利要求3所述的读cache热点识别淘汰方法,其特征在于,所述根据所述查找表和lru链表调整对应的key到lru链表的头部,包括:
5.如权利要求1所述的读cache热点识别淘汰方法,其特征在于,所述在cache的数据满了之后,根据fifo队列从lru的尾部开始淘汰缓存盘中频次低于所述预设频次阈值的冷数据,包括:
6.如权利要求5所述的读cache热点识别淘汰方法,其特征在于,所述在所述fifo队列中的数据超过所述队列长度时,...
【专利技术属性】
技术研发人员:马宁,
申请(专利权)人:中电云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。