分布式全局唯一ID生成方法和系统、存储介质、设备技术方案

技术编号:26790849 阅读:45 留言:0更新日期:2020-12-22 17:05
本发明专利技术公开了一种分布式全局唯一ID生成方法和系统、存储介质、设备,该方法包括:接收分布式全局唯一ID的生成请求,并识别所述生成请求对应的应用服务;查询是否存在预先为所述应用服务分配的目标ID段;若存在所述目标ID段,则获取所述目标ID段的目标值;基于所述目标值进行递增,生成分布式全局唯一ID。基于本发明专利技术提供的方法,采用数据库内存递增方式生成分布式全局唯一ID,并且同时提供目标ID段和备用ID段的方式提高ID生成性能的同时,避免ID获取过程中发生远程调用阻塞。

【技术实现步骤摘要】
分布式全局唯一ID生成方法和系统、存储介质、设备
本专利技术涉及数据处理
,尤其是一种分布式全局唯一ID生成方法和系统、存储介质、设备。
技术介绍
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。并且随着计算机技术的发展,对于不同的业务的产品系统中的数据也随之增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,因此,针对每一条数据或消息生成全局唯一ID的系统是非常必要的。目前,在基于数据库生成分布式全局唯一ID时,多采用snowflake算法,snowflake雪花算法在生成ID时需要分配workid,但是由于workid是有限的,因此,其对于ID的水平扩展有限。
技术实现思路
本专利技术实施例所要解决的一个技术问题是如何生成分布式全局唯一ID。根据本专利技术的一个方面,提供了一种分布式全局唯一ID生成方法,包括:接收分布式全局唯一ID的生成请求,并识别所述生成请求对应的应用服务;查询是否存在预先为所述应用服务分配的目标ID段;若存在所述目标ID段,则获取所本文档来自技高网...

【技术保护点】
1.一种分布式全局唯一ID生成方法,其特征在于,包括:/n接收分布式全局唯一ID的生成请求,并识别所述生成请求对应的应用服务;/n查询是否存在预先为所述应用服务分配的目标ID段;/n若存在所述目标ID段,则获取所述目标ID段的目标值;/n基于所述目标值进行递增,生成分布式全局唯一ID。/n

【技术特征摘要】
1.一种分布式全局唯一ID生成方法,其特征在于,包括:
接收分布式全局唯一ID的生成请求,并识别所述生成请求对应的应用服务;
查询是否存在预先为所述应用服务分配的目标ID段;
若存在所述目标ID段,则获取所述目标ID段的目标值;
基于所述目标值进行递增,生成分布式全局唯一ID。


2.根据权利要求1所述的方法,其特征在于,所述查询是否存在预先为所述应用服务分配的目标ID段之后,还包括:
若不存在所述目标ID段,则查询是否存在预先为所述应用服务分配的备用ID段;
若存在所述备用ID段,则基于所述备用ID段生成分布式全局唯一ID。


3.根据权利要求1所述的方法,其特征在于,所述获取所述目标ID段的目标值之后还包括:
判断所述目标值是否为所述目标ID段的末端值;
若所述目标值不是所述目标ID段的末端值,则执行基于所述目标值进行递增的步骤。


4.根据权利要求3所述的方法,其特征在于,所述判断所述目标值是否为所述目标ID段的末端值之后还包括:
若所述目标值为所述目标ID段的末端值,则查询是否存在预先为所述应用服务分配的备用ID段;
若存在所述备用ID段,则基于所述备用ID段生成分布式全局唯一ID。


5.根据权利要求2或4所述的方法,其特征在于,所述基于所述备用ID段生成分布式全局唯一ID包括:
将所述备用ID段切换为所述应用服务的新目标ID段;

【专利技术属性】
技术研发人员:田雪峰赵泽阳
申请(专利权)人:北京健康之家科技有限公司
类型:发明
国别省市:北京;11

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

1