System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,尤其涉及一种多模式单号生成方法、装置、计算机设备及存储介质。
技术介绍
1、单号生成作为信息化系统的核心模块,通常对调用频率和数据的一致性要求较高,该模块决定着业务的创建能够按照一定规则有序进行。在较为传统的模式下,一般是通过创建新单号的时候,从数据库中查询已经创建过的最大的单号,然后再依托数据库的事务做单号的自增,这种场景下会导致性能受到较大影响,甚至在高并发的条件下可能生成重复单号;亦或者使用了缓存中间件做支持,但是生成单号的模式较为单一,无法满足较多的业务场景需求。
2、目前常用的单号生成方式有两种:一是每次创建订单时,先查询该订单表的最大订单id,再利用数据的事务或者同步调用,来控制生成的单号的顺序性和唯一性;二是利用缓存中间件的原子操作,对单号流水位进行自增操作,确保单号的唯一性和自增性。使用数据库生成单号的方式,其缺陷在于性能差,并发度小,并且可能生成重复单号;使用缓存中间件的方式,其缺陷在于生成单号的模式单一,无法保证不漏号,无法满足多种业务场景。
技术实现思路
1、本专利技术实施例的目的在于提出一种多模式单号生成方法、装置、计算机设备及存储介质,以解决现有技术中单号生成模式单一,无法保证不漏号,无法满足多种业务场景的问题。
2、为了解决上述技术问题,本专利技术提供一种多模式单号生成方法,采用了如下所述的技术方案,包括:
3、s1、获取单号生成规则,根据所述单号生成规则,获取单号模式配置;
4、s
5、s3、判断所述单号模式配置是否为第二模式,是则生成唯一的、连续的且不允许漏号的订单号,否则进入步骤s4;
6、s4、判断所述单号模式配置是否为第三模式,是则生成唯一的、强连续且不允许漏号的订单号。
7、优选地,在所述步骤s1、获取单号生成规则,根据所述单号生成规则,获取单号模式配置的步骤之前还包括:
8、设置所述单号生成规则;
9、根据所述单号生成规则,构建单号模式配置表结构。
10、优选地,所述判断所述单号模式配置是否为第一模式,是则生成唯一的、连续的且允许漏号的订单号的步骤具体包括:
11、将所述单号模式配置配置到数据库中,根据所述单号模式配置前缀查询其模式,判断所述单号模式配置是否为第一模式;
12、判断所述单号模式配置为第一模式,则根据第一模式以及所述单号模式配置前缀,生成单号。
13、优选地,所述判断所述单号模式配置是否为第二模式,是则生成唯一的、连续的且不允许漏号的订单号的步骤具体包括:
14、将所述单号模式配置配置到数据库中,根据所述单号模式配置前缀查询其模式,判断所述单号模式配置是否为第二模式;
15、判断所述单号模式配置为第二模式,则根据第二模式以及所述单号模式配置前缀,生成单号。
16、优选地,所述判断所述单号模式配置是否为第三模式,是则生成唯一的、强连续且不允许漏号的订单号的步骤具体包括:
17、将所述单号模式配置配置到数据库中,根据所述单号模式配置前缀查询其模式,判断所述单号模式配置是否为第三模式;
18、判断所述单号模式配置为第三模式,则根据第三模式以及所述单号模式配置前缀,生成单号。
19、优选地,在所述s4、判断所述单号模式配置是否为第三模式,是则生成唯一的、强连续且不允许漏号的订单号的步骤之后还包括:
20、将所述订单号存储至区块链中。
21、为了解决上述技术问题,本专利技术还提供一种多模式单号生成装置,采用了如下所述的技术方案,包括:
22、获取模块,用于获取单号生成规则,根据所述单号生成规则,获取单号模式配置;
23、第一生成模块,用于判断所述单号模式配置是否为第一模式,是则生成唯一的、连续的且允许漏号的订单号;
24、第二生成模块,用于判断所述单号模式配置是否为第二模式,是则生成唯一的、连续的且不允许漏号的订单号;
25、第三生成模块,用于判断所述单号模式配置是否为第三模式,是则生成唯一的、强连续且不允许漏号的订单号。
26、优选地,所述装置还包括:配置模块,所述配置模块包括:
27、设置模块,用于设置所述单号生成规则;
28、构建模块,用于根据所述单号生成规则,构建单号模式配置表结构。
29、为了解决上述技术问题,本专利技术还提供一种计算机设备,采用了如下所述的技术方案,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述的多模式单号生成方法的步骤。
30、为了解决上述技术问题,本专利技术还提供一种计算机可读存储介质,采用了如下所述的技术方案,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述的多模式单号生成方法的步骤。
31、与现有技术相比,本专利技术主要有以下有益效果:可以高效生成唯一、连续的单号;通过调整redis服务的使用资源,可以控制订单生产的性能上限,即redis的部署模式和使用的硬件资源越优,则单号生成的性能越优,每秒生成的单号可以在100~100000级别之间;通过使用配置化的方式,可以控制不同的单号生成的模式,灵活满足不同场景下单号生成的业务需求。
本文档来自技高网...【技术保护点】
1.一种多模式单号生成方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的多模式单号生成方法,其特征在于,在所述步骤S1、获取单号生成规则,根据所述单号生成规则,获取单号模式配置的步骤之前还包括:
3.根据权利要求1所述的多模式单号生成方法,其特征在于,所述判断所述单号模式配置是否为第一模式,是则生成唯一的、连续的且允许漏号的订单号的步骤具体包括:
4.根据权利要求1所述的多模式单号生成方法,其特征在于,所述判断所述单号模式配置是否为第二模式,是则生成唯一的、连续的且不允许漏号的订单号的步骤具体包括:
5.根据权利要求1所述的多模式单号生成方法,其特征在于,所述判断所述单号模式配置是否为第三模式,是则生成唯一的、强连续且不允许漏号的订单号的步骤具体包括:
6.根据权利要求1至5任意一项所述的多模式单号生成方法,其特征在于,在所述S4、判断所述单号模式配置是否为第三模式,是则生成唯一的、强连续且不允许漏号的订单号的步骤之后还包括:
7.一种多模式单号生成装置,其特征在于,包括:
8.根据权利要
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的多模式单号生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的多模式单号生成方法的步骤。
...【技术特征摘要】
1.一种多模式单号生成方法,其特征在于,包括下述步骤:
2.根据权利要求1所述的多模式单号生成方法,其特征在于,在所述步骤s1、获取单号生成规则,根据所述单号生成规则,获取单号模式配置的步骤之前还包括:
3.根据权利要求1所述的多模式单号生成方法,其特征在于,所述判断所述单号模式配置是否为第一模式,是则生成唯一的、连续的且允许漏号的订单号的步骤具体包括:
4.根据权利要求1所述的多模式单号生成方法,其特征在于,所述判断所述单号模式配置是否为第二模式,是则生成唯一的、连续的且不允许漏号的订单号的步骤具体包括:
5.根据权利要求1所述的多模式单号生成方法,其特征在于,所述判断所述单号模式配置是否为第三模式,是则生成唯一的、强连续且不允许漏号的订单号的步骤具体包括:
【专利技术属性】
技术研发人员:张根,
申请(专利权)人:深圳联友科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。