标识生成方法、装置、设备及存储介质制造方法及图纸

技术编号:26307939 阅读:33 留言:0更新日期:2020-11-10 20:09
本申请公开了一种标识生成方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:响应于标识生成请求,获取当前时间戳。根据生成上一个标识的历史时间戳与当前时间戳的时间先后关系,从至少两个标识生成器中确定出目标标识生成器。基于目标标识生成器,根据当前时间戳、生成器序号、设备标识以及自增序列号生成标识。当出现时钟回拨的情况时,标识生成进程会切换用于生成ID的目标标识生成器,直至时钟恢复正常。生成器序号为目标标识生成器在至少两个标识生成器中的序号,每个标识生成器的序号不同。保证了切换目标标识生成器时,生成的ID的唯一性。提升了生成ID的可靠性。

【技术实现步骤摘要】
标识生成方法、装置、设备及存储介质
本申请涉及计算机
,特别涉及一种标识生成方法、装置、设备及存储介质。
技术介绍
现如今大部分的网络服务,都需要使用ID(Identitydocument)来标识各类数据对象。例如用户的帐号、网络购物的订单号以及网络游戏中的角色号等。ID指表示唯一性的数字或字符串。计算机设备在生成ID时,需要保证ID的唯一性。目前,计算机设备通常使用雪花(snowflake)算法来生成ID。通过雪花算法生成的ID的长度为64比特(binarydigit,bit)。其中,最高位bit始终为0,表示正整数;接下来41bit表示生成ID的时刻距离目标时刻的累计毫秒数;之后10bit表示生成ID的设备的序号;最后12bit为自增序列,表示生成的ID的序号。计算机设备会每毫秒清零一次该自增序列。对于同一计算机设备来说,生成的ID中的累计毫秒数以及自增序列用于保证该ID的唯一性。当出现时钟回拨的情况时,使用雪花算法生成的ID中的累计毫秒数和自增序列可能会出现重复的情况,导致生成的ID重复。无法保证生成的ID的唯一性,本文档来自技高网...

【技术保护点】
1.一种标识生成方法,其特征在于,所述方法包括:/n响应于标识生成请求,获取当前时间戳;/n根据生成上一个标识的历史时间戳与所述当前时间戳的时间先后关系,从至少两个标识生成器中确定出目标标识生成器;/n基于所述目标标识生成器,根据所述当前时间戳、生成器序号、设备标识以及自增序列号生成所述标识;/n其中,所述生成器序号为所述目标标识生成器在所述至少两个标识生成器中的序号,每个所述标识生成器的所述序号不同,所述设备标识为生成所述标识的计算机设备的标识。/n

【技术特征摘要】
1.一种标识生成方法,其特征在于,所述方法包括:
响应于标识生成请求,获取当前时间戳;
根据生成上一个标识的历史时间戳与所述当前时间戳的时间先后关系,从至少两个标识生成器中确定出目标标识生成器;
基于所述目标标识生成器,根据所述当前时间戳、生成器序号、设备标识以及自增序列号生成所述标识;
其中,所述生成器序号为所述目标标识生成器在所述至少两个标识生成器中的序号,每个所述标识生成器的所述序号不同,所述设备标识为生成所述标识的计算机设备的标识。


2.根据权利要求1所述的方法,其特征在于,所述根据生成上一个标识的历史时间戳与所述当前时间戳的时间先后关系,从至少两个标识生成器中确定出目标标识生成器,包括:
响应于所述当前时间戳大于或等于所述历史时间戳,将所述生成上一个标识的第一标识生成器确定为所述目标标识生成器;
响应于所述当前时间戳小于所述历史时间戳,将与所述第一标识生成器不同的第二标识生成器确定为所述目标标识生成器。


3.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标标识生成器,根据所述当前时间戳、生成器序号、设备标识以及自增序列号生成所述标识,包括:
基于所述目标标识生成器,根据所述当前时间戳、所述生成器序号、所述设备标识、进程标识以及所述自增序列号生成所述标识;
其中,所述进程标识对应的标识生成进程中包括所述至少两个标识生成器。


4.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标标识生成器,根据所述当前时间戳、生成器序号、设备标识以及自增序列号生成所述标识,包括:
通过MD5加密算法处理所述设备标识,得到二进制序列;
从所述二进制序列中获取目标二进制序列;
基于所述目标标识生成器,根据所述当前时间戳、所述生成器序号、所述目标二进制序列以及所述自增序列号生成所述标识。


5.根据...

【专利技术属性】
技术研发人员:谢亚晋
申请(专利权)人:深圳市腾讯网域计算机网络有限公司
类型:发明
国别省市:广东;44

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

1