System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种建立缓存优先级预测机制实现LRU优化的方法技术_技高网

一种建立缓存优先级预测机制实现LRU优化的方法技术

技术编号:40605686 阅读:5 留言:0更新日期:2024-03-12 22:11
本发明专利技术提供了一种建立缓存优先级预测机制实现LRU优化的方法。在传统LRU算法基础上,增加基于使用时间维度+多种业务维度的多维度标签,并通过统计业务标签的使用时间及频率,来预测某个缓存的优先级,淘汰优先级最低的缓存,实现LRU在应用过程中准确率的优化和提升。本发明专利技术包括缓存及标签模型模块、缓存标签及历史数据维护模块、缓存标签预测及是使用统计模块、缓存优先级计算及使用次数维护模块、缓存优先级淘汰模块、缓存使用模块。

【技术实现步骤摘要】

本专利技术涉及积分领域,特别是涉及一种建立缓存优先级预测机制实现lru优化的方法。


技术介绍

1、关于操作系统的内存管理,如何节省利用容量不大的内存为最多的进程提供资源,一直是研究的重要方向。而内存的虚拟存储管理,是现在最通用,最成功的方式——在内存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储当前运行时所用得到信息。这无疑极大地扩充了内存的功能,极大地提高了计算机的并发度。虚拟页式存储管理,则是将进程所需空间划分为多个页面,内存中只存放当前所需页面,其余页面放入外存的管理方式。

2、然而,有利就有弊,虚拟页式存储管理减少了进程所需的内存空间,却也带来了运行时间变长这一缺点:进程运行过程中,不可避免地要把在外存中存放的一些信息和内存中已有的进行交换,由于外存的低速,这一步骤所花费的时间不可忽略。因而,采取尽量好的算法以减少读取外存的次数,显得非常有必要。lru算法是解决问题的主流算法之一。

3、lru是least recently used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。

4、 lru实现简单,在一般情况下能够表现出很好的命中率,是一个“性价比”很高的算法,平时也很常用。虽然lru对突发性的稀疏流量(sparse bursts)表现很好,但同时也会产生缓存污染,举例来说,如果偶然性的要对全量数据进行遍历,那么“历史访问记录”就会被刷走,造成污染。另外,lru一般只是使用一个时间维度来表示缓存最近使用时间,在存储不够用的时候,会把使时间最远的缓存进行回收,由于有一些业务的对于缓存在时间维度上分布不均匀,比如当前对于类型a的缓存使用非常频繁,但是在下一个时间段对于b类型的缓存使用会非常频繁,而这个时候由于缓存不足导致b类型的缓存被清理,导致重新加载浪费大量资源。

5、所以需要在当前时序纬度的算法基础上,增加多种业务应用统计属性,并通过应用统计属性预测缓存优先级,来弥补lru在应用中的准确率缺陷,实现lru的改进和优化。本专利技术专利正是基于此思想来实现。


技术实现思路

1、本专利技术提供了一种建立缓存优先级预测机制实现lru优化的方法。在传统lru算法基础上,增加基于使用时间维度+多种业务维度的多维度标签,并通过统计业务标签的使用时间及频率,来预测某个缓存的优先级,淘汰优先级最低的缓存,实现lru在应用过程中准确率的优化和提升。本专利技术包括缓存及标签模型模块、缓存标签及历史数据维护模块、缓存标签预测及是使用统计模块、缓存优先级计算及使用次数维护模块、缓存优先级淘汰模块、缓存使用模块。

2、1. 缓存及标签模型模块:

3、(1)每个缓存在生成的时候有一个唯一id,同时内置固定的优先级别、最近使用次数(15分钟)、最近使用时间 。另外每个缓存支持动态的业务标签维护;

4、(2)每个标签为一个全局的标签,包含最近使用时间、使用时长、空闲时长、最近使用次数、标签id;

5、(3)标签历史记录按照时间进行维护(比如间隔5秒),相同时段内的记录使用次数。

6、缓存及标签模型逻辑示例如图1所示。

7、2.缓存标签及历史数据维护模块:在给一个缓存通过标签id添加一个业务标签的时候,如果标签不存在会生成一个全局的标签信息,标签的下次使用时间为当前时段。每次缓存命中的时候,都增加缓存所有标签最新使用历史记录,同时更新相同时段的历史记录增加使用次数。

8、3.缓存标签预测及是使用统计模块:

9、(1)标签的使用次数为使用次数为计算时间内的所有使用次数;

10、(2)过滤出最近统计时间内时段使用次数大于阀值的历史记录,时间段连续的记录合并为一条记录,两条历史记录的时间跨度为历史记录的使用时长。相邻两条记录之间的开始使用时间之差为记录空闲时间。

11、历史记录过滤方法如图2所示。

12、把它们按照从近到远权重递减分配不同的权重,最后根据公式(如图3)计算出缓存标签的使用时长和空闲时长。其中:

13、ai 某个时段百分比权重;

14、βi : 某个时段使用时长或者空闲时长;

15、n : 合并后的时段数。

16、3.缓存优先级计算及使用次数维护模块:

17、(1)如果当前时间在缓存标签最近使用时间和缓存标签最近使用时间 + 使用时长 ,表示缓存有效,预计使用时间为立刻;

18、(2) 无效缓冲的当前时间 + 空闲时长作为缓存标签的预计使用时间;

19、(3)缓存优先级最高1级,最低10级 ,优先级公式=(当前时间 - 缓存预计使用时间)/ 优先级时长 + 1,大于10的全部按照10进行计算;

20、(4)取预计时间最近的缓存标签作为缓存的统计标签来计算优先级,使用记录为最近缓存标签的使用记录。

21、4.缓存优先级淘汰模块:定期检查缓存信息,在发现缓存记录大于最大缓存时启动缓存淘汰机制,缓存淘汰优先级最高的缓存,如果优先级相等淘汰使用次数最少的缓存。

22、5.缓存使用模块:一个业务系统在使用缓存之前先对缓存进行全局的业务标签规划,定义要使用的标签规则,在保存缓存的时候传入缓存id、相关标签id,及缓存的内容,在使用过程中也可以动态的维护缓存的标签,获取缓存内容的时候只要传入缓存id即可。

本文档来自技高网...

【技术保护点】

1.一种建立缓存优先级预测机制实现LRU优化的方法其特征在于:在传统LRU算法基础上,增加基于使用时间维度+多种业务维度的多维度标签,并通过统计业务标签的使用时间及频率,来预测某个缓存的优先级,淘汰优先级最低的缓存,实现LRU在应用过程中准确率的优化和提升。

2.本专利技术包括缓存及标签模型模块、缓存标签及历史数据维护模块、缓存标签预测及是使用统计模块、缓存优先级计算及使用次数维护模块、缓存优先级淘汰模块、缓存使用模块。

3.根据权利要求1所述的一种建立缓存优先级预测机制实现LRU优化的方法其特征在于,其特征在于:缓存及标签模型模块:每个缓存在生成的时候有一个唯一ID,同时内置固定的优先级别、最近使用次数(15分钟)、最近使用时间;另外每个缓存支持动态的业务标签维护;每个标签为一个全局的标签,包含最近使用时间、使用时长、空闲时长、最近使用次数、标签ID;标签历史记录按照时间进行维护(比如间隔5秒),相同时段内的记录使用次数。

4.根据权利要求1所述的一种建立缓存优先级预测机制实现LRU优化的方法其特征在于,其特征在于:缓存标签及历史数据维护模块:在给一个缓存通过标签ID添加一个业务标签的时候,如果标签不存在会生成一个全局的标签信息,标签的下次使用时间为当前时段;每次缓存命中的时候,都增加缓存所有标签最新使用历史记录,同时更新相同时段的历史记录增加使用次数。

5.根据权利要求1所述的一种建立缓存优先级预测机制实现LRU优化的方法其特征在于,其特征在于:缓存标签预测及是使用统计模块:标签的使用次数为使用次数为计算时间内的所有使用次数;过滤出最近统计时间内时段使用次数大于阀值的历史记录,时间段连续的记录合并为一条记录,两条历史记录的时间跨度为历史记录的使用时长;相邻两条记录之间的开始使用时间之差为记录空闲时间;把它们按照从近到远权重递减分配不同的权重,最后根据公式(如图3)计算出缓存标签的使用时长和空闲时长,其中:ai某个时段百分比权重;βi : 某个时段使用时长或者空闲时长;n :合并后的时段数。

6.根据权利要求1所述的一种建立缓存优先级预测机制实现LRU优化的方法其特征在于,其特征在于:缓存优先级计算及使用次数维护模块:如果当前时间在缓存标签最近使用时间和缓存标签最近使用时间 + 使用时长 ,表示缓存有效,预计使用时间为立刻;无效缓冲的当前时间 + 空闲时长作为缓存标签的预计使用时间;缓存优先级最高1级,最低10级,优先级公式=(当前时间 - 缓存预计使用时间)/ 优先级时长 + 1,大于10的全部按照10进行计算;取预计时间最近的缓存标签作为缓存的统计标签来计算优先级,使用记录为最近缓存标签的使用记录。

7.根据权利要求1所述的一种建立缓存优先级预测机制实现LRU优化的方法其特征在于,其特征在于:缓存优先级淘汰模块:定期检查缓存信息,在发现缓存记录大于最大缓存时启动缓存淘汰机制,缓存淘汰优先级最高的缓存,如果优先级相等淘汰使用次数最少的缓存。

8.根据权利要求1所述的一种建立缓存优先级预测机制实现LRU优化的方法其特征在于,其特征在于:缓存使用模块:一个业务系统在使用缓存之前先对缓存进行全局的业务标签规划,定义要使用的标签规则,在保存缓存的时候传入缓存ID、相关标签ID,及缓存的内容,在使用过程中也可以动态的维护缓存的标签,获取缓存内容的时候只要传入缓存ID即可。

...

【技术特征摘要】

1.一种建立缓存优先级预测机制实现lru优化的方法其特征在于:在传统lru算法基础上,增加基于使用时间维度+多种业务维度的多维度标签,并通过统计业务标签的使用时间及频率,来预测某个缓存的优先级,淘汰优先级最低的缓存,实现lru在应用过程中准确率的优化和提升。

2.本发明包括缓存及标签模型模块、缓存标签及历史数据维护模块、缓存标签预测及是使用统计模块、缓存优先级计算及使用次数维护模块、缓存优先级淘汰模块、缓存使用模块。

3.根据权利要求1所述的一种建立缓存优先级预测机制实现lru优化的方法其特征在于,其特征在于:缓存及标签模型模块:每个缓存在生成的时候有一个唯一id,同时内置固定的优先级别、最近使用次数(15分钟)、最近使用时间;另外每个缓存支持动态的业务标签维护;每个标签为一个全局的标签,包含最近使用时间、使用时长、空闲时长、最近使用次数、标签id;标签历史记录按照时间进行维护(比如间隔5秒),相同时段内的记录使用次数。

4.根据权利要求1所述的一种建立缓存优先级预测机制实现lru优化的方法其特征在于,其特征在于:缓存标签及历史数据维护模块:在给一个缓存通过标签id添加一个业务标签的时候,如果标签不存在会生成一个全局的标签信息,标签的下次使用时间为当前时段;每次缓存命中的时候,都增加缓存所有标签最新使用历史记录,同时更新相同时段的历史记录增加使用次数。

5.根据权利要求1所述的一种建立缓存优先级预测机制实现lru优化的方法其特征在于,其特征在于:缓存标签预测及是使用统计模块:标签的使用次数为使用次数为计算时间内的所有使用次数;过滤出最近统计时间内时段使用次数大于阀值的历史记录,...

【专利技术属性】
技术研发人员:蒋敬洪陶思翰朱志强
申请(专利权)人:翼集分上海数字科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1