[發(fā)明專(zhuān)利]一種基于Raft的空數(shù)據(jù)節(jié)點(diǎn)加入方法在審
| 申請(qǐng)?zhí)枺?/td> | 202210185546.3 | 申請(qǐng)日: | 2022-02-28 |
| 公開(kāi)(公告)號(hào): | CN114666206A | 公開(kāi)(公告)日: | 2022-06-24 |
| 發(fā)明(設(shè)計(jì))人: | 郭頌;曾磊;徐思思;邵羽;唐瑞琮 | 申請(qǐng)(專(zhuān)利權(quán))人: | 重慶趣鏈數(shù)字科技有限公司;重慶市先進(jìn)區(qū)塊鏈研究院 |
| 主分類(lèi)號(hào): | H04L41/0663 | 分類(lèi)號(hào): | H04L41/0663;H04L41/00;H04L67/1095 |
| 代理公司: | 北京挺立專(zhuān)利事務(wù)所(普通合伙) 11265 | 代理人: | 郭磊 |
| 地址: | 400000 重*** | 國(guó)省代碼: | 重慶;50 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 raft 數(shù)據(jù) 節(jié)點(diǎn) 加入 方法 | ||
本發(fā)明涉及Raft應(yīng)用技術(shù)領(lǐng)域,具體公開(kāi)了一種基于Raft的空數(shù)據(jù)節(jié)點(diǎn)加入方法,包括如下步驟:步驟S001:用戶(hù)自主創(chuàng)建落后日志節(jié)點(diǎn)的對(duì)比日志長(zhǎng)度;步驟S002:加入新節(jié)點(diǎn),將新節(jié)點(diǎn)的日志長(zhǎng)度與創(chuàng)建的對(duì)比日志長(zhǎng)度進(jìn)行對(duì)比,若小于對(duì)比日志長(zhǎng)度,則為新節(jié)點(diǎn)匹配日志復(fù)制節(jié)點(diǎn),若不小于對(duì)比日志長(zhǎng)度,則直接按照原始Raft算法對(duì)日志進(jìn)行復(fù)制;步驟S003:當(dāng)新節(jié)點(diǎn)從Leader獲得日志復(fù)制節(jié)點(diǎn)的信息時(shí),開(kāi)始向日志復(fù)制節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)并復(fù)制全量的數(shù)據(jù),當(dāng)新節(jié)點(diǎn)的日志長(zhǎng)度復(fù)制到和日志復(fù)制節(jié)點(diǎn)的日志長(zhǎng)度一致時(shí),則以正常的共識(shí)節(jié)點(diǎn)加入到集群,本方法解決了傳統(tǒng)的新節(jié)點(diǎn)加入同步時(shí)間很長(zhǎng),對(duì)Leader節(jié)點(diǎn)負(fù)載較高的問(wèn)題。
技術(shù)領(lǐng)域
本申請(qǐng)涉及Raft應(yīng)用技術(shù)領(lǐng)域,具體公開(kāi)了一種基于Raft的空數(shù)據(jù)節(jié)點(diǎn)加入方法。
背景技術(shù)
2013年,0ngaro等人提出Raft共識(shí)算法,解決了多年來(lái)(multi-)Paxos算法協(xié)議復(fù)雜、難以理解、不能在工程上直接實(shí)現(xiàn)的弊病,也比區(qū)塊鏈中采用的工作量證明或權(quán)益證明的簡(jiǎn)單協(xié)議更高效、節(jié)能;2019年EBay正式開(kāi)源發(fā)布開(kāi)發(fā)的Raft算法實(shí)現(xiàn)NuRaft,Raft憑借其對(duì)公司內(nèi)部大型服務(wù)器提供的快速、高效的共識(shí)能力得到了大公司的青睞;
Raft相較于Paxos的優(yōu)勢(shì)有一下四方面:
1.完整的復(fù)制狀態(tài)機(jī)協(xié)議,Raft協(xié)議與其說(shuō)是一個(gè)一致性協(xié)議不如說(shuō)是一個(gè)完整的復(fù)制狀態(tài)機(jī)協(xié)議;
2.協(xié)議拆分,Raft協(xié)議把整個(gè)協(xié)議分為選舉、log復(fù)制、集群狀態(tài)變化、日志壓縮這四個(gè)過(guò)程,簡(jiǎn)潔明了;
3.狀態(tài)減少,raft協(xié)議通過(guò)對(duì)Paxos協(xié)議增加了一些強(qiáng)限制來(lái)減少整個(gè)集群中的狀態(tài),狀態(tài)少就代表狀態(tài)轉(zhuǎn)換少,實(shí)現(xiàn)難度降低,其中最大的改進(jìn)是對(duì)leader的地位大大加強(qiáng),所有的log都只能從leader這里進(jìn)行流轉(zhuǎn);
4.算法簡(jiǎn)單,容易理解,Raft協(xié)議為了保證整個(gè)協(xié)議的簡(jiǎn)單性做了大量的努力,比如在處理集群狀態(tài)變更的disjoint consensus算法,選舉失敗時(shí)再次選舉使用的randomtimer算法都是非常簡(jiǎn)單又及其有效的;
在Raft共識(shí)協(xié)議中,會(huì)有需要加入新的節(jié)點(diǎn)的需求,此時(shí)新的節(jié)是沒(méi)有數(shù)據(jù)的,于是此節(jié)點(diǎn)會(huì)從Leader(集群領(lǐng)導(dǎo)者)復(fù)制全量數(shù)據(jù),在數(shù)據(jù)量較大的時(shí)候,同步時(shí)間會(huì)很慢,在整個(gè)集群負(fù)載很高的時(shí)候,因?yàn)橥綌?shù)據(jù)過(guò)多,甚至可能會(huì)影響到集群的整個(gè)性能,因?yàn)榧旱耐掏侣嗜Q于Leader節(jié)點(diǎn),本專(zhuān)利解決的是空數(shù)據(jù)節(jié)點(diǎn)加入Raft集群對(duì)Leader節(jié)點(diǎn)影響的問(wèn)題。
因此,發(fā)明人有鑒于此,提供了一種基于Raft的空數(shù)據(jù)節(jié)點(diǎn)加入方法,以便解決上述問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決傳統(tǒng)的新節(jié)點(diǎn)加入同步時(shí)間很長(zhǎng),對(duì)Leader節(jié)點(diǎn)負(fù)載較高的問(wèn)題。
為了達(dá)到上述目的,本發(fā)明的基礎(chǔ)方案提供一種基于Raft的空數(shù)據(jù)節(jié)點(diǎn)加入方法;
步驟S001:用戶(hù)自主創(chuàng)建落后日志節(jié)點(diǎn)的對(duì)比日志長(zhǎng)度;
步驟S002:加入新節(jié)點(diǎn),將新節(jié)點(diǎn)的日志長(zhǎng)度與創(chuàng)建的對(duì)比日志長(zhǎng)度進(jìn)行對(duì)比,若小于對(duì)比日志長(zhǎng)度,則為新節(jié)點(diǎn)匹配日志復(fù)制節(jié)點(diǎn),若不小于對(duì)比日志長(zhǎng)度,則直接按照原始Raft算法對(duì)日志進(jìn)行復(fù)制;
步驟S003:當(dāng)新節(jié)點(diǎn)從Leader獲得日志復(fù)制節(jié)點(diǎn)的信息時(shí),開(kāi)始向日志復(fù)制節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)并復(fù)制全量的數(shù)據(jù),當(dāng)新節(jié)點(diǎn)的日志長(zhǎng)度復(fù)制到和日志復(fù)制節(jié)點(diǎn)的日志長(zhǎng)度一致時(shí),則以正常的共識(shí)節(jié)點(diǎn)加入到集群。
進(jìn)一步,當(dāng)同時(shí)有多個(gè)新節(jié)點(diǎn)加入集群時(shí),Leader將統(tǒng)一指定日志復(fù)制節(jié)點(diǎn)來(lái)進(jìn)行日志的復(fù)制;
當(dāng)存在多個(gè)復(fù)制日志節(jié)點(diǎn)時(shí),則由Leader篩選其中日志不落后集群的節(jié)點(diǎn)進(jìn)行復(fù)制。
進(jìn)一步,當(dāng)Leader發(fā)生宕機(jī)時(shí),則按如下步驟繼續(xù)實(shí)行:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于重慶趣鏈數(shù)字科技有限公司;重慶市先進(jìn)區(qū)塊鏈研究院,未經(jīng)重慶趣鏈數(shù)字科技有限公司;重慶市先進(jìn)區(qū)塊鏈研究院許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210185546.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 聚合物顆粒的水分散液
- 一種含末端羥基的RAFT鏈轉(zhuǎn)移劑的合成方法
- 一種室溫下快速去除RAFT聚合物末端硫代羰基的方法
- 一種基于RAFT聚合法提高7,8?二羥基黃酮水溶性的方法
- 一種羅丹明B基RAFT試劑及制備方法以及基于此試劑制備熒光微球的方法
- 一種制備汞離子吸附分離型纖維的方法
- 一種新型水溶性二硫代甲酸酯RAFT試劑及其制備方法
- 一種具有大位阻基團(tuán)的芳基二硫代甲酸酯類(lèi)化合物及其應(yīng)用
- 一種基于權(quán)益激勵(lì)的結(jié)合Raft和PBFT算法的區(qū)塊鏈共識(shí)方法
- 基于NS-3的Raft共識(shí)算法測(cè)試系統(tǒng)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 節(jié)點(diǎn)查詢(xún)方法、節(jié)點(diǎn)、移動(dòng)通訊系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 一種根據(jù)節(jié)點(diǎn)集合構(gòu)造節(jié)點(diǎn)關(guān)系樹(shù)的方法、裝置及系統(tǒng)
- 一種DHT網(wǎng)絡(luò)負(fù)載均衡裝置及虛節(jié)點(diǎn)劃分的方法
- 一種無(wú)線(xiàn)傳感網(wǎng)地理位置路由空洞處理方法
- 節(jié)點(diǎn)鎖定部件、節(jié)點(diǎn)滑軌、節(jié)點(diǎn)和機(jī)箱
- 一種待推薦節(jié)點(diǎn)線(xiàn)路的確定方法及裝置
- 流控方法、目標(biāo)節(jié)點(diǎn)、節(jié)點(diǎn)及施主節(jié)點(diǎn)
- 節(jié)點(diǎn)布局確定方法以及裝置
- 一種具有分布式柔度的全柔順微位移放大機(jī)構(gòu)
- 節(jié)點(diǎn)掛載方法、裝置、網(wǎng)絡(luò)節(jié)點(diǎn)及存儲(chǔ)介質(zhì)





