管理计算机系统的数据高速缓存的制作方法

文档序号:8909155阅读:410来源:国知局
管理计算机系统的数据高速缓存的制作方法
【技术领域】
[0001] 本发明设及管理计算机系统的数据高速缓存。
【背景技术】
[0002] 计算机系统通常包含一个或多个高速缓存(caches),其被设置用来加快整个系统 中数据的供应。在高速缓存中存储来自原始数据源的数据的副本。响应于对该数据的请求, 从高速缓存提供被请求的数据,而不是从原始数据源提供该数据。在数据源不是在数据请 求者的本地的情况下,请求者本地具有的高速缓存于是能加快相关数据的供应。
[0003] 有些数据,诸如网页,具有被设置用来防止数据被缓存(cached)的、通常称作 指令(directive)的机制。用于W网页形式跨网络传送数据的超文本传输协议(HTTP), 包含报头化eader)字段。可W利用报头字段来规定该种设置期望的或必需的行为 化ehaviours)的指令。高速缓存控制报头(controlheader)就是该样一种报头,网页提供 者能用它来规定特定网页是否应当被缓存。然而,该种高速缓存控制(cachecontrols)常 常被过分地规定,因为尽管有该种高速缓存控制,有些数据可能会因为进行缓存(caching) 而受益。
[0004] 因此,现有技术中需要解决上述问题。

【发明内容】

[0005] 一方面,本发明提供一种用于管理计算机系统的数据高速缓存的方法,所述方法 包含W下步骤:为一个客户端过程(clientprocess)所请求的一个或多个数据资源维护 一个高速缓存;响应于来自客户端过程对一个缓存的数据资源(cacheddataresource)的 请求,向服务器过程发送一个对该数据资源的第一请求;并且向服务器过程发送一个对自 该数据资源最近被缓存W来该数据资源是否被修改过的指示的第二请求;比较服务器过程 对第一或第二请求的响应与缓存的数据资源,W确定对第二请求的响应是否不准确,该比 较步骤包含;响应于对第二请求的响应包含该数据资源未改变的指示,比较该数据资源的 缓存副本(cachedcopy)与响应于第一请求而返回的数据资源的副本,W确定对第二请求 的响应是否不准确;W及响应于对第二请求的响应包含该数据资源的一个副本,将所述数 据资源的缓存副本与响应于第二请求而返回的数据资源的副本比较,W确定对第二请求的 响应是否不准确;如果确定预定数目的与该数据资源相关联的不准确第二请求,则对该数 据资源禁用缓存(dis油lingcaching)。
[0006] 可W在一个与缓存的数据资源相关联的预定初始化阶段(initialisation phase),响应于对缓存的数据资源的请求而将第一和第二请求发送到服务器过程;如果在 初始化阶段后,已经确定了少于预定数目的与数据资源相关联的不准确第二请求,则可W 对该数据资源启用缓存(en油lecaching)。如果对该数据资源是禁用缓存的,则在初始化 阶段后,响应于后继的对缓存的数据资源的请求,可W只将第一请求发送到服务器过程;如 果对该数据资源是启用缓存的,则在初始化阶段后,响应于后继的对缓存的数据资源的请 求,可w只将第二请求发送到服务器过程。
[0007]初始化阶段的持续时间(化ration),可能取决于预定的时期(time period)。初 始化阶段的持续时间,可能取决于对相关联的数据资源的预定数量的请求。初始化阶段可 W响应于预定数量的与数据资源相关联的不准确第二请求的确定而结束。第二请求可W包 括HTTP"是否-修改过"("if-modified-since"或IM巧请求。
[000引另一方面,本发明提供一种用于管理计算机系统的数据高速缓存的装置,所述装 置可操作用W;为一个客户端过程所请求的一个或多个数据资源维护一个高速缓存;响应 于来自客户端过程对一个缓存的数据资源的请求:向服务器过程发送一个对该数据资源的 第一请求;并且向服务器过程发送一个对自该数据资源最近被缓存(cached)W来该数据 资源是否被修改过的指示的第二请求;比较服务器过程对第一或第二请求的响应与缓存的 数据资源,W确定对第二请求的响应是否不准确,该比较步骤包含;响应于对第二请求的 响应包含该数据资源未改变的指示,比较该数据资源的缓存副本与响应于第一请求而返回 的数据资源的副本,W确定对第二请求的响应是否不准确;W及响应于对第二请求的响应 包含该数据资源的一个副本,将所述数据资源的缓存副本与响应于第二请求而返回的数据 资源的副本比较,W确定对第二请求的响应是否不准确;如果确定预定数目的与该数据资 源相关联的不准确第二请求,则对该数据资源禁用缓存。
[0009] 另一个实施例提供一种用于管理计算机系统的数据高速缓存的计算机程序产品, 所述计算机程序产品体现有计算机可读程序代码的计算机可读存储介质,计算机可读程序 代码被配置得用W;为一个客户端过程所请求的一个或多个数据资源维护一个高速缓存; 响应于来自客户端过程对一个缓存的数据资源的请求;向服务器过程发送一个对该数据资 源的第一请求;并且向服务器过程发送一个对自该数据资源最近被缓存(cached)W来该 数据资源是否被修改过的指示的第二请求;比较服务器过程对第一或第二请求的响应与缓 存的数据资源,W确定对第二请求的响应是否不准确,该比较步骤包含;响应于对第二请 求的响应包含该数据资源未改变的指示,比较该数据资源的缓存副本与响应于第一请求而 返回的数据资源的副本,W确定对第二请求的响应是否不准确;W及响应于对第二请求的 响应包含该数据资源的一个副本,将所述数据资源的缓存副本与响应于第二请求而返回的 数据资源的副本比较,W确定对第二请求的响应是否不准确;如果确定预定数目的与该数 据资源相关联的不准确第二请求,则对该数据资源禁用缓存。
[0010] 另一方面,本发明提供一种用于管理计算机系统的数据高速缓存的计算机程序产 品,所述计算机程序产品包含:处理电路可读的、存储用于由处理电路执行W执行执行本发 明的各步骤的方法的计算机可读存储介质。
[0011] 另一方面,本发明提供一种存储在计算机可读存储介质上、并可解加载到数字 计算机的内存中的计算机程序,所述计算机程序包含用于一在所述程序在计算机上运行 时一-执行本发明的各步骤的代码部分。
[0012] 本发明各实施例使得能够自动确定对特定数据资源进行缓存是否有益。本发明各 实施例可W被设置得与不缓存指令(no-cachedirectives)背道而驰,W便有益地对本来 属于非缓存对象的数据资源进行缓存。本发明的各实施例可W应用于该样的情形,即,一个 或多个数据资源包含动态内容且是否-修改过(IM巧响应可能不准确。
【附图说明】
[0013] 现在将参照W下附图,仅通过举例,说明本发明的优选实施例。附图中:
[0014] 图1是本发明的优选实施例可W在其中实现的、现有技术的包含提供数据高速缓 存的代理服务器的计算机系统的示意图;
[0015] 图2是按照本发明优选实施例的、包含用于由图1的代理服务器管理高速缓存的 数据的表;
[0016] 图3是表示按照本发明优选实施例的、在为图1的计算机系统中的数据初始化高 速缓存时在图1的代理服务器中执行的处理的流程图;和
[0017] 图4是表示按照本发明优选实施例的、在管理图1的计算机系统中的数据请求时 在图1的代理服务器中执行的处理的流程图。
【具体实施方式】
[001引参看图1,计算机系统100包含第一、第二和第S计算机101、102、103,每个计算 机装有一个设置用来为运行一个或多个应用程序提供处理平台或环境的相应的操作系统 104。第一计算机101运行一个客户端应用程序,其形式是设置用来使用户能加载和查看网 页的web浏览器应用程序105。第二计算机102运行一个代理服务器应用程序106形式的 服务器应用程序。第=计算机103运行一个Web服务器应用程序107的形式的服务器应用 程序。第二和第=计算机102、103通过网络108连接。第一计算机101具有通过第二计算 机102提供的代理服务器106到网络108连接。第=计算机103连接到存储装置109,后者 存储网页(webpages) 110形式的数据、或其他数据文件或它们的组合。在本发明的一个优 选实施方案中,客户端、代理服务器和Web服务器应用程序105,106,107使用超文本传输协 议(HIT巧进行数据通讯。
[0019] 在本发明的一个优选实施例中,代理服务器106包括高速缓存管理模块111,其被 设置为自动地建立和维护一个存储诸如网页110的被请求数据的高速缓存112。来自Web 浏览器应用程序105的任何查看给定网页110的请求,都通过代理服务器106经网络108被 传送到Web服务器107。代理服务器106被设置得缓存(cache)在响应中提供的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1