The present application discloses a AAA high concurrency authentication method and system. The method introduces the Netty server. The authentication information sent by the terminal device is forwarded to the AAA authentication server through Netty. The authentication module authenticates the terminal equipment according to the authentication information and the history authentication information in the Redis cache; and the Redis cache is used for the caching of the Redis cache. The historical authentication information is updated. Netty's IO thread NioEventLoop can simultaneously process hundreds of thousands of client Channel due to the aggregation of multiplexer Selector. Because both read and write operations are non blocking, it can fully improve the running efficiency of IO threads, avoid the line path hanging caused by frequent IO blocking, and do not need to switch between threads. Wasting CPU resources can solve the technical problem of network packet loss in the existing AAA authentication technology. In addition, through Redis cache storage information, reduce disk IO, improve the efficiency of authentication.
【技术实现步骤摘要】
一种AAA高并发认证方法及系统
本申请涉及通信
,尤其涉及一种AAA高并发认证方法及系统。
技术介绍
现有技术示出的AAA认证方法及系统中,通常采用多线程机制,来提高用户认证的并发量。具体的,终端设备发送认证报文,网卡将认证报文存储在UDP缓冲区,一个接收线程专门负责接收来自UDP缓冲区的认证报文,并将这些认证报文分别派发给多个业务线程,多个业务线程根据认证报文和响应的认证策略,完成对终端设备的认证,并且,多个业务线程通过直接修改数据库来改变认证用户的实时信息,包括认证记录、上线时间、在线时长等。然而,上述多线程机制的认证方法中,并无线程管理机制。多个业务线程之间的并发执行,以及多个业务线程与数据库间的数据交互,均会抢占CUP资源,从而导致多线程之间的调度完全依赖于CUP资源,一旦系统负载过重,一方面,处理速度的减慢,会导致大量终端设备连接超时,超时之后往往会进行重发,这更加重了系统的负载,另一方面,接收线程不能持续消费UDP缓冲区中的认证报文,而网卡会持续向UDP缓冲区中生产认证报文,当UDP缓冲区满时,就会出现丢包现象。
技术实现思路
本申请提供一种AAA高并发认证方法及系统,以解决现有AAA认证过程容易出现丢包现象的技术问题。第一方面,本申请提供了一种AAA高并发认证方法,该方法包括:终端设备发送认证信息;所述认证信息包括连接请求;Netty服务端接收所述认证信息,并根据所述连接请求,与所述终端设备建立连接;Netty服务端对所述认证信息进行解析,并将所述认证信息分发给AAA认证服务器的认证模块;AAA认证服务器的认证模块接收所述认证信息,根据所述 ...
【技术保护点】
1.一种AAA高并发认证方法,其特征在于,包括:终端设备发送认证信息;所述认证信息包括连接请求;Netty服务端接收所述认证信息,并根据所述连接请求,与所述终端设备建立连接;Netty服务端对所述认证信息进行解析,并将所述认证信息分发给AAA认证服务器的认证模块;AAA认证服务器的认证模块接收所述认证信息,根据所述认证信息和Redis缓存中的历史认证信息,对终端设备进行认证;以及,对所述Redis缓存中的历史认证信息进行更新。
【技术特征摘要】
1.一种AAA高并发认证方法,其特征在于,包括:终端设备发送认证信息;所述认证信息包括连接请求;Netty服务端接收所述认证信息,并根据所述连接请求,与所述终端设备建立连接;Netty服务端对所述认证信息进行解析,并将所述认证信息分发给AAA认证服务器的认证模块;AAA认证服务器的认证模块接收所述认证信息,根据所述认证信息和Redis缓存中的历史认证信息,对终端设备进行认证;以及,对所述Redis缓存中的历史认证信息进行更新。2.根据权利要求1所述的方法,其特征在于,还包括:AAA认证服务器的认证模块将认证结果发送给Netty服务端;Netty服务端接收并解析所述认证结果,通过NIO线程将所述认证结果发送给终端设备。3.根据权利要求1所述的方法,其特征在于,还包括:AAA认证服务器的信息同步模块周期性将所述Redis缓存中的历史认证信息同步到MySQL数据库。4.根据权利要求1-3任一项所述的方法,其特征在于,所述Netty服务端对所述认证信息进行解析,并将所述认证信息分发给AAA认证服务器的认证模块,包括:Netty服务端通过Acceptor类接收所述认证信息;将所述认证信息存储在ByteBuffer中;通过Dispatch将ByteBuffer派发给指定的Handler进行解析,并分发给AAA认证服务器的认证模块。5.根据权利要求1所述的方法,其特征在于,所述AAA认证服务器的认证模块包括多个业务线程;所述对Redis缓存中的历史认证信息进行更新,包括:业务线程从所述Redis缓存中的历史认证信息中,查找与本次认证信息相匹配的条目;所述本次认证信息包括用户信息、认证时间以及下线时间;以及,根据本次认证信息,修改查找到的所述相匹配的条目。6.一种AAA高并发认证系统,其特征在...
【专利技术属性】
技术研发人员:郭占红,
申请(专利权)人:北京安博通科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。