一种缓存管理方法及设备与流程

文档序号:12011621阅读:190来源:国知局
一种缓存管理方法及设备与流程
本发明涉及缓存技术领域,具体涉及一种缓存管理方法及设备。

背景技术:
在多媒体应用中,使用缓存(Cache)可以将一些热点内容(如音视频)缓存到距离用户比较近的代理服务器上,这样做不仅可以减轻源服务器的负载和减少骨干网带宽占用,还可以加速对用户的响应,从而提升用户体验。在实际应用中,代理服务器通常采用Cache算法来识别热点内容。一种典型的Cache算法是LFU(LeastFrequentlyUsed)算法,一般地LFU算法以内容的点击次数作为热度值,热度值越大,说明该内容的热点越高;反之,则说明该内容的热点越低。上述LFU算法以内容的点击次数作为热度值,使得过去被访问多次而现在很少被访问的内容仍被推测为热点内容,不能很好的权衡内容的价值。

技术实现要素:
本发明实施例提供一种缓存管理方法及设备,能够更加全面的权衡内容的价值。一种缓存管理方法,包括:接收客户端发送的携带有内容标识的内容请求消息;从所述内容请求消息中获取所述内容标识,并判断缓存硬盘中是否缓存有与所述内容标识相对应的内容,如果有,则将所述内容发送给所述客户端;更新所述内容的点击次数,以获得所述内容的当前点击次数;根据所述内容的近期访问信息计算所述内容的加热速度权重,所述加热速度权重用于表明所述内容近期的变热程度;计算所述内容的加热速度权重和当前点击次数的乘积,以获得所述内容的热度值。一种缓存管理设备,包括:接收单元,用于接收客户端发送的携带有内容标识的内容请求消息;获取单元,用于从所述内容请求消息中获取所述内容标识;第一判断单元,用于判断缓存硬盘中是否缓存有与所述内容标识相对应的内容;发送单元,用于在所述第一判断单元的判断结果为是时,将所述内容发送给所述客户端;更新单元,用于更新所述内容的点击次数,以获得所述内容的当前点击次数;第一计算单元,用于根据所述内容的近期访问信息计算所述内容的加热速度权重,所述加热速度权重用于表明所述内容近期的变热程度;第二计算单元,用于计算所述内容的加热速度权重和当前点击次数的乘积,以获得所述内容的热度值。本发明实施例中,Cache内容的热度值是通过计算Cache内容的加热速度权重和当前点击次数的乘积来获得的,而Cache内容的加热速度权重用于表明Cache内容近期的变热程度。也即是说,本发明实施例在权衡Cache内容的价值时,不仅考虑了Cache内容的当前点击次数(即考虑了Cache内容的长期性),还考虑了Cache内容的加热速度权重(即考虑了Cache内容的局部性),从而能够更加全面的权衡内容的价值,有利于提高Cache命中率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种缓存管理方法的流程图;图2是本发明实施例提供的另一种缓存管理方法的流程图;图3是本发明实施例提供的一种缓存管理设备的结构图;图4是本发明实施例提供的另一种缓存管理设备的结构图;图5是本发明实施例提供的又一种缓存管理设备的结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种缓存管理方法及设备,能够更加全面的权衡内容的价值,有利于提高Cache命中率。以下分别进行详细说明。实施例一:请参阅图1,图1是本发明实施例一提供的一种缓存管理方法的流程图。其中,图1所示的缓存管理方法可以应用于视频点播(VideoOnDemand,VOD)系统,也可以应用于其他的系统,本发明实施例不作限定。如图1所示,该方法可以包括以下步骤:101、接收客户端发送的携带有内容标识的内容请求消息。本发明实施例中,可以由代理服务器来接收客户端发送的携带有内容标识的内容请求消息。其中,内容标识用于区别内容,不同内容的内容标识不同。其中,客户端可以是计算机、移动电话、个人数字助理(PersonalDigitalAssistant,PDA)以及膝上型电脑(laptopcomputer)等,本发明实施例不作限定。102、从内容请求消息中获取内容标识,并判断Cache硬盘中是否缓存有与该内容标识相对应的内容,如果有,则将该内容发送给客户端。本发明实施例中,代理服务器可以从内容请求消息中获取内容标识,并判断出Cache硬盘中缓存有与该内容标识相对应的内容之后,直接将该内容发送给客户端。103、更新与该内容标识相对应的内容的点击次数,以获得该内容的当前点击次数。本发明实施例中,代理服务器可以将与该内容标识相对应的内容的点击次数加1,以获得该内容的当前点击次数。或者,代理服务器更新与该内容标识相对应的内容的点击次数时,也可以将与该内容标识相对应的内容的点击次数加n,n为大于1的自然数,本发明实施例不作限定。104、根据该内容的近期访问信息计算该内容的加热速度权重,其中,加热速度权重用于表明该内容近期的变热程度。本发明实施例中,代理服务器可以根据该内容的近期访问信息计算该内容的加热速度权重。其中,对于上述步骤104的具体实现,本发明实施例后续将通过具体的实施例来进行详细说明。105、计算该内容的加热速度权重和当前点击次数的乘积,以获得内容的热度值。本发明实施例中,代理服务器可以计算该内容的加热速度权重和当前点击次数的乘积,以获得内容的热度值。本发明实施例一中,Cache内容的热度值是通过计算Cache内容的加热速度权重和当前点击次数的乘积来获得的,而Cache内容的加热速度权重用于表明Cache内容近期的变热程度。也即是说,本发明实施例在权衡Cache内容的价值时,不仅考虑了Cache内容的当前点击次数(即Cache内容的长期性),还考虑了Cache内容的加热速度权重(即Cache内容的局部性),从而能够更加全面的权衡内容的价值,有利于提高Cache命中率。实施例二:请参阅图2,图2是本发明实施例二提供的一种缓存管理方法的流程图。其中,图2所示的缓存管理方法也可以应用于VOD系统,也可以应用于其他的系统,本发明实施例不作限定。在图2所示的缓存管理方法中,Cache可以包括Cache硬盘和Cache内存两部分。其中,Cache硬盘用于缓存一些热度值超过进入Cache硬盘的阈值的热点内容,Cache硬盘中的热点内容可以较长时间地为用户提供服务,而Cache内存用于缓存一些热度值没有超过进入Cache硬盘的阈值的内容;Cache内存中的内容可以暂时为用户提供服务。其中,Cache不仅记录Cache硬盘里的热点内容的近期访问信息,也记录Cache内存里的内容的近期访问信息。如图2所示,该方法可以包括以下步骤:201、代理服务器接收客户端发送的携带有内容标识的内容请求消息。202、代理服务器从内容请求消息中获取内容标识。203、代理服务器判断Cache硬盘中是否缓存有与该内容标识相对应的内容,如果有,则执行步骤204~207,并结束本流程;如果否,则执行步骤208。204、代理服务器将与该内容标识相对应的内容发送给客户端。其中,如果代理服务器判断出Cache硬盘中缓存有与该内容标识相对应的内容,则说明Cache命中,代理服务器可以直接将与该内容标识相对应的内容发送给客户端,为客户端提供内容服务。205、代理服务器更新与该内容标识相对应的内容的点击次数,以获得该内容的当前点击次数。206、代理服务器根据该内容的近期访问信息计算该内容的加热速度权重,其中,加热速度权重用于表明该内容近期的变热程度。207、代理服务器计算该内容的加热速度权重和当前点击次数的乘积,以获得内容的热度值。208、代理服务器判断是否记录有该内容的近期访问信息,如果是,则执行步骤205~207以及209;如果否,则执行步骤212~211,并结束本流程。209、代理服务器判断获得的热度值是否超过进入Cache硬盘的阈值,如果是,执行步骤210,并结束本流程;如果否,则执行步骤211,并结束本流程。210、代理服务器请求源服务器下发该内容,并将源服务器下发的该内容缓存到Cache硬盘中,以及将该内容发送给客户端。实际应用中,代理服务器通过骨干网连接源服务器,因此,代理服务器可以通过骨干网请求源服务器下发该内容;以及通过骨干网接收源服务器下发的该内容,并缓存到Cache硬盘中,以及将该内容发送给客户端。其中,如果Cache硬盘的空间足够,则代理服务器可以直接将源服务器下发的该内容缓存到Cache硬盘中;如果Cache硬盘的空间不足,则代理服务器可以将源服务器下发的该内容替换Cache硬盘中的热度值最小的热点内容。211、代理服务器请求源服务器下发该内容,并将源服务器下发的该内容缓存到缓存内存中,以及将该内容发送给客户端。212、代理服务器请求记录该内容的近期访问信息。本发明实施例二中,Cache内容的热度值是通过计算Cache内容的加热速度权重和当前点击次数的乘积来获得的,而Cache内容的加热速度权重用于表明Cache内容近期的变热程度。也即是说,本发明实施例在权衡Cache内容的价值时,不仅考虑了Cache内容的当前点击次数(即Cache内容的长期性),还考虑了Cache内容的加热速度权重(即Cache内容的局部性),从而能够更加全面的权衡内容的价值,有利于提高Cache命中率。如前面实施例一和实施例二所描述的,代理服务器可以根据客户端请求的内容的近期访问信息计算该内容的加热速度权重,该加热速度权重用于表明该内容近期的变热程度。本发明实施例下面将通过具体的实施例来详细介绍代理服务器如何根据内容的近期访问信息计算该内容的加热速度权重。实施例三:本发明实施例三提供的一种根据内容的近期访问信息计算该内容的加热速度权重的方法。本发明实施例三提供的方法中,Cache可以记录每一个内容(包括Cache硬盘缓存的热点内容以及Cache内存缓存的内容)在近期N个周期内的点击次数,N大于1;也即是说每一个内容的近期访问信息可以包括该内容在近期N个周期内的点击次数。在此基础上,在需要计算某一个内容的加热速度权重时,代理服务器可以先计算近期N个周期内的Cache中所有内容的平均点击次数,并将该平均点击次数作为基准点击次数;然后再计算该内容在近期N个周期内的点击次数相对于该基准点击次数的点击次数差值;以及根据该点击次数差值,从点击次数差值与加热速度权重的对应关系中获取该内容的加热速度权重。举例来说,假如近期N个周期内的Cache中所有内容的平均点击次数为100,那么Cache中每一个内容在近期N个周期内的点击次数相对于100的点击次数差值与加热速度权重的对应关系可以如表1所示。表1点击次数差值<-50-50~50>50加热速度权重0.512从表1可以看出,如果某一个内容在近期N个周期内的点击次数超过平均点击次数,则说明该内容近期N个周期内比较热,故应分配一个较大的加热速度权重。如果该内容没有进入Cache硬盘,则分配较大的加热速度权重后可以加速其进入Cache硬盘。反之,如果某一个内容在近期N个周期内的点击次数低于平均点击次数,则说明该内容在近期N个周期内很少被被点击,该内容比较冷,应分配一个较小的加热速度权重,加速其淘汰。实施例四:本发明实施例四提供的另一种根据内容的近期访问信息计算该内容的加热速度权重的方法。本发明实施例四提供的方法中,Cache可以定义一个周期T(T的取值不能太大),并分别采用二维数组来记录每一个内容在前一周期的点击次数和当前周期的点击次数。也即是说每一个内容的近期访问信息可以包括该内容的当前周期的点击次数和前一周期的点击次数。针对每一个内容,Cache还可以启动计时,当计时t到达周期T时,Cache可以将原来的前一周期的点击次数清零,并开始记录当前周期的点击次数,以及将原来的当前周期的点击次数变为前一周期的点击次数。在此基础上,在需要计算某一个内容的加热速度权重时,代理服务器可以根据以下公式计算该内容的加热速度权重:其中,T表示周期,t表示当前周期运行的时间,t取值为(0,T]。其中,当前周期的点击数即是从本周期开始到t时间的点击数。其中,(即前一周期运行t时间的点击量),则说明该内容正在加速变热,故应分配给一个较大的加热速度权重;否则,则说明该内容正在变冷,故应分配一个较小的加热速度权重。实施例五:本发明实施例五提供的另一种根据内容的近期访问信息计算该内容的加热速度权重的方法。本发明实施例五提供的方法中,每一个内容的近期访问信息包括该内容的第一次被点击时间Tf、近期被访问时间Tr以及被点击次数Counter,其中,Counter大于1。在此基础上,在需要计算某一个内容的加热速度权重时,代理服务器可以先计算当前时间Tc与Tr的差值,以获得该内容从近期被访问时间到当前时间的时间间隔Tlast;再根据公式(Tr-Tf)/(Counter-1)计算该内容过去被访问的平均时间间隔Tave;当Tlast<Tave时,说明该内容的访问频率越来越高,该内容正处于热度上升阶段,应给该内容分配较大的加热速度权重,因此代理服务器可以根据公式Tave/Tlast计算出该内容的加热速度权重。当Tlast>Tave时,说明该内容的访问频率越来越低,该内容正处于热度下降阶段,应给该内容分配较小的加热速度权重,因此代理服务器可以根据公式Tave/Tlast计算出该内容的加热速度权重。实施例六:请参阅图3,图3是本发明实施例提供的一种缓存管理设备的结构。本发明实施例六提供的缓存管理设备既可以作为一个独立设备,也可以作为现有代理服务器新增加的一部分,用于实现Cache管理。如图3所示,该缓存管理设备可以包括:接收单元301,用于接收客户端发送的携带有内容标识的内容请求消息。获取单元302,用于从上述的内容请求消息中获取内容标识。第一判断单元303,用于判断Cache硬盘中是否缓存有与上述内容标识相对应的内容。发送单元304,用于在第一判断单元303的判断结果为是时,将该内容发送给客户端。更新单元305,用于更新该内容的点击次数,以获得该内容的当前点击次数。第一计算单元306,用于根据该内容的近期访问信息计算该内容的加热速度权重,其中,加热速度权重用于表明该内容近期的变热程度。第二计算单元307,用于计算该内容的加热速度权重和当前点击次数的乘积,以获得该内容的热度值。如图3所示,本发明实施例六提供的缓存管理设备还可以包括:第二判断单元308,用于在第一判断单元303的判断结果为否时,判断是否记录有该内容的近期访问信息,如果有,则通知更新单元305执行更新该内容的点击次数,以获得该内容的当前点击次数;以及通知第一计算单元306执行根据该内容的近期访问信息计算该内容的加热速度权重;以及通知第二计算单元307执行计算该内容的加热速度权重和当前点击次数的乘积,以获得内容的热度值。第三判断单元309,用于判断第二计算单元307获得的热度值是否超过进入Cache硬盘的阈值。请求单元310,用于在第三判断单元309的判断结果为是时,请求源服务器下发该内容,并将源服务器下发的该内容缓存到Cache硬盘中。相应地,发送单元304还用于将请求单元310缓存到Cache硬盘中的源服务器下发的该内容发送给客户端。一个实施例中,请求单元310还用于在第三判断单元的判断结果为否时,请求源服务器下发该内容,并将源服务器下发的该内容缓存到Cache内存中;相应地,发送单元304还用于将请求单元310缓存到Cache内存中的源服务器下发的该内容发送给客户端。如图3所示,本发明实施例六提供的缓存管理设备还可以包括:记录单元311,用于在第二判断单元308的判断结果为否时,记录该内容的近期访问信息;相应地,请求单元310还用于在记录单元311记录该内容的近期访问信息之后,请求源服务器下发内容,并将源服务器下发的该内容缓存到Cache内存中。一个实施例中,更新单元305具体用于将该内容的点击次数加1,以获得该内容的当前点击次数。一个实施例中,上述内容的近期访问信息包括该内容的当前周期的点击次数和前一周期的点击次数。相应地,第一计算单元306具体可以用于根据以下公式计算该内容的加热速度权重:其中,T表示周期,t表示当前周期运行的时间,t取值为(0,T]。请参阅图4,图4是本发明实施例六提供的另一种缓存管理设备的结构。其中,图4所示的缓存管理设备是由图3所示的缓存管理设备进行优化得到的。在图4所示的缓存管理设备中,上述内容的近期访问信息包括该内容在近期N个周期内的点击次数,其中,N大于1。如图4所示,第一计算单元306可以包括:第一模块3061,用于计算近期N个周期内的Cache硬盘中所有内容的平均点击次数,将该平均点击次数作为基准点击次数;第二模块3062,用于计算该内容在近期N个周期内的点击次数相对于基准点击次数的点击次数差值;第三模块3063,用于根据该点击次数差值,从点击次数差值与加热速度权重的对应关系中获取该内容的加热速度权重。一个实施例中,更新单元305具体用于将该内容的点击次数加1,,以获得该内容的最近N个周期最新的点击次数;N大于1。请参阅图5,图5是本发明实施例六提供的又一种缓存管理设备的结构。其中,图5所示的缓存管理设备是由图3所示的缓存管理设备进行优化得到的。在图5所示的缓存管理设备中,上述内容的近期访问信息包括该内容的第一次被点击时间Tf、近期被访问时间Tr以及被点击次数Counter,Counter大于1。如图5所示,第一计算单元306可以包括:第四模块3064,用于计算当前时间Tc与Tr的差值,以获得该内容从近期被访问时间到当前时间的时间间隔Tlast;第五模块3065,用于根据公式(Tr-Tf)/(Counter-1)计算该内容过去被访问的平均时间间隔Tave;第六模块3066,用于在Tlast<Tave时,根据公式Tave/Tlast计算该内容的加热速度权重;或者用于在Tlast>Tave,时根据公式Tave/Tlast计算该内容的加热速度权重。本发明实施例六提供的缓存管理设备中,Cache内容的热度值是通过计算Cache内容的加热速度权重和当前点击次数的乘积来获得的,而Cache内容的加热速度权重用于表明Cache内容近期的变热程度。也即是说,本发明实施例六提供的缓存管理设备在权衡Cache内容的价值时,不仅考虑了Cache内容的当前点击次数(即考虑了Cache内容的长期性),还考虑了Cache内容的加热速度权重(即考虑了Cache内容的局部性),从而能够更加全面的权衡内容的价值,有利于提高Cache命中率。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-OnlyMemory,ROM)、随机存取器(RandomAccessMemory,RAM)、磁盘或光盘等。以上对本发明实施例所提供的缓存管理方法及设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1