一种全局标识符的生成方法、装置、设备及存储介质制造方法及图纸

技术编号:32227107 阅读:19 留言:0更新日期:2022-02-09 17:31
本发明专利技术实施例提供了一种全局标识符的生成方法,包括:根据设定维度,确定各维度对应的维度值;将各维度值进行拼装,获取中间值;压缩中间值,生成全局标识符。本发明专利技术实施例提供的全局标识符的生成方法,通过设定维度并确定对应维度值的方式,实现了全局ID的本地生成,可以脱离对集中式ID服务的依赖,提高了每秒可生成ID的数量,提高了ID生产效率,并通过自定义字符集的方式压缩ID字符串,避免了泄露物理地址的安全问题,且使全局ID的长度不会过于冗长。长。长。

【技术实现步骤摘要】
一种全局标识符的生成方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种全局标识符的生成方法、装置、设备及存储介质。

技术介绍

[0002]云平台中有大量服务,这些服务在生产过程中需要大量生成标识符号(ID),如操作ID、资源ID、租户ID等,并且期望它们是全局唯一ID。云平台有灾备需求,需要跨云或跨区做容灾服务,并期望主区能够完整地同步到备区,包括资源ID也要相同,因此也需要生成全局唯一ID。云平台需要分析租户的操作行为,因此会有大量的操作日志生成,要求能够迅速地分发全局唯一的操作ID号。
[0003]现有技术通常通过网络请求集中式的服务来申请全局ID,或使用UUID(Universally Unique Identifier)方法生成全局ID。对于第一种方法,云平台有大量的服务,这种情况对网络和集中式ID生成器的依赖性大。在混合云环境中,每套云或区域自己维护各自的集中式ID服务,难以具有生成全局ID的能力。在跨云或跨区资源迁移等场景下可能存在ID冲突,造成维护上的困难。在大量服务并发、频繁地产生ID的场景下(如操作日志),集中式ID生成器效率低,无法因应需求。对于第二种方法,若使用UUID1(基于时间的UUID)的方法生成,一则物理地址(mac地址)有泄露可能,存在安全问题,二来生成的ID字符串会太长。

技术实现思路

[0004]本专利技术实施例提供了一种全局标识符的生成方法、装置、设备及存储介质,实现了全局标识符的本地、高效与安全生成。
[0005]第一方面,本专利技术实施例提供了一种全局标识符的生成方法,包括:
[0006]根据设定维度,确定各维度对应的维度值;
[0007]将各维度值进行拼装,获取中间值;
[0008]压缩所述中间值,生成所述全局标识符。
[0009]进一步地,所述设定维度包括时间、物理地址、进程标识符和数字,根据设定维度,确定各维度对应的维度值,包括:
[0010]根据设定的时间、物理地址、进程标识符和数字四个维度,分别确定时间维度对应的第一维度值、物理地址维度对应的第二维度值、进程标识符维度对应的第三维度值和数字维度对应的第四维度值。
[0011]进一步地,确定时间维度对应的第一维度值,包括:
[0012]获取当前时间对应的第一代码值及全局标识符生成器的初始时间对应的第二代码值;
[0013]确定所述第一代码值与第二代码值的差值;
[0014]将所述差值转换为第一16进制数,并将所述第一16进制数确定为所述第一维度
值。
[0015]进一步地,确定物理地址维度对应的第二维度值,包括:
[0016]获取网络设备对应的物理地址;
[0017]将所述物理地址对应的第二16进制数确定为所述第二维度值。
[0018]进一步地,确定进程标识符维度对应的第三维度值,包括:
[0019]获取当前进程对应的进程标识符;
[0020]将所述进程标识符对应的第三16进制数确定为所述第三维度值。
[0021]进一步地,确定数字维度对应的第四维度值,包括:
[0022]获取当前线程对应的数字生成函数;
[0023]将所述数字生成函数生成的自增数字确定为所述第四维度值。
[0024]进一步地,压缩所述中间值,生成所述全局标识符,包括:
[0025]获取预先设定的字符集;
[0026]利用大数转换方法,将所述中间值转换为字符组合,所述字符组合中包括至少一个字符,所述至少一个字符属于所述字符集;
[0027]将所述字符组合确定为所述全局标识符。
[0028]第二方面,本专利技术实施例还提供了一种全局标识符的生成装置,包括:
[0029]维度值确定模块,用于根据设定维度,确定各维度对应的维度值;
[0030]中间值获取模块,用于将各维度值进行拼装,获取中间值;
[0031]全局标识符生成模块,用于压缩所述中间值,生成所述全局标识符。
[0032]可选的,所述设定维度包括时间、物理地址、进程标识符和数字,维度值确定模块还用于:
[0033]根据设定的时间、物理地址、进程标识符和数字四个维度,分别确定时间维度对应的第一维度值、物理地址维度对应的第二维度值、进程标识符维度对应的第三维度值和数字维度对应的第四维度值。
[0034]可选的,维度值确定模块还用于:
[0035]获取当前时间对应的第一代码值及全局标识符生成器的初始时间对应的第二代码值;
[0036]确定所述第一代码值与第二代码值的差值;
[0037]将所述差值转换为第一16进制数,并将所述第一16进制数确定为所述第一维度值。
[0038]可选的,维度值确定模块还用于:
[0039]获取网络设备对应的物理地址;
[0040]将所述物理地址对应的第二16进制数确定为所述第二维度值。
[0041]可选的,维度值确定模块还用于:
[0042]获取当前进程对应的进程标识符;
[0043]将所述进程标识符对应的第三16进制数确定为所述第三维度值。
[0044]可选的,维度值确定模块还用于:
[0045]获取当前线程对应的数字生成函数;
[0046]将所述数字生成函数生成的自增数字确定为所述第四维度值。
[0047]可选的,全局标识符生成模块还用于:
[0048]获取预先设定的字符集;
[0049]利用大数转换方法,将所述中间值转换为字符组合,所述字符组合中包括至少一个字符,所述至少一个字符属于所述字符集;
[0050]将所述字符组合确定为所述全局标识符。
[0051]第三方面,本专利技术实施例还提供了一种全局标识符的生成的计算机设备,包括:
[0052]存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例任一所述的全局标识符的生成方法。
[0053]第四方面,本专利技术实施例还提供了一种全局标识符的生成的存储介质,其上存储有计算机程序,该程序被处理装置执行时实现如本专利技术实施例任一所述的全局标识符的生成方法。
[0054]本专利技术实施例首先根据设定维度,确定各维度对应的维度值,然后将各维度值进行拼装,获取中间值,最后压缩中间值,生成全局标识符。本专利技术实施例提供的全局标识符的生成方法,通过设定维度并确定对应维度值的方式,实现了全局ID的本地生成,可以脱离对集中式ID服务的依赖,提高了每秒可生成ID的数量,提高了ID生产效率,并通过自定义字符集的方式压缩ID字符串,避免了泄露物理地址的安全问题,且使全局ID的长度不会过于冗长。
附图说明
[0055]图1是本专利技术实施例一中的一种全局标识符的生成方法流程图;
[0056]图2是本专利技术实施例二中的一种全局标识符的生成方法流程图;
[0057]图3是本专利技术实施例三本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种全局标识符的生成方法,其特征在于,包括:根据设定维度,确定各维度对应的维度值;将各维度值进行拼装,获取中间值;压缩所述中间值,生成所述全局标识符。2.根据权利要求1所述的方法,其特征在于,所述设定维度包括时间、物理地址、进程标识符和数字,根据设定维度,确定各维度对应的维度值,包括:根据设定的时间、物理地址、进程标识符和数字四个维度,分别确定时间维度对应的第一维度值、物理地址维度对应的第二维度值、进程标识符维度对应的第三维度值和数字维度对应的第四维度值。3.根据权利要求2所述的方法,其特征在于,确定时间维度对应的第一维度值,包括:获取当前时间对应的第一代码值及全局标识符生成器的初始时间对应的第二代码值;确定所述第一代码值与第二代码值的差值;将所述差值转换为第一16进制数,并将所述第一16进制数确定为所述第一维度值。4.根据权利要求2所述的方法,其特征在于,确定物理地址维度对应的第二维度值,包括:获取网络设备对应的物理地址;将所述物理地址对应的第二16进制数确定为所述第二维度值。5.根据权利要求2所述的方法,其特征在于,确定进程标识符维度对应的第三维度值,包括:获取当前进程对应的进程标识符;将所述进程标识符对应的第三16进制...

【专利技术属性】
技术研发人员:林东森
申请(专利权)人:北京青云科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1