一种网关负载均衡控制方法、装置、设备及可读存储介质与流程

文档序号:33623506发布日期:2023-03-25 13:53阅读:25来源:国知局
一种网关负载均衡控制方法、装置、设备及可读存储介质与流程

1.本技术涉及互联网技术领域,尤其涉及一种网关负载均衡控制方法、装置、设备及可读存储介质。


背景技术:

2.随着互联网应用技术的发展与完善,人们大多日常的办公、通讯、出行、购物等都可以通过访问网站来完成。但随着大批量用户的访问请求量增多,网站服务器处理用户的访问请求时的压力也在不断增大。
3.为了保证服务器能承受用户海量的访问请求而不造成宕机,通常在网关到业务层之间使用传统负载均衡方法,通常是将接收到的访问请求轮流分配给微服务网关集群中的各个服务器处理,但在现实生产中,集群中各个服务器的机器硬件资源配置在大多数情况下很难达到一致,且在项目运行过程中剩余的硬件资源难以预测,现有的负载均衡方法无法实时依据每台服务器剩余硬件资源进行动态选择,容易存在某些硬件资源较为充足的服务器没有充分利用其硬件资源,而某些硬件资源较为匮乏的服务器超负载处理请求,导致服务器宕机的问题。


技术实现要素:

4.本技术旨在至少能解决上述的技术缺陷之一,有鉴于此,本技术提供了一种网关负载均衡方法、装置、设备及可读存储介质,用于解决现有技术中无法实时依据服务器剩余硬件资源动态分配请求的技术缺陷。
5.为了实现上述目的,现提出的方案如下:
6.一种网关负载均衡控制方法,包括:
7.依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值;
8.按照预设的时间间隔,动态获取各个所述服务器的剩余硬件资源信息;
9.依据各个所述服务器的剩余硬件资源信息,将硬件资源剩余量超过所述告警阈值的所述服务器确定为第一目标服务器;
10.计算每个所述第一目标服务器的动态权重值;
11.结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值;
12.对各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列;
13.依据所述权重序列和预设的方式,确定第三目标服务器。
14.优先地,所述依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值,包括:
15.获取并依据每个所述服务器中各个硬件的信息,计算得到每个所述服务器的各个所述硬件的贡献度;
16.依据每个所述服务器的各个所述硬件的贡献度,确定每个所述服务器的初始权重值;
17.依据每个所述服务器的初始权重值和各个所述硬件的贡献度,确定每个所述服务器的每个所述硬件对应的告警因数;
18.依据每个所述服务器的每个所述硬件对应的告警因数,确定每个所述服务器的告警阈值。
19.优先地,所述按照预设的时间间隔,动态获取各个所述服务器的剩余硬件资源信息,包括:
20.将所有所述服务器进行服务注册;
21.确定完成服务注册的第二目标服务器;
22.按照所述预设的时间间隔,确定所述第二目标服务器的剩余硬件资源信息。
23.优先地,所述依据各个所述服务器的剩余硬件资源信息,将硬件资源剩余量超过所述告警阈值的所述服务器确定为第一目标服务器,包括:
24.判断是否存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器;
25.若存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,则确定所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器为所述第一目标服务器;
26.若存在所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,则确定所述剩余硬件资源信息未超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器不再处理本次访问请求。
27.优先地,所述结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值,包括:
28.确定每个所述第一目标服务器对应的所述初始权重值和所述动态权重值;
29.依据每个所述第一目标服务器对应的所述初始权重值和所述动态权重值,确定每个所述第一目标服务器的所述当前权重值。
30.优先地,所述对各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列,包括:
31.获取所有所述第一目标服务器的所述当前权重值,得到权重集合;
32.对所述权重集合的所有所述第一目标服务器的所述当前权重值进行排序,得到所述权重序列。
33.优先地,所述依据所述权重序列和预设的方式,确定第三目标服务器,包括:
34.依据所述权重序列,选出所述权重序列中所述当前权重值最高的所述第一目标服务器;
35.选出所述权重序列中所述当前权重值最高的所述第一目标服务器并确定为所述第三目标服务器。
36.一种网关负载均衡装置,包括:
37.服务器设置模块,用于依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值;
38.信息获取模块,用于按照预设的时间间隔,动态获取各个所述服务器的剩余硬件资源信息;
39.第一目标服务器确定模块,用于依据各个所述服务器的剩余硬件资源信息,将硬件资源剩余量超过所述告警阈值的所述服务器确定为第一目标服务器;
40.动态权重值计算模块,用于计算每个所述第一目标服务器的动态权重值;
41.当前权重值计算模块,用于结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值;
42.权重序列获取模块,用于对各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列;
43.第三目标服务器确定模块,用于依据所述权重序列和预设的方式,确定第三目标服务器。
44.一种网关负载均衡设备,包括:一个或多个处理器,以及存储器;
45.所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现前述介绍的任一项所述网关负载均衡控制方法的步骤。
46.一种可读存储介质,所述可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现前述介绍的任一项所述网关负载均衡控制方法的步骤。
47.从以上技术方案可以看出,本技术实施例通过依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值,并通过按照预设的时间间隔动态获取每个所述服务器的剩余硬件资源信息,有助于依据每个所述服务器的所述剩余硬件资源信息和所述告警阈值筛选出所述第一目标服务器。在通过筛选得到各个所述第一目标服务器之后,可以通过计算各个所述目标服务器的动态权重值,并结合其对应的所述初始权重值,得到每一个所述第一目标服务器的所述当前权重值,有助于依据各个所述第一目标服务器的所述当前权重值进行排序。在经过对各个所述目标服务器的所述当前权重值进行排序之后,得到权重序列,可以进一步依据所述权重序列选择对应的所述第一目标服务器并确定为所述第三目标服务器,实现了在当前负载情况下,网关的负载均衡和服务器的正常运行。本技术可以在接收请求时,依据每台所述服务器的剩余硬件资源,动态选择处理请求的服务器,可以在当前负载情况下,充分利用服务器资源,保证服务器的正常运行和网关的负载均衡。
附图说明
48.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以依据这些附图获得其它的附图。
49.图1为本技术实施例提供的一种分布式的微服务集群架构模式的网络架构的示意图;
50.图2为本技术实施例提供的一种实现网关负载均衡控制方法的流程图;
51.图3为本技术实施例示例的一种网关负载均衡控制装置结构示意图;
52.图4为本技术实施例公开的一种网关负载均衡控制设备的硬件结构框图。
具体实施方式
53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.伴随着互联网应用技术的发展与完善,人们大多日常的办公、通讯、出行、购物等都可以通过访问网站来完成。这方便人们活动的同时也给网站服务器带来了一个问题:随着大批量用户的请求量增多,网站服务器处理请求时的压力也在不断增大。
55.由于现实生产中集群中的机器硬件资源配置大多数情况下很难达到一致,且在项目运行过程中实时剩余的硬件资源更加难以预测。
56.目前大量的项目采用了分布式的微服务集群架构模式,分布式的微服务集群架构模式的网络架构的大致情况如图1所示。
57.图1所示的网络架构中nginx能够起到负载均衡作用只能作用到gateway网关层,并不能延伸到具体的业务服务。所以网关到业务层的负载均衡一般都是采用软件负载均衡。
58.鉴于目前大部分的网关负载均衡控制方案难以实时依据服务器剩余硬件资源动态分配访问请求到服务器上,为此,本技术人研究了一种网关负载均衡控制方案,该网关负载均衡控制方法能够在对访问请求分配对应处理的服务器时,根据服务器的剩余硬件资源情况动态进行服务器的分配。从而避免了存在某些硬件资源较为充足的服务器没有充分利用其硬件资源,而某些硬件资源较为匮乏的服务器超负载处理请求,导致服务器宕机的问题。
59.本技术实施例提供的方法可以用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
60.本技术实施例提供一种网关负载均衡控制方法,该方法可以应用于各种互联网系统中,亦可以应用在各种计算机终端或是智能终端中,其执行主体可以为计算机终端或是智能终端的处理器或服务器。
61.下面结合图2,介绍本技术实施例给出的网关负载均衡控制方法的流程,图2为本技术实施例提供的一种网关负载均衡控制方法的流程图,如图2所示,该流程可以包括以下几个步骤:
62.步骤s100、依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值。
63.具体地,现有的网关到业务层的负载均衡一般是采用软件负载均衡,目前通常使用的是轮询算法,主要是通过将接收到的访问请求轮流分配给各个所述服务器,其算法相对简单,更适用于每个服务器的性能都比较接近的情况,但在实际的生产环境中,集群的各个所述服务器的配置很难做到相同,故在进行访问请求分配时,可能造成某些硬件资源较为充沛的服务器无法发挥全部性能,而某些硬件资源比较匮乏的服务器由于要承受一定量
的访问请求,可能导致超负载,从而造成服务器宕机。
64.究其原因,主要是因为对所有服务器一视同仁,采用轮流分配的策略,没有考虑到每一台服务器的硬件资源。
65.在分布式系统中,为了实现负载均衡,必然会涉及到负载调度算法,如nginx、rpc服务发现、网关请求转发等场景。传统负载均衡算法可分为静态算法(static algori thm)和动态算法(dynamic algori thm)两大类。静态负载均衡算法常见的有加权随机算法,一致性哈希算法,轮询算法和加权轮询算法等。动态负载均衡算法常见的有最快响应算法,最小活跃数算法等。不同的负载均衡算法方案选择,对服务器集群的影响也不相同。下面是几种算法的简单介绍。
66.普通轮询算法的算法思想是将收到的请求以轮流分配的方式分给各个服务器,其算法简单,适用于服务器性能相近的情况。但是在实际的生产环境中,集群的各个服务器的配置并不都是相同的。
67.加权轮询算法是对普通轮询算法加以改进后的算法。在服务部署在服务器之前,开发人员会预先根据各个服务器配置性能不同,评估赋予不同的权值,使性能较好的服务器分配的权重大,性能弱的服务器分配的权重较小。通过权重调整各服务器处理的请求数,最终使得每个服务器总体处理的请求数大致等于预先分配的权重比,从而达到负载均衡的效果。
68.加权随机算法思想基于古典概率分布,加权随机算法在服务启动前,事先为每个服务器提供了相应的权值,使各台服务运行中处理的请求数近似于它们权重的比例。加权随机算法简单高效,但在请求数较少时,其中多数请求会分配给权重较大的服务,可能出现请求倾斜的情况。
69.一致性哈希算法是将服务器的ip地址或者其他信息作为依据,生成一个hash值投射到一定长度的hash环上。每当有新的请求时,根据算法,为其生成一个hash值,然后在hash环上查找出第一个大于或者等于该hash值的服务器节点,该请求会被投射在这个节点的服务器处理。以此分散服务器的请求,达到负载均衡的效果。
70.常见的衡量负载均衡算法的指标有响应时间和吞吐量。
71.响应时间是指接受和处理一定数目请求所耗费的时间,本技术实施例中默认为时间的单位为秒。
72.吞吐量是单位时间内处理的请求数量。
73.比较上述几种静态算法的性能,使用postjson分别对加权随机,加权轮询,一致性哈希算法模拟进行500、1000、1500、2000、2500并发数的用户请求,去除最大值和最小值后取平均值进行数据统计,如表1所示。
74.表1几种常见负载调度算法的性能测试效果对比表
[0075][0076]
从表1中可以看出:
[0077]
随着并发数的增加,三种算法的响应时间也逐渐增加,吞吐量趋于稳定。一致性哈希算法的响应时间高于另外两种算法,可能是因为请求处理过程中,大量的时间消耗在哈希计算中之中,也导致吞吐量低于其他两种算法。加权随机算法和加权轮询算法在响应时间和吞吐量上十分相似。由于加权轮询算法的特性,不会出现少请求量的数据倾斜问题,且服务器硬件的异构性更契合于加权轮询算法。将原本的静态算法改进为动态算法会有更大的提升空间,本发明是基于硬件资源的平滑加权轮询算法改进。
[0078]
本技术实施例立足于每一台所述服务器的硬件资源对访问请求进行动态分配,首先需要先获取各个所述服务器的硬件资源信息,根据各个服务器对应的硬件资源信息计算各个所述服务器对应的初始权重值和告警阈值,当有访问请求时,可以将各个所述服务器的初始权重值和告警阈值作为判断所述服务器的是否可以处理所述访问请求的部分条件。
[0079]
例如,可以使用熵权法,计算服务器集群中各个所述服务器的所述初始权重值。
[0080]
步骤s110、按照预设的时间间隔,动态获取各个所述服务器的剩余硬件资源信息。
[0081]
具体地,由上述介绍可知,为了保证更好的负载均衡效果和服务器性能的利用,要根据各个所述服务器的硬件资源情况进行访问请求的分配,由于访问请求是时时刻刻在变化的,各个所述服务器的剩余硬件资源也是在不断变化的。
[0082]
假设在当前时刻,存在服务器a1和服务器b1,服务器a1正在处理访问请求a1,使用了80%的硬件资源,剩余硬件资源只有20%,无法处理访问请求b1,所述访问请求b1分配给了在当前时刻空闲的,拥有100%剩余硬件资源服务器b1,但在下一时刻,所述服务器a1已经处理完所述访问请求a1,所述服务器a1的剩余硬件资源重新恢复到100%,可以满足处理访问请求c1所需要的硬件资源,则可以通过所述服务器a1对所述访问请求c1进行处理。
[0083]
所以需要按照预设的时间间隔,获取各个所述服务器在当前时刻的剩余硬件资源信息,通过各个所述服务器在当前时刻的剩余硬件资源信息了解各个所述服务器在当前时刻的剩余硬件资源情况,有助于根据各个所述服务器在当前时刻的剩余硬件资源情况进行访问请求的分配。
[0084]
步骤s120、依据各个所述服务器的剩余硬件资源信息,将硬件资源剩余量超过所述告警阈值的所述服务器确定为第一目标服务器。
[0085]
具体地,由上述介绍可知,要使所述服务器可以处理访问请求,需要保证所述服务器有足够的剩余硬件资源,同时,为了保证所述服务器不会因为硬件资源被访问请求耗尽,导致超负载,从而造成所述服务器宕机,由上述介绍可知,本技术实施例可以预设各个所述服务器的所述告警阈值,并可以设定当所述服务器的所述硬件资源剩余量超过所述服务器对应的所述告警阈值的所述服务器时,服务器可以继续处理访问请求。
[0086]
由于在步骤s110中,已经获取到各个所述服务器的剩余硬件资源信息,可以进一步获取各个所述服务器最新的所述剩余硬件资源信息,判断各个所述服务器最新的所述剩余硬件资源信息是否超过各个所述服务器对应的所述告警阈值,若所述服务器最新的所述剩余硬件资源信息低于所述服务器对应的所述告警阈值,则说明所述服务器的所述剩余硬件资源过少,无法继续处理访问请求,如若继续处理访问请求可能造成超负载,造成所述服务器宕机,若所述服务器最新的所述剩余硬件资源信息超过所述服务器对应的所述告警阈值,则说明所述服务器可以处理访问请求,可以作为所述第一目标服务器。
[0087]
步骤s130、计算每个所述第一目标服务器的动态权重值。
[0088]
具体地,由上述介绍可知,可以根据各个所述服务器的剩余硬件资源情况选出了能够处理访问请求的所述第一目标服务器,由于所述第一目标服务器有可以有多个,如何从中找出最适合处理当前时刻所接受到的访问请求的所述目标服务器,需要进一步进行判断。
[0089]
首先需要先根据在当前时刻所获取到的各个所述第一目标服务器对应的所述剩余硬件资源信息,计算各个所述第一目标服务器对应的各个硬件的动态得分。通过统计各个所述第一目标服务器对应的各个硬件对应的所述动态得分,使用预置的方式计算得到各个所述第一目标服务器对应的所述动态权重值。有助于后续根据各个所述第一目标服务器对应的所述动态权重值进一步参与筛选适合处理当前时刻接受到的访问请求。
[0090]
步骤s140、结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值。
[0091]
具体地,由上述介绍可知,本技术实施例可以获取到各个所述第一目标服务器对应的所述动态权重值,但选择处理访问请求的所述第一目标服务器不仅由对应的所述动态权重值决定,还由各个所述第一目标服务器对应的所述初始权重值决定。
[0092]
由上述介绍可知,本技术实施例已经获取到各个所述服务器对应的初始权重值,但由于各个所述第一目标服务器是从所有的所述服务器中筛选得到的,所以在步骤s100中已经获取到了各个所述第一目标服务器对应的所述初始权重值,可以通过将各个所述第一目标服务器对应的所述初始权重值和对应的所述动态权重值按照预设的处理方法进行处理,从而得到每一个所述第一目标服务器对应的当前权重值,有助于根据各个所述第一目标服务器的当前权重值选择处理当前时刻接收到访问请求的第二目标服务器。
[0093]
步骤s150、对各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列。
[0094]
具体地,由上述介绍可知,经过步骤s140,可以通过预置的处理方法对各个所述第一目标服务器对应的所述初始权重值和所述动态权重值进行计算,得到各个所述第一目标服务器对应的所述当前权重值,可以根据各个所述第一目标服务器对应的所述当前权重值确定最终处理在当前时刻接收到的访问请求的所述第一目标服务器。
[0095]
要根据各个所述第一目标服务器对应的所述当前权重值确定最终处理在当前时刻接收到的访问请求的所述第一目标服务器,需要先对获取到的各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列,方便根据权重序列选择出最适合处理当前时刻接收到的访问请求的所述第一目标服务器。
[0096]
步骤s160、依据所述权重序列和预设的方式,确定第三目标服务器。
[0097]
具体地,由上述介绍可知,经过步骤s150,可以获取到根据各个所述第一目标服务器对应的所述当前权重值排序得到的所述权重序列。可以按照预置的方式,从所述权重序列中选出最适合处理在当前时刻接收到的访问请求的所述第一目标服务器对应的所述当前权重值,并根据从所述权重序列中选出的最适合处理在当前时刻接收到的访问请求的所述第一目标服务器对应的所述当前权重值,确定对应的最适合处理在当前时刻接收到的访问请求的所述第一目标服务器为第三目标服务器。
[0098]
从上述介绍的技术方案可以看出,本技术实施例提供的方法可以通过依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值,并通过按照预设的时间间隔动态获取每个所述服务器的剩余硬件资源信息,有助于依据每个所述服务器的所述剩余硬件资源信息和所述告警阈值筛选出所述第一目标服务器。在筛选得到各个所述第一目标服务器之后,可以通过计算各个所述目标服务器的动态权重值并结合其对应的所述初始权重值,得到每一个所述第一目标服务器的所述当前权重值,在经过对各个所述目标服务器的所述当前权重值进行排序之后,得到权重序列。在得到所述权重序列之后,可以有助于根据所述权重序列选择对应的所述第一目标服务器并确定为所述第三目标服务器,实现了在当前负载情况下,依据各个所述服务器的硬件资源情况选择最适合处理当前访问请求的所述服务器。本技术可以在接收请求时,依据每台所述服务器的剩余硬件资源,动态选择处理请求的服务器,有助于在当前负载情况下,充分利用服务器资源,保证服务器的正常运行和网关的负载均衡。
[0099]
在本技术的另一个实施例中,对上述步骤s100,依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值的过程进行介绍,该过程可以包括如下几个步骤:
[0100]
步骤s201、获取并依据每个所述服务器中各个硬件的信息,计算得到每个所述服务器的各个所述硬件的贡献度。
[0101]
具体地,在接收到访问请求时,需要根据每个所述服务器的硬件资源情况来决定选择的服务器,从而实现负载均衡。
[0102]
在实际应用过程中,服务器可能会因为各种原因而发生异常,服务器发生异常可能会影响每个所述服务器的各个所述硬件的贡献度。
[0103]
因此,为了更好地计算每个所述服务器的各个所述硬件的贡献度,本技术发明人发现可以利用平滑加权轮询算法来计算每个所述服务器的各个所述硬件的贡献度。
[0104]
其中,
[0105]
计算每个所述服务器的各个所述硬件的贡献度计算实现过程可以包括如下:
[0106]
(1)计算每个所述服务器的当前权重,每个所述服务器的当前权重等于当前权重加上该服务器节点的有效权重;
[0107]
(2)将每个所述服务器的当前权重进行排序,并从中找出当前权重最大的所述服务器作为选中处理访问请求的目标服务器。
[0108]
(3)将被选中服务器对应的当前权重减去总权重;
[0109]
当需要找出最适合处理访问请求的服务器时,可以重复上述计算所述服务器的硬件的贡献度的计算过程,以此确定可以用来处理访问请求的目标服务器。
[0110]
例如,
[0111]
假设某一服务器集群t1,存在服务器a,b,c,在服务器没有发生异常的情况下,每个服务器对应的有效权重分别为:
[0112]ei
={4,2,1}
[0113]
其中,ei可以代表服务器a、b、c对应的有效权重;
[0114]ei
={4}可以表示服务器a的有效权重;
[0115]ei
={1}可以表示服务器c的有效权重;
[0116]ei
={2}可以表示服务器b的有效权重;
[0117]
则依据每个服务器对应的有效权重,可以得到服务器集群t1的总权重等于服务器a,b,c对应的有效权重之和,即
[0118][0119][0120]
其中,
[0121]et
可以表示服务器集群t的总权重;
[0122]
设置服务器a,b,c对应的当前权重初始值均为0;
[0123]
则可以根据服务器集群t1里的每个服务器对应的当前权重的排序选择对应的服务器来处理访问请求,由此可以得到如表2所示的选择结果和对应的当前权重:
[0124]
表2服务器集群t1中各个服务器在被选中为可以处理访问请求的目标服务器之前和之后的当前权重对比表
[0125][0126][0127]
由上述表2,可以看到,最终选择的目标服务器的序列为{a,b,a,c,a,b,a},该目标服务器的序列可以满足权重分配原则。
[0128]
经试验发现,通过上述平滑轮询算法虽然可以在静态上实现了根据服务器的权重
均匀分布来处理访问请求的效果,但是仅是按照静态分配的权重去考虑均匀分配访问请求,并不能动态去判断当前的服务器的硬件资源是否还能满足继续高效的处理请求。为了实现动态去判断当前的服务器的硬件资源是否还能满足继续高效的处理请求,本技术发明人在此基础上再引入对服务器资源的硬件资源权重,并作为影响服务器选择的一个影响因子来考虑对依据服务器的硬件资源来分配更合适的服务器来处理批量的访问请求。
[0129]
由上述介绍可知,各个所述服务器的初始权重值和告警阈值可以由各个所述服务器本身的硬件资源情况决定的。
[0130]
因此,要获取各个所述服务器的所述初始权重值和所述告警阈值,可以先获取每个所述服务器中各个硬件的信息。
[0131]
在实际应用过程中,影响服务器性能常见的硬件包括cpu,内存,带宽。
[0132]
由于每个所述服务器中的硬件的配置都有所不同,有的服务器的内存较大,但带宽较小,而有的服务器则可能cpu的核心数更多,但内存较小。
[0133]
可以理解的是,各个所述服务器对应的各个硬件的配置都可能存在不同,且各个所述服务器的各个硬件都会直接影响所述服务器的性能。
[0134]
为了更好地依据所述服务器的各个硬件的配置情况来计算每个所述服务器的所述初始权重值和所述告警阈值,可以先根据各个所述服务器的各个硬件的配置,计算各个所述服务器的各个硬件对所述服务器性能的贡献度,以便可以根据各个所述服务器的各个硬件对所述服务器性能的贡献度,进一步确定每个所述服务器的初始权重值。
[0135]
步骤s202、依据每个所述服务器的各个所述硬件的贡献度,确定每个所述服务器的初始权重值。
[0136]
具体地,由上述介绍可知,通过获取每个所述服务器中各个硬件的配置信息,可以计算得到各个所述服务器的各个所述硬件的贡献度。
[0137]
但得到的各个所述服务器的各个所述硬件的贡献度并不能直接反映各个所述服务器的处理访问请求的能力,还需要进一步根据各个所述服务器的各个所述硬件的贡献度,可以使用熵权法计算得到各个所述服务器的初始权重值。
[0138]
所述初始权重值可以包括根据每个所述服务器对应各个所述硬件的贡献度,通过计算得到的用来反映每个所述服务器处理访问请求的优先程度的一个因子,同时也可以作为综合各个所述服务器不同的硬件配置情况,量化各个所述服务器的硬件资源的一种综合数据。
[0139]
假设某个服务器集群t2存在服务器a2和服务器b2。
[0140]
所述服务器a2的cpu,内存,带宽与所述服务器b2完全不同,难以通过比较各个硬件对性能的贡献度判断所述服务器a2和所述服务器b2的性能情况,需要通过预置的转化方式综合所述服务器a2和所述服务器b2各个硬件的贡献度,可以得到一个可以体现服务器初始性能,方便根据各个所述服务器的性能指标决定处理访问请求服务器的指标,即所述初始权重值,所述初始权重值更高的服务器,则说明初始性能更好,要更高的权重,当接收到访问请求时,可以优先分配访问请求给所述初始权重值更高的服务器进行处理。
[0141]
步骤s203、依据每个所述服务器的初始权重值和各个所述硬件的贡献度,确定每个所述服务器的每个所述硬件对应的告警因数。
[0142]
具体地,由上述介绍可知,可以根据各个所述服务器对应的各个所述硬件的贡献
度确定所述服务器的所述初始权重值,由于服务器的性能是有限的,如果服务器超负载就会造成服务器宕机,为了保证服务器的正常运行,还需要根据各个所述服务器中各个所述硬件的贡献度和所述服务器的所述初始权重值,进一步确认每个所述服务器的每个所述硬件对应的告警因数,有利于依据确认每个所述服务器的每个所述硬件对应的告警因数,进一步确认每个所述服务器的每个所述硬件对应的告警阈值。
[0143]
步骤s204、依据每个所述服务器的每个所述硬件对应的告警因数,确定每个所述服务器的告警阈值。
[0144]
具体地,有上述介绍可知,经过步骤s203之后,可以获取到每个所述服务器的每个所述硬件对应的告警因数。
[0145]
进一步,需要依据每个所述服务器的每个所述硬件对应的告警因数确定每个所述服务器的告警阈值。
[0146]
每个所述服务器的所述告警阈值指的是影响服务器性能的最低硬件资源数值,若所述服务器的剩余硬件资源低于所述服务器的所述告警阈值,则说明所述服务器在当前时刻无法再处理访问请求,否则会超过所述服务器的负载,可能造成服务器宕机。
[0147]
例如,
[0148]
假设某个服务器集群t3中有4台服务器,可以以单核1g内存1m带宽的服务器为基准,cpu每提升1核运算能力提升2倍,内存或者带宽每提升1倍,负载能力提升1倍。其中,可以认为磁盘的提升对计算机负载的影响较小。
[0149]
服务器集群t3中的各个服务器规格可以如下述表3所示:
[0150]
表3:服务器集群t3中的各个服务器硬件规格表
[0151][0152]
则可以根据服务器集群t3中的各个服务器的各个硬件对运算能力的影响情况,可以量化得到服务器集群t3中的各个服务器的各个硬件的评分结果,服务器集群t3中的各个服务器的硬件的评分结果,见下述表4:
[0153]
表4:服务器集群t3中的各个服务器的各个硬件的评分结果表
[0154][0155]
进一步,根据上述表4,可以得出服务器集群t3中的各个服务器的各个硬件的评分矩阵如下:
[0156][0157]
在得到服务器集群t3中的各个服务器的各个硬件的评分矩阵之后,可以依据服务器集群t3中的各个服务器的各个硬件的评分矩阵,计算服务器集群t3中的各个服务器的各个硬件的贡献度,其中,服务器集群t3中的各个服务器的各个硬件的贡献度可由下述公式计算得出:
[0158][0159]
其中,
[0160]
p
ij
可以表示集群中的每个服务器的每个硬件的贡献度;
[0161]
xj可以表示集群中的每个服务器的每个硬件的评分;
[0162]
i可以表示集群中的服务器编号;
[0163]
m可以表示集群中的服务器个数。
[0164]
通过上述计算,可以得出服务器集群t3中的各个服务器的各个硬件的贡献度,其中,服务器集群t3中的各个服务器的各个硬件的贡献度可以如下述表5所示:
[0165]
表5:服务器集群t3中的各个服务器的各个硬件的贡献度结果表
[0166][0167]
根据表5,可以看出服务器集群t3中的各个服务器的各个硬件的贡献度与其对应的数值成对应的比例关系。
[0168]
在确定服务器集群t3中的各个服务器的各个硬件的贡献度,可以进一步计算服务器集群t3中的各个服务器对应的所述初始权重值,具体如下:
[0169]
由上述介绍可知,可以确定服务器集群t3中的各个服务器的各个硬件的贡献度,见上述表5。
[0170]
进一步,依据服务器集群t3中的各个服务器的各个硬件的贡献度,计算所有硬件资源对服务性能的贡献总量,具体可以包括如下:
[0171][0172][0173]
其中,
[0174]dj
=1-ej可以表示服务器集群t3中的每个服务器中所有硬件资源对服务性能的贡献总量;
[0175]
m'表示硬件的数量;
[0176]
i'可以表示每个不同的硬件;
[0177]
k可以某个常数;
[0178]
p
ij
表示每个服务器中每个硬件的贡献度。
[0179]
在实际计算过程中,为了确保计算结果的准确度,可以保证0=《ej《=1,即ej的最大值为1,当ej的取值趋于1时,特别是当ej的取值完全等于1时,可以忽略该目标硬件在决策中的作用,此时,该硬件的权重可以设置为0。
[0180]
在实际应用过程中,常数k可以依据实际计算需求来设置。
[0181]
依据本技术实施例测试的方案,可得出k=0.722,通过计算可以得到服务器集群t3中的每个服务器中每个硬件的贡献度与其取自然对数乘积的结果,如下述表6所示:
[0182]
表6:服务器集群t3中的每个服务器中每个硬件的贡献度与其取自然对数乘积的结果对照表
[0183][0184]
进一步,根据本次试验中的k的取值,结合上述介绍的服务器集群t3中的各个服务器的各个硬件评分矩阵的每一列和的乘积,可以获取本次试验中所有方案中服务器集群t3中的各个服务器的每个硬件的贡献度,至此可以计算出所有方案的服务器集群t3中的各个服务器的每个硬件的贡献总量,如下述表7所示:
[0185]
表7:服务器集群t3中的各个服务器的每个硬件对服务性能贡献总量对照表
[0186]
硬件cpu内存磁盘带宽ej
0.870.940.919
[0187]
根据表7,可以进一步计算得到服务器集群t3中的各个服务器的每个硬件在各个服务器中的贡献度一致性程度,每个硬件在各个服务器中的贡献度一致性程度可以由下述公式计算得出:
[0188]dj
=1-ej[0189]
其中,
[0190]dj
可以表示服务器集群t3中的各个服务器的每个硬件在各个服务器中的贡献度一致性程度;
[0191]ej
可以表示本次试验中所有方案的服务器集群t3中的各个服务器的每个硬件的贡献总量;
[0192]
根据上述计算结果,可以得到服务器集群t3中的各个服务器的每个硬件的贡献度一致性程度,如下述表8所示:
[0193]
表8:服务器集群t3中的各个服务器的每个硬件的贡献度一致性程度对照表
[0194]
贡献度一致性程度cpu内存磁盘带宽dj0.230.1-30.1
[0195]
根据表8,可以进一步根据服务器集群t3中的各个服务器的每个硬件的贡献度一致性程度dj,计算服务器集群t3中的各个服务器的每个硬件的权重wj,其中,服务器集群t3中的各个服务器的每个硬件的权重wj可以由下述公式计算得出:
[0196][0197]
其中,
[0198]dj
可以表示服务器集群t3中的各个服务器的每个硬件在各个服务器中的贡献度一致性程度;
[0199]
wj可以表示服务器集群t3中的各个服务器的每个硬件的权重。
[0200]
由上述介绍可知磁盘在计算机性能指标中可以不参与计算,通过计算可以得到服务器集群t3中的各个服务器的每个硬件的权重,如下表9所示:
[0201]
表9服务器集群t3中的各个服务器的每个硬件的权重对照表
[0202]
硬件cpu内存带宽权重0.530.230.23
[0203]
根据表9,可以进一步计算得到服务器集群t3中的各个服务器的每个硬件的权重得分,如下述表10所示:
[0204]
表10服务器集群t3中的各个服务器的每个硬件的权重得分对照表
[0205][0206]
根据表10,可以进一步计算服务器集群t3中的各个服务器的初始权重值,服务器集群t3中的各个服务器的初始权重值可由下述公式计算得出:
[0207][0208]
其中,
[0209]
si可以表示服务器集群t3中的各个服务器的总得分;
[0210]
p(s)可以表示服务器集群t3中的各个服务器的初始权重值。
[0211]
根据上述计算结果,可以得到服务器集群t3中的各个服务器的初始权重值,如下述表11所示:
[0212]
表11服务器集群t3中的各个服务器的初始权重值对照表
[0213]
服务器服务器a服务器b服务器c服务器d初始权重值0.1170.1730.380.33
[0214]
根据表11,可以得到服务器集群t3中的各个服务器的初始权重值,有助于根据服务器集群t3中的各个服务器的初始权重值选择适合处理当前时刻访问请求的服务器。
[0215]
从上述介绍的技术方案可以看出,本技术实施例提供的方法可以获取并依据每个所述服务器中各个硬件的信息,计算得到每个所述服务器的各个所述硬件的贡献度,有助于根据每个所述服务器的各个所述硬件的贡献度计算确定每个所述服务器的初始权重值。在得到每个所述服务器的初始权重值之后,可以进一步依据每个所述服务器的初始权重值和各个所述硬件的贡献度,确定每个所述服务器的每个所述硬件对应的告警因数,有助于根据每个所述服务器的每个所述硬件对应的告警因数确定每个所述服务器的告警阈值。本技术实施例可以通过每二个所述服务器各个硬件的信息,获取到所述服务器对应的所述初始权重值和所述告警阈值,可以有助于选择适合处理当前时刻访问请求的服务器。
[0216]
在本技术的另一个实施例中,对上述步骤s120,按照预设的时间间隔,动态获取各个所述服务器的剩余硬件资源信息的过程进行介绍,该过程可以包括如下几个步骤:
[0217]
步骤s301、将所有所述服务器进行服务注册。
[0218]
具体地,在经过步骤s110之后,可以获取到各个所述服务器的所述初始权重值和所述告警阈值,可以用于进行服务器的选择,但选择服务器对当前时刻接收到的访问请求进行处理,还需要根据各个所述服务器实时的硬件资源剩余量来确定。
[0219]
假设存在服务器a3和服务器b3。
[0220]
若经过计算,所述服务器a3的初始权重值高于所述服务器b3,但当前时刻所述服务器a3正在处理访问请求a3,而所述服务器b3正处于空闲,此时又接收到了访问请求b3若经过计算,所述服务器a3在当前时刻的所述硬件资源剩余量低于所述服务器b3的所述硬件资源剩余量,则需要选择所述服务器b3作为处理所述访问请求b3的服务器,从而保证服务器能正常运行。
[0221]
为了实现上述功能,需要实时获取各个所述服务器的剩余硬件资源信息,但要获取各个所述服务器的所述剩余硬件资源信息,需要先将各个所述服务器进行服务注册,只有实现了所述服务器的服务注册,才能实时监控各个所述服务器的剩余资源信息。
[0222]
步骤s302、确定完成服务注册的第二目标服务器。
[0223]
具体地,由上述介绍可知,经过步骤s301,可以将各个所述服务器进行服务注册,进一步,由于只有完成了服务注册的所述服务器才能够实时获取所述服务器的剩余资源信息,所以需要进一步确定完成了服务注册的服务器有哪些。
[0224]
从各个所述服务器中筛选出完成服务注册的所述服务器,并确定为第二目标服务器,有助于根据预设的时间间隔,实时获取所述第二目标服务器的剩余硬件资源信息。
[0225]
步骤s303、按照所述预设的时间间隔,确定所述第二目标服务器的剩余硬件资源信息。
[0226]
具体地,由上述介绍可知,经过步骤s302的处理之后,可以确定完成服务注册的所述服务器为所述第二目标服务器,进一步,则可以按照预设的时间间隔,实时获取所述第二目标服务器的剩余硬件资源信息。
[0227]
通过实时获取所述第二目标服务器的剩余硬件资源信息,可以在接收到访问请求时,将最新的各个所述第二目标服务器的剩余硬件资源信息作为影响选择处理所述访问请求的服务器的一个影响因子。
[0228]
从上述介绍的技术方案可以看出,本技术实施例提供的方法可以先将所有所述服务器进行服务注册并获取并确定完成服务注册的第二目标服务器,有助于根据每个所述第二目标服务器,按照所述预设的时间间隔,确定所述第二目标服务器的剩余硬件资源信息,有助于根据每个所述第二目标服务器的剩余硬件资源信息和所述告警阈值确定第一目标服务器。本技术实施例可以通过将每个所述服务器进行服务注册,实现实时获取完成服务注册的每个所述第二目标服务器对应的所述剩余硬件资源信息,可以有助于根据每个所述第二目标服务器对应的所述剩余硬件资源信息,选择适合处理当前时刻访问请求的服务器。
[0229]
在本技术的另一个实施例中,对上述步骤s130,依据各个所述服务器的剩余硬件资源信息,将硬件资源剩余量超过所述告警阈值的所述服务器确定为第一目标服务器的过程进行介绍,该过程可以包括如下几个步骤:
[0230]
步骤s401、判断是否存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器。
[0231]
具体地,由上述介绍可知,经过步骤s120之后,可以按照所述预设的时间间隔,确定所述第二目标服务器的剩余硬件资源信息。在得到所述第二目标服务器的剩余硬件资源信息之后,需要进一步根据所述第二目标服务器的剩余硬件资源信息,筛选出可以在当前时刻处理访问请求的服务器作为所述第一目标服务器。
[0232]
需要先将获取到的各个所述第二目标服务器最新的剩余硬件资源信息和与之对应的各个所述第二目标服务器的所述告警阈值进行比较,根据比较的结果,可以有助于筛选出可以在当前时刻处理访问请求的所述第二目标服务器作为所述第一目标服务器。
[0233]
若存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,则说明在当前时刻,所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器有足够的硬件资源用于处理接收到的访问请求,则可以执行步骤s402。
[0234]
若存在所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,则说明在当前时刻,所述剩余硬件资源信息未超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器没有足够的硬件资源用于处理接收到的访问请求,则可以执行步骤s403。
[0235]
步骤s402、确定所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器为所述第一目标服务器。
[0236]
具体地,由上述介绍可知,在经过步骤s401的判断之后,可以得到关于各个所述第二目标服务器对应的所述剩余硬件资源信息超过与之对应的所述服务器的所述告警阈值的关系,并根据其关系选择对应的操作。
[0237]
若存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,说明所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器可以有足够的硬件资源用于处理在当前时刻接收到的访问请求,可以将所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器确定为所述第一目标服务器,作为处理当前接收到的访问请求的候选的服务器。
[0238]
步骤s403、确定所述剩余硬件资源信息未超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器不再处理本次访问请求。
[0239]
具体地,由上述介绍可知,在经过步骤s401的判断之后,若存在所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,则说明所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,目前的硬件资源已经相对匮乏,难以支持其在当前时刻处理接收到的访问请求,故所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器可以直接跳过本次访问请求的处理,不再处理本次访问请求。
[0240]
从上述介绍的技术方案可以看出,本技术实施例提供的方法可以判断是否存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,若存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,则说明所述第二目标服务器的剩余硬件资源比较充足,依然可以处理访问请求,若存在所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,则说明所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器硬件资源的在当前时刻占用量太大,无法继续处理当前时刻的访问请求,选择直接跳过,以保证所述剩余硬件资源信息低于与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器不会因为超负载
而宕机。本技术实施例可以通过判断是否存在所述剩余硬件资源信息超过与之对应的所述第二目标服务器的所述告警阈值的所述第二目标服务器,根据判断结果对不同的所述第二目标服务器采取不同的处理方式,保证了所述第二目标服务器的负载均衡。
[0241]
在本技术的另一个实施例中,对上述步骤s140,结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值的过程进行介绍,该过程可以包括如下几个步骤:
[0242]
步骤s501、确定每个所述第一目标服务器对应的所述初始权重值和所述动态权重值。
[0243]
具体地,由上述介绍可知,在经过步骤s130的处理之后,可以计算得到每个所述第一目标服务器的动态权重值。由于判断所述第一目标服务器是否可以在当前时刻处理访问请求需要考虑各个所述服务器的所述初始权重值和所述动态权重值,需要进一步获取并确定到各个所述第一目标服务器的所述初始权重值和所述动态权重值,以便可以根据各个所述第一目标服务器的所述初始权重值和所述动态权重值确定各个所述第一目标服务器的所述当前权重值。
[0244]
步骤s502、依据每个所述第一目标服务器对应的所述初始权重值和所述动态权重值,确定每个所述第一目标服务器的所述当前权重值。
[0245]
具体地,有上述介绍可知,在步骤s501可以确定每个所述第一目标服务器对应的所述初始权重值和所述动态权重值,进一步,需要将每个所述第一目标服务器对应的所述初始权重值和所述动态权重值综合得到每个所述第一目标服务器的所述当前权重值。
[0246]
每个所述第一目标服务器的所述当前权重值可以由每个所述第一目标服务器的所述出事权重值和所述动态权重值通过相加得到,得到每个所述第一目标服务器的所述当前权重值可以有利于根据每个所述第一目标服务器的所述当前权重值选择当前时刻最适合处理访问请求的所述第一目标服务器。
[0247]
从上述介绍的技术方案可以看出,本技术实施例提供的方法可以确定每个所述第一目标服务器对应的所述初始权重值和所述动态权重值,有助于根据每个所述第一目标服务器对应的所述初始权重值和所述动态权重值确定每个所述第一目标服务器的所述当前权重值,有助于根据每个所述第一目标服务器的所述当前权重值选择对应的所述第一目标服务器作为最终处理当前时刻访问请求的服务器。本技术实施例可以通过每个所述第一目标服务器对应的所述初始权重值和所述动态权重值确定每个所述第一目标服务器的所述当前权重值,有助于根据每个所述第一目标服务器的所述当前权重值选择最终处理当前时刻访问请求的服务器。
[0248]
在本技术的另一个实施例中,对上述步骤s150,对各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列的过程进行介绍,该过程可以包括如下几个步骤:
[0249]
步骤s601、获取所有所述第一目标服务器的所述当前权重值,得到权重集合。
[0250]
具体地,由上述介绍可知,在步骤s140中,可以结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值,进一步,可以根据每一个所述第一目标服务器的当前权重值进行当前时刻最适合处理访问请求的所述第一目标服务器的选择。
[0251]
要根据每一个所述第一目标服务器的当前权重值选择当前时刻最适合处理访问
请求的所述第一目标服务器,需要先获取所有所述第一目标服务器的所述当前权重值,并综合获取到的所有所述第一目标服务器的所述当前权重值得到权重集合,有利于根据所述权重集合进行排序,方便根据所述权重序列中选出当前时刻最适合处理访问请求的所述第一目标服务器。
[0252]
步骤s602、对所述权重集合的所有所述第一目标服务器的所述当前权重值进行排序,得到所述权重序列。
[0253]
具体地,由上述介绍可知,在步骤s601中,可以获取到包含所有所述第一目标服务器的所述当前权重值的所述权重集合,由于获取到的所述权重集合的数据并非是按照大小排序的,难以直接从所述权重集合中直接找出所述当前权重值最高的所述第一目标服务器,需要进一步对所述权重集合中的各个所述第一目标服务器的所述当前权重值进行排序,方便根据排序后的结果,获取所述当前权重值最高的所述第一目标服务器。
[0254]
从上述介绍的技术方案可以看出,本技术实施例提供的方法可以先通过获取所有所述第一目标服务器的所述当前权重值,得到权重集合,有助于进一步根据所述权重集合,对所述权重集合中的每个所述第一目标服务器的所述当前权重值进行排序,从而得到所述权重序列。本技术实施例可以通过对所有所述第一目标服务器的所述当前权重值进行排序得到所述权重序列,有助于根据所述权重序列选出当前权重值最高的所述第一目标服务器作为最终处理当前时刻访问请求的服务器。
[0255]
在本技术的另一个实施例中,对上述步骤s160,依据所述权重序列和预设的方式,确定第三目标服务器的过程进行介绍,该过程可以包括如下几个步骤:
[0256]
步骤s701、依据所述权重序列,选出所述权重序列中所述当前权重值最高的所述第一目标服务器。
[0257]
具体地,由上述介绍可知,经过步骤s150的排序之后,可以得到排好序的所述权重序列,需要进一步从所述权重序列中找出当前权重值最高的所述权重值,并根据所述当前权重值最高的所述权重值找到其对应的所述第一目标服务器。
[0258]
由于所述权重序列是根据各个所述第一目标服务器的所述当前权重值进行排序的,则说明所述权重序列中所述当前权重值最高的所述当前权重值对应的所述第一目标服务器,是最适合处理在当前时刻接收到的访问请求的服务器。
[0259]
步骤s702、选出所述权重序列中所述当前权重值最高的所述第一目标服务器并确定为所述第三目标服务器。
[0260]
具体地,由上述介绍可知,在经过步骤s701之后,可以选出所述权重序列中所述当前权重值最高的所述第一目标服务器,进一步,需要将所述权重序列中所述当前权重值最高的所述第一目标服务器确定为所述第三目标服务器,所述第三目标服务器即为最适合处理在当前时刻接收到的访问请求的服务器,可以通过确定最适合处理在当前时刻接收到的访问请求的服务器为所述第三目标服务器,以供系统用于处理在当前时刻接受到的访问请求。
[0261]
从上述介绍的技术方案可以看出,本技术实施例提供的方法可以先依据所述权重序列,选出所述权重序列中所述当前权重值最高的所述第一目标服务器,有助于进一步将选出的所述权重序列中所述当前权重值最高的所述第一目标服务器并确定为所述第三目标服务器,有助于确定所述第三目标服务器为最终处理当前时刻访问请求的服务器。本申
请实施例可以根据所述权重序列,从中选出所述当前权重值最高的所述当前权重值,并根据所述当前权重值最高的所述当前权重值找到其对应的所述第一目标服务器并将其确定为所述第三目标服务器,有助于将所述第三目标服务器作为处理当前时刻访问请求的服务器。
[0262]
下面对本技术实施例提供的网关负载均衡控制装置进行描述,下文描述的网关负载均衡控制装置与上文描述的网关负载均衡控制方法可相互对应参照。
[0263]
参见图3,图3为本技术实施例公开的一种网关负载均衡控制装置结构示意图。
[0264]
如图3所示,该网关负载均衡控制装置可以包括:
[0265]
服务器设置模块11,用于依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值;
[0266]
信息获取模块12,用于按照预设的时间间隔,动态获取各个所述服务器的剩余硬件资源信息;
[0267]
第一目标服务器确定模块13,用于依据各个所述服务器的剩余硬件资源信息,将硬件资源剩余量超过所述告警阈值的所述服务器确定为第一目标服务器;
[0268]
动态权重值计算模块14,用于计算每个所述第一目标服务器的动态权重值;
[0269]
当前权重值计算模块15,用于结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值;
[0270]
权重序列获取模块16,用于对各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列;
[0271]
第三目标服务器确定模块17,用于依据所述权重序列和预设的方式,确定第三目标服务器。
[0272]
从上述介绍的技术方案可以看出,本技术实施例提供的装置可以通过使用服务器设置模块11,依据各个服务器的硬件资源信息,设置各个所述服务器的初始权重值和告警阈值,并通过信息获取模块12,按照预设的时间间隔,动态获取各个所述服务器的剩余硬件资源信息,有助于依据每个所述服务器的所述剩余硬件资源信息和所述告警阈值筛选出所述第一目标服务器。进一步,可以通过第一目标服务器确定模块13,依据各个所述服务器的剩余硬件资源信息,将硬件资源剩余量超过所述告警阈值的所述服务器确定为第一目标服务器,通过动态权重值计算模块14,计算每个所述第一目标服务器的动态权重值,并通过当前权重值计算模块15,结合每个所述第一目标服务器的所述初始权重值和所述动态权重值,得到每一个所述第一目标服务器的当前权重值,有助于根据每一个所述第一目标服务器的当前权重值确定处理当前时刻访问请求的处理器。要确定处理当前时刻访问请求的处理器,还需要根据权重序列获取模块16,对各个所述第一目标服务器的所述当前权重值进行排序,得到权重序列,并根据第三目标服务器确定模块17,依据所述权重序列和预设的方式,确定第三目标服务器,有助于将所述第三目标服务器作为处理当前时刻访问请求的服务器。本技术可以在分配当前时刻接受到的访问请求时,充分考虑每个所述服务器的硬件资源情况,并根据每个所述服务器的硬件资源情况选择分配到对应硬件资源情况最适合的服务器,保证了各个服务器的性能得到充分利用,同时也实现了负载均衡,保证了服务器的稳定性。
[0273]
其中,上述网关负载均衡控制装置所包含的各个单元的具体处理流程,可以参照
前文网关负载均衡控制方法部分相关介绍,此处不再赘述。
[0274]
本技术实施例提供的网关负载均衡控制装置可应用于智能设备,如终端:手机、电脑等。可选的,图4示出了网关负载均衡控制设备的硬件结构框图,参照图4,网关负载均衡控制设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
[0275]
在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
[0276]
处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(appl ication specific integrated circui t),或者是被配置成实施本技术实施例的一个或多个集成电路等;
[0277]
存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volati le memory)等,例如至少一个磁盘存储器;
[0278]
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述网关负载均衡控制方案中的各个处理流程。
[0279]
本技术实施例还提供一种可读存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述终端在网关负载均衡控制方案中的各个处理流程。
[0280]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0281]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0282]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。各个实施例之间可以相互组合。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1