CN107766699A - 一种授权分配方法和装置 - Google Patents

一种授权分配方法和装置 Download PDF

Info

Publication number
CN107766699A
CN107766699A CN201610674740.2A CN201610674740A CN107766699A CN 107766699 A CN107766699 A CN 107766699A CN 201610674740 A CN201610674740 A CN 201610674740A CN 107766699 A CN107766699 A CN 107766699A
Authority
CN
China
Prior art keywords
information table
authorization server
user
mandate
authorized
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.)
Pending
Application number
CN201610674740.2A
Other languages
English (en)
Inventor
王全文
兰晓成
刘永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201610674740.2A priority Critical patent/CN107766699A/zh
Publication of CN107766699A publication Critical patent/CN107766699A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/202Error 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

Abstract

本发明提供一种授权分配方法和装置,该方法包括:创建标识信息表,在标识信息表内记录第二授权服务器的标识,并与第二授权服务器建立同步通道;获取用户的授权文件,并利用所述授权文件生成内存镜像信息表;通过所述同步通道将所述内存镜像信息表同步给所述第二授权服务器;在接收到授权申请消息时,利用内存镜像信息表为用户分配授权。通过本发明的技术方案,可以保证用户的业务,使用多个授权服务器共同提供服务,保证授权服务器的性能。

Description

一种授权分配方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种授权分配方法和装置。
背景技术
软件授权的目的是:在保护软件不被盗版的同时,为开发商创造更方便、更灵活的销售模式。软件授权在实现软件保护的基础上,能够提供从软件授权的设计、开发集成、调试,到软件授权的生成、分发、管理等解决方案。
随着虚拟化技术的发展,需要解决运行于虚拟机上的纯软件产品的防盗版、授权集中管理等问题,为了解决上述问题,可以采用图1所示的授权管理示意图。LicS(LicenseServer,授权服务器)用于提供授权管理和授权分发服务,可以简化用户的License(授权)使用、解决动态业务授权控制等问题。LicU1(License User,授权用户)是一个软件产品,LicU2、LicU3是虚拟化平台的虚拟机中创建的软件产品实体。LicU1、LicU2、LicU3分别与LicS建立通信,并使用LicS提供的授权服务。此外,LicC(License Server Client,授权服务客户端)是LicU上的客户端程序,其负责处理与LicS的交互过程,并缓存授权数据等。
在上述方式下,由一个LicS提供授权管理和授权分发服务,容易出现单点故障。若LicS出现故障,则会导致授权服务不可用,并影响LicU的业务。
发明内容
本发明提供一种授权分配方法,应用在第一授权服务器上,包括:
创建标识信息表,在所述标识信息表内记录第二授权服务器的标识,并与所述标识信息表内的所述第二授权服务器建立同步通道;
获取用户的授权文件,并利用所述授权文件生成内存镜像信息表;
通过所述同步通道将所述内存镜像信息表同步给所述第二授权服务器,以使所述第二授权服务器在本地维护所述内存镜像信息表;
在接收到授权申请消息时,利用所述内存镜像信息表为用户分配授权。
本发明提供一种授权分配装置,应用在第一授权服务器上,包括:
创建模块,用于创建标识信息表,在所述标识信息表内记录第二授权服务器的标识,并与所述标识信息表内的所述第二授权服务器建立同步通道;生成模块,用于获取用户的授权文件,并利用所述授权文件生成内存镜像信息表;发送模块,用于通过所述同步通道将所述内存镜像信息表同步给所述第二授权服务器,以使所述第二授权服务器在本地维护所述内存镜像信息表;分配模块,用于在接收到授权申请消息时,利用所述内存镜像信息表为用户分配授权。
基于上述技术方案,本发明实施例中,可以由至少两个授权服务器提供授权管理和授权分发服务,当一个授权服务器出现故障时,还可以由另一个授权服务器继续提供授权管理和授权分发服务,不会导致授权服务不可用,保证用户的业务。当一个授权服务器承载授权服务的能力有限(性能、容量等)时,可以使用多个授权服务器共同提供服务,以保证各授权服务器的性能。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是由一个授权服务器提供授权管理的示意图;
图2是本发明一种实施方式中的授权分配方法的流程图;
图3是本发明一种实施方式中的应用场景示意图;
图4是本发明一种实施方式中的第一授权服务器的硬件结构图;
图5是本发明一种实施方式中的授权分配装置的结构图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图2所示,为本发明实施例中提出的授权分配方法的流程图,该方法可以应用于包括至少两个授权服务器的系统中,且该方法应用在第一授权服务器上。第一授权服务器之外的其它授权服务器均可以为第二授权服务器,即第二授权服务器可以为多个,后续以一个第二授权服务器为例进行说明。
步骤201,创建标识信息表,并在该标识信息表内记录第二授权服务器的标识,并与该标识信息表内的第二授权服务器建立同步通道。
步骤202,获取用户的授权文件,并利用该授权文件生成内存镜像信息表。
步骤203,通过该同步通道将该内存镜像信息表同步给第二授权服务器,以使该第二授权服务器在本地维护该内存镜像信息表。
步骤204,在接收到授权申请消息时,利用内存镜像信息表为用户分配授权。
针对步骤201,在一个例子中,在第一授权服务器启动时,可以创建标识信息表,并在该标识信息表内记录第一授权服务器的标识,并设置第一授权服务器的标识对应的类型为本机。此外,还可以获取第二授权服务器的标识,在该标识信息表内记录第二授权服务器的标识,并设置第二授权服务器的标识对应的类型为非本机,并与该标识信息表内的第二授权服务器建立同步通道。在后续过程中,第一授权服务器可以基于此同步通道,与第二授权服务器进行通信。
针对步骤202,在一个例子中,授权文件包括与授权绑定的服务器标识,获取用户的授权文件,并利用该授权文件生成内存镜像信息表的过程,可以包括:从授权文件中解析出与授权绑定的服务器标识。若该服务器标识为第一授权服务器的标识,则在第一授权服务器上安装该授权文件,并利用该授权文件生成内存镜像信息表。若该服务器标识为第二授权服务器的标识,则将该授权文件发送给第二授权服务器,以使第二授权服务器安装该授权文件;接收第二授权服务器通过同步通道返回的内存镜像信息表,并在本地维护该内存镜像信息表。
其中,当用户通过第一授权服务器安装授权文件时,则第一授权服务器可以接收到授权文件,并从该授权文件中解析出与授权绑定的服务器标识。如果该服务器标识为第一授权服务器的标识,则在第一授权服务器上安装该授权文件,并利用该授权文件生成内存镜像信息表。若该服务器标识为第二授权服务器的标识,则将该授权文件发送给第二授权服务器。第二授权服务器在接收到授权文件后,从该授权文件中解析出与授权绑定的服务器标识。由于该服务器标识为第二授权服务器的标识,因此在第二授权服务器上安装该授权文件,并利用该授权文件生成内存镜像信息表,并通过同步通道将该内存镜像信息表同步给第一授权服务器,由第一授权服务器在本地维护该内存镜像信息表。
当用户通过第二授权服务器安装授权文件时,其处理过程与用户通过第一授权服务器安装授权文件的处理过程类似,在此不再重复赘述。
在一个例子中,第一授权服务器获取到用户的授权文件后,还可以利用该授权文件生成持久化信息表,并将持久化信息表存储在非易失性存储器中。其中,由于持久化信息表存储在非易失性存储器中,因此,持久化信息表在第一授权服务器重新启动后,不会发生丢失;这样,当第一授权服务器重新启动后,就可以从非易失性存储器中获取到持久化信息表,继而获取到该持久化信息表内的信息。此外,内存镜像信息表在第一授权服务器重新启动后,会发生丢失。
在一个例子中,该授权文件可以包括但不限于:授权标识、授权总数量、与授权绑定的服务器标识、同步备份数量。该持久化信息表可以包括但不限于:授权标识、授权总数量、与授权绑定的服务器标识、同步备份数量、同步的授权服务器的标识。该内存镜像信息表可以包括但不限于:授权标识、授权总数量、与授权绑定的服务器标识、同步备份数量、同步的授权服务器的标识、授权状态、分配状态。进一步的,若与授权绑定的服务器标识为第一授权服务器的标识,则该授权状态可以为主授权,若与授权绑定的服务器标识为第二授权服务器的标识,则该授权状态可以为备授权。此外,若该分配状态为可分配,则允许第一授权服务器为用户分配授权,若该分配状态为不可分配,则不允许第一授权服务器为用户分配授权。
针对步骤204,在一个例子中,利用内存镜像信息表为用户分配授权的过程,可以包括:第一授权服务器利用该内存镜像信息表判断是否允许为该用户分配授权;如果否,则可以禁止为用户分配授权;如果是,则判断用户的已分配授权数量与用户的当前申请授权数量之和是否达到授权总数量;如果未达到,则利用当前申请授权数量为用户分配授权;如果达到,则禁止为用户分配授权。
在一个例子中,该授权申请消息可以携带授权标识和当前申请授权数量,基于此,利用该内存镜像信息表判断是否允许为该用户分配授权的过程,可以包括:第一授权服务器从该授权申请消息中解析出授权标识和当前申请授权数量。如果该内存镜像信息表中包括该授权标识,则判断该授权标识对应的分配状态是否为可分配,如果是,则确定允许为该用户分配授权。如果该内存镜像信息表中不包括该授权标识,或者,虽然该内存镜像信息表中包括该授权标识,但是该授权标识对应的分配状态是不可分配,则确定不允许为该用户分配授权。
在一个例子中,针对判断用户的已分配授权数量与用户的当前申请授权数量之和是否达到授权总数量的过程,当前申请授权数量可以从授权申请消息中解析,授权总数量可以从内存镜像信息表中获取,是授权文件的一部分,已分配授权数量可以从分配信息表中获取,该分配信息表在后续过程说明。利用当前申请授权数量为用户分配授权是指:为用户分配该当前申请授权数量个授权。
在一个例子中,在利用当前申请授权数量为用户分配授权之后,还可以生成分配信息表项,并将该分配信息表项添加到分配信息表中,并通过同步通道将该分配信息表项同步给第二授权服务器。其中,该分配信息表项可以包括:授权标识、为用户分配授权的授权服务器的标识、分配序号、当前分配的授权数量。其中,分配信息表项用于使授权服务器确定用户的已分配授权数量。
在一个例子中,已分配授权数量为第一授权服务器分配的授权数量与第二授权服务器分配的授权数量之和。如授权标识A对应3个分配信息表项,分配信息表项1和分配信息表项2为第一授权服务器生成,分配信息表项3为第二授权服务器生成并同步到第一授权服务器。已分配授权数量为:分配信息表项1中的授权数量+分配信息表项2中的授权数量+分配信息表项3中的授权数量。
在一个例子中,当第一授权服务器和第二授权服务器之间的通信异常时,则为与第二授权服务器绑定的授权启动老化定时器;在该老化定时器超时之后,则禁止为申请该授权的用户分配该授权,并回收之前分配的授权。
基于上述技术方案,本发明实施例中,可以由至少两个授权服务器提供授权管理和授权分发服务,当一个授权服务器出现故障时,还可以由另一个授权服务器继续提供授权管理和授权分发服务,不会导致授权服务不可用,保证用户的业务。当一个授权服务器承载授权服务的能力有限(性能、容量等)时,可以使用多个授权服务器共同提供服务,以保证各授权服务器的性能。
以下结合图3所示的应用场景,对上述的实施例进行详细说明。如图3所示,以至少两个授权服务器为授权服务器A和授权服务器B为例。其中,授权服务器A为第一授权服务器,授权服务器B为第二授权服务器,或者,授权服务器B为第一授权服务器,授权服务器A为第二授权服务器。
在一个例子中,授权服务器A和授权服务器B可以基于网络协议(如SSL(SecureSockets Layer,安全套接层)等)进行通信,授权服务器A和授权服务器B没有主备之分。授权服务器A和授权服务器B的功能相同,均可以向用户提供授权服务,并进行授权存储、授权分发、授权回收等功能。
此外,LicU作为使用授权服务的软件产品,可以基于网络协议(如SSL等)与授权服务器A通信,并基于网络协议与授权服务器B通信,从授权服务器A或者授权服务器B上申请授权,以使自己具备使用某功能的权利。
在上述应用场景下,图2中的授权分配方法可以包括以下几个部分。
一、创建标识信息表。
授权服务器A在启动时,创建标识信息表,在标识信息表内记录授权服务器A的标识,即授权服务器A的DID(Device Identification,设备标识),并设置其对应的类型为本机。获取授权服务器B的标识,即授权服务器B的DID,并在标识信息表内记录授权服务器B的标识,并设置其对应的类型为非本机,如表1所示。在授权服务器A与授权服务器B之间建立同步通道。
授权服务器B在启动时,创建标识信息表,在标识信息表内记录授权服务器B的标识,并设置其对应的类型为本机。获取授权服务器A的标识,并在标识信息表内记录授权服务器A的标识,并设置其对应的类型为非本机,如表2所示。在授权服务器B与授权服务器A之间建立同步通道。
表1
DID 类型
授权服务器A的标识 本机
授权服务器B的标识 非本机
表2
DID 类型
授权服务器B的标识 本机
授权服务器A的标识 非本机
二、获取授权文件,并利用授权文件生成持久化信息表和内存镜像信息表。
当用户需要获得某种授权时,先购买授权码,然后使用授权码和服务器标识(即与授权绑定的服务器标识,如授权服务器A的标识或者授权服务器B的标识)在授权激活网站上激活,激活成功后会获得一个授权文件,该授权文件是授权的载体。用户激活授权后,可以通过授权服务器A提供的授权注册界面或者命令行执行安装,或者,通过授权服务器B提供的授权注册界面或者命令行执行安装。若通过授权服务器A执行安装,则授权文件会发送到授权服务器A上,若通过授权服务器B执行安装,则授权文件会发送到授权服务器B上。
在一个例子中,授权文件是经过加密处理的文件,该授权文件可以包括如下信息:授权标识、授权内容、与授权绑定的服务器标识、同步备份数量。
其中,授权标识为LicenseID,该授权标识可以为授权的唯一标识。
授权内容可以通过一定规则来描述授权,如AAA=1000,表示AAA的授权规模总数为1000个。在通常情况下,授权内容中可以包含授权总数量,如上述的1000表示一共可以为用户分配1000个授权。由于在后续过程中,会使用到授权总数量进行处理,因此,可以以授权文件包含授权总数量为例进行说明。
与授权绑定的服务器标识是指:在具有该服务器标识的授权服务器上安装该授权,即在授权激活网站上激活时使用的服务器标识。例如,若服务器标识为授权服务器A的标识,则表示该授权需要安装到授权服务器A上。
同步备份数量表示内存镜像信息表可以同步到几个授权服务器。例如,当同步备份数量为0时,则表示不支持同步。当同步备份数量为1时,则表示支持同步,且将内存镜像信息表同步到1个授权服务器上。当同步备份数量为2时,则表示支持同步,且将内存镜像信息表同步到2个授权服务器上,以此类推。基于上述方式,可以控制用于为用户分配授权的授权服务器数量。
在一个例子中,当用户通过授权服务器A安装授权文件时,则授权文件会发送到授权服务器A上。授权服务器A在接收到授权文件后,从该授权文件中解析出与授权绑定的服务器标识。如果该服务器标识为授权服务器A的标识,则在授权服务器A上安装该授权文件,并利用该授权文件生成持久化信息表和内存镜像信息表,并通过同步通道将该内存镜像信息表同步给授权服务器B。
若该服务器标识为授权服务器B标识,则授权服务器A将该授权文件发送给授权服务器B。授权服务器B在接收到授权文件后,从该授权文件中解析出与授权绑定的服务器标识。由于该服务器标识为授权服务器B的标识,因此在授权服务器B上安装该授权文件,并利用该授权文件生成持久化信息表和内存镜像信息表,并通过同步通道将该内存镜像信息表同步给授权服务器A,由授权服务器A接收该内存镜像信息表,并在本地维护该内存镜像信息表。
此外,当用户通过授权服务器A安装授权文件时,其处理不再赘述。
在一个例子中,持久化信息表可以存储在非易失性存储器中,持久化信息表在授权服务器重新启动后,不会发生丢失;这样,当授权服务器重新启动后,就可以从非易失性存储器中获取到持久化信息表,继而获取到该持久化信息表内的授权标识、授权总数量、与授权绑定的服务器标识、同步备份数量等信息。内存镜像信息表在授权服务器重新启动之后,会发生丢失。在一个例子中,为了安全考虑,还可以对该持久化信息表进行加密处理。
针对利用授权文件生成持久化信息表的过程,在初始状态下,持久化信息表为空,当用户安装授权时,则在持久化信息表中添加一个该授权对应的持久化信息表项。其中,持久化信息表可以包括如下信息:授权标识(与授权文件一致)、授权内容(与授权文件一致)、与授权绑定的服务器标识(与授权文件一致)、同步备份数量(与授权文件一致)、同步的授权服务器的标识。
在一个例子中,该同步的授权服务器的标识,用于记录授权被同步成功的授权服务器的标识,可以是一个或者多个,不能重复,不能超过同步备份数量。
如表3所示,为在授权服务器A上维护的持久化信息表的一个示例。从表3中可以看出,针对授权标识为0x000000A1的授权,被安装在授权服务器A上,且该授权被同步给了授权服务器B。如表4所示,为在授权服务器B上维护的持久化信息表的一个示例。从表4中可以看出,针对授权标识为0x000000B1的授权,被安装在授权服务器B上,且该授权被同步给了授权服务器A。
表3
授权标识 授权内容 同步备份数量 与授权绑定的服务器标识 同步的授权服务器的标识
0x000000A1 XXX=1000 1 授权服务器A的标识 授权服务器B的标识
表4
授权标识 授权内容 同步备份数量 与授权绑定的服务器标识 同步的授权服务器的标识
0x000000B1 YYY=2000 1 授权服务器B的标识 授权服务器A的标识
在一个例子中,针对利用授权文件生成内存镜像信息表的过程,在初始状态下,内存镜像信息表为空,当用户安装授权时,则在内存镜像信息表中添加一个该授权对应的内存镜像信息表项。其中,内存镜像信息表可以包括如下信息:授权标识(与授权文件一致)、授权内容(与授权文件一致)、与授权绑定的服务器标识(与授权文件一致)、同步备份数量(与授权文件一致)、同步的授权服务器的标识(与持久化信息表一致)、授权状态、分配状态。其中,若与授权绑定的服务器标识是本授权服务器的标识,则该授权状态可以为主授权,若与授权绑定的服务器标识不是本授权服务器的标识,则该授权状态可以为备授权;若该分配状态为可分配,则可以允许本授权服务器为用户分配授权,若该分配状态为不可分配,则可以不允许本服务器为用户分配授权。
如表5所示,为在授权服务器A上维护的内存镜像信息表的一个示例。从表5中可以看出,针对授权标识为0x000000A1的授权,被安装在授权服务器A上,且该授权被同步给授权服务器B,该授权在授权服务器A上为主授权,允许授权服务器A为用户分配该授权。如表6所示,为在授权服务器B上维护的内存镜像信息表的一个示例。从表6可以看出,针对授权标识为0x000000B1的授权,被安装在授权服务器B上,且该授权被同步给授权服务器A,该授权在授权服务器B上为主授权,且允许授权服务器B为用户分配该授权。
表5
表6
在一个例子中,授权服务器A得到表5所示的内存镜像信息表后,还可以查询表1所示的标识信息表,得到类型为非本机的授权服务器B的标识,并将内存镜像信息表同步给授权服务器B。在同步成功后,授权服务器B更新本地的内存镜像信息表,将表6更新为表7,在表7中,授权服务器B将接收到的内存镜像信息表中的授权状态,由主授权修改为备授权,且分配状态仍然为可分配。授权服务器B得到表6所示的内存镜像信息表后,还可以查询表2所示的标识信息表,得到类型为非本机的授权服务器A的标识,并将内存镜像信息表同步给授权服务器A。在同步成功后,授权服务器A更新本地的内存镜像信息表,将表5更新为表8,在表8中,授权服务器A将接收到的内存镜像信息表中的授权状态,由主授权修改为备授权,且分配状态仍然为可分配。
表7
表8
其中,针对某个授权,如果该授权被安装到授权服务器A上,则在授权服务器A上,该授权称为主授权,在授权服务器B上,该授权称为备授权。
三、为用户分配授权。
1、用户在授权服务器A上申请授权标识为0x000000A1的200个授权。
授权服务器A在接收到授权申请消息时,可以从该授权申请消息中解析出授权标识0x000000A1和当前申请授权数量200。由于表8所示的内存镜像信息表中包括授权标识0x000000A1,且分配状态为可分配,因此,允许为用户分配授权。由于当前用户还没有已分配授权数量,因此,用户的已分配授权数量0与当前申请授权数量200之和,未达到授权总数量1000(从内存镜像信息表中获知),因此,授权服务器A可以为该用户分配200个授权。
之后,授权服务器A生成一个分配信息表项,并将该分配信息表项添加到分配信息表(该分配信息表初始状态下为空)中,并将该分配信息表项同步给授权服务器B,由授权服务器B将该分配信息表项添加到分配信息表中。其中,该分配信息表项可以包括:授权标识0x000000A1、执行分配的授权服务器的标识(即授权服务器A的标识)、分配序号(如A1)、当前分配的授权数量200。其中,分配序号与执行分配的授权服务器的标识共同组成一个唯一的授权分配标识。如表9所示,为授权服务器A和授权服务器B维护的分配信息表的示例。
表9
授权标识 执行分配的授权服务器的标识 分配序号 用户的标识 分配的授权数量
0x000000A1 授权服务器A的标识 A1 用户1 XXX=200
2、用户在授权服务器B上申请授权标识为0x000000A1的500个授权。
授权服务器B在接收到授权申请消息时,可以从该授权申请消息中解析出授权标识0x000000A1和当前申请授权数量500。由于表7所示的内存镜像信息表中包括授权标识0x000000A1,且分配状态为可分配,因此,允许为用户分配授权。授权服务器B通过查询表9可以获知,针对该授权标识0x000000A1,获知用户的已分配授权数量为200,而且,用户的已分配授权数量200与当前申请授权数量500之和,未达到授权总数量1000(从内存镜像信息表中获知),因此,授权服务器B可以为该用户分配500个授权。
授权服务器B生成一个分配信息表项,并将分配信息表项添加到表9所示的分配信息表中,得到表10所示的分配信息表。之后,授权服务器B将分配信息表项同步给授权服务器A,此时同步的是表10中的第二条表项,而不是表10的整个分配信息表。授权服务器A在接收到该分配信息表项后,将该分配信息表项添加到分配信息表中,同样得到表10所示的分配信息表的示例。其中,该分配信息表项可以包括:授权标识0x000000A1、执行分配的授权服务器的标识(即授权服务器B的标识)、分配序号(如B1)、当前分配的授权数量500。
表10
3、用户在授权服务器A上申请授权标识为0x000000A1的400个授权。
授权服务器A在接收到授权申请消息时,可以从该授权申请消息中解析出授权标识0x000000A1和当前申请授权数量400。由于表8所示的内存镜像信息表中包括授权标识0x000000A1,且分配状态为可分配,因此,允许为用户分配授权。授权服务器A通过查询表10可以获知,针对该授权标识0x000000A1,获知用户的已分配授权数量为700(200+500),而且,用户的已分配授权数量700与当前申请授权数量400之和,大于授权总数量1000(从内存镜像信息表中获知),因此,授权服务器A禁止为该用户分配授权。
四、授权同步。
情况一、在上面的过程中已经介绍到,授权服务器A在得到表5所示的内存镜像信息表后,可以将该内存镜像信息表同步给授权服务器B,但是如果在将该内存镜像信息表同步给授权服务器B之前,授权服务器A接收到授权申请消息,由于当前还没有将该内存镜像信息表同步给授权服务器B,因此先暂停处理该授权申请消息,而是先将该内存镜像信息表同步给授权服务器B,待同步完成后,授权服务器A才继续处理该授权申请消息,并为用户分配授权。
情况二、在上面的过程中已经介绍到,当用户的已分配授权数量与当前申请授权数量之和未达到授权总数量时,则授权服务器A才可以为用户分配授权。基于此,在为用户分配授权之前,授权服务器A可以先生成分配信息表项,并将分配信息表项发送给授权服务器B。授权服务器B在接收到分配信息表项后,可以从该分配信息表项中解析出授权标识和当前申请授权数量,并获取针对该授权标识的已分配授权数量(从本地的分配信息表中获取,不包含当前接收到的分配信息表项中的授权数量),并判断该已分配授权数量与当前申请授权数量(即当前接收到的分配信息表项中的授权数量)之和是否达到授权总数量。如果已经达到,则向授权服务器A返回分配失败消息,授权服务器A接收到分配失败消息后,不再为用户分配授权。如果未达到,则向授权服务器A返回分配成功消息,授权服务器A接收到分配成功消息后,为用户分配授权。
采用上述方式的原因是:如果授权服务器B为用户分配了授权,但是授权服务器B还没有将分配信息表项同步给授权服务器A,从而导致授权服务器A统计的用户的已分配授权数量并不正确,继而导致是否分配授权的判断结果出错。通过上述方式,则可以避免这种情况的发生,得出准确判断结果。
五、定期检测处理。
授权服务器在运行过程中,可能出现各种异常情况,如网络中断、设备断电、重启、授权服务器之间的连接断开等,这些都会导致授权服务器A和授权服务器B之间的通信异常,当通信异常时,则可以采用如下方式进行处理:
情况一、当授权服务器A检测到授权服务器A和授权服务器B之间的通信异常时,如授权服务器B发生网络中断、设备断电、重启等情况时,则授权服务器A可以为内存镜像信息表中的备授权(如表8中的授权标识为0x000000B1的授权)启动老化定时器,该老化定时器的老化时间可以任意设置,如30天。
在老化定时器超时之前,则授权服务器A可以为申请该备授权(即授权标识0x000000B1的备授权)的用户分配该备授权,并发出通信异常告警,提示用户检查授权服务器B的异常状态。在老化定时器超时之前,如果检测到授权服务器A和授权服务器B之间的通信恢复,删除该老化定时器。在老化定时器超时之后,禁止授权服务器A为申请该备授权的用户分配该备授权,回收之前已经分配的备授权,并从内存镜像信息表中删除该备授权对应的记录。
情况二、在授权服务器A和授权服务器B之间的通信异常之后,如果授权服务器A检测到授权服务器A和授权服务器B之间的通信恢复,则针对内存镜像信息表中的每个主授权(如表8中的授权标识为0x000000A1的主授权),授权服务器A可以向授权服务器B发送查询命令,该查询命令用于查询授权服务器B的内存镜像信息表中是否存在授权标识为0x000000A1的备授权。
如果不存在,则授权服务器B可以向授权服务器A返回查询失败响应;如果存在,则授权服务器B可以向授权服务器A返回查询成功响应。授权服务器A在接收到查询失败响应后,重新将内存镜像信息表发送给授权服务器B,以使授权服务器B在本地的内存镜像信息表中记录授权标识为0x000000A1的备授权,如表7所示。授权服务器A在接收到查询成功响应后,则结束流程。
基于与上述方法同样的发明构思,本发明实施例还提供一种授权分配装置,该授权分配装置应用在第一授权服务器上。该授权分配装置可以通过软件实现,也可通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过第一授权服务器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本发明提出的授权分配装置所在的第一授权服务器的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,第一授权服务器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,第一授权服务器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图5所示,为本发明提出的授权分配装置的结构图,所述装置包括:创建模块11,用于创建标识信息表,在所述标识信息表内记录第二授权服务器的标识,并与所述标识信息表内的所述第二授权服务器建立同步通道;生成模块12,用于获取用户的授权文件,并利用所述授权文件生成内存镜像信息表;发送模块13,用于通过所述同步通道将所述内存镜像信息表同步给所述第二授权服务器,以使所述第二授权服务器在本地维护所述内存镜像信息表;分配模块14,用于在接收到授权申请消息时,利用所述内存镜像信息表为用户分配授权。
在一个例子中,所述授权文件包括与授权绑定的服务器标识;
所述生成模块12,具体用于在获取用户的授权文件,并利用所述授权文件生成内存镜像信息表的过程中,从所述授权文件中解析出与授权绑定的服务器标识;若所述服务器标识为所述第一授权服务器的标识,则在所述第一授权服务器上安装所述授权文件,并利用所述授权文件生成内存镜像信息表;
若所述服务器标识为第二授权服务器的标识,则将所述授权文件发送给第二授权服务器,以使第二授权服务器安装授权文件;接收所述第二授权服务器通过所述同步通道返回的内存镜像信息表,并在本地维护该内存镜像信息表。
所述分配模块14,具体用于在利用所述内存镜像信息表为用户分配授权的过程中,利用所述内存镜像信息表判断是否允许为所述用户分配授权;如果否,禁止为所述用户分配授权;如果是,判断所述用户的已分配授权数量与所述用户的当前申请授权数量之和是否达到授权总数量;如果未达到,则利用所述当前申请授权数量为所述用户分配授权;如果达到,则禁止为所述用户分配授权。
所述生成模块12,还用于在获取用户的授权文件之后,利用所述授权文件生成持久化信息表,并将所述持久化信息表存储在非易失性存储器中;
所述分配模块14,具体用于在利用所述内存镜像信息表判断是否允许为所述用户分配授权的过程中,从所述授权申请消息中解析出授权标识和当前申请授权数量;如果所述内存镜像信息表中包括所述授权标识,则判断所述授权标识对应的分配状态是否为可分配,如果是,则确定允许为所述用户分配授权;
其中,所述内存镜像信息表包括:授权标识、分配状态,所述分配状态为用于表示允许分配授权的可分配,或者,用于表示不允许分配授权的不可分配。
在一个例子中,所述生成模块12,还用于在所述分配模块利用所述当前申请授权数量为所述用户分配授权后,生成分配信息表项,所述分配信息表项包括:授权标识、为所述用户分配授权的授权服务器的标识、分配序号、当前分配的授权数量;所述分配信息表项用于使授权服务器确定所述用户的已分配授权数量;所述发送模块13,还用于通过所述同步通道将所述分配信息表项同步给所述第二授权服务器。
在一个例子中,所述分配模块14,还用于当所述第一授权服务器和所述第二授权服务器之间的通信异常时,为与所述第二授权服务器绑定的授权启动老化定时器;在所述老化定时器超时之后,禁止为申请该授权的用户分配该授权,并回收之前分配的授权。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (12)

1.一种授权分配方法,其特征在于,应用在第一授权服务器上,包括:
创建标识信息表,在所述标识信息表内记录第二授权服务器的标识,并与所述标识信息表内的所述第二授权服务器建立同步通道;
获取用户的授权文件,并利用所述授权文件生成内存镜像信息表;
通过所述同步通道将所述内存镜像信息表同步给所述第二授权服务器,以使所述第二授权服务器在本地维护所述内存镜像信息表;
在接收到授权申请消息时,利用所述内存镜像信息表为用户分配授权。
2.根据权利要求1所述的方法,其特征在于,
所述授权文件包括与授权绑定的服务器标识,所述获取用户的授权文件,并利用所述授权文件生成内存镜像信息表的过程,具体包括:
从所述授权文件中解析出与授权绑定的服务器标识;
若所述服务器标识为所述第一授权服务器的标识,则在所述第一授权服务器上安装所述授权文件,并利用所述授权文件生成内存镜像信息表;
若所述服务器标识为第二授权服务器的标识,则将所述授权文件发送给第二授权服务器,以使第二授权服务器安装授权文件;接收所述第二授权服务器通过所述同步通道返回的内存镜像信息表,并在本地维护该内存镜像信息表。
3.根据权利要求1所述的方法,其特征在于,
所述利用所述内存镜像信息表为用户分配授权的过程,具体包括:
利用所述内存镜像信息表判断是否允许为所述用户分配授权;
如果否,则禁止为所述用户分配授权;如果是,则判断所述用户的已分配授权数量与所述用户的当前申请授权数量之和是否达到授权总数量;
如果未达到,则利用所述当前申请授权数量为所述用户分配授权;
如果达到,则禁止为所述用户分配授权。
4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
所述获取用户的授权文件之后,利用所述授权文件生成持久化信息表,并将所述持久化信息表存储在非易失性存储器中;
所述利用所述内存镜像信息表判断是否允许为所述用户分配授权的过程,具体包括:从所述授权申请消息中解析出授权标识和当前申请授权数量;如果所述内存镜像信息表中包括所述授权标识,则判断所述授权标识对应的分配状态是否为可分配,如果是,则确定允许为所述用户分配授权;
其中,所述内存镜像信息表包括:授权标识、分配状态,所述分配状态为用于表示允许分配授权的可分配,或者,用于表示不允许分配授权的不可分配。
5.根据权利要求3所述的方法,其特征在于,所述利用所述当前申请授权数量为所述用户分配授权之后,所述方法进一步包括:
生成分配信息表项,并通过所述同步通道将所述分配信息表项同步给所述第二授权服务器;其中,所述分配信息表项包括:授权标识、为所述用户分配授权的授权服务器的标识、分配序号、当前分配的授权数量;
所述分配信息表项用于使授权服务器确定所述用户的已分配授权数量。
6.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:
当所述第一授权服务器和所述第二授权服务器之间的通信异常时,为与所述第二授权服务器绑定的授权启动老化定时器;在所述老化定时器超时之后,禁止为申请该授权的用户分配该授权,并回收之前分配的授权。
7.一种授权分配装置,其特征在于,应用在第一授权服务器上,包括:
创建模块,用于创建标识信息表,在所述标识信息表内记录第二授权服务器的标识,并与所述标识信息表内的所述第二授权服务器建立同步通道;
生成模块,用于获取用户的授权文件,并利用所述授权文件生成内存镜像信息表;
发送模块,用于通过所述同步通道将所述内存镜像信息表同步给所述第二授权服务器,以使所述第二授权服务器在本地维护所述内存镜像信息表;
分配模块,用于在接收到授权申请消息时,利用所述内存镜像信息表为用户分配授权。
8.根据权利要求7所述的装置,其特征在于,
所述授权文件包括与授权绑定的服务器标识;
所述生成模块,具体用于在获取用户的授权文件,并利用所述授权文件生成内存镜像信息表的过程中,从所述授权文件中解析出与授权绑定的服务器标识;若所述服务器标识为所述第一授权服务器的标识,则在所述第一授权服务器上安装所述授权文件,并利用所述授权文件生成内存镜像信息表;
若所述服务器标识为第二授权服务器的标识,则将所述授权文件发送给第二授权服务器,以使第二授权服务器安装授权文件;接收所述第二授权服务器通过所述同步通道返回的内存镜像信息表,并在本地维护该内存镜像信息表。
9.根据权利要求7所述的装置,其特征在于,
所述分配模块,具体用于在利用所述内存镜像信息表为用户分配授权的过程中,利用所述内存镜像信息表判断是否允许为所述用户分配授权;如果否,禁止为所述用户分配授权;如果是,判断所述用户的已分配授权数量与所述用户的当前申请授权数量之和是否达到授权总数量;如果未达到,则利用所述当前申请授权数量为所述用户分配授权;如果达到,则禁止为所述用户分配授权。
10.根据权利要求9所述的装置,其特征在于,
所述生成模块,还用于在获取用户的授权文件之后,利用所述授权文件生成持久化信息表,并将所述持久化信息表存储在非易失性存储器中;
所述分配模块,具体用于在利用所述内存镜像信息表判断是否允许为所述用户分配授权的过程中,从所述授权申请消息中解析出授权标识和当前申请授权数量;如果所述内存镜像信息表中包括所述授权标识,则判断所述授权标识对应的分配状态是否为可分配,如果是,则确定允许为所述用户分配授权;
其中,所述内存镜像信息表包括:授权标识、分配状态,所述分配状态为用于表示允许分配授权的可分配,或者,用于表示不允许分配授权的不可分配。
11.根据权利要求9所述的装置,其特征在于,
所述生成模块,还用于在所述分配模块利用所述当前申请授权数量为所述用户分配授权后,生成分配信息表项,所述分配信息表项包括:授权标识、为所述用户分配授权的授权服务器的标识、分配序号、当前分配的授权数量;所述分配信息表项用于使授权服务器确定所述用户的已分配授权数量;
所述发送模块,还用于通过所述同步通道将所述分配信息表项同步给所述第二授权服务器。
12.根据权利要求9所述的装置,其特征在于,所述分配模块,还用于当所述第一授权服务器和所述第二授权服务器之间的通信异常时,为与所述第二授权服务器绑定的授权启动老化定时器;在所述老化定时器超时之后,禁止为申请该授权的用户分配该授权,并回收之前分配的授权。
CN201610674740.2A 2016-08-16 2016-08-16 一种授权分配方法和装置 Pending CN107766699A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610674740.2A CN107766699A (zh) 2016-08-16 2016-08-16 一种授权分配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610674740.2A CN107766699A (zh) 2016-08-16 2016-08-16 一种授权分配方法和装置

Publications (1)

Publication Number Publication Date
CN107766699A true CN107766699A (zh) 2018-03-06

Family

ID=61259665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610674740.2A Pending CN107766699A (zh) 2016-08-16 2016-08-16 一种授权分配方法和装置

Country Status (1)

Country Link
CN (1) CN107766699A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310130A (zh) * 2020-02-21 2020-06-19 浙江大华技术股份有限公司 授权认证处理方法、装置、存储介质及电子装置
CN112511399A (zh) * 2020-11-03 2021-03-16 杭州迪普科技股份有限公司 用户数量控制方法、装置、设备及计算机可读存储介质
CN112613083A (zh) * 2021-01-04 2021-04-06 北京数字认证股份有限公司 一种基于应用容器引擎的应用授权验证方法和装置
CN113868605A (zh) * 2021-09-30 2021-12-31 新华三大数据技术有限公司 授权管理方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553408B1 (en) * 1999-03-25 2003-04-22 Dell Products L.P. Virtual device architecture having memory for storing lists of driver modules
CN101316182A (zh) * 2007-05-30 2008-12-03 杭州华三通信技术有限公司 一种用户终端的授权数目控制方法和设备
CN101315684A (zh) * 2007-06-01 2008-12-03 精品科技股份有限公司 企业内授权软件的资源分配系统及其方法
US20120131639A1 (en) * 2010-11-23 2012-05-24 Cisco Technology, Inc. Session redundancy among a server cluster

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553408B1 (en) * 1999-03-25 2003-04-22 Dell Products L.P. Virtual device architecture having memory for storing lists of driver modules
CN101316182A (zh) * 2007-05-30 2008-12-03 杭州华三通信技术有限公司 一种用户终端的授权数目控制方法和设备
CN101315684A (zh) * 2007-06-01 2008-12-03 精品科技股份有限公司 企业内授权软件的资源分配系统及其方法
US20120131639A1 (en) * 2010-11-23 2012-05-24 Cisco Technology, Inc. Session redundancy among a server cluster

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310130A (zh) * 2020-02-21 2020-06-19 浙江大华技术股份有限公司 授权认证处理方法、装置、存储介质及电子装置
CN112511399A (zh) * 2020-11-03 2021-03-16 杭州迪普科技股份有限公司 用户数量控制方法、装置、设备及计算机可读存储介质
CN112511399B (zh) * 2020-11-03 2021-12-24 杭州迪普科技股份有限公司 用户数量控制方法、装置、设备及计算机可读存储介质
CN112613083A (zh) * 2021-01-04 2021-04-06 北京数字认证股份有限公司 一种基于应用容器引擎的应用授权验证方法和装置
CN113868605A (zh) * 2021-09-30 2021-12-31 新华三大数据技术有限公司 授权管理方法、装置及系统
CN113868605B (zh) * 2021-09-30 2024-03-22 新华三大数据技术有限公司 授权管理方法、装置及系统

Similar Documents

Publication Publication Date Title
TWI702511B (zh) 產生預先計算資料資產並將其分配至目標裝置
JP5522307B2 (ja) 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法
CN102378171B (zh) 自动认证方法及系统、Portal服务器、RADIUS服务器
CN107766699A (zh) 一种授权分配方法和装置
CN103841134B (zh) 基于api发送、接收信息的方法、装置及系统
CN103902878B (zh) 一种虚拟环境下的License认证方法和装置
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN1971577B (zh) 许可证管理系统内的安全备份许可证服务器的方法和系统
CN106453519A (zh) 接口调用方法及装置
TWI603206B (zh) Server cluster based data processing method and cluster based data processing system
CN105718785A (zh) 用于免认证组态的计算机实施方式与系统
US9588542B2 (en) Rack server system and method for automatically managing rack configuration information
CN109977093A (zh) 基于lxc的多虚拟系统查看容器日志的方法及装置
CN104484167B (zh) 任务处理方法及装置
CN103647811B (zh) 一种实现应用访问后台服务的方法和装置
CN107291486A (zh) 一种操作系统的安装方法和装置
CN107798405B (zh) 医疗服务预约方法、装置、存储介质和计算机设备
CN107844542A (zh) 一种分布式文件存储方法及装置
CN107133499A (zh) 一种软件版权保护方法、客户端、服务端以及系统
CN111290884A (zh) 收银设备的数据备份方法及装置
CN107995219A (zh) 文件加速展现方法、计算设备及计算机存储介质
CN102868594B (zh) 一种消息处理方法和装置
CN107203915B (zh) 数据存储方法及装置
CN109471810A (zh) 一种硬件配置的生效方法及装置
CN107566211A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180306