[发明专利]一种分布式序列号生成方法和装置在审
| 申请号: | 202010705878.0 | 申请日: | 2020-07-21 |
| 公开(公告)号: | CN111949324A | 公开(公告)日: | 2020-11-17 |
| 发明(设计)人: | 杨永涛 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F40/126 |
| 代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 林聪源 |
| 地址: | 100086 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 序列号 生成 方法 装置 | ||
本发明提供一种分布式序列号生成方法和装置,所述方法通过获取预设的配置文件中的配置参数,其中,所述配置参数包括第一最大序列号、队列长度;根据所述第一最大序列号和所述队列长度生成预设数量的序列号并确定第二最大序列号,其中,所述预设数量与所述队列长度相同,根据所述第二最大序列号更新所述配置文件中的所述第一最大序列号;根据程序调用次数依次从所述预设数量的序列号中获取当前次程序调用对应的目标序列号,通过一次生成预设数量的序列号,根据程序调用次数依次从生成的序列号中选取对应的序列号,无需每次更新配置文件,减少了计算机的计算压力,节约时间,提高效率。
技术领域
本发明涉及计算机领域,特别涉及一种分布式序列号生成方法和装置、计算设备和存储介质。
背景技术
随着计算机技术的飞速发展,现在的软件应用越来越多的应用于分布式系统中。
在现有的分布式序列生成方法中,有些是采用数据库自带的序列号生成器自动生成,但此种方法要求数据库需要单库单表,对数据库的压力较大,而且有的数据库不具备序列号生成器,还有通过UUID生成16进制格式的字符串的方式,但是这种方式又无法解决排序问题,还有一种方式是通过Redis生成ID的方式,虽然Redis不依赖于数据库,灵活方便,但如果计算机中没有Redis,则还需要安装新的组件,增加计算机的复杂度,而且需要编码和配置的工作量都比较大,多环境运维很复杂。
以上几种方法都存在明显的缺点,因此需要一种更加便捷的序列号生成方法。
发明内容
有鉴于此,本发明实施例提供了一种分布式序列号生成方法和装置、计算设备和存储介质,以解决现有技术中存在的技术缺陷。
本发明实施例公开了一种分布式序列号生成方法,包括:
S1、获取预设的配置文件中的配置参数,其中,所述配置参数包括第一最大序列号、队列长度;
S2、根据所述第一最大序列号和所述队列长度生成预设数量的序列号并确定第二最大序列号,其中,所述预设数量与所述队列长度相同;
S3、根据所述第二最大序列号更新所述配置文件中的所述第一最大序列号;
S4、根据程序调用次数依次从所述预设数量的序列号中获取当前次程序调用对应的目标序列号。
可选的,在步骤S4之后,还包括:
S5、统计程序调用次数,在所述程序调用次数大于所述队列长度的情况下,执行步骤S1至S4。
可选的,所述配置参数还包括序列初始值;
根据所述配置参数生成预设数量的序列号,包括:
在第一次根据所述配置参数生成预设数量的序列号的情况下,将所述序列初始值作为第一最大序列号。
可选的,所述配置参数还包括机器标识;
根据程序调用次数依次从所述预设数量的序列号中获取当前次程序调用对应的目标序列号,包括:
根据程序调用次数从所述预设数量的序列号中读取当前次程序调用对应的初始序列号;
根据所述初始序列号和所述机器标识生成当前次程序调用对应的目标序列号。
本发明实施例还公开了一种分布式序列号生成装置,包括:
生成模块,被配置为获取预设的配置文件中的配置参数,其中,所述配置参数包括第一最大序列号、队列长度;
确定模块,被配置为根据所述第一最大序列号和所述队列长度生成预设数量的序列号并确定第二最大序列号,其中,所述预设数量与所述队列长度相同;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010705878.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种方案管理的方法和系统
- 下一篇:一种多卡种即时制卡系统





