[发明专利]一种基于Redis的分布式业务主键生成方法在审
申请号: | 202111617372.5 | 申请日: | 2021-12-27 |
公开(公告)号: | CN114356988A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 杨志鹏 | 申请(专利权)人: | 紫光云(南京)数字技术有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/23;G06F16/22 |
代理公司: | 南京禾易知识产权代理有限公司 32320 | 代理人: | 詹庆铷 |
地址: | 211899 江苏省南京市浦口区江浦街*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 redis 分布式 业务 主键 生成 方法 | ||
本发明提供一种基于Redis的分布式业务主键生成方法,包括根据获取用于代表当前微服务所在节点的相关业务标识信息通过hashslot算法计算得到当前微服务所在机器的hash值;判断当前微服务所在机器在Redis集群中的业务注册结果,得到更新信息;取当前微服务所在各个机器的时间的平均值与更新信息的时间进行比对,得到由当前微服务所在节点的相关业务标识生成的起始索引;同步开启定时任务,并在当前微服务所在机器的本地端缓存依据注册结果所获取的workid;启动成功,缓存相关业务标识信息生成工具类。使用内存数据库Redis集群模式,提高分区容错性,同时使用Redis Cluster,利用其内存的读写速度快,使得Hash Slot分配在不同的机器上,提高数据的高可用性,提高分区容错能力。
技术领域
本发明涉及Redis的分布式业务技术领域,具体为一种基于Redis的分布式业务主键生成方法。
背景技术
分布式系统中,业务组成基本是由多个不同功能的微服务组成的,各个微服务都有自己的业务流程,往往需要对大量的数据和消息进行唯一标识,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求,业务系统对唯一标识ID的的要求如下全局唯一性,既然是唯一标识,不能出现重复的ID号;趋势递增,尽可能的使用数据库引擎的聚集索引;单调递增,保证下一个ID一定大于上一个ID;信息安全,防止恶意用户扒取相关数据。除了上述要求之外,ID生成功能还要尽量保证搞QPS、平均延时较低等特性,尽量不影响业务主流程的性能和高可用性。
因此,基于Redis的分布式业务主键生成方法,立足于Redis内存读写高性能的基础上,生成分布式业务id速度快,对业务性能影响较小,可支持多业务多场景同时获取唯一表示ID,在Redis集群分片的基础上,可以保证部分Redis节点异常也能保证核心业务可以正常工作,生成规则保证只有服务启动以来Redis集群,服务在对外提供服务期间可以独立生成为一项id并可基于业务标识进行相关隔离,各业务之间ID生成的规则相互不影响,支持微服务业务高可用,性能高,本地服务独立生成,与Redis进行相应解耦,即使微服务运行期间Reids集群出现故障,也可以独立工作,不受Reids集群影响。
发明内容
针对现有技术存在的不足,本发明目的是提供一种基于Redis的分布式业务主键生成方法,以解决上述背景技术中提出的问题。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于Redis的分布式业务主键生成方法,包括以下步骤:
第一步,微服务启动,根据获取用于代表当前微服务所在节点的相关业务标识信息通过hash slot算法计算得到当前微服务所在机器的hash值;
第二步,判断当前微服务所在机器在Redis集群中的业务注册结果,并对依据注册结果所获取的workid和注册时间戳值进行缓存更新,得到更新信息;
第三步,取当前微服务所在各个机器的时间的平均值与所述更新信息的时间进行比对,得到由当前微服务所在节点的相关业务标识生成的起始索引;
第四步,同步开启定时任务,以更新Redis集群中记录的更新时间,并在当前微服务所在机器的本地端缓存依据注册结果所获取的workid;
第五步,启动成功,缓存相关业务标识信息生成工具类。
作为对本发明中所述一种基于Redis的分布式业务主键生成方法的改进,第一步中,获取的相关业务标识信息包括当前微服务所在节点的实IP信息和相关业务标识信息。
作为对本发明中所述一种基于Redis的分布式业务主键生成方法的改进,第二步中,在进行对当前微服务所在机器在Redis集群中的业务注册结果进行判断时,
若存在注册结果,则,获取当前微服务对应的workid;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云(南京)数字技术有限公司,未经紫光云(南京)数字技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111617372.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多指标数据可视化方法
- 下一篇:一种半圆孔挤压的龙门缸体压铸工艺及系统