System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种标识生成方法及相关设备技术_技高网

一种标识生成方法及相关设备技术

技术编号:40465859 阅读:4 留言:0更新日期:2024-02-22 23:19
本申请实施例提供了一种标识生成方法及相关设备,用于解决服务器时间回拨时标识重复的问题。本申请实施例方法包括:响应于所述分布式系统中服务器节点的标识生成请求,生成对应于任一所述服务器节点的节点标识码;根据所述节点标识码生成目标服务器节点的节点参数值;其中,所述目标服务器节点为对应于所述节点标识码的服务器节点;当生成的所述节点参数值于预设时间段内未满足预设阈值,根据所述节点标识码调用备份服务器节点的备用节点标识码,并根据所述节点参数值生成备份节点参数值;其中,所述备份服务器节点为与所述目标服务器节点对应的的服务器节点。

【技术实现步骤摘要】

本申请实施例涉及分布式系统,尤其涉及一种及相关设备。


技术介绍

1、随着软件应用的用户量、业务量上升,使得数据库中的数据量越来越庞大,从而导致软件应用服务的可用性,可拓展性逐渐下滑,导致用户体验差。

2、在微服务的软件架构,项目数据库升级分库分表的情况下,而在原生的雪花算法中,机器时钟回拨可能导致算法生成全局唯一标识(id,identity document)重复。由于雪花算法依赖时间戳,如果服务器的出现问题,时间可能回到之前,此时,时间就不能区分,会导致生成重复的id。


技术实现思路

1、本申请实施例提供了一种标识生成方法及相关设备,用于解决服务器时间回拨时标识重复的问题。

2、本申请实施例第一方面提供了一种标识生成方法,应用于分布式系统,所述分布式系统部署有多个服务器节点,所述方法包括:

3、响应于所述分布式系统中服务器节点的标识生成请求,生成对应于任一所述服务器节点的节点标识码;

4、根据所述节点标识码生成目标服务器节点的节点参数值;其中,所述目标服务器节点为对应于所述节点标识码的服务器节点;

5、当生成的所述节点参数值于预设时间段内未满足预设阈值,根据所述节点标识码调用备份服务器节点的备用节点标识码,并根据所述节点参数值生成备份节点参数值;其中,所述备份服务器节点为与所述目标服务器节点对应的的服务器节点。

6、可选地,所述生成对应于任一所述服务器节点的节点标识码之前,所述方法还包括:

7、定义任一所述服务器节点的雪花算法数据结构;其中,所述雪花算法数据结构至少包括时间戳码、数据中心码、节点标识码及序列号码,所述时间戳码用于描述所述服务器节点的记录数据时的时间点,所述数据中心码用于描述所述服务器节点位于的所述分布式系统的序号,所述节点标识码用于描述所述服务器节点对应于所述数据中心位的序号,所述序列号位用于描述所述服务器节点的所述节点参数值;

8、接收所述标识生成请求,并根据所述标识生成请求,将所述服务器节点部署于所述分布式系统;

9、当所述服务器节点部署于所述分布式系统成功时,执行所述生成对应于任一所述服务器节点的节点标识码的步骤。

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、从以上技术方案可以看出,本申请实施例具有以下优点:通过本申请实施例公开的一种标识生成方法,先响应于分布式系统中服务器节点的标识生成请求,生成对应于任一服务器节点的节点标识码;再根据节点标识码生成目标服务器节点的节点参数值,并设置节点参数值的有效时间;其中,目标服务器节点为对应于节点标识码的服务器节点;然后,当目标服务器节点的节点标识码在有效时间内,调用备份服务器节点,根据节点参数值生成备份节点参数值;其中,备份服务器节点为与目标服务器节点对应的的服务器节点;最后,若节点参数值与备份服务器节点的备份节点参数值匹配,重置节点参数值的有效时间,以完成目标服务器节点的节点标识码的生成过程。从而通过自动分配服务器节点的节点标识码及节点参数值,从而在有效时间内,能有效区分时间,从而尽可能地减少重复id的生成。

本文档来自技高网...

【技术保护点】

1.一种标识生成方法,其特征在于,应用于分布式系统,所述分布式系统部署有多个服务器节点,所述方法包括:

2.根据权利要求1所述的标识生成方法,其特征在于,所述生成对应于任一所述服务器节点的节点标识码之前,所述方法还包括:

3.根据权利要求1所述的标识生成方法,其特征在于,所述生成对应于任一所述服务器节点的节点标识码,包括:

4.根据权利要求3所述的标识生成方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的标识生成方法,其特征在于,所述根据所述节点标识码生成目标服务器节点的节点参数值,包括:

6.根据权利要求1所述的标识生成方法,其特征在于,所述根据所述节点标识码调用备份服务器节点的备用节点标识码,并根据所述节点参数值生成备份节点参数值之前,所述方法还包括:

7.根据权利要求1所述的标识生成方法,其特征在于,所述根据所述节点标识码生成目标服务器节点的节点参数值之后,所述方法还包括:

8.一种标识生成系统,其特征在于,应用于分布式系统,所述分布式系统部署有多个服务器节点,所述标识生成系统包括

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

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的标识生成方法。

...

【技术特征摘要】

1.一种标识生成方法,其特征在于,应用于分布式系统,所述分布式系统部署有多个服务器节点,所述方法包括:

2.根据权利要求1所述的标识生成方法,其特征在于,所述生成对应于任一所述服务器节点的节点标识码之前,所述方法还包括:

3.根据权利要求1所述的标识生成方法,其特征在于,所述生成对应于任一所述服务器节点的节点标识码,包括:

4.根据权利要求3所述的标识生成方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的标识生成方法,其特征在于,所述根据所述节点标识码生成目标服务器节点的节点参数值,包括:

6.根据权利要求1所述的标识生成方法,其特征在于,所...

【专利技术属性】
技术研发人员:杨得胜
申请(专利权)人:招银云创信息技术有限公司
类型:发明
国别省市:

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

1