System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术实施例涉及数据处理,尤其涉及一种单号生成方法、装置、设备及存储介质。
技术介绍
1、物流订单层单号生成系统提供唯一单号生成服务。该系统通过调用方传入不同uniquekey(唯一标识)作为入参按顺序循环调用redis(远程字典服务)集群实例,使用原子递增操作生成单号后,左移redis机器数量的二进制位(例如四台机器利用两位二进制数编号,八台机器利用三位二进制数编号),再与redis实例编号进行“或”运算得到物流订单层单号。
2、然而,在实现本专利技术过程中,发现现有技术中至少存在如下问题:
3、redis实例因故障出现主从节点数据不一致或发生缓存丢失问题时,存在生成重复单号的风险。
技术实现思路
1、本专利技术实施例提供了一种单号生成方法、装置、设备及存储介质,以保证单号的唯一性,提升单号生成服务的可用率。
2、第一方面,本专利技术实施例提供了一种单号生成方法,所述方法包括:
3、获取当前业务对应的当前单号类别标识和当前待校验单号,并在处理所述当前业务的当前设备处获取与所述当前单号类别标识对应的本地缓存单号;
4、在根据对所述本地缓存单号的获取结果确定所述当前待校验单号满足第一层防重校验规则的情况下,基于所述当前单号类别标识和所述当前待校验单号生成键值对;
5、在根据所述键值对的全局唯一性确定所述当前待校验单号满足第二层防重校验规则的情况下,基于所述当前待校验单号生成目标单号。
6、第二方面
7、单号获取模块,用于获取当前业务对应的当前单号类别标识和当前待校验单号,并在处理所述当前业务的当前设备处获取与所述当前单号类别标识对应的本地缓存单号;
8、键值对生成模块,用于在根据对所述本地缓存单号的获取结果确定所述当前待校验单号满足第一层防重校验规则的情况下,基于所述当前单号类别标识和所述当前待校验单号生成键值对;
9、单号生成模块,用于在根据所述键值对的全局唯一性确定所述当前待校验单号满足第二层防重校验规则的情况下,基于所述当前待校验单号生成目标单号。
10、第三方面,本专利技术实施例提供了一种电子设备,所述电子设备包括:
11、一个或多个处理器;
12、存储器,用于存储一个或多个程序;
13、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所提供的单号生成方法。
14、第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任意实施例所提供的单号生成方法。
15、上述专利技术中的实施例具有如下优点或有益效果:
16、本专利技术实施例的技术方案,通过获取当前业务对应的当前单号类别标识和当前待校验单号,并在处理当前业务的当前设备处获取与当前单号类别标识对应的本地缓存单号;在根据对本地缓存单号的获取结果确定当前待校验单号满足第一层防重校验规则的情况下,基于当前单号类别标识和当前待校验单号生成键值对;在根据键值对的全局唯一性确定当前待校验单号满足第二层防重校验规则的情况下,基于当前待校验单号生成目标单号。因为采用根据本地缓存单号确定当前待校验单号满足第一层防重校验的情况下,再判断单号类别标识和待校验单号的全局唯一性实现双层防重校验的技术手段,所以克服了现有技术redis故障导致单号重复的技术问题,保证单号的唯一性,提升单号生成服务的可用率。
本文档来自技高网...【技术保护点】
1.一种单号生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据对所述本地缓存单号的获取结果确定所述当前待校验单号满足第一层防重校验规则,包括:
3.根据权利要求2所述的方法,其特征在于,在处理所述当前业务的当前设备处获取与所述当前单号类别标识对应的本地缓存单号,包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求2所述的方法,其特征在于,所述设定条件包括:
6.根据权利要求1所述的方法,其特征在于,根据所述键值对的全局唯一性确定所述当前待校验单号满足第二层防重校验规则,包括:
7.根据权利要求1-6中任一项所述方法,其特征在于,在确定所述当前待校验单号不满足所述第一层防重校验规则或所述第二层防重校验规则的情况下,还包括:
8.根据权利要求7所述的方法,其特征在于,在下线所述故障远程字典服务实例之后,还包括:
9.根据权利要求8所述的方法,其特征在于,在第二异步线程内利用预设恢复逻辑对所述故障远程字典服务实例进行处理,包括:
>10.一种单号生成装置,其特征在于,包括:
11.一种电子设备,其特征在于,所述电子设备包括:
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的单号生成方法。
...【技术特征摘要】
1.一种单号生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据对所述本地缓存单号的获取结果确定所述当前待校验单号满足第一层防重校验规则,包括:
3.根据权利要求2所述的方法,其特征在于,在处理所述当前业务的当前设备处获取与所述当前单号类别标识对应的本地缓存单号,包括:
4.根据权利要求3所述的方法,其特征在于,还包括:
5.根据权利要求2所述的方法,其特征在于,所述设定条件包括:
6.根据权利要求1所述的方法,其特征在于,根据所述键值对的全局唯一性确定所述当前待校验单号满足第二层防重校验规则,包括:
7.根据权利要...
【专利技术属性】
技术研发人员:王崧,史建刚,
申请(专利权)人:北京京东远升科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。