CN111459651A - 一种负载均衡方法、装置、存储介质及调度系统 - Google Patents
一种负载均衡方法、装置、存储介质及调度系统 Download PDFInfo
- Publication number
- CN111459651A CN111459651A CN201910053932.5A CN201910053932A CN111459651A CN 111459651 A CN111459651 A CN 111459651A CN 201910053932 A CN201910053932 A CN 201910053932A CN 111459651 A CN111459651 A CN 111459651A
- Authority
- CN
- China
- Prior art keywords
- access
- access server
- highest priority
- load
- servers
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种负载均衡方法、装置、存储介质及调度系统,该方法包括:将所有接入服务器分配到最高级优先级区域中;在接收到负载的连接请求的情况下,将所述最高优先级区域中的接入服务器均衡分配给负载。本发明的方案,可以解决负载均衡耗费资源多的问题,达到耗费资源少的效果。
Description
技术领域
本发明属于服务器技术领域,具体涉及一种负载均衡方法、装置、存储介质及调度系统,尤其涉及一种实现服务器负载均衡的方法、装置、存储介质及调度系统。
背景技术
随着服务器系统的日益庞大、业务逻辑日益复杂,分布式系统架构需要具有高可用性、高容错性、高扩展性等性能。系统越来越复杂时,需要负载均衡等方法提高各个服务器的使用效率。
常见的负载均衡方法有很多,包括轮询法、随机法、加权轮询法、加权随机法、最小连接数法等。但这些负载均衡的方法都涉及到多次排序与计算,会消耗计算机CPU及内存资源。
发明内容
本发明的目的在于,针对上述缺陷,提供一种负载均衡方法、装置、存储介质及调度系统,以解决现有技术中负载均衡涉及多次排序与计算,会消耗计算机CPU及内存资源,存在耗费资源多的问题,达到耗费资源少的效果。
本发明提供一种负载均衡方法,包括:将所有接入服务器分配到最高级优先级区域中;在接收到负载的连接请求的情况下,将所述最高优先级区域中的接入服务器均衡分配给负载。
可选地,将所有接入服务器分配到最高级优先级区域中,包括:获取所有接入服务器的接入服务器信息;根据所述接入服务器信息,确定所连接负载的当前数量未超过最高级优先级区域中所能连接负载数量的第一设定阈值的所有接入服务器,并将该所有接入服务器分配到所述最高级优先级区域中。
可选地,其中,获取所有接入服务器的接入服务器信息,包括:自调度服务器与接入服务器之间的连接关系中获取所有接入服务器的接入服务器信息;和/或,所述接入服务器信息,包括:所有接入服务器的数量,以及每个接入服务器的网络地址、内存、CPU使用率、连接负载数量中的至少之一;和/或,在所述最高级优先级区域中,一个以上接入服务器按序排列或不按序排列。
可选地,将所述最高优先级区域中的接入服务器均衡分配给负载,包括:将所述最高级优先级区域中处于首位的接入服务器分配给所述负载后,确定该接入服务器所连接负载的当前数量是否超过所述最高级优先级区域中所能连接负载数量的第一设定阈值;若所述当前数量超过所述第一设定阈值,则将该接入服务器降级分配至次级优先级区域中;或者,若所述当前数量未超过所述第一设定阈值,则将该接入服务器在所述最高优先级区域中所处位置由首位移至末位,并将所述最高优先级区域中处于首位之后的接入服务器移至首位。
可选地,将所述最高优先级区域中的接入服务器均衡分配给负载,还包括:在所述最高级优先级区域中没有接入服务器能够分配给负载的情况下,将所述次级优先级区域中的接入服务器均衡分配给负载,以此类推;其中,最高级优先级区域中所能连接负载数量的第一设定阈值,小于次级优先级区域中所能连接负载数量的第二设定阈值。
可选地,还包括:在为所述负载分配到接入服务器的情况下,更新该接入服务器所连接负载的当前数量;和/或,在每个优先级区域的所有接入服务器中,确定至少有一个接入服务器能够增加的连接负载数量大于或等于1;和/或,在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,发起提示消息;和/或,若获取到新增接入服务器的新增信息,则将新增接入服务器分配至最高级优先级区域中。
与上述方法相匹配,本发明另一方面提供一种负载均衡装置,包括:分级单元,用于将所有接入服务器分配到最高级优先级区域中;分配单元,用于在接收到负载的连接请求的情况下,将所述最高优先级区域中的接入服务器均衡分配给负载。
可选地,所述分级单元将所有接入服务器分配到最高级优先级区域中,包括:获取所有接入服务器的接入服务器信息;根据所述接入服务器信息,确定所连接负载的当前数量未超过最高级优先级区域中所能连接负载数量的第一设定阈值的所有接入服务器,并将该所有接入服务器分配到所述最高级优先级区域中。
可选地,其中,所述分级单元获取所有接入服务器的接入服务器信息,包括:自调度服务器与接入服务器之间的连接关系中获取所有接入服务器的接入服务器信息;和/或,所述接入服务器信息,包括:所有接入服务器的数量,以及每个接入服务器的网络地址、内存、CPU使用率、连接负载数量中的至少之一;和/或,在所述最高级优先级区域中,一个以上接入服务器按序排列或不按序排列。
可选地,所述分配单元将所述最高优先级区域中的接入服务器均衡分配给负载,包括:将所述最高级优先级区域中处于首位的接入服务器分配给所述负载后,确定该接入服务器所连接负载的当前数量是否超过所述最高级优先级区域中所能连接负载数量的第一设定阈值;若所述当前数量超过所述第一设定阈值,则将该接入服务器降级分配至次级优先级区域中;或者,若所述当前数量未超过所述第一设定阈值,则将该接入服务器在所述最高优先级区域中所处位置由首位移至末位,并将所述最高优先级区域中处于首位之后的接入服务器移至首位。
可选地,所述分配单元将所述最高优先级区域中的接入服务器均衡分配给负载,还包括:在所述最高级优先级区域中没有接入服务器能够分配给负载的情况下,将所述次级优先级区域中的接入服务器均衡分配给负载,以此类推;其中,最高级优先级区域中所能连接负载数量的第一设定阈值,小于次级优先级区域中所能连接负载数量的第二设定阈值。
可选地,还包括:所述分配单元,还用于在为所述负载分配到接入服务器的情况下,更新该接入服务器所连接负载的当前数量;和/或,所述分配单元,还用于在每个优先级区域的所有接入服务器中,确定至少有一个接入服务器能够增加的连接负载数量大于或等于1;和/或,所述分配单元,还用于在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,发起提示消息;和/或,所述分级单元,还用于若获取到新增接入服务器的新增信息,则将新增接入服务器分配至最高级优先级区域中。
与上述装置相匹配,本发明再一方面提供一种调度系统,包括:以上所述的负载均衡装置。
与上述方法相匹配,本发明再一方面提供一种存储介质,包括:所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行以上所述的负载均衡方法。
与上述方法相匹配,本发明再一方面提供一种调度系统,包括:处理器,用于执行多条指令;存储器,用于存储多条指令;其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行以上所述的负载均衡方法。
本发明的方案,通过对负载均衡方法进行改进,可以减少排序与计算的次数,节约CPU及内存资源,减少资源耗费量。
进一步,本发明的方案,通过对负载均衡方法进行改进,可以减轻调度服务器的压力,提高调度服务器的性能。
进一步,本发明的方案,通过对负载均衡方法进行改进,无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减少排序与计算量。
进一步,本发明的方案,通过当对计算分配算法的精度要求不高时,可采用改进后的负载均衡方法,以减小计算机CPU和内存的压力。
进一步,本发明的方案,通过在精度要求不高的情况下,无需复杂的计算和排序算法即可有效实现服务器负载均衡,资源耗费量小。
由此,本发明的方案,通过将接入服务器分配到两个以上优先级队列中,首先给请求设备分配最优等级中的任意一个接入服务器,如果该接入服务器接入了大量设备而超过最优等级的阈值时,则变换到其他优先级中;解决现有技术中负载均衡涉及多次排序与计算,会消耗计算机CPU及内存资源,存在耗费资源多的问题,从而,克服现有技术中计算过程复杂、耗费资源多和处理效果差的缺陷,实现计算过程简单、耗费资料少和处理效果好的有益效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的负载均衡方法的一实施例的流程示意图;
图2为本发明的方法中将所有接入服务器分配到最高级优先级区域中的一实施例的流程示意图;
图3为本发明的方法中将所述最高优先级区域中的接入服务器均衡分配给负载的一实施例的流程示意图;
图4为本发明的负载均衡装置的一实施例的结构示意图;
图5为本发明的调度设备的一实施例的实现服务器负载均衡流程示意图。
结合附图,本发明实施例中附图标记如下:
102-分级单元;104-分配单元。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种负载均衡方法,如图1所示本发明的方法的一实施例的流程示意图。该负载均衡方法可以包括:步骤S110和步骤S120。
在步骤S110处,将所有接入服务器分配到最高级优先级区域中。
其中,在所述最高级优先级区域中,一个以上接入服务器按序排列或不按序排列。
例如:同一个优先级的接入服务器不需要进行内部排序,只要该优先级中存在接入服务器,那么就分配该优先级中的其中任意一个接入服务器,减少了同一个优先级内部的排序操作。无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减轻调度服务器的压力,提高调度服务器的性能。
由此,通过在每个区域中对一个以上接入服务器按序排列或不按序排列,可以满足多种接入需求,灵活性好、可靠性高。
可选地,可以结合图2所示本发明的方法中将所有接入服务器分配到最高级优先级区域中的一实施例流程示意图,进一步说明步骤S110中将所有接入服务器分配到最高级优先级区域中的具体过程,可以包括:步骤S210和步骤S220。
步骤S210,获取所有接入服务器的接入服务器信息。其中,所述接入服务器,可以包括:待接入负载的服务器。
其中,所述接入服务器信息,可以包括:所有接入服务器的数量,以及每个接入服务器的网络地址、内存、CPU使用率、连接负载数量中的至少之一。
例如:获取的接入服务器信息包括但不限于:接入服务器的网络地址、内存及CPU使用率、设备连接数,等等。
例如:获取接入服务器的信息,包括接入服务器的连接设备数量等等。
由此,通过多种形式的接入服务器信息,有利于提升分级和分配的精准性和可靠性。
更可选地,步骤S210中获取所有接入服务器的接入服务器信息,可以包括:自调度服务器与接入服务器之间的连接关系中获取所有接入服务器的接入服务器信息。
例如:调度服务器与接入服务器通过某种方式维持连接,调度服务器可以通过该连接获取接入服务器的信息。
由此,通过自调度服务器与接入服务器之间的连接关系中获取接入服务器信息,获取方式简便,且获取结果精准且可靠。
步骤S220,根据所述接入服务器信息,确定所连接负载的当前数量未超过最高级优先级区域中所能连接负载数量的第一设定阈值的所有接入服务器,并将该所有接入服务器分配到所述最高级优先级区域中。
例如:通过获取到的接入服务器信息,将所有接入服务器按照一定的优先规则排序,并分为三个优先级。
由此,通过获取所有接入服务器的接入服务器信息,进而根据该信息将所有接入服务器按优先级等级排序,并根据排序结果将所有接入服务器分配到最高级优先级区域中,分级方式精准且可靠。
在步骤S120处,在接收到负载的连接请求的情况下,将所述最高优先级区域中的接入服务器均衡分配给负载。
例如:按设定的优先级等级,将所有接入服务器分配到第一至第N区域中,N为大于或等于2的自然数。在接收到负载的连接请求的情况下,按所述第一至第N区域的优先级等级顺序为所述负载分配接入服务器。
例如:对负载均衡方法进行改进,提供了一种实现服务器负载均衡的方法,该方法解决了其他负载均衡方法计算量较大、性能较差等问题;通过本方法可以减少排序与计算的次数,节约CPU及内存资源。而且,无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减轻调度服务器的压力,提高调度服务器的性能。在实际应用中,当对计算分配算法的精度要求不高时,可采用改进后的负载均衡方法,以减小计算机CPU和内存的压力。可见,在精度要求不高的情况下,无需复杂的计算和排序算法即可有效实现服务器负载均衡。
由此,通过将所有接入服务器分配到最高级优先级区域中,进而按两个以上优先级区域的优先级等级为负载分配接入服务器,可以避免重复计算和排序,减少资源耗费,提升处理效率。
可选地,可以结合图3所示本发明的方法中将所述最高优先级区域中的接入服务器均衡分配给负载的一实施例流程示意图,进一步说明步骤S120中将所述最高优先级区域中的接入服务器均衡分配给负载的具体过程,可以包括:步骤S310和步骤S320。
步骤S310,将所述最高级优先级区域中处于首位的接入服务器分配给所述负载后,确定该接入服务器所连接负载的当前数量是否超过所述最高级优先级区域中所能连接负载数量的第一设定阈值。
步骤S320,若所述当前数量超过所述第一设定阈值,则将该接入服务器降级分配至次级优先级区域中;或者,若所述当前数量未超过所述第一设定阈值,则将该接入服务器在所述最高优先级区域中所处位置由首位移至末位,并将所述最高优先级区域中处于首位之后的接入服务器移至首位。
由此,通过优先给负载分配优先级等级最高的优先级区域中的接入服务器,负荷较小,运行效率较高。
进一步可选地,步骤S120中将所述最高优先级区域中的接入服务器均衡分配给负载,还可以包括:在所述最高级优先级区域中没有接入服务器能够分配给负载的情况下,将所述次级优先级区域中的接入服务器均衡分配给负载,以此类推。其中,最高级优先级区域中所能连接负载数量的第一设定阈值,小于次级优先级区域中所能连接负载数量的第二设定阈值。
例如:将传统的最小连接数方法进行改进,将接入服务器均分到两个及两个以上的优先级中,首先给请求设备分配最优等级中的任意一个接入服务器,如果该接入服务器接入了大量设备超过最优等级的阈值时,将该服务器降级为次一等级;从而,减少计算机CPU及内存的占用率。
例如:可以选择出所有接入服务器分配到两个以上优先级中的最高优先级中,并计算每个优先级的阈值,当接入服务器的连接数量超过该阈值,则变换到其他优先级中。如:每台接入服务器的最大接入量为N,假定最高优先级的阈值为0.6N,第二优先级阈值为0.8N,第三优先级为1N(即最低优先级下允许满负荷工作)。每一级中接入服务器不再区分优先级,并依次放在队列中,调度在分配的时候,从队首取接入服务器并判断接入量是否超过阈值,若小于阈值,则将设备分配给此接入服务器后放入队尾,若超过阈值,则将此接入服务器降至下一级。当某一级中接入服务器都因设备接入量超过阈值而降级后,此优先级中再无接入服务器可分配。此时,调度服务器会查询并分配下一级中的接入服务器。
由此,通过按优先级等级由高到低的顺序给负载分配接入服务器,分配方式简便且精准,免去了重复计算和排序,处理效率高、耗费资源少。
在一个可选实施方式中,还可以包括:以下至少一种处理情形。
第一种处理情形:在为所述负载分配到接入服务器的情况下,更新该接入服务器所连接负载的当前数量(如将该接入服务器所连接负载的当前数量增加1)。
例如:当设备连接调度服务器时,优先给设备分配最高优先级的任一个服务器,并将该接入服务器的连接数量增加1,如果该接入服务器的连接数量超出了最优优先级的阈值,则将该接入服务器放入第二优先级,以此类推。
由此,通过对接入服务器的连接负载数据进行实时更新,有利于提升分配的精准性和可靠性。
第二种处理情形:在每个优先级区域的所有接入服务器中,确定至少有一个接入服务器能够增加的连接负载数量大于或等于1。
例如:当最优优先级中为空,不存在任何一个接入服务器时,则分配第二优先级中的接入服务器给设备。不允许所有优先级中的全部接入服务器的数量总和为0,应至少存在一个接入服务器才能进行正常的负载均衡任务。
由此,通过确定所有接入服务器中有接入服务器可以增加连接负载,可以确保对负载均衡接入服务器的可靠性。
第三种处理情形:在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,发起提示消息,以提示所有接入服务器能够增加的连接负载数量为0或将为0。
例如:当前面各个优先级中的接入服务器都因接入量超过阈值而不断降级至最低优先级后,如果在最低优先级中每台接入服务器接入量都快达到此级的阈值,在这个过程中,或这种情况下,监控系统会报警。
由此,通过在所有接入服务器中没有接入服务器能够增加连接负载时及时提示,便于维护人员及时得知而及时维护,人性化好,且有利于提升对负载均衡接入服务器的可靠性和安全性。
第四种处理情形:在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,若获取到新增接入服务器的新增信息,则将新增接入服务器分配至最高级优先级区域中。
例如:监控系统会报警,运维人员会启用新的接入服务器以供调度,且新启用的接入服务器会放在最高优先级中,这样可以减轻压力。
由此,通过将新增的接入服务器分配至优先级等级最高的区域中,可以保证该新增服务器优先被连接负载,提升负载均衡的可靠性和高效性。
经大量的试验验证,采用本实施例的技术方案,通过对负载均衡方法进行改进,可以减少排序与计算的次数,节约CPU及内存资源,减少资源耗费量。
根据本发明的实施例,还提供了对应于负载均衡方法的一种负载均衡装置。参见图4所示本发明的装置的一实施例的结构示意图。该负载均衡装置可以包括:分级单元102和分配单元104。
在一个可选例子中,分级单元102,可以用于将所有接入服务器分配到最高级优先级区域中。该分级单元102的具体功能及处理参见步骤S110。
其中,在所述最高级优先级区域中,一个以上接入服务器按序排列或不按序排列。
例如:同一个优先级的接入服务器不需要进行内部排序,只要该优先级中存在接入服务器,那么就分配该优先级中的其中任意一个接入服务器,减少了同一个优先级内部的排序操作。无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减轻调度服务器的压力,提高调度服务器的性能。
由此,通过在每个区域中对一个以上接入服务器按序排列或不按序排列,可以满足多种接入需求,灵活性好、可靠性高。
可选地,所述分级单元102将所有接入服务器分配到最高级优先级区域中,可以包括:
所述分级单元102,具体还可以用于获取所有接入服务器的接入服务器信息。其中,所述接入服务器,可以包括:待接入负载的服务器。该分级单元102的具体功能及处理还参见步骤S210。
其中,所述接入服务器信息,可以包括:所有接入服务器的数量,以及每个接入服务器的网络地址、内存、CPU使用率、连接负载数量中的至少之一。
例如:获取接入服务器的信息,包括接入服务器的连接设备数量等等。
由此,通过多种形式的接入服务器信息,有利于提升分级和分配的精准性和可靠性。
更可选地,所述分级单元102获取所有接入服务器的接入服务器信息,可以包括:所述分级单元102,具体还可以用于自调度服务器与接入服务器之间的连接关系中获取所有接入服务器的接入服务器信息。
例如:调度服务器与接入服务器通过某种方式维持连接,调度服务器可以通过该连接获取接入服务器的信息。
由此,通过自调度服务器与接入服务器之间的连接关系中获取接入服务器信息,获取方式简便,且获取结果精准且可靠。
所述分级单元102,具体还可以用于根据所述接入服务器信息,确定所连接负载的当前数量未超过最高级优先级区域中所能连接负载数量的第一设定阈值的所有接入服务器,并将该所有接入服务器分配到所述最高级优先级区域中。该分级单元102的具体功能及处理还参见步骤S220。
例如:通过获取到的接入服务器信息,将所有接入服务器按照一定的优先规则排序,并分为三个优先级。
由此,通过获取所有接入服务器的接入服务器信息,进而根据该信息将所有接入服务器按优先级等级排序,并根据排序结果将所有接入服务器分配到最高级优先级区域中,分级方式精准且可靠。
在一个可选例子中,分配单元104,可以用于在接收到负载的连接请求的情况下,将所述最高优先级区域中的接入服务器均衡分配给负载。该分配单元104的具体功能及处理参见步骤S120。
例如:按设定的优先级等级,将所有接入服务器分配到第一至第N区域中,N为大于或等于2的自然数。在接收到负载的连接请求的情况下,按所述第一至第N区域的优先级等级顺序为所述负载分配接入服务器。
例如:按设定的优先级等级,将所有接入服务器分配到第一至第N区域中,N为大于或等于2的自然数。在接收到负载的连接请求的情况下,按所述第一至第N区域的优先级等级顺序为所述负载分配接入服务器。
例如:对负载均衡方法进行改进,提供了一种实现服务器负载均衡的方法,该方法解决了其他负载均衡方法计算量较大、性能较差等问题;通过本方法可以减少排序与计算的次数,节约CPU及内存资源。而且,无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减轻调度服务器的压力,提高调度服务器的性能。在实际应用中,当对计算分配算法的精度要求不高时,可采用改进后的负载均衡方法,以减小计算机CPU和内存的压力。可见,在精度要求不高的情况下,无需复杂的计算和排序算法即可有效实现服务器负载均衡。
由此,通过将所有接入服务器分配到最高级优先级区域中,进而按两个以上优先级区域的优先级等级为负载分配接入服务器,可以避免重复计算和排序,减少资源耗费,提升处理效率。
可选地,所述分配单元104将所述最高优先级区域中的接入服务器均衡分配给负载,可以包括:
所述分配单元104,具体还可以用于将所述最高级优先级区域中处于首位的接入服务器分配给所述负载后,确定该接入服务器所连接负载的当前数量是否超过所述最高级优先级区域中所能连接负载数量的第一设定阈值。该分配单元104的具体功能及处理还参见步骤S310。
所述分配单元104,具体还可以用于若所述当前数量超过所述第一设定阈值,则将该接入服务器降级分配至次级优先级区域中;或者,若所述当前数量未超过所述第一设定阈值,则将该接入服务器在所述最高优先级区域中所处位置由首位移至末位,并将所述最高优先级区域中处于首位之后的接入服务器移至首位。该分配单元104的具体功能及处理还参见步骤S320。
由此,通过优先给负载分配优先级等级最高的优先级区域中的接入服务器,负荷较小,运行效率较高。
进一步地,所述分配单元104将所述最高优先级区域中的接入服务器均衡分配给负载,还可以包括:在所述最高级优先级区域中没有接入服务器能够分配给负载的情况下,将所述次级优先级区域中的接入服务器均衡分配给负载,以此类推。其中,最高级优先级区域中所能连接负载数量的第一设定阈值,小于次级优先级区域中所能连接负载数量的第二设定阈值。
例如:将传统的最小连接数方法进行改进,将接入服务器均分到两个及两个以上的优先级中,首先给请求设备分配最优等级中的任意一个接入服务器,如果该接入服务器接入了大量设备超过该优先级所设定的阈值(如最优等级的阈值)时,将该服务器降级为次一等级;从而,减少计算机CPU及内存的占用率。
例如:可以选择出所有接入服务器分配到两个以上优先级中的最高优先级中,并计算每个优先级的阈值,当接入服务器的连接数量超过该阈值,则变换到其他优先级中。如:每台接入服务器的最大接入量为N,假定最高优先级的阈值为0.6N,第二优先级阈值为0.8N,第三优先级为1N(即最低优先级下允许满负荷工作)。每一级中接入服务器不再区分优先级,并依次放在队列中,调度在分配的时候,从队首取接入服务器并判断接入量是否超过阈值,若小于阈值,则将设备分配给此接入服务器后放入队尾,若超过阈值,则将此接入服务器降至下一级。当某一级中接入服务器都因设备接入量超过阈值而降级后,此优先级中再无接入服务器可分配。此时,调度服务器会查询并分配下一级中的接入服务器。
由此,通过按优先级等级由高到低的顺序给负载分配接入服务器,分配方式简便且精准,免去了重复计算和排序,处理效率高、耗费资源少。
在一个可选实施方式中,还可以包括:以下至少一种处理情形。
第一种处理情形:所述分配单元104,还可以用于在为所述负载分配到接入服务器的情况下,更新该接入服务器所连接负载的当前数量(如将该接入服务器所连接负载的当前数量增加1)。
例如:当设备连接调度服务器时,优先给设备分配最高优先级的任一个服务器,并将该接入服务器的连接数量增加1,如果该接入服务器的连接数量超出了最优优先级的阈值,则将该接入服务器放入第二优先级,以此类推。
由此,通过对接入服务器的连接负载数据进行实时更新,有利于提升分配的精准性和可靠性。
第二种处理情形:所述分配单元104,还可以用于在每个优先级区域的所有接入服务器中,确定至少有一个接入服务器能够增加的连接负载数量大于或等于1。
例如:当最优优先级中为空,不存在任何一个接入服务器时,则分配第二优先级中的接入服务器给设备。不允许所有优先级中的全部接入服务器的数量总和为0,应至少存在一个接入服务器才能进行正常的负载均衡任务。
由此,通过确定所有接入服务器中有接入服务器可以增加连接负载,可以确保对负载均衡接入服务器的可靠性。
第三种处理情形:所述分配单元104,还可以用于在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,发起提示消息,以提示所有接入服务器能够增加的连接负载数量为0或将为0。
例如:当前面各个优先级中的接入服务器都因接入量超过阈值而不断降级至最低优先级后,如果在最低优先级中每台接入服务器接入量都快达到此级的阈值,在这个过程中,或这种情况下,监控系统会报警。
由此,通过在所有接入服务器中没有接入服务器能够增加连接负载时及时提示,便于维护人员及时得知而及时维护,人性化好,且有利于提升对负载均衡接入服务器的可靠性和安全性。
第四种处理情形:所述分级单元102,还可以用于在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,若获取到新增接入服务器的新增信息,则将新增接入服务器分配至最高级优先级区域中。
例如:监控系统会报警,运维人员会启用新的接入服务器以供调度,且新启用的接入服务器会放在最高优先级中,这样可以减轻压力。
由此,通过将新增的接入服务器分配至优先级等级最高的区域中,可以保证该新增服务器优先被连接负载,提升负载均衡的可靠性和高效性。
由于本实施例的装置所实现的处理及功能基本相应于前述图1至图3所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过对负载均衡方法进行改进,可以减轻调度服务器的压力,提高调度服务器的性能。
根据本发明的实施例,还提供了对应于负载均衡装置的一种调度系统。该调度系统可以包括:以上所述的负载均衡装置。
在一个可选实施方式中,本发明的方案,对负载均衡方法进行改进,提供了一种实现服务器负载均衡的方法,该方法解决了其他负载均衡方法计算量较大、性能较差等问题;通过本方法可以减少排序与计算的次数,节约CPU及内存资源。而且,无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减轻调度服务器的压力,提高调度服务器的性能。
在实际应用中,当对计算分配算法的精度要求不高时,可采用改进后的负载均衡方法,以减小计算机CPU和内存的压力。可见,在精度要求不高的情况下,无需复杂的计算和排序算法即可有效实现服务器负载均衡。
在一个可选例子中,本发明的方案,将传统的最小连接数方法进行改进,将接入服务器均分到两个及两个以上的优先级中,首先给请求设备分配最优等级中的任意一个接入服务器,如果该接入服务器接入了大量设备超过最优等级的阈值时,将该服务器降级为次一等级(例如:变换到其他优先级);从而,减少计算机CPU及内存的占用率。
例如:最小连接数法:根据后端服务器当前的连接情况,动态的选取其中当前积压连接数最少的一台服务器来处理当前请求,尽可能的提高后台服务器利用率,将负载合理的分流到每一台服务器。
在一个可选具体实施方式中,可以参见图5所示的例子,对本发明的方案的具体实现过程进行示例性说明。
参见图5所示的例子,本发明的方案中,一种实现服务器负载均衡的方法,可以包括:
步骤1、调度服务器与接入服务器通过某种方式维持连接,调度服务器可以通过该连接获取接入服务器的信息,包括接入服务器的连接设备数量等等。通过获取到的接入服务器信息,将所有接入服务器按照一定的优先规则排序,并分为三个优先级。可以选择出所有接入服务器分配到两个以上优先级中的最高优先级中,并计算每个优先级的阈值,当接入服务器的连接数量超过该阈值,则变换到其他优先级中。
例如:调度服务器负责分配客户端连接的接入服务器;接入服务器负责客户端的接入工作,提供登录验证、远程控制、数据采集等功能。
例如:调度服务器与接入服务器之间的连接方式,一般通过心跳维持连接,心跳一般为固定频率的数据包。接入服务器主动向调度服务器发送心跳,心跳数据包中包括但不限于以下信息:接入服务器的网络地址\内存及CPU使用率\设备连接数,等等。
例如:选择出所有接入服务器分配到两个以上优先级中的最高优先级中,可以包括:最开始,接入服务器并不是均分到不同优先级的。在服务最开始上线时,所有接入服务器的连接数都是零,所以,此时所有接入服务器都在最高优先级。每当其中有接入服务器的连接数超过最高优先级的阈值后,则下调至第二优先级。同理,若第二优先级中有接入服务器的连接数超过该等级的阈值后,再下调至第三优先级。以此类推。
例如:计算每个优先级的阈值,根据服务器所能承载的最大连接数来计算阈值,而服务器的最大连接数取决于其所在物理机的CPU、内存等系统环境。这里的阈值是提前确定的,因为服务器在上线之前,会在不同物理机环境下经过压力测试,确定不同物理机环境下服务器所能承载的最大连接数。不同优先级的阈值就是不同的系数a乘以最大连接数N所得。
例如:优先级是预设的。这里优先级可以但不限定为三级。例如,每台接入服务器的最大接入量为N,假定最高优先级的阈值为0.6N,第二优先级阈值为0.8N,第三优先级为1N(即最低优先级下允许满负荷工作)。每一级中接入服务器不再区分优先级,并依次放在队列中,调度在分配的时候,从队首取接入服务器并判断接入量是否超过阈值,若小于阈值,则将设备分配给此接入服务器后放入队尾,若超过阈值,则将此接入服务器降至下一级。当某一级中接入服务器都因设备接入量超过阈值而降级后,此优先级中再无接入服务器可分配。此时,调度服务器会查询并分配下一级中的接入服务器。
步骤2、当设备连接调度服务器时,优先给设备分配最高优先级的任一个服务器(如接入服务器),并将该接入服务器的连接数量增加1,如果该接入服务器的连接数量超出了最优优先级的阈值,则将该接入服务器放入第二优先级,以此类推。
例如:调度服务器给设备分配接入服务器,设备拿到接入服务器地址后,连接接入服务器。
该方法的优点在于,同一个优先级的接入服务器不需要进行内部排序,只要该优先级中存在接入服务器,那么就分配该优先级中的其中任意一个接入服务器,减少了同一个优先级内部的排序操作。无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减轻调度服务器的压力,提高调度服务器的性能。
当最优优先级中为空,不存在任何一个接入服务器时,则分配第二优先级中的接入服务器给设备。在该方法中,不允许所有优先级中的全部接入服务器的数量总和为0,应至少存在一个接入服务器才能进行正常的负载均衡任务。
例如:当前面各个优先级中的接入服务器都因接入量超过阈值而不断降级至最低优先级后,如果在最低优先级中每台接入服务器接入量都快达到此级的阈值,在这个过程中,或这种情况下,监控系统会报警,运维人员会启用新的接入服务器以供调度,且新启用的接入服务器会放在最高优先级中,这样可以减轻压力。如果所有优先级中接入服务器的数量为0,说明没有接入服务器可调度。一般不会出现此种情况。
由于本实施例的调度系统所实现的处理及功能基本相应于前述图4所示的装置的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过对负载均衡方法进行改进,无需最小连接数法的精准排序,只需要几个优先级的阈值,可以减少排序与计算量。
根据本发明的实施例,还提供了对应于负载均衡方法的一种存储介质。该存储介质,可以包括:所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行以上所述的负载均衡方法。
由于本实施例的存储介质所实现的处理及功能基本相应于前述图1至图3所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过当对计算分配算法的精度要求不高时,可采用改进后的负载均衡方法,以减小计算机CPU和内存的压力。
根据本发明的实施例,还提供了对应于负载均衡方法的一种调度系统。该调度系统,可以包括:处理器,用于执行多条指令;存储器,用于存储多条指令;其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行以上所述的负载均衡方法。
由于本实施例的调度系统所实现的处理及功能基本相应于前述图1至图3所示的方法的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过在精度要求不高的情况下,无需复杂的计算和排序算法即可有效实现服务器负载均衡,资源耗费量小。
综上,本领域技术人员容易理解的是,在不冲突的前提下,上述各有利方式可以自由地组合、叠加。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (15)
1.一种负载均衡方法,其特征在于,包括:
将所有接入服务器分配到最高级优先级区域中;
在接收到负载的连接请求的情况下,将所述最高优先级区域中的接入服务器均衡分配给负载。
2.根据权利要求1所述的方法,其特征在于,将所有接入服务器分配到最高级优先级区域中,包括:
获取所有接入服务器的接入服务器信息;
根据所述接入服务器信息,确定所连接负载的当前数量未超过最高级优先级区域中所能连接负载数量的第一设定阈值的所有接入服务器,并将该所有接入服务器分配到所述最高级优先级区域中。
3.根据权利要求2所述的方法,其特征在于,其中,
获取所有接入服务器的接入服务器信息,包括:
自调度服务器与接入服务器之间的连接关系中获取所有接入服务器的接入服务器信息;
和/或,
所述接入服务器信息,包括:所有接入服务器的数量,以及每个接入服务器的网络地址、内存、CPU使用率、连接负载数量中的至少之一;
和/或,
在所述最高级优先级区域中,一个以上接入服务器按序排列或不按序排列。
4.根据权利要求1-3之一所述的方法,其特征在于,将所述最高优先级区域中的接入服务器均衡分配给负载,包括:
将所述最高级优先级区域中处于首位的接入服务器分配给所述负载后,确定该接入服务器所连接负载的当前数量是否超过所述最高级优先级区域中所能连接负载数量的第一设定阈值;
若所述当前数量超过所述第一设定阈值,则将该接入服务器降级分配至次级优先级区域中;或者,若所述当前数量未超过所述第一设定阈值,则将该接入服务器在所述最高优先级区域中所处位置由首位移至末位,并将所述最高优先级区域中处于首位之后的接入服务器移至首位。
5.根据权利要求4所述的方法,其特征在于,将所述最高优先级区域中的接入服务器均衡分配给负载,还包括:
在所述最高级优先级区域中没有接入服务器能够分配给负载的情况下,将所述次级优先级区域中的接入服务器均衡分配给负载,以此类推;
其中,最高级优先级区域中所能连接负载数量的第一设定阈值,小于次级优先级区域中所能连接负载数量的第二设定阈值。
6.根据权利要求1-5之一所述的方法,其特征在于,还包括:
在为所述负载分配到接入服务器的情况下,更新该接入服务器所连接负载的当前数量;
和/或,
在每个优先级区域的所有接入服务器中,确定至少有一个接入服务器能够增加的连接负载数量大于或等于1;
和/或,
在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,发起提示消息;
和/或,
若获取到新增接入服务器的新增信息,则将新增接入服务器分配至最高级优先级区域中。
7.一种负载均衡装置,其特征在于,包括:
分级单元,用于将所有接入服务器分配到最高级优先级区域中;
分配单元,用于在接收到负载的连接请求的情况下,将所述最高优先级区域中的接入服务器均衡分配给负载。
8.根据权利要求7所述的装置,其特征在于,所述分级单元将所有接入服务器分配到最高级优先级区域中,包括:
获取所有接入服务器的接入服务器信息;
根据所述接入服务器信息,确定所连接负载的当前数量未超过最高级优先级区域中所能连接负载数量的第一设定阈值的所有接入服务器,并将该所有接入服务器分配到所述最高级优先级区域中。
9.根据权利要求8所述的装置,其特征在于,其中,
所述分级单元获取所有接入服务器的接入服务器信息,包括:
自调度服务器与接入服务器之间的连接关系中获取所有接入服务器的接入服务器信息;
和/或,
所述接入服务器信息,包括:所有接入服务器的数量,以及每个接入服务器的网络地址、内存、CPU使用率、连接负载数量中的至少之一;
和/或,
在所述最高级优先级区域中,一个以上接入服务器按序排列或不按序排列。
10.根据权利要求7-9之一所述的装置,其特征在于,所述分配单元将所述最高优先级区域中的接入服务器均衡分配给负载,包括:
将所述最高级优先级区域中处于首位的接入服务器分配给所述负载后,确定该接入服务器所连接负载的当前数量是否超过所述最高级优先级区域中所能连接负载数量的第一设定阈值;
若所述当前数量超过所述第一设定阈值,则将该接入服务器降级分配至次级优先级区域中;或者,若所述当前数量未超过所述第一设定阈值,则将该接入服务器在所述最高优先级区域中所处位置由首位移至末位,并将所述最高优先级区域中处于首位之后的接入服务器移至首位。
11.根据权利要求10所述的装置,其特征在于,所述分配单元将所述最高优先级区域中的接入服务器均衡分配给负载,还包括:
在所述最高级优先级区域中没有接入服务器能够分配给负载的情况下,将所述次级优先级区域中的接入服务器均衡分配给负载,以此类推;
其中,最高级优先级区域中所能连接负载数量的第一设定阈值,小于次级优先级区域中所能连接负载数量的第二设定阈值。
12.根据权利要求7-11之一所述的装置,其特征在于,还包括:
所述分配单元,还用于在为所述负载分配到接入服务器的情况下,更新该接入服务器所连接负载的当前数量;
和/或,
所述分配单元,还用于在每个优先级区域的所有接入服务器中,确定至少有一个接入服务器能够增加的连接负载数量大于或等于1;
和/或,
所述分配单元,还用于在每个优先级区域的所有接入服务器能够增加的连接负载数量为0或将为0的情况下,发起提示消息;
和/或,
所述分级单元,还用于若获取到新增接入服务器的新增信息,则将新增接入服务器分配至最高级优先级区域中。
13.一种调度系统,其特征在于,包括:如权利要求7-12任一所述的负载均衡装置。
14.一种存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-6任一所述的负载均衡方法。
15.一种调度系统,其特征在于,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-6任一所述的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910053932.5A CN111459651B (zh) | 2019-01-21 | 2019-01-21 | 一种负载均衡方法、装置、存储介质及调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910053932.5A CN111459651B (zh) | 2019-01-21 | 2019-01-21 | 一种负载均衡方法、装置、存储介质及调度系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111459651A true CN111459651A (zh) | 2020-07-28 |
CN111459651B CN111459651B (zh) | 2023-10-13 |
Family
ID=71684114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910053932.5A Active CN111459651B (zh) | 2019-01-21 | 2019-01-21 | 一种负载均衡方法、装置、存储介质及调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111459651B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334010A (zh) * | 2022-08-08 | 2022-11-11 | 浙江大华技术股份有限公司 | 查询信息的处理方法和装置、存储介质及电子装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483601A (zh) * | 2009-02-13 | 2009-07-15 | 杭州华三通信技术有限公司 | 一种基于业务优先级的调度方法及装置 |
US20110004656A1 (en) * | 2009-07-02 | 2011-01-06 | Hitachi, Ltd. | Load assignment control method and load distribution system |
US20110161980A1 (en) * | 2009-12-31 | 2011-06-30 | English Robert M | Load Balancing Web Service by Rejecting Connections |
CN105376111A (zh) * | 2015-11-13 | 2016-03-02 | 百度在线网络技术(北京)有限公司 | 资源分配方法和装置 |
CN106790726A (zh) * | 2017-03-30 | 2017-05-31 | 电子科技大学 | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 |
CN108769271A (zh) * | 2018-08-20 | 2018-11-06 | 北京百度网讯科技有限公司 | 负载均衡的方法、装置、存储介质和终端设备 |
CN109032800A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种负载均衡调度方法、负载均衡器、服务器及系统 |
CN109104500A (zh) * | 2018-09-29 | 2018-12-28 | 广东省信息工程有限公司 | 一种动态调整的服务器负载均衡方法及装置 |
-
2019
- 2019-01-21 CN CN201910053932.5A patent/CN111459651B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483601A (zh) * | 2009-02-13 | 2009-07-15 | 杭州华三通信技术有限公司 | 一种基于业务优先级的调度方法及装置 |
US20110004656A1 (en) * | 2009-07-02 | 2011-01-06 | Hitachi, Ltd. | Load assignment control method and load distribution system |
US20110161980A1 (en) * | 2009-12-31 | 2011-06-30 | English Robert M | Load Balancing Web Service by Rejecting Connections |
CN105376111A (zh) * | 2015-11-13 | 2016-03-02 | 百度在线网络技术(北京)有限公司 | 资源分配方法和装置 |
CN106790726A (zh) * | 2017-03-30 | 2017-05-31 | 电子科技大学 | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 |
CN109032800A (zh) * | 2018-07-26 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种负载均衡调度方法、负载均衡器、服务器及系统 |
CN108769271A (zh) * | 2018-08-20 | 2018-11-06 | 北京百度网讯科技有限公司 | 负载均衡的方法、装置、存储介质和终端设备 |
CN109104500A (zh) * | 2018-09-29 | 2018-12-28 | 广东省信息工程有限公司 | 一种动态调整的服务器负载均衡方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334010A (zh) * | 2022-08-08 | 2022-11-11 | 浙江大华技术股份有限公司 | 查询信息的处理方法和装置、存储介质及电子装置 |
CN115334010B (zh) * | 2022-08-08 | 2023-08-29 | 浙江大华技术股份有限公司 | 查询信息的处理方法和装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111459651B (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667748B (zh) | 一种控制带宽的方法、装置、设备和存储介质 | |
US10268509B2 (en) | Job distribution within a grid environment using mega-host groupings of execution hosts | |
CN109165093B (zh) | 一种计算节点集群弹性分配系统及方法 | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
CN111045795A (zh) | 资源调度方法及装置 | |
US11876731B2 (en) | System and methods for sharing memory subsystem resources among datacenter applications | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
US11838384B2 (en) | Intelligent scheduling apparatus and method | |
CN111464659A (zh) | 节点的调度、节点的预选处理方法、装置、设备及介质 | |
CN112269641A (zh) | 一种调度方法、装置、电子设备及存储介质 | |
CN112068957B (zh) | 资源分配方法、装置、计算机设备及存储介质 | |
CN114356543A (zh) | 一种基于Kubernetes的多租户机器学习任务资源调度方法 | |
CN112015549B (zh) | 一种基于服务器集群的调度节点的选择抢占方法及系统 | |
CN112181613A (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
CN108694083B (zh) | 一种服务器的数据处理方法和装置 | |
CN114116173A (zh) | 动态调整任务分配的方法、装置和系统 | |
CN111459651B (zh) | 一种负载均衡方法、装置、存储介质及调度系统 | |
CN109298949B (zh) | 一种分布式文件系统的资源调度系统 | |
US20140047454A1 (en) | Load balancing in an sap system | |
CN116010051A (zh) | 一种联邦学习多任务调度方法及装置 | |
CN115629854A (zh) | 分布式任务调度方法、系统、电子设备和存储介质 | |
Thai et al. | Algorithms for optimising heterogeneous Cloud virtual machine clusters | |
CA2313273A1 (en) | Device and method for allocating jobs in a network | |
CN111866043B (zh) | 任务处理方法、装置、计算设备及计算机存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |