用户锁的升级方法、装置、系统、电子设备和存储介质转让专利

申请号 : CN202011164104.8

文献号 : CN112286553B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙吉平刘荣华

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

摘要 :

本发明实施例公开了一种用户锁的升级方法、装置、系统、电子设备和存储介质。所述方法包括:接收用户终端发送的用户锁的升级请求;基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端,以使所述用户终端基于至少一个所述许可升级包对所述用户锁进行升级;其中,所述至少一个许可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;所述控制锁与所述服务器物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块。以实现快速、方便的对用户锁进行升级的效果。

权利要求 :

1.一种用户锁的升级方法,其特征在于,应用于服务器,包括:接收用户终端发送的用户锁的升级请求;

基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端,以使所述用户终端基于至少一个所述许可升级包对所述用户锁进行升级;其中,所述至少一个许可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;所述控制锁与所述服务器物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块;

其中,所述许可升级包中包括:所述许可升级包的序号或时间戳;

所述基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端,以使所述用户终端基于至少一个所述许可升级包对所述用户锁进行升级,包括:基于所述升级请求,存在至少两个与所述用户锁对应的许可升级包的情况下,将所述用户锁对应的至少两个许可升级包基于所述许可升级包的序号或时间戳按第一预设顺序依次发送至所述用户终端,以使所述用户终端基于第二预设顺序利用至少两个所述许可升级包对所述用户锁进行升级。

2.根据权利要求1所述的方法,其特征在于,在所述接收用户终端发送的用户锁的升级请求之前,还包括:

接收开发商终端发送的所述用户锁的许可签发请求;

基于所述许可签发请求,调用与所述用户锁对应的控制锁,生成与所述用户锁对应的至少一个所述许可升级包。

3.根据权利要求2所述的方法,其特征在于,所述许可签发请求中包括:开发商的第一标识信息,以及所述用户锁的第二标识信息;

所述接收开发商终端发送的所述用户锁的许可签发请求之后,还包括:基于所述第一标识信息和所述第二标识信息,判断所述开发商终端的用户是否具有对所述用户锁的许可签发权限;

若具有所述许可签发权限,则执行基于所述许可签发请求,调用与所述用户锁对应的控制锁,生成与所述用户锁对应的至少一个所述许可升级包的操作。

4.根据权利要求1‑3任一项所述的方法,其特征在于,所述许可升级包中还包括:所述许可升级包所对应的使用期限;

所述接收用户终端发送的用户锁的升级请求,包括:基于所述用户锁上一次升级所使用的许可升级包对应的使用期限,确定第一预设周期;

基于所述第一预设周期,接收用户终端发送的用户锁的升级请求。

5.一种用户锁的升级方法,其特征在于,应用于用户终端,包括:向服务器发送用户锁的升级请求;

接收所述服务器响应所述升级请求而发送的至少一个与所述用户锁对应的许可升级包;其中,所述至少一个许可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;

所述控制锁与所述服务器物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块;

基于所述至少一个许可升级包,对所述用户锁进行升级;

其中,所述许可升级包中包括:所述许可升级包的序号或时间戳;

所述接收所述服务器响应所述升级请求而发送的至少一个与所述用户锁对应的许可升级包,包括:

存在至少两个与所述用户锁对应的许可升级包的情况下,接收所述服务器响应所述升级请求,基于所述许可升级包的序号或时间戳按第一预设顺序依次发送的所述用户锁对应的至少两个许可升级包,基于第二预设顺序利用至少两个所述许可升级包对所述用户锁进行升级。

6.一种用户锁的升级装置,其特征在于,设置于服务器中,包括:升级请求接收模块,用于接收用户终端发送的用户锁的升级请求;

许可升级包发送模块,用于基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端,以使所述用户终端基于至少一个所述许可升级包对所述用户锁进行升级;其中,所述至少一个许可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;所述控制锁与所述服务器物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块;其中,所述许可升级包中包括:所述许可升级包的序号或时间戳;所述基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端,以使所述用户终端基于至少一个所述许可升级包对所述用户锁进行升级,包括:基于所述升级请求,存在至少两个与所述用户锁对应的许可升级包的情况下,将所述用户锁对应的至少两个许可升级包基于所述许可升级包的序号或时间戳按第一预设顺序依次发送至所述用户终端,以使所述用户终端基于第二预设顺序利用至少两个所述许可升级包对所述用户锁进行升级。

7.一种用户锁的升级装置,其特征在于,设置于用户终端中,包括:收发模块,用于向服务器发送用户锁的升级请求;以及,接收所述服务器响应所述升级请求而发送的至少一个与所述用户锁对应的许可升级包;其中,所述至少一个许可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;所述控制锁与所述服务器物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块;其中,所述许可升级包中包括:所述许可升级包的序号或时间戳;所述接收所述服务器响应所述升级请求而发送的至少一个与所述用户锁对应的许可升级包,包括:存在至少两个与所述用户锁对应的许可升级包的情况下,接收所述服务器响应所述升级请求,基于所述许可升级包的序号或时间戳按第一预设顺序依次发送的所述用户锁对应的至少两个许可升级包,基于第二预设顺序利用至少两个所述许可升级包对所述用户锁进行升级;

用户锁升级模块,用于基于至少一个许可升级包,对所述用户锁进行升级。

8.一种用户锁的升级系统,其特征在于,包括:用户终端、服务器和控制锁;

所述服务器,用于接收所述用户终端发送的用户锁的升级请求,并基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端;其中,所述至少一个许可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;所述控制锁与所述服务器物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块;其中,所述许可升级包中包括:所述许可升级包的序号或时间戳;所述基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端,以使所述用户终端基于至少一个所述许可升级包对所述用户锁进行升级,包括:基于所述升级请求,存在至少两个与所述用户锁对应的许可升级包的情况下,将所述用户锁对应的至少两个许可升级包基于所述许可升级包的序号或时间戳按第一预设顺序依次发送至所述用户终端,以使所述用户终端基于第二预设顺序利用至少两个所述许可升级包对所述用户锁进行升级;

所述用户终端,与所述服务器通信连接,基于接收的至少一个所述许可升级包,对所述用户锁进行升级。

9.根据权利要求8所述的系统,其特征在于,所述系统还包括:与所述服务器通信连接的开发商终端;

所述开发商终端,用于向所述服务器发送所述用户锁的许可签发请求;

所述服务器,还用于基于接收的所述许可签发请求,调用与所述用户锁对应的控制锁,生成与所述用户锁对应的至少一个所述许可升级包。

10.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑4中任一所述的用户锁的升级方法,或,权利要求5所述的用户锁的升级方法。

11.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1‑4中任一所述的用户锁的升级方法,或,权利要求5所述的用户锁的升级方法。

说明书 :

用户锁的升级方法、装置、系统、电子设备和存储介质

技术领域

[0001] 本发明实施例涉及计算机安全技术,尤其涉及一种用户锁的升级方法、装置、系统、电子设备和存储介质。

背景技术

[0002] 当前市面上有一部分软件开发商在发行正式版软件产品时都会采用硬件锁来保护其开发的软件产品。这里的硬件锁包括控制锁和用户锁,控制锁由软件开发商掌握,用于
对软件进行加密、签发许可,以及签发许可升级文件,用户锁用于存放软件开发商签发的许
可。软件开发商在为用户提供应用软件的时候,也会配套提供一把用户锁,用来配合应用软
件使用。用户在终端设备下载好软件开发商经过加密的软件,并插上用户锁,才能进行解
密,正常使用该软件。但是用户锁中的许可文件可能会失效,例如有的许可文件具有使用期
限,当超过使用期限后,需对用户锁进行升级,该软件才可正常使用。因此,用户锁的许可签
发和升级对用户来说是至关重要的。
[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] 图1是本发明实施例一中的用户锁的升级方法的流程图;
[0028] 图2是本发明实施例二中的用户锁的升级方法的流程图;
[0029] 图3是本发明实施例二中的用户锁的升级方法的交互流程图;
[0030] 图4是本发明实施例二中的另一种用户锁的升级方法的交互流程图;
[0031] 图5是现有技术中用户锁的升级方法的交互流程图;
[0032] 图6是本发明实施例三中的用户锁的升级方法的流程图;
[0033] 图7是本发明实施例四中用户锁的升级方法的流程图;
[0034] 图8是本发明实施例五中的用户锁的升级装置的结构示意图;
[0035] 图9是本发明实施例六中的用户锁的升级装置的结构示意图;
[0036] 图10是本发明实施例七中的用户锁的升级系统的结构示意图;
[0037] 图11是本发明实施例八中的一种电子设备的结构示意图。

具体实施方式

[0038] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便
于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0039] 实施例一
[0040] 图1为本发明实施例一提供的用户锁的升级方法的流程图,本发明实施例应用于服务器,本实施例可适用于对用户锁进行升级的情况,该方法可以由用户锁的升级装置来
执行,该用户锁的升级装置可以由软件和/或硬件来实现,该用户锁的升级装置可以配置在
电子计算设备上,具体包括如下步骤:
[0041] S110、接收用户终端发送的用户锁的升级请求。
[0042] 示例性的,这里的用户终端指的是软件用户侧的终端,其可以是具有用户锁对应的软件的终端,也可以是没有安装该软件的终端,本申请对此不作限定。例如,该用户终端
可以是手机、电脑或平板等。
[0043] 升级请求可以是对用户锁中的许可文件进行升级的请求。
[0044] 需要说明的是,软件对应的软件许可文件,其是一种数据凭证,由软件作者(即软件开发商)与用户签订,用于规定和限制软件用户使用软件(或其源代码)的权利。用户锁可
以作为软件许可文件的载体。在软件用户向软件开发商购买了软件之后,除了软件之外,软
件开发商还需要将为该软件用户配置好的用户锁交付给该软件用户。软件用户将用户锁插
在安装有该软件的终端上,只有用户锁中的许可文件有效,该软件才可正常使用。具体来
说,终端上安装的软件的部分信息被软件开发商加密了,终端利用用户锁中存储的软件开
发商签发的许可文件,才可对该软件进行解密,使软件正常运行。当用户锁中的许可文件失
效时,该软件就无法正常使用。
[0045] 在一种可能的实现方式中,许可文件中包含至少一条许可条款。本申请实施例中的许可条款用于限定软件的使用条件。例如,许可条款可以限定软件的开始时间、结束时
间、时间跨度、使用次数、软件并发数等。例如,某一条许可条款限制软件的开始时间,那么
软件将不得早于设置时间使用。某一条许可条款限制许可的结束时间,超过该结束时间软
件将无法正常使用。某一条许可条款限制时间跨度,软件在第一次使用之后的时间跨度内
能够正常使用,超过则无法正常使用。某一条许可条款限制许可使用次数,软件将在使用次
数用尽后不能使用。某一条许可条款限制软件并发数,即最多可以同时启动软件的数量,则
同一时间最多仅允许上述数量的软件来访问用户锁,以解密软件。当许可文件中的任意一
条许可条款不满足时,可以认为该许可文件失效。在这种情况下,即便用户将用户锁与安装
有相应软件的终端物理连接上,软件也无法正常使用。
[0046] 示例性地,当用户终端中的软件对应的用户锁的许可文件中所限定的使用期限被超过时,该软件就无法正常使用。在这种情况下,软件用户可以向软件开发商支付费用以延
长使用期限,此时需要对该用户锁的许可文件进行升级。当用户锁需要升级时,则可向服务
器发送对该用户锁中的许可文件进行升级的升级请求。
[0047] S120、基于升级请求,将用户锁对应的至少一个许可升级包发送至用户终端,以使用户终端基于至少一个许可升级包对用户锁进行升级;其中,至少一个许可升级包由服务
器调用与用户锁对应的控制锁而生成;控制锁与服务器物理连接,或者,控制锁为集成于服
务器中的控制锁模块。
[0048] 示例性的,许可升级包可以是对用户锁中的许可文件进行升级的压缩包。
[0049] 服务器根据用户终端发送的用户锁的升级请求,将用户锁所对应的至少一个许可升级包发送至用户终端,用户终端可下载至少一个许可升级包,利用用户终端中所安装的
本地升级工具,对至少一个许可升级包进行解析,例如,可以是解压、解密等。用户终端根据
解析的许可升级包对用户锁进行升级,更新用户锁中的软件许可。
[0050] 示例性地,以下简单介绍一下服务器调用控制锁,来为特定的用户锁生成相应的许可升级包,以及用户终端利用许可升级包进行升级的其中一种实现方式。在用户锁的生
产过程中,控制锁的开发者证书被已经下载到了每一把用户锁中,开发者证书中包含了开
发者公钥。每一把用户锁中还存储有该用户锁的用户锁私钥。控制锁中存储有与该用户锁
对应的一把或者多把用户锁的用户锁证书,每一个用户锁证书包含该用户锁公钥。控制锁
中还存储有开发者私钥。
[0051] 在控制锁为某一个特定用户锁生成相应的许可升级包时,其首先生成一个随机密钥。然后,利用随机密钥对许可文件的明文进行加密,得到许可文件密文。再利用该用户锁
证书中的用户锁公钥,加密随机密钥,得到随机密钥密文。采用开发者私钥对许可文件明文
进行签名,得到签名数据。许可升级包就包含上述的许可文件密文、随机密钥密文以及签名
数据。
[0052] 在对应的用户锁接收到该许可升级包时,用户终端或者连接在用户终端上的用户锁可以利用用户锁私钥来对随机密钥密文进行解密,得到随机密钥明文。然后利用随机密
钥对许可文件密文进行解密,得到许可文件明文。采用用户锁中的开发者证书中的开发者
公钥对许可文件明文进行计算,将计算结果与签名数据进行比较以验证签名。用户锁私钥
能够对随机密钥密文解密,并且签名验证通过,则可以将许可文件明文存储到用户锁中,代
替用户锁中原本的许可文件。
[0053] 在上述生成许可升级包和升级的过程中,采用控制锁中的开发者私钥进行签名,采用用户锁中的开发者证书中的开发者公钥来解签,验证该许可升级包是否是由控制锁签
发的,从而有效保证许可升级包的来源。许可升级包中的随机密钥密文是采用特定用户锁
的公钥加密得到的,只有该用户锁的用户锁私钥才能够解密。这样,用户锁就可以验证该许
可升级包是否确实是控制锁为其签发的,从而使得一把用户锁只能升级控制锁为其签发的
许可文件,而不能升级控制锁为其他用户锁签发的许可文件。通过这样的方式,可以保证许
可升级包的唯一性和正确性。
[0054] 在完成升级之后,安装有该升级后的用户锁对应的软件的终端,就可以利用升级后的用户锁对该软件进行解密,以便软件可正常使用。
[0055] 需要说明的是,这里的终端可以是安装有本地升级工具的终端,也可以是用户侧的其他安装有该软件的终端,本申请对此不作限定。
[0056] 采用现有技术中的用户锁升级方法,容易产生签发不及时、延迟交付时间、升级耗时较长、升级效率低下的问题,十分不便。签发许可的控制锁往往由软件开发商侧的专人负
责保管,专人负责给用户锁锁签发许可。例如,对于中小软件开发商而言,控制锁通常掌握
在领导或者财务手中,即由专人保管专人签发许可。如果这个人请假,或者不能及时给最终
用户签发许可,那么就会严重延迟软件交易时间或者许可升级时间。
[0057] 本发明实施例的技术方案,服务器通过接收用户终端发送的用户锁的升级请求,基于升级请求,将用户锁对应的至少一个许可升级包发送至用户终端,以使用户终端基于
至少一个许可升级包对用户锁进行升级,这样可快速、方便地对用户锁进行升级,解决了现
有技术中用户锁的升级耗时较长、升级效率低下的问题。
[0058] 实施例二
[0059] 图2为本发明实施例二提供的用户锁的升级方法的流程图,本发明实施例与上述实施例中各个可选方案可以结合。如图2所示,本发明实施例的方法具体包括如下步骤:
[0060] S210、接收开发商终端发送的用户锁的许可签发请求。
[0061] 示例性的,开发商终端指的是软件开发商侧的终端,可以是软件开发商侧的管理人员用来管理用户锁的终端。例如可以是开发商侧业务人员持有的终端,比如,可以是手
机、电脑或平板等。
[0062] 许可签发请求可以是为用户锁签发某个软件的许可文件的请求。
[0063] 当用户锁需要升级时,例如用户锁中原本的许可文件已失效,软件用户向软件开发商重新购买了软件的使用权,或者购买了软件的新的模块的使用权时,软件开发商侧的
业务人员可以使用开发商终端,向服务器发送用户锁的许可签发请求,以请求服务器调用
与所述用户锁对应的控制锁,为该用户锁生成对应的许可升级包。
[0064] 需要说明的是,在许可签发请求中包含了用户锁的信息,例如,可以是包含了用户锁的ID、用户锁所在的用户终端的ID,还可以包含用户锁所对应的软件的名称等。
[0065] S220、基于许可签发请求,调用与用户锁对应的控制锁,生成与用户锁对应的至少一个许可升级包。
[0066] 可选的,调用与用户锁对应的控制锁,生成与用户锁对应的至少一个许可升级包,可以包括如下两种情况:
[0067] (1)当服务器中包括控制锁模块时,则控制锁模块基于许可签发请求,生成与用户锁对应的至少一个许可升级包。
[0068] 需要说明的是,每个用户锁均对应有一个控制锁,该控制锁在开发商手中,当用户锁需要签发许可升级时,开发商可利用手中的控制锁对该用户锁签发许可升级包,以使用
户锁可根据该许可升级包对用户锁中的许可文件进行更新升级,以利用更新升级后的许可
文件对软件进行升级解密。
[0069] 参考图3所述的用户锁的升级方法的交互流程图,当控制锁在服务器中,即控制锁作为服务器中的一个功能模块时,则服务器通过调用或访问控制锁,以使控制锁基于生成
与用户锁对应的至少一个许可升级包。这里的服务器可以是本地服务器,也可以是云服务
器。
[0070] (2)当控制锁独立于服务器时,则服务器基于许可签发请求,调用控制锁生成用户锁所对应的至少一个许可升级包。
[0071] 参考图4所述的另一种用户锁的升级方法的交互流程图,当控制锁独立于服务器,即控制锁作为一个单独的硬件设备时,则服务器接收开发商终端发送的许可签发请求,并
基于接收的该许可签发请求,访问控制锁。控制锁生成用户锁对应的至少一个许可升级包,
并将该至少一个许可升级包发送至服务器。服务器再将至少一个许可升级包发送至用户终
端,用户终端可以利用本地升级工具,将许可升级包升级到与该用户终端物理连接的用户
锁中。这里的服务器和控制锁,可以被物理隔离设置。例如,服务器和控制锁可以单独被隔
离在一个机房中,服务器可以随时被有权限的用户访问,控制锁也可以随时被服务器调用
用于签发许可升级包。机房的钥匙由专人掌握或者仅有有权限的人才能进入机房。这就避
免了许可文件签发不及时等问题,也可以避免控制锁在签发许可文件时频繁在软件开发商
的不同业务人员手中流转,容易丢失的问题。
[0072] S230、接收用户终端发送的用户锁的升级请求。
[0073] 在一种实现方式中,用户锁的许可升级包可以包含对应的使用期限,该使用期限用于指示:利用该许可升级包中的许可文件,软件用户能正常使用该软件的时间段。具体的
可以是用户锁在当前需要升级之前的上次升级时的许可升级包中包含使用期限,例如,在
许可升级包中会有对应的开始使用时间和结束使用时间,以及软件最多可使用的次数等等
信息。
[0074] 可选的,所述接收用户终端发送的用户锁的升级请求,具体可以是:基于用户锁上一次升级所使用的许可升级包对应的使用期限,确定第一预设周期;基于第一预设周期,接
收用户终端发送的用户锁的升级请求。
[0075] 示例性的,第一预设周期可以是升级请求发送的周期。该第一预设周期可以是根据当前次升级的上次升级时的许可升级包对应的开始使用时间和结束使用时间来确定的。
[0076] 根据上述确定的第一预设周期,用户终端可定期向服务器发送用户锁的升级请求。服务器根据该升级请求,定期查找服务器上是否存在该用户锁的许可升级包,若存在,
则将该许可升级包发送至用户终端,这样解决了现有技术中由于许可升级包过期、因杀毒
软件自动扫描被破坏的问题。
[0077] 在一种实现方式中,在控制锁每次签发许可升级包时,控制锁也可以定期(例如按照前述的第一预设周期)签发新的许可升级包,这样以便后续当用户终端向服务器定期发
送升级请求时,根据升级请求可定期查找是否具有该用户锁的许可升级包。这样的实现方
式尤其适合应用在需要对用户锁进行定期升级的场景中。
[0078] 在另一种实现方式中,用户终端也可以检测用户是否在用户终端的本地升级工具上输入预设操作,如果检测到该预设操作,就发送升级请求给服务器。这里的预设操作例如
可以是用户在用户终端的本地升级工具上点击了“升级用户锁”的控件,用户终端检测到用
户的上述操作后,用户终端响应于用户在用户终端上的上述操作,用户终端向服务器发送
升级请求。
[0079] 上述用户终端发送升级请求的方式还可以是用户终端检测该用户终端上是否插入了用户锁(即与用户锁建立了基于物理连接的通讯方式),如果检测到插入了用户锁,就
根据用户锁中存储的原本的许可文件,来判断许可文件是否失效,失效了就发送升级请求
给服务器。
[0080] 上述用户终端发送升级请求的方式,可根据用户需求自行选取,这里不做限定,当然,用户终端发送升级请求的方式也可不限于上述列举的几种方式,任何用户终端可发送
升级请求的方式均属于本发明实施例的保护范围。
[0081] S240、基于升级请求,将用户锁对应的至少一个许可升级包发送至用户终端,以使用户终端基于至少一个许可升级包对用户锁进行升级;其中,至少一个许可升级包由服务
器调用与用户锁对应的控制锁而生成;控制锁与服务器物理连接,或者,控制锁为集成于服
务器中的控制锁模块。
[0082] 参考图5所述的现有技术中用户锁的升级方法的交互流程图,从图5中可知,控制锁与开发商终端物理连接,用户锁与用户终端物理连接,当用户锁需要升级时,开发商终端
接收控制锁对用户锁签发的至少一个许可升级包,开发商终端侧的开发商人员将至少一个
许可升级包交付至用户终端侧的用户手中,然后用户再将至少一个许可升级包发送到用户
终端中(或者通过开发商终端以邮件等的方式将至少一个许可升级包发送至用户终端中),
置于用户终端的用户锁利用用户终端中的至少一个许可升级包,基于用户终端中的本地升
级工具对软件进行升级。
[0083] 采用上述方式,对于开发商交付给用户的许可升级包,用户如果没有及时升级有可能存在过期的问题,等到用户想起来的时候去升级时就会遇到升级失败问题,由此便会
造成二次沟通导致效率低下;此外,用户通过网络接收到的许可升级包可能由于使用环境
的问题导致文件被篡改或损坏(例如被杀毒软件自动扫描或处理),导致升级失败问题。
[0084] 本发明实施例的升级方法,可根据开发商终端发送的用户锁的许可签发请求,利用控制锁对用户锁签发至少一个许可升级包,以便后续用户锁可根据该至少一个许可升级
包对用户锁进行对应升级,提高了用户锁的升级效率,避免了现有技术中用户锁升级效率
低下,以及许可升级包的丢失或者被肆意篡改,进而影响用户锁的升级的问题。
[0085] 实施例三
[0086] 图6为本发明实施例三提供的用户锁的升级方法的流程图,本发明实施例与上述实施例中各个可选方案可以结合。
[0087] 如图6所示,本发明实施例的方法具体包括如下步骤:
[0088] S310、接收开发商终端发送的用户锁的许可签发请求。
[0089] 示例性地,在许可签发请求中包括:第一标识信息以及第二标识信息。
[0090] 这里的第一标识信息用于唯一标识软件开发商侧的用户,例如,可以是软件开发商侧的人员的账号。
[0091] 第二标识信息用于唯一标识一把用户锁,例如,可以是用户锁的ID、编号等信息,或用户锁的硬件信息,或其组合。
[0092] 可选地,软件开发商侧的用户可以在软件开发商侧的任一台终端(以下称为开发商终端)上使用账号和密码进行登录。当成功登陆后,该开发商终端的用户就可以通过开发
商终端,向服务器发送许可签发请求。
[0093] S320、基于所述第一标识信息和所述第二标识信息,判断所述开发商终端的用户是否具有对所述用户锁的许可签发权限。
[0094] 每个用户锁可以具有一个或者多个指定的管理者(软件开发商侧的人员)。不同的管理者可以具有不同的权限。例如,有的管理者(比如软件开发商侧的软件销售人员)具有
为其负责维护的用户锁签发使用许可的权限;有的管理者(比如软件开发商侧的软件销售
经理或总经理)具有为所有用户锁签发使用许可的权限等。服务器中存储权限数据,其中包
括每一个管理者与其管理的用户锁之间的对应关系,以及该管理者具有的对该用户锁的权
限。服务器在接收到第一标识信息和第二标识信息之后,可以利用存储的权限数据来判断
第一标识信息指示的软件开发商侧的用户,是否具有为第二标识信息指示的用户锁签发许
可的权限,即,该软件开发商侧的用户是否具有调用与该用户锁对应的控制锁来为该控制
锁签发许可文件的权限。
[0095] 在一种可能的实现方式中,在用户锁的管理平台系统(可以设置在服务器上)在初始化状态下仅有一个超级管理员,拥有默认的账号和密码,以便对整个系统进行管理。当超
级管理员登录该用户锁的管理平台系统后,在系统中添加子管理员,为这些子管理员分配
许可签发的权限。例如,为子管理员A分配1到10号用户锁的许可签发权限,为子管理员B分
配11到20号用户锁的许可签发权限。
[0096] 需要说明的是,许可签发的权限可以根据开发商实际场景进行功能扩展;超级管理员拥有所有权限,可以审计所有子管理员的操作记录。
[0097] 这样对硬件锁进行权限设置,避免了现有技术中用户锁的权限管理混乱的问题。例如,对于规模较大的软件开发商,给用户锁签发许可的控制锁可能会有很多把,不同部
门、不同子公司、不同代理商都有控制锁,若其中一个部门有变动,则会带来控制锁签发许
可升级包的追溯问题。
[0098] S330、若具有所述许可签发权限,则基于许可签发请求,调用与所述用户锁对应的控制锁,生成与用户锁对应的至少一个许可升级包。
[0099] S340、接收用户终端发送的用户锁的升级请求。
[0100] S350、基于升级请求,将用户锁对应的至少一个许可升级包基于许可升级包的序号或时间戳按第一预设顺序依次发送至用户终端,以使用户终端基于第二预设顺序利用至
少一个许可升级包对用户锁进行升级。
[0101] 应理解,当许可升级包生成之后,其可以被存储在服务器上,等待收到用户终端的升级请求之后再发送给用户终端。针对一个用户锁,服务器上可能存在多个许可升级包。
[0102] 示例性的,许可升级包中包括:许可升级包的序号或时间戳,即每个许可升级包均有其对应的序号或时间戳。
[0103] 这里的序号用于指示许可升级包的生成时间的先后顺序,或者用于指示后续许可升级包被使用的先后顺序,这里不做限定,只要可将多个许可升级包按照一定规则进行排
序即可。
[0104] 这里的时间戳用于指示许可升级包的生成时间。
[0105] 第一预设顺序可以是预先设置的将至少一个许可升级包发送给用户终端的顺序。这里的第一预设顺序例如可以是按各许可升级包的序号从小到大进行发送至用户终端,或
根据各许可升级包的时间戳,按时间戳的先后顺序进行发送至用户终端。
[0106] 第二预设顺序可以是预先设置的用户终端利用各许可升级包对软件进行升级的顺序。
[0107] 需要说明的是,各许可升级包的序号或时间戳可以是按照后续各许可升级包的使用顺序,以及各许可升级包发送给用户终端的顺序进行设置的,且各许可升级包的使用顺
序与各许可升级包发送给用户终端的顺序一致(即第一预设顺序与第二预设顺序一致)。这
样以便后续可直接根据各许可升级包的序号或时间戳将各许可升级包发送至用户终端,以
及根据各许可升级包的序号或时间戳,利用各许可升级包对软件进行升级。
[0108] 需要说明的是,这里的第一预设顺序和第二预设顺序可以不同,也可以相同,第一预设顺序和第二预设顺序,以及各许可升级包的序号或时间戳也可以是无关联的,这均可
根据用户需求自行设定,这里不做限定。
[0109] 在另一种实现方式中,上述S350的步骤可以被替换为:响应于所述升级请求,查找待升级的与所述用户锁对应的许可升级包;如果查找出的许可升级包超过一个,则根据所
述许可升级包的序号或时间戳,将生成时间最晚的许可升级包发送给用户终端。
[0110] 在另外的实现方式中,如果查找出的许可升级包超过一个,服务器也可以按照前述的第一预设顺序,将第一个许可升级包发送给用户终端,使用户终端利用该许可升级包
升级用户锁。用户锁升级成功之后,用户终端向服务器上报的用户锁升级情况。该用户锁升
级情况可以指示许可升级包序号、升级是否成功、升级时间、升级地点等信息。服务器将用
户锁升级情况记录到签发记录中,以便追溯。此外,服务器在判断第一个许可升级包升级成
功之后,再将第一预设顺序中的第二个许可升级包发送给用户终端。以此类推,逐个发送,
逐个升级。
[0111] 这样解决了现有技术中多个许可升级文件时容易导致升级失败的问题。例如,在有的应用场景中,软件用户一天内或者短时间内可能需要多次升级用户锁。当采用现有技
术时,软件用户会接收到软件开发商侧交付的多个许可升级包。这需要软件用户自己管理
记忆这些许可升级包是否升级过,一旦出错,就会导致升级失败问题。在有的应用场景中,
软件用户有多把用户锁需要升级。当采用现有技术时,软件用户也会接收到软件开发商侧
交付的多个许可升级包,这多个许可升级包需要一一对应地去升级用户锁。这就很容易发
生由于软件用户的失误,没能一一对应而导致升级失败问题。而且,在这些应用场景中,许
可升级包越多越容易出错。采用上述技术方案可以较好地解决这些问题,减少升级失败的
情况。
[0112] 需要说明的是,在用户锁升级过程中的各升级数据均可被记录,升级数据可以是用户终端、该用户终端所对应的用户锁、用户锁的许可升级包、许可升级包的序号(或时间
戳)、许可升级包的签发时间、升级是否成功、升级时间、升级地点等等。当某一开发商侧的
用户想要查看某一用户锁的升级信息时,可根据用户锁的标识信息等来查看该用户锁的升
级数据。某一个开发商侧的用户可以根据前述的权限数据,来查看该用户管理的所有用户
锁的升级数据。这样解决了现有技术中没有用户锁的历史升级记录、权限管理混乱的问题。
[0113] 实施例四
[0114] 图7为本发明实施例四提供的用户锁的升级方法的流程图,本发明实施例应用于用户终端,本实施例可适用于对用户锁进行升级的情况,该方法可以由用户锁的升级装置
来执行,该用户锁的升级装置可以由软件和/或硬件来实现,该用户锁的升级装置可以配置
在电子计算设备上,具体包括如下步骤:
[0115] S410、向服务器发送用户锁的升级请求,接收服务器响应升级请求而发送的至少一个与用户锁对应的许可升级包;其中,至少一个许可升级包由服务器调用与用户锁对应
的控制锁而生成;控制锁与服务器物理连接,或者,控制锁为集成于服务器中的控制锁模
块。
[0116] 需要说明的是,这里的控制锁可以与服务器物理连接,或者,控制锁为集成于服务器中的控制锁模块。这里不做限定。
[0117] 需要说明的是,这里的用户终端向服务器发送用户锁的升级请求的方式,可以参照上述实施例二中所列举的方式,但也不限于上述实施例二所列举的方式。
[0118] S420、基于至少一个许可升级包,对用户锁进行升级。
[0119] 需要说明的是,本发明实施例中详细的服务器、用户终端和开发商终端所执行的步骤可参照上述实施例一至实施例三中的内容,这里不再赘述。
[0120] 这样用户终端向服务器发送用户锁的升级请求,以及,接收服务器响应升级请求而发送的至少一个与用户锁对应的许可升级包;其中,至少一个许可升级包由服务器调用
与用户锁对应的控制锁而生成;控制锁与服务器物理连接,或者,控制锁为集成于服务器中
的控制锁模块,用户终端基于接收的至少一个许可升级包对用户锁进行升级,这样可快速、
方便地对用户锁进行升级,解决了现有技术中用户锁的升级耗时较长、升级效率低下的问
题。
[0121] 需要说明的是,本发明实施例的用户锁的升级方法具备上述应用于服务器的用户锁的升级方法的实施例相同功能和有益效果。
[0122] 实施例五
[0123] 图8为本发明实施例五提供的用户锁的升级装置的结构示意图,该装置设置于服务器中,如图8所示,该装置包括:升级请求接收模块31和许可升级包发送模块32。
[0124] 其中,升级请求接收模块31,用于接收用户终端发送的用户锁的升级请求;
[0125] 许可升级包发送模块32,用于基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至所述用户终端,以使所述用户终端基于至少一个所述许可升级包对所述
用户锁进行升级;其中,所述至少一个许可升级包由所述服务器调用与所述用户锁对应的
控制锁而生成;所述控制锁与所述服务器物理连接,或者,所述控制锁为集成于所述服务器
中的控制锁模块。
[0126] 在上述实施例的技术方案的基础上,该装置还包括:
[0127] 许可签发请求接收模块,用于接收开发商终端发送的所述用户锁的许可签发请求;
[0128] 许可升级包确定模块,用于基于所述许可签发请求,调用与所述用户锁对应的控制锁,生成与用户锁对应的至少一个所述许可升级包。
[0129] 可选的,所述许可签发请求中包括:开发商的第一标识信息,以及所述用户锁的第二标识信息。
[0130] 在上述实施例的技术方案的基础上,该装置还包括:
[0131] 判断模块,用于基于所述第一标识信息和所述第二标识信息,判断所述开发商终端的用户是否具有对所述用户锁的许可签发权限;若具有所述许可签发权限,则执行基于
所述许可签发请求,调用与所述用户锁对应的控制锁,生成与所述用户锁对应的至少一个
所述许可升级包的操作。
[0132] 可选的,所述许可升级包中包括:所述许可升级包的序号或时间戳。
[0133] 在上述实施例的技术方案的基础上,许可升级包发送模块32具体用于:
[0134] 基于所述升级请求,将所述用户锁对应的至少一个许可升级包基于所述许可升级包的序号或时间戳按第一预设顺序依次发送至所述用户终端,以使所述用户终端基于第二
预设顺序利用至少一个所述许可升级包对所述用户锁进行升级。
[0135] 可选的,所述许可升级包中还包括:所述许可升级包所对应的使用期限。
[0136] 在上述实施例的技术方案的基础上,升级请求接收模块31具体用于:
[0137] 基于所述用户锁上一次升级所使用的许可升级包对应的使用期限,确定第一预设周期;基于所述第一预设周期,接收用户终端发送的用户锁的升级请求。
[0138] 本发明实施例所提供的用户锁的升级装置可执行本发明任意实施例一至实施例三所提供的用户锁的升级方法,具备执行方法相应的功能模块和有益效果。
[0139] 值得注意的是,本发明实施例的用户锁的升级装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;
另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0140] 实施例六
[0141] 图9为本发明实施例六提供的用户锁的升级装置的结构示意图,该装置设置于用户终端中,如图9所示,该装置包括:收发模块41和用户锁升级模块42。
[0142] 其中,收发模块41,用于向服务器发送用户锁的升级请求;以及,接收所述服务器响应所述升级请求而发送的至少一个与所述用户锁对应的许可升级包;其中,所述至少一
个许可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;所述控制锁与所述服
务器物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块;
[0143] 用户锁升级模块42,用于基于至少一个许可升级包,对所述用户锁进行升级。
[0144] 本发明实施例所提供的用户锁的升级装置可执行本发明任意实施例四所提供的用户锁的升级方法,具备执行方法相应的功能模块和有益效果。
[0145] 值得注意的是,本发明实施例的用户锁的升级装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;
另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0146] 实施例七
[0147] 图10为本发明实施例七提供的用户锁的升级系统的结构示意图,如图10所示,该系统包括:用户终端51、服务器52和控制锁53。
[0148] 其中,服务器52,用于接收用户终端51发送的用户锁的升级请求,并基于所述升级请求,将所述用户锁对应的至少一个许可升级包发送至用户终端51,其中,所述至少一个许
可升级包由所述服务器调用与所述用户锁对应的控制锁而生成;所述控制锁与所述服务器
物理连接,或者,所述控制锁为集成于所述服务器中的控制锁模块;
[0149] 当控制锁53置于服务器52中时(如图10中的(a)图),控制锁53用于基于接收的所述许可签发请求,生成与所述用户锁对应的至少一个所述许可升级包;
[0150] 当控制锁53独立于服务器52设置时(如图10中的(b)图),控制锁53与服务器52物理连接,服务器52用于接收所述许可签发请求,并将所述许可签发请求发送至控制锁53;控
制锁53基于接收的所述许可签发请求,生成与所述用户锁对应的至少一个所述许可升级
包,并将至少一个所述许可升级包发送至服务器52。
[0151] 用户终端51,与服务器52通信连接,基于接收的至少一个所述许可升级包,对所述用户锁进行升级。
[0152] 在上述实施例的基础上,该系统还包括:与服务器52通信连接的开发商终端54。
[0153] 开发商终端54,用于向服务器52发送所述用户锁的许可签发请求;
[0154] 服务器52,还用于基于接收的所述许可签发请求,调用与所述用户锁对应的控制锁53,生成与所述用户锁对应的至少一个所述许可升级包。
[0155] 本发明实施例所提供的用户锁的升级系统可执行本发明任意实施例所提供的用户锁的升级方法,具备执行方法相应的功能模块和有益效果。
[0156] 实施例八
[0157] 图11为本发明实施例八提供的一种电子设备的结构示意图,如图11所示,该电子设备包括处理器70、存储器71、输入装置72和输出装置73;电子设备中处理器70的数量可以
是一个或多个,图11中以一个处理器70为例;电子设备中的处理器70、存储器71、输入装置
72和输出装置73可以通过总线或其他方式连接,图11中以通过总线连接为例。
[0158] 存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的用户锁的升级方法对应的程序指令/模块(例如,升级请
求接收模块31和许可升级包发送模块32,和/或,收发模块41和用户锁升级模块)。处理器70
通过运行存储在存储器71中的软件程序、指令以及模块,从而执行电子设备的各种功能应
用以及数据处理,即实现上述的用户锁的升级方法。
[0159] 存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此
外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁
盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步
包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。
上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0160] 输入装置72可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
[0161] 实施例九
[0162] 本发明实施例九还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种用户锁的升级方法。
[0163] 当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的用户锁的
升级方法中的相关操作。
[0164] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更
佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质
中,如计算机的软盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random 
Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机电
子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0165] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、
重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行
了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还
可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。