[发明专利]面向业务实体的全局ID生成方法及装置在审

专利信息
申请号: 201910848935.8 申请日: 2019-09-09
公开(公告)号: CN110737806A 公开(公告)日: 2020-01-31
发明(设计)人: 杨凯翔;杨晓辰 申请(专利权)人: 贝壳技术有限公司
主分类号: G06F16/901 分类号: G06F16/901;G06F16/903
代理公司: 11283 北京润平知识产权代理有限公司 代理人: 肖冰滨;王晓晓
地址: 300280 天津市滨海新区南港*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 全局 业务实体 算法 实际业务 业务类型 时间戳 解析 增设 保证
【说明书】:

发明实施方式提供一种面向业务实体的全局ID生成方法,所述生成方法基于SnowFlake算法,其生成的全局ID包括时间戳、机器ID和序列号;所述全局ID还包括业务ID。所述业务ID与业务类型相对应。同时还提供了一种面向业务实体的全局ID生成装置。本发明的上述技术方案通过在现有SnowFlake算法中增设业务ID的方式以生成全局ID,实现了全局ID和实际业务的对应,通过ID能够解析出实际的业务含义,并且在大多数情况下,能够保证生成的ID的有序性,以及局部的绝对有序性。

技术领域

本发明涉及数据信息领域,具体地涉及一种面向业务实体的全局ID生成方法、一种面向业务实体的全局ID生成装置以及对应的存储介质。

背景技术

业务系统的业务逻辑中,都具有业务实体的概念。业务逻辑往往以业务实体为操作核心,设计和开发业务流程。比如一个电子商务系统,就具有订单,商品,库存等业务实体。如何很好的设计一个业务系统,决定了线上产品的执行效果和用户体验。业务实体需要具有自己的ID,这个ID应该在该实体所在的业务领域内是全局唯一的。这就涉及到了生成业务实体的全局唯一ID的问题。

在现有生成唯一ID的方法中。许多方法使用UUID生成唯一索引,或者使用UUID的部分几位和时间戳,IP,用户ID等数据拼接为一个全局唯一的ID字符串,UUID是通用唯一识别码,能够保证生成的识别码是绝对唯一的。但是这种方式也有问题,首先这种字符串拼接的方式执行性能较低,并且生成的ID是无序的,ID往往是作为数据库的索引,因此这种ID入库的性能也较差。也有一些方法使用数据库的唯一索引来生成唯一ID,但是这种方法在每次生成ID时都需要操作数据库,所以性能也不高,并且过于依赖于数据,数据库如果出现问题则会导致服务不可用。

SnowFlake是Twitter开源的分布式ID生成算法,其生成结果是一个long型的ID。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID,其中5个bit是数据中心,5个bit的机器ID,12bit作为毫秒内的流水号,即意味着每个节点在每毫秒可以产生4096个ID,最后还有一个符号位,永远是0。

发明内容

本发明实施方式的目的是提供一种面向业务实体的全局ID生成方法及装置,以至少解决现有的全局唯一ID生成方法中无法体现实际业务含义的问题。

为了实现上述目的,在本发明第一方面,提供了一种面向业务实体的全局ID生成方法,所述生成方法基于SnowFlake算法,其生成的全局ID包括时间戳、机器ID和序列号,所述全局ID还包括业务ID。

可选的,所述业务ID与业务类型相对应。

可选的,所述机器ID采用抢占式分布式锁的方式获取。

可选的,所述机器ID采用以下方式获取:

接收包含机器ID的抢占请求,并在所述缓存服务中查询所述机器ID对应的缓存key是否存在;所述缓存服务响应于远端机器在服务启动时的连接,并保存有当前在线机器的缓存key;

若存在,则通知抢占请求的发送者重新生成机器ID并重新请求,重复上一步骤;若不存在,则采用所述机器ID作为所述抢占请求的发送者的机器ID,同时将所述机器ID对应的缓存key加入所述缓存服务。

可选的,所述生成方法还包括:当接收到某一机器的服务关闭时,从所述缓存服务中删除所述机器的机器ID对应的缓存key。

可选的,所述生成方法还包括:设置所述缓存key的生存周期,当所述生存周期内未收到其对应的机器的心跳信号时,从所述缓存服务中删除所述机器的机器ID对应的缓存key。

可选的,所述时间戳和所述序列号采用以下步骤生成:

获取ID生成请求中的第一时间戳;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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