[發(fā)明專利]一種減少節(jié)點碰撞的區(qū)塊鏈節(jié)點負載均衡方法及裝置有效
| 申請?zhí)枺?/td> | 201910374945.2 | 申請日: | 2019-05-07 |
| 公開(公告)號: | CN110098920B | 公開(公告)日: | 2022-08-02 |
| 發(fā)明(設(shè)計)人: | 趙永光;洪曉光;孔蘭菊;張世棟;李慶忠;錢進;肖宗水;于秋波;張寶晨 | 申請(專利權(quán))人: | 山大地緯軟件股份有限公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L9/32;H04L67/1008 |
| 代理公司: | 濟南誠智商標專利事務所有限公司 37105 | 代理人: | 黃曉燕 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 減少 節(jié)點 碰撞 區(qū)塊 負載 均衡 方法 裝置 | ||
本發(fā)明實施例公開了一種減少節(jié)點碰撞的區(qū)塊鏈節(jié)點負載均衡方法及裝置,錢包節(jié)點通過一致性哈希算法建立哈希環(huán),將所有全賬本節(jié)點和當前錢包節(jié)點均映射到哈希環(huán)上,錢包節(jié)點根據(jù)處于哈希環(huán)上的位置選擇全賬本節(jié)點,接收到請求的全賬本節(jié)點根據(jù)自身負載情況,同時通過Chord環(huán),選擇負載未滿的全賬本節(jié)點與錢包節(jié)點建立通信,實現(xiàn)錢包節(jié)點的交易上鏈。有效的保證錢包節(jié)點大致平均地分配到系統(tǒng)所有的全賬本節(jié)點并建立通信,保證了支撐全賬本節(jié)點的服務器負載均衡,不會有服務器負載過多導致故障,也不會有服務器空閑浪費資源。
技術(shù)領(lǐng)域
本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,具體地說是一種減少節(jié)點碰撞的區(qū)塊鏈節(jié)點負載均衡方法及裝置。
背景技術(shù)
區(qū)塊鏈網(wǎng)絡(luò)中包括全賬本節(jié)點、目錄節(jié)點和錢包節(jié)點。全賬本節(jié)點是指擁有完整區(qū)塊鏈賬本的節(jié)點,需要占用內(nèi)存同步所有的區(qū)塊鏈數(shù)據(jù),能夠獨立校驗區(qū)塊鏈上的所有交易并實時更新數(shù)據(jù),主要負責區(qū)塊鏈上交易的廣播和驗證,因此全賬本節(jié)點一般運行在高性能的服務器上;目錄節(jié)點是存儲區(qū)塊鏈上所有全賬本節(jié)點數(shù)據(jù)(包括標識碼、協(xié)議標識、IP和端口、地理位置信息等數(shù)據(jù))的節(jié)點,負責向申請這些數(shù)據(jù)的區(qū)塊鏈其他節(jié)點發(fā)送相關(guān)的全賬本節(jié)點數(shù)據(jù);錢包節(jié)點不保存所有區(qū)塊的數(shù)據(jù),只保存跟自己交易相關(guān)的數(shù)據(jù),所以體積很小,可以運行在電腦,手機,網(wǎng)頁等地方,但是不具備將自身交易上鏈的功能,因此需要通過與全賬本節(jié)點進行通信來完成數(shù)據(jù)交換、交易上鏈等行為。
每當有新加入?yún)^(qū)塊鏈網(wǎng)絡(luò)的錢包節(jié)點時,該錢包節(jié)點首先需要向某個或某幾個全賬本節(jié)點發(fā)送通信請求,全賬本節(jié)點才能對此錢包節(jié)點進行交易上鏈等服務,因此需要設(shè)計錢包節(jié)點與為其提供服務的全賬本節(jié)點的通信方法。
現(xiàn)有技術(shù)套用中心化系統(tǒng)的節(jié)點分配方法,包括為全賬本節(jié)點從零開始編號,利用新加入?yún)^(qū)塊鏈網(wǎng)絡(luò)的錢包節(jié)點id除以全賬本節(jié)點數(shù)目的余數(shù),并規(guī)定余數(shù)所對應的全賬本節(jié)點向該錢包節(jié)點提供服務。這種方法可能出現(xiàn)余數(shù)都為同一數(shù)值或同幾個數(shù)值的情況,導致所有錢包節(jié)點都只與某一個或某幾個全賬本節(jié)點進行通信,而其余全賬本節(jié)點不與任何錢包節(jié)點進行通信。全賬本節(jié)點向錢包節(jié)點提供服務需要占用自身服務器內(nèi)存空間,因此套用上述方法就會導致一部分全賬本節(jié)點與過多錢包節(jié)點建立通信,進行交易處理時占用大量服務器內(nèi)存空間,造成支撐全賬本節(jié)點的服務器負載過重,容易故障;而另一部分全賬本節(jié)點不與任何錢包節(jié)點建立通信,其服務器長時間空閑,產(chǎn)生資源浪費。此外,如果采用上述方法,一旦某個全賬本節(jié)點出現(xiàn)故障,則可用的全賬本節(jié)點數(shù)目減少,所有的錢包節(jié)點都需要重新計算,進而重新確定為自己進行服務的全賬本節(jié)點,因此需要區(qū)塊鏈網(wǎng)絡(luò)中大部分乃至全部節(jié)點都重新建立通信。
發(fā)明內(nèi)容
本發(fā)明實施例中提供了一種減少節(jié)點碰撞的區(qū)塊鏈節(jié)點負載均衡方法,以解決現(xiàn)有區(qū)塊鏈中全賬本節(jié)點負載不均衡,且應對全賬本節(jié)點故障時操作繁瑣的問題。
為了解決上述技術(shù)問題,本發(fā)明實施例公開了如下技術(shù)方案:
本發(fā)明第一方面提供了一種減少節(jié)點碰撞的區(qū)塊鏈節(jié)點負載均衡方法,包括以下步驟:
全賬本節(jié)點獲取目錄節(jié)點中所有全賬本節(jié)點數(shù)據(jù),根據(jù)Chord協(xié)議構(gòu)建Chord環(huán),并將所有全賬本節(jié)點按照哈希值的大小順序映射到所述Chord環(huán)上;
當前錢包節(jié)點獲取目錄節(jié)點中所有全賬本節(jié)點數(shù)據(jù),根據(jù)一致性哈希算法構(gòu)建哈希環(huán),并將所有全賬本節(jié)點和自身錢包節(jié)點按照哈希值的大小順序映射到所述哈希環(huán)上;
在哈希環(huán)上,錢包節(jié)點從自身位置按順時針方向,就近選取兩個全賬本節(jié)點,并對這兩個全賬本節(jié)點進行哈希校驗;
錢包節(jié)點向上一步確定的兩個全賬本節(jié)點發(fā)送通信請求;
接收到通信請求的兩個全賬本節(jié)點,判斷自身服務器的負載情況,在負載未滿時,建立與當前錢包節(jié)點的通信關(guān)系,在負載已滿時,沿Chord環(huán)的順時針方向,向Chord環(huán)上的下一個全賬本節(jié)點轉(zhuǎn)發(fā)通信請求。
進一步地,所述對這兩個全賬本節(jié)點進行哈希校驗的具體過程為:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于山大地緯軟件股份有限公司,未經(jīng)山大地緯軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910374945.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 節(jié)點查詢方法、節(jié)點、移動通訊系統(tǒng)和計算機程序產(chǎn)品
- 一種根據(jù)節(jié)點集合構(gòu)造節(jié)點關(guān)系樹的方法、裝置及系統(tǒng)
- 一種DHT網(wǎng)絡(luò)負載均衡裝置及虛節(jié)點劃分的方法
- 一種無線傳感網(wǎng)地理位置路由空洞處理方法
- 節(jié)點鎖定部件、節(jié)點滑軌、節(jié)點和機箱
- 一種待推薦節(jié)點線路的確定方法及裝置
- 流控方法、目標節(jié)點、節(jié)點及施主節(jié)點
- 節(jié)點布局確定方法以及裝置
- 一種具有分布式柔度的全柔順微位移放大機構(gòu)
- 節(jié)點掛載方法、裝置、網(wǎng)絡(luò)節(jié)點及存儲介質(zhì)
- 沿縱向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 沿橫向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 區(qū)塊鏈輕量化處理方法、區(qū)塊鏈節(jié)點及存儲介質(zhì)
- 餐廳配備裝置總成
- 區(qū)塊鏈處理方法、裝置及區(qū)塊鏈節(jié)點
- 本地區(qū)塊同步的檢驗方法、裝置、設(shè)備及存儲介質(zhì)
- 用于使用現(xiàn)有區(qū)塊鏈節(jié)點來托管新區(qū)塊鏈的方法和系統(tǒng)
- 一種錐體區(qū)塊、錐體區(qū)塊鏈結(jié)構(gòu)和方法
- 一種錐體區(qū)塊鏈共識系統(tǒng)、方法及網(wǎng)絡(luò)
- 區(qū)塊分布式區(qū)塊鏈的區(qū)塊數(shù)據(jù)結(jié)構(gòu)、存儲介質(zhì)及電子設(shè)備





