一种业务驱动的Web应用负载均衡任务分配方法组成比例

技术编号:31235224 阅读:18 留言:0更新日期:2021-12-08 10:16
本发明专利技术公开了一种业务驱动的Web应用负载均衡任务分配方法,针对地域分布广、数量多的水利电力远端用户面临的并发访问度高、累积数据存储量大情况下的高效访问控制问题,负载均衡任务分配服务器采用IP_hash策略进行静态任务分配,在一个任务分配策略执行周期内,当对应Web服务器响应新接入的Web应用服务请求时间大于用户最大容忍时间时,进行动态调整任务分配,调整每个Web服务器的任务分配权重,最先达到空闲状态服务器的任务分配权重最大,将新接入的任务请求分配至最先达到空闲状态的服务器中,其余服务器的任务分配权重依其服务器剩余执行时间的增大而减小,提高多应用服务器之间的均衡度和总体任务成功接纳率。之间的均衡度和总体任务成功接纳率。之间的均衡度和总体任务成功接纳率。

【技术实现步骤摘要】
一种业务驱动的Web应用负载均衡任务分配方法


[0001]本专利技术涉及一种适用于水利电力信息系统多服务器负载均衡快速任务分配的方法,属于信息化数据访问控制


技术介绍

[0002]水利电力信息管理系统涉及的远端站点类型多样,包括水电站、风电站、光伏电站和水利枢纽工程等,不同用户间既需要适用本站的相关数据,也需要关注其他相关站点的情况,在一定访问权限和优先级的控制下,对于特殊业务数据,如发电计划的修订和执行情况应考虑数千个电站的数据访问延迟差别最小。然而由于数千用户同时使用系统,在规定时间范围内对各站点实际运行数据进行统计、计划填报,在数据集中填报和计划编制协调高峰时期(如每天上午8

9点),大规模用户的集中操作、高并发访问使得系统响应极其缓慢,严重影响各级调度管理机构的工作效率。对于省一级的水利电力公司来说,能够最大程度减少各类电站实时上报数据的延时,并将调度指令及时送达电站,急需解决多用户并发访问的高效控制和动态优化问题。虽然这种情况下通常采用数据库分库分区、读写分离和应用服务器的负载均衡等技术,但在具体业务规则和约束条件下,如何进行各种方法的适应性改进,在不增加系统硬件成本的条件下获得满足用户需求的性能,成为新系统优化升级的核心问题。

技术实现思路

[0003]专利技术目的:针对三个以上的Web应用服务器和普通移动网络信道,提出一种业务驱动的Web应用负载均衡任务分配方法,实现数千以上各类用户同时访问省级水利电力调度中心信息系统的几秒以内响应时间。
[0004]技术方案:一种业务驱动的Web应用负载均衡任务分配方法,包括:负载均衡任务分配服务器采用IP_hash策略进行静态任务分配,在一个任务分配策略执行周期内,当对应Web服务器响应新接入的Web应用服务请求时间大于用户最大容忍时间时,开始进行动态调整任务分配;
[0005]所述动态调整任务分配包括:调整每个Web服务器的任务分配权重,最先达到空闲状态服务器的任务分配权重最大,将新接入的任务请求分配至最先达到空闲状态的服务器中,其余服务器的任务分配权重依其服务器剩余执行时间的增大而减小;若在当前任务分配策略执行周期结束时仍存在Web应用服务请求时间大于用户最大容忍时间,则在下一任务分配策略执行周期开始时继续执行动态调整任务分配。
[0006]进一步的,采用双Nginx的负载均衡任务分配服务器,Web服务器的数量大于等于三。
[0007]进一步的,所述动态调整任务分配阶段,若任意两个Web服务器的服务器剩余执行时间值相差小于系统中Web应用服务请求最小到达间隔,根据对应Web服务器在上一个任务分配策略执行周期内响应时间的方差进行权重分配,小方差值对应的大的任务分配权重。
[0008]进一步的,当有Web应用服务请求时,负载均衡任务分配服务器从HTTP协议中提取相关信息,生成一个表示任务类别的三元组<ID,S,T
f
>,其中ID表示任务唯一标识,S表示任务的操作子集,T
f
表示任务执行所需要的时间。
[0009]有益效果:针对地域分布广、数量多的水利电力远端用户面临的并发访问度较高、累积数据存储量较大情况下的高效访问控制问题,本专利技术提出一种业务驱动的Web应用负载均衡任务分配方法,适用于三个以上的Web应用服务器和普通移动网络信道,实现数千以上各类用户同时访问省级水利电力调度中心信息系统的几秒以内响应时间。该方法基于双Nginx的负载均衡集群架构,将静态IP地址映射算法和运行时最快完成任务时间相结合,提高多应用服务器之间的均衡度和总体任务成功接纳率,对于有限条件下的业务信息及时上报和查询具有重要意义。
附图说明
[0010]图1为本专利技术的负载均衡任务分配示意。
具体实施方式
[0011]下面结合附图对本专利技术做更进一步的解释。
[0012]如图1所示,一种业务驱动的Web应用负载均衡任务分配方法,完成水利电力信息系统Web应用服务器之间的负载均衡任务分配。该方法适用于双Nginx的负载均衡任务分配服务器,Web服务器至少3台以上。负载均衡任务分配服务器可以由某两台Web服务器兼任,也可以单独部署在两台服务器上,其上安装Nginx技术框架下的Keepalived软件,通过运行负载均衡任务分配算法将客户端任务请求分配到合适的Web服务器上,执行具体应用服务操作。因此,每个Web服务器具备执行所有发布的Web应用服务能力。
[0013]本方法具体流程如下:
[0014]步骤1:初始化
[0015]在负载均衡任务分配服务器上安装Nginx技术框架下的Keepalived软件,设置系统支持的Web应用服务主要任务类别表和一个任务分配策略执行周期D,如30

60分钟。
[0016]1)每个任务类别用三元组<ID,S,T
f
>表示,其中ID表示任务唯一标识;S表示任务的操作子集,如写,读,浏览和其他等,T
f
表示任务执行所需要的时间,即任务时间阈值;
[0017]2)将实际任务集合记为Task={task1,task2,

,task
m
},其中m为Web应用服务请求的总数。第i个服务请求记为
[0018]3)在Web服务器集合W={W1,W2,

,W
n
}中,第i个服务器W
i
的当前任务状态记为
[0019]其中n为Web服务器的总数,N
i
为服务器W
i
的当前任务总数,为服务器W
i
处理完当前所有任务需要的时间,即服务器剩余执行时间;
[0020]4)当有Web应用服务请求时,负载均衡任务分配服务器从HTTP协议中提取相关信息,生成一个任务类别的三元组<ID,S,T
f
>。
[0021]步骤2:静态任务分配阶段
[0022]采用IP_hash策略,按照客户端IP地址组,分配任务到多个Web服务器之一,通过设立一个Hash函数将所有签约用户的客户端IP地址划分成n个组,每个组具有固定的Web应用
服务会话参数,如服务号、端口号等,使得正常情况下某一客户端的多次请求都发送到相同的服务器。此时每个服务器的任务分配权重相等。
[0023]步骤3:动态调整任务分配阶段
[0024]在一个任务分配策略执行周期内,当对应Web服务器响应新接入的Web应用服务请求时间大于用户最大容忍时间时,如执行上报96点发电计划的长任务,如5秒,调整每个Web服务器的任务分配权重,最先达到空闲状态服务器的任务分配权重最大,将新接入的任务请求分配至最先达到空闲状态的服务器W
i
中,即其余服务器的任务分配权重依其服务器剩余执行时间值的增大而减小,权重Q
i<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务驱动的Web应用负载均衡任务分配方法,其特征在于,包括:负载均衡任务分配服务器采用IP_hash策略进行静态任务分配,在一个任务分配策略执行周期内,当对应Web服务器响应新接入的Web应用服务请求时间大于用户最大容忍时间时,开始进行动态调整任务分配;所述动态调整任务分配包括:调整每个Web服务器的任务分配权重,最先达到空闲状态服务器的任务分配权重最大,将新接入的任务请求分配至最先达到空闲状态的服务器中,其余服务器的任务分配权重依其服务器剩余执行时间的增大而减小;若在当前任务分配策略执行周期结束时仍存在Web应用服务请求时间大于用户最大容忍时间,则在下一任务分配策略执行周期开始时继续执行动态调整任务分配。2.根据权利要求1所述的业务驱动的Web应用负载均衡任务分配方法,其特征在于,采用双Nginx的负载均衡任务...

【专利技术属性】
技术研发人员:李胜马玮骏韦诚汪晶柯愈晴姚文才陈志刚黄磊吴昊冉
申请(专利权)人:南京津码智能科技有限公司
类型:发明
国别省市:

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

1