[发明专利]分布式系统全局唯一ID生成方法、系统、设备及介质在审

专利信息
申请号: 202210745288.X 申请日: 2022-06-29
公开(公告)号: CN114827082A 公开(公告)日: 2022-07-29
发明(设计)人: 卢超;林京;梁海棠 申请(专利权)人: 广州市玄武无线科技股份有限公司
主分类号: H04L61/3015 分类号: H04L61/3015;H04L61/30;G06F9/54;G06F8/60
代理公司: 广州三环专利商标代理有限公司 44202 代理人: 陈旭红
地址: 510653 广东省广州市*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 分布式 系统 全局 唯一 id 生成 方法 设备 介质
【说明书】:

本申请公开了一种分布式系统全局唯一ID生成方法、系统、设备及介质,包括部署环境组件:etcd和集成SDK的微服务;启动微服务,从etcd中获取工作机器ID,将其自动写入key后发送至etcd;监听微服务写入的所有key并处理删除事件,定时生成第一预设数量的全局ID并放入队列中;若队列中的可用全局ID数目大于或等于队列总容量的一半,从队列中任取一个作为全局唯一ID。本申请无需依赖etcd和本地机器时钟,而是只需将操作全部集成在SDK中,并使用未来时间解决时钟回拨问题。同时,基于etcd解决机器ID的自动生成和复用问题,采用异步预生成方式提前生成一批全局唯一ID,极大提高获取全局ID的吞吐量。

技术领域

本申请涉及分布式系统ID处理技术领域,尤其涉及一种分布式系统全局唯一ID生成方法、系统、设备及介质。

背景技术

在分布式系统中,常常需要对业务数据打上唯一标识。如订单系统有订单ID,商品系统有商品ID,用户系统中有用户ID等。对于这类ID,通常会存在以下要求:第一,ID全局唯一或某类业务内唯一;第二,ID单调递增,以满足排序和增量拉取的需求。

目前,生成全局唯一ID最常见的方法主要有以下几类:第一类是强依赖存储系统(MySQL、MongoDB、Redis等),对存储系统的性能要求很高,同时对存储系统的压力也很大,生成的ID还是连续的,容易泄露商业机密,并且业务量大的场景还要进行分库分表,导致开发和运维效率较低。第二类是以Snowflake算法为基础,不依赖任何存储系统,本地生成全局ID,但这种方式需要人工指定机器ID,并且对机器时钟非常敏感,存在时钟回拨问题;第三类是再第二类基础上对Snowflake算法进行一些局部优化,可以自动获取工作机器ID,但是这类方法只是不断创建新的工作机器ID,对已经分配出去的机器ID不能够复用和再分配,导致在pod重启频繁的kubernetes环境下容易造成机器ID不够用的情况,从而无法生成全局唯一ID。

发明内容

本申请的目的在于提供一种分布式系统全局唯一ID生成方法、系统、设备及介质,以解决现有基于Snowflake算法生成全局ID时存在的需要依赖人工分配工作机器ID以及时钟回拨的问题。

为实现上述目的,本申请提供一种分布式系统全局唯一ID生成方法,包括:

部署环境组件,所述组件包括etcd和集成SDK的微服务;

启动微服务,从etcd中自动获取工作机器ID,将工作机器ID自动写入key后发送至etcd;

监听微服务写入的所有key并处理删除事件,定时生成第一预设数量的全局ID并放入队列中;

若队列中的可用全局ID数目大于或等于队列总容量的一半,从队列中任取一个作为全局唯一ID。

进一步,作为优选地,所述定时生成第一预设数量的全局ID并放入队列中,包括:

基于改进的Snowflake算法定时生成第一预设数量的全局ID并放入队列中;

其中,生成的全局ID的时间戳为相对于某一时间基点的增量值。

进一步,作为优选地,所述的分布式系统全局唯一ID生成方法,还包括:

若队列中的可用全局ID数目小于队列总容量的一半,异步生成第二预设数量的全局ID并放入队列中,再从队列中任取一个作为全局唯一ID。

进一步,作为优选地,所述将工作机器ID自动写入key后发送至etcd,包括:

在key中附带租约,并启动自动续约机制;

若服务宕机,key在超时后会自动删除,且对应的工作机器ID会被回收,并被分配至其他服务。

进一步,作为优选地,在所述启动微服务之前,还包括:

在etcd中存放带有第一前缀、第二前缀以及第三前缀的key;所述第三前缀包括多种。

进一步,作为优选地,所述从etcd中获取工作机器ID,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市玄武无线科技股份有限公司,未经广州市玄武无线科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210745288.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top