CN111126537A - 标识码id的生成方法及相关产品 - Google Patents
标识码id的生成方法及相关产品 Download PDFInfo
- Publication number
- CN111126537A CN111126537A CN201911302835.1A CN201911302835A CN111126537A CN 111126537 A CN111126537 A CN 111126537A CN 201911302835 A CN201911302835 A CN 201911302835A CN 111126537 A CN111126537 A CN 111126537A
- Authority
- CN
- China
- Prior art keywords
- identification code
- records
- row
- record
- target
- 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 54
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000004891 communication Methods 0.000 claims description 8
- 239000012634 fragment Substances 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种标识码ID的生成方法及相关产品,通过在标识码ID的数据库表中增加多个行记录,进而基于该多个行记录分片利用ID号段,当短时间内多个设备发送标识码ID号段的获取请求时,可以基于标识码ID的数据库表中新增的多个行记录同时为各个设备分配生成码ID集合,这可以解决某一时段ID号段获取请求量骤增时出现的ID生成器响应超时的问题。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种标识码ID的生成方法及相关产品。
背景技术
标识码ID生成器是指能产生不重复ID服务的程序,在后台开发过程中,尤其是分布式服务、微服务程序开发过程中,经常会被用到。例如,标识码ID生成器能够为用户的每个请求产生一个唯一ID、为每个消息产生一个ID等等。标识码ID生成器是进行无状态服务开发的重要需求之一。
传统技术中,在ID生成器为设备分配ID号段时,包括如下步骤:响应于设备的ID号段获取请求增加事务锁;在标识码ID的数据库表增加一行记录,以更新最大标识码ID;根据更新最大标识码ID和更新前的最大标识码ID确定本次获取的ID号段,最后释放事务锁。
但是,由于应用上述方式分配ID号段,每次仅更新一行数据,即ID生成器仅可以处理一个事务请求,因此当某一时段ID号段获取请求量骤增时,会出现ID生成器响应超时的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种标识码ID的生成方法及相关产品。
本公开的第一方面提供一种标识码ID的生成方法,包括:
接收当前设备的标识码ID号段获取请求,响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;
从所述标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录在所述多个行记录中的序号生成标识码ID。
在其中一个实施例中,从标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID之前,所述方法还包括:
根据预设时长内接收的标识码ID号段获取请求的数量确定并发度;
根据并发度确定所述行记录的增加数量;根据所述行记录的增加数量在所述标识码ID的数据库表增加多个行记录。
在其中一个实施例中,所述响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段,包括:
获取标识码ID整体号段;
根据多个行记录的增加数量以及标识码ID整体号段确定为所述当前设备分配标识码ID号段。
在其中一个实施例中,从所述多个行记录中选择目标行记录更新最大标识码ID,包括:
随机从所述多个行记录中选择目标行记录,并锁定所述目标行记录;
根据所述标识码ID号段更新所述目标行记录的最大标识码ID;
在根据所述标识码ID号段更新所述目标行记录的最大标识码ID后,标记并释放所述目标行记录。
本公开的第二方面提供一种标识码ID的生成方法,包括:
发送标识码ID号段获取请求至标识码ID生成器;
接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号;其中,所述目标行记录为所述服务器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在所述多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录多个行记录;
根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
在其中一个实施例中,若所述多个行记录中的序号为连续编号,且所述多个行记录中的初始序号为0,
根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID,包括:
获取所述识别号段的当前识别号;
计算当前识别号与所述行记录的增加数量乘积与所述序号的和,得到当前生成的标识码ID。
本公开的第三方面提供一种标识码ID的生成装置,所述装置包括:
更新模块,被配置为在标识码ID的数据库表中增加至少一行记录;
通信模块,被配置为接收当前设备的标识码ID号段获取请求;
号段分配模块,被配置为响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;
更新模块还被配置为从所述多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录的序号生成标识码ID。
在其中一个实施例中,号段分配模块还被配置为根据预设时长内接收的标识码ID号段获取请求的数量确定并发度;根据并发度确定所述行记录的增加数量。
在其中一个实施例中,号段分配模块被配置为获取标识码ID整体号段;根据多个行记录的增加数量以及标识码ID整体号段确定为所述当前设备分配标识码ID号段。
在其中一个实施例中,所述更新模块被具体配置为随机从所述多个行记录中选择目标行记录,并锁定所述目标行记录;根据所述标识码ID号段更新所述目标行记录的最大标识码ID;在根据所述标识码ID号段更新所述目标行记录的最大标识码ID后,标记并释放所述目标行记录。
本公开的第四方面提供一种标识码ID的生成装置,包括:
通信模块,被配置为向标识码ID生成器发送标识码ID号段获取请求;以及,接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号;其中,所述目标行记录为所述标识码ID生成器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录;
标识码ID生成模块,被配置为根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
在其中一个实施例中,若所述多个行记录中的序号为连续编号,且所述多个行记录的初始序号为0,
标识码ID生成模块被具体配置获取所述识别号段的当前识别号;计算当前识别号与所述行记录的增加数量乘积与所述目标行记录的序号的和,得到当前生成的标识码ID。
本公开的第五方面提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现本公开的任一实施例中的标识码ID的生成方法。
本公开的第六方面提供一种设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求5或6所述的标识码ID的生成方法。
本公开的第七方面提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行本公开的任一实施例中的标识码ID的生成方法。
本公开的第八方面提供一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行现本公开的任一实施例中的标识码ID的生成方法。
上述标识码ID的生成方法及相关产品,通过在标识码ID的数据库表中增加多个行记录,进而基于该多个行记录分片利用ID号段,当短时间内多个设备发送标识码ID号段的获取请求时,可以基于标识码ID的数据库表中新增的多个行记录同时为各个设备分配生成码ID集合,这可以解决某一时段ID号段获取请求量骤增时出现的ID生成器响应超时的问题。
附图说明
图1为一个实施例中标识码ID的生成方法的应用环境图;
图2为一个实施例中标识码ID的生成方法的流程示意图;
图3为一个实施例中S11步骤的流程示意图;
图4为另一个实施例中标识码ID的生成方法的流程示意图;
图5为另一个实施例中标识码ID的生成方法的流程示意图;
图6为一个实施例中标识码ID的生成装置的结构框图;
图7为另一个实施例中标识码ID的生成装置的结构框图;
图8为一个实施例中一种服务器的内部结构图;
图9为一个实施例中一种设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的标识码ID(简称ID)的生成方法,可以应用于如图1所示的应用环境中。其中,设备102通过网络与ID生成器104通过网络进行通信。其中,设备102可以但不限于是各种业务平台,该业务平台包含但不限于视频服务平台,通信服务平台等等,标识码ID生成器104运行在一服务器上,可以基于设备发送的ID号段获取请求为相应的设备分配ID号段。
在一个实施例中,如图2所示,提供了一种标识码ID的生成方法,以该方法应用于图1中的标识码ID生成器104为例进行说明,包括以下步骤:
在步骤S11中,接收当前设备的标识码ID号段获取请求,响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段。
在步骤S12中,从所述标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录在所述多个行记录中的序号生成标识码ID。
其中,标识码ID又称全局唯一标识。标识码ID可以包含两个字段,其中一个字段表示业务类型(业务字段),另一字段为自动增长字段。标识码ID的数据库表中包含多个行记录。每行记录记载了ID生成器为一个设备分配一次标识码ID号段的信息。该标识码ID号段的信息可以包括:更新前最大标识码ID,更新后的最大标识码ID,设备信息等等。应当清楚的是,一般情况下,标识码ID的数据库表中一次增加的多个行记录对应标识码ID号段相同。
可选地,标识码ID生成器可以在一个预设时段内每次在标识码ID的数据库表中增加行记录时,增加多个行记录。该预设时段可以是经过统计得到的ID获取请求高并发的时段。可选地,标识码ID生成器还可以在单次增加的多个行记录全部更新完最大标识码ID后,在标识码ID的数据库表增加多个行记录。可选地,标识码ID生成器在增加多个行记录时可以每次增加固定数量的行记录,也可以选择基于并发度增加多个行记录。
可选地,ID生成器可以根据预设时长内接收的标识码ID号段获取请求的数量确定并发度;并根据并发度确定所述行记录的增加数量;根据所述行记录的增加数量在所述标识码ID的数据库表增加多个行记录。可选地,该预设时长可以根据ID生成器完成一次标识码ID号段的分配使用的时间确定。可选地,该预设时长可以为0.5-1s。根据并发度确定行记录的增加数量可以准确的在标识码ID的数据库表增加行记录。这样在后续使用时可以更加集中的使用标识码ID的某一号段,这可以减少碎片化的数据生成,利于标识码ID过程的数据存储。
可选地,ID生成器在从行记录选择目标行记录时可以随机选择,也可以按序选择。
可选地,为了减少同标识码ID号段的设备的数据冲突,在更新目标行记录时引入事务锁。具体地,步骤S13可以包括:随机从所述多个行记录中选择目标行记录,并锁定所述目标行记录;根据所述标识码ID号段更新所述目标行记录的最大标识码ID;在根据所述标识码ID号段更新所述目标行记录的最大标识码ID后,标记并释放所述目标行记录。应当理解的是,在行记录被更新后,需进行标记,以免该行记录被重复利用造成数据冲突。
可选地,为了避免ID生成器在分配号段时的数据冲突,也可以利用事务锁来锁定各个标识码ID号段获取过程。即使用事务锁保证ID生成器每次仅分配一个ID号段。
上述标识码ID的生成方法中,通过在标识码ID的数据库表中增加多个行记录,进而基于该多个行记录分片利用ID号段,当短时间内多个设备发送标识码ID号段的获取请求时,可以基于标识码ID的数据库表中新增的多个行记录同时为各个设备分配生成码ID集合,这可以解决某一时段ID号段获取请求量骤增时出现的ID生成器响应超时的问题。
在其中一个实施例中,如图3所示,在执行步骤S11时可以包括:
在执行步骤S111时,获取标识码ID整体号段。
在执行步骤S112时,根据多个行记录的增加数量以及标识码ID整体号段确定为所述当前设备分配标识码ID号段。
其中,标识码ID整体号段包含新增的所有行记录对应的所有标识码ID。可选地,为所述当前设备分配标识码ID号段为[start,end],行记录的增加数量为m;则标识码ID整体号段为[start*m,end*m+m-1]。
可选地,为了避免标识码ID整体号段获取中的事务冲突,在识码ID生成器在分配一个ID整体号段之前首先进行事务锁定,在获取到一个ID整体号段之后释放该事务。
本实施例的方法可以保证ID生成器分配到各个设备的ID不重复。
基于同样的发明构思,在另一个实施例中,如图4所示,提供了一种标识码ID的生成方法,以该方法应用于图1中的设备104为例进行说明,包括以下步骤:
在步骤S21中,发送标识码ID号段获取请求至标识码ID生成器。
在步骤S22中,接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号。
在步骤S23中,根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
其中,所述目标行记录为所述标识码ID生成器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在所述多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录。标识码ID生成器响应所述标识码ID号段获取请求的过程可以上述应用于ID生成器中的标识码ID的生成方法,在此不再详述。
可选地,设备可以根据ID生成器在为设备分配标识码ID集时使用的分片规则,确定计算规则,该计算规则用于对标识码ID号段、所述行记录的增加数量以及所述目标行记录的在所述多个行记录中的序号进行计算,得到标识码ID。可选地,该分片规则包含将ID整体号段分片的数量,以及各个分片的编号。一般情况下,该分片的数量与行记录的增加数量对应。为了方便计算该编号一般为连续编号,且该编号的初始值一般为0。即标识码ID的数据库表中增加的多个行记录连续编号,且多个行记录中的初始序号为0。此时,步骤S23可以包括:获取所述识别号段的当前识别号;计算当前识别号与所述行记录的增加数量乘积与所述序号的和,得到当前生成的标识码ID。
例如,ID生成器在分配了某一标识码ID整体号段为[start*m,end*m+m-1]后,将该整体号段分成m个分片。即ID生成器在标识码ID的数据库表中创建m个行记录,100个行记录分别为user 0,user 1,...,user m。基于此,确定的标识码ID号段为[start,end]。设备A对应的目标行为x,在设备A获取的当前识别号为i时,生成的标识码ID为i*m+x。
当然,编号也可以不是连续编号,例如,该编号为间隔取值,例如使用0,2,
4,……,2n为多个行记录编号,此时可以先对这些编号进行除法运算,之后再利用除法运算得到的数值,当前识别号以及行记录的增加数量计算当前生成的标识码ID。同理,该编号的初始值不为0时,也可以通过简单的加减运算,对该数值进行归零校准,之后再通过与上述方法类似的运算获取当前生成的标识码ID。
上述标识码ID的生成方法中,在ID生成器需同时为多个设备分配ID集合时,获取标识码ID号段和对应的目标行记录的序号,并基于该标识码ID号段和对应的目标行记录的序号从ID生成器为当前设备分配的ID集中生成标识码ID。这可以解决某一时段ID号段获取请求量骤增时出现的ID生成器响应超时的问题。
基于同样的发明构思,在本公开的另一实施例中提出了另一种标识码ID的生成方法。该标识码ID的生成可以应用到如图1所示的应用环境中,图5为ID生成器与设备交互实现本实施例的标识码ID的生成的交互示意图。该方法包括:
在步骤S31中,当前设备发送标识码ID号段获取请求至标识码ID生成器。
在步骤S32中,ID生成器接收当前设备的标识码ID号段获取请求,响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;从标识码ID的数据库表增加的多个行记录选择目标行记录更新最大标识码ID。
在步骤S33中,当前设备接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号,根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
上述标识码ID的生成方法中,通过在标识码ID的数据库表中增加多个行记录,进而基于该多个行记录分片利用ID号段,当短时间内多个设备发送标识码ID号段的获取请求时,可以基于标识码ID的数据库表中新增的多个行记录同时为各个设备分配生成码ID集合,这可以解决某一时段ID号段获取请求量骤增时出现的ID生成器响应超时的问题。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种标识码ID的生成装置,所述装置包括:
通信模块610,被配置为接收当前设备的标识码ID号段获取请求;
号段分配模块620,被配置为响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;
更新模块630还被配置为从标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录的序号生成标识码ID。
在其中一个实施例中,号段分配模块620还被配置为根据预设时长内接收的标识码ID号段获取请求的数量确定并发度;根据并发度确定所述行记录的增加数量;根据所述行记录的增加数量在所述标识码ID的数据库表增加多个行记录。
在其中一个实施例中,号段分配模块620被配置为获取标识码ID整体号段;根据多个行记录的增加数量以及标识码ID整体号段确定为所述当前设备分配标识码ID号段。
在其中一个实施例中,所述更新模块630被具体配置为随机从所述多个行记录中选择目标行记录,并锁定所述目标行记录;根据所述标识码ID号段更新所述目标行记录的最大标识码ID;在根据所述标识码ID号段更新所述目标行记录的最大标识码ID后,标记并释放所述目标行记录。
在一个实施例中,如图7所示,提供了另一种标识码ID的生成装置,所述装置包括:
通信模块710,被配置为向服务器发送标识码ID号段获取请求;以及,接收服务器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号;其中,所述目标行记录为所述标识码ID生成器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录;
标识码ID生成模块720,被配置为根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
在其中一个实施例中,若所述行记录的初始序号为0,标识码ID生成模块720被具体配置获取所述识别号段的当前识别号;计算当前识别号与所述行记录的增加数量乘积与所述目标行记录的序号的和,得到当前生成的标识码ID。
关于标识码ID的生成装置的具体限定可以参见上文中对于标识码ID的生成方法的限定,在此不再赘述。上述标识码ID的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种服务器,其内部结构图可以如图8所示。该服务器包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该服务器的数据库用于存储标识码ID的数据库表。该服务器的网络接口用于与外部的设备通过网络连接通信。该计算机程序被处理器执行时以实现一种标识码ID的生成方法。
在一个实施例中,提供了一种设备,其内部结构图可以如图9所示。该设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该设备的网络接口用于与外部的设备通过网络连接通信。该计算机程序被处理器执行时以实现一种标识码ID的生成方法。该设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该设备的输入装置可以是显示屏上覆盖的触摸层,也可以是设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8或图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种服务器,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如下步骤:接收当前设备的标识码ID号段获取请求,响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;从标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录在所述多个行记录中的序号生成标识码ID。
在一个实施例中,所述处理器被配置为执行所述指令,还可以实现如下步骤:根据预设时长内接收的标识码ID号段获取请求的数量确定并发度;根据并发度确定所述行记录的增加数量;根据所述行记录的增加数量在所述标识码ID的数据库表增加多个行记录。
在一个实施例中,所述处理器被配置为执行所述指令,具体实现如下步骤:获取标识码ID整体号段;根据多个行记录的增加数量以及标识码ID整体号段确定为所述当前设备分配标识码ID号段。
在一个实施例中,所述处理器被配置为执行所述指令,具体实现如下步骤:随机从所述多个行记录中选择目标行记录,并锁定所述目标行记录;根据所述标识码ID号段更新所述目标行记录的最大标识码ID;在根据所述标识码ID号段更新所述目标行记录的最大标识码ID后,标记并释放所述目标行记录。
在一个实施例中,提供了一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如下步骤:接收当前设备的标识码ID号段获取请求,响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;从标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录在所述多个行记录中的序号生成标识码ID。
在一个实施例中,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如下步骤:根据预设时长内接收的标识码ID号段获取请求的数量确定并发度;根据并发度确定所述行记录的增加数量;根据所述行记录的增加数量在所述标识码ID的数据库表增加多个行记录。
在一个实施例中,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如下步骤:获取标识码ID整体号段;根据多个行记录的增加数量以及标识码ID整体号段确定为所述当前设备分配标识码ID号段。
在一个实施例中,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如下步骤:随机从所述多个行记录中选择目标行记录,并锁定所述目标行记录;根据所述标识码ID号段更新所述目标行记录的最大标识码ID;在根据所述标识码ID号段更新所述目标行记录的最大标识码ID后,标记并释放所述目标行记录。
在一个实施例中,提供了一种服务器,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如下步骤:发送标识码ID号段获取请求至标识码ID生成器;接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号;其中,所述目标行记录为所述标识码ID生成器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在所述多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录;根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
在一个实施例中,若所述多个行记录中的序号为连续编号,且所述多个行记录中的初始序号为0,所述处理器被配置为执行所述指令,具体可以实现如下步骤:获取所述识别号段的当前识别号;计算当前识别号与所述行记录的增加数量乘积与所述序号的和,得到当前生成的标识码ID。
在一个实施例中,提供了一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如下步骤:发送标识码ID号段获取请求至标识码ID生成器;接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号;其中,所述目标行记录为所述服务器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在所述多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录;根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
在一个实施例中,若所述多个行记录中的序号为连续编号,且所述多个行记录中的初始序号为0,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如下步骤:获取所述识别号段的当前识别号;计算当前识别号与所述行记录的增加数量乘积与所述序号的和,得到当前生成的标识码ID。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种标识码ID的生成方法,其特征在于,包括:
接收当前设备的标识码ID号段获取请求,响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;
从标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录在所述多个行记录中的序号生成标识码ID。
2.根据权利要求1所述的方法,其特征在于,从标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID之前,所述方法还包括:
根据预设时长内接收的标识码ID号段获取请求的数量确定并发度;
根据所述并发度确定所述行记录的增加数量;
根据所述行记录的增加数量在所述标识码ID的数据库表增加多个行记录。
3.根据权利要求2所述的方法,其特征在于,所述响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段,包括:
获取标识码ID整体号段;
根据多个行记录的增加数量以及标识码ID整体号段确定为所述当前设备分配标识码ID号段。
4.根据权利要求1所述的方法,其特征在于,从所述多个行记录中选择目标行记录更新最大标识码ID,包括:
随机从所述多个行记录选择目标行记录,并锁定所述目标行记录;
根据所述标识码ID号段更新所述目标行记录的最大标识码ID;
在根据所述标识码ID号段更新所述目标行记录的最大标识码ID后,标记并释放所述目标行记录。
5.一种标识码ID的生成方法,其特征在于,包括:
发送标识码ID号段获取请求至标识码ID生成器;
接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号;其中,所述目标行记录为所述标识码ID生成器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录;
根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
6.根据权利要求5所述的方法,其特征在于,若所述多个行记录中的序号为连续编号,且所述多个行记录中的初始序号为0,
根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID,包括:
获取识别号段的当前识别号;
计算当前识别号与所述行记录的增加数量乘积与所述序号的和,得到当前生成的标识码ID。
7.一种标识码ID的生成装置,其特征在于,所述装置包括:
通信模块,被配置为接收当前设备的标识码ID号段获取请求;
号段分配模块,被配置为响应于所述标识码ID号段获取请求为所述当前设备分配标识码ID号段;
更新模块还被配置为从标识码ID的数据库表增加的多个行记录中选择目标行记录更新最大标识码ID,以使所述当前设备根据所述标识码ID号段、行记录的增加数量以及所述目标行记录的序号生成标识码ID。
8.一种标识码ID的生成装置,其特征在于,包括:
通信模块,被配置为向标识码ID生成器发送标识码ID号段获取请求;以及,接收标识码ID生成器响应于所述标识码ID号段获取请求返回的标识码ID号段和目标行记录的序号;其中,所述目标行记录为所述标识码ID生成器更新最大标识码ID的行记录,所述目标行记录的序号为目标行记录在多个行记录中的序号;所述多个行记录为标识码ID生成器在标识码ID的数据库表中增加的多个行记录;
标识码ID生成模块,被配置为根据所述标识码ID号段、所述行记录的增加数量以及所述目标行记录的序号生成标识码ID。
9.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1至4中任一项所述的标识码ID的生成方法。
10.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求5或6所述的标识码ID的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302835.1A CN111126537B (zh) | 2019-12-17 | 2019-12-17 | 标识码id的生成方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302835.1A CN111126537B (zh) | 2019-12-17 | 2019-12-17 | 标识码id的生成方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111126537A true CN111126537A (zh) | 2020-05-08 |
CN111126537B CN111126537B (zh) | 2024-03-12 |
Family
ID=70499335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911302835.1A Active CN111126537B (zh) | 2019-12-17 | 2019-12-17 | 标识码id的生成方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111126537B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181306A (zh) * | 2020-10-10 | 2021-01-05 | 杭州电子科技大学 | 一种号段模式下生成分布式id的方法 |
CN112328598A (zh) * | 2020-11-09 | 2021-02-05 | 北京达佳互联信息技术有限公司 | Id生成方法、装置、电子设备及存储介质 |
CN113726743A (zh) * | 2021-07-30 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种网络重放攻击的检测方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300066A1 (en) * | 2008-05-30 | 2009-12-03 | Yahoo! Inc. | Universal device identifier for globally identifying and binding disparate device identifiers to the same mobile device |
CN104040539A (zh) * | 2012-12-31 | 2014-09-10 | 华为技术有限公司 | 数据存储方法和装置、数据操作方法、***及接入服务器 |
CN106506663A (zh) * | 2016-11-22 | 2017-03-15 | 北京科摩仕捷科技有限公司 | 一种号码分配方法、服务器及*** |
CN107360224A (zh) * | 2017-07-07 | 2017-11-17 | 携程旅游信息技术(上海)有限公司 | 分布式***中序列号生成方法、***、设备及存储介质 |
CN108647308A (zh) * | 2018-05-09 | 2018-10-12 | 曙光信息产业(北京)有限公司 | 分布式***的序列号生成方法及装置 |
-
2019
- 2019-12-17 CN CN201911302835.1A patent/CN111126537B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300066A1 (en) * | 2008-05-30 | 2009-12-03 | Yahoo! Inc. | Universal device identifier for globally identifying and binding disparate device identifiers to the same mobile device |
CN104040539A (zh) * | 2012-12-31 | 2014-09-10 | 华为技术有限公司 | 数据存储方法和装置、数据操作方法、***及接入服务器 |
CN106506663A (zh) * | 2016-11-22 | 2017-03-15 | 北京科摩仕捷科技有限公司 | 一种号码分配方法、服务器及*** |
CN107360224A (zh) * | 2017-07-07 | 2017-11-17 | 携程旅游信息技术(上海)有限公司 | 分布式***中序列号生成方法、***、设备及存储介质 |
CN108647308A (zh) * | 2018-05-09 | 2018-10-12 | 曙光信息产业(北京)有限公司 | 分布式***的序列号生成方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181306A (zh) * | 2020-10-10 | 2021-01-05 | 杭州电子科技大学 | 一种号段模式下生成分布式id的方法 |
CN112328598A (zh) * | 2020-11-09 | 2021-02-05 | 北京达佳互联信息技术有限公司 | Id生成方法、装置、电子设备及存储介质 |
CN112328598B (zh) * | 2020-11-09 | 2024-01-09 | 北京达佳互联信息技术有限公司 | Id生成方法、装置、电子设备及存储介质 |
CN113726743A (zh) * | 2021-07-30 | 2021-11-30 | 苏州浪潮智能科技有限公司 | 一种网络重放攻击的检测方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111126537B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111126537B (zh) | 标识码id的生成方法及相关产品 | |
CN108648323B (zh) | 目标信息的选取方法、装置、计算机设备和存储介质 | |
CN109600408B (zh) | 资源分享方法、装置、存储介质和计算机设备 | |
CN108280761B (zh) | 增信方分配方法、装置、计算机设备和存储介质 | |
CN109587220B (zh) | 负载均衡方法、装置、计算机设备和存储介质 | |
CN107861811B (zh) | 工作流***中的任务信息传输方法、装置和计算机设备 | |
CN110704177B (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN112099979B (zh) | 一种访问控制方法、装置、计算机设备和存储介质 | |
CN108234549B (zh) | 保单信息核对方法和装置 | |
CN110489227B (zh) | 一种资源分配方法、装置、计算机设备和存储介质 | |
CN110516465B (zh) | 资源地址的管理方法、装置、设备及计算机可读存储介质 | |
CN111898102A (zh) | 权限配置方法、装置、计算机设备和存储介质 | |
CN111163186B (zh) | 一种id生成方法、装置、设备和存储介质 | |
CN110597834A (zh) | 电子票据数据处理方法、装置和计算机设备 | |
CN113032156A (zh) | 内存分配方法和装置、电子设备和存储介质 | |
CN111209111B (zh) | 基于区块链***的资源分配方法、装置、设备和存储介质 | |
CN114564282A (zh) | 一种基于分布式资源共享的仿真平台及其资源分配方法 | |
CN110519392B (zh) | 资源分配方法、装置、设备、可读存储介质及*** | |
CN113743979A (zh) | 虚拟资源分配方法、装置、计算机设备和存储介质 | |
CN110298549B (zh) | 机场建设工程的项目任务处理方法、装置、设备和介质 | |
CN114173396A (zh) | 终端联网时间的确定方法和装置、电子设备和存储介质 | |
CN111523931A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN111047187A (zh) | 信息匹配处理方法、装置、计算机设备和存储介质 | |
CN117130784A (zh) | 资源分配方法、装置、电子设备及存储介质 | |
CN113076318A (zh) | 一种用户id分配方法、装置、计算机设备及存储介质 |
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 |