System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機領域,具體地說,涉及一種角色分離的鏈區塊鏈系統及數據存儲管理方法。
技術介紹
1、大部分區塊鏈系統中,其p2p網絡中的每個節點都維護和更新相同的完整數據,這種傳統區塊鏈系統吞吐量較低,并且無法通過擴大網絡規模來提高吞吐量;另一方面,每個節點都需要存儲完整的區塊鏈數據,隨著區塊的不斷增加,區塊鏈上的數據量也在不斷增加,這對區塊鏈節點的存儲容量提出了更高的要求,這導致能夠存儲完整區塊鏈數據的節點越來越少,從而降低了區塊鏈的區塊鏈的去中心化程度;此外,當一個節點存儲大量數據時,數據管理的效率會降低,節點的運營成本也顯著增加。此外,每個節點的資源優勢不同,區塊鏈系統中在不同流程階段所需的資源也不同,現有的區塊鏈系統不能很好地發揮不同節點的資源優勢。
技術實現思路
1、本專利技術提供了一種區塊鏈系統及數據存儲管理方法,其能夠克服現有技術的某種或某些缺陷。
2、根據本專利技術的一種區塊鏈系統,其包括不同角色種類的節點,所述不同角色種類的節點包括普通節點、排序節點、執行節點和確認節點;多個所述節點共同構建區塊鏈網絡,多個所述排序節點共同構建排序子網絡,多個所述執行節點共同構建執行子網絡,多個所述確認節點共同構建確認子網絡;每個節點均配置有內存池,所述內存池用于實現交易數據的臨時存儲;其中,所述普通節點用于接收交易數據,每個普通節點所接收的交易數據均存儲于內存池中以構成交易集,即所述交易集包括多筆交易數據;所述排序節點用于對所述多筆交易數據進行交易排序動作以生成待確
3、本專利技術中,將整個區塊鏈系統中的多個節點劃分為用以承擔不同職責的普通節點、排序節點、執行節點和確認節點,即根據節點職責將多個節點劃分為不同的角色,這些不同角色的節點在執行交易數據上鏈的過程中,分工處理不同任務,例如:普通節點用于實現交易數據向區塊鏈系統的接入并廣播動作;排序節點用于實現交易數據的排序以及存儲動作;執行節點用于實現交易執行,并對當前區塊鏈上的狀態的記錄/更新動作;確認節點用于實現排序區塊、執行區塊的確認,以及對子網絡節點更新和舉報數據的管理。通過不同角色的節點分工配合,將節點角色、鏈和數據存儲進行分離,不同角色的節點能夠利用其節點自身的優勢資源執行不同的任務,從而實現每個節點的優勢資源的充分利用,降低節點的負載,提高區塊鏈去中心化的程度。
4、具體地,在排序子網絡中通過構建排序鏈的方式進行交易排序動作,在執行子網絡通過構建執行鏈的方式執行鏈上交易數據,并更新狀態的,在確認子網絡中通過構建確認鏈的方式實現對排序子網絡及執行子網絡的動作監督和管理。
5、作為優選,其中,執行節點還用于接收普通節點發送的交易數據,并對交易數據進行驗證。
6、本專利技術中,可以知曉的是,由于執行鏈的每個執行區塊所記載的為當前鏈上交易數據的最新狀態數據,故通過執行節點即可較佳地實現對每筆交易數據的有效性認證,從而能夠較佳地實現對交易數據的驗證。其中,執行節點能夠基于預設的驗證規則對交易數據執行驗證,如轉賬交易的賬戶余額是否充足、交易簽名是否正確等,此處不予贅述。
7、作為優選,執行節點具體用于:接收所述確認區塊;基于所述確認區塊中所納入的最終排序區塊的索引數據檢索相應的交易數據;基于所述最終排序區塊中的全部交易數據進行執行,并根據交易回執數據構建執行區塊。
8、本專利技術中,在構建確認區塊時,僅需將所有的待排序區塊的區塊頭發送至確認節點,供其根據預設的規則選取出最終排序區塊,因此,執行節點和確認節點無需額外存儲所有交易數據,在執行節點進行執行任務時,根據最終排序區塊中的索引數據來檢索出相應的交易數據,以實現交易數據的有序執行動作。由于區塊頭數據量小、傳輸快,能夠有效實現在確保數據安全和數據可用性的前提下,減小確認節點、執行節點的存儲數據量。
9、作為優選,排序節點還用于在最終排序區塊被附加至排序鏈后,向最終排序區塊中與其所包含的交易數據的相對應的用戶發送存證響應;執行節點還用于在執行區塊被附加至執行鏈后,向執行區塊中與其所對應的交易數據的相對應的用戶發送執行響應;確認節點還用于在確認區塊被附加至確認鏈后,向確認區塊中與其所對應交易數據的相對應的用戶發送交易確認響應。
10、本專利技術中,基于上述,實現了對用戶的三階段響應,其中,存證響應、執行響應和確認響應的數據能夠為相關動作執行完畢時的時間信息,從而能夠根據用戶對交易返回時間的要求,表現交易存證時間、交易執行時間和交易確認時間,以增強了交易數據處理過程中的用戶體驗。
11、本專利技術還提供了一種基于角色分離的區塊鏈系統的數據存儲管理方法,其中,所述區塊鏈系統包括不同角色種類的節點,所述不同角色種類的節點包括普通節點、排序節點、執行節點和確認節點;多個所述節點共同構建區塊鏈網絡,多個所述排序節點共同構建排序子網絡,多個所述執行節點共同構建執行子網絡,多個所述確認節點共同構建確認子網絡;每個節點均配置有內存池,所述內存池用于實現交易數據的臨時存儲,其包括以下步驟:
12、步驟s1,基于所述普通節點接收交易數據,其中,每個普通節點所接受的交易數據均存儲于內存池中以構成交易集,即所述交易集包括多筆交易數據;
13、步驟s2,基于所述排序子網絡的所述排序節點同步地對所述多筆交易數據進行交易排序動作,以生成多個待確認排序區塊,其中,所述待確認排序區塊包括區塊頭和區塊體,所述區塊體中基于交易排序結果有序地存儲多條交易數據;
14、步驟s3,將所述多個待確認排序區塊的區塊頭及其所納入的相應交易數據均發送至執行節點,將所述多個待確認排序區塊的區塊頭均發送至確認節點;
15、步驟s4,基于所述確認子網絡的所述確認節點對所述多個待確認排序區塊進行確認,以自所述多個待確認排序區塊中選取1個待確認排序區塊作為最終排序區塊,并基于排序子網絡將所述最終排序區塊附加至排序鏈中;
16、步驟s5,所述確認節點基于所述最終排序區塊的索引數據構建確認區塊并廣播至執行子網絡,并基于確認子網絡將所述確認區塊附加至確認鏈中;
17、步驟s6,執行節點基于所述確認區塊中所納入的最終排序區塊的索引數據執行交易動作,并基于所述最終排序區塊中的全部交易數據的交易回執數據構建執行區塊,并基于所述執行子網絡將所述執行區塊附加至執行鏈中;
18、步驟s7,確認節點基于所述執行區塊的本文檔來自技高網...
【技術保護點】
1.一種角色分離的區塊鏈系統,其特征在于:
2.根據權利要求1所述的一種角色分離的區塊鏈系統,其中,所述執行節點還用于:
3.根據權利要求1所述的一種角色分離的區塊鏈系統,其中,所述執行節點具體用于:
4.根據權利要求1所述的一種角色分離的區塊鏈系統,其特征在于:
5.一種基于角色分離的區塊鏈系統的數據存儲管理方法,其中,所述區塊鏈系統包括不同角色種類的節點,所述不同角色種類的節點包括普通節點、排序節點、執行節點和確認節點;多個所述節點共同構建區塊鏈網絡,多個所述排序節點共同構建排序子網絡,多個所述執行節點共同構建執行子網絡,多個所述確認節點共同構建確認子網絡;每個節點均配置有內存池,所述內存池用于實現交易數據的臨時存儲,其包括:
6.根據權利要求5所述的一種基于角色分離的區塊鏈系統的數據存儲管理方法,其特征在于:
7.根據權利要求5所述的一種基于角色分離的區塊鏈系統的數據存儲管理方法,其特征在于,所述執行節點基于確認區塊中所納入的最終排序區塊的索引數據執行交易動作,并基于最終排序區塊中的全部交易數據的交易回
8.根據權利要求7所述的一種基于角色分離的區塊鏈系統的數據存儲管理方法,其特征在于,所述執行節點基于所述確認區塊中所納入的最終排序區塊的索引數據檢索相應的交易數據,包括:
9.根據權利要求5所述的一種基于角色分離的區塊鏈系統的數據存儲管理方法,其特征在于:
10.根據權利要求5所述的一種基于角色分離的區塊鏈系統的數據存儲管理方法,其特征在于:排序區塊、執行區塊或確認區塊存在且分別被附加至對應的排序鏈、執行鏈或確認鏈后,廣播至普通節點。
...【技術特征摘要】
1.一種角色分離的區塊鏈系統,其特征在于:
2.根據權利要求1所述的一種角色分離的區塊鏈系統,其中,所述執行節點還用于:
3.根據權利要求1所述的一種角色分離的區塊鏈系統,其中,所述執行節點具體用于:
4.根據權利要求1所述的一種角色分離的區塊鏈系統,其特征在于:
5.一種基于角色分離的區塊鏈系統的數據存儲管理方法,其中,所述區塊鏈系統包括不同角色種類的節點,所述不同角色種類的節點包括普通節點、排序節點、執行節點和確認節點;多個所述節點共同構建區塊鏈網絡,多個所述排序節點共同構建排序子網絡,多個所述執行節點共同構建執行子網絡,多個所述確認節點共同構建確認子網絡;每個節點均配置有內存池,所述內存池用于實現交易數據的臨時存儲,其包括:
6.根據權利要求5所述的一種基于角色分離的區塊鏈系統的數據存儲管理方法...
【專利技術屬性】
技術研發人員:余斌,樊郁徽,李若宇,許文俊,陳磊,
申請(專利權)人:淮南師范學院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。