一种具有Web负载均衡技术的系统技术方案

技术编号:34796771 阅读:18 留言:0更新日期:2022-09-03 20:02
一种具有Web负载均衡技术的系统,Nginx服务器接收用户通过客户端设备发送的请求并将执行后的结果返回给用户,Nginx服务器在收到用户发送的请求后根据负载均衡算法选择适当的Web服务器建立双向通信,Web服务器根据用户发送的请求向数据库查询并获取相对应的数据;模型训练服务器接收Nginx服务器中的数据并通过机器学习算法计算出预测值并返回给Nginx服务器;数据库服务器包括MySQL数据库和Redis数据库,其中MySQL数据库用来存放持久化数据,Redis数据库作为缓存使用。本发明专利技术还包括一种具有Web负载均衡技术的系统的使用方法。本发明专利技术减轻Nginx负载均衡器的计算消耗,提高了Nginx服务器的运算能力。Nginx服务器的运算能力。Nginx服务器的运算能力。

【技术实现步骤摘要】
一种具有Web负载均衡技术的系统


[0001]本专利技术涉及互联网
,特别是涉及一种Web服务器的负载均衡技术系统。

技术介绍

[0002]现如今,互联网在人们的日常生活中起到了越来越大的影响,特别是在金融业务和电子商务等领域,借助互联网的线上模式逐渐成为了主流。但同时,随着越来越多的人开始使用互联网,爆炸式增长的用户请求给Web服务器带来了巨大的压力,因此,如何高效地处理高并发问题成为了一大研究热点。
[0003]2021年天猫双十一购物节的成交额高达5403亿元,这期间大量用户给Web服务器带来了巨大的压力。当用户访问的并发数超过一定临界点后,Web服务器会形成阻塞,造成用户的访问请求难以准确及时地被响应。所以有效地应对庞大且突发性的请求,确保Web服务器能够承受大量的用户请求,并且为用户提供稳定可靠的服务,已经成为互联网应用开发中不可忽视的问题。

技术实现思路

[0004]为了解决以上问题,本专利技术提供了一种基于预测的负载均衡技术的系统及方法,使用BP神经网络对服务器相应时间进行实时预测,将预测的结果作为服务器分配的重要依据,根据各个服务器的空闲程度,通过负载均衡技术将不同用户的请求合理地分配给集群中的各个业务服务器,减少系统的响应时间,同时促进资源节约。
[0005]本专利技术的目的可以通过以下技术方案实现:
[0006]一种具有Web负载均衡技术的系统,包括数据库服务器,Nginx 服务器,Web服务器集群,模型训练服务器;其中Nginx服务器接收用户通过客户端设备发送的请求并将执行后的结果返回给用户, Nginx服务器在收到用户发送的请求后根据负载均衡算法选择适当的 Web服务器建立双向通信,Web服务器根据用户发送的请求向数据库查询并获取相对应的数据。模型训练服务器接收Nginx服务器中的数据并通过机器学习算法计算出预测值并返回给Nginx服务器。所述的数据库服务器包括MySQL数据库和Redis数据库,其中MySQL数据库用来存放持久化数据,Redis数据库作为缓存使用,在查找数据的过程中,首先查找缓存中的数据,即Redis中的数据,若成功找到则会返回相应的结果;若未找到所需数据就重新查找MySQL数据库,并通过查询到的结果更新Redis数据库。
[0007]所述的Web服务器集群是多个业务服务器组成的集群,处理客户端的不同请求,执行用户发送的请求中的内容进行或访问对应的数据库。
[0008]所述的Nginx前端服务器处理用户发起的动态请求,通过预先配置的负载均衡算法,将请求分配到所述的Web服务器集群中的各个业务服务器;
[0009]所述的模型训练服务器是设置预测各业务服务器的响应时间。 Nginx服务器的接收日志持续地收集对各业务服务器的响应时间,并将数据上传至模型训练服务器。模型训练服务器将收集到的时间信息按照星期和时间进行分组,同时计算出每个时间段内的平均
响应时间,再将得到的数据通过BP神经网络算法预测出未来一周内各个服务器在每个时间段内的平均响应时间,将结果作为判断服务器空闲状态的重要依据返回给Nginx服务器。
[0010]所述的负载均衡算法通过分析和Web服务器集群中各个业务服务器处理请求的响应时间参数和模型训练服务器返回的处理结果,将所得的结果根据调度策略预测下一个时间段服务器集群能否承受高并发带来的压力,进而判断是否需要增加或减少服务器实例,从而选出最合适的业务服务器,从而将请求更好地分配给各业务服务器,提高Web服务器对抗高并发的能力,增强系统的稳定性和可靠性。
[0011]所述的机器学习算法在模型训练服务器在收到数据后,以一小时为间隔计算每天每个时间段内服务器的平均响应时间。假设一天某一时间段内的平均响应时间为T
w
(t),其中t为时间,其取值范围是 (1,2,...,24),w为当天的星期,取值范围是(1,2,...,7)。服务器在一天的响应时间为T
d
=[T
w
(1),T
w
(2),...,T
w
(24)],其中d为当天日期,那么之后一天的响应时间为T
d+1
=[T
(w+1)mod7
(1),T
(w+1)mod7
(2),...,T
(w+1)mod7
(24)]。将T
w
(t) 和w作为神经网络的输入,T
(w+1)mod7
(t)作为输出,即神经网络拥有2 个输入神经元和1个输出神经元。隐藏神经元的个数m通常由公式得到,并且根据具体实验结果进行调整,其中n为输入层节点个数,l为输出层节点个数。同时,由于响应时间和星期两组数据差距巨大,需要在将数据输入BP神经网络前,需要对数据进行归一化处理,使用公式如下:
[0012][0013]其中x为原始输入值,y为归一化后的输入值,max和min分别为数据中的最大最小值。因此,根据以下策略进行BP神经网络预测:将 W=[w1,w2,...,w
24
]和它的归一化值作为一组输入,T
d+1
归一化值作为输出。反归一化后,将T
d+1
提供给后续的步骤使用。
[0014]所述的调度策略将工作中的服务器能承受的负载上限和下一个时间段的预测负载进行比较,根据结果做出相应的调整。使用公式:
[0015][0016]计算得到当前工作中的服务器可承载的负载上限P,其中T
t
表示当前时间段的平均响应时间,T
t+1
表示下一时间段的预测响应时间,N表示服务器总数,k表示已经使用的服务器数量,T
c
表示该天服务器的平均响应时间,T
m
表示当天服务器的最大响应时间。设置调度策略所能接受的负载上限T和调度所能接受的负载下限D。

当k<N并且表示当前工作的服务器已达到负载上限,需要将新的用户请求发送至其他空闲的服务器。

当k>2且当k>2且表示当前工作的服务器未达到调度策略所接受的负载下限,可以闲置一个服务器。

当k=2且且T
d+2
‑ꢀ
T
d+1
<0,则空闲一个服务器。其中T
d+2
为两天后的预测值。
[0017]本专利技术的一种具有Web负载均衡技术的系统的使用方法,包括:
[0018]S1、Nginx服务器启动后,会通过读取配置文件,进行全局初始化。Nginx的接收日志会持续获取Web服务器集群中各个业务服务器的响应时间参数。
[0019]S2、Nginx服务器会将响应时间信息发送到模型训练服务器,之后模型训练服务器会根据预先设置好的BP神经网络算法计算各个业务服务器对应时间段的预测响应时间,通过预测响应时间计算出预测负载值,并将其与负载上下限进行比较;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种具有Web负载均衡技术的系统,其特征在于:包括数据库服务器,Nginx服务器,Web服务器集群,模型训练服务器;其中Nginx服务器接收用户通过客户端设备发送的请求并将执行后的结果返回给用户,Nginx服务器在收到用户发送的请求后根据负载均衡算法选择适当的Web服务器建立双向通信,Web服务器根据用户发送的请求向数据库查询并获取相对应的数据;模型训练服务器接收Nginx服务器中的数据并通过机器学习算法计算出预测值并返回给Nginx服务器;所述的数据库服务器包括MySQL数据库和Redis数据库,其中MySQL数据库用来存放持久化数据,Redis数据库作为缓存使用,在查找数据的过程中,首先查找缓存中的数据,即Redis中的数据,若成功找到则会返回相应的结果;若未找到所需数据就重新查找MySQL数据库,并通过查询到的结果更新Redis数据库;所述的Web服务器集群是多个业务服务器组成的集群,处理客户端的不同请求,执行用户发送的请求中的内容进行或访问对应的数据库;所述的Nginx前端服务器处理用户发起的动态请求,通过预先配置的负载均衡算法,将请求分配到所述的Web服务器集群中的各个业务服务器;所述的模型训练服务器是设置预测各业务服务器的响应时间;Nginx服务器的接收日志持续地收集对各业务服务器的响应时间,并将数据上传至模型训练服务器;模型训练服务器将收集到的时间信息按照星期和时间进行分组,同时计算出每个时间段内的平均响应时间,再将得到的数据通过BP神经网络算法预测出未来一周内各个服务器在每个时间段内的平均响应时间,将结果作为判断服务器空闲状态的重要依据返回给Nginx服务器;所述的负载均衡算法通过分析和Web服务器集群中各个业务服务器处理请求的响应时间参数和模型训练服务器返回的处理结果,将所得的结果根据调度策略预测下一个时间段服务器集群能否承受高并发带来的压力,进而判断是否需要增加或减少服务器实例,从而选出最合适的业务服务器,从而将请求更好地分配给各业务服务器,提高Web服务器对抗高并发的能力,增强系统的稳定性和可靠性;所述的机器学习算法在模型训练服务器在收到数据后,以一小时为间隔计算每天每个时间段内服务器的平均响应时间;假设一天某一时间段内的平均响应时间为T
w
(t),其中t为时间,其取值范围是(1,2,...,24),w为当天的星期,取值范围是(1,2,...,7);服务器在一天的响应时间为T
d
=[T
w
(1),T
w
(2),...,T
w
(24)],其中d为当天日期,那么之后一天的响应时间为T
d+1
=[T
(w+1)mod7
(1),T
(w+1)mod7
(2),...,T
(w+1)mod7<...

【专利技术属性】
技术研发人员:孟利民张舒楠蒋维林梦嫚应颂翔
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1