CN112003898A - 多节点集群的负载均衡方法及系统 - Google Patents
多节点集群的负载均衡方法及系统 Download PDFInfo
- Publication number
- CN112003898A CN112003898A CN202010730242.1A CN202010730242A CN112003898A CN 112003898 A CN112003898 A CN 112003898A CN 202010730242 A CN202010730242 A CN 202010730242A CN 112003898 A CN112003898 A CN 112003898A
- Authority
- CN
- China
- Prior art keywords
- task
- node
- service
- computing
- load balancing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种多节点集群的负载均衡方法及系统,多节点包括任务分发服务管道节点、多个计算服务节点和多个任务接收节点,方法包括以下步骤:任务分发服务管道节点接收来自任务接收节点的计算任务请求,并缓存任务接收节点发送的任务;计算服务节点根据自身节点状态确定领取任务;任务分发服务管道节点接收计算服务节点的领取任务请求,确定有未分发的任务,将任务分派到计算服务节点;计算服务节点领取任务后处理任务,同时根据自身节点状态和能力确定领取任务。本发明取消现有负载均衡软件系统中的复杂度高的调度节点,转而通过增加任务分发服务管道节点和计算节点的任务领取服务来实现多节点集群负载均衡。
Description
技术领域
本发明涉及负载均衡方法,具体涉及一种多节点集群的负载均衡方法及系统。
背景技术
软件系统必须面对各行业领域的事务处理和计算要求不断增长的情况,多节点集群分担负载的要求一直是软件系统需要解决的重要且复杂的问题。
现有软件系统多节点集群负载均衡一般采用统一调度负载分配技术,系统会定义一个或多个调度节点,调度节点收集所有计算服务节点的运行状态和负载情况,按照预定的调度策略实时进行计算分析,然后向各计算节点分配计算任务。如下图,调度节点与计算服务节点通信,实时收集各计算服务节点的运行状态和负载情况,根据调度策略,将任务接收节点的任务处理请求交给相对空闲的计算服务节点进行处理。
现有软件系统的负载均衡方法包括以下缺点:
(1)需要收集各计算服务节点的运行状态和负载情况并同步到调度节点,这需要消耗各种节点的计算资源和系统网络资源,且信息获取有滞后性,不利于准确分配负载,存在负载分配不均衡问题;
(2)需要设计复杂的负载分配算法,导致系统设计成本高;
(3)调度节点作为系统负载调配的关键节点,需要冗余机制,即设计主备调度双节点甚至3个节点,这增加了系统的复杂性,相应的带来效率的下降。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提供一种多节点集群的负载均衡方法,能够通过取消现有负载均衡软件系统中的复杂度高的调度节点,转而通过增加任务分发服务管道节点和计算节点的任务领取服务来实现多节点集群负载均衡。
本发明还提出一种多节点集群的负载均衡系统。
根据本发明的第一方面实施例的多节点集群的负载均衡方法,所述多节点包括任务分发服务管道节点、多个计算服务节点和多个任务接收节点,所述方法包括以下步骤:所述任务分发服务管道节点接收来自所述任务接收节点的计算任务请求,并缓存所述任务接收节点发送的任务;所述计算服务节点根据自身节点状态确定领取任务;所述任务分发服务管道节点接收所述计算服务节点的领取任务请求,确定有未分发的任务,将任务分派到所述计算服务节点;所述计算服务节点领取任务后处理任务,同时根据自身节点状态和能力确定领取任务。
根据本发明实施例的多节点集群的负载均衡方法,至少具有如下有益效果:
(1)各计算服务节点按照统一领取策略自主领取计算任务,任务分配更加简单实时准确。避免现有技术中调度节点要不停的收集各计算服务节点的运行状态和负载情况,需要占用网络资源且负载分配不及时不准确的问题;
(2)取消了复杂度高的负载调度分配方式,系统复杂度降低,设计成本下降。任务分发服务管道节点,作为任务缓存传送的管道,功能单一,技术实现简单,而调度节点需要复杂度高的负载调度分配方式;
(3)软件系统的可用性得到明显提高。计算服务节点自主领取任务,任务分发服务管道节点缓存传送任务,各节点互不干涉,自主工作,使得整个软件系统的运行必然稳定可靠。
根据本发明的一些实施例,所述方法还包括:所述计算服务节点处理任务完成后,发送已完成任务消息至所述任务分发服务管道节点;所述任务分发服务管道节点确认已完成任务,清理缓存的所述任务。
根据本发明的一些实施例,所述方法还包括:所述计算服务节点处理任务失败,发送处理任务失败消息至所述任务分发服务管道节点;所述任务分发服务管道节点将所述任务重新分派到其他计算服务节点。
根据本发明的一些实施例,所述计算服务节点根据自身节点状态确定领取任务包括:所述计算服务节点设置有领取任务服务,所述领取任务服务监视所属计算服务节点的运行状态和计算能力,根据所述运行状态和计算能力确定发送领取任务请求。
根据本发明的一些实施例,所述方法还包括:所述领取任务服务根据自身节点的运行状态发送处理任务失败消息至所述任务分发服务管道节点。
根据本发明的一些实施例,所述方法还包括:所述任务分发服务管道节点接收所述计算服务节点的领取任务请求,确定没有未分发的任务,返回领取任务失败至所述计算服务节点。
根据本发明的一些实施例,所述方法还包括:所述方法还包括:所述计算服务节点接收领取任务失败结果,定期监视所属计算节点的运行状态和计算能力,根据所述运行状态和计算能力确定发送领取任务请求。
根据本发明的第二方面实施例的多节点集群的负载均衡系统,包括:计算服务节点,用于根据自身节点状态确定领取任务,发送领取任务请求,以及在处理任务的同时根据自身节点状态和计算能力确定发送领取任务请求;任务接收节点,用于发送计算任务请求和任务;任务分发服务管道节点,用于接收来自所述任务接收节点的计算任务请求并缓存所述任务,以及接收所述领取任务请求,将未分发的任务分派到所述计算服务节点所属的计算节点。
根据本发明实施例的多节点集群的负载均衡系统,至少具有如下有益效果:
(1)各计算服务节点按照统一领取策略自主领取计算任务,任务分配更加简单实时准确。避免现有技术中调度节点要不停的收集各计算服务节点的运行状态和负载情况,需要占用网络资源且负载分配不及时不准确的问题;
(2)取消了复杂度高的负载调度分配方式,系统复杂度降低,设计成本下降。任务分发服务管道节点,作为任务缓存传送的管道,功能单一,技术实现简单,而调度节点需要复杂度高的负载调度分配方式;
(3)软件系统的可用性得到明显提高。计算服务节点自主领取任务,任务分发服务管道节点缓存传送任务,各节点互不干涉,自主工作,使得整个软件系统的运行必然稳定可靠。
根据本发明的一些实施例,所述计算服务节点设置有领取任务服务,所述领取任务服务监视所属计算服务节点的运行状态和计算能力,根据所述运行状态和计算能力确定发送领取任务请求。
根据本发明的一些实施例,所述领取任务服务根据自身节点的运行状态发送处理任务失败消息至所述任务分发服务管道节点。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为根据本发明的负载均衡系统的示意图。
图2为现有技术的负载均衡系统的示意图。
图3为根据本发明的负载均衡方法的总体流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
参照图2,现有软件系统多节点集群负载均衡一般采用统一调度负载分配技术,系统会定义一个或多个调度节点,调度节点收集所有计算服务节点的运行状态和负载情况,按照预定的调度策略实时进行计算分析,然后向各计算节点分配计算任务。如图2所示,调度节点与计算服务节点通信,实时收集各计算服务节点的运行状态和负载情况,根据调度策略,将任务接收节点的任务处理请求交给相对空闲的计算服务节点进行处理。
由于现有技术需要收集各计算服务节点的运行状态和负载情况并同步到调度节点,这需要消耗各种节点的计算资源和系统网络资源,且信息获取有滞后性,不利于准确分配负载,存在负载分配不均衡问题;且需要设计复杂的负载分配算法,导致系统设计成本高。而且,调度节点作为系统负载调配的关键节点,需要冗余机制,即设计主备调度双节点甚至3个节点,这增加了系统的复杂性,相应的带来效率的下降。
本发明的目的在于解决集群各节点负载分配不均衡的问题,提出简单的负载分派方法,从而降低系统设计成本。本发明通过取消调度节点,降低系统复杂性,提高系统运行效率。
参照图1和图3,本发明在软件系统中设计任务分发服务管道节点,对下,负责接受来自任务接收节点的计算任务请求,对上,负责接收来自计算服务节点的领取任务请求。具体实现方法参照图3。任务分发服务管道节点接收来自任务接收节点的计算任务请求,并缓存任务接收节点发送的任务;计算服务节点根据自身节点状态确定领取任务;任务分发服务管道节点接收计算服务节点的领取任务请求,确定有未分发的任务,将任务分派到计算服务节点;计算服务节点领取任务后处理任务,同时根据自身节点状态和能力确定领取任务。
在一些实施例中,计算服务节点处理任务完成后,发送已完成任务消息至任务分发服务管道节点;任务分发服务管道节点确认已完成任务,清理缓存的任务。
在一些实施例中,计算服务节点处理任务失败,发送处理任务失败消息至任务分发服务管道节点;任务分发服务管道节点将任务重新分派到其他计算服务节点。
在一些实施例中,在计算服务节点增加领取任务服务,按照统一的节点领取任务策略,监视所属计算节点的运行状态和计算能力,并从任务分发服务管道主动认领计算任务。
在一些实施例中,领取任务服务根据自身节点的运行状态发送处理任务失败消息至任务分发服务管道节点。
在一些实施例中,计算服务节点接收领取任务失败结果,定期监视所属计算节点的运行状态和计算能力,根据自身节点的运行状态和计算能力确定发送领取任务请求。
应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的安卓计算平台中实现。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还可以包括计算机本身。
计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (10)
1.一种多节点集群的负载均衡方法,其特征在于,所述多节点包括任务分发服务管道节点、多个计算服务节点和多个任务接收节点,所述方法包括以下步骤:
所述任务分发服务管道节点接收来自所述任务接收节点的计算任务请求,并缓存所述任务接收节点发送的任务;
所述计算服务节点根据自身节点状态确定领取任务;
所述任务分发服务管道节点接收所述计算服务节点的领取任务请求,确定有未分发的任务,将任务分派到所述计算服务节点;
所述计算服务节点领取任务后处理任务,同时根据自身节点状态和能力确定领取任务。
2.根据权利要求1所述的多节点集群的负载均衡方法,其特征在于,所述方法还包括:
所述计算服务节点处理任务完成后,发送已完成任务消息至所述任务分发服务管道节点;
所述任务分发服务管道节点确认已完成任务,清理缓存的所述任务。
3.根据权利要求1所述的多节点集群的负载均衡方法,其特征在于,所述方法还包括:
所述计算服务节点处理任务失败,发送处理任务失败消息至所述任务分发服务管道节点;
所述任务分发服务管道节点将所述任务重新分派到其他计算服务节点。
4.根据权利要求1所述的多节点集群的负载均衡方法,其特征在于,所述计算服务节点根据自身节点状态确定领取任务包括:
所述计算服务节点设置有领取任务服务,所述领取任务服务监视所属计算服务节点的运行状态和计算能力,根据所述运行状态和计算能力确定发送领取任务请求。
5.根据权利要求4所述的多节点集群的负载均衡方法,其特征在于,所述领取任务服务根据自身节点的运行状态发送处理任务失败消息至所述任务分发服务管道节点。
6.根据权利要求1所述的多节点集群的负载均衡方法,其特征在于,所述方法还包括:
所述任务分发服务管道节点接收所述计算服务节点的领取任务请求,确定没有未分发的任务,返回领取任务失败至所述计算服务节点。
7.根据权利要求6所述的多节点集群的负载均衡方法,其特征在于,所述方法还包括:
所述计算服务节点接收领取任务失败结果,定期监视所属计算节点的运行状态和计算能力,根据所述运行状态和计算能力确定发送领取任务请求。
8.一种多节点集群的负载均衡系统,其特征在于,包括:
计算服务节点,用于根据自身节点状态确定领取任务,发送领取任务请求,以及在处理任务的同时根据自身节点状态和计算能力确定发送领取任务请求;
任务接收节点,用于发送计算任务请求和任务;
任务分发服务管道节点,用于接收来自所述任务接收节点的计算任务请求并缓存所述任务,以及接收所述领取任务请求,将未分发的任务分派到所述计算服务节点所属的计算节点。
9.根据权利要求8所述的负载均衡系统,其特征在于,所述计算服务节点设置有领取任务服务,所述领取任务服务监视所属计算服务节点的运行状态和计算能力,根据所述运行状态和计算能力确定发送领取任务请求。
10.根据权利要求9所述的负载均衡系统,其特征在于,所述领取任务服务根据自身节点的运行状态发送处理任务失败消息至所述任务分发服务管道节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010730242.1A CN112003898A (zh) | 2020-07-27 | 2020-07-27 | 多节点集群的负载均衡方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010730242.1A CN112003898A (zh) | 2020-07-27 | 2020-07-27 | 多节点集群的负载均衡方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112003898A true CN112003898A (zh) | 2020-11-27 |
Family
ID=73467768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010730242.1A Pending CN112003898A (zh) | 2020-07-27 | 2020-07-27 | 多节点集群的负载均衡方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112003898A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860413A (zh) * | 2021-03-29 | 2021-05-28 | 中信银行股份有限公司 | 一种集中式作业调度系统、装置、电子设备及计算机可读存储介质 |
CN114090394A (zh) * | 2022-01-19 | 2022-02-25 | 山东卓朗检测股份有限公司 | 分布式服务器集群负载异常分析方法 |
CN115145707A (zh) * | 2022-07-14 | 2022-10-04 | 中国电子技术标准化研究院 | 一种高性能及负载均衡的文档格式转换方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN104331326A (zh) * | 2014-11-25 | 2015-02-04 | 华南师范大学 | 一种云计算调度方法和系统 |
CN105141541A (zh) * | 2015-09-23 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种基于任务的动态负载均衡调度方法及装置 |
CN108197778A (zh) * | 2017-12-15 | 2018-06-22 | 远光软件股份有限公司 | 一种任务分配方法及装置 |
CN108228349A (zh) * | 2017-12-26 | 2018-06-29 | 北京市商汤科技开发有限公司 | 用于处理任务的方法、系统和存储介质 |
-
2020
- 2020-07-27 CN CN202010730242.1A patent/CN112003898A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN104331326A (zh) * | 2014-11-25 | 2015-02-04 | 华南师范大学 | 一种云计算调度方法和系统 |
CN105141541A (zh) * | 2015-09-23 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 一种基于任务的动态负载均衡调度方法及装置 |
CN108197778A (zh) * | 2017-12-15 | 2018-06-22 | 远光软件股份有限公司 | 一种任务分配方法及装置 |
CN108228349A (zh) * | 2017-12-26 | 2018-06-29 | 北京市商汤科技开发有限公司 | 用于处理任务的方法、系统和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860413A (zh) * | 2021-03-29 | 2021-05-28 | 中信银行股份有限公司 | 一种集中式作业调度系统、装置、电子设备及计算机可读存储介质 |
CN114090394A (zh) * | 2022-01-19 | 2022-02-25 | 山东卓朗检测股份有限公司 | 分布式服务器集群负载异常分析方法 |
CN115145707A (zh) * | 2022-07-14 | 2022-10-04 | 中国电子技术标准化研究院 | 一种高性能及负载均衡的文档格式转换方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112003898A (zh) | 多节点集群的负载均衡方法及系统 | |
US8949847B2 (en) | Apparatus and method for managing resources in cluster computing environment | |
CN103201724B (zh) | 在高可用性虚拟机环境中提供高可用性应用程序 | |
CN109120715A (zh) | 一种云环境下动态负载均衡方法 | |
KR101388802B1 (ko) | 레시피-앤-컴포넌트 제어 모듈 및 그 방법 | |
CN100465900C (zh) | 信息系统、负载控制方法、负载控制程序和记录媒体 | |
CN102508718A (zh) | 一种虚拟机负载均衡方法和装置 | |
JP2018513463A (ja) | プロセッサ/コプロセッサ構成に対するデータのオフローディング及びオンローディングのための技術 | |
CN100570566C (zh) | 一种异构多核间协调调度的方法及异构多核系统 | |
CN107046508A (zh) | 报文接收方法及网络设备 | |
CN102110025A (zh) | 避免无效核跳跃和提供硬件辅助的低功率状态选择的机构 | |
Qian et al. | Jade: Reducing energy consumption of android app | |
CN104537013B (zh) | 一种处理数据的方法和装置 | |
CN109918170A (zh) | 一种云数据中心虚拟机动态资源配置方法及系统 | |
JP5245852B2 (ja) | サーバ処理分散装置、サーバ処理分散方法及びサーバ処理分散プログラム | |
CN109005223A (zh) | 物联网资源调度方法及系统、计算机可读存储介质和终端 | |
CN110515938A (zh) | 基于kafka消息总线的数据汇聚存储方法、设备和存储介质 | |
CN101341471B (zh) | 动态高速缓存管理的设备和方法 | |
CN111324460A (zh) | 一种基于云计算平台的电力监测控制系统及方法 | |
CN103186536A (zh) | 一种调度数据共享装置的方法及系统 | |
US20110055831A1 (en) | Program execution with improved power efficiency | |
US9086910B2 (en) | Load control device | |
CN105340246A (zh) | 一种管理系统资源的方法、装置及设备 | |
CN107015843A (zh) | 通用计算机实时处理外部事件的方法和一种虚拟时统设备 | |
US11271839B2 (en) | Dynamic asynchronous communication management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201127 |
|
RJ01 | Rejection of invention patent application after publication |