服务器负载均衡器及其系统的制作方法

文档序号:7934518阅读:100来源:国知局

专利名称::服务器负载均衡器及其系统的制作方法
技术领域
:本实用新型涉及计算机网络,以及更具体地,涉及计算机网络中的服务器负载均衡。
背景技术
:计算机网络是可以交换数据和共享资源的互相连接的计算设备的集合。在基于数据包的网络中,计算设备通过将数据分成多个被称为数据包的小块来传送数据,这些小块在网络中独立地从源设备(sourcedevice)被发送到目的设备(destinationdevice)。目的设备从包中提取数据并且将数据组合成它的原始形式。服务器负载均衡器(serverloadbalancer)是从多个后端目标主机服务器中分配输入(incoming)网络流量(traffic)的网络设备。在传统的配置中,服务器负载均衡器上配置的规则使服务器负载均衡器分析该输入网络流量以将该流量的一部分引导到目标主机服务器的一个子设备,将该流量的另一部分引导到目标主机的另一子设备,等等。例如,目标主机服务器的分隔的子设备可以服务于图像请求、可移植文档格式(PDF)请求、联合图像专家组(JPEG)请求、图形交换格式(GIF)请求、以及所有的其他超文本链接标识语言(HTML)i青求。已经提出了将目标主机服务器的子设备配置在服务器负载均衡器上的多种方法。例如,在一种方法中,创建服务于不同类型流量的分隔的目标主机服务器组实体,并且还创建总体负载均衡组实体。然后,将目标主机服务器组与总体负载均衡组相关联。配置规则,所述规则规定了应该怎样将流量发送到目标主机服务器组。这种方法要求设置多个独立的实体(即,分隔的目标主机组和总体负载均衡组),之后该实体必须与负载均衡组相链接。在将目标主机服务器的子设备配置在服务器负载均衡器上的另一个实例方法中,设置单一的目标主机组实体,并顺序地将目标主机增加到目标主机组实体。配置规则,该规则规定了应该怎样通过将属于子组的目标主机独立地列出从而将流量发送到目标主机组实体的子组。在这种方法中,每当将目标主机增加到子组的列表中时,必须复制关于单个的目标主机的信息。例如,如果一个目标主机是多个子组中的一员(例如,服务于多于一种类型的流量),则必须在多种规则下列出目标主机,因而必须输入多次关于目标主机的信息。另外,随着增加新的目标主机或者移除过期的目标主机,必须更新规则,以将目标主机增加至在规则中列出的子组中或从在规则中列出的子组中移除目标主机。
实用新型内容本实用新型的目的是提供服务器负载均衡器及其系统,在目标主机服务器的配置改变时,省去重复复制目标主机服务器的信息,提高配置服务器负载均衡器上的目标主机服务器的效率。大体上,将描述用于配置和操作服务器负载均衡器的技术。例如,该技术使基于标号(label)的系统能够在服务器负载均衡器上配置目标主机服务器,其中,在将每个目标主机服务器增加到总体负载均衡组之后,将把目标主机服务器与特定类型的网络流量相关联的标号增加到每个目标主机服务器。由诸如网络管理员的用户配置服务器负载均衡器,以使服务器负载均衡器能够基于网络流量的类型在多个目标主机服务器之间对网络流量进行负载均衡。服务器负载均衡器利用基于标号的配置方案来执行负载均衡。网络管理员通过将用户命令提供给服务器负载均衡器来与服务器负载均衡器相互作用,以在服务器负载均衡器上配置目标主机服务器。为了在服务器负载均衡器上配置目标主机服务器,以使服务器负载均衡器知道向哪里发送不同类型的流量,网络管理员首先提供设置总体负载均衡组的用户命令。负载均衡组是单个的实体,被定义为表示多个目标主机服务器。一旦接收到用户命令,服务器负载均衡器就更新配置信息存储模块以定义负载均衡组。之后管理员提供用户命令以将每个目标主机服务器单独地增加到负载均衡组。当将目标主机服务器中的一个增加到负载均衡组中时,网络管理员可能需要配置关于各自目标主机服务器的特定附加信息。在接收到将目标主机服务器增加到负载均衡组中的多个用户命令中的每一个之后,服务器负载均衡器更新配置信息存储模块以根据接收到的用户命令来定义各自的目标主机服务器。服务器负载均衡器可以将默认标号分配给每个定义的目标主机服务器。接下来,管理员可以将用户命令提供给服务器负载均衡器,以将一个或多个附加标号分配给一个或多个目标主机服务器。将标号增加到一个目标主机服务器表示该目标主机服务器能够处理与该标号相关的一种类型的网络流量。例如,服务器负载均衡器可以用于将标号"pdf"与配置用来服务于PDF请求的所有目标主机服务器相关联。当管理员将标号分配给目标主机服务器时,管理员不需要重新输入在配置目标主机服务器时已经输入过的所有初始信息。在这种方式中,管理员可以模拟用于不同类型网络流量的目标主机组的创建过程,诸如(例如,文件请求或服务请求)网络访问请求。例如,可以在不同目标主机组(例如,PDF目标主机组、联合图像专家组(JPEG)目标主机组、以及图像交换格式(GIF)目标主机组)中的目标主机之间对不同类型的文件的请求进行负载均衡,而不需要实际上单独地配置任意目标主机组或明确地将目标主机服务器增加到不同的目标主机组,这需要在每次将目标主机服务器增加到目标主机组时重新输入关于目标主机服务器的信息。相似地,可以在目标主机的不同子设备之间对不同类型的网络访问请求或服务请求(例如,打印请求、动态主机配置协议(DHCP)请求、或其他请求)进行负载均衡,例如,打印服务器或DHCP服务器。在这里描述的基于标号的配置技术虑及服务器负载均衡器将目标主机服务器与不同类型的网络流量相关联而不需要多次输入关于目标主机服务器的信息。管理员可以创建与给定的服务器负载均衡器为进行负载均衡目的而需要的相同数量的标号。之后管理员可以写出包含标号名称的用户规则(customrule),该规则将特定类型的网络流量引导到被标记的目标主机服务器。当服务器负载均衡器接收网络流量时,诸如通过网络的来自多个客户设备中的一个的对于文件的请求,服务器负载均衡器基于该请求识别被请求的文件类型。之后服务器负载均衡器访问被存储的规则以确定什么标号适用于被请求的文件类型。之后服务器负载均衡器通过选择具有该标号的一个目标主机服务器,并将文件输出至所选的目标主机服务器中的一个而在与该标号相关的目标主机服务器的子设备之间对文件请求进行负载均衡。在这种方式中,服务器负载均衡器可以根据所述标号在目标主机服务器的不同子设备之间对不同类型的网络流量进行负载均衡。本实用新型可以提供一种或多种优点。例如,该技术可以虑及配置服务器负载均衡器上的目标主机服务器的效率。例如,管理员仅需要配置单个的顶层实体,即,负载均衡组。如果目标主机服务器的配置改变,则管理员只需改变与该目标主机服务器相关的标号。改变标号可能比将整个目标主机服务器配置从一个目标主机服务器组移动到另一个目标主机服务器组更为容易。在一个实施例中,服务器负载均衡器包括用户接口,配置为接收定义表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及接收将多个目标主机服务器增加到负载均衡组的多个用户命令,其中,多个用户命令包括目标主机服务器的配置信息;配置信息存储模块,连接至用户接口,配置为存储配置信息;控制单元,连接至配置信息存储模块,配置为更新配置信息存储模块,并根据所接收到的用户命令来包含关于每个目标主机服务器的各自的配置信息,所述用户命令配置为在目标主机服务器之间对网络流量进行负载均衡;以及接口,连接至控制单元,配置为接收来自客户设备的访问请求。其中,控制单元配置为识别访问请求的类型,访问一组规则来确定对应于所识别的访问请求类型的标号,并访问配置信息存储模块中的配置信息来识别与所确定的标号相关的目标主机服务器的子设备,一组规则的每一个参考标号均与能够服务于特定类型访问请求的多个目标主机服务器的子设备相关,以及其中,控制单元配置为通过选择与所确定的标号相关的目标主机服务器的一个并将请求输出给所选择的目标主机服务器来在多个目标主机服务器之间对访问请求进行负载均衡。在另一个的实施例中,一种系统包括多个客户设备,配置为转发对网络流量的请求;多个目标主机服务器,连接至多个客户设备,配置为将网络流量提供给多个客户设备,其中,多个目标主机服务器的每一个均配置为服务于至少一种类型的对网络流量的请求;服务器负载均衡器,配置为接收来自多个客户设备的对网络流量的请求并根据对网络流量的请求的类型而在多个目标主机服务器之间对请求进行负载均衡。其中服务器负载均衡器包括用户接口,配置为接收定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及接收将多个目标主机服务器增加到负载均衡组的多个用户命令,其中,多个用户命令包括目标主机服务器的配置信息;配置信息存储模块,连接至用户接口,配置为存储配置信息;控制单元,连接至配置信息存储模块,配置为更新配置信息存储模块,并根据所接收到的用户命令来包含关于每一个目标主机服务器的各自的配置信息,用户命令配置为在目标主机服务器之间对网络流量进行负载均衡;接口,连接至控制单元,配置为接收来自客户设备的对网络流量的请求。其中,控制单元配置为识别访问请求的类型,访问一组规则来确定对应于所识别的访问请求类型的标号,并访问配置信息存储模块中的配置信息来识别与所确定的标号相关的目标主机服务器的子设备,一组规则的每一个参考标号均与能够服务于特定类型访问请求的多个目标主机服务器的子设备相关,以及其中,控制单元配置为通过选择与所确定的标号相关的目标主机服务器的一个并将请求输出给所选择的目标主机服务器来在多个目标主机服务器之间对访问请求进行负载均衡。下面将描述并结合附图阐述本实用新型的一个或多个实施例的细节。从描述和附图以及权利要求中本实用新型的其他特征、目的、以及优势将显而易见。图1是示出了具有服务器负载均衡器的示例性系统的框图,该服务器负载均衡器根据本实用新型的原理在多个目标主机服务器之间对从客户设备接收到的网络流量进行负载均衡;图2是更详细地示出了诸如图1中的服务器负载均衡器的示例性服务器负载均衡器的框图;图3和图4是示出了根据本文所描述的技术的服务器负载均衡器的示例性操作的流程图;图5是从用户接口观看的由服务器负载均衡器表示的示例性命令行接口;具体实施方式图1是示出了具有服务器负载均衡器12的示例性系统10的框图,该服务器负载均衡器通过计算机网络16接收来自客户设备14A-14N("客户设备14")的文件请求。可以根据本文所描述的技术来配置服务器负载均衡器12以在一组目标主机服务器18A-18N("目标主机服务器18")之间对接收到的文件请求进行负载均衡。客户设备14可以是能够访问网络的任意设备,例如膝上型电脑、桌上型电脑、工作站、移动电话、或能够上网的个人数字助理(PDA)。服务器负载均衡器12是在系统10中运行的网络设备且能够远程配置。实例包括路由器、交换机、集线器、应用服务器、配置信息存储模块服务器或其他网络设备。网络16可以包括任意的公共网络或专用网络或因特网。可以指定每一个目标主机服务器18来处理特定类型的网络流量或特定类型的访问请求。例如,可以指定目标主机服务器18A、18B、和18C来处理HTML请求和JPEG图像,以及可以指定目标主机服务器18D、18E、和18N来处理HTML请求和PDF文件。另外,也可以指定目标主机服务器18C和18D来处理GIF文件。由诸如网络管理员的用户配置服务器负载均衡器12,以使服务器负载均衡器能够基于网络流量的类型或网络访问请求的类型而在目标主机服务器18之间对网络流量进行负载均衡。例如,如将在下文中的详细描述,服务器负载均衡器12利用基于标号的配置方案来执行负载均衡。网络管理员通过对服务器负载均衡器12提供用户命令来与服务器负载均衡器12进行相互作用,以配置服务器负载均衡器12上的目标主机服务器18。例如,网络管理员可以通过服务器负载均衡器12的命令行接口来提供用户命令。又例如,网络管理员可以通过由服务器负载均衡器12表示的基于网络浏览器的接口来提供用户命令。为了配置服务器负载均衡器12上的目标主机服务器18以使服务器负载均衡器12知道向哪里发送不同类型的流量,网络管理员首先提供建立总体负载均衡组的用户命令。负载均衡组是为表示多个目标主机服务器18而定义的单一实体。一旦接收到用户命令,服务器负载均衡器12就更新配置信息存储模块以定义负载均衡组。之后管理员提供用户命令以单独地将每个目标主机服务器18A-18N增加到负载均衡组。当将一个目标主机服务器718增加到负载均衡组时,网络管理员可能需要配置关于各自的目标主机服务器18的特定的附加信息,例如目标主机服务器18可以处理的最大连接数。例如,目标主机服务器18A可以是比目标主机服务器18B更强大的服务器,因而能够处理比目标主机服务器18B更多数量的连接。在接收将目标主机服务器18增加到负载均衡组的多个用户命令的每一个之后,服务器负载均衡器18更新配置信息存储模块以根据接收到的用户命令来定义各自的目标主机服务器18。服务器负载均衡器12将默认标号分配给每个定义的目标主机服务器18。默认标号对每个目标主机服务器18可以是相同的。如果管理员不创建任何附加标号,则服务器负载均衡器12在所有的目标主机服务器18之间对接收到的网络流量进行负载均衡,即,所有目标主机服务器18都具有默认标号。管理员可以将用户命令提供给服务器负载均衡器12基于每个目标主机服务器将一个或多个标号分配给一个或多个目标主机服务器18。在图1的例子中,管理员通过三个分隔的用户命令将标号"jpg"分配给目标主机服务器18A、18B、和18C。相似地,管理员通过三个单独的用户命令将标号"pdf"分配给目标主机服务器18D、18E、和18N。管理员也可以通过两个单独的用户命令将标号"gif"分配给目标主机服务器18C和18D。当管理员分配标号的时候,管理员不需要重新输入在配置目标主机服务器18时已经输入过的所有的初始信息。下面的表1示出了上面描述的对目标主机服务器18的标号的分配。为了举例的目的而提供表1;服务器负载均衡器12可以或者不可以维持配置数据中的这样的数据结构。目标主机服务器标号18A默认JPg18B默认JPg18C默认JPggif18D默认pdfgif18E默认pdf腦默认pdf表1在这种方式中,管理员可以使用对目标主机服务器的标号的分配来模拟不同类型的网络流量的目标主机组(例如,PDF目标主机组、JPEG目标主机组、以及GIF目标主机组)的创建过程,而不需要实际上单独地配置任意目标主机组或明确地将目标主机服务器增加到不同的目标主机组,其要求在每次将目标主机服务器增加到目标主机组时重新输入关于目标主机服务器的配置信息。这里,使用术语"组"指的是可以将单独的项目增加到项目的集合的逻辑表示,而其中,当将单独的项目增加到组中时,指定被增加的项目的特征。这里描述的基于标号的配置技术虑及将目标主机服务器18与不同的网络流量类型相联系而不要求多次输入关于目标主机服务器18的信息。服务器负载均衡器12维持一组规则,该组规则规定怎样将特定类型的网络流量引导到目标主机服务器18。该规则是基于分配的标号而定义的用户规则,S卩,该规则涉及标号名称。作为一个例子,规则可以表达如下(如果客户请求的URL以"jpg"结尾,则将客户8请求发送到具有标号"jpg"的目标主机服务器。管理员可以在服务器负载均衡器12上配置该组规则,并且可以向该组规则增加或者从该组规则移除规则。由于是根据标号而不是根据特定的目标主机服务器来写入规则,因此当将新的目标主机服务器增加到系统10时,管理员不需要修改规则。而是,管理员仅将新的目标主机服务器增加到总体负载均衡组中,并且将一个或多个标号分配给新的目标主机服务器。服务器负载均衡器12可以通过网络16接收来自一个客户设备14的对于文件的请求,例如,来自客户设备14B的对于PDF文件的请求。一旦接收到对PDF文件的请求,服务器负载均衡器12就基于该请求识别被请求的文件的类型。例如,服务器负载均衡器12可以从请求中提取应用数据并且检查该应用数据以识别对于请求的文件的文件扩展(例如,HTML,JPG,PDF)。下面将结合图2更加详细地讨论服务器负载均衡器12识别被请求的文件类型的方式。之后服务器负载均衡器12访问存储的规则,以确定文件请求是否与任何规则相匹配。如果文件请求不与任何规则相匹配,则使用默认的标号并且服务器负载均衡器12通过选择具有默认标号的一个目标主机服务器18并将文件请求输出给所选择的一个目标主机服务器而在所有目标主机服务器18之间对文件请求进行负载均衡。如果文件请求确实与一个规则相匹配,则服务器负载均衡器12确定由匹配的规则识别的标号,并访问由服务器负载均衡器12维持的配置数据,以确定与该标号相关的目标主机服务器18的子设备。例如,假设文件请求与下述规定的规则相匹配{如果客户请求的URL以"PDF"结尾,则将客户请求发送到具有标号"pdf"的目标主机服务器。之后服务器负载均衡器12访问存储的配置数据并确定目标主机服务器18D、18E、和18N具有标号"pdf"。之后服务器负载均衡器12通过选择目标主机服务器18D、18E、和18N中的一个而在目标主机服务器18D、18E、和18N之间对文件请求进行负载均衡,并将文件请求输出给所选择的目标主机服务器。服务器负载均衡器12可以以多种方式从被识别的目标主机服务器18的子设备中选择,例如随机地、以轮询的方式(roundrobinfashion)、根据权重(例如,基于可获得的带宽或最大连接数)、或者其他选择的方法。在一些情况下,该组规则可以包括默认规则,该默认规则规定如果没有其他规则与文件请求相匹配,则发送到具有默认标号的目标主机服务器。使用术语"文件"大体上涉及永久或暂时存储的数据的任意容器,网络可寻址或独立地选定地址的,并且通过计算机网络可以重新得到的,包括HTTP文件、PDF文件、Word文档、图像、可以下载或流(stream)到客户设备的媒体资产(mediaasset)。可以使用本实用新型的技术来对服务器负载均衡器12接收到的多种类型的网络流量进行负载均衡。例如,在另一个实施例中,服务器负载均衡器12可以利用这里描述的技术识别来自一个客户设备14的访问请求的类型,并且在多个目标主机服务器18之间对访问请求进行负载均衡。作为一个例子,服务器负载均衡器12可以识别来自一个客户设备14的访问请求的类型,并且一接收到动态主机配置协议(DHCP)的请求就在DHCP服务器之间对访问请求进行负载均衡。在进一步的实施例中,服务器负载均衡器12可以识别来自一个客户设备14的对服务的请求的一种类型(例如,打印请求)并且在多个目标主机服务器18之间对服务的请求进行负载均衡。图2是示出了示例性服务器负载均衡器30的方框图,该服务器负载均衡器根据本实用新型的原理在多个目标主机服务器之间对从客户设备接收到的网络流量进行负载均衡。例如,服务器负载均衡器30可以表示图1中的服务器负载均衡器12。服务器负载均衡器30包括控制单元32,其确定向哪里发送接收到的包并相应地转发该包。在图3示出的示例性实施例中,服务器负载均衡器30包括接口卡(interfacecard)(IFC)34A-34N(全体地,"IFC34"),用于通过外向链路(outboundlink)36A-36N("外向链路36")和内向(inbound)链路38A-38N("内向链路38")来进行数据包的通信。IFC34通过高速交换机40和链42相互连接。在一个例子中,交换机40包括交换结构(fabric),开关装置,可配置网络交换机或集线器等。链路42包括任意形式的通信路径,例如集成电路中的电路径,外部数据总线,光链路,网络连接,无线连接,或其他类型的通信路径。IFC34通过多个接口端(未示出)连接至外向链路36和内向链路38。在示出的例子中,服务器负载均衡器30包括转发(forwarding)面板44,其明显地监控内向网络流量46并作为外向网络流量48转发网络流量。在由图2示出的例子中,转发面板44包括流量(flow)分析模块50,规则引擎52,协议解码器54,转发元件56。服务器负载均衡器30的控制单元32包括管理模块58。管理模块58表示一个用户接口,管理员42可以通过该接口配置服务器负载均衡器30,例如,通过修改规则60或配置数据62(配置数据)。例如,管理模块58可以将用户接口表示为基于文本的命令行接口、基于网络浏览器的接口,或其他类型的用户接口。系统管理员可以配置负载均衡组并通过与管理模块58接口而将目标主机服务器增加到负载均衡组中。系统管理员也可以将一个或多个标号与一个或多个目标主机服务器相关联。该关联可以被存储到配置数据62。作为另一个例子,系统管理员可以配置规则60。规则50包括规定与目标主机服务器18相关的规则,向所述目标主机服务器转发不同类型的网络流量。由系统管理员配置的规则60中的规则可以规定一接收到特定类型的包,控制单元32就应该将包转发到具有特定标号的目标主机服务器的一个子设备。规则引擎52访问规则60以确定接收到的网络流量是否与任意规则60相匹配。可以以一个或多个表格、配置信息存储模块、链表、基树、配置信息存储模块、平面文件、或任意其他数据结构的形式来维持规则60和配置数据62。服务器负载均衡器30在IFC34的一个内向链路38A上接收来自诸如客户设备14B的一个客户设备14的网络流量。流量分析模块50接收来自交换机40的网络流量作为内向流量46并且识别流量中的网络流。每一个网络流表示数据包在网络流量中的一个方向上的流并且通过至少一个源地址、目的地址和通信协议被识别。流量分析模块50可以利用附加信息来指定网络流,包括源媒体访问控制("MAC")地址、目的MAC地址、源端口、和目的端口。其他实施例可以使用其他信息来识别网络流,例如IP地址。流量分析模块50维持描述网络流量中表示的每个主动(active)数据包流的流表(flowtable)64中的数据。流表64指定与每个主动数据包流相关的网络元件,S卩,诸如源设备和目的设备以及与数据包流相关的端口的底层信息。另外,流表64可以识别数据包流对,数据包流对共同形成客户机和服务器之间的单一通信会话。例如,流表64可以指定通信会话作为相反方向上的数据包流对,以使数据流共享至少一些公共的网络地址、端口和协议。规则引擎52检查内向流量以识别应用的类型并基于识别的应用决定类型来调用合适的一个协议解码器54以分析应用层通信。协议解码器54表示一组一个或多个特定协议的软件模块。每个协议解码器54对应于一个不同的通信协议或服务。可以通过协议解码器54支持的通信协议的实例包括超文本传输协议("HTTP")、文件传输协议("FTP")、网络新闻传输协议("NNTP")、简单邮件传输协议("SMTP")、Telnet、域名系统("DNS")、Gopher、Finger、邮局协议("P0P")、安全套接层("SSL")协议、轻量级目录访问协议("LDAP")、安全配置("SSH")、服务器信息块("SMB")和其他协议。协议解码器54分析重新组合的应用层通信并且输出识别应用层事务的事务数据(transactiondata)。具体地,事务数据指出在两个对等(peer)设备之间的一系列相关的应用层通信的开始和结束的时间。规则引擎52为数据包流分析重新组合的数据以识别与数据包流相关的应用和协议的类型。如果规则引擎52未能识别与数据包流相关的应用和协议的类型,则规则引擎52可以使用公知的静态端口绑定作为默认的应用选择。规则引擎52访问规则60以确定任意存储的规则是否与被识别的与数据包流相关的协议和应用类型相匹配。例如,规则引擎52可以识别数据包流作为对PDF文档的HTTP请求。规则引擎52可以找到这样的数据包流与规则相匹配,该规则规定{如果客户请求是以"PDF"结尾的HTTP请求,则将客户请求发送到具有标号"pdf"的目标主机服务器。规则引擎52还访问配置数据62以确定具有标号"pdf"的目标主机服务器18的子设备,例如,目标主机服务器18D、18E和18N。规则引擎52选择具有标号"pdf"的目标主机服务器18的子设备中的一个,并将选择的目标主机服务器18的子设备中的一个提供给转发元件56。转发元件56为选择的一个目标主机服务器18确定下一个转发点(hop),并且服务器负载均衡器30将识别的数据包流的网络流量输出给一个接口卡34的一个外向链路36上确定的下一个转发点。图2中描述的服务器负载均衡器30的结构仅为了示例性目的而示出。本实用新型不限于此结构。在其他实施例中,服务器负载均衡器30可以以各种方式配置。例如,在一个实施例中,可以将控制单元32的一些功能分配到IFC34。在进一步的实施例中,控制单元32可以包括执行发送功能并且维持诸如路由信息的路由信息库(RIB)的路由引擎,以及基于诸如转发信息的根据RIB生成的转发信息库(FIB)执行数据包转发的转发引擎。此外,虽然参照服务器负载均衡器30进行了描述,但本文描述的转发技术可以应用到其他类型的网络设备,例如网关、交换机、服务器、工作站、或其他网络设备。可以单独地在软件、或硬件中实现控制单元32,或者作为软件、硬件或固件(firmware)的组合来实现。例如,控制单元32可以包括执行软件指令的一个或多个处理器。在这种情况下,控制单元32的多个软件模块可以包括存储在诸如计算机存储器或硬盘的计算机可读存储介质中的可执行指令。图3是示出了根据本文描述的技术的服务器负载均衡器的示例性操作的流程图。例如,服务器负载均衡器可以是图1中的服务器负载均衡器12或图2中的服务器负载均衡器30。服务器负载均衡器30,例如,通过命令行接口或基于网络浏览器的用户接口(64)接收来自管理员的配置输入和规则。例如,配置输入可以创建负载均衡组,并且还可以配置独立的目标主机服务器18A-18N作为总体负载均衡组的成员,并将一个或多个标号与一个或多个目标主机服务器18相关联。该规则规定怎样基于分配的标号将特定类型的网络流量引导到目标主机服务器18。下面将结合图4更详细地描述服务器负载均衡器30的配置。服务器负载均衡器30通过网络16接收来自一个客户设备14(例如客户设备14B)的对文件的请求(66)。如上面结合图2的描述,服务器负载均衡器30基于请求识别被请求的文件类型(68)。例如,服务器负载均衡器30可以识别请求作为对GIF文件的HTTP请求。之后服务器负载均衡器30调用规则引擎52来访问被存储的规则,以确定文件请求是否与任意规则相匹配,并根据规则确定对应于被识别的文件类型的标号(例如,标号"gif")(70)。规则引擎52访问由服务器负载均衡器30维持的配置数据62,以确定与该标号相关的目标主机服务器18的子设备,例如,目标主机服务器18C和18D(72)。之后服务器负载均衡器30通过选择目标主机服务器18C和18D中的一个(74)并将文件请求输出给所选择的目标主机服务器(76)而在目标主机服务器18C和18D之间对文件请求进行负载均衡。图4是示出了通过由服务器负载均衡器30的管理模块58表示的用户接口接收来自管理员的配置信息和规则的服务器负载均衡器30(图2)的示例性操作的流程图。下面将参照图5来描述图4。图5示出了由在接口上看到的管理模块58生成的实例命令行接口90的示例性屏幕表示,例如由图2的管理模块58表示的接口。具体地,命令行接口90表示用以配置服务器负载均衡器30上的目标主机服务器18的由管理员输入的实例命令。服务器负载均衡器30接收来自管理员的创建负载均衡组的输入(80)。例如,如图5的命令行接口90所示,管理员输入表述为"Addcluster1"的命令92,其中"cluster"指的是负载均衡组。服务器负载均衡器30也接收来自管理员的定义将一个或多个目标主机服务器18增加到负载均衡组的输入(82)。例如,如图5的命令行接口90所示,管理员输入多个命令94。多个命令94中的每一个命令将另一个目标主机服务器增加到"clusterl"负载均衡组中。例如,命令"Setcluster1targethost1.1.1.1:80"可以增加目标主机服务器18A,其具有IP地址1.1.1.1并使用端口80。命令"Setcluster1targethost1.1.1.2:80"可以增加目标主机服务器18B,并以此类推到目标主机服务器18N。接收多个命令94的每一个之后,服务器负载均衡器30更新配置数据62以根据接收到的用户命令94定义相应的一个目标主机服务器18(84)。服务器负载均衡器30可以将默认标号分配给每一个目标主机服务器18。在更新完配置信息存储模块以定义目标主机18之后,服务器负载均衡器30接收来自管理员的将标号增加给目标主机服务器18的输入(86)。例如,如图5的命令行接口90所示,管理员输入命令96以将标号"jpg"和"pdf"增加给目标主机服务器18A。管理员可以通过类似的命令将标号增加给其他的目标主机服务器18。虽然为了示例性的目的示出了配置过程,增加所有的目标主机服务器18并且之后将标号增加给每个目标主机服务器18,管理员也可以作为选择地通过单个命令94增加单个目标主机服务器18A,并且在服务器负载均衡器30更新配置数据62以后,管理员接下来可以在将任意附加的目标主机服务器18A增加到集群(cluster)1负载均衡组之前,将一个或多个标号增加给目标主机服务器18A。例如,管理员可以将目标主机服务器18A增加到集群1负载均衡组中。在服务器负载均衡器30更新配置数据62以反映目标主机服务器18A的增加之后,管理员接下来可以将标号"jpg"增加到目标主机服务器18A。在这之后,管理员可以处理以将目标主机服务器18B增加到集群1负载均衡组,并且在服务器负载均衡器更新配置数据62之后,可以将一个或多个标号增加到目标主机服务器18B。如果目标主机服务器的配置改变,则管理员只需改变与该目标主机服务器相关的标号。服务器负载均衡器30还接收来自管理员的定义一个或多个规则的输入,并更新12规则60以存储被定义的规则(88)。管理员随后还可以通过增加、删除、或修改规则以更新该规则。备选地,管理员可以在配置负载均衡组之前定义规则。在这种方式中,管理员可以模拟不同类型的网络流量的目标主机组的创建过程,而不需实际上单独地配置任何目标主机组或明确地将目标主机服务器增加到不同的目标主机组中。已经描述了本实用新型的各种实施例。这些和其他实施例都落入权利要求的范围之中。权利要求一种服务器负载均衡器,包括用户接口,配置为接收定义表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及接收将所述多个目标主机服务器增加到所述负载均衡组的多个用户命令,其中,所述多个用户命令包括所述目标主机服务器的配置信息;配置信息存储模块,连接至所述用户接口,配置为存储所述配置信息;控制单元,连接至所述配置信息存储模块,配置为更新所述配置信息存储模块,并根据所接收到的用户命令来包含关于每一个所述目标主机服务器的各自的配置信息,所述用户命令配置为在所述目标主机服务器之间对网络流量进行负载均衡,以及接口,连接至所述控制单元,配置为接收来自客户设备的访问请求;其中,所述控制单元配置为识别所述访问请求的类型,访问一组规则来确定对应于所识别的访问请求类型的标号,并访问所述配置信息存储模块中的所述配置信息来识别与所确定的标号相关的目标主机服务器的子设备,所述一组规则的每一个参考标号均与能够服务于特定类型访问请求的多个目标主机服务器的子设备相关。2.根据权利要求1所述的服务器负载均衡器,其中,所述访问请求包括对特定类型文件的请求,而其中,所述标号表示所述多个目标主机服务器的子设备配置为服务于对所述特定类型文件的请求。3.根据权利要求1所述的服务器负载均衡器,其中,所分配的标号表示所述多个目标主机服务器的子设备中的每一个均配置为服务于超文本链接标识语言(HTML)请求、可移植文档格式(PDF)请求、联合图像专家组(JPEG)请求、图形交换格式(GIF)请求、或图像请求中的一个。4.根据权利要求1所述的服务器负载均衡器,其中,所述用户接口包括命令行接口。5.根据权利要求1所述的服务器负载均衡器,其中,所述用户接口包括网络浏览器接□。6.—种系统,包括多个客户设备,配置为转发对网络流量的请求;多个目标主机服务器,连接至所述多个客户设备,配置为将网络流量提供给所述多个客户设备,其中,所述多个目标主机服务器的每一个均配置为服务于至少一种类型的对网络流量的请求;服务器负载均衡器,连接至所述多个客户设备,配置为接收来自所述多个客户设备的对网络流量的请求并根据所述对网络流量的请求的类型而在所述多个目标主机服务器之间对所述请求进行负载均衡,其中所述服务器负载均衡器包括用户接口,配置为接收定义表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及接收将所述多个目标主机服务器增加到所述负载均衡组的多个用户命令,其中,所述多个用户命令包括所述目标主机服务器的配置信息;配置信息存储模块,连接至所述用户接口,配置为存储配置信息;控制单元,连接至所述配置信息存储模块,配置为更新所述配置信息存储模块,并根据所接收到的用户命令来包含关于每一个所述目标主机服务器的各自的配置信息,所述用命令配置为在所述目标主机服务器之间对网络流量进行负载均衡,接口,连接至所述控制单元,配置为接收来自客户设备的对网络流量的请求;其中,所述控制单元配置为识别对网络流量的所述请求的类型,访问所述的一组规则来确定对应于所识别的对网络流量的请求类型的标号,并访问所述配置信息存储模块中的所述配置信息来识别与所确定的标号相关的目标主机服务器的子设备,所述一组规则的每一个参考标号均与能够服务于特定类型访问请求的多个目标主机服务器的子设备相关。专利摘要一种服务器负载均衡器包括用户接口,配置为接收定义表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及接收将多个目标主机服务器增加到负载均衡组的多个用户命令,其中,多个用户命令包括目标主机服务器的配置信息;配置信息存储模块,连接至用户接口,配置为存储配置信息;控制单元,连接至配置信息存储模块,配置为更新配置信息存储模块,并根据所接收到的用户命令来包含关于每个目标主机服务器的各自的配置信息,所述用户命令配置为在目标主机服务器之间对网络流量进行负载均衡;以及接口,连接至控制单元,配置为接收来自客户设备的访问请求。文档编号H04L12/24GK201518488SQ200820175250公开日2010年6月30日申请日期2008年11月7日优先权日2008年4月15日发明者史蒂文·A·马尔姆斯科格,张中廷申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1