【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及區(qū)塊鏈,尤其涉及一種用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法及系統(tǒng)。
技術(shù)介紹
1、分片(sharding)技術(shù)通過將區(qū)塊鏈網(wǎng)絡(luò)劃分為多個分片,使得不同分片可以獨立地并行處理交易,與傳統(tǒng)區(qū)塊鏈架構(gòu)相比,分片區(qū)塊鏈大幅提升整個系統(tǒng)的吞吐量與擴展性。分片主要分為三種類型:狀態(tài)分片、交易分片和網(wǎng)絡(luò)分片。其中,狀態(tài)分片特別關(guān)注于如何將整個區(qū)塊鏈系統(tǒng)的賬戶狀態(tài)進行有效劃分。在這種模型中,每個分片獨立維護不同的賬戶狀態(tài)數(shù)據(jù),為了高效地管理和檢索分散在各個分片中的狀態(tài)數(shù)據(jù),這些分片區(qū)塊鏈系統(tǒng)大多采用了?merkle?patricia?trie(mpt)及其變種存儲狀態(tài)信息,mpt?不僅能夠支持高效的狀態(tài)存儲,還提供了強大的數(shù)據(jù)完整性驗證功能,使得用戶能夠迅速確認特定狀態(tài)的有效性。
2、分片重組(shard?reconfiguration)是對區(qū)塊鏈網(wǎng)絡(luò)的分片結(jié)構(gòu)進行動態(tài)調(diào)整,以提高網(wǎng)絡(luò)的安全性、性能和靈活性。在分片區(qū)塊鏈中,如果惡意節(jié)點過多集中在某個分片,可能導(dǎo)致分片的安全性降低。分片重組可以動態(tài)地將節(jié)點重新分配到其他分片中,從而降低某個分片被惡意控制的可能性,增強網(wǎng)絡(luò)整體的安全性。通過分片重組,可以應(yīng)對節(jié)點宕機、網(wǎng)絡(luò)分區(qū)等異常情況。分片重組在某個分片失效的情況下,可以迅速將該分片的任務(wù)分配給其他分片或新節(jié)點,以確保分片系統(tǒng)的持續(xù)可用性和魯棒性。
3、現(xiàn)有的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法大多當系統(tǒng)發(fā)生分片遷移的時候,被選中節(jié)點需要停止工作,參與到其他分片共識需要先同步對應(yīng)的狀態(tài)數(shù)據(jù)才能共識。這相當于在分
技術(shù)實現(xiàn)思路
1、本專利技術(shù)提供了一種用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法及系統(tǒng),用于解決現(xiàn)有的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法導(dǎo)致分片重組耗時長的技術(shù)問題。
2、本專利技術(shù)第一方面提供的一種用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,包括:
3、當多個區(qū)塊鏈分片接收到重組請求時,各所述區(qū)塊鏈分片中的多個節(jié)點基于分布式共識算法,確定目的分片和所述目的分片對應(yīng)的多個目標節(jié)點;
4、各所述目標節(jié)點分別生成活躍賬戶數(shù)據(jù)請求,并將各所述目標節(jié)點的網(wǎng)絡(luò)性能數(shù)據(jù)和對應(yīng)的活躍賬戶數(shù)據(jù)請求發(fā)送至所述目的分片中的關(guān)鍵節(jié)點;
5、所述關(guān)鍵節(jié)點基于接收到的多個所述網(wǎng)絡(luò)性能數(shù)據(jù)對各所述目標節(jié)點進行分組,確定節(jié)點組別,并根據(jù)接收到的多個活躍賬戶數(shù)據(jù)請求,生成所述節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù);
6、所述關(guān)鍵節(jié)點采用基于糾刪碼的協(xié)同同步機制對所述活躍賬戶數(shù)據(jù)進行劃分,輸出所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片,并將所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片發(fā)送至所述節(jié)點組別;
7、所述節(jié)點組別基于接收到的多個活躍數(shù)據(jù)切片,重建所述節(jié)點組別對應(yīng)的多個節(jié)點數(shù)據(jù)同步本地狀態(tài)樹。
8、可選地,所述關(guān)鍵節(jié)點包括領(lǐng)導(dǎo)節(jié)點和數(shù)據(jù)源節(jié)點;所述各所述目標節(jié)點分別生成活躍賬戶數(shù)據(jù)請求,并將各所述目標節(jié)點的網(wǎng)絡(luò)性能數(shù)據(jù)和對應(yīng)的活躍賬戶數(shù)據(jù)請求發(fā)送至所述目的分片中的關(guān)鍵節(jié)點,包括:
9、各所述目標節(jié)點分別生成活躍賬戶數(shù)據(jù)請求并發(fā)送至所述目的分片中的領(lǐng)導(dǎo)節(jié)點;
10、所述領(lǐng)導(dǎo)節(jié)點基于接收到的各所述活躍賬戶數(shù)據(jù)請求在交易池中進行檢索,確定各所述活躍賬戶數(shù)據(jù)請求對應(yīng)的活躍賬戶數(shù)據(jù)索引并分別發(fā)送至對應(yīng)的目標節(jié)點;
11、各所述目標節(jié)點分別將接收到的多個所述活躍賬戶數(shù)據(jù)索引和各所述目標節(jié)點的網(wǎng)絡(luò)性能數(shù)據(jù)發(fā)送至所述目的分片中的數(shù)據(jù)源節(jié)點。
12、可選地,所述網(wǎng)絡(luò)性能數(shù)據(jù)包括網(wǎng)絡(luò)時延和帶寬信息;所述節(jié)點組別包括第一節(jié)點組別和第二節(jié)點組別;所述所述關(guān)鍵節(jié)點基于接收到的多個所述網(wǎng)絡(luò)性能數(shù)據(jù)對各所述目標節(jié)點進行分組,確定節(jié)點組別,并根據(jù)接收到的多個活躍賬戶數(shù)據(jù)請求,生成所述節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù),包括:
13、所述數(shù)據(jù)源節(jié)點將接收到的各所述網(wǎng)絡(luò)時延、各所述帶寬信息分別與預(yù)置時延閾值、預(yù)置帶寬閾值進行比對,并將任一小于或等于所述預(yù)置時延閾值的網(wǎng)絡(luò)時延且大于預(yù)置帶寬閾值的帶寬信息對應(yīng)的目標節(jié)點作為第一節(jié)點;
14、所述數(shù)據(jù)源節(jié)點采用多個所述第一節(jié)點,構(gòu)建第一節(jié)點組別;
15、所述數(shù)據(jù)源節(jié)點將任一大于所述預(yù)置時延閾值的網(wǎng)絡(luò)時延或小于或等于所述預(yù)置帶寬閾值的帶寬信息對應(yīng)的目標節(jié)點作為第二節(jié)點,并采用多個所述第二節(jié)點,構(gòu)建第二節(jié)點組別;
16、所述數(shù)據(jù)源節(jié)點基于所述第一節(jié)點組別和第二節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù)索引,在所述目的分片中進行數(shù)據(jù)提取,生成所述第一節(jié)點組別和第二節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù)。
17、可選地,所述所述關(guān)鍵節(jié)點采用基于糾刪碼的協(xié)同同步機制對所述活躍賬戶數(shù)據(jù)進行劃分,輸出所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片,并將所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片發(fā)送至所述節(jié)點組別,包括:
18、所述數(shù)據(jù)源節(jié)點對所述第一節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù)進行編碼和數(shù)據(jù)壓縮,生成第一活躍賬戶壓縮編碼數(shù)據(jù),并采用預(yù)置增加糾刪碼對所述第一活躍賬戶壓縮編碼數(shù)據(jù)進行拆分,生成多個第一活躍賬戶數(shù)據(jù)塊;
19、所述數(shù)據(jù)源節(jié)點基于所述第一節(jié)點組別的節(jié)點總數(shù)量分別對各所述第一活躍賬戶數(shù)據(jù)塊進行劃分,生成各所述第一活躍賬戶數(shù)據(jù)塊對應(yīng)的多個第一活躍數(shù)據(jù)切片,并將各所述第一活躍賬戶數(shù)據(jù)塊對應(yīng)的多個第一活躍數(shù)據(jù)切片分發(fā)至所述第一節(jié)點組別;
20、所述數(shù)據(jù)源節(jié)點對所述第二節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù)進行編碼和數(shù)據(jù)壓縮,生成第二活躍賬戶壓縮編碼數(shù)據(jù),并采用預(yù)置減少糾刪碼對所述第二活躍賬戶壓縮編碼數(shù)據(jù)進行拆分,生成多個第二活躍賬戶數(shù)據(jù)塊;
21、所述數(shù)據(jù)源節(jié)點基于所述第二節(jié)點組別的節(jié)點總數(shù)量分別對各所述第二活躍賬戶數(shù)據(jù)塊進行劃分,生成各所述第二活躍賬戶數(shù)據(jù)塊對應(yīng)的多個第二活躍數(shù)據(jù)切片,并將各所述第二活躍賬戶數(shù)據(jù)塊對應(yīng)的多個第二活躍數(shù)據(jù)切片分發(fā)至所述第二節(jié)點組別。
22、可選地,所述所述節(jié)點組別基于接收到的多個活躍數(shù)據(jù)切片,重建所述節(jié)點組別對應(yīng)的多個節(jié)點數(shù)據(jù)同步本地狀態(tài)樹,包括:
23、所述第一節(jié)點組別中的各個第一節(jié)點將接收到的多個第一活躍數(shù)據(jù)切片廣播至所述第一節(jié)點組別中的其他第一節(jié)點,其中,一個第一活躍數(shù)據(jù)切片對應(yīng)一個第一活躍賬戶數(shù)據(jù)塊;
24、所述第一節(jié)點組別中的各個第一節(jié)點分別判斷接收到的各所述第一活躍賬戶數(shù)據(jù)塊對應(yīng)的多個第一活躍數(shù)據(jù)切片的總數(shù)量是否均達到所述第一節(jié)點組別的節(jié)點總數(shù)量;
25、若是,所述第一節(jié)點組別中的各個第一節(jié)點基于各所述第一活躍賬戶數(shù)據(jù)塊對應(yīng)的多個第一活躍數(shù)據(jù)切片進行數(shù)據(jù)重構(gòu),生成所述第一節(jié)點組別中的各個第一節(jié)點對應(yīng)的節(jié)點數(shù)據(jù)同步本地狀態(tài)樹;
26、所述第二節(jié)點組別中的各個第二節(jié)點將接收到的多個第二活躍數(shù)據(jù)切片廣播至所述第二節(jié)點組別中的其他第二節(jié)點,其中,一個第二活躍數(shù)據(jù)切片對應(yīng)一個第二活躍賬戶數(shù)據(jù)塊;
27、所述第二節(jié)點組本文檔來自技高網(wǎng)...
【技術(shù)保護點】
1.一種用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,所述關(guān)鍵節(jié)點包括領(lǐng)導(dǎo)節(jié)點和數(shù)據(jù)源節(jié)點;所述各所述目標節(jié)點分別生成活躍賬戶數(shù)據(jù)請求,并將各所述目標節(jié)點的網(wǎng)絡(luò)性能數(shù)據(jù)和對應(yīng)的活躍賬戶數(shù)據(jù)請求發(fā)送至所述目的分片中的關(guān)鍵節(jié)點,包括:
3.根據(jù)權(quán)利要求2所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,所述網(wǎng)絡(luò)性能數(shù)據(jù)包括網(wǎng)絡(luò)時延和帶寬信息;所述節(jié)點組別包括第一節(jié)點組別和第二節(jié)點組別;所述所述關(guān)鍵節(jié)點基于接收到的多個所述網(wǎng)絡(luò)性能數(shù)據(jù)對各所述目標節(jié)點進行分組,確定節(jié)點組別,并根據(jù)接收到的多個活躍賬戶數(shù)據(jù)請求,生成所述節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù),包括:
4.根據(jù)權(quán)利要求3所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,所述所述關(guān)鍵節(jié)點采用基于糾刪碼的協(xié)同同步機制對所述活躍賬戶數(shù)據(jù)進行劃分,輸出所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片,并將所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片發(fā)送至所述節(jié)點組別,包括:
5.根據(jù)權(quán)利要求4所述的用于跨分片重組的節(jié)
6.根據(jù)權(quán)利要求2所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,在所述所述節(jié)點組別基于接收到的多個活躍數(shù)據(jù)切片,重建所述節(jié)點組別對應(yīng)的多個節(jié)點數(shù)據(jù)同步本地狀態(tài)樹的步驟之后,包括:
7.一種用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步系統(tǒng),其特征在于,包括:
8.一種用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,應(yīng)用于目的分片中的關(guān)鍵節(jié)點,所述方法包括:
9.一種計算機設(shè)備,其特征在于,包括存儲器及處理器,所述存儲器中儲存有計算機程序,所述計算機程序被所述處理器執(zhí)行時,使得所述處理器執(zhí)行如權(quán)利要求1-6任一項所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法的步驟。
10.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被執(zhí)行時實現(xiàn)如權(quán)利要求1-6任一項所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法。
...【技術(shù)特征摘要】
1.一種用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,所述關(guān)鍵節(jié)點包括領(lǐng)導(dǎo)節(jié)點和數(shù)據(jù)源節(jié)點;所述各所述目標節(jié)點分別生成活躍賬戶數(shù)據(jù)請求,并將各所述目標節(jié)點的網(wǎng)絡(luò)性能數(shù)據(jù)和對應(yīng)的活躍賬戶數(shù)據(jù)請求發(fā)送至所述目的分片中的關(guān)鍵節(jié)點,包括:
3.根據(jù)權(quán)利要求2所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,所述網(wǎng)絡(luò)性能數(shù)據(jù)包括網(wǎng)絡(luò)時延和帶寬信息;所述節(jié)點組別包括第一節(jié)點組別和第二節(jié)點組別;所述所述關(guān)鍵節(jié)點基于接收到的多個所述網(wǎng)絡(luò)性能數(shù)據(jù)對各所述目標節(jié)點進行分組,確定節(jié)點組別,并根據(jù)接收到的多個活躍賬戶數(shù)據(jù)請求,生成所述節(jié)點組別對應(yīng)的活躍賬戶數(shù)據(jù),包括:
4.根據(jù)權(quán)利要求3所述的用于跨分片重組的節(jié)點狀態(tài)數(shù)據(jù)同步方法,其特征在于,所述所述關(guān)鍵節(jié)點采用基于糾刪碼的協(xié)同同步機制對所述活躍賬戶數(shù)據(jù)進行劃分,輸出所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片,并將所述活躍賬戶數(shù)據(jù)對應(yīng)的多個活躍數(shù)據(jù)切片發(fā)送至所述節(jié)點組別,包括:
5....
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:黃華威,殷昭伉,鄭子彬,
申請(專利權(quán))人:中山大學(xué),
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。