[发明专利]基于分布式系统的标识生成方法、系统、设备及介质在审
申请号: | 202011122844.5 | 申请日: | 2020-10-20 |
公开(公告)号: | CN112199923A | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 唐明东 | 申请(专利权)人: | 重庆紫光华山智安科技有限公司 |
主分类号: | G06F40/126 | 分类号: | G06F40/126 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 代玲 |
地址: | 400700 重庆市*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分布式 系统 标识 生成 方法 设备 介质 | ||
本申请提供一种基于分布式系统的标识生成方法、系统、设备及介质,该方法包括:获取一个或多个标识生成请求,所述标识生成请求包括业务KEY值;检测当前缓存内剩余的标识数量是否满足标识生成请求的要求;当所述缓存内剩余的标识数量满足标识生成请求的要求时,则返回所述标识给请求方;当所述缓存内剩余的标识数量不满足标识生成请求的要求时,则调用Redis INCR指令生成标识返回至缓存以满足所述标识生成请求;利用所述Redis INCR获取序列的最大值,反向计算起始值依次递增或递减生成标识,所述标识的生成数量根据所述缓存内剩余的标识数量与标识生成请求的要求确定。本申请提高了标识生成的效率;依次产生的序列ID避免了ID重复现象,有利于于后续扩容。
技术领域
本申请涉及计算机领域,特别是涉及一种基于分布式系统的标识生成方法、系统、设备及介质。
背景技术
在互联网和软件开发的一些场景中,所有的数据对象都需要一个唯一标识(Identification,ID),用来生成该ID的服务被称为ID生成器(或者发号器)。ID生成器的包括为数据对象或者其他服务发放全局唯一的ID。数据对象被分配了ID之后才能被存储和使用。
现有的ID生成器基于数据库的自增序列或者UUID(通用唯一识别码)来保证数据的唯一性。然而,当数据达到一定量级后,系统将升级为分布式集群架构,一方面,如果继续采用自增序列的方式,会限制数据库节点扩容,影响ID的唯一性;另一方面,如果采用UUID方式由于其生成的ID都是无序的字符串,导致查询存储效率差,可读性差,无法保证趋势递增,也无法体现业务顺序;而如果采用Twitter开源的snowflake算法,由于其强依赖于机器时钟,当工作设备出现时钟回拨情况时,生成ID的时间戳也会随之回退,如果仍按照回退后的时间戳生成ID,则可能会出现ID重复问题;同时,多节点同一时间产生的ID差值较大,导致无法正常排序,容易造成ID资源的极大浪费。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种基于分布式系统的标识生成方法、系统、设备及介质,用于解决现有技术中标识生成容易引起的ID重复以及扩展不易的问题。
为实现上述目的及其他相关目的,本申请提供一种基于分布式系统的标识生成方法,包括:
获取一个或多个标识生成请求,其中,所述标识生成请求包括业务KEY值;
检测当前缓存内剩余的标识数量是否满足标识生成请求的要求;
当所述缓存内剩余的标识数量满足标识生成请求的要求时,则返回所述标识给请求方;
当所述缓存内剩余的标识数量不满足标识生成请求的要求时,则调用Redis INCR指令生成标识返回至缓存以满足所述标识生成请求;其中,利用所述Redis INCR获取序列的最大值,反向计算起始值依次递增或递减生成标识,所述标识的生成数量根据所述缓存内剩余的标识数量与标识生成请求的要求确定。
在本申请的另一目的在于提供一种基于分布式系统的标识生成系统,包括:
获取模块,用于获取一个或多个标识生成请求,其中,所述标识生成请求包括业务KEY值;
检测模块,用于检测当前缓存内剩余的标识数量是否满足标识生成请求的要求;
第一标识生成模块,用于当所述缓存内剩余的标识数量满足标识生成请求的要求时,则返回所述标识给请求方;
第二标识生成模块,用于当所述缓存内剩余的标识数量不满足标识生成请求的要求时,则调用Redis INCR指令生成标识返回至缓存以满足所述标识生成请求;其中,利用所述Redis INCR获取序列的最大值,反向计算起始值依次递增或递减生成标识,所述标识的生成数量根据所述缓存内剩余的标识数量与标识生成请求的要求确定。
在本申请的另一目的在于提供一种电子设备,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆紫光华山智安科技有限公司,未经重庆紫光华山智安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011122844.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高效散热的显示屏模组
- 下一篇:一种可收集烟灰的抽烟器及使用方法