序列号生成方法、装置、电子设备及计算机可读介质制造方法及图纸

技术编号:31499286 阅读:21 留言:0更新日期:2021-12-22 23:06
本公开实施例提供一种序列号生成方法、装置、电子设备及计算机可读介质,该方法包括:获取容器集群中的序列号池,容器集群包括主集群和从集群;检测主集群与从集群的序列号池中的序列号是否一致,并在序列号一致时在序列号池中填充序列号;接收序列号请求,序列号请求包括目标业务键值;根据目标业务键值与序列号池进行匹配,根据匹配结果确定目标序列号池;响应于序列号请求在目标序列号池中获取序列号。本公开实施例提供的技术方案能够保证主集群与从集群中填充的序列号具有强一致性,进而避免序列号重复生成的现象发生。在创建序列号池时,事先对序列号池进行填充,形成序列号主动生成服务,能够避免被动生成序列号容易引发的业务问题。业务问题。业务问题。

【技术实现步骤摘要】
序列号生成方法、装置、电子设备及计算机可读介质


[0001]本公开涉及计算机
,尤其涉及一种序列号生成方法、装置、电子设备及计算机可读介质。

技术介绍

[0002]在涉及计算机技术的应用系统中,序列号生成服务是必不可少的服务。为提高序列号的生成速度,目前大多采用容器集群的分布式缓存框架(例如Redis集群,一款开源的分布式缓存框架,内置多种缓存容器进行数据存取操作)对服务进行分离,接触耦合以增加可靠性和高效性。
[0003]但是当Redis集群的主从集群之间发生延迟导致主从切换(failover)时,由于主从集群之间的通信延迟或通信断路,将导致序列号重复生成。之所以出现序列号重复,是因为从集群中的数据因为延迟而落后于主集群的数据,导致从被提为主后,序列号的数据也是旧的,从而导致重复序列号的生成。
[0004]同时,现有的序列号生成服务属于被动生成操作,仅在接收到序列号请求时被动生成序列号以反馈该序列号请求。在序列号请求过程中,如果遇到序列号生成服务错误,将会大概率造成严重的业务问题。
[0005]因此,需要一种新的序列号生成方法、装置、电子设备及计算机可读介质。
[0006]在所述
技术介绍
部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0007]有鉴于此,本公开实施例提供一种序列号生成方法、装置、电子设备及计算机可读介质,进而至少在一定程度上避免分布式框架中序列号重复生成以及被动生成序列号容易引发的业务问题。
[0008]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0009]根据本公开实施例的第一方面,提出一种序列号生成方法,该方法包括:获取容器集群中的序列号池,所述容器集群包括主集群和从集群;
[0010]检测所述主集群与所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号;接收序列号请求,所述序列号请求包括目标业务键值;根据所述目标业务键值与所述序列号池进行匹配,根据匹配结果确定目标序列号池;响应于所述序列号请求在所述目标序列号池中获取序列号。
[0011]在本公开的一种示例性实施例中,检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号包括:在所述主集群的所述序列号池中序列号的数量小于预设数值时,获取所述主集群中的所述序列号池中最大的第一序列号数据与所述从集群中的所述序列号池中最大的第二序列号数据;若所述
第一序列号数据与所述第二序列号数据相同,则根据所述第一序列号数据对所述序列号池进行填充操作;循环执行上述两个步骤,并在所述主集群中的所述序列号池中序列号的数量等于预设数值时停止循环。
[0012]在本公开的一种示例性实施例中,若所述第一序列号数据与所述第二序列号数据相同,则根据所述第一序列号数据对所述序列号池进行填充操作还包括:若所述第一序列号数据与所述第二序列号数据不同,则将所述第一序列数据与所述第二序列号数据中较大的数据剔除。
[0013]在本公开的一种示例性实施例中,检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号还包括:若所述序列号池中序列号的数量等于预设数值时,根据预设时间周期循环检测所述序列号池中的序列号的数量是否小于预设数值。
[0014]在本公开的一种示例性实施例中,根据所述目标业务键值与所述序列号池进行匹配,根据匹配结果确定目标序列号池还包括:若所述目标业务键值与所述序列号池匹配失败时,根据所述目标业务键值在容器集群中创建所述目标序列号池。
[0015]在本公开的一种示例性实施例中,所述方法还包括:在响应于所述业务请求在所述目标序列号池中获取序列号成功后,生成序列号池填充通知;响应于所述序列号池填充通知,检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号。
[0016]根据本公开实施例的第二方面,提出一种序列号生成装置,该装置包括:序列号池获取模块,配置为获取容器集群中的序列号池,所述容器集群包括主集群和从集群;序列号填充模块,配置为检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号;业务请求接收模块,配置为接收序列号请求,所述序列号请求包括目标业务键值;序列号池确定模块,配置为根据所述目标业务键值与所述序列号池进行匹配,根据匹配结果确定目标序列号池;序列号获取模块,配置为响应于所述序列号请求在所述目标序列号池中获取序列号。
[0017]在本公开的一种示例性实施例中,序列号填充模块包括:序列号获取单元,配置为在所述主集群的所述序列号池中序列号的数量小于预设数值时,获取所述主集群中的所述序列号池中最大的第一序列号数据与所述从集群中的所述序列号池中最大的第二序列号数据;序列号填充单元,配置为若所述第一序列号数据与所述第二序列号数据相同,则根据所述第一序列号数据对所述序列号池进行填充操作;循环填充单元,配置为循环执行上述两个步骤,并在所述主集群中的所述序列号池中序列号的数量等于预设数值时停止循环。
[0018]根据本公开实施例的第三方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的序列号生成方法。
[0019]根据本公开实施例的第四方面,提出一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的序列号生成方法。
[0020]根据本公开某些实施例提供的序列号生成方法、装置、电子设备及计算机可读介质,会预先对序列号池进行序列号填充。在序列号填充过程中,首先检测主集群与从集群的序列号池中的序列号是否一致,并在一致时执行填充序列号操作,能够保证主集群与从集
群中填充的序列号具有强一致性,进而避免序列号重复生成的现象发生。在创建序列号池时,事先对序列号池进行填充,形成序列号主动生成服务,能够避免被动生成序列号容易引发的业务问题。
[0021]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
[0022]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是根据一示例性实施例示出的一种序列号生成方法及装置的系统框图;
[0024]图2是根据一示例性实施例示出的一种序列号生成方法的流程图;
[0025]图3是根据一示例性实施例示出的一种序列号生成方法的流程图;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种序列号生成方法,其特征在于,包括:获取容器集群中的序列号池,所述容器集群包括主集群和从集群;检测所述主集群与所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号;接收序列号请求,所述序列号请求包括目标业务键值;根据所述目标业务键值与所述序列号池进行匹配,根据匹配结果确定目标序列号池;响应于所述序列号请求在所述目标序列号池中获取序列号。2.如权利要求1所述方法,其特征在于,检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号包括:在所述主集群的所述序列号池中序列号的数量小于预设数值时,获取所述主集群中的所述序列号池中最大的第一序列号数据与所述从集群中的所述序列号池中最大的第二序列号数据;若所述第一序列号数据与所述第二序列号数据相同,则根据所述第一序列号数据对所述序列号池进行填充操作;循环执行上述两个步骤,并在所述主集群中的所述序列号池中序列号的数量等于预设数值时停止循环。3.如权利要求2所述的方法,其特征在于,若所述第一序列号数据与所述第二序列号数据相同,则根据所述第一序列号数据对所述序列号池进行填充操作还包括:若所述第一序列号数据与所述第二序列号数据不同,则将所述第一序列数据与所述第二序列号数据中较大的数据剔除。4.如权利要求2所述的方法,其特征在于,检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号还包括:若所述序列号池中序列号的数量等于预设数值时,根据预设时间周期循环检测所述序列号池中的序列号的数量是否小于预设数值。5.如权利要求1所述的方法,其特征在于,根据所述目标业务键值与所述序列号池进行匹配,根据匹配结果确定目标序列号池还包括:若所述目标业务键值与所述序列号池匹配失败时,根据所述目标业务键值在容器集群中创建所...

【专利技术属性】
技术研发人员:石朝阳赵辉任银龙张衡李品
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1