软件许可方法及电子设备转让专利

申请号 : CN202111650393.7

文献号 : CN114266017B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙吉平吴宝欣

申请人 : 北京深盾科技股份有限公司

摘要 :

本申请提供一种软件许可方法及电子设备,该方法包括:接收第一客户端发送的第一身份凭证,以及至少一个第二客户端的身份信息;在第一身份凭证验证通过的情况下,基于第二客户端的身份信息注册第二身份凭证,并向第二客户端授予第二权限;获取第二客户端发送的第二身份凭证,并验证第二身份凭证;在第二身份凭证验证通过的情况下,基于主许可生成并向第二客户端反馈激活码;其中,激活码用于激活终端设备上安装的特定软件。如此,使得各部门既可以通过第二客户端自行管理该特定软件的使用权限,也可以在组织层次通过第一客户端整体协调该特定软件的使用权限,具有较高的灵活性,能够满足大企业的管理需求。

权利要求 :

1.一种软件许可方法,其特征在于,应用于服务端,包括:接收第一客户端发送的第一身份凭证,以及至少一个第二客户端的身份信息;其中,所述第一身份凭证用于唯一标识所述第一客户端,所述第一客户端具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限;

在所述第一身份凭证验证通过的情况下,基于所述第二客户端的身份信息注册第二身份凭证,并向所述第二客户端授予第二权限,其中,所述第二权限包括管理第二数量的终端设备对所述特定软件的使用权限,所述第二数量小于或等于所述第一数量;

获取所述第二客户端发送的所述第二身份凭证,并验证所述第二身份凭证;

在所述第二身份凭证验证通过的情况下,基于所述主许可生成并向所述第二客户端反馈激活码;其中,所述激活码用于激活终端设备上安装的特定软件;

其中,所述方法还包括:

生成与所述第一身份凭证相关联的第一页面,以及所述第一页面的第一地址;

将所述第一地址反馈至所述第一客户端;其中,所述第一地址配置为使所述第二客户端能够利用所述第一地址获取所述第一页面,并利用所述第一页面访问所述服务端;

其中,所述获取所述第二客户端发送的所述第二身份凭证,并验证所述第二身份凭证,包括:响应于接收到所述第二客户端发送的所述第一地址,向所述第二客户端反馈所述第一页面;

接收所述第二客户端通过所述第一页面发送的所述第二身份凭证,验证所述第二身份凭证;

基于与所述第一页面相关联的第一身份凭证,验证所述第二身份凭证。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收终端设备发送的激活码,以及用于标识所述终端设备的设备信息;

基于所述主许可、所述激活码和所述设备信息,生成并向所述终端设备发送第一子许可,以授予所述终端设备使用所述特定软件的权限。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述终端设备发送的查询请求,其中,所述查询请求用于请求查询所述第一子许可的许可状态;

在确定所述第一子许可处于有效状态的情况下,向所述终端设备反馈第一响应信息,以通知所述终端设备所述第一子许可处于有效状态。

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述终端设备发送的查询请求,其中,所述查询请求用于请求查询所述第一子许可的许可状态;

在确定所述第一子许可处于待更新状态的情况下,生成第二子许可,将所述第二子许可发送至所述终端设备,以使所述终端设备通过所述第二子许可替换所述第一子许可。

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述终端设备发送的查询请求,其中,所述查询请求用于请求查询所述第一子许可的许可状态;

在确定所述第一子许可处于无效状态的情况下,向所述终端设备反馈第二响应信息,以指示所述终端设备删除所持有的所述第一子许可。

6.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收所述第二客户端发送的操作请求,其中,所述操作请求用于请求对所述第一子许可执行指定操作,所述操作请求包含用于标识所述第一子许可的标识信息;

基于所述操作请求,对所述第一子许可执行所述指定操作。

7.一种软件许可方法,其特征在于,应用于服务端,包括:响应于接收到第二客户端发送的第二身份凭证,验证所述第二身份凭证;其中,所述第二身份凭证用于证明所述第二客户端的身份,所述第二身份凭证与第一客户端的第一身份凭证相关联,所述第一客户端具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限,所述第二客户端具有第二权限,所述第二权限包括管理第二数量的终端设备对所述特定软件的使用权限,所述第二数量小于等于所述第一数量;

在所述第二身份凭证验证通过的情况下,基于所述主许可生成并向所述第二客户端反馈激活码;其中,所述激活码用于激活终端设备上安装的特定软件;

其中,所述方法还包括:

生成与所述第一身份凭证相关联的第一页面,以及所述第一页面的第一地址;

将所述第一地址反馈至所述第一客户端;其中,所述第一地址配置为使所述第二客户端能够利用所述第一地址获取所述第一页面,并利用所述第一页面访问所述服务端;

其中,所述获取所述第二客户端发送的所述第二身份凭证,并验证所述第二身份凭证,包括:响应于接收到所述第二客户端发送的所述第一地址,向所述第二客户端反馈所述第一页面;

接收所述第二客户端通过所述第一页面发送的所述第二身份凭证,验证所述第二身份凭证;

基于与所述第一页面相关联的第一身份凭证,验证所述第二身份凭证。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:接收终端设备发送的激活码和用于标识所述终端设备的设备信息;

基于所述主许可、所述激活码和所述设备信息,生成并向所述终端设备发送第一子许可,以授予所述终端设备对所述特定软件的使用权限。

9.根据权利要求7所述的方法,其特征在于,所述方法还包括:接收所述第一客户端发送的所述第一身份凭证,以及至少一个第二客户端的身份信息;

在所述第一身份凭证验证通过的情况下,基于所述第二客户端的身份信息注册用于所述第二身份凭证,并授予所述第二客户端所述第二权限。

10.一种软件许可方法,其特征在于,应用于第二客户端,包括:向服务端发送用于唯一标识所述第二客户端的身份的第二身份凭证;其中,所述第二身份凭证与第一客户端的第一身份凭证相关联,所述第一客户端具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限,所述第二客户端具有第二权限,所述第二权限包括管理第二数量的终端设备对所述特定软件的使用权限,所述第二数量小于等于所述第一数量;

在所述第二身份凭证验证通过的情况下,接收所述服务端反馈的激活码;其中,所述激活码与所述主许可相关联,用于激活终端设备上安装的特定软件;

其中,所述向服务端发送用于唯一标识所述第二客户端的身份的第二身份凭证,包括:基于第一地址向所述服务端发送访问请求;

接收所述服务端反馈的与所述第一地址相对应的第一页面;其中,所述第一页面为所述服务端创建的与所述第一身份凭证相关联的页面;

基于所述第一页面向所述服务端发送所述第二身份凭证。

11.一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,其特征在于,所述处理器在执行所述存储器上的程序时实现权利要求1‑6中任一项所述的方法,权利要求7‑9中任一项中所述的方法,或者,权利要求10所述的方法。

说明书 :

软件许可方法及电子设备

技术领域

[0001] 本申请涉及软件许可技术领域,特别涉及一种软件许可方法及电子设备。

背景技术

[0002] 浮动许可是一种软件许可方法,在最终用户的位置需要一个许可证服务器,网络中的每台计算机或设备都需要连接到它。许可服务器用来管理用于共享的许可。浮动许可允许用户使用同一个网络中的任何一台机器,当用户希望运行软件产品时,从许可服务器请求许可,如果许可可用,许可服务器会签发一个许可。当用户使用完软件产品,或允许的许可期限到期时,许可服务器会回收许可并提供给其他用户。许可文件通常通过MAC地址或其他硬件信息绑定到许可服务器的主机ID。在许可服务器上注册的许可数量限制了并发用户的数量。采用浮动许可不仅能够降低软件使用成本,而且软件使用更加灵活。但现有的浮动许可机制仍然存在管理灵活性较差,部门之间无法实现许可的隔离,无法满足大企业的管理需求。

发明内容

[0003] 有鉴于现有技术中存在的上述问题,本申请提供了一种软件许可方法及电子设备,本申请实施例采用的技术方案如下:
[0004] 本申请第一方面提供了一种软件许可方法,应用于服务端,包括:
[0005] 接收第一客户端发送的第一身份凭证,以及至少一个第二客户端的身份信息;其中,所述第一身份凭证用于唯一标识所述第一客户端,所述第一客户端具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限;
[0006] 在所述第一身份凭证验证通过的情况下,基于所述第二客户端的身份信息注册第二身份凭证,并向所述第二客户端授予第二权限,其中,所述第二权限包括管理第二数量的终端设备对所述特定软件的使用权限,所述第二数量小于或等于所述第一数量;
[0007] 获取所述第二客户端发送的所述第二身份凭证,并验证所述第二身份凭证;
[0008] 在所述第二身份凭证验证通过的情况下,基于所述主许可生成并向所述第二客户端反馈激活码;其中,所述激活码用于激活终端设备上安装的特定软件。
[0009] 在一些实施例中,所述方法还包括:
[0010] 生成与所述第一身份凭证相关联的第一页面,以及所述第一页面的第一地址;
[0011] 将所述第一地址反馈至所述第一客户端;其中,所述第一地址配置为使所述第二客户端能够利用所述第一地址获取所述第一页面,并利用所述第一页面访问所述服务端。
[0012] 在一些实施例中,所述获取所述第二客户端发送的所述第二身份凭证,并验证所述第二身份凭证,包括:
[0013] 响应于接收到所述第二客户端发送的所述第一地址,向所述第二客户端反馈所述第一页面;
[0014] 接收所述第二客户端通过所述第一页面发送的所述第二身份凭证,验证所述第二身份凭证;
[0015] 基于与所述第一页面相关联的第一身份凭证,验证所述第二身份凭证。
[0016] 在一些实施例中,所述方法还包括:
[0017] 接收终端设备发送的激活码,以及用于标识所述终端设备的设备信息;
[0018] 基于所述主许可、所述激活码和所述设备信息,生成并向所述终端设备发送第一子许可,以授予所述终端设备使用所述特定软件的权限。
[0019] 在一些实施例中,所述方法还包括:
[0020] 接收所述终端设备发送的查询请求,其中,所述查询请求用于请求查询所述第一子许可的许可状态;
[0021] 在确定所述第一子许可处于有效状态的情况下,向所述终端设备反馈第一响应信息,以通知所述终端设备所述第一子许可处于有效状态。
[0022] 在一些实施例中,所述方法还包括:
[0023] 接收所述终端设备发送的查询请求,其中,所述查询请求用于请求查询所述第一子许可的许可状态;
[0024] 在确定所述第一子许可处于待更新状态的情况下,生成第二子许可,将所述第二子许可发送至所述终端设备,以使所述终端设备通过所述第二子许可替换所述第一子许可。
[0025] 在一些实施例中,所述方法还包括:
[0026] 接收所述终端设备发送的查询请求,其中,所述查询请求用于请求查询所述第一子许可的许可状态;
[0027] 在确定所述第一子许可处于无效状态的情况下,向所述终端设备反馈第二响应信息,以指示所述终端设备删除所持有的所述第一子许可。
[0028] 在一些实施例中,所述方法还包括:
[0029] 接收所述第二客户端发送的操作请求,其中,所述操作请求用于请求对所述第一子许可执行指定操作,所述操作请求包含用于标识所述第一子许可的标识信息;
[0030] 基于所述操作请求,对所述第一子许可执行所述指定操作。
[0031] 本申请第二方面提供了一种软件许可方法,应用于服务端,包括:
[0032] 响应于接收到第二客户端发送的第二身份凭证,验证所述第二身份凭证;其中,所述第二身份凭证用于证明所述第二客户端的身份,所述第二身份凭证与第一客户端的第一身份凭证相关联,所述第一客户端具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限,所述第二客户端具有第二权限,所述第二权限包括管理第二数量的终端设备对所述特定软件的使用权限,所述第二数量小于等于所述第一数量;
[0033] 在所述第二身份凭证验证通过的情况下,基于所述主许可生成并向所述第二客户端反馈激活码;其中,所述激活码用于激活终端设备上安装的特定软件。
[0034] 在一些实施例中,所述方法还包括:
[0035] 接收终端设备发送的激活码和用于标识所述终端设备的设备信息;
[0036] 基于所述主许可、所述激活码和所述设备信息,生成并向所述终端设备发送第一子许可,以授予所述终端设备对所述特定软件的使用权限。
[0037] 在一些实施例中,所述方法还包括:
[0038] 接收所述第一客户端发送的所述第一身份凭证,以及至少一个第二客户端的身份信息;
[0039] 在所述第一身份凭证验证通过的情况下,基于所述第二客户端的身份信息注册用于所述第二身份凭证,并授予所述第二客户端所述第二权限。
[0040] 本申请第三方面提供了一种软件许可方法,应用于第二客户端,包括:
[0041] 向服务端发送用于唯一标识所述第二客户端的身份的第二身份凭证;其中,所述第二身份凭证与第一客户端的第一身份凭证相关联,所述第一客户端具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限,所述第二客户端具有第二权限,所述第二权限包括管理第二数量的终端设备对所述特定软件的使用权限,所述第二数量小于等于所述第一数量;
[0042] 在所述第二身份凭证验证通过的情况下,接收所述服务端反馈的激活码;其中,所述激活码与所述主许可相关联,用于激活终端设备上安装的特定软件。
[0043] 本申请第四方面提供了一种电子设备,至少包括存储器和处理器,所述存储器上存储有程序,所述处理器在执行所述存储器上的程序时实现如上所述的方法。
[0044] 本申请实施例的软件许可方法,组织可以按照内部组织架构,将特定软件的使用权限分许可给一个或多个二级管理者所持有的第二客户端,通过第二客户端从服务端请求获取激活码,并将激活码分发给所管理的终端设备,使得相应的终端设备能够激活所安装的特定软件。如此,使得各部门既可以通过第二客户端自行管理该特定软件的使用权限,也可以在组织层次通过第一客户端整体协调该特定软件的使用权限,具有较高的灵活性,能够满足大企业的管理需求。

附图说明

[0045] 图1为本申请第一种实施例的软件许可方法所应用的系统的系统架构图;
[0046] 图2为本申请第一种实施例的软件许可方法的流程图;
[0047] 图3为本申请第一种实施例的软件许可方法的步骤S130的流程图;
[0048] 图4为本申请第一种实施例的软件许可方法的具体流程图;
[0049] 图5为本申请第二种实施例的软件许可方法的流程图;
[0050] 图6为本申请第三种实施例的软件许可方法的流程图;
[0051] 图7为本申请第四种实施例的电子设备的结构框图。

具体实施方式

[0052] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0053] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0054] 本申请第一种实施例提供了一种软件许可方法,应用于服务端,该服务端可以是硬件形成,也可以是软件。当该服务端为硬件时,该服务端可包括多个服务器,多个服务器可组成分布式服务器集群,该服务端也可包括单个服务器。当服务端为软件时,该服务端可包括多个软件或软件模块,也可包括单个软件或软件模块。当服务端为软件时,该软件可安装在如前所述的硬件上。
[0055] 参见图1和图2所示,该软件许可方法具体可包括如下步骤。
[0056] S110,接收第一客户端发送的第一身份凭证,以及至少一个第二客户端的身份信息。
[0057] 其中,第一客户端可为一个组织的一级客户端。该组织可以是法人组织,也可以使非法人组织,此处不限定组织类型。该第一客户端具有能够唯一标识其身份的第一身份凭证。可选的,该第一身份凭证包括但不限于密钥、证书或能够唯一标识第一客户端的身份的编码或字符串,或者,该第一身份凭证也可包括账户名和密码。
[0058] 所述第一客户端还具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限。也即,通过该主许可授予该组织第一数量的终端设备同时使用特定软件的使用权限。该主许可中可包含软件名称、软件编号、许可期限、许可数量(也即第一数量)、第一身份凭证等相关信息。
[0059] 可选的,该第一身份凭证和主许可可以是软件开发商予以注册或颁发,也可是由提供软件许可服务的服务商予以注册或颁发,但只要服务端关联存储有该第一身份凭证和主许可即可。例如,在第一客户端首次登录时,可向服务端发送例如名称、地址、联系方式等身份信息。由服务端基于第一客户端的身份信息,生成第一身份凭证。第一客户端希望获得软件的使用权限时,可向服务端发送软件许可请求,并与服务端交互以确定许可期限、许可数量、许可费用等许可信息,服务端可基于许可信息向第一客户端颁发主许可。第一身份凭证可先于主许可生成,也可在生成主许可时一并予以生成。以该主许可表现为数据包,该第一身份凭证表现为密钥为例,可在生成该数据包时,一并生成该密钥。
[0060] 在第一客户端已获得主许可的情况下,该第一客户端还可请求服务端开设一个或多个二级管理者持有的二级客户端。也即,第一客户端可请求服务端开设一个或多个隶属于第一客户端的第二客户端。例如,企业软件管理部件可设置用于管理企业各个部门的软件许可事项的专员,该第二客户端可为各个专员所持有的客户端。还例如,各个部分的软件许可事项可由各个部分的主管负责,则该第二客户端即为各个部门的主管所持有的客户端。此时,第一客户端可向服务端发送第一身份凭证和第二客户端的身份信息,例如,第二客户端的账户名、账户密码、联系方式、地址等能够表征第二客户端身份的信息。
[0061] S120,在所述第一身份凭证验证通过的情况下,基于所述第二客户端的身份信息注册第二身份凭证,并向所述第二客户端授予第二权限,其中,所述第二权限包括管理第二数量的终端设备对所述特定软件的使用权限,所述第二数量小于或等于所述第一数量。
[0062] 可选的,第一客户端可通过登录页面向服务端发送第一身份凭证,服务端验证第一身份凭证。在第一身份凭证验证通过的情况下,服务端可向第一客户端反馈注册页面,第一客户端可通过注册页面向服务端发送第二客户端的身份信息、第二数量及管理期限等管理信息。服务端基于第二客户端的身份信息注册第二身份凭证,基于第二数量及管理期限等管理信息配置第二客户端的管理权限,并构建第一客户端和第二客户端的关联关系。
[0063] 可选的,第二数量可配置为等于第一数量。例如,主许可向第一客户端授予一百个终端设备同时使用特定软件的使用权限,第一客户端可将这一百个终端设备对特定软件的使用权限全部授予第二客户端管理。
[0064] 可选的,第二数量也可小于第一数量。例如,主许可向第一客户端授予一百个终端设备同时使用特定软件的使用权限,第一客户端可注册两个第二客户端,分别授予这两个第二客户端管理五十个终端设备使用特定软件的使用权限。
[0065] S130,获取所述第二客户端发送的所述第二身份凭证,并验证所述第二身份凭证。
[0066] 在需要向终端设备授予特定软件的使用权限时,可由第二客户端向服务端发送第二身份凭证,服务端接收到第二身份凭证后,验证第二身份凭证的有效性。
[0067] 可选的,在第二身份凭证包含账户名和账户密码时,服务端可验证该账户名是否存在,并验证账户名和账户密码是否相对应。可选的,在第二身份凭证包含密钥、证书和能够唯一标识第二客户端的身份的字符串的情况下,服务端可将该密钥、证书或字符串与数据库中保存的身份凭证匹配,服务端也可基于特定算法验证该密钥、证书或字符串的有效性。
[0068] 配合图4所示,服务端可生成与所述第一身份凭证相关联的第一页面,以及所述第一页面的第一地址。将所述第一地址反馈至所述第一客户端;其中,所述第一地址配置为使所述第二客户端能够利用所述第一地址获取所述第一页面,并利用所述第一页面访问所述服务端。也即,该第一页面实际作为第二客户端的登录页面。
[0069] 可选的,服务端可专为每个第一客户端创建一个或多个与第一身份凭证相关联的第一页面,服务端也可为所属于第一客户端的各个第二客户端分别创建与之相关联的第一页面。例如,在第一客户端具有两个与之相关联的第二客户端的情况下,服务端可创建一个第一页面,两个第二客户端共用这一个第一页面登录。服务端也可分别为这两个第二客户端各自创建一个第一页面,并分别生成用于标识第一页面的第一地址,两个第二客户端通过与自身相关联的第一页面登录。服务端在第一页面创建完成后,可将第一地址反馈给第一客户端。第一客户端可将该第一地址分发给各个第二客户端。
[0070] 在此基础上,配合图3和图4所示,步骤S130,所述获取所述第二客户端发送的所述第二身份凭证,并验证所述第二身份凭证,可包括。
[0071] S131,响应于接收到所述第二客户端发送的所述第一地址,向所述第二客户端反馈所述第一页面。
[0072] S132,接收所述第二客户端通过所述第一页面发送的所述第二身份凭证,验证所述第二身份凭证。
[0073] S133,基于与所述第一页面相关联的第一身份凭证,验证所述第二身份凭证。
[0074] 可选的,第二客户端需要登录时,可基于第一地址向服务端发送访问请求,服务端接收到该访问请求的情况下,基于第一地址查找第一页面,并将第一页面反馈至第二客户端。
[0075] 第一页面中可包含登录窗口,第二客户端可向登录窗口中输入例如账户名和密码等第二身份凭证,并通过选取登录选项,将第二身份凭证发送至服务端。
[0076] 服务端在获取到第二身份凭证的情况下,可基于第一页面和第一身份凭证的关联关系,确定该第一页面相关联的第一身份凭证,继而基于第一身份凭证和第二身份凭证的关联关系,确定服务端保存的与第一身份凭证向关联的第二身份凭证,基于所保存的第二身份凭证验证所接收的第二身份凭证。
[0077] 这样,只要用于标识第一客户端的第一身份凭证不同,不同组织的二级客户端的第二身份凭证可以相同,为组织注册其所属的二级客户端的第二身份凭证提供较大的自由度,便于企业管理。
[0078] S140,在所述第二身份凭证验证通过的情况下,基于所述主许可生成并向所述第二客户端反馈激活码。
[0079] 可选的,在第二身份凭证验证通过的情况下,服务端可基于第二身份凭证验证第二客户端的第二权限,在第二权限验证通过的情况下,可基于主许可、第一身份凭证、第二身份凭证,生成激活码,并将激活码反馈至第二客户端。
[0080] 例如,确定第二客户端所管理的终端设备的数量,以及第二客户端请求服务端授权对特定软件的使用权限的终端设备的数量。在第二客户端已请求服务端授予对特定软件的使用权限的终端设备的数量小于第二数量的情况下,则表明在第二权限范围内,第二客户端仍然能够请求服务端向新的终端设备授予对特定软件的使用权限。此时,服务端可基于第二身份凭证和第一身份凭证的关联关系,调取第一身份凭证和主许可,基于第一身份凭证、第二身份凭证和主许可生成激活码,并将该激活码反馈至第二客户端,以使第二客户端将该激活码转发至终端设备。
[0081] 可选的,该激活码可作为向非特定终端设备授予对特定软件的使用权限的凭证,终端设备可利用该激活码激活安装在终端设备上的特定软件。例如,可向特定软件的激活窗口输入该激活码,以激活该特定软件。
[0082] 本申请实施例的软件许可方法,组织可以按照内部组织架构,将特定软件的使用权限分许可给一个或多个二级管理者所持有的第二客户端,通过第二客户端从服务端请求获取激活码,并将激活码分发给所管理的终端设备,使得相应的终端设备能够激活所安装的特定软件。如此,使得各部门既可以通过第二客户端自行管理该特定软件的使用权限,也可以在组织层次通过第一客户端整体协调该特定软件的使用权限,具有较高的灵活性,能够满足大企业的管理需求。
[0083] 在一些实施例中,所述方法还包括:
[0084] S150,接收终端设备发送的激活码,以及用于标识所述终端设备的设备信息;
[0085] S160,基于所述主许可、所述激活码和所述设备信息,生成并向所述终端设备发送第一子许可,以授予所述终端设备使用所述特定软件的权限。
[0086] 第二客户端获取到激活码后,可将激活码分发给需要使用该特定软件的终端设备。可选的,在该特定软件自身具有激活窗口的情况下,可直接向该激活窗口输入该激活码。终端设备能够将激活码和设备信息发送至服务端,以请求服务端激活该特定软件。可选的,在终端设备上安装有用于激活该特定软件的应用程序的情况下,也可将该激活码输入到该应用程序中,使得终端设备基于该应用程序向服务端发送激活码和设备信息。
[0087] 其中,设备信息包含一类或多类能够唯一标识终端设备的信息。该设备信息包括但不限于产品序列号(SN码)、MAC地址、IP地址等。该设备信息可由用户利用输入设备主动输入,也可由该特定软件或应用程序主动获取。只要在用户选取激活选项时,终端设备能够将激活码和设备信息发送至服务端即可。
[0088] 可选的,服务端获取到激活码,可验证该激活码的有效性。在激活码验证通过的情况下,可构建激活码和设备信息之间的关联关系。基于激活码和主许可之间的关联关系,还可获取第一身份凭证、第二身份凭证和主许可。继而,基于第一身份凭证、第二身份凭证、主许可、激活码和设备信息,生成第一子许可。
[0089] 可选的,该第一子许可可表现为数据包。服务端在获取到第一身份凭证、第二身份凭证、主许可、激活码和设备信息的情况下,可基于这些信息中的一个或多个组装形成数据包。继而,将该数据包发送至终端设备,使得终端设备可基于该数据包开启该特定软件的全部或部分使用功能。为终端设备提供了一种操作简便的软件激活方式。
[0090] 在一些实施例中,所述方法还包括:
[0091] S170,接收所述第二客户端发送的操作请求,其中,所述操作请求用于请求对所述第一子许可执行指定操作,所述操作请求包含用于标识所述第一子许可的标识信息;
[0092] S180,基于所述操作请求,对所述第一子许可执行所述指定操作。
[0093] 可选的,第二客户端不仅限于请求服务端向终端设备授予特定软件的使用权限,也可请求服务端撤销第一子许可,或者,变更第一子许可的许可期限和/或许可内容等,也即,该指定操作可包括撤销第一子许可,或者,变更第一子许可的许可期限、许可内容等。
[0094] 例如,第二客户端的第二权限包括管理十个终端设备对特定软件的使用权限,第二客户端已经请求服务端颁发了十个第一子许可,如果第二客户端需要请求服务端向另一个终端设备授予特定软件的使用权限,则第二客户端先需要请求服务端撤销一个或多个已经颁发的第一子许可。此时,第二客户端可向服务端发送撤销请求,以请求服务端撤销指定的第一子许可,该撤销请求可包含能够标识需要撤销的第一子许可的标识信息。该标识信息可包括但不限于第一子许可的许可编号、激活码或其他能够唯一标识该第一子许可的信息。
[0095] 还例如,在某一第一子许可的许可期限即将到期时,第二客户端可向服务端发送变更请求,以请求服务端变更该第一子许可的许可期限。或者,在某一终端设备需要获得特定软件更多的使用功能时,第二客户端可向服务端发送变更请求,以请求服务端变更相应的第一子许可的许可内容。
[0096] 可选的,服务端获取到操作请求之前或之后,可要求第二客户端提供第二身份凭证,并验证第二客户端所提供的第二身份凭证。在第二身份凭证验证通过的情况下,服务端可基于该操作请求,对相应的第一子许可执行撤销操作或变更操作等。如此,能够拓展第二客户端的管理权限,提高管理的灵活度。
[0097] 在一些实施例中,所述方法还包括:S190,接收所述终端设备发送的查询请求,其中,所述查询请求用于请求查询所述第一子许可的许可状态。
[0098] 可选的,第一子许可的许可状态可包括有效状态、待更新状态和无效状态。
[0099] 有效状态表明第一子许许可期限未到,也未被主动撤销,而且第一子许可的许可内容未发生变化,终端设备可以基于第一子许可正常使用特定软件。如果服务端确定第一子许可处于有效状态,则可向终端设备反馈第一响应信息,以通知终端设备第一子许可处于有效状态,终端设备不对所保存的第一子许可执行任何操作。
[0100] 待更新状态为第一子许可的许可期限或许可内容发生变化。例如,许可期限延长、许可权限增加或其他许可内容发生变化等。这种变化可以是由于第二客户端主动向服务端发送操作请求所致,也可以是由软件开发商所触发。例如,软件开发商更新软件版本时,拓展了软件的使用功能,则需要更新第一子许可,以便终端设备能够开启新的使用功能。如果服务端确定所述第一子许可处于待更新状态,则可将更新后的第二子许可发送至所述终端设备,以使所述终端设备通过所述第二子许可替换所述第一子许可。可选的,服务器可以在接收到查询请求之前已经生成了第二子许可,也可在接收到查询请求并确定第一子许可处于待更新状态之后,生成第二子许可。但只要在确定第一子许可处于待更新状态的情况下,能够将更新后的第二子许可发送至终端设备即可。
[0101] 无效状态表明第一子许可已经失效,终端设备不再具有对特定软件的使用权限。第一子许可失效可以是由于许可期限已经到期所致,也可以是由于第二客户端主动向服务端发送了撤销请求所致,或者,还可以是服务端基于预先与第一客户端或第二客户端约定的使用规则,主动撤销了第一子许可。当然,第一子许可的失效也可以是由于其他原因所致。如果服务端确定所述第一子许可处于无效状态,则向所述终端设备反馈第二响应信息,以指示所述终端设备删除所持有的所述第一子许可,相应的,特定软件也会丧失相应的使用功能。
[0102] 本申请第二种实施例提供了一种软件许可方法,应用于服务端。图5为本申请第二种实施例的软件许可方法的流程图,参见图5所示,该软件许可方法具体可包括如下步骤。
[0103] S210,响应于接收到第二客户端发送的第二身份凭证,验证所述第二身份凭证。
[0104] 第一客户端可为一个组织的一级客户端,第二客户端可为该组织的二级客户端。该组织可以是法人组织,也可以使非法人组织,此处不限定组织类型。该第一客户端具有能够唯一标识其身份的第一身份凭证。可选的,该第一身份凭证包括但不限于密钥、证书或能够唯一标识第一客户端的身份的编码或字符串,或者,该第一身份凭证也可包括账户名和密码。
[0105] 所述第一客户端还具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限。也即,通过该主许可授予该组织第一数量的终端设备同时使用特定软件的使用权限。该主许可中可包含软件名称、软件编号、许可期限、许可数量(也即第一数量)、第一身份凭证等相关信息。
[0106] 可选的,该第一身份凭证和主许可可以是软件开发商予以注册或颁发,也可是由提供软件许可服务的服务商予以注册或颁发,但只要服务端关联存储有该第一身份凭证和主许可即可。例如,在第一客户端首次登录时,可向服务端发送例如名称、地址、联系方式等身份信息。由服务端基于第一客户端的身份信息,生成第一身份凭证。第一客户端希望获得软件的使用权限时,可向服务端发送软件许可请求,并与服务端交互以确定许可期限、许可数量、许可费用等许可信息,服务端可基于许可信息向第一客户端颁发主许可。第一身份凭证可先于主许可生成,也可在生成主许可时一并予以生成。以该主许可表现为数据包,该第一身份凭证表现为密钥为例,可在生成该数据包时,一并生成该密钥。
[0107] 第二客户端具有第二身份凭证,第二身份凭证用于唯一标识第二客户端的身份。第二身份凭证可包括账户名和账户密码,第二身份凭证也包含密钥、证书和能够唯一标识第二客户端的身份的字符串。
[0108] 在需要向终端设备授予特定软件的使用权限时,可由第二客户端向服务端发送第二身份凭证,服务端接收到第二身份凭证后,验证第二身份凭证的有效性。
[0109] 可选的,在第二身份凭证包含账户名和账户密码时,服务端可验证该账户名是否存在,并验证账户名和账户密码是否相对应。可选的,在第二身份凭证包含密钥、证书和能够唯一标识第二客户端的身份的字符串的情况下,服务端可将该密钥、证书或字符串与数据库中保存的身份凭证匹配,服务端也可基于特定算法验证该密钥、证书或字符串的有效性。
[0110] 可选的,服务端可生成与所述第一身份凭证相关联的第一页面,以及所述第一页面的第一地址。将所述第一地址反馈至所述第一客户端;其中,所述第一地址配置为使所述第二客户端能够利用所述第一地址获取所述第一页面,并利用所述第一页面访问所述服务端。也即,该第一页面实际作为第二客户端的登录页面。
[0111] 可选的,服务端可专为每个第一客户端创建一个或多个与第一身份凭证相关联的第一页面,服务端也可为所属于第一客户端的各个第二客户端分别创建与之相关联的第一页面。例如,在第一客户端具有两个与之相关联的第二客户端的情况下,服务端可创建一个第一页面,两个第二客户端共用这一个第一页面登录。服务端也可分别为这两个第二客户端各自创建一个第一页面,并分别生成用于标识第一页面的第一地址,两个第二客户端通过与自身相关联的第一页面登录。服务端在第一页面创建完成后,可将第一地址反馈给第一客户端。第一客户端可将该第一地址分发给各个第二客户端。
[0112] 在此基础上,步骤S210,所述响应于接收到第二客户端发送的第二身份凭证,验证所述第二身份凭证,可包括。
[0113] S211,响应于接收到所述第二客户端发送的所述第一地址,向所述第二客户端反馈所述第一页面。
[0114] S212,接收所述第二客户端通过所述第一页面发送的所述第二身份凭证,验证所述第二身份凭证。
[0115] S213,基于与所述第一页面相关联的第一身份凭证,验证所述第二身份凭证。
[0116] 可选的,第二客户端需要登录时,可基于第一地址向服务端发送访问请求,服务端接收到该访问请求的情况下,基于第一地址查找第一页面,并将第一页面反馈至第二客户端。
[0117] 第一页面中可包含登录窗口,第二客户端可向登录窗口中输入例如账户名和密码等第二身份凭证,并通过选取登录选项,将第二身份凭证发送至服务端。
[0118] 服务端在获取到第二身份凭证的情况下,可基于第一页面和第一身份凭证的关联关系,确定该第一页面相关联的第一身份凭证,继而基于第一身份凭证和第二身份凭证的关联关系,确定服务端保存的与第一身份凭证向关联的第二身份凭证,基于所保存的第二身份凭证验证所接收的第二身份凭证。
[0119] 这样,只要用于标识第一客户端的第一身份凭证不同,不同组织的二级客户端的第二身份凭证可以相同,为组织注册其所属的二级客户端的第二身份凭证提供较大的自由度,便于企业管理。
[0120] S220,在所述第二身份凭证验证通过的情况下,基于所述主许可生成并向所述第二客户端反馈激活码;其中,所述激活码用于激活终端设备上安装的特定软件。
[0121] 可选的,在第二身份凭证验证通过的情况下,服务端可基于第二身份凭证验证第二客户端的第二权限,在第二权限验证通过的情况下,可基于主许可、第一身份凭证、第二身份凭证,生成激活码,并将激活码反馈至第二客户端。
[0122] 例如,确定第二客户端所管理的终端设备的数量,以及第二客户端请求服务端授权对特定软件的使用权限的终端设备的数量。在第二客户端已请求服务端授予对特定软件的使用权限的终端设备的数量小于第二数量的情况下,则表明在第二权限范围内,第二客户端仍然能够请求服务端向新的终端设备授予对特定软件的使用权限。此时,服务端可基于第二身份凭证和第一身份凭证的关联关系,调取第一身份凭证和主许可,基于第一身份凭证、第二身份凭证和主许可生成激活码,并将该激活码反馈至第二客户端,以使第二客户端将该激活码转发至终端设备。
[0123] 可选的,该激活码可作为向非特定终端设备授予对特定软件的使用权限的凭证,终端设备可利用该激活码激活安装在终端设备上的特定软件。例如,可向特定软件的激活窗口输入该激活码,以激活该特定软件。
[0124] 本申请实施例的软件许可方法,组织可以按照内部组织架构,将特定软件的使用权限分许可给一个或多个二级管理者所持有的第二客户端,通过第二客户端从服务端请求获取激活码,并将激活码分发给所管理的终端设备,使得相应的终端设备能够激活所安装的特定软件。如此,使得各部门既可以通过第二客户端自行管理该特定软件的使用权限,也可以在组织层次通过第一客户端整体协调该特定软件的使用权限,具有较高的灵活性,能够满足大企业的管理需求。
[0125] 在一些实施例中,所述方法还包括:
[0126] 接收终端设备发送的激活码和用于标识所述终端设备的设备信息;
[0127] 基于所述主许可、所述激活码和所述设备信息,生成并向所述终端设备发送第一子许可,以授予所述终端设备对所述特定软件的使用权限。
[0128] 在一些实施例中,所述方法还包括:
[0129] 接收所述第一客户端发送的所述第一身份凭证,以及至少一个第二客户端的身份信息;
[0130] 在所述第一身份凭证验证通过的情况下,基于所述第二客户端的身份信息注册用于所述第二身份凭证,并授予所述第二客户端所述第二权限。
[0131] 本申请第三种实施例提供了一种软件许可方法,应用于第二客户端,图6为本申请第三种实施例的软件许可方法的流程图,参见图6所示,该软件许可方法具体可包括如下步骤。
[0132] S310,向服务端发送用于唯一标识所述第二客户端的身份的第二身份凭证。
[0133] 第一客户端可为一个组织的一级客户端,第二客户端可为该组织的二级客户端。该组织可以是法人组织,也可以使非法人组织,此处不限定组织类型。该第一客户端具有能够唯一标识其身份的第一身份凭证。可选的,该第一身份凭证包括但不限于密钥、证书或能够唯一标识第一客户端的身份的编码或字符串,或者,该第一身份凭证也可包括账户名和密码。
[0134] 所述第一客户端还具有主许可,所述主许可用于向所述第一客户端授予第一权限,所述第一权限包括第一数量的终端设备对特定软件的使用权限。也即,通过该主许可授予该组织第一数量的终端设备同时使用特定软件的使用权限。该主许可中可包含软件名称、软件编号、许可期限、许可数量(也即第一数量)、第一身份凭证等相关信息。
[0135] 可选的,该第一身份凭证和主许可可以是软件开发商予以注册或颁发,也可是由提供软件许可服务的服务商予以注册或颁发,但只要服务端关联存储有该第一身份凭证和主许可即可。例如,在第一客户端首次登录时,可向服务端发送例如名称、地址、联系方式等身份信息。由服务端基于第一客户端的身份信息,生成第一身份凭证。第一客户端希望获得软件的使用权限时,可向服务端发送软件许可请求,并与服务端交互以确定许可期限、许可数量、许可费用等许可信息,服务端可基于许可信息向第一客户端颁发主许可。第一身份凭证可先于主许可生成,也可在生成主许可时一并予以生成。以该主许可表现为数据包,该第一身份凭证表现为密钥为例,可在生成该数据包时,一并生成该密钥。
[0136] 第二客户端具有第二身份凭证,第二身份凭证用于唯一标识第二客户端的身份。第二身份凭证可包括账户名和账户密码,第二身份凭证也包含密钥、证书和能够唯一标识第二客户端的身份的字符串。
[0137] 在需要向终端设备授予特定软件的使用权限时,可由第二客户端向服务端发送第二身份凭证,服务端接收到第二身份凭证后,验证第二身份凭证的有效性。
[0138] 可选的,在第二身份凭证包含账户名和账户密码时,服务端可验证该账户名是否存在,并验证账户名和账户密码是否相对应。可选的,在第二身份凭证包含密钥、证书和能够唯一标识第二客户端的身份的字符串的情况下,服务端可将该密钥、证书或字符串与数据库中保存的身份凭证匹配,服务端也可基于特定算法验证该密钥、证书或字符串的有效性。
[0139] 可选的,服务端可生成与所述第一身份凭证相关联的第一页面,以及所述第一页面的第一地址。将所述第一地址反馈至所述第一客户端;其中,所述第一地址配置为使所述第二客户端能够利用所述第一地址获取所述第一页面,并利用所述第一页面访问所述服务端。也即,该第一页面实际作为第二客户端的登录页面。
[0140] 可选的,服务端可专为每个第一客户端创建一个或多个与第一身份凭证相关联的第一页面,服务端也可为所属于第一客户端的各个第二客户端分别创建与之相关联的第一页面。例如,在第一客户端具有两个与之相关联的第二客户端的情况下,服务端可创建一个第一页面,两个第二客户端共用这一个第一页面登录。服务端也可分别为这两个第二客户端各自创建一个第一页面,并分别生成用于标识第一页面的第一地址,两个第二客户端通过与自身相关联的第一页面登录。服务端在第一页面创建完成后,可将第一地址反馈给第一客户端。第一客户端可将该第一地址分发给各个第二客户端。
[0141] 在需要向终端设备授予特定软件的使用权限时,可基于第一地址向服务端发送访问请求,服务端接收到该访问请求的情况下,基于第一地址查找第一页面,并将第一页面反馈至第二客户端。
[0142] 第一页面中可包含登录窗口,第二客户端可向登录窗口中输入例如账户名和密码等第二身份凭证,并通过选取登录选项,将第二身份凭证发送至服务端。
[0143] 服务端在获取到第二身份凭证的情况下,可基于第一页面和第一身份凭证的关联关系,确定该第一页面相关联的第一身份凭证,继而基于第一身份凭证和第二身份凭证的关联关系,确定服务端保存的与第一身份凭证向关联的第二身份凭证,基于所保存的第二身份凭证验证所接收的第二身份凭证。
[0144] 这样,只要用于标识第一客户端的第一身份凭证不同,不同组织的二级客户端的第二身份凭证可以相同,为组织注册其所属的二级客户端的第二身份凭证提供较大的自由度,便于企业管理。
[0145] S320,在所述第二身份凭证验证通过的情况下,接收所述服务端反馈的激活码;其中,所述激活码与所述主许可相关联,用于激活终端设备上安装的特定软件。
[0146] 可选的,在第二身份凭证验证通过的情况下,服务端可基于第二身份凭证验证第二客户端的第二权限,在第二权限验证通过的情况下,可基于主许可、第一身份凭证、第二身份凭证,生成激活码,并将激活码反馈至第二客户端。
[0147] 例如,确定第二客户端所管理的终端设备的数量,以及第二客户端请求服务端授权对特定软件的使用权限的终端设备的数量。在第二客户端已请求服务端授予对特定软件的使用权限的终端设备的数量小于第二数量的情况下,则表明在第二权限范围内,第二客户端仍然能够请求服务端向新的终端设备授予对特定软件的使用权限。此时,服务端可基于第二身份凭证和第一身份凭证的关联关系,调取第一身份凭证和主许可,基于第一身份凭证、第二身份凭证和主许可生成激活码,并将该激活码反馈至第二客户端,以使第二客户端将该激活码转发至终端设备。
[0148] 可选的,该激活码可作为向非特定终端设备授予对特定软件的使用权限的凭证,终端设备可利用该激活码激活安装在终端设备上的特定软件。例如,可向特定软件的激活窗口输入该激活码,以激活该特定软件。
[0149] 本申请实施例的软件许可方法,组织可以按照内部组织架构,将特定软件的使用权限分许可给一个或多个二级管理者所持有的第二客户端,通过第二客户端从服务端请求获取激活码,并将激活码分发给所管理的终端设备,使得相应的终端设备能够激活所安装的特定软件。如此,使得各部门既可以通过第二客户端自行管理该特定软件的使用权限,也可以在组织层次通过第一客户端整体协调该特定软件的使用权限,具有较高的灵活性,能够满足大企业的管理需求。
[0150] 参见图7所示,本申请第四种实施例提供了一种电子设备,至少包括存储器401和处理器402,所述存储器401上存储有程序,所述处理器402在执行所述存储器401上的程序时实现如上任一实施例所述的方法。
[0151] 在所述电子设备实现上述第一种实施例和第二种实施例所述的方法时,该电子设备实际上作为服务端。在电子设备实现第三种实施例所述的方法时,该电子设备实际上作为第二客户端。
[0152] 在执行所述计算机可读存储介质中的所述计算机可执行指令时实现上述第一种实施例所述的方法时,该计算机可读存储介质实际上作为服务端的存储介质。在执行所述计算机可读存储介质中的所述计算机可执行指令时实现上述第二种实施例所述的方法时,该计算机可读存储介质实际上作为第一客户端的存储介质。在执行所述计算机可读存储介质中的所述计算机可执行指令时实现上述第三种实施例所述的方法时,该计算机可读存储介质实际上作为第二客户端的存储介质。
[0153] 本领域技术人员应明白,本申请的实施例可提供为方法、电子设备、计算机可读存储介质或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。当通过软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0154] 上述处理器可以是通用处理器、数字信号处理器、专用集成电路(application‑specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field‑programmable gate array,FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。通用处理器可以是微处理器或者任何常规的处理器等。
[0155] 上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0156] 上述可读存储介质可为磁碟、光盘、DVD、USB、只读存储记忆体(ROM)或随机存储记忆体(RAM)等,本申请对具体的存储介质形式不作限定。
[0157] 以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。