【技术实现步骤摘要】
序列号生成方法、装置、电子设备及计算机可读介质
[0001]本公开涉及计算机
,尤其涉及一种序列号生成方法、装置、电子设备及计算机可读介质。
技术介绍
[0002]在涉及计算机技术的应用系统中,序列号生成服务是必不可少的服务。为提高序列号的生成速度,目前大多采用容器集群的分布式缓存框架(例如Redis集群,一款开源的分布式缓存框架,内置多种缓存容器进行数据存取操作)对服务进行分离,接触耦合以增加可靠性和高效性。
[0003]但是当Redis集群的主从集群之间发生延迟导致主从切换(failover)时,由于主从集群之间的通信延迟或通信断路,将导致序列号重复生成。之所以出现序列号重复,是因为从集群中的数据因为延迟而落后于主集群的数据,导致从被提为主后,序列号的数据也是旧的,从而导致重复序列号的生成。
[0004]同时,现有的序列号生成服务属于被动生成操作,仅在接收到序列号请求时被动生成序列号以反馈该序列号请求。在序列号请求过程中,如果遇到序列号生成服务错误,将会大概率造成严重的业务问题。
[0005 ...
【技术保护点】
【技术特征摘要】
1.一种序列号生成方法,其特征在于,包括:获取容器集群中的序列号池,所述容器集群包括主集群和从集群;检测所述主集群与所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号;接收序列号请求,所述序列号请求包括目标业务键值;根据所述目标业务键值与所述序列号池进行匹配,根据匹配结果确定目标序列号池;响应于所述序列号请求在所述目标序列号池中获取序列号。2.如权利要求1所述方法,其特征在于,检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号包括:在所述主集群的所述序列号池中序列号的数量小于预设数值时,获取所述主集群中的所述序列号池中最大的第一序列号数据与所述从集群中的所述序列号池中最大的第二序列号数据;若所述第一序列号数据与所述第二序列号数据相同,则根据所述第一序列号数据对所述序列号池进行填充操作;循环执行上述两个步骤,并在所述主集群中的所述序列号池中序列号的数量等于预设数值时停止循环。3.如权利要求2所述的方法,其特征在于,若所述第一序列号数据与所述第二序列号数据相同,则根据所述第一序列号数据对所述序列号池进行填充操作还包括:若所述第一序列号数据与所述第二序列号数据不同,则将所述第一序列数据与所述第二序列号数据中较大的数据剔除。4.如权利要求2所述的方法,其特征在于,检测所述主集群和所述从集群的所述序列号池中的序列号是否一致,并在序列号一致时在所述序列号池中填充序列号还包括:若所述序列号池中序列号的数量等于预设数值时,根据预设时间周期循环检测所述序列号池中的序列号的数量是否小于预设数值。5.如权利要求1所述的方法,其特征在于,根据所述目标业务键值与所述序列号池进行匹配,根据匹配结果确定目标序列号池还包括:若所述目标业务键值与所述序列号池匹配失败时,根据所述目标业务键值在容器集群中创建所...
【专利技术属性】
技术研发人员:石朝阳,赵辉,任银龙,张衡,李品,
申请(专利权)人:北京京东世纪贸易有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。