[发明专利]一种用于分布式系统的数字ID生成系统有效
| 申请号: | 201810969665.1 | 申请日: | 2018-08-23 |
| 公开(公告)号: | CN109241056B | 公开(公告)日: | 2021-03-05 |
| 发明(设计)人: | 王志文 | 申请(专利权)人: | 重庆富民银行股份有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27;G06F16/25 |
| 代理公司: | 重庆强大凯创专利代理事务所(普通合伙) 50217 | 代理人: | 黄书凯 |
| 地址: | 401121 重庆市*** | 国省代码: | 重庆;50 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 用于 分布式 系统 数字 id 生成 | ||
本发明涉及分布式系统配置管理技术领域,具体为一种用于分布式系统的数字ID生成系统,数据库,数据库内设有N张ID数据表,每张的ID数据表中均创建有一个ID字段;ID字段为自增类型,自增步长为N且N张ID数据表的ID字段的起始值依次加一;应用模块,应用模块包括数据表路由模块和ID生成模块,数据表路由模块用于在应用接收到ID生成的调用请求后随机选取一个ID数据表,ID生成模块用于向选取的ID数据表发送数据生成命令,ID数据表返回生成数据的ID字段值。本发明提供的一种用于分布式系统的数字ID生成系统,能够解决现有数字ID的生成系统所存在的无法保证递增趋势、查询效率低以及无法应对多并发情况等问题。
技术领域
本发明涉及分布式系统配置管理技术领域,具体为一种用于分布式系统的数字ID生成系统。
背景技术
在分布式系统中,经常需要使用全局唯一数字ID定义对应的数据。这个数字ID基本需求包括以下几点:1、全局唯一;2、占用相对较少,方便将ID进行DB存储,方便索引;3、时间友好,方便业务查询;4、性能高,可用性高。
分布式系统下实现唯一数字ID的方式较多,常见的有下面几种:
1、UUID算法,其核心思想是结合机器的硬件、时间以及随机种子数来生成唯一的数字ID。
2、基于Redis的分布式ID生成器:使用41bit来存放时间,精确到毫秒,可以使用41年;使用12bit来存放逻辑分片ID,最大分片ID是4095;使用10bit来存放自增长ID,意味着每个节点,每毫秒最多可以生成1024个ID。
3、队列/ID池的方式,即预先生成一定量的数字ID,并放到一个队列/ID池里,每次操作时,从队列中读取一个ID。
以上的这些方式中,UUID的缺点在于其无法保证趋势递增,同时若UUID过长,往往用字符串表示,作为主键建立索引查询效率低,常见优化方案为“折半存储”然而折半后并不能保证唯一性。基于Redis的分布式ID生成器的缺点在于需要单独部署Redis且性能较差,缺乏稳定性。而ID池的缺点在于,需要提前生成,无法保证趋势递增,需要部署单独的服务进行维护。在分布式应用横向扩展服务的情况下,上面几种方式都不能做到既稳定,又高效地生成数字型唯一ID。
发明内容
本发明意在提供一种用于分布式系统的数字ID生成系统,能够解决现有的数字ID的生成系统所存在的无法保证递增趋势、查询效率低以及无法应对多并发情况等问题。
为了解决上述技术问题,本专利提供如下技术方案:
一种用于分布式系统的数字ID生成系统,包括:
数据库,所述数据库内设有N张ID数据表,每张所述的ID数据表中均创建有一个ID字段;ID字段为自增类型,自增步长为N且N张ID数据表的ID字段的起始值依次加一;
应用模块,所述应用模块包括数据表路由模块和ID生成模块,所述数据表路由模块用于在应用接收到ID生成的调用请求后随机选取ID数据表,所述ID生成模块用于向选取的ID数据表发送数据生成命令,ID数据表返回生成数据的ID字段值,ID生成模块根据ID字段值生成数字ID返回给调用程序。
本发明技术方案中,在数据库中创建多张ID数据表,利用数据库内数据表的字段的自增功能,保证数字ID自增,通过设置各个ID数据表的起始值和步长,保证其在自增后不会发生重复,确保数字ID的唯一性;通过使用多数据表路由的方式,可以在高并发的情况下,降低单数据表的读写量,应对高并发的压力,确保数字ID的高效生成,保证系统稳定工作。同时由于采用数据库的方式进行ID生成,在性能要求较高时,只需要增加数据库服务器的个数即可,这是现在的UUID方式以及Redis方式所不具备的优势;由于其本身就是利用数据库来生成的ID因此很方便将ID进行DB存储或索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆富民银行股份有限公司,未经重庆富民银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810969665.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能抽取数据的挖掘系统
- 下一篇:气体分析仪压力调节结构





