CN102831017A - 一种高效分布式并行鉴权系统 - Google Patents
一种高效分布式并行鉴权系统 Download PDFInfo
- Publication number
- CN102831017A CN102831017A CN2012103151199A CN201210315119A CN102831017A CN 102831017 A CN102831017 A CN 102831017A CN 2012103151199 A CN2012103151199 A CN 2012103151199A CN 201210315119 A CN201210315119 A CN 201210315119A CN 102831017 A CN102831017 A CN 102831017A
- Authority
- CN
- China
- Prior art keywords
- authority
- data
- thread
- authority data
- authentication
- 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.)
- Granted
Links
- 238000013500 data storage Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims description 25
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种高效分布式并行鉴权系统。该鉴权系统与权限数据库连接,系统启动时,创建包含多个权限处理线程的线程池,一个权限数据同步线程,并在内存中开辟一段权限数据存储区;权限数据同步线程定时将权限数据库中的权限数据同步到权限数据存储区中;对于不同终端发送的鉴权请求分配不同的权限处理线程进行处理;权限处理线程在对鉴权请求处理时,先从权限数据存储区中查找相应的权限数据,如权限数据存储区中不存在相应的权限数据,则直接从权限数据库中获取相应的权限数据,并将获取的权限数据存入权限数据存储区中,然后根据权限数据对鉴权请求进行分析处理,输出鉴权结果。本发明能够有效解决大量终端同时并行接入系统时的鉴权问题。
Description
技术领域
本发明涉及一种鉴权系统,尤其涉及一种高效分布式并行鉴权系统,属于计算机与通信技术领域。
背景技术
现有鉴权系统由于客户终端接入数量少,尤其同时段大量终端并行接入的情况更少,因此基本不支持并行方式鉴权,即使一些系统支持并行鉴权,由于本身系统结构上的限制,也不能有效解决同时段大量终端并行接入,进行鉴权处理,一旦同时段大量终端接入系统进行鉴权,则由于同时在权限数据库建立大量数据库连接以及同时大量数据访问数据库,从而导致经常出现如下问题:
l 一些用户鉴权不成功,提示终端用户,服务端系统忙;
l 系统鉴权出现错误;
l 一些终端鉴权时间长,造成一些系统登录超时情况出现。
发明内容
本发明所要解决的技术方案在于克服现有技术的不足,提供一种高效分布式并行鉴权系统。
本发明具体采用以下技术方案解决上述技术问题。
一种高效分布式并行鉴权系统,与权限数据库连接,系统启动时,创建包含多个权限处理线程的线程池,一个权限数据同步线程,并在内存中开辟一段权限数据存储区;权限数据同步线程定时将权限数据库中的权限数据同步到权限数据存储区中;对于不同客户端发送的鉴权请求分配不同的权限处理线程进行并行处理;每个权限处理线程在对鉴权请求处理时,先从权限数据存储区中查找相应的权限数据,如权限数据存储区中不存在相应的权限数据,则直接从权限数据库中获取相应的权限数据,并将获取的权限数据存入权限数据存储区中,然后根据权限数据对鉴权请求进行分析处理,输出鉴权结果。
优选地,所述高效分布式并行鉴权系统包括接收子系统、鉴权中心子系统;系统启动时,接收子系统启动一个接收线程R,创建包含多个权限处理线程的线程池以及一个数据分发线程S,同时开辟一段动态存储区BM;鉴权中心子系统创建一个接收线程R′、一个响应线程AAT、一个数据分发线程S′、一个权限数据同步线程,开辟一个请求数据区RBM、一个响应数据区ABM和一段权限数据存储区,创建包含多个数据获取线程的线程池;接收线程R负责接收客户端发送的鉴权请求,并将鉴权请求存入动态存储区BM;数据分发线程S从动态存储区BM中读取鉴权请求,并为其分配权限处理线程;权限处理线程向接收线程R′发送权限数据请求,接收响应线程AAT发送的权限数据,并根据权限数据对鉴权请求进行分析处理,输出鉴权结果;接收线程R′接收权限数据请求,并将接收的权限数据请求存入请求数据区RBM;数据分发线程S′从请求数据区RBM中读取权限数据请求,并为其分配数据获取线程;数据获取线程根据权限数据请求获取相应的权限数据,,并将获取的权限数据存入响应数据区ABM,获取权限数据具体按照以下方法:先在权限数据存储区中查找,如权限数据存储区中无相应的权限数据,则直接从权限数据库中获取,同时将获取的权限数据放入权限数据存储区中;权限数据同步线程定时将权限数据库中的权限数据同步到权限数据存储区中;响应线程AAT从响应数据区ABM中读取权限数据并发送给相应的权限处理线程。
上述方案中,数据分发线程S、S′在为数据分配处理线程时,可以随机分配,也可采用现有的各种负载均衡算法进行分配,为了更好的平衡各处理线程的负载,降低资源消耗,提高系统整体效率,本发明进一步采用以下优选技术方案:
数据分发线程S为鉴权请求分配权限处理线程时,将其分配给当前处理效率最低的权限处理线程;而且/或者,数据分发线程S′为权限数据请求分配数据获取线程时,将其分配给当前处理效率最低的数据获取线程;所述线程的当前处理效率 按照下式计算:
本发明鉴权处理逻辑清楚,处理环节互不影响,通过定时同步权限数据到内存数据库中,然后数据获取线程直接从内存数据库中获取数据,有效解决了同时在权限数据库建立大量数据库连接以及同时大量数据访问数据库的瓶颈问题,同时通过分布式、并行处理权限数据,有效解决了大量数据终端同时并行接入系统时的鉴权问题。
附图说明
图1为本发明高效分布式并行鉴权系统的系统架构;
图2为本发明高效分布式并行鉴权系统的序列图;
图3为本发明中接收子系统的工作流程示意图;
图4为本发明中鉴权中心子系统的工作流程示意图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
本发明的高效分布式并行鉴权系统,其架构如图1所示,包括接收子系统和鉴权中心子系统;系统启动时,接收子系统启动一个接收线程R,创建包含多个权限处理线程的线程池以及一个数据分发线程S,同时开辟一段动态存储区BM;鉴权中心子系统创建一个接收线程R′、一个响应线程AAT、一个数据分发线程S′、一个权限数据同步线程,在系统内存中开辟一个请求数据区RBM、一个响应数据区ABM和一段权限数据存储区,创建包含多个数据获取线程的线程池;接收线程R负责接收客户端发送的鉴权请求,并将鉴权请求存入动态存储区BM;数据分发线程S从动态存储区BM中读取鉴权请求,并为其分配权限处理线程;权限处理线程向接收线程R′发送权限数据请求,接收响应线程AAT发送的权限数据,并根据权限数据对鉴权请求进行分析处理,输出鉴权结果,本实施方式中,权限处理线程由权限分析处理逻辑与获取鉴权数据逻辑组成,获取鉴权数据逻辑负责发送权限数据请求,以及接收响应线程AAT发送的权限数据,然后交由权限分析处理逻辑进行分析处理,并输出鉴权结果;接收线程R′接收权限数据请求,并将接收的权限数据请求存入请求数据区RBM;数据分发线程S′从请求数据区RBM中读取权限数据请求,并为其分配数据获取线程;数据获取线程根据权限数据请求获取相应的权限数据,,并将获取的权限数据存入响应数据区ABM,获取权限数据具体按照以下方法:先在权限数据存储区中查找,如权限数据存储区中无相应的权限数据,则直接从权限数据库中获取,同时将获取的权限数据放入权限数据存储区中;权限数据同步线程定时将权限数据库中的权限数据同步到权限数据存储区中;响应线程AAT从响应数据区ABM中读取权限数据并发送给相应的权限处理线程。本发明鉴权系统序列如图2所示。
为了更好的平衡各处理线程的负载,降低资源消耗,提高系统整体效率,本具体实施方式中,数据分发线程S为鉴权请求分配权限处理线程以及数据分发线程S′为权限数据请求分配数据获取线程,均将相应数据分配给当前处理效率最低的线程;所述线程的当前处理效率按照下式计算:
其中,n为该线程当前已处理数据个数,为该线程处理第n个数据所耗费时间。
本具体实施方式中,接收子系统的工作流程如图3所示,具体包括以下步骤:
步骤1、系统启动时,开启一个数据接收线程R,开启一个数据分发线程S以及开启一个包含多个数据处理线程的线程池,同时在系统内存中开辟一段用于存储接收到的客户端数据的动态存储区BM,并按照FIFO方式管理动态存储区BM;
步骤2、数据接收线程R通过socket侦听并接收客户端传过来的鉴权请求,直接把鉴权请求放入动态存储区BM,立即返回继续侦听接收客户端数据;
步骤3、数据分配线程S对动态存储区BM进行轮询,如果动态存储区BM存在鉴权请求数据,则从动态存储区BM中依次取出数据,同时对权限处理线程池进行轮询,获取各权限处理线程的当前处理效率,并将鉴权请求分配给其中当前处理效率最低的一个权限处理线程;
步骤4、权限处理线程向鉴权中心子系统发送权限数据请求,等待鉴权中心子系统返回相应的权限数据;
步骤5、根据权限数据对鉴权请求进行权限分析处理。
鉴权中心子系统的工作流程如图4所示,具体包括以下步骤:
步骤1、系统启动时,创建一个接收线程R′、一个响应线程AAT、一个数据分发线程S′、一个权限数据同步线程,在系统内存中开辟一个请求数据区RBM、一个响应数据区ABM和一段权限数据存储区,创建包含多个数据获取线程的线程池;
步骤2、系统启动时,权限数据同步线程同步权限数据库中的权限数据到权限数据存储区,然后按照预设周期定时同步鉴权数据库权限数据到权限数据存储区;
步骤3、接收线程R′通过socket侦听并接收接入子系统传过来的权限数据请求,直接把权限数据请求数据放入请求数据区RBM,立即返回继续侦听接收接入子系统的权限数据请求;
步骤4、数据分发线程S′对请求数据区RBM进行轮询,如果请求数据区RBM存在数据,则从中依次取出数据,同时对数据获取线程池进行轮询,获取各数据获取线程的当前处理效率,并将权限数据请求分配给其中当前处理效率最低的一个数据获取线程;
步骤5、数据获取线程从权限数据存储区中获取权限数据,如果权限数据存储区中不存在对应的权限数据,则直接访问权限数据库,如果权限数据库存在对应的权限数据,则从权限数据库获取权限数据,并把获取的权限数据同时放入权限数据存储区和响应数据区ABM中;如果权限数据存储区中存在对应的权限数据,则直接把对应权限数据从权限数据存储区中获取后,放入响应数据区ABM中;
步骤6、响应线程AAT从响应数据区ABM获取权限数据,把权限数据返回给接入子系统中相应的权限处理线程。
本发明的鉴权处理逻辑清楚,处理环节互不影响,通过定时同步权限数据到系统内存中,然后数据获取线程直接从系统内存中获取数据,有效解决了同时在权限数据库建立大量数据库连接以及同时大量数据访问权限数据库的瓶颈问题,同时通过分布式、并行处理权限数据,有效解决了大量数据终端同时并行接入系统时的鉴权问题。
Claims (3)
1.一种高效分布式并行鉴权系统,与权限数据库连接,其特征在于,系统启动时,创建包含多个权限处理线程的线程池,一个权限数据同步线程,并在内存中开辟一段权限数据存储区;权限数据同步线程定时将权限数据库中的权限数据同步到权限数据存储区中;对于不同客户端发送的鉴权请求分配不同的权限处理线程进行并行处理;每个权限处理线程在对鉴权请求处理时,先从权限数据存储区中查找相应的权限数据,如权限数据存储区中不存在相应的权限数据,则直接从权限数据库中获取相应的权限数据,并将获取的权限数据存入权限数据存储区中,然后根据权限数据对鉴权请求进行分析处理,输出鉴权结果。
2.如权利要求1所述高效分布式并行鉴权系统,其特征在于,包括接收子系统、鉴权中心子系统;系统启动时,接收子系统启动一个接收线程R,创建包含多个权限处理线程的线程池以及一个数据分发线程S,同时开辟一段动态存储区BM;鉴权中心子系统创建一个接收线程R′、一个响应线程AAT、一个数据分发线程S′、一个权限数据同步线程,开辟一个请求数据区RBM、一个响应数据区ABM和一段权限数据存储区,创建包含多个数据获取线程的线程池;接收线程R负责接收客户端发送的鉴权请求,并将鉴权请求存入动态存储区BM;数据分发线程S从动态存储区BM中读取鉴权请求,并为其分配权限处理线程;权限处理线程向接收线程R′发送权限数据请求,接收响应线程AAT发送的权限数据,并根据权限数据对鉴权请求进行分析处理,输出鉴权结果;接收线程R′接收权限数据请求,并将接收的权限数据请求存入请求数据区RBM;数据分发线程S′从请求数据区RBM中读取权限数据请求,并为其分配数据获取线程;数据获取线程根据权限数据请求获取相应的权限数据,,并将获取的权限数据存入响应数据区ABM,获取权限数据具体按照以下方法:先在权限数据存储区中查找,如权限数据存储区中无相应的权限数据,则直接从权限数据库中获取,同时将获取的权限数据放入权限数据存储区中;权限数据同步线程定时将权限数据库中的权限数据同步到权限数据存储区中;响应线程AAT从响应数据区ABM中读取权限数据并发送给相应的权限处理线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210315119.9A CN102831017B (zh) | 2012-08-31 | 2012-08-31 | 一种高效分布式并行鉴权系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210315119.9A CN102831017B (zh) | 2012-08-31 | 2012-08-31 | 一种高效分布式并行鉴权系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102831017A true CN102831017A (zh) | 2012-12-19 |
CN102831017B CN102831017B (zh) | 2014-09-10 |
Family
ID=47334166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210315119.9A Expired - Fee Related CN102831017B (zh) | 2012-08-31 | 2012-08-31 | 一种高效分布式并行鉴权系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831017B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273155A (zh) * | 2017-06-06 | 2017-10-20 | 福州汇思博信息技术有限公司 | 一种apk权限分配方法及系统 |
CN107493574A (zh) * | 2013-12-31 | 2017-12-19 | 福建三元达网络技术有限公司 | 无线控制器设备、并行认证处理方法、系统、组网装置 |
CN110717192A (zh) * | 2019-09-11 | 2020-01-21 | 南京工业职业技术学院 | 基于Key-Value加速器的面向大数据安全的访问控制方法 |
CN112822173A (zh) * | 2020-12-31 | 2021-05-18 | 平安科技(深圳)有限公司 | 基于分层鉴权的请求处理方法、装置及存储介质 |
CN112989294A (zh) * | 2019-12-16 | 2021-06-18 | 浙江宇视科技有限公司 | 鉴权方法、装置、服务器及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987792A (zh) * | 2006-12-20 | 2007-06-27 | 金魁 | 高级多线程管理的应用系统 |
CN101184132A (zh) * | 2007-12-19 | 2008-05-21 | 中国移动通信集团黑龙江有限公司 | 基于内存文件与实时同步技术的快速固定费用计算系统 |
CN101640587A (zh) * | 2008-08-01 | 2010-02-03 | 华为技术有限公司 | 数据同步方法及装置 |
CN101882089A (zh) * | 2009-05-07 | 2010-11-10 | 中兴通讯股份有限公司 | 一种采用多线程处理业务会话应用的方法及装置 |
CN101901270A (zh) * | 2010-08-05 | 2010-12-01 | 上海酷吧信息技术有限公司 | 一种支持海量存储的内存数据库方法 |
CN101950261A (zh) * | 2010-09-09 | 2011-01-19 | 中兴通讯股份有限公司 | 数据存储与鉴权并行的处理方法和终端 |
WO2011012157A1 (en) * | 2009-07-28 | 2011-02-03 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus and method for processing events in a telecommunications network |
-
2012
- 2012-08-31 CN CN201210315119.9A patent/CN102831017B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987792A (zh) * | 2006-12-20 | 2007-06-27 | 金魁 | 高级多线程管理的应用系统 |
CN101184132A (zh) * | 2007-12-19 | 2008-05-21 | 中国移动通信集团黑龙江有限公司 | 基于内存文件与实时同步技术的快速固定费用计算系统 |
CN101640587A (zh) * | 2008-08-01 | 2010-02-03 | 华为技术有限公司 | 数据同步方法及装置 |
CN101882089A (zh) * | 2009-05-07 | 2010-11-10 | 中兴通讯股份有限公司 | 一种采用多线程处理业务会话应用的方法及装置 |
WO2011012157A1 (en) * | 2009-07-28 | 2011-02-03 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus and method for processing events in a telecommunications network |
CN101901270A (zh) * | 2010-08-05 | 2010-12-01 | 上海酷吧信息技术有限公司 | 一种支持海量存储的内存数据库方法 |
CN101950261A (zh) * | 2010-09-09 | 2011-01-19 | 中兴通讯股份有限公司 | 数据存储与鉴权并行的处理方法和终端 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107493574A (zh) * | 2013-12-31 | 2017-12-19 | 福建三元达网络技术有限公司 | 无线控制器设备、并行认证处理方法、系统、组网装置 |
CN107273155A (zh) * | 2017-06-06 | 2017-10-20 | 福州汇思博信息技术有限公司 | 一种apk权限分配方法及系统 |
CN107273155B (zh) * | 2017-06-06 | 2021-11-09 | 福州汇思博信息技术有限公司 | 一种apk权限分配方法及系统 |
CN110717192A (zh) * | 2019-09-11 | 2020-01-21 | 南京工业职业技术学院 | 基于Key-Value加速器的面向大数据安全的访问控制方法 |
CN112989294A (zh) * | 2019-12-16 | 2021-06-18 | 浙江宇视科技有限公司 | 鉴权方法、装置、服务器及存储介质 |
CN112989294B (zh) * | 2019-12-16 | 2022-08-23 | 浙江宇视科技有限公司 | 鉴权方法、装置、服务器及存储介质 |
CN112822173A (zh) * | 2020-12-31 | 2021-05-18 | 平安科技(深圳)有限公司 | 基于分层鉴权的请求处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102831017B (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831017B (zh) | 一种高效分布式并行鉴权系统 | |
CN102916953B (zh) | 基于tcp连接实现并发服务的方法及装置 | |
CN105159781B (zh) | 调节智能终端应用网速的方法、装置和智能终端 | |
CN103763378A (zh) | 基于分布式流式计算系统的任务处理方法、系统及节点 | |
CN109933431B (zh) | 一种智能的客户端负载均衡方法及系统 | |
CN111083519A (zh) | 基于云和边缘计算的vr内容分发系统及方法 | |
CN103516807A (zh) | 一种云计算平台服务器负载均衡系统及方法 | |
CN108322358B (zh) | 异地多活的分布式消息发送、处理、消费方法及装置 | |
CN103685309A (zh) | 面向地图可视化瓦片服务接入的异步请求队列模型 | |
CN104239149A (zh) | 一种服务端多线程并行数据处理方法及负载均衡方法 | |
CN112087503A (zh) | 集群任务调度方法、系统、计算机和计算机可读存储介质 | |
CN107426274A (zh) | 基于时序的业务应用及监控分析调度的方法和系统 | |
US9807008B2 (en) | Tournament scheduling | |
EP1398696A3 (en) | System and method for arbitrating clients in a hierarchical real-time dram system | |
CN106534216B (zh) | 一种服务器部署系统 | |
CN105959411A (zh) | 云计算环境下基于协调的动态负载均衡分布式处理方法 | |
CN107579924A (zh) | 一种流量调拨方法和装置 | |
CN110555019A (zh) | 一种基于业务端的数据清洗方法 | |
CN102685257A (zh) | 数据同步处理系统、数据同步处理方法、服务器系统 | |
CN107370783B (zh) | 一种云计算集群资源的调度方法及装置 | |
CN104317947A (zh) | 一种基于海量数据的实时结构化数据比对系统 | |
CN204316546U (zh) | 一种中小型云存储数据同步系统 | |
CN104219250B (zh) | 网页数据获取方法和装置及网页数据发送方法和装置 | |
CN105872082A (zh) | 基于容器集群负载均衡算法的细粒度资源响应系统 | |
US20160197988A1 (en) | Data transfer requests with data transfer policies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140910 |
|
CF01 | Termination of patent right due to non-payment of annual fee |