[发明专利]淘汰缓存数据的方法和装置在审
申请号: | 202110412028.6 | 申请日: | 2021-04-16 |
公开(公告)号: | CN113076067A | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 糜鹏程 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 李阳;宗磊 |
地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 淘汰 缓存 数据 方法 装置 | ||
本发明公开了一种淘汰缓存数据的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收数据访问请求;若待访问的数据不在预设的缓存中,并且没有其他线程在获取所述待访问的数据,则调用预设的方法获取所述待访问的数据,并确定所述预设的缓存是否已满;若是,则确定候选淘汰数组中分值最低的候选数据,将所述分值最低的候选数据从所述预设的缓存中和所述候选淘汰数组中删除,并将所述待访问的数据写入所述预设的缓存;其中,所述候选淘汰数组中的候选数据是从所述预设的缓存中采样得到的。该实施方式提高了系统并发性,减少了由于冷数据的偶然访问而引起的热数据被淘汰现象。
技术领域
本发明涉及计算机技术领域,尤其涉及一种淘汰缓存数据的方法和装置。
背景技术
缓存淘汰策略用于决定缓存系统中哪些数据应该被删去。常见算法类型包括LRU和LFU。LRU(Least Recently Used,最近最少使用算法)的目的为在有限的空间已经塞满的情况下,要放入新的内容,则会找到离最近使用时间最远的内容进行淘汰,从而为新内容腾出足够的空间。LFU(Least Frequently Used,最不经常使用算法)使用一个计数器来记录条目被访问的频率。通过使用LFU缓存算法,最低访问数的条目首先被移除。对于LRU算法,可以通过链表或随机采样实现该算法。通过链表实现LRU算法时,每次访问一个数据,就将该数据移动到链表的头部。在淘汰元素的时候,从链表的尾部进行淘汰。但是,冷数据可能由于偶然的访问而被移动到链表头部,从而免于淘汰,同时造成真正的热数据被淘汰。而且,每访问一个数据都需要更新一次链表,并发性能差。通过随机采样实现该算法时,在需要淘汰元素时,随机选取指定数量的数据后,淘汰本地时间戳最小的数据。然而,频繁访问本地时间戳也会影响系统的并发性能,且冷数据可能由于偶然的访问而获得较大的本地时间戳而免于淘汰。
发明内容
有鉴于此,本发明实施例提供一种淘汰缓存数据的方法和装置,能够避免基于链表的实现方式,从而提高系统并发性能;引入本地时间戳,解决频繁调用系统产生时间戳带来的并发性能影响;引入访问次数,在一定程度上减少了由于冷数据的偶然访问而引起的热数据被淘汰现象。
为实现上述目的,根据本发明实施例的一个方面,提供了一种淘汰缓存数据的方法,包括:
接收数据访问请求;
若待访问的数据不在预设的缓存中,并且没有其他线程在获取所述待访问的数据,则调用预设的方法获取所述待访问的数据,并确定所述预设的缓存是否已满;
若是,则确定候选淘汰数组中分值最低的候选数据,将所述分值最低的候选数据从所述预设的缓存中和所述候选淘汰数组中删除,并将所述待访问的数据写入所述预设的缓存;其中,所述候选淘汰数组中的候选数据是从所述预设的缓存中采样得到的。
可选地,所述方法还包括根据如下过程更新所述候选淘汰数组中的候选数据:
对所述预设的缓存中的缓存数据进行采样,得到多个采样数据;
确定所述多个采样数据的分值和所述候选淘汰数组中的候选数据的分值;
按照所述分值从小到大的顺序将所述缓存数据和所述候选数据写入所述候选淘汰数组中;
若所述候选淘汰数组已满,且存在剩余的缓存数据和/或候选数据时,则丢弃所述剩余的缓存数据和/或候选数据。
可选地,确定所述多个采样数据的分值和所述候选淘汰数组中的候选数据的分值包括:
对于每一采样数据或候选数据,确定所述采样数据或所述候选数据对应的本地时间戳和访问次数;
根据所述本地时间戳和所述访问次数,确定所述采样数据或所述候选数据对应的分值。
可选地,根据所述本地时间戳和所述访问次数,确定所述采样数据或所述候选数据对应的分值包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110412028.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种网页语言管理方法和装置
- 下一篇:一种铜带运输装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置