缓存容量限值确定方法和装置以及计算设备制造方法及图纸

技术编号:16482921 阅读:33 留言:0更新日期:2017-10-31 15:32
本发明专利技术公开了一种缓存容量限值确定方法和装置以及计算设备。该缓存容量限值确定方法包括:按照预定规则,调整缓存容量限值;计算与调整后的缓存容量限值相对应的缓存命中率;以及迭代执行调整所述缓存容量限值的步骤与计算所述缓存命中率的步骤,直到计算出的缓存命中率满足指定条件。利用本发明专利技术,能够根据设备磁盘缓存的具体使用状况,在保证缓存命中率最优的情况下将缓存容量限值动态地调整到适当的水平,从而提高了设备的网络访问性能。

Method and device for determining cache capacity limit value and computing equipment

The invention discloses a method and device for determining the limiting value of cache capacity and a computing device. The cache capacity includes value determination method: according to predetermined rules, adjust the cache capacity limit; calculation and buffer capacity after adjusting the limit value corresponding to the cache hit rate; and the iterative execution steps of the adjustment of cache capacity and calculation steps of the value of the cache hit rate, until the calculated cache hit rate meet the specified conditions. By using the invention, according to the specific equipment disk cache usage, to ensure optimal cache hit rate the cache capacity limit is dynamically adjusted to the appropriate level, so as to improve the performance of network access equipment.

【技术实现步骤摘要】
缓存容量限值确定方法和装置以及计算设备
本专利技术总体上涉及磁盘缓存
,特别是涉及一种动态确定磁盘中用于网络数据的缓存容量的限值的方法和装置以及计算设备。
技术介绍
在终端设备中,应用程序通过网络获取资源时,可在获取后将资源缓存在本地磁盘中,以便于下次再次获取时可根据一定的规则来判断是使用磁盘中缓存的数据还是再次通过网络获取。这是提高网络访问性能最基础的技术之一。随着获取的资源越来越多,缓存会占用很大乃至过多的磁盘空间,而且会降低缓存命中率,即,使用缓存获取资源的次数与总获取资源次数之比,还会降低“判断是否使用缓存”这一运算的性能。这是因为在假定用户的使用习惯相对稳定的情况下,尽管理论上缓存命中率随着缓存容量的增加而逐渐趋于稳定,但实践中随着缓存容量的增加,缓存读取出错而导致无法使用的概率增大,而且缓存被系统或应用程序误删或篡改而不可用的概率也增大,最终会导致缓存命中率下降。而缓存命中率在一定程度上与网络输入输出时间和网络流量相关联。一般来说,缓存命中率越低,用户访问网络资源所需的时间就越长,所耗费的网络流量也越高。因此,为了提高网络访问性能,需要对缓存容量进行限制。在现有技术中,磁盘的缓存容量限值通常被设定为常量值。一般来说,可以通过两种方法来确定缓存容量限值:一是通过经验值,二是通过对大量样本进行统计计算得到的平均值。使用常量值作为缓存容量限值可能可以使应用程序在大量设备上运行时达到平均命中率最优,这里最优是指在其它同等条件下命中率最大。然而,每台设备的用户不同、使用习惯不同、访问的网络资源集合也不同,因此对大多数设备而言,利用根据现有技术设定的缓存容量限值获得的缓存命中率并非是平均值,也就不是针对这台设备的最优选择。因而,需要一种能够根据设备的具体使用状况而动态地确定缓存容量限值的方法和装置。
技术实现思路
本专利技术的一个目的在于,根据设备磁盘缓存的具体使用状况,动态地调整缓存容量限值,以使得设备的缓存命中率达到其自身的最优值。为此,本专利技术的缓存容量限值确定方法和装置,按照预定规则,逐步增大和/或减小设备的缓存容量限值,并确定在一定时间段内的最优缓存命中率,然后与该最优缓存命中率对应的缓存容量限值可以被设定为设备在随后一段时期内的缓存容量固定值。根据本专利技术的一个方面,提供了一种缓存容量限值确定方法,包括以下步骤:按照预定规则,调整缓存容量限值;计算与调整后的缓存容量限值相对应的缓存命中率;以及迭代执行调整所述缓存容量限值的步骤与计算所述缓存命中率的步骤,直到计算出的缓存命中率满足指定条件。利用本方法,能够根据设备磁盘缓存的具体使用状况,在保证缓存命中率最优的情况下将缓存容量限值动态地调整到适当的水平,从而提高了设备的网络访问性能。在本专利技术的一个实施例中,所述指定条件被设定为:命中率提升值小于等于零,其中,所述命中率提升值定义为,与调整后的缓存容量限值相对应的缓存命中率和与调整前的缓存容量限值相对应的缓存命中率之差。在本专利技术的进一步的实施例中,所述指定条件被设定为:所述命中率提升值小于等于零的次数累计或连续达到指定考察次数。利用本实施例,充分考虑了缓存命中率随时间波动的特性,由此便于更加准确地确定最佳缓存容量限值。在本专利技术的一个实施例中,所述按照预定规则调整缓存容量限值的步骤包括:以指定步幅,增大和/或减小所述缓存容量限值。利用本实施例,通过双向或单向逐步调整缓存容量限值,能够保证获得适于指定设备的最优缓存命中率。在本专利技术的一个实施例中,所述按照预定规则调整缓存容量限值的步骤还包括:基于预定条件,调整所述指定步幅。在本专利技术的进一步的实施例中,所述基于预定条件调整所述指定步幅的步骤进一步包括:判断在上一次迭代中的所述命中率提升值是否小于预定提升参考值;和在判定所述命中率提升值小于所述预定提升参考值的情况下,增大所述指定步幅。利用本实施例,通过提高缓存容量限值的调整步幅,使得能够快速确定实现最大缓存命中率的最优缓存容量限值。在本专利技术的进一步的实施例中,所述增大所述缓存容量限值的步骤进一步包括:判断增大后的所述缓存容量限值是否超过缓存最大容量限值;和在判定增大后的所述缓存容量限值超过所述缓存最大容量限值的情况下,将所述缓存最大容量限值设定为调整后的所述缓存容量限值。利用本实施例,能够保证在调整缓存容量限值的过程中不会超出设备硬件或其他因素所限定的设备缓存最大容量限值。在本专利技术的一个实施例中,所述缓存容量限值确定方法还包括以下步骤:基于经验值或统计值,设定初始缓存容量限值;以及计算与所述初始缓存容量限值相对应的初始命中率。利用经验值或统计值作为初始缓存容量限值,使得能够准确、快速地确定实现最大缓存命中率的最优缓存容量限值。在本专利技术的一个实施例中,所述缓存容量限值确定方法还包括以下步骤:确定缓存命中率最大的缓存容量限值。在本专利技术的进一步的实施例中,所述确定缓存命中率最大的缓存容量限值的步骤包括:获取通过增大所述缓存容量限值而迭代计算出的正向最大命中率;获取通过减小所述缓存容量限值而迭代计算出的反向最大命中率;判断所述初始命中率、所述正向最大命中率以及所述反向最大命中率中的最大者;以及确定与所判定的命中率最大者相对应的缓存容量限值。在本专利技术的一个实施例中,所述计算与调整后的缓存容量限值相对应的缓存命中率的步骤包括:计算在调整了所述缓存容量限值后的预定时间内的缓存命中率。根据本专利技术的另一方面,提供了一种缓存容量限值确定装置,包括:容量调整单元,用于按照预定规则,调整缓存容量限值;命中率计算单元,用于计算与调整后的缓存容量限值相对应的缓存命中率;以及迭代单元,用于使得所述容量调整单元和所述命中率计算单元迭代执行调整所述缓存容量限值的操作与计算所述缓存命中率的操作,直到计算出的缓存命中率满足指定条件。在本专利技术的一个实施例中,所述指定条件被设定为:命中率提升值小于等于零,其中,所述命中率提升值定义为,与调整后的缓存容量限值相对应的缓存命中率和与调整前的缓存容量限值相对应的缓存命中率之差。在本专利技术的进一步的实施例中,所述指定条件被设定为:所述命中率提升值小于等于零的次数累计或连续达到指定考察次数。在本专利技术的一个实施例中,所述容量调整单元包括:容量增/减子单元,用于以指定步幅,增大和/或减小所述缓存容量限值。在本专利技术的一个实施例中,所述容量调整单元还包括:步幅调整子单元,用于基于预定条件,调整所述指定步幅。在本专利技术的进一步的实施例中,所述步幅调整子单元进一步包括:第一判断模块,用于判断在上一次迭代中的所述命中率提升值是否小于预定提升参考值;和步幅调整模块,用于在判定所述命中率提升值小于所述预定提升参考值的情况下,增大所述指定步幅。在本专利技术的进一步的实施例中,所述容量增/减子单元进一步包括:第二判断模块,用于判断增大后的所述缓存容量限值是否超过缓存最大容量限值;和最大容量设定模块,用于在判定增大后的所述缓存容量限值超过所述缓存最大容量限值的情况下,将所述缓存最大容量限值设定为调整后的所述缓存容量限值。在本专利技术的一个实施例中,所述缓存容量限值确定装置还包括:初始容量设定单元,用于基于经验值或统计值,设定初始缓存容量限值;以及初始命中率计算单元,用于计算与所述初始缓存容量限值相对应的初始命中率本文档来自技高网
...
缓存容量限值确定方法和装置以及计算设备

【技术保护点】
一种缓存容量限值确定方法,包括以下步骤:按照预定规则,调整缓存容量限值;计算与调整后的缓存容量限值相对应的缓存命中率;以及迭代执行调整所述缓存容量限值的步骤与计算所述缓存命中率的步骤,直到计算出的缓存命中率满足指定条件。

【技术特征摘要】
1.一种缓存容量限值确定方法,包括以下步骤:按照预定规则,调整缓存容量限值;计算与调整后的缓存容量限值相对应的缓存命中率;以及迭代执行调整所述缓存容量限值的步骤与计算所述缓存命中率的步骤,直到计算出的缓存命中率满足指定条件。2.根据权利要求1所述的缓存容量限值确定方法,其中,所述指定条件被设定为:命中率提升值小于等于零,其中,所述命中率提升值定义为,与调整后的缓存容量限值相对应的缓存命中率和与调整前的缓存容量限值相对应的缓存命中率之差。3.根据权利要求2所述的缓存容量限值确定方法,其中,所述指定条件被设定为:所述命中率提升值小于等于零的次数累计或连续达到指定考察次数。4.根据权利要求2所述的缓存容量限值确定方法,其中,所述按照预定规则调整缓存容量限值的步骤包括:以指定步幅,增大和/或减小所述缓存容量限值。5.根据权利要求4所述的缓存容量限值确定方法,其中,所述按照预定规则调整缓存容量限值的步骤还包括:基于预定条件,调整所述指定步幅。6.根据权利要求5所述的缓存容量限值确定方法,其中,所述基于预定条件调整所述指定步幅的步骤进一步包括:判断在上一次迭代中的所述命中率提升值是否小于预定提升参考值;和在判定所述命中率提升值小于所述预定提升参考值的情况下,增大所述指定步幅。7.根据权利要求4所述的缓存容量限值确定方法,其中,所述增大所述缓存容量限值的步骤进一步包括:判断增大后的所述缓存容量限值是否超过缓存最大容量限值;和在判定增大后的所述缓存容量限值超过所述缓存最大容量限值的情况下,将所述缓存最大容量限值设定为调整后的所述缓存容量限值。8.根据权利要求1至7中任一项所述的缓存容量限值确定方法,还包括以下步骤:基于经验值或统计值,设定初始缓存容量限值;以及计算与所述初始缓存容量限值相对应的初始命中率。9.根据权利要求8所述的缓存容量限值确定方法,还包括以下步骤:确定缓存命中率最大的缓存容量限值。10.根据权利要求9所述的缓存容量限值确定方法,其中,所述确定缓存命中率最大的缓存容量限值的步骤包括:获取通过增大所述缓存容量限值而迭代计算出的正向最大命中率;获取通过减小所述缓存容量限值而迭代计算出的反向最大命中率;判断所述初始命中率、所述正向最大命中率以及所述反向最大命中率中的最大者;以及确定与所判定的命中率最大者相对应的缓存容量限值。11.根据权利要求1所述的缓存容量限值确定方法,其中,所述计算与调整后的缓存容量限值相对应的缓存命中率的步骤包括:计算在调整了所述缓存容量限值后的预定时间内的缓存命中率。12.一种缓存容量限值确定装置,包括:容量调整单元,用于按照预定规则,调整缓存容量限值;命中率计算单元,用于计算与调整后的缓存容量限值相对应的缓存命中率;以及迭代单元,用于使得所述容量调整单元和所述命中率计算单元迭代执行调整所述缓存容量限值的操作与计算所述缓存命中率的操作,直到计算出的缓存命中率满足指定条件。13.根据权利要求12所述的缓存容量限值确定装置,...

【专利技术属性】
技术研发人员:刘恒兴
申请(专利权)人:广州市动景计算机科技有限公司
类型:发明
国别省市:广东,44

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

1