System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 标识生成方法、装置、计算机设备和存储介质制造方法及图纸_技高网

标识生成方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:40550237 阅读:9 留言:0更新日期:2024-03-05 19:09
本申请涉及一种标识生成方法、装置、计算机设备和存储介质。所述方法包括:在目标容器进程启动的情况下,获取目标容器的容器标识;获取哈希表,将容器标识存储到哈希表中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识;根据工作标识,构建雪花算法;根据雪花算法,得到目标容器的唯一标识。采用本方法能够在容器化部署服务,快速高效的确定目标容器的工作标识,从而利用工作标识构建得到的雪花算法生成目标容器的全局唯一ID,提高了容器化部署分布式ID的生成效率。

【技术实现步骤摘要】

本申请涉及计算机,特别是涉及一种标识生成方法、装置、计算机设备、存储介质和计算机程序产品。


技术介绍

1、现在基于计算机技术的业务系统中,为了分辨和管理,对每一项业务均生成一个与之对应的具有唯一性的id,正如人们的身份证一样。

2、目前针对分布式数据库的全局id的主流生成方法有uuid/guid:它是32位26个字母和数字组成的字符串。这种方案大部分程序语言和数据库均提供直接支持。如果用这种方式,全局唯一id不需要额外任何开发工作量。但这种方式为数据库的id,其索引效率非常低效,因为它的生成32位字符串是随机的。并且这个方案无法独立运作,需要依赖数据库实现运行,因此,直接导致其低性能、高延迟和过长位描述的缺陷。

3、目前,在需要部署某容器化服务时,针对服务生成全局唯一id的效率较低。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够在需要部署某容器化服务时,针对该服务高效生成全局唯一id的标识生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。

2、第一方面,本申请提供了一种标识生成方法。包括:

3、在目标容器进程启动的情况下,获取目标容器的容器标识;

4、获取哈希表,将容器标识存储到哈希表中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识;

5、根据工作标识,构建雪花算法;

6、根据雪花算法,得到目标容器的唯一标识。

7、在其中一个实施例中,将容器标识存储到哈希表中,包括:

8、采用哈希算法计算容器标识的哈希值;

9、根据哈希值,将容器标识存储到哈希表中;哈希表长度为2的10次方,地址标记指定为0至1023。

10、在其中一个实施例中,根据哈希值,将容器标识存储到哈希表中,包括:

11、采用散列算法对哈希值进行处理,得到地址位;

12、根据地址位,在哈希表中确定容器标识对应的目标存储位置;

13、将容器标识存储到目标存储位置。

14、在其中一个实施例中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识,包括:

15、在哈希表中,针对每一个存储位置,添加唯一的地址标识;

16、获取目标存储位置对应的地址标识,作为述目标容器的工作标识。

17、在其中一个实施例中,方法还包括:

18、在目标容器进程销毁的情况下,在哈希表中,将目标存储位置存储的容器标识清空。

19、在其中一个实施例中,根据雪花算法,得到目标容器的唯一标识,包括:

20、根据容器标识,获取目标容器对应的标识时间戳;

21、获取雪花算法的运行环境下的系统时间戳;

22、在标识时间戳大于系统时间戳的情况下,生成报错信息;

23、在标识时间戳不大于系统时间戳的情况下,运行雪花算法,生成目标容器的唯一标识。

24、第二方面,本申请还提供了一种标识生成装置。装置包括:

25、获取模块,用于在目标容器进程启动的情况下,获取目标容器的容器标识;

26、转换模块,用于获取哈希表,将容器标识存储到哈希表中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识;

27、构建模块,用于根据工作标识,构建雪花算法;

28、生成模块,用于根据雪花算法,得到目标容器的唯一标识。

29、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

30、在目标容器进程启动的情况下,获取目标容器的容器标识;

31、获取哈希表,将容器标识存储到哈希表中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识;

32、根据工作标识,构建雪花算法;

33、根据雪花算法,得到目标容器的唯一标识。

34、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

35、在目标容器进程启动的情况下,获取目标容器的容器标识;

36、获取哈希表,将容器标识存储到哈希表中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识;

37、根据工作标识,构建雪花算法;

38、根据雪花算法,得到目标容器的唯一标识。

39、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

40、在目标容器进程启动的情况下,获取目标容器的容器标识;

41、获取哈希表,将容器标识存储到哈希表中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识;

42、根据工作标识,构建雪花算法;

43、根据雪花算法,得到目标容器的唯一标识。

44、上述标识生成方法、装置、计算机设备、存储介质和计算机程序产品,在目标容器进程启动的情况下,获取目标容器的容器标识;获取哈希表,将容器标识存储到哈希表中,获取容器标识在哈希表中的地址标识,作为目标容器的工作标识;根据工作标识,构建雪花算法;根据雪花算法,得到目标容器的唯一标识。能够在容器化部署服务,快速高效的确定目标容器的工作标识,从而利用工作标识构建得到的雪花算法生成目标容器的全局唯一id,提高了容器化部署分布式id的生成效率。

本文档来自技高网...

【技术保护点】

1.一种标识生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述容器标识存储到所述哈希表中,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述哈希值,将所述容器标识存储到所述哈希表中,包括:

4.根据权利要求3所述的方法,其特征在于,所述获取所述容器标识在所述哈希表中的地址标识,作为所述目标容器的工作标识,包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述根据所述雪花算法,得到所述目标容器的唯一标识,包括:

7.一种标识生成装置,其特征在于,所述装置包括:

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种标识生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述容器标识存储到所述哈希表中,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述哈希值,将所述容器标识存储到所述哈希表中,包括:

4.根据权利要求3所述的方法,其特征在于,所述获取所述容器标识在所述哈希表中的地址标识,作为所述目标容器的工作标识,包括:

5.根据权利要求3所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述根据所述雪花算法,...

【专利技术属性】
技术研发人员:胡天协范者正张年杰孙悦
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1