[发明专利]一种分布式唯一ID生成方法在审

专利信息
申请号: 202110868307.3 申请日: 2021-07-30
公开(公告)号: CN113626496A 公开(公告)日: 2021-11-09
发明(设计)人: 孙志强;徐士强;杨继伟;董玉全 申请(专利权)人: 浪潮云信息技术股份公司
主分类号: G06F16/2458 分类号: G06F16/2458;G06F16/2453;G06F16/2455;G06F16/21;G06F16/22;G06F16/27
代理公司: 济南信达专利事务所有限公司 37100 代理人: 姜明
地址: 250100 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式 唯一 id 生成 方法
【说明书】:

发明公开了一种分布式唯一ID生成方法,所述方法的实现包括内容如下:利用MySql主键自增的方式,实现分布式数据ID自增,利用MySql多实例主键自增,每次获取ID时去数据库请求,获得的ID是一个ID区间段。本发明为分布式系统ID的生成提供了可靠的解决方案,适应不同的场景、需求及性能要求;完美解决了数据库的自增问题,可读性强,查询效率高,可用低延时,ID生成响应快;不存在单点问题,保证ID是全局性唯一的基本要求;高可用低延时,ID生成响应快,不会成为业务瓶颈,无限接近于100%的可用性;利用分布式锁解决了获取ID时并发问题;趋势递增,满足多种具体业务场景。

技术领域

本发明涉及分布式数据处理技术领域,具体提供一种分布式唯一ID生成方法。

背景技术

分布式系统中会对一些数据量大的业务进行分拆,如:用户表,订单表。因为数据量巨大一张表无法承接,就会对其进行分库分表。但一旦涉及到分库分表,就会引申出分布式系统中唯一主键ID的生成问题,要求需要唯一ID的特性:

整个系统ID唯一;ID是数字类型,而且是趋势递增的;ID简短,查询效率快;

所谓的递增是指:第一次生成的ID为12,下一次生成的ID是13,再下一次生成的ID是14。这个就是生成ID递增;

趋势递增:在一段时间内,生成的ID是递增的趋势。如:再一段时间内生成的ID在[0,1000]之间,过段时间生成的ID在[1000,2000]之间。但在[0-1000]区间内的时候,ID生成有可能第一次是12,第二次是10,第三次是14。

MySql:最流行的关系型数据库管理系统,在WEB应用方面MySql是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

双buffer:在读、写下标切换过程中,必然存在新、旧数据同时在使用的情况,只要保证缓冲期足够长,那么切换就是很安全的。通常检测线程的检查周期是秒级的,而获取配置信息是毫秒级甚至微秒级的,因此缓冲期是完全足够的。

发明内容

在业务数据量不大的时候,单库单表完全可以支撑现有业务,数据再大一点搞个MySql主从同步读写分离也能对付。但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求;特别一点的如订单、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的,这个全局唯一ID就叫分布式ID。

本发明的技术任务是针对上述存在的问题,提供一种分布式唯一ID生成方法,利用MySql主键自增的方式,实现分布式数据ID自增,用MySql多实例主键自增,在auto_increment基础上设置step步长,每台实例台的初始值分别为1,2,3...N,步长为N,每次获取ID的时候都要去数据库请求一次,请求数据库ID的时候,获得的ID是一个ID区间段。

为实现上述目的,本发明提供了如下技术方案:

一种分布式唯一ID生成方法,所述方法的实现包括内容如下:

利用MySql主键自增的方式,实现分布式数据ID自增,利用MySql多实例主键自增,每次获取ID时去数据库请求,获得的ID是一个ID区间段。

利用MySql主键自增的方式,这种方式ID自增,而且效率很高,但是存在单点问题,如果MySql宕机了,就没办法生成ID,而且数据库压力很大,高并发扛不住。如图1所示,用MySql多实例主键自增解决,这样就解决了单点问题,但是这样做有个弊端,就是步长一旦定好,就无法扩容,而且单个数据库压力大,数据库自身性能无法满足高并发,这种方式适合不需要扩容的场景。通过设置ID区间段,非常完美的解决了数据库自增的问题,而且可以自行定义max_id的起点,和step步长,非常方便扩容。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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