[发明专利]一种多Region云架构的分布式ID生成方法在审
申请号: | 202110745310.6 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113656491A | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 阮文龙 | 申请(专利权)人: | 紫光云技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 天津滨海科纬知识产权代理有限公司 12211 | 代理人: | 薛萌萌 |
地址: | 300459 天津市滨海新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 region 架构 分布式 id 生成 方法 | ||
1.一种多Region云架构的分布式ID结构,其特征在于:包括时间戳、地域ID RegionID、副本ID ReplicationID、序列ID SequenceID,分布式ID结构通过多Region云架构生成;
多Region云架构包括Zookeeper模块、缓存模块、多个Region模块,每个Region模块中设置有微服务microserve、分布式ID生成器微服务单元DIG-server,以及与微服务microserve连接的分布式ID生成器接口单元DIG-SDK;
每个microserve中设置多个microserve副本,每个microserve对应设置一个DIG-SDK,microserve副本调用DIG-SDK创建分布式ID的接口获取分布式ID;所述DIG-SDK与DIG-server连接,所述DIG-server与Zookeeper模块连接,所述DIG-SDK调用DIG-server,DIG-server通过Zookeeper模块生成唯一的ReplicationID并返回给DIG-SDK;
DIG-SDK还与缓存模块连接,用于ReplicationID的缓存和调用。
2.根据权利要求1所述的一种多Region云架构的分布式ID结构,其特征在于:所述时间戳占用空间为35比特,时间戳为毫秒级的时间,时间戳生成方法为当前时间戳减固定开始时间戳的差值;
RegionID占用空间为6比特,每个所述RegionID对应一个地域;
所述ReplicationID占用空间为13比特,根据服务请求的压力,扩展microserve副本个数;
所述SequenceID占用空间为10比特,为自增值,支持同一毫秒内同一个节点生成多个ID。
3.根据权利要求1所述的一种多Region云架构的分布式ID结构,其特征在于:每个Region模块中DIG-server连接三个DIG-SDK,每个DIG-SDK接收一个microserve下的多个为microserve副本的调用。
4.根据权利要求1所述的一种多Region云架构的分布式ID结构,其特征在于:所述缓存模块为非关系型数据库RedisCluster,所述RedisCluster可根据业务量的增加而进行扩展。
5.基于权利要求1所述的一种多Region云架构的分布式ID结构的生成方法,其特征在于:具体步骤包括:
S1、通过当前时间戳减固定开始时间戳的差值生成的时间戳TimeID;
S2、从Region模块的环境变量中获取的RegionID;
S3、获取的ReplicationID,每个microserve副本调用DIG-SDK,DIG-SDK首次调用DIG-server,DIG-server通过Zookeeper生成唯一的ReplicationID;获取到的ReplicationID存入缓存模块中,DIG-SDK后续从缓存模块中调用;如果microserve副本宕机或异常后重启,则重新获取ReplicationID;
S4、生成的SequenceID,每个microserve副本启动的时候,会生成一个存储键值队Map,当有创建分布式ID的请求过来的时候,首先去Map中获取是否有该毫秒内的分布式ID,如果有,从队列里取一个返回,如果没有生成所有的并保存到Map中;如果有请求过来,回调用一个异步线程,清理Map中该毫秒之前的数据;
S5、TimeID、RegionID、ReplicationID、SequenceID依次组合成分布式ID。
6.根据权利要求5所述的一种多Region云架构的分布式ID生成方法,其特征在于:步骤S1中,生成35bit的时间戳TimeID具体步骤为:
S101、获取本年度1月1号0点0分0秒0毫秒的时间戳t_start;
S102、获取当前的时间戳,精确到毫秒t_curr;
S103、时间戳的计算公式:TimeID=t_curr-t_start。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于紫光云技术有限公司,未经紫光云技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110745310.6/1.html,转载请声明来源钻瓜专利网。