业务序列号生成方法、发号器组件、设备和存储介质技术

技术编号:31087120 阅读:19 留言:0更新日期:2021-12-01 12:42
本发明专利技术提供了一种业务序列号生成方法、发号器组件、设备和存储介质,所述业务序列号生成方法包括:读取所述管理端配置的序列号生成规则;根据所述缓存步长生成对应的标识号段,并将所述标识号段预先存储至缓冲池;接收所述应用层的序列号获取请求;响应于所述序列号获取请求,从所述标识号段中获取当前索引值;判断所述序列号生成规则是否存在预设业务格式;若存在预设业务格式,则根据所述当前索引值和所述预设业务格式生成与所述发号器名称对应的业务序列号;根据所述递增步长得到多个依次递增的业务序列号,并向所述应用层返回所述业务序列号;不仅能够生成递增的业务序列号,同时支持自定义格式的业务序列号,满足应用层的各种业务需求。各种业务需求。各种业务需求。

【技术实现步骤摘要】
业务序列号生成方法、发号器组件、设备和存储介质


[0001]本专利技术涉及大数据
,尤其涉及一种业务序列号生成方法、发号器组件、设备和存储介质。

技术介绍

[0002]随着物联网技术的不断发展,序列号的应用场景越来越多,例如,业务办理的排队号码、订单号等,以医疗领域为例,随着智慧医疗的不断发展,使用大数据创建医疗健康服务云平台,可以实现医疗资源的共享,大大提高医疗机构的效率,像现在医院的预约挂号、电子病历、检查报告等数据需进行标识管理,而相关技术的序列号生成通常采用数据库的自增主键或UUID(Universally Unique Identifier,通用唯一识别码),用于表示唯一标识记录,当数据量越来越大时,需对数据进行分库分表,数据库自带的自增主键就无法满足需求,UUID性能比较差,影响数据库插入和查询的性能,而面对不同的业务应用方,只能生成无含义的序列号,不能满足分布式的环境中上游应用系统的自身业务需求,需要根据不同的业务需求单独部署服务,使用不够方便。

技术实现思路

[0003]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种业务序列号生成方法、发号器组件、设备和存储介质,可以生成具有业务含义的业务序列号,满足上游应用层的各种业务需求。
[0004]第一方面,本专利技术实施例提供了一种业务序列号生成方法,应用于分布式系统的发号器组件,所述分布式系统还包括管理端和应用层,所述发号器组件以插件形式加载至所述应用层,所述业务序列号生成方法包括:
[0005]读取所述管理端配置的序列号生成规则,其中,所述序列号生成规则包括发号器名称、缓存步长、递增步长和预设业务格式;
[0006]根据所述缓存步长生成对应的标识号段,并将所述标识号段预先存储至缓冲池,其中,所述标识号段用于提供当前索引值;
[0007]接收所述应用层的序列号获取请求;
[0008]响应于所述序列号获取请求,从所述标识号段中获取当前索引值;
[0009]判断所述序列号生成规则是否存在预设业务格式;
[0010]若存在预设业务格式,则根据所述当前索引值和所述预设业务格式生成与所述发号器名称对应的业务序列号;
[0011]根据所述递增步长得到多个依次递增的业务序列号,并向所述应用层返回所述业务序列号。
[0012]在一些实施例中,所述根据所述缓存步长生成对应的标识号段,并将所述标识号段预先存储至缓冲池,包括:
[0013]根据所述缓存步长生成标识号段,采用分片原理对所述标识号段进行分段得到多
个隔离号段;
[0014]将多个所述隔离号段分别存储到不同的阻塞队列中。
[0015]在一些实施例中,所述应用层设置有多个机器节点,多个所述机器节点均加载有发号器组件;所述采用分片原理对所述标识号段进行分段得到多个隔离号段,包括:
[0016]根据所述应用层的机器节点数量对所述标识号段进行等量划分得到多个隔离号段;
[0017]将多个所述隔离号段分配至不同的机器节点。
[0018]在一些实施例中,所述从所述标识号段中获取当前索引值之前,还包括:
[0019]判断所述缓冲池中的标识号段是否耗尽;
[0020]若所述标识号段耗尽,重新根据所述缓存步长生成新的标识号段并存储至缓冲池;
[0021]所述从所述标识号段中获取当前索引值之后,还包括:
[0022]将所述当前索引值加1后回写以表示所述当前索引值被占用。
[0023]在一些实施例中,所述重新根据所述缓存步长生成新的标识号段并存储至缓冲池之前,还包括:
[0024]获取前一个索引值;
[0025]将所述前一个索引值加上所述缓存步长赋值给当前索引值。
[0026]在一些实施例中,所述根据所述递增步长得到多个依次递增的业务序列号,包括:
[0027]获取所述管理端配置的启动参数,其中,所述启动参数包括开始索引值;
[0028]以所述开始索引值作为起始值,根据所述递增步长得到多个依次递增的业务序列号。
[0029]在一些实施例中,所述预设业务格式包括字符串、固定长度、日期、标记符至少之一;所述业务序列号生成方法还包括:
[0030]若不存在预设业务格式,则直接根据所述当前索引值返回生成与所述发号器名称对应的业务序列号。
[0031]第二方面,本专利技术实施例还提供了一种发号器组件,设置于分布式系统,所述分布式系统还包括管理端和应用层,所述发号器组件以插件形式加载至所述应用层,所述发号器组件包括:
[0032]规则读取模块,用于读取所述管理端配置的序列号生成规则,其中,所述序列号生成规则包括发号器名称、缓存步长、递增步长和预设业务格式;
[0033]预分配模块,用于根据所述缓存步长生成对应的标识号段,并将所述标识号段预先存储至缓冲池,其中,所述标识号段用于提供当前索引值;
[0034]请求获取模块,用于接收所述应用层的序列号获取请求;
[0035]当前索引获取模块,用于从所述标识号段中获取当前索引值;
[0036]格式判断模块,用于判断所述序列号生成规则是否存在预设业务格式;
[0037]第一生成模块,用于在预设业务格式存在的情况下,根据所述当前索引值和所述预设业务格式生成与所述发号器名称对应的业务序列号;
[0038]业务序列号返回模块,用于根据所述递增步长得到多个依次递增的业务序列号,以及向所述应用层返回所述业务序列号。
[0039]第三方面,本专利技术实施例还提供了一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的业务序列号生成方法。
[0040]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述第一方面所述的业务序列号生成方法。
[0041]本专利技术实施例包括:读取所述管理端配置的序列号生成规则,其中,所述序列号生成规则包括发号器名称、缓存步长、递增步长和预设业务格式;根据所述缓存步长生成对应的标识号段,并将所述标识号段预先存储至缓冲池,其中,所述标识号段用于提供当前索引值;接收所述应用层的序列号获取请求;响应于所述序列号获取请求,从所述标识号段中获取当前索引值;判断所述序列号生成规则是否存在预设业务格式;若存在预设业务格式,则根据所述当前索引值和所述预设业务格式生成与所述发号器名称对应的业务序列号;根据所述递增步长得到多个依次递增的业务序列号,并向所述应用层返回所述业务序列号。根据本专利技术实施例的技术方案,通过将发号器组件以插件形式加载至应用层,发号器组件以嵌入式模式设置于分布式系统中,能够达到去中心化,不需要进行单独部署,通用性强,通过管理端配置发号器组件的序列号生成规则,能够根据应用层中不同的业务需求配置预设业务格式,读取序列号生成规则后,根据缓存步长生成对应的标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务序列号生成方法,其特征在于,应用于分布式系统的发号器组件,所述分布式系统还包括管理端和应用层,所述发号器组件以插件形式加载至所述应用层,所述业务序列号生成方法包括:读取所述管理端配置的序列号生成规则,其中,所述序列号生成规则包括发号器名称、缓存步长、递增步长和预设业务格式;根据所述缓存步长生成对应的标识号段,并将所述标识号段预先存储至缓冲池,其中,所述标识号段用于提供当前索引值;接收所述应用层的序列号获取请求;响应于所述序列号获取请求,从所述标识号段中获取当前索引值;判断所述序列号生成规则是否存在预设业务格式;若存在预设业务格式,则根据所述当前索引值和所述预设业务格式生成与所述发号器名称对应的业务序列号;根据所述递增步长得到多个依次递增的业务序列号,并向所述应用层返回所述业务序列号。2.根据权利要求1所述的业务序列号生成方法,其特征在于,所述根据所述缓存步长生成对应的标识号段,并将所述标识号段预先存储至缓冲池,包括:根据所述缓存步长生成标识号段,采用分片原理对所述标识号段进行分段得到多个隔离号段;将多个所述隔离号段分别存储到不同的阻塞队列中。3.根据权利要求2所述的业务序列号生成方法,其特征在于,所述应用层设置有多个机器节点,多个所述机器节点均加载有发号器组件;所述采用分片原理对所述标识号段进行分段得到多个隔离号段,包括:根据所述应用层的机器节点数量对所述标识号段进行等量划分得到多个隔离号段;将多个所述隔离号段分配至不同的机器节点。4.根据权利要求1所述的业务序列号生成方法,其特征在于,所述从所述标识号段中获取当前索引值之前,还包括:判断所述缓冲池中的标识号段是否耗尽;若所述标识号段耗尽,重新根据所述缓存步长生成新的标识号段并存储至缓冲池;所述从所述标识号段中获取当前索引值之后,还包括:将所述当前索引值加1后回写以表示所述当前索引值被占用。5.根据权利要求4所述的业务序列号生成方法,其特征在于,所述重新根据所述缓存步长生成新的标识号段并存储至缓冲池之前,还包括:...

【专利技术属性】
技术研发人员:陈朝
申请(专利权)人:康键信息技术深圳有限公司
类型:发明
国别省市:

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

1