CN1771488A - Web服务器点击倍增器和转向器 - Google Patents

Web服务器点击倍增器和转向器 Download PDF

Info

Publication number
CN1771488A
CN1771488A CN 200380109253 CN200380109253A CN1771488A CN 1771488 A CN1771488 A CN 1771488A CN 200380109253 CN200380109253 CN 200380109253 CN 200380109253 A CN200380109253 A CN 200380109253A CN 1771488 A CN1771488 A CN 1771488A
Authority
CN
China
Prior art keywords
request message
web server
http
http request
session cookie
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200380109253
Other languages
English (en)
Other versions
CN100507893C (zh
Inventor
M·E·斯梅德伯格
B·A·卡拉斯诺伊亚洛夫
D·希德克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Plumtree Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Plumtree Software Inc filed Critical Plumtree Software Inc
Publication of CN1771488A publication Critical patent/CN1771488A/zh
Application granted granted Critical
Publication of CN100507893C publication Critical patent/CN100507893C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

一种方法、设备和计算机可读介质,包括:接收第一超文本传输协议(HTTP)请求消息,该第一HTTP请求消息包括存储在Web服务器(104)上的一个信息组件的标识符;为该信息组件产生一个或多个第二HTTP请求消息,其中每个第二HTTP请求消息包括该信息组件的标识符;以及将各第二HTTP请求消息发送到第二Web服务器(110)。

Description

Web服务器点击倍增器和转向器
交叉参考相关申请
本申请要求于2002年11月27日提交的申请号为60/429,826的美国临时申请的权益,并将其公开内容全文并入本文之中以供参考。
背景
本发明总体上涉及Web服务器,并具体涉及解决Web服务器中的资源泄漏。
近来对网络服务的需求的快速增长已经引起被生产来符合该需求的Web服务器数量和复杂度的同样的增长。由于该复杂度,在投入生产之前,在开发中对Web服务器进行详细测试,其中Web服务器实时服务客户。但是一旦在生产中,则很难测试Web服务器,并且所暴露的问题也很难解决。一个普遍的问题是资源泄漏,其中一些诸如内存的资源是逐渐消耗的,这对Web服务器的稳定性或性能是有损害的。一种普遍的资源泄漏是内存泄漏。
Web服务器向顾客提供诸如网页、字处理文档、电子数据表、图像、电影等的信息组件。这些信息组件中的一些是静态的,因此能够被提供而无需进一步的处理。其它信息组件是动态的,并且在传递给顾客之前必须由信息组件产生处理产生。当在信息组件产生处理工作的同时将资源标记为“使用中”、但是当该处理不再需要该资源时也没有释放该资源时,就会引起资源泄漏。所述资源可以是内存、同步对象、通信端口、或其它有限计算机资源。因为从未释放该资源,所以相同的处理或其它处理不能使用该资源。经过一段时间,这种资源泄漏会导致该处理或整个操作系统产生故障。
在生产Web服务器中的资源泄漏一般是非常耗时的并且很难诊断和校正。
首先,资源泄漏经常发生得非常缓慢,所以需要花费数日或数周收集数据以用于评价每个所提出方案的有效性。如果必须尝试许多方案,则该处理会浪费数月或更多。
第二,资源泄漏经常在生产Web服务器上发生。因为这些Web服务器必须是高度可靠的,所以可能不允许诊断资源泄漏的职员过多地修改该系统。一个诊断资源泄漏的普遍方式是禁用一部分泄漏处理。单独禁用并启用各部分。当看到资源泄漏消失时,则被禁用的部分通常对该泄漏负有责任。在生产Web服务器上一般不允许该策略,因为与禁用组件相关的功能丧失是不可接受的。也经常使用其它诊断软件组件来检测和诊断资源泄漏。当发现小的泄漏时,诸如泄漏检测器之类的工具会是非常有用的,但是在生产服务器上使用这些组件经常是被禁止的。负责生产Web服务器的稳定性的管理员不希望由于在Web服务器上运行附加的诊断和调试软件而威胁到该稳定性。
第三,资源泄漏经常与异常或意外情况有关。在生产Web服务器上使用的大多数软件系统在应用之前都已经经历重要的测试。因此,和通常使用的Web服务器的特征相关的泄漏是很少的。在应用软件之前,一般会发现并校正那些泄漏。当在生产Web服务器上发现泄漏时,其常常和没被大量测试的特征有关,这也许是因为它看起来不重要,或者因为没有预测到特定的用户动作序列。识别生产Web服务器上的资源泄漏一般是非常容易的。可以观测到资源被用尽。识别资源泄漏的原因比较困难,因为一般而言,它与任何普通功能无关。一般而言,当在软件中发现漏洞或错误,在实验室中重现导致漏洞的显示的情况。一旦已提出一种解决方案,就在实验室中实施并测试该解决方案。对于在生产系统上检测的泄漏,该模型并不能发挥作用,因为在实验室中重现生产系统的情况是很困难的。生产系统的使用特性是复杂的并且难于表征。
概述
已知本发明为Web点击倍增器和Web点击转向器,并提出一种方法、设备和计算机可读介质。本发明拦截到针对Web服务器的超文本传输协议(HTTP)请求,拷贝并处理那些请求,然后将所述请求转发到相关Web服务器。它在概念上类似代理服务器,因为它是Web客户端(例如浏览器)和Web服务器之间的一层,虽然它最容易被实现为到待测Web服务器的插件。Web客户端连接Web点击倍增器和Web点击转向器,就如同它是Web服务器一样,而Web服务器则从Web点击倍增器和Web点击转向器接收请求,就如同它是浏览器一样。这涉及两个方面。
Web点击倍增器(Web Hit Multiplier)
第一个方面是Web点击倍增器,它增加Web服务器处理的HTTP请求的数量,从而增加了任何现有资源泄漏的规模。这使得较容易检测和诊断泄漏。通过倍增现有输入请求,实现请求的增加。记录每个输入请求,并向Web服务器多次发送该请求。可以将请求的第一拷贝认为是主要请求,并可以将其它拷贝认为是次要请求。
Web点击倍增器的一部分最容易作为所讨论的Web服务器中的插件加以实施。当Web点击倍增器从浏览器(或其它HTTP客户端)接收HTTP请求时,该插件记录该请求,并允许它未经修改地通过以到达Web服务器。然后,它将该请求转发到第二组件,该第二组件多次拷贝该请求,并将每个请求发送到正在测试的Web服务器。当Web服务器使用HTTP响应来答复主要请求时,将该HTTP响应返回浏览器。Web点击倍增器不应该将对次要请求的响应返回到浏览器,因为浏览器并没有提出那些请求(由Web点击倍增器提出那些请求)。
Web点击倍增器不倍增由Web点击倍增器本身产生的请求。它可以通过许多方法识别自己的请求,包括客户IP地址、定制报头等。
Web点击倍增器包括用于帮助诊断的附加特征。在一个实施例中,过滤器根据预定标准选择应该为其倍增请求的资源。
首先,Web点击倍增器包括一个识别应该为其倍增请求的资源的过滤器。当怀疑在Web服务器的一个组件中出现泄漏时,可以倍增仅针对该组件的请求,而不倍增到其它组件的请求。选择倍增(或不倍增)受怀疑的组件可以帮助缩小引起泄漏的组件的范围。因为Web服务器一般通过统一资源定位符(URL)识别组件和资源,所以Web点击倍增器通过URL过滤请求,并只倍增那些满足0或更多指定常规表达式的URL。此外,用户会指定表示不应该倍增的URL的0或更多常规表达式(也就是说,用户可以指定触发倍增的正条件或抑制倍增的负条件)。
第二,Web点击倍增器包括一个识别不意图改变Web服务器状态的请求的过滤器,并且不倍增那些请求。例如,假设Web服务器作为银行系统运作。当客户请求通过银行网站将现金从一个账户转移到另一个账户时,Web点击倍增器将不倍增这些请求。用户不希望转移发生多次。
如在HTTP规范中描述的那样,通过HTTP POST请求来处理大多数用以改变状态的请求。Web点击倍增器将允许用户指定应该倍增哪些HTTP方法(例如,“POST”或“GET”)以及不应该倍增哪些。也可以使用基于URL的过滤(如上所述)来滤除不希望的动作。
Web点击转向器(Web Hit Redirector)
第二个方面是Web点击转向器,它允许次要的测试Web服务器和主要的生产Web服务器接收相同的HTTP请求。Web点击转向器非常类似于Web点击倍增器,只不过它不是将请求拷贝发送到主要Web服务器,而是处理所拷贝的请求并将其发送到测试Web服务器。这允许诊断者修改测试Web服务器,并在具有“真是世界”使用模式的环境中分析所述改变的效果。这通过拷贝输入请求实现。每个输入的请求被拷贝一次或多次。将最初的拷贝发送到生产Web服务器。这些请求被称为主要请求。将其它拷贝发送到一个或多个测试Web服务器。这些请求被称为测试请求或次要请求。在Web点击转向器中,主要请求和测试请求一般不是完全相同的。必须校正“测试”请求,以使测试Web服务器可以接受这些测试请求。
由于Web服务器识别其正在服务的客户端的方式,在将请求转发到测试Web服务器之前,必须修改请求。HTTP是无状态协议,所以一般来说,Web服务器不知道哪个客户端产生哪个请求。例如,如果浏览器请求长文档的“下”一页,则Web服务器需要知道哪个客户端产生该请求,即是正在浏览页面2的客户端(在该情况下,该服务器应该返回页面3),还是正在浏览页面27的客户端(在该情况下,该服务器应该返回页面28)。HTTP协议不解决这个问题,但是有避开该限制的标准惯例。
标准工业惯例是使用“cookie”来维持Web服务器上的状态。Cookie是Web服务器产生的小标识符,并且与特定客户端相关联。当服务器对请求进行响应时,它产生一个cookie,并将其与响应一起返回。浏览器(或其它客户端)存储该cookie,并将其与任何随后请求一起返回到Web服务器。Web服务器可以使用该cookie来将随后的请求与产生该请求的客户端相关。因为使用这个cookie来建立Web服务器上当前用户的“会话”,因此将这个cookie称为会话cookie。例如,用户A会请求“下一页面”,Web服务器会连同会话cookie“用户1”返回页面1。然后,用户B会请求“下一页面”,Web服务器会连同会话cookie“用户2”再次返回页面1。接下来,用户A会请求“下一页面”(指页面2)。连同该请求,用户A将会话cookie“用户1”返回到Web服务器。Web服务器记得cookie“用户1”与已看过页面1的一个用户相关联,所以它返回页面2。即使Web服务器不真的知道关于用户的其它任何事情,但是Web服务器知道用户A现在接下来应该看页面3,以及用户B接下来应该看页面2。即使cookie不是HTTP 1.0规范的严格部分,所有主要浏览器和Web服务器仍然支持会话cookie。
这对Web点击转向器产生一个问题。因为Web服务器定义cookie的格式和意义,所以一般而言,不能将来自一个Web服务器的cookie成功发送到第二个Web服务器。第二个Web服务器将不理解该cookie的意义(例如,将cookie“用户2”发送到某个其它Web服务器会导致错误,因为在第二系统上可能只有一个用户。即使有2个用户,第二Web服务器的第二用户与第一Web服务器的第二用户的不是同一个用户。)。因此,当Web点击转向器将本来要发送到生产Web服务器的请求发送到测试Web服务器时,测试Web服务器将不知道如何解释和该请求相关的任何cookie。
Web点击转向器将生产Web服务器上的cookie映射到测试Web服务器上的cookie。当它接收针对生产Web服务器上的资源的请求时,它拷贝该请求,并用用于测试Web服务器的相应cookie取代标识生产Web服务器上的状态的cookie。为此,它保持从生产cookie到测试cookie的映射。在将请求转发到测试Web服务器之前,Web点击转向器修改该请求,并用适用于测试Web服务器的经映射的coolie取代要用于生产Web服务器的任何会话cookie。Web点击转向器包括其它特性用于诊断。
Web点击转向器包含与Web点击倍增器相同的过滤特征。特别是它有能力通过URL过滤请求,从而选择性地允许或拒绝那些符合指定常规表达式的URL。它也有能力通过HTTP方法进行过滤(例如,重定向HTTP GET请求,同时忽略HTTPPOST请求。)
在下面的相应附图和描述中列举了一个或多个实施例的细节。从下面地描述和附图以及权利要求中,其它特征将更为显而易见。
附图描述
附图1表示根据一个实施例的数据通信系统。
附图2描述根据一个实施例的由附图1的通信系统执行的处理。
附图3表示根据一个实施例的数据通信系统。
附图4描述根据一个实施例的由附图3的通信系统执行的处理。
附图5描述根据一个实施例的由附图1的倍增器执行的处理。
在本说明书中使用的每个附图标记的首位数字表示其中该附图标记首次出现的附图号。
详细描述
如在本文中所使用的那样,术语“客户端”和“服务器”一般指电子装置或机制,而术语“信息”一般指表示数字消息的电子信号。使用这些术语以简化以后的描述。本文描述的客户端和服务器可以在任何标准通用计算机上实施,或者可以作为专用装置实施。
对Web服务器的访问量经常用服务器上的“点击率”描述,其反应Web服务器在给定时间内接收和对其作出响应的请求数。如上所述,对生产Web服务器的用户点击率经常不足以允许快速识别或诊断缓慢的资源泄漏。本发明的发明人已认识到,如果引起泄漏的信息组件上的点击率更高,则缓慢的资源泄漏会更快变得明显。换句话说,如果每次点击的资源泄漏速率是恒定的,则增加点击率将使泄漏更加明显,并因此更容易修理。
一个可能的方法是尝试模拟那些用户请求,并简单地增加模拟的点击率。例如,可以使用工具从服务器上的信息组件重复请求资源,这是通过在服务器一满足请求时就产生新的请求。该方法的一个缺点在于,为了模拟对该信息组件的请求,有必要知道哪个信息组件正在引起泄漏。这是个严重的限制,因为测试的主要目的是发现哪个信息组件正在泄漏l换句话说,在不知道负载的哪些方面与模拟有关的情况下,正确地模拟Web服务器上的负载是困难的。
附图1表示根据一个实施例的数据通信系统100。数据通信系统100包括诸如Web浏览器的客户端102,Web服务器104,插件106,可选的统一资源定位符(URL)过滤器108,以及倍增器110。Web服务器104、URL过滤器108和倍增器110优选地作为在一台或多台计算机上执行的单独的处理加以实施。虽然可以设想其它实施例,但是插件106优选地作为因特网服务器应用程序接口(ISAPI)过滤器加以实施。Web服务器104作为诸如网页等的一个或多个信息组件的主机,可以通过由客户端102发送HTTP请求来访问所述信息组件。
附图2描述了根据一个实施例的由通信系统100执行的处理200。客户端102向Web服务器104发送超文本传输协议(HTTP)请求消息(步骤202)。可以自动产生该HTTP请求消息或响应于用户操作来产生该HTTP请求消息。该HTTP请求消息包括存储在Web服务器104上的一个信息组件的标识符。Web服务器104接收该HTTP请求消息。响应于该HTTP请求消息,Web服务器104根据常规方法产生HTTP答复消息,并向客户端102发送该HTTP答复消息(步骤204)。
在采用可选URL和方法过滤器108的实施例中,插件106向过滤器108发送HTTP请求消息的拷贝(步骤206)。在其它实施例中,插件106直接向倍增器110发送HTTP请求消息的拷贝。过滤器108根据用户可选择的过滤器标准来确定是否向倍增器110转发HTTP请求消息。在一个实施例中,过滤器108对每个HTTP请求应用一个常规表达式,并只转发那些符合该表达式的HTTP请求。在另一实施例中,过滤器108可以只转发那些不符合该表达式的HTTP请求。在第三实施例中,过滤器108可以只转发那些满足指定的HTTP方法的HTTP请求。其它实施例包括这些和其它标准的不同组合。
因为该特征,可以放大网站的特定部分,而不是其它部分。该特点对于隔离资源泄漏尤其有效。例如,如果资源泄漏被发现,并且怀疑其与网站的特定部分有关,则URL过滤器108可以只放大网站的该部分。如果加速资源泄漏,则泄漏有可能与网站的该部分有关。然后,可以执行相反测试,以便放大除网站的该部分以外的每一部分。如果没有放大泄漏,则可以非常确定泄漏与网站的该部分有关。
倍增器110接收一个经转发的HTTP请求消息(步骤208),并产生该HTTP请求消息的预定数量的n个拷贝,其中n≥1。倍增器110将该HTTP请求消息的各拷贝发送到Web服务器110(步骤210)。这样,处理200为特定信息组件“放大”所有的用户请求,从而增加与该信息组件相关的任何资源泄漏的速率,以便更容易并更快速地识别和诊断该泄漏。在一些实施例中,倍增器110包括一个答复分析工具,用来分析由Web服务器104响应于由该倍增器产生的经倍增的请求而返回的答复(步骤212),从而提供附加的测试数据。
也可以在人工点击测试中使用本发明的实施例来测试Web服务器。这些实施例并不是在生产环境中倍增来自消费者的请求,而是在开发环境中倍增来自测试者的请求。以某一大数放大测试者的每次点击,从而模拟许多用户同时点击。
附图3表示根据一个实施例的数据通信系统300。数据通信系统300包括诸如Web浏览器的客户端302、生产Web服务器304、测试Web服务器312、插件306、可选的URL过滤器308以及倍增器310。Web服务器304和312、URL过滤器308、以及倍增器310优选地作为在一台或多台计算机上执行的单独的处理加以实施。插件306优选地作为ISAPI过滤器加以实施。Web服务器304作为可以由客户端302访问的诸如网页等的一个或多个信息组件的主机。测试Web服务器312作为生产Web服务器304所具有的一个或多个信息组件的主机。
附图4描述了根据一个实施例的由通信系统300执行的处理400。客户端302向生产Web服务器304发送HTTP请求消息(步骤402)。可以自动产生该HTTP请求消息或响应于用户操作来产生该HTTP请求消息。该HTTP请求消息包括存储在生产Web服务器304上的一个信息组件的标识符。生产Web服务器304接收该HTTP请求消息。响应于该HTTP请求消息,生产Web服务器304根据常规方法产生一个HTTP答复消息,并将该HTTP答复消息发送到客户端302(步骤404)。
在采用URL过滤器308的实施例中,插件306向URL过滤器308发送HTTP请求消息的拷贝(步骤406)。在其它实施例中,插件306将HTTP请求消息的拷贝发送到倍增器310。URL过滤器308根据用户可选择的过滤器标准来确定是否将HTTP请求消息转发到倍增器310(步骤412)。在一个实施例中,URL过滤器308将一个常规表达式应用于每个HTTP请求,并只转发那些满足该表达式的HTTP请求。在另一实施例中,URL过滤器308只转发那些不满足该表达式的HTTP请求。其它实施例包括这些和其它标准的各种组合。
倍增器310接收一个经转发的HTTP请求消息(步骤408),并产生该HTTP请求消息的预定数量的n个拷贝,其中n≥1。倍增器310将该HTTP请求消息的各拷贝发送到测试Web服务器312(步骤410)。在一些实施例中,倍增器310包括一个答复分析工具,用来分析由测试Web服务器302响应于倍增器产生的经倍增的请求而返回的答复(步骤412),从而提供附加的测试数据。
这样,处理400为特定的生产Web服务器信息组件向测试Web服务器“放大”所有用户请求,从而增加与该信息组件相关的泄漏的速率,以便在不干扰生产环境的情况下更容易并更快速地检测和诊断泄漏。此外,可以在不干扰生产环境的情况下在测试Web服务器上使用定制或现成的调试工具。
一些实施例包括Web会话映射特征。当客户端连接到Web服务器时,使用会话cookie跟踪会话的状态是很普遍的。Web服务器确定会话cookie的内容并将其发送到客户端,该内容包括针对该Web服务器的随后请求中的会话cookie。但是当从生产Web服务器向测试Web服务器转发请求时,没有转发会话cookie,因为测试Web服务器将不理解该会话cookie。相反,倍增器在开发Web服务器和生产Web服务器所产生的对应会话cookie之间维持一个映射,并且执行适当的会话cookie替换。当第一次建立一个会话时,没有会话cookie。在该情况下,倍增器识别到对于该会话还没有建立会话cookie,并因此等待生产Web服务器建立会话cookie。一旦建立会话cookie,倍增器将请求转发到测试Web服务器,并将由开发服务器提供的会话cookie映射到由生产Web服务器提供的会话cookie。当倍增器接收到该会话中的后续请求时,它在将该请求转发到测试Web服务器之前根据所述映射来替换会话cookie。
附图5描述了根据一个实施例的倍增器310执行的处理500。倍增器310接收针对生产Web服务器的请求(PWS一步骤502),并确定该请求是否包含会话cookie(步骤504)。
如果该请求不包含会话cookie,则倍增器3 10产生该请求的一份或多份拷贝(步骤506),并将所述拷贝发送到测试Web服务器(TWS一步骤520)。当倍增器310接收从测试Web服务器接收到针对该请求的一个或多个答复时(步骤522),它解析所述答复以获得由测试Web服务器提供的各会话cookie(步骤524)。倍增器310也将最初的请求传递到生产Web服务器(步骤508)。当倍增器310从生产Web服务器接收到针对该最初请求的答复时(步骤510),它解析该答复以获得由生产Web服务器提供的会话cookie(步骤512)。然后,倍增器310记录在步骤512中从生产Web服务器获得的会话cookie和在步骤524中从测试Web服务器获得的各会话cookie之间的cookie映射(步骤514)。然后处理500结束(步骤516)。
但是如果在步骤504中该请求包含会话cookie,则倍增器310确定是否已映射了该会话cookie(步骤526)。
如果该请求包含会话cookie,并且已经映射了该cookie,则倍增器310产生该请求的一份或多份拷贝(步骤544),用来自该映射的各对应测试Web服务器cookie取代拷贝中的生产Web服务器会话cookie(546),并将修改后的拷贝发送到测试Web服务器(步骤548)。然后处理500结束(步骤550)。
但是如果在步骤526中会话cookie存在于该请求中但是还没有被映射,则倍增器310产生来自生产Web服务器的请求的一份或多份拷贝(步骤528),并将拷贝发送到测试Web服务器(步骤538)。当倍增器310从测试Web服务器接收到针对该请求的答复时(步骤540),它解析所述答复以获得由测试Web服务器提供的会话cookie(步骤542)。倍增器310也解析该最初请求以获得该请求中的会话cookie(步骤530),并将该最初请求传递到生产Web服务器(步骤532)。然后,倍增器310记录在步骤532中从生产Web服务器获得的会话cookie和在步骤542中从测试Web服务器获得的会话cookie之间的cookie映射(步骤534)。然后处理500结束(步骤536)。在一个实施例中,倍增器310在单个请求的所有拷贝中使用单个测试Web服务器会话cookie。在另一实施例中,它在单个请求的每个拷贝中使用不同的测试Web服务器会话cookie。
可以在数字电子电路或计算机硬件、固件或它们的组合中实施本发明。可以在计算机程序产品中实施本发明的设备,该计算机程序产品具体实现在机器可读存储介质中以便由可编程处理器执行;也可以由可编程处理器来执行本发明的方法步骤,该可编程处理器执行指令程序以便通过操作输入数据并产生输出来执行本发明的功能。优选地,可以在可编程系统上执行的一个或多个计算机程序中实施本发明,该可编程系统包括用于从数据存储系统接收数据和指令并将数据和指令发送到数据存储系统的至少一个可编程处理器、至少一个输入装置和至少一个输出装置。可以在高级程序或面向对象编程语言中(或者如果需要的话在汇编或机器语言中)实施每个计算机程序;并且无论如何,所述语言可以是经编译或经解译的语言。适合的处理器例如包括通用和专用微处理器。一般而言,处理器从只读存储器和/或随机存取存储器接收指令和数据。一般而言,计算机包括一个或多个用于存储数据文件的海量存储装置;这种装置包括诸如内部硬盘和可移动硬盘的磁盘、磁光盘和光盘。适于有形地具体实现计算机程序指令和数据的存储装置包括所有形式的非易失性存储器,例如包括半导体存储器装置(诸如EPROM、EEPROM和闪速存储器装置)、诸如内部硬盘和可移动硬盘之类的磁盘、磁光盘和CD-ROM盘。所有上述装置可以由ASIC(特定用途集成电路)补充或合并。
已经描述了本发明的多个实施例。然而,应该理解,可以在不背离本发明的精神和范围的前据下作出各种修改。因此,其它实现方式落在后附权利要求书的范围内。

Claims (56)

1.一种方法,包括:
从客户端接收第一超文本传输协议(HTTP)请求消息,该第一HTTP请求消息包括存储在第一Web服务器上的一个信息组件的标识符;
为该信息组件产生一个或多个第二HTTP请求消息,每个第二HTTP请求消息包括该信息组件的标识符;以及
将所述第二HTTP请求消息发送到第二Web服务器。
2.如权利要求1所述的方法,其中该信息组件的标识符包括统一资源定位符(URL),该方法还包括:
只有当该URL满足预定标准时才执行所述产生和发送步骤。
3.如权利要求1所述的方法,其中第一HTTP请求消息包括一个HTTP方法,该方法进一步包括:
只有当该HTTP方法满足预定标准时才执行所述产生和发送步骤。
4.如权利要求1所述的方法,还包括:
分析所述第二HTTP请求消息对第二Web服务器的影响。
5.如权利要求4所述的方法,还包括:
响应于每个第二HTTP请求消息,从第二Web服务器接收HTTP答复消息;以及
分析所述HTTP答复消息。
6.如权利要求1所述的方法,其中该第一HTTP请求消息包括由第一Web服务器提供的第一会话cookie,该方法还包括:
在向第二Web服务器发送所述第二HTTP请求消息之前,用每个第二HTTP请求消息中的第二会话cookie代替第一会话cookie,所述第二会话cookie是由第二Web服务器提供的,并且和第一会话cookie相关联。
7.如权利要求1所述的方法,还包括:
响应于第一HTTP请求消息,从第一Web服务器接收第一HTTP答复消息;
解析该第一HTTP答复消息,以获得由第一Web服务器提供的第一会话cookie:
响应于每个第二HTTP请求消息,从第二Web服务器接收第二HTTP答复消息;
解析所述第二HTTP答复消息,以获得由第二Web服务器提供的各第二会话cookie;以及
将所述第一和第二会话cookie相关联。
8.如权利要求7所述的方法,还包括:
从客户端接收第三HTTP请求消息,该第三HTTP请求消息包括第一会话cookie和存储在第一Web服务器上的同一个或另一个信息组件的标识符;
产生一个或多个第四HTTP请求消息,每个第四HTTP请求消息包括该另一个信息组件的标识符和第二会话cookie;以及
将所述第四HTTP请求消息发送到第二Web服务器。
9.如权利要求1所述的方法,还包括:
解析该第一HTTP请求消息,以获得由第一Web服务器提供的第一会话cookie;
响应于每个第二HTTP请求消息,从第二Web服务器接收HTTP答复消息;
解析所述HTTP答复消息,以获得由第二Web服务器提供的各第二会话cookie;以及
将所述第一和第二会话cookie相关联。
10.一种方法,包括:
接收第一超文本传输协议(HTTP)请求消息,该第一HTTP请求消息包括存储在Web服务器上的一个信息组件的标识符;
为该信息组件产生一个或多个第二HTTP请求消息,每个第二HTTP请求消息包括该信息组件的标识符;以及
将所述第二HTTP请求消息发送到该Web服务器。
11.如权利要求10所述的方法,其中该信息组件的标识符包括统一资源定位符(URL),该方法进一步包括:
只有当该URL满足预定标准时才执行所述产生和发送步骤。
12.如权利要求10所述的方法,其中该第一HTTP请求消息包括一个HTTP方法,该方法进一步包括:
只有当该HTTP方法满足预定标准时才执行所述产生和发送步骤。
13.如权利要求10所述的方法,还包括:
分析所述第二HTTP请求消息对该Web服务器的影响。
14.如权利要求13所述的方法,还包括:
响应于每个第二HTTP请求消息,从该Web服务器接收HTTP答复消息;以及
分析所述HTTP答复消息。
15.包括可以由计算机执行的指令以用于执行一个方法的计算机可读介质,该方法包括:
从客户端接收第一超文本传输协议(HTTP)请求消息,该第一HTTP请求消息包括存储在第一Web服务器上的一个信息组件的标识符;
为该信息组件产生一个或多个第二HTTP请求消息,每个第二HTTP请求消息包括该信息组件的标识符;以及
将所述第二HTTP请求消息发送到第二Web服务器。
16.如权利要求15所述的介质,其中该信息组件的标识符包括统一资源定位符(URL),其中该方法进一步包括:
只有当该URL满足预定标准时才执行所述产生和发送步骤。
17.如权利要求15所述的介质,其中该第一HTTP请求消息包括一个HTTP方法,其中该方法进一步包括:
只有当该HTTP方法满足预定标准时才执行所述产生和发送步骤。
18.如权利要求15所述的介质,其中该方法还包括:
分析所述第二HTTP请求消息对第二Web服务器的影响。
19.如权利要求18所述的介质,其中该方法进一步包括:
响应于每个第二HTTP请求消息,从第二Web服务器接收HTTP答复消息;
分析所述HTTP答复消息。
20.如权利要求15所述的介质,其中该第一HTTP请求消息包括由第一Web服务器提供的第一会话cookie,并且其中该方法进一步包括:
在向第二Web服务器发送所述第二HTTP请求消息之前,用每个第二HTTP请求消息中的第二会话cookie代替该第一会话cookie,所述第二会话cookie是由第二Web服务器提供的,并且和第一会话cookie相关联。
21.如权利要求15所述的介质,其中该方法还包括:
响应于第一HTTP请求消息,从第一Web服务器接收第一HTTP答复消息;
解析该第一HTTP答复消息,以获得由第一Web服务器提供的第一会话cookie;
响应于每个第二HTTP请求消息,从第二Web服务器接收第二HTTP答复消息;
解析所述第二HTTP答复消息,以获得由第二Web服务器提供的第二会话cookie;以及
将所述第一和第二会话cookie相关联。
22.如权利要求21所述的介质,其中该方法进一步包括:
从客户端接收第三HTTP请求消息,该第三HTTP请求消息包括第一会话cookie和存储在第一Web服务器上的同一个或另一个信息组件的标识符;
产生一个或多个第四HTTP请求消息,每个第四HTTP请求消息包括该另一个信息组件的标识符和第二会话cookie;以及
将所述第四HTTP请求消息发送到第二Web服务器。
23.如权利要求15所述的介质,其中该方法还包括:
解析该第一HTTP请求消息,以获得由第一Web服务器提供的第一会话cookie;
响应于第二HTTP请求消息的其中之一,从第二Web服务器接收HTTP答复消息;
解析所述HTTP答复消息,以获得由第二Web服务器提供的第二会话cookie;
将所述第一和第二会话cookie相关联。
24.包括可以由计算机执行的指令以用于执行一个方法的计算机可读介质,该方法包括:
接收第一超文本传输协议(HTTP)请求消息,该第一HTTP请求消息包括存储在Web服务器上的一个信息组件的标识符;
为该信息组件产生一个或多个第二HTTP请求消息,每个第二HTTP请求消息包括该信息组件的标识符;以及
将所述第二HTTP请求消息发送到该Web服务器。
25.如权利要求24所述的介质,其中该信息组件的标识符包括统一资源定位符(URL),其中该方法进一步包括:
只有当该URL满足预定标准时才执行所述产生和发送步骤。
26.如权利要求24所述的介质,其中该第一HTTP请求消息包括一个HTTP方法,其中该方法进一步包括:
只有当该HTTP方法满足预定标准时才执行所述产生和发送步骤。
27.如权利要求24所述的介质,其中该方法还包括:
分析所述第二HTTP请求消息对该Web服务器的影响。
28.如权利要求27所述的介质,其中该方法还包括:
响应于每个第二HTTP请求消息,从该Web服务器接收HTTP答复消息;以及
分析所述HTTP答复消息。
29.一种设备,包括:
用于从客户端接收第一超文本传输协议(HTTP)请求消息的第一Web服务器,该第一HTTP请求消息包括存储在第一Web服务器上的一个信息组件的标识符;
用于为该信息组件产生一个或多个第二HTTP请求消息并将所述第二HTTP请求消息发送到第二Web服务器的倍增器,其中每个第二HTTP请求消息包括该信息组件的标识符。
30.如权利要求29所述的设备,其中该信息组件的标识符包括统一资源定位符(URL),其中只有当该URL满足预定标准时该倍增器才产生并发送所述第二HTTP请求消息。
31.如权利要求29所述的设备,其中该第一HTTP请求消息包括一个HTTP方法,其中只有当该HTTP方法满足预定标准时该倍增器才产生并发送所述第二HTTP请求消息。
32.如权利要求29所述的设备,其中该倍增器分析所述第二HTTP请求消息对第二Web服务器的影响。
33.如权利要求32所述的设备,其中该倍增器:
响应于每个第二HTTP请求消息,从第二Web服务器接收HTTP答复消息;以及
分析所述HTTP答复消息。
34.如权利要求29所述的设备,其中该第一HTTP请求消息包括由第一Web服务器提供的第一会话cookie,并且其中在将所述第二HTTP请求消息发送到第二Web服务器之前,该倍增器用每个第二HTTP请求消息中的第二会话cookie代替该第一会话cookie,所述第二会话cookie是由第二Web服务器提供的,并且和第一会话cookie相关联。
35.如权利要求29所述的设备,其中该倍增器:
响应于第一HTTP请求消息,从第一Web服务器接收第一HTTP答复消息;
解析该第一HTTP答复消息,以获得由第一Web服务器提供的第一会话cookie;
响应于每个第二HTTP请求消息,从第二Web服务器接收第二HTTP答复消息;
解析所述第二HTTP答复消息,以获得由第二Web服务器提供的第二会话cookie;以及
将所述第一和第二会话cookie相关联。
36.如权利要求35所述的设备,其中该倍增器:
从客户端接收第三HTTP请求消息,该第三HTTP请求消息包括第一会话cookie和存储在第一Web服务器上的同一个或另一个信息组件的标识符;
产生一个或多个第四HTTP请求消息,每个第四HTTP请求消息包括该另一个信息组件的标识符和第二会话cookie;以及
将所述第四HTTP请求消息发送到第二Web服务器。
37.如权利要求29所述的设备,其中该倍增器:
解析第一HTTP请求消息,以获得由第一Web服务器提供的第一会话cookie;
响应于第二HTTP请求消息的其中之一,从第二Web服务器接收HTTP答复消息;
解析所述HTTP答复消息,以获得由第二Web服务器提供的第二会话cookie;以及
将所述第一和第二会话cookie相关联。
38.一种设备,包括:
用于接收第一超文本传输协议(HTTP)请求消息的Web服务器,该第一HTTP请求消息包括存储在该Web服务器上的一个信息组件的标识符;
用于为该信息组件产生一个或多个第二HTTP请求消息并将所述第二HTTP请求消息发送到该Web服务器的倍增器,其中每个第二HTTP请求消息包括该信息组件的标识符。
39.如权利要求38所述的设备,其中该信息组件的标识符包括统一资源定位符(URL),其中只有当该URL满足预定标准时该倍增器才产生并发送所述第二HTTP请求消息。
40.如权利要求38所述的设备,其中该第一HTTP请求消息包括一个HTTP方法,其中只有当该HTTP方法满足预定标准时该倍增器才产生并发送所述第二HTTP请求消息。
41.如权利要求38所述的设备,其中该倍增器分析所述第二HTTP请求消息对该Web服务器的影响。
42.如权利要求41所述的设备,其中该倍增器:
响应于每个第二HTTP请求消息,从该Web服务器接收HTTP答复消息;
分析所述HTTP答复消息。
43.一种设备,包括:
用于从客户端接收第一超文本传输协议(HTTP)请求消息的第一Web服务器装置,该第一HTTP请求消息包括存储在第一Web服务器装置上的一个信息组件的标识符;
用于为该信息组件产生一个或多个第二HTTP请求消息并将所述第二HTTP请求消息发送到第二Web服务器的倍增器装置,其中每个第二HTTP请求消息包括该信息组件的标识符。
44.如权利要求43所述的设备,其中该信息组件的标识符包括统一资源定位符(URL),其中只有当该URL满足预定标准时该倍增器装置才产生并发送所述第二HTTP请求消息。
45.如权利要求43所述的设备,其中该第一HTTP请求消息包括一个HTTP方法,其中只有当该HTTP方法满足预定标准时该倍增器装置才产生并发送所述第二HTTP请求消息。
46.如权利要求43所述的设备,其中该倍增器装置分析所述第二HTTP请求消息对第二Web服务器的影响。
47.如权利要求46所述的设备,其中该倍增器装置:
响应于每个第二HTTP请求消息,从第二Web服务器接收HTTP答复消息;
分析所述HTTP答复消息。
48.如权利要求43所述的设备,其中该第一HTTP请求消息包括由第一Web服务器装置提供的第一会话cookie,并且其中在向第二Web服务器发送所述第二HTTP请求消息之前,该倍增器装置用每个第二HTTP请求消息中的第二会话cookie代替该第一会话cookie,所述第二会话cookie是由第二Web服务器提供的,并且和该第一会话cookie相关联。
49.如权利要求43所述的设备,其中该倍增器装置:
响应于第一HTTP请求消息,从第一Web服务器装置接收第一HTTP答复消息;
解析该第一HTTP答复消息,以获得由第一Web服务器装置提供的第一会话cookie;
响应于每个第二HTTP请求消息,从第二Web服务器接收第二HTTP答复消息;
解析所述第二HTTP答复消息,以获得由第二Web服务器提供的第二会话cookie;以及
将所述第一和第二会话cookie相关联。
50.如权利要求49所述的设备,其中该倍增器装置:
从客户端接收第三HTTP请求消息,该第三HTTP请求消息包括第一会话cookie和储存在第一Web服务器装置上的同一个或另一个信息组件的标识符;
产生一个或多个第四HTTP请求消息,每个第四HTTP请求消息包括该另一个信息组件的标识符和第二会话cookie;以及
将所述第四HTTP请求消息发送到第二Web服务器。
51.如权利要求43所述的设备,其中该倍增器装置:
解析该第一HTTP请求消息,以获得由第一Web服务器提供的第一会话cookie;
响应于其中一个第二HTTP请求消息,从第二Web服务器接收HTTP答复消息;
解析所述HTTP答复消息,以获得由第二Web服务器提供的第二会话cookie;以及
将所述第一和第二会话cookie相关联。
52.一种设备,包括:
用于接收第一超文本传输协议(HTTP)请求消息的Web服务器装置,该第一HTTP请求消息包括存储在该Web服务器装置上的一个信息组件的标识符;
用于为该信息组件产生一个或多个第二HTTP请求消息并将所述第二HTTP请求消息发送到该Web服务器装置的倍增器装置,其中每个第二HTTP请求消息包括该信息组件的标识符。
53.如权利要求52所述的设备,其中该信息组件的标识符包括统一资源定位符(URL),其中只有当该URL满足预定标准时该倍增器装置才产生并发送所述第二HTTP请求消息。
54.如权利要求52所述的设备,其中该第一HTTP请求消息包括一个HTTP方法,其中只有当该HTTP方法满足预定标准时该倍增器装置才产生并发送所述第二HTTP请求消息。
55.如权利要求52所述的设备,其中该倍增器装置分析所述第二HTTP请求消息对该Web服务器装置的影响。
56.如权利要求55所述的设备,其中该倍增器装置:
响应于每个第二HTTP请求消息,从该Web服务器装置接收HTTP答复消息;以及
分析所述HTTP答复消息。
CNB2003801092532A 2002-11-27 2003-11-25 用第二Web服务器分析第一Web服务器资源泄漏的方法和设备 Expired - Lifetime CN100507893C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42982602P 2002-11-27 2002-11-27
US60/429,826 2002-11-27
US10/414,813 2003-04-16

Publications (2)

Publication Number Publication Date
CN1771488A true CN1771488A (zh) 2006-05-10
CN100507893C CN100507893C (zh) 2009-07-01

Family

ID=36751952

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801092532A Expired - Lifetime CN100507893C (zh) 2002-11-27 2003-11-25 用第二Web服务器分析第一Web服务器资源泄漏的方法和设备

Country Status (1)

Country Link
CN (1) CN100507893C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110875899A (zh) * 2018-08-30 2020-03-10 阿里巴巴集团控股有限公司 数据处理方法、系统以及网络系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110875899A (zh) * 2018-08-30 2020-03-10 阿里巴巴集团控股有限公司 数据处理方法、系统以及网络系统
CN110875899B (zh) * 2018-08-30 2022-06-28 阿里巴巴集团控股有限公司 数据处理方法、系统以及网络系统

Also Published As

Publication number Publication date
CN100507893C (zh) 2009-07-01

Similar Documents

Publication Publication Date Title
US7844692B2 (en) Web server multiplier for analyzing resource leaks
US9118549B2 (en) Systems and methods for context management
US9384119B2 (en) Web page error reporting
US7600020B2 (en) System and program product for tracking web user sessions
US9075914B2 (en) Analytics driven development
EP2089813B1 (en) Diagnostics and error reporting for common tagging issues
US9232011B2 (en) Tracking navigation flows within the same browser tab
US7945849B2 (en) Identifying appropriate client-side script references
US7657591B2 (en) Dispatching client requests to appropriate server-side methods
US20110161825A1 (en) Systems and methods for testing multiple page versions across multiple applications
JP2010500689A (ja) 対話的ウェブアプリケーションのウェブ分析可能化方法
JP2006146882A (ja) コンテンツ評価
US8775551B2 (en) Testing a network system
US20080091775A1 (en) Method and apparatus for parallel operations on a plurality of network servers
US20130263156A1 (en) Operation log collection method and device
CN1997997A (zh) 改进的用户界面
US20040111394A1 (en) Hidden fields for containing debug information
CN111124937A (zh) 基于插桩函数辅助提高生成测试用例效率的方法及系统
Kinnunen Evaluating and improving Web performance using free-to-use tools
US7415517B1 (en) Developing session context from nonlinear web site flow records
CN100507893C (zh) 用第二Web服务器分析第一Web服务器资源泄漏的方法和设备
Paternò et al. Remote automatic evaluation of web sites based on task models and browser monitoring
CN116599877B (zh) 一种基于爬虫技术的IPv6的链接测试方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20081219

Address after: California, USA

Applicant after: BEA SYSTEMS, Inc.

Address before: California, USA

Applicant before: Li Shu Software

ASS Succession or assignment of patent right

Owner name: BEA SYSTEM CO.,LTD.

Free format text: FORMER OWNER: LISHU SOFTWARE CO.,LTD.

Effective date: 20081219

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: ORACLE INT CORP.

Free format text: FORMER OWNER: BEA SYSTEMS CORP.

Effective date: 20110802

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110802

Address after: California, USA

Patentee after: ORACLE INTERNATIONAL Corp.

Address before: California, USA

Patentee before: BEA SYSTEMS, Inc.

CX01 Expiry of patent term

Granted publication date: 20090701

CX01 Expiry of patent term