System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及积分领域,特别是涉及一种建立缓存优先级预测机制实现lru优化的方法。
技术介绍
1、关于操作系统的内存管理,如何节省利用容量不大的内存为最多的进程提供资源,一直是研究的重要方向。而内存的虚拟存储管理,是现在最通用,最成功的方式——在内存有限的情况下,扩展一部分外存作为虚拟内存,真正的内存只存储当前运行时所用得到信息。这无疑极大地扩充了内存的功能,极大地提高了计算机的并发度。虚拟页式存储管理,则是将进程所需空间划分为多个页面,内存中只存放当前所需页面,其余页面放入外存的管理方式。
2、然而,有利就有弊,虚拟页式存储管理减少了进程所需的内存空间,却也带来了运行时间变长这一缺点:进程运行过程中,不可避免地要把在外存中存放的一些信息和内存中已有的进行交换,由于外存的低速,这一步骤所花费的时间不可忽略。因而,采取尽量好的算法以减少读取外存的次数,显得非常有必要。lru算法是解决问题的主流算法之一。
3、lru是least recently used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。
4、 lru实现简单,在一般情况下能够表现出很好的命中率,是一个“性价比”很高的算法,平时也很常用。虽然lru对突发性的稀疏流量(sparse bursts)表现很好,但同时也会产生缓存污染,举例来说
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优化的方法其特征在于,其特征在于:缓存标签及历史数据维护模块
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优化的方法其特征在于,其特征在于:缓存标签预测及是使用统计模块:标签的使用次数为使用次数为计算时间内的所有使用次数;过滤出最近统计时间内时段使用次数大于阀值的历史记录,...
【专利技术属性】
技术研发人员:蒋敬洪,陶思翰,朱志强,
申请(专利权)人:翼集分上海数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。