[发明专利]序列号的生成方法、装置及电子设备在审
| 申请号: | 202310213155.2 | 申请日: | 2023-03-06 |
| 公开(公告)号: | CN116226233A | 公开(公告)日: | 2023-06-06 |
| 发明(设计)人: | 刘凯旋;张卉;张智勤;任海飞 | 申请(专利权)人: | 中国工商银行股份有限公司 |
| 主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/27;G06F16/22 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 周春枚 |
| 地址: | 100140 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 序列号 生成 方法 装置 电子设备 | ||
本发明公开了一种序列号的生成方法、装置及电子设备。涉及大数据技术领域,该方法包括:获取分布式存储系统接收到序列号生成请求的第一时间和第一历史序列号,其中,第一历史序列号用于表征分布式存储系统中截止到第一时间最后启动的服务器节点所对应的启动顺序;确定第一时间在目标时间单位上的值为目标值,并依据目标值从多个第二历史序列号中确定目标第二历史序列号,其中,目标第二历史序列号为分布式存储系统在上一次目标时间单位上的值为目标值时所生成的历史序列号;依据第一时间、第一历史序列号和目标第二历史序列号,生成序列号生成请求对应的目标序列号。本发明解决了现有技术存在生成的序列号重复率较高的技术问题。
技术领域
本发明涉及大数据技术领域,具体而言,涉及一种序列号的生成方法、装置及电子设备。
背景技术
在复杂分布式系统中,通常需要对大量数据和消息进行唯一标识,随着交易量的增大,需要全局考虑序列号生成问题,要求序列号满足全局唯一性。现有技术通常采用雪花算法和数据缓存的方式生成序列号,其中,通过雪花算法生成序列号虽然无需与数据库直接交互,但是其过于依赖服务器时间,导致在出现时钟回拨的异常时存在序列号重复率高的问题。而通过数据缓存的方式生成序列号,需要频繁与数据库交互,因此在分布式节点增多时,导致系统稳定性下降。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种序列号的生成方法、装置及电子设备,以至少解决现有技术存在生成的序列号重复率较高的技术问题。
根据本发明实施例的一个方面,提供了一种序列号的生成方法,包括:获取分布式存储系统接收到序列号生成请求的第一时间和第一历史序列号,其中,第一历史序列号用于表征分布式存储系统中截止到第一时间最后启动的服务器节点所对应的启动顺序;确定第一时间在目标时间单位上的值为目标值,并依据目标值从多个第二历史序列号中确定目标第二历史序列号,其中,每个第二历史序列号为分布式存储系统在目标时间单位上的值为目标值时所生成的历史序列号,目标第二历史序列号为分布式存储系统在上一次目标时间单位上的值为目标值时所生成的历史序列号,目标时间单位为分布式存储系统对应的多个时间单位中最小的时间单位;依据第一时间、第一历史序列号和目标第二历史序列号,生成序列号生成请求对应的目标序列号。
进一步地,依据第一时间、第一历史序列号和目标第二历史序列号,生成序列号生成请求对应的目标序列号,包括:依据预设规则对分布式存储系统的第一时间进行转换,得到第一序列号;对目标第二历史序列号进行自增累加,生成第二序列号;基于第一历史序列号生成第三序列号;对第一序列号、第二序列号以及第三序列号进行拼接处理,生成目标序列号。
进一步地,依据预设规则对分布式存储系统的第一时间进行转换,得到第一序列号,包括:计算第一时间距离第一预设时间的间隔时长,其中,第一预设时间为预设时间周期的起始时间,分布式存储系统在预设时间周期内生成的所有目标序列号不重复;依据目标时间单位对间隔时长进行转换,得到第一序列号。
进一步地,对目标第二历史序列号进行自增累加,生成第二序列号,包括:从目标第二历史序列号中提取处于第一预设位数上的字符,得到第一序号;检测第一序号是否小于或等于预设阈值;在第一序号小于预设阈值时,对第一序号进行自增累加,得到第二序号;基于第二序号以及第一预设长度生成第二序列号,其中,第一预设长度用于表征第二序列号的序列长度。
进一步地,序列号的生成方法还包括:在第一序号等于预设阈值时,对第一序号进行初始化处理,得到目标序号,其中,初始化处理用于将第一序号归零;基于目标序号以及第一预设长度生成第二序列号。
进一步地,基于第一历史序列号生成第三序列号,包括:从第一历史序列号中提取处于第二预设位数上的字符,得到第三序号;对第三序号进行自增累加,得到第四序号;对第四序号进行取模运算,得到第五序号,其中,取模运算用于使第五序号中的字符的长度小于或等于第二预设长度,第二预设长度用于表征第三序列号的序列长度;基于第五序号以及第二预设长度生成第三序列号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310213155.2/2.html,转载请声明来源钻瓜专利网。





