System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于分布式系统,具体涉及一种分布式序列号的获取方法、装置及系统。
技术介绍
1、在分布式系统中,经常需要使用全局唯一序列号来定义不同应用场景的数据,如:订单号、交易号、链路跟踪id、支付流水号等。
2、不同的应用场景对全局唯一序列号的要求是不一样的,归结起来通常会有以下要求:顺序递增要求,方便查找和维护;标识使用场景要求,区分不同场景;长度要求,限制序列号的长度,减少存储压力;不可预测要求,序列号是不可预测的;高可用、高并发、高性能要求等。但是,现有的分布式序列号生成方法包括uuid、数据库自增序列、雪花算法、nanoid等,都无法满足不同应用场景下的序列号定制化需求。
3、例如现有的申请公开号为cn114064806a的专利本申请涉及一种分布式序列号生成方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取第一安全分区的数据库表,根据数据库表,获得对应数据库表的第一安全分区分布式序列号号段,根据第一安全分区分布式序列号号段,获得第二安全分区的分布式序列号号段和号段分配阈值,定时监测第二安全分区的分布式序列号号段的使用,获得第二安全分区的当前分布式序列号,若第二安全分区的当前分布式序列号超过号段分配阈值,则重新分配对应的第二安全分区的分布式序列号号段和号段分配阈值。采用本方法能够支持跨安全分区的分布式序列号生成。
4、但是上述专利中存在:虽然分区多样保证了分布式序列号的获取,但是同时带来了其系统的高负载性,对性能要求较高,同时响应速度慢,算法繁琐,无法通过确定的时间控制
5、本专利技术的有益效果:满足不同应用场景下的序列号定制化需求。满足分布式场景下的高可用、高并发、高性能要求。统一的获取方式,可以快速接入,进行统一接入管理。序列号存放在数据库,方便统一管理和监控。通过确定预定时间内的所需序列号数量来控制缓存大小,减少资源占用。
技术实现思路
1、本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。
2、为解决上述技术问题,本专利技术的主要目的在于提供一种分布式序列号的获取系统,包括:
3、序列号获取模块,包括用于接收序列号的获取单元,用于确定特定时间内所需的序列号数量的预测单元,用于在数据库中国获取序列号的更新单元;
4、序列号生成模块,包括用于配置序列号个性化定值信息的配置单元,用于收集序列号获取系统的序列号缓存信息的收集单元,用于预生成序列号;
5、序列号数据库模块,用于存放序列号个性化定制信息和序列号记录信息。
6、作为本专利技术一种分布式序列号的获取系统的一种优选方案,其中:
7、通过所述获取单元接收来自客户端的获取序列号请求;
8、所述预测单元通过时间序列预测确定待定时间内所需的序列号数量;
9、通过更新单元对序列号缓存队列进行判断,若序列号缓存队列小于预测模块给出的预测值,则从序列号数据库模块中获取所需数量的序列号,并追加到序列号缓存队列中,若序列号缓存队列等于预测模块给出的预测值,则输出序列号缓存信息。
10、作为本专利技术一种分布式序列号的获取系统的一种优选方案,其中:
11、所述序列号缓存信息,包括序列号个性化定值信号、序列号获取服务标识、序列号缓存队列、特定时间内每秒小号序列号lrumap、预测值和触发预生成标志;
12、所述配置单元用来配置序列号个性化定制信息;
13、所述收集单元用来收集序列号获取装置中的序列号缓存信息;
14、所述生成单元用于根据收集到的序列号缓存信息预生成序列号。
15、作为本专利技术一种分布式序列号的获取系统的一种优选方案,其中:
16、所述序列号数据库模块,用于存放序列号个性化定制信息和序列号记录信息;
17、通过个性化需求生成所述序列号个性化定制信号;
18、所述序列号记录信息包括序列号生成记录、序列号缓存记录和序列号个性化信息。
19、作为本专利技术一种分布式序列号的获取方法的一种优选方案,其中:
20、s1、根据序列号服务标识获取序列号个性化定制信息;
21、s2、根据个性化定制信息、序列号请求数量从序列号缓存队列中获取序列号;
22、s3、通过预测值与序列号缓存队列进行对比,并对序列号缓存队列大小是否小于预测值进行判断;
23、s4、若序列号缓存队列小于预测值,则通过序列号数据库获取序列号追加到序列号缓冲队列中;
24、s5、完成个性化序列号获取,最后预生成序列号数据库中对应的序列号记录信息。
25、作为本专利技术一种分布式序列号的获取方法的一种优选方案,其中:
26、所述序列号获取根据个性化定制号、序列号请求数量从序列号缓存队列中获取序列号,判断序列号缓存队列大小是否小于预测值;
27、若序列号缓存队列小于预测值,则根据个性化定制号、预测值和序列号获取服务标识,从数据库获取对应数量的序列号,若序列号缓存队列不小于预测值,则输出序列号缓存队列;
28、作为本专利技术一种分布式序列号的获取方法的一种优选方案,其中:
29、通过收集序列号个性化定制信息中序列号获取所述序列号缓存队列;
30、通过所述从数据库获取对应数量的序列号,则将获取到的序列号追加到序列号缓存队列中。
31、作为本专利技术一种分布式序列号的获取方法的一种优选方案,其中:
32、通过预测单元生成所述预测值,所述预测值由时间序列预测方法确定特定时间内所需的序列号数量;
33、通过预测值对比序列号缓存队列,并对序列号缓存队列进行追加序列号处理。
34、作为本专利技术一种分布式序列号的获取方法的一种优选方案,其中:
35、所述追加序列号包括,监控序列号缓存队列大小,根据时间序列预测方法确定特定时间内所需的序列号数量,然后从序列号数据库模块获取所需数量的序列号,最后追加到序列号缓存队列。
36、作为本专利技术一种分布式序列号的获取方法的一种优选方案,其中:
37、所述序列号数据库模块包括postgresql、mysql和oracle。
38、本专利技术的有益效果:满足不同应用场景下的序列号定制化需求。满足分布式场景下的高可用、高并发、高性能要求。统一的获取方式,可以快速接入,进行统一接入管理。序列号存放在数据库,方便统一管理和监控。通过确定预定时间内的所需序列号数量来控制缓存大小,减少资源占用。
本文档来自技高网...【技术保护点】
1.一种分布式序列号的获取系统,其特征在于:
2.根据权利要求1所述的一种分布式序列号的获取系统,其特征在于:
3.根据权利要求2所述的一种分布式序列号的获取系统,其特征在于:
4.根据权利要求9所述的一种分布式序列号的获取系统,其特征在于:
5.一种分布式序列号的获取方法,其特征在于:包括,
6.根据权利要求5所述的一种分布式序列号的获取方法,其特征在于:
7.根据权利要求6所述的一种分布式序列号的获取方法,其特征在于:
8.根据权利要求7所述的一种分布式序列号的获取方法,其特征在于
9.根据权利要求8所述的一种分布式序列号的获取方法,其特征在于:
10.根据权利要求9所述的一种分布式序列号的获取方法,其特征在于:
【技术特征摘要】
1.一种分布式序列号的获取系统,其特征在于:
2.根据权利要求1所述的一种分布式序列号的获取系统,其特征在于:
3.根据权利要求2所述的一种分布式序列号的获取系统,其特征在于:
4.根据权利要求9所述的一种分布式序列号的获取系统,其特征在于:
5.一种分布式序列号的获取方法,其特征在于:包括,
6.根据权...
【专利技术属性】
技术研发人员:周啟暖,黄创光,张杰,吴博诚,葛海波,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。