预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共21页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113076067A(43)申请公布日2021.07.06(21)申请号202110412028.6(22)申请日2021.04.16(71)申请人北京沃东天骏信息技术有限公司地址100176北京市北京经济技术开发区科创十一街18号院2号楼4层A402室申请人北京京东世纪贸易有限公司(72)发明人糜鹏程(74)专利代理机构中原信达知识产权代理有限责任公司11219代理人李阳宗磊(51)Int.Cl.G06F3/06(2006.01)权利要求书2页说明书13页附图5页(54)发明名称淘汰缓存数据的方法和装置(57)摘要本发明公开了一种淘汰缓存数据的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收数据访问请求;若待访问的数据不在预设的缓存中,并且没有其他线程在获取所述待访问的数据,则调用预设的方法获取所述待访问的数据,并确定所述预设的缓存是否已满;若是,则确定候选淘汰数组中分值最低的候选数据,将所述分值最低的候选数据从所述预设的缓存中和所述候选淘汰数组中删除,并将所述待访问的数据写入所述预设的缓存;其中,所述候选淘汰数组中的候选数据是从所述预设的缓存中采样得到的。该实施方式提高了系统并发性,减少了由于冷数据的偶然访问而引起的热数据被淘汰现象。CN113076067ACN113076067A权利要求书1/2页1.一种淘汰缓存数据的方法,其特征在于,包括:接收数据访问请求;若待访问的数据不在预设的缓存中,并且没有其他线程在获取所述待访问的数据,则调用预设的方法获取所述待访问的数据,并确定所述预设的缓存是否已满;若是,则确定候选淘汰数组中分值最低的候选数据,将所述分值最低的候选数据从所述预设的缓存中和所述候选淘汰数组中删除,并将所述待访问的数据写入所述预设的缓存;其中,所述候选淘汰数组中的候选数据是从所述预设的缓存中采样得到的。2.根据权利要求1所述的方法,其特征在于,所述方法还包括根据如下过程更新所述候选淘汰数组中的候选数据:对所述预设的缓存中的缓存数据进行采样,得到多个采样数据;确定所述多个采样数据的分值和所述候选淘汰数组中的候选数据的分值;按照所述分值从小到大的顺序将所述缓存数据和所述候选数据写入所述候选淘汰数组中;若所述候选淘汰数组已满,且存在剩余的缓存数据和/或候选数据时,则丢弃所述剩余的缓存数据和/或候选数据。3.根据权利要求2所述的方法,其特征在于,确定所述多个采样数据的分值和所述候选淘汰数组中的候选数据的分值包括:对于每一采样数据或候选数据,确定所述采样数据或所述候选数据对应的本地时间戳和访问次数;根据所述本地时间戳和所述访问次数,确定所述采样数据或所述候选数据对应的分值。4.根据权利要求3所述的方法,其特征在于,根据所述本地时间戳和所述访问次数,确定所述采样数据或所述候选数据对应的分值包括:分别对所述本地时间戳和所述访问次数进行归一化,得到归一化的本地时间戳和归一化的访问次数;根据所述归一化的本地时间戳、所述归一化的访问次数和预设的权重,确定所述采样数据或所述候选数据对应的分值。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:在将所述待访问的数据写入所述预设的缓存之后,记录所述待访问数据对应的本地时间戳和访问次数;若所述待访问的数据不在所述预设的缓存中,并且存在其他线程在获取所述待访问的数据,则等待所述其他线程将所述待访问的数据写入所述预设的缓存中,在等到所述其他线程将所述待访问的数据写入所述预设的缓存之后,从所述预设的缓存中获取所述待访问的数据,并更新所述待访问的数据对应的本地时间戳和访问次数;若所述待访问的数据在所述预设的缓存中,则从所述预设的缓存中获取所述待访问的数据,并更新所述待访问的数据对应的本地时间戳和访问次数。6.根据权利要求5所述的方法,其特征在于,更新所述待访问的数据对应的本地时间戳包括:从预设的本地时间戳缓存单元中获取本地时间戳,将从所述本地时间戳缓存单元中获2CN113076067A权利要求书2/2页取的本地时间戳作为所述待访问的数据更新后的本地时间戳。7.根据权利要求6所述的方法,其特征在于,所述预设的缓存中的每一缓存数据对应的本地时间戳和访问次数保存在时间戳存储器和访问计数器中;更新所述待访问的数据对应的本地时间戳和访问次数包括:将所述时间戳存储器中的所述待访问的数据对应的本地时间戳作为第一时间戳;将从所述预设的本地时间戳缓存单元中获取的本地时间戳作为第二时间戳;将内存中所述待访问的数据对应的本地时间戳作为第三时间戳;确定所述第一时间戳与所述第三时间戳是否相同;若是,则将所述第二时间戳作为所述待访问的数据更新后的本地时间戳;若否,则放弃更新所述待访问的数据对应的本地时间戳;将所述访问计数器中