[發明專利]一種針對Raft共識算法中預選舉流程的優化方法在審
| 申請號: | 202210058252.4 | 申請日: | 2022-01-19 |
| 公開(公告)號: | CN114490125A | 公開(公告)日: | 2022-05-13 |
| 發明(設計)人: | 康俊 | 申請(專利權)人: | 山東浪潮科學研究院有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/50 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 陳婷婷 |
| 地址: | 250100 山東省濟*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 針對 raft 共識 算法 預選 流程 優化 方法 | ||
本發明公開了一種針對Raft共識算法中預選舉流程的優化方法,涉及Raft共識算法技術領域,該方法在預選舉過程中,首先發起預選舉的節點計算得出一個隨機值,將該隨機值放在預選舉消息中,使其跟隨預選舉消息一起廣播到其他節點;在預選舉過程中,若接收到另外一個發起預選舉節點的預選舉消息,則增加比較節點隨機值邏輯,防止出現多個預選舉節點導致選舉超時的現象。本發明能夠有效減少預選舉階段瓜分選票導致選舉超時的概率,提高系統的可用性。
技術領域
本發明涉及Raft共識算法技術領域,具體地說是一種針對Raft共識算法中預選舉流程的優化方法。
背景技術
在分布式系統中,分布式一致性是一個非常重要的概念,它是指分布式系統的各個服務器都保持一個統一的狀態(數據)。但是在分布式系統中,通常由于網絡、系統狀態等原因,導致某些服務不可用或者不可靠,這就需要一種共識算法,保證系統在某些服務失敗的情況下仍然整體可用。
Raft共識算法是保證多個服務器節點數據一致性的共識算法,其是受到Paxos的影響而產生的。相對于Paxos而言,Raft共識算法更加簡單易懂。Follower和Leader是Raft共識算法中常見的兩種角色狀態:Follower狀態為跟隨者,被動接收數據;Leader狀態為領導者,處理所有客戶端的交互、日志復制等。
目前,在Raft共識算法中,Leader選舉的過程存在小概率出現多次超時選舉的情況。通過對Raft共識算法選舉機制分析可知,每個節點上均設置一個起始隨機時間,目的是為了避免出現多個節點同時到期并發起選舉的可能。但是,在真實的生產環境中,由于存在網絡通信開銷的原因,這種多節點同時發起選舉的情況無法完全避免。與此同時,多個備選節點出現瓜分選票情況,導致無法選出Leader節點,使得選舉過程多次超時,這嚴重影響了分布式系統的可用性。
發明內容
本發明的技術任務是針對以上不足之處,提供一種針對Raft共識算法中預選舉流程的優化方法,能夠有效減少預選舉階段瓜分選票導致選舉超時的概率,提高系統的可用性。
本發明解決其技術問題所采用的技術方案是:
一種針對Raft共識算法中預選舉流程的優化方法,在預選舉過程中,發起預選舉的節點計算得出一個隨機值,并將該隨機值放在預選舉消息中,使其跟隨預選舉消息一起廣播到其他節點;
在預選舉過程中,若接收到另外一個發起預選舉節點的預選舉消息,則增加比較節點隨機值邏輯,防止出現多個預選舉節點時導致選舉超時現象。
本方法針對Raft共識算法中預選舉流程進行優化,減少上述背景技術中所述情況下瓜分選票導致選舉超時的概率,提高系統的可用性。
進一步的,所述預選舉節點接收到另一個預選舉節點發來的預選舉消息,將自身記錄的最后一條日志索引值以及對應的任期值與該預選舉消息中的對應值進行比較,若小于該預選舉消息中對應的任期值,或者等于對應的任期值但小于等于消息中對應的索引值,則檢查自身記錄的最后一條日志的索引值以及對應的任期值與該預選舉消息中的對應值是否相等。
如果不相等,則發送同意投票的響應消息;如果相等,則進一步比較自身記錄的隨機值與消息中攜帶的隨機值,以此判斷是否發送同意投票的響應消息。
優選的,所述比較自身記錄的隨機值與消息中攜帶的隨機值,若小于消息中攜帶的隨機值,則發送同意投票的響應消息;否則繼續等待投票消息。
優選的,所述發送同意投票的響應消息,預選舉狀態節點切換成Follower節點,并向另一個預選舉狀態節點發送同意投票的響應消息。
優選的,該方法實現的具體步驟如下:
S1、Follower節點檢查自身選舉計時器是否超時;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東浪潮科學研究院有限公司,未經山東浪潮科學研究院有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210058252.4/2.html,轉載請聲明來源鉆瓜專利網。





