唯一标识符生成方法及计算设备技术

技术编号:38150861 阅读:14 留言:0更新日期:2023-07-13 09:14
本申请实施例涉及计算机领域,具体涉及一种唯一标识符生成方法、装置及设备。该方法包括:获取生成器标识、当前时刻和第一序列号;基于所述当前时刻确定第一时间周期、和第二时间周期的起始时刻;基于所述当前时刻和所述第二时间周期的起始时刻确定所述第一时间周期或所述第二时间周期为所述唯一标识符的生成周期;根据所述生成器标识、所述生成周期和所述第一序列号生成唯一标识符。该方法可以保证唯一标识符的全局唯一性。一标识符的全局唯一性。一标识符的全局唯一性。

【技术实现步骤摘要】
唯一标识符生成方法及计算设备


[0001]本申请涉及计算机
,特别涉及一种唯一标识符生成方法及设备。

技术介绍

[0002]随着信息技术(information technology,IT)的发展,大量的数据需要管理。特别是公有云、私有云、数据中心、大型分布式系统等,每天会新产生大量数据,并且新产生的数据需要被标识,以和其他数据区分,方便数据管理。
[0003]可以将数据作为对象进行管理。唯一标识符(unique identifier,ID)用于在计算机应用系统中唯一标识对象,因此,要求用于标识不同对象的唯一标识符是不同的。另外,大量的数据需要大量的唯一标识符,为了节省存储资源,唯一标识符的长度越短越好。

技术实现思路

[0004]本申请实施例提供了一种唯一标识符生成方法、装置及设备。可以保证唯一标识符的全局唯一性。
[0005]第一方面,提供了一种唯一标识符生成方法,所述方法包括:获取生成器标识、当前时刻和第一序列号;基于所述当前时刻确定第一时间周期、和第二时间周期的起始时刻;基于所述当前时刻和所述第二时间周期的起始时刻确定所述第一时间周期或所述第二时间周期为所述唯一标识符的生成周期;根据所述生成器标识、所述生成周期和所述第一序列号生成唯一标识符。
[0006]该方法通过当前时刻,来确定时间周期,并且将在不同时间段生成的唯一标识符划分到不同的生成周期中,以及通过序列号保证在同一生成周期中生成的唯一标识符是不同的,从而降低了唯一标识符的全局唯一性对生成时间的依赖,在生成器的时间出现波动(例如生成器的时钟出现回拨或前拨)时,也能保证唯一标识符不重复。在该方法中,生成器可以自动获取能够区别于其他生成器的标识,在能够使用生成器的标识保证唯一性标识符的全局唯一性的同时,节省了人力,提高了效率。
[0007]在一种可能的实现方式中,所述基于所述当前时刻和所述第二时间周期的起始时刻确定所述第一时间周期或所述第二时间周期为所述唯一标识符的生成周期,包括:若所述当前时刻小于所述第二时间周期的起始时刻,将所述第一时间周期作为所述唯一标识符的生成周期。其中,第二时间周期为第一时间周期的下一个时间周期。
[0008]在该实现方式中,生成时间越晚的唯一标识符的生成周期越靠后,使得生成的唯一标识符符合递增趋势,方便唯一标识符的存储。
[0009]在一种可能的实现方式中,所述根据所述生成器标识、所述生成周期和所述第一序列号生成唯一标识符,包括:将所述第一序列号加上第一预设数值,生成第二序列号;根据所述生成器标识、所述第一时间周期和所述第二序列号生成所述唯一标识符。
[0010]在该实现方式中,同一生成周期中的唯一标识符的序列号是递增的,使得生成的唯一标识符符合递增趋势,方便唯一标识符的存储。
[0011]在一种可能的实现方式中,在所述根据所述生成器标识、所述第一时间周期和所述第二序列号生成所述唯一标识符之前,所述方法还包括:确定所述第二序列号是否超过阈值;若所述第二序列号未超过所述阈值,根据所述生成器标识、所述第一时间周期和所述第二序列号生成所述唯一标识符;若所述第二序列号超过所述阈值,更新所述生成器的标识并重新初始化第二序列号为第三序列号,根据所述更新后的生成器标识、所述第一时间周期和所述第三序列号生成所述唯一标识符。
[0012]在该实现方式中,在可用的序列号用尽时,可以更新生成器标识,并用更新后的生成器标识来保障唯一标识符的唯一性。
[0013]在一种可能的实现方式中,所述基于所述当前时刻和所述第二时间周期的起始时刻确定所述第一时间周期或所述第二时间周期为所述唯一标识符的生成周期,包括:若所述当前时刻大于所述第二时间周期的起始时刻,则将所述第二时间周期作为所述唯一标识符的生成周期。
[0014]在一种可能的实现方式中,所述根据所述生成器标识、所述生成周期和所述第一序列号生成唯一标识符,包括:重新初始化第一序列号为第四序列号:根据所述生成器标识、所述第二时间周期和所述第四序列号生成所述唯一标识符。
[0015]在一种可能的实现方式中,所述根据所述生成器标识、所述生成周期和所述初始化的序列号生成唯一标识符之后,所述方法还包括:将所述唯一标识符存储到预设存储空间。
[0016]在一种可能的实现方式中,所述将所述唯一标识符存储到预设存储空间之前,所述方法还包括:确定所述预设存储空间是否具有可用空间;若所述预设存储空间具有所述可用空间,将所述唯一标识符存储到所述可用空间。
[0017]在一种可能的实现方式中,所述预设存储空间为先进先出的环状队列;其中,所述可用空间为环状队列中的空槽位。
[0018]在该实现方式中,存储空间采用环状队列的形式来存储唯一标识符,可以防止用于存储唯一标识符的存储空间出现伪溢出的现象。
[0019]在一种可能的实现方式中,唯一标识符包括符号位、所述生成器标识、所述生成周期和序列号。
[0020]第二方面,提供了一种计算设备,包括:存储器和处理器;所述存储器和所述处理器电连接;其中,所述存储器,用于存储可执行程序;所述处理器,用于运行所述可执行程序使所述计算设备执行如第一方面所述方法。
[0021]第三方面,提供了一种唯一标识符生成装置,所述装置包括:获取模块,用于获取生成器标识、当前时刻和第一序列号;第一确定模块,用于基于所述当前时刻确定第一时间周期、和第二时间周期的起始时刻;第二确定模块,用于基于所述当前时刻和所述第二时间周期的起始时刻确定所述第一时间周期或所述第二时间周期为所述唯一标识符的生成周期;生成模块,用于根据所述生成器标识、所述生成周期和所述第一序列号生成唯一标识符。
[0022]第四方面,提供了一种包含指令的计算机程序产品,当所述指令被计算设备运行时,使得所述计算设备执行如第一方面提供的方法。
[0023]第五方面,提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机
程序指令由计算设备执行时,所述计算设备执行如第一方面提供的方法。
[0024]第二方面至第五方面的有益效果可以参考上文对第一方面的有益效果的介绍,在此不再赘述。
附图说明
[0025]图1为本申请实施例提供的一种计算系统的结构示意图;
[0026]图2A为本申请实施例提供的一种唯一标识符的结构示意图;
[0027]图2B为本申请实施例提供的一种唯一标识符的结构示意图;
[0028]图3为本申请实施例提供的一种生成唯一标识符方法的流程图;
[0029]图4为本申请实施例提供的一种生成器的结构示意图;
[0030]图5为本申请实施例提供的一种唯一标识符生成方法的流程图;
[0031]图6为本申请实施例提供的一种唯一标识符生成装置的结构示意图;
[0032]图7为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
[0033]下面将结合附图,对本申请实施例中的技术方案进行描述。显然,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种唯一标识符生成方法,其特征在于,所述方法包括:获取生成器标识、当前时刻和第一序列号;其中,所述第一序列号为第一次初始化的序列号;基于所述当前时刻确定第一时间周期和第二时间周期的起始时刻;基于所述当前时刻和所述第二时间周期的起始时刻确定所述唯一标识符的生成周期;其中,所述唯一标识符的生成周期为所述第一时间周期或所述第二时间周期;根据所述生成器标识、所述生成周期和所述第一序列号生成唯一标识符。2.根据权利要求1所述的方法,其特征在于,所述基于所述当前时刻和所述第二时间周期的起始时刻确定所述唯一标识符的生成周期,包括:若所述当前时刻小于所述第二时间周期的起始时刻,将所述第一时间周期作为所述唯一标识符的生成周期。3.根据权利要求2所述的方法,其特征在于,所述根据所述生成器标识、所述生成周期和所述第一序列号生成唯一标识符,包括:将所述第一序列号加上第一预设数值,生成第二序列号;根据所述生成器标识、所述第一时间周期和所述第二序列号生成所述唯一标识符。4.根据权利要求3所述的方法,其特征在于,在所述根据所述生成器标识、所述第一时间周期和所述第二序列号生成所述唯一标识符之前,所述方法还包括:确定所述第二序列号是否超过阈值;若所述第二序列号未超过所述阈值,根据所述生成器标识、所述第一时间周期和所述第二序列号生成所述唯一标识符;若所述第二序列号超过所述阈值,更新所述生成器的标识并重新初始化第二序列号为第三序列号,根据所述更新后的生成器标识、所述第一时间周期和所述第三序列号生成所述唯一标识符。5.根据权利要求1

4任一项所述的方法,其特征在于,所述基于所述...

【专利技术属性】
技术研发人员:石林灵
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1