[發(fā)明專利]一種基于Raft日志復(fù)制的自適應(yīng)方法在審
| 申請(qǐng)?zhí)枺?/td> | 202210185531.7 | 申請(qǐng)日: | 2022-02-28 |
| 公開(公告)號(hào): | CN114661520A | 公開(公告)日: | 2022-06-24 |
| 發(fā)明(設(shè)計(jì))人: | 李偉;曾磊;邵羽;王磊 | 申請(qǐng)(專利權(quán))人: | 重慶趣鏈數(shù)字科技有限公司;重慶市先進(jìn)區(qū)塊鏈研究院 |
| 主分類號(hào): | G06F11/14 | 分類號(hào): | G06F11/14 |
| 代理公司: | 北京挺立專利事務(wù)所(普通合伙) 11265 | 代理人: | 郭磊 |
| 地址: | 400000 重*** | 國(guó)省代碼: | 重慶;50 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 raft 日志 復(fù)制 自適應(yīng) 方法 | ||
本發(fā)明涉及區(qū)塊鏈共識(shí)技術(shù)領(lǐng)域,具體公開了一種基于Raft日志復(fù)制的自適應(yīng)方法。Leader發(fā)送AppendEntries的操作時(shí),計(jì)算出當(dāng)前操作的哈希值,并記錄到節(jié)點(diǎn)的log;在記錄每次log的哈希值時(shí),按照l(shuí)og從低到高的順序計(jì)算哈希對(duì)應(yīng)的數(shù)字值的前綴和;該節(jié)點(diǎn)則利用S02的對(duì)應(yīng)的log計(jì)算差距gap,取出集群正常節(jié)點(diǎn)范圍f;獲得正常節(jié)點(diǎn)范圍f后,根據(jù)差距進(jìn)行正常節(jié)點(diǎn)范圍f分割獲取分割點(diǎn)k、余數(shù)點(diǎn)left,k=gap/f,left=gap%f;獲得k,left的值后,利用輪詢的方式把落后的log均勻的到分布到其他非Leader節(jié)點(diǎn)去獲得。本發(fā)明的目的在于解決傳統(tǒng)的在Raft共識(shí)協(xié)議中,如果日志落后比較多,則需要過(guò)多消耗Leader節(jié)點(diǎn)的CPU和帶寬性能,這可能會(huì)對(duì)集群整體性能帶來(lái)影響的問(wèn)題。
技術(shù)領(lǐng)域
本申請(qǐng)涉及區(qū)塊鏈共識(shí)技術(shù)領(lǐng)域,具體公開了一種基于Raft日志復(fù)制的自適應(yīng)方法。
背景技術(shù)
Raft是一種更為簡(jiǎn)單方便易于理解的分布式算法,主要解決了分布式中的一致性問(wèn)題。相比傳統(tǒng)的Paxos算法,Raft將大量的計(jì)算問(wèn)題分解成為了一些簡(jiǎn)單的相對(duì)獨(dú)立的子問(wèn)題。
Raft通過(guò)選舉一個(gè)高貴的領(lǐng)導(dǎo)人,然后給予他全部的管理復(fù)制日志的責(zé)任來(lái)實(shí)現(xiàn)一致性。領(lǐng)導(dǎo)人從客戶端接收日志條目,把日志條目復(fù)制到其他服務(wù)器上,并且當(dāng)保證安全性的時(shí)候告訴其他的服務(wù)器應(yīng)用日志條目到他們的狀態(tài)機(jī)中。擁有一個(gè)領(lǐng)導(dǎo)人大大簡(jiǎn)化了對(duì)復(fù)制日志的管理。
在Raft共識(shí)協(xié)議中,領(lǐng)導(dǎo)人必須從客戶端接收日志然后復(fù)制到集群中的其他節(jié)點(diǎn),在某些節(jié)點(diǎn)宕機(jī)的然后再恢復(fù)的情況下,如果日志落后比較多,則需要過(guò)多消耗Leader節(jié)點(diǎn)的CPU和帶寬性能,這可能會(huì)對(duì)集群整體性能帶來(lái)影響,因此,發(fā)明人有鑒于此,提供了一種基于Raft日志復(fù)制的自適應(yīng)方法,以便解決上述問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決傳統(tǒng)的在Raft共識(shí)協(xié)議中,如果日志落后比較多,則需要過(guò)多消耗Leader節(jié)點(diǎn)的CPU和帶寬性能,這可能會(huì)對(duì)集群整體性能帶來(lái)影響的問(wèn)題。
為了達(dá)到上述目的,本發(fā)明的基礎(chǔ)方案提供一種基于Raft日志復(fù)制的自適應(yīng)方法。
本基礎(chǔ)方案的原理及效果在于:
包括以下步驟:
步驟S01,選舉Leader,Leader發(fā)送AppendEntries的操作時(shí),計(jì)算出當(dāng)前操作的哈希值,并記錄到節(jié)點(diǎn)的log;
步驟S02,在記錄每次log的哈希值時(shí),按照l(shuí)og從低到高的順序計(jì)算哈希對(duì)應(yīng)的數(shù)字值的前綴和;
步驟S03,節(jié)點(diǎn)出現(xiàn)宕機(jī)再重啟時(shí),該節(jié)點(diǎn)則利用S02的對(duì)應(yīng)的log計(jì)算差距gap,取出集群正常節(jié)點(diǎn)范圍f;
步驟S04,獲得正常節(jié)點(diǎn)范圍f后,根據(jù)差距進(jìn)行正常節(jié)點(diǎn)范圍f分割獲取分割點(diǎn)k、余數(shù)點(diǎn)left,k=gap/f,left=gap%f;
步驟S05,獲得k,left的值后,利用輪詢的方式把落后的log均勻的到分布到其他非Leader節(jié)點(diǎn)去獲得;
步驟S06,按照上述步驟在重啟節(jié)點(diǎn)獲得某一日志,并拼接日志成功后,再按照上面計(jì)算出來(lái)的Sumi來(lái)驗(yàn)證log數(shù)據(jù)是否完整合法,直到數(shù)據(jù)驗(yàn)證合法完整,然后重啟加入集群繼續(xù)對(duì)外提供服務(wù)。
進(jìn)一步,在步驟S02中,若前綴和有溢出的情況,則可以用取模操作,即Sumi=(Sumi-1+Hashi)%P。
進(jìn)一步,在步驟S03中,集群剩余正常工作節(jié)點(diǎn)為N,N>=3,令f=max(N-1,1)。
進(jìn)一步,在步驟S04中,可將k值按照集群能力設(shè)置為一個(gè)固定值。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于重慶趣鏈數(shù)字科技有限公司;重慶市先進(jìn)區(qū)塊鏈研究院,未經(jīng)重慶趣鏈數(shù)字科技有限公司;重慶市先進(jìn)區(qū)塊鏈研究院許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210185531.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 聚合物顆粒的水分散液
- 一種含末端羥基的RAFT鏈轉(zhuǎn)移劑的合成方法
- 一種室溫下快速去除RAFT聚合物末端硫代羰基的方法
- 一種基于RAFT聚合法提高7,8?二羥基黃酮水溶性的方法
- 一種羅丹明B基RAFT試劑及制備方法以及基于此試劑制備熒光微球的方法
- 一種制備汞離子吸附分離型纖維的方法
- 一種新型水溶性二硫代甲酸酯RAFT試劑及其制備方法
- 一種具有大位阻基團(tuán)的芳基二硫代甲酸酯類化合物及其應(yīng)用
- 一種基于權(quán)益激勵(lì)的結(jié)合Raft和PBFT算法的區(qū)塊鏈共識(shí)方法
- 基于NS-3的Raft共識(shí)算法測(cè)試系統(tǒng)
- 一種基于精簡(jiǎn)策略的集群系統(tǒng)的日志管理優(yōu)化方法
- 日志分離方法及裝置
- 日志服務(wù)器處理日志的方法和裝置
- 一種基于負(fù)載均衡的文件系統(tǒng)日志模型
- 日志生成方法、應(yīng)用服務(wù)器、日志服務(wù)器及日志生成系統(tǒng)
- 一種多線程日志輸出的方法及裝置
- 一種日志分析方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 日志解析方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 日志處理方法及設(shè)備
- 一種日志檢測(cè)方法、裝置、終端及服務(wù)器
- 內(nèi)容管理方法以及內(nèi)容管理裝置
- 用于更新輸入數(shù)據(jù)的復(fù)制控制信息的設(shè)備和方法
- 非易失性存儲(chǔ)裝置以及存儲(chǔ)控制器
- 一種組播報(bào)文兩級(jí)復(fù)制方法及裝置
- 存儲(chǔ)系統(tǒng)、信息處理系統(tǒng)及非易失性存儲(chǔ)器的控制方法
- 數(shù)據(jù)復(fù)制裝置以及計(jì)算機(jī)能讀取的存儲(chǔ)介質(zhì)
- 一種快速?gòu)?fù)制PCB線段的方法及系統(tǒng)
- 一種復(fù)制方法、裝置和終端
- 一種基于區(qū)塊鏈的區(qū)塊復(fù)制方法、裝置、設(shè)備及介質(zhì)
- 一種數(shù)據(jù)復(fù)制粘貼方法、系統(tǒng)及電子設(shè)備





