ID生成方法、装置、电子设备及存储介质制造方法及图纸

技术编号:27290814 阅读:21 留言:0更新日期:2021-02-06 11:59
本公开关于一种ID生成方法、装置、电子设备及存储介质。所述方法包括:根据所接收的ID生成请求,从已建立的多个ID生成服务中调用目标ID生成服务;获取目标ID生成服务根据预先配置的ID生成机制所得到的目标数据;获取对目标数据进行加工所对应的关联因子参数;根据目标数据以及关联因子参数,生成全局ID。根据本公开的方案,一方面,通过采用多个ID生成服务,增加了全局ID生成系统的可扩展性,从而能够支持任意并发的ID生成请求;另一方面,通过采用多个ID生成服务,增强了全局ID生成系统的高可用性,避免了单一服务故障导致的整体服务不可用。用。用。

【技术实现步骤摘要】
ID生成方法、装置、电子设备及存储介质


[0001]本公开涉及互联网
,尤其涉及一种ID生成方法、装置、电子设备及存储介质。

技术介绍

[0002]在各类网络业务系统中,往往需要使用全局唯一ID(Identity document,身份标识号)对大量的数据和消息等进行标识。例如,业务系统可以为电商、支付、视频等系统。当业务系统获取新账户的ID生成请求时,响应于该新账户的ID生成请求,为新账户生成新的全局唯一ID。
[0003]相关技术中,全局唯一ID可采用数据库自增ID机制。在业务系统接收到ID生成请求后,通过向单数据库的单张数据表插入新的数据,生成全局唯一ID。但是基于单个数据库、单张数据表的自增ID机制,每次只能处理一条ID生成请求,当出现高并发的ID生成请求时,存在响应超时的问题。

技术实现思路

[0004]本公开提供一种ID生成方法、装置、电子设备及存储介质,以至少解决相关技术中采用单数据库、单张数据表的方式生成全局ID存在响应超时的问题。本公开的技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种ID生成方法,包括:
[0006]根据所接收的ID生成请求,从已建立的多个ID生成服务中调用目标ID生成服务;获取所述目标ID生成服务根据预先配置的ID生成机制所得到的目标数据;获取对所述目标数据进行加工所对应的关联因子参数;根据所述目标数据以及所述关联因子参数,生成全局ID。
[0007]在其中一个实施例中,所述关联因子参数包括目标ID生成服务对应的目标服务序号,以及所述多个ID生成服务的服务数量;所述根据所述目标数据以及所述关联因子参数,生成全局ID,包括:获取所述目标数据和所述服务数量的乘积,再获取所述乘积与所述目标服务序号之和,将所述和作为所述全局ID。
[0008]在其中一个实施例中,所述获取所述目标ID生成服务根据预先配置的ID生成机制所得到的目标数据,包括:获取所述目标ID生成服务在对应的数据库的目标数据表中插入的数据,作为所述目标数据,所述目标ID生成服务对应的数据库中包含多张数据表,所述多张数据表是将已创建的若干数据表均匀划分至所述多个ID生成服务得到的。
[0009]在其中一个实施例中,所述获取所述目标ID生成服务根据预先配置的ID生成机制所得到的目标数据,包括:获取所述目标ID生成服务在对应的缓存服务的目标键中插入的键值,作为所述目标数据,所述目标ID生成服务对应的缓存服务中包含多个键,所述多个键是将已创建的若干键均匀划分至所述多个ID生成服务得到的。
[0010]在其中一个实施例中,所述目标数据为采用自增方式得到的数据。
[0011]在其中一个实施例中,所述从已建立的多个ID生成服务中调用目标ID生成服务,包括:随机从预先建立的所述多个ID生成服务中调用所述目标生成服务。
[0012]在其中一个实施例中,所述从已建立的多个ID生成服务中调用目标ID生成服务,包括:通过预先配置的负载均衡策略从所述多个ID生成服务中调用所述目标生成服务。
[0013]根据本公开实施例的第二方面,提供一种ID生成装置,包括:
[0014]服务调用模块,被配置为执行根据所接收的ID生成请求,从已建立的多个ID生成服务中调用目标ID生成服务;数据生成模块,被配置为执行获取所述目标ID生成服务根据预先配置的ID生成机制所得到的目标数据;获取模块,被配置为执行获取对所述目标数据进行加工所对应的关联因子参数;ID生成模块,被配置为执行根据所述目标数据以及所述关联因子参数,生成全局ID。
[0015]在其中一个实施例中,所述关联因子参数包括目标ID生成服务对应的目标服务序号,以及所述多个ID生成服务的服务数量;所述ID生成模块,被配置为执行获取所述目标数据和所述服务数量的乘积,再获取所述乘积与所述目标服务序号之和,将所述和作为所述全局ID。
[0016]在其中一个实施例中,所述数据生成模块,被配置为执行获取所述目标ID生成服务在对应的数据库的目标数据表中插入的数据,作为所述目标数据,所述目标ID生成服务对应的数据库中包含多张数据表,所述多张数据表是将已创建的若干数据表均匀划分至所述多个ID生成服务得到的。
[0017]在其中一个实施例中,所述数据生成模块,被配置为执行获取所述目标ID生成服务在对应的缓存服务的目标键中插入的键值,作为所述目标数据,所述目标ID生成服务对应的缓存服务中包含多个键,所述多个键是将已创建的若干键均匀划分至所述多个ID生成服务得到的。
[0018]在其中一个实施例中,所述目标数据为采用自增方式得到的数据。
[0019]在其中一个实施例中,所述服务调用模块,被配置为执行随机从预先建立的所述多个ID生成服务中调用所述目标生成服务。
[0020]在其中一个实施例中,所述服务调用模块,被配置为执行通过预先配置的负载均衡策略从所述多个ID生成服务中调用所述目标生成服务。
[0021]根据本公开实施例的第三方面,提供一种电子设备,包括:
[0022]处理器;用于存储所述处理器可执行指令的存储器;
[0023]其中,所述处理器被配置为执行所述指令,以实现第一方面的任一项实施例中所述的ID生成方法。
[0024]根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一方面的任一项实施例中所述的ID生成方法。
[0025]根据本公开实施例的第五方面,提供一种计算机程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器从所述可读存储介质读取并执行所述计算机程序,使得设备执行第一方面的任一项实施例中所述的ID生成方法。
[0026]本公开的实施例提供的技术方案至少带来以下有益效果:
[0027]预先建立多个ID生成服务。在接收到ID生成请求后,从已建立的多个ID生成服务中调用目标ID生成服务;通过目标ID生成服务根据预先配置的ID生成机制得到目标数据;获取对目标数据进行加工所对应的关联因子参数;根据预先配置的数据加工方式对目标数据进行加工,生成唯一性的全局ID。一方面,通过采用多个ID生成服务,增加了全局ID生成系统的可扩展性,从而能够支持任意并发的ID生成请求;另一方面,通过采用多个ID生成服务,增强了全局ID生成系统的高可用性,避免了单一服务故障导致的整体服务不可用。
[0028]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0029]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0030]图1示出了一种相关技术中生成全局ID的示意图。
[0031]图2是根据一示例性实施例示出的一种ID生成方法的应用环境图。
[0032]图3是根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ID生成方法,其特征在于,包括:根据所接收的ID生成请求,从已建立的多个ID生成服务中调用目标ID生成服务;获取所述目标ID生成服务根据预先配置的ID生成机制所得到的目标数据;获取对所述目标数据进行加工所对应的关联因子参数;根据所述目标数据以及所述关联因子参数,生成全局ID。2.根据权利要求1所述的ID生成方法,其特征在于,所述关联因子参数包括目标ID生成服务对应的目标服务序号,以及所述多个ID生成服务的服务数量;所述根据所述目标数据以及所述关联因子参数,生成全局ID,包括:获取所述目标数据和所述服务数量的乘积,再获取所述乘积与所述目标服务序号之和,将所述和作为所述全局ID。3.根据权利要求1所述的ID生成方法,其特征在于,所述获取所述目标ID生成服务根据预先配置的ID生成机制所得到的目标数据,包括:获取所述目标ID生成服务在对应的数据库的目标数据表中插入的数据,作为所述目标数据;所述目标ID生成服务对应的数据库中包含多张数据表,所述多张数据表是将已创建的若干数据表均匀划分至所述多个ID生成服务得到的。4.根据权利要求1所述的ID生成方法,其特征在于,所述获取所述目标ID生成服务根据预先配置的ID生成机制所得到的目标数据,包括:获取所述目标ID生成服务在对应的缓存服务的目标键中插入的键值,作为所述目标数据,所述目标ID生成服务对应的缓存服务中包含多个键,所述多个键是将已创建的若干键均...

【专利技术属性】
技术研发人员:韩文方
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1