[發明專利]一種基于分布式網絡的領導者選舉的共識方法有效
| 申請號: | 202010632851.3 | 申請日: | 2020-07-02 |
| 公開(公告)號: | CN111818152B | 公開(公告)日: | 2021-04-30 |
| 發明(設計)人: | 高建彬 | 申請(專利權)人: | 電子科技大學 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/24 |
| 代理公司: | 電子科技大學專利中心 51203 | 代理人: | 鄒裕蓉 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 分布式 網絡 領導者 選舉 共識 方法 | ||
1.一種基于分布式網絡的領導者選舉的共識方法,其特征在于,包括以下步驟:
1)初始化:設置網絡中節點種類包括領導者節點、接受者節點、追隨者節點;網絡中節點數為3f+1;
領導者節點在網絡中通過領導者選舉產生,用于將事務處理為塊,負責監督網絡中各節點達成共識以及交易;
接受者節點為指定節點,用于接收事務的狀態,不參與領導者選舉;
追隨者節點用于接收客戶端請求;
2)領導者選舉步驟:
2-1)當網絡中的追隨者節點發現領導者離職時,該追隨者節點作為觸發領導者選舉的源節點在網絡中廣播初始化消息;初始化消息中包含有一個待求解的數學問題;網絡中除接受者節點和觸發領導者選舉的源節點外的每一個節點收到初始化消息Initiate后,將上一跳節點設置為父節點;
2-2)除接受者節點外的每一個節點對數學問題進行求解,并將表征本地運算能力的算力值附在響應消息Receive中發送給父節點,源節點求解數學問題后直接保存本地的;每一個父節點在收到了其所有子節點的響應消息Receive后,根據算力值在本地與其所有子節點中選擇一個算力最高的節點作為并向上傳遞,直至觸發領導者選舉的源節點選擇出整個網絡中算力最高的節點作為領導者節點;
2-3)發領導者選舉的源節點將包含了領導者節點標識符的選擇消息Select向網絡中所有節點進行廣播;
3)共識步驟:
3-1)接收到客戶端請求的追隨者節點作為發起者節點向網絡中所有節點廣播預準備消息Pre-prepare;
3-2)領導者節點在接收到預準備消息Pre-prepare后,生成Prepare消息向網絡中所有節點廣播;各節點驗證收到Prepare消息與預準備消息Pre-prepare中的摘要是否相同,如是,則驗證通過,再次向網絡中所有節點廣播Prepare消息,否則,丟棄Prepare消息;
3-3)接受者節點判斷是否收到2f+1個驗證通過的Prepare消息,如是,則通知網絡中所有節點,網絡中收到2f+1個Prepare消息的節點收到通知后向網絡中所有節點廣播Commit消息;
3-4)發起者節點判斷是否收到2f+1個驗證通過的Commit消息,如是,表明全網對客戶端請求達成共識,向客戶端發送共識回復,否則,表示網絡中未達成共識,不能為客戶端提供相應服務。
2.如權利要求1所述方法,其特征在于,步驟2-2)中表征本地運算能力的算力值為本地求解數學問題的運算時長,運算時長越短,算力越強。
3.如權利要求1所述方法,其特征在于,預準備消息Pre-prepare的消息的格式為Preprepare((np,seqno,d)sigf,m),np為發起者節點的配置參數,seqno為客戶端請求的序號,m為客戶端請求的內容,d是內容m的摘要,sigf是發起者節點的簽名;
Prepare消息的格式為Prepare(np,seqno,d,IDv)sigv,其中,IDv是領導者節點的標識符,sigv是領導者節點的簽名;
Commit消息的格式為Commit(np,seqno,m,IDa)siga,其中,IDa是接受者節點的標識符,siga是接受者節點的數字簽名。
4.如權利要求3所述方法,其特征在于,驗證收到Prepare消息與預準備消息Pre-prepare中的摘要是否相同的具體方式為:檢查Prepare消息與預準備消息Pre-prepare中seqno和d是否相同。
5.如權利要求3所述方法,其特征在于,判斷驗證通過的Commit消息的具體方式為:當Commit消息中的配置參數np與發起者節點的配置參數相同則驗證通過。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于電子科技大學,未經電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010632851.3/1.html,轉載請聲明來源鉆瓜專利網。





