麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于去中心化的分布式ID生成系統和方法與流程

文檔序號:41742436發布日期:2025-04-25 17:22閱讀:3來源:國知局
一種基于去中心化的分布式ID生成系統和方法與流程

本發明涉及目標提取,更具體地說,本發明涉及一種基于去中心化的分布式id生成系統和方法。


背景技術:

1、隨著互聯網業務的快速發展,特別是數據量的急劇增長,服務系統對于生成分布式id的速度要求變得更加苛刻。傳統的集中式id生成方案已經顯露出性能瓶頸,并且存在著集中式節點宕機的風險。這些問題可能會導致服務系統在獲取分布式id時出現卡頓、服務異常等嚴重問題,進而影響整體系統的穩定性和可靠性。

2、為了解決上述缺陷,現提供一種技術方案。


技術實現思路

1、為了克服現有技術的上述缺陷,本發明的實施例提供一種基于去中心化的分布式id生成系統和方法,以解決上述背景技術中提出的問題。

2、為實現上述目的,本發明提供如下技術方案:

3、一種基于去中心化的分布式id生成系統和方法,包括生成模塊、數據分布模塊、分析模塊以及轉換模塊,模塊之間通過信號連接;

4、通過生成模塊在每個服務節點均生成獨立的分布式id,并生成分布式id的時間戳、序列號和節點標識;

5、通過數據分布模塊對id進行采用分布,避免單點故障導致的分布式id生成中斷;

6、通過分析模塊,分析分布式id的時間戳、序列號和節點標識的唯一性,若分析得到分布式id并不具備唯一性則返回到生成模塊重新生成;

7、通過轉換模塊將生成系統轉換為sdk形態。

8、優選的,所述生成模塊生成生成分布式id的步驟如下:

9、生成模塊在每個服務節點上獲取當前的時間戳并維護一個獨立的序列號計數器,在生成模塊生成id時,將計數器的值作為id的序列號部分,最后,確定當前節點的唯一標識符;

10、定義獲取到的分布式id的格式,明確時間戳、序列號和節點標識在id中的位置

11、將獲取的時間戳、序列號和節點標識組合起來,形成一個全局唯一的分布式id,基于ts?id-creator將時間戳、序列號和節點標識合并成一個64位的二進制數的分布式

12、優選的,64位二進制數的分布式id前42位為以毫米為單位的時間位,中間11位為用于標識不同節點的節點位,最后11位為最大計數值為2048的計數位,其中,不同節點位擁有不同的節點位數值,這些數值范圍從0到2047;

13、因此,單個服務節點每秒理論上最多能生成2,048,000個分布式id,而整個分布式服務理論上最多支持2048個不同節點,整個服務集群每秒最大支持生成4,194,304,000個分布式id。

14、優選的,數據分布模塊對id進行采用分布的步驟如下:

15、首先持續監控系統性能和節點狀態,及時發現潛在的故障或負載不均衡問題,并進行優化調整;

16、基于哈希函數將分布式id分配給各個節點;

17、根據所選的數據分布策略,將生成的分布式id分配給各個節點或分片;

18、在分配id時,采用分布式架構和備份機制和,實施故障恢復機制,當節點發生故障時,系統能夠自動將其替換或修復。

19、優選的,在確定分析模塊分析分布式id的全局唯一的步驟如下:

20、分析模塊首先通過查詢已生成的id列表來檢查分布式id是否已經存在于系統中;

21、若分析模塊發現生成的分布式id不具備唯一性,將通知生成模塊重新生成分布式id;

22、若分析模塊確定生成的分布式id是唯一的,則將其返回到呈sdk形態的分析系統。

23、優選的,分布式系統中通過goss?ip協議來維護各個實例的節點位數值。每個實例通過搶占的方式獲取自己的節點位數值。當某個在線實例下線時,其所占用的節點位數值將被釋放,而后續新上線的實例可以搶占這些已釋放的節點位數值

24、優選的,sdk內部集成了基于goss?ip協議的協商機制,用于自動協商和搶占節點位數值;

25、sdk采用單例模式進行管理,并使用并發鎖來確保在同一時間只有一個線程能獲取到分布式id;

26、使用者將sdk引入應用程序中,能直接調用相應的函數獲取分布式id,無需進行額外的配置或處理。

27、優選的,通過分析模塊能分析分布式id時,將分布式id標記為s,時間戳標記為為t,序列號標記為s,節點標識標記為為n,分析模塊的輸出標記為d,其公式:其中d=0時,則返回重新生成。

28、一種基于去中心化的分布式id生成方法,應用于上述的基于去中心化的分布式id生成系統,包括:如下步驟:

29、在每個服務節點均生成獨立的分布式id,并生成分布式id的時間戳、序列號和節點標識;

30、對id進行采用分布,避免單點故障導致的分布式id生成中斷;

31、分析分布式id的時間戳、序列號和節點標識的唯一性,若分析得到分布式id并不具備唯一性則返回到生成模塊重新生成;

32、將生成系統轉換為sdk形態。

33、本發明的技術效果和優點:

34、1、本發明采用了分布式id生成方案有效地提高了系統的穩定性。通過避免了集中式id的宕機風險,從而降低了系統因節點宕機而導致的服務中斷風險。且采用分布式架構的特性,系統能夠更好地應對節點故障,保證服務的持續可用性。將上述技術組合后即增強了整個系統的穩定性,確保了系統在面對各種情況下的可靠性和持續性。

35、2、本申請通過在每個服務節點獨立生成分布式id,系統減少了對網絡的依賴,省去了獲取分布式id時的網絡開銷。這種分布式生成方案能夠在本地快速生成id,避免了傳統集中式方案中因網絡通信延遲而導致的性能瓶頸。因此,系統在高并發場景下能夠更加迅速地響應請求,提高了系統的整體性能表現。



技術特征:

1.一種基于去中心化的分布式id生成系統,其特征在于:包括生成模塊、數據分布模塊、分析模塊以及轉換模塊,模塊之間通過信號連接;

2.根據權利要求1所述的一種基于去中心化的分布式id生成系統,其特征在于:所述生成模塊生成生成分布式id的步驟如下:

3.根據權利要求2所述的一種基于去中心化的分布式id生成系統,其特征在于:64位二進制數的分布式id前42位為以毫米為單位的時間位,中間11位為用于標識不同節點的節點位,最后11位為最大計數值為2048的計數位,其中,不同節點位擁有不同的節點位數值,這些數值范圍從0到2047;

4.根據權利要求2所述的一種基于去中心化的分布式id生成系統,其特征在于:數據分布模塊對id進行采用分布的步驟如下:

5.根據權利要求1所述的一種基于去中心化的分布式id生成系統,其特征在于:在確定分析模塊分析分布式id的全局唯一的步驟如下:

6.根據權利要求1所述的一種基于去中心化的分布式id生成系統和方法,其特征在于:分布式系統中通過gossip協議來維護各個實例的節點位數值。每個實例通過搶占的方式獲取自己的節點位數值;當某個在線實例下線時,其所占用的節點位數值將被釋放,而后續新上線的實例可以搶占這些已釋放的節點位數值。

7.根據權利要求1所述的一種基于去中心化的分布式id生成系統和方法,其特征在于:sdk內部集成了基于gossip協議的協商機制,用于自動協商和搶占節點位數值;sdk采用單例模式進行管理,并使用并發鎖來確保在同一時間只有一個線程能獲取到分布式id;使用者將sdk能直接引入應用程序中,能直接調用相應的函數獲取分布式id,無需進行額外的配置或處理。

8.根據權利要求2所述的一種基于去中心化的分布式id生成系統和方法,其特征在于:通過分析模塊能分析分布式id時,將分布式id標記為s,時間戳標記為為t,序列號標記為s,節點標識標記為為n,分析模塊的輸出標記為d,其公式:其中d=0時,則返回重新生成。

9.一種基于去中心化的分布式id生成方法,應用于如權利要求1-8任一項所述的基于去中心化的分布式id生成系統,其特征在于,包括:如下步驟:


技術總結
本發明公開了一種基于去中心化的分布式ID生成系統和方法,具體涉及分布式ID生成技術領域,包括生成模塊、數據分布模塊、分析模塊以及轉換模塊,模塊之間通過信號連接;通過生成模塊在每個服務節點均生成獨立的分布式ID,并生成分布式ID的時間戳、序列號和節點標識,通過數據分布模塊對ID進行采用分布,本發明采用了分布式ID生成方案有效地提高了系統的穩定性。通過避免了集中式ID的宕機風險,從而降低了系統因節點宕機而導致的服務中斷風險。且采用分布式架構的特性,系統能夠更好地應對節點故障,保證服務的持續可用性。將上述技術組合后即增強了整個系統的穩定性,確保了系統在面對各種情況下的可靠性和持續性。

技術研發人員:于志杰
受保護的技術使用者:北京白駒易行科技有限公司
技術研發日:
技術公布日:2025/4/24
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 彰化县| 德令哈市| 康定县| 大埔区| 亚东县| 南溪县| 民权县| 虞城县| 岱山县| 宣汉县| 顺昌县| 辛集市| 五原县| 黎平县| 江西省| 双江| 白玉县| 武川县| 芦山县| 牙克石市| 湟中县| 临沂市| 伽师县| 淮阳县| 芦溪县| 会泽县| 彭水| 寿光市| 洛川县| 舒城县| 青海省| 奉化市| 余庆县| 九龙城区| 昌图县| 洛阳市| 察隅县| 河东区| 罗源县| 广德县| 资溪县|