[发明专利]一种适用于发散数据的缓存更新方法有效
申请号: | 201910297265.5 | 申请日: | 2019-04-15 |
公开(公告)号: | CN110119487B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 李拥军;郑旭;谢嵘 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F16/957 | 分类号: | G06F16/957;G06F16/23 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 向玉芳 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种适用于发散数据的缓存更新方法。该方法针对发散数据的缓存命中率较低和易受历史数据影响的问题,设计了双缓存队列,其中一个缓存队列A主要根据数据访问情况来进行缓存更新,另一个缓存队列B通过数据更新情况来进行缓存更新,前者的容量相对后者更大。缓存队列A维护一个访问标志,空间满时将会进行扩容或者删除某些标志的缓存项。缓存队列B维护缓存项的更新时间,空间满时将会删除最先更新的缓存项。本发明解决了传统缓存更新算法在数据发散情况下缓存命中率较低的问题,同时也避免了历史数据污染的情况,对数据访问变化较为敏感,可以快速适应,利用较小的内存空间实现了较高的缓存命中率。 | ||
搜索关键词: | 一种 适用于 发散 数据 缓存 更新 方法 | ||
【主权项】:
1.一种适用于发散数据的缓存更新方法,其特征在于:包括主缓存队列更新缓存和辅助缓存队列更新缓存;所述的主缓存队列更新缓存包含主要步骤如下:S1:为每一个缓存项设置一个标志位,首次查找该缓存项的数据时,将该数据加入缓存队列A并标记为1状态,如果之后再次查找该数据,首先从缓存中查找并命中该缓存项,将缓存队列A中被命中的1状态的缓存项改为2状态,达到初始状态下标志位状态值上限,初始状态下标志位状态值上限为2,命中状态为2的缓存项则不做处理;缓存队列A中各缓存项维护了一个标志位状态,且标志位状态值不得高于状态值上限,初始状态值上限为2,每扩容一次状态值上限增加1;每次命中缓存项,该缓存项的状态值增加1,达到状态值上限时不增加;S2:当缓存空间满时,若发现非1状态的缓存项数量超过总缓存项数量预设扩容比例并且未达到扩容次数上限时,执行扩容操作,每执行一次扩容,标志位状态值上限加1个单位;判断当前扩容次数n、获取当前主缓存队列A当前的容量Mp以及初始容量M0;计算扩容后主缓存队列A的容量,计算公式为:
Mn为主缓存队列A扩容n次后的容量大小;当扩容次数n=0时,Mn为主缓存队列A初始容量;S3:若非1状态的缓存项数量超过总缓存项数量的预设扩容比例但是已达扩容上限,执行降级操作:删除所有标志位为1状态的缓存项;将所有缓存项的状态值减去1个单位;S4:若未执行扩容以及降级操作,删除所有状态为1的缓存项;S5:若未执行扩容以及降级操作,且可用缓存空间仍不足总空间的一半,继续删除更高状态值的缓存项,每一种状态值中最多可随机删除2n+2‑f个缓存项,其中n为扩容次数,f为标志位的状态值;S6:加入新缓存项,其标志位状态设为1;所述的辅助缓存队列更新缓存包含主要步骤如下:S7:判断数据操作类型;S8:若为删除操作,若主缓存队列A中有该数据,则删除;S9:若辅助缓存队列B中有该数据,则删除;S10:若为插入操作,若辅助缓存队列B空间已满,删除最小id的缓存项;id是缓存项的标记;S11:将数据加入辅助缓存队列B中并标记其id;S12:若为更新操作,且主缓存队列A中有该数据,则更新缓存队列A中的缓存内容;S13:删除辅助缓存队列B中该缓存项;S14:若主缓存队列A中无该数据,更新辅助缓存队列B中该缓存项内容及id;S15:若为查询操作,且命中辅助缓存队列B中的缓存项,将该缓存项删除;S16:若未命中主缓存,将命中的缓存项加入主缓存队列A中;S17:将主缓存队列中该缓存项的标志位状态提升1个单位。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910297265.5/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置