一种用于分布式系统的数字ID生成方法技术方案

技术编号:20160340 阅读:36 留言:0更新日期:2019-01-19 00:13
本发明专利技术涉及分布式系统管理方法技术领域,具体为一种用于分布式系统的数字ID生成方法,包括以下内容:数据表创建步骤,在数据库中创建ID数据表;数据表路由步骤,应用接收到ID生成的调用请求后随机选取ID数据表;ID生成步骤,应用向选取的ID数据表执行生成命令;数据表创建步骤包括:步骤一:在数据库中创建N张ID数据表;步骤二:在每张ID数据表中均创建一个ID字段;步骤三:设置ID字段为自增类型,同时设置自增步长为N且N张ID数据表的ID字段的起始值依次加一。本发明专利技术提供的一种用于分布式系统的数字ID生成方法,能够解决现有分布式系统的数字ID的生成方法所存在的无法保证递增趋势、查询效率低以及无法应对多并发情况等问题。

【技术实现步骤摘要】
一种用于分布式系统的数字ID生成方法
本专利技术涉及分布式系统管理方法
,具体为一种用于分布式系统的数字ID生成方法。
技术介绍
在分布式系统中,经常需要使用全局唯一数字ID定义对应的数据。这个数字ID基本需求包括以下几点:1、全局唯一;2、占用相对较少,方便将ID进行DB存储,方便索引;3、性能高,可用性高。分布式系统下实现唯一数字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本文档来自技高网...

【技术保护点】
1.一种用于分布式系统的数字ID生成方法,其特征在于:包括以下内容:数据表创建步骤,在数据库中创建ID数据表;数据表路由步骤,应用接收到ID生成的调用请求后随机选取ID数据表;ID生成步骤,应用向选取的ID数据表执行生成命令,相应的ID数据表返回生成数据的ID字段值,应用根据ID字段值生成ID返回给调用程序;其中,数据表创建步骤包括:步骤一:在数据库中创建N张ID数据表;步骤二:在每张ID数据表中均创建一个ID字段;步骤三:设置ID字段为自增类型,同时设置自增步长为N且N张ID数据表的ID字段的起始值依次加一。

【技术特征摘要】
1.一种用于分布式系统的数字ID生成方法,其特征在于:包括以下内容:数据表创建步骤,在数据库中创建ID数据表;数据表路由步骤,应用接收到ID生成的调用请求后随机选取ID数据表;ID生成步骤,应用向选取的ID数据表执行生成命令,相应的ID数据表返回生成数据的ID字段值,应用根据ID字段值生成ID返回给调用程序;其中,数据表创建步骤包括:步骤一:在数据库中创建N张ID数据表;步骤二:在每张ID数据表中均创建一个ID字段;步骤三:设置ID字段为自增类型,同时设置自增步长为N且N张ID数据表的ID字段的起始值依次加一。2.根据权利要求1所述的一种用于分布式系统的数字ID生成方法,其特征在于:所述数据表创建步骤中的数据库为多个数据库,数据表路由步骤包括数据库选取步骤和数据表选取步骤,数据库选取步骤用于已有的数据库中随机选择P个数据库,所述数据表选取步骤用于从P个数据库中随机选取Q个ID数据表。3.根据权利要求2所述的一种用于分布式系统的数字ID生成方法,其特征在于:所述P和Q均为1。4.根据权利要求1所述的一种用于分布式系统的数字ID生...

【专利技术属性】
技术研发人员:王志文
申请(专利权)人:重庆富民银行股份有限公司
类型:发明
国别省市:重庆,50

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

1