更新缓存资源的方法及装置与流程

文档序号:11156799阅读:355来源:国知局
更新缓存资源的方法及装置与制造工艺
本申请涉及通信
技术领域
,特别涉及对缓存资源更新检查的方法及装置。
背景技术
:CDN(ContentDeliveryNetwork,内容分发网络)是构建在现有互联网基础上的一层智能虚拟网络,通过广泛部署各种缓存服务器以及使用全局负载技术,可以将用户的请求重新导向离用户最近的缓存服务器上,以解决Internet网络拥挤的状况,提高用户访问网站的响应速度。由于缓存服务器上的资源可能出现资源过期的问题,所以需要及时对缓存的资源进行更新检查。现有技术中,缓存服务器定期对缓存的每个资源进行检查,通过比较缓存资源与源网站的最新资源来确定缓存资源是否过期,然后更新过期的缓存资源。可见,现有技术每次更新都需要检查所有的缓存资源,更新效率较低。技术实现要素:本发明实施例提供更新缓存资源的方法和装置,用于解决现有缓存资源更新效率较低的问题。根据本发明实施例的第一方面,提供一种更新缓存资源的方法,所述方法应用于内容分发网络CDN的缓存服务器,所述方法包括:接收用户端的资源请求报文,所述资源请求报文包含所请求目标资源的目标资源信息;在预先创建的命中表中查找所述目标资源信息,所述命中表用于保存已下载到本地的缓存资源的资源信息与老化时间的对应关系;如果未在命中表中查找到所述目标资源信息,且本地已缓存所述目标资源,则检查所述目标资源是否需要更新,如果是,则更新所述目标资源,并将所述目标资源信息及为所述目标资源设置的老化时间加入所述命中表。根据本发明实施例的第二方面,提供一种更新缓存资源的装置,所述装置应用于内容分发网络CDN的缓存服务器,所述装置包括:接收单元,用于接收用户端的资源请求报文,所述资源请求报文包含所请求目标资源的目标资源信息;查找单元,用于在预先创建的命中表中查找所述目标资源信息,所述命中表用于保存已下载到本地的缓存资源的资源信息与老化时间的对应关系;检查单元,用于如果未在命中表中查找到所述目标资源信息,且本地已缓存所述目标资源,则检查所述目标资源是否需要更新;更新单元,如果检查所述目标资源后确定需要更新,则更新所述目标资源,并将所述目标资源信息及为所述目标资源设置的老化时间加入所述命中表。由以上技术方案可见,本发明实施例在缓存服务器中引入了包含缓存资源信息的命中表,通过为缓存资源信息设置老化时间,只对老化时间到达且被局域网内用户请求的缓存资源进行更新检查以及更新。实现了在保证缓存资源命中率的情况下,对缓存资源更新检查的范围的缩小,提高了更新效率。附图说明图1为本发明实施例更新缓存资源的方法的一个应用场景示意图;图2为本发明更新缓存资源的方法的一个实施例流程图;图3为本发明更新缓存资源的方法的另一个实施例流程图;图4为本发明更新缓存资源的装置所在设备的一种硬件结构图;图5为本发明更新缓存资源的装置的一个实施例框图。具体实施方式为了使本
技术领域
的人员更好的理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中的技术方案作进一步详细的说明。参见图1,为本发明实施例更新缓存资源的方法的一个应用场景示意图。如图1所示,该应用场景中可以包括:设置在局域网内的N台用户端、CDN系统以及在互联网内的资源网站。其中,每台用户端都可以通过局域网出口向资源网站请求资源。CDN系统部署在上述局域网与资源网站之间,可以通过互联网与资源网站进行通信,包含缓存服务器以及CDN上层系统。其中,缓存服务器旁路部署在所示局域网出口处,并接入该局域网。当局域网内的用户通过用户端首次请求互联网内的某一资源时,缓存服务器将在本地缓存一份该资源的副本,当局域网内的其他用户端再次请求这一资源时,由缓存服务器直接向其他用户端提供该资源。但是,当互联网中的资源更新时,缓存服务器上缓存的该资源副本可能出现资源过期的问题,所以需要对缓存的资源进行更新。以对图1所示缓存服务器中缓存资源的更新为例,现有技术中,缓存服务器中会设定一个缓存更新周期,更新周期到达时将对自身的每个缓存资源进行检查,如果某个缓存资源过期,则对其进行更新。可见,现有技术由于每个更新周期都需要检查本地缓存的所有资源,因此更新效率较低。本发明实施例中,在缓存服务器中引入了包含缓存资源信息的命中表,通过为缓存资源信息设置老化时间。只对老化时间到达且被局域网内用户请求的缓存资源进行更新检查以及更新。实现了在保证缓存资源命中率的情况下,对缓存资源更新检查的范围的缩小,提高了更新效率。下面结合图1示出的应用场景,对本发明实施例进行详细说明。参见图2,图2为本发明更新缓存资源的方法的一个实施例流程图,该实施例应用于缓存服务器,包括以下步骤:步骤201:接收用户端的资源请求报文,所述资源请求报文包含所请求目标资源的目标资源信息。在一个可选的方式中,当局域网内的用户端向资源网站发送资源请求报文时,旁路部署在该局域网的出口的缓存服务器复制该资源请求报文。本步骤中的目标资源信息可以是目标资源的URL(UniformResourceLocator,统一资源定位符),也可以是根据目标资源的URL以及散列函数算得的散列值。步骤202:在预先创建的命中表中查找所述目标资源信息,所述命中表用于保存已下载到本地的缓存资源的资源信息与老化时间的对应关系。本步骤中,如果缓存服务器首次缓存了某一资源,可以将该缓存资源的资源信息加入上述命中表并设置对应的老化时间。在一个可选的方式中,可以通过统计某一本地缓存资源在上一老化周期内的命中率来设置缓存资源的资源信息所对应老化时间。其中,命中率可以通过平均该本地缓存资源每小时的命中次数表示。老化时间可以与该本地缓存资源的上一老化周期内的平均每小时的命中次数成反比,例如,上一老化周期内的平均每小时的命中次数越高,则当前老化周期内的老化时间越短。如果该本地缓存资源的资源信息是首次加入命中表,则可以将该资源信息对应的老化时间设定为默认值,该默认值可以由管理员设定。在另一个可选的方式中,上述本地缓存资源的资源信息可以是本地缓存资源的URL,也可以是根据本地缓存资源的URL以及散列函数算得的散列值。步骤203:如果未在命中表中查找到所述目标资源信息,且本地已缓存所述目标资源,则检查所述目标资源是否需要更新,如果是,则更新所述目标资源,并将所述目标资源信息及为所述目标资源设置的老化时间加入所述命中表。在一个可选的方式中,假设资源信息包含URL,则缓存服务器根据目标资源的URL,从目标资源的源网站获取当前资源的文件信息;比较目标资源的文件信息与当前资源的文件信息是否一致,如果一致,则判定该目标资源不需要更新,如果不一致,则判定该目标资源需要更新为上述当前资源。在另一个可选的方式中,上述文件信息可以为以下所列文件信息中的任一个,或任意多个的组合:资源大小、资源的最新修改时间、源网站对该资源设定的资源标识以及源网站对该资源设定的资源过期时间等。由以上实施例可见,本发明实施例在缓存服务器中引入了包含缓存资源信息的命中表,通过为缓存资源信息设置老化时间,只对老化时间到达且被局域网内用户请求的缓存资源进行更新检查以及更新。实现了在保证缓存资源命中率的情况下,对缓存资源更新检查的范围的缩小,提高了更新效率。参见图3,图3为本发明更新缓存资源的方法的另一个实施例流程图,该实施例从缓存服务器侧对目标资源的更新检查过程以及资源信息的老化时间设置过程进行了详细描述,包括以下步骤:步骤301:创建命中表,该命中表用于保存已下载到本地的缓存资源的URL,以及与各URL对应的老化时间。在一个可选的方式中,上述命中表还可以包括本地缓存资源的命中次数,具体的,可以在命中表中为缓存资源的URL设置与其对应的计数器,如果本地缓存资源被命中,则该缓存资源URL所对应的计数器加1。在另一个可选的方式中,除了可以用ULR唯一标识一个本地缓存资源外,也可以由本地缓存资源的URL以及散列函数得到缓存资源URL对应的散列值,通过该散列值唯一标识一个本地缓存资源,相应的,命中表中保存散列值以及与各散列值对应的老化时间。步骤302:接收用户端的资源请求报文,该资源请求报文包含所请求目标资源的URL。在一个可选的方式中,如果上述命中表中保存了散列值以及与各散列值对应的老化时间,则上述资源请求报文也可以相应包含根据目标资源的URL以及散列函数得到的散列值。步骤303:判断该命中表中是否包含该目标资源的URL,如果是则执行步骤304,如果否则执行步骤305。步骤304:从本地缓存将该目标资源返回给用户端,结束当前流程。在一个可选的方式中,如果在命中表中为缓存资源的URL或散列值设置了与其对应的计数器,则可以在缓存服务器将该目标资源返回给用户端后,对该目标资源对应的计数器加1。步骤305:判断本地是否缓存该目标资源,如果是则执行步骤307,如果否则执行步骤306。在一个可选的方式中,可以通过在本地缓存中查找该目标资源的URL来判定本地是否缓存该目标资源,如果可以找到该URL,则确定本地已存该目标资源,如果未找到该URL,则确定本地未缓存该目标资源。步骤306:根据该目标资源的URL下载该目标资源到本地缓存,将下载的目标资源返回给用户端,将该URL加入命中表并设置与该URL对应的老化时间,结束当前流程。在一个可选的方式中,上述老化时间的默认值由管理员根据需要自行设定,例如:管理员将该默认值设置为2小时,则两小时后该老化时间到达后,缓存服务器将该目标资源的URL从命中表中删除。在另一个可选的方式中,如果上述命中表包括本地缓存资源的命中次数,则可以为该URL设置与其对应的计数器,如果本地缓存资源被命中,则该缓存资源URL所对应的计数器加1。步骤307:统计该目标资源在上一老化周期内的平均每小时命中次数,根据该命中次数获得该目标资源的老化时间。在一个可选的方式中,可以将命中表中该目标资源URL对应的计数器的计数值除以该目标资源URL对应的老化时间算得上述平均每小时命中次数。然后根据预设的每小时命中次数与老化时间的对应关系,获得该目标资源的老化时间。如下表1所示,为本实施例中每小时命中次数与老化时间的对应关系的示例:表1每小时命中次数老化时间≥20次1小时≥10次2小时≥5次5小时≥2次10小时≥0次20小时步骤308:根据该目标资源的URL从该目标资源的源网站获取当前资源的文件信息。本步骤中,当前资源是指目标资源URL在目标资源的源网站当前对应的资源。为保证时效性,该目标资源的源网站可能会对网站内保存的资源进行更新,如果源网站已经对该目标资源进行了更新,而该目标资源仍然保存在缓存服务器上以供局域网内的用户端下载,则会造成误命中。所以当目标资源的老化时间达到后,需要按照目标资源的URL从目标资源的源网站获取当前资源的文件信息,以确定是否需要更新该目标资源。在另一个可选的方式中,上述文件信息可以为以下所列文件信息中的任一个,或任意多个的组合:资源大小、资源的最新修改时间、源网站对该资源设定的资源标识以及源网站对该资源设定的资源过期时间等。步骤309:比较该目标资源的文件信息与当前资源的文件信息是否一致,如果是则执行步骤310,如果否则执行步骤311。步骤310:将该目标资源返回给用户端,将该URL加入命中表并为该URL设置老化时间,结束当前流程。在一个可选的方式中,如果上述命中表包括本地缓存资源的命中次数,则可以为该URL设置与其对应的计数器,如果本地缓存资源被命中,则该缓存资源URL所对应的计数器加1。步骤311:根据该目标资源的URL在本地缓存更新该目标资源,将更新的目标资源返回给用户端,将该URL加入命中表并为该URL设置老化时间,结束当前流程。在一个可选的方式中,如果上述命中表包括本地缓存资源的命中次数,则可以为该URL设置与其对应的计数器,如果本地缓存资源被命中,则该缓存资源URL所对应的计数器加1。由上述实施例可见,一方面,本发明实施例在缓存服务器中引入了包含缓存资源URL的命中表,通过为缓存资源的URL设置老化时间,只对老化时间到达且被局域网内用户请求的缓存资源进行更新检查以及更新。实现了在保证缓存资源命中率的情况下,对缓存资源更新检查的范围的缩小,提高了更新效率。另一方面,本发明实施例通过统计每个缓存资源的命中率,将缓存资源的命中率与缓存资源URL的老化时间相关联,使得命中频率越高的资源更新检查越频繁,降低了误命中风险,提高了安全性。再一方面,本发明实施例根据资源请求报文中包含的目标资源的URL对缓存的目标资源进行检查更新,实现了在目标资源源网站中目标资源URL已经更新的情况下对该目标资源的更新检查以及下载缓存,克服了目标资源URL过期的风险,提高了更新的稳定性。下面通过一个具体的应用实例对本发明实施例进行说明,该应用实例结合图1示出的应用场景进行描述。假设图1所示局域网中共有500个用户端,即N=500,其中包含所示用户端1和用户端2。假设用户端2已经访问过某音乐网站并下载过文件paomo.mp3。现在用户端1要访问某音乐网站下载文件paomo.mp3,但该音乐网站已经对paomo.mp3进行了品质升级,用高品质的歌曲文件替换了原文件。用户端1发出资源请求报文,旁路部署在该局域网的出口的缓存服务器复制该资源请求报文后,从该资源请求报文中提取所请求目标资源的URL为https://www.xxx.com/music/paomo.mp3。缓存服务器2查找其保存的命中表,如果查找结果为命中表中并不包含https://www.xxx.com/music/paomo.mp3,则缓存服务器2继续在本地缓存查找https://www.xxx.com/music/paomo.mp3。缓存服务器2在本地缓存找到该URL后,访问https://www.xxx.com/music/paomo.mp3,获取当前文件paomo.mp3的文件大小为10MB。缓存服务器2获取本地缓存文件paomo.mp3的文件大小为5MB,比较后发现文件大小不一致,确定本地缓存文件paomo.mp3需要更新。缓存服务器2根据https://www.xxx.com/music/paomo.mp3下载当前文件paomo.mp3,并将最新下载的文件paomo.mp3返回给用户端1。缓存服务器2通过预设的计数器统计得到本地缓存文件paomo.mp3在上一个老化周期(10小时)内共计被命中20次,平均每小时命中次数为2。查询表1得到本次老化周期的老化时间应为10小时。缓存服务器2将https://www.xxx.com/music/paomo.mp3加入命中表,为其设定10小时的老化时间以及对应的新的计数器。当其10小时的老化时间到达时,将https://www.xxx.com/music/paomo.mp3从命中表删除并保存其对应计数器统计的命中计数。与前述更新缓存资源的方法的实施例相对应,本申请还提供了更新缓存资源的装置的实施例。本申请更新缓存资源的装置的实施例可以应用在内容分发网络的缓存服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请更新缓存资源的装置所在设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。请参考图5,为本发明更新缓存资源的装置的一个实施例框图,所述装置应用于内容分发网络CDN的缓存服务器,所述装置包括:接收单元510,查找单元520,检查单元530,更新单元540,添加单元550。其中,接收单元510,用于接收用户端的资源请求报文,所述资源请求报文包含所请求目标资源的目标资源信息;查找单元520,用于在预先创建的命中表中查找所述目标资源信息,所述命中表用于保存已下载到本地的缓存资源的资源信息与老化时间的对应关系;检查单元530,用于如果未在命中表中查找到所述目标资源信息,且本地已缓存所述目标资源,则检查所述目标资源是否需要更新;更新单元540,如果所述检查单元的检查结果为需要更新,则更新所述目标资源,并将所述目标资源信息及为所述目标资源设置的老化时间加入所述命中表;添加单元550,用于更新单元更新所述目标资源后,将所述目标资源信息及为所述目标资源设置的老化时间加入所述命中表。由以上实施例可见,该施例在缓存服务器中引入了包含缓存资源信息的命中表,通过为缓存资源信息设置老化时间,只对老化时间到达且被局域网内用户请求的缓存资源进行更新检查以及更新。实现了在保证缓存资源命中率的情况下,对缓存资源更新检查的范围的缩小,提高了更新效率。在一个可选的例子中,所述装置还包括(图5中未示出):下载单元。下载单元,用于如果未在本地缓存中找到所述目标资源,则下载所述目标资源;所述添加单元550,还用于下载单元下载所述目标资源后,将所述目标资源信息及为所述目标资源设置的老化时间加入所述命中表;所述添加单元550,还用于如果所述检查单元的检查结果为不需要更新,则将所述目标资源信息及为所述目标资源设置的老化时间加入所述命中表。在另一个可选的例子中,所述目标资源信息包括:所述目标资源的统一资源定位符URL;所述检查单元530包括(图5中未示出):文件信息获取子单元,文件信息比较子单元。其中,文件信息获取子单元,用于根据所述目标资源的URL,从所述目标资源的源网站获取当前资源的文件信息;文件信息比较子单元,比较所述目标资源的文件信息与所述当前资源的文件信息是否一致,如果一致,则确定所述目标资源不需要更新,如果不一致,则确定所述目标资源需要更新为所述当前资源。在另一个可选的例子中,所述装置还包括(图5中未示出):设置单元。设置单元,用于统计所述目标资源在上一老化周期内的命中率,并根据所述命中率设置所述目标资源在本次老化周期内的老化时间,其中,所述本次老化周期内的老化时间与所述命中率成反比。由上述实施例可见,一方面,本发明实施例在缓存服务器中引入了包含缓存资源信息的命中表,通过为缓存资源信息设置老化时间,只对老化时间到达且被局域网内用户请求的缓存资源进行更新检查以及更新。实现了在保证缓存资源命中率的情况下,对缓存资源更新检查的范围的缩小,提高了更新效率。另一方面,本发明实施例通过统计每个缓存资源的命中率,将缓存资源的命中率与缓存资源URL的老化时间相关联,使得命中频率越高的资源更新检查越频繁,降低了误命中风险,提高了安全性。再一方面,本发明实施例根据资源请求报文中包含的目标资源的URL对缓存的目标资源进行检查更新,实现了在目标资源源网站中目标资源URL已经更新的情况下对该目标资源的更新检查以及下载缓存,克服了目标资源URL过期的风险,提高了更新的稳定性。上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1