【技术实现步骤摘要】
一种用于分布式系统的数字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过长,往往用字符串表示,作为主键建立索引查询效率低,常见优化方案为“折半存储”,然而折半后并不能保证唯 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。