[发明专利]全局唯一ID的生成方法和生成装置在审
申请号: | 201710631091.2 | 申请日: | 2017-07-28 |
公开(公告)号: | CN109309736A | 公开(公告)日: | 2019-02-05 |
发明(设计)人: | 安宁 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;杨晓伟 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 全局 应用服务器 时间戳 基准时间戳 生成装置 唯一标识 计算机技术领域 应用服务器信息 差值计算 格式生成 资源生成 预设 服务器 配置 | ||
本发明公开了一种全局唯一ID的生成方法和生成装置,涉及计算机技术领域。该方法的一具体实施方式包括:预设全局唯一ID的生成格式,其中全局唯一ID的生成格式中包括:时间戳差、应用服务器唯一标识;根据用于生成全局唯一ID的应用服务器信息配置相应的基准时间戳和应用服务器唯一标识值;根据接收到的全局唯一ID生成请求,获取全局唯一ID生成请求的请求时间戳,将请求时间戳与基准时间戳进行差值计算,生成时间戳差值,然后按照全局唯一ID的生成格式生成全局唯一ID。该实施方式能够利用应用服务器生成全局唯一ID,克服了依赖额外的资源生成ID的技术问题,达到ID生成服务器与应用服务器共用的效果,具有较高的性能。
技术领域
本发明涉及计算机技术领域,尤其涉及一种全局唯一ID的生成方法和生成装置。
背景技术
在高并发分布式系统中,对消息、数据等通常会有全局唯一的要求,需要对各数据或信息利用全局唯一ID进行标识。此外,全局唯一ID除了唯一性要求之外,通常还会有一些诸如全局ID具备一定的时间先后顺序、ID产生的高性能、ID产生的高可用等要求。
目前,生成全局唯一ID的方法主要分为:基于数据库特性生成全局唯一ID的方法、UUID算法以及基于位运算生成全局唯一ID的方法。由于基于数据库特性生成全局唯一ID的方法以及UUID算法生成的ID不包含时间特性,不能满足全局递增性,因此基于位运算的方法性能最好。现有技术中,常见的方法是基于位运算的snowflake方法。此方法生成64bit(二进制数字中的位,信息量的度量单位,为信息量的最小单位)长的ID,包括1bit的符号位,41bit的时间序列,10bit的机器标识和12bit的计数顺序号。
在实现本发明过程中,发明人发现现有技术的基于位运算的snowflake方法中至少存在如下问题:一、此方法依赖外部资源过多:需要单独部署数据中心服务器,依赖zookeeper(一个分布式的、开放源码的分布式应用程序协调服务)配置机器ID;二、采用此方法生成的全局唯一ID不具有可反解性,例如反解生成ID的服务器以及数据对应的存储位置等信息,即无法基于ID直接进行相关业务操作。可反解性即反向解析,通常正向生成是指把各种信息编码生成全局唯一ID,反向解析指的是通过位运算可以将全局唯一ID中包含的关键信息,如服务器ID、垂直分片信息、水平分片信息,解析出来。
发明内容
有鉴于此,本发明实施例提供一种全局唯一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/201710631091.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:连接处理方法、服务器、系统及存储介质
- 下一篇:对网络地址的无线分配