[發明專利]一種多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.szxzyx.cn/pat/books/202110745310.6/1.html,轉載請聲明來源鉆瓜專利網。





