著录项信息
专利名称 | 均衡镜象服务器负载的方法及装置 |
申请号 | CN00101180.4 | 申请日期 | 2000-01-28 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2001-08-08 | 公开/公告号 | CN1307287 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 国际商业机器公司 | 申请人地址 | 美***
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 国际商业机器公司 | 当前权利人 | 国际商业机器公司 |
发明人 | 冯南;刘东;刘友祥 |
代理机构 | 中国国际贸易促进委员会专利商标事务所 | 代理人 | 王以平 |
摘要
一种均衡多个镜象服务器之间负载的方法及装置,其中用户可以在同一个网页中选择多个镜象服务器中的任何一个加以访问,该方法包括以下步骤:(1)当网页受到客户端的访问时,除了将网页传送给客户端之外,还将一个预定脚本传送给客户端;(2)在客户端处自动执行脚本,从而分别与每个镜象服务器建立连接并测试各自的响应时间;(3)选择响应时间最短的镜象服务器以便用户访问。
1.一种均衡多个镜象服务器之间负载的方法,其中用户可以在同 一个网页中选择所述多个镜象服务器中的任何一个加以访问,所述方 法的特征在于包括以下步骤:
(1)当所述网页受到客户端的访问时,除了将所述网页传送给所述客 户端之外,还将一个预定脚本传送给所述客户端;
(2)在所述客户端处,自动执行所述脚本,从而分别与每个镜象服务 器建立连接并测试各自的响应时间;
(3)选择响应时间最短的镜象服务器以便用户访问。
2.根据权利要求1的方法,其特征在于:在所述步骤(1)中将所述 脚本与所述网页一起传送给所述客户端。
3.根据权利要求1的方法,其特征在于所述步骤(2)包括以下步 骤:
由所述客户端调用一个预定引擎;
由所述引擎执行所述脚本,从而分别与每个镜象服务器建立连接并 测试各自的响应时间。
4.根据权利要求1的方法,其特征在于:所述步骤(2)对于所述多 个镜象服务器而言是以多线程方式执行的。
5.根据权利要求1的方法,其特征在于在所述步骤(2)中还将客户 端信息发送给与之建立连接的镜象服务器。
6.根据权利要求5的方法,其特征在于所述客户端信息包括所 述客户端的IP地址、域名、平台名称、平台版本号和浏览器类型中的 至少一种。
7.根据权利要求1的方法,其特征在于所述步骤(2)中的连接可以 通过代理服务器建立。
8.根据权利要求1的方法,其特征在于所述脚本可由用户再次启 动执行。
9.根据权利要求1的方法,其特征在于所述步骤(3)还包括以下步 骤:
比较所述多个镜象服务器各自的响应时间。
10.根据权利要求9的方法,其特征在于所述步骤(3)还包括以下 步骤:
向用户提示响应时间最短的镜象服务器。
11.一种均衡多个镜象服务器之间负载的装置,其特征在于所述装 置被安装在客户机中,并且包括:
脚本分析器,用于分析客户端收到的预定脚本;
脚本执行器,用于根据所述脚本分析器的分析结果,分别与每个镜 象服务器建立连接并测试各自的响应时间;
选择器,用于选择响应时间最短的镜象服务器以便用户访问。
12.根据权利要求11的装置,其特征在于所述脚本是与网页一起 传送给所述客户端的。
13.根据权利要求11的装置,其特征在于:所述脚本执行器对于 所述多个镜象服务器而言以多线程方式工作。
14.根据权利要求11的装置,其特征在于所述脚本执行器还将客 户端信息发送给与之建立连接的镜象服务器。
15.根据权利要求14的装置,其特征在于所述客户端信息包括 所述客户端的IP地址、域名、平台名称、平台版本号和浏览器类型中 的至少一种。
16.根据权利要求11的装置,其特征在于所述脚本执行器可以通 过代理服务器建立与镜象服务器的连接。
17.根据权利要求11的装置,其特征在于所述脚本执行器可由用 户再次启动以执行所述脚本。
18.根据权利要求11的装置,其特征在于所述选择器包括一个比 较器,用于比较所述多个镜象服务器各自的响应时间。
19.根据权利要求18的装置,其特征在于所述选择器还包括:
用于向用户提示响应时间最短的镜象服务器的装置;
用于接收用户对镜象服务器的选择的装置。
技术领域
本发明涉及在万维网中均衡多个镜象服务器之间负载的方法及装 置,并且更具体地涉及在万维网中利用客户端的有效参与均衡多个镜象 服务器之间负载的方法及装置。
背景技术
万维网(WWW),或简称为“Web”,是因特网的多媒体信息检索 系统。它是因特网环境下最常用的传送数据的方法。其他方法还包括 FTP(文件传送协议)和Gopher等等,但未达到Web所具有的普遍 性。在Web环境中,客户机利用超文本传输协议(HTTP)实现对Web 服务器的事务处理,其中HTTP是众所周知的应用程序协议,该协议 允许用户利用称为超文本标记语言(HTML)的标准页面描述语言访 问各种文件(如文本、图形、图象、声音、视频等文件)。HTML提 供基础文件格式,并且允许开发者规定与其他服务器及文件的链接。 在因特网应用中,利用统一资源定位符(URL)规定至某服务器的网 络路径,URL具有定义网络连接的专用语法。
URL典型地为这样的格式:http://somehost/somedirectory? parameters...,其中“somehost”是该URL的宿主名位置, “somedirectory”是可以找到该网页的目录。把URL分解成为一个 Web服务器的实际IP地址的常用方式是通过一个域名服务器。在互 联网或内联网中,域名服务器把URL中的宿主名变换成实际的网址。 域名服务器的一个例子是目前在因特网中实现的域名服务(DNS)。 Web用户从域名服务器请求宿主名和地址的过程有时称为解析。在 TCP/IP中,域名服务器把宿主名解析成一个或多个IP地址的列表, 这些IP地址回送给HTTP请求上的Web客户。每个IP地址规定一个 服务器,该服务器用来处理由浏览器发出的请求内容。
采用超文本协议的万维网遵循客户/服务器结构。万维网服务的 客户端采用浏览器程序,可向万维网服务器发送各种请求,并且对服 务器返回的由HTML语言定义的超文本信息和各种多媒体数据格式进 行解释、显示和播放。
随着成千上万的公司、大学、政府机关、博物馆及市政当局发 布“主页”,因特网已经成为非常宝贵的信息资源。即使一个新用户, 只要很少的练习,也能够浏览成百万个网页或成千个新闻组。因特网 访问和相关的应用市场正在迅速扩展。
为了更快地为客户端服务,并且支持更多的客户端,一些大公司设置了 多个镜象服务器。这些镜象服务器设置在不同的地区,不同的国家, 具有不同的网络路径,但是提供相同的服务。
然而在设置镜象服务器时地区的选择往往是基于一些预测而不能 反映实际访问情况。如果地区选择不合理,则不能向客户端提供速度最 快的响应,而且不必要地增加了公司的运营成本。
另外,多数用户对镜象服务器的选择往往是肓目的。最一般的作法 是,选择地理位置最近的镜象服务器。由于网络连接的多样性,地理 位置最近的服务器不一定就是响应速度最快的服务器。
在此仅举一个下载软件的例子。假设用户希望从因特网下载一个软 件,则他/她可以从因特网获得一个下载服务器的清单,其中列举了许 多镜象服务器,比如www.download.com、www.microsoft.com、www. linux.org等等。用户可以从上述服务器清单中选择一个服务器来下载 软件。通常,用户希望选择一个比较空闲、响应速度较快的服务器。 但是由于多数用户不是网络专家,或者没有足够的测试工具,所以大 多数用户只是随意选择一个服务器。另一种情况是,有一些用户选择 地理位置较近的服务器,认为这些服务器由于地理位置近,可能有较 快的响应速度。其实不然。至某个服务器的带宽不是取决于地理位置 的远近,而是取决于网络拓朴、网络拥挤程度、服务器的工作状态等 许多因素。由于用户在选择镜象服务器时并未考虑各服务器的实际负 载情况,所以可能导致各镜象服务器之间负载的不均衡。最坏的结果 果是,如果用户选择了一个负载已经很重的服务器,则不必要地延长 了下载时间。
由于以上设置镜象服务器时地区选择的不合理性以及用户选择镜 象服务器的盲目性,导致多个镜象服务器之间的负载可能不均衡,从 总体上降低了网络性能。因此,如何在万维网中对多个镜象服务器之 间的负载进行均衡是个十分突出的问题。
就本发明人所知,现有服务器负载均衡方法均是针对局域网 (LAN)的,而且是完全在服务器一侧实现的。为了使服务器负载的 均衡对用户是透明的,必须进行复杂的设计。由于这些限制,现有的 针对局域网的服务器负载均衡方法不能简单地照搬到万维网这样的广 域网中用于对镜象服务器之间的负载进行均衡。
发明内容
本发明的第一个目的在于提供一种通过客户端的有效参与对多个 镜象服务器之间负载进行均衡的方法,这种方法无需对客户端进行较大 的修改。
本发明的第二个目的在于提供一种通过客户端的有效参与对多个镜 象服务器之间负载进行均衡的装置,这种装置可以简单地安装到客户 机中。
为实现上述第一个目的,本发明提供一种均衡多个镜象服务器之间 负载的方法,其中用户可以在同一个网页中选择多个镜象服务器中的 任何一个加以访问,该方法包括以下步骤:
(1)当该网页受到客户端的访问时,除了将该网页传送给客户端之 外,还将一个预定脚本传送给客户端;
(2)在客户端处,自动执行该脚本,从而分别与每个镜象服务器建立 连接并测试各自的响应时间;
(3)选择响应时间最短的镜象服务器以便用户访问。
为实现上述第二个目的,本发明提供一种均衡多个镜象服务器之间 负载的装置,所述装置被安装在客户机中,并且包括:
脚本分析器,用于分析客户端收到的预定脚本;
脚本执行器,用于根据脚本分析器的分析结果,分别与每个镜象服 务器建立连接并测试各自的响应时间;
选择器,用于选择响应时间最短的镜象服务器以便用户访问。
本发明的方法及装置,由于借助了客户端的有效参与,所以更能反 映实际情况,以更科学的方式使多个镜象服务器的负载达到均衡。另外, 虽然需要客户端的有效参与,但是这种参与对于用户而言完全是透明 的,而且无需对客户端进行任何修改。
本发明的另一优点是,帮助用户找到响应速度最快的服务器,以便 更快地从服务器获取数据。
此外,本发明的方法及装置还能使镜象服务器自动获得客户端信息, 有助于网络管理员分析客户端访问模式。通过对连接的计数,有助于网 络管理员更有效地管理镜象服务器。例如在连接较多的地区增设新的 镜象服务器,而在连接较少的地区去除空闲的镜象服务器等等。
附图说明
通过结合附图对本发明较佳实施方式的详细描述,本发明的上述特 征和优点将会更加明显。其中
图1是本发明的方法的运行环境;
图2是本发明的用于均衡多个镜象服务器之间负载的方法的流程 图;
图3是本发明的用于均衡多个镜象服务器之间负载的装置的示意 框图。
具体实施方式
下面参照附图描述本发明的最佳实施方式。
图1中,客户端100可以通过因特网300建立与原始站点200的连 接。本例中,客户端100可以是各种品牌的浏览器,例如微软公司的 Internet Explorer、网景公司的Communicator等等。客户端100在建 立了与原始站点200的连接之后,将得到一个网页,并将该网页显示给 用户。所显示的网页中可以列举诸多的镜象服务器(或称站点)的地址。 图1中示出三个镜象服务器,即镜象服务器210、镜象服务器220和镜 象服务器230。用户可以利用象鼠标这样的指点装置来选择访问一个镜 象服务器。客户端100与各服务器遵循本领域技术人员所熟知的客户/ 服务器体系结构,例如,客户端可以通过代理服务器建立与各镜象服务 器之间的连接。标号300代表因特网。
本发明的方法和装置应用于图1所示的环境中,并且主要涉及在客 户端100处的操作。在应用本发明的方法和装置之前,需要预先制作一 个脚本并将该脚本存储在原始站点200中。通过对客户端做些小的改动, 或者不修改客户端而在客户机中预选安装或自动从因特网下载一种专 门执行上述脚本的引擎,使得在将这种脚本传送到客户端后,该脚本被 上述引擎自动执行,从而根据脚本提供的信息完成一定的操作。制作脚 本和相应引擎的技术在本领域内是公知的。
脚本中例如可以规定各个镜象服务器的URL(统一资源定位符)、 连接建立的超时时间、服务器测试次数等。作为一种扩展,还可以在脚 本中规定客户端返回信息,比如客户端的IP地址、域名、平台名称、 平台版本号、浏览器类型等。
当原始站点200受到客户端100的访问时,将原始站点200的网页以 及预先建立的脚本一起传送给客户端100。客户端100在收到网页和脚本 后,除了按照常规显示网页之外,还启动相应的引擎,执行该脚本。
该引擎根据脚本中规定的信息,分别与各个镜象服务器建立连接, 并且测试各个服务器的响应时间。这里,可以以多线程的方式进行这 些操作。然后,通过对各个镜象服务器响应时间的比较,选出一个响 应时间最短的镜象服务器,并且将这个选出的镜象服务器指示给用 户。这里,可以采用多种方式向用户指示。例如,可以显示一个清单, 以对应的方式列出各个镜象服务器及其响应时间,并且以醒目的方式 显示响应时间最短的镜象服务器。所有不同的指示方式不构成对本发 明的限制。
可以将上述脚本实现为一个插件,并且存储在原始站点200的网页 中。该脚本除了可由相应引擎自动执行以外,还可以由用户启动再次 执行。
图2更详细地示出本发明的用于均衡多个镜象服务器之间负载的 方法的流程图。在步骤201,从服务器接收预定脚本。在步骤202, 分析所述脚本,得到脚本中规定的各种信息。在步骤203,根据分析 结果,启动多个线程。这些线程执行如步骤204-1、204-2、...、204-n 以及205-1、205-2、...、205-n中的操作,其中n代表镜象服务器 的数目。对于每个镜象服务器建立一个线程。
以第1个镜象服务器为例。在步骤204-1中,建立到第1个镜象服 务器的连接。然后,在步骤205-1测试第1个镜象服务器的响应时间。
在步骤206,对各个镜象服务器的响应时间进行比较,选出响应时 间最短的镜象服务器。在步骤207,向用户标识该响应时间最短的镜 象服务器。最后,在步骤208,由用户对所标识的响应时间最短的镜 象服务器进行访问。
根据本发明的方法,可以自动选出响应时间最短的镜象服务器。这 种选择是随着每个客户端对原始站点200的访问而动态进行的。也就是 说,响应时间最短的镜象服务器是动态确定的。一般用户倾向于选择 如此确定的响应时间最短的镜象服务器。通过用户的这种有效参与, 最终使镜象服务器210、镜象服务器220和镜象服务器230之间的负 载达到均衡。
表1给出一个可由图2所示流程处理的脚本例子。该脚本中定义 连接类型为HTTP,即超文本传输协议。定义了三个镜象服务器(或称 镜象站点),假设它们的URL(统一资源定位符)分别为www1.ibm.com, www2.ibm.com,www3.ibm.com。连接超时设置为10000秒。在测试镜 象服务器响应时间时,共测试三次,求平均值。脚本还规定一旦找到 响应时间最短的镜象服务器,.即终止脚本的执行。用户可以重新启动 该脚本。在建立连接后,客户端向服务器返回如下客户端信息:IP地址、 平台名称、浏览器类型。
表1
#这是一个可由浏览器运行的脚本例子
#定义连接类型
CONNECT=HTTP
#所有镜象服务器
SITES=www1.ibm.com,www2.ibm.com,www3.ibm.com
#连接超时限制
TIMEOUT=10000
#测试服务器三次,计算平均响应时间
TEST_COUNT=3
#当找到(一个)最快服务器时,停止该脚本
DISPLAY_COUNT=1
#用户可以重新启动该脚本
CAN_RESTART=TRUE
#向服务器发送反馈
FEEDBACK=IPaddress,Platform,BrowserType
图3是用于均衡多个镜象服务器之间负载的装置的框图。可将这一 装置安装在客户机中,如虚线所示。这个装置可由客户端100调用并且 向客户端100返回执行结果。该装置包括脚本分析器110、脚本执行器 120和选择器130。如果客户端100从原始站点200取得预定脚本,则将 其送到脚本分析器110。脚本分析器110对收到的脚本进行分析,获 得脚本中规定的信息,比如各个镜象服务器的URL、连接建立的超时 时间、服务器测试次数、客户端返回信息种类等等。脚本执行器120根 据脚本分析器110的分析结果,分别与每个镜象服务器建立连接并测 试各自的响应时间。选择器130根据脚本执行器120测得的各个镜象 服务器的响应时间,选择一个响应时间最短的镜象服务器,交由用户 访问。
虽然以上结合附图详细描述了本发明的最佳实施方式,但是对于本 领域内熟练的技术人员而言,可以做出各种修改和变更,而不背离本 发明的范围和实质。因此,本发明的范围仅由权利要求书限定。
法律信息
- 2020-01-17
未缴年费专利权终止
IPC(主分类): H04L 29/06
专利号: ZL 00101180.4
申请日: 2000.01.28
授权公告日: 2003.07.23
- 2003-07-23
- 2001-08-08
- 2000-07-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2004-08-20 | 2004-08-20 | | |