[發明專利]一種基于區塊鏈生成區塊的方法以及系統在審
| 申請號: | 201710957872.0 | 申請日: | 2017-10-16 |
| 公開(公告)號: | CN107704269A | 公開(公告)日: | 2018-02-16 |
| 發明(設計)人: | 張航;王繼武;張國華 | 申請(專利權)人: | 中國銀行股份有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F9/46;G06F9/52;G06Q40/04 |
| 代理公司: | 北京三友知識產權代理有限公司11127 | 代理人: | 賈磊,喬媛 |
| 地址: | 100818 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 區塊 生成 方法 以及 系統 | ||
技術領域
本發明關于數據處理技術領域,特別是關于區塊鏈系統的生成技術,具體的講是一種基于區塊鏈生成區塊的方法、基于區塊鏈生成區塊的系統、計算機設備以及計算機可讀存儲介質。
背景技術
本部分旨在為權利要求書中陳述的本發明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。
目前,性能是區塊鏈系統的一大弱點,其主要原因在于區塊鏈系統中往往存在很多影響整體性能的關鍵路徑上都采用了串行架構,比如區塊的生成過程。
在不同共識機制下,區塊的生成過程會略有不同。但總體來說,各節點在處理接收到的區塊信息后,交易過程大致都是按照如下流程:①節點接收到若干交易信息,放入交易池中;②節點從交易池中獲取當前收到的交易信息,對交易進行排序并按順序執行;③執行完畢之后,節點生成完整區塊,最終將其廣播。
在第二步執行交易的過程中,傳統的區塊鏈系統交易按順序逐筆執行,每筆交易在執行完畢后才會執行下一筆交易。這樣的串行架構導致區塊鏈系統無法有效利用現在多線程計算的優勢。
因此,如何提供一種新的方案,其能夠解決上述技術問題是本領域亟待解決的技術難題。
發明內容
有鑒于此,本發明提供了一種基于區塊鏈生成區塊的方法、基于區塊鏈生成區塊的系統、計算機設備以及計算機可讀存儲介質,通過將從交易池中獲取多個交易信息打包為多個包,然后啟動多線程逐包進行并行處理,得到交易處理結果,最后根據交易處理結果生成區塊,極大提高了區塊鏈系統的處理效率。
為了實現上述目的,本發明提供了一種基于區塊鏈生成區塊的方法,所述方法包括:
共識節點接收交易發送節點發送的多個交易信息,放入交易池中;
從所述交易池中獲取所述多個交易信息,將所述多個交易信息打包為多個包;
啟動多線程逐包進行并行處理,得到交易處理結果;
根據所述交易處理結果生成區塊。
在本發明的優選實施方式中,將所述多個交易信息打包為多個包包括:
獲取所述多個交易信息的交易復雜度;
獲取所述共識節點所在服務器的性能指標;
根據所述交易復雜度以及所述性能指標將所述多個交易信息打包為多個包。
在本發明的優選實施方式中,啟動多線程逐包進行并行處理,得到交易處理結果包括:啟動多線程,逐包按順序將各個包中的多個交易并行處理,產生交易處理結果。
在本發明的優選實施方式中,所述方法在得到交易處理結果后,根據所述交易處理結果生成區塊之前,還包括:
檢查所述交易處理結果,確定出是否發生死鎖;
當發生死鎖時,根據所述交易處理結果獲取出發生死鎖的交易信息;
將所述發生死鎖的交易信息進行串行處理,得到執行結果;
將所述執行結果添加至所述交易處理結果。
在本發明的優選實施方式中,檢查所述交易處理結果,確定出是否發生死鎖包括:
獲取預先設定的所述交易信息的執行時間閾值;
獲取所述交易信息的實際執行時間;
判斷所述實際執行時間是否超出所述執行時間閾值;
當判斷為是時,確定并行處理過程中發生死鎖。
在本發明的優選實施方式中,根據所述交易處理結果生成區塊后,所述方法還包括:廣播所述區塊。
本發明的目的之一是,提供了一種基于區塊鏈生成區塊的系統,所述系統包括:
交易信息接收模塊,用于接收交易發送節點發送的多個交易信息,放入交易池中;
交易信息打包模塊,用于從所述交易池中獲取所述多個交易信息,將所述多個交易信息打包為多個包;
交易信息處理模塊,用于啟動多線程逐包進行并行處理,得到交易處理結果;
區塊生成模塊,用于根據所述交易處理結果生成區塊。
在本發明的優選實施方式中,所述交易信息打包模塊包括:
復雜度獲取模塊,用于獲取所述多個交易信息的交易復雜度;
性能指標獲取模塊,用于獲取所述共識節點所在服務器的性能指標;
信息打包模塊,用于根據所述交易復雜度以及所述性能指標將所述多個交易信息打包為多個包。
在本發明的優選實施方式中,所述交易信息處理模塊用于啟動多線程,逐包按順序將各個包中的多個交易并行處理,產生交易處理結果。
在本發明的優選實施方式中,所述系統還包括死鎖檢查模塊,包括:
處理結果檢查模塊,用于檢查所述交易處理結果,確定出是否發生死鎖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國銀行股份有限公司,未經中國銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710957872.0/2.html,轉載請聲明來源鉆瓜專利網。





