用于缓存管理的方法和系统的制作方法

文档序号:9687371阅读:556来源:国知局
用于缓存管理的方法和系统的制作方法
【技术领域】
[0001]本发明的实施例涉及用于缓存管理的方法和系统。
【背景技术】
[0002]缓存(caching)是指将先前访问过的内容存储在本地存储位置,从而允许对针对相同内容的后续访问请求做出快速响应。缓存技术被广泛地应用于计算机处理器、存储系统、数据系统、网络应用等各个不同的领域中。例如,在网络环境中,用户先前访问的web页面或者其他网络内容可以被缓存在客户端本地。当用户再次访问先前已经访问过的web页面时,可以直接从本地存储中读取和返回缓存的web页面,从而缩短响应时间,并且降低对网络带宽资源和服务器计算资源的消耗。
[0003]处理缓存失效(cache invalidat1n)是缓存管理中的一个重要问题。缓存失效是指缓存的内容与该内容的实际最新版本不一致,从而使得缓存的内容丧失其应有的作用。缓存失效主要是由内容的后台更新造成的。例如,当web服务器更新web页面中的内容时,该web页面在客户端处的缓存条目将会失效。当一个缓存条目失效时,应当将其从缓存中移除。
[0004]基于时间来管理缓存失效的方案是已知的。每个缓存条目被指派一个固定的有效周期。当有效周期届满时,相应的缓存条目被确定为失效并且从缓存中被移除。然而在实践中,很难设置合适的有效周期。一些缓存条目可能在被删除时仍然是有效的。反之,另一些缓存条目在未被删除时可能已经失效。
[0005]另一类方案基于事件规则来处理缓存失效。每个缓存条目可以与一个或多个预定事件相关联。当预定事件之一发生时,相应的缓存条目被确定为失效并且从缓存中被删除。然而,在涉及多方的分布式系统中,基于事件的缓存失效管理可能面临困难。例如,在网络电子商务环境中,web页面通常在内容分发网络(Content Distribut1n Network,Q)N)和企业内部的服务器或客户端上都被缓存。此时,需要实现跨系统的事件触发机制来管理缓存失效。然而,跨系统的事件触发通常具有较高的开发和维护成本,而且受到应用的限制而难以保证通用性。

【发明内容】

[0006]总体上,本发明的实施例提出一种用于更加有效地管理缓存的技术方案。
[0007]在本发明的一个方面,提供一种缓存管理方法。所述方法包括:响应于缓存条目被创建,确定所述缓存条目的类别;确定与所述类别相关联的失效事件的预计时间点,所述失效事件的发生将导致所述类别的缓存条目失效;以及基于所述预计时间点,设置所述缓存条目的有效周期。
[0008]在本发明的另一方面,提供一种缓存管理系统。所述系统包括:类别确定单元,被配置为响应于缓存条目被创建,确定所述缓存条目的类别;时间点确定单元,被配置为确定与所述类别相关联的失效事件的预计时间点,所述失效事件的发生将导致所述类别的缓存条目失效;以及有效周期设置单元,被配置为基于所述预计时间点,设置所述缓存条目的有效周期。
[0009]根据本发明的实施例,基于时间和基于失效事件的缓存管理机制被有机地结合。缓存条目的有效周期不再被简单地设置为固定的值,而是可以根据相应类别的失效事件的预计发生时间点而自适应地、灵活地设置。这样,可以确保缓存条目的失效时间更加接近实际失效的时间。而且,根据本发明的实施例,不需要使用高成本的事件触发机制。以此方式,可以对缓存进行更加准确和高效的管理。本发明的其他特征和优点将通过下文描述而变得容易理解。
【附图说明】
[0010]通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显其中:
[0011]图1示出了适于用来实现本发明实施例的示例性计算机系统/服务器的示意性框图;
[0012]图2示出了根据本发明实施例的用于管理缓存的方法的示意性流程图;以及
[0013]图3示出了根据本发明实施例的用于管理缓存的系统的示意性框图。
[0014]在附图中,相同或相似的标号被用来表示相同或相似的元素。
【具体实施方式】
[0015]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0016]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的方框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0017]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0018]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0019]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0020]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0021]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括一但不限于一操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0022]计算机系统/服务器12也可以与一个或多个外部设备14 (例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0023]下面将详细描述本发明实施例的机制和原理。除非特别声明,在下文和权利要求中使用的术语“基于”表示“至少部分地基于”。术语“包括”表示开放性包括,即“包括但不限于”。术语“多个”表示“两个或者更多”。术语“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。其他术语的定义将在下文描述中给出。
[0024]图2示出了根据本发明的实施例的用于管理缓存的方法200的流程图。在下文描述中,可能将会参考网络内容(例如,web页面)来阐释本发明的缓存管理机制。然而应当理解,这仅仅是示例性的,无意以任何方式对本发明的范围进行限制。本发明的实施例可被用于管理任何适当类型的内容的缓存。
[0025]方法200开始于步骤S210,在此响应于缓存条目被创建,确定缓存条目的类别。以web页面为例,当用户第一次访问该web页面时,可以在客户端的本地缓存中创建该web页面的缓存条目。在一个实施例中,一个web页面可以作为整体被保存在一个缓存条目中。备选地,在另一实施例中,可以为一个web页面创建多个缓存条目,每个缓存条目中保存该web页面的部分内容。特别地,在一个实施例中,与每个web页面相关联的缓存条目都与该web页面的统一资源定位符(URL)相关联。
[0026]响应于新的缓存
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1