CN117221326A - 软件负载均衡调度方法、系统、电子设备和存储介质 - Google Patents
软件负载均衡调度方法、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117221326A CN117221326A CN202311095702.8A CN202311095702A CN117221326A CN 117221326 A CN117221326 A CN 117221326A CN 202311095702 A CN202311095702 A CN 202311095702A CN 117221326 A CN117221326 A CN 117221326A
- Authority
- CN
- China
- Prior art keywords
- server node
- load balancing
- software load
- determining
- deployment queue
- 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
Landscapes
- Power Sources (AREA)
Abstract
本申请涉及计算机技术领域,提供一种软件负载均衡调度方法、系统、电子设备和存储介质,该方法包括:获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;基于第一可调度部署队列和可用服务器节点,得到目标调度部署队列;基于目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;基于算力最优服务器节点和软件负载均衡副本数,确定最终可调度部署队列。本申请实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种软件负载均衡调度方法、系统、电子设备和存储介质。
背景技术
现有的软件负载均衡调度方法中,软件负载均衡多采用Nginx、HAproxy等开源的软件,在多服务器节点进行分布式部署和扩容时,可能存在如下的问题:调度时未考虑当前服务器的算力处理能力,即算力调度存在不均衡情况,某些服务器的资源使用率远高于其他节点,造成集群热点隐患,导致热点服务器不稳定性,影响高可用能力。
发明内容
本申请实施例提供一种软件负载均衡调度方法、系统、电子设备和存储介质,旨在解决集群热点问题,以及有效增加分布式软件负载的高可用性。
第一方面,本申请实施例提供一种软件负载均衡调度方法,包括:
获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
在一个实施例中,所述基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点,包括:
计算所述目标调度部署队列中各个目标服务器节点的采集指标数量;
根据各个目标服务器节点的CPU值和采集指标数量,得到各个目标服务器节点的CPU平均值,并根据各个目标服务器节点的CPU平均值确定所述算力最优服务器节点。
在一个实施例中,所述根据各个目标服务器节点的CPU平均值确定所述算力最优服务器节点,包括:
基于各个目标服务器节点的CPU平均值对所述目标调度部署队列中的目标服务器节点进行排序,并将算力可用值最大的目标服务器节点确定为所述算力最优服务器节点。
在一个实施例中,所述基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列,包括:
根据所述算力最优服务器节点的内存值和采集指标数量,得到所述算力最优服务器节点的内存平均值;
获取所述最优服务器节点的CPU规格和内存规格;
根据所述软件负载均衡副本数以及所述最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定所述最终可调度部署队列。
在一个实施例中,所述根据所述软件负载均衡副本数以及所述最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定所述最终可调度部署队列,包括:
基于所述最优服务器节点的CPU规格和CPU平均值,确定剩余可用CPU值,并基于所述最优服务器节点的内存规格和内存平均值,确定剩余可用内存值;
基于所述最优服务器节点的剩余可用CPU值和剩余可用内存值,确定第二可调度部署队列;
基于所述第二可调度部署队列和所述软件负载均衡副本数,确定所述最终可调度部署队列。
在一个实施例中,所述基于所述第二可调度部署队列和所述软件负载均衡副本数,确定最终可调度部署队列,包括:
若确定所述第二可调度部署队列的节点数量小于所述软件负载均衡副本数,则循环执行步骤:基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点,直至所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数;
若确定所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数,则将所述第二可调度部署队列确定为所述最终可调度部署队列。
在一个实施例中,所述软件负载均衡调度方法还包括:
响应客户端发起的创建软件负载请求和负载均衡配置文件,并基于所述软件负载请求调度可部署服务器节点列表;
建立与所述可部署服务器节点列表中服务器节点的传输通道,并通过所述传输通道将所述负载均衡配置文件和软件负载均衡的安装介质,下发至服务器节点中的指定文件目录;
基于服务器节点副本实例的进程运行端口向所有副本实例发送TCP连接请求;所述进程运行端口是启动节点负载均衡实例的端口;
若接收到请求响应,则确定所述服务器节点副本实例初始化正常,并将初始化后的实例信息添加至就绪服务列表。
第二方面,本申请实施例提供一种软件负载均衡调度系统,包括:
获取模块,用于获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
第一确定模块,用于基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
第二确定模块,用于基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
均衡调度模块,用于基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的确定机程序,所述处理器执行所述确定机程序时实现第一方面所述的软件负载均衡调度方法。
第四方面,本申请实施例提供一种非暂态确定机可读存储介质,非暂态确定机可读存储介质包括确定机程序,所述确定机程序被处理器执行时实现第一方面所述的软件负载均衡调度方法。
第五方面,本申请实施例提供一种计算机产品,计算机产品包括确定机程序,所述确定机程序被处理器执行时实现第一方面所述的软件负载均衡调度方法。
本申请实施例提供的软件负载均衡调度方法、系统、电子设备和存储介质,获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;基于第一可调度部署队列和可用服务器节点,得到目标调度部署队列;基于目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;基于算力最优服务器节点和软件负载均衡副本数,确定最终可调度部署队列。在软件负载均衡调度的过程中,实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的软件负载均衡调度方法的流程图;
图2是分布式软件负载均衡统一调度管理架构图;
图3是本申请实施例提供的统一调度器工作流程图;
图4是管理控制器和分布式控制器代理流程图;
图5是本申请实施例提供的软件负载均衡调度系统的结构图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1,图1是本申请实施例提供的软件负载均衡调度方法的流程图。本申请实施例提供一种软件负载均衡调度方法,包括:
步骤101,获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
步骤102,基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
步骤103,基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
步骤104,基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
需要说明的是,本申请实施例提供的软件负载均衡调度方法以负载调度系统为执行主体进行举例说明。负载调度系统可以理解为统一调度器,统一调度器的架构参照图2,图2是分布式软件负载均衡统一调度管理架构图。分布式软件负载均衡统一调度管理架构由数据平面和管控平面构成,数据平面由服务器、分布式软件负载均衡的副本实例以及分布式控制器代理模块组成,负责服务器的算力感知和副本实例的初始化。管控平面由服务器算力数据存储装置、管理控制器和统一调度器构成,负责服务器节点算力数据存储、软件负载均衡用户配置管理以及分布式软件负载均衡副本实例部署与扩容的统一调度。
1、管控平面部分:
算力数据存储:负责存储服务器算力数据,支持时间戳格式的数据存储和查询。存储的数据类型包括服务器的CPU使用率,内存使用率,服务器网络I/O吞吐量等资源消耗情况。
统一调度器:通过查询算力数据存储,获取资源池中的服务器实时算力指标,根据算力优选规则计算并选择符合标准的服务器添加至可部署队列,并向控制器返回可部署服务器列表。
管理控制器:提供可供用户配置、管理分布式软件负载均衡的Web交互界面,存储用户设定的相关配置信息;根据调度器选出的可部署列表,向服务器节点下发软件负载均衡安装介质,同时生成对应的配置文件并推送至服务器节点指定目录;检测各副本实例的初始化状态,管理分布式软件负载均衡的就绪服务列表。
2、数据平面部分:
服务器节点:用于部署和运行分布式软件负载均衡副本实例。
分布式控制器代理:部署于服务器节点上,负责该节点的算力数据实时采集,并根据控制器指令和安装介质启动服务器节点的副本实例,向控制器上报部署在服务器节点的软件负载均衡副本实例IP和端口信息。
副本实例:分布式软件负载均衡的工作节点。
进一步地,基于算力优选的统一调度器工作的具体流程如下:
部署开始,负载调度系统调用管理控制器API接口,获取用户设定的软件负载均衡副本数,并查询服务器算力数据存储装置,获取服务器集群中的可用服务器节点,以及获取第一可调度部署队列。
进一步地,负载调度系统将可用服务器节点增加至第一可调度部署队列中,得到目标调度部署队列,目标调度部署队列可表示为Qs={N1,N2,…Nn},共计n个节点。
进一步地,负载调度系统获取目标调度部署队列Qs中各个目标服务器节点的CPU值,根据目标调度部署队列Qs中各个目标服务器节点的CPU值,确定目标调度部署队列Qs中的算力最优服务器节点。
进一步地,负载调度系统根据算力最优服务器节点和软件负载均衡副本数,确定最终可调度部署队列。
本申请实施例提供的软件负载均衡调度方法,获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;基于第一可调度部署队列和可用服务器节点,得到目标调度部署队列;基于目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;基于算力最优服务器节点和软件负载均衡副本数,确定最终可调度部署队列。在软件负载均衡调度的过程中,实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
参照图3,图3是本申请实施例提供的统一调度器工作流程图。
在一实施例中,基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点,包括:
计算所述目标调度部署队列中各个目标服务器节点的采集指标数量;
根据各个目标服务器节点的CPU值和采集指标数量,得到各个目标服务器节点的CPU平均值,并根据各个目标服务器节点的CPU平均值确定所述算力最优服务器节点。
具体地,负载调度系统获取目标调度部署队列Qs中各个目标服务器节点Ni在设定的最小采集时间T和采集时间间隔ti。进一步地,负载调度系统根据各个目标服务器节点Ni的最小采集时间T和采集时间间隔ti,计算得到各个目标服务器节点的采集指标数量m,即
其中,表示向上取整。
进一步地,负载调度系统根据各个目标服务器节点Ni的CPU值和采集指标数量,得到各个目标服务器节点Ni在采集时间T内的CPU平均值,i为第i个采集时间点,CPU平均值表示为 的计算公式如下:
进一步地,负载调度系统根据各个目标服务器节点Ni的CPU平均值确定算力最优服务器节点。
本申请实施例实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
在一实施例中,根据各个目标服务器节点的CPU平均值确定所述算力最优服务器节点,包括:
基于各个目标服务器节点的CPU平均值对所述目标调度部署队列中的目标服务器节点进行排序,并将算力可用值最大的目标服务器节点确定为所述算力最优服务器节点。
具体地,负载调度系统以各个目标服务器节点Ni的CPU平均值对目标调度部署队列Qs中的目标服务器节点进行排序,并将算力可用值最大的目标服务器节点确定为算力最优服务器节点,算力最优服务器节点可以表示为Nmax,即
本申请实施例实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
在一实施例中,基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列,包括:
根据所述算力最优服务器节点的内存值和采集指标数量,得到所述算力最优服务器节点的内存平均值;
获取所述最优服务器节点的CPU规格和内存规格;
根据所述软件负载均衡副本数以及所述最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定所述最终可调度部署队列。
具体地,负载调度系统获取算力最优服务器节点的内存值根据算力最优服务器节点的内存值和采集指标数量m,计算得到算力最优服务器节点的内存平均值内存平均值的计算公式如下:
进一步地,负载调度系统获取最优服务器节点Nmax的CPU规格和内存规格,并删除目标调度部署队列Qs中的Nmax节点。
进一步地,负载调度系统根据软件负载均衡副本数以及最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定最终可调度部署队列。
本申请实施例实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
在一实施例中,根据所述软件负载均衡副本数以及所述最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定所述最终可调度部署队列,包括:
基于所述最优服务器节点的CPU规格和CPU平均值,确定剩余可用CPU值,并基于所述最优服务器节点的内存规格和内存平均值,确定剩余可用内存值;
基于所述最优服务器节点的剩余可用CPU值和剩余可用内存值,确定第二可调度部署队列;
基于所述第二可调度部署队列和所述软件负载均衡副本数,确定所述最终可调度部署队列。
具体地,负载调度系统根据最优服务器节点的CPU规格和CPU平均值,计算得到剩余可用CPU值AvaCPU,剩余可用CPU值AvaCPU的计算公式如下:
进一步地,负载调度系统根据最优服务器节点的内存规格和内存平均值,计算得到剩余可用内存值AvaMem,剩余可用内存值AvaMem的计算公式如下:
进一步地,负载调度系统获取用户设置的软件负载均衡实例的CPU规格CPUh和内存规格Memh,部署节点操作系统预留的CPU和内存空间为1C/2G。
进一步地,负载调度系统根据最优服务器节点的剩余可用CPU值和剩余可用内存值,确定第二可调度部署队列,具体为:
若AvaCPU>CPUh且Memh>AvaMem,负载调度系统则当前服务器算力可满足副本实例的调度需求,并作为最优节点添加至可部署队列Qa,得到第二可调度部署队列。若AvaCPU>CPUh且Memh<AvaMem,负载调度系统则循环上述步骤。
进一步地,负载调度系统根据第二可调度部署队列和软件负载均衡副本数,确定最终可调度部署队列。
本申请实施例实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
在一实施例中,基于所述第二可调度部署队列和所述软件负载均衡副本数,确定最终可调度部署队列,包括:
若确定所述第二可调度部署队列的节点数量小于所述软件负载均衡副本数,则循环执行步骤:基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点,直至所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数;
若确定所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数,则将所述第二可调度部署队列确定为所述最终可调度部署队列。
具体地,若确定第二可调度部署队列Qa的节点数量小于软件负载均衡副本数,负载调度系统则循环执行步骤:基于目标调度部署队列Qs中各个目标服务器节点的CPU值,确定算力最优服务器节点,具体参照上述实施例,在此不再赘述,直至第二可调度部署队列Qa的节点数量大于或者等于软件负载均衡副本数。
若确定第二可调度部署队列Qa的节点数量大于或者等于软件负载均衡副本数,负载调度系统则将第二可调度部署队列Qa确定为最终可调度部署队列。进一步地,负载调度系统向管理控制器以列表形式返回最终可调度部署队列。
本申请实施例实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
在一实施例中,软件负载均衡调度方法还包括:
响应客户端发起的创建软件负载请求和负载均衡配置文件,并基于所述软件负载请求调度可部署服务器节点列表;
建立与所述可部署服务器节点列表中服务器节点的传输通道,并通过所述传输通道将所述负载均衡配置文件和软件负载均衡的安装介质,下发至服务器节点中的指定文件目录;
基于服务器节点副本实例的进程运行端口向所有副本实例发送TCP连接请求;所述进程运行端口是启动节点负载均衡实例的端口;
若接收到请求响应,则确定所述服务器节点副本实例初始化正常,并将初始化后的实例信息添加至就绪服务列表。
需要说明的是,安装介质是部署负载均衡实例的软件安装包,安装包需要放在节点的指定文件目录下,进程运行端口即负载均衡实例启动运行时使用的端口。
具体地,参照图4,图4是管理控制器和分布式控制器代理流程图。均衡调度系统接收客户端(Web界面)发起的创建软件负载请求,通过统一接口调度器请求本次的可部署服务器节点列表。
进一步地,均衡调度系统根据调度器返回的可部署服务器节点列表,通过SSH方式与可部署服务器节点列表中的服务器节点建立远程安全的传输通道,通过该传输通道下发软件负载均衡的安装介质至服务器节点的指定文件目录。
进一步地,管理用户设定的负载均衡配置文件,负载均衡配置文件包括名称、类型、副本数量、工作模式(L4/L7)、连接数限制和负载均衡策略,通过传输通道下发配置文件至服务器节点的指定目录。
进一步地,管理控制器调用分布式控制器代理的远程API接口,下发启动指令,分布式控制器代理通过预置的端口范围选取一个端口作为服务器节点副本实例的进程运行端口,启动指定目录下的安装介质。服务器上的副本实例加载指定目录下的配置文件,进行初始化。分布式控制器代理向管理控制器上报副本实例的服务器节点IP与端口信息。进一步地,管理控制器根据副本实例的服务器IP与端口信息,定时向所有副本实例发送TCP连接请求。如果请求被正确响应,即接收到请求响应,管理控制器则确定服务器节点副本实例初始化正常,并将服务器节点副本实例初始化后得到的实例信息添加至就绪服务列表中。若请求无法响应,即未接收到请求响应,管理控制器则确定服务器节点副本实例状态异常,并将服务器节点副本实例标记为未就绪,直至恢复正常。
本申请实施例通过统一调度管理架构将数据转发与管控分离,通过统一调度器、管理控制器和分布式控制器代理,实现了对分布式软件负载均衡多副本实例调度的统一管理。
下面对本申请实施例提供的软件负载均衡调度系统进行描述,下文描述的软件负载均衡调度系统与上文描述的软件负载均衡调度方法可相互对应参照。
参考图5,图5是本申请实施例提供的软件负载均衡调度系统的结构图,本申请实施例提供的软件负载均衡调度系统包括:
获取模块501,用于获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
第一确定模块502,用于基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
第二确定模块503,用于基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
均衡调度模块504,用于基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
本申请实施例提供的软件负载均衡调度系统,获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;基于第一可调度部署队列和可用服务器节点,得到目标调度部署队列;基于目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;基于算力最优服务器节点和软件负载均衡副本数,确定最终可调度部署队列。在软件负载均衡调度的过程中,实时获取并计算服务器节点的算力情况,确保同一分布式软件负载的不同副本实例均衡部署在不同的且算力最优的服务器节点,实现了分布式软件负载副本实例的均衡部署,使得每个副本在部署和扩容时,能够均衡部署至不同且算力最优节点,解决了集群热点问题,有效增加了分布式软件负载的高可用性。
在一个实施例中,第二确定模块503还用于:
计算所述目标调度部署队列中各个目标服务器节点的采集指标数量;
根据各个目标服务器节点的CPU值和采集指标数量,得到各个目标服务器节点的CPU平均值,并根据各个目标服务器节点的CPU平均值确定所述算力最优服务器节点。
在一个实施例中,第二确定模块503还用于:
基于各个目标服务器节点的CPU平均值对所述目标调度部署队列中的目标服务器节点进行排序,并将算力可用值最大的目标服务器节点确定为所述算力最优服务器节点。
在一个实施例中,均衡调度模块504还用于:
根据所述算力最优服务器节点的内存值和采集指标数量,得到所述算力最优服务器节点的内存平均值;
获取所述最优服务器节点的CPU规格和内存规格;
根据所述软件负载均衡副本数以及所述最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定所述最终可调度部署队列。
在一个实施例中,均衡调度模块504还用于:
基于所述最优服务器节点的CPU规格和CPU平均值,确定剩余可用CPU值,并基于所述最优服务器节点的内存规格和内存平均值,确定剩余可用内存值;
基于所述最优服务器节点的剩余可用CPU值和剩余可用内存值,确定第二可调度部署队列;
基于所述第二可调度部署队列和所述软件负载均衡副本数,确定所述最终可调度部署队列。
在一个实施例中,均衡调度模块504还用于:
若确定所述第二可调度部署队列的节点数量小于所述软件负载均衡副本数,则循环执行步骤:基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点,直至所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数;
若确定所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数,则将所述第二可调度部署队列确定为所述最终可调度部署队列。
在一个实施例中,软件负载均衡调度系统还用于:
响应客户端发起的创建软件负载请求和负载均衡配置文件,并基于所述软件负载请求调度可部署服务器节点列表;
建立与所述可部署服务器节点列表中服务器节点的传输通道,并通过所述传输通道将所述负载均衡配置文件和软件负载均衡的安装介质,下发至服务器节点中的指定文件目录;
基于服务器节点副本实例的进程运行端口向所有副本实例发送TCP连接请求;所述进程运行端口是启动节点负载均衡实例的端口;
若接收到请求响应,则确定所述服务器节点副本实例初始化正常,并将初始化后的实例信息添加至就绪服务列表。
本申请提供的软件负载均衡调度系统的具体实施例与软件负载均衡调度方法各实施例基本相同,在此不作赘述。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communication Interface)620、存储器(memory)630和通信总线660,其中,处理器610,通信接口620,存储器630通过通信总线660完成相互间的通信。处理器610可以调用存储器630中的确定机程序,以执行软件负载均衡调度方法的步骤,例如包括:
获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个确定机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该确定机软件产品存储在一个存储介质中,包括若干指令用以使得一台确定机设备(可以是个人确定机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种非暂态确定机可读存储介质,所述非暂态确定机可读存储介质包括确定机程序,所述确定机程序可存储在非暂态确定机可读存储介质上,所述确定机程序被处理器执行时,确定机能够执行上述各实施例所提供的软件负载均衡调度方法的步骤,例如包括:
获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
又一方面,本申请实施例还提供一种计算机产品,所述计算机产品包括确定机程序,所述确定机程序可存储在计算机产品上,所述确定机程序被处理器执行时,确定机能够执行上述各实施例所提供的软件负载均衡调度方法的步骤,例如包括:
获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该确定机软件产品可以存储在确定机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台确定机设备(可以是个人确定机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种软件负载均衡调度方法,其特征在于,包括:
获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
2.根据权利要求1所述的软件负载均衡调度方法,其特征在于,所述基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点,包括:
计算所述目标调度部署队列中各个目标服务器节点的采集指标数量;
根据各个目标服务器节点的CPU值和采集指标数量,得到各个目标服务器节点的CPU平均值,并根据各个目标服务器节点的CPU平均值确定所述算力最优服务器节点。
3.根据权利要求2所述的软件负载均衡调度方法,其特征在于,所述根据各个目标服务器节点的CPU平均值确定所述算力最优服务器节点,包括:
基于各个目标服务器节点的CPU平均值对所述目标调度部署队列中的目标服务器节点进行排序,并将算力可用值最大的目标服务器节点确定为所述算力最优服务器节点。
4.根据权利要求1所述的软件负载均衡调度方法,其特征在于,所述基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列,包括:
根据所述算力最优服务器节点的内存值和采集指标数量,得到所述算力最优服务器节点的内存平均值;
获取所述最优服务器节点的CPU规格和内存规格;
根据所述软件负载均衡副本数以及所述最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定所述最终可调度部署队列。
5.根据权利要求4所述的软件负载均衡调度方法,其特征在于,所述根据所述软件负载均衡副本数以及所述最优服务器节点的CPU规格、内存规格、CPU平均值和内存平均值,确定所述最终可调度部署队列,包括:
基于所述最优服务器节点的CPU规格和CPU平均值,确定剩余可用CPU值,并基于所述最优服务器节点的内存规格和内存平均值,确定剩余可用内存值;
基于所述最优服务器节点的剩余可用CPU值和剩余可用内存值,确定第二可调度部署队列;
基于所述第二可调度部署队列和所述软件负载均衡副本数,确定所述最终可调度部署队列。
6.根据权利要求5所述的软件负载均衡调度方法,其特征在于,所述基于所述第二可调度部署队列和所述软件负载均衡副本数,确定最终可调度部署队列,包括:
若确定所述第二可调度部署队列的节点数量小于所述软件负载均衡副本数,则循环执行步骤:基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点,直至所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数;
若确定所述第二可调度部署队列的节点数量大于或者等于所述软件负载均衡副本数,则将所述第二可调度部署队列确定为所述最终可调度部署队列。
7.根据权利要求1至6任一项所述的软件负载均衡调度方法,其特征在于,所述软件负载均衡调度方法还包括:
响应客户端发起的创建软件负载请求和负载均衡配置文件,并基于所述软件负载请求调度可部署服务器节点列表;
建立与所述可部署服务器节点列表中服务器节点的传输通道,并通过所述传输通道将所述负载均衡配置文件和软件负载均衡的安装介质,下发至服务器节点中的指定文件目录;
基于服务器节点副本实例的进程运行端口向所有副本实例发送TCP连接请求;所述进程运行端口是启动节点负载均衡实例的端口;
若接收到请求响应,则确定所述服务器节点副本实例初始化正常,并将初始化后的实例信息添加至就绪服务列表。
8.一种软件负载均衡调度系统,其特征在于,包括:
获取模块,用于获取第一可调度部署队列、软件负载均衡副本数和服务器集群中的可用服务器节点;
第一确定模块,用于基于所述第一可调度部署队列和所述可用服务器节点,得到目标调度部署队列;
第二确定模块,用于基于所述目标调度部署队列中各个目标服务器节点的CPU值,确定算力最优服务器节点;
均衡调度模块,用于基于所述算力最优服务器节点和所述软件负载均衡副本数,确定最终可调度部署队列。
9.一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的确定机程序,其特征在于,所述处理器执行所述确定机程序时实现权利要求1至7任一项所述的软件负载均衡调度方法。
10.一种非暂态确定机可读存储介质,所述非暂态确定机可读存储介质包括确定机程序,其特征在于,所述确定机程序被处理器执行时实现权利要求1至7任一项所述的软件负载均衡调度方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311095702.8A CN117221326A (zh) | 2023-08-28 | 2023-08-28 | 软件负载均衡调度方法、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311095702.8A CN117221326A (zh) | 2023-08-28 | 2023-08-28 | 软件负载均衡调度方法、系统、电子设备和存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117221326A true CN117221326A (zh) | 2023-12-12 |
Family
ID=89036168
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311095702.8A Pending CN117221326A (zh) | 2023-08-28 | 2023-08-28 | 软件负载均衡调度方法、系统、电子设备和存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117221326A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118158222A (zh) * | 2024-05-11 | 2024-06-07 | 中移(苏州)软件技术有限公司 | 负载均衡器部署方法、装置、电子设备、存储介质及产品 |
| CN120066686A (zh) * | 2025-04-27 | 2025-05-30 | 中国科学院沈阳自动化研究所 | 一种基于动态负载的容器冗余调度方法及系统 |
-
2023
- 2023-08-28 CN CN202311095702.8A patent/CN117221326A/zh active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118158222A (zh) * | 2024-05-11 | 2024-06-07 | 中移(苏州)软件技术有限公司 | 负载均衡器部署方法、装置、电子设备、存储介质及产品 |
| CN120066686A (zh) * | 2025-04-27 | 2025-05-30 | 中国科学院沈阳自动化研究所 | 一种基于动态负载的容器冗余调度方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4984169B2 (ja) | 負荷分散プログラム、負荷分散方法、負荷分散装置およびそれを含むシステム | |
| CN112783607A (zh) | 容器集群中任务部署方法及装置 | |
| US8533731B2 (en) | Apparatus and method for distrubuting complex events based on correlations therebetween | |
| CN110365748A (zh) | 业务数据的处理方法和装置、存储介质及电子装置 | |
| CN111176803B (zh) | 业务处理方法、装置、服务器及存储介质 | |
| CN109151045A (zh) | 一种分布式云系统及监控方法 | |
| CN112631758B (zh) | 一种边缘计算资源调度方法、装置、设备及可读存储介质 | |
| CN117221326A (zh) | 软件负载均衡调度方法、系统、电子设备和存储介质 | |
| CN111177160B (zh) | 服务更新方法、装置、服务器及介质 | |
| CN111796933A (zh) | 资源调度方法、装置、存储介质和电子设备 | |
| CN113434591B (zh) | 数据处理方法以及装置 | |
| CN114048033A (zh) | 跑批任务的负载均衡方法、装置及计算机设备 | |
| CN117632461A (zh) | 任务调度方法、装置、存储介质及计算机设备 | |
| CN115357351A (zh) | 算力网络调度方法、装置、系统、设备及介质 | |
| CN112631680B (zh) | 微服务容器调度系统、方法、装置和计算机设备 | |
| CN108459926B (zh) | 数据异地备份方法、装置及计算机可读介质 | |
| CN117608823A (zh) | 资源管理方法、装置、设备及存储介质 | |
| CN111866159A (zh) | 人工智能服务的调用方法、系统、设备和存储介质 | |
| CN118034941B (zh) | 集群算力优化方法、装置、设备及存储介质 | |
| CN117076057B (zh) | 一种ai服务请求调度的方法、装置、设备及介质 | |
| US20190196873A1 (en) | Management device and management method | |
| CN114666223B (zh) | 云计算资源池处理方法、装置及可读存储介质 | |
| CN117336372A (zh) | 一种面向Kubernetes容器化微服务调度方法及系统 | |
| CN116701126A (zh) | pod容量控制方法及装置 | |
| CN111064636B (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 |