[發明專利]一種基于Raft日志復制的自適應方法在審
| 申請號: | 202210185531.7 | 申請日: | 2022-02-28 |
| 公開(公告)號: | CN114661520A | 公開(公告)日: | 2022-06-24 |
| 發明(設計)人: | 李偉;曾磊;邵羽;王磊 | 申請(專利權)人: | 重慶趣鏈數字科技有限公司;重慶市先進區塊鏈研究院 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 北京挺立專利事務所(普通合伙) 11265 | 代理人: | 郭磊 |
| 地址: | 400000 重*** | 國省代碼: | 重慶;50 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 raft 日志 復制 自適應 方法 | ||
1.一種基于Raft日志復制的自適應方法,其特征在于:包括以下步驟:
步驟S01,選舉Leader,Leader發送AppendEntries的操作時,計算出當前操作的哈希值,并記錄到節點的log;
步驟S02,在記錄每次log的哈希值時,按照log從低到高的順序計算哈希對應的數字值的前綴和;
步驟S03,節點出現宕機再重啟時,該節點則利用S02的對應的log計算差距gap,取出集群正常節點范圍f;
步驟S04,獲得正常節點范圍f后,根據差距進行正常節點范圍f分割獲取分割點k、余數點left,k=gap/f,left=gap%f;
步驟S05,獲得k,left的值后,利用輪詢的方式把落后的log均勻的到分布到其他非Leader節點去獲得;
步驟S06,按照上述步驟在重啟節點獲得某一日志,并拼接日志成功后,再按照上面計算出來的Sumi來驗證log數據是否完整合法,直到數據驗證合法完整,然后重啟加入集群繼續對外提供服務。
2.根據權利要求1所述的一種基于Raft日志復制的自適應方法,其特征在于,在步驟S02中,若前綴和有溢出的情況,則可以用取模操作,即Sumi=(Sumi-1+Hashi)%P。
3.根據權利要求1所述的一種基于Raft日志復制的自適應方法,其特征在于,在步驟S03中,集群剩余正常工作節點為N,N>=3,令f=max(N-1,1)。
4.根據權利要求1所述的一種基于Raft日志復制的自適應方法,其特征在于,在步驟S04中,可將k值按照集群能力設置為一個固定值。
5.根據權利要求1所述的一種基于Raft日志復制的自適應方法,其特征在于,在S05中,在獲得k,left的值后,把落后的log均勻的到分布到其他非Leader節點去獲得;如果其他非Leader節點無這段日志,則采用輪詢規則,去下一個節點去獲取。
6.根據權利要求5所述的一種基于Raft日志復制的自適應方法,其特征在于,輪詢規則是令i=0,對應第一個正常的非Leader節點的編號,m為非Leader節點的總個數,每次輪詢到下一個節點是(i+1)%m,這樣就完成了壓力均攤。
7.根據權利要求1所述的一種基于Raft日志復制的自適應方法,其特征在于:在步驟S06中,若log數據不完整,則可以通過順序或者二分查找的方式快去定位出問題的區間,重新走一遍上述獲得日志的流程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于重慶趣鏈數字科技有限公司;重慶市先進區塊鏈研究院,未經重慶趣鏈數字科技有限公司;重慶市先進區塊鏈研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210185531.7/1.html,轉載請聲明來源鉆瓜專利網。





