利索能及
我要发布
收藏
专利号: 2022104597529
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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服务器对抗高并发的能力,增强系统的稳定性和可靠性;

所述的机器学习算法在模型训练服务器在收到数据后,以一小时为间隔计算每天每个时间段内服务器的平均响应时间;假设一天某一时间段内的平均响应时间为Tw(t),其中t为时间,其取值范围是(1,2,...,24),w为当天的星期,取值范围是(1,2,...,7);服务器在一天的响应时间为Td=[Tw(1),Tw(2),...,Tw(24)],其中d为当天日期,那么之后一天的响应时间为Td+1=[T(w+1)mod7(1),T(w+1)mod7(2),...,T(w+1)mod7(24)];将Tw(t)和w作为神经网络的输入,T(w+1)mod7(t)作为输出,即神经网络拥有2个输入神经元和1个输出神经元;隐藏神经元的个数m通常由公式 得到,并且根据具体实验结果进行调整,其中n为输入层节点个数,l为输出层节点个数;同时,由于响应时间和星期两组数据差距巨大,需要在将数据输入BP神经网络前,需要对数据进行归一化处理,使用公式如下:其中x为原始输入值,y为归一化后的输入值,max和min分别为数据中的最大最小值;因此,根据以下策略进行BP神经网络预测:将W=[w1,w2,...,w24]和它的归一化值作为一组输入,Td+1归一化值作为输出;反归一化后,将Td+1提供给后续的步骤使用;

所述的调度策略将工作中的服务器能承受的负载上限和下一个时间段的预测负载进行比较,根据结果做出相应的调整,使用公式:

计算得到当前工作中的服务器可承载的负载上限P,其中Tt表示当前时间段的平均响应时间,Tt+1表示下一时间段的预测响应时间,N表示服务器总数,k表示已经使用的服务器数量,Tc表示该天服务器的平均响应时间,Tm表示当天服务器的最大响应时间;设置调度策略所能接受的负载上限T和调度所能接受的负载下限D;①当k

②当k>2且 表示当前工作的服务器未达到调度策略所接受的负

载下限,可以闲置一个服务器;③当k=2且 且Td+2‑Td+1<0,则空闲

一个服务器;其中Td+2为两天后的预测值。

2.如权利要求1所述的一种具有Web负载均衡技术的系统的使用方法,其特征在于:包括:

S1、Nginx服务器启动后,会通过读取配置文件,进行全局初始化;Nginx的接收日志会持续获取Web服务器集群中各个业务服务器的响应时间参数;

S2、Nginx服务器会将响应时间信息发送到模型训练服务器,之后模型训练服务器会根据预先设置好的BP神经网络算法计算各个业务服务器对应时间段的预测响应时间,通过预测响应时间计算出预测负载值,并将其与负载上下限进行比较;

S3、Nginx服务器会根据比较的结果,对各业务服务器的权值做出相应的处理;当预测负载值超过负载上限时,系统会将新的用户请求发送至空闲的服务器中,当预测负载值低于负载下限时,系统会将不稳定的服务器闲置。