[发明专利]一种基于分布式ID生成的避免ID碰撞的升级方法在审
| 申请号: | 202011478781.7 | 申请日: | 2020-12-15 |
| 公开(公告)号: | CN112506929A | 公开(公告)日: | 2021-03-16 |
| 发明(设计)人: | 李强;胡守云 | 申请(专利权)人: | 北京致远互联软件股份有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F16/27 |
| 代理公司: | 北京权智天下知识产权代理事务所(普通合伙) 11638 | 代理人: | 王新爱 |
| 地址: | 100089 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 分布式 id 生成 避免 碰撞 升级 方法 | ||
本发明公开了一种基于分布式ID生成的避免ID碰撞的升级方法,包括以下步骤:设计64位ID设计,建立ID碰撞双缓冲池,将ID碰撞双缓冲池分为碰撞缓冲池和预热缓冲池,碰撞缓冲池初始化时,将碰撞表中ID在范围区间的所有ID填充到缓冲池,预热缓冲池在发ID时,即时检查缓冲池中剩余碰撞ID数量,如小于设定阈值,则触发从碰撞表中加载下一个时段的碰撞ID至新ID碰撞缓冲池,定时记录本机时间至数据库,下次系统启动时候检测是否发生大步长时钟回拨,发现则报警,该发明通过初始化填充和异步实时填充方式,最大限度的保证了Id冲突的校验都从缓冲区发起,而不直接通过查库校验,减少数据库压力,同时降低查询开销,提升明显。
技术领域
本发明涉及基于分布式ID生成的避免ID碰撞的升级方法技术领域,具体为一种基于分布式ID生成的避免ID碰撞的升级方法。
背景技术
UUID简称通用唯一识别码是128位长的数字,常见的划分格式是8-4-4-4-12的部分,每一位是一个16进制的数字。另一种划分格式是采用高低位表示:高64位-低64位,每部分用一个64位长整型数据存储。UUID通常由以下几部分组成:当前日期和时间+时钟序列+全局唯一的IEEE机器识别号。鉴于UUID重复的概率非常的低且具有随机性,本地生成具有相当高的性能,但是这种ID长度过长,占用空间过大,且不具备主键索引需要的递增特性,不能有效利用索引组织表的性能,因此,亟待一种改进的技术来解决现有技术中所存在的这一问题。
发明内容
本发明的目的在于提供一种基于分布式ID生成的避免ID碰撞的升级方法,通过初始化填充和异步实时填充方式,最大限度的保证了Id冲突的校验都从缓冲区发起,而不直接通过查库校验,减少数据库压力,同时降低查询开销,由于id的生成对于任何服务都是一个极度高频的操作,优化在原方案的基础上提升性能接近100%,提升明显,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于分布式ID生成的避免ID碰撞的升级方法,包括以下步骤:
步骤一:高位取从XX年X月X日到现在的毫秒数,预留40bit给毫秒数,每秒的单机高峰并发量小于2W,预留5bit给每毫秒内序列号,5年内机房数小于4个,预留2bit给机房标识,每个机房小于100台机器,预留7bit给每个机房内的服务器标识,剩余10位作为业务线号或进程号使用;
步骤二:建立ID碰撞双缓冲池,将ID碰撞双缓冲池分为碰撞缓冲池和预热缓冲池;
步骤三:碰撞缓冲池初始化时,将碰撞表中ID在范围区间的所有ID填充到缓冲池,预热缓冲池在发ID时,即时检查缓冲池中剩余碰撞ID数量,如小于设定阈值,则触发从碰撞表中加载下一个时段的碰撞ID至新ID碰撞缓冲池;
步骤四:定时记录本机时间至数据库,下次系统启动时候检测是否发生大步长时钟回拨,发现则报警。
优选的,所述步骤一中每个机房每个机器生成的ID不同。
优选的,所述步骤一中同一个机器,每个毫秒内生成的ID不同且以序列号区区分。
优选的,所述步骤一中毫秒数放在最高位以保证生成的ID是趋势递增的。
优选的,所述步骤一中业务线号或进程号互不相同。
优选的,所述步骤三中碰撞缓冲池用于缓存一段时间内从ID全局碰撞表中获取到的可能碰撞的ID号范围列表。
优选的,所述步骤三中预热缓冲池用于缓存一段时间内新生成的ID号范围。
与现有技术相比,本发明的有益效果是:
通过初始化填充和异步实时填充方式,最大限度的保证了Id冲突的校验都从缓冲区发起,而不直接通过查库校验,减少数据库压力,同时降低查询开销,由于id的生成对于任何服务都是一个极度高频的操作,优化在原方案的基础上提升性能接近100%,提升明显。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京致远互联软件股份有限公司,未经北京致远互联软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011478781.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种四通阀及其工业炉窑
- 下一篇:市域铁路信号贯通地线连接器





