序列号值的生成方法及其装置、电子设备及存储介质制造方法及图纸

技术编号:34100998 阅读:59 留言:0更新日期:2022-07-11 23:26
本发明专利技术公开了一种序列号值的生成方法及其装置、电子设备及存储介质,涉及金融科技领域,其中,该生成方法包括:接收目标应用发起的序列号生成请求,响应序列号生成请求,检测本地缓存中是否存在序列号标识,在本地缓存中存在序列号标识的情况下,获取序列号标识所指示在本地缓存中所缓存的当前数值和本地最大值,并计算本地缓存中所缓存的当前数值与预设递增步长之和,得到计算结果,在计算结果小于等于本地最大值的情况下,确定计算结果为目标应用的序列号值。本发明专利技术解决了相关技术中序列号的生成效率较低,无法满足高并发要求的技术问题。题。题。

【技术实现步骤摘要】
序列号值的生成方法及其装置、电子设备及存储介质


[0001]本专利技术涉及金融科技领域,具体而言,涉及一种序列号值的生成方法及其装置、电子设备及存储介质。

技术介绍

[0002]在业务系统中,为了对不同交易数据进行有效区分,便于识别,会对每笔交易利用序列号进行唯一性标识,例如,订单流水号、交易申请编号等。这些序列号一般有固定的生成规则,且要求全局唯一。为了实现序列号的生成,现有的方法通常是利用数据库机制生成,例如,Oracle数据库的内置的序列号生成机制、Mysql数据库的自增序列,或者利用UUID(Universally Unique Identifier,通用唯一识别码)生成具有唯一性的序列号,也可以在数据库定义一张序列号生成表,通过不断访问将序列号不断增加。
[0003]随着分布式架构的广泛应用,也可以利用分布式缓存机制实现序列号的生成,通过不断访问分布式缓存,实现序列号的自增,同时由于分布式缓存的全局性,可以保证序列号的全局唯一性。
[0004]然而,利用数据库自带的序列号生成功能或者在数据库中定义一张序列号生成表来生成本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种序列号值的生成方法,其特征在于,包括:接收目标应用发起的序列号生成请求,其中,所述序列号生成请求携带有序列号标识以及预设递增步长;响应所述序列号生成请求,检测本地缓存中是否存在所述序列号标识,其中,所述本地缓存为所述目标应用中的缓存组件;在所述本地缓存中存在所述序列号标识的情况下,获取所述序列号标识所指示在所述本地缓存中所缓存的当前数值和本地最大值,并计算所述本地缓存中所缓存的当前数值与所述预设递增步长之和,得到计算结果;在所述计算结果小于等于所述本地最大值的情况下,确定所述计算结果为所述目标应用的序列号值。2.根据权利要求1所述的生成方法,其特征在于,在接收目标应用发起的序列号生成请求之前,还包括:初始化分布式缓存中的序列号信息,其中,所述序列号信息包括:序列号标识、当前最大值、递增步长、预设超时时间。3.根据权利要求2所述的生成方法,其特征在于,在检测本地缓存中是否存在所述序列号标识之后,还包括:在所述本地缓存中不存在所述序列号标识的情况下,访问所述分布式缓存;检测所述分布式缓存中是否存在所述序列号标识;在所述分布式缓存中存在所述序列号标识的情况下,获取所述分布式缓存中的当前最大值;基于所述当前最大值,进行更新操作,其中,所述更新操作包括:将所述本地缓存中所缓存的当前数值更新为所述当前最大值,将所述本地缓存中的本地最大值更新为所述当前最大值与所述预设递增步长之和,将所述分布式缓存中的当前最大值更新为所述当前最大值与所述预设递增步长之和。4.根据权利要求3所述的生成方法,其特征在于,在获取所述分布式缓存中的当前最大值之后,还包括:开启加锁程序,以确定所述更新操作中的排它性,其中,所述排它性是指不进行所述更新操作之外的其它操作。5.根据权利要求3所述的生成方法,其特征在于,在检测所述分布式缓存中是...

【专利技术属性】
技术研发人员:李逸帆
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1