一种云接入控制器分布式处理用户登录的方法和装置与流程

文档序号:11138846阅读:594来源:国知局
一种云接入控制器分布式处理用户登录的方法和装置与制造工艺

本发明实施方式涉及通讯技术领域,尤其涉及一种云接入控制器分布式处理用户登录的方法和装置。



背景技术:

云AC(Access Controller,接入控制器)系统往往通过超文本标记语言(HyperText Markup Language,HTML)呈现系统的功能接口,用户可以通过浏览器连接云AC系统,进行各种操作。

用户通过云AC上网时,首先需要在云AC上注册用户信息,云AC获得用户信息后,进行用户身份验证:用户名密码认证或第三方认证,例如微信认证、3C认证等,验证成功后在AP(Access Point,接入点)上注册用户信息,获取AP连接资源,把结果写入云AC数据库,最后返回认证结果结用户。

在实施本发明的过程中,发明人发现现有技术至少存在如下问题:

当云AC管理AP设备达到一定数量级别,例如50万台时,在某些时间段内会有大量的用户进行注册认证请求,当前模式下,使用单台服务器多线程方式处理登录过程,当登录的用户数量超过服务器线程最大数量时,将造成用户认证请求积压,系统响应缓慢,导致用户不能及时获取登录结果。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

针对上述问题,本发明实施方式的目的在于提供一种云接入控制器分布式处理用户登录的方法和装置,能够通过使用分布式计算,提高用户登录速度以及改善用户体验。

为实现上述目的,本发明实施方式提供一种云接入控制器分布式处理用户登录的方法,包括:预先将云接入控制器用户登录请求过程划分为多个独立事务;创建协调者结点,所述协调者结点监控集群中的所有事务结点,其中所述事务结点用于执行处理所述独立事务;在所述协调者结点下创建事务状态结点和临时孩子结点,其中所述临时孩子结点用于将执行处理独立事务的事务结点的识别符和事务处理结果写入到事务执行结果中,所述事务状态结点用于向协调者结点提交事务执行结果;当协调者结点接收到的事务执行结果的数量等于事务结点集群中参与处理所有独立事务的事务结点的数量时,所述协调者结点检查所有独立事务的事务执行结果;当所有独立事务的事务执行结果都被投票为成功时,确定所述云接入控制器用户登录成功。

进一步地,所述独立事务包括云接入控制器用户登录请求过程中的用户身份认证、接入点连接资源获取和用户信息数据库写入中的一个或多个。

进一步地,所述创建协调者结点,所述协调者结点监控集群中的所有事务结点,包括:通过ZooKeeper创建协调者结点,并通过协调者结点创建事务结点;所述事务结点组成分布式事务结点集群,所述协调者结点监控集群中的所有事务结点,并要求所有事务结点对事务执行结果进行投票。

进一步地,所述事务结点执行处理所述独立事务,包括:一个事务节点执行处理一个独立事务,或者,多个事务节点执行处理一个独立事务。

进一步地,所述事务结点集群中处理独立事务的事务结点的数量根据所述云接入控制器用户登录请求过程划分的独立事务的数量确定;具体地,如果一个事务节点处理一个独立事务,则所述事务结点集群中处理独立事务的事务结点的数量等于所述云接入控制器用户登录请求过程划分中的独立事务的数量;如果多个事务节点处理一个独立事务,则所述事务结点集群中处理独立事务的事务结点的数量等于参与处理所述云接入控制器用户登录请求过程中划分的独立事务的事务节点的数量总和。

进一步地,所述当所有独立事务的事务执行结果都被投票为成功时,确定所述云接入控制器用户登录成功,包括:如果所有独立事务的事务执行结果都被投票为成功,则所述协调者结点提交独立事务,确定所述云接入控制器用户登录成功,并将登录成功的结果发送给登录处理主线程,使登录处理主线程通知用户登录成功;如果存在独立事务的事务处理结果被投票为失败,则所述协调者结点放弃独立事务,确定所述云接入控制器用户登录不成功,并将登录失败的结果发送给登录处理主线程,使登录处理主线程通知用户登录失败。

为实现上述目的,本发明实施方式还提供一种云接入控制器分布式处理用户登录的装置包括:第一处理模块,用于预先将云接入控制器用户登录请求过程划分为多个独立事务;第二处理模块,用于创建协调者结点,所述协调者结点监控集群中的所有事务结点,其中所述事务结点用于执行处理所述独立事务;第三处理模块,用于在所述协调者结点下创建事务状态结点和临时孩子结点,其中所述临时孩子结点用于将执行处理独立事务的事务结点的识别符和事务处理结果写入到事务执行结果中,所述事务状态结点用于向协调者结点提交事务执行结果;第四处理模块,用于当协调者结点接收到的事务执行结果的数量等于事务结点集群中参与处理所有独立事务的事务结点的数量时,所述协调者结点检查所有独立事务的事务执行结果;第五处理模块,用于当所有独立事务的事务执行结果都被投票为成功时,确定所述云接入控制器用户登录成功。

由上可见,本发明实施方式提供的一种云接入控制器分布式处理用户登录的方法和装置,通过预先将云接入控制器用户登录请求过程划分为多个独立事务,并把这些独立事务发送到分布式集群中进行独立执行,通过各个处理独立事务的事务结点提交事务执行结果,协调者结点监控事务结点并获取所有独立事务的事务执行结果,只有当所有独立事务的事务执行结果都被投票为成功时,才确定登录成功,从而保证各个独立事务的统一性,且通过使用分布式计算,提高用户登录速度以及改善用户体验。

附图说明

为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施方式提供的云接入控制器分布式处理用户登录的方法的流程示意图;

图2为本发明实施方式提供的云接入控制器分布式处理用户登录的装置的功能模块图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

本发明实施方式提供一种云接入控制器分布式处理用户登录的方法。请参阅图1所示,所述方法可以包括以下步骤:

步骤S1:预先将云接入控制器用户登录请求过程划分为多个独立事务。

在本实施方式中,云AC用户登录请求过程可以划分为多个独立事务,所述独立事务可以包括用户身份认证、AP连接资源获取和用户信息数据库写入的一个或多个。

当然对于上述划分的独立事务,例如用户身份认证、AP连接资源获取和用户信息数据库写入还可以进一步细分为更具体的独立事务,在此并不作具体限制。

步骤S2:创建协调者结点,所述协调者结点监控集群中的所有事务结点,其中所述事务结点用于执行处理所述独立事务。

ZooKeeper是一个开放源码的分布式应用程序协调服务,能够为分布式应用提供一致性服务,主要用来解决分布式应用中数据管理的问题,例如提供的功能包括:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。此外,ZooKeeper还能够提供基于类似于文件系统的目录节点树方式的数据存储,主要用来维护和监控存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

在本实施方式中,通过ZooKeeper创建一个协调者结点,例如/ac_auth。

此外通过协调者结点创建事务结点,事务结点组成分布式事务结点集群,该协调者结点监控事务结点集群中的所有事务结点。

事务结点用于处理云AC用户登录请求过程中的独立事务,其中,一个事务节点处理一个独立事务,或者,多个事务节点处理一个独立事务。

步骤S3:在所述协调者结点下创建事务状态结点和临时孩子结点,其中所述临时孩子结点用于将执行处理独立事务的事务结点的识别符和事务处理结果写入到事务执行结果中,所述事务状态结点用于向协调者结点提交事务执行结果。

在本实施方式中,在协调者结点/ac_auth下,还进一步创建事务状态结点,例如/ac_auth/result。该事务状态结点用于向协调者结点提交事务结点处理独立事务的事务执行结果,其中,该事务执行结果为成功或失败。

具体地,每一个客户端结点监听协调者结点/ac_auth和事务状态结点/ac_auth/result结点。將云AC用户登录请求过程中的独立事务发送到集群中任意一台主机上,协调者结点创建事务结点,通知所有已经加入的事务结点表示加入事务结点集群,以便监控事务结点集群中的所有事务结点,并要求所有事务结点对事务执行结果进行投票。

在独立事务执行完成后,在协调者结点/ac_auth下进一步创建临时孩子结点,用于将处理独立事务的事务结点的识别符和事务处理结果写入到事务执行结果中。

事务状态结点向协调者结点提交事务执行结果,当事务执行结果改变时,事务状态结点主动通知协调者结点。

步骤S4:当协调者结点接收到的事务执行结果的数量等于事务结点集群中参与处理所有独立事务的事务结点的数量时,所述协调者结点检查所有独立事务的事务执行结果。

在本实施方式中,当协调者结点接收到的事务执行结果的数量等于事务结点集群中参与处理所有独立事务的事务结点的数量时,协调者结点检查所有独立事务的事务执行结果。

优选地,事务结点集群中处理独立事务的事务结点的数量根据云AC用户登录请求过程划分的独立事务的数量确定。例如,如果一个事务节点处理一个独立事务,则事务结点的数量等于独立事务的数量;如果多个事务节点处理一个独立事务,则事务结点的数量等于参与处理独立事务的事务节点的数量总和。

步骤S5:当所有独立事务的事务执行结果都被投票为成功时,协调者结点提交独立事务,确定所述云接入控制器用户登录成功。

在本实施方式中,如果所有独立事务的事务执行结果都被投票为成功,则协调者结点提交独立事务,确定所述云AC用户登录成功,并将登录成功的结果发送给登录处理主线程,使登录处理主线程通知用户登录成功。

如果并不是所有独立事务的事务处理结果都被投票为成功,则协调者结点放弃独立事务,确定所述云AC用户登录不成功,并把登录不成功的结果写入到事务状态结点/ac_auth/result。此外,还将登录不成功的结果发送给登录处理主线程,使登录处理主线程通知用户登录失败。

请参阅图2。本发明实施方式提供一种云接入控制器分布式处理用户登录的装置,包括:

第一处理模块,用于预先将云接入控制器用户登录请求过程划分为多个独立事务;

第二处理模块,用于创建协调者结点,所述协调者结点监控集群中的所有事务结点,其中所述事务结点用于执行处理所述独立事务;

第三处理模块,用于在所述协调者结点下创建事务状态结点和临时孩子结点,其中所述临时孩子结点用于将执行处理独立事务的事务结点的识别符和事务处理结果写入到事务执行结果中,所述事务状态结点用于向协调者结点提交事务执行结果;

第四处理模块,用于当协调者结点接收到的事务执行结果的数量等于事务结点集群中参与处理所有独立事务的事务结点的数量时,所述协调者结点检查所有独立事务的事务执行结果;

第五处理模块,用于当所有独立事务的事务执行结果都被投票为成功时,确定所述云接入控制器用户登录成功。

其中,

所述第二处理模块,具体用于:

通过ZooKeeper创建协调者结点,并通过协调者结点创建事务结点;所述事务结点组成分布式事务结点集群,所述协调者结点监控集群中的所有事务结点,并要求所有事务结点对事务执行结果进行投票;其中一个事务节点执行处理一个独立事务,或者,多个事务节点执行处理一个独立事务。。

所述第四处理模块,具体用于:所述事务结点集群中处理独立事务的事务结点的数量根据所述云AC用户登录请求过程划分的独立事务的数量确定;具体地,如果一个事务节点处理一个独立事务,则所述事务结点集群中处理独立事务的事务结点的数量等于所述云AC用户登录请求过程划分中的独立事务的数量;如果多个事务节点处理一个独立事务,则所述事务结点集群中处理独立事务的事务结点的数量等于参与处理所述云AC用户登录请求过程中划分的独立事务的事务节点的数量总和。

所述第五处理模块,具体用于:

如果所有独立事务的事务执行结果都被投票为成功,则所述协调者结点提交独立事务,确定所述云AC用户登录成功,并将登录成功的结果发送给登录处理主线程,使登录处理主线程通知用户登录成功;如果存在独立事务的事务处理结果被投票为失败,则所述协调者结点放弃独立事务,确定所述云AC用户登录不成功,并将登录失败的结果发送给登录处理主线程,使登录处理主线程通知用户登录失败。

上述的涉及到的云接入控制器分布式处理用户登录的装置的具体技术细节和云接入控制器分布式处理用户登录的方法中的类似,故不再具体赘述。

由上可见,本发明实施方式提供的一种云接入控制器分布式处理用户登录的方法和装置,通过预先将云AC用户登录请求过程划分为多个独立事务,并把这些独立事务发送到分布式集群中进行独立执行,通过各个处理独立事务的事务结点提交事务执行结果,协调者结点监控事务结点并获取所有独立事务的事务执行结果,只有当所有独立事务的事务执行结果都被投票为成功时,才确定登录成功,从而保证各个独立事务的统一性,且通过使用分布式计算,提高用户登录速度以及改善用户体验。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。

最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1