[发明专利]全局单调递增ID生成方法、装置、系统及设备在审

专利信息
申请号: 201811421041.2 申请日: 2018-11-27
公开(公告)号: CN109639775A 公开(公告)日: 2019-04-16
发明(设计)人: 陈海文;王晓斌;李志 申请(专利权)人: 湖南蚁为软件有限公司
主分类号: H04L29/08 分类号: H04L29/08;H04J3/06
代理公司: 长沙心智力知识产权代理事务所(普通合伙) 43233 代理人: 谢如意
地址: 410000 湖南省长沙市高新*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 时间戳 单调递增 系统及设备 生成器 全局 数据处理技术 系统可扩展性 服务器接收 生成序列号 被服务器 存储介质 循环队列 暂停服务 符号位 应用端 构建 并发 重复 应用
【说明书】:

本发明公开了一种全局单调递增ID生成方法、装置、系统及设备,属于数据处理技术领域。所述方法包括:服务器接收应用端的ID获取请求,判断当前时间戳是否小于上次生成ID的时间戳,是,暂停服务;否,根据当前时间戳,以及序列号生成器生成的序列号生成ID,并发送给应用端;其中,所述的序列号生成器被服务器构建在用于生成序列号的循环队列内,所述ID包括符号位、时间戳和序列号。还包括对应的装置和系统、设备及存储介质。它可以生成全局单调递增的ID,可以避免生成重复ID,ID的生成效率高,系统可扩展性好。

技术领域

本发明涉及数据处理技术领域,尤其涉及一种全局单调递增ID生成方法、装置、系统及设备。

背景技术

随着互联网的发展,需要计算处理的数据呈爆炸性增长,软件系统也随之越来越复杂,分布式计算变成了一个普遍性的需求。在分布式计算系统中,全局递增ID的应用场景非常多,如分布式任务ID、消息ID、事务日志ID、订单ID等等。

一般来说,分布式系统对全局ID设计有几个要求:1)全局唯一性:不能出现重复的ID号,这个是最基本的要求。2)信息安全:不能完全连续或有规律,防止恶意用户通过规律获取ID。3)数据递增:保证下一个ID一定大于上一个ID。针对上述要求,现有生成全局递增ID的方法有以下几种:1)使用UUID。2)使用关系数据库的自增长字段。3)使用中间件(Mongodb、Redis等)生成。4)使用Twitter的Snowflake算法。这些方法或存在性能问题,或存在单点故障,或存在扩展性问题,都不太完美。比如使用Redis生成ID需要预先设定每个节点的初始值和步长,当节点增加或减少时又要重新设定初始值和步长,扩展性差,影响系统可用性,同时还存在ID有规律且不是单调递增的问题。而使用Twitter的Snowflake算法则存在时钟倒拨导致ID重复的问题,同时所生成的ID也不是单调递增的。

目前有一些相关基于这些传统方法的专利技术,但这些技术或多或少也还存在一些缺陷。如《一种业务ID生成方法及装置》(申请号:201810228829.5)在Snowflake算法的基础上增加了业务号,仍然存在时钟同步和倒拨的问题,同一毫秒服务器之间所生成的ID也不是单调递增的。《一种分布式唯一ID生成方法》(申请号:201610918689.5)所生成的ID只有32位,范围不够大,而且完全是随机的,有重复的可能性,也无法保证单调递增。《分布式全球唯一ID生成方法》(申请号:201310684624.5)是针对特定游戏设计的,不具有普适性。《一种基于分布式系统的唯一性ID生成方法》(申请号:201810068918.8)也是基于Snowflake算法实现的,但对于Snowflake算法所存在的问题并没有改进,即仍然存在时钟倒拨和ID非单调递增的问题。

发明内容

1.发明要解决的技术问题

为了克服上述技术问题,本发明提供了一种全局单调递增ID生成方法、装置、系统及设备。它可以避免生成重复ID,可以生成全局单调递增的ID,生成ID的效率高,系统可扩展性好。

2.技术方案

为解决上述问题,本发明提供的技术方案为:

一种全局单调递增ID生成方法,包括:服务器接收应用端的ID获取请求,判断当前时间戳是否小于上次生成ID的时间戳,是,暂停服务直到时钟正常;否,根据当前时间戳,以及序列号生成器生成的序列号生成ID,并发送给应用端;

其中,所述的序列号生成器被服务器构建在用于生成序列号的循环队列内,所述ID包括符号位、时间戳和序列号。

优选地,所述的根据当前时间戳,以及序列号生成器生成的序列号生成ID,并发送给应用端的步骤中还包括以下内容:记录当前时间戳、ID。

优选地,所述的服务器接收应用端的ID获取请求还包括记录最新ID生成时间戳。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南蚁为软件有限公司,未经湖南蚁为软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811421041.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top