[发明专利]一种缓存数据管理方法、系统、终端及存储介质有效
申请号: | 202010470309.2 | 申请日: | 2020-05-28 |
公开(公告)号: | CN111737170B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 刘少荘;苏志恒 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F12/121 | 分类号: | G06F12/121 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 孙玉营 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据管理 方法 系统 终端 存储 介质 | ||
本发明提供一种缓存数据管理方法、系统、终端及存储介质,包括:设置热数据队列、冷数据队列和过期队列;将热数据队列删除的数据存储至冷数据队列,将冷数据队列删除的数据的访问记录存储至过期队列;将冷数据队列或过期队列中被访问的数据转移至热数据队列。相对于传统的LRU、LFU、FIFO、2Q等算法,均有一定程度的改进。相对于LRU算法,能够减轻缓存污染造成的影响;相对于LFU,避免了某些数据高频次访问后不再访问造成的影响;相对于FIFO,扩大了算法的应用场景;相对于2Q算法,可以保存更大批量的历史数据。本发明提出的缓存淘汰算法对于常见的场景,均能起到良好的缓存效果。
技术领域
本发明属于服务器技术领域,具体涉及一种缓存数据管理方法、系统、终端及存储介质。
背景技术
程序运行过程中,可能会频繁访问同一块数据,若数据一直位于磁盘中,则需要程序不停地对磁盘执行获取、保存等操作,频繁的IO会严重降低系统性能。为此提出了缓存的概念,将访问过的数据保存在缓存中,程序下次访问时,首先判断数据是否在缓存中,若在缓存中,则直接从缓存获取,称之为缓存命中,此过程会大大缩短读取数据的时间;若不在缓存中,则从磁盘中获取数据,并保存到缓存。缓存容量有限,当缓存未命中且容量已满时,需要删除缓存中的一条旧数据,加入一条新数据缓存。缓存数据不能随机删除,至于应该淘汰哪些数据,应该按照缓存淘汰算法进行,缓存淘汰算法也是近些年研究的热点。
常见的缓存淘汰算法有LRU,LFU,FIFO等,这些算法存在着各种问题,LRU 仅考虑最近访问的时间,LFU仅考虑数据出现的频率,FIFO则只考虑先进先出等。本发明提出了一种既考虑最近访问时间,又考虑出现频率的缓存淘汰算法,对于常见的应用场景,都能起到良好的缓存效果。
发明内容
针对现有技术的上述不足,本发明提供一种缓存数据管理方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种缓存数据管理方法,包括:
设置热数据队列、冷数据队列和过期队列;
将热数据队列删除的数据存储至冷数据队列,将冷数据队列删除的数据的访问记录存储至过期队列;
将冷数据队列或过期队列中被访问的数据转移至热数据队列。
进一步的,所述方法还包括:
设置热数据队列、冷数据队列和过期队列的大小,其中过期队列大于热数据队列和冷数据队列。
进一步的,所述将冷数据队列或过期队列中被访问的数据转移至热数据队列,包括:
若被访问数据在冷数据队列或过期队列中,则将被访问数据插入热数据队列尾部,并将所述被访问数据从原队列中删除。
进一步的,在所述将被访问数据插入热数据队列尾部之前,所述方法还包括:
判断热数据队列是否已满:
若是,则将所述热数据队列的头节点数据删除。
第二方面,本发明提供一种缓存数据管理系统,包括:
队列设置单元,配置用于设置热数据队列、冷数据队列和过期队列;
删除转移单元,配置用于将热数据队列删除的数据存储至冷数据队列,将冷数据队列删除的数据的访问记录存储至过期队列;
访问转移单元,配置用于将冷数据队列或过期队列中被访问的数据转移至热数据队列。
进一步的,所述系统还包括:
队列大小设置模块,配置用于设置热数据队列、冷数据队列和过期队列的大小,其中过期队列大于热数据队列和冷数据队列。
进一步的,所述访问转移单元包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010470309.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种功率模块及功率器件
- 下一篇:一种泡辣椒的生产方法