本发明涉及计算机软件,尤其涉及一种软件许可证生成、验证方法、装置、设备、介质和产品。
背景技术:
1、软件许可证用于限制用户使用软件的功能和时间,方便实现软件商业化。现有的软件许可证通常在生成时需要用户提供软件使用机器的硬件信息,比如网卡的mac地址等,以限定软件只在指定机器上运行,防止软件许可证被随意复制使用。软件许可证通常固定存储在某个位置,当使用相应功能时进行检验。
2、传统单机硬件环境比较稳定,基于硬件信息的软件许可证验证技术在传统的单机应用上可以起到很好的效果。然而,集群管理应用能够管理硬件资源,需要支持用户频繁修改硬件环境。同时,用户可能使用虚拟化技术对硬件进行虚拟化,在这种情况下软件无法获得真实可靠的硬件信息,上述验证技术无法在集群上实现软件许可证验证。
技术实现思路
1、本发明提供一种软件许可证生成、验证方法、装置、设备、介质和产品,用以解决基于硬件信息的软件许可证验证技术无法在集群上实现软件许可证验证的缺陷。
2、本发明提供一种软件许可证生成方法,包括如下步骤:获取目标集群的资源对象的唯一标识符,所述资源对象用于存储所述目标集群的敏感信息;根据所述唯一标识符和预设的加密算法,生成所述目标集群的软件许可证。
3、作为一个实施例,在所述根据所述唯一标识符和预设的加密算法,生成所述目标集群的软件许可证之前,还包括:至少获取所述目标集群的集群id、许可有效时间、所需功能和硬件信息;对应的,所述根据所述唯一标识符和预设的加密算法,生成所述目标集群的软件许可证,包括:根据所述唯一标识符、所述许可有效时间、所述集群id、所述所需功能和所述硬件信息,构建软件许可证结构体;根据所述集群id生成所述加密算法的密钥,根据所述密钥对所述软件许可证结构体进行加密,生成所述目标集群的软件许可证。
4、作为一个实施例,所述目标集群包括至少一组织,所述硬件信息包括各组织的内存信息、cpu信息、gpu信息、存储空间信息和插件信息中的一个或多个。
5、本发明还提供一种软件许可证验证方法,包括如下步骤:获取用户输入的软件许可证;基于预设的解密算法对所述软件许可证进行解密,若解密成功,至少从所述软件许可证中得到第一唯一标识符;获取当前集群的资源对象的第二唯一标识符,所述资源对象用于存储所述当前集群的敏感信息;对比所述第一唯一标识符和所述第二唯一标识符,若对比一致,判定验证成功。
6、作为一个实施例,所述获取当前集群的资源对象的第二唯一标识符,包括:判断预设缓存中是否存在所述当前集群对应的所述第二唯一标识符,若是,从预设缓存中获取所述第二唯一标识符,否则,在所述当前集群的控制节点中查找所述第二唯一标识符。
7、作为一个实施例,在所述对比所述第一唯一标识符和所述第二唯一标识符,若对比一致,判定验证成功之后,还包括:根据所述软件许可证创建至少一组织,基于预设的定时任务对各组织的使用期限进行计时。
8、作为一个实施例,在所述根据所述软件许可证创建至少一组织之后,还包括:响应于用户需求,为各组织的用户分配资源;根据用户分配的资源,创建与用户及资源对应的任务。
9、本发明还提供一种软件许可证生成装置,包括如下模块:第一获取模块,用于获取目标集群的资源对象的唯一标识符,所述资源对象用于存储所述目标集群的敏感信息;生成模块,用于根据所述唯一标识符和预设的加密算法,生成所述目标集群的软件许可证。
10、本发明还提供一种软件许可证验证装置,包括如下模块:第二获取模块,用于获取用户输入的软件许可证;解密模块,用于基于预设的解密算法对所述软件许可证进行解密,若解密成功,至少从所述软件许可证中得到第一唯一标识符;第三获取模块,用于获取当前集群的资源对象的第二唯一标识符,所述资源对象用于存储所述当前集群的敏感信息;验证模块,用于对比所述第一唯一标识符和所述第二唯一标识符,若对比一致,判定验证成功。
11、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述软件许可证生成方法或所述软件许可证验证方法。
12、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述软件许可证生成方法或所述软件许可证验证方法。
13、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述软件许可证生成方法或所述软件许可证验证方法。
14、本发明提供的软件许可证生成、验证方法、装置、设备、介质和产品,根据唯一标识符进行软件许可证生成和验证,与硬件解耦,用户可以随意更换硬件基础设施而不需要频繁地更换软件许可证,可以在集群上实现软件许可证验证。
1.一种软件许可证生成方法,其特征在于,包括:
2.根据权利要求1所述的软件许可证生成方法,其特征在于,在所述根据所述唯一标识符和预设的加密算法,生成所述目标集群的软件许可证之前,还包括:
3.根据权利要求2所述的软件许可证生成方法,其特征在于,所述目标集群包括至少一组织,所述硬件信息包括各组织的内存信息、cpu信息、gpu信息、存储空间信息和插件信息中的一个或多个。
4.一种软件许可证验证方法,其特征在于,包括:
5.根据权利要求4所述的软件许可证验证方法,其特征在于,所述获取当前集群的资源对象的第二唯一标识符,包括:
6.根据权利要求4或5所述的软件许可证验证方法,其特征在于,在所述对比所述第一唯一标识符和所述第二唯一标识符,若对比一致,判定验证成功之后,还包括:
7.根据权利要求6所述的软件许可证验证方法,其特征在于,在所述根据所述软件许可证创建至少一组织之后,还包括:
8.一种软件许可证生成装置,其特征在于,包括:
9.一种软件许可证验证装置,其特征在于,包括:
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述软件许可证生成方法以及权利要求4至7任一项所述软件许可证验证方法。
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述软件许可证生成方法以及权利要求4至7任一项所述软件许可证验证方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述软件许可证生成方法以及权利要求4至7任一项所述软件许可证验证方法。
