[发明专利]一种编号生成方法和装置在审

专利信息
申请号: 201911135071.1 申请日: 2019-11-19
公开(公告)号: CN112905585A 公开(公告)日: 2021-06-04
发明(设计)人: 肖竹 申请(专利权)人: 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/27
代理公司: 中原信达知识产权代理有限责任公司 11219 代理人: 李阳;郭晗
地址: 100176 北京市北京经济技术*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 编号 生成 方法 装置
【说明书】:

发明公开了一种编号生成方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:在收到分布式应用系统发送的获取唯一编号的请求之后,在区块链网络中查找已存的最新编号;根据所述已存的最新编号,按照预设规则计算得到所述唯一编号;将所述唯一编号返回所述分布式应用系统。该实施方式能够克服使用UUID方式导致生成的编号长度较长、降低数据库写入性能的缺陷,且不依赖于机器的时钟,避免出现编号不是全局递增的情况,高效可靠。

技术领域

本发明涉及计算机技术领域,尤其涉及一种编号生成方法和装置。

背景技术

在分布式环境中,很多项目中经常会用编号(例如ID(标识))作为唯一标识,例如在分布式服务中,一些服务发送消息到队列,另一些服务从队列消费消息,消息可能会重复,消费端需要做幂等,为了达到业务的幂等,需要有一个不能重复且趋势递增的编号存在,另外还有订单编号、用户编号等的都会用到一个唯一递增的编号。

目前已有的生成分布式唯一自增编号的方法主要有以下两种:一是使用UUID(Universally Unique Identifier,通用唯一识别码):String uuid=UUID.randomUUID().toString(),这种方式可以生成一个长度为32位的全局唯一识别码;二是使用snowFlake算法:其为一种分布式ID生成算法,是一种划分命名空间来生成ID的一种算法,结算是一个long型的ID。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

使用UUID方式导致生成的编号长度较长,而且它在作为数据库索引存储时,由于数据库的索引大都是B+树的方式,当无序的数插入时,可能会导致因为把新记录插入到合适的位置而移动大量的数据,从而降低了写入性能;

使用snowFlake算法依赖机器的时钟,如果服务器时钟回拨,会导致重复编号生成,并且在分布式环境中,每个服务器的时钟不可能完全同步,有时会出现不是全局递增的情况。

发明内容

有鉴于此,本发明实施例提供一种编号生成方法和装置,能够克服使用UUID方式导致生成的编号长度较长、降低数据库写入性能的缺陷,且不依赖于机器的时钟,避免出现编号不是全局递增的情况,高效可靠。

为实现上述目的,根据本发明实施例的一个方面,提供了一种编号生成方法。

一种编号生成方法,包括:在收到分布式应用系统发送的获取唯一编号的请求之后,在区块链网络中查找已存的最新编号;根据所述已存的最新编号,按照预设规则计算得到所述唯一编号;将所述唯一编号返回所述分布式应用系统。

可选地,根据所述已存的最新编号,按照预设规则计算得到所述唯一编号的步骤,包括:从所述获取唯一编号的请求中得到所述分布式应用系统设置的步长;将所述已存的最新编号与所述步长相加,得到所述唯一编号。

可选地,在所述获取唯一编号的请求中不包括所述步长的情况下,将所述已存的最新编号与预设的默认值相加,得到所述唯一编号。

可选地,当在所述区块链网络中未查找到所述已存的最新编号的情况下,生成初始化编号,并将所述初始化编号作为所述唯一编号,然后执行所述将所述唯一编号返回所述分布式应用系统的步骤。

可选地,所述区块链网络中的每个区块存储一个编号,所述已存的最新编号为已创建的最新区块存储的编号,所述方法还包括:在按照预设规则计算得到所述唯一编号之后,创建新的区块存储所述唯一编号。

根据本发明实施例的另一方面,提供了一种编号生成装置。

一种编号生成装置,包括:最新编号查找模块,用于在收到分布式应用系统发送的获取唯一编号的请求之后,在区块链网络中查找已存的最新编号;唯一编号生成模块,用于根据所述已存的最新编号,按照预设规则计算得到所述唯一编号;唯一编号返回模块,用于将所述唯一编号返回所述分布式应用系统。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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