[发明专利]分布式ID的生成方法及装置有效
申请号: | 202011465364.9 | 申请日: | 2020-12-14 |
公开(公告)号: | CN112579566B | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 桑成刚;张晓明 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F21/62 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆;姜鹏 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 id 生成 方法 装置 | ||
本发明提供的分布式ID的生成方法及装置,方法包括:在当前服务本次需要生成一个分布式ID时,生成初始编码;利用所述初始编码,以及根据预先设置的校验码生成规则,生成校验码;将所述初始编码和所述校验码进行合成,得到本次需要生成的分布式ID;所述生成校验码,包括:从所述初始编码中进行数字采样,得到至少一个采样数字;将所述至少一个采样数字处理成一个十进制采样值;根据预先配置的校验位对应的位数,计算出所述校验位对应最大编码时的十进制校验值;将所述十进制采样值对所述十进制校验值进行取余计算;将取余计算得到的结果确定为与所述校验位对应的校验码。本方案,能够降低被穷举破解的风险。
技术领域
本发明涉及数据处理技术领域,尤其涉及分布式ID的生成方法及装置。
背景技术
分布式系统中,为了防止数据表占用过大的物理存储空间,经常采用分库分表相关技术。为便于分辨和管理,针对数据库中的数据表在生成分布式ID时,需要该分布式ID的全局唯一。
目前有一种采用雪花算法生成分布式ID的方法,利用雪花算法生成的分布式ID具有有序性,可以提升数据库索引效率,但是正因为其有序性,可以通过穷举方式对分布式ID进行破解,利用破解的分布式ID可以实现数据访问,获取该分布式ID对应的数据。
因此,需要提供一种分布式ID的生成方法,以降低被穷举破解的风险。
发明内容
本发明实施例提供了一种分布式ID的生成方法及装置,以降低被穷举破解的风险。
第一方面,本发明实施例提供了分布式ID的生成方法,包括:
在当前服务本次需要生成一个分布式ID时,生成初始编码;
利用所述初始编码,以及根据预先设置的校验码生成规则,生成校验码;
将所述初始编码和所述校验码进行合成,得到本次需要生成的分布式ID;
所述生成校验码,包括:
从所述初始编码中进行数字采样,得到至少一个采样数字;
将所述至少一个采样数字处理成一个十进制采样值;
根据预先配置的校验位对应的位数,计算出所述校验位对应最大编码时的十进制校验值;
将所述十进制采样值对所述十进制校验值进行取余计算;
将取余计算得到的结果确定为与所述校验位对应的校验码。
优选地,
在所述从所述初始编码中进行数字采样之前,进一步包括:将所述初始编码转换成十进制的值;
从所述十进制的值中执行所述进行数字采样;
所述将所述至少一个采样数字处理成一个十进制采样值,包括:
针对所述至少一个采样数字中的每一个采样数字,将该采样数字乘以第一设定值,将乘积除以第二设定值得到商值,以及将该乘积对第三设定值取余计算得到取余值,将该商值与该取余值相加,得到至少一个变换后的采样数字;
将所述至少一个变换后的采样数字相加,并对相加后得到的值乘以第四设定值,得到所述十进制采样值。
优选地,
进一步包括:配置所述初始编码和所述校验码在所述分布式ID中的位置;其中,所述初始编码在所述分布式ID的首端,所述校验码在所述分布式ID的尾端;
将所述初始编码和所述校验码进行合成,包括:将所述初始编码按照所述校验位的位数左移;将左移后的所述初始编码与所述校验码按位或运算。
优选地,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011465364.9/2.html,转载请声明来源钻瓜专利网。