CN105812273B - 负载均衡方法和装置 - Google Patents
负载均衡方法和装置 Download PDFInfo
- Publication number
- CN105812273B CN105812273B CN201410852495.0A CN201410852495A CN105812273B CN 105812273 B CN105812273 B CN 105812273B CN 201410852495 A CN201410852495 A CN 201410852495A CN 105812273 B CN105812273 B CN 105812273B
- Authority
- CN
- China
- Prior art keywords
- domain
- domain controller
- selection
- controller
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供的负载均衡方法和装置,能够解决现有方案在实现负载均衡访问时成本高、实现复杂的问题。具体方案为:记录域控制器集群内各个域控制器的状态,域控制器的状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器;若访问选取的域控制器成功,则使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功。
Description
技术领域
本发明实施例涉及云计算领域,尤其涉及一种负载均衡方法和装置。
背景技术
随着业务支撑系统(英文:Business Support System,缩写:BSS)的不断拓展,客户通常要求BSS系统中的单点登录(英文:Single Sign On,缩写:SSO)系统与现网普遍使用的用于统一维护企业级组织结构、人员、账号、密码等信息的微软的窗口(英文:WINDOWS)域的活动目录服务器(英文:Active Directory Server,缩写:AD Server)进行结合,以实现跨域免登录访问尤尼克斯(英文:UNIX)域的BSS系统。微软公司开发的基于WINDOWS操作系统的AD Server,由域控制器(英文:Domain Controller,缩写:DC)、轻量级目录访问协议服务器(英文:Lightweight Directory Access Protocol,缩写:LDAP Server)以及密钥分发中心(英文:Key Distribute Center,缩写:KDC)组成。
现有的BSS系统中SSO系统与AD Server结合的跨域免登录访问BSS系统的方案,如图1所示,通过客户端与BSS系统、AD Server以及专用的中的网络负载平衡(英文:NetworkLoad Balancing,缩写:NLB)系统/服务器负载均衡(英文:Server Load Balancing,缩写:SLB)系统/F5公司的硬件负载均衡设备之间的交互实现WINDOWS域账号跨域面免登录访问Unix域的BSS系统。其中,微软WINDOWS操作系统下的域账号和密码存储在AD Server中的DC中,并通过人工方式同步到BSS系统,BSS系统在通过域认证被授权后可以到AD Server中查询信息。Kerberos/SPNEGO为BSS系统中的认证协议单元使用Kerberos/SPNEGO协议,Kerberos协议是由美国麻省理工学院开发的一种网络认证协议,SPNEGO(英文全称:Simpleand Protected GSS-API Negotiation)协议是一种使用通用安全服务应用接口(英文:Generic Security Services Application Program Interface,缩写:GSS-API)认证机制的安全协议,它扩展了Kerberos协议。由于跨域免登录访问对域账号的认证和授权操作非常频繁,AD Server访问压力很大,通常采用专用于负载均衡的微软的网络负载平衡NLB系统/SLB系统/F5公司的硬件负载均衡设备来实现访问AD Server的负载均衡。
现有的对于访问AD Server的负载均衡方案中存在以下问题:由于使用专用的负载均衡系统或硬件负载均衡设备用于AD Server的DC节点的访问,软件或硬件的投资成本较大,并且,现有的负载均衡方案需要主动检测DC节点状态来实现访问的负载均衡,DC节点需要提供心跳检测和业务监控脚本,方案实现时较为复杂。
发明内容
本发明实施例提供的负载均衡方法和装置,能够解决现有方案在实现负载均衡访问时成本高、实现复杂的问题。
第一方面,本发明实施例提供的负载均衡方法,所述方法包括:
记录域控制器集群内各个域控制器的状态,所述状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;
当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;
根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
若访问所述选取的域控制器成功,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
若访问所述选取的域控制器失败,则在所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;
若所述重试次数小于所述预设次数时所述重试访问成功,则执行所述使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;
若所述重试次数等于所述预设次数时所述重试访问仍失败,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:
在所述接收授权访问请求时,启动第一定时器;
当首次访问或重试访问所述选取的域控制器成功后,判断所述第一定时器是否已清零;若所述第一定时器未清零,则执行所述使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;若所述第一定时器已清零,则执行所述将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败;
所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数,当所述重试次数小于所述预设次数且所述重试访问失败,判断所述第一定时器是否已清零;若所述第一定时器未清零,则执行所述定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;若所述第一定时器已清零,则执行所述将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述记录域控制器集群内各个域控制器的状态之前,所述方法还包括:
所述域控制器集群初始化时通过查询域名服务系统服务器以获取所述集群内各个域控制器的状态;
所述当首次访问或重试访问所述选取的域控制器成功后且经过判断确定所述第一定时器未清零时,判断当前时间是否到达查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态的时间;
若所述当前时间未到达,则执行所述使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;
若所述当前时间已到达,则查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态,执行所述根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
结合第一方面,在第四种可能的实现方式中,在所述接收授权访问请求之后,所述方法还包括:
判断所述域控制器集群内正常状态的域控制器的个数是否小于预设阈值;
若所述正常状态的域控制器的个数大于或等于所述预设阈值,则执行所述根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
若所述正常状态的域控制器的个数小于预设阈值,则查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态,执行所述根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
结合第一方面或其上述可能的实现方式的任一种,在第五种可能的实现方式中,所述节点选择算法包括:轮询法、散列法、最少连接法、最低缺失法或最快响应法。
第二方面,本发明实施例提供负载均衡装置,所述装置包括:
记录单元,用于记录域控制器集群内各个域控制器的状态,所述状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;
接收单元,用于当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;
选择单元,用于根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
处理单元,用于若访问所述选取的域控制器成功,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功。
结合第二方面,在第一种可能的实现方式中,所述处理单元还用于:
若访问所述选取的域控制器失败,则在所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;
若所述重试次数小于所述预设次数时所述重试访问成功,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败;
若所述重试次数等于所述预设次数时所述重试访问仍失败,则将所述选取的域控制的状态更新为异常状态并通知所述授权单元授权失败以使所述授权单元通知所述客户端登录所述第二域失败。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,
所述接收单元具体用于:当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求并启动第一定时器;
相应的,所述处理单元具体用于:当首次访问或重试访问所述选取的域控制器成功后,判断所述第一定时器是否已清零;若所述第一定时器未清零,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;若所述第一定时器已清零,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败;
所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数,当所述重试次数小于所述预设次数且所述重试访问失败,判断所述第一定时器是否已清零;若所述第一定时器未清零,则定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;若所述第一定时器已清零,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
获取单元,用于在所述记录域控制器集群内各个域控制器的状态之前,所述域控制器集群初始化时通过查询域名服务系统服务器以获取所述集群内各个域控制器的状态;
第一判断单元,用于所述当首次访问或重试访问所述选取的域控制器成功后且经过判断确定所述第一定时器未清零时,判断当前时间是否到达所述查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态的时间;
若所述当前时间未到达,则触发所述处理单元使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;
若所述当前时间已到达,则查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态,触发所述选择单元根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
结合第二方面,在第四种可能的实现方式中,所述装置还包括:
第二判断单元,用于在所述接收授权访问请求之后,判断所述域控制器集群内正常状态的域控制器的个数是否小于预设阈值;
若所述正常状态的域控制器的个数大于或等于所述预设阈值,则触发所述选择单元根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
若所述正常状态的域控制器的个数小于预设阈值,则查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态,触发所述选择单元根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
结合第二方面或其上述可能的实现方式的任一种,在第五种可能的实现方式中,所述节点选择算法包括:轮询法、散列法、最少连接法、最低缺失法或最快响应法。
本发明实施例提供的负载均衡方法和装置,记录域控制器集群内各个域控制器的状态,所述状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;若访问所述选取的域控制器成功,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功。本发明能够解决现有方案在实现负载均衡访问时成本高、实现复杂的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有的技术方案的架构示意图;
图2为本发明实施例提供的负载均衡方法的流程示意图一;
图3为本发明实施例提供的负载均衡方法的架构示意图;
图4为本发明实施例提供的负载均衡方法的流程示意图二;
图5为本发明实施例具体实施时的交互流程示意图;
图6为本发明实施例提供的负载均衡装置的结构示意图一;
图7为本发明实施例提供的负载均衡装置的结构示意图二;
图8为本发明实施例提供的负载均衡装置的结构示意图三;
图9为本发明实施例还提供的负载均衡装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了本领域技术人员便于理解本发明实施例提供的技术方案,且为了方便描述,下文中将F5公司的硬件负载设备简称为F5,结合图1,先对现有的BSS系统内的SSO系统与ADServer结合并由专用的NLB/SLB/F5来实现跨域免登录访问的方案进行详细介绍:
步骤1:BSS系统中的SPENGO/Kerberos认证协议单元通过专用的NLB/SLB/F5登录AD Server中的DC节点。
其中,NLB/SLB/F5根据负载均衡规则访问AD Server中的DC节点。NLB/SLB/F5需要依赖心跳检测和业务监控脚本随时监控DC节点的状态,从而按照负载均衡规则访问其中某一个DC节点。
步骤2:WINDOWS域的客户端通过因特网浏览器(英文Internet Explorer,缩写IE)执行单点登录UNIX域BSS系统的操作。
步骤3:SPENGO/Kerberos认证协议单元按照协议规定向客户端返回“HTTP 401”错误。
其中,向客户端返回“HTTP 401”错误是对客户端的用户透明的。
步骤4:客户端向DC节点申请服务票据Service Ticket,DC节点返回ServiceTicket。
其中,Service Ticket用来访问BSS系统。Service Ticket包含了会话密钥和加密的WINDOWS域账号信息。此处说明:基于WINDOWS操作系统的登录机制,WINDOWS域的用户登录WINDOWS域之后,则AD Server就可以获取相关用户相关的会话密钥以及域账号等信息。
步骤5:客户端使用Service Ticket访问BSS系统。
步骤6:BSS系统中的SPENGO/Kerberos认证协议单元解密Service Ticket得到WINDOWS域账号。
步骤7:BSS系统内部鉴权单元对得到的WINDOWS域账号执行鉴权(与数据库中存储的信息进行检验)。
步骤8:通过鉴权后,向授权单元发起授权访问请求。
步骤9、由BSS系统内部的授权单元通过专用的NLB/SLB/F5发起授权访问请求操作。
其中,NLB/SLB/F5根据负载均衡规则访问AD Server中的DC节点。NLB/SLB/F5需要依赖心跳检测和业务监控脚本随时监控DC节点的状态,从而按照负载均衡规则访问其中某一个DC节点。
步骤10:DC节点授权成功后,授权单元通知客户端跨域访问BSS系统成功。
其中,授权单元收到NLB/SLB/F5转发的DC节点授权成功的消息后通过BSS系统内的SSO接口访问SSO服务器,获取用于免登录访问BSS系统的会话标识(Session ID),客户端利用该会话标识实现WINDOWS域与UNIX域的跨域免登录访问。
综上,上述步骤即为现有的BSS系统内的SSO系统与AD Server结合并由专用的NLB/SLB/F5来实现跨域免登录访问的方案,从中可以看出现有的方案存在的问题:使用专用的NLB/SLB/F5导致成本较高、负载均衡时需要主动检测DC节点的状态(依赖于DC节点提供心跳检测和业务监控脚本)导致方案实现时很复杂。
本发明实施例提供的负载均衡方法,如图2所示,该方法包括:
101、记录域控制器集群内各个域控制器的状态。
其中,域控制器的状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态。
102、当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求。
103、根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器。
104、若访问选取的域控制器成功,则使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功。
需要说明的是,本发明实施例提供的技术方案,由集成在BSS系统中的负载均衡装置来执行上述的步骤,具体实现时,通过记录DC节点的状态信息为访问时提供可供选择的DC节点(记录DC节点的状态信息实际上是根据访问DC节点时成功与否进行反馈记录的),相比现有的技术方案,由于是将负载均衡装置集成在BSS系统中,无需使用专有的NLB系统、SLB系统或者F5公司的硬件负载均衡设备在BSS系统和AD Server之间进行节点访问的负载均衡,另外,本发明实施例提供的技术方案中负载均衡装置并不主动检测DC节点的状态(也即不依赖于传统的心跳检测和业务监控脚本来监控DC节点),通过容错机制来实现DC节点的访问以及对DC节点状态信息的记录,在实际实现时简单容易实现。
本发明实施例提供的负载均衡方法,记录域控制器集群内各个域控制器的状态,域控制器的状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器;若访问选取的域控制器成功,则使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功。本发明能够解决现有方案在实现负载均衡访问时成本高、实现复杂的问题。
下面结合图3所示的本发明实施例的架构示意图,通过具体的实施例,对本发明的实施例提供的负载均衡方法进行详细说明,在本实施例中,第一域为WINDOWS域,第二域为UNIX域,域控制器简称为DC,域名服务系统(英文:Domain Name System,缩写:DNS)简称为DNS,如图4所示,本方法实施例基于本发明方法对应的负载均衡装置来实现,以下步骤均由该负载均衡装置来执行,该方法包括:
201、DC集群初始化时通过查询DNS服务器以获取集群内各个DC的状态。
202、记录DC集群内各个DC的状态。
域控制器的状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态。
203、当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求。
示例性的,WINDOWS域的客户端执行单点等于UNIX域的操作参照现有技术方案中的步骤2、3、4、5、6、7以及8,然后本发明方法对应的负载均衡装置接收授权单元发送的授权访问请求。
204、根据节点选择算法在DC集群内正常状态的DC中选取其中一个DC,并访问选取的DC。
其中,节点选择算法包括:轮询法、散列法、最少连接法、最低缺失法或最快响应法。轮询算法只是简单的将请求平均的、轮流发往所有DC;散列法也叫哈希法,通过单射不可逆的哈希函数,按照某种规则将请求发往DC;最少连接法是将请求发往连接数最小的DC、最低缺失法是将请求发往处理请求最少的DC、最快响应法是将请求发往处理请求最快的DC。
示例性的,在本实施例中,可以选择最低缺失法作为节点选择算法。新的授权访问请求将优先转发到请求数量最少的正常状态的DC节点。另外,当存在请求数量最少的正常状态的DC节点有多个的情况下,将采用随机化的方法从中选取一个DC节点进行派发。
若访问选取的DC成功则执行205;若访问选取的DC失败则定时重试访问选取的DC,并执行210。
205、判断第一定时器是否已清零。
若第一定时器未清零,则执行206;若第一定时器已清零,则执行209。
示例性的,为了提高效率节省时间,可以在负载均衡装置接收到授权访问请求后设置一个定时器,如果在定时器清零之前不能访问成功DC且处理授权访问请求,则通知客户端登录失败。
206、判断当前时间是否到达查询DNS服务器以更新集群内各个DC的状态的时间。
若当前时间未到达,则执行207;若当前时间已到达,则执行208。
示例性的,在系统初始化后,可以设置经过一个比较长的时间间隔后查询DNSServer以更新集群内各个DC的状态。
207、使选取的DC对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功。
示例性的,DC节点对授权访问请求进行授权处理后,BSS系统内的授权单元收到本发明方法对应的负载均衡装置转发的DC节点授权成功的消息后通过SSO接口访问SSO服务器,获取用于免登录访问BSS系统的会话标识(Session ID),客户端利用该会话标识成功实现从WINDOWS域跨域免登录访问UNIX域的BSS系统;还可以将记录的选取的DC处理的授权访问请求的个数加1,该记录数据作为后续根据最低缺失法选择DC节点时的参考数据。
208、查询DNS服务器以更新集群内各个DC的状态,并转到步骤204。
209、将选取的DC的状态更新为异常状态并通知客户端登录第二域失败。
210、判断重试次数是否小于预设次数。
若重试次数小于预设次数且重试访问选取的DC成功,则执行205;若重试次数小于预设次数且重试访问选取的DC失败,则执行211;若重试次数等于预设次数执行209。
211、判断第一定时器是否已清零。
若第一计时器未清零,则继续定时重试访问选取的DC;若第一计时器已清零,则执行209。
另外,还可以在执行步骤203后,执行212。
212、判断正常状态的DC的个数是否小于预设阈值。
示例性的,为了保证选择DC节点时可以选择最合适的DC节点,可以设置在选择DC节点时先判断正常状态的DC节点的个数是否符合要求,如果小于要求的个数,则查询DNSServer以更新各个DC节点的状态,并重新根据节点选择算法在正常状态的DC节点中选择一个用于访问,如果等于或者大于要求的个数,则根据节点选择算法在正常状态的DC节点中选择一个用于访问。
若正常状态的DC的个数大于或等于预设阈值,则执行204;若正常状态的DC的个数小于预设阈值,则执行208。
示例性的,负载均衡装置向AD Server中的DNS Sever查询各个DC节点的状态,获取到最新的状态信息后更新自身记录的各个DC节点的状态。
图5为本发明实施例具体实施时的交互流程示意图。
本发明实施例提供的负载均衡方法,无需使用专有的NLB系统、SLB系统或者F5公司的硬件负载均衡设备在BSS系统和AD Server之间进行节点访问的负载均衡,并且通过容错(允许访问失败)的方式实现DC节点的访问从而无需一直主动检测DC节点的状态信息。本发明能够解决现有方案在实现负载均衡访问时成本高、实现复杂的问题。
本发明实施例提供的负载均衡装置10,如图6所示,该装置10包括:
记录单元11,用于记录域控制器集群内各个域控制器的状态,状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态。
接收单元12,用于当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求。
选择单元13,用于根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器。
处理单元14,用于若访问选取的域控制器成功,则使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功。
可选的,处理单元14还用于:
若访问选取的域控制器失败,则在访问失败后定时重试访问选取的域控制器并在每次重试后判断重试次数是否小于预设次数;
若重试次数小于预设次数时重试访问成功,则使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功;
若重试次数等于预设次数时重试访问仍失败,则将选取的域控制的状态更新为异常状态并通知客户端登录第二域失败。
可选的,接收单元12具体用于:当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求并启动第一定时器。
相应的,处理单元14具体用于:当首次访问或重试访问选取的域控制器成功后,判断第一定时器是否已清零;若第一定时器未清零,则使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功;若第一定时器已清零,则将选取的域控制的状态更新为异常状态并通知客户端登录第二域失败;
访问失败后定时重试访问选取的域控制器并在每次重试后判断重试次数是否小于预设次数,当重试次数小于预设次数且重试访问失败,判断第一定时器是否已清零;若第一定时器未清零,则定时重试访问选取的域控制器并在每次重试后判断重试次数是否小于预设次数;若第一定时器已清零,则将选取的域控制的状态更新为异常状态并通知客户端登录第二域失败。
可选的,如图7所示,装置10还包括:
获取单元15,用于在记录域控制器集群内各个域控制器的状态之前,域控制器集群初始化时通过查询域名服务系统服务器以获取集群内各个域控制器的状态,并按照预设的时间间隔定时查询域名服务系统服务器以更新集群内各个域控制器的状态。
第一判断单元16,用于当首次访问或重试访问选取的域控制器成功后且经过判断确定第一定时器未清零时,判断当前时间是否到达查询域名服务系统服务器以更新集群内各个域控制器的状态的时间;
若当前时间未到达,则触发处理单元14使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功;
若当前时间已到达,则查询域名服务系统服务器以更新集群内各个域控制器的状态,触发选择单元13根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器。
可选的,如图8所示,装置10还包括:
第二判断单元17,用于在接收授权访问请求之后,判断域控制器集群内正常状态的域控制器的个数是否小于预设阈值;
若正常状态的域控制器的个数大于或等于预设阈值,则触发选择单元13根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器;
若正常状态的域控制器的个数小于预设阈值,则查询域名服务系统服务器以更新集群内各个域控制器的状态,触发选择单元13根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器。
可选的,节点选择算法包括:轮询法、散列法、最少连接法、最低缺失法或最快响应法。
本实施例用于实现上述各方法实施例,本实施例中各个单元的工作流程和工作原理参见上述各方法实施例中的描述,在此不再赘述。
本发明实施例提供的负载均衡装置,无需使用专有的NLB系统、SLB系统或者F5公司的硬件负载均衡设备在BSS系统和AD Server之间进行节点访问的负载均衡,并且通过容错(允许访问失败)的方式实现DC节点的访问从而无需一直主动检测DC节点的状态信息。本发明能够解决现有方案在实现负载均衡访问时成本高、实现复杂的问题。
本发明实施例还提供一种负载均衡装置20,如图9所示,该负载均衡装置20包括:总线24;以及连接到总线24的处理器21、存储器22和接口23,其中该接口23用于通信;该存储器22用于存储指令,处理器21用于执行该指令用于:
记录域控制器集群内各个域控制器的状态,域控制器的状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;
当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;
根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器;
若访问选取的域控制器成功,则使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功。
可选地,处理器21执行该指令还用于:
若访问选取的域控制器失败,则在访问失败后定时重试访问选取的域控制器并在每次重试后判断重试次数是否小于预设次数;
若重试次数小于预设次数时重试访问成功,则执行使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功;
若重试次数等于预设次数时重试访问仍失败,则将选取的域控制的状态更新为异常状态并通知客户端登录第二域失败。
可选地,处理器21执行该指令还用于:
在接收授权访问请求时,启动第一定时器;
当首次访问或重试访问选取的域控制器成功后,判断第一定时器是否已清零;若第一定时器未清零,则执行使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功;若第一定时器已清零,则执行将选取的域控制的状态更新为异常状态并通知客户端登录第二域失败;
访问失败后定时重试访问选取的域控制器并在每次重试后判断重试次数是否小于预设次数,当重试次数小于预设次数且重试访问失败,判断第一定时器是否已清零;若第一定时器未清零,则执行定时重试访问选取的域控制器并在每次重试后判断重试次数是否小于预设次数;若第一定时器已清零,则执行将选取的域控制的状态更新为异常状态并通知客户端登录第二域失败。
可选地,处理器21执行该指令还用于:
在记录域控制器集群内各个域控制器的状态之前,域控制器集群初始化时通过查询域名服务系统服务器以获取集群内各个域控制器的状态;
当首次访问或重试访问选取的域控制器成功后且经过判断确定第一定时器未清零时,判断当前时间是否到达查询域名服务系统服务器以更新集群内各个域控制器的状态的时间;
若当前时间未到达,则执行使选取的域控制器对授权访问请求进行授权处理,并在授权处理完成后通知客户端登录第二域成功;
若当前时间已到达,则查询域名服务系统服务器以更新集群内各个域控制器的状态,执行根据节点选择算法在域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问选取的域控制器。
可选的,节点选择算法包括:轮询法、散列法、最少连接法、最低缺失法或最快响应法。
本发明实施例提供的负载均衡装置,无需使用专有的NLB系统、SLB系统或者F5公司的硬件负载均衡设备在BSS系统和AD Server之间进行节点访问的负载均衡,并且通过容错(允许访问失败)的方式实现DC节点的访问从而无需一直主动检测DC节点的状态信息。本发明能够解决现有方案在实现负载均衡访问时成本高、实现复杂的问题。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种负载均衡方法,其特征在于,包括:
记录域控制器集群内各个域控制器的状态,所述状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;
当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;
根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
若访问所述选取的域控制器成功,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若访问所述选取的域控制器失败,则在所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;
若所述重试次数小于所述预设次数时所述重试访问成功,则执行所述使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;
若所述重试次数等于所述预设次数时所述重试访问仍失败,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述接收授权访问请求时,启动第一定时器;
当首次访问或重试访问所述选取的域控制器成功后,判断所述第一定时器是否已清零;若所述第一定时器未清零,则执行所述使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;若所述第一定时器已清零,则执行所述将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败;
所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数,当所述重试次数小于所述预设次数且所述重试访问失败,判断所述第一定时器是否已清零;若所述第一定时器未清零,则执行所述定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;若所述第一定时器已清零,则执行所述将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败。
4.根据权利要求3所述的方法,其特征在于,在所述记录域控制器集群内各个域控制器的状态之前,所述方法还包括:
所述域控制器集群初始化时通过查询域名服务系统服务器以获取所述集群内各个域控制器的状态;
所述当首次访问或重试访问所述选取的域控制器成功后且经过判断确定所述第一定时器未清零时,判断当前时间是否到达查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态的时间;
若所述当前时间未到达,则执行所述使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;
若所述当前时间已到达,则查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态,执行所述根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
5.根据权利要求1所述的方法,其特征在于,在所述接收授权访问请求之后,所述方法还包括:
判断所述域控制器集群内正常状态的域控制器的个数是否小于预设阈值;
若所述正常状态的域控制器的个数大于或等于所述预设阈值,则执行所述根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
若所述正常状态的域控制器的个数小于预设阈值,则查询域名服务系统服务器以更新所述集群内各个域控制器的状态,执行所述根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
6.根据权利要求1至5任一所述的方法,其特征在于,所述节点选择算法包括:轮询法、散列法、最少连接法、最低缺失法或最快响应法。
7.一种负载均衡装置,其特征在于,包括:
记录单元,用于记录域控制器集群内各个域控制器的状态,所述状态包括:能处理授权访问请求的正常状态或不能处理授权访问请求的异常状态;
接收单元,用于当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求;
选择单元,用于根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
处理单元,用于若访问所述选取的域控制器成功,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功。
8.根据权利要求7所述的装置,其特征在于,所述处理单元还用于:
若访问所述选取的域控制器失败,则在所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;
若所述重试次数小于所述预设次数时所述重试访问成功,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;
若所述重试次数等于所述预设次数时所述重试访问仍失败,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败。
9.根据权利要求8所述的装置,其特征在于,
所述接收单元具体用于:当第一域的客户端执行单点登录第二域的操作后,接收授权访问请求并启动第一定时器;
相应的,所述处理单元具体用于:当首次访问或重试访问所述选取的域控制器成功后,判断所述第一定时器是否已清零;若所述第一定时器未清零,则使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;若所述第一定时器已清零,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败;
所述访问失败后定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数,当所述重试次数小于所述预设次数且所述重试访问失败,判断所述第一定时器是否已清零;若所述第一定时器未清零,则定时重试访问所述选取的域控制器并在每次重试后判断所述重试次数是否小于预设次数;若所述第一定时器已清零,则将所述选取的域控制的状态更新为异常状态并通知所述客户端登录所述第二域失败。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
获取单元,用于在所述记录域控制器集群内各个域控制器的状态之前,所述域控制器集群初始化时通过查询域名服务系统服务器以获取所述集群内各个域控制器的状态,并按照预设的时间间隔定时查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态;
第一判断单元,用于所述当首次访问或重试访问所述选取的域控制器成功后且经过判断确定所述第一定时器未清零时,判断当前时间是否到达查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态的时间;
若所述当前时间未到达,则触发所述处理单元使所述选取的域控制器对所述授权访问请求进行授权处理,并在所述授权处理完成后通知所述客户端登录所述第二域成功;
若所述当前时间已到达,则查询所述域名服务系统服务器以更新所述集群内各个域控制器的状态,触发所述选择单元根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于在所述接收授权访问请求之后,判断所述域控制器集群内正常状态的域控制器的个数是否小于预设阈值;
若所述正常状态的域控制器的个数大于或等于所述预设阈值,则触发所述选择单元根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器;
若所述正常状态的域控制器的个数小于预设阈值,则查询域名服务系统服务器以更新所述集群内各个域控制器的状态,触发所述选择单元根据节点选择算法在所述域控制器集群内正常状态的域控制器中选取其中一个域控制器,并访问所述选取的域控制器。
12.根据权利要求7至11任一所述的装置,其特征在于,所述节点选择算法包括:轮询法、散列法、最少连接法、最低缺失法或最快响应法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852495.0A CN105812273B (zh) | 2014-12-31 | 2014-12-31 | 负载均衡方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410852495.0A CN105812273B (zh) | 2014-12-31 | 2014-12-31 | 负载均衡方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812273A CN105812273A (zh) | 2016-07-27 |
CN105812273B true CN105812273B (zh) | 2019-05-17 |
Family
ID=56420823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410852495.0A Active CN105812273B (zh) | 2014-12-31 | 2014-12-31 | 负载均衡方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812273B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018182B (zh) * | 2017-03-23 | 2020-06-19 | 深圳市创梦天地科技有限公司 | 负载均衡的容错处理方法及装置 |
CN109088936A (zh) * | 2018-08-28 | 2018-12-25 | 福建南威软件有限公司 | 一种http请求均衡的方法 |
CN112995097B (zh) * | 2019-12-13 | 2023-09-22 | 中兴通讯股份有限公司 | 跨域访问系统及方法、装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1241858A3 (en) * | 2001-03-13 | 2004-09-01 | Microsoft Corporation | Provisioning computing services via an online networked computing environment |
CN101151881A (zh) * | 2005-03-30 | 2008-03-26 | 西门子企业通讯有限责任两合公司 | 通过局域网与小交换机连接的计算机电话应用的管理 |
CN101635959A (zh) * | 2009-08-25 | 2010-01-27 | 杭州华三通信技术有限公司 | 一种实现负载均衡的方法和装置 |
CN104065585A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种在软件定义网络中动态调整控制器负载的方法 |
-
2014
- 2014-12-31 CN CN201410852495.0A patent/CN105812273B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1241858A3 (en) * | 2001-03-13 | 2004-09-01 | Microsoft Corporation | Provisioning computing services via an online networked computing environment |
CN101151881A (zh) * | 2005-03-30 | 2008-03-26 | 西门子企业通讯有限责任两合公司 | 通过局域网与小交换机连接的计算机电话应用的管理 |
CN101635959A (zh) * | 2009-08-25 | 2010-01-27 | 杭州华三通信技术有限公司 | 一种实现负载均衡的方法和装置 |
CN104065585A (zh) * | 2014-07-16 | 2014-09-24 | 福州大学 | 一种在软件定义网络中动态调整控制器负载的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105812273A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8838792B2 (en) | Identity provider instance discovery | |
EP2803169B1 (en) | Software deployment topology | |
CN105007280B (zh) | 一种应用登录方法和装置 | |
US8661501B2 (en) | Integrated guidance and validation policy based zoning mechanism | |
CA2918009C (en) | Identity provider discovery service using a publish-subscribe model | |
EP3314936B1 (en) | System and method for centralized configuration and authentication | |
EP1952259B1 (en) | Non-centralized network device management using console communications system and method | |
US20110055899A1 (en) | Secure remote management of network devices with local processing and secure shell for remote distribution of information | |
US20110055367A1 (en) | Serial port forwarding over secure shell for secure remote management of networked devices | |
US8973113B1 (en) | Systems and methods for automatically resetting a password | |
JP4549408B2 (ja) | ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置 | |
CN105812273B (zh) | 负载均衡方法和装置 | |
US8694993B1 (en) | Virtualization platform for secured communications between a user device and an application server | |
US8752137B2 (en) | Security context passing for stateless system management | |
US20150081876A1 (en) | Cross-domain inactivity tracking for integrated web applications | |
US20190354448A1 (en) | High availability and disaster recovery system architecture | |
US10757104B1 (en) | System and method for authentication in a computing system | |
CN108055314A (zh) | 一种集群系统的管理方法与集群系统 | |
US7636852B1 (en) | Call center dashboard | |
CN109660567A (zh) | 一种通信连接方法、服务器、终端设备及系统 | |
CN105337967A (zh) | 实现用户登录目标服务器的方法、系统和中心服务器 | |
CN110502315A (zh) | 一种远程访问物理机的方法、装置及系统 | |
CN105282111A (zh) | 一种云统一认证方法及系统 | |
KR101487233B1 (ko) | 패스워드 변경방법, 패스워드 관리장치 및 이를 적용한 컴퓨터로 읽을 수 있는 기록매체 | |
US11792021B2 (en) | Resiliency architecture for identity provisioning and verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200214 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 Ande Gate No. 94, Yuhuatai District, Jiangsu, Nanjing Patentee before: Huawei Technologies Co.,Ltd. |
|
TR01 | Transfer of patent right |