[发明专利]一种缓存数据的管理方法和装置在审
申请号: | 202110371767.5 | 申请日: | 2021-04-07 |
公开(公告)号: | CN112948444A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 谢凯 | 申请(专利权)人: | 北京电解智科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/901 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;李阳 |
地址: | 100176 北京市北京经济技*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 缓存 数据 管理 方法 装置 | ||
本发明公开了缓存数据的管理方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收对目标数据的访问请求;当目标数据存在于缓冲池的LRU链表中时,确定目标数据位于LRU链表中的当前分区的级别并读取目标数据的被访问频次;从参数配置库中获取与当前分区的级别对应的进级频次阈值,以判断被访问频次是否大于进级频次阈值;若是,将目标数据移动至比当前分区的级别更高一级的分区中;若否,将目标数据移动至当前分区的头部。该实施方式能够只将链表中的一部分空间用于新数据的加载,并使高命中率的数据尽可能地存在于链表头部、更不容易被淘汰,从而优化LRU链表的使用效果,优化缓存数据的读取效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种缓存数据管理方法和装置。
背景技术
在读取系统中数据时,通常使用缓冲池(buffer pool)机制,将较常访问的数据放入其中,避免每次都访问磁盘,进而加速数据的访问。在缓冲池中常常使用LRU(LeastRecently Used,最近最少使用)链表来管理缓冲池中的数据。
在实现本发明过程中,现有技术中至少存在如下问题:
1)由于从磁盘中向LRU链表中加载某一数据页时,常常将与该数据页相邻的其他数据页也预读加载至链表,而这些相邻数据页直到被淘汰都可能不会被用到,而比这些预读失效的数据页命中率高的其他数据页则会被淘汰;这种相邻数据页预读失效的情况会占用LRU链表的空间,影响LRU链表的使用效果,进而影响缓存数据的读取效率;
2)当需要从磁盘中向LRU链表中加载超出链表存储空间的大批数据页时,链表中原有的所有数据页都会被新数据页替换掉,而被替换掉的数据页中常常存在很多高命中率的数据页,这些高命中率的数据页通常很快又会被读取至链表中;这种缓冲池污染的情况也会影响LR U链表的使用效果,进而影响缓存数据的读取效率。
发明内容
有鉴于此,本发明实施例提供一种缓存数据的管理方法和装置,能够通过将LRU链表分为不同级别、设置数据被访问时的前移或进级方式,使得真正高命中率的数据尽可能地存在于链表头部、更不容易被淘汰,且能够只将链表中的一部分空间用于新数据的加载,从而优化LRU链表的使用效果,整体优化缓存数据的读取效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种缓存数据的管理方法,包括:
接收对目标数据的访问请求;
当所述目标数据存在于缓冲池的LRU链表中时,确定所述目标数据位于所述LRU链表中的当前分区的级别,并读取所述目标数据的被访问频次;其中,所述LRU链表包括至少三个不同级别的分区;
从参数配置库中获取与所述当前分区的级别对应的进级频次阈值,以判断所述被访问频次是否大于所述进级频次阈值;若是,将所述目标数据移动至比所述当前分区的级别更高一级的分区中;若否,将所述目标数据移动至所述当前分区的头部。
可选地,在接收对目标数据的访问请求后,还包括:
当所述目标数据不存在于缓冲池的LRU链表中时,从磁盘中读取所述目标数据,以将所述目标数据放入所述缓冲池的LRU链表中最低级分区的头部。
可选地,本发明提供的缓存数据的管理方法还包括:
所述LRU链表中的各分区按级别由低至高的顺序,从链表尾部至链表头部依次排布;其中,对于相邻两分区,较低级分区的头部与较高级分区的尾部相连。
可选地,本发明提供的缓存数据的管理方法还包括:
在所述LRU链表中,级别由低至高的各分区占比基于幂次法则递增。
可选地,在从参数配置库中获取与所述当前分区的级别对应的进级频次阈值之前,还包括按照如下方法确定所述参数配置库中的进级频次阈值:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京电解智科技有限公司,未经北京电解智科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110371767.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置