System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于信息,具體涉及一種基于multi-raft分布式存儲系統的擴容方法及裝置。
技術介紹
1、隨著互聯網的蓬勃發展,存儲系統逐漸從單一實體到分布式系統演進,數據一致性成為保障存儲系統可靠性和性能的重要因素之一。raft算法廣泛運用于保證多副本數據的一致性和高可用性。在分布式存儲系統中,通過將數據分片,每個分片對應一個raft組,采用multi-raft算法可以有效提高系統的性能和可擴展性。
2、當前基于multi-raft的分布式存儲系統,受限于初始系統配置,raft組數量和系統資源配置通常在系統初始化完成后就很難修改,導致基于multi-raft的分布式存儲系統只能持久化存儲少量數據,無法做到性能和容量按需擴展,無法應用于大規模的存儲系統場景。
3、常見的擴容方法是通過遷移raft副本到新節點或者垂直擴容單個raft副本的容量來實現,但是上述擴容方法都存在不足,具體如下:
4、1、通過遷移raft副本到新節點進行擴容,受限于初始配置的raft組數量,不可能進行無限擴容,且遷移raft副本需要執行raft成員變更,由于raft是通過多個成員間達成一致協議來執行操作的,raft成員變更很容易影響現有業務,也容易產生運維事故。
5、2、通過垂直擴容單個raft副本的容量實現擴容存在容量上限,需要對所有raft副本逐個停服擴容,容易影響業務性能。
技術實現思路
1、本專利技術的目的在于提供一種基于multi-raft分布式存儲系統
2、為了實現上述目的,本專利技術的技術方案是這樣的:
3、一種基于multi-raft分布式存儲系統的擴容方法,包括:
4、s1、構建多group的multi-raft存儲系統,每一組raft節點為一group,每組raft節點分為多個子組,每個子組包括一個領導者節點和多個跟隨者節點;需要擴容時增加group;
5、s2、數據寫入時將對應的group信息記錄到元數據中,數據讀取時先從元數據信息中獲取group信息并從對應的group中讀取數據。
6、進一步的,步驟s2中,數據寫入時當group數量大于1,根據數據分布需求執行數據分布邏輯。
7、進一步的,還包括:原group數據已滿,擴容新group時,通過數據拷貝重新遷移數據到新的group。
8、進一步的,還包括:擴容過程中,新增的group不在調度規則中體現,新group就緒后,數據讀寫發送到新group;若整個group一起下線時,通過遷移group內所有數據到其他group,然后禁用需要下線的group,完成故障group的下線。
9、本專利技術另一方面還提供了一種基于multi-raft分布式存儲系統的擴容裝置,包括:
10、多group模塊:構建多group的multi-raft存儲系統,每一組raft節點為一group,每組raft節點分為多個子組,每個子組包括一個領導者節點和多個跟隨者節點;需要擴容時增加group;
11、元數據模塊:數據寫入時將對應的group信息記錄到元數據中,數據讀取時先從元數據信息中獲取group信息并從對應的group中讀取數據。
12、進一步的,元數據模塊中,數據寫入時當group數量大于1,根據數據分布需求執行數據分布邏輯。
13、進一步的,還包括遷移模塊:原group數據已滿,擴容新group時,通過數據拷貝重新遷移數據到新的group。
14、進一步的,還包括保障模塊:擴容過程中,新增的group不在調度規則中體現,新group就緒后,數據讀寫發送到新group;若整個group一起下線時,通過遷移group內所有數據到其他group,然后禁用需要下線的group,完成故障group的下線。
15、本專利技術還提供了一種計算機可讀存儲介質,所述存儲介質存儲有計算機程序,所述計算機程序用于執行上述的基于multi-raft分布式存儲系統的擴容方法。
16、本專利技術還提供了一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現上述的基于multi-raft分布式存儲系統的擴容方法。
17、與現有技術相比,本專利技術具有如下的有益效果:
18、(1)本專利技術提出的基于multi-raft的分布式存儲系統擴容方法,結合raft組分區和raft組調度邏輯,通過部署完整的raft?group加入現有存儲系統中,使得擴容不影響現有業務。
19、(2)本專利技術實現方式簡潔高效,寫入數據時在元數據信息中記錄group信息,讀取數據時從元數據信息中獲取group信息,避免了擴容過程中引起的數據分布異常,用最低的代價解決了擴容需要遷移數據的問題;且新group可以分擔來自客戶端的讀寫請求,實現了性能和容量同時擴展。
本文檔來自技高網...【技術保護點】
1.一種基于Multi-Raft分布式存儲系統的擴容方法,其特征在于,包括:
2.根據權利要求1所述的基于Multi-Raft分布式存儲系統的擴容方法,其特征在于,步驟S2中,數據寫入時當Group數量大于1,根據數據分布需求執行數據分布邏輯。
3.根據權利要求1所述的基于Multi-Raft分布式存儲系統的擴容方法,其特征在于,還包括:原Group數據已滿,擴容新Group時,通過數據拷貝重新遷移數據到新的Group。
4.根據權利要求1所述的基于Multi-Raft分布式存儲系統的擴容方法,其特征在于,還包括:擴容過程中,新增的Group不在調度規則中體現,新Group就緒后,數據讀寫發送到新Group;若整個Group一起下線時,通過遷移Group內所有數據到其他Group,然后禁用需要下線的Group,完成故障Group的下線。
5.一種基于Multi-Raft分布式存儲系統的擴容裝置,其特征在于,包括:
6.根據權利要求5所述的基于Multi-Raft分布式存儲系統的擴容裝置,其特征在于,元數據模塊中,數據寫入
7.根據權利要求5所述的基于Multi-Raft分布式存儲系統的擴容裝置,其特征在于,還包括遷移模塊:原Group數據已滿,擴容新Group時,通過數據拷貝重新遷移數據到新的Group。
8.根據權利要求5所述的基于Multi-Raft分布式存儲系統的擴容裝置,其特征在于,還包括保障模塊:擴容過程中,新增的Group不在調度規則中體現,新Group就緒后,數據讀寫發送到新Group;若整個Group一起下線時,通過遷移Group內所有數據到其他Group,然后禁用需要下線的Group,完成故障Group的下線。
9.一種計算機可讀存儲介質,所述存儲介質存儲有計算機程序,其特征在于,所述計算機程序用于執行如權利要求1-4任一項所述的基于Multi-Raft分布式存儲系統的擴容方法。
10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1-4任一項所述的基于Multi-Raft分布式存儲系統的擴容方法。
...【技術特征摘要】
1.一種基于multi-raft分布式存儲系統的擴容方法,其特征在于,包括:
2.根據權利要求1所述的基于multi-raft分布式存儲系統的擴容方法,其特征在于,步驟s2中,數據寫入時當group數量大于1,根據數據分布需求執行數據分布邏輯。
3.根據權利要求1所述的基于multi-raft分布式存儲系統的擴容方法,其特征在于,還包括:原group數據已滿,擴容新group時,通過數據拷貝重新遷移數據到新的group。
4.根據權利要求1所述的基于multi-raft分布式存儲系統的擴容方法,其特征在于,還包括:擴容過程中,新增的group不在調度規則中體現,新group就緒后,數據讀寫發送到新group;若整個group一起下線時,通過遷移group內所有數據到其他group,然后禁用需要下線的group,完成故障group的下線。
5.一種基于multi-raft分布式存儲系統的擴容裝置,其特征在于,包括:
6.根據權利要求5所述的基于multi-raft分布式存儲系統的擴容裝置,其特征在于,元數據模...
【專利技術屬性】
技術研發人員:曠凱,王聳,薛晉澤,汪黎,李俊良,
申請(專利權)人:麒麟軟件有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。