集群管理装置、系统、业务客户端及相应方法

文档序号:7981824阅读:114来源:国知局
集群管理装置、系统、业务客户端及相应方法
【专利摘要】本发明公开了一种集群管理装置、系统、业务客户端及相应方法。该集群管理装置包括:接收及存储模块,用于接收并存储从管理的集群中的各业务服务器发来的各业务服务器各自的网络访问地址;发送模块,用于向业务客户端发送接收及存储模块存储的至少一个网络访问地址。进一步,该集群管理装置还包括:监听模块,用于监听各业务服务器的运行状态信息;判断更新模块,用于基于运行状态信息判断接收及存储模块存储的网络访问地址所对应的业务服务器是否能够向业务客户端提供服务,根据判断结果来更新所存储的网络访问地址。该集群管理装置能够尽可能地避免因访问请求由LVS服务器等集群管理相关装置集中转发所带来的网络流量瓶颈。
【专利说明】集群管理装置、系统、业务客户端及相应方法
【技术领域】
[0001]本发明涉及网络技术信息,尤其涉及一种集群管理装置、系统及方法和、业务客户端及相应方法。
【背景技术】
[0002]随着互联网规模的不断发展,网络用户及各种网络应用迅速增长,使得网络服务器的负载能力渐渐成为服务中的瓶颈和薄弱环节。若采用单一服务器来承担高负载,则很可能需要非常高成本的单一服务器才能满足所需要的高负载性能。甚至,根本无法从市场上采购到能够满足所需要的高负载性能的服务器。
[0003]因此,最近提出了一些采用各种相对廉价且性能稳定的高可用性集群系统。为了保证集群系统的高可用性,可扩充性,可管理性,以及集群管理系统的可靠性,提出了一些集群组织和管理等相关的方案。以下以通过Linux虚拟服务器(LVS服务器,Linux VirtualServer)构建的集群系统为例(参考图1)来进行说明。
[0004]LVS服务器一般部署为负载均衡服务器(director server),带LVS服务器的负载均衡器构成集群管理装置20。当集群管理装置20收到客户端10发来的请求后,将收到的请求转发给真实服务器30 (Real Server) 0然后,真实服务器30 (亦称为业务服务器)处理并响应于接收到的请求,将作为该请求的响应结果返回给集群管理装置20。最后,集群管理装置20将响应结果转给客户端10。这样,客户端通过集群管理装置20的分发及转发功能获得了来自真实服务器30的响应结果。
[0005]可见,由于客户端10向某一个集群发送的请求均需要经过集群管理装置20转发才能到达真实服务器30,而真实服务器30向客户端10返回的响应结果也要经过集群管理装置20才能抵达客户端10,这使得经过集群管理装置20的流量巨大,进而很可能导致集群管理装置20成为整个集群流量出入的瓶颈。
[0006]此外,采用LVS服务器的集群管理装置20主要负责将流量进行转发以达到分流的目的,并没有区分不同服务。因此,如果有多个集群进行管理,则需要多个LVS服务器来为不同的集群提供管理和转发,导致需要部署多个单独的集群管理装置20。

【发明内容】

[0007]本发明所要解决的技术问题之一是需要提供一种能够尽可能地避免了因访问请求由LVS服务器等集群管理相关装置集中转发所带来的网络流量瓶颈的集群管理装置、系统、业务客户端及相应方法。
[0008]为了解决上述技术问题,本发明提供了一种集群管理装置。该集群管理装置包括:接收及存储模块,用于接收并存储从管理的集群中的各业务服务器发来的各所述业务服务器各自的网络访问地址;发送模块,用于向业务客户端发送所述接收及存储模块存储的至少一个网络访问地址。
[0009]进一步,该集群管理装置还包括:监听模块,用于监听所述各业务服务器的运行状态信息;判断更新模块,用于基于所述运行状态信息判断所述接收及存储模块存储的网络访问地址所对应的业务服务器是否能够向业务客户端提供服务,根据判断结果来更新所存储的网络访问地址;其中,所述发送模块向业务客户端发送的所述至少一个网络访问地址是被所述判断更新模块判断为能够为业务客户端提供服务的网络访问地址。
[0010]进一步,所述发送模块进一步用于根据所述业务客户端的用于获取业务服务器的网络访问地址的请求或者主动向所述业务客户端发送所述存储的网络访问地址。
[0011]进一步,所述集群管理装置进一步用于将所述接收及存储模块接收的网络访问地址以虚拟的树结构进行管理和存储。
[0012]进一步,在所述集群管理装置管理了多个业务服务器集群时,进一步用于将不同业务服务器集群中的业务服务器的网络访问地址存储在所述虚拟的树结构中的不同子树中。
[0013]进一步,所述监听模块所监听的运行状态信息包括关于业务服务器自身性能和/或负载情况的信息。
[0014]根据本发明的另一方面,还提供了一种集群中的业务客户端。该业务客户端包括:第二发送模块,用于向所述集群中的集群管理装置发出用于获取业务服务器的网络访问地址的请求;第二接收及存储模块,用于接收并存储所述集群管理装置根据所述请求或者主动发来的业务服务器的网络访问地址;地址确定模块,用于将所存储的所述网络访问地址之一确定为目标网络访问地址;连接建立模块,用于与所述目标网络访问地址对应的业务服务器建立连接。
[0015]进一步,该业务客户端,还包括:判断模块,用于在要访问所述集群管理装置所管理的集群时,判断所述业务客户端本地是否存储了所述业务服务器的至少一个网络访问地址,若判断为否,则运行第二发送模块,反之,则运行连接建立模块。
[0016]进一步,所述地址确定模块,进一步用于在与目标网络访问地址对应的业务服务器建立网络连接失败时,重新确定目标网络访问地址。
[0017]进一步,在所述业务客户端对所述集群管理装置所管理的业务服务器集群的各次访问中,采用轮询的方式或采用基于客户端属性确定的顺序将所存储的各个网络访问地址依次确定为所述目标网络访问地址。
[0018]进一步,所述第二接收及存储模块还进一步用于从所述集群管理装置接收关于与网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息;以及所述连接建立模块进一步基于与所述网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息来将所存储的网络访问地址之一确定为所述目标网络访问地址。
[0019]根据本发明的另一方面,还提供了一种集群管理系统。该集群管理系统包括根据上述技术方案所述的业务客户端、以及上述技术方案所述的集群管理装置及其所管理的集群中的各业务服务器。
[0020]根据本发明的另一方面,还提供了一种集群管理方法。该集群管理方法包括:集群管理装置接收并存储从管理的集群中的各业务服务器发来的各所述业务服务器各自的网络访问地址;业务客户端向所述集群管理装置发出用于获取业务服务器的网络访问地址的请求;所述集群管理装置根据所述获取业务服务器的网络访问地址的请求向所述业务客户端发送其自身存储的至少一个网络访问地址;所述业务客户端接收并存储所述集群管理装置发来的业务服务器的网络访问地址,将其自身存储的网络访问地址之一确定为目标网络访问地址,与所述目标网络访问地址对应的业务服务器建立连接。
[0021]进一步,该集群管理方法还包括:所述集群管理装置监听各业务服务器的运行状态信息,基于所述运行状态信息判断存储的网络访问地址所对应的业务服务器是否能够向业务客户端提供服务并根据判断结果来更新所存储的网络访问地址;所述集群管理装置在更新所存储的网络访问地址后,向业务客户端发送被判断为能够为业务客户端提供服务的网络访问地址。
[0022]进一步,所述运行状态信息还包括关于与网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息;以及
[0023]所述业务客户端基于与所述网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息来将所存储的网络访问地址之一确定为所述目标网络访问地址。
[0024]进一步,所述集群管理装置将接收的网络访问地址以虚拟的树结构进行管理和存储,在所述集群管理装置管理了多个业务服务器集群时,将不同业务服务器集群中的业务服务器的网络访问地址存储在所述虚拟的树结构中的不同子树中。
[0025]根据本发明的另一方面,还提供了一种集群管理装置的管理方法。集群管理装置的该管理方法包括:接收并存储从由所述集群管理装置管理的集群中的各业务服务器发来的各所述业务服务器各自的网络访问地址;向业务客户端发送所存储的至少一个网络访问地址。
[0026]进一步,该集群管理装置的管理方法还包括:监听所述各业务服务器的运行状态信息;基于所述运行状态信息判断所存储的网络访问地址所对应的业务服务器是否能够向业务客户端提供服务并根据判断结果来更新所存储的网络访问地址;其中,所述向业务客户端发送所存储的至少一个网络访问地址的步骤具体包括:向业务客户端发送被判断为能够为业务客户端提供服务的网络访问地址。
[0027]根据本发明的另一方面,还提供了一种集群中的业务客户端的访问方法。该业务客户端的访问方法包括:向所述集群中的集群管理装置发出用于获取业务服务器的网络访问地址的请求;接收并存储所述集群管理装置发来的业务服务器的网络访问地址;将所存储的所述网络访问地址之一确定为目标网络访问地址;根据所述目标网络访问地址与所述目标网络访问地址对应的业务服务器建立连接。
[0028]与现有技术相比,本发明的一个或多个实施例可以具有如下优点:由于客户端10在从集群管理装置40能够获得与所述管理集群中各业务服务器30的运行状态有关的信息的情况下,能够直接与所要访问的业务服务器30建立连接,可以有效地避免所有访问请求所带来的流量分流到各个客户端10分别与各个业务服务器30所建立的多个连接中,从而尽可能地避免了因访问请求由LVS服务器等集群管理相关装置集中转发所带来的网络流量瓶颈。
[0029]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【专利附图】

【附图说明】[0030]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
[0031]图1是根据现有技术的一种集群管理系统的结构示意图;
[0032]图2是根据本发明第一实施例的集群管理系统的结构示意图;
[0033]图3示出根据本发明第一实施例的集群管理装置进行集群管理的流程图;
[0034]图4示出根据本发明第一实施例的集群管理装置的结构示意图;
[0035]图5示出根据本发明第一实施例的客户端进行业务访问的流程图;
[0036]图6示出根据本发明第一实施例的客户端的结构示意图;
[0037]图7示出根据本发明第二实施例的集群管理系统的结构示意图;
[0038]图8示出根据本发明第三实施例的集群管理系统的结构示意图。
【具体实施方式】
[0039]以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
[0040]另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0041]第一实施例
[0042]下面参考图2至图6来说明本实施例。
[0043]图2示出了根据本发明一实施例的集群管理系统的示意图。
[0044]集群管理装置40与各业务服务器30网络连接,接收从各业务服务器30发来的各业务服务器30的网络访问地址。例如可将各业务服务器30的网络访问地址存储作为网络访问地址列表、作为Zookeeper (下文将详细说明)的树状虚拟文件中一个预设的用于表示集群管理装置40所管理的集群的虚拟根节点下的各数据节点等。存储方式可灵活选择。业务服务器30的网络访问地址可包括网络域名、IP地址或者这两者与端口号的结合等。各业务服务器30位于集群管理装置40所管理的集群中,负责向客户端10提供网络服务。
[0045]集群管理装置40还与客户端10网络连接以向客户端10传输网络访问地址列表。这样,客户端10在从集群管理装置40获取网络访问地址列表后,可以基于来自集群管理装置40的网络访问地址列表,在无需集群管理装置40转发的情况下与所要访问的业务服务器30直接建立网络连接,以向各业务服务器30之一发送业务请求,从而获取所要访问的网络内容。
[0046]下面进一步结合图3和图4来详细说明根据本实施例的集群管理装置40及其处理。如图4所示集群管理装置40包括接收及存储模块41、发送模块42、监听模块43、判断更新模块44。需要说明的是,不限于图4示出的连接关系,各模块之间可以相互连接。
[0047]下面详细说明根据本实施例的集群管理装置40进行集群管理的各步骤。
[0048]步骤S310,接收及存储模块41接收并存储从集群管理装置所管理的集群中的各业务服务器30发来的各业务服务器30各自的网络访问地址。例如,各业务服务器30向集群管理装置40注册(发送)其自身的用于向业务客户端10(简称客户端10)提供网络服务的IP地址和端口号(port),集群管理装置40接收并存储各业务服务器30发来的IPdnternet Protocol)地址和端口号。可将接收来的这些网络访问地址存储作为网络访问地址列表。更优选地,可采用Zookeeper技术进行协同,可将各业务服务端口 30的IP地址和端口号分别存储作为Zookeeper的树状虚拟文件中一个数据节点(znode),具体地,将各网络访问地址分别存储至Zook^per的树状虚拟文件中一个预设的用于表示集群管理装置40所管理的集群的虚拟根节点下的各数据节点中,记为“/A”(参考图7)。由于Zookeeper允许多个分布在不同服务器上的进程基于一个共享的、类似标准文件系统的树状虚拟文件系统来进行协作。虚拟文件系统中的每个数据节点都称作一个znode,每个znode都可以把数据关联到它本身或者它的子节点,因此,在采用Zookeeper技术进行协同时,可以减少技术人员的程序开发量,较好地避免数据访问冲突,可更好地解决分布式环境下可能出现的数据并发修改、数据备份恢复和数据一致性的问题。
[0049]然而,为便于说明,以下主要以网络访问地址列表为例进行说明。
[0050]步骤S320,发送模块42向客户端10发送由接收及存储模块41所存储的各业务服务器30的网络访问地址。发送模块42可主动地向各客户端10推送所存储的至少一个各业务服务器30的网络访问地址,优选地,发送模块42可根据客户端10的用于获取业务服务器的网络访问地址的请求来向10发送所储的各业务服务器30的网络访问地址。
[0051]步骤S330,可选地,监听模块43监听业务服务器30的运行状态信息。具体地,可监听与接收及存储模块41所存储的网络访问地址所对应的业务服务器30的运行状态信息。运行状态信息包括关于业务服务器是否可用的信息。一般地,若监听到某个业务服务器30的运行状态信息,则可判断为该业务服务器30可用,亦即,能够向业务客户端10提供服务。例如,集群管理装置40可周期性地从业务服务器30接收关于运行状态的信息(以下亦简称心跳信息)。通过监听模块43的监听操作,可以尽可能实时地获知业务服务器集群中各业务服务器的网络访问地址的变化。
[0052]此外,接收及存储模块43所监听的所述运行状态信息还可包括关于业务服务器自身性能和/或负载情况的信息,这样,客户端10可以从集群管理装置40获取这些性能和/或负载情况的信息,进而基于这些性能和/或负载情况的信息来选择要访问的30。这样,可以更好地实现负载平衡。在步骤S330之后,进入步骤S340。
[0053]步骤S340,判断更新模块44基于所述运行状态信息判断所述接收及存储模块41存储的网络访问地址所对应的业务服务器是否能够向该业务客户端提供服务并根据判断结果来更新所存储的网络访问地址。更具体地,若监听不到各网络访问地址中某一网络访问地址对应的业务服务器30发来的信息时,则判断为该业务服务器30不可用。然后,判断更新模块44可根据判断结果来更新所存储的网络访问地址。该更新所存储的网络访问地址的处理可以为:将与不可用的业务服务器30对应的网络访问地址从步骤S310中存储的网络访问地址列表中删除,或者可对网络访问地址列表中与不可用的业务服务器30对应的网络访问地址进行标记。此外,也可通过监听各业务服务器30的宕机、超负载、故障告警、重启告警等运行状态,来获得各业务服务器30分别是否可用的信息。然后进入步骤S350。
[0054]步骤S350,发送模块42向业务客户端10发送被所述判断更新模块判断为能够为该业务客户端提供服务的网络访问地址。若监听不到某一业务服务器30的心跳信息,则可在S340中将该业务服务器30的网络访问地址删除或者将其标记为不可能,从而在向客户端10发送网络访问地址时,不再发送该业务服务器30的地址,而是仅发送被判断更新模块44判断为能够为业务客户端提供服务的网络访问地址。这样各客户端10能够对其存储的网络访问地址列表进行更新。需要说明的是,发送模块42可以使用异步通知机制,使业务客户端透明的使用业务服务器。更具体地,当判断更新模块44进行更新操作后,发送模块42可以立即向客户端10发送更新后的所存储的网络访问地址,但也可以在以后的某一时刻再发送,因为即便不立即发送,客户端10由于已经保存了网络访问地址列表因此仍旧可以正常访问业务。
[0055]需要说明的是,以上步骤S320与步骤S330及S340之间的顺序可以是任意的。
[0056]图6示出根据本实施例的客户端10的结构示意图。包括判断模块11、第二发送模块12、第二接收及存储模块13、地址确定模块14和连接建立模块15。需要说明的是,不限于图6示出的连接关系,各模块之间可以相互连接。
[0057]下面结合图5和图6来详细说明根据本实施例的客户端10及其访问集群管理装置40所管理的集群时的各步骤。
[0058]步骤S510,判断模块11在要访问集群管理装置40所管理的集群时,判断客户端10本地是否存储网络访问地址列表,该网络访问地址列表包括集群管理装置40所管理的集群的各业务服务器30的网络访问地址,若本地未存储该网络访问地址列表,则进入步骤S520 ;反之,进入步骤S540。
[0059]步骤S520,第二发送模块12向集群管理装置40发出用于获取的业务服务器30的网络访问地址的请求。
[0060]步骤S530,第二接收及存储模块13接收并存储所述集群管理装置40发来的网络访问地址。更具体地,接收并存储集群管理装置40对业务服务器30的请求作出响应而向客户端10发来的网络访问地址列表。
[0061]步骤S540,地址确定模块14将所存储的网络访问地址之一确定为所要访问的业务服务器30的目标网络访问地址。
[0062]步骤S550,连接建立模块15基于所确定的目标网络访问地址向与所确定的目标网络访问地址对应的业务服务器30发送业务请求以获取所要访问的网络内容。
[0063]更具体地,当客户端10要访问集群管理装置40所管理的集群时,将各步骤S530中所存储的网络访问地址之一确定为目标网络访问地址,与目标网络访问地址对应的业务服务器30建立网络连接,然后向其发送业务请求以获取所要访问的网络内容。这样,可以在无需通过集群管理装置40转发的情况下,直接利用业务服务器30的网络访问地址访问业务服务器30。
[0064]需要说明的是,S510为可选的,利用步骤S510,客户端10无需在每次要向集群管理装置40所管理的集群发出业务请求时均从集群管理装置40上获得网络访问地址列表,而是可以利用在本地内存中存储的网络访问地址列表备份,这样可以减少网络开销和延迟。
[0065]优选地,在客户端10对集群管理装置40所管理的集群的各次访问中,采用轮询的方式或采用基于客户端属性确定的顺序将所存储的各个网络访问地址依次作为目标网络访问地址。
[0066]当采用轮询方式时,客户端10不会集中访问集群管理装置40所管理的集群中的某一台业务服务器30,因此可以较好地实现负载平衡。优选地,由于采用轮询的方式时,客户端10总是从所存储的网络访问地址所对应的第一台业务服务器30开始访问,因此,可以进一步采用基于客户端10属性确定的顺序来进行访问,例如基于客户端10属性确定客户端10所要轮询的第一台业务服务器30,由于各客户端10的属性各异,这样可以使得所要轮询的第一台业务服务器30各异,从而使得负载进一步平衡。
[0067]此外,在步骤S530中,第二接收及存储模块13还可以从集群管理装置40接收与网络访问地址列表对应的业务服务器30的与性能和/或负载情况有关的信息。这样,可以基于与所述网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息来将各步骤S530中所存储的网络访问地址之一所对应的业务服务器30作为目标网络访问地址。
[0068]此外,在步骤S530中,第二接收及存储模块13并不是在阻塞的接收集群管理装置40发送的信息,而是异步的进行接收,并且异步的对业务服务器的相关状况进行更新,使得10可以无差别的使用S540获得网络访问地址。
[0069]此外,地址确定模块14在与目标网络访问地址对应的业务服务器30建立网络连接失败时,重新确定目标网络访问地址。如果全部访问失败,则标志所有业务服务器当前皆不可用。
[0070]此外,客户端10可以采用双缓冲器(buffer)存储,每个buffer都用于从集群管理装置40接收到的网络访问地址,这样可以有效减少互斥访问所存储的网络访问地址需要频繁加锁的性能损失。
[0071]客户端10可以采用预设的顺序依次各步骤S530中所存储的网络访问地址。
[0072]下面结合图6来详细说明根据本实施例的业务服务器30为客户端10提供服务的各步骤。
[0073]步骤S610,向预设的集群管理设备40发送自身的网络访问地址。例如,将自身的IP地址和端口号注册到集群管理装置40中用于表示集群管理装置40所管理的集群的虚拟根节点下(参考图4)。
[0074]步骤S620,向集群管理装置40发送关于自身的心跳信息,只要有心跳就表明可用。例如,可以周期性地或按照预设间隔向集群管理装置40发送关于自身是否可用的消息。此外,还可以向集群管理装置40发送关于自身性能和/或负载情况的信息。
[0075]步骤S630,响应客户端10的业务请求,以向客户端10发送客户端10所请求的内容。
[0076]综上,由于客户端10或业务服务器30与集群管理装置40间的数据传输量不包括客户端10向业务服务器30请求的业务内容数据,因此数据量大大减小,从而避免了因集群管理装置40的数据量过大而导致的数据瓶颈现象。
[0077]此外,当业务服务器30的集群服务能力不足时,可在不影响当前系统运行的情况下,直接(例如通过热插拔等方式)增加业务服务器30,新增加的业务服务器30向集群管理装置40发送其网络访问地址,此时集群管理装置40便能立刻监测到这一事件,并将其网络访问地址增加/A节点上,然后通知客户端10更新所存储的网络访问地址列表,这样,客户端10能够很快地把一部分业务请求分配到新增的业务服务器30。这样,可以较快地消除集群过载问题。
[0078]第二实施例
[0079]参考图7,根据本实施例的集群管理系统包括多个根据第一实施例的集群管理装置40,组成一个集群管理服务器的集群,由集群管理服务器的集群作为各业务服务器30的管理者。优选地,集群管理服务器的集群包括奇数台(例如3或者5台)集群管理装置40。当一半以上的集群管理装置40的网络访问地址列表相同时,可利用这一半以上的集群管理装置40的网络访问地址列表来更新其余的集群管理装置40。这样可以提高整个系统的容错性,如果一小部分集群管理装置出错,其他机器仍能完成对业务服务器30的管理任务。
[0080]第三实施例
[0081]参考图8,根据本实施例的集群管理系统可以利用一台根据第一实施例的集群管理装置40或利用根据第二实施例的一个集群管理装置40构成的集群同时为多个不同业务服务器集群提供管理服务。
[0082]根据本实施例的业务服务器与上述实施例大体相同,在此不再赘述。此外,客户端与集群管理装置40的大部分步骤也与上述实施例大体相同。下文仅说明与前述实施例不同的部分。
[0083]当集群管理装置40 (或集群管理装置40的集群)可同时管理多个不同的业务服务器集群,此时,将不同业务服务器集群的业务服务器的网络访问地址区分存储。例如,存储为不同的列表、数组、或存储为同一个虚拟树下的不同子树,以示区分。
[0084]客户端在步骤S520中向集群管理装置40发出的用于获取的业务服务器的网络访问地址的请求包括与要访问的集群或要访问的业务(服务)的信息。
[0085]然后,在步骤S320,集群管理装置40基于该请求中包括的与要访问的集群或要访问的业务(服务)的信息来确定作为该请求的响应的要向客户端发送网络访问地址。
[0086]参考图8,该系统采用了 Zooke印er来实现。其中,业务服务器Al和业务服务器A2向各客户端B2提供一种业务,而业务服务器A3向客户端BI提供另一种业务。
[0087]由于当B2发出网络访问地址请求时,请求中包括了关于要访问业务服务器Al和业务服务器A2所提供的业务的信息,因此集群管理装置40所构成的集群向其返回虚拟根节点“/C”下的各节点的网络访问地址(IP地址及端口号);而当BI发出网络访问地址请求时,请求中包括了关于要访问业务服务器A3所提供的业务的信息,因此集群管理装置40所构成的集群向其返回虚拟根节点“/A”下的各节点的网络访问地址(IP地址及端口号)。这样客户端BI和B2均能获得正确的网络访问地址,因此能够访问它们各自需要的业务服务器。
[0088]在利用LVS的集群机制组建的用于管理业务服务器集群的系统,进行分流只针对同一种服务器和接口,如果需要为多个提供不同服务的集群提供管理服务,则需要采用多个LVS服务器或LVS服务器集群。但利用本实施例提供的集群管理装置40或集群管理装置集群,如果有多个提供不同服务的集群提供服务,只需集群管理装置40将不同的集群的网络访问地址分别存储,例如,注册到集群管理装置40中的不同znode节点,如图7所示。这样,Al和A2为B2提供服务,A3为BI提供服务,不同的服务之间不会出现干扰。并且,不管有多少个服务集群提供服务和有多少客户使用服务,都可以用同样的集群管理装置40或集群管理装置构成的集群(如图7所示的3台集群管理装置40所构成的集群)进行管理。
[0089]简而言之,集群管理装置40可利用Zookeeper技术进行协同管理,利用Zookeeper将所述接收及存储模块接收的网络访问地址以虚拟的树结构进行管理和存储。在集群管理装置40管理了多个业务服务器集群时,可将不同业务服务器集群中的业务服务器的网络访问地址存储在虚拟的树结构中的不同子树中。
[0090]本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0091]虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属【技术领域】内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【权利要求】
1.一种集群管理装置,其特征在于,包括: 接收及存储模块,用于接收并存储从管理的集群中的各业务服务器发来的各所述业务服务器各自的网络访问地址; 发送模块,用于向业务客户端发送所述接收及存储模块存储的至少一个网络访问地址。
2.根据权利要求1所述的集群管理装置,其特征在于,还包括:监听模块,用于监听所述各业务服务器的运行状态信息; 判断更新模块,用于基于所述运行状态信息判断所述接收及存储模块存储的网络访问地址所对应的业务服务器是否能够向业务客户端提供服务,根据判断结果来更新所存储的网络访问地址; 其中,所述发送模块向业务客户端发送的所述至少一个网络访问地址是被所述判断更新模块判断为能够为业务客户端提供服务的网络访问地址。
3.根据权利要求1所述的集群管理装置,其特征在于,所述发送模块进一步用于根据所述业务客户端的用于获取业务服务器的网络访问地址的请求或者主动向所述业务客户端发送所述存储的网络访问地址。
4.根据权利要求1至3中任一项所述的集群管理装置,其特征在于,所述集群管理装置进一步用于将所述接收及存储模块接收的网络访问地址以虚拟的树结构进行管理和存储。
5.根据权利要求4所述的集群管理装置,其特征在于,在所述集群管理装置管理了多个业务服务器集群时,进一步用于将不同业务服务器集群中的业务服务器的网络访问地址存储在所述虚拟的树结构中的不同子树中。`
6.根据权利要求1至3中任一项所述的集群管理装置,其特征在于,所述监听模块所监听的运行状态信息包括关于业务服务器自身性能和/或负载情况的信息。
7.一种集群中的业务客户端,其特征在于,包括: 第二发送模块,用于向所述集群中的集群管理装置发出用于获取业务服务器的网络访问地址的请求; 第二接收及存储模块,用于接收并存储所述集群管理装置根据所述请求或者主动发来的业务服务器的网络访问地址; 地址确定模块,用于将所存储的所述网络访问地址之一确定为目标网络访问地址; 连接建立模块,用于与所述目标网络访问地址对应的业务服务器建立连接。
8.根据权利要求7所述的业务客户端,其特征在于,还包括: 判断模块,用于在要访问所述集群管理装置所管理的集群时,判断所述业务客户端本地是否存储了所述业务服务器的至少一个网络访问地址,若判断为否,则运行第二发送模块,反之,则运行连接建立模块。
9.根据权利要求7所述的业务客户端,其特征在于,所述地址确定模块,进一步用于在与目标网络访问地址对应的业务服务器建立网络连接失败时,重新确定目标网络访问地址。
10.根据权利要求7至9中任一项所述的业务客户端,其特征在于,在所述业务客户端对所述集群管理装置所管理的业务服务器集群的各次访问中,采用轮询的方式或采用基于客户端属性确定的顺序将所存储的各个网络访问地址依次确定为所述目标网络访问地址。
11.根据权利要求7至9中任一项所述的业务客户端,其特征在于: 所述第二接收及存储模块还进一步用于从所述集群管理装置接收关于与网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息;以及 所述连接建立模块进一步基于与所述网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息来将所存储的网络访问地址之一确定为所述目标网络访问地址。
12.一种集群管理系统,其特征在于,包括根据权利要求7至11任一项所述的业务客户端、以及根据权利要求1至6任一项所述的集群管理装置及其所管理的集群中的各业务服务器。
13.一种集群管理方法,其特征在于,包括: 集群管理装置接收并存储从管理的集群中的各业务服务器发来的各所述业务服务器各自的网络访问地址; 业务客户端向所述集群管理装置发出用于获取业务服务器的网络访问地址的请求;所述集群管理装置根据所述获取业务服务器的网络访问地址的请求向所述业务客户端发送其自身存储的至少一个网络访问地址; 所述业务客户端接收并存储所述集群管理装置发来的业务服务器的网络访问地址,将其自身存储的网络访问地址之一确定为目标网络访问地址,与所述目标网络访问地址对应的业务服务器建立连接。
14.根据权利要求13所述的方法,其特征在于,还包括: 所述集群管理装置监听各业务服务器的运行状态信息,基于所述运行状态信息判断存储的网络访问地址所对应的业务服务器是否能够向业务客户端提供服务并根据判断结果来更新所存储的网络访问地址; 所述集群管理装置在更新所存储的网络访问地址后,向业务客户端发送被判断为能够为业务客户端提供服务的网络访问地址。
15.根据权利要求13所述的方法,其特征在于: 所述运行状态信息还包括关于与网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息;以及 所述业务客户端基于与所述网络访问地址列表对应的业务服务器自身性能和/或负载情况有关的信息来将所存储的网络访问地址之一确定为所述目标网络访问地址。
16.根据权利要求13所述的方法,其特征在于,所述集群管理装置将接收的网络访问地址以虚拟的树结构进行管理和存储,在所述集群管理装置管理了多个业务服务器集群时,将不同业务服务器集群中的业务服务器的网络访问地址存储在所述虚拟的树结构中的不同子树中。
17.一种集群管理装置的集群管理方法,其特征在于,包括: 接收并存储从由所述集群管理装置管理的集群中的各业务服务器发来的各所述业务服务器各自的网络访问地址; 向业务客户端发送所存储的至少一个网络访问地址。
18.根据权利要求17所述的方法,其特征在于,还包括: 监听所述各业务服务器的运行状态信息;基于所述运行状态信息判断所存储的网络访问地址所对应的业务服务器是否能够向业务客户端提供服务并根据判断结果来更新所存储的网络访问地址; 其中,所述向业务客户端发送所存储的至少一个网络访问地址的步骤具体包括:向业务客户端发送被判断为能够为业务客户端提供服务的网络访问地址。
19.一种集群中的业务客户端的访问方法,其特征在于,包括: 向所述集群中的集群管理装置发出用于获取业务服务器的网络访问地址的请求; 接收并存储所述集群管理装置发来的业务服务器的网络访问地址; 将所存储的所述网络访问地址之一确定为目标网络访问地址; 根据所述目标网络访问地址 与所述目标网络访问地址对应的业务服务器建立连接。
【文档编号】H04L12/24GK103581276SQ201210281817
【公开日】2014年2月12日 申请日期:2012年8月9日 优先权日:2012年8月9日
【发明者】罗峰, 黄苏支, 李娜 申请人:北京亿赞普网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1