用于处理缓存数据的方法和设备与流程

文档序号:11155061阅读:360来源:国知局
用于处理缓存数据的方法和设备与制造工艺

本申请涉及计算机领域,尤其涉及一种处理缓存数据的技术。



背景技术:

在电商网站和门户网站中,为了提高用户的访问速度减少网络带宽消耗,同时缓解源站的压力,会使用缓存系统,以缓存之前访问过的页面和资源。但是,任何缓存系统的缓存空间都是有上限的,不可能无限量的缓存所有访问过的对象,同时为了保持数据的一致性,必须对缓存中的一些资源和对象进行淘汰。

因此淘汰算法的思想为:当缓存系统的存储区已被数据占满后,新的数据就无法存储,这时需要按照事先约定好的某种策略,将一部分当前不再具有存储价值的数据替换出去。目前,现有的淘汰算法是基于时间或者频率考虑的,例如,LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,记录每个需要缓存对象最近一次被访问的时间,需要淘汰时,淘汰最近一次访问时间最久的那个对象;对于电商或者门户网站,访问模式变化较大。当使用LRU算法时,如果出现类似顺序扫描访问这种访问模式而没有命中时,会把最近访问过而后续不会被访问的对象缓存,同时把缓存中有价值的缓存对象淘汰出去的误淘汰现象。LFU(Least Frequently Used,最近最不经常使用)算法根据数据的历史访问频率来淘汰数据,记录每个需要缓存对象的被访问次数,当需要淘汰时,淘汰访问次数最少的。电商或者门户网站,用户的访问量比较大。当使用LFU算法时,当缓存中的部分对象积累访问次数很大,会出现即使不再被引用而成为“死对象”也会被缓存的缓存污染现象。



技术实现要素:

本申请的目的是提供一种用于处理缓存数据的方法与设备,以解决缓存淘汰时的误淘汰和缓存污染问题。

根据本申请的一个方面,提供了一种用于处理缓存数据的方法,包括:

对访问请求所对应的未缓存数据进行缓存;

获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息;

在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。

其中,所述对访问请求所对应的未缓存数据进行缓存包括:

判断所述访问请求所对应的数据是否已缓存,如未缓存,则判断该数据是否能够缓存,如能够缓存,则对该数据进行缓存。

其中,所述获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息包括:

获取从常驻页面集合中每一网页到相应所述缓存数据的访问链接次数的信息;

基于最小的所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息。

进一步地,所述获取从常驻页面集合中每一网页到相应所述缓存数据的访问链接次数的信息包括:

当所述常驻页面集合中网页包括所述缓存数据时,则相应所述访问链接次数的信息为零;

当从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息超过阈值次数的信息,则相应所述访问链接次数的信息设置为无限大数值的信息。

进一步地,所述在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理包括:

基于所述访问距离的信息,将满足处理条件的所述缓存数据进行全部或部分处理。

进一步地,所述对访问请求所对应的未缓存数据进行缓存还包括:

记录所述缓存数据的被访问次数和/或最近一次访问时间;

当所述访问请求的数据为缓存数据,则更新相应所述缓存数据的使用次数和最近一次访问时间。

进一步地,将满足处理条件的所述缓存数据进行部分处理还包括:

在满足处理条件的所述缓存数据中,基于相应被访问次数和/或最近一次访问时间,对具有相同访问距离的所述缓存数据选择性处理。

进一步地,所述方法还包括:

记录所述缓存数据的有效期信息;

当所述缓存数据超出有效期,则对相应所述缓存数据进行处理。

进一步地,所述常驻页面中网页包括至少以下任一项:

网站首页;

网站子版块首页;

网站当前活跃网页。

根据本申请的另一方面,还提供了一种用于处理缓存数据的设备,包括:

缓存装置,用于对访问请求所对应的未缓存数据进行缓存;

获取装置,用于获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息;

处理装置,用于在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。

其中,所述缓存装置用于:

判断所述访问请求所对应的数据是否已缓存,如未缓存,则判断该数据是否能够缓存,如能够缓存,则对该数据进行缓存。

其中,所述获取装置用于:

获取从常驻页面集合中每一网页到相应所述缓存数据的访问链接次数的信息;

基于最小的所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息。

进一步地,所述获取装置还用于:

当所述常驻页面集合中网页包括所述缓存数据时,则相应所述访问链接次数的信息为零;

当从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息超过阈值次数的信息,则相应所述访问链接次数的信息设置为无限大数值的信息。

进一步地,所述处理装置用于:

基于所述访问距离的信息,将满足处理条件的所述缓存数据进行全部或部分处理。

进一步地,所述缓存装置还用于:

记录所述缓存数据的被访问次数和/或最近一次访问时间;

当所述访问请求的数据为缓存数据,则更新相应所述缓存数据的使用次数和最近一次访问时间。

进一步地,将满足处理条件的所述缓存数据进行部分处理还包括:

在满足处理条件的所述缓存数据中,基于相应被访问次数和/或最近一次访问时间,对具有相同访问距离的所述缓存数据选择性处理。

进一步地,所述设备还包括:

记录有效期装置,用于记录所述缓存数据的有效期信息;

所述处理装置还用于:当所述缓存数据超出有效期,则对相应所述缓存数据进行处理。

进一步地,所述常驻页面中网页包括至少以下任一项:

网站首页;

网站子版块首页;

网站当前活跃网页。

与现有技术相比,根据本申请的实施例所述方法及设备,通过对访问请求所对应的未缓存数据进行缓存;接着,获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息;然后,在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。通过基于访 问距离的信息对缓存数据进行处理的方式,使缓存数据的淘汰机制更为合理,减少缓存污染现象,避免不合理淘汰,从而提高了代理缓存服务器的性能,进而提高用户访问速度和个性化体验。

进一步地,在满足处理条件的所述缓存数据中,基于相应被访问次数和/或最近一次访问时间,对具有相同访问距离的所述缓存数据选择性处理,综合考虑空间、时间和频率的因素对缓存数据进行淘汰,进一步避免了淘汰缓存数据时的误淘汰和缓存污染问题。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种用于处理缓存数据的设备结构示意图;

图2示出根据本申请一个方面的一个优选实施例的一种用于处理缓存数据的流程示意图;

图3示出根据本申请一个方面的一个优选实施例的缓存数据的访问距离计算的示意图;

图4示出根据本申请一个方面的另一个优选实施例的一种用于处理缓存数据的流程示意图;

图5示出根据本申请另一个方面的一种用于处理缓存数据的方法流程示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

图1示出根据本申请一个方面的一种用于处理缓存数据的设备结构示意图。所述设备1包括缓存装置11、获取装置12和处理装置13。其中,缓存装置11对访问请求所对应的未缓存数据进行缓存;获取装置12获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述 访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息;处理装置13在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。

在此,所述设备1包括但不限于用户设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,设备1还可以是运行于所述用户设备、或用户设备与网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序。当然,本领域技术人员应能理解上述设备1仅为举例,其他现有的或今后可能出现的设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如所述缓存装置11持续对访问请求所对应的未缓存数据进行缓存;获取装置12持续获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息;处理装置13持续在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理,直至所述设备1完成确认请求用户身份工作或停止工作。

本申请一实施例所述设备1用于处理缓存数据,包括删除、更新等,能够合理淘汰已缓存数据,解决误淘汰和缓存污染的问题。

具体地,缓存装置11对访问请求所对应的未缓存数据进行缓存。

在此,所述未缓存数据包括用户请求访问的对象中未被缓存的数据,其中请求访问的对象可以包括网页及其显示的文字、视频、图片、软件等。当 请求到达时,判断该请求对应的对象是否已被缓存,如果被缓存,直接将该用户返回给用户,使用次数计数加一,记录最近一次访问时间;如果未被缓存,则判定所述对象是否能够被缓存,若有足够的空间缓存,则缓存所述对象,否则,启动淘汰机制,缓存所述对象。

具体地,获取装置12获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息。在此,相应所述缓存数据是指用户想要查找的缓存数据,例如某个视频、图片、文字等,例如,用户查找某个目标视频时,通过选定常驻网页上的版块直接跳转到子页面,点击子版块直接跳转到目标视频,通过常驻网页查找目标视频的路径为“常驻网页版块—子页面—目标视频”,则访问链接次数为两次,如一次直接的链接次数记为1,则所述缓存数据对应的访问距离为2。

本领域技术人员应能理解,所述链接次数和访问距离仅为举例,其他现有的或今后可能出现的确定缓存数据对应的访问距离的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。

优选地,所述常驻页面集合中网页包括至少以下任一项:网站首页、网站子版块首页、网站当前活跃网页。例如,对于一些电商网站和门户网站,网站首页下面有若干子版块,在子版块下面甚至有更多的子版块,网站中的热门资源一般分布在网站首页或者子版块的首页。网站首页或者首页下面的版块访问量特别大,这些首页在缓存中几乎每时每刻都被缓存,因此可以选取首页、版块首页作为常驻网页。另外,如奥运会时期,有关奥运会的新闻页面的访问可以达到数以亿计的访问量,此时,选取当前活跃的有关奥运会新闻首页作为常驻页面中网页。

具体地,处理装置13在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。

在此,当缓存系统空间不足以缓存数据时,需要处理空间内的缓存数据,根据空间内已有缓存数据的对应的访问距离信息,对这些缓存数据进行相应的处理,例如,删除距离大于某个值的缓存数据,使得有足够空间缓存新的待缓存的数据。

优选地,所述设备1还包括:记录有效期装置(未示出),用于记录所述缓存数据的有效期信息;所述处理装置13还用于:当所述缓存数据超出有效期,则对相应所述缓存数据进行处理。

例如,在首页悬浮的广告,访问该广告时,直接在首页上选定即可,此时的访问距离为0,当过一段时间时,该广告已从首页上被撤销掉,超出有效期,此时再去查找该广告时,访问距离已大于0,对缓存系统内有关该广告缓存访问距离为0对应的缓存数据进行删除操作,更新的访问距离对应的缓存数据或根据实际需求对该已超过有效期的广告所对应的所有的访问距离对应的缓存数据进行删除。

图2示出根据本申请一个方面的一个优选实施例的缓存数据的处理流程示意图。当请求到达时,判断请求对象是否被缓存,若已被缓存,则进行判定该对象是否过期,若是,则回源地址获取对象,并返回该对象,记录对象访问次数加一,记录最近访问时间;若否,则返回该对象,并同时记录对象访问次数加一,记录最近访问时间。若该对象未被缓存,则回源地址请求该对象,返回该对象对该对象进行判定是否能被缓存,若能被缓存则继续判定缓存系统空间是否有足够空间来缓存该对象,若是,则缓存该对象同时记录该对象访问次数加一和最近访问时间;若否,则启动基于空间的淘汰算法。在此,所述基于空间的淘汰算法为本申请中一个实施例的处理缓存数据的方法。

优选地,所述缓存装置11判断所述访问请求所对应的数据是否已缓存,如未缓存,则判断该数据是否能够缓存,如能够缓存,则对该数据进行缓存。

在此,当请求到达时,判断该请求对应的数据是否已被缓存,如果未被缓存,判断缓存数据是否达到缓存阈值,如是,则需要处理缓存数据,即判定该数据是否能够被缓存,若有足够的空间缓存,则缓存该数据,否则,启动淘汰机制,缓存该数据。

优选地,所述获取装置12获取从常驻页面集合中每一网页到相应所述缓存数据的访问链接次数的信息;接着,基于最小的所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息。

例如,用户需查找某一新闻A,如奥运会篮球赛程,通过常驻页面集合 中的网页首页的子版块“新闻”可进行查找,打开子版块后进行进一步地查找直至找到新闻A,此时根据所访问链接次数获得的对应的访问距离记为a;另外,奥运会在这个时期比较热门,且相关信息量巨大,用户通过有关奥运会的当前活跃网页作为常驻网页进行查找篮球赛程,此时通过网站当前活跃网页作为常驻网页进行查找的访问链接次数对应的访问距离记为b;通过比较得知a大于b,则新闻A需要缓存时的访问距离为b,在缓存系统中保留访问距离b对应的缓存数据,而访问距离为a对应的缓存数据根据需求进行删除或保留。

例如,在一具体实施例中,选取首页和版块首页作为一个常驻集合P,xi∈P,xi是缓存中的常驻对象,如电商或者门户网站的首页。访问距离为常驻集合中的页面到该对象的最小距离:公式中,pi为常驻集合P中的页面,是指对象xk到页面p1的访问距离,相应的是指对象xk到页面pi的访问距离,表示对象xk的访问距离。

更优选地,所述获取装置12还用于:当所述常驻页面集合中网页包括所述缓存数据时,则相应所述访问链接次数的信息为零;当从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息超过阈值次数的信息,则相应所述访问链接次数的信息设置为无限大数值的信息。

在此,当常驻页面集合中的网页直接包含所述缓存数据时,例如,想要查找的视频或图片在常驻页面集合中的网页首页可见,则访问链接次数为0;当用户通过选定常驻页面集合中的网页某个版块下的子版块,又经过多次链接找到所述缓存数据,此时相应的访问链接次数超过阈值次数时,则可把所述访问链接次数的信息设置为某个非常大的值(远远大于阈值)或无穷大;当用户无法通过选定常驻页面集合中的网页找到所述缓存数据,即常驻页面集合中的每一网页都不包含所述缓存数据时,此时的访问距离设置为无穷大。

在一具体实施例中,网页上会有很多链接,链接的内容可以是另一个网页或者一个视频、图片等。当这些网页被不停的访问或者被经常访问时,那么该网页上的链接也被访问的概率也就相应的提高。当这个网页被缓存时,对应的该网页上的链接或者视频等也被缓存。从而将一个网页到一个资源的距离进行数字化,即访问距离是从一个页面通过显示链接跳转到的资源,且 有方向,可以是从一个网页跳转到另一个资源,反之则不一定成立。访问距离的计算公式如下:

上述公式中,表示缓存数据xj与页面xi之间的访问距离,其中,缓存数据包括用户请求访问的对象中已被缓存的数据,其中请求访问的对象可以包括网页及其显示的文字、视频、图片、软件等;当xi直接包含(implicit)某个视频或对象xj时,距离为0;当xi可以通过显示链接(explicit)直接跳转到xj时,距离为1;表示xi不包含也不能通过链接直接跳转到xj,此时距离为∞(无穷大)。而用户查找到目标对象的访问距离为:

上述公式表示,当xi可以通过显示链接直接跳转到xj时,xi与xj之间的距离为1,xj可以通过显示链接直接跳转到xk时,xj与xk之间的距离为1,则用户通过网页xi查找到xk的访问距离为2。

图3示出根据本申请一个方面的一个优选实施例的缓存数据的访问距离计算的示意图。其中,通过选定常驻集合网页上的索引(index.html)进行查找对象,索引(index.html)页面上包含图片对象(image.jpg)和通过网页上的显示链接直接链接到版块页面(main.html),main.html的链接所显示的网页上包含目录对象(menu.html)和通过版块网页main.html上的显示链接直接链接到下一网页子页面(about.html)。根据上述的访问距离计算公式可得:dindex.html,main.html=1;

dindex.html,image.jpg=0;

dmain.html,menu.html=0;

dmain.html,about.html=1;

dindex.html,about.html=dindex.html,main.html+dmain.html,about.html=2;

其中,dindex.html,main.html表示索引页面index.html与版块页面main.html之间的访问距离;dindex.html,image.jpg表示索引index.html与索引页面上的图片对象之间的访问距离;dmain.html,menu.html表示版块页面main.html与目录对象menu.html之间的访问距离;dmain.html,about.html表示版块页面main.html与子 页面about.html之间的访问距离;dindex.html,about.html表示索引页面index.html与子页面about.html之间的访问距离。

本领域技术人员应能理解,所述显示链接是指从一个网页指向一个目标的连接关系,链接目标直接显示在网页上。

优选地,所述处理装置13基于所述访问距离的信息,将满足处理条件的所述缓存数据进行全部或部分处理。

在此,当缓存数据达到缓存阈值,需要处理缓存数据时,根据需求,对访问距离大于阈值的相关的缓存数据进行全部清除或部分清除,例如,有五个访问距离大于阈值,而访问距离最靠近阈值且访问距离小于阈值所对应的缓存数据的用户需求小于上述五个访问距离中最小的访问距离所对应的缓存数据,则按照从最大的访问距离开始删除对应的缓存数据和访问距离最靠近阈值且访问距离小于阈值所对应的缓存数据,只保留五个访问距离中最小的访问距离所对应的缓存数据。

本领域技术人员应能理解,所述将满足处理条件的所述缓存数据进行全部或部分处理的方法仅为举例,其他现有的或今后可能出现的将满足处理条件的所述缓存数据进行全部或部分处理的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。

优选地,所述缓存装置12还用于:

记录所述缓存数据的被访问次数和/或最近一次访问时间;

当所述访问请求的数据为缓存数据,则更新相应所述缓存数据的使用次数和最近一次访问时间。

在此,用户每次访问数据时,记录相关的已被访问的次数和/或最近一次的访问时间,当所述请求访问的数据被判定为已经被缓存时,直接返回该数据给用户,同时使用次数计数加一,记录最近一次访问时间,对所述缓存数据的使用次数和最近一次访问时间进行更新。

优选地,将满足处理条件的所述缓存数据进行部分处理还包括:在满足处理条件的所述缓存数据中,基于相应被访问次数和/或最近一次访问时间,对具有相同访问距离的所述缓存数据选择性处理。

在一具体实施例中,如图4所示,当需要处理缓存数据时,即启动淘汰 算法,先对所述访问距离大于阈值的所对应的缓存数据进行相应的处理,此时缓存数据为对象时,即淘汰距离最大的对象,当距离大的刚好有多个且距离相等时,对比缓存数据对应的使用次数,淘汰使用次数小的所对应的对象,如果使用次数最小的有多个,且使用次数相等,则对比最近一次的访问时间,进行淘汰最近一次的访问时间最长的对象。另外,当通过访问距离处理相应的对象后可先进行根据最近一次访问时间的算法对满足处理条件的对象进行淘汰再根据使用次数对满足处理条件的对象进行进一步地处理。或者,先根据访问距离对满足处理条件的缓存数据进行处理后,再结合使用次数和最近访问时间的权重进行相应的处理。

本领域技术人员应能理解,所述对满足处理条件的所述缓存数据进行部分处理的方法仅为举例,其他现有的或今后可能出现的对满足处理条件的所述缓存数据进行部分处理的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。

图5示出根据本申请另一个方面的一种用于处理缓存数据的方法流程示意图。所述方法包括步骤S11、步骤S12和步骤S13。其中,步骤S11:对访问请求所对应的未缓存数据进行缓存;步骤S12:获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息;步骤S13:在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。

本申请一实施例所述方法用于处理缓存数据,包括删除、更新等,能够合理淘汰已缓存数据,解决误淘汰和缓存污染的问题。

具体地,在步骤S11中,对访问请求所对应的未缓存数据进行缓存。

在此,所述未缓存数据包括用户请求访问的对象中未被缓存的数据,其中请求访问的对象可以包括网页及其显示的文字、视频、图片、软件等。当请求到达时,判断该请求对应的对象是否已被缓存,如果被缓存,直接将该用户返回给用户,使用次数计数加一,记录最近一次访问时间;如果未被缓存,则判定所述对象是否能够被缓存,若有足够的空间缓存,则缓存所述对象,否则,启动淘汰机制,缓存所述对象。

具体地,在步骤S12中,获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息。在此,相应所述缓存数据是指用户想要查找的缓存数据,例如某个视频、图片、文字等,例如,用户查找某个目标视频时,通过选定常驻网页上的版块直接跳转到子页面,点击子版块直接跳转到目标视频,通过常驻网页查找目标视频的路径为“常驻网页版块—子页面—目标视频”,则访问链接次数为两次,如一次直接的链接次数记为1,则所述缓存数据对应的访问距离为2。

本领域技术人员应能理解,所述链接次数和访问距离仅为举例,其他现有的或今后可能出现的确定缓存数据对应的访问距离的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。

优选地,所述常驻页面集合中网页包括至少以下任一项:网站首页、网站子版块首页、网站当前活跃网页。例如,对于一些电商网站和门户网站,网站首页下面有若干子版块,在子版块下面甚至有更多的子版块,网站中的热门资源一般分布在网站首页或者子版块的首页。网站首页或者首页下面的版块访问量特别大,这些首页在缓存中几乎每时每刻都被缓存,因此可以选取首页、版块首页作为常驻网页。另外,如奥运会时期,有关奥运会的新闻页面的访问可以达到数以亿计的访问量,此时,选取当前活跃的有关奥运会新闻首页作为常驻页面中网页。

具体地,在步骤S13中,在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。

在此,当缓存系统空间不足以缓存数据时,需要处理空间内的缓存数据,根据空间内已有缓存数据的对应的访问距离信息,对这些缓存数据进行相应的处理,例如,删除距离大于某个值的缓存数据,使得有足够空间缓存新的待缓存的数据。

优选地,所述方法还包括:步骤S14,用于记录所述缓存数据的有效期信息;所述步骤S13还包括:当所述缓存数据超出有效期,则对相应所述缓存数据进行处理。

例如,在首页悬浮的广告,访问该广告时,直接在首页上选定即可, 此时的访问距离为0,当过一段时间时,该广告已从首页上被撤销掉,超出有效期,此时再去查找该广告时,访问距离已大于0,对缓存系统内有关该广告缓存访问距离为0对应的缓存数据进行删除操作,更新的访问距离对应的缓存数据或根据实际需求对该已超过有效期的广告所对应的所有的访问距离对应的缓存数据进行删除。

图2示出根据本申请一个方面的一个优选实施例的缓存数据的处理流程示意图。当请求到达时,判断请求对象是否被缓存,若已被缓存,则进行判定该对象是否过期,若是,则回源地址获取对象,并返回该对象,记录对象访问次数加一,记录最近访问时间;若否,则返回该对象,并同时记录对象访问次数加一,记录最近访问时间。若该对象未被缓存,则回源地址请求该对象,返回该对象对该对象进行判定是否能被缓存,若能被缓存则继续判定缓存系统空间是否有足够空间来缓存该对象,若是,则缓存该对象同时记录该对象访问次数加一和最近访问时间;若否,则启动基于空间的淘汰算法。在此,所述基于空间的淘汰算法为本申请中一个实施例的处理缓存数据的方法。

优选地,在步骤S11中,判断所述访问请求所对应的数据是否已缓存,如未缓存,则判断该数据是否能够缓存,如能够缓存,则对该数据进行缓存。

在此,当请求到达时,判断该请求对应的数据是否已被缓存,如果未被缓存,判断缓存数据是否达到缓存阈值,如是,则需要处理缓存数据,即判定该数据是否能够被缓存,若有足够的空间缓存,则缓存该数据,否则,启动淘汰机制,缓存该数据。

优选地,在步骤S12中,获取从常驻页面集合中每一网页到相应所述缓存数据的访问链接次数的信息;接着,基于最小的所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息。

例如,用户需查找某一新闻A,如奥运会篮球赛程,通过常驻页面集合中的网页首页的子版块“新闻”可进行查找,打开子版块后进行进一步地查找直至找到新闻A,此时根据所访问链接次数获得的对应的访问距离记为a;另外,奥运会在这个时期比较热门,且相关信息量巨大,用户通过有关奥运会的当前活跃网页作为常驻网页进行查找篮球赛程,此时通过网站当前活跃 网页作为常驻网页进行查找的访问链接次数对应的访问距离记为b;通过比较得知a大于b,则新闻A需要缓存时的访问距离为b,在缓存系统中保留访问距离b对应的缓存数据,而访问距离为a对应的缓存数据根据需求进行删除或保留。

例如,在一具体实施例中,选取首页和版块首页作为一个常驻集合P,xi∈P,xi是缓存中的常驻对象,如电商或者门户网站的首页。访问距离为常驻集合中的页面到该对象的最小距离:公式中,pi为常驻集合P中的页面,是指对象xk到页面p1的访问距离,相应的是指对象xk到页面pi的访问距离,表示对象xk的访问距离。

更优选地,步骤S12还包括:当所述常驻页面集合中网页包括所述缓存数据时,则相应所述访问链接次数的信息为零;当从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息超过阈值次数的信息,则相应所述访问链接次数的信息设置为无限大数值的信息。

在此,当常驻页面集合中的网页直接包含所述缓存数据时,例如,想要查找的视频或图片在常驻页面集合中的网页首页可见,则访问链接次数为0;当用户通过选定常驻页面集合中的网页某个版块下的子版块,又经过多次链接找到所述缓存数据,此时相应的访问链接次数超过阈值次数时,则可把所述访问链接次数的信息设置为某个非常大的值(远远大于阈值)或无穷大;当用户无法通过选定常驻页面集合中的网页找到所述缓存数据,即常驻页面集合中的每一网页都不包含所述缓存数据时,此时的访问距离设置为无穷大。

在一具体实施例中,网页上会有很多链接,链接的内容可以是另一个网页或者一个视频、图片等。当这些网页被不停的访问或者被经常访问时,那么该网页上的链接也被访问的概率也就相应的提高。当这个网页被缓存时,对应的该网页上的链接或者视频等也被缓存。从而将一个网页到一个资源的距离进行数字化,即访问距离是从一个页面通过显示链接跳转到的资源,且有方向,可以是从一个网页跳转到另一个资源,反之则不一定成立。访问距离的计算公式如下:

上述公式中,表示缓存数据xj与页面xi之间的访问距离,其中,缓存数据包括用户请求访问的对象中已被缓存的数据,其中请求访问的对象可以包括网页及其显示的文字、视频、图片、软件等;当xi直接包含(implicit)某个视频或对象xj时,距离为0;当xi可以通过显示链接(explicit)直接跳转到xj时,距离为1;表示xi不包含也不能通过链接直接跳转到xj,此时距离为∞(无穷大)。而用户查找到目标对象的访问距离为:

上述公式表示,当xi可以通过显示链接直接跳转到xj时,xi与xj之间的距离为1,xj可以通过显示链接直接跳转到xk时,xj与xk之间的距离为1,则用户通过网页xi查找到xk的访问距离为2。

图3示出根据本申请一个方面的一个优选实施例的缓存数据的访问距离计算的示意图。其中,通过选定常驻集合网页上的索引(index.html)进行查找对象,索引(index.html)页面上包含图片对象(image.jpg)和通过网页上的显示链接直接链接到版块页面(main.html),main.html的链接所显示的网页上包含目录对象(menu.html)和通过版块网页main.html上的显示链接直接链接到下一网页子页面(about.html)。根据上述的访问距离计算公式可得:dindex.html,main.html=1;

dindex.html,image.jpg=0;

dmain.html,menu.html=0;

dmain.html,about.html=1;

dindex.html,about.html=dindex.html,main.html+dmain.html,about.html=2;

其中,dindex.html,main.html表示索引页面index.html与版块页面main.html之间的访问距离;dindex.html,image.jpg表示索引index.html与索引页面上的图片对象之间的访问距离;dmain.html,menu.html表示版块页面main.html与目录对象menu.html之间的访问距离;dmain.html,about.html表示版块页面main.html与子页面about.html之间的访问距离;dindex.html,about.html表示索引页面index.html与子页面about.html之间的访问距离。

本领域技术人员应能理解,所述显示链接是指从一个网页指向一个目标的连接关系,链接目标直接显示在网页上。

优选地,在步骤S13中,基于所述访问距离的信息,将满足处理条件的所述缓存数据进行全部或部分处理。

在此,当缓存数据达到缓存阈值,需要处理缓存数据时,根据需求,对访问距离大于阈值的相关的缓存数据进行全部清除或部分清除,例如,有五个访问距离大于阈值,而访问距离最靠近阈值且访问距离小于阈值所对应的缓存数据的用户需求小于上述五个访问距离中最小的访问距离所对应的缓存数据,则按照从最大的访问距离开始删除对应的缓存数据和访问距离最靠近阈值且访问距离小于阈值所对应的缓存数据,只保留五个访问距离中最小的访问距离所对应的缓存数据。

本领域技术人员应能理解,所述将满足处理条件的所述缓存数据进行全部或部分处理的方法仅为举例,其他现有的或今后可能出现的将满足处理条件的所述缓存数据进行全部或部分处理的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。

优选地,步骤S12还包括:

记录所述缓存数据的被访问次数和/或最近一次访问时间;

当所述访问请求的数据为缓存数据,则更新相应所述缓存数据的使用次数和最近一次访问时间。

在此,用户每次访问数据时,记录相关的已被访问的次数和/或最近一次的访问时间,当所述请求访问的数据被判定为已经被缓存时,直接返回该数据给用户,同时使用次数计数加一,记录最近一次访问时间,对所述缓存数据的使用次数和最近一次访问时间进行更新。

优选地,将满足处理条件的所述缓存数据进行部分处理还包括:在满足处理条件的所述缓存数据中,基于相应被访问次数和/或最近一次访问时间,对具有相同访问距离的所述缓存数据选择性处理。

在一具体实施例中,如图3所示,当需要处理缓存数据时,即启动淘汰算法,先对所述访问距离大于阈值的所对应的缓存数据进行相应的处理,此时缓存数据为对象时,即淘汰距离最大的对象,当距离大的刚好有多个且距离相等时,对比缓存数据对应的使用次数,淘汰使用次数小的所对应的对象,如果使用次数最小的有多个,且使用次数相等,则对比最近一次的访问时间, 进行淘汰最近一次的访问时间最长的对象。另外,当通过访问距离处理相应的对象后可先进行根据最近一次访问时间的算法对满足处理条件的对象进行淘汰再根据使用次数对满足处理条件的对象进行进一步地处理。或者,先根据访问距离对满足处理条件的缓存数据进行处理后,再结合使用次数和最近访问时间的权重进行相应的处理。

本领域技术人员应能理解,所述对满足处理条件的所述缓存数据进行部分处理的方法仅为举例,其他现有的或今后可能出现的对满足处理条件的所述缓存数据进行部分处理的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。

根据本申请的实施例所述方法及设备,通过对访问请求所对应的未缓存数据进行缓存;接着,获取从常驻页面集合中网页到相应所述缓存数据的访问链接次数的信息,基于所述访问链接次数的信息,确定并记录所述缓存数据对应的访问距离的信息;然后,在需要处理缓存数据时,基于所述访问距离信息,对所述被缓存数据进行相应处理。通过基于访问距离的信息对缓存数据进行处理的方式,使缓存数据的淘汰机制更为合理,减少缓存污染现象,避免不合理淘汰,从而提高了代理缓存服务器的性能,进而提高用户访问速度和个性化体验。

进一步地,在满足处理条件的所述缓存数据中,基于相应被访问次数和/或最近一次访问时间,对具有相同访问距离的所述缓存数据选择性处理,综合考虑空间、时间和频率的因素对缓存数据进行淘汰,进一步避免了淘汰缓存数据时的误淘汰和缓存污染问题。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程 序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1