CN115935299A - 授权控制方法、装置、计算机设备和存储介质 - Google Patents
授权控制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115935299A CN115935299A CN202110745142.0A CN202110745142A CN115935299A CN 115935299 A CN115935299 A CN 115935299A CN 202110745142 A CN202110745142 A CN 202110745142A CN 115935299 A CN115935299 A CN 115935299A
- Authority
- CN
- China
- Prior art keywords
- code
- cluster
- identification code
- machine
- binary
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请涉及一种授权控制方法、装置、计算机设备和存储介质。所述方法包括:获取分布式***的集群标识码;根据二进制按序编码逆处理规则和集群标识码进行解码处理,得到集群标识码包含的机器码;集群标识码由机器码经过二进制按序混合编码处理得到;获取分布式***中当前机器码,验证当前机器码与集群标识码包含的机器码是否存在包含关系;在存在包含关系的情况下,维持分布式***的授权。采用本方法能够提高授权控制的稳定性。
Description
技术领域
本申请涉及计算机通信技术领域,特别是涉及一种授权控制方法、装置、计算机设备和存储介质。
背景技术
分布式***中存在对于软件***进行授权管理的问题,无授权的软件***只能使用部分功能,只有经过授权后的软件***才可以使用全部的功能。然而要实现分布式***对软件***的授权控制,普遍做法是根据分布式***的集群中全部的服务器的硬件信息,对集群进行软件***的授权控制。
但是,在集群中,若某台服务器故障或其他情况导致的集群中减少一台服务器,对应的集群中包含的整体硬件信息就会发生变化,进而绑定全部的服务器节点的硬件信息进行的授权无效,因此,每当集群中的服务器台数发生变化,都需要重新进行授权才可以恢复对于软件***全部功能的使用,这对于集群的使用带来了极大的不便。
发明内容
基于此,有必要针对上述技术问题,提供一种授权控制方法、装置、计算机设备和存储介质。
一种授权控制方法,所述方法包括:
获取分布式***的集群标识码;所述集群标识码由集群中主节点的机器码经过二进制按序混合编码处理得到;
基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码;
获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系;
在存在所述包含关系的情况下,维持所述分布式***的授权。
在其中一个实施例中,所述方法还包括:
获取分布式***的集群内主节点的硬件信息;
根据每一所述主节点的硬件信息以及预设的二进制按位混合编码规则,生成每一所述主节点对应的机器码;
获取至少两个主节点的机器码,根据所述预设的二进制按序混合编码规则,生成集群标识码。
在其中一个实施例中,每一所述主节点的硬件信息至少包括中央处理器标识信息、主板标识信息和消息认证码。
在其中一个实施例中,所述根据每一所述主节点的硬件信息以及预设的二进制按位混合编码规则,生成每一所述主节点对应的机器码,包括:
根据预设的加密算法对每一主节点的各硬件信息进行加密,得到各硬件信息对应的加密值;
将所述加密值进行二进制按位混合编码处理,生成所述各硬件信息对应的混合编码,提取所述混合编码预设比特位的编码数据,作为每一所述主节点对应的机器码。
在其中一个实施例中,所述根据预设的加密算法对每一主节点的各硬件信息进行加密,得到各硬件信息对应的加密值,包括:
根据安全哈希算法对每一所述主节点的各硬件信息进行加密处理,得到长度一致的初始加密值;
根据高级加密标准算法,对各硬件信息对应的所述初始加密值进行编码加密,提取编码加密后的预设字节长度的加密值,作为所述各硬件信息对应的加密值。
在其中一个实施例中,所述获取至少两个主节点的机器码,根据所述预设的二进制按序混合编码规则,生成集群标识码,包括:
获取所述集群中至少两个主节点的机器码,并确定获取的所述机器码的数目对应的二进制数目值;
根据预设机器码排列顺序以及所述预设的二进制按序混合编码规则,将所述至少两个主节点的机器码进行按序编码,得到二进制混合编码值;
根据所述二进制数目值和所述二进制混合编码值以及预设编码规则,生成集群标识码。
在其中一个实施例中,所述基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码,包括:
对所述集群标识码进行解密,去掉解密序列头部的第一预设数目比特位数据,得到二进制按序编码序列;
识别并读取所述二进制按序编码序列中目标比特位的数据,得到所述集群标识码包含的机器码数目;
读取所述目标比特位之后相邻的第二预设数目比特位的二进制按序编码序列,根据二进制按序编码逆处理规则对所述第二预设数目比特位的二进制按序编码序列进行逆序处理,得到所述集群标识码包含的机器码。
在其中一个实施例中,所述获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系,包括:
获取所述分布式***的集群中各主节点的当前机器码;
统计所述当前机器码数量,并在每一所述当前机器码中提取得到每一所述当前机器码对应的验证码;
若所述集群标识码包含的机器码数量大于或等于所述验证码数量且每一所述验证码都包含在各所述机器码中,则判定所述集群标识码包含的机器码与所述当前机器码存在包含关系;
若所述集群标识码包含的机器码数据量小于所述当前机器码数量和/或存在所述验证码不包含在所述机器码中,则判定所述集群标识码包含的机器码与所述当前机器码存在不包含关系。
一种授权控制装置,所述装置包括:
获取模块,用于获取分布式***的集群标识码;所述集群标识码由集群中主节点的机器码经过二进制按序混合编码处理得到;
解码模块,用于基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码;
验证模块,用于获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系;
授权模块,用于在存在所述包含关系的情况下,维持所述分布式***的授权。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取分布式***的集群标识码;所述集群标识码由集群中主节点的机器码经过二进制按序混合编码处理得到;
基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码;
获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系;
在存在所述包含关系的情况下,维持所述分布式***的授权。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取分布式***的集群标识码;所述集群标识码由集群中主节点的机器码经过二进制按序混合编码处理得到;
基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码;
获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系;
在存在所述包含关系的情况下,维持所述分布式***的授权。
上述授权控制方法、装置、计算机设备和存储介质,获取分布式***的集群标识码;基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码;所述集群标识码由所述机器码经过二进制按序混合编码处理得到;获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系;在存在所述包含关系的情况下,维持所述分布式***的授权。采用本方法,由集群中主节点的机器码通过二进制按序混合编码处理得到的集群标识码,可以表征集群的整体授权情况,不受集群中服务器数目的影响,对于集群中增加了服务器数目,依旧可以维持授权状态,提高了分布式***的授权控制稳定性。
附图说明
图1为一个实施例中授权控制方法的应用环境图;
图2为一个实施例中授权控制方法的流程示意图;
图3为一个实施例中生成身份认证标识码步骤的流程示意图;
图4为一个实施例中生成机器码步骤的流程示意图;
图5为一个实施例中机器码生成过程的示意图;
图6为一个实施例中硬件信息加密步骤的流程示意图;
图7为一个实施例中生成集群标识码步骤的流程示意图;
图8为一个实施例中机器码生成过程和集群标识码生成过程的示意图;
图9为一个实施例中集群标识码解码验证步骤的流程示意图;
图10为一个实施例中集群标识码解码过程的示意图;
图11为一个实施例中授权验证步骤的流程示意图;
图12为一个实施例中授权控制装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的授权控制方法,可以应用于如图1所示的分布式***100中,在分布式***100中包含至少一个分布式集群,每一分布式集群中包含多个服务器,多个服务器间通过网络进行通信,同时,多个服务器中又存在作为集群主节点(master节点)的主节点服务器,任意一个主节点服务器均可以应用本申请的授权控制方法,例如,服务器102、服务器104和服务器106作为一个集群中的三个主节点服务器,任一主节点服务器可以获取分布式***的集群标识码。进而,根据二进制按序编码逆处理规则和集群标识码进行解码处理,得到集群标识码包含的机器码。然后,该主节点服务器获取分布式***中集群对应的当前机器码,当前机器码与集群标识码包含的机器码是否存在包含关系。在存在包含关系的情况下,维持分布式***的授权。其中,主节点服务器获取到的待授权验证的集群标识码是由集群中主节点的机器码经过二进制按序混合编码处理得到。
可选的,对于分布式***中对集群的授权控制方法,也可以分离部署,即采用除服务器102、服务器104和服务器106之外的服务器,执行集群的授权控制方法,而主节点服务器102、服务器104和服务器106仅提供可以获取其硬件信息的接口,因此,本申请对于执行本方法的服务器不做限定。
在一个实施例中,如图2所示,提供了一种授权控制方法,以该方法应用于图1中的任意一个主节点服务器为例进行说明,包括以下步骤:
步骤201,获取分布式***的集群标识码。
其中,集群标识码(deploy id,(identity))由集群中主节点的机器码(machineid)经过二进制按序混合编码处理得到。该集群标识码具体为一个二进制序列,其长度可以为146bits(比特位)。机器码由集群中主节点的硬件信息经过二进制按位混合编码处理得到,机器码也为一个二进制序列,其长度可以为144bits(比特位)。
二进制按序混合编码规则为:针对目标产出的数据结构对应的各bit(比特)位的值,基于目标产出对应的组成信息的排列顺序,通过将每一组成信息中的每一bit的值填充至所述目标产出的数据结构中得到。例如:假设组成信息2个,分别为组成信息A和组成信息B(组成信息顺序为先A后B),目标产出的第1bit由组成信息A的第1bit填充,目标产出的第2bit由组成信息B的第1bit填充,目标产出的第3bit由组成信息A的第2bit填充,目标产出的第4bit由组成信息B的第2bit填充,直至目标产出的最后bit位由组成信息B的最后bit填充。
二进制按位混合编码规则为:目标产出的bit位的值由组成信息按位轮询填充。例如:组成信息有3个,分别为组成信息A、组成信息B和组成信息C,目标产出的第1bit由组成信息A的第1bit填充,目标产出的第2bit由组成信息B的第2bit填充,目标产出的第3bit由组成信息C的第3bit填充,目标产出的第4bit由组成信息A的第4bit填充。
具体地,在一个分布式集群中,集群的集群标识码存储在集群的主节点服务器的存储器中,任意一台主节点服务器调用service服务可以获取到分布式***中用于标识集群的集群标识码。
步骤202基于二进制按序编码逆处理规则和集群标识码进行解码处理,得到集群标识码包含的机器码;
在实施中,由于集群标识码由主节点机器码经过二进制按序编码得到,因此,服务器基于二进制按序编码逆处理规则和集群标识码,进行解密和解码等编码序列解码处理,可以还原得到生成集群标识码的机器码。
其中,解码处理中得到的机器码并非是完整的机器码,而是生成集群标识码对应的主节点的机器码的前缀编码序列,但是由于本申请机器码特有的编码规则,机器码可以唯一表征一台主节点服务器,所以解码得到的前缀编码序列也可以唯一表征为主节点的机器码。
步骤203,获取分布式***中当前机器码,验证当前机器码与集群标识码包含的机器码是否存在包含关系。
在实施中,对分布式***当前集群中存在的全部的主节点可以重新进行机器码的计算,得到每一主节点自身对应的机器码,作为集群中的当前机器码,然后,任一服务器通过调用headless-service(无头服务)获取该分布式***中各主节点(master节点)对应的当前机器码,验证当前机器码与集群标识码包含的机器码是否存在包含关系,以进行授权验证。其中,包含关系需要同时满足两个包含条件,数量包含关系和数据值包含关系,具体地:
1、当前机器码的数量小于等于集群标识码包含的机器码数据量;
2、集群标识码解码出的机器码的二进制数据编码包含集群当前机器码的二进制数据编码序列。
步骤204,在存在包含关系的情况下,维持分布式***的授权。
在实施中,若服务器获取到的分布式集群的当前机器码与解码集群标识码得到的机器码存在包含关系,则服务器判定维持当前分布式集群的授权状态,该分布式集群中各服务器具备该授权功能对应的软件***的使用权限。
上述授权控制方法中,获取分布式***的集群标识码;基于二进制按序编码逆处理规则和集群标识码进行解码处理,得到集群标识码包含的机器码;集群标识码由机器码经过二进制按序混合编码处理得到;获取分布式***中当前机器码,验证当前机器码与集群标识码包含的机器码是否存在包含关系;在存在包含关系的情况下,维持分布式***的授权。采用本方法,由集群中主节点的机器码通过二进制按序混合编码处理得到的集群标识码,可以表征集群的整体授权,同时,不受集群中服务器数目的影响,对于集群中增加了服务器数目,依旧可以维持授权状态,提高了分布式***的授权控制稳定性。
在一个实施例中,如图3所示,授权控制过程中不仅包括授权验证过程,还包括授权身份的生成过程,即生成可用于唯一表征集群身份的集群标识码,因此,在进行授权验证之前,对于本申请集群标识码的生成方法具体包括以下步骤:
步骤301,获取分布式***的集群内主节点的硬件信息。
在实施中,分布式集群中各主节点服务器均同步有机器码的生成逻辑,因此,各主节点服务器可以通过预置接口获取自身硬件设备信息,以进行自身机器码的计算。其中,每一主节点服务器至少包括可以唯一表征该主节点服务器的三个硬件标识信息。
步骤302,根据每一主节点的硬件信息以及预设的二进制按位混合编码规则,生成每一主节点对应的机器码。
在实施中,服务器根据获取到的自身的硬件信息以及预设的二进制按位混合编码规则,生成包含各硬件信息的主节点对应的机器码。
其中,该机器码的格式满足下述正则表达式:([1-9a-km-zA-HJ-NP-Z]{5}-){4}[1-9a-km-zA-HJ-NP-Z]{5},[1-9]表示该机器码中的数据可以为1至9的数字,[a-km-zA-HJ-NP-Z]表示该机器码中的数据也可以为a至k,m至z,A至H,J至N,P至Z中的字母(即遵循在大小写字母表中剔除了小写字母l、大写字母I和大写字母O的BASE58编码规则),{4}表示数据编码序列中的间隔为4,第一个{5}表示数据序列中每一个数据段为5位,第二个{5}表示该数据编码序列中包含5个数据段,具体的,每一主节点对应的机器码的编码序列形如:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX,其中的X,即是满足上述数字和字母范围(即BASE58编码规则)的数据。
步骤303,获取至少两个主节点的机器码,根据预设的二进制按序混合编码规则,生成集群标识码。
在实施中,在分布式集群包含的任一主节点服务器中获取至少两个主节点的机器码,根据预设的二进制按序混合编码规则,生成集群标识码。其中,二进制按序混合编码规则需要基于预先规定的顺序排列集群中至少两个主节点的机器码,然后,针对每一个主节点的机器码,读取每一机器码的每一比特位的数据,将每次读取到的比特位的数据按顺序排位编码,生成集群标识码,用于唯一验证所处集群的授权状态。
可选的,在分布式集群中,对于被获取机器码的主节点服务器打上标签,用于标识集群标识码对应的机器码,进而,在进行集群标识码的授权验证时,获取带有标签的主节点服务器对应的机器码进行授权认证。
本实施例中,根据二进制按位混合编码规则对主节点服务器的各硬件信息进行处理,生成可以唯一表征该主节点的机器码,进而,由集群中至少两个主节点的机器码生成可以唯一表征该集群整体的集群标识码,机器码以及集群标识码实现了主节点以及集群的身份认证。
在一个实施例中,上述任意一个主节点服务器可以通过预设接口获取自身的硬件信息,硬件信息可以包括中央处理器标识信息、主板标识信息和消息认证码。具体的,每一主节点服务器获取到的硬件信息至少包括中央处理器标识信息(CPU ID)、主板标识信息(BOARD ID)和消息认证码(MAC,Message Authentication Code),在生成该主节点对应的机器码时,可以应用上述这三个硬件信息进行主节点机器码的生成。
在一个实施例中,如图4所示,步骤302中每一主节点根据各自的硬件信息,生成自身的机器码的具体处理过程包括:
步骤401,根据预设的加密算法对每一主节点的各硬件信息进行加密,得到各硬件信息对应的加密值。
在实施中,服务器根据预设的加密算法,对每一主节点获取的自身的各硬件信息进行加密,得到各硬件信息对应的加密后的编码加密值。
步骤402,将加密值进行二进制按位混合编码处理,生成各硬件信息对应的混合编码,并提取混合编码预设比特位的编码数据,作为每一主节点对应的机器码。
在实施中,服务器将各加密值进行二进制按位混合编码处理,生成主节点的各硬件信息对应的混合编码,具体地,二进制按位混合编码处理过程,如图5所示,硬件信息的加密值有3个,分别为CPU ID、BOARD ID和MAC经过加密处理得到的加密值,然后,将各硬件信息按照预设的排列顺序排列,即图5中顺序CPU ID、BOARD ID和MAC,对每一硬件信息进行按位提取,提取CPU ID加密值中的第1bit(比特位)填充至混合编码序列(目标产出)的第1bit(比特位),提取BOARD ID加密值中的第2bit填充至混合编码序列的第2bit,提取MAC加密值中的第3bit填充至混合编码序列的第3bit,得到由三个硬件信息的加密值混合编码的混合编码序列,服务器提取得到的该混合编码序列的前缀数据,即提取预设比特位(即前144bits)的编码数据,以此作为每一主节点对应的机器码。
在一个实施例中,如图6所示,步骤401中根据预设的加密算法对每一主节点的各硬件信息进行加密的具体处理过程包括:
步骤601,根据安全哈希算法对每一主节点的各硬件信息进行加密处理,得到长度一致的初始加密值。
在实施中,由于每一主节点服务器的硬件信息包含有多个,例如,CPU ID、MAC、BOARD ID,而不同硬件信息对应的字符串长度并不相同,因此,服务器预先根据安全哈希算法(SHA1,Secure Hash Algorithm)对获取到的自身的各硬件信息进行加密处理(SHA1加密),基于安全哈希算法特有加密性质,可以得到长度一致(均为160bits)的各硬件信息的加密值。
步骤602,根据高级加密标准算法,对各硬件信息对应的初始加密值进行编码加密,提取编码加密后的预设字节长度的加密值,作为各硬件信息对应的加密值。
在实施中,服务器根据高级加密标准(AES256,Advanced Encryption Standard),利用满足AES256标准的秘钥对由SHA1加密后的长度一致的各加密值进行进一步的编码加密,然后,提取AES256加密后的前144bits的加密数据,作为最终加密值,以确保最终的加密值生成的机器码的安全性。
其中,AES256加密算法中,256表示秘钥长度,本申请中的256秘钥是根据主节点的各硬件信息生成的专属秘钥,以专属秘钥进行数据加密,增强机器码安全性。具体地,AES256的秘钥生成过程包括两个步骤:步骤一,提取各硬件信息对应的字符串中的目标字段得到各硬件信息对应的目标字符串,将提取出的各目标字符串组成秘钥字符串,并对秘钥字符串进行SHA256加密,得到加密后的秘钥字符串。步骤二,对加密后的秘钥字符串再进行BASE58加密,提取BASE58加密后的加密值的前32bytes(字节)(即256bits)作为AES256的最终生成秘钥。
在一个实施例中,如图7所示,步骤303的具体处理过程如下所示:
步骤701,获取集群中至少两个主节点的机器码,并确定获取的机器码的数目对应的二进制数目值。
在实施中,分布式集群中各个主节点分别对应有唯一标识自身设备的机器码,服务器获取集群中至少两个主节点的机器码以及统计获取到的机器码的数目,进而将获取到的机器码数目数据(十进制数据)进行二进制格式转化,得到二进制数目值。例如,当获取到的主节点的机器码数目为2(十进制数据)时,将十进制数据进行二进制转化,得到对应的二进制数目值00000010。其中,二进制数目值的长度占据2bits(比特位)。
步骤702,根据预设机器码排列顺序以及预设的二进制按序混合编码规则,将至少两个主节点的机器码进行按序编码,得到二进制混合编码值。
在实施中,服务器对各主节点对应的加密处理后的机器码进行二进制格式转化,将转化为二进制的加密机器码以由小到大的字典序进行排列,得到各主节点机器码的排列顺序,根据确定出的各主节点机器码的排列顺序以及预设的二进制按序混合编码规则,将机器码进行按序编码,得到按序混合编码的编码序列,提取按序混合编码序列的前缀预设比特位数据(前144bits),得到对应各机器码的二进制混合编码值。
具体地,如图8所示,图8中上图:获取到的机器码的数目为3个的二进制按序混合编码的示意图,其中,3个主节点的机器码根据字典排序法进行由小到大顺序确定机器码排位顺序,字典排序法中由小到大的顺序即按位比对,二进制中0小于1,若序列中最先出现1的序列即为大,进而确定出3个机器码的大小顺序,(图7中机器码都显示为01011010仅为体现是二进制数据序列,并非表示各机器码均相同),进而3个主节点的机器码按照排位顺序依次读取机器码中每一比特位值进行二进制按序混合编码,得到由3个机器码对应的二进制混合编码序列。图8中下图为获取到的机器码的数目为2个的二进制按序混合编码的示意图,其中,2个主节点的机器码已经根据字典排序法进行由小到大排序,进而根据2个机器码的排位顺序以及二进制按序混合编码规则进行混合编码,其具体编码过程与上述3个机器码过程相同,本申请实施例不再赘述。
步骤703,根据二进制数目值和二进制混合编码值以及预设编码规则,生成集群标识码。
在实施中,服务器将二进制数目值(占2bits)作为头部,二进制混合编码值(占144bits)作为尾部,得到146bits的编码序列,对146bits的编码序列进行BASE58编码,同时进行编码序列的格式化,即对编码数据五个一组,加入“-”分隔符,生成集群标识码。
本实施例中,通过至少两个主节点的机器码以及二进制按序混合编码规则,生成可以保证整体集群的集群标识码,集群标识码生成过程包含对编码序列的加密以及混合编码确保集群码的复杂程度,保证集群标识码的安全性。
在一个实施例中,如图9所示,对于集群标识码进行授权验证需要对集群标识码进行解码处理,则步骤202的具体处理过程如下所示:
步骤901,对集群标识码进行解密,去掉解密序列头部的第一预设数目比特位数据,得到二进制按序编码序列。
在实施中,由于BASE58编码规则需要满足整字节(byte)规则,1byte=8bits因此,对于146bits的二进制按序编码序列,服务器会自动添加6位0bit,将其补全为152bits(即整字节19bytes)序列进行BASE58编码处理。因此,在服务器对分布式集群的集群标识码进行BASE58解密后,需要先去掉解密得到的数据序列的头部第一预设数目比特位(6比特位)的0bit数据,得到满足预设数目比特位(146bits)的二进制按序编码序列,也即对应各机器码的二进制按序编码序列。
步骤902,识别并读取二进制按序编码序列中目标比特位的数据,得到集群标识码包含的机器码数目。
在实施中,服务器识别并读取二进制按序编码序列中目标比特位(即前2bits)的数据,该目标比特位对应存储集群标识码中包含的机器码数据,因此可以解码得到集群标识码包含的机器码数目。如图10所示,在6位0bit之后,对应的2bits的数据及对应包含的机器码数目。
步骤903,读取目标比特位之后相邻的第二预设数目比特位的二进制按序编码序列,根据二进制按序编码逆处理规则对第二预设数目比特位的二进制按序编码序列进行逆序处理,得到集群标识码包含的机器码。
在实施中,服务器读取目标比特位之后相邻的第二预设数目比特位的二进制按序编码序列,如图10所示,在读取机器码数目的比特位之后,相邻的数据即为对应机器码的二进制按序编码序列,根据二进制按序编码逆处理规则对144位的二进制按序编码序列进行逆处理,还原得到集群标识码包含的机器码的前缀数据,由于该前缀数据也可以唯一对应一个机器码,因此,该机器码的前缀数据也称为机器码。
在一个实施例中,如图11所示,在进行授权验证时待验证的集群标识码需要满足预设的授权验证条件,则步骤203具体处理过程如下所示:
步骤1101,获取分布式***的集群中各主节点的当前机器码。
在实施中,服务器获取待授权验证的分布式***的集群中包含的主节点对应的当前机器码。具体地,由于在集群标识码生成时,生成集群标识码的机器码对应的主节点服务器均被打上标签,因此,在进行集群标识码的授权验证时,也获取带有标签的主节点服务器对应的当前机器码进行授权认证,以保持集群标识码对应的机器码的一致性。
步骤1102,统计当前机器码数量,并在每一当前机器码中提取得到每一当前机器码对应的验证码。
在实施中,由于集群标识码解编码得到的机器码并非是完整机器码,而仅仅是机器码的前缀数据,因此,服务器统计获取到的当前机器码数量,同时,还需要提取每一当前机器码中的预设比特位(与生成集群标识码的机器码位数相同)的前缀数据,得到每一当前机器码对应的可用于授权验证的验证码。
步骤1103,若集群标识码包含的机器码数量大于或等于验证码数量且每一验证码都包含在各机器码中,则判定集群标识码包含的机器码与验证码存在包含关系。
在实施中,若集群标识码包含的机器码数量大于或等于验证码数量,同时保证各当前机器码提取出的验证码在集群标识码包含的各机器码中都可以找到,则判定集群标识码包含的机器码与当前机器码(或验证码)存在包含关系。即满足数量包含关系和数据包含关系。
步骤1104,若集群标识码包含的机器码数据量小于验证码数量和/或存在验证码不包含在机器码中,则判定集群标识码包含的机器码与当前机器码存在不包含关系。
在实施中,对于包含关系中的两种包含条件,只满足其中之一的包含条件或者两个条件都不满足的情况下,则确定不存在包含关系,具体为满足集群标识码包含的机器码数据量小于当前机器码(也即验证码)数量,存在验证码不包含在机器码中这两个条件中的至少一个,则判定集群标识码解编码得到的机器码与当前机器码不存在包含关系。
当不存在包含关系时,可以确定获取到的当前机器码对应的所属集群并非授权验证的集群标识码对应的集群,因此,确定该集群标识码的授权验证不通过,进一步地,可以根据授权验证不通过,向用户反馈验证不通过的提示信息。
本实施例中,通过对分布式集群整体授权得到集群标识码,进而根据集群标识码包含的机器码与当前机器码间的包含关系进行集群授权验证,使得集群中即使减少用于生成集群标识码的主节点服务器,依旧可以维持该集群的授权,提高集群授权的稳定性。
应该理解的是,虽然图2至图4,图7,图9,图11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图4,图7,图9,图11中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种授权控制装置1200,包括:获取模块1210、解码模块1220、验证模块1230和授权模块1240,其中:
获取模块1210,用于获取分布式***的集群标识码;集群标识码由集群中主节点的机器码经过二进制按序混合编码处理得到;
解码模块1220,用于根据二进制按序编码逆处理规则和集群标识码进行解码处理,得到集群标识码包含的机器码;
验证模块1230,用于获取分布式***中当前机器码,验证当前机器码与集群标识码包含的机器码是否存在包含关系;
授权模块1240,用于在存在包含关系的情况下,维持分布式***的授权。
本实施例中,由集群中主节点的机器码通过二进制按序混合编码处理得到的集群标识码,可以表征集群的整体授权,同时,不受集群中服务器数目的影响,对于集群中增加了服务器数目,依旧可以维持授权状态,提高了分布式***的授权控制稳定性。
在一个实施例中,该装置1200还包括:
第一获取模块,用于获取分布式***的集群内主节点的硬件信息;
生成模块,用于根据每一主节点的硬件信息以及预设的二进制按位混合编码规则,生成每一主节点对应的机器码;
第二获取模块,用于获取至少两个主节点的机器码,根据预设的二进制按序混合编码规则,生成集群标识码。
在一个实施例中,每一主节点的硬件信息至少包括中央处理器标识信息、主板标识信息和消息认证码。
在一个实施例中,生成模块,用于根据预设的加密算法对每一主节点的各硬件信息进行加密,得到各硬件信息对应的加密值;
将加密值进行二进制按位混合编码处理,生成各硬件信息对应的混合编码,提取混合编码预设比特位的编码数据,作为每一主节点对应的机器码。
在一个实施例中,生成模块,还用于根据安全哈希算法对每一主节点的各硬件信息进行加密处理,得到长度一致的初始加密值;
根据高级加密标准算法,对各硬件信息对应的初始加密值进行编码加密,提取编码加密后的预设字节长度的加密值,作为各硬件信息对应的加密值。
在一个实施例中,第二获取模块,用于获取集群中至少两个主节点的机器码,并确定获取的机器码的数目对应的二进制数目值;
根据预设机器码排列顺序以及预设的二进制按序混合编码规则,将至少两个主节点的机器码进行按位编码,得到二进制混合编码值;
根据二进制数目值和二进制混合编码值以及预设编码规则,生成集群标识码。
在一个实施例中,解码模块1220,用于对集群标识码进行解密,去掉解密序列头部的第一预设数目比特位数据,得到二进制按序编码序列;
识别并读取二进制按序编码序列中目标比特位的数据,得到集群标识码包含的机器码数目;
读取目标比特位之后相邻的第二预设数目比特位的二进制按序编码序列,根据二进制按序编码逆处理规则对第二预设数目比特位的二进制按序编码序列进行逆序处理,得到集群标识码包含的机器码。
在一个实施例中,验证模块1230,用于获取分布式***的集群中各主节点的当前机器码;
统计当前机器码数量,并在每一当前机器码中提取得到每一当前机器码对应的验证码;
若集群标识码包含的机器码数量大于或等于验证码数量且每一验证码都包含在各机器码中,则判定集群标识码包含的机器码与当前机器码存在包含关系;
若集群标识码包含的机器码数据量小于验证码数量和/或存在验证码不包含在机器码中,则判定集群标识码包含的机器码与当前机器码存在不包含关系。
关于授权控制装置的具体限定可以参见上文中对于授权控制方法的限定,在此不再赘述。上述授权控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储集群标识码、机器码、加密秘钥等相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种授权控制方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种授权控制方法,其特征在于,所述方法包括:
获取分布式***的集群标识码;所述集群标识码由集群中主节点的机器码经过二进制按序混合编码处理得到;
基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码;
获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系;
在存在所述包含关系的情况下,维持所述分布式***的授权。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取分布式***的集群内主节点的硬件信息;
根据每一所述主节点的硬件信息以及预设的二进制按位混合编码规则,生成每一所述主节点对应的机器码;
获取至少两个主节点的机器码,根据所述预设的二进制按序混合编码规则,生成集群标识码。
3.根据权利要求2所述的方法,其特征在于,每一所述主节点的硬件信息至少包括中央处理器标识信息、主板标识信息和消息认证码。
4.根据权利要求2所述的方法,其特征在于,所述根据每一所述主节点的硬件信息以及预设的二进制按位混合编码规则,生成每一所述主节点对应的机器码,包括:
根据预设的加密算法对每一主节点的各硬件信息进行加密,得到各硬件信息对应的加密值;
将所述加密值进行二进制按位混合编码处理,生成所述各硬件信息对应的混合编码,提取所述混合编码预设比特位的编码数据,作为每一所述主节点对应的机器码。
5.根据权利要求4所述的方法,其特征在于,所述根据预设的加密算法对每一主节点的各硬件信息进行加密,得到各硬件信息对应的加密值,包括:
根据安全哈希算法对每一所述主节点的各硬件信息进行加密处理,得到长度一致的初始加密值;
根据高级加密标准算法,对各硬件信息对应的所述初始加密值进行编码加密,提取编码加密后的预设字节长度的加密值,作为所述各硬件信息对应的加密值。
6.根据权利要求2所述的方法,其特征在于,所述获取至少两个主节点的机器码,根据所述预设的二进制按序混合编码规则,生成集群标识码,包括:
获取所述集群中至少两个主节点的机器码,并确定获取的所述机器码的数目对应的二进制数目值;
根据预设机器码排列顺序以及所述预设的二进制按序混合编码规则,将所述至少两个主节点的机器码进行按序编码,得到二进制混合编码值;
根据所述二进制数目值和所述二进制混合编码值以及预设编码规则,生成集群标识码。
7.根据权利要求1所述的方法,其特征在于,所述基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码,包括:
对所述集群标识码进行解密,去掉解密序列头部的第一预设数目比特位数据,得到二进制按序编码序列;
识别并读取所述二进制按序编码序列中目标比特位的数据,得到所述集群标识码包含的机器码数目;
读取所述目标比特位之后相邻的第二预设数目比特位的二进制按序编码序列,根据二进制按序编码逆处理规则对所述第二预设数目比特位的二进制按序编码序列进行逆序处理,得到所述集群标识码包含的机器码。
8.根据权利要求1所述的方法,其特征在于,所述获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系,包括:
获取所述分布式***的集群中各主节点的当前机器码;
统计所述当前机器码数量,并在每一所述当前机器码中提取得到每一所述当前机器码对应的验证码;
若所述集群标识码包含的机器码数量大于或等于所述验证码数量且每一所述验证码都包含在各所述机器码中,则判定所述集群标识码包含的机器码与所述当前机器码存在包含关系;
若所述集群标识码包含的机器码数据量小于所述验证码数量和/或存在所述验证码不包含在所述机器码中,则判定所述集群标识码包含的机器码与所述当前机器码存在不包含关系。
9.一种授权控制装置,其特征在于,所述装置包括:
获取模块,用于获取分布式***的集群标识码;所述集群标识码由集群中主节点的机器码经过二进制按序混合编码处理得到;
解码模块,用于基于二进制按序编码逆处理规则和所述集群标识码进行解码处理,得到集群标识码包含的机器码;
验证模块,用于获取所述分布式***中当前机器码,验证所述当前机器码与所述集群标识码包含的机器码是否存在包含关系;
授权模块,用于在存在所述包含关系的情况下,维持所述分布式***的授权。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745142.0A CN115935299A (zh) | 2021-06-30 | 2021-06-30 | 授权控制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745142.0A CN115935299A (zh) | 2021-06-30 | 2021-06-30 | 授权控制方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115935299A true CN115935299A (zh) | 2023-04-07 |
Family
ID=86696391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110745142.0A Pending CN115935299A (zh) | 2021-06-30 | 2021-06-30 | 授权控制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115935299A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440190A (zh) * | 2023-11-23 | 2024-01-23 | 北京视睿讯科技有限公司 | 一种分布式视频同步方法、***、设备和介质 |
-
2021
- 2021-06-30 CN CN202110745142.0A patent/CN115935299A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440190A (zh) * | 2023-11-23 | 2024-01-23 | 北京视睿讯科技有限公司 | 一种分布式视频同步方法、***、设备和介质 |
CN117440190B (zh) * | 2023-11-23 | 2024-06-11 | 北京视睿讯科技有限公司 | 一种分布式视频同步方法、***、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324143B (zh) | 数据传输方法、电子设备及存储介质 | |
US8284933B2 (en) | Encrypting variable-length passwords to yield fixed-length encrypted passwords | |
CN105760764B (zh) | 一种嵌入式存储设备文件的加解密方法、装置及终端 | |
US9537657B1 (en) | Multipart authenticated encryption | |
US8433983B2 (en) | Secure protection of biometric templates | |
CN106610995B (zh) | 一种创建密文索引的方法、装置及*** | |
CN108173640B (zh) | 一种高安全性的字符串对称加密和解密方法 | |
CN106612172A (zh) | 云存储中一种可验证还原数据真实性的数据篡改恢复算法 | |
CN108647262B (zh) | 一种图片管理方法、装置、计算机设备及存储介质 | |
KR101989813B1 (ko) | 특정 포맷을 가지는 대체 데이터의 생성 및 검증 | |
US11695740B2 (en) | Anonymization method and apparatus, device, and storage medium | |
CN112469036A (zh) | 一种消息加解密方法、装置、移动终端和存储介质 | |
CN112437060B (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN113449338A (zh) | 基于区块链的信息加密存储方法及*** | |
CN117640256B (zh) | 一种无线网卡的数据加密方法、推荐装置和存储介质 | |
JP6040780B2 (ja) | 暗号処理装置、方法およびプログラム | |
CN105718978B (zh) | Qr码的生成方法、装置及解码方法、装置 | |
CN115935299A (zh) | 授权控制方法、装置、计算机设备和存储介质 | |
CN116208420B (zh) | 一种监测信息安全传输方法、***、设备及存储介质 | |
CN115834163B (zh) | 加密数据的秘钥生成方法、装置、设备及存储介质 | |
CN114637985A (zh) | 一种基于多环境参数的Android应用登录伪造识别方法 | |
CN109257341B (zh) | 一种区块链地址的管理方法和设备 | |
CN116781265A (zh) | 一种数据加密的方法和装置 | |
CN111859408A (zh) | 文件加密、解密方法及装置、电子设备、可读存储介质 | |
CN111309987A (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 |