一种基于复合域名的服务阵列负载均衡方法技术

技术编号:4097427 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于复合域名的服务阵列负载均衡方法,目的是解决高性能计算系统前端服务阵列的负载分配问题。技术方案是先构建由负载状态收集模块、复合域名管理模块、负载分配模块组成的负载均衡系统;负载状态收集模块定期检测服务器是否处于可用状态,收集可用服务器的负载信息;复合域名管理模块根据用户文件生成复合域名表;客户端软件向负载分配模块提交复合域名解析请求;负载分配模块对复合域名进行解析,将得到的服务器网络地址返回给客户端软件;客户端软件接收返回信息,根据返回信息登录所分配的服务器或提示出错信息。采用本发明专利技术可在无负载均衡设备时将客户端登录请求引导到合适的服务器,且确保服务器的负载均衡和用户的亲和性。

【技术实现步骤摘要】

本专利技术涉及高性能计算系统前端服务阵列的负载均衡方法。
技术介绍
高性能计算系统通常包括前端服务阵列、计算阵列、后端存储阵列三个组成部分。 前端服务阵列对外提供远程登录、作业提交、作业调试、资源监控等多种服务,用户使用客 户端软件登录到服务阵列获取服务。前端服务阵列通常由多个服务器组成,负载均衡方法 负责根据服务器的负载和可用状态将客户端引导到合适的服务器。所谓可用是指服务器处 于正常工作状态,能够对外提供服务。目前通常的服务阵列负载均衡方法包括(1)客户端手工选择的负载均衡方法。系统管理员预先给所有客户端分发服务阵列中 所有服务器的网络地址列表,客户端手工选择一台服务器根据网络地址登录。该方法使用 不方便,客户端使用前需人工选择服务器。同时不能保证客户端登录到当前的轻负载服务 器,客户端也可能选择了处于故障状态的服务器登录。(2)系统管理员预先指定的负载均衡方法。系统管理员预先手工分配不同用户组 使用特定的服务器,用户只能登录到管理员指定的一台或者几台服务器。该方法是一种静 态的负载均衡方法,不能保证服务器之间的负载保持均衡。(3)由专用前端负载均衡设备分发负载的负载均衡方法。客户端登录请求提交给 专用负载均衡设备,负载均衡设备根据服务器的负载将客户端请求转发给可用的轻负载服 务器,其后客户端和服务器之间的网络通信经过负载均衡设备转发。该方法能够较好的解 决服务器的负载均衡问题,但由于专用前端负载均衡设备通常工作于0SI互联网七层模型 中的第三层或者第四层,无法感知用户,所以不能满足用户亲和性需求。所谓用户亲和性是 指将同一个用户的多次登录负载分布到同一个服务器上。没有用户亲和性的支持,同一用 户的多次登录负载可能分别被分布到多个不同服务器上,很多用户脚本程序将不能正常运 行。高端的负载均衡设备可工作在0SI互联网七层模型中的第七层,但一般是针对web应 用的特定实现,无法实现应用透明,不适合应用在高性能计算领域,例如基于cookie的负 载均衡会话保持以及基于web访问内容的负载均衡技术。(4)采用专用的客户端软件的负载均衡方法。专用客户端中集成负载均衡和用户 亲和性功能,用户通过专用的客户端提交登录请求,客户端获取服务器的负载和用户当前 登录情况并选择合适的轻负载服务器执行登录动作。该方法的主要问题是对于不同的客户 端操作系统和不同的服务阵列应用需要开发多个专用服务访问客户端。例如Windows XP 的SSH登录客户端和Linux的FTP应用客户端。(5)基于DNS (domain name service)的负载均衡方法。在DNS服务器中,为服务 阵列的域名配置多个服务器的网络地址。客户端登录时向DNS服务器提交域名解析请求, DNS服务器采用轮转的方法选择一个服务器的网络地址并返回给客户端,此后客户端登录 所分配的服务器。该方法无法保持用户亲和性,同一客户端在不同时间的登录请求可能被 引导到不同的服务器。当前的高性能计算服务阵列所包含服务器的个数通常多于2个,规模大的达到64 个以上,同时在线的用户达数百个以上,人工的负载分配方法无法满足负载均衡需求。如何 实现较大规模的前端服务阵列的自动负载均衡,且在负载分配时如何保持对应用透明和保 持用户亲和性是本领域技术人员极为关注的技术问题。
技术实现思路
本专利技术要解决的技术问题在于针对高性能计算系统前端服务阵列的负载分配问 题,提出,在无需专用负载均衡设备的前提下, 能够根据复合域名将客户端登录请求引导到合适的服务器,引导过程中确保服务器的负载 均衡和用户的亲和性。为了解决上述技术问题,本专利技术的技术方案为在传统域名中引入用户名形成复 合域名。客户端通过复合域名的方式提交登录请求,负载均衡系统根据复合域名获取当前 登录的用户名,如果用户已经存在活跃登录,则将其引导到已登录的服务器;如果用户当前 未登录,则将其引导到可用的轻负载服务器。该负载均衡方法对客户端环境和服务器应用 透明,同时保持用户亲和性。具体技术方案为第一步,构建负载均衡系统,负载均衡系统是部署在前端服务阵列中服务器上的负载 均衡软件包。它由负载状态收集模块、复合域名管理模块、负载分配模块组成。负载状态收 集模块定期检测服务器的健康状态,从可用服务器上收集负载信息,将服务器负载信息发 送给负载分配模块。复合域名管理模块负责根据服务阵列操作系统的用户文件生成复合域 名表,将复合域名表发送给负载分配模块。负载分配模块接收客户端软件提交的复合域名 解析请求,检索该复合域名是否在复合域名表中,如果不在复合域名表中则向客户端软件 返回非法域名错误。如果该用户已登录则返回当前登录服务器的网络地址,否则返回当前 可用的最低负载服务器。客户端软件是用户所使用的登录到服务阵列的软件,部署在用户 终端上。操作系统的用户文件由操作系统所带的用户管理软件所创建和维护,记录服务阵 列的所有合法用户信息的文件,例如linux操作系统下的/etc/passwd文件。第二步,负载状态收集模块按照时间间隔T定期检测服务阵列中服务器是否处于 可用状态,收集可用服务器的负载信息。时间间隔参数T的范围为1分钟到5分钟,由管理 员人工设定。服务器的负载信息包括CPU利用率、网络带宽利用率、活跃用户总数、活跃独 立用户数、活跃用户名。CPU利用率是指一段时间内CPU实际执行的指令数与CPU在该段时 间内最多可执行的指令数的比值,其取值范围为0到1。网络带宽利用率是指一段时间内网 络设备实际传输的数据量与网络设备在该段时间内最多可传输的数据量的比值,其取值范 围为0到1。活跃用户是指已经登录到服务器的用户。活跃用户总数是已经登录到服务器 的用户数,包括同一用户重复登录数,为大于等于0的整数。活跃独立用户数是指已经登录 到服务器的不同用户数,为大于等于0的整数。所有服务阵列中服务器的负载信息构成负 载信息表第三步,复合域名管理模块根据操作系统的用户文件生成复合域名表,发送给负 载分配模块。操作系统的用户文件中记录了服务器的合法用户信息,包括用户名、登录密码 等信息。复合域名管理模块首先从用户文件中提取所有的用户名信息,然后将每个用户名X与服务阵列的服务域名Y进行组合,形成X. Y形式的复合域名记录,将所有复合域名记录 写入复合域名表,最后将复合域名表发送给负载分配模块。复合域名管理模块实时检测用 户文件的改变,发现有用户增加或者删除后及时更新复合域名表,并将更新后的复合域名 表发送给负载分配模块。第四步,用户通过客户端软件登录服务阵列,客户端软件向负载分配模块提交形 式为X. Y的复合域名解析请求。第五步,负载分配模块收到客户端软件的复合域名解析请求,对复合域名进行解 析,将解析得到的服务器网络地址返回给客户端软件。复合域名的解析方法如下步骤5.1、构建综合负载表和用户亲和信息表。根据从负载状态收集模块收到的负载信 息表,计算服务器综合负载值,生成综合负载表。综合负载表的表项为服务器综合负载值、 服务器网络地址。服务器综合负载值=80*(CPU利用率+网络带宽利用率)+ 10*(0.2*活跃用户 总数+0. 8*活跃独立用户总数)根据从负载状态收集模块收到的负载信息表,提取活跃用户名,生成用户亲和信息表。 用户亲和信息表中本文档来自技高网
...

【技术保护点】
一种基于复合域名的服务阵列负载均衡方法,其特征在于包括以下步骤:第一步,构建负载均衡系统,负载均衡系统是部署在前端服务阵列中服务器上的负载均衡软件包,它由负载状态收集模块、复合域名管理模块、负载分配模块组成;负载状态收集模块定期检测服务器的健康状态,从可用服务器上收集负载信息,将服务器负载信息发送给负载分配模块;复合域名管理模块负责根据服务阵列操作系统的用户文件生成复合域名表,将复合域名表发送给负载分配模块;负载分配模块接收客户端软件提交的复合域名解析请求,检索该复合域名是否用户总数)根据从负载状态收集模块收到的负载信息表,提取活跃用户名,生成用户亲和信息表,用户亲和信息表中记录已登录的用户信息,表项为活跃用户名、登录服务器网络地址;步骤5.2、检索从复合域名管理模块接收的复合域名表,判断复合域名的合法性,如果待解析的复合域名不在复合域名表中则为非法域名,向客户端软件返回无效域名错误,并执行第六步;如果待解析的复合域名在复合域名表中,则为合法域名,从复合域名X.Y中提取用户名X;步骤5.3、根据用户名X检索用户亲和信息表,如果该用户在用户亲和信息表中,则直接输出用户当前所在的活跃服务器地址,并执行第六步;如果该用户不在用户亲和信息表中,则执行步骤5.4;步骤5.4、检索综合负载表,选择负载最低的服务器,输出该服务器的网络地址;负载分配模块将当前解析的复合域名中的用户名X、输出的最低负载服务器网络地址作为缓存信息加入本地的用户亲和信息表;第六步,客户端软件通过标准域名服务协议收到返回信息,如果返回信息为无效域名错误,则提示用户出错信息,要求其重新输入正确的复合域名;如果返回信息为正确的服务器网络地址,则直接登录到该服务器。在复合域名表中,如果不在复合域名表中则向客户端软件返回非法域名错误;如果该用户已登录则返回当前登录服务器的网络地址,否则返回当前可用的最低负载服务器;客户端软件是用户所使用的登录到服务阵列的软件,部署在用户终端上;操作系统的用户文件由操作系统所带的用户管理软件所创建和维护,记录服务阵列的所有合法用户信息的文件;第二步,负载状态收集模块按照时间间隔T定期检测服务阵列中服务器是否处于可用状态,收集可用服务器的负载信息;服务器的负载信息包括CPU利用率、网络带宽利用率、活跃用户总数、活跃独立用户数、活跃用户名;CPU利用率是指一段时间内CPU实际执行的指令数与CPU在该段时间内最多可执行的指令数的比值...

【技术特征摘要】
一种基于复合域名的服务阵列负载均衡方法,其特征在于包括以下步骤第一步,构建负载均衡系统,负载均衡系统是部署在前端服务阵列中服务器上的负载均衡软件包,它由负载状态收集模块、复合域名管理模块、负载分配模块组成;负载状态收集模块定期检测服务器的健康状态,从可用服务器上收集负载信息,将服务器负载信息发送给负载分配模块;复合域名管理模块负责根据服务阵列操作系统的用户文件生成复合域名表,将复合域名表发送给负载分配模块;负载分配模块接收客户端软件提交的复合域名解析请求,检索该复合域名是否在复合域名表中,如果不在复合域名表中则向客户端软件返回非法域名错误;如果该用户已登录则返回当前登录服务器的网络地址,否则返回当前可用的最低负载服务器;客户端软件是用户所使用的登录到服务阵列的软件,部署在用户终端上;操作系统的用户文件由操作系统所带的用户管理软件所创建和维护,记录服务阵列的所有合法用户信息的文件;第二步,负载状态收集模块按照时间间隔T定期检测服务阵列中服务器是否处于可用状态,收集可用服务器的负载信息;服务器的负载信息包括CPU利用率、网络带宽利用率、活跃用户总数、活跃独立用户数、活跃用户名;CPU利用率是指一段时间内CPU实际执行的指令数与CPU在该段时间内最多可执行的指令数的比值,其取值范围为0到1;网络带宽利用率是指一段时间内网络设备实际传输的数据量与网络设备在该段时间内最多可传输的数据量的比值,其取值范围为0到1;活跃用户是指已经登录到服务器的用户;活跃用户总数是已经登录到服务器的用户数,包括同一用户重复登录数,为大于等于0的整数;活跃独立用户数是指已经登录到服务器的不同用户数,为大于等于0的整数;所有服务阵列中服务器的负载信息构成负载信息表;第三步,复合域名管理模块根据操作系统的用户文件生成复合域名表,发送给负载分配模块;复合域名管理模块首先从操作系统的用户文件中提取所有的用户名信息,然后将每个用户名X与服务阵列的服务域名Y进行组合,形成X.Y形式的复合域名记录,将所有复合域名记录写入复合域名表,最后将复合域名表发送...

【专利技术属性】
技术研发人员:卢宇彤陈海涛周恩强谢旻蒋艳凰董勇曹宏嘉所光
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43[中国|湖南]

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

1