【技术实现步骤摘要】
分布式ID获取方法、装置、电子设备和存储介质
本专利技术实施例涉及医疗技术,尤其涉及一种分布式ID获取方法、装置、电子设备和存储介质。
技术介绍
随着医疗业务数据量的不断增大,单表数据量过大导致医疗数据库性能下降严重,行业通用方案是使用分库分表技术来降低每张表的数据量,从而恢复单表的性能,而这种情况下就需要生成全局唯一的身份标识号(ID)。目前比较成熟的分布式全局唯一ID生成器,是使用推特(Twitter)开源的雪花(SnowFlake)算法来实现的,此外还有利用数据库来自增ID、redis生成ID等。但是上述各生成ID的方式中,每个业务每秒支持的ID数量是有限的,若当前时刻借用的ID数量超过业务支持的ID数量时,在无法提供给用户所需的ID数量。
技术实现思路
本专利技术实施例提供一种分布式ID获取方法、装置、电子设备和存储介质,以实现提供用户所需的ID数量,满足用户的个性化需求的效果。第一方面,本专利技术实施例提供了一种分布式ID获取方法,该方法包括:获取业务序列在当前时 ...
【技术保护点】
1.一种分布式ID获取方法,其特征在于,包括:/n获取业务序列在当前时刻待生成ID的第一数量,以及构建的ID池中每秒可生成ID的第二数量;/n若所述第一数量大于所述第二数量,则确定所述第一数量和所述第二数量的差值数量;/n从所述ID池中获取当前时刻之前的预设时间段内生成的所述差值数量的未应用业务序列ID;/n基于所述ID池生成的第二数量的业务序列ID和所述差值数量的未应用业务序列ID,生成目标分布式ID。/n
【技术特征摘要】
1.一种分布式ID获取方法,其特征在于,包括:
获取业务序列在当前时刻待生成ID的第一数量,以及构建的ID池中每秒可生成ID的第二数量;
若所述第一数量大于所述第二数量,则确定所述第一数量和所述第二数量的差值数量;
从所述ID池中获取当前时刻之前的预设时间段内生成的所述差值数量的未应用业务序列ID;
基于所述ID池生成的第二数量的业务序列ID和所述差值数量的未应用业务序列ID,生成目标分布式ID。
2.根据权利要求1所述的方法,其特征在于,在所述获取业务序列在当前时刻待生成ID的第一数量之前,所述方法还包括:
基于获取的当前时刻,构建默认ID池;
获取外界输入的当前业务类型,基于所述当前业务类型,判断所述默认ID池中是否包含与所述当前业务类型对应的业务序列ID;
若没有,则基于所述当前时刻和所述当前业务类型,构建与所述当前业务类型对应的ID池。
3.根据权利要求2所述的方法,其特征在于,获取构建的ID池中每秒可生成ID的第二数量,包括:
若所述默认ID池中包含与所述当前业务类型对应的业务序列ID,则获取构建的所述默认ID池中每秒可生成ID的第二数量。
4.根据权利要求2所述的方法,其特征在于,对于所述默认ID池,以及基于所述当前时刻和所述当前业务类型构建的与所述当前业务类型对应的ID池中的任一ID序列,包括:
所述ID序列为64位长整型数字,将所述ID序列分为第一预设数量的序列段,其中,各序列段中包含不同预设数量的长整型数字,各序列段中的不同预设数量的长整型数字分别代表不同的类型。
5.根据权利要求4所述的方法,其特征在于,所述第一预设数量为5,所述各序列段中的不同预设数量的长整型数字分别代表不同的类型,包括:
第一序列段中的第二预设数量的长整型数字代表根节点序列类型;
第二序列段中的第三预设数量的长整型数字代表业务序列类型;
第三序列段中的第四预设数量的长整型数字代表各实例序列类型;
第四序列段...
【专利技术属性】
技术研发人员:惠鹏,陈效华,刘宁,陈志峰,孙前方,黄克华,范春,黄智勇,杨子亮,
申请(专利权)人:卫宁健康科技集团股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。