一服务器提供可以包括来自数据库中数据表的内容的网络响应。该服务器提供一可以存储内容(包括来自数据表的内容)的缓存(例如,在系统存储器)以提高随后提供相同内容的效率以满足客户端网络请求。该服务器监视数据表的变化,并且当在一特定的数据表中出现一变化时,使依赖于一特定数据表的缓存记录无效。进而,响应于一客户端网络请求的网络响应,该服务器给至少一部分所构建的网络响应分配数据库缓存依赖性,该部分所构建的网络响应是基于在构建该网络响应期间所执行的命令的。该至少一部分所构建的网络响应随后被缓存在服务器的一缓存位置。
【技术实现步骤摘要】
本专利技术涉及管理缓存内容。尤其是,本专利技术涉及用于寄存和检索可以用于无效缓存记录的数据库表格变化信息。
技术介绍
计算机系统和相关技术影响社会的许多方面。确实,处理信息的计算机系统性能已经改变了我们生活和工作的方式。计算机系统现在通常执行一系列优先于手动执行的计算机系统出现的主要的任务(例如,文字处理,制表,和数据库管理)。近来,通过计算机系统可以电子通信并共享数据的有线或无线计算机网络计算机系统已经被彼此耦合了。结果,在计算机中处理的许多任务(例如,语音通信,访问电子邮件,电子会议,网络浏览)包括通过有线和/或无线计算机网络与一个或多个其它计算机系统电子通信。特别地,万维网(“WWW”)成为交流信息的重要机制。一般来说,在WWW上的内容是在一客户端/服务器模式中被访问。在一个客户端计算机系统上的一个“网络浏览器”发送一个访问通过在服务器计算机系统上的“网络服务器”被维持的内容的请求。到适当的时候,网络服务器持续地提供所请求的内容给该网络浏览器。一种使内容对于网络浏览器来说是可用的方式是为了给网络开发商创建一个包括若干个硬盘-编码的计算机可读指令的静态网页,例如,举例来说,在超文本标记语言中(“HTML”)。然后该静态网页被存储在一个对网络服务器可访问的位置(例如,在服务器的计算机系统,在一网络可连接的数据库中,等等)。响应于来自网络浏览器的一个请求,网络服务器可以将该静态网页传送至网络浏览器(例如,作为用户输入的结果导致网络浏览器访问一个相应于该静态网页的统一资源定位器(“URL”))。由于静态网页的接收,网络浏览器可以在客户端计算机系统上表示该静态网页的内容(例如,文本,图形,等等)。为了保存网络资源,网络浏览器也可以在客户端计算机系统(例如,在系统存储器或在一大容量存储设备中)上缓存一个静态网页的副本。当静态网页被不断地请求时,该网络浏览器会在初始化一个新网络请求到网络服务器之前尝试从缓存中定位该静态网页。如果该静态网页被定位在缓存中,网络浏览器会检索被缓存的静态网页而不是初始化一个网络请求。由于本地存储的数据可以被更有效地访问,因此在客户端计算机系统上缓存静态网页会减少与静态网页显示的内容相关的潜伏性。对静态网页的频繁的请求也可能也会被缓存在一个服务器计算机系统中(一般涉及诸如输出缓存)以减少潜伏性。例如,一个频繁请求的静态网页可以被缓存在服务器计算机系统的系统存储器中以至于不必每次当该静态网页被请求时都必须从大容量的存储设备中检索该静态网页。因为它们的静态本质,静态网页可以被缓存(在一客户端或服务器计算机系统中)很长的时间周期,潜在性不确定。然而,静态网页的使用主要是阻止实时或自定义数据在网络浏览器的存在。一般来说,在网络浏览器中需要存在的是动态数据(例如,日常比例图片,股票现价,等等)。因此,在动态网页中的包括动态数据的要在一网络浏览器中显示的机构已经被开发出来了。一个用于包含在动态网页中动态数据的机构是作为计算机可执行指令(一般称为“脚本”)的模块件使用的。脚本可以使用脚本语言来开发,例如,像这样的,JavaScript和VBScript,和在一页面文件(例如,一活动服务器页面(“ASP”)文件)中嵌入HTML和扩展标记语言(“XML”)指令。当接收到一个动态网页的请求时,服务器计算机系统将请求重发到一个处理相应页面文件的处理模块中(例如,一ASP模块)。处理模块执行包括在页面文件的任何脚本,并且生成适当的HTML指令返回给相应的请求。脚本可以包括用于从动态位置访问数据的计算机可执行指令,例如,像这样的,从一个包括当前比例图片或股票报价的数据库。由于脚本主要在接收请求时被执行,因此脚本可以被用来生成包含实时数据的动态网页。类似于静态网页,动态网页也可以被缓存以提供对动态网页的更为有效的访问。然而,包括在动态网页中的动态内容(例如,价格报价)对时间限制是特别有效的(例如,直到在动态内容位置处被检索到的值已经被改变)。一般来说,动态内容(例如,价格报价)只会在一个很短的时间内有效,例如,只有几秒钟。当动态网页内容的值改变时,缓存的动态内容就变得无效了。例如,当股票价格从$20.00变为$21.00,缓存的$20.00的值就是无效的(或者甚至是正确的)。当无效的动态内容仍然在缓存中,对于网络服务器来说就有给网络浏览器提供错误的动态内容的潜在性。例如,当一个无效的股票价格仍然保存在缓存中时,网络服务器可以从缓存中检索到该无效的股票价格而不是重新执行一个脚本以从数据库中检索一更新过的股票价格。因此,已经开发出了尝试确保缓存动态内容有效性的缓存管理机制。一些缓存管理机制在指定的时间间隔中会自动从缓存中移除动态内容,例如,每十分钟。然而,如果动态内容的值在指定的时间间隔中改变那么缓存中仍然存在一种无效的动态内容存在于缓存中的潜在性。例如,如果指定时间间隔是五分钟并且动态内容值在被缓存后一分钟更新,动态内容值是无效的但依然会缓存至少四分钟。在这四分钟里,网络服务器可能会不正确地检索缓存的动态内容值而不是执行一个脚本去检索该已经更新的动态内容值。而且,在指定时间间隔移除内容会导致仍然有效的值从缓存中移除。例如,如果指定的时间间隔是十分钟并且动态内容值在被缓存后在十分钟内仍然有效,那么该动态内容值依然被从缓存中移除。因此,更有效检索相应后续请求的动态内容值的潜在性被阻止。其他缓存管理机制监视存储在服务器计算机系统中的文件(例如,XML文件)并且当被监视的文件改变时使从监视的文件得到的缓存动态内容值无效。而其他缓存管理机制监视缓存中的记录并在其他缓存记录无效时使一个缓存记录无效。因此,一些缓存管理机制导致缓存记录的有效性依赖于时间,一个相应的文件,或其他相应的缓存记录。然而,现存的缓存管理机制(包括那些使用的时间,文件,和缓存依赖性)对于使从计算机系统外部的地址中检索到的缓存的动态数据值无效还不是很合适。例如,网络浏览器可以请求一个包括来自数据库中若干个不同的表格的动态内容值的网页。因此,一个具有合适脚本的页面文件可以在服务器计算机系统上被处理从而检索动态内容值并且生成适当的HTML指令。然而,从数据库中检索数据要消耗网络和数据库资源。如果在检索的数据上还要执行计算,那么还要额外消耗服务器计算机系统资源。而且,可能会这样,服务器计算机系统同时询问数据库要求被包括在动态网页内的动态内容的大量不同部分。也有可能大量服务器计算机系统每个都从相同的数据库中访问动态内容。因此,一个单个的数据库可能会同时给大量的服务器计算机系统提供动态内容,其中每个服务器计算机系统同时询问数据库要求动态内容的不同部分。结果,单个服务器成为在大量服务器计算机系统中的共享资源并且因此潜在限制也缩小了。也就是,更多服务器计算机系统的额外增加会不必要地引起运行的增加,由于每个服务器计算机系统至少受从单个数据库中检索内容所需时间的限制。而且,当从缓存(例如在一指定间隔)中预先完全移除了内容时服务器计算机系统会被要求再次询问数据库,甚至在缓存中的动态内容依然有效。在多服务器环境中,缓存中内容的预先完全移除会导致共享数据库中的资源的不必要的负担,因此,而且是很重要的,要限制可量测性。因此,依赖于配制缓存中记录的机制和使基于数据库中表本文档来自技高网...
【技术保护点】
在一访问具有一个或多个数据表的计算机系统中,一种用于当其中一个数据表的内容被替换时,配置数据库以提供一表变化通知的方法,该方法包括:选择要被用于监视内容变化的数据表的步骤;插入一条相应该选定数据表的记录到一变化通知表的步骤, 该相应记录包括选定数据表的版本信息;给选定数据表分配触发器的步骤,该触发器导致当在选定数据表中的内容被替换时所选定数据表的版本信息在一变化通知表中被更新;在响应于选定数据表中被替换的内容的变化通知表中更新版本信息的步骤;以及 返回该更新的版本信息至一请求中的服务器计算机系统的步骤,从而使被更新的版本信息可以被用来决定在服务器计算机系统的缓存记录中的内容的有效性。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:MJ皮佐,RM海华德,PYK吴,SD古斯里,AW史密斯,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。