[发明专利]一种为应用产生机器ID的方法、装置和系统在审
申请号: | 201910930811.4 | 申请日: | 2019-09-29 |
公开(公告)号: | CN110795399A | 公开(公告)日: | 2020-02-14 |
发明(设计)人: | 倪思勇;宋荣鑫;黄建庭;肖卫渭 | 申请(专利权)人: | 北京淇瑀信息科技有限公司 |
主分类号: | G06F16/16 | 分类号: | G06F16/16;G06F16/14;G06F16/182 |
代理公司: | 11691 北京清诚知识产权代理有限公司 | 代理人: | 乔东峰 |
地址: | 100012 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 属性信息 匹配 应用目录 计算机可读介质 管理和维护 查找 目录创建 人工参与 唯一性 创建 保证 | ||
本发明公开了一种为应用产生机器ID的方法、装置、系统和计算机可读介质,其中方法包括:根据应用的名称在zookeeper下创建与应用对应的应用目录,在应用目录下创建第一目录和第二目录,第一目录和第二目录均包括节点;获取与应用相关的属性信息;根据属性信息在第一目录中查找是否已存在与应用的属性信息相匹配的节点,如果有匹配的节点则获取该节点的机器ID信息作为该应用对应的机器ID,如果没有匹配的节点则查找第一目录中所有节点,选取未被使用的数值作为应用的机器ID;在第二目录创建新的节点来存放所选用的机器ID。采用该技术方案,不需要人工参与就能为应用生成唯一机器ID,保证了机器ID的唯一性,便于系统的管理和维护。
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种为应用产生机器ID的方法、装置和系统。
背景技术
目前分布式系统中很多应用场景需要使用全局唯一识别码(Identifier,ID)。唯一的全局ID指应用场景中的所有全局ID均不重复,即任何两个全局ID之间不会冲突。
最初采用的技术是通用唯一识别码(Universally Unique Identifier,UUID)作为唯一的全局ID。UUID通常由当前日期和时间、时钟序列以及全局唯一的机器序列号(例如网卡的媒体访问控制(Media Access Control,MAC)地址)组成,但UUID的存储形式无序,过长,而且难以建立索引。
目前引入的是Twitter公司的雪花算法,雪花算法生成的全局ID是一个64bit的long类型,包括41位时间,10位机器ID,12位序列号。
在分布式应用中为了保证生成的全局ID是唯一的,同个应用不同的进程需要设置不同的机器ID,才能保证应用的使用雪花算法时产生应用级别的唯一全局ID。目前常用的机器ID生成方法一是人工设定,但这种方法由于需要人工保证机器ID号不重复,所以出错率也比较高,维护成本高。二是根据IP地址设定机器ID,直接将IP地址的一段数值作为机器ID,但当机器不在同一个网段时容易出现重复机器ID,导致全局ID不唯一。
因此,目前急需一种在分布式应用中能够生成唯一机器ID,并且不需要人工参与、便于系统管理和维护的解决方案。
发明内容
本发明旨在解决现有分布式应用中机器ID生成容易出现重复,管理和维护成本高的问题。
为了解决上述技术问题,本发明第一方面提出一种为应用产生机器ID的方法,包括:
S1、根据应用的名称在zookeeper下创建与应用对应的应用目录,在所述应用目录下创建第一目录和第二目录,所述第一目录和第二目录均包括节点,第一目录的节点为永久节点,第二目录的节点为临时节点,所述节点用于记录在不同客户端启动的应用的机器ID;
S2、获取与所述应用相关的属性信息;
S3、根据所述属性信息在第一目录中查找是否已存在与所述应用的属性信息相匹配的节点,如果有匹配的节点则获取该节点的机器ID信息作为该应用对应的机器ID,如果没有匹配的节点则查找第一目录中所有节点,选取未被使用的数值作为所述应用的机器ID;
S4、在第二目录创建新的节点来存放所选用的机器ID。
根据本发明的一种优选实施方式,方法还包括:
S5、判断创建节点是否成功,如果创建成功执行步骤S6,否则执行S7;
S6、保存配置到第一目录中,并启动成功;
S7、设置重试次数阈值,判断重试次数是否达到阈值,如果达到阈值执行S8,如果未达到阈值执行S9;
S8、当重试次数达到所述阈值时启动失败;
S9、当重试次数未达到阈值时返回S3。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京淇瑀信息科技有限公司,未经北京淇瑀信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910930811.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种模型文件调用系统及方法
- 下一篇:一种文件的管理方法、装置、设备及介质