用户认证方法和装置制造方法及图纸

技术编号:17654763 阅读:34 留言:0更新日期:2018-04-08 08:13
本发明专利技术提出一种用户认证方法和装置,涉及认证鉴权领域。其中,本发明专利技术的一种用户认证方法包括:获取用户认证请求;根据用户认证请求将对用户的认证操作分解成多个处理单元;根据处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个处理单元;根据各个线程反馈的处理单元的处理结果确定认证结果。通过这样的方法,能够将对用户的认证操作分为多个处理单元,为单个用户认证请求分配多个线程,每个线程执行一个处理单元,从而提高了认证速度;同时,将复杂的认证过程拆解成单个处理单元能够缩短单个线程的占用时间,避免长时间占用单个线程造成的队列堵塞挤压,提高系统的业务承载能力。

【技术实现步骤摘要】
用户认证方法和装置
本专利技术涉及认证鉴权领域,特别是一种用户认证方法和装置。
技术介绍
目前在宽带认证鉴权领域,当收到来自用户的宽带认证鉴权请求后,会分配一个线程处理该请求,由线程顺序执行包括账号密码校验、有效期校验、余额校验、捆绑属性校验等步骤,线程处理完一个鉴权请求后,获取下一个鉴权请求接着处理。由于认证鉴权为顺序执行,需要执行完最后一个步骤后才能够得到认证结果,效率低下,一旦遇到复杂业务流程就会持续占用该线程,处理时间过长,且进程池、线程池内资源不能够释放,降低系统的吞吐量;同时,由于用户在宽带认证过程中一旦遇到阻塞会反复请求认证鉴权,因此宽带认证鉴权需求量巨大,可能会导致报文队列堵塞和积压,降低系统的业务承载能力。
技术实现思路
本专利技术的一个目的在于提高宽带认证鉴权的效率和鉴权设备的承载能力。根据本专利技术的一个方面,提出用户认证方法,包括:获取用户认证请求;根据用户认证请求将对用户的认证操作分解成多个处理单元;根据处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个处理单元;根据各个线程反馈的处理单元的处理结果确定认证结果。可选地,根据处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个处理单元包括:通过多进程分层获取业务请求;根据处理单元的数量将各个进程分为多个线程,并行执行认证操作,每个线程执行一个处理单元;获取各个线程的处理结果,并释放线程。可选地,根据处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个处理单元还包括:多个线程通过基于任务的异步GDBM(GNUdatabasemanager,革奴数据管理)执行带多重异步的同步查询,获取查询数据;利用协议缓冲protobuf的反射机制,根据缓冲区的预定结构体将各个线程获取的查询数据填充到缓冲区中,以便根据查询数据确定认证结果。可选地,根据处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个处理单元还包括:若线程执行处理单元的时间达到预定时间阈值,则确定线程的处理结果为处理失败,释放线程。可选地,根据各个线程反馈的处理单元的处理结果确定认证结果包括:若各个线程反馈的处理结果均为处理成功,则认证结果包括认证成功标识;若存在线程反馈的处理结果为处理失败,则认证结果包括认证失败标识和失败原因信息。可选地,还包括:根据认证结果反馈用户授权信息。通过这样的方法,能够将对用户的认证操作分为多个处理单元,为单个用户认证请求分配多个线程,每个线程执行一个处理单元,多个线程并行执行认证操作,从而提高了认证速度;同时,将复杂的认证过程拆解成单个处理单元能够缩短单个线程的占用时间,避免长时间占用单个线程造成的队列堵塞挤压,提高系统的业务承载能力。根据本专利技术的另一个方面,提出一种用户认证装置,包括:请求获取模块,用于获取用户认证请求;认证分割模块,用于根据用户认证请求将对用户的认证操作分解成多个处理单元;并行处理模块,用于根据处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个处理单元;认证结果确定模块,用于根据各个线程反馈的处理单元的处理结果确定认证结果。可选地,并行处理模块包括:请求分层获取单元,用于通过多进程分层获取业务请求;多线程并行执行单元,用于根据处理单元的数量将进程分为多个线程,并行执行认证操作,每个线程执行一个处理单元;处理结果获取单元,用于获取各个线程的处理结果;线程释放单元,用于释放完成执行处理单元的线程。可选地,并行处理模块还包括:数据查询单元,用于利用多个线程通过基于任务的异步GDBM执行带多重异步的同步查询,获取查询数据;数据填充单元,用于利用protobuf的反射机制,根据缓冲区的预定结构体将各个线程获取的查询数据填充到缓冲区中,以便根据查询数据确定认证结果。可选地,校验结果获取单元还用于在线程执行处理单元的时间达到预定时间阈值时,确定线程的处理结果为处理失败;线程释放单元还用于在线程执行处理单元的时间达到预定时间阈值时,释放线程。可选地,认证结果确定模块用于:当各个线程反馈的处理结果均为处理成功时,确定认证结果包括认证成功标识;当存在线程反馈的处理结果为处理失败时,确定认证结果包括认证失败标识和失败原因信息。可选地,还包括:信息反馈模块,用于根据认证结果反馈用户授权信息。这样的装置能够将对用户的认证操作分为多个处理单元,为单个用户认证请求分配多个线程,每个线程执行一个处理单元,多个线程并行执行认证操作,从而提高了认证速度;同时,将复杂的认证过程拆解成单个处理单元能够缩短单个线程的占用时间,避免长时间占用单个线程造成的队列堵塞挤压,提高系统的业务承载能力。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术的用户认证方法的一个实施例的流程图。图2为本专利技术的用户认证方法中执行处理单元的一个实施例的流程图。图3为本专利技术的用户认证方法的另一个实施例的流程图。图4为本专利技术的用户认证装置的一个实施例的示意图。图5为本专利技术的用户认证装置中请求分层获取模块的一个实施例的示意图。图6为本专利技术的用户认证装置的另一个实施例的示意图。具体实施方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。本专利技术的用户认证方法的一个实施例的流程图如图1所示。在步骤101中,获取用户认证请求。在一个实施例中,用户认证请求中可以包括用户名、密码、用户种类等信息。在步骤102中,根据用户认证请求,将对用户的认证操作分解成多个处理单元。处理单元可以是最小的处理单位,可以对认证操作进行逐步分解,直至无法再次分解,得到处理单元。在一个实施例中,根据用户的不同、用户认证请求的不同,认证操作可以包括账号密码校验、有效期校验、余额校验、捆绑属性校验、业务属性校验等中的一个或多个,因此处理单元的数量可能会不同。在一个实施例中,可以根据用户认证请求判断用户类型,确定需要对用户执行哪个或哪些认证操作。如对于先付费用户需要执行账号密码校验、有效期校验、余额校验等,进一步将对用户的认证操作分解成多个处理单元。在步骤103中,根据处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个处理单元。在步骤104中,根据各个线程反馈的处理结果确定认证结果。在一个实施例中,若各个线程反馈的处理结果均为处理成功,则认证结果为认证成功标识;若存在线程反馈的处理结果为处理失败,则认证结果为认证失败。通过这样的方法,能够将对用户的认证操作分为多个处理单元,为单个用户认证请求分配多个线程,每个线程执行一个处理单元,多个线程并行执行认证操作,从而提高了认证速度;同时,将复杂的认证过程拆解成单个处理单元能够缩短单个线程的占用时间,避免长时间占用单个线程造成的队列堵塞积压,提高系统的业务承载能力。本专利技术的用户认证方法中执行校验请求的一个实施例的流程图如图2所示。在步骤201中,通过多进程分层获取业务请求。在一个实施例中,分层分别获取多个请求队列的用户认证请求,且按照分层顺序为用户认证请求分配进程。当进程执行完当前的认证操作后,对下一分层中的用户认证请求执行认证操作。在步骤202中,根据处理单元的数量将进程分为多个线程并行执行认证操作,每个线程执行一个本文档来自技高网...
用户认证方法和装置

【技术保护点】
一种用户认证方法,其特征在于,包括:获取用户认证请求;根据所述用户认证请求将对用户的认证操作分解成多个处理单元;根据所述处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个所述处理单元;根据各个线程反馈的所述处理单元的处理结果确定认证结果。

【技术特征摘要】
1.一种用户认证方法,其特征在于,包括:获取用户认证请求;根据所述用户认证请求将对用户的认证操作分解成多个处理单元;根据所述处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个所述处理单元;根据各个线程反馈的所述处理单元的处理结果确定认证结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个所述处理单元包括:通过多进程分层获取业务请求;根据所述处理单元的数量将各个所述进程分为多个线程,并行执行认证操作,每个线程执行一个所述处理单元;获取各个所述线程的所述处理结果,并释放所述线程。3.根据权利要求2所述的方法,其特征在于,所述根据所述处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个所述处理单元还包括:多个线程通过基于任务的异步革奴数据管理GDBM执行带多重异步的同步查询,获取查询数据;利用协议缓冲protobuf的反射机制,根据缓冲区的预定结构体将各个线程获取的所述查询数据填充到所述缓冲区中,以便根据所述查询数据确定认证结果。4.根据权利要求2或3所述的方法,其特征在于,所述根据所述处理单元的数量分配多个线程并行执行认证操作,每个线程执行一个所述处理单元还包括:若线程执行所述处理单元的时间达到预定时间阈值,则确定所述线程的处理结果为处理失败,释放所述线程。5.根据权利要求1所述的方法,其特征在于,所述根据各个线程反馈的所述处理单元的处理结果确定认证结果包括:若各个线程反馈的所述处理结果均为处理成功,则所述认证结果包括认证成功标识;若存在线程反馈的所述处理结果为处理失败,则所述认证结果包括认证失败标识和失败原因信息。6.根据权利要求1所述的方法,其特征在于,还包括:根据所述认证结果反馈用户授权信息。7.一种用户认证装置,其特征在于,包括:请求...

【专利技术属性】
技术研发人员:李维贤普磊金泓杨曦付文岚黄志明黄翼段舒苡李黎李旺芳杨超李晶焦建安郑欣毛中华刘昱彤李云虹张宏学王驿驰轩葛思源魏靖洋
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

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

1