用于服务器负载均衡器的基于标号的目标主机配置的制作方法

文档序号:7921352阅读:191来源:国知局

专利名称::用于服务器负载均衡器的基于标号的目标主机配置的制作方法
技术领域
:本发明涉及计算才几网纟备,以及更具体i也,涉及计算才几网纟各中的服务器负载均衡。
背景技术
:计算机网络是可以交换数据和共享资源的互相连接的计算设备的集合。在基于数据包的网络中,计算设备通过将数据分成多个被称为数据包的小块来传送数据,这些小块在网络中独立地从源设备(sourcedevice)4皮发送到目的i殳备(destinationdevice)。目的i殳备从包中提取数据并且将数据组合成它的原始形式。月良务器负载均衡器(serverloadbalancer)是从多个后端目标主机服务器中分配输入(incoming)网络流量(traffic)的网络i殳备。在传统的配置中,服务器负载均衡器上配置的规则使服务器负载均衡器分析该输入网络流量以将该流量的一部分引导到目标主机服务器的一个子设备,将该流量的另一部分31导到目标主机的另一子设备,等等。例如,目标主机服务器的分隔的子设备可以服务于图像请求、可移植文档格式(PDF)请求、联合图像专家组(JPEG)请求、图形交换格式(GIF)请求、以及所有的其他超文本链接标识语言(HTML)请求。已经提出了将目标主机服务器的子设备配置在服务器负载均tf器上的多种方法。例如,在一种方法中,创建月良务于不同类型流量的分隔的目标主4几月l务器组实体,并且还创建总体负载均;斷组实体。然后,将目标主机服务器组与总体负载均衡组相关联。配置规则,所述规则规定了应该怎样将流量发送到目标主机服务器组。这种方法要求设置多个独立的实体(即,分隔的目标主机组和总体负载均衡组),之后该实体必须与负载均衡组相链接。在将目标主机服务器的子设备配置在服务器负载均衡器上的另一个实例方法中,设置单一的目标主机组实体,并顺序地将目标主机增加到目标主机组实体。s己置头见则,该头见则^L定了应该怎样通过将属于子组的目标主机独立地列出从而将流量发送到目标主机组实体的子组。在这种方法中,每当将目标主才几增加到子组的列表中时,必须复制关于单个的目标主机的信息。例如,如果一个目标主才几是多个子组中的一员(例如,月良务于多于一种类型的流量),则必须在多种^见则下列出目标主才几,因而必须iir入多次关于目标主才几的信息。另外,随着增加新的目标主机或者移除过期的目标主才几,必须更新失见则,以将目标主才几增加至在失见则中列出的子组中或乂人在规则中列出的子组中移除目标主机。
发明内容大体上,将描述用于配置和操作服务器负载均衡器的技术。例如,该技术使基于标号(label)的系统能够在服务器负载均衡器上配置目标主机服务器,其中,在将每个目标主机服务器增加到总体负载均衡组之后,将把目标主机服务器与特定类型的网络流量相关联的标号增加到每个目标主4几服务器。由诸如网络管理员的用户配置服务器负载均衡器,以使服务器负载均衡器能够基于网络流量的类型在多个目标主机服务器之间对网络流量进行负载均衡。服务器负载均衡器利用基于标号的配置方案来执行负载均衡。网络管理员通过将用户命令提供给服务器负12载均衡器来与服务器负载均衡器相互作用,以在服务器负载均衡器上配置目标主机服务器。为了在服务器负载均衡器上配置目标主机服务器,以使服务器负载均衡器知道向哪里发送不同类型的流量,网络管理员首先提供设置总体负载均衡组的用户命令。负载均衡组是单个的实体,-故定义为表示多个目标主才几月l务器。一旦^妄收到用户命令,服务器负载均衡器就更新数据库以定义负载均衡组。之后管理员提供用户命令以将每个目标主机服务器单独地增加到负载均衡组。当将目标主机服务器中的一个增加到负载均衡组中时,网络管理员可能需要配置关于各自目标主机服务器的特定附加信息。在接收到将目标主机服务器增加到负载均衡组中的多个用户命令中的每一个之后,服务器负载均衡器更新数据库以根据接收到的用户命令来定义各自的目标主机服务器。服务器负载均衡器可以将默认标号分配给每个定义的目标主机服务器。接下来,管理员可以将用户命令提供给服务器负载均衡器,以将一个或多个附加标号分配给一个或多个目标主机服务器。将标号增加到一个目标主机服务器表示该目标主机服务器能够处理与该标号相关的一种类型的网络流量。例如,月良务器负载均4軒器可以用于将标号"pdf,与配置用来服务于PDF请求的所有目标主机服务器相关联。当管理员将标号分配给目标主机服务器时,管理员不需要重新输入在配置目标主机服务器时已经输入过的所有初始信息。在这种方式中,管理员可以才莫拟用于不同类型网络流量的目标主才几组的创建过程,i者如(例如,文件i青求或月良务i青求)网全各访问i青求。例:^,可以在不同目标主才几纟且(例^j,PDF目标主才几纟且、联合图4象专家组(JPEG)目标主4几组、以及图4象交换才各式(GIF)目标主机组)中的目标主才几之间对不同类型的文件的请求进行负载均衡,而不需要实际上单独地配置任意目标主机组或明确地将目标主机服务器增加到不同的目标主才几组,这需要在每次将目标主才几服务13器增加到目标主机组时重新输入关于目标主机服务器的信息。相似或服务请求(例如,打印请求、动态主机配置协议(DHCP)请求、或其他请求)进行负载均4軒,例如,打印服务器或DHCP服务器。在这里描述的基于标号的配置技术虑及服务器负载均衡器将目标主才几月良务器与不同类型的网络流量相关:f关而不需要多次丰命入关于目标主机服务器的信息。管理员可以创建与给定的服务器负载均衡器为进行负载均衡目的而需要的相同数量的标号。之后管理员可以写出包含标号名称的用户失见则(customrule),该失见则将特定类型的网络流量引导到被标记的目标主机服务器。当服务器负载均衡器接收网络流量时,诸如通过网络的来自多个客户设备中的一个的对于文件的请求,服务器负载均衡器基于该请求识别被请求的文件类型。之后服务器负载均衡器访问被存储的规则以确定什么标号适用于被请求的文件类型。之后服务器负载均衡器通过选择具有该标号的一个目标主机服务器,并将文件输出至所选的目标主才几月良务器中的一个而在与该标号相关的目标主4几月良务器的子设备之间对文件请求进行负载均衡。在这种方式中,服务器负载均衡器可以根据所述标号在目标主机服务器的不同子设备之间对不同类型的网络流量进行负载均衡。本发明可以,提供一种或多种优点。例如,该技术可以虑及配置服务器负载均衡器上的目标主机服务器的效率。例如,管理员仅需要配置单个的顶层实体,即,负载均衡组。如果目标主机服务器的配置改变,则管理员只需改变与该目标主才几月良务器相关的标号。改变标号可能比将整个目标主一AJ良务器配置A人一个目标主4几"良务器组移动到另一个目标主机服务器组更为容易。在一个实施例中,一种用于配置和操作服务器负载均衡器的方法包括利用网络中的服务器负载均衡器接收用于定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令;利用服务器负载均衡器接收用于将多个目标主机服务器增加至负载均衡组的多个用户命令,其中,多个用户命令包括目标主机服务器的配置信息;一旦接收到将多个目标主机服务器增加至负载均衡组的多个用户命令中的每一个,就更新服务器负载均衡器的控制单元的数据各自的配置信息,所述用户命令用于在目标主机服务器之间对网络流量进行负载均衡。本方法进一步包括,在更新lt据库以包含配置信息之后,利用服务器负载均衡器接收多个用户命令,所述用户命令将标号分配给之前定义的负载均^f组中的多个目标主才几月良务器的至少一个子i殳备中的每一个;更新数据库中的配置信息,以将标号分配给多个目标主机服务器的子设备中的每一个目标主机服务器,而不需要在数据库中创建新的负载均纟軒组,且不需要重新配置凄t据库中的关于分配有标号的目标主机服务器的配置信息,其中,标号表示多个目标主机服务器的子设备能够服务于特定类型的访问请求。本方法还包括接收来自客户设备的访问请求;识别访问请求的类型;访问一组存储的规则,以确定相对于识别的访问请求类型的标号;访问数据库中的配置信息,以识别与确定的标号相关的目标主^L服务器的子备中的一个并将访问请求输出给所选冲奪的目标主才几月良务器,以在多个目标主机服务器之间对访问请求进行负载均衡。在另一个实施例中,服务器负载均衡器包括用户界面,用来接收用于定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及用来接收将多个目标主机服务器增加到负载均衡组中的多个用户命令,其中,多个用户命令包括目标主机服务器的配置信息。服务器负载均衡器还包括数据库,用来存储配置信息;一组规则,其中每一个参考标号均与能够服务于对网络流量的特定类型的请求的多个目标主机服务器的子设备相关,控制单元,用来更新数据库,以根据所接收到的用户命令来包含关于每个目标主机服务器的各自的配置信息,所述用户命令用于在目标主机服务器之间对网络流量进行负载均衡,其中,一旦控制单元更新数据库以包含配置信息,用户界面就接收到多个用户命令,这些用户命令将标号分配给之前定义的负载均纟軒组中的多个目标主机月良务器的至少一个子设备中的每一个,而不需要在数据库中创建新的负载均衡组,且不需要重新配置数据库中的关于分配有所述标号的目标主机服务器的配置信息,其中,所述标号表示多个目标主机服务器的子设备能够服务于对网络流量的特定类型的请求。服务器负载均衡器还包括用来接收来自客户设备的对网络流量的请求的界面。控制单元识别对网络流量的请求的类型,访问一组-见则,以确定对应于所识别的对网络流量的i青求类型的标号,并访问数据库中的配置信息,以识别与所确定的标号相关的目标主机服务器的子设备。控制单元通过选择与所确定的标号相关的一个目标主机服务器并将请求输出给所选择的目标主机服务器,以在多个目标主机服务器之间对网络流量的请求进行负载均衡。在另一个实施例中,一种计算才几可读介质包4舌指令。该指令寸吏得可编成处理器能够利用网络中的服务器负载均衡器接收用于定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令;以及利用服务器负载均衡器接收用于将多个目标主机服务器增加到负载均衡组的多个用户命令,其中,多个用户命令包括目标主机服务器的配置信息。一旦接收到将多个目标主机服务器增加至负载均衡组的多个用户命令的每一个,该指令就使得可编程处理器更新服务器负载均衡器的控制单元的数据库,以根据用户命令来包含关于每个目标主机服务器的各自的配置信息,所述用户命令用于在目标主机服务器之间对网络流量进行负载均衡。一旦更新数据库以包含配置信息,该指令就^使得可编程处理器利用服务器负载均衡器接收多个用户命令,所述用户命令将标号分配纟合之前定义的负载均4軒组中的多个目标主才几月良务器的至少一个子设备的每一个;以及更新凄t据库中的配置信息,以将标号分配给多个目标主机服务器的子设备中的每一个目标主机服务器,而不需要在数据库中创建新的负载均衡组,且不需要重新配置数据库中的关于分配有标号的目标主机服务器的配置信息,其中,标号表示多个目标主机服务器的子设备能够服务于特定类型的访问请求。该指令使得可编成处理器能够接收来自客户设备的访问请求,识别访问请求的类型,访问一组存储的规则,以确定相对于所识别的访问请求类型的标号,访问^t据库中的配置信息,以识别与确定的标号相关的目标主机服务器的子设备,以及通过选择与确定的标号相关的目标主机服务器的子设备中的一个并将访问请求输出给所选择的目标主才几月良务器,以在多个目标主才几服务器之间对访问请求进4亍负载均衡。在还有一个的实施例中,一种系统包括多个客户设备,转发对网络流量的请求;多个目标主才几服务器,将网络流量提供给多个客户设备,其中,多个目标主机服务器的每一个均用来服务于至少一种类型的对网络流量的请求;服务器负载均衡器,接收来自多个客户设备的对网络流量的请求并根据对网络流量的请求的类型而在多个目标主机服务器之间对请求进行负载均衡,其中服务器负载均衡器包括用户界面,用来接收用于定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及用来接收将多个目17标主机服务器增加到负载均衡组的多个用户命令,其中,多个用户命令包括目标主机服务器的配置信息。月良务器负载均衡器还包括数据库,用来存储配置信息;一组规则,其中每一个参考标号均与能够服务于对网络流量的特定类型的^"求的多个目标主才几月良务器的子i殳备相关,控制单元,用来更新数据库,以根据所接收到的用户命令来包含关于每一个目标主机服务器的各自的配置信息,所述用户命令用于在目标主机服务器之间对网络流量进行负载均衡,其中,一旦控制单元更新数据库以包含配置信息,用户界面就接收多个用户命令,所述多个用户命令将标号分配给之前定义的负载均衡组中的多个目标主机服务器的至少一个子设备中的每一个,而不需要在数据库中创建新的负载均衡组,且不需要重新配置数据库中的关于分配有所述标号的目标主机服务器的数据库中的配置信息,其中,所述标号表示多个目标主机服务器的子设备能够服务于对网络流量的特定类型的请求。月良务器负载均衡器还包括界面,用来接收来自客户设备的对网络流量的请求。控制单元识别对网络流量的请求的类型,访问一组夫见则,以确定对应于所识别的对网络流量的请求类型的标号,并访问数据库中的配置信息,以识别与所确定的标号相关的目标主才几服务器的子设备。控制单元通过选择与所确定的标号相关的目标主机服务器的一个并将请求输出给所选择的目标主机服务器,以在多个目标主机服务器之间对网络流量的请求进行负载均衡。下面将描述并结合附图阐述本发明的一个或多个实施例的细节。从描述和附图以及权利要求中本发明的其他特征、目的、以及优势将显而易见。图1是示出了具有服务器负载均衡器的示例性系统的框图,该服务器负载均衡器根据本发明的原理在多个目标主机服务器之间对从客户设备接收到的网络流量进行负载均《軒;图2是更详细地示出了诸如图1中的服务器负载均衡器的示例性服务器负载均衡器的框图3和图4是示出了根据本文所描述的技术的服务器负载均衡器的示例性操作的流程图5是从用户界面观看的由服务器负载均衡器表示的示例性命令行界面。具体实施例方式图1是示出了具有服务器负载均衡器12的示例性系统10的框图,该服务器负载均衡器通过计算机网络16接收来自客户设备14A-14N("客户设备14")的文件请求。可以根据本文所描述的技术来配置月良务器负载均4軒器12以在一组目标主冲几月良务器18A-18N("目标主机服务器18")之间对接收到的文件请求进行负载均衡。客户设备14可以是能够访问网络的任意设备,例如膝上型电脑、桌上型电脑、工作站、移动电话、或能够上网的个人数字助理(PDA)。服务器负载均衡器12是在系统10中运行的网络设备且能够远程配置。实例包括路由器、交换才几、集线器、应用服务器、凄t据库服务器或其他网络i殳备。网络16可以包括任意的公共网络或专用网络或因特网。可以指定每一个目标主才AJ良务器18来处理特定类型的网络流量或特定类型的访问请求。例如,可以指定目标主机服务器18A、18B、和18C来处理HTML请求和JPEG图<象,以及可以指定目标主机服务器18D、18E、和18N来处理HTML请求和PDF文件。另外,也可以指定目标主才几月良务器18C和18D来处理GIF文件。由诸如网络管理员的用户配置服务器负载均衡器12,以使服务器负载均衡器能够基于网络流量的类型或网络访问请求的类型而在目标主机服务器18之间对网络流量进行负载均衡。例如,如将在下文中的详细描述,服务器负载均衡器12利用基于标号的配置方案来^M亍负载均tf。网络管理员通过对服务器负载均衡器12提供用户命令来与服务器负载均衡器12进行相互作用,以配置服务器负载均4軒器12上的目标主才几服务器18。例如,网络管理员可以通过月良务器负载均4軒器12的命令行界面来才是供用户命令。又例如,网络管理员可以通过由服务器负载均衡器12表示的基于网络浏览器的界面来提供用户命令。为了配置服务器负载均衡器12上的目标主机服务器18以使服务器负载均衡器12知道向哪里发送不同类型的流量,网络管理员首先提供建立总体负载均衡组的用户命令。负载均衡组是为表示多个目标主才几月良务器18而定义的单一实体。一旦4妄收到用户命令,服务器负载均衡器12就更新数据库以定义负载均衡组。之后管理员提供用户命令以单独地将每个目标主机服务器18A-18N增加到负载均4紆组。当将一个目标主机服务器18增加到负载均4針组时,网络管理员可能需要配置关于各自的目标主机服务器18的特定的附加信息,例如目标主机服务器18可以处理的最大连接数。例如,目标主机力良务器18A可以是比目标主4几服务器18B更强大的服务器,因而能够处理比目标主才几服务器18B更多凄t量的连4妄。20在接收将目标主机服务器18增加到负载均衡组的多个用户命令的每一个之后,服务器负载均衡器18更新数据库以根据接收到的用户命令来定义各自的目标主机服务器18。服务器负载均衡器12将默认标号分配乡合每个定义的目标主4几服务器18。默i人标号对每个目标主才几服务器18可以是相同的。如果管理员不创建任何附加标号,则月l务器负载均4軒器12在所有的目标主才几月良务器18之间对接收到的网络流量进行负载均tf,即,所有目标主才几月良务器18都具有默i人标号。管理员可以将用户命令提供给服务器负载均衡器12基于每个目标主机服务器将一个或多个标号分配给一个或多个目标主机服务器18。在图1的例子中,管理员通过三个分隔的用户命令将标号"jpg,,分配给目标主机服务器18A、18B、和18C。相似地,管理员通过三个单独的用户命令将标号"pdf,分配给目标主4几服务器18D、18E、和18N。管理员也可以通过两个单独的用户命令将标号"gif,分配给目标主才几服务器18C和18D。当管理员分配标号的时候,管理员不需要重新输入在配置目标主4几服务器18时已经输入过的所有的初始信息。下面的表1示出了上面描述的对目标主机服务器18的标号的分配。为了举例的目的而^是供表1;服务器负载均衡器12可以或者不可以维持配置数据中的这样的数据结构。<table>tableseeoriginaldocumentpage21</column></row><table>在这种方式中,管理员可以使用对目标主机服务器的标号的分配来才莫拟不同类型的网络流量的目标主才几组(例如,PDF目标主斗几组、JPEG目标主才几组、以及GIF目标主才几组)的创建过程,而不需要实际上单独地配置任意目标主机组或明确地将目标主机服务器增加到不同的目标主机组,其要求在每次将目标主机服务器增加到目标主机组时重新输入关于目标主机服务器的配置信息。这里,使用术语"组,,指的是可以将单独的项目增加到项目的集合的逻辑表示,而其中,当将单独的项目增加到组中时,指定净皮增加的项目的特征。这里描述的基于标号的配置技术虑及将目标主机服务器18与不同的网络流量类型相联系而不要求多次输入关于目标主4几月良务器18的信息。服务器负载均衡器12维持一组规则,该组规则规定怎样将特定类型的网络流量引导到目标主机服务器18。该规则是基于分配的标号而定义的用户MJ'J,即,该夫见则涉及标号名称。作为一个例子,规则可以表达如下(如果客户请求的URL以"jpg"结尾,则将客户请求发送到具有标号"jpg,,的目标主机服务器。管理员可以在服务器负载均:銜器12上配置该组失见则,并且可以向该组MJ'j增加或者从该组规则移除规则。由于是根据标号而不是根据特定的目标主机服务器来写入规则,因此当将新的目标主机服务器增加到系统10时,管理员不需要修改规则。而是,管理员仅将新的目标主机服务器增加到总体负载均tf组中,并且将一个或多个标号分配给新的目标主一几服务器。服务器负载均衡器12可以通过网络16接收来自一个客户设备14的对于文件的请求,例如,来自客户设备14B的对于PDF文件的请求。一旦接收到对PDF文件的请求,服务器负载均衡器12就基于该请求识别^^皮请求的文件的类型。例如,服务器负载均衡器12可以从请求中提取应用数据并且检查该应用数据以识别对于请求的文件的文件扩展(例如,HTML,JPG,PDF)。下面将结合图2更加详细地讨^r月l务器负载均4軒器12识别4皮i青求的文件类型的方式。之后服务器负载均衡器12访问存储的规则,以确定文件请求是否与任何规则相匹配。如果文件请求不与任何规则相匹配,则使用默认的标号并且服务器负载均衡器12通过选择具有默认标号的一个目标主机服务器18并将文件请求输出给所选择的一个目标主才几月艮务器而在所有目标主才几服务器18之间对文件请求进4亍负载均衡。如果文件请求确实与一个规则相匹配,则月良务器负载均4軒器12确定由匹配的失见则识别的标号,并访问由月良务器负载均纟軒器12维持的配置数据,以确定与该标号相关的目标主机服务器18的子设备。例如,假设文件请求与下述规定的规则相匹配{如果客户请求的URL以"PDF"结尾,则将客户请求发送到具有标号"pdf,的目标主机服务器。之后服务器负载均衡器12访问存储的配置数据并确定目标主机服务器18D、18E、和18N具有标号"pdf,。之后服务器负载均衡器12通过选择目标主机服务器18D、18E、和18N中的一个而在目标主机服务器18D、18E、和18N之间对文件请求进行负载均衡,并将文件请求输出给所选择的目标主机服务器。月艮务器负载均4軒器12可以以多种方式乂人^皮识别的目标主才几月l务器18的子i殳备中选4奪,例长口卩逸才几i也、以專仑询的方式(roundrobinfashion)、根据权重(例如,基于可获得的带宽或最大连接数)、或者其他选择的方法。在一些情况下,该组规则可以包括默认规则,该默认规则头见定如果没有其他^见则与文件i青求相匹配,则发送到具有默i人标号的目标主才几力l务器。使用术语"文件"大体上涉及永久或暂时存储的数据的任意容器,网络可寻址或独立地选定地址的,并且通过计算才几网络可以重新得到的,包4舌HTTP文件、PDF文件、Word文档、图j象、可以下载或流(stream)到客户i殳备的々某体资产(mediaasset)。可以使用本发明的技术来对服务器负载均衡器12接收到的多种类型的网络流量进行负载均衡。例如,在另一个实施例中,服务器负载均;街器12可以利用这里描述的4支术识别来自一个客户i殳备14的访问请求的类型,并且在多个目标主才几服务器18之间对访问请求进行负载均^f。作为一个例子,服务器负载均衡器12可以识别来自一个客户"i殳备14的i方问i青求的类型,并且一4妄收到动态主机配置协议(DHCP)的请求就在DHCP服务器之间对访问请求进行负载均衡。在进一步的实施例中,服务器负载均衡器12可以识别来自一个客户设备14的对服务的请求的一种类型(例如,打印请求)并且在多个目标主机服务器18之间对服务的请求进行负载均衡。图2是示出了示例性服务器负载均衡器30的方框图,该服务器负载均衡器根据本发明的原理在多个目标主机服务器之间对从客户设备接收到的网络流量进行负载均衡。例如,服务器负载均衡器30可以表示图1中的服务器负载均衡器12。服务器负载均衡器30包括控制单元32,其确定向哪里发送接收到的包并相应地转发该包。在图3示出的示例性实施例中,服务器负载均衡器30包括4妄口卡(interfacecard)(IFC)34A-34N(全体地,"IFC34"),用于通过外向链路(outboundlink)36A-36N("外向链路36")和内向(inbound)链路38A-38N("内向链路38")来进行数据包的通信。IFC34通过高速交换机40和链42相互连接。在一个例子中,交换机40包括交换结构(fabric),开关装置,可配置网络交换机或集线器等。链路42包括任意形式的通信路径,例如集成电路中的电路径,外部数据总线,光链路,网络连接,无线24连接,或其他类型的通信路径。IFC34通过多个接口端(未示出)连^妄至外向链^各36和内向链^各38。在示出的例子中,服务器负载均衡器30包括转发(forwarding)面板44,其明显地监控内向网络流量46并作为外向网络流量48转发网络流量。在由图2示出的例子中,转发面板44包括流量(flow)分析模块50,规则引擎52,协议解码器54,转发元件56。服务器负载均衡器30的控制单元32包括管理模块58。管理模块58表示一个用户界面,管理员42可以通过该界面配置服务器负载均衡器30,例如,通过修改规则60或配置数据62(配置数据)。例如,管理模块58可以将用户界面表示为基于文本的命令行界面、基于网络浏览器的界面,或其他类型的用户界面。系统管理员可以配置负载均銜-组并通过与管理才莫块584妄口而将目标主才几月良务器增加到负载均4軒组中。系统管理员也可以将一个或多个标号与一个或多个目标主才几月良务器相关^:。该关写关可以:故存储到配置数据62。作为另一个例子,系统管理员可以配置失见则60。规则50包括规定与目标主机服务器18相关的规则,向所述目标主才几月良务器转发不同类型的网^^流量。由系统管理员配置的失见则60中的^见则可以^见定一4妻收到特定类型的包,控制单元32就应该将包转发到具有特定标号的目标主机服务器的一个子设备。规则引擎52访问规则60以确定接收到的网络流量是否与任意规则60相匹配。可以以一个或多个表格、数据库、链表、基树、数据库、平面文件、或任意其他数据结构的形式来维持规则60和配置数据62。服务器负载均衡器30在IFC34的一个内向链路38A上接收来自诸如客户设备14B的一个客户设备14的网络流量。流量分析模块50接收来自交换机40的网络流量作为内向流量46并且识别流量中的网络流。每一个网络流表示数据包在网络流量中的一个方向上的流并且通过至少一个源地址、目的地址和通信协议被识别。流25量分析才莫块50可以利用附加信息来指定网络流,包括源々某体访问控制("MAC")地址、目的MAC;也址、源端口、和目的端口。其他实施例可以使用其他信息来识别网络流,例如IP地址。流量分析模块50维持描述网络流量中表示的每个主动(active)数据包流的流表(flowtable)64中的数据。流表64指定与每个主动数据包流相关的网络元件,即,诸如源设备和目的设备以及与数据包流相关的端口的底层信息。另外,流表64可以识别数据包流对,数据包流对共同形成客户机和服务器之间的单一通信会话。例如,流表64可以指定通信会话作为相反方向上的数据包流对,以使数据流共享至少一些公共的网络地址、端口和协议。头见则引擎52才全查内向流量以识别应用的类型并基于识别的应用决定类型来调用合适的一个协议解码器54以分析应用层通信。协议解码器54表示一组一个或多个特定协议的软件才莫块。每个协i义解码器54对应于一个不同的通信妨、i义或月l务。可以通过十办i义解码器54支持的通信协议的实例包括超文本传输协议("HTTP")、文件传输协议("FTP")、网络新闻传输协议("NNTP,,)、筒单邮件传输协议("SMTP")、Telnet、域名系统("DNS")、Gopher、Finger、邮局协议("POP")、安全套接层("SSL")协议、轻量级目录访问协议("LDAP")、安全配置("SSH")、服务器信息块("SMB,,)和其他4办-议。协i义解码器54分析重新组合的应用层通信并且输出识别应用层事务的事务数据(transactiondata)。具体地,事务数据指出在两个对等(peer)设备之间的一系列相关的应用层通信的开始和结束的时间。MJ'J引擎52为^t据包流分析重新组合的^t据以识别与凝:据包流相关的应用和协议的类型。如果MJ!'j引擎52未能识别与数据包流相关的应用和协议的类型,则规则引擎52可以使用公知的,争态端口绑定作为默i人的应用选4奪。规则引擎52访问规则60以确定任意存储的^见则是否与被识别的与数据包流相关的协议和应用类型相匹配。例如,规则引擎52可以识别数据包流作为对PDF文档的HTTP请求。规则引擎52可以找到这样的数据包流与规则相匹配,该规则规定{如果客户请求是以"PDF"结尾的HTTP请求,则将客户请求发送到具有标号"pdf,的目标主机服务器。规则引擎52还访问配置数据62以确定具有标号"pdf,的目标主机服务器18的子设备,例如,目标主机服务器18D、18E和18N。规则引擎52选择具有标号"pdf,的目标主机服务器18的子设备中的一个,并将选择的目标主机服务器18的子设备中的一个提供给转发元件56。转发元件56为选4,的一个目标主机服务器18确定下一个转发点(hop),并且服务器负载均衡器30将识别的数据包流的网络流量输出给一个接口卡34的一个外向链路36上确定的下一个转发点。图2中描述的服务器负载均衡器30的结构仅为了示例性目的而示出。本发明不限于此结构。在其他实施例中,服务器负载均衡器30可以以各种方式配置。例如,在一个实施例中,可以将控制单元32的一些功能分配到IFC34。在进一步的实施例中,控制单元32可以包括执行发送功能并且维持诸如路由信息的路由信息库(RIB)的路由引擎,以及基于诸如转发信息的根据RIB生成的转发信息库(FIB)执行数据包转发的转发引擎。此外,虽然参照服务器负载均衡器30进行了描述,但本文描述的转发技术可以应用到其他类型的网络设备,例如网关、交换机、服务器、工作站、或其他网络i殳备。可以单独;也在專欠件、或硬_件中实5见控制单元32,或者作为4欠^f牛、石更件或固件(firmware)的组合来实现。例如,控制单元32可以包括执行软件指令的一个或多个处理器。在这种情况下,控制单元3227的多个软件模块可以包括存储在诸如计算机存储器或硬盘的计算机可读存储介质中的可执行指令。图3是示出了根据本文描述的技术的服务器负载均衡器的示例性操作的流程图。例如,服务器负载均衡器可以是图1中的服务器负载均衡器12或图2中的服务器负载均4lf器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牛请求进行负载均衡。图4是示出了通过由服务器负载均衡器30的管理模块58表示的用户界面接收来自管理员的配置信息和规则的服务器负载均衡器30(图2)的示例性操作的流程图。下面将参照图5来描述图4。图5示出了由在界面上看到的管理模块58生成的实例命令行界面卯的示例性屏幕表示,例如由图2的管理模块58表示的界面。具体地,命令行界面90表示用以配置服务器负载均衡器30上的目标主机服务器18的由管理员输入的实例命令。服务器负载均衡器30接收来自管理员的创建负载均衡组的输入(80)。例如,如图5的命令行界面90所示,管理员输入表述为"Addcluster1"的命令92,其中"cluster"指的是负载均衡组。月良务器负载均衡器30也接收来自管理员的定义将一个或多个目标主机服务器18增加到负载均衡组的输入(82)。例如,如图5的命令行界面90所示,管理员输入多个命令94。多个命令94中的每一个命令将另一个目标主冲几月良务器增加到"cluster1"负载均4軒组中。例如,命令"Setcluster1targethost1.1.1.1:80"可以增加目标主才几服务器18A,其具有IP地址1.1.1.1并使用端口80。命令"Setcluster1targethost1.1.1.2:80"可以增力口目标主才几月良务器18B,并以此类4偉到目标主才几力良务器18N。接收多个命令94的每一个之后,服务器负载均衡器30更新配置数据62以根据接收到的用户命令94定义相应的一个目标主机服务器18(84)。服务器负载均衡器30可以将默认标号分配给每一个目标主才几月良务器18。在更新完凄t据库以定义目标主才几18之后,月良务器负载均衡器30接收来自管理员的将标号增加给目标主机服务器18的输入(86)。例如,如图5的命令行界面90所示,管理员输入命令96以将标号"jpg"和"pdf,增加给目标主机服务器18A。管理员可以通过类似的命令将标号增加给其他的目标主冲几服务器18。虽然为了示例性的目的示出了配置过程,增加所有的目标主机服务器18并且之后将标号增加给每个目标主机服务器18,管理员29也可以作为选4奪地通过单个命令94增加单个目标主机服务器18A,并且在服务器负载均衡器30更新配置数据62以后,管理员接下来可以在将任意附加的目标主机服务器18A增加到集群(cluster)1负载均衡组之前,将一个或多个标号增加给目标主机服务器18A。例如,管理员可以将目标主机服务器18A增加到集群1负载均衡组中。在服务器负载均衡器30更新配置数据62以反映目标主机服务器18A的增加之后,管理员4妄下来可以将标号"jpg"增加到目标主机服务器18A。在这之后,管理员可以处理以将目标主才几服务器18B增加到集群l负载均^f组,并且在月良务器负载均4軒器更新配置凄史据62之后,可以将一个或多个标号增加到目标主机月良务器18B。如果目标主才几服务器的配置改变,则管理员只需改变与该目标主机服务器相关的标号。月良务器负载均衡器30还接收来自管理员的定义一个或多个规则的输入,并更新^见则60以存^f诸被定义的夫见则(88)。管理员随后还可以通过增加、删除、或修改规则以更新该规则。备选地,管理员可以在配置负载均《軒组之前定义身见则。在这种方式中,管理员可以才莫拟不同类型的网纟各流量的目标主枳j且的创建过禾呈,而不需实际上单独地配置任何目标主才几组或明确;也将目标主才几月良务器增加到不同的目标主才几组中。已经描述了本发明的各种实施例。这些和其他实施例都落入权利要求的范围之中。权利要求1.一种用于配置和操作服务器负载均衡器的方法,包括利用网络中的服务器负载均衡器接收用于定义负载均衡组的用户命令,所述负载均衡组能够表示所述网络中的多个目标主机服务器;利用所述服务器负载均衡器接收用于将所述多个目标主机服务器增加至所述负载均衡组的多个用户命令,其中,所述多个用户命令包括所述目标主机服务器的配置信息;一旦接收到将所述多个目标主机服务器增加至所述负载均衡组的多个用户命令的每一个,就更新所述服务器负载均衡器的控制单元的数据库,以根据所接收到的用户命令来包含关于每一个所述目标主机服务器的各自的配置信息,所述用户命令用于在所述目标主机服务器之间对网络流量进行负载均衡;在更新所述数据库以包含所述配置信息之后,利用所述服务器负载均衡器接收多个用户命令,所述用户命令将标号分配给之前定义的负载均衡组中的所述多个目标主机服务器的至少一个子设备中的每一个;更新所述数据库中的所述配置信息,以将所述标号分配给所述多个目标主机服务器的子设备中的每一个目标主机服务器,而不需要在所述数据库中创建新的负载均衡组,且不需要重新配置关于分配有所述标号的所述目标主机服务器的数据库中的配置信息,其中,所述标号表示所述多个目标主机服务器的子设备能够服务于特定类型的访问请求;接收来自客户设备的访问请求;识别所述访问请求的类型;访问一组存储的规则,以确定对应于所识别的访问请求类型的标号;访问所述数据库中的配置信息,以识别与所确定的标号相关联的所述目标主机服务器的子设备;以及通过选择与所确定的标号相关联的目标主机服务器的子设备中的一个并将所述访问请求输出给所选择的目标主机服务器,以在所述多个目标主机服务器之间对所述访问请求进行负载均衡。2.才艮据^^利要求1所述的方法,其中,所述的一组存^f诸的MJ!'J参考标号的每一个均与所述多个目标主机服务器的子设备相关耳关,其中,访问所述一组存储的力见则以确定标号包括确定所述访问i青求是否与所述一组存4诸的失见则中的4壬一个相匹配,并确定由与所述请求相匹配的规则所指定的标号。3.根据权利要求1所述的方法,还包括一旦接收到将所述多个目标主^L服务器增加到所述负载均4軒组实体的所述多个用户命令中的每一个,就自动将默:〖人标号分配给所述多个目标主机服务器中的每一个;以及一旦接收到与所述一组规则中的任意规则均不相匹配的访问请求,就选择具有默认标号的多个目标主机服务器中的一个,以向该目标主机服务器转发所述访问请求。4.根据权利要求1所述的方法,还包括接收将第二标号分配给所述多个目标主机服务器的第二子设备的第二用户命令,其中,所述第二标号相关,表示所述多个目标主机服务器的第二子设备能够服务于第二类型的访问请求。5.根据权利要求1所述的方法,其中,接收访问请求包括接收对特定类型的文件的请求,而其中,所述标号表示所述多个目标主机服务器的所述子设备能够服务于对特定类型的文件的请求。6.根据权利要求5所述的方法,其中,所分配的标号表示所述多个目标主机服务器的子设备中的每一个均能够服务于超文本《连4妄标识语言(HTML)请求、可移才直文档才各式(PDF)请求、联合图像专家组(JPEG)请求、图形交换才各式(GIF)请求、或图像请求中的一个。7.根据权利要求1所述的方法,其中,接收访问请求包括接收对特定类型的服务的请求,而其中,所述标号表示所述多个目标主机服务器的子设备能够服务于对特定类型的服务的请求。8.根据权利要求1所述的方法,其中,识别所述访问请求的类型包括识别所述访问请求的应用类型和协议类型。9.根据权利要求1所述的方法,其中,接收所述用户命令包括在所述服务器负载均衡器的命令行界面上接收所述用户命令。10.根据权利要求1所述的方法,其中,接收所述用户命令包括在所述服务器负载均衡器的网络浏览器界面上接收所述用户命令。11.一种服务器负载均衡器,包括用户界面,用来接收用于定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及用来接收将所述多个目标主机服务器增加到所述负载均衡组的多个用户命令,其中,所述多个用户命令包括所述目标主机服务器的配置信息;数据库,用来存储配置信息;一组规则,其中每一个参考标号均与能够服务于特定类型访问请求的多个目标主机服务器的子设备相关联;控制单元,用来更新所述数据库,以根据所接收到的用户命令来包含关于每一个所述目标主机服务器的各自的配置信息,所述用户命令用于在所述目标主机力良务器之间对网络流量进行负载均衡,其中,一旦所述控制单元更新所述^t才居库以包含所述配置信息,所述用户界面就接收到多个用户命令,所述用户命令将标号分配乡合之前定义的负载均衡-组中的所述多个目标主枳』服务器的至少一个子设备中的每一个,而不需要在所述数据库中创建新的负载均纟耔组,且不需要重新配置关于分配有所述标号的目标主机服务器的数据库中的配置信息,其中,所述标号表示所述多个目标主机服务器的子设备能够服务于特定类型的访问请求,以及界面,用来接收来自客户设备的访问请求;其中,所述控制单元识别所述访问请求的类型,访问所述的一组失见则,以确定对应于所识别的访问-清求类型的标号,并访问所述凄t才居库中的所述配置4言息,以i只别与所确定的标号相关联的目标主机服务器的子设备,以及其中,所述控制单元通过选择与所确定的标号相关联的所述目标主机服务器的一个并将所述请求输出给所选择的目标主机服务器,以在所述多个目标主机服务器之间对所述访问请求进行负载均^f。12.根据权利要求11所述的服务器负载均衡器,其中,一旦访问所述的一组失见则以确定只t应于所识别的访问-清求类型的标号,所述控制单元就用于确定所述访问请求是否与所述一组规贝'J中的4壬一个相匹配,以及确定由与所述^青求相匹配的头见则指定的标号。13.根据权利要求11所述的服务器负载均衡器,其中,一旦接收到将所述多个目标主才几月艮务器增加到所述负载均4軒组的多个用户命令的每一个,所述控制单元就用于自动将默认标号分配给所述多个目标主才几月良务器的每一个,以及其中,一旦4妄收到与所述一组失见则中的4壬意力见则不相匹配的访问请求,所述控制单元就用于选4奪具有默认标号的所述多个目标主4几月艮务器的一个,以向所述目标主才几服务器转发所述访问请求。14.根据权利要求11所述的服务器负载均衡器,其中,所述用户界面用于接收将第二标号分配给所述多个目标主机服务器的第二子设备的第二用户命令,其中,所述第二标号表示所述多个目标主机服务器的第二子设备能够服务于第二类型的访问请求。15.根据权利要求11所述的服务器负载均衡器,其中,所述访问请求包括对特定类型文件的请求,而其中,所述标号表示所述多个目标主机服务器的子设备能够服务于对所述特定类型文件的请求。16.根据权利要求11所述的服务器负载均衡器,其中,所分配的标号表示所述多个目标主机服务器的子设备中的每一个均能够服务于超文本链接标识语言(HTML)请求、可移植文档格式(PDF)请求、联合图像专家组(JPEG)请求、图形交换格式(GIF)请求、或图像请求中的一个。17.根据权利要求11所述的服务器负载均衡器,其中,所述控制单元用于通过识别所述访问:清求的应用类型和+办i义类型来识别所述访问:清求的类型。18.根据权利要求11所述的服务器负载均衡器,其中,所述用户界面包括命令行界面。19.根据权利要求11所述的服务器负载均衡器,其中,所述用户界面包括网络浏览器界面。20.—种包含指令的计算机可读介质,所述指令使得可编程处理器能够组的用户命令,所述负载均衡组能够表示所述网络中的多个目标主一几服务器;利用所述服务器负载均衡器接收用于将所述多个目标主机服务器增加至所述负载均衡组的多个用户命令,其中,所述多个用户命令包括所述目标主机服务器的配置信息;一旦接收到将所述多个目标主机服务器增加至所述负载均衡组的多个用户命令的每一个,就更新所述服务器负载均衡-器的控制单元的数据库,以根据所接收到的用户命令来包含关于每一个所述目标主机服务器的各自的配置信息,所述用户命令用于在所述目标主机服务器之间对网络流量进行负载均衡;一旦更新所述凄t据库以包含所述配置信息,就利用所述服务器负载均衡器接收多个用户命令,所述用户命令将标号分配给之前定义的负载均4軒组中的所述多个目标主冲几服务器的至少一个子i殳备中的每一个;更新所述tt据库中的所述配置信息,以将所述标号分配纟会所述多个目标主才几月艮务器的子i殳备中的每一个目标主才几月l务器,而不需要在所述数据库中创建新的负载均衡组,且不需要重新配置关于分配有所述标号的所述目标主才几服务器的数据库中的配置信息,其中,所述标号表示所述多个目标主机服务器的子设备能够服务于特定类型的访问请求;接收来自客户设备的访问请求;识别所述访问请求的类型;访问一组存〗诸的失见则,以确定相对于所识别的访问_清求类型的标号;访问所述凄t据库中的配置信息,以识别与所确定的标号相关联的所述目标主机服务器的子设备;以及通过选择与所确定的标号相关联的目标主机服务器的子设备中的一个并将所述访问-清求丰釙出*会所选4奪的目标主4几服务器,以在所述多个目标主才几月良务器之间对所述访问请求进行负载均tf。21.—种系统,包括多个客户设备,转发对网络流量的请求;多个目标主机服务器,将网络流量提供给所述多个客户设备,其中,所述多个目标主才几服务器的每一个均用来服务于至少一种类型的对网络流量的请求;服务器负载均衡器,接收来自所述多个客户设备的对网络流量的请求并根据所述对网络流量的请求的类型而在所述多个目标主机服务器之间对所述请求进行负载均衡,其中所述服务器负载均衡器包括用户界面,用来接收用于定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及用来接收将所述多个目标主机服务器增加到所述负载均衡组的多个用户命令,其中,所述多个用户命令包括所述目标主机月良务器的配置信息;数据库,用来存^f诸配置信息;一组规则,其中每一个参考标号均与能够服务于对网络流量的特定类型的请求的多个目标主机服务器的子设备相关联;控制单元,用来更新所述凄t据库,以根据所接收到的用户命令来包含关于每一个所述目标主才几服务器的各自的配置信息,所述用户命令用于在所述目标主机服务器之间对网络流量进行负载均衡,其中,一旦所述控制单元更新所述数据库以包含所述配置信息,所述用户界面就接收多个用户命令,所述用户命令将标号分配给之前定义的负载均tf组中的所述多个目标主^U良务器的至少一个子i殳备中的每一个,而不需要在所述数据库中创建新的负载均衡组,且不需要重新配置关于分配有所述标号的目标主4几力良务器的^t据库中的配置信息,其中,所述标号表示所述多个目标主机服务器的所述子设备能够服务于对网络流量的特定类型的请求,以及界面,用来接收来自客户设备的对网络流量的请求;其中,所述控制单元识别对网络流量的所述请求的类型,访问所述的一组规则,以确定对应于所识别的对网络流量的ifr求类型的标号,并访问所述^:据库中的所述配置信息,以识别与所确定的标号相关联的目标主机服务器的子i殳备,以及其中,所述控制单元通过选择与所确定的标号相关联的所述目标主机服务器的一个并将所述请求输出给所选择的目标主才几月l务器,以在所述多个目标主才几服务器之间对网络流量的所述请求进行负载均^f。全文摘要一种用于配置服务器负载均衡器的方法,包括接收定义能够表示网络中的多个目标主机服务器的负载均衡组的用户命令,以及接收将目标主机服务器增加到负载均衡组的用户命令,其中用户命令包括对目标主机服务器的配置信息。在接收将目标主机服务器增加到负载均衡组的用户命令后,该方法包括更新服务器负载均衡器的数据库以使其包括对目标主机服务器的配置信息。在更新数据库之后,该方法包括接收将标号分配给目标主机服务器的子设备而不创建新的负载均衡组且不重新配置关于目标主机服务器的信息的用户命令,其中标号指出目标主机服务器的子设备能够服务于特定类型的访问请求。文档编号H04L29/08GK101562533SQ200810175548公开日2009年10月21日申请日期2008年11月7日优先权日2008年4月15日发明者史蒂文·A·马尔姆斯科格,张中廷申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1