CN106815099A - 鉴权系统和方法 - Google Patents
鉴权系统和方法 Download PDFInfo
- Publication number
- CN106815099A CN106815099A CN201710046587.3A CN201710046587A CN106815099A CN 106815099 A CN106815099 A CN 106815099A CN 201710046587 A CN201710046587 A CN 201710046587A CN 106815099 A CN106815099 A CN 106815099A
- Authority
- CN
- China
- Prior art keywords
- server
- authentication
- database
- business
- service access
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种鉴权系统和方法。所述鉴权系统包括:业务接入层、鉴权逻辑层和数据存储层,业务接入层包括多个业务接入服务器,鉴权逻辑层包括多个鉴权逻辑服务器,数据存储层包括主数据库和多个从数据库;各层服务器和数据库均跨地域部署。目标业务接入服务器用于接收业务提供方发送的鉴权请求,向目标鉴权逻辑服务器发送鉴权请求;目标鉴权逻辑服务器用于从目标从数据库中获取与鉴权请求相关的授权策略,根据获取的授权策略对鉴权请求进行分析处理得到鉴权结果,向目标业务接入服务器发送鉴权结果;目标业务接入服务器还用于向业务提供方发送鉴权结果。本发明实施例提高了鉴权系统的可用性,降低了访问延迟,从而提升整体的鉴权服务质量。
Description
技术领域
本发明实施例涉及信息安全技术领域,特别涉及一种鉴权系统和方法。
背景技术
鉴权是指验证用户是否拥有某种权限。鉴权系统是指用于提供鉴权服务以实现对用户操作进行鉴权的系统。
请参考图1,其示出了现有技术提供的一种鉴权系统的示意图。该鉴权系统包括:业务接入层11、鉴权逻辑层12和数据存储层13。业务接入层11用于向业务提供方提供鉴权接口,业务提供方通过调用鉴权接口向业务接入层11发送鉴权请求。业务接入层11可以包括多个业务接入服务器11a。业务接入层11还用于将鉴权请求转发给鉴权逻辑层12。鉴权逻辑层12包括多个鉴权逻辑服务器12a,每一个鉴权逻辑服务器12a均具备处理各个业务接入服务器11a发来的鉴权请求的功能。数据存储层13采用分布式数据库实现,以避免大量的数据库访问操作对同一数据库带来巨大压力。数据存储层13包括一个主数据库13a和多个从数据库13b,主数据库13a中存储授权策略,各个从数据库13b从主数据库13a中同步授权策略。鉴权逻辑服务器12a在接收到鉴权请求之后,从与其相连的从数据库13b中读取与上述鉴权请求相关的授权策略,而后根据读取的授权策略对鉴权请求进行分析处理,得到鉴权结果。
在现有技术中,鉴权逻辑层12中的鉴权逻辑服务器12a的数量可按需增加,以避免大量的鉴权请求由同一服务器处理。数据存储层13中的从数据库13b的数量也可按需增加,以避免大量的数据库访问操作对同一数据库带来巨大压力。
现有技术提供的鉴权系统,虽然采用分布式部署方式,但鉴权系统中包括的各个服务器和数据库部署在同一机房内,当机房出现故障时,会导致整个鉴权系统无法提供鉴权服务。另外,当业务提供方异地访问鉴权系统请求鉴权服务时,访问延迟较大且通信链路稳定性较低,导致鉴权系统的可用性无法得到保障。
发明内容
为了解决现有技术中鉴权系统的可用性无法得到保障的问题,本发明实施例提供了一种鉴权系统和方法。所述技术方案如下:
第一方面,提供了一种鉴权系统,所述鉴权系统包括:业务接入层、鉴权逻辑层和数据存储层,所述业务接入层包括至少两个业务接入服务器,所述鉴权逻辑层包括至少两个鉴权逻辑服务器,所述数据存储层包括主数据库和至少两个从数据库;其中,所述至少两个业务接入服务器、所述至少两个鉴权逻辑服务器和所述至少两个从数据库均跨地域部署;
所述业务接入层中的目标业务接入服务器,用于接收业务提供方发送的鉴权请求,其中,所述业务提供方与所述目标业务接入服务器位于同一地域,或者,所述业务提供方与所述目标业务接入服务器位于不同地域且所述业务提供方所处地域的业务接入服务器不可用;向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求;
所述目标鉴权逻辑服务器,用于从目标从数据库中获取与所述鉴权请求相关的授权策略,所述目标从数据库用于存储与所述业务提供方提供的业务相关的授权策略;根据与所述鉴权请求相关的授权策略对所述鉴权请求进行分析处理,得到鉴权结果;向所述目标业务接入服务器发送所述鉴权结果;
所述目标业务接入服务器,还用于向所述业务提供方发送所述鉴权结果。
第二方面,提供了一种鉴权方法,所述鉴权方法应用于鉴权系统中,所述鉴权系统包括:业务接入层、鉴权逻辑层和数据存储层,所述业务接入层包括至少两个业务接入服务器,所述鉴权逻辑层包括多个至少两个鉴权逻辑服务器,所述数据存储层包括主数据库和至少两个从数据库;其中,所述至少两个业务接入服务器、所述至少两个鉴权逻辑服务器和所述至少两个从数据库均跨地域部署;
所述鉴权方法包括:
所述业务接入层中的目标业务接入服务器接收业务提供方发送的鉴权请求,其中,所述业务提供方与所述目标业务接入服务器位于同一地域,或者,所述业务提供方与所述目标业务接入服务器位于不同地域且所述业务提供方所处地域的业务接入服务器不可用;向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求;
所述目标鉴权逻辑服务器从目标从数据库中获取与所述鉴权请求相关的授权策略,所述目标从数据库用于存储与所述业务提供方提供的业务相关的授权策略;根据与所述鉴权请求相关的授权策略对所述鉴权请求进行分析处理,得到鉴权结果;向所述目标业务接入服务器发送所述鉴权结果;
所述目标业务接入服务器向所述业务提供方发送所述鉴权结果。
第三方面,提供了一种鉴权方法,所述鉴权方法应用于鉴权系统中的目标业务接入服务器中,所述鉴权系统包括:业务接入层、鉴权逻辑层和数据存储层,所述业务接入层包括至少两个业务接入服务器,所述鉴权逻辑层包括至少两个鉴权逻辑服务器,所述数据存储层包括主数据库和至少两个从数据库;其中,所述至少两个业务接入服务器、所述至少两个鉴权逻辑服务器和所述至少两个从数据库均跨地域部署;
所述鉴权方法包括:
接收业务提供方发送的鉴权请求;其中,所述业务提供方与所述目标业务接入服务器位于同一地域,或者,所述业务提供方与所述目标业务接入服务器位于不同地域且所述业务提供方所处地域的业务接入服务器不可用;
向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求;所述目标鉴权逻辑服务器用于从目标从数据库中获取与所述鉴权请求相关的授权策略,所述目标从数据库用于存储与所述业务提供方提供的业务相关的授权策略,根据与所述鉴权请求相关的授权策略对所述鉴权请求进行分析处理,得到鉴权结果;
接收所述目标鉴权逻辑服务器发送的所述鉴权结果;
向所述业务提供方发送所述鉴权结果。
第四方面,提供了一种服务器,所述服务器为鉴权系统中的目标业务接入服务器,所述鉴权系统包括:业务接入层、鉴权逻辑层和数据存储层,所述业务接入层包括至少两个业务接入服务器,所述鉴权逻辑层包括至少两个鉴权逻辑服务器,所述数据存储层包括主数据库和至少两个从数据库;其中,所述至少两个业务接入服务器、所述至少两个鉴权逻辑服务器和所述至少两个从数据库均跨地域部署;
所述服务器包括:
请求接收模块,用于接收业务提供方发送的鉴权请求;其中,所述业务提供方与所述目标业务接入服务器位于同一地域,或者,所述业务提供方与所述目标业务接入服务器位于不同地域且所述业务提供方所处地域的业务接入服务器不可用;
请求发送模块,用于向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求;所述目标鉴权逻辑服务器用于从目标从数据库中获取与所述鉴权请求相关的授权策略,所述目标从数据库用于存储与所述业务提供方提供的业务相关的授权策略,目标鉴权逻辑服务器还用于根据与所述鉴权请求相关的授权策略对所述鉴权请求进行分析处理,得到鉴权结果;
结果接收模块,用于接收所述目标鉴权逻辑服务器发送的所述鉴权结果;
结果发送模块,用于向所述业务提供方发送所述鉴权结果。
本发明实施例提供的技术方案带来的有益效果包括:
鉴权系统中各层均采用跨地域的分布式部署方式,每层都支持按需增减以及跨地域的部署和调用。这样,当某一地域的机房内的服务器或数据库出现故障时,其它地域的机房内的服务器和数据库仍然可用,有效解决因一个机房出现故障而导致整个鉴权系统无法提供鉴权服务的问题,而且跨地域部署也可有效解决异地访问所存在的问题,提高鉴权系统的可用性,降低访问延迟,从而提升整体的鉴权服务质量。
附图说明
图1是现有技术提供的一种鉴权系统的示意图;
图2是本发明一个实施例提供的鉴权系统的示意图;
图3是本发明另一实施例提供的鉴权系统的示意图;
图4是本发明一个实施例提供的数据同步过程的示意图;
图5是本发明一个实施例提供的鉴权方法的流程图;
图6是本发明另一实施例提供的鉴权方法的流程图;
图7是本发明一个实施例提供的数据同步方法的流程图;
图8是本发明另一实施例提供的鉴权方法的流程图;
图9是本发明一个实施例提供的服务器的框图;
图10是本发明一个实施例提供的服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行介绍之前,首先对本发明实施例中涉及的“授权”和“鉴权”进行解释说明。
授权是指向用户授予某种权限。例如,业务提供方向用户授予执行某项操作的权限,业务提供方向用户授予对某个资源的访问权限,业务提供方向用户授予对某个资源执行某项操作的权限。业务提供方通过授予给用户权限,能够帮助业务提供方安全地控制其用户对其资源的访问权限。例如,控制哪些用户可以访问资源,以及控制这些用户可以访问的资源以及访问的方式。其中,访问的方式包括读取、写入、修改等操作。
鉴权是指验证用户是否拥有某种权限。根据向用户授予的权限来对用户进行鉴权。当某一用户向业务提供方请求执行某项操作时,对该用户进行鉴权,只有在鉴权通过的情况下允许用户执行其所请求的操作。例如,用户请求对某个资源进行访问,根据向该用户的授权情况确定该用户已经拥有的权限,进而确定该用户是否拥有对上述资源进行访问的权限,如果拥有则鉴权通过。
本发明实施例提供的鉴权系统,适用于任何需要提供鉴权服务的系统中。例如,云服务系统、通信系统、交易系统等。以云服务系统为例,云服务系统可提供计算、存储、下载、安全等多项不同的业务。用户在访问云服务系统请求执行操作时,云服务系统需要对用户进行鉴权,在鉴权通过的情况下允许用户执行其所请求的操作。云服务系统中可部署本发明实施例提供的鉴权系统,通过该鉴权系统对用户进行鉴权。
本发明实施例提供的鉴权系统,鉴权系统中包括的各个服务器和数据库除采用分布式部署方式之外,而且跨地域部署。这样,当某一地域的机房内的服务器或数据库出现故障时,其它地域的机房内的服务器和数据库仍然可用,有效解决因一个机房出现故障而导致整个鉴权系统无法提供鉴权服务的问题,而且跨地域部署也可有效解决异地访问所存在的问题,提高鉴权系统的可用性,降低访问延迟,从而提升整体的鉴权服务质量。
下面将基于上面所述的本发明实施例涉及的共性方面,对本发明实施例进行进一步详细说明。
请参考图2,其示出了本发明一个实施例提供的鉴权系统的示意图。该鉴权系统包括:业务接入层21、鉴权逻辑层22和数据存储层23。在本发明实施例中,上述各层均采用跨地域的分布式部署方式,每层都支持按需增减以及跨地域的部署和调用。
业务接入层21用于向业务提供方提供鉴权接口,业务提供方通过调用鉴权接口向业务接入层21发送鉴权请求。业务提供方是指向用户提供业务的设备或系统。鉴权系统可以与一个业务提供方建立连接,为该业务提供方提供鉴权服务;或者,鉴权系统也可以与多个业务提供方建立连接,为该多个业务提供方提供鉴权服务。
示例性地,以鉴权系统为上文介绍的云服务系统提供鉴权服务为例,云服务系统可包括云计算子系统、云存储子系统、云下载子系统和云安全子系统等,上述各个子系统分别用于提供计算、存储、下载、安全等多项不同的业务。每一个子系统中用于向用户提供业务的设备可采用跨地域的分布式部署方式。当任一子系统中的任一设备接收到用户的操作请求时,该设备通过调用业务接入层21提供的鉴权接口向业务接入层11发送鉴权请求。
鉴权请求用于请求对用户操作进行鉴权。鉴权请求中包括用户标识,用户标识用于唯一标识用户身份,不同的用户对应不同的用户标识。鉴权请求中还包括操作信息和/或资源信息。操作信息用于指示用户所请求执行的操作。资源信息用于指示用户所请求访问的资源。在一个示例中,假设鉴权请求中包括用户标识“123”、操作信息“读”和资源信息“abc”,则该鉴权请求用于请求验证用户标识为“123”的用户是否具备读取“abc”资源的权限。
业务接入层21采用分布式部署方式,业务接入层21包括多个业务接入服务器21a,该多个业务接入服务器21a跨地域部署,每一个地域部署有至少一个业务接入服务器21a。业务接入服务器21a用于向业务提供方提供鉴权接口。
鉴权逻辑层22用于从业务接入层21接收鉴权请求,通过执行鉴权逻辑处理鉴权请求,完成鉴权操作。鉴权逻辑层22采用分布式部署方式,鉴权逻辑层22包括多个鉴权逻辑服务器22a,该多个鉴权逻辑服务器22a跨地域部署,每一个地域部署有至少一个鉴权逻辑服务器22a。
在第一种可能的实施方式中,鉴权逻辑层22中的每一个鉴权逻辑服务器22a用于对与各个业务相关的鉴权请求进行处理。上述各个业务是指鉴权系统所接入的系统提供的各项业务。
在第二种可能的实施方式中,鉴权逻辑层22中的至少一个鉴权逻辑服务器22a用于对与一个第一业务相关的鉴权请求进行处理,第一业务是指业务量大于预设阈值的业务;以及,鉴权逻辑层22中的至少一个鉴权逻辑服务器22a用于对与多个第二业务相关的鉴权请求进行处理,第二业务是指业务量小于预设阈值的业务。在实际应用中,预设阈值可根据鉴权逻辑服务器22a的处理能力和各项业务的业务量进行设定。与某一个业务相关的鉴权请求是指用于提供该业务的业务提供方发送的鉴权请求。以上述云服务系统为例,与云计算业务相关的鉴权请求即是指由云计算子系统中的设备发送的鉴权请求,与云存储业务相关的鉴权请求即是指由云存储子系统中的设备发送的鉴权请求。
如果所有的业务共用一个鉴权逻辑服务器22a来处理相关的鉴权请求,则业务之间存在交叉影响,访问量较大的业务会占用这个鉴权逻辑服务器22a的大量处理资源,导致其它业务的鉴权性能受到影响。通过上述第二种可能的实施方式,对于访问量较大的业务,使用单独的鉴权逻辑服务器22a处理相关的鉴权请求;对于访问量较小的业务,复用鉴权逻辑服务器22a处理相关的鉴权请求,从而达到轻重业务分离的目的,避免业务间的交叉影响。
另外,当鉴权逻辑层22中的鉴权逻辑服务器22a采用上述第二种可能的实施方式部署时,对于某一地域,如果鉴权系统所服务的系统在该地域提供目标业务,则在该地域部署用于处理与目标业务相关的鉴权请求的鉴权逻辑服务器22a,而用于处理与除目标业务之外的其它业务相关的鉴权请求的鉴权逻辑服务器22a可不必在该地域部署。例如,云服务系统在地域1提供云计算业务、云存储业务、云下载业务和云安全业务,云服务系统在地域2仅提供云计算业务,假设第一鉴权逻辑服务器用于处理与云计算业务相关的鉴权请求,第二鉴权逻辑服务器用于处理与云存储和云下载业务相关的鉴权请求,第三鉴权逻辑服务器用于处理与云安全业务相关的鉴权请求,则在地域1中部署第一鉴权逻辑服务器、第二鉴权逻辑服务器和第三鉴权逻辑服务器,在地域2中仅需部署第一鉴权逻辑服务器即可。通过上述方式,能够更加合理地在各个地域部署鉴权逻辑服务器,避免资源浪费。
数据存储层23用于向鉴权逻辑层22提供授权策略。授权策略用于指示授予给用户的权限。授权策略包括用户标识,授权策略还包括操作信息和/或资源信息。在一个示例中,假设授权策略包括用户标识“001”和操作信息“读”,则该授权策略表示用户标识为“001”的用户具备读取所有资源的权限。在另一个示例中,假设授权策略包括用户标识“002”和资源信息“abc”,则该授权策略表示用户标识为“002”的用户具备对“abc”资源的访问权限,包括读取、写入、修改等各项操作权限。在又一个示例中,假设授权策略包括用户标识“003”、操作信息“读”和资源信息“abc”,则表示用户标识为“123”的用户具备读取“abc”资源的权限。
数据存储层23包括主数据库23a和多个从数据库23b。主数据库23a的数量可以是一个。多个从数据库23b采用分布式部署方式,且该多个从数据库23b跨地域部署,每一个地域部署有至少一个从数据库23b。
在第一种可能的实施方式中,主数据库23a中存储与鉴权系统所服务的系统提供的各项业务相关的授权策略,也即主数据库23a中存储与各个鉴权逻辑服务器22a所处理的业务相关的授权策略。各个从数据库23b从主数据库23a中同步授权策略,也即各个从数据库23b中存储的授权策略与主数据库23a中存储的授权策略完全相同。
在第二种可能的实施方式中,主数据库23a中存储与鉴权系统所服务的系统提供的各项业务相关的授权策略,也即主数据库23a中存储与各个鉴权逻辑服务器22a所处理的业务相关的授权策略。每一个鉴权逻辑服务器22a对应部署一个从数据库23b,一个从数据库23b中存储与其对应的鉴权逻辑服务器22a所处理的业务相关的授权策略。例如,某一个鉴权逻辑服务器22a用于处理与业务A相关的鉴权请求,则该鉴权逻辑服务器22a对应的从数据库23b中存储与业务A相关的授权策略。又例如,某一个鉴权逻辑服务器22a用于处理与业务B和业务C相关的鉴权请求,则该鉴权逻辑服务器22a对应的从数据库23b中存储与业务B和业务C相关的授权策略。通过上述方式,鉴权逻辑服务器22a可以优先从其对应的从数据库23b中获取与其所处理的业务相关的授权策略,有助于提高获取授权策略的效率。
示例性地,如图3所示,业务接入层包括业务接入服务器A和业务接入服务器B,业务接入服务器A和业务接入服务器B分别部署在地域1和地域2中。业务接入服务器A主要用于处理由地域1中的业务提供方发起的鉴权请求,业务接入服务器B主要用于处理由地域2中的业务提供方发起的鉴权请求。鉴权逻辑层包括鉴权逻辑服务器A、鉴权逻辑服务器B和鉴权逻辑服务器C,鉴权逻辑服务器A和鉴权逻辑服务器B部署在地域1中,鉴权逻辑服务器C部署在地域2中。鉴权逻辑服务器A用于处理与业务A相关的鉴权请求,鉴权逻辑服务器B用于处理与业务B和业务C相关的鉴权请求,鉴权逻辑服务器C用于处理与业务A相关的鉴权请求。数据存储层包括主数据库、从数据库A、从数据库B和从数据库C,从数据库A和从数据库B部署在地域1中,从数据库C部署在地域2中。从数据库A和鉴权逻辑服务器A对应部署,用于存储与业务A相关的授权策略;从数据库B和鉴权逻辑服务器B对应部署,用于存储与业务B和业务C相关的授权策略;从数据库C和鉴权逻辑服务器C对应部署,用于存储与业务A相关的授权策略。主数据库中存储与业务A、业务B和业务C相关的授权策略。
另外,在本发明实施例中,对主数据库所部署的地域不作限定,其可以与任一从数据库部署在同一地域,也可以部署在一个与各个从数据库所部署的地域均不同的地域。
上文对鉴权系统的各个部分进行了介绍说明,下面对鉴权系统提供鉴权服务的处理流程进行介绍说明。在本发明实施例中,仅以业务接入层21中的目标业务接入服务器接收到业务提供方的鉴权请求,对该鉴权请求进行处理的处理流程为例进行举例说明。如图2所示,目标业务接入服务器以标号21a1标注。可以理解的是,目标业务接入服务器21a1可以是业务接入层21中的任意一个业务接入服务器22a。
目标业务接入服务器21a1,用于接收业务提供方发送的鉴权请求。以鉴权系统为云服务系统提供鉴权服务为例,假设业务提供方是云服务系统中的云存储子系统中的一台用于提供云存储业务的设备,当目标用户向该设备请求读取云存储子系统中的“xxx”资源时,该设备生成鉴权请求,该鉴权请求包括目标用户的用户标识(假设为123)、操作信息“读”和资源信息“xxx”,该设备向目标业务接入服务器21a1发送鉴权请求。
业务提供方在向业务接入层21中的业务接入服务器21a发送鉴权请求时,优先选择与业务提供方位于同一地域的业务接入服务器21a作为目标业务接入服务器21a1,并向目标业务接入服务器21a1发送鉴权请求。如果与业务提供方位于同一地域的业务接入服务器21a不可用(例如出现故障),则业务提供方选择其它地域的业务接入服务器21a作为目标业务接入服务器21a1,并向目标业务接入服务器21a1发送鉴权请求。也即,业务提供方与目标业务接入服务器21a1位于同一地域,或者,业务提供方与目标业务接入服务器21a1位于不同地域且业务提供方所处地域的业务接入服务器21a不可用。
目标业务接入服务器21a1,还用于向鉴权逻辑层22中的目标鉴权逻辑服务器发送鉴权请求。如图2所示,目标鉴权逻辑服务器以标号22a1标注。在通常情况下,目标鉴权逻辑服务器22a1是与目标业务接入服务器21a1部署在同一地域的鉴权逻辑服务器,通过选择就近的鉴权逻辑服务器处理鉴权请求,可以减少数据传输时延。当然,业务接入层21和鉴权逻辑层22之间同样支持跨地域调用。如果与目标业务接入服务器21a1部署在同一地域的鉴权逻辑服务器不可用,则可以选择其它地域的鉴权逻辑服务器作为目标鉴权逻辑服务器22a1。
在一种可能的实施方式中,目标业务接入服务器21a1,具体用于:根据各个鉴权逻辑服务器22a的服务质量,选择服务质量最优的鉴权逻辑服务器22a作为目标鉴权逻辑服务器22a1;向目标鉴权逻辑服务器22a1发送鉴权请求。其中,每一个鉴权逻辑服务器22a的服务质量可根据以下至少一项参数确定:鉴权逻辑服务器22a的业务量、鉴权逻辑服务器22a与目标业务接入服务器21a1之间的连通率、鉴权逻辑服务器22a的处理效率,等等。
另外,如果鉴权逻辑层22中的鉴权逻辑服务器22a在部署时考虑轻重业务分离,则目标业务接入服务器21a1在选取目标鉴权逻辑服务器22a1时,具体用于:根据各个鉴权逻辑服务器22a的服务质量,从用于处理与业务提供方提供的业务相关的鉴权请求的鉴权逻辑服务器22a中选择服务质量最优的鉴权逻辑服务器22a,作为目标鉴权逻辑服务器22a1。例如,业务提供方为云存储子系统,其提供的业务为云存储业务,则目标业务接入服务器21a1从用于处理与云存储业务相关的鉴权请求的鉴权逻辑服务器22a中选择服务质量最优的鉴权逻辑服务器22a,作为目标鉴权逻辑服务器22a1。
示例性地,结合参考图3,业务接入服务器B接收到鉴权请求之后,优先向鉴权逻辑服务器C发送鉴权请求,将鉴权请求交由鉴权逻辑服务器C进行处理,如果鉴权逻辑服务器C因故障而不可用,则业务接入服务器B可跨地域调用鉴权逻辑服务器A,将鉴权请求发送给鉴权逻辑服务器A进行处理。
目标鉴权逻辑服务器22a1,用于在接收到鉴权请求之后,从目标从数据库中获取与鉴权请求相关的授权策略。如图2所示,目标从数据库以标号23b1标注。目标从数据库23b1用于存储与业务提供方提供的业务相关的授权策略。在通常情况下,目标从数据库23b1是与目标鉴权逻辑服务器22a1部署在同一地域的从数据库,通过从就近的从数据库中读取授权策略,可以提高获取授权策略的效率。当然,鉴权逻辑层22和数据存储层23之间同样支持跨地域调用。如果与目标鉴权逻辑服务器22a1部署在同一地域的从数据库不可用,则可以选择其它地域的从数据库作为目标从数据库23b1。
另外,如果每一个鉴权逻辑服务器22a对应部署一个从数据库23b,则目标从数据库23b1即为与目标鉴权逻辑服务器22a1对应部署的从数据库。
目标鉴权逻辑服务器22a1可以根据鉴权请求中携带的目标用户的用户标识,从目标从数据库23b1中读取与目标用户相关的授权策略,并将这些与目标用户相关的授权策略作为与鉴权请求相关的授权策略。这些与目标用户相关的授权策略记录有目标用户已经具备的权限。
需要说明的是,如果每一个鉴权逻辑服务器22a对应部署一个从数据库23b,当与目标鉴权逻辑服务器22a1对应部署的从数据库不可用时,目标鉴权逻辑服务器22a1从其它从数据库中选择符合条件的从数据库作为目标从数据库23b1,上述符合条件的从数据库即是指存储有与目标鉴权逻辑服务器22a1所处理的业务相关的授权策略的从数据库。如果其它从数据库中不存在符合条件的从数据库,则目标鉴权逻辑服务器22a1可以选择一个从数据库作为目标从数据库23b1,并通过该目标从数据库23b1从主数据库23a获取与鉴权请求相关的授权策略。
目标鉴权逻辑服务器22a1,还用于根据与鉴权请求相关的授权策略对鉴权请求进行分析处理,得到鉴权结果。目标鉴权逻辑服务器22a1根据目标用户已经具备的权限,验证目标用户是否具备执行其所请求的操作的权限。例如,将目标用户已经具备的权限与其所请求的权限进行比对,如果目标用户已经具备的权限中包括其所请求的权限,则说明具备;否则,如果目标用户已经具备的权限中不包括其所请求的权限,则说明不具备。如果具备,则确定鉴权结果为通过;如果不具备,则确定鉴权结果为未通过。
目标鉴权逻辑服务器22a1,还用于向目标业务接入服务器21a1发送鉴权结果。
目标业务接入服务器21a1,还用于向业务提供方发送鉴权结果。业务提供方接收到鉴权结果之后,便可根据鉴权结果确定是否允许目标用户执行其所请求的操作。如果鉴权结果为通过,则业务提供方允许目标用户执行其所请求的操作;如果鉴权结果为未通过,则业务提供方不允许目标用户执行其所请求的操作。
可选地,目标业务接入服务器21a1,还用于:在接收到鉴权请求之后,判断目标业务接入服务器21a1的缓存中是否已存储鉴权请求对应的鉴权结果;若已存储鉴权请求对应的鉴权结果,则从缓存中获取鉴权请求对应的鉴权结果,并执行向业务提供方发送鉴权结果的步骤;若未存储鉴权请求对应的鉴权结果,则执行向鉴权逻辑层中的目标鉴权逻辑服务器22a1发送鉴权请求的步骤。
由于授权策略更改较少,为了提高对鉴权请求的响应效率,同时避免因基础鉴权服务异常(例如各地域的鉴权逻辑服务器22a均不可用)而导致无法提供鉴权服务,在本发明实施例中,业务接入服务器21a将鉴权请求对应的鉴权结果进行缓存。业务接入服务器21a在接收到鉴权请求之后,首先判断本地的缓存中是否已存储鉴权请求对应的鉴权结果,如果已存储鉴权请求对应的鉴权结果,则直接获取该鉴权结果并反馈给业务提供方,无需将鉴权请求发送给鉴权逻辑层22进行处理,提高响应效率,且减少鉴权逻辑层22的请求处理量。
另外,业务接入层21的目标业务接入服务器21a1中缓存的鉴权结果是之前通过鉴权逻辑层22对鉴权请求进行处理后得到的鉴权结果。对于同样的鉴权请求来说,如果之前已经对该鉴权请求进行处理得到鉴权结果并在目标业务接入服务器21a1中缓存,则该目标业务接入服务器21a1再次接收到这个鉴权请求时,可以直接从缓存中获取对应的鉴权结果,无需交由鉴权逻辑层22重复处理。
在本发明实施例中,对鉴权结果在业务接入服务器21a中缓存的时间不作限定,其可根据业务接入服务器21a的存储性能进行设定。例如,业务接入服务器21a的存储性能越好,则鉴权结果在业务接入服务器21a中缓存的时间越长;反之,业务接入服务器21a的存储性能越差,则鉴权结果在业务接入服务器21a中缓存的时间越短。另外,当主数据库23a中有授权策略发生更改时,业务接入服务器21a将缓存中与该更改的授权策略相关的鉴权请求对应的鉴权结果删除,以避免因鉴权结果更新不及时而导致向业务提供方反馈错误的鉴权结果。
可选地,目标业务接入服务器21a1,还用于:当各个鉴权逻辑服务器22a均不可用时,根据默认授权策略对鉴权请求进行分析处理,得到鉴权结果。其中,默认授权策略是指针对所有用户制定的通用的授权策略。默认授权策略不考虑用户间的差异化特性,其可以结合用户属性、操作类型和资源类型进行设定。例如,默认授权策略可以是所有用户具备读取某种类型的资源的权限。又例如,默认授权策略可以是所有用户具备对某种类型的资源执行某种操作的权限。再例如,默认授权策略可以是符合某种预设条件的用户具备对某种类型的资源执行读取和修改操作的权限。
在一个示例中,默认授权策略包括:所有用户仅具备读取“xxx”资源的权限,而不具备修改“xxx”资源的权限。假设目标业务接入服务器21a1接收到的鉴权请求用于请求验证目标用户是否具备读取“xxx”资源的权限,目标业务接入服务器21a1优先将该鉴权请求发送给鉴权逻辑层22进行处理,如果鉴权逻辑层22中的各个鉴权逻辑服务器22a均不可用时,则目标业务接入服务器21a1根据默认授权策略得到鉴权结果,也即鉴权结果为通过。
需要说明的是,默认授权策略仅在业务接入服务器21a1的缓存失效(如未缓存鉴权请求对应的鉴权结果,或者鉴权请求对应的鉴权结果已过期),且鉴权逻辑层22中的各个鉴权逻辑服务器22a均不可用的情况下生效,通过设置默认授权策略,实现提供柔性容灾的解决方案。
本发明实施例提供的方案中,鉴权系统中各层均采用跨地域的分布式部署方式,每层都支持按需增减以及跨地域的部署和调用。这样,当某一地域的机房内的服务器或数据库出现故障时,其它地域的机房内的服务器和数据库仍然可用,有效解决因一个机房出现故障而导致整个鉴权系统无法提供鉴权服务的问题,而且跨地域部署也可有效解决异地访问所存在的问题,提高鉴权系统的可用性,降低访问延迟,从而提升整体的鉴权服务质量。
另外,通过在业务接入层对鉴权结果进行缓存,优先从缓存中获取鉴权结果,一方面可以提高对鉴权请求的响应效率,减少鉴权逻辑层的请求处理量,另一方面也可以避免因基础鉴权服务异常(例如各地域的鉴权逻辑服务器均不可用)带来的影响,使得鉴权系统能够尽可能地正常提供鉴权服务。
另外,通过设置默认授权策略,提供柔性容灾的解决方案,尽可能地减少对用户操作的影响。
另外,对于访问量较大的业务,使用单独的鉴权逻辑服务器处理相关的鉴权请求;对于访问量较小的业务,复用鉴权逻辑服务器处理相关的鉴权请求,从而达到轻重业务分离的目的,避免业务间的交叉影响,使得整个鉴权系统的服务性能得到保障。
在基于图2所示实施例提供的一个可选实施例中,数据存储层包括主数据库服务器和至少两个从数据库服务器。其中,主数据库服务器中部署主数据库,每一个从数据库服务器中部署至少一个从数据库。从数据库服务器采用跨地域的分布式部署方式,一个地域中可部署至少一个从数据库服务器。
结合参考图4,在本发明实施例中,提供了一套跨地域的数据同步方案,用以实现将主数据库中存储的授权策略同步至从数据库中。
如图4所示,主数据库服务器41包括:主数据库41a、日志文件41b、管理模块41c和IO(Input Output,输入输出)服务端(server)41d。有关主数据库41a的说明可参见上文,本实施例对此不再赘述。日志文件41b用于记录对主数据库41a中存储的数据(也即授权策略)执行的更新操作所对应的操作日志。上述更新操作包括添加、删除、修改等操作。对数据库的更新操作可称为SQL(Structured Query Language,结构化查询语言)操作。日志文件41b可以是二进制日志文件binlog。管理模块41c用于对主数据库41a中存储的数据执行更新操作,管理模块可称为Manager模块。IO服务端41d用于读取日志文件41b,并将读取的日志文件41b同步给IO客户端。
从数据库服务器42包括:从数据库42a、日志文件42b、执行模块42c和IO客户端(client)42d。有关从数据库42a的说明可参见上文,本实施例对此不再赘述。日志文件42b用于记录对从数据库42a中存储的数据(也即授权策略)执行的更新操作所对应的操作日志。上述更新操作包括添加、删除、修改等操作。日志文件42b可以是二进制日志文件binlog。执行模块42c用于读取和执行日志文件42b中未执行的SQL操作,执行模块可称为SQL executor模块。IO客户端41d用于从IO服务端接收操作日志,并将接收的操作日志写入到日志文件42b中。
主数据库服务器41和从数据库服务器42部署在不同的地域,下面对主数据库服务器41和从数据库服务器42之间跨地域的数据同步过程进行介绍说明。
主数据库服务器41,用于根据对主数据库41a中存储的授权策略的更新操作,在主数据库服务器41的日志文件41b中添加操作日志。日志文件41b可以由主数据库服务器41的应用层生成。
结合参考图4,管理模块41c对主数据库41a中存储的授权策略执行更新操作,例如添加授权策略,并在日志文件41b中添加操作日志,该操作日志记录有执行的上述更新操作。
主数据库服务器41,还用于对于每一个从数据库服务器42,将主数据库服务器41的日志文件41b中未同步给从数据库服务器42的操作日志发送给从数据库服务器42。
在一种可能的实施方式中,主数据库服务器41主动向从数据库服务器42发送操作日志,例如主数据库服务器41在每一次更新日志文件41b之后,主动将日志文件41b中未同步给从数据库服务器42的操作日志发送给从数据库服务器42。
在另一种可能的实施方式中,主数据库服务器41在接收到从数据库服务器42发送的更新请求之后,向从数据库服务器42发送操作日志。例如,从数据库服务器42定时向主数据库服务器41发送更新请求,该更新请求用于请求主数据库服务器41将日志文件41b中未同步给从数据库服务器42的操作日志发送给从数据库服务器42。主数据库服务器41在接收到更新请求之后,如果确认日志文件41b已更新,则将日志文件41b中未同步给从数据库服务器42的操作日志发送给从数据库服务器42。
另外,如果从数据库采用图2所示实施例提供的第二种可能的实施方式存储授权策略,则主数据库服务器41将日志文件41b中未同步给从数据库42a且从数据库42a需要的授权策略发送给从数据库服务器42;其中,如果从数据库42中存储与目标业务相关的授权策略,则从数据库42a需要的授权策略即是指与目标业务相关的授权策略。
结合参考图4,IO服务端41d将日志文件41b中未同步给从数据库服务器42的操作日志发送给从数据库服务器42。
从数据库服务器42,用于将接收到的操作日志添加至从数据库服务器42的日志文件42b中。
结合参考图4,IO客户端42d接收IO服务端41d发送的操作日志,并将接收到的操作日志写入日志文件42b中。
从数据库服务器42,还用于执行从数据库服务器42的日志文件42b中未执行的操作日志,以对从数据库服务器42的从数据库42a中存储的授权策略进行更新。
结合参考图4,执行模块42c从日志文件42b中读取未执行的操作日志,并执行这些未执行的操作日志,以对从数据库42a中存储的授权策略进行更新,从而实现授权策略在主从数据库间的同步。
可选地,如果执行模块42c在执行操作日志的过程中遇到执行失败的情况,则从数据库服务器42从主数据库服务器41中重新请求获取未执行成功的操作日志,并重新执行。
在本实施例中,提供了一套跨地域的数据同步方案,用以实现将主数据库中存储的授权策略同步至从数据库中。
下述为本发明方法实施例,对于本发明方法实施例中未披露的细节,请参照本发明系统实施例。
请参考图5,其示出了本发明一个实施例提供的鉴权方法的流程图。该鉴权方法应用于图2所示实施例提供的鉴权系统中,有关鉴权系统的介绍参见上文,此处不再赘述。该鉴权方法可以包括如下几个步骤。
步骤501,业务接入层中的目标业务接入服务器接收业务提供方发送的鉴权请求。
步骤502,目标业务接入服务器向鉴权逻辑层中的目标鉴权逻辑服务器发送鉴权请求。
相应地,目标鉴权逻辑服务器接收目标业务接入服务器发送的鉴权请求。
在通常情况下,目标鉴权逻辑服务器是与目标业务接入服务器部署在同一地域的鉴权逻辑服务器,通过选择就近的鉴权逻辑服务器处理鉴权请求,可以减少数据传输时延。
在一种可能的实施方式中,步骤502包括如下几个子步骤:
1、目标业务接入服务器根据各个鉴权逻辑服务器的服务质量,选择服务质量最优的鉴权逻辑服务器作为目标鉴权逻辑服务器;
2、目标业务接入服务器向目标鉴权逻辑服务器发送鉴权请求。
其中,每一个鉴权逻辑服务器的服务质量可根据以下至少一项参数确定:鉴权逻辑服务器的业务量、鉴权逻辑服务器与目标业务接入服务器之间的连通率、鉴权逻辑服务器的处理效率,等等。
另外,如果鉴权逻辑层中的鉴权逻辑服务器在部署时考虑轻重业务分离,则目标业务接入服务器在选取目标鉴权逻辑服务器时,具体包括:根据各个鉴权逻辑服务器的服务质量,从用于处理与业务提供方提供的业务相关的鉴权请求的鉴权逻辑服务器中选择服务质量最优的鉴权逻辑服务器,作为目标鉴权逻辑服务器。
步骤503,目标鉴权逻辑服务器从目标从数据库中获取与鉴权请求相关的授权策略。
目标从数据库用于存储与业务提供方提供的业务相关的授权策略。在通常情况下,目标从数据库是与目标鉴权逻辑服务器部署在同一地域的从数据库,通过从就近的从数据库中读取授权策略,可以提高获取授权策略的效率。
另外,如果每一个鉴权逻辑服务器对应部署一个从数据库,则目标从数据库即为与目标鉴权逻辑服务器对应部署的从数据库。
目标鉴权逻辑服务器可以根据鉴权请求中携带的目标用户的用户标识,从目标从数据库中读取与目标用户相关的授权策略,并将这些与目标用户相关的授权策略作为与鉴权请求相关的授权策略。这些与目标用户相关的授权策略记录有目标用户已经具备的权限。
步骤504,目标鉴权逻辑服务器根据与鉴权请求相关的授权策略对鉴权请求进行分析处理,得到鉴权结果。
目标鉴权逻辑服务器根据目标用户已经具备的权限,验证目标用户是否具备执行其所请求的操作的权限。如果具备,则确定鉴权结果为通过;如果不具备,则确定鉴权结果为未通过。
步骤505,目标鉴权逻辑服务器向目标业务接入服务器发送鉴权结果。
相应地,目标业务接入服务器接收目标鉴权逻辑服务器发送的鉴权结果。
步骤506,目标业务接入服务器向业务提供方发送鉴权结果。
业务提供方接收到鉴权结果之后,便可根据鉴权结果确定是否允许目标用户执行其所请求的操作。如果鉴权结果为通过,则业务提供方允许目标用户执行其所请求的操作;如果鉴权结果为未通过,则业务提供方不允许目标用户执行其所请求的操作。
可选地,如图6所示,上述步骤501之后还包括如下步骤:
步骤507,目标业务接入服务器判断目标业务接入服务器的缓存中是否已存储鉴权请求对应的鉴权结果;若是,则执行下述步骤508,并在步骤508之后执行上述步骤506;若否,则执行上述步骤502。
步骤508,目标业务接入服务器从缓存中获取鉴权请求对应的鉴权结果。
由于授权策略更改较少,为了提高对鉴权请求的响应效率,同时避免因基础鉴权服务异常(例如各地域的鉴权逻辑服务器均不可用)而导致无法提供鉴权服务,在本发明实施例中,业务接入服务器将鉴权请求对应的鉴权结果进行缓存。业务接入服务器在接收到鉴权请求之后,首先判断本地的缓存中是否已存储鉴权请求对应的鉴权结果,如果已存储鉴权请求对应的鉴权结果,则直接获取该鉴权结果并反馈给业务提供方,无需将鉴权请求发送给鉴权逻辑层进行处理,提高响应效率,且减少鉴权逻辑层的请求处理量。
在本发明实施例中,对鉴权结果在业务接入服务器中缓存的时间不作限定,其可根据业务接入服务器的存储性能进行设定。另外,当主数据库中有授权策略发生更改时,业务接入服务器将缓存中与该更改的授权策略相关的鉴权请求对应的鉴权结果删除,以避免因鉴权结果更新不及时而导致向业务提供方反馈错误的鉴权结果。
可选地,上述步骤501之后还包括如下步骤:当各个鉴权逻辑服务器均不可用时,目标业务接入服务器根据默认授权策略对鉴权请求进行分析处理,得到鉴权结果。其中,默认授权策略是指针对所有用户制定的通用的授权策略。
默认授权策略不考虑用户间的差异化特性,其可以结合用户属性、操作类型和资源类型进行设定。例如,默认授权策略可以是所有用户具备读取某种类型的资源的权限。又例如,默认授权策略可以是所有用户具备对某种类型的资源执行某种操作的权限。再例如,默认授权策略可以是符合某种预设条件的用户具备对某种类型的资源执行读取和修改操作的权限。
需要说明的是,默认授权策略仅在业务接入服务器的缓存失效(如未缓存鉴权请求对应的鉴权结果,或者鉴权请求对应的鉴权结果已过期),且鉴权逻辑层中的各个鉴权逻辑服务器均不可用的情况下生效,通过设置默认授权策略,实现提供柔性容灾的解决方案。
本发明实施例提供的方案中,鉴权系统中各层均采用跨地域的分布式部署方式,每层都支持平行扩展以及跨地域的部署和调用。这样,当某一地域的机房内的服务器或数据库出现故障时,其它地域的机房内的服务器和数据库仍然可用,有效解决因一个机房出现故障而导致整个鉴权系统无法提供鉴权服务的问题,而且跨地域部署也可有效解决异地访问所存在的问题,提高鉴权系统的可用性,降低访问延迟,从而提升整体的鉴权服务质量。
另外,通过在业务接入层对鉴权结果进行缓存,优先从缓存中获取鉴权结果,一方面可以提高对鉴权请求的响应效率,减少鉴权逻辑层的请求处理量,另一方面也可以避免因基础鉴权服务异常(例如各地域的鉴权逻辑服务器均不可用)带来的影响,使得鉴权系统能够尽可能地正常提供鉴权服务。
另外,通过设置默认授权策略,提供柔性容灾的解决方案,尽可能地减少对用户操作的影响。
在一个示例性实施例中,数据存储层包括主数据库服务器和至少两个从数据库服务器。其中,主数据库服务器中部署主数据库,每一个从数据库服务器中部署至少一个从数据库。
结合参考图7,在本发明实施例中,提供了一套跨地域的数据同步方案,用以实现将主数据库中存储的授权策略同步至从数据库中。该数据同步方法可以包括如下几个步骤:
步骤701,主数据库服务器根据对主数据库中存储的授权策略的更新操作,在主数据库服务器的日志文件中添加操作日志。
步骤702,对于每一个从数据库服务器,主数据库服务器将主数据库服务器的日志文件中未同步给从数据库服务器的操作日志发送给从数据库服务器。
步骤703,从数据库服务器将接收到的操作日志添加至从数据库服务器的日志文件中。
步骤704,从数据库服务器执行从数据库服务器的日志文件中未执行的操作日志,以对从数据库服务器的从数据库中存储的授权策略进行更新。
有关图7所示实施例中各步骤的介绍可参见图4所示实施例中的介绍说明,此处不作赘述。
请参考图8,其示出了本发明另一实施例提供的鉴权方法的流程图。该鉴权方法应用于鉴权系统中的目标业务接入服务器中。有关鉴权系统的介绍参见上文,此处不再赘述。目标业务接入服务器是业务接入层中的任意一个业务接入服务器。该鉴权方法可以包括如下几个步骤。
步骤801,接收业务提供方发送的鉴权请求;
其中,业务提供方与目标业务接入服务器位于同一地域,或者,业务提供方与目标业务接入服务器位于不同地域且业务提供方地域的业务接入服务器不可用。
步骤802,向鉴权逻辑层中的目标鉴权逻辑服务器发送鉴权请求;
目标鉴权逻辑服务器用于从从数据库中获取与鉴权请求相关的授权策略,目标从数据库用于存储与业务提供方提供的业务相关的授权策略。目标鉴权逻辑服务器还用于根据与鉴权请求相关的授权策略对鉴权请求进行分析处理,得到鉴权结果。
步骤803,接收目标鉴权逻辑服务器发送的鉴权结果;
步骤804,向业务提供方发送鉴权结果。
可选地,上述步骤801之后还包括:判断目标业务接入服务器的缓存中是否已存储鉴权请求对应的鉴权结果;若是,则从缓存中获取鉴权请求对应的鉴权结果,并执行步骤804;若否,则执行步骤802。
可选地,上述步骤801之后还包括:当各个鉴权逻辑服务器均不可用时,根据默认授权策略对鉴权请求进行分析处理,得到鉴权结果;其中,默认授权策略是指针对所有用户制定的通用的授权策略。
可选地,上述步骤802包括如下几个子步骤:
步骤802a,根据各个鉴权逻辑服务器的服务质量,选择服务质量最优的鉴权逻辑服务器作为目标鉴权逻辑服务器;
步骤802b,向目标鉴权逻辑服务器发送鉴权请求。
请参考图9,其示出了本发明一个实施例提供的服务器的框图。该服务器为鉴权系统中的目标业务接入服务器。有关鉴权系统的介绍参见上文,此处不再赘述。目标业务接入服务器是业务接入层中的任意一个业务接入服务器。该服务器可以包括:请求接收模块910、请求发送模块920、结果接收模块930和结果发送模块940。
请求接收模块910,用于执行上述步骤801。
请求发送模块920,用于执行上述步骤802。
结果接收模块930,用于执行上述步骤803。
结果发送模块940,用于执行上述步骤804。
可选地,该服务器还包括:判断模块和结果获取模块。
判断模块,用于判断目标业务接入服务器的缓存中是否已存储鉴权请求对应的鉴权结果。
结果获取模块,用于若已存储鉴权请求对应的鉴权结果,则从缓存中获取鉴权请求对应的鉴权结果。结果发送模块940,还用于向业务提供方发送结果获取模块获取的鉴权结果。
请求发送模块920,还用于若未存储鉴权请求对应的鉴权结果,则向鉴权逻辑层中的目标鉴权逻辑服务器发送鉴权请求。
可选地,该服务器还包括:请求处理模块。
请求处理模块,用于当各个鉴权逻辑服务器均不可用时,根据默认授权策略对鉴权请求进行分析处理,得到鉴权结果;其中,默认授权策略是指针对所有用户制定的通用的授权策略。
可选地,请求发送模块920包括:选择单元和发送单元。
请求单元,用于执行上述步骤802a。
发送单元,用于执行上述步骤802b。
请参考图10,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器可以实现成为上述鉴权系统中的任意一个服务器。具体来讲:
所述服务器1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述服务器1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本发明的各种实施例,所述服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包括用于执行上述方法的指令。
应当理解的是,在本文中提及的“多个”和“至少两个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的示例性实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种鉴权系统,其特征在于,所述鉴权系统包括:业务接入层、鉴权逻辑层和数据存储层,所述业务接入层包括至少两个业务接入服务器,所述鉴权逻辑层包括至少两个鉴权逻辑服务器,所述数据存储层包括主数据库和至少两个从数据库;其中,所述至少两个业务接入服务器、所述至少两个鉴权逻辑服务器和所述至少两个从数据库均跨地域部署;
所述业务接入层中的目标业务接入服务器,用于接收业务提供方发送的鉴权请求,其中,所述业务提供方与所述目标业务接入服务器位于同一地域,或者,所述业务提供方与所述目标业务接入服务器位于不同地域且所述业务提供方所处地域的业务接入服务器不可用;向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求;
所述目标鉴权逻辑服务器,用于从目标从数据库中获取与所述鉴权请求相关的授权策略,所述目标从数据库用于存储与所述业务提供方提供的业务相关的授权策略;根据与所述鉴权请求相关的授权策略对所述鉴权请求进行分析处理,得到鉴权结果;向所述目标业务接入服务器发送所述鉴权结果;
所述目标业务接入服务器,还用于向所述业务提供方发送所述鉴权结果。
2.根据权利要求1所述的鉴权系统,其特征在于,所述目标业务接入服务器,还用于:
在接收到所述鉴权请求之后,判断所述目标业务接入服务器的缓存中是否已存储所述鉴权请求对应的鉴权结果;
若已存储所述鉴权请求对应的鉴权结果,则从所述缓存中获取所述鉴权请求对应的鉴权结果,并执行所述向所述业务提供方发送所述鉴权结果的步骤;
若未存储所述鉴权请求对应的鉴权结果,则执行所述向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求的步骤。
3.根据权利要求1所述的鉴权系统,其特征在于,所述目标业务接入服务器,还用于:
当各个所述鉴权逻辑服务器均不可用时,根据默认授权策略对所述鉴权请求进行分析处理,得到鉴权结果;
其中,所述默认授权策略是指针对所有用户制定的通用的授权策略。
4.根据权利要求1所述的鉴权系统,其特征在于,所述目标业务接入服务器,用于:
根据各个所述鉴权逻辑服务器的服务质量,选择服务质量最优的鉴权逻辑服务器作为所述目标鉴权逻辑服务器;
向所述目标鉴权逻辑服务器发送所述鉴权请求。
5.根据权利要求1所述的鉴权系统,其特征在于,
所述鉴权逻辑层中的至少一个鉴权逻辑服务器用于对与一个第一业务相关的鉴权请求进行处理,所述第一业务是指业务量大于预设阈值的业务;
所述鉴权逻辑层中的至少一个鉴权逻辑服务器用于对与多个第二业务相关的鉴权请求进行处理,所述第二业务是指业务量小于预设阈值的业务。
6.根据权利要求5所述的鉴权系统,其特征在于,
每一个鉴权逻辑服务器对应部署一个从数据库,所述从数据库中存储与所述鉴权逻辑服务器所处理的业务相关的授权策略;
所述主数据库中存储与各个所述鉴权逻辑服务器所处理的业务相关的授权策略。
7.根据权利要求1所述的鉴权系统,其特征在于,所述数据存储层包括主数据库服务器和至少两个从数据库服务器;其中,所述主数据库服务器中部署所述主数据库,每一个从数据库服务器中部署至少一个从数据库;
所述主数据库服务器,用于根据对所述主数据库中存储的授权策略的更新操作,在所述主数据库服务器的日志文件中添加操作日志;对于每一个从数据库服务器,将所述主数据库服务器的日志文件中未同步给所述从数据库服务器的操作日志发送给所述从数据库服务器;
所述从数据库服务器,用于将接收到的操作日志添加至所述从数据库服务器的日志文件中;执行所述从数据库服务器的日志文件中未执行的操作日志,以对所述从数据库服务器的从数据库中存储的授权策略进行更新。
8.一种鉴权方法,其特征在于,所述鉴权方法应用于鉴权系统中,所述鉴权系统包括:业务接入层、鉴权逻辑层和数据存储层,所述业务接入层包括至少两个业务接入服务器,所述鉴权逻辑层包括至少两个鉴权逻辑服务器,所述数据存储层包括主数据库和至少两个从数据库;其中,所述至少两个业务接入服务器、所述至少两个鉴权逻辑服务器和所述至少两个从数据库均跨地域部署;
所述鉴权方法包括:
所述业务接入层中的目标业务接入服务器接收业务提供方发送的鉴权请求,其中,所述业务提供方与所述目标业务接入服务器位于同一地域,或者,所述业务提供方与所述目标业务接入服务器位于不同地域且所述业务提供方所处地域的业务接入服务器不可用;向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求;
所述目标鉴权逻辑服务器从目标从数据库中获取与所述鉴权请求相关的授权策略,所述目标从数据库用于存储与所述业务提供方提供的业务相关的授权策略;根据与所述鉴权请求相关的授权策略对所述鉴权请求进行分析处理,得到鉴权结果;向所述目标业务接入服务器发送所述鉴权结果;
所述目标业务接入服务器向所述业务提供方发送所述鉴权结果。
9.根据权利要求8所述的鉴权方法,其特征在于,所述目标业务接入服务器接收业务提供方发送的鉴权请求之后,还包括:
所述目标业务接入服务器判断所述目标业务接入服务器的缓存中是否已存储所述鉴权请求对应的鉴权结果;
若已存储所述鉴权请求对应的鉴权结果,则所述目标业务接入服务器从所述缓存中获取所述鉴权请求对应的鉴权结果,并执行所述向所述业务提供方发送所述鉴权结果的步骤;
若未存储所述鉴权请求对应的鉴权结果,则所述目标业务接入服务器执行所述向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求的步骤。
10.根据权利要求8所述的鉴权方法,其特征在于,所述目标业务接入服务器接收业务提供方发送的鉴权请求之后,还包括:
当各个所述鉴权逻辑服务器均不可用时,所述目标业务接入服务器根据默认授权策略对所述鉴权请求进行分析处理,得到鉴权结果;
其中,所述默认授权策略是指针对所有用户制定的通用的授权策略。
11.根据权利要求8所述的鉴权方法,其特征在于,所述目标业务接入服务器向所述鉴权逻辑层中的目标鉴权逻辑服务器发送所述鉴权请求,包括:
所述目标业务接入服务器根据各个所述鉴权逻辑服务器的服务质量,选择服务质量最优的鉴权逻辑服务器作为所述目标鉴权逻辑服务器;
所述目标业务接入服务器向所述目标鉴权逻辑服务器发送所述鉴权请求。
12.根据权利要求8所述的鉴权方法,其特征在于,
所述鉴权逻辑层中的至少一个鉴权逻辑服务器用于对与一个第一业务相关的鉴权请求进行处理,所述第一业务是指业务量大于预设阈值的业务;
所述鉴权逻辑层中的至少一个鉴权逻辑服务器用于对与多个第二业务相关的鉴权请求进行处理,所述第二业务是指业务量小于预设阈值的业务。
13.根据权利要求12所述的鉴权方法,其特征在于,
每一个鉴权逻辑服务器对应部署一个从数据库,所述从数据库中存储与所述鉴权逻辑服务器所处理的业务相关的授权策略;
所述主数据库中存储与各个所述鉴权逻辑服务器所处理的业务相关的授权策略。
14.根据权利要求8所述的鉴权方法,其特征在于,所述数据存储层包括主数据库服务器和至少两个从数据库服务器;其中,所述主数据库服务器中部署所述主数据库,每一个从数据库服务器中部署至少一个从数据库;
所述鉴权方法还包括:
所述主数据库服务器根据对所述主数据库中存储的授权策略的更新操作,在所述主数据库服务器的日志文件中添加操作日志;对于每一个从数据库服务器,将所述主数据库服务器的日志文件中未同步给所述从数据库服务器的操作日志发送给所述从数据库服务器;
所述从数据库服务器将接收到的操作日志添加至所述从数据库服务器的日志文件中;执行所述从数据库服务器的日志文件中未执行的操作日志,以对所述从数据库服务器的从数据库中存储的授权策略进行更新。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710046587.3A CN106815099B (zh) | 2017-01-19 | 2017-01-19 | 鉴权系统和方法 |
PCT/CN2018/072119 WO2018133721A1 (zh) | 2017-01-19 | 2018-01-10 | 鉴权系统、方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710046587.3A CN106815099B (zh) | 2017-01-19 | 2017-01-19 | 鉴权系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106815099A true CN106815099A (zh) | 2017-06-09 |
CN106815099B CN106815099B (zh) | 2020-09-18 |
Family
ID=59111979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710046587.3A Active CN106815099B (zh) | 2017-01-19 | 2017-01-19 | 鉴权系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106815099B (zh) |
WO (1) | WO2018133721A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108092996A (zh) * | 2018-01-29 | 2018-05-29 | 平安科技(深圳)有限公司 | 一种鉴权通道选取方法及终端设备 |
WO2018133721A1 (zh) * | 2017-01-19 | 2018-07-26 | 腾讯科技(深圳)有限公司 | 鉴权系统、方法及服务器 |
CN109828852A (zh) * | 2019-01-23 | 2019-05-31 | 北京奇艺世纪科技有限公司 | 一种权限管理方法、装置、系统、设备及可读存储介质 |
CN109840402A (zh) * | 2018-12-19 | 2019-06-04 | 北京百度网讯科技有限公司 | 私有化服务授权管理方法、装置、计算机设备及存储介质 |
CN110266742A (zh) * | 2018-03-12 | 2019-09-20 | 大唐移动通信设备有限公司 | 鉴权数据的处理方法、鉴权数据服务器及鉴权系统 |
CN110309669A (zh) * | 2019-06-12 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种数据标注方法、装置及设备 |
CN110990868A (zh) * | 2019-11-29 | 2020-04-10 | 华为技术有限公司 | 应用登录及应用访问应用服务器的方法、电子设备 |
CN111277592A (zh) * | 2018-06-27 | 2020-06-12 | 贵州白山云科技股份有限公司 | 一种鉴权方法、装置、存储介质及计算机设备 |
CN112055024A (zh) * | 2020-09-09 | 2020-12-08 | 深圳市欢太科技有限公司 | 权限校验方法及装置、存储介质和电子设备 |
CN112668059A (zh) * | 2021-03-16 | 2021-04-16 | 浙江华创视讯科技有限公司 | 会议授权控制方法、装置、电子设备、系统及存储介质 |
WO2021115231A1 (zh) * | 2019-12-10 | 2021-06-17 | 华为技术有限公司 | 一种鉴权方法和相关设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239377B (zh) * | 2021-05-14 | 2024-05-17 | 北京百度网讯科技有限公司 | 权限控制方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558693A (zh) * | 2004-01-13 | 2004-12-29 | ����ͨѶ�ɷ�����˾ | 一种通过路由服务器实现用户异地漫游业务的系统及方法 |
CN101137222A (zh) * | 2007-01-18 | 2008-03-05 | 中兴通讯股份有限公司 | 一种接入鉴权处理方法和系统及装置 |
CN101583024A (zh) * | 2009-06-04 | 2009-11-18 | 中兴通讯股份有限公司 | 分布式网络视频监控系统及其注册控制方法 |
US8195819B1 (en) * | 2009-07-13 | 2012-06-05 | Sprint Communications Company L.P. | Application single sign on leveraging virtual local area network identifier |
CN103595816A (zh) * | 2013-11-25 | 2014-02-19 | 国家电网公司 | 电力营销一体化催费平台系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050154915A1 (en) * | 2004-01-09 | 2005-07-14 | Peterson Matthew T. | Networked computer user identification and authentication apparatus method and system |
CN100479410C (zh) * | 2006-07-14 | 2009-04-15 | 中兴通讯股份有限公司 | 一种语音浏览系统 |
CN100471309C (zh) * | 2006-12-08 | 2009-03-18 | 杭州诚智天扬科技有限公司 | 移动一机多号业务系统及其应用 |
CN101202650B (zh) * | 2006-12-13 | 2010-08-18 | 中兴通讯股份有限公司 | 一种wap业务管理系统和方法 |
CN106815099B (zh) * | 2017-01-19 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 鉴权系统和方法 |
-
2017
- 2017-01-19 CN CN201710046587.3A patent/CN106815099B/zh active Active
-
2018
- 2018-01-10 WO PCT/CN2018/072119 patent/WO2018133721A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558693A (zh) * | 2004-01-13 | 2004-12-29 | ����ͨѶ�ɷ�����˾ | 一种通过路由服务器实现用户异地漫游业务的系统及方法 |
CN101137222A (zh) * | 2007-01-18 | 2008-03-05 | 中兴通讯股份有限公司 | 一种接入鉴权处理方法和系统及装置 |
CN101583024A (zh) * | 2009-06-04 | 2009-11-18 | 中兴通讯股份有限公司 | 分布式网络视频监控系统及其注册控制方法 |
US8195819B1 (en) * | 2009-07-13 | 2012-06-05 | Sprint Communications Company L.P. | Application single sign on leveraging virtual local area network identifier |
CN103595816A (zh) * | 2013-11-25 | 2014-02-19 | 国家电网公司 | 电力营销一体化催费平台系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018133721A1 (zh) * | 2017-01-19 | 2018-07-26 | 腾讯科技(深圳)有限公司 | 鉴权系统、方法及服务器 |
CN108092996B (zh) * | 2018-01-29 | 2020-02-28 | 平安科技(深圳)有限公司 | 一种鉴权通道选取方法及终端设备 |
CN108092996A (zh) * | 2018-01-29 | 2018-05-29 | 平安科技(深圳)有限公司 | 一种鉴权通道选取方法及终端设备 |
CN110266742B (zh) * | 2018-03-12 | 2020-10-09 | 大唐移动通信设备有限公司 | 鉴权数据的处理方法、鉴权数据服务器及鉴权系统 |
CN110266742A (zh) * | 2018-03-12 | 2019-09-20 | 大唐移动通信设备有限公司 | 鉴权数据的处理方法、鉴权数据服务器及鉴权系统 |
CN111277592A (zh) * | 2018-06-27 | 2020-06-12 | 贵州白山云科技股份有限公司 | 一种鉴权方法、装置、存储介质及计算机设备 |
CN109840402A (zh) * | 2018-12-19 | 2019-06-04 | 北京百度网讯科技有限公司 | 私有化服务授权管理方法、装置、计算机设备及存储介质 |
CN109840402B (zh) * | 2018-12-19 | 2021-11-23 | 北京百度网讯科技有限公司 | 私有化服务授权管理方法、装置、计算机设备及存储介质 |
CN109828852A (zh) * | 2019-01-23 | 2019-05-31 | 北京奇艺世纪科技有限公司 | 一种权限管理方法、装置、系统、设备及可读存储介质 |
CN110309669A (zh) * | 2019-06-12 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种数据标注方法、装置及设备 |
CN110309669B (zh) * | 2019-06-12 | 2023-10-20 | 创新先进技术有限公司 | 一种数据标注方法、装置及设备 |
CN110990868A (zh) * | 2019-11-29 | 2020-04-10 | 华为技术有限公司 | 应用登录及应用访问应用服务器的方法、电子设备 |
WO2021104152A1 (zh) * | 2019-11-29 | 2021-06-03 | 华为技术有限公司 | 应用登录及应用访问应用服务器的方法、电子设备 |
WO2021115231A1 (zh) * | 2019-12-10 | 2021-06-17 | 华为技术有限公司 | 一种鉴权方法和相关设备 |
CN112055024A (zh) * | 2020-09-09 | 2020-12-08 | 深圳市欢太科技有限公司 | 权限校验方法及装置、存储介质和电子设备 |
CN112055024B (zh) * | 2020-09-09 | 2023-08-22 | 深圳市欢太科技有限公司 | 权限校验方法及装置、存储介质和电子设备 |
CN112668059A (zh) * | 2021-03-16 | 2021-04-16 | 浙江华创视讯科技有限公司 | 会议授权控制方法、装置、电子设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106815099B (zh) | 2020-09-18 |
WO2018133721A1 (zh) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815099A (zh) | 鉴权系统和方法 | |
CA3177549C (en) | Computer systems, computer-implemented methods, and computer devices for processing a transaction message | |
CN102947797B (zh) | 使用横向扩展目录特征的在线服务访问控制 | |
US8195743B2 (en) | Extensible and programmable multi-tenant service architecture | |
US20200366681A1 (en) | Application-assisted login for a web browser | |
CN109413032A (zh) | 一种单点登录方法、计算机可读存储介质及网关 | |
US9509688B1 (en) | Providing malicious identity profiles from failed authentication attempts involving biometrics | |
CN103959706B (zh) | 朝向内容消费者迁移经过认证的内容 | |
US20130111550A1 (en) | Service broker systems, methods, and apparatus | |
US20090094383A1 (en) | User Enrollment in an E-Community | |
US9930063B2 (en) | Random identifier generation for offline database | |
CN110289999A (zh) | 一种数据处理方法、系统及装置 | |
WO2014152076A1 (en) | Retry and snapshot enabled cross-platform synchronized communication queue | |
CN112953945A (zh) | 访问请求处理方法和系统 | |
CN108471385A (zh) | 一种针对分布式系统的流量控制方法及装置 | |
CN105357239B (zh) | 提供服务的方法和装置、获取服务的方法及装置 | |
CN110061876B (zh) | 运维审计系统的优化方法及系统 | |
US10313344B2 (en) | Internal footprint repository | |
CN108200151A (zh) | 一种分布式存储系统中ISCSI Target负载均衡方法和装置 | |
CN108366087A (zh) | 一种基于分布式文件系统的iscsi服务实现方法和装置 | |
KR20200118798A (ko) | 전자 디바이스들, 시스템들 및 방법들 | |
US20070220132A1 (en) | Server device and communication system | |
US9210147B1 (en) | Method, apparatus and computer program product for assessing risk associated with authentication requests | |
CN115842866A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
CN106411567A (zh) | 一种服务器自动控制可负载客户端数量的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |