一种缓存方法及装置制造方法及图纸

技术编号:21477030 阅读:25 留言:0更新日期:2019-06-29 04:42
本文公开了一种缓存方法及装置;该缓存方法,包括:根据访问请求所请求的对象的大小,计算该对象的缓存概率;根据该对象的缓存概率,确定是否将该对象写入缓存区域。如此,能够在确保缓存区域的字节命中率BHR的前提下,提高缓存区域的对象命中率OHR。

【技术实现步骤摘要】
一种缓存方法及装置
本申请涉及但不限于数据处理技术,尤其涉及一种缓存方法及装置。
技术介绍
为了提高数据的访问效率,一般会在磁盘存储前增加内存或是SSD(SolidStateDrives,固态硬盘)的多级缓存区域。但是由于这部分存储空间相对于磁盘存储空间要小很多,所以需要通过一定的算法来提高缓存区域的利用率。目前常用的算法包括FIFO(FirstInputFirstOutput,先进先出)、LRU(LeastRecentlyUsed,最近最少使用)、LFU(LeastFrequentlyUsed,最近最不常用)、S4LRU等。其中,FIFO在需要添加缓存区域访问未命中的数据时,淘汰最先进队列的数据;LRU维护一个按访问次数排序的优先队列(小顶堆),每次需要淘汰时淘汰队列头部(访问次数最少的)数据;LFU维护一个先按访问次数再按访问时间排序的优先队列;S4LRU通过多层LRU来实现。这些算法通常基于数据的访问次数和访问时间来淘汰缓存区域内的数据,然而,在一些场景下,上述算法的处理无法确保缓存区域的OHR(ObjectHitRatio,对象命中率)。
技术实现思路
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。本申请实施例提供一种缓存方法及装置,能够在确保缓存区域的BHR(BitHitRatio,字节命中率)的前提下,提高缓存区域的OHR(ObjectHitRatio,对象命中率)。第一方面,本申请实施例提供一种缓存方法,包括:根据访问请求所请求的对象的大小,计算所述对象的缓存概率;根据所述对象的缓存概率,确定是否将所述对象写入缓存区域。在示例性实施方式中,所述根据访问请求所请求的对象的大小,计算所述对象的缓存概率,可以包括以下之一:根据访问请求所请求的对象的大小,确定所述对象所属的对象集合;根据缓存区域内所述对象集合的访问占比和存储占比,计算所述对象的缓存概率;根据访问请求所请求的对象的大小,确定所述对象所属的对象集合;根据缓存区域内所述对象集合的累积访问占比和累积存储占比,计算所述对象的缓存概率。在示例性实施方式中,所述根据缓存区域内所述对象集合的访问占比和存储占比,计算所述对象的缓存概率,可以包括:根据下式计算所述对象的缓存概率:P=P’×(α×A+(1-α)×S);其中,P表示所述对象的缓存概率,α表示权重因子,α大于0且小于1,A表示所述对象所属的对象集合的访问占比,S表示所述对象所属的对象集合的存储占比,P’表示根据所述对象的访问频次和访问时间中至少之一确定的缓存替换概率。在示例性实施方式中,所述根据所述对象的缓存概率,确定是否将所述对象写入缓存区域,可以包括:在所述对象的缓存概率大于概率阈值时,确定将所述对象写入缓存区域;在所述对象的缓存概率小于或等于概率阈值时,确定不在缓存区域缓存所述对象;其中,所述概率阈值的初始值为0,在所述缓存区域写满后,所述概率阈值的取值为所述缓存区域内所有对象的缓存概率中的最小值。在示例性实施方式中,上述方法还可以包括:若所述缓存区域中不存在所述访问请求所请求的对象且所述对象的大小小于或等于阈值,则确定将所述对象写入所述缓存区域。在示例性实施方式中,所述根据访问请求所请求的对象的大小,计算所述对象的缓存概率之前,上述方法还可以包括:接收访问请求后,判断缓存区域内是否存在所述访问请求所请求的对象;在所述缓存区域内没有所述对象时,从所述对象的源站或其他存储区域读取所述对象,并确定所述对象的大小。第二方面,本申请实施例提供一种缓存装置,包括:缓存概率计算模块,适于根据访问请求所请求的对象的大小,计算所述对象的缓存概率;缓存确定模块,适于根据所述对象的缓存概率,确定是否将所述对象写入缓存区域。在示例性实施方式中,所述缓存概率计算模块,可以适于通过以下方式之一根据访问请求所请求的对象的大小,计算所述对象的缓存概率:根据访问请求所请求的对象的大小,确定所述对象所属的对象集合;根据缓存区域内所述对象集合的访问占比和存储占比,计算所述对象的缓存概率;根据访问请求所请求的对象的大小,确定所述对象所属的对象集合;根据缓存区域内所述对象集合的累积访问占比和累积存储占比,计算所述对象的缓存概率。在示例性实施方式中,所述缓存确定模块,可以适于通过以下方式根据所述对象的缓存概率,确定是否将所述对象写入缓存区域:在所述对象的缓存概率大于概率阈值时,确定将所述对象写入缓存区域;在所述对象的缓存概率小于或等于概率阈值时,确定不在缓存区域缓存所述对象;其中,所述概率阈值的初始值为0,在所述缓存区域写满后,所述概率阈值的取值为所述缓存区域内所有对象的缓存概率中的最小值。第三方面,本申请实施例提供一种缓存装置,包括:存储器以及处理器;其中,所述存储器用于存储缓存程序;该缓存程序在被所述处理器读取执行时,执行以下操作:根据访问请求所请求的对象的大小,计算所述对象的缓存概率;根据所述对象的缓存概率,确定是否将所述对象写入缓存区域。此外,本申请实施例还提供一种计算机可读介质,存储有缓存程序,所述缓存程序被处理器执行时实现以下步骤:根据访问请求所请求的对象的大小,计算所述对象的缓存概率;根据所述对象的缓存概率,确定是否将所述对象写入缓存区域。在本申请实施例中,根据访问请求所请求的对象的大小,计算该对象的缓存概率;根据该对象的缓存概率,确定是否将该对象写入缓存区域。本申请实施例中,基于对象的大小,确定是否将对象写入缓存区域。如此,能够在确保缓存区域的BHR的前提下,提高缓存区域的OHR。比如,可以提升CDN(ContentDeliveryNetwork,内容分发网络)系统中缓存区域的小文件命中率。当然,实施本申请的任一产品不一定需要同时达到以上所有优点。附图说明图1为本申请实施例提供的缓存方法的实施场景示意图;图2为本申请实施例提供的缓存方法的流程图;图3为本申请实施例提供的缓存方法的示例流程图;图4为本申请实施例提供的缓存装置的示意图。具体实施方式以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。一些实施方式中,执行缓存方法的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。内存可能包括计算机可读介质中的非永久性存储器、随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPR本文档来自技高网...

【技术保护点】
1.一种缓存方法,其特征在于,包括:根据访问请求所请求的对象的大小,计算所述对象的缓存概率;根据所述对象的缓存概率,确定是否将所述对象写入缓存区域。

【技术特征摘要】
1.一种缓存方法,其特征在于,包括:根据访问请求所请求的对象的大小,计算所述对象的缓存概率;根据所述对象的缓存概率,确定是否将所述对象写入缓存区域。2.根据权利要求1所述的方法,其特征在于,所述根据访问请求所请求的对象的大小,计算所述对象的缓存概率,包括以下之一:根据访问请求所请求的对象的大小,确定所述对象所属的对象集合;根据缓存区域内所述对象集合的访问占比和存储占比,计算所述对象的缓存概率;根据访问请求所请求的对象的大小,确定所述对象所属的对象集合;根据缓存区域内所述对象集合的累积访问占比和累积存储占比,计算所述对象的缓存概率。3.根据权利要求2所述的方法,其特征在于,所述根据缓存区域内所述对象集合的访问占比和存储占比,计算所述对象的缓存概率,包括:根据下式计算所述对象的缓存概率:P=P’×(α×A+(1-α)×S);其中,P表示所述对象的缓存概率,α表示权重因子,α大于0且小于1,A表示所述对象所属的对象集合的访问占比,S表示所述对象所属的对象集合的存储占比,P’表示根据所述对象的访问频次和访问时间中至少之一确定的缓存替换概率。4.根据权利要求1所述的方法,其特征在于,所述根据所述对象的缓存概率,确定是否将所述对象写入缓存区域,包括:在所述对象的缓存概率大于概率阈值时,确定将所述对象写入缓存区域;在所述对象的缓存概率小于或等于概率阈值时,确定不在缓存区域缓存所述对象;其中,所述概率阈值的初始值为0,在所述缓存区域写满后,所述概率阈值的取值为所述缓存区域内所有对象的缓存概率中的最小值。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述缓存区域中不存在所述访问请求所请求的对象且所述对象的大小小于或等于阈值,则确定将所述对象写入所述缓存区域。6.根据权利要求1或5所述的方法,其特征在于,所述根据访问请求所请求的对象的大小,计算所述对象的缓存概率之前,所述方法还包括:...

【专利技术属性】
技术研发人员:刘廷伟李志明闵庆欢朱照远
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1