设备集中管理架构、负载均衡方法、电子设备及存储介质转让专利

申请号 : CN202011642943.6

文献号 : CN112671928B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨玉良

申请人 : 北京天融信网络安全技术有限公司北京天融信科技有限公司北京天融信软件有限公司

摘要 :

本申请涉及一种设备集中管理架构、负载均衡方法、电子设备及存储介质,属于分布式架构技术领域。设备集中管理架构包括:服务器集群和负载均衡器,所述服务器集群中的每个节点均用于对接收到的来自设备的业务数据进行预处理;所述负载均衡器用于实现所述服务器集群中每个节点连接的设备的负载均衡,其中一个设备通过所述负载均衡器仅与所述服务器集群中的一个节点连接。通过建立分布式设备集中管理拓扑结构,来解决设备管理场景中网络拓扑比较复杂的问题;通过引入负载均衡器来实现服务器集群中每个节点连接的设备的负载均衡,以解决设备通讯性能瓶颈,避免当设备上报业务剧增时,业务会因为突发的超负荷请求而导致卡顿,甚至崩溃的问题。

权利要求 :

1.一种设备集中管理架构,其特征在于,包括:

服务器集群,所述服务器集群中的每个节点均用于对接收到的来自设备的业务数据进行预处理;

负载均衡器,所述负载均衡器用于实现所述服务器集群中每个节点连接的设备的负载均衡,其中一个设备通过所述负载均衡器仅与所述服务器集群中的一个节点连接;

所述服务器集群包括:

MQ集群,所述MQ集群中的每个MQ节点均用于对接收到的来自设备的业务数据进行存储;

业务处理集群,所述业务处理集群与MQ集群连接,所述业务处理集群中的每一个处理节点均用于对获取到的业务数据进行预处理,并将预处理结果发送至目标设备进行存储;

相应地,所述负载均衡器,用于实现所述MQ集群中每个MQ节点连接的设备的负载均衡。

2.根据权利要求1所述的设备集中管理架构,其特征在于,所述负载均衡器,用于在接收到一个设备发送的消息请求时,获取所述消息请求的类型,在所述类型表征所述消息请求为连接请求类型时,根据负载均衡策略从所述服务器集群中确定出用于与当前设备建立连接的目标节点,并将所述消息请求发送至所述目标节点,以建立所述目标节点与所述当前设备的会话连接。

3.根据权利要求2所述的设备集中管理架构,其特征在于,所述负载均衡器,还用于在所述类型表征所述消息请求为数据传输请求类型时,将所述消息请求中的业务数据发送至与所述当前设备建立连接的节点。

4.根据权利要求1所述的设备集中管理架构,其特征在于,所述MQ集群包括多个MQ镜像组,每一个MQ镜像组包括多个MQ节点,每一个MQ镜像组中的多个MQ节点互为镜像节点,使得同一个业务数据会在该业务数据对应的MQ镜像组中的不同MQ节点上进行存储。

5.根据权利要求1所述的设备集中管理架构,其特征在于,所述服务器集群还包括:数据库集群,所述数据库集群与所述业务处理集群连接,所述数据库集群,用于存储所述处理节点对业务数据进行预处理后得到的预处理结果。

6.根据权利要求5所述的设备集中管理架构,其特征在于,数据库集群包括多个存储节点组,每一个存储节点组包括多个相互连接的存储节点,针对每一个存储节点组,该存储节点组包括主存储节点,该主存储节点与所述业务处理集群中的至少一个处理节点连接;

该主存储节点,用于在对数据进行存储时,会按照待存储数据的业务类型对应的预设存储方式进行存储。

7.一种负载均衡方法,其特征在于,应用于负载均衡器,所述负载均衡器与服务器集群中每个节点均连接,所述负载均衡器用于实现所述服务器集群中每个节点连接的设备的负载均衡,所述服务器集群包括:MQ集群和业务处理集群;所述MQ集群中的每个MQ节点均用于对接收到的来自设备的业务数据进行存储;所述业务处理集群与MQ集群连接,所述业务处理集群中的每一个处理节点均用于对获取到的业务数据进行预处理,并将预处理结果发送至目标设备进行存储;相应地,所述负载均衡器,用于实现所述MQ集群中每个MQ节点连接的设备的负载均衡,一个设备通过所述负载均衡器仅与所述MQ集群中的一个MQ节点连接;所述方法包括:在接收到当前设备发送的消息请求时,获取所述消息请求的类型;

在所述类型表征所述消息请求为连接请求类型时,根据负载均衡策略从所述服务器集群中确定与所述当前设备建立连接的目标节点,并将所述消息请求发送至所述目标节点,以建立所述目标节点与所述当前设备的会话连接。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

在所述类型表征所述消息请求为数据传输请求类型时,将所述消息请求中的业务数据发送至与所述当前设备建立连接的节点。

9.一种电子设备,其特征在于,包括:

存储器和处理器,所述处理器与所述存储器连接;

所述存储器,用于存储程序;

所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求7‑8中任一项所述的方法。

10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求7‑8中任一项所述的方法。

说明书 :

设备集中管理架构、负载均衡方法、电子设备及存储介质

技术领域

[0001] 本申请属于分布式架构技术领域,具体涉及一种设备集中管理架构、负载均衡方法、电子设备及存储介质。

背景技术

[0002] 分布式设备管理系统是一个基于web界面提供分布式系统监视及网络监视功能的系统。在该系统中,拓扑节点可以分为管理节点(Manager)和设备节点(Device)两类,管理节点能监视设备节点各种网络参数。监控数据的获取,一般分为管理节点主动拉取和设备节点主动推送两种方式。图1为一种典型的分布式设备管理系统的架构示意图。该分布式管理系统存在如下缺陷:
[0003] 拓扑结构复杂,随着设备数量的增加,服务器端对数据存储和数据计算压力逐渐变大,需要通过增加代理的方式来进行扩容,这会增加拓扑结构和业务管理的复杂性。
[0004] 设备通讯性能瓶颈,数据通讯过程中,包含多次开启和关闭会话连接。当设备数量很大时,系统IO(输入输出)会产生明显的抖动;当设备上报业务剧增时,业务会因为突发的超负荷请求而导致卡顿,甚至崩溃。

发明内容

[0005] 鉴于此,本申请的目的在于提供一种设备集中管理架构、负载均衡方法、电子设备及存储介质,以改善现有分布式管理系统的拓扑结构复杂,设备通信性能不稳定的问题。
[0006] 本申请的实施例是这样实现的:
[0007] 第一方面,本申请实施例提供了一种设备集中管理架构,包括:服务器集群和负载均衡器;所述服务器集群中的每个节点均用于对接收到的来自设备的业务数据进行预处理;所述负载均衡器用于实现所述服务器集群中每个节点连接的设备的负载均衡,其中一个设备通过所述负载均衡器仅与所述服务器集群中的一个节点连接。在本申请实施例中,通过引入服务器集群,通过水平扩展分布式设备集中管理架构中的拓扑结构,来解决设备管理场景中网络拓扑比较复杂的问题;通过引入负载均衡器来实现服务器集群中每个节点连接的设备的负载均衡,以解决设备通讯性能瓶颈,避免当设备上报业务剧增时,业务会因为突发的超负荷请求而导致卡顿,甚至崩溃的问题。
[0008] 结合第一方面实施例的一种可能的实施方式,所述负载均衡器,用于在接收到一个设备发送的消息请求时,获取所述消息请求的类型,在所述类型表征所述消息请求为连接请求类型时,根据负载均衡策略从所述服务器集群中确定出用于与当前设备建立连接的目标节点,并将所述消息请求发送至所述目标节点,以建立所述目标节点与所述当前设备的会话连接。本申请实施例中,通过负载均衡器从服务器集群中确定出用于与当前设备建立连接的目标节点,以此来均衡服务器集群中每个节点连接的设备数量,从而使得设备与服务器集群中的节点通过唯一的一个长连接进行通信,这样通讯过程不存在频繁断开连接和新建连接的场景,解决了业务造成的大量建立连接时的IO抖动。
[0009] 结合第一方面实施例的一种可能的实施方式,所述负载均衡器,还用于在所述类型表征所述消息请求为数据传输请求类型时,将所述消息请求中的业务数据发送至与所述当前设备建立连接的节点。本申请实施例中,当类型表征消息请求为数据传输请求类型时,直接将消息请求中的业务数据发送至与当前设备建立连接的节点,这样使得当一个设备与服务器集群中的节点建立连接后,后续便通过这个唯一的长连接进行通信,避免频繁断开连接和新建连接带来的连线压力。
[0010] 结合第一方面实施例的一种可能的实施方式,所述服务器集群包括:MQ集群,所述MQ集群中的每个MQ节点均用于对接收到的来自设备的业务数据进行存储;业务处理集群,所述业务处理集群与MQ集群连接,所述业务处理集群中的每一个处理节点均用于对获取到的业务数据进行预处理,并将预处理结果发送至目标设备进行存储;相应地,所述负载均衡器,用于实现所述MQ集群中每个MQ节点连接的设备的负载均衡。本申请实施例中,通过MQ集群中的MQ节点来对接收到的来自设备的业务数据进行存储,通过业务处理集群中的处理节点来对获取到的业务数据进行预处理,通过混合集群的方式来缓解业务压力,解决数据存储和数据计算的压力。
[0011] 结合第一方面实施例的一种可能的实施方式,所述MQ集群包括多个MQ镜像组,每一个MQ镜像组包括多个MQ节点,每一个MQ镜像组中的多个MQ节点互为镜像节点,使得同一个业务数据会在该业务数据对应的MQ镜像组中的不同MQ节点上进行存储。本申请实施例中,通过多个互为镜像节点的MQ节点来构成MQ镜像组,使得同一个业务数据会在该业务数据对应的MQ镜像组中的不同MQ节点上进行存储,来增强架构的高可用性能力,这样当某一台机器升级、重启或者宕机,不会对整体业务造成影响,未处理或者正在处理的数据不会丢失,保证业务的正确性和完整性。
[0012] 结合第一方面实施例的一种可能的实施方式,所述服务器集群还包括:数据库集群,所述数据库集群与所述业务处理集群连接,所述数据库集群,用于存储所述处理节点对业务数据进行预处理后得到的预处理结果。本申请实施例中,通过引入专门负责数据存储的数据库集群,来对处理节点对业务数据进行预处理后得到的预处理结果进行存储,以解决数据存储压力。
[0013] 结合第一方面实施例的一种可能的实施方式,数据库集群包括多个存储节点组,每一个存储节点组包括多个相互连接的存储节点,针对每一个存储节点组,该存储节点组包括主存储节点,该主存储节点与所述业务处理集群中的至少一个处理节点连接;该主存储节点,用于在对数据进行存储时,会按照待存储数据的业务类型对应的预设存储方式进行存储。本申请实施例中,通过多个相互连接的存储节点来构成存储节点组来对数据进行存储,且在对数据进行存储时,会按照待存储数据的业务类型对应的预设存储方式进行存储,以实现有针对性的动态存储。
[0014] 第二方面,本申请实施例还提供了一种负载均衡方法,应用于负载均衡器,所述负载均衡器与服务器集群中每个节点均连接,所述负载均衡器用于实现所述服务器集群中每个节点连接的设备的负载均衡,所述方法包括:在接收到当前设备发送的消息请求时,获取所述消息请求的类型;在所述类型表征所述消息请求为连接请求类型时,根据负载均衡策略从所述服务器集群中确定与所述当前设备建立连接的目标节点,并将所述消息请求发送至所述目标节点,以建立所述目标节点与所述当前设备的会话连接。
[0015] 结合第二方面实施例的一种可能的实施方式,所述方法还包括:在所述类型表征所述消息请求为数据传输请求类型时,将所述消息请求中的业务数据发送至与所述当前设备建立连接的节点。
[0016] 第三方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法。
[0017] 第四方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法。
[0018] 本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。

附图说明

[0019] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
[0020] 图1为现有的分布式设备管理系统的架构示意图。
[0021] 图2示出了本申请实施例提供的一种设备集中管理架构的示意图。
[0022] 图3示出了本申请实施例提供的又一种设备集中管理架构的示意图。
[0023] 图4示出了本申请实施例提供的又一种设备集中管理架构的示意图。
[0024] 图5示出了本申请实施例提供的一种负载均衡方法的流程示意图。
[0025] 图6示出了本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0026] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0027] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0028] 再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
[0029] 鉴于现有分布式设备管理系统存在的缺陷,本申请实施例提供了一种设备集中管理架构,通过建立分布式设备集中管理拓扑结构,来解决设备管理场景中网络拓扑比较复杂的问题,通过增加集群中的节点来缓解数据存储和数据计算的压力,通过引入负载均衡器来实现服务器集群中每个节点连接的设备的负载均衡,以解决设备通讯性能瓶颈,避免当设备上报业务剧增时,业务会因为突发的超负荷请求而导致卡顿,甚至崩溃的问题。下面将结合图2,对本申请实施例提供的设备集中管理架构进行说明。该设备集中管理架构包括:服务器集群以及负载均衡器(如Nginx)。
[0030] 其中,服务器集群包括多个节点,服务器集群中的每个节点均用于对接收到的来自设备的业务数据进行预处理,其中,不同的应用场景对应的业务数据不同,不同的业务数据对应的预处理方式也不同,其可以根据实际需求进行设置。负载均衡器用于实现服务器集群中每个节点连接的设备的负载均衡,以解决设备通讯性能瓶颈,避免当设备上报业务剧增时,业务会因为突发的超负荷请求而导致卡顿,甚至崩溃的问题。其中,一个设备通过所述负载均衡器仅与服务器集群中的一个节点连接,如建立传输控制协议(Transmission Control Protocol,TCP)长连接。每个设备中可以部署Agent代理,其作用是通过负载均衡器与服务器集群中的节点进行通讯。
[0031] 其中,负载均衡器,用于在接收到一个设备发送的消息请求时,获取该消息请求的类型,在该类型表征消息请求为连接请求类型时,则负载均衡器根据负载均衡策略从服务器集群中确定出用于与当前设备建立连接的目标节点(也即根据负载均衡策略确定当前设备与服务器集群中的哪一个设备建立连接),并将消息请求发送至目标节点,以建立目标节点与当前设备的会话连接,后续该设备便可基于这个会话连接向节点发送数据。在该类型表征消息请求为数据传输请求类型时,负载均衡器便将消息请求中的业务数据发送至与当前设备建立连接的节点。
[0032] 其中,设备与服务器集群中的节点通过唯一的一个TCP长连接进行通信。通讯过程不存在频繁断开连接和新建连接的场景,解决了业务造成的大量建立TCP连接时的IO抖动。当网络中断,导致设备全部断线时,设备会重新向负载均衡器发起连接请求,各设备重新建立连接的时间可以为30秒内的随机值,这样可以缓解在同一个时间点内建立大量TCP连接而造成的压力。通过优化设备和节点的TCP连接建立机制,解决了网络断开后,设备集体上线而造成的压力。
[0033] 一种实施方式下,该服务器集群可以是一个单一集群,如该服务器集群可以为Rabbit MQ集群,其中,MQ为Message Queue(消息队列)的简称。其中,当服务器集群中个节点的内存使用率长期超过阈值如70%时,则可以增加新的节点进行扩容。此外,还可以根据设备数量动态调整集群规模,解决管理架构性能瓶颈问题。通过集群规模的水平扩展调整系统的设备管理能力,不会增加拓扑的复杂性和业务的复杂性。
[0034] 一种实施方式下,该服务器集群可以为混合集群,即可以包括多个集群,例如,如图3所示,服务器集群包括:MQ集群和业务处理集群。MQ集群中的每个MQ节点均用于对接收到的来自设备的业务数据进行存储。业务处理集群与MQ集群连接,业务处理集群中的每一个处理节点均用于对获取到的业务数据进行预处理,并将预处理结果发送至目标设备进行存储,当然一种方式下,处理节点也可以对预处理结果进行存储,也即可以将预处理结果存储在本地,待本地资源不足时,将其转移至目标设备进行存储,以缓解本地存储的压力。在该种实施方式下,负载均衡器,用于实现MQ集群中每个MQ节点连接的设备的负载均衡,也即在接收到一个设备发送的消息请求时,获取该消息请求的类型,在该类型表征消息请求为连接请求类型时,则负载均衡器根据负载均衡策略从MQ集群中确定出用于与当前设备建立连接的目标节点,并将消息请求发送至目标节点,以建立目标节点与当前设备的会话连接,后续该设备便可基于这个会话连接向节点发送数据。
[0035] 其中,MQ集群包括多个MQ镜像组,每一个MQ镜像组包括多个MQ节点,每一个MQ镜像组中的多个MQ节点互为镜像节点,使得同一个业务数据会在该业务数据对应的MQ镜像组中的不同MQ节点上进行存储。例如,每一个MQ镜像组包括3个MQ节点,这三个MQ节点相互连接,互为镜像节点,其中任何一个节点接收到的业务数据都可以备份到该MQ镜像组中的其余两个MQ节点,使得同一份业务数据会在3个MQ节点上进行存储。通过冗余备份的方式,来增强管理架构的高可用性能力,这样当某一台机器升级、重启或者宕机,不会对整体业务造成影响,未处理或者正在处理的数据不会丢失,保证业务的正确性和完整性,相比双机机制,增强了系统的高可用能力。其中,当MQ镜像组中的MQ节点的内存使用率长期超过阈值如70%时,则可以增加新的MQ镜像组进行扩容。
[0036] 其中,业务处理集群中包括多个处理节点,每一个处理节点可以连接多个MQ节点,或者连接多组MQ节点。处理节点通过异步非阻塞方式以及消息确认机制(Acknowledgments,ACK)进行业务处理,确保业务能得到正确的处理。当处理节点的内存占用率长期超过阈值如70%时,通过处理节点,解决处理资源不足的情况。
[0037] 在设备管理场景中,设备数据需要存储几个月,甚至更长的时间,随着管理设备数量的增加,数据存储量会大幅度的增长,单个数据库在存储TB级别的数据时存在明显的瓶颈。同时设备类型不同,存储的数据结构也不同,结构化数据库无法支持业务的动态变化。基于此,一种实施方式下,服务器集群还包括:数据库集群,也即该种实施方式下,如图4所示,服务器集群包括MQ集群、业务处理集群和数据库集群。数据库集群与业务处理集群连接,数据库集群用于存储处理节点对业务数据进行预处理后得到的预处理结果。其中,数据库集群可以包括多个存储节点,一个存储节点可以连接多个处理节点。其中,该数据库集群可以是Mongo DB数据库集群。其中,当Mongo DB数据库集群中的存储节点的内存使用率长期超过阈值如70%时,需要增加新的存储节点。
[0038] 一种实施方式下,数据库集群包括多个存储节点组,每一个存储节点组包括多个相互连接的存储节点,针对每一个存储节点组,该存储节点组包括主存储节点,该主存储节点与业务处理集群中的至少一个处理节点连接;该主存储节点,用于在对数据进行存储时,会按照待存储数据的业务类型对应的预设存储方式进行存储。存储节点组通过副本集的方式来实现高可用性,例如,每一个存储节点组包括3个相互连接的存储节点,使得可以根据待存储数据的业务类型选择不同的存储方式进行存储,如选择分片还是不分片的方式进行存储。
[0039] 其中,在针对具体的业务数据进行存储时,可以统计设备业务的数据存储需求。针对不同的业务数据以及不同的数据量建立不同的存储方式,如表1所示。
[0040] 表1
[0041] 业务 Key值类型 响应时间 数据量 高可用方案设备监控 时间 秒级 100G 分片
系统参数 字符串 毫秒级 50M 不分片
用户管理 字符串 毫秒级 50M 不分片
设备策略 字符串 毫秒级 500M 分片
升级管理 时间 秒级 1G 分片
[0042] 例如,对于存储量小于100M的业务数据,使用基础的副本集方案,不对数据进行分片,如系统参数,用户管理等业务数据便符合此场景。对于存储量大于100M的业务数据,可以使用分片机制进行数据分片存储,如设备监控数据,升级管理数据,设备策略等业务符合此场景,采用数据分片方案。针对不同的业务类型,在进行分片时,可以选用不同的分片片键方案,例如,对于升级管理数据、设备监控数据的Key值可以为时间类型,可以根据时间进行排序,采用升序片键方案进行分片。对于设备策略等业务的Key值可以为字符串类型,采用哈希片键方案进行分片。对于分配策略根据业务需求还可以使用位置片键,组合片键等方案进行分片。其中,利用不同的Key值类型进行分片的方式已经为本领域技术人员所熟知,为了避免累赘,此处不再叙述。Mongo DB数据库集群解决TB级别的监控数据存储的问题,同时非结构化的数据库也解决了不同类型设备数据结构不一致的问题。同时使用副本集、数据分片等技术方法提高了设备数据存储的高可用性和性能。
[0043] 下面将结合图5,对本申请实施例提供的负载均衡方法进行说明。该负载均衡方法应用于负载均衡器。下面对该负载均衡方法包括的步骤进行说明。
[0044] 步骤S101:在接收到当前设备发送的消息请求时,获取所述消息请求的类型。
[0045] 该负载均衡器与服务器集群中每个节点均连接,负载均衡器用于实现服务器集群中每个节点连接的设备的负载均衡。当负载均衡器接收到当前设备发送的消息请求时,获取该消息请求的类型。其中,该类型可以是表征消息请求为连接请求的类型,也可以表征消息请求为数据传输请求的类型。
[0046] 步骤S102:在所述类型表征所述消息请求为连接请求类型时,根据负载均衡策略从所述服务器集群中确定与所述当前设备建立连接的目标节点,并将所述消息请求发送至所述目标节点,以建立所述目标节点与所述当前设备的会话连接。
[0047] 其中,在所述类型表征所述消息请求为数据传输请求类型时,所述方法还包括:将所述消息请求中的业务数据发送至与所述当前设备建立连接的节点。
[0048] 当网络中断,导致设备全部断线时,设备会重新向负载均衡器发起连接请求,负载均衡器控制各设备重新与节点建立连接的时间可以为30秒内的随机值,这样可以缓解在同一个时间点内建立大量TCP连接而造成的压力。
[0049] 其中,上述的服务器集群可以是一个单一集群,也可以为混合集群,即可以包括多个集群,如包括上述图3所示的MQ集群和业务处理集群。或者包括图4所示的MQ集群、业务处理集群以及数据库集群。当为混为集群时,负载均衡器,用于实现所述MQ集群中每个MQ节点连接的设备的负载均衡。
[0050] 本申请实施例所提供的负载均衡方法,其实现原理及产生的技术效果和前述设备集中管理架构实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述装置实施例中相应内容。
[0051] 如图6所示,图6示出了本申请实施例提供的一种用于电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。
[0052] 所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有执行上述负载均衡方法的软件功能模块。其中,该软件功能模块包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块时,例如,处理器240,用于在接收到当前设备发送的消息请求时,获取所述消息请求的类型;在所述类型表征所述消息请求为连接请求类型时,根据负载均衡策略从所述服务器集群中确定与所述当前设备建立连接的目标节点,并将所述消息请求发送至所述目标节点,以建立所述目标节点与所述当前设备的会话连接。
[0053] 其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read‑Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read‑Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read‑Only Memory,EEPROM)等。
[0054] 处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
[0055] 其中,上述的电子设备200,包括但不限于负载均衡器、计算机等。
[0056] 本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的负载均衡方法。
[0057] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0058] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0059] 另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0060] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0061] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。