[发明专利]一种优化雪花算法的方法、装置、设备以及存储介质在审
| 申请号: | 202110917374.X | 申请日: | 2021-08-11 |
| 公开(公告)号: | CN113656172A | 公开(公告)日: | 2021-11-16 |
| 发明(设计)人: | 王小林 | 申请(专利权)人: | 芜湖雄狮汽车科技有限公司;奇瑞汽车股份有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张文姣 |
| 地址: | 241009 安徽*** | 国省代码: | 安徽;34 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 优化 雪花 算法 方法 装置 设备 以及 存储 介质 | ||
本发明公开了一种优化雪花算法的方法、装置、设备以及存储介质,所述方法包括:获取生成唯一目标ID的服务请求;根据所述服务请求,获取时间差;根据所述服务请求,自动配置特征部分;基于所述时间差以及特征部分,生成唯一目标ID。本发明的技术方案,对雪花算法进行了优化,自动获取目标服务器的MAC地址,无需工作人员手动传参,降低了开发工作的复杂程度,实现了生成云端分布式系统唯一ID;并可以根据服务并发量,以配置自增序列号长度的方式控制分布式目标ID的长度。
技术领域
本发明属于计算机技术领域,尤其涉及一种优化雪花算法的方法、装置、设备以及存储介质。
背景技术
目前利用雪花算法生成分布式唯一ID的算法中,为了避免分布式服务同一时间生成的ID重复,工作机器ID需要开发人员手动获取,增加了开发的工作量;而且,如果不同开发人员同一时间传入相同工作机器ID(不同域IP重复),唯一ID有重复风险。
另外,当同一时间内服务器收到多个服务请求,需要生成多个唯一ID时,通过后几位自增序列号的方式来避免重复;但是,如果自增序列号位数太短,当服务并发量很高时无法正常提供服务;如果自增序列号太长,如果并发量不高,则导致位数浪费、唯一ID位数太长。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提出一种优化雪花算法的方法、装置、设备以及存储介质。
为了解决上述技术问题,本发明的实施例提供如下技术方案:
一种优化雪花算法的方法,包括:
获取生成唯一目标ID的服务请求;
根据所述服务请求,获取时间差;
根据所述服务请求,自动配置特征部分;
基于所述时间差以及特征部分,生成唯一目标ID。
可选的,所述根据服务请求,获取时间差,包括:
预设基准时间戳;
获取当前时间戳;
计算所述当前时间戳与基准时间戳的的差值,获取所述时间差;其中,所述时间差的单位为秒或毫秒。
可选的,所述根据所述服务请求,自动配置特征部分,包括:
目标服务器接收所述服务请求;
所述目标服务器根据所述服务请求,生成MAC地址;
所述配置模块获取同一时间内每个所述目标服务器接收所述服务请求的个数N;
若N等于1,则所述配置模块不配置自增序列号;
若N大于1,则所述配置模块配置所述自增序列号。
可选的,所述若N大于1,则所述配置模块配置所述自增序列号,包括:
预设N的阈值;
若N小于等于阈值,则所述配置模块配置第一自增序列号;
若N大于阈值,则所述配置模块配置第二自增序列号。
可选的,所述第一自增序列号的比特位的位数小于所述第二自增序列号。
可选的,基于所述时间差以及特征部分,生成唯一目标ID,包括:
基于二进制,将所述时间差以及特征部分依次转化为二进制时间戳、二进制MAC地址以及二进制自增序列号;
将所述二进制时间戳、二进制MAC地址以及二进制自增序列号依次连接,生成唯一目标ID。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芜湖雄狮汽车科技有限公司;奇瑞汽车股份有限公司,未经芜湖雄狮汽车科技有限公司;奇瑞汽车股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110917374.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种卷对卷激光切割设备
- 下一篇:配网设备管理方法、系统及装置





