小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

技術分享 | 無人機集群——分布式控制算法

 limao164 2022-06-27 發(fā)布于四川

上期我們講解了四種集群分布式控制算法之后,那么,接下來向大家介紹一下分布式控制中的常用算法吧。但是為了幫助大家更好的理解raft算法,先從一個簡單的例子入手吧!

假如某班(組成人員:follower)要進行班長的選舉(leader),初始時沒有一個人自告奮勇,在一定時·間計時結束后,有三名成員毛遂自薦[candidate(A,B,C)],愿意擔任班長(leader),但是大家都優(yōu)秀,那么誰擔任合適呢?A,B,C三人每人帶一個隨機時間的倒計時器,倒計時一結束,這個人(假設A)就會去搜集詢問其他人對于他的看法,即能不能當選班長?如果他獲得了足夠多的票數(shù),那么他就自然晉升為班長。如果之后,A因為違法亂紀被撤銷班長一職,則其他follower,與上期candidate,依然可以繼續(xù)提出申請班長一職,繼續(xù)leader 的爭奪。而對于后面提到的日志復制,在本例子中可以理解為,數(shù)學老師(client)要求班長統(tǒng)計對于數(shù)學課的意見建議,班長收到了老師信息,并將此信息傳送至其他人,一段時間后有個別人進行反饋,班長將其計入自己的信息統(tǒng)計,并將此意見傳向其他follower,在一定時間之后若是受到大多數(shù)人(follower)的反饋,那么leader就將關于數(shù)學課的意見徹底統(tǒng)計,并反饋至數(shù)學老師(client)。 file 好了,通俗易懂的例子講完了,下面來正真了解一下Raft算法吧!

Raft一致性算法又稱為分布式共識算法,一致性是指數(shù)據(jù)保持一致,在整個分布式系統(tǒng)中的數(shù)據(jù)是一致的,也可以理解為在多個節(jié)點中的數(shù)據(jù)的值是保持一致的。它的前身為Paxos 算法,Paxos算法為分布式選舉算法:也就是說在一堆消息中通過不斷的選舉使得各消息的接收者或者執(zhí)行者能夠達到數(shù)據(jù)一致,按照一致的消息順序進行執(zhí)行。Paxos算法允許各個客戶端(client)互不影響的向服務端發(fā)送指令,并按照選舉的方式使得數(shù)據(jù)達成一致,其特點在于,算法是以序號更高者獲勝為標準,并且嘗試在信息傳送時若被拒絕,則會以新的序列號再次參加選舉,如此重復,選出公認序列的目的。它雖然效率高,但依然存在美中不足,而Raft算法,是在他的基礎上更為優(yōu)化和更能易懂的算法。 file

Raft算法,整體可以理解為民主選舉,從選民中選舉產生一個領導者,而Raft算法的核心工作就是將這樣的一個領導者產生的問題分解為選舉和狀態(tài)復制過程兩個子問題進行處理。選舉過程不難理解,那么什么是狀態(tài)復制呢?狀態(tài)復制簡言之就是日志復制,他的目的就是能夠保證在選主之后某一節(jié)點出現(xiàn)問題后,整個系統(tǒng)依然能夠保證已有的數(shù)據(jù)正常進行。其中每個節(jié)點都有三個狀態(tài),分別是leader、candidate、follower三種狀態(tài)可以互相轉換。其中Leader負責發(fā)出提案,總統(tǒng)節(jié)點;candidate作為候選,負責爭奪leader;follower負責統(tǒng)一leader發(fā)出的提案。下面就將兩個子問題做一個簡單的闡述。

(1) 選舉過程: 在服務器啟動時,所有節(jié)點都是以follower的身份開始,每一個follower都帶有定時器,在一定的時間段內,如果集群當中沒有l(wèi)eader,則follower將聲明自己以candidate加入leader的選舉(發(fā)起選舉),并將相關消息發(fā)送給其他節(jié)點進行投票,若在一段時間內未能得到回應,屆時就會進行重新選舉,而其他節(jié)點會根據(jù)受到的消息,進行投票,收到大多數(shù)節(jié)點的投票的candidate將晉升為leader。若在系統(tǒng)工作的過程中,存在leader故障的時候,在一定的時間范圍內相關節(jié)點收不到leader傳送的消息時,其他follower就會重新加入leader的選舉過程,競爭當下一位領導者。值得注意的是,爭當leader的兩個候選者同時選舉并獲得相同的票數(shù)時,則會重新發(fā)送投票信息,進行新一輪選舉,此類操作,保證了再次發(fā)送投票請求以后不沖突。具體過程可參見以下兩幅圖,以便于幫助理解。 file file

(2)復制過程: 經過上面的選舉過程產生leader之后,其日志復制過程具體步驟如下 (1)Leader負責接收來自客戶端的提案請求,將數(shù)據(jù)寫在本地日志 (2)提案內容將包含在Leader發(fā)出的請求中; (3)Follower接收到請求以后回復Leader的請求; (4)Leader接收到多數(shù)派Follower的回復以后確認提案并寫入自己的存儲空間中并回復Client; (5)若出現(xiàn)問題,leader丟失,client無法接收其信息,在一定時間段之后,將會重新選舉產生新的leader進行整個集群的控制和領導。

以上就是對分布式控制算法---Raft一致性算法的簡單介紹了,希望大家能有一定深度的理解。

  • End -

技術發(fā)展的日新月異,阿木實驗室將緊跟技術的腳步,不斷把機器人行業(yè)最新的技術和硬件推薦給大家??吹浇涍^我們培訓的學員在技術上突飛猛進,是我們培訓最大的價值。如果你在機器人行業(yè),就請關注我們的公眾號,我們將持續(xù)發(fā)布機器人行業(yè)最有價值的信息和技術。

阿木實驗室致力于前沿IT科技的教育和智能裝備,讓機器人研發(fā)更高效!

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多