本发明涉及网络环境下的统一资源访问控制,尤其涉及一种基于多维属性的主机标识方法、系统、设备及介质。
背景技术:
1、随着计算机技术发展和我们国产化发展的需要,主机设备的形态越来越多样,包括传统的不同厂商生产的物理主机,以及各种类型的虚拟主机;主机运行环境越来越复杂,常见的包括windows环境和linux环境等,其中windows环境包括多个不同版本,linux环境不仅包括多种发行版,各发行版还包括多个版本;主机适用场景越来越广,包括网站、多媒体、数据库、服务器等。因此,迫切需要一种统一的方法来对主机进行唯一标识。
2、当前应用于标识主机的方法主要有基于网卡mac地址的方法,基于cpu id的方法,基于硬盘序列号的方法,基于windows产品id的方法,基于machineguid的方法,基于主板uuid的方法,基于bios序列号的方法,基于uuid的方法等,其中:
3、(1)基于网卡mac地址的方法,这种方法基本不可靠,比如一个主机可能存在多个网卡,多个mac地址;
4、(2)基于cpu id的方法,同一批次的cpu id可能出现都一样的情况,也无法唯一标识设备;
5、(3)基于硬盘序列号的方法,很多主机可能存在多块硬盘,而且主机更换硬盘的情况也可能出现,从而导致标识不唯一;
6、(4)基于windows产品id的方法,不同系统或者机器重复的概率比较大,尤其是虚拟机中,通过镜像克隆系统的产品id就可能一样,并且该方法只适用于windows主机;
7、(5)基于machineguid的方法,重装系统后该id会变化,该方法也只适用于windows主机;基于主机uuid的方法,这种方法是一种比较常用的方法,重装系统该标识不会变化,但是不是所有厂商都提供一个uuid;
8、(6)基于bios序列号的方法,重装系统该标识也不会变化,但是有些bios里面看不到序列号;
9、(7)基于uuid的方法,该方法能够保证唯一性,而且不依赖于任何硬件,但是标识丢失后,无法找回,并且通过镜像安装系统或克隆虚拟机后,会出现标识重复的问题。
技术实现思路
1、为了解决上述问题,本发明提出一种基于多维属性的主机标识方法、系统、设备及介质,不仅能针对不同形态、不同系统的主机生成唯一标识,还能找回丢失的主机标识,以及解决主机标识出现的冲突。
2、本发明采用的技术方案如下:
3、一种基于多维属性的主机标识方法,包括以下步骤:
4、s1.主机属性信息获取:采集主机的相关信息形成主机属性信息;
5、s2.主机标识计算:对主机属性信息进行hash计算,按指定的长度截取hash字符串,得到主机标识的主体部分和辅助部分;
6、s3.主机标识匹配集获取:基于主机标识的主体部分构建主机标识匹配集,如果主机标识匹配集为空,则将主机标识的辅助部分设置为1,并将主机标识注册后进入步骤s6,否则进入步骤s4;
7、s4.主机标识找回:如果主机标识匹配集中存在过期标识,则返回该过期标识并进入步骤s6,否则进入步骤s5;
8、s5.主机标识冲突解决:获取主机标识匹配集中主机标识的辅助部分的最大值,将该最大值加1后对主机标识的辅助部分更新,并将主机标识进行注册;
9、s6.主机标识保活:主机定时对主机标识进行保活,如果保活时主机标识已过期,则将主机标识置为激活状态;如果主机超过指定时限未对主机标识进行保活,则将主机标识置为过期状态。
10、进一步地,步骤s1中,所述主机属性信息包括mac地址、cpu id、主机uuid和bios序列号。
11、进一步地,步骤s2中,所述按指定的长度截取hash字符串,得到主机标识的主体部分和辅助部分包括:针对mac地址截取hash字符串的前8个字符,针对cpu id截取hash字符串的前4个字符,针对主机uuid截取hash字符串的前8个字符,针对bios序列号截取hash字符串的前8个字符,将截取的字符依次拼接后作为主机标识的主体部分,将最后4个字符作为主机标识的辅助部分。
12、进一步地,步骤s3中,所述基于主机标识的主体部分构建主机标识匹配集包括:将主机标识的主体部分与已注册的全部标识进行匹配,形成主机标识匹配集。
13、一种基于多维属性的主机标识系统,包括:
14、主机属性信息获取模块,被配置为采集主机的相关信息形成主机属性信息;
15、主机标识计算模块,被配置为对主机属性信息进行hash计算,按指定的长度截取hash字符串,得到主机标识的主体部分和辅助部分;
16、主机标识匹配集获取模块,被配置为基于主机标识的主体部分构建主机标识匹配集,如果主机标识匹配集为空,则将主机标识的辅助部分设置为1,并将主机标识注册后转至主机标识保活模块,否则转至主机标识找回模块;
17、主机标识找回模块,被配置为如果主机标识匹配集中存在过期标识,则返回该过期标识并转至主机标识保活模块,否则转至主机标识冲突解决模块;
18、主机标识冲突解决模块,被配置为获取主机标识匹配集中主机标识的辅助部分的最大值,将该最大值加1后对主机标识的辅助部分更新,并将主机标识进行注册;
19、主机标识保活模块,被配置为主机定时对主机标识进行保活,如果保活时主机标识已过期,则将主机标识置为激活状态;如果主机超过指定时限未对主机标识进行保活,则将主机标识置为过期状态。
20、进一步地,主机属性信息获取模块中,所述主机属性信息包括mac地址、cpu id、主机uuid和bios序列号。
21、进一步地,主机标识计算模块中,所述按指定的长度截取hash字符串,得到主机标识的主体部分和辅助部分包括:针对mac地址截取hash字符串的前8个字符,针对cpu id截取hash字符串的前4个字符,针对主机uuid截取hash字符串的前8个字符,针对bios序列号截取hash字符串的前8个字符,将截取的字符依次拼接后作为主机标识的主体部分,将最后4个字符作为主机标识的辅助部分。
22、进一步地,主机标识匹配集获取模块中,所述基于主机标识的主体部分构建主机标识匹配集包括:将主机标识的主体部分与已注册的全部标识进行匹配,形成主机标识匹配集。
23、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于多维属性的主机标识方法的步骤。
24、一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述基于多维属性的主机标识方法的步骤。
25、本发明的有益效果在于:
26、(1)本发明在标识生成中巧妙的应用了主机多种属性,结合辅助部分,有效地保证了标识的唯一性,并利用标识的过期状态,实现标识的找回。
27、(2)本发明不仅能针对不同形态、不同系统的主机生成唯一标识,还能找回丢失的主机标识,以及解决主机标识出现的冲突。
1.一种基于多维属性的主机标识方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于多维属性的主机标识方法,其特征在于,步骤s1中,所述主机属性信息包括mac地址、cpu id、主机uuid和bios序列号。
3.根据权利要求1所述的一种基于多维属性的主机标识方法,其特征在于,步骤s2中,所述按指定的长度截取hash字符串,得到主机标识的主体部分和辅助部分包括:针对mac地址截取hash字符串的前8个字符,针对cpu id截取hash字符串的前4个字符,针对主机uuid截取hash字符串的前8个字符,针对bios序列号截取hash字符串的前8个字符,将截取的字符依次拼接后作为主机标识的主体部分,将最后4个字符作为主机标识的辅助部分。
4.根据权利要求1所述的一种基于多维属性的主机标识方法,其特征在于,步骤s3中,所述基于主机标识的主体部分构建主机标识匹配集包括:将主机标识的主体部分与已注册的全部标识进行匹配,形成主机标识匹配集。
5.一种基于多维属性的主机标识系统,其特征在于,包括:
6.根据权利要求5所述的一种基于多维属性的主机标识系统,其特征在于,主机属性信息获取模块中,所述主机属性信息包括mac地址、cpu id、主机uuid和bios序列号。
7.根据权利要求5所述的一种基于多维属性的主机标识系统,其特征在于,主机标识计算模块中,所述按指定的长度截取hash字符串,得到主机标识的主体部分和辅助部分包括:针对mac地址截取hash字符串的前8个字符,针对cpu id截取hash字符串的前4个字符,针对主机uuid截取hash字符串的前8个字符,针对bios序列号截取hash字符串的前8个字符,将截取的字符依次拼接后作为主机标识的主体部分,将最后4个字符作为主机标识的辅助部分。
8.根据权利要求5所述的一种基于多维属性的主机标识系统,其特征在于,主机标识匹配集获取模块中,所述基于主机标识的主体部分构建主机标识匹配集包括:将主机标识的主体部分与已注册的全部标识进行匹配,形成主机标识匹配集。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-4任一项所述的基于多维属性的主机标识方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任一项所述的基于多维属性的主机标识方法的步骤。
