基於多個區塊鏈網路的資料讀取方法及系統
本說明書實施例涉及資訊技術領域,尤其涉及一種基於多個區塊鏈網路的資料讀取方法及系統。
隨著區塊鏈技術的發展,基於區塊鏈網路進行資料存證的模式逐漸興起。
例如,在版權保護領域,可以搭建一個用於對版權作品以及版權作品的版權相關資訊(如版權人資訊、版權授權資訊、版權轉讓資訊等)進行存證的區塊鏈網路。用戶可以將自己創作的目標作品提交給該區塊鏈網路中的任一節點,由該節點基於所述用戶的用戶資訊與所述目標作品,構建存證交易並廣播至其他節點,該區塊鏈網路中的各節點會基於共識機制,將該存證交易寫入區塊鏈,相當於對“所述目標作品是由所述用戶創作的”這一事實進行分散式存證。
實際上,市面上存在較多提供資料存證服務的區塊鏈網路,各區塊鏈網路之間相互獨立。而同一用戶可能向不止一個區塊鏈網路中都上傳了資料,這意味著,該用戶若想要從區塊鏈中讀取其上傳的資料,就不得不分別針對上述的不止一個區塊鏈網路所維護的不同區塊鏈進行資料讀取。
基於以上,需要一種對用戶而言更為便利的資料讀取方法。
為了解決現有的資料存證方式對用戶而言不夠便利的問題,本說明書實施例提供一種基於多個區塊鏈網路的資料存證方法及系統,技術方案如下:
根據本說明書實施例的第1態樣,提供一種基於多個區塊鏈網路的資料讀取方法,資料存證系統包括至少兩個第一類區塊鏈網路與一個第二類區塊鏈網路;針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述第二區塊鏈網路中的至少一個節點為所述指定管理方所管理;
其中,當向任一第一類區塊鏈網路提交待存證資料時,該第一類區塊鏈網路將包含所述待存證資料的第一類存證交易寫入自身的區塊鏈,以及,所述第二類區塊鏈網路中所述指定管理方所管理的任一節點將包含所述第一類存證交易的交易雜湊與該第一類區塊鏈網路的網路標識的第二類存證交易廣播給所述第二類區塊鏈網路,以便寫入所述第二類區塊鏈網路的區塊鏈;
所述資料讀取方法包括:
所述第二類區塊鏈網路中所述指定管理方所管理的任一節點接收用戶發送的第一類交易雜湊;所述第一類交易雜湊是待讀取的第一類存證交易的交易雜湊;
在所述第二類區塊鏈網路的區塊鏈中,查詢包含所述第一類交易雜湊的第二類存證交易,並從查詢到的第二類存證交易中讀取網路標識;
從讀取的網路標識對應的第一類區塊鏈網路的區塊鏈中,讀取所述第一類交易雜湊對應的第一類存證交易並返回給所述用戶。
根據本說明書實施例的第2態樣,提供一種區塊鏈系統,包括至少兩個第一類區塊鏈網路與一個第二類區塊鏈網路;針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述第二區塊鏈網路中的至少一個節點為所述指定管理方所管理;
其中,當向任一第一類區塊鏈網路提交待存證資料時,該第一類區塊鏈網路將包含所述待存證資料的第一類存證交易寫入自身的區塊鏈,以及,所述第二類區塊鏈網路中所述指定管理方所管理的任一節點將包含所述第一類存證交易的交易雜湊與該第一類區塊鏈網路的網路標識的第二類存證交易廣播給所述第二類區塊鏈網路,以便寫入所述第二類區塊鏈網路的區塊鏈;
所述第二類區塊鏈網路中所述指定管理方所管理的任一節點,接收用戶發送的第一類交易雜湊;所述第一類交易雜湊是待讀取的第一類存證交易的交易雜湊;在所述第二類區塊鏈網路的區塊鏈中,查詢包含所述第一類交易雜湊的第二類存證交易,並從查詢到的第二類存證交易中讀取網路標識;從讀取的網路標識對應的第一類區塊鏈網路的區塊鏈中,讀取所述第一類交易雜湊對應的第一類存證交易並返回給所述用戶。
根據本說明書實施例的第3態樣,提供一種區塊鏈子系統,包括多個節點:
資料存證系統包括至少兩個第一類區塊鏈網路與所述區塊鏈子系統;針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述區塊鏈子系統中的至少一個節點為所述指定管理方所管理;
其中,當向任一第一類區塊鏈網路提交待存證資料時,該第一類區塊鏈網路將包含所述待存證資料的第一類存證交易寫入自身的區塊鏈,以及,所述區塊鏈子系統中所述指定管理方所管理的任一節點將包含所述第一類存證交易的交易雜湊與該第一類區塊鏈網路的網路標識的第二類存證交易廣播給所述區塊鏈子系統,以便寫入所述區塊鏈子系統的區塊鏈;
所述區塊鏈子系統中所述指定管理方所管理的任一節點,接收用戶發送的第一類交易雜湊;所述第一類交易雜湊是待讀取的第一類存證交易的交易雜湊;在所述第二類區塊鏈網路的區塊鏈中,查詢包含所述第一類交易雜湊的第二類存證交易,並從查詢到的第二類存證交易中讀取網路標識;從讀取的網路標識對應的第一類區塊鏈網路的區塊鏈中,讀取所述第一類交易雜湊對應的第一類存證交易並返回給所述用戶。
本說明書實施例所提供的技術方案,將至少兩個第一類區塊鏈網路的區塊鏈所存證的資料映射到第二類區塊鏈網路的區塊鏈中,針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述第二區塊鏈網路中的至少一個節點為所述指定管理方所管理。具體地,針對任一第一類區塊鏈網路,該第一類區塊鏈網路將構建的每個第一類存證交易也會被第二類區塊鏈網路獲取到,由第二類區塊鏈網路將包含獲取到的第一類存證交易的交易雜湊的第二類存證交易寫入自身的區塊鏈。如此,相當於將各第一類區塊鏈網路的區塊鏈上所儲存的第一類存證交易的交易雜湊進一步封裝為第二類存證交易,匯總於第二類區塊鏈網路的區塊鏈上。用戶如果想要驗證任何一筆第一類存證交易是否已經被寫入區塊鏈,則可以根據該第一類存證交易的交易雜湊,向第二類區塊鏈網路進行查詢。如果第二類區塊鏈網路的區塊鏈中存在包含該第一類存證交易的交易雜湊的第二類存證交易,則說明該第一類存證交易已經被寫入區塊鏈。
通過本說明書實施例,倘若同一用戶向不止一個第一類區塊鏈網路中都上傳了資料,那麼,用戶只要持有第一類存證交易的交易雜湊,就可以通過第二類區塊鏈網路讀取第一類存證交易,而不必分別向多個第一類區塊鏈網路進行資料讀取。這對用戶而言更為便利。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本說明書實施例。
此外,本說明書實施例中的任一實施例並不需要達到上述的全部效果。
需要說明的是,在本說明書中所描述的交易(transaction),是指用戶通過區塊鏈的用戶端創建,並需要最終發佈至區塊鏈的分散式資料庫中的一筆資料。交易是區塊鏈協定中所約定的一種資料結構,一筆資料要存入區塊鏈,就需要被封裝成交易。
區塊鏈中的交易,存在狹義的交易以及廣義的交易之分。狹義的交易是指用戶向區塊鏈發佈的一筆價值轉移;例如,在傳統的比特幣區塊鏈網路中,交易可以是用戶在區塊鏈中發起的一筆轉帳。而廣義的交易是指用戶向區塊鏈發佈的一筆具有業務意圖的業務資料;例如,運營方可以基於實際的業務需求搭建一個聯盟鏈,依託於聯盟鏈部署一些與價值轉移無關的其它類型的線上業務(比如,租房業務、車輛調度業務、保險理賠業務、信用服務、醫療服務等),而在這類聯盟鏈中,交易可以是用戶在聯盟鏈中發佈的一筆具有業務意圖的業務消息或者業務請求。
為了使本領域技術人員更好地理解本說明書實施例中的技術方案,下面將結合本說明書實施例中的圖式,對本說明書實施例中的技術方案進行詳細地描述,顯然,所描述的實施例僅僅是本說明書的一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬於保護的範圍。
以下結合圖式,詳細說明本說明書各實施例提供的技術方案。
圖1是本說明書實施例提供的一種區塊鏈系統(或稱資料存證系統)的結構示意圖。如圖1所示,資料存證系統由至少兩個第一類區塊鏈網路(圖1中示出了兩個第一類區塊鏈網路)與一個第二類區塊鏈網路組成。
其中,針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述第二區塊鏈網路中的至少一個節點為所述指定管理方所管理。在圖1中,實心節點表示所述指定管理方所管理的節點。
其中,第一類區塊鏈網路具體可以是聯盟鏈網路。第二類區塊鏈網路具體可以是聯盟鏈網路或私有鏈網路。如果所述第二類區塊鏈網路是私有鏈網路,那麼意味著所述第二類區塊鏈網路中的每個節點皆為所述指定管理方所管理,即圖3中,第二類區塊鏈網路中每個節點都是實心節點。
需要說明的是,倘若存在多個節點由同一指定管理方所管理,那麼意味著,即使這多個節點分別為不同的區塊鏈網路中的節點,這多個節點也可以共用彼此儲存的資料。也就是說,在圖1中,針對每個第一類區塊鏈網路,由於該第一類區塊鏈網路中指定管理方所管理的節點儲存有該第一類區塊鏈網路的區塊鏈,因此,第二類區塊鏈網路中指定管理方所管理的節點也可以自由存取該第三類區塊鏈網路的區塊鏈,獲取該第一類區塊鏈網路所存證的第一存證交易的明文。
針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的任一節點當獲取到待存證資料時,構建包含獲取到的待存證資料的第一類存證交易,並向該第一類區塊鏈網路廣播構建的第一類存證交易;該第一類區塊鏈網路中的各節點當需要對區塊鏈進行資料寫入時,基於共識機制,將若干第一類存證交易打包成第一類存證區塊並寫入自身的區塊鏈;
針對所述第二類區塊鏈網路,所述第二類區塊鏈網路中所述指定管理方所管理的任一節點獲取所述第一類存證區塊,並計算所述第一類存證區塊中每個第一類存證交易的交易雜湊;以及,針對每個交易雜湊,構建包含該交易雜湊的第二類存證交易,並向所述第二類區塊鏈網路廣播每個第二類存證交易;所述第二類區塊鏈網路中的各節點當需要對區塊鏈進行資料寫入時,基於共識機制,將若干第二類存證交易打包成第二類存證區塊並寫入自身的區塊鏈。
需要說明的是,在本說明書實施例中,第一類區塊鏈網路是指負責對用戶提交的待存證資料進行存證的區塊鏈網路,第一類存證交易是包含待存證資料的資料結構。第二類區塊鏈網路是負責對第一類區塊鏈網路提交的第一類存證交易的交易雜湊進行存證的區塊鏈網路,第二類存證交易是包含第一類存證交易的交易雜湊的資料結構。
在本說明書實施例中,用戶可以向任一第一類區塊鏈網路提交待存證資料。假設用戶向第一類區塊鏈網路A提交了待存證資料,實際上是用戶向第一類區塊鏈網路A中的任一節點提交了待存證資料。第一類區塊鏈網路A中獲得待存證資料的節點可以構建包含待存證資料的第一類存證交易,然後將第一類存證交易廣播給第一類區塊鏈網路A中的其他節點。第一類區塊鏈網路A中的每個節點一般會將獲得的第一類存證交易先存入自身暫存。隨著時間推移,第一類區塊鏈網路A可以受理越來越多的待存證資料,這意味著,第一類區塊鏈網路A中的每個節點的暫存中累積了越來越多的第一類存證交易。
每當第一類區塊鏈網路A對應的共識觸發條件滿足時,第一類區塊鏈網路A中的各節點可以基於共識機制,從自身的暫存中打撈若干第一類存證交易,然後將打撈的各第一類存證交易打包成一個第一類存證區塊並存入自身的區塊鏈。其中,第一類區塊鏈網路A對應的共識觸發條件,具體可以是經過指定週期,或者各節點的暫存中積累的第一類存證交易的數量達到指定數量。
另外,第一類區塊鏈網路每產生一個第一類存證區塊,都會觸發如下操作:第二類區塊鏈網路中所述指定管理方所管理的任一節點可以直接獲取當前產生的第一類存證區,計算所述第一類存證區塊中每個第一類存證交易的交易雜湊,以及,針對每個交易雜湊,構建包含該交易雜湊的第二類存證交易,並向所述第二類區塊鏈網路廣播每個第二類存證交易。
於是,每當第二類區塊鏈網路對應的共識觸發條件滿足時,第二類區塊鏈網路中的各節點可以基於共識機制,從自身的暫存中打撈若干第二類存證交易,然後將打撈的各第二類存證交易打包成一個第二類存證區塊並存入自身的區塊鏈。
下文對圖1所示的資料存證系統以及基於所述資料存證系統的資料存證方法進行更為詳細的說明。
圖2是本說明書實施例提供的一種基於多個區塊鏈網路的資料存證方法,的流程示意圖,包括以下步驟:
S200:針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的任一節點當獲取到待存證資料時,構建包含獲取到的待存證資料的第一類存證交易,並向該第一類區塊鏈網路廣播構建的第一類存證交易。
S202:該第一類區塊鏈網路中的各節點當需要對區塊鏈進行資料寫入時,基於共識機制,將若干第一類存證交易打包成第一類存證區塊並寫入自身的區塊鏈。
步驟S200~步驟S202描述了任一第一類區塊鏈網路對用戶提交的一個待存證資料的存證過程。經過步驟S200~S202,待存證資料被封裝成第一類存證交易後寫入該第一類區塊鏈網路的區塊鏈。
S204:所述第二類區塊鏈網路中指定管理方所管理的任一節點獲取所述第一類存證區塊,並計算所述第一類存證區塊中每個第一類存證交易的交易雜湊;以及,針對每個交易雜湊,構建包含該交易雜湊的第二類存證交易,並向所述第二類區塊鏈網路廣播每個第二類存證交易。
需要說明的是,可以在將上述的第一類存證區塊寫入區塊鏈中之前,先執行步驟S204,也可以在將上述的第一類存證區塊寫入區塊鏈中之後,再執行步驟S204。還需要說明的是,一般會在該第一類區塊鏈網路中各節點打包下一個區塊之前,執行完畢步驟S204。
在實際應用中,用戶向某個第一類區塊鏈網路提交了待存證資料後,第一類區塊鏈網路會向用戶返回包含有待存證資料的第一類存證交易的交易雜湊。用戶可以根據持有的交易雜湊,驗證自己上傳的待存證資料是否被寫入該第一類區塊鏈網路的區塊鏈。
在本說明書實施例中,所述第二類區塊鏈網路中所述指定管理方所管理的任一節點根據所述第一類存證區塊中各第一類存證交易的先後順序,由先到後依次向所述第二類區塊鏈網路廣播每個第一類存證交易對應的第二類存證交易。如此,各第一類存證交易分別對應的第二類存證交易被寫入區塊鏈的先後順序,與所述第一類存證區塊中各第一類存證交易的先後順序是一致的。
其中,某個第一存證交易對應的第二類存證交易,是指包含該第一類存證交易的交易雜湊的第二類存證交易。
S206:所述第二類區塊鏈網路中的各節點當需要對區塊鏈進行資料寫入時,基於共識機制,將若干第二類存證交易打包成第二類存證區塊並寫入自身的區塊鏈。
綜上,在本說明書實施例中,將至少兩個第一類區塊鏈網路的區塊鏈所存證的資料映射到第二類區塊鏈網路的區塊鏈中,針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述第二區塊鏈網路中的至少一個節點為所述指定管理方所管理。具體地,針對任一第一類區塊鏈網路,該第一類區塊鏈網路將構建的每個第一類存證交易也會被第二類區塊鏈網路獲取到,由第二類區塊鏈網路將包含獲取到的第一類存證交易的交易雜湊的第二類存證交易寫入自身的區塊鏈。
如此,相當於將各第一類區塊鏈網路的區塊鏈上所儲存的第一類存證交易的交易雜湊進一步封裝為第二類存證交易,匯總於第二類區塊鏈網路的區塊鏈上。用戶如果想要驗證任何一筆第一類存證交易是否已經被寫入區塊鏈,則可以根據該第一類存證交易的交易雜湊,向第二類區塊鏈網路進行查詢。如果第二類區塊鏈網路的區塊鏈中存在包含該第一類存證交易的交易雜湊的第二類存證交易,則說明該第一類存證交易已經被寫入區塊鏈。
通過本說明書實施例,倘若同一用戶向不止一個區塊鏈網路中都上傳了資料,那麼,該用戶隨後若想要驗證其上傳的資料是否已被寫入區塊鏈,則無需分別向上述的不止一個區塊鏈網路發送驗證請求,而是僅向第二類區塊鏈網路發送驗證請求即可,這對用戶而言更為便利。
此外,在本說明書實施例中,資料存證系統還可以包括至少一個第三類區塊鏈網路,如圖3所示。在圖3中,第三類區塊鏈網路中並不包括指定管理方所管理的節點。
基於此,在本說明書實施例中,針對每個第三類區塊鏈網路,該第三類區塊鏈網路中的任一節點當獲取到待存證資料時,構建包含獲取到的待存證資料的第三類存證交易,並向該第三類區塊鏈網路廣播構建的第三類存證交易。
該第三類區塊鏈網路中的各節點當需要對區塊鏈進行資料寫入時,基於共識機制,將若干第三類存證交易打包成第三類存證區塊並寫入自身的區塊鏈。
並且,該第三類區塊鏈網路中的任一節點可以計算所述第三類存證區塊中每個第三類存證交易的交易雜湊,並將每個第三類存證交易的交易雜湊發送給所述第二類區塊鏈網路中的目標節點。其中,所述目標節點可以是第二類區塊鏈網路中的任一節點,也可以是預先指定的、第二類區塊鏈網路中的某個節點。
隨後,所述目標節點針對接收到的每個交易雜湊,構建包含該交易雜湊的第二類存證交易,並向所述第二類區塊鏈網路廣播每個交易雜湊對應的第二類存證交易。最終,針對每個第三類存證交易,包含該第三類存證交易的交易雜湊的第二類存證交易會被寫入到第二類區塊鏈網路的區塊鏈中。
進一步地,該第三類區塊鏈網路中的任一節點在計算所述第三類存證區塊中每個第三類存證交易的交易雜湊之後,具體可以根據所述第三類存證區塊中各第三類存證交易的先後順序,由先到後依次將每個第三類存證交易的交易雜湊發送給所述第二類區塊鏈網路中的目標節點。如此,可以保證所述目標節點可以按照第三類存證區塊中各第三類存證交易的先後順序,由先到後依次接收到每個第一類存證交易的交易雜湊。
另外,可以對圖3所示的資料存證系統進行修改,得到如圖4所示的資料存證系統。在圖4中,資料存證系統包括至少一個第一類區塊鏈網路、一個第二類區塊鏈網路以及至少一個第三類區塊鏈網路。在圖4中,依然可以基於前文所述的原理,進行資料存證,不再贅述。
在本說明書實施例中,所述第二類區塊鏈網路中的任一節點當獲取到待存證資料時,構建包含獲取到的待存證資料的第二類存證交易,並向所述第二類區塊鏈網路廣播構建的第二類存證交易。也即,所述第二類區塊鏈網路除了可以對各第一類存證交易的交易雜湊與第三類存證交易的交易雜湊進行存證之外,還可以對用戶提交的待存證資料進行存證。
此外,在現有技術中,用戶向不止一個區塊鏈網路提交了不同的待存證資料,並且不同的待存證資料被寫入區塊鏈中之後,用戶如果想要從區塊鏈中讀取之前提交的待存證資料,則不得不分別針對上述的不止一個區塊鏈網路所維護的不同區塊鏈進行資料讀取。
而在本說明書實施例中,當向任一第一類區塊鏈網路提交待存證資料時,該第一類區塊鏈網路將包含所述待存證資料的第一類存證交易寫入自身的區塊鏈,以及,所述第二類區塊鏈網路中所述指定管理方所管理的任一節點將包含所述第一類存證交易的交易雜湊與該第一類區塊鏈網路的網路標識的第二類存證交易廣播給所述第二類區塊鏈網路,以便寫入所述第二類區塊鏈網路的區塊鏈。
也就是說,在圖1所示的架構中,所述第二類區塊鏈網路中所述指定管理方所管理的任一節點獲取所述第一類存證區塊,並計算所述第一類存證區塊中每個第一類存證交易的交易雜湊,以及,針對每個第一類存證交易,構建包含該第一類存證交易的交易雜湊與該第一類區塊鏈網路的網路標識的第二類存證交易。
當向任一第三類區塊鏈網路提交待存證資料時,該第三類區塊鏈網路將包含所述待存證資料的第三類存證交易寫入自身的區塊鏈,以及,將包含所述待存證資料的第三類存證交易的交易雜湊發送給所述第二類區塊鏈網路,以使所述第二類區塊鏈網路將包含所述交易雜湊與該第三類區塊鏈網路的網路標識的第二類存證交易寫入自身的區塊鏈。
也就是說,在圖3所示的架構中,所述目標節點針對接收到的每個交易雜湊,構建包含該交易雜湊與該第三類區塊鏈網路的網路標識的第二類存證交易。
如此,用戶持有第一類存證交易的交易雜湊,就可以通過第二類區塊鏈網路讀取第一類存證交易。用戶持有第三類存證交易的交易雜湊,也可以通過所述第二類區塊鏈網路讀取第三類存證交易。
圖5是本說明書實施例提供的一種基於多個區塊鏈網路的資料讀取方法的流程示意圖,包括如下步驟:
S500:第二類區塊鏈網路中所述指定管理方所管理的任一節點接收用戶發送的第一類交易雜湊。
在本說明書實施例中,所述第一類交易雜湊是待讀取的第一類存證交易的交易雜湊。
S502:在所述第二類區塊鏈網路的區塊鏈中,查詢包含所述第一類交易雜湊的第二類存證交易,並從查詢到的第二類存證交易中讀取網路標識。
S504:從讀取的網路標識對應的第一類區塊鏈網路的區塊鏈中,讀取所述第一類交易雜湊對應的第一類存證交易。
如此,讀取的網路標識對應的第一類區塊鏈網路中的任一節點可以將對應於所述第一類交易雜湊的第一類存證交易返回給所述第二類區塊鏈網路。
S506:將讀取的第一類存證交易返回給所述用戶。
需要說明的是,由於所述第二類區塊鏈網路中所述指定管理方所管理的節點,與讀取的網路標識對應的第一類區塊鏈網路中所述指定管理方所管理的節點之間,可以共用彼此的資料,因此,所述第二類區塊鏈網路中所述指定管理方所管理的節點實際上可以不經請求而直接獲取所述第一類交易雜湊對應的第一類存證交易。
此外,圖5所示的方法中,所述第二類區塊鏈網路中的任一節點接收所述用戶發送的第三類交易雜湊,所述第三類交易雜湊是待讀取的第三類存證交易的交易雜湊。隨後,在所述第二類區塊鏈網路的區塊鏈中,查詢包含所述第三類交易雜湊的第三類存證交易,並從查詢到的第三類存證交易中讀取網路標識。接著,將所述第一類交易雜湊發送給讀取的網路標識對應的第三類區塊鏈網路,以便獲取該第三類區塊鏈網路返回的對應於所述第三類交易雜湊的第三類存證交易。最終,將獲取的的第三存證交易返回給所述用戶。
本發明還提供了一種區塊鏈子系統,包括多個節點;
資料存證系統包括至少兩個第一類區塊鏈網路與所述區塊鏈子系統;針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述區塊鏈子系統中的至少一個節點為所述指定管理方所管理;
所述區塊鏈子系統中所述指定管理方所管理的任一節點,獲取第一類存證區塊,並計算所述第一類存證區塊中每個第一類存證交易的交易雜湊;以及,針對每個交易雜湊,構建包含該交易雜湊的第二類存證交易,並向所述第二類區塊鏈網路廣播每個第二類存證交易;
所述區塊鏈子系統中的各節點,當需要對區塊鏈進行資料寫入時,基於共識機制,將若干第二類存證交易打包成第二類存證區塊並寫入自身的區塊鏈;
其中,所述第一類存證區塊是任一第一類區塊鏈網路對若干第一類存證交易進行打包得到的,所述第一類存證區塊中每個第一類存證交易包含待存證資料,所述第一類存證區塊已被該第一類區塊鏈網路寫入自身的區塊鏈。
另外,本發明還提供了另一種區塊鏈子系統,包括多個節點:
資料存證系統包括至少兩個第一類區塊鏈網路與所述區塊鏈子系統;針對每個第一類區塊鏈網路,該第一類區塊鏈網路中的至少一個節點為指定管理方所管理,並且,所述區塊鏈子系統中的至少一個節點為所述指定管理方所管理;
其中,當向任一第一類區塊鏈網路提交待存證資料時,該第一類區塊鏈網路將包含所述待存證資料的第一類存證交易寫入自身的區塊鏈,以及,所述區塊鏈子系統中所述指定管理方所管理的任一節點將包含所述第一類存證交易的交易雜湊與該第一類區塊鏈網路的網路標識的第二類存證交易廣播給所述區塊鏈子系統,以便寫入所述區塊鏈子系統的區塊鏈;
所述區塊鏈子系統中所述指定管理方所管理的任一節點,接收用戶發送的第一類交易雜湊;所述第一類交易雜湊是待讀取的第一類存證交易的交易雜湊;在所述第二類區塊鏈網路的區塊鏈中,查詢包含所述第一類交易雜湊的第二類存證交易,並從查詢到的第二類存證交易中讀取網路標識;從讀取的網路標識對應的第一類區塊鏈網路的區塊鏈中,讀取所述第一類交易雜湊對應的第一類存證交易並返回給所述用戶。
本說明書實施例還提供一種電腦設備,其至少包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,處理器執行所述程式時實現圖5所示方法的功能。
圖6示出了本說明書實施例所提供的一種更為具體的計算設備硬體結構示意圖,該設備可以包括:處理器1410、記憶體1420、輸入/輸出介面1430、通訊介面1440和匯流排1450。其中處理器1410、記憶體1420、輸入/輸出介面1430和通訊介面1440通過匯流排1450實現彼此之間在設備內部的通訊連接。
處理器1410可以採用通用的CPU(Central Processing Unit,中央處理器)、微處理器、應用專用積體電路(Application Specific Integrated Circuit,ASIC)、或者一個或多個積體電路等方式實現,用於執行相關程式,以實現本說明書實施例所提供的技術方案。
記憶體1420可以採用ROM(Read Only Memory,唯讀記憶體)、RAM(Random Access Memory,隨機存取記憶體)、靜態儲存設備,動態儲存裝置設備等形式實現。記憶體1420可以儲存作業系統和其他應用程式,在通過軟體或者韌體來實現本說明書實施例所提供的技術方案時,相關的程式碼保存在記憶體1420中,並由處理器1410來調用執行。
輸入/輸出介面1430用於連接輸入/輸出模組,以實現資訊輸入及輸出。輸入輸出/模組可以作為元件配置在設備中(圖中未示出),也可以外接於設備以提供相應功能。其中輸入裝置可以包括鍵盤、滑鼠、觸控式螢幕、麥克風、各類感測器等,輸出設備可以包括顯示器、揚聲器、振動器、指示燈等。
通訊介面1440用於連接通訊模組(圖中未示出),以實現本設備與其他設備的通訊互動。其中通訊模組可以通過有線方式(例如USB、網線等)實現通訊,也可以通過無線方式(例如移動網路、WIFI、藍牙等)實現通訊。
匯流排1450包括一通路,在設備的各個元件(例如處理器1410、記憶體1420、輸入/輸出介面1430和通訊介面1440)之間傳輸資訊。
需要說明的是,儘管上述設備僅示出了處理器1410、記憶體1420、輸入/輸出介面1430、通訊介面1440以及匯流排1450,但是在具體實施過程中,該設備還可以包括實現正常運行所必需的其他元件。此外,本領域的技術人員可以理解的是,上述設備中也可以僅包含實現本說明書實施例方案所必需的組件,而不必包含圖中所示的全部元件。
本說明書實施例還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,該程式被處理器執行時實現圖5所示方法的功能。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁片儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本說明書實施例可借助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本說明書實施例的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本說明書實施例各個實施例或者實施例的某些部分所述的方法。
上述實施例闡明的系統、方法、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於方法和設備實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的方法實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,在實施本說明書實施例方案時可以把各模組的功能在同一個或多個軟體和/或硬體中實現。也可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上所述僅是本說明書實施例的具體實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本說明書實施例原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本說明書實施例的保護範圍。
S200、S202、S204、S206、S500、S502、S504、S506:步驟
1410:處理器
1420:記憶體
1430:輸入/輸出介面
1440:通信介面
1450:匯流排
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本說明書實施例中記載的一些實施例,對於本領域普通技術人員來講,還可以根據這些圖式獲得其他的圖式。
圖1是本說明書實施例提供的第一種基於多個區塊鏈網路的區塊鏈系統的結構示意圖;
圖2是本說明書實施例提供的一種基於多個區塊鏈網路的資料存證方法的流程示意圖;
圖3是本說明書實施例提供的第二種基於多個區塊鏈網路的區塊鏈系統的結構示意圖;
圖4是本說明書實施例提供的第三種基於多個區塊鏈網路的區塊鏈系統的結構示意圖;
圖5是本說明書實施例提供的一種基於多個區塊鏈網路的資料讀取方法的流程示意圖;
圖6是用於配置本說明書實施例裝置的一種電腦設備的結構示意圖。