分布式标识的获取方法、装置、电子设备和存储介质与流程

未命名 10-18 阅读:121 评论:0


1.本公开涉及计算机应用领域,尤其涉及一种分布式标识的获取方法、装置、电子设备和存储介质。


背景技术:

2.相关技术中,异地多活部署系统获取分布式标识(identity,简称id)的方式,大多是通过一个单独的分布式id子系统获取,分布式id子系统为了保证分布式id全局唯一,通常使用数据库等单点(非多活)部署方式存储每个分布式id对应的当前值,异地多活部署的其他子系统调用分布式id子系统暴露的接口服务,获取最新的全局唯一的不重复的值。当分布式id子系统依赖的数据库等单点存储所在的机房区域出现故障时,分布式id子系统无法提供分布式id相关的服务,导致其他可用机房的子系统不能快速通过分布式id子系统获取最新全局唯一不重复的分布式id的值。


技术实现要素:

3.本公开提供一种分布式标识的获取方法、装置、电子设备、计算机可读存储介质和计算机程序产品,以至少解决相关技术中当分布式id子系统依赖的数据库等单点存储所在的机房区域出现故障时,其他可用机房的子系统不能快速通过分布式id子系统获取最新全局唯一不重复的分布式id的值的问题。
4.本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种分布式标识的获取方法,包括:获取分布式标识子系统所在机房的业务子系统的调用请求;根据所述调用请求从所述所在机房的分布式标识配置数据库获取分布式标识配置信息,所述分布式标识配置信息中包括所述所在机房的取号规则,不同机房的所述取号规则对应的分布式标识的值的取值范围不同;根据所述调用请求从所述所在机房的分布式标识数据库获取所述分布式标识的值;根据所述取号规则和所述分布式标识的值确定分布式标识的目标值;将所述分布式标识的目标值发送至所述业务子系统。
6.在本公开的一个实施例中,所述取号规则为预设的取值号段。
7.在本公开的一个实施例中,所述取号规则为与第一预设数值相除后的余数与第二预设数值的大小关系,所述第二预设数值小于所述第一预设数值。
8.在本公开的一个实施例中,所述第二预设数值为多个。
9.在本公开的一个实施例中,所述根据所述取号规则和所述分布式标识的值确定分布式标识的目标值,包括:若所述分布式标识的值满足所述取号规则,则将所述分布式标识的值确定为所述分布式标识的目标值。
10.在本公开的一个实施例中,所述根据所述取号规则和所述分布式标识的值确定分布式标识的目标值,包括:若所述分布式标识的值不满足所述取号规则,则根据所述调用请求重新从所述所在机房的分布式标识数据库获取所述分布式标识的值,并根据所述取号规
则和重新获取的所述分布式标识的值确定所述分布式标识的目标值。
11.在本公开的一个实施例中,所述分布式标识配置信息中还包括分布式系统中除所述所在机房之外的其他机房的取号规则。
12.在本公开的一个实施例中,所述分布式标识的获取方法还包括:同步不同机房的所述分布式标识配置数据库中的所述分布式标识配置信息。
13.在本公开的一个实施例中,所述分布式标识配置信息为所述所在机房的分布式标识配置子系统存储至所述分布式标识配置数据库中的。
14.根据本公开实施例的第二方面,提供一种分布式标识的获取装置,包括:第一获取模块,被配置为获取分布式标识子系统所在机房的业务子系统的调用请求;第二获取模块,被配置为根据所述调用请求从所述所在机房的分布式标识配置数据库获取分布式标识配置信息,所述分布式标识配置信息中包括所述所在机房的取号规则,不同机房的所述取号规则对应的分布式标识的值的取值范围不同;第三获取模块,被配置为根据所述调用请求从所述所在机房的分布式标识数据库获取所述分布式标识的值;确定模块,被配置为根据所述取号规则和所述分布式标识的值确定分布式标识的目标值;发送模块,被配置为将所述分布式标识的目标值发送至所述业务子系统。
15.在本公开的一个实施例中,所述取号规则为预设的取值号段。
16.在本公开的一个实施例中,所述取号规则为与第一预设数值相除后的余数与第二预设数值的大小关系,所述第二预设数值小于所述第一预设数值。
17.在本公开的一个实施例中,所述第二预设数值为多个。
18.在本公开的一个实施例中,所述确定模块进一步被配置为:若所述分布式标识的值满足所述取号规则,则将所述分布式标识的值确定为所述分布式标识的目标值。
19.在本公开的一个实施例中,所述确定模块进一步被配置为:若所述分布式标识的值不满足所述取号规则,则触发所述第三获取模块根据所述调用请求重新从所述所在机房的分布式标识数据库获取所述分布式标识的值,并根据所述取号规则和所述第三获取模块重新获取的所述分布式标识的值确定所述分布式标识的目标值。
20.在本公开的一个实施例中,所述分布式标识配置信息中还包括分布式系统中除所述所在机房之外的其他机房的取号规则。
21.在本公开的一个实施例中,所述分布式标识的获取装置还包括:同步模块,被配置为同步不同机房的所述分布式标识配置数据库中的所述分布式标识配置信息。
22.在本公开的一个实施例中,所述分布式标识配置信息为所述所在机房的分布式标识配置子系统存储至所述分布式标识配置数据库中的。
23.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如前第一方面所述的分布式标识的获取方法。
24.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前第一方面所述的分布式标识的获取方法。
25.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前第一方面所述的分布式标识的获取方法。
26.本公开的实施例提供的技术方案至少带来以下有益效果:根据分布式标识子系统所在机房的业务子系统的调用请求,从所在机房的分布式标识配置数据库获取分布式标识配置信息,标识配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式标识的值的取值范围不同,从所在机房的分布式标识数据库获取分布式标识的值,根据取号规则和分布式标识的值确定分布式标识的目标值,将分布式标识的目标值发送至业务子系统。由此,本公开中通过在每个机房设置分布式id子系统、分布式标识数据库和分布式标识配置数据库,当分布式id子系统依赖的分布式标识数据库单点存储所在的机房区域出现故障时,其他可用机房的业务子系统仍能快速通过自身机房的分布式id子系统获取分布式id的值,且不同机房的取号规则对应的分布式标识的值的取值范围不同,保证了不同机房的业务子系统获取到的分布式标识的目标值是最新全局唯一不重复的分布式id的值。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
28.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
29.图1是根据本公开第一实施例的分布式标识的获取方法的流程示意图。
30.图2是根据本公开第二实施例的分布式标识的获取方法的场景示意图。
31.图3是根据本公开第三实施例的分布式标识的获取方法的流程示意图。
32.图4是根据本公开第四实施例的分布式标识的获取方法的整体流程示意图。
33.图5是根据本公开第一实施例的分布式标识的获取装置的框图。
34.图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
35.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
36.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
37.本公开技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
38.在本公开实施例中,术语“异地多活部署(remote multi active deployment)”是指多活信息系统中至少有一个多活子信息系统与其他多活子信息系统均处于不同地理区的部署模式。
39.在本公开实施例中,术语“分布式id(distributed id)”是指在分布式系统中,对大量的数据和消息能进行标识的全局唯一id。
40.图1是根据本公开第一实施例的分布式标识的获取方法的流程示意图。
41.如图1所示,本公开实施例的分布式标识的获取方法,具体可包括以下步骤:
42.在步骤s101中,获取分布式标识子系统所在机房的业务子系统的调用请求。
43.在本公开实施例中,本公开的分布式标识的获取方法的执行主体为电子设备。本公开实施例的分布式标识的获取方法可以由本公开实施例的分布式标识的获取装置执行,本公开实施例的分布式标识的获取装置可以配置在任意电子设备例如分布式标识子系统中,以执行本公开实施例的分布式标识的获取方法。
44.图2是根据本公开实施例的分布式标识的获取方法的场景示意图。如图2所示,异地多活部署的分布式系统中至少包括异地部署的机房1和机房2,每个机房中分别设置有多个业务子系统,例如业务子系统a、业务子系统
……
,每个机房中还设置有分布式id子系统、分布式id数据库(即id对应的数据库)、分布式id配置数据库(即id配置对应的数据库)和分布式id配置子系统。分布式id数据库中存储有当前分布式标识的值,分布式id配置数据库中存储有分布式id配置信息。分布式id配置信息可以是用户通过分布式id配置子系统预先存储至分布式id配置数据库中的。
45.业务子系统调用所在机房的分布式id子系统时,将调用请求发送至所在机房的分布式id子系统,分布式id子系统接收该调用请求。
46.在步骤s102中,根据调用请求从所在机房的分布式标识配置数据库获取分布式标识配置信息,分布式标识配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式标识的值的取值范围不同。
47.在本公开实施例中,分布式id子系统接收到调用请求后,根据接收到的调用请求从所在机房的分布式id配置数据库中读取分布式id配置信息。其中,分布式id配置信息中至少包括所在机房的取号规则,不同机房的取号规则对应的分布式id的值的取值范围不同,使得每个异地机房产生的分布式id的值错开,避免重复。
48.另外,分布式id配置信息中除了包括所在机房的取号规则外,还包括分布式系统中除所在机房之外的其他机房的取号规则。
49.作为第一种可行实施方式,可通过机房1的分布式id子系统将分布式id配置信息集中存储至(写入)机房1的分布式id配置数据库(即主库)中,并利用数据库同步机制,将机房1的主库中的分布式id配置信息同步至机房2的分布式id配置数据库(即从库)中。
50.作为第二种可行实施方式,可通过各机房的分布式id子系统将分布式id配置信息分别存储至(写入)各机房的分布式id配置数据库中。
51.当对某个机房的分布式id配置数据库中的分布式id配置信息进行修改后,通过数据库同步机制可以同步修改其他机房的分布式id配置数据库中的分布式id配置信息。
52.此处需要说明的是,分布式id配置子系统是在业务子系统调用所在机房的分布式id子系统前,将分布式id配置信息存储至分布式id配置数据库中的,在业务子系统调用分布式id子系统时,才使用到该分布式id配置信息,因此实时性不高,异地机房之间的分布式id配置数据库准实时同步即可。
53.分布式标识配置信息中还可以包括分布式标识的键和分布式标识的值的初始值等,例如业务子系统为用户系统时,每个用户都有一个用户id,很多系统都可以修改用户名、邮箱、手机号等,唯一不变的就是这个用户id,该用户id即为分布式id的键,用户id对应
的具体值即分布式id的值。
54.在步骤s103中,根据调用请求从所在机房的分布式标识数据库获取分布式标识的值。
55.在本公开实施例中,分布式id子系统接收到调用请求后,根据接收到的调用请求从所在机房的分布式标识数据库读取当前分布式标识的值。
56.在步骤s104中,根据取号规则和分布式标识的值确定分布式标识的目标值。
57.在本公开实施例中,根据步骤s102获取的取号规则确定是否将步骤s103获取的分布式id的值作为最终的分布式id的值即分布式id的目标值。
58.在步骤s105中,将分布式标识的目标值发送至业务子系统。
59.在本公开实施例中,将步骤s104确定的分布式id的目标值返回给业务子系统。
60.综上,根据本公开实施例提供的分布式标识的获取方法,根据分布式标识子系统所在机房的业务子系统的调用请求,从所在机房的分布式标识配置数据库获取分布式标识配置信息,标识配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式标识的值的取值范围不同,从所在机房的分布式标识数据库获取分布式标识的值,根据取号规则和分布式标识的值确定分布式标识的目标值,将分布式标识的目标值发送至业务子系统。由此,本公开中通过在每个机房设置分布式id子系统、分布式标识数据库和分布式标识配置数据库,当分布式id子系统依赖的分布式标识数据库单点存储所在的机房区域出现故障时,其他可用机房的业务子系统仍能快速通过自身机房的分布式id子系统获取分布式id的值,且不同机房的取号规则对应的分布式标识的值的取值范围不同,保证了不同机房的业务子系统获取到的分布式标识的目标值是最新全局唯一不重复的分布式id的值。
61.图3是根据本公开第二实施例的分布式标识的获取方法的流程示意图。
62.如图3所示,在图1所示实施例的基础上,本公开实施例的分布式标识的获取方法,具体可包括以下步骤:
63.在步骤s301中,获取分布式标识子系统所在机房的业务子系统的调用请求。
64.在步骤s302中,根据调用请求从所在机房的分布式标识配置数据库获取分布式标识配置信息,分布式标识配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式标识的值的取值范围不同。
65.在步骤s303中,根据调用请求从所在机房的分布式标识数据库获取分布式标识的值。
66.在本公开实施例中,步骤s301~s303的相关内容可参见上述实施例中步骤s101~s103的相关描述,此处不再赘述。
67.上述实施例中的步骤s104“根据取号规则和分布式标识的值确定分布式标识的目标值”,具体可包括以下步骤s304-s305:
68.在步骤s304中,若分布式标识的值满足取号规则,则将分布式标识的值确定为分布式标识的目标值。
69.在本公开实施例中,若步骤s303获取的分布式id的值满足步骤s302获取的所在机房的取号规则,则将步骤s303获取的分布式id的值确定为分布式id的目标值。
70.在步骤s305中,若分布式标识的值不满足取号规则,则根据调用请求重新从所在机房的分布式标识数据库获取分布式标识的值,并根据取号规则和重新获取的分布式标识
的值确定分布式标识的目标值。
71.在本公开实施例中,若步骤s303获取的分布式id的值不满足步骤s302获取的所在机房的取号规则,则根据调用请求重新从所在机房的分布式id数据库获取分布式id的值,并根据取号规则和重新获取的分布式id的值确定分布式id的目标值。
72.在步骤s306中,将分布式标识的目标值发送至业务子系统。
73.在本公开实施例中,步骤s306的相关内容可参见上述步骤s105中的相关描述,此处不再赘述。
74.作为第一种可行实施方式,取号规则可以为预设的一个或多个取值号段。
75.例如,约定机房1,只取1~500,1000~1500,以此类推;约定机房2,只取500~1000,1501~2000,以此类推;从而保证机房1、机房2最终提供的分布式id的目标值不重复。
76.举例如下:从机房1的分布式id数据库获取分布式id的值为250,满足机房1的取号规则,则将250确定为分布式id的目标值发送至机房1的业务子系统。从机房1的分布式id数据库获取分布式id的值为650,不满足机房1的取号规则,则跳过该分布式id的值,从机房1的分布式id数据库重新获取分布式id的值,直到获取到满足机房1的取号规则的分布式id的值,作为分布式id的目标值发送至机房1的业务子系统。
77.作为第二种可行实施方式,取号规则可以为与第一预设数值相除后的余数与第二预设数值的大小关系,第二预设数值小于第一预设数值。其中,第二预设数值可以为一个或多个。
78.例如,第二预设数值为一个时,第一预设数值为100,第二预设数值为50时,约定机房1,只取“100《50”,则机房1最终只提供除以100,余数小于50的分布式id的目标值。约定机房2,只取“100≥50”,则机房2最终只提供除以100,余数等于或者大于50的分布式id的目标值,从而保证机房1、机房2,最终提供的分布式id的目标值不重复。
79.举例如下:从机房1的分布式id数据库获取分布式id的值为1,1除以100后的余数为1即1mod 100=1,满足机房1的取号规则,则将1确定为分布式id的目标值发送至机房1的业务子系统。从机房1的分布式id数据库获取分布式id的值为66,66除以100后的余数为66即1mod 100=66,不满足机房1的取号规则,则跳过该分布式id的值,从机房1的分布式id数据库重新获取分布式id的值,直到获取到满足机房1的取号规则的分布式id的值,作为分布式id的目标值发送至机房1的业务子系统。
80.例如,第二预设数值为两个时,第一预设数值为100,第二预设数值为30、60时,约定机房1,只取“100《30”,则机房1最终只提供除以100,余数小于30的分布式id的目标值。约定机房2,只取“100≥30”且“100《60”,则机房2最终只提供除以100,余数等于或者大于30,且小于60的分布式id的目标值。约定机房3只取“100≥60”,则机房3最终只提供除以100,余数等于或者大于60的分布式id的目标值从而保证机房1、机房2、机房3,最终提供的分布式id的目标值不重复。
81.综上,根据本公开实施例提供的分布式id的获取方法,根据分布式id子系统所在机房的业务子系统的调用请求,从所在机房的分布式id配置数据库获取分布式id配置信息,id配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式id的值的取值范围不同,从所在机房的分布式id数据库获取分布式id的值,根据取号规则和分布式id的值确定分布式id的目标值,将分布式id的目标值发送至业务子系统。由此,本公开中通
过在每个机房设置分布式id子系统、分布式id数据库和分布式id配置数据库,当分布式id子系统依赖的分布式id数据库单点存储所在的机房区域出现故障时,其他可用机房的业务子系统仍能快速通过自身机房的分布式id子系统获取分布式id的值,且不同机房的取号规则对应的分布式id的值的取值范围不同,保证了不同机房的业务子系统获取到的分布式id的目标值是最新全局唯一不重复的分布式id的值。
82.为清楚说明本公开实施例的分布式标识的获取方法,下面结合图4对本公开实施例的分布式标识的获取方法进行示例性描述。如图4所示,本公开实施例的分布式标识的获取方法包括以下步骤:
83.在步骤s401中,分布式标识配置子系统将分布式标识配置信息存储至所在机房的分布式标识配置数据库。
84.在步骤s402中,分布式标识子系统获取所在机房的业务子系统的调用请求。
85.在步骤s403中,分布式标识子系统根据调用请求从所在机房的分布式标识配置数据库获取分布式标识配置信息,分布式标识配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式标识的值的取值范围不同。
86.在步骤s404中,分布式标识子系统根据调用请求从所在机房的分布式标识数据库获取分布式标识的值。
87.在步骤s405中,分布式标识子系统判断分布式标识的值是否满足取号规则。若满足,则执行步骤s406。若不满足,则返回执行步骤s404。
88.在步骤s406中,分布式标识子系统将分布式标识的值确定为分布式标识的目标值。
89.在步骤s407中,分布式标识子系统将分布式标识的目标值发送至业务子系统。
90.图5为根据本公开第一实施例的分布式标识的获取装置的框图。
91.如图5所示,本公开实施例的分布式标识的获取装置500,具体可包括:第一获取模块501、第二获取模块502、第三获取模块503、确定模块504和发送模块505。其中,
92.第一获取模块501,被配置为获取分布式标识子系统所在机房的业务子系统的调用请求。
93.第二获取模块502,被配置为根据调用请求从所在机房的分布式标识配置数据库获取分布式标识配置信息,分布式标识配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式标识的值的取值范围不同。
94.第三获取模块503,被配置为根据调用请求从所在机房的分布式标识数据库获取分布式标识的值。
95.确定模块504,被配置为根据取号规则和分布式标识的值确定分布式标识的目标值。
96.发送模块505,被配置为将分布式标识的目标值发送至业务子系统。
97.在本公开的一个实施例中,取号规则为预设的取值号段。
98.在本公开的一个实施例中,取号规则为与第一预设数值相除后的余数与第二预设数值的大小关系,第二预设数值小于第一预设数值。
99.在本公开的一个实施例中,第二预设数值为多个。
100.在本公开的一个实施例中,确定模块504进一步被配置为:若分布式标识的值满足
取号规则,则将分布式标识的值确定为分布式标识的目标值。
101.在本公开的一个实施例中,确定模块504进一步被配置为:若分布式标识的值不满足取号规则,则触发第三获取模块根据调用请求重新从所在机房的分布式标识数据库获取分布式标识的值,并根据取号规则和第三获取模块重新获取的分布式标识的值确定分布式标识的目标值。
102.在本公开的一个实施例中,分布式标识配置信息中还包括分布式系统中除所在机房之外的其他机房的取号规则。
103.在本公开的一个实施例中,该分布式标识的获取装置还包括:同步模块,被配置为同步不同机房的分布式标识配置数据库中的分布式标识配置信息。
104.在本公开的一个实施例中,分布式标识配置信息为所在机房的分布式标识配置子系统存储至分布式标识配置数据库中的。
105.综上,本公开实施例提供的分布式标识的获取装置,根据分布式id子系统所在机房的业务子系统的调用请求,从所在机房的分布式id配置数据库获取分布式id配置信息,id配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式id的值的取值范围不同,从所在机房的分布式id数据库获取分布式id的值,根据取号规则和分布式id的值确定分布式id的目标值,将分布式id的目标值发送至业务子系统。由此,本公开中通过在每个机房设置分布式id子系统、分布式id数据库和分布式id配置数据库,当分布式id子系统依赖的分布式id数据库单点存储所在的机房区域出现故障时,其他可用机房的业务子系统仍能快速通过自身机房的分布式id子系统获取分布式id的值,且不同机房的取号规则对应的分布式id的值的取值范围不同,保证了不同机房的业务子系统获取到的分布式id的目标值是最新全局唯一不重复的分布式id的值。
106.图6是根据一示例性实施例示出的一种电子设备的框图。
107.如图6所示,该电子设备600具体可包括:存储器610及处理器620,连接不同组件(包括存储器610和处理器620)的总线630,存储器610存储有计算机程序,当处理器620执行程序时实现本公开实施例的,或者实现本公开实施例的分布式标识的获取方法。
108.总线630表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
109.电子设备600典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备600访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
110.存储器610还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)640和/或高速缓存存储器650。电子设备600可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统660可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线630相连。存储器610可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开
各实施例的功能。
111.具有一组(至少一个)程序模块670的程序/实用工具680,可以存储在例如存储器610中,这样的程序模块670包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块670通常执行本公开所描述的实施例中的功能和/或方法。
112.电子设备600也可以与一个或多个外部设备690(例如键盘、指向设备、显示器691等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口692进行。并且,电子设备600还可以通过网络适配器693与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图6所示,网络适配器693通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
113.处理器620通过运行存储在存储器610中的程序,从而执行各种功能应用以及数据处理。
114.需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的分布式标识的获取方法的解释说明,此处不再赘述。
115.综上,本公开实施例提供的电子设备,可以执行如前的分布式标识的获取方法,根据分布式id子系统所在机房的业务子系统的调用请求,从所在机房的分布式id配置数据库获取分布式id配置信息,id配置信息中包括所在机房的取号规则,不同机房的取号规则对应的分布式id的值的取值范围不同,从所在机房的分布式id数据库获取分布式id的值,根据取号规则和分布式id的值确定分布式id的目标值,将分布式id的目标值发送至业务子系统。由此,本公开中通过在每个机房设置分布式id子系统、分布式id数据库和分布式id配置数据库,当分布式id子系统依赖的分布式id数据库单点存储所在的机房区域出现故障时,其他可用机房的业务子系统仍能快速通过自身机房的分布式id子系统获取分布式id的值,且不同机房的取号规则对应的分布式id的值的取值范围不同,保证了不同机房的业务子系统获取到的分布式id的目标值是最新全局唯一不重复的分布式id的值。
116.为了实现上述实施例,本公开还提出一种计算机可读存储介质。
117.其中,该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前的分布式标识的获取方法。可选的,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
118.为了实现上述实施例,本公开还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前的分布式标识的获取方法。
119.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
120.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:
1.一种分布式标识的获取方法,其特征在于,包括:获取分布式标识子系统所在机房的业务子系统的调用请求;根据所述调用请求从所述所在机房的分布式标识配置数据库获取分布式标识配置信息,所述分布式标识配置信息中包括所述所在机房的取号规则,不同机房的所述取号规则对应的分布式标识的值的取值范围不同,所述取号规则为与第一预设数值相除后的余数与第二预设数值的大小关系,所述第二预设数值小于所述第一预设数值;根据所述调用请求从所述所在机房的分布式标识数据库获取所述分布式标识的值;根据所述取号规则和所述分布式标识的值确定分布式标识的目标值;将所述分布式标识的目标值发送至所述业务子系统。2.根据权利要求1所述的获取方法,其特征在于,所述第二预设数值为多个。3.根据权利要求1所述的获取方法,其特征在于,所述根据所述取号规则和所述分布式标识的值确定分布式标识的目标值,包括:若所述分布式标识的值满足所述取号规则,则将所述分布式标识的值确定为所述分布式标识的目标值。4.根据权利要求1所述的获取方法,其特征在于,所述根据所述取号规则和所述分布式标识的值确定分布式标识的目标值,包括:若所述分布式标识的值不满足所述取号规则,则根据所述调用请求重新从所述所在机房的分布式标识数据库获取所述分布式标识的值,并根据所述取号规则和重新获取的所述分布式标识的值确定所述分布式标识的目标值。5.根据权利要求1所述的获取方法,其特征在于,所述分布式标识配置信息中还包括分布式系统中除所述所在机房之外的其他机房的取号规则。6.根据权利要求5所述的获取方法,其特征在于,还包括:同步不同机房的所述分布式标识配置数据库中的所述分布式标识配置信息。7.根据权利要求1所述的获取方法,其特征在于,所述分布式标识配置信息为所述所在机房的分布式标识配置子系统存储至所述分布式标识配置数据库中的。8.一种分布式标识的获取装置,其特征在于,包括:第一获取模块,被配置为获取分布式标识子系统所在机房的业务子系统的调用请求;第二获取模块,被配置为根据所述调用请求从所述所在机房的分布式标识配置数据库获取分布式标识配置信息,所述分布式标识配置信息中包括所述所在机房的取号规则,不同机房的所述取号规则对应的分布式标识的值的取值范围不同,所述取号规则为与第一预设数值相除后的余数与第二预设数值的大小关系,所述第二预设数值小于所述第一预设数值;第三获取模块,被配置为根据所述调用请求从所述所在机房的分布式标识数据库获取所述分布式标识的值;确定模块,被配置为根据所述取号规则和所述分布式标识的值确定分布式标识的目标值;发送模块,被配置为将所述分布式标识的目标值发送至所述业务子系统。9.根据权利要求8所述的获取装置,其特征在于,所述第二预设数值为多个。10.根据权利要求8所述的获取装置,其特征在于,所述确定模块进一步被配置为:
若所述分布式标识的值满足所述取号规则,则将所述分布式标识的值确定为所述分布式标识的目标值。11.根据权利要求8所述的获取装置,其特征在于,所述确定模块进一步被配置为:若所述分布式标识的值不满足所述取号规则,则触发所述第三获取模块根据所述调用请求重新从所述所在机房的分布式标识数据库获取所述分布式标识的值,并根据所述取号规则和所述第三获取模块重新获取的所述分布式标识的值确定所述分布式标识的目标值。12.根据权利要求8所述的获取装置,其特征在于,所述分布式标识配置信息中还包括分布式系统中除所述所在机房之外的其他机房的取号规则。13.根据权利要求12所述的获取装置,其特征在于,还包括:同步模块,被配置为同步不同机房的所述分布式标识配置数据库中的所述分布式标识配置信息。14.根据权利要求8所述的获取装置,其特征在于,所述分布式标识配置信息为所述所在机房的分布式标识配置子系统存储至所述分布式标识配置数据库中的。15.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任一项所述的分布式标识的获取方法。16.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-7中任一项所述的分布式标识的获取方法。17.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的分布式标识的获取方法。

技术总结
本公开关于一种分布式标识的获取方法、装置、电子设备和存储介质,属于计算机应用领域。其中,该分布式标识的获取方法包括:根据所在机房的业务子系统的调用请求,从所在机房的分布式标识配置数据库获取包括所在机房的取号规则分布式标识配置信息,不同机房的取号规则对应的分布式标识的值的取值范围不同,从所在机房的分布式标识数据库获取分布式标识的值,根据取号规则和分布式标识的值确定分布式标识的目标值,并发送至业务子系统。本公开当分布式ID子系统依赖的分布式ID数据库单点存储所在的机房区域出现故障时,其他可用机房的业务子系统仍能快速通过自身机房的分布式ID子系统获取最新全局唯一不重复的分布式ID的值。系统获取最新全局唯一不重复的分布式ID的值。系统获取最新全局唯一不重复的分布式ID的值。


技术研发人员:魏聪
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.06.27
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐