CN110737806A - 面向业务实体的全局id生成方法及装置 - Google Patents
面向业务实体的全局id生成方法及装置 Download PDFInfo
- Publication number
- CN110737806A CN110737806A CN201910848935.8A CN201910848935A CN110737806A CN 110737806 A CN110737806 A CN 110737806A CN 201910848935 A CN201910848935 A CN 201910848935A CN 110737806 A CN110737806 A CN 110737806A
- Authority
- CN
- China
- Prior art keywords
- machine
- global
- service
- sequence number
- generation method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 241000533950 Leucojum Species 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施方式提供一种面向业务实体的全局ID生成方法,所述生成方法基于SnowFlake算法,其生成的全局ID包括时间戳、机器ID和序列号;所述全局ID还包括业务ID。所述业务ID与业务类型相对应。同时还提供了一种面向业务实体的全局ID生成装置。本发明的上述技术方案通过在现有SnowFlake算法中增设业务ID的方式以生成全局ID,实现了全局ID和实际业务的对应,通过ID能够解析出实际的业务含义,并且在大多数情况下,能够保证生成的ID的有序性,以及局部的绝对有序性。
Description
技术领域
本发明涉及数据信息领域,具体地涉及一种面向业务实体的全局ID生成方法、一种面向业务实体的全局ID生成装置以及对应的存储介质。
背景技术
业务系统的业务逻辑中,都具有业务实体的概念。业务逻辑往往以业务实体为操作核心,设计和开发业务流程。比如一个电子商务系统,就具有订单,商品,库存等业务实体。如何很好的设计一个业务系统,决定了线上产品的执行效果和用户体验。业务实体需要具有自己的ID,这个ID应该在该实体所在的业务领域内是全局唯一的。这就涉及到了生成业务实体的全局唯一ID的问题。
在现有生成唯一ID的方法中。许多方法使用UUID生成唯一索引,或者使用UUID的部分几位和时间戳,IP,用户ID等数据拼接为一个全局唯一的ID字符串,UUID是通用唯一识别码,能够保证生成的识别码是绝对唯一的。但是这种方式也有问题,首先这种字符串拼接的方式执行性能较低,并且生成的ID是无序的,ID往往是作为数据库的索引,因此这种ID入库的性能也较差。也有一些方法使用数据库的唯一索引来生成唯一ID,但是这种方法在每次生成ID时都需要操作数据库,所以性能也不高,并且过于依赖于数据,数据库如果出现问题则会导致服务不可用。
SnowFlake是Twitter开源的分布式ID生成算法,其生成结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID,其中5个bit是数据中心,5个bit的机器ID,12bit作为毫秒内的流水号,即意味着每个节点在每毫秒可以产生4096个ID,最后还有一个符号位,永远是0。
发明内容
本发明实施方式的目的是提供一种面向业务实体的全局ID生成方法及装置,以至少解决现有的全局唯一ID生成方法中无法体现实际业务含义的问题。
为了实现上述目的,在本发明第一方面,提供了一种面向业务实体的全局ID生成方法,所述生成方法基于SnowFlake算法,其生成的全局ID包括时间戳、机器ID和序列号,所述全局ID还包括业务ID。
可选的,所述业务ID与业务类型相对应。
可选的,所述机器ID采用抢占式分布式锁的方式获取。
可选的,所述机器ID采用以下方式获取:
接收包含机器ID的抢占请求,并在所述缓存服务中查询所述机器ID对应的缓存key是否存在;所述缓存服务响应于远端机器在服务启动时的连接,并保存有当前在线机器的缓存key;
若存在,则通知抢占请求的发送者重新生成机器ID并重新请求,重复上一步骤;若不存在,则采用所述机器ID作为所述抢占请求的发送者的机器ID,同时将所述机器ID对应的缓存key加入所述缓存服务。
可选的,所述生成方法还包括:当接收到某一机器的服务关闭时,从所述缓存服务中删除所述机器的机器ID对应的缓存key。
可选的,所述生成方法还包括:设置所述缓存key的生存周期,当所述生存周期内未收到其对应的机器的心跳信号时,从所述缓存服务中删除所述机器的机器ID对应的缓存key。
可选的,所述时间戳和所述序列号采用以下步骤生成:
获取ID生成请求中的第一时间戳;
将所述第一时间戳与最近一次ID生成请求中的第二时间戳相比较;
若两者不相等,则以所述第一时间戳为所述全局ID中的所述时间戳,以预设起始序列号为所述全局ID中的所述序列号;
若两者相等,则以所述第一时间戳为所述全局ID中的所述时间戳,以所述最近一次ID生成请求所分配的序列号加1为所述全局ID中的所述序列号。
可选的,所述生成方法还包括:判断所述全局ID中序列号是否达到所述序列号的上限;若已达上限,则采用当前时间替换所述第一时间戳。
在本发明的第二方面,还提供了一种面向业务实体的全局ID生成装置,所述装置包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现前述的面向业务实体的全局ID生成方法,生成面向业务实体的全局ID。
在本发明的第三方面,还提供了一种存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述的面向业务实体的全局ID生成方法的步骤。
本发明上述技术方案通过在现有SnowFlake算法中增设业务ID的方式以生成全局ID,实现了全局ID和实际业务的对应,通过ID能够解析出实际的业务含义,并且在大多数情况下,能够保证生成的ID的有序性,以及局部的绝对有序性。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的面向业务实体的全局ID生成方法的示意图;
图2是本发明一种实施方式提供的面向业务实体的全局ID生成方法中的机器ID生成流程示意图;
图3是本发明一种实施方式提供的面向业务实体的全局ID生成方法中的时间戳与序列号生成流程示意图;
图4是本发明一种实施方式提供的面向业务实体的全局ID生成方法中所生成的全局ID示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在本发明实施方式中,在未作相反说明的情况下,使用的方位词如“上、下、顶、底”通常是针对附图所示的方向而言的或者是针对竖直、垂直或重力方向上而言的各部件相互位置关系描述用词。
图1是本发明一种实施方式提供的面向业务实体的全局ID生成方法的示意图。如图1所示,本发明实施方式提供一种面向业务实体的全局ID生成方法,所述生成方法基于SnowFlake算法,其生成的全局ID包括时间戳、机器ID和序列号,所述全局ID还包括业务ID。
如此,相较于普通的ID生成方法,该方法能够提升程序执行效率,通过ID能够解析出实际的业务含义,并且在大多数情况下,能够保证生成的ID的有序性,以及局部的绝对有序性。
具体的,现有的本方法主要采用了SnowFlake算法的思想,对SnowFlake算法进行改进,使其适用于不同的业务类型,在ID中能够获取业务实体的业务含义。
SnowFlake是Twitter开源的分布式ID生成算法,结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生4096个ID),最后还有一个符号位,永远是0。其优点在于,整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID作区分),并且效率较高,经测试,SnowFlake每秒能够产生26万ID左右。
本发明提供的本实施例中,在上述的SnowFlake算法的基础上增加业务ID字段,使生成的ID能够解析出实际的业务含义,并且具有良好的有序性。
在本发明提供的一种实施方式中,所述业务ID与业务类型相对应。比如一个电子商务系统,具有订单,商品,库存等业务实体,每个业务实体需要均有唯一ID进行标识,例如订单ID,商品ID,退款单ID等。不同业务类型都需要业务ID进行标识。此处的业务ID可以预先定义,也可以根据系统中不同应用的特征进行生成。
在本发明提供的一种可选实施方式中,所述机器ID采用抢占式分布式锁的方式得到。在本发明的实现系统中多采用分布式系统,其中存在多个服务主机,所述多个服务主机为了进行区分,需要标识自己的ID。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,此处为机器ID池。那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁来保证为每个服务主机分配的机器ID不重复。
在本发明提供的一种可选实施方式中,所述机器ID采用以下方式得到:接收包含机器ID的抢占请求,并在所述缓存服务中查询所述机器ID对应的缓存key是否存在;所述缓存服务响应于远端机器在服务启动时的连接,并保存有当前在线机器的缓存key;
若存在,则通知抢占请求的发送者重新生成机器ID,重复上一步骤;若不存在,则采用所述机器ID作为所述抢占请求的发送者的机器ID,同时将所述机器ID对应的缓存key加入所述缓存服务。以及当接收到某一远端机器的服务关闭时,从所述缓存服务中删除所述远端机器的机器ID对应的缓存key。
图2是本发明一种实施方式提供的面向业务实体的全局ID生成方法中的机器ID生成流程示意图。如图2所示,具体的采用以下步骤:
步骤一:每个服务主机在服务启动时连接缓存服务;
步骤二:待分配机器ID的服务主机循环设置ID=1至ID=31,在本循环内,使用ID生成缓存中保存的key值,使用redis的SET ifNoteXists命令抢占保存缓存的key值;
步骤三:如果在本循环内抢占失败,则使用下一个循环的ID值生成key继续抢占,直至抢占成功。
通过上述方式,可以保证线上服务有一个唯一的机器ID,在其服务期间能够持续占用,并当在以下两种情况下,对分配的机器ID进行释放:
在本发明提供的一种可选实施方式中,所述方法还包括:当接收到某一机器的服务关闭时,从所述缓存服务中删除所述机器的机器ID对应的缓存key。当检测到某一机器的服务关闭时,需要释放所述机器的机器ID对应的缓存key,并将其回收以待分配至新上线的服务主机。
在本发明提供的一种可选实施方式中,所述方法还包括:设置所述缓存key的生存周期,当所述生存周期内未收到其对应的远端机器的心跳信号时,从所述缓存服务中删除所述远端机器的机器ID对应的缓存key。上一种情形是能够检测到某一机器的服务关闭,而在系统突然下电或者通信突然中断的场合,是无法检测到服务关闭的。因此需要引入心跳机制,以保证缓存key不会被长时间异常占用。
在本发明提供的一种实施方式中,所述时间戳和序列号采用以下步骤生成:
获取ID生成请求中的第一时间戳;
将所述第一时间戳与最近一次ID生成请求中的第二时间戳相比较;
若两者不相等,则以所述第一时间戳为所述全局ID中的时间戳,以预设起始序列号为所述全局ID中序列号;
若两者相等,则以所述第一时间戳为所述全局ID中的时间戳,以所述最近一次ID生成请求所分配的序列号加1为所述全局ID中序列号。
以及所述方法还包括:判断所述全局ID中序列号是否达到所述序列号的上限;若已达上限,则采用当前时间替换所述第一时间戳。
图3是本发明一种实施方式提供的面向业务实体的全局ID生成方法中的时间戳与序列号生成流程示意图,如图3所示,序列号与时间戳生成方法如下:
步骤一:设置起始序列号为0,获取当前的时间C与最近记录的时间L。
步骤二:判断C是否与L相等,如果相等则证明两次生成ID的操作是同时发送的,需要序列号来区分不同ID,如果不相等则序列号仍然0,更新最近记录的时间L为C。
步骤三:C与L如果相等,序列号自增1,并且与序列号的最大值进行与运算,防止序列号超过其规定的最大位数。
步骤四:序列号S自增后如果为0,则证明序列号已自增到其所占位数能取到的最大值,这时需要更新下当前时间C,并且更新最近记录的时间L为C,序列号S仍为0。如果序列号S自增后不为0,则直接进入第五步。
步骤五:通过当前时间C获取时间戳,获取序列号S。
序列号是保证在同一时间内,相同主机服务,相同业务,生成的不同实体ID是唯一的。其中步骤四中的检测序列号是否达到最大值的方法如下:在全局ID中,序列号具有预设的位数,当不断加1的序列号达到预设位数的上限时,会产生溢出错误。因此需要自增后的序列号是否达到了序列号的最大值,此处采用以下逻辑式进行判断:S=(S+1)&MAX_SEQUENCE_NUM;其中MAX_SEQUENCE_NUM为序列号的最大值,序列号S自增后如果为0,则证明序列号已自增到其所占位数能取到的最大值。如果此时再自增一次,则会变回至全0,出现错误。此时需要采用当前时间替换所述时间戳,并使序列号从预设初始值开始递增。
全局唯一ID生成方法:以上详细描述业务ID,时间戳,机器码,序列号的具体生成方法,能够获取到机器码,时间戳,序列号数据。通过对业务ID,时间戳,机器码,序列号的二进制数据进行拼接,拼接顺序可以自行设定,以生成本专利方法讲述的全局唯一ID,具体步骤如下所述。
步骤一:设置ID生成器的业务ID,此处的业务ID是根据业务类型分配的;
步骤二:获取机器码生成方法所生成的机器码。
步骤三:通过序列号与时间戳生成方法获取序列号与时间戳。
步骤四:根据业务ID,时间戳,机器码,序列号的二进制数据,以及每个数据所占的bit位数拼接为一个64bit的ID,作为本实施方式生成的全局唯一ID。
图4是本发明一种实施方式提供的面向业务实体的全局ID生成方法中的生成的全局ID示意图,生成的全局ID如图所示。以上的业务ID,时间戳,机器码,序列号的顺序可以根据实际的需要进行调整,本实施例所列的顺序并不构成限定。
本发明所提供的一种实施方式中,还提供一种装置,所述装置包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现前述的面向业务实体的全局ID生成方法,生成面向业务实体的全局ID。其中,处理器可以包括但不限于通用处理器、专用处理器、常规处理器、多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、其他任何类型的集成电路(IC)以及状态机等等。在常用的场景中,该装置优选为服务器。
本发明的实施方式还提供一种存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述的面向业务实体的全局ID生成方法的步骤。
通过本发明上述技术方案,能够提升程序执行效率,通过ID能够解析出实际的业务含义,并且在大多数情况下能够保证生成的ID的有序性,以及局部的绝对有序性。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
Claims (10)
1.一种面向业务实体的全局ID生成方法,所述生成方法基于SnowFlake算法,其生成的全局ID包括时间戳、机器ID和序列号,其特征在于,所述全局ID还包括业务ID。
2.根据权利要求1所述的生成方法,其特征在于,所述业务ID与业务类型相对应。
3.根据权利要求1所述的生成方法,其特征在于,所述机器ID采用抢占式分布式锁的方式获取。
4.根据权利要求3所述的生成方法,其特征在于,所述机器ID采用以下方式获取:
接收包含机器ID的抢占请求,并在缓存服务中查询所述机器ID对应的缓存key是否存在;所述缓存服务响应于机器在服务启动时的连接,并保存有当前在线机器的缓存key;
若存在,则通知抢占请求的发送者重新生成机器ID并重新请求,重复上一步骤;若不存在,则采用所述机器ID作为所述抢占请求的发送者的机器ID,同时将所述机器ID对应的缓存key加入所述缓存服务。
5.根据权利要求4所述的生成方法,其特征在于,所述生成方法还包括:当接收到某一机器的服务关闭时,从所述缓存服务中删除所述机器的机器ID对应的缓存key。
6.根据权利要求4所述的生成方法,其特征在于,所述生成方法还包括:设置所述缓存key的生存周期,当所述生存周期内未收到其对应的机器的心跳信号时,从所述缓存服务中删除所述机器的机器ID对应的缓存key。
7.根据权利要求3所述的生成方法,其特征在于,所述时间戳和所述序列号采用以下步骤生成:
获取ID生成请求中的第一时间戳;
将所述第一时间戳与最近一次ID生成请求中的第二时间戳相比较;
若两者不相等,则以所述第一时间戳为所述全局ID中的所述时间戳,以预设起始序列号为所述全局ID中的所述序列号;
若两者相等,则以所述第一时间戳为所述全局ID中的所述时间戳,以所述最近一次ID生成请求所分配的序列号加1为所述全局ID中的所述序列号。
8.根据权利要求7所述的生成方法,其特征在于,所述生成方法还包括:判断所述全局ID中的所述序列号是否达到所述序列号的上限;若已达上限,则采用当前时间替换所述第一时间戳。
9.一种面向业务实体的全局ID生成装置,其特征在于,所述装置包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现权利要求1至8中任一项权利要求所述的面向业务实体的全局ID生成方法,生成面向业务实体的全局ID。
10.一种存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任一项权利要求所述的面向业务实体的全局ID生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910848935.8A CN110737806B (zh) | 2019-09-09 | 2019-09-09 | 面向业务实体的全局id生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910848935.8A CN110737806B (zh) | 2019-09-09 | 2019-09-09 | 面向业务实体的全局id生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737806A true CN110737806A (zh) | 2020-01-31 |
CN110737806B CN110737806B (zh) | 2023-12-01 |
Family
ID=69268164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910848935.8A Active CN110737806B (zh) | 2019-09-09 | 2019-09-09 | 面向业务实体的全局id生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737806B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651459A (zh) * | 2020-06-08 | 2020-09-11 | 北京首汽智行科技有限公司 | 一种基于Redis的业务ID生成方法 |
CN111782346A (zh) * | 2020-06-28 | 2020-10-16 | 中国工商银行股份有限公司 | 基于同库模式的分布式事务全局id生成方法及装置 |
CN112506929A (zh) * | 2020-12-15 | 2021-03-16 | 北京致远互联软件股份有限公司 | 一种基于分布式id生成的避免id碰撞的升级方法 |
CN113271342A (zh) * | 2021-04-27 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 一种信息处理方法及装置、存储介质 |
CN113806384A (zh) * | 2021-08-19 | 2021-12-17 | 紫光云(南京)数字技术有限公司 | 基于redis的分配递增整型数据的方法 |
CN112015818B (zh) * | 2020-08-31 | 2024-01-30 | 杭州欧若数网科技有限公司 | 分布式图数据库uuid生成方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141322A (en) * | 1997-05-09 | 2000-10-31 | General Datacomm, Inc. | Method and apparatus for precedence and preemption in ATM connection admission control |
CN106572165A (zh) * | 2016-10-26 | 2017-04-19 | 宜人恒业科技发展(北京)有限公司 | 一种分布式全局唯一id应用方法 |
CN108108252A (zh) * | 2017-12-20 | 2018-06-01 | 马上消费金融股份有限公司 | 一种全局唯一id生成方法、系统及存储介质 |
CN108171862A (zh) * | 2018-01-08 | 2018-06-15 | 北京值得买科技股份有限公司 | 一种发号方法及发号器 |
CN108512914A (zh) * | 2018-03-20 | 2018-09-07 | 北京奇艺世纪科技有限公司 | 一种业务id生成方法及装置 |
CN108959386A (zh) * | 2018-05-31 | 2018-12-07 | 深圳壹账通智能科技有限公司 | 分布式全局唯一id生成方法、装置、设备和存储介质 |
CN109639775A (zh) * | 2018-11-27 | 2019-04-16 | 湖南蚁为软件有限公司 | 全局单调递增id生成方法、装置、系统及设备 |
-
2019
- 2019-09-09 CN CN201910848935.8A patent/CN110737806B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141322A (en) * | 1997-05-09 | 2000-10-31 | General Datacomm, Inc. | Method and apparatus for precedence and preemption in ATM connection admission control |
CN106572165A (zh) * | 2016-10-26 | 2017-04-19 | 宜人恒业科技发展(北京)有限公司 | 一种分布式全局唯一id应用方法 |
CN108108252A (zh) * | 2017-12-20 | 2018-06-01 | 马上消费金融股份有限公司 | 一种全局唯一id生成方法、系统及存储介质 |
CN108171862A (zh) * | 2018-01-08 | 2018-06-15 | 北京值得买科技股份有限公司 | 一种发号方法及发号器 |
CN108512914A (zh) * | 2018-03-20 | 2018-09-07 | 北京奇艺世纪科技有限公司 | 一种业务id生成方法及装置 |
CN108959386A (zh) * | 2018-05-31 | 2018-12-07 | 深圳壹账通智能科技有限公司 | 分布式全局唯一id生成方法、装置、设备和存储介质 |
CN109639775A (zh) * | 2018-11-27 | 2019-04-16 | 湖南蚁为软件有限公司 | 全局单调递增id生成方法、装置、系统及设备 |
Non-Patent Citations (3)
Title |
---|
刘庭煜: "基于多维情境本体匹配的产品开发 过程业务产物智能推荐技术", 《计算机集成制造系统》, vol. 22, no. 12 * |
文盲青年: "《雪花算法 分布式ID生产器》" * |
蜗牛-WOLF: "《浅谈分布式锁--基于缓存(Redis,memcached,tair)实现篇》" * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111651459A (zh) * | 2020-06-08 | 2020-09-11 | 北京首汽智行科技有限公司 | 一种基于Redis的业务ID生成方法 |
CN111782346A (zh) * | 2020-06-28 | 2020-10-16 | 中国工商银行股份有限公司 | 基于同库模式的分布式事务全局id生成方法及装置 |
CN111782346B (zh) * | 2020-06-28 | 2024-05-24 | 中国工商银行股份有限公司 | 基于同库模式的分布式事务全局id生成方法及装置 |
CN112015818B (zh) * | 2020-08-31 | 2024-01-30 | 杭州欧若数网科技有限公司 | 分布式图数据库uuid生成方法、装置、设备及介质 |
CN112506929A (zh) * | 2020-12-15 | 2021-03-16 | 北京致远互联软件股份有限公司 | 一种基于分布式id生成的避免id碰撞的升级方法 |
CN113271342A (zh) * | 2021-04-27 | 2021-08-17 | 北京沃东天骏信息技术有限公司 | 一种信息处理方法及装置、存储介质 |
CN113271342B (zh) * | 2021-04-27 | 2023-03-07 | 北京沃东天骏信息技术有限公司 | 一种信息处理方法及装置、存储介质 |
CN113806384A (zh) * | 2021-08-19 | 2021-12-17 | 紫光云(南京)数字技术有限公司 | 基于redis的分配递增整型数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110737806B (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737806A (zh) | 面向业务实体的全局id生成方法及装置 | |
US9317555B2 (en) | Query method for a distributed database system and query apparatus | |
CN103248667B (zh) | 一种分布式系统的资源访问方法和系统 | |
CN108153849B (zh) | 一种数据库表切分方法、装置、系统和介质 | |
KR101231563B1 (ko) | 실시간 데이터 복제 | |
CN102567180A (zh) | 用于分布式处理系统中的相关警报传送的方法和系统 | |
US10048978B2 (en) | Apparatus and method for identifying a virtual machine having changeable settings | |
CN105808407A (zh) | 管理设备的方法、设备和设备管理控制器 | |
CN105359109A (zh) | 基于次计算机中的存储器错误移动主计算机中的对象 | |
US11561875B2 (en) | Systems and methods for providing data recovery recommendations using A.I | |
CN114564852B (zh) | 一种fmea数据节点的操作方法及电子设备 | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
BR112017001171B1 (pt) | Método executado em um dispositivo de computação, dispositivo de computação e dispositivo de memória legível por computador para recuperar a operacionalidade de um serviço baseado em nuvem | |
US20200409566A1 (en) | Key Value Store Using Progress Verification | |
CN104765652A (zh) | 一种数据备份和数据恢复方法及装置 | |
CN114746843A (zh) | 针对已分化数据恢复配置的存储器健康跟踪 | |
US20180275980A1 (en) | Optimizing feature deployment based on usage pattern | |
US11740827B2 (en) | Method, electronic device, and computer program product for recovering data | |
US10761940B2 (en) | Method, device and program product for reducing data recovery time of storage system | |
CN111488117B (zh) | 用于管理元数据的方法、电子设备和计算机可读介质 | |
US10423901B2 (en) | Management of event contexts using bookend events | |
US10291700B2 (en) | Network optimized scan with dynamic fallback recovery | |
US20210083931A1 (en) | Intention-based device component tracking system | |
EP2602718A1 (en) | Computer system management method and management device | |
CN113467941A (zh) | 用于分享信息的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |