[發明專利]一種分布式強一致性組件在審
| 申請號: | 202011009782.7 | 申請日: | 2020-09-23 |
| 公開(公告)號: | CN111949675A | 公開(公告)日: | 2020-11-17 |
| 發明(設計)人: | 晏東;吳曉勇;楊剛 | 申請(專利權)人: | 成都精靈云科技有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/27 |
| 代理公司: | 成都弘毅天承知識產權代理有限公司 51230 | 代理人: | 孟仕杰 |
| 地址: | 610041 四川省成都市高*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 一致性 組件 | ||
本發明涉及分布式系統領域,具體是一種分布式強一致性組件,包括編目分區組,包括多個編目節點,所述編目節點用于存儲數據,所述編目分區組的數據采用強一致性模式,所述編目分區組內全部編目節點儲存數據成功,則該數據儲存成功;數據分區組,包括多個主數據節點,所述每個主數據節點包含多個從數據節點,所述主數據節點和從數據節點用于儲存數據,所述數據分區組的數據采用最終一致性模式,所述數據分區組的主數據節點儲存數據成功,則該數據儲存成功;協調節點,用于連接應用端、數據分區組合數據分區組;所述編目分區組和數據分區組采用Raft算法保證數據一致性;解決了多副本部署下,數據無法保持一致的問題。
技術領域
本發明涉及分布式系統領域,具體是指一種分布式強一致性組件。
背景技術
在大數據場景下,分布式的數據一致性管理是其最重要的內核技術之一,也是保證分布式數據庫滿足數據庫最基本的ACID特性中的“一致性”(Consistency)的保障,在分布式技術發展下,數據一致性的解決方法和技術也在不斷的演進。
一致性可理解為所有節點都能訪問到最新版本的數據,這在單機場景下非常容易實現,使用共享內存和鎖即可解決,但數據存儲在單機會有兩個限制:
1)單機下系統整體將不可用;
2)系統吞吐量受限于單機的計算能力。
消除這兩個限制的方法是用多機來存儲數據的多個副本,負責更新的客戶端會同時更新數據的多個副本,但存在多機之間的網絡可能無法連接,當負責更新的客戶端無法同時連接到多個機器時,不能保證所有客戶端都能讀到最新版本的數據
發明內容
基于以上問題,本發明提供了一種分布式強一致性組件,解決了多副本部署下,數據無法保持一致的問題。
為解決以上技術問題,本發明采用的技術方案如下:
一種分布式強一致性組件,包括
編目分區組,包括多個編目節點,所述編目節點用于存儲數據,所述編目分區組的數據采用強一致性模式,所述編目分區組內全部編目節點儲存數據成功,則該數據儲存成功;
數據分區組,包括多個主數據節點,所述每個主數據節點包含多個從數據節點,所述主數據節點和從數據節點用于儲存數據,所述數據分區組的數據采用最終一致性模式,所述數據分區組的主數據節點儲存數據成功,則該數據儲存成功;
協調節點,用于連接應用端、數據分區組合數據分區組;
所述編目分區組和數據分區組采用Raft算法保證數據一致性。
進一步,所述儲存的數據包括數據文件和事物日志文件。
進一步,所述事物日志文件由20個64MB的文件構成,所述事物日志文件包含一個index編號和數據操作內容,所述index編號保持遞增狀態,所述20個文件寫滿后,從第一個文件開始進行覆蓋寫入。
進一步,所述編目分區組內全部編目節點均對數據操作內容執行成功,則對該事物日志文件執行成功,若執行失敗,將數據操作內容回退給事物日志。
進一步,所述主數據節點對數據操作內容執行成功,則對該事物日志文件執行成功,主數據節點將事物日志同步至從數據節點。
進一步,所述主數據節點將事物日志同步到從數據節點為單線程操作,所述主數據節點執行成功一次事物日志記錄一條主序列編號,所述主序列編號按照時間倒序排序,所述主序列編號隨著主數據節點同步至從數據節點形成從序列編號,所述從序列編號同樣按照時間倒序排序,當主數據和從數據同步時,若排序第一的主序列編號和排序第一的從序列編號的差距為一條記錄,則主數據節點將排序第一的主序列編號對應的事物日志推送給從數據節點,若排序第一的主序列編號和排序第一的從序列編號的差距超過一條記錄,則將其中未同步的事物日志打包推送給從數據節點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都精靈云科技有限公司,未經成都精靈云科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011009782.7/2.html,轉載請聲明來源鉆瓜專利網。





