一种面向微服务体系周期性ID序列生成方法、系统及存储介质技术方案

技术编号:34526197 阅读:17 留言:0更新日期:2022-08-13 21:17
本发明专利技术提供了一种面向微服务体系周期性ID序列生成方法、系统及存储介质,包括以下步骤:接收ID序列获取请求并记录对应的请求时间,所述ID序列获取请求包含种类标识位;根据所述种类标识位匹配得到对应的序列生成配置;根据所述种类标识位生成ID序列缓存键,并根据ID序列缓存键获取序列当前值;根据所述序列当前值和所述序列生成配置,计算得到序列结果值;输出所述序列结果值。基于ID序列获取请求匹配序列生成配置后,通过ID序列缓存键获取序列当前值,并进一步计算得到序列结果值,通过ID序列获取请求中的种类标识位得到与之对应的序列结果值,使得在分布式微服务架构下能够统一管理配置和灵活生成各种ID序列。统一管理配置和灵活生成各种ID序列。统一管理配置和灵活生成各种ID序列。

【技术实现步骤摘要】
一种面向微服务体系周期性ID序列生成方法、系统及存储介质


[0001]本专利技术涉及通信
,涉及一种周期性ID序列生成技术,尤其涉及一种面向微服务体系周期性ID序列生成方法、系统及存储介质。

技术介绍

[0002]在如今分布式架构与微服务系统体系下,很多业务场景和系统场景会产生各种各样的业务订单号和系统流水号,诸如业务订单号和系统流水号即为ID序列的一种。这种ID序列可能由纯数字或者是字母加数字构成。通常的情况下,系统一般会采用雪花算法或数据库自增ID来生成相应的ID序列。
[0003]一般而言,雪花算法可以避免分布式场景下的竞争关系,确保同一个号不会被获取多次;数据库自增ID一般依赖数据库的索引来实现。然而,雪花算法依赖服务器时钟,难以在微服务架构下实现完全同步。而在分布式的体系下,数据库自增ID会有概率出现并发问题,且每个微服务会单独开发自己的序列生成,没有统一管理;此外这种自增ID一般是全局的,不便于实现一些特殊场景下的应用。因此,无论是雪花算法或数据库自增ID,都难以满足面向微服务体系生成周期性ID序列的周期性、灵活性和稳定性等方面的要求。
[0004]综上所述,业界亟需提出一种新的解决方案,使得在分布式微服务架构下能够统一管理配置和灵活生成各种ID序列。

技术实现思路

[0005]本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种面向微服务体系周期性ID序列生成方法、系统及存储介质,在分布式微服务架构下,能够统一管理配置和灵活生成各种ID序列,兼顾周期性、灵活性和稳定性等方面要求。
[0006]本专利技术解决技术问题所采用的技术方案如下:
[0007]一种面向微服务体系周期性ID序列生成方法,包括以下步骤:
[0008]S1.接收ID序列获取请求并记录对应的请求时间,所述ID序列获取请求包含种类标识位;
[0009]S2.根据所述种类标识位匹配得到对应的序列生成配置;
[0010]S3.根据所述种类标识位生成ID序列缓存键,并根据ID序列缓存键获取序列当前值;
[0011]S4.根据所述序列当前值和所述序列生成配置,计算得到序列结果值;
[0012]S5.输出所述序列结果值。
[0013]与现有技术相比,本技术方案的有益效果是:基于ID序列获取请求匹配序列生成配置后,通过ID序列缓存键获取序列当前值,并进一步计算得到序列结果值,通过ID序列获取请求中的种类标识位得到与之对应的序列结果值,解决现有依赖数据库自增和雪花算法等生成ID序列的单一性、业务耦合较高以及周期性重置、空间占用等问题。
[0014]进一步地,当接收到多个包含相同种类标识位的ID序列获取请求时,步骤S3具体包括:
[0015]根据接收到的多个ID序列获取请求,结合所述种类标识位与所述请求时间,生成多个ID序列缓存键,并根据ID序列缓存键获取序列当前值;其中,所述ID序列获取请求与所述ID序列缓存键一一对应。
[0016]采用上述方案的有益效果是:结合种类标识位与请求时间生成多个ID序列缓存键,能够根据请求时间进行加锁操作,防止多个包含相同种类标识位的ID序列获取请求生成重复的序列结果值,提升方法稳定性和可靠性。
[0017]进一步地,在步骤S3中,根据ID序列缓存键获取序列当前值具体包括:
[0018]根据ID序列缓存键判断是否已存在对应的ID序列数据;若是,定位到已存在的ID序列缓存键,并返回序列当前值;若否,则根据序列生成配置初始化ID序列数据,并返回初始化所得到的序列当前值。
[0019]采用上述方案的有益效果是:一方面,当已存在对应的ID序列数据时,可根据已存在的ID序列缓存键得到序列当前值,实现在原有值基础上按规律生成新的序列当前值;另一方面,当未存在对应的ID序列数据时,则根据序列生成配置初始化ID序列数据并进一步得到序列当前值。
[0020]进一步地,当根据ID序列缓存键判断不存在与所述ID序列缓存键对应的ID序列数据时,根据所述序列生成配置自动删除该ID序列缓存键对应的ID序列数据。
[0021]采用上述方案的有益效果是:根据序列生成配置中的周期性参数,自动删除该ID序列缓存键对应的ID序列数据,从而实现释放缓存的效果,有利于提升本方案的效率。
[0022]进一步地,步骤S4具体包括:
[0023]根据所述序列当前值,结合所述序列生成配置中的种类标识位、特征码、时间戳和生成规律信息,计算得到序列结果值。
[0024]采用上述方案的有益效果是:在由多个微服务组成的微服务体系中,根据种类标识位针对性生成序列结果值,能够满足多种业务需求。
[0025]一种面向微服务体系周期性ID序列生成系统,包括:
[0026]请求接收模块,用于接收ID序列获取请求并记录对应的请求时间,所述ID序列获取请求包含种类标识位;
[0027]匹配模块,用于根据所述种类标识位匹配得到对应的序列生成配置;
[0028]序列获取模块,用于根据所述种类标识位生成ID序列缓存键,并根据ID序列缓存键获取序列当前值,并根据所述序列当前值和所述序列生成配置,计算得到序列结果值;
[0029]序列输出模块,用于输出所述序列结果值。
[0030]进一步地,在所述请求接收模块中,当接收到多个包含相同种类标识位的ID序列获取请求时:
[0031]所述序列获取模块根据接收到的多个ID序列获取请求,结合所述种类标识位与所述请求时间,生成多个ID序列缓存键,并根据ID序列缓存键获取序列当前值;其中,所述ID序列获取请求与所述ID序列缓存键一一对应。
[0032]进一步地,在所述序列获取模块中,根据ID序列缓存键获取序列当前值具体包括:
[0033]根据ID序列缓存键判断系统中是否已存在对应的ID序列数据;若是,定位到已存
在的ID序列缓存键,并返回序列当前值;若否,则根据序列生成配置初始化ID序列数据,并返回初始化所得到的序列当前值。
[0034]进一步地,在所述序列获取模块中,当根据ID序列缓存键判断系统中不存在与所述ID序列缓存键对应的ID序列数据时,根据所述序列生成配置自动删除该ID序列缓存键对应的ID序列数据。
[0035]一种存储介质,所述存储介质包含计算机可执行指令,所述计算机可执行指令在由计算机处理器执行时用于执行上述任一所述的面向微服务体系周期性ID序列生成方法。
附图说明
[0036]图1是本专利技术一种面向微服务体系周期性ID序列生成方法的流程图。
[0037]图2是本专利技术一种面向微服务体系周期性ID序列生成系统的示意图。
[0038]图中,各标号所代表的部件列表如下:
[0039]请求接收模块1、匹配模块2、序列获取模块3、序列输出模块4。
具体实施方式
[0040]为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向微服务体系周期性ID序列生成方法,其特征在于,包括以下步骤:S1.接收ID序列获取请求并记录对应的请求时间,所述ID序列获取请求包含种类标识位;S2.根据所述种类标识位匹配得到对应的序列生成配置;S3.根据所述种类标识位生成ID序列缓存键,并根据ID序列缓存键获取序列当前值;S4.根据所述序列当前值和所述序列生成配置,计算得到序列结果值;S5.输出所述序列结果值。2.根据权利要求1所述的一种面向微服务体系周期性ID序列生成方法,其特征在于,当接收到多个包含相同种类标识位的ID序列获取请求时,步骤S3具体包括:根据接收到的多个ID序列获取请求,结合所述种类标识位与所述请求时间,生成多个ID序列缓存键,并根据ID序列缓存键获取序列当前值;其中,所述ID序列获取请求与所述ID序列缓存键一一对应。3.根据权利要求1所述的一种面向微服务体系周期性ID序列生成方法,其特征在于,在步骤S3中,根据ID序列缓存键获取序列当前值具体包括:根据ID序列缓存键判断是否已存在对应的ID序列数据;若是,定位到已存在的ID序列缓存键,并返回序列当前值;若否,则根据序列生成配置初始化ID序列数据,并返回初始化所得到的序列当前值。4.根据权利要求3所述的一种面向微服务体系周期性ID序列生成方法,其特征在于,当根据ID序列缓存键判断不存在与所述ID序列缓存键对应的ID序列数据时,根据所述序列生成配置自动删除该ID序列缓存键对应的ID序列数据。5.根据权利要求1所述的一种面向微服务体系周期性ID序列生成方法,其特征在于,步骤S4具体包括:根据所述序列当前值,结合所述序列生成配置中的种类标识位、特征码、时间戳和生成规律信息,计算得到序列结果值。6.一种面向微服务体系周期性ID序列生成系统,其特征在于,包括:...

【专利技术属性】
技术研发人员:闫磊陈曦周天佑钱冰朱亚威
申请(专利权)人:明珠数字科技股份有限公司
类型:发明
国别省市:

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

1