一种负载均衡方法、装置、计算设备和存储介质与流程

专利2022-06-29  84


本发明实施例涉及通信领域,尤其涉及一种负载均衡方法、装置、计算设备和存储介质。



背景技术:

负载均衡是计算机系统针对大量服务请求使用的处理方式,主要是指将负载(工作任务)平衡地分摊到多个服务器上,多个服务器协同完成工作任务,灵活的负载均衡方法可以将服务请求合理地分配到负载较少的服务器上。

现有的实现负载均衡效果最好的是加权最小连接数方法,加权最小连接数方法以预设的权值评价服务器的处理性能,以任务连接数衡量服务器的负载,在一定程度上较好地实现了负载均衡。

但是,现有的加权最小连接方法中权值为预设的固定值,服务器的处理性能会随着负载的变化而变化,以权值评价服务器的处理性能容易导致评价不准确的问题,以任务连接数为负载依据,而实际的负载状态不能仅用连接数表示,还有可能会受到服务器本身运行状态的影响;其次,现有的加权最小连接方法需要实时获取当前服务器的连接数,在高并发处理下会加重服务器的负载,导致服务器运行缓慢。



技术实现要素:

本发明实施例提供一种负载均衡方法、装置、计算设备和存储介质,实现了网关对多个服务器处理性能的动态感知,提升了计算机系统针对大量服务请求的处理速度。

第一方面,本发明实施例提供了一种负载均衡方法,所述方法包括:

服务器在识别到网关发送的压力探测包时,对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间;

所述服务器将所述处理时间反馈给所述网关,以指示所述网关根据至少一个服务器对所述压力探测包的处理时间,确定负载最小的服务器,并向所述负载最小的服务器发送新的服务请求;

所述服务器在识别到所述网关发送的服务请求时,对所述服务请求进行处理,得到处理结果。

第二方面,本发明实施例还提供了一种负载均衡方法,所述方法包括:

网关向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间;

所述网关接收各服务器反馈的与所述压力探测包匹配的处理时间;

所述网关选取反馈最短处理时间的服务器作为负载最小的服务器;

所述网关向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

第三方面,本发明实施例提供了一种负载均衡装置,应用于服务器中,该装置包括:

压力探测包处理模块,用于在识别到网关发送的压力探测包时,对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间;

处理时间反馈模块,用于将所述处理时间反馈给所述网关,以指示所述网关根据至少一个服务器对所述压力探测包的处理时间,确定负载最小的服务器,并向所述负载最小的服务器发送新的服务请求;

服务请求处理模块,用于在识别到所述网关发送的服务请求时,对所述服务请求进行处理,得到处理结果。

第四方面,本发明实施例还提供了一种负载均衡装置,应用于网关中,该装置包括:

压力探测包发送模块,用于向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间;

处理时间接收模块,用于接收各服务器反馈的与所述压力探测包匹配的处理时间;

服务器选取模块,用于选取反馈最短处理时间的服务器作为负载最小的服务器;

服务请求发送模块,用于向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

第五方面,本发明实施例还提供了一种计算设备,该计算设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的一种负载均衡方法。

第六方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的一种负载均衡方法。

本发明实施例利用至少一个服务器处理网关发送的压力探测包,然后将获取的处理时间反馈给网关,以指示网关根据处理时间确定负载最小的服务器,并向负载最小的服务器发送新的服务请,当服务器在识别到网关发送的服务请求时,对服务请求进行处理,得到处理结果。本发明实施例中的服务器将与压力探测包匹配的全部服务信息写入服务队列,并将写入时长作为服务器负载的判定依据,准确性更高,实现了网关对多个服务器处理性能的动态感知,提升了计算机系统针对大量服务请求的处理速度。

附图说明

图1是本发明实施例一中的一种负载均衡方法的流程图;

图2是本发明实施例二中的一种负载均衡方法的流程图;

图3是本发明实施例三中的一种负载均衡装置的结构图;

图4是本发明实施例四中的一种负载均衡装置的结构图;

图5是本发明实施例五中的一种计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种负载均衡方法的流程图,本实施例可适用于至少一个服务器对网关发送的压力探测包进行处理,并将处理时间反馈给网关,以指示网关根据处理时间筛选负载最小的服务器,并向该负载最小的服务器发送新的服务请求的情形,该方法可以由负载均衡装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在服务器中,且所述服务器能够与所述网关通信,所述方法具体包括如下步骤:

步骤110、服务器在识别到网关发送的压力探测包时,对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间。

在此步骤中,压力探测包中包括预设的处理请求,比如加载特定的模块信息。压力探测包用于向至少一个服务器提供预设的处理请求,以便于测试各个服务器针对此处理请求的处理性能。

在本实施例中,网关向至少一个服务器同时发送相同的数据包,具体的,服务器可以通过识别此数据包命名中的标志符,确定此数据包为压力探测包。服务器在识别到网关发送的压力探测包时,对所述压力探测包中的处理请求开始处理,根据处理进度生成对应的服务信息。

在本实施例中,压力探测包中可以包括有至少一项服务信息,并可以预先规定服务器将上述压力探测包中包括的全部服务信息均读取至设定存储空间(典型的,服务队列)所经过的时间,作为与所述压力探测包匹配的处理时间;或者,压力探测包中可以包括有至少一项计算算子以及至少一项数据,并可以预先规定服务器基于上述数据以及计算算子得到计算结果所经过的时间,作为与所述压力探测包匹配的处理时间。

具体的,如果压力探测包中包括有至少一项服务信息,服务器可以依次读取与上述压力探测包匹配的各项服务信息,将读取的服务信息按照先后顺序写入服务队列中,并记录开始写入时间。服务器在确定将与上述压力探测包匹配的全部服务信息均写入服务队列时,记录结束写入时间。服务器根据开始写入时间以及结束写入时间,确定与压力探测包匹配的写入时长作为处理时间。

在一个具体的实施例中,假设网关向至少一个服务器同时发送相同的压力探测包,此压力探测包中包括的处理请求为加载存储模块信息,服务器在识别到网关发送的压力探测包时,根据此压力探测包中的处理请求开始加载本服务器的存储模块信息,根据加载进度生成对应的服务信息,比如服务信息可以为存储模块中各个单元的加载完成信息。服务器依次读取到上述各项服务信息后,将服务信息按照先后顺序依次写入服务队列中,并记录开始写入时间。当服务器对存储模块信息全部加载完成,上述压力探测包匹配的全部服务信息均写入服务队列时,服务器记录结束写入时间。服务器将开始写入时间与结束写入时间之间的时间间隔确定为与上述压力探测包匹配的写入时长,也即处理时间。

在此步骤中,服务器确定与上述压力探测包匹配的处理时间之后,删除服务队列中与上述压力探测包匹配的服务信息,以便于存储下一次网关发送的探测包对应的服务信息,节省服务器的存储空间,实现对服务器处理性能的动态感知。

步骤120、服务器将处理时间反馈给网关,以指示网关根据至少一个服务器对压力探测包的处理时间,确定负载最小的服务器,并向负载最小的服务器发送新的服务请求。

在本实施例中,至少一个服务器将各自对压力探测包的处理时间反馈给网关,网关在多个处理时间中筛选出最短处理时间对应的服务器,并将此服务器确定为负载最小的服务器,然后向该负载最小的服务器发送新的服务请求。

其中,新的服务请求为用户向网关发送的实际服务请求,比如指示服务器向终端发送特定的操作指令等请求。

步骤130、服务器在识别到网关发送的服务请求时,对服务请求进行处理,得到处理结果。

在一个具体的实施例中,网关向负载最小的服务器发送数据包,此服务器可以通过识别数据包命名中的标志符,确定此数据包为服务请求,然后对此服务请求进行处理,得到处理结果。

本发明实施例利用至少一个服务器处理网关发送的压力探测包,然后将获取的处理时间反馈给网关,以指示网关根据处理时间确定负载最小的服务器,并向负载最小的服务器发送新的服务请,当服务器在识别到网关发送的服务请求时,对服务请求进行处理,得到处理结果。本发明实施例中的服务器将与压力探测包匹配的全部服务信息写入服务队列,并将写入时长作为服务器负载的判定依据,准确性更高,实现了网关对多个服务器处理性能的动态感知,提升了计算机系统针对大量服务请求的处理速度。

实施例二

图2为本发明实施例二提供的一种负载均衡方法的流程图,本实施例可适用于网关向至少一个服务器发送压力探测包后,各服务器对此压力探测包进行处理,并将处理时间反馈给网关,以指示网关根据处理时间筛选负载最小的服务器,并向该负载最小的服务器发送新的服务请求的情形,该方法可以由负载均衡装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在网关中,且所述网关能够与所述服务器通信,所述方法具体包括如下步骤:

步骤210、网关向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间。

在此步骤中,压力探测包中包括预设的处理请求,比如加载特定的模块信息。压力探测包用于向至少一个服务器提供预设的处理请求,以便于网关测试各个服务器针对此处理请求的处理性能。

在本实施例中,网关向至少一个服务器同时发送相同的数据包,如果此数据包中包括预设的用于表示压力探测包的标志符,服务器确定此数据包为压力探测包,并对该压力探测包中的处理请求开始处理,根据处理进度生成对应的服务信息。

可选的,服务器可以依次读取与该压力探测包匹配的各项服务信息,将读取的服务信息按照先后顺序写入服务队列中,并记录开始写入时间。服务器在确定将与该压力探测包匹配的全部服务信息均写入服务队列时,记录结束写入时间,并将开始写入时间与结束写入时间之间的时间间隔作为与该压力探测包匹配的处理时间。

在本实施例中,网关可以以预设时间间隔,定期向至少一个服务器发送所述压力探测包,以实现网关对服务器处理性能的实时感知。或者,网关可以在检测到当前待处理的服务请求超过设定的数量阈值时,向至少一个服务器发送所述压力探测包等,本实施例对此并不进行限制。

步骤220、网关接收各服务器反馈的与所述压力探测包匹配的处理时间。

在本实施例中,网关可以根据压力探测包的发送时间,确定等待时间区间,并在所述等待时间区内,接收各服务器反馈与所述压力探测包匹配的处理时间。

具体的,网关如果检测到有一个服务器发送处理时间,则在上述等待时间区间内开启判决窗,利用判决窗接收至少一个服务器发送的处理时间。其中,判决窗的开启时刻与关闭时刻之间的时间间隔与上述等待时间区间一致。

步骤230、网关选取反馈最短处理时间的服务器作为负载最小的服务器。

步骤240、网关向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

在此步骤中,新的服务请求为用户向网关发送的实际服务请求,比如指示服务器向终端发送特定的操作指令等请求。具体的,当网关选取到负载最小的服务器后,向该服务器发送服务请求数据包。如果此数据包中包括预设的用于表示新的服务请求的标志符,服务器确定此数据包为新的服务请求,并对所述新的服务请求进行处理。

在本实施例中,网关向负载最小的服务器发送新的服务请求之前,从服务请求队列中,获取所述新的服务请求。其中,服务请求队列中存储了用户向网关发送的各项实际服务请求,比如指示服务器向终端发送特定的操作指令等请求。

本发明实施例利用网关向至少一个服务器发送压力探测包,服务器对压力探测包处理后将处理时间反馈给网关,网关选取反馈最短处理时间的服务器作为负载最小的服务器,并向该负载最小的服务器发送新的服务请求,以指示负载最小的服务器对新的服务请求进行处理。本发明实施例中的服务器将与压力探测包匹配的全部服务信息写入服务队列,并将写入时长作为服务器负载的判定依据,准确性更高,实现了网关对多个服务器处理性能的动态感知,提升了计算机系统针对大量服务请求的处理速度。

实施例三

图3为本发明实施例三提供的一种负载均衡装置的结构图,应用于服务器中,该装置包括:压力探测包处理模块310、处理时间反馈模块320和服务请求处理模块330。

其中,压力探测包处理模块310,用于在识别到网关发送的压力探测包时,对压力探测包进行处理,并获取与压力探测包匹配的处理时间;处理时间反馈模块320,用于将处理时间反馈给网关,以指示网关根据至少一个服务器对所述压力探测包的处理时间,确定负载最小的服务器,并向负载最小的服务器发送新的服务请求;服务请求处理模块330,用于在识别到所述网关发送的服务请求时,对所述服务请求进行处理,得到处理结果。

本实施例的技术方案利用至少一个服务器处理网关发送的压力探测包,然后将获取的处理时间反馈给网关,以指示网关根据处理时间确定负载最小的服务器,并向负载最小的服务器发送新的服务请,当服务器在识别到网关发送的服务请求时,对服务请求进行处理,得到处理结果。本发明实施例中的服务器将与压力探测包匹配的全部服务信息写入服务队列,并将写入时长作为服务器负载的判定依据,准确性更高,实现了网关对多个服务器处理性能的动态感知,提升了计算机系统针对大量服务请求的处理速度。

在上述各实施例的基础上,压力探测包处理模块310,可以包括:

开始写入时间记录单元,用于依次读取与所述压力探测包匹配的各项服务信息,将读取的所述服务信息按照先后顺序写入服务队列中,并记录开始写入时间;

结束写入时间记录单元,用于在确定将与所述压力探测包匹配的全部服务信息均写入所述服务队列时,记录结束写入时间;

处理时间确定单元,用于根据所述开始写入时间以及所述结束写入时间,确定与所述压力探测包匹配的写入时长作为所述处理时间;

服务信息剔除单元,用于确定与所述压力探测包匹配的写入时长作为所述处理时间之后,删除所述服务队列中与所述压力探测包匹配的服务信息。

本发明实施例所提供的负载均衡装置可执行本发明任意实施例所提供的负载均衡方法,具备执行方法相应的功能模块和有益效果。

实施例四

图4为本发明实施例四提供的一种负载均衡装置的结构图,应用于网关中,该装置包括:压力探测包发送模块410、处理时间接收模块420、服务器选取模块430和服务请求发送模块440。

其中,压力探测包发送模块410,用于向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间;处理时间接收模块420,用于接收各服务器反馈的与所述压力探测包匹配的处理时间;服务器选取模块430,用于选取反馈最短处理时间的服务器作为负载最小的服务器;服务请求发送模块440,用于向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

本发明实施例利用网关向至少一个服务器发送压力探测包,服务器对压力探测包处理后将处理时间反馈给网关,网关选取反馈最短处理时间的服务器作为负载最小的服务器,并向该负载最小的服务器发送新的服务请求,以指示负载最小的服务器对新的服务请求进行处理。本发明实施例中的服务器将与压力探测包匹配的全部服务信息写入服务队列,并将写入时长作为服务器负载的判定依据,准确性更高,实现了网关对多个服务器处理性能的动态感知,提升了计算机系统针对大量服务请求的处理速度。

在上述各实施例的基础上,压力探测包发送模块410,可以包括:

压力探测包定期发送单元,用于以预设时间间隔,定期向至少一个服务器发送所述压力探测包。

处理时间接收模块420,可以包括:

等待时间区间确定单元,用于根据所述压力探测包的发送时间,确定等待时间区间,并在所述等待时间区内,接收各服务器反馈与所述压力探测包匹配的处理时间。

服务请求发送模块440,可以包括:

新的服务请求获取单元,用于从服务请求队列中,获取新的服务请求。

本发明实施例所提供的负载均衡装置可执行本发明任意实施例所提供的负载均衡方法,具备执行方法相应的功能模块和有益效果。

实施例五

图5为本发明实施例五提供的一种计算设备的结构示意图,如图5所示,该计算设备包括处理器510、存储器520、输入装置530和输出装置540;计算设备中处理器510的数量可以是一个或多个,图5中以一个处理器510为例;计算设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线连接为例。

存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的由服务器执行的一种负载均衡方法对应的程序指令/模块(例如,一种负载均衡装置中的压力探测包处理模块310、处理时间反馈模块320和服务请求处理模块330)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算设备的各种功能应用以及数据处理,即实现上述的一种负载均衡方法。也即,该程序被处理器执行时实现:

服务器在识别到网关发送的压力探测包时,对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间;

所述服务器将所述处理时间反馈给所述网关,以指示所述网关根据至少一个服务器对所述压力探测包的处理时间,确定负载最小的服务器,并向所述负载最小的服务器发送新的服务请求;

所述服务器在识别到所述网关发送的服务请求时,对所述服务请求进行处理,得到处理结果。

存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中由网关执行的一种负载均衡方法对应的程序指令/模块(例如,一种负载均衡装置中的压力探测包发送模块410、处理时间接收模块420、服务器选取模块430和服务请求发送模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算设备的各种功能应用以及数据处理,即实现上述的一种负载均衡方法。也即,该程序被处理器执行时实现:

网关向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间;

所述网关接收各服务器反馈的与所述压力探测包匹配的处理时间;

所述网关选取反馈最短处理时间的服务器作为负载最小的服务器;

所述网关向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可用于接收输入的数字或字符信息,以及产生与计算设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置540可包括显示屏等显示设备。

实施例六

本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明实施例中由服务器执行的一种负载均衡方法中的相关操作。也即,该程序被处理器执行时实现:

服务器在识别到网关发送的压力探测包时,对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间;

所述服务器将所述处理时间反馈给所述网关,以指示所述网关根据至少一个服务器对所述压力探测包的处理时间,确定负载最小的服务器,并向所述负载最小的服务器发送新的服务请求;

所述服务器在识别到所述网关发送的服务请求时,对所述服务请求进行处理,得到处理结果。

本发明实施例所提供的一种计算机可读存储介质,其还可以执行本发明实施例中由网关执行的一种负载均衡方法中的相关操作。也即,该程序被处理器执行时实现:

网关向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间;

所述网关接收各服务器反馈的与所述压力探测包匹配的处理时间;

所述网关选取反馈最短处理时间的服务器作为负载最小的服务器;

所述网关向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述负载均衡装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。


技术特征:

1.一种负载均衡方法,其特征在于,所述方法包括:

服务器在识别到网关发送的压力探测包时,对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间;

所述服务器将所述处理时间反馈给所述网关,以指示所述网关根据至少一个服务器对所述压力探测包的处理时间,确定负载最小的服务器,并向所述负载最小的服务器发送新的服务请求;

所述服务器在识别到所述网关发送的服务请求时,对所述服务请求进行处理,得到处理结果。

2.根据权利要求1所述的方法,其特征在于,所述服务器对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间,包括:

所述服务器依次读取与所述压力探测包匹配的各项服务信息,将读取的所述服务信息按照先后顺序写入服务队列中,并记录开始写入时间;

所述服务器在确定将与所述压力探测包匹配的全部服务信息均写入所述服务队列时,记录结束写入时间;

所述服务器根据所述开始写入时间以及所述结束写入时间,确定与所述压力探测包匹配的写入时长作为所述处理时间。

3.根据权利要求2所述的方法,其特征在于,在所述服务器根据所述开始写入时间以及所述结束写入时间,确定与所述压力探测包匹配的写入时长作为所述处理时间之后,还包括:

所述服务器删除所述服务队列中与所述压力探测包匹配的服务信息。

4.一种负载均衡方法,其特征在于,包括:

网关向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间;

所述网关接收各服务器反馈的与所述压力探测包匹配的处理时间;

所述网关选取反馈最短处理时间的服务器作为负载最小的服务器;

所述网关向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

5.根据权利要求4所述的方法,其特征在于,网关向至少一个服务器发送压力探测包,包括:

所述网关以预设时间间隔,定期向至少一个服务器发送所述压力探测包。

6.根据权利要求4所述的方法,其特征在于,所述网关接收各服务器反馈与所述压力探测包匹配的处理时间,包括:

所述网关根据所述压力探测包的发送时间,确定等待时间区间,并在所述等待时间区内,接收各服务器反馈与所述压力探测包匹配的处理时间;和/或

在所述网关向所述负载最小的服务器发送新的服务请求之前,还包括:

所述网关从服务请求队列中,获取所述新的服务请求。

7.一种负载均衡装置,应用于服务器中,其特征在于,包括:

压力探测包处理模块,用于在识别到网关发送的压力探测包时,对所述压力探测包进行处理,并获取与所述压力探测包匹配的处理时间;

处理时间反馈模块,用于将所述处理时间反馈给所述网关,以指示所述网关根据至少一个服务器对所述压力探测包的处理时间,确定负载最小的服务器,并向所述负载最小的服务器发送新的服务请求;

服务请求处理模块,用于在识别到所述网关发送的服务请求时,对所述服务请求进行处理,得到处理结果。

8.一种负载均衡装置,应用于网关中,其特征在于,包括:

压力探测包发送模块,用于向至少一个服务器发送压力探测包;所述压力探测包用于指示服务器对所述压力探测包进行处理,并反馈与所述压力探测包匹配的处理时间;

处理时间接收模块,用于接收各服务器反馈的与所述压力探测包匹配的处理时间;

服务器选取模块,用于选取反馈最短处理时间的服务器作为负载最小的服务器;

服务请求发送模块,用于向所述负载最小的服务器发送新的服务请求,以指示所述负载最小的服务器对所述新的服务请求进行处理。

9.一种计算设备,其特征在于,所述计算设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的一种负载均衡方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的一种负载均衡方法。

技术总结
本发明公开了一种负载均衡方法、装置、计算设备和存储介质,该方法包括:服务器在识别到网关发送的压力探测包时,对压力探测包进行处理,并获取与该压力探测包匹配的处理时间;服务器将处理时间反馈给网关,以指示网关根据至少一个服务器对压力探测包的处理时间,确定负载最小的服务器,并向负载最小的服务器发送新的服务请求;服务器在识别到网关发送的服务请求时,对服务请求进行处理,得到处理结果。本发明实施例中的服务器将与压力探测包匹配的全部服务信息写入服务队列,并将写入时长作为服务器负载的判定依据,准确性更高,实现了网关对多个服务器处理性能的动态感知,提升了计算机系统针对大量服务请求的处理速度。

技术研发人员:谭恒杰
受保护的技术使用者:深圳乐信软件技术有限公司
技术研发日:2020.01.17
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-27812.html

最新回复(0)