发明名称 | 一种分布式唯一ID生成方法 | ||
摘要 | 本发明公开了一种分布式唯一ID生成方法,包括以下步骤:S1:设定分布式唯一ID的总位数,将分布式唯一ID的划分为若干个个区间;S2:获取服务器的节点名称,使用md5加密法将节点名称转化为十六进制的数字串,取数字串其中的一段作为分布式唯一ID的其中一个区间;S3:获取当前服务器时间,将当前时间转为十六进制后作为分布式唯一ID的其中一个区间;S4:从十六进制的0000‑ffff之间获取四位随机数作为分布式唯一ID的其中一个区间;S5:将从步骤S2‑S4中获得的区间拼接获得一个分布式唯一ID。本发明通过将一个多位数的ID划分成多个区间,采用不同的生成方法从而获得每个区间的数字串,有效地防止出现重复ID。 | ||
申请公布号 | CN106571953A | 申请公布日期 | 2017.04.19 |
申请号 | CN201610918689.5 | 申请日期 | 2016.10.21 |
申请人 | 东莞市大易产业链服务有限公司 | 发明人 | 阳建;李实;彭添才;杨彪;占海华 |
分类号 | H04L12/24(2006.01)I | 主分类号 | H04L12/24(2006.01)I |
代理机构 | 东莞市华南专利商标事务所有限公司 44215 | 代理人 | 马腾飞 |
主权项 | 一种分布式唯一ID生成方法,其特征在于:包括以下步骤:S1:设定分布式唯一ID的总位数,将分布式唯一ID划分为若干个区间;设定每个区间的位数;所述分布式唯一ID由所有区间拼接而成;S2:获取服务器的节点名称,使用md5加密法将节点名称转化为十六进制的数字串,取数字串其中的一段作为分布式唯一ID的其中一个区间;S3:启动服务器,获取当前服务器时间,将当前服务器的时间转为秒数和微秒数,并将当前秒数和微秒数转为十六进制后作为分布式唯一ID的其中一个区间;S4:从十六进制的0000‑ffff之间获取四位随机数作为分布式唯一ID的其中一个区间;S5:将从步骤S2‑S4中获得的区间拼接获得一个分布式唯一ID。 | ||
地址 | 523000 广东省东莞市南城高盛科技大厦7楼 |