用于后台集群服务的负载均衡分配方法、代理及系统的制作方法

文档序号:9527730阅读:553来源:国知局
用于后台集群服务的负载均衡分配方法、代理及系统的制作方法
【技术领域】
[0001] 本发明涉及集群服务领域,尤其涉及一种用于后台集群服务的负载均衡分配方 法、代理及系统。
【背景技术】
[0002] 在互联网海量服务开发任务中,后台服务的集群设计和集群部署是软件开发人员 必须解决的一个问题。服务器之间的差异性以及网络的不确定性,对集群部署的服务稳定 性产生了非常大的影响。如何在服务器性能差异比较大的服务之间最优分配服务,如何在 网络或服务异常时把请求导向正常的环境和服务,以及异常恢复正常时能够将其重新加入 请求分发列表,成为了后台服务开发人员需要解决的课题。
[0003] -般的处理方法是在服务的配置文件中,对每个网络接口调用配置目标IP和端 口,在服务启动时将配置加载到内存,当网络或服务异常及恢复正常时,手动修改配置文件 然后重启服务。另外的一种方法是通过一个配置中心进行配置,业务服务实时从配置中心 获取最新的服务配置信息,当网络异常和恢复正常时,修改配置中心的配置即可。
[0004] 第一种方法的缺点是,当异常发生时需要修改配置和重启服务,这需要中断服务 从而使业务系统不能服务客户,由于不具备动态调整能力只能对业务请求进行简单的负载 均衡和服务请求转发。第二种通过配置中心进行配置的方法,虽然在异常时不需要重启服 务,但不能自适应实际环境情况,很难实现最大化使用服务器的处理能力,当异常出现时需 要人工干涉才能进行请求的正确分发,同样也只能对业务请求进行简单的负载均衡和服务 请求转发。
[0005] 因此,现有技术存在缺陷,需要改进。

【发明内容】

[0006] 本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种用于后台集 群服务的负载均衡分配方法、代理及系统。
[0007] 本发明解决其技术问题所采用的技术方案是:构造一种用于后台集群服务的负载 均衡分配方法,包括:
[0008] S1、在一个时间区间内,基于各个服务器的初始权重/步骤S2重新设定的权重,根 据负载均衡算法分配连接请求给相应的服务器;
[0009] S2、在一个时间区间结束后,根据在该时间区间内各个服务器的响应时间和成功 率,重新计算并设定各个服务器的权值,启动下一个时间区间并进入步骤S1。
[0010] 在本发明所述的用于后台集群服务的负载均衡分配方法中,所述步骤S2包括:
[0011] S21、在一个时间区间结束后,分别获取在最新结束的时间区间内各个服务器的响 应时间和成功率;
[0012] S22、基于各个服务器的响应时间分别计算各个服务器的平均响应时间,基于各个 服务器的平均响应时间计算得到平均响应时间之积和平均响应时间之和;
[0013]S23、分别基于公式(1)确定各个服务器的响应时间因子:
[0014]
[0015]S24、分别基于公式(2)计算并设定各个服务器的权值:
[0016] W=P*e2*C(2)
[0017]S25、如果某个服务器的权值大于W_,则将该某个服务器的权值设定为W_;如果 某个服务器的权值小于1,则将该某个服务器的权值设定为1 ;
[0018] S26、启动下一个时间区间并进入步骤S1 ;
[0019] 其中,β代表本机的响应时间因子,Pro代表步骤S22中的平均响应时间之积,Sum 代表步骤S22中的平均响应时间之和,f代表本机的平均响应时间;W代表本机的权值,P代 表本机的成功率,C代表权值基数,为一个设定好的整数,W_代表最高权值,为一个预设的 大于1的整数。
[0020] 在本发明所述的用于后台集群服务的负载均衡分配方法中,所述步骤S2还包括: 在进入每个时间区间之前读取配置信息,并根据配置信息将集群服务的集群数量增加所对 应的服务器的权值设定为1,将集群服务的集群数量减小所对应的服务器在步骤S1中从所 有的服务器中直接删除。
[0021] 在本发明所述的用于后台集群服务的负载均衡分配方法中,1_为100。
[0022] 在本发明所述的用于后台集群服务的负载均衡分配方法中,所述步骤S1中所述 的根据负载均衡算法分配连接给相应的服务器包括:
[0023]S11、对于第一个时间区间,各个服务器的权值为初始权重,其他时间区间各个服 务器的权值为步骤S2中设定的权重;
[0024]S12、确定所有服务器权值的最大公约数,将比较因子设置为所有服务器权值中的 最大权值;
[0025] S13、依次比较每台服务器的权值与比较因子的大小,如果某个服务器的权值大于 或等于比较因子,则将该服务器分配给下一个连接请求;
[0026]S14、当所有的服务器比较完成后,将比较因子以最大公约数为步长递减;如果比 较因子小于〇,则将比较因子重新设置为最大权值,跳转至步骤S13。
[0027] 在本发明所述的用于后台集群服务的负载均衡分配方法中,初始权重设置为1。
[0028] 本发明还公开了一种用于后台集群服务的负载均衡分配代理,包括
[0029] 负载分配模块:用于在一个时间区间内,基于各个服务器的初始权重/权值修正 模块重新设定的权重,根据负载均衡算法分配连接请求给相应的服务器;
[0030] 权值修正模块:在一个时间区间结束后,根据在该时间区间内各个服务器的响应 时间和成功率,重新计算并设定各个服务器的权值,启动下一个时间区间并触发负载分配 模块工作。
[0031] 在本发明所述的用于后台集群服务的负载均衡分配代理中,所述权值修正模块包 括:
[0032] 响应时间和成功率获取单元:用于在一个时间区间结束后,分别获取在最新结束 的时间区间内各个服务器的响应时间和成功率;
[0033]响应时间因子计算单元:用于基于各个服务器的响应时间分别计算各个服务器的 平均响应时间,基于各个服务器的平均响应时间计算得到平均响应时间之积和平均响应时 间之和,再基于公式(1)确定各个服务器的响应时间因子:
[0034]
[0035] 权值计算单元:用于基于公式(2)计算并设定各个服务器的权值,如果某个服务 器的权值大于W_,则将该某个服务器的权值设定为W_;如果某个服务器的权值小于1,则 将该某个服务器的权值设定为1 ;启动下一个时间区间并触发负载分配模块工作;
[0036] W=Ρ*β2*C (2)
[0037] 其中,β代表本机的响应时间因子,Pro代表步骤S22中的平均响应时间之积,Sum 代表步骤S22中的平均响应时间之和,f代表本机的平均响应时间;W代表本机的权值,P代 表本机的成功率,C代表权值基数,为一个设定好的整数,W_代表最高权值,为一个预设的 大于1的整数。
[0038] 在本发明所述的用于后台集群服务的负载均衡分配代理中,所述权值修正模块还 包括:
[0039] 权值修正子单元,用于在进入每个时间区间之前读取配置信息,并根据配置信息 将集群服务的集群数量增加所对应的服务器的权值设定为1,将集群服务的集群数量减小 所对应的服务器在负载分配模块中从所有的服务器中直接删除。
[0040] 本发明还公开了一种用于后台集群服务的负载均衡分配系统,包括中心配置服务 模块和至少一个边缘业务服务模块;其中,所述中心配置服务模块包括:配置数据库、负载 均衡中心单元、配置管理服单元;所述边缘业务服务模块包括:如上所述的负载均衡分配 代理、业务单元、配置文件;
[0041] 所述配置管理服单元用于对配置信息进行统一修改并保存至配置数据库中;所述 负载均衡中心单元用于负载均衡数据的管理,处理负载均衡分配代理的配置读取请求和接 口数据统计;所述负载均衡分配代理用于从负载均衡中心单元读取配置和上报数据统计, 管理本地配置文件并写入共享内存,为连接请求分配服务器;业务单元通过与负载均衡分 配代理交互获得最优的目的服务器信息,并将业务请求分发到相应的目的服务器。
[0042] 实施本发明的用于后台集群服务的负载均衡分配方法、代理及系统,具有以下有 益效果:本发明以一个时间区间为基本单位,根据在该时间区间内各个服务器的响应时间 和成功率,对各个服务器的权值进行一次动态修正,响应时间和成功率实质上反应了各个 服务器的在网络、服务器环境及软件服务的实际情况的这些因素影响下的实际性能,因此, 本发明对权值的动态修整可以实现在各服务器性能有差异性的环境下最大化使用所有服 务器的处理能力,并能根据网络、服务器环境及软件服务的实际情况进行自适应调整使请 求得到最优的分发。
【附图说明】
[0043] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0044] 图1是本发明用于后台集群服务的负载均衡分配方法的流程图;
[0045] 图2是图1中步骤S2的流程图;
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1