【技术实现步骤摘要】
分布式ID生成方法、装置及系统
[0001]本专利技术涉及软件开发
,特别是涉及一种分布式ID生成方法及装置。
技术介绍
[0002]目前,随着软件系统的业务量增加,微服架构逐渐普及。在微服架构中,各服务做了拆分,随着时间的推移,各服务会产生大量的数据。为了缓解数据库的压力,一般的做法是对数据库进行分库分表。对数据分库分表后需要有一个唯一ID(Identity document身份标识号)来标识一条数据或消息,数据库的自增ID显然不能满足需求。因此生成一个全局唯一的身份标识ID是必要的。
[0003]传统的ID生成方法主要有基于关系型数据库自增ID、基于snowflake算法两类。然而,基于关系型数据库生成ID的方式,其数据库的性能不高,大业务量的情况下,数据库的压力依旧很大。因此,为了降低数据库的压力,基于数据自增ID的方式扩展出了一些改进方法,但流程过于复杂。类snowflake算法方案其存在的主要问题在强依赖于机器时钟,如果系统在运行过程中对机器时钟进行了回拨,则会导致系统重复发号或者会导致系统不可用。< ...
【技术保护点】
【技术特征摘要】
1.一种分布式ID生成方法,其特征在于,包括步骤:获取业务发送的ID请求;根据当前ID和所述ID请求判断是否存在可用于下发的ID;在存在可用于下发的ID时,向所述业务返回ID;在不存在可用于下发的ID时,向远程服务请求号码段;根据所述号码段向所述业务返回ID。2.根据权利要求1所述的分布式ID生成方法,其特征在于,所述ID请求包括请求参数;其中,所述请求参数的参数类型为长整形。3.根据权利要求1或2所述的分布式ID生成方法,其特征在于,所述根据当前ID和所述ID请求判断是否存在可用于下发的ID的过程,包括步骤:判断所述当前ID和所述ID请求之和,是否大于当前边界值;若大于所述当前边界值,判定不存在可用于下发的ID,否则判定存在可用于下发的ID。4.根据权利要求1所述的分布式ID生成方法,其特征在于,所述向远程服务请求号码段的过程,包括步骤:向远程字典服务请求号码段。5.根据权利要求1所述的分布式ID生成方法,其特征在于,在所述向所述业务返回ID的过程之后,还包括步骤:更新所述当前ID。6.根据权利要求3所述的分布式ID生成方法,其特征在于,在所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。