[发明专利]一种适用于发散数据的缓存更新方法有效
申请号: | 201910297265.5 | 申请日: | 2019-04-15 |
公开(公告)号: | CN110119487B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 李拥军;郑旭;谢嵘 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F16/957 | 分类号: | G06F16/957;G06F16/23 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 向玉芳 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 发散 数据 缓存 更新 方法 | ||
本发明公开了一种适用于发散数据的缓存更新方法。该方法针对发散数据的缓存命中率较低和易受历史数据影响的问题,设计了双缓存队列,其中一个缓存队列A主要根据数据访问情况来进行缓存更新,另一个缓存队列B通过数据更新情况来进行缓存更新,前者的容量相对后者更大。缓存队列A维护一个访问标志,空间满时将会进行扩容或者删除某些标志的缓存项。缓存队列B维护缓存项的更新时间,空间满时将会删除最先更新的缓存项。本发明解决了传统缓存更新算法在数据发散情况下缓存命中率较低的问题,同时也避免了历史数据污染的情况,对数据访问变化较为敏感,可以快速适应,利用较小的内存空间实现了较高的缓存命中率。
技术领域
本发明涉及一种缓存更新方法,特别是涉及一种发散数据情况下的缓存更新方法。
背景技术
随着互联网的发展,互联网用户数量急剧增长。很多系统的并发量也随之攀升,数据库的操作成为系统的并发瓶颈。研究发现,大多数的数据请求为查询请求,因此可以通过高速缓存来避免占用数据库资源,当缓存不命中时才去请求数据库数据。实际生产中,不仅仅服务端会用到高速缓存,也有不少客户端中有相应的缓存机制。缓存在服务端的应用效果较好,极大的提升了系统的并发量。然而,缓存容量无法无限制扩大,当大量数据加入缓存时,需要根据缓存更新算法进行取舍。
现在大多数情况下,服务器端的数据访问往往在一个时间段内大量的请求都是指向某一小部分的数据。这部分热点数据是缓存的主要内容,所以缓存更新方法主要做的工作就是将热点内容挑选出来,当缓存空间占用满时将非热点内容删除。传统的缓存更新方法通常更适合于集中的数据访问模式,也拥有较高的缓存命中率。较为常见的传统缓存更新算法主要包括:
1)FIFO(First In First Out),是一种先进先出的策略。这种算法删除旧缓存的主要依据是缓存项加入的时间。缓存已满的情况下,在增加新的缓存项之前删除最早进入缓存中的缓存项。这种算法认为曾经未读取过的新信息更有可能被读取,或者也可以理解为信息读取不存在明显的规律性。
2)LRU(Least Recently Used),是一种基于最近访问时间的策略。在缓存满的时候,它优先删除最长时间未访问到的缓存项。这种算法主要基于近期访问过的数据,在未来有较大概率访问到的情况。在很多场景中会存在一种情况,在一个时间段内,某些数据被频繁访问,而另一个时间段,可能另外的数据又会被频繁访问,这其实就是热点数据效应。但是LRU也会有一定的缺陷,某些偶发性的操作或者周期性的操作并不适合使用LRU,因为在这些情况下,LRU的命中率会急剧下降。
3)LFU(Least Frequently Used)是基于访问频次的缓存策略。它会优先淘汰那些访问频次较低的缓存项。该算法主要思想是,一个数据若在过去多次被访问,那么它未来也有很大概率会访问到。实践中,LFU的情况很常见,它与LRU差不多,也是用于处理热点数据,但是通常拥有更高的命中率。但LFU也存在一定的问题,它不能根据数据访问的情况及时做出调整,相比其他算法它需要更长的时间来适应新的数据访问模式,因为缓存中的“历史数据”需要较长的周期才能更迭。
然而,当数据访问较为发散,不存在热点数据效应的情况下,传统缓存更新方法的命中率会出现大幅下降的情况。同时,当数据访问模式变化时,很多传统缓存更新方法无法快速适应新的数据访问模式。
发明内容
本发明针对传统缓存更新方法在发散数据访问情况下存在的不足,提供了一种适用于发散数据的缓存更新方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910297265.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置