本發明涉及計算機存儲,具體涉及一種分布式電力存儲系統praft并行優化的方法及系統。
背景技術:
1、近年來,智慧電網技術的飛速發展帶來了計量終端和智能電表等關鍵設備數據量的急劇膨脹。這些數據不僅包括了龐大的用戶用電信息、電網的實時運行狀態以及設備的健康狀況,還對存儲系統的實時讀寫能力和系統可靠性提出了巨大的挑戰。面對如此龐大的數據量和高并發的訪問需求,傳統的電力數據存儲系統已顯不足。因此提高數據存儲的效率和安全性,對電力數據存儲系統至關重要。在電力場景下,分布式存儲憑借其卓越的數據分散存儲能力、快速的數據訪問速度和良好的可擴展性,數據存儲逐漸向分布式存儲技術轉變[1][2]。通過在多個計算節點上分布存儲數據,分布式存儲技術有效分散了存儲壓力,提升了數據訪問效率。
2、分布式存儲系統通常通過多副本機制確保高可用性,并采用共識算法在節點間實現一致性,以保證系統在故障或網絡延遲的情況下依然協調一致。共識算法在分布式系統中對于數據一致性和系統可靠性至關重要。paxos算法作為分布式系統中達成一致性的核心機制,通過提議者、接受者和學習者三種角色,在預準備和接受兩個階段完成提案確認,為數據一致性奠定了基礎。盡管fast?paxos通過減少交互輪次提升了效率,但在高沖突環境中表現不佳,而generalized?paxos通過獨立處理命令減少了沖突概率。盡管paxos在理論上具有重要意義,但其復雜性和缺乏日志序列共識的實現細節限制了其在工業應用中的廣泛采用。為解決這些局限性,diego等人提出了raft共識算法[12],通過簡化共識過程提升了易用性,對系統的抗攻擊性和數據一致性具有顯著作用。raft采用基于領導者的架構,通過選舉領導者來接收客戶端請求并同步數據到其他副本,但其設計犧牲了日志復制的并發性,使日志只能串行復制和提交。此外,由于raft基于復制狀態機的實現,所有日志項必須串行執行,限制了對多核計算能力的利用,影響了分布式存儲系統的數據訪問效率。
3、為了提高分布式存儲系統的數據訪問效率并克服分布式存儲系統采用的raft共識算法在串行提交方面的限制,本文提出了一種針對分布式電力存儲系統的性能優化算法—并行優化的raft算法(parallel?raft,簡稱praft)。praft算法整合了paxos算法與raft算法中的領導者選舉策略,這一結合不僅保障了日志的一致性,而且有效降低了客戶端延遲和共識過程中的沖突概率。此外,praft算法通過精細化管理日志間的依賴關系,實現了日志項的并行執行,從而顯著增強了系統的并行處理能力,并極大提升了執行效率。在處理大規模實時數據和應對高并發請求的場景中,praft算法展現出了明顯的優勢,這對于保障電網存儲系統的快速響應和穩定運行具有重要意義。
技術實現思路
1、鑒于上述現有存在的問題,本發明提供了一種分布式電力存儲系統praft并行優化的方法及系統,用以解決現有技術中選擇錯誤的儲能方式將造成電能浪費的問題。
2、為解決上述技術問題,提出了一種分布式電力存儲系統praft并行優化的方法,包括,
3、選舉領導者,接受客戶端的狀態機命令請求,并將命令轉換為日志項,復制日志后進行日志提交;在集群中進行日志復制,并復制客戶端發送的日志項,并將全部節點按照相同的順序執行日志;實時監測客戶端與領導者節點是否連接異常,異常時需重新選擇領導者節點,進行請求指令的處理,并對共識算法進行正確性分析。
4、作為本發明所述的一種分布式電力存儲系統praft并行優化的方法的一種優選方案,其中:所述選舉領導者包括,praft算法通過超時機制觸發領導者選舉,在候選者中發起選舉。
5、所述超時機制包括當跟隨者在設定時間內未收到領導者的消息時,判定領導者失聯,轉為候選者并發起選舉,候選者增加當前任期,成功當選后,候選者根據跟隨者日志同步自己的日志。
6、作為本發明所述的一種分布式電力存儲系統praft并行優化的方法的一種優選方案,其中:所述日志提交包括,領導者接受來自客戶端的狀態機命令請求,并將命令請求轉換為日志項,并發起共識,復制節點日志后提交日志項,同時通知剩余節點本節點的提交狀態,完成日志提交。
7、其中,當領導者發生故障或與剩余節點斷開連接,進行新的領導者選舉。
8、作為本發明所述的一種分布式電力存儲系統praft并行優化的方法的一種優選方案,其中:所述日志復制包括,在集群中進行日志復制,并復制客戶端發送的日志項,并將全部節點按照相同的順序執行日志。
9、其中,當節點成為領導者后,領導者向客戶端提供服務,客戶端通過接口向領導者發送命令及執行組,領導者將信息轉化為日志項,并將日志項復制到剩余節點;當剩余節點接受日志項后,領導者提交日志項,并通知剩余節點推進執行;當任何節點無法聯系,領導者持續嘗試rpc,對所有節點同步日志項。
10、所述日志項包括狀態機命令和生成時的proposer_id,每個日志項都有唯一的整數索引標識在日志序列中的位置,當日志項被成功復制到節點時,判定為已提交,并由狀態機執行,領導者跟蹤已提交的日志項的序號,并同步跟蹤的信息。
11、其中,在正常情況下,領導者和跟隨者的日志保持同步,復制更新的日志項;當領導者崩潰并重啟時,還需要同步之前任期的舊日志項;當跟隨者的日志出現空洞時,領導者需要逐步復制舊日志項,直至日志完全一致。
12、作為本發明所述的一種分布式電力存儲系統praft并行優化的方法的一種優選方案,其中:所述執行日志包括,記錄執行組和依賴日記,確定日志提交和執行組,日志提交后觸發日志執行算法,并處理執行順序與依賴關系。
13、所述記錄執行組和依賴日記包括在日志復制前,記錄用戶指定的執行組,并將最新的記錄作為依賴項寫入日志項。
14、所述確定日志提交和執行組包括日志提交后,當依賴日志項已完成執行時,對應日志也被執行,無需等待前一條相鄰日志。
15、所述日志執行算法包括構建數據結構,對日志中的每個尚未執行的日志項,算法添加相應的映射;當日志項依賴的日志尚未執行,算法更新依賴日志的數量;當日志項依賴的日志已經執行,算法執行日志項,并移除所有依賴于日志項的映射;對不存在未執行依賴的日志項,算法將繼續執行日志項,并重復檢查和執行過程,并采用廣度優先搜索策略,從無依賴的日志項開始執行,執行無依賴日志項后處理有依賴的日志項。
16、作為本發明所述的一種分布式電力存儲系統praft并行優化的方法的一種優選方案,其中:所述進行請求指令的處理包括,啟動客戶端,并尋找領導者,獲取領導者地址,并進行請求指令處理。
17、所述尋找領導者包括客戶端首次啟動時,連接到隨機選擇的節點,當選擇節點不是領導者時,客戶端會拒絕請求并嘗試連接剩余隨機節點,客戶端在嘗試(n+1)/2次后找到領導者。
18、所述請求指令處理包括客戶端的請求由領導者處理,當領導者無法與節點通信,選舉超時且無成功心跳時,領導者將放棄位置,并允許客戶端重試請求,追隨者需跟蹤領導者身份,重定向客戶端,在新選舉或術語變更時丟棄信息;當客戶端失去與領導者的連接時,向隨機節點重試。
19、作為本發明所述的一種分布式電力存儲系統praft并行優化的方法的一種優選方案,其中:所述正確性分析包括,證明定理1,證明定理2,證明定理3,并分析日志執行的安全性。
20、所述證明定理1包括分析不同節點在成為候選者后選舉時使用的id和任期的id,領導者在上任后對日志進行覆蓋,準備階段結束后,領導者不再對日志進行覆蓋。
21、所述證明定理2包括分析同一時刻存在兩個領導者的情況,其中一個領導者因為未獲得過半選票無法提交日志,成功當選領導后,節點更新狀態,并獲得唯一領導者。
22、所述證明定理3包括利用數學歸納法證明表示為:初始條件為已提交,上任時獲得過半的選票,由于已提交,保證了大多數節點在index上一定有日志,不會使用空日志填充,而是選擇最大的日志項,獲得結論,對于同一index的兩條日志項,如果一個日志項已提交,另一個日志項也必須提交。
23、所述分析日志執行的安全性包括分析日志提交完整性、復制狀態機的限制和強行的順序執行只在領導者切換后的日志進行。
24、本發明的另外一個目的是提供了一種分布式電力存儲系統praft并行優化的系統,本發明通過并行日志處理、負載均衡、故障恢復、一致性維護和性能分析,提高了分布式電力存儲系統的性能;本發明系統通過實時監測節點的負載情況,并根據這些信息動態調整日志的復制和執行順序,實現了負載均衡,有助于避免系統中的熱點問題,確保資源得到合理利用。在故障恢復方面,系統引入了超時機制和心跳機制,用于檢測領導者和跟隨者節點的通信狀況,一旦發現異常,系統會觸發新的領導者選舉,并允許客戶端重試請求,從而保證了系統的可靠性和可用性。
25、作為本發明所述的一種分布式電力存儲系統praft并行優化的系統的一種優選方案,其特征在于,包括領導者選舉模塊、日志提交模塊、日志復制模塊、日志執行模塊以及客戶端交互模塊。
26、所述領導者選舉模塊,用于在praft算法中選舉一個節點作為領導者,管理日志的復制。
27、所述日志提交模塊,用于將客戶端的狀態機命令請求轉換為日志項,并發起共識,復制節點日志后提交日志項,同時通知剩余節點本節點的提交狀態,完成日志提交。
28、所述日志復制模塊,用于在集群中進行日志復制,并復制客戶端發送的日志項,并將全部節點按照相同的順序執行日志。
29、所述日志執行模塊,用于記錄執行組和依賴日志,確定日志提交和執行組,日志提交后觸發日志執行算法,并處理執行順序與依賴關系。
30、所述客戶端交互模塊,用于處理客戶端的請求,尋找領導者、獲取領導者地址,并進行請求指令處理,對共識算法進行正確性分析。
31、一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現一種分布式電力存儲系統praft并行優化的所述的方法的步驟。
32、一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現一種分布式電力存儲系統praft并行優化的所述的方法的步驟。
33、本發明的有益效果:本發明通過選舉領導者、接受客戶端的狀態機命令請求,并將命令轉換為日志項,復制日志后進行日志提交,本發明系統實現了對分布式電力存儲系統中日志處理的優化。這種優化提高了系統的吞吐量,縮短了日志處理的平均延遲,并確保了日志處理的效率和一致性;在集群中進行日志復制,并復制客戶端發送的日志項,并將全部節點按照相同的順序執行日志,本發明系統實現了對日志復制和執行過程的優化。這種優化確保了日志在集群中的一致性執行,避免了數據不一致的問題,提高了系統的可靠性和穩定性;實時監測客戶端與領導者節點是否連接異常,異常時需重新選擇領導者節點,進行請求指令的處理,并對共識算法進行正確性分析,本發明系統實現了對系統故障的快速響應和故障恢復。這種優化提高了系統的可用性和可靠性,確保了系統在出現故障時能夠快速恢復,并保證數據的一致性和完整性。