识别码生成方法、系统、设备及存储介质与流程

文档序号:36323038发布日期:2023-12-09 03:59阅读:48来源:国知局
识别码生成方法与流程

本发明涉及云计算或大数据集群,尤其涉及一种识别码生成方法、系统、设备及存储介质。


背景技术:

1、近年来随着云计算、容器等理念的逐步落地和大力发展,基于k8s(kubernetes)的交付管理平台越来越多,对于私有化交付场景,为了保护交付管理平台本身不被任意复制传播使用,需要通过导入离线授权码后才能使用。离线授权码除了包含必要的时间信息,认证信息,和一些业务约束信息之外,还需要一个重要的信息,就是授权的环境信息,此环境信息应保证具有唯一特性,在不同的机器上,包括物理机或者虚拟机,生成的环境信息是不同的对于交付管理平台,通常针对现场运行的机器特征信息,通过特定算法生成唯一码(标识码)来确保唯一性。

2、在相关技术中,如何保障基于k8s部署环境生成标识码具有唯一性,不可复制性,不可篡改性是保证私有化部署的交付管理平台不被任意复制后使用相同的离线授权来进行使用的关键点。然而,传统的生成唯一标识码的方式中,通常是借助于k8s集群节点机器的mac地址,由于mac地址在操作系统层面是可修改的,尤其对于虚拟化环境来说,mac地址完全可以被克隆,因此,基于机器mac地址生成的标识码,整体环境容易被复制,不具有唯一性特点。因此,如何保证基于环境信息生成的标识码不易被复制是一个迫切需要解决的技术问题。


技术实现思路

1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

2、鉴于以上所述现有技术的缺点,本发明公开了一种识别码生成方法、系统、设备及存储介质,以克服基于k8s部署环境信息生成的标识码容易被复制,不具有唯一性的问题。

3、本发明提供了一种识别码生成方法,包括:读取k8s集群内各节点的硬件配置信息以及所述k8s集群的部署信息,所述硬件配置信息包括smbios信息;对各所述节点部署节点服务,根据各所述节点的所述硬件配置信息以及所述部署信息确定每个所述节点的编码信息,并形成节点信息列表;对所述k8s集群部署聚合服务,确定当前所述聚合服务所部署的第一命名空间与运行账号所对应的第一标识信息,所述第一标识信息具有唯一性,先对所述节点信息列表、所述第一命名空间与所述第一标识信息进行字符串拼接,再计算字符串的第一哈希值,将所述第一哈希值作为k8s集群唯一识别码,予以缓存并输出。

4、可选地,对各所述节点部署节点服务,所述根据各所述节点的所述硬件配置信息以及所述部署信息确定每个所述节点的编码信息,包括:通过对各所述节点进行亲和性配置,将所述节点服务部署在k8s集群的各个节点;利用所述节点服务赋予各所述节点的访问权限,查询每个所述节点的所述smbios信息,获得当前系统的第二标识信息,通过信息摘要算法计算所述第二标识信息的第二哈希值确定第三标识信息,所述第三标识信息具有唯一性;查询所述部署信息,确定当前所述节点服务所属的第二命名空间与运行账号所对应的第四标识信息;将所述第三标识信息、所述第四标识信息以及第二命名空间进行字符串拼接组合,再通过信息摘要算法进行计算确定第三哈希值,将所述第三哈希值确定每个所述节点的编码信息。

5、可选地,所述将所述第一哈希值作为k8s集群唯一识别码之后,还包括:将所述唯一识别码进行编码,转换成base64编码的预设字符串;对所述预设字符串进行对称加密,获得加密的配置信息;将所述配置信息作为容器的环境变量保存至容器集群内的预设文件或预设目录。

6、可选地,所述将所述配置信息作为容器的环境变量保存至容器集群内的预设文件或预设目录之后,还包括:读取所述预设文件或所述预设目录内所述配置信息;对所述配置信息进行解码,确定所述配置信息内的识别码;将所述配置信息内所述识别码与所述唯一识别码进行比较;若所述配置信息内所述识别码与所述唯一识别码存在交集,则确定系统环境在预设容忍范围内未变化,保持使用所述唯一识别码;若所述配置信息内所述识别码与所述唯一识别码不存在交集,则确定系统环境发生变化,重新生成新的唯一识别码。

7、可选地,所述予以缓存并输出,包括:通过聚合服务将所述唯一识别码缓存到程序内部通过加密接口对外输出所述唯一识别码供所述k8s集群使用。

8、可选地,所述识别码生成方法还包括:将所述唯一识别码作为交付管理平台的授权码,输入所述交付管理平台中;对所述授权码的合法性进行校验、以及将当前环境的唯一识别码与当前环境实时获取的授权码进行比较,校验所述授权码的一致性;若所述授权码满足合法性与一致性,则维持所述授权码有效;若所述授权码不满足合法性与一致性中的至少之一,则确定所述授权码无效,并提示输入新的授权码。

9、可选地,待所述唯一识别码校验通过后,所述识别码生成方法还包括:读取k8s集群内pod资源的使用最大值与平均值,将当前pod资源配置值的中位数作为预设阈值;若当前所述pod资源的使用最大值与平均值大于预设阈值,则增加资源优化力度,直至趋于预设阈值为止;若当前所述pod资源的使用最大值与平均值小于预设阈值,则减小资源优化力度,直至趋于预设阈值为止;若当前所述pod资源的使用最大值与平均值小于预设阈值,则保持不变。

10、本发明提供了一种识别码生成系统,包括:信息读取模块,用于读取k8s集群内各节点的硬件配置信息以及所述k8s集群的部署信息,所述硬件配置信息包括smbios信息;节点服务模块,用于对各所述节点部署节点服务,根据各所述节点的所述硬件配置信息以及所述部署信息确定每个所述节点的编码信息,并形成节点信息列表;聚合服务模块,用于对所述k8s集群部署聚合服务,确定当前所述聚合服务所部署的第一命名空间与运行账号所对应的第一标识信息,所述第一标识信息具有唯一性,识别码生成模块,用于先对所述节点信息列表、所述第一命名空间与所述第一标识信息进行字符串拼接,再计算字符串的第一哈希值,将所述第一哈希值作为k8s集群唯一识别码,予以缓存并输出。

11、本发明提供了一种电子设备,包括:处理器及存储器;所述存储器用于存储计算机程序所述处理器用于执行所述存储器存储的计算机程序,以使所述电子设备执行上述的方法。

12、本发明提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序用于使计算机执行上述的方法。

13、本发明的有益效果:

14、本发明通过读取k8s集群内各节点的smbios信息以及所述k8s集群的部署信息,对各所述节点部署节点服务,根据各所述节点的所述smbios信息以及所述部署信息确定每个所述节点的编码信息,并形成节点信息列表;确定当前所述聚合服务所部署的第一命名空间与运行账号所对应的第一标识信息,先对所述节点信息列表、所述第一命名空间与所述第一标识信息进行字符串拼接,再计算字符串的第一哈希值,将所述第一哈希值作为k8s集群唯一识别码。本发明通过使用smbios信息作为基础环境信息,使得唯一识别码难以通过复制虚拟机或者通过操作系统命令行方式被复制,大大提高了安全性;同时,结合k8s集群特点,通过组合数据来生成唯一识别码,也加强了整体不可复制性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1