国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      區(qū)塊鏈狀態(tài)快照生成方法、裝置、計算機設備及存儲介質(zhì)與流程

      文檔序號:40076182發(fā)布日期:2024-11-27 11:17閱讀:10來源:國知局
      區(qū)塊鏈狀態(tài)快照生成方法、裝置、計算機設備及存儲介質(zhì)與流程

      本申請涉及區(qū)塊鏈,特別是涉及一種區(qū)塊鏈狀態(tài)快照生成方法、裝置、計算機設備及存儲介質(zhì)。


      背景技術:

      1、目前,常見的區(qū)塊鏈系統(tǒng)均以狀態(tài)樹作為賬戶和合約的歷史狀態(tài)存儲的數(shù)據(jù)結構。例如以太坊使用的mpt樹(merkle?patricia?tree,梅克爾樹),aptos使用的jmt樹(jellyfish?merkle?tree,一種稀疏梅克爾樹)等。狀態(tài)快照一般在歸檔節(jié)點(某些區(qū)塊鏈系統(tǒng)中也稱為數(shù)據(jù)節(jié)點)上生成,生成狀態(tài)快照可以抽象為一次遍歷特定區(qū)塊下的狀態(tài)樹的全部節(jié)點的過程。

      2、然而,在傳統(tǒng)技術中,由于狀態(tài)樹的節(jié)點大部分存在磁盤上,因此傳統(tǒng)技術中生成狀態(tài)快照時需要通過層序遍歷、后序遍歷等方式遍歷訪問每個狀態(tài)樹節(jié)點,這意味著大量的磁盤讀寫操作,需要消耗較多計算機資源。


      技術實現(xiàn)思路

      1、基于此,有必要針對上述技術問題,提供一種能夠減少計算機資源消耗的區(qū)塊鏈狀態(tài)快照生成方法、裝置、計算機設備及存儲介質(zhì)。

      2、第一方面,本申請?zhí)峁┝艘环N區(qū)塊鏈狀態(tài)快照生成方法。所述方法包括:

      3、獲取初始區(qū)塊的第一節(jié)點集合以及關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,所述關聯(lián)區(qū)塊包括與初始區(qū)塊以及目標區(qū)塊相關聯(lián)的區(qū)塊;所述區(qū)塊狀態(tài)變量包括當前區(qū)塊相較于前一區(qū)塊的節(jié)點變化信息;

      4、基于所述第一節(jié)點集合以及每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的第二節(jié)點集合,并將所述第二節(jié)點集合作為所述目標區(qū)塊的狀態(tài)快照。

      5、在其中一個實施例中,所述區(qū)塊狀態(tài)變量包括區(qū)塊狀態(tài)增量以及區(qū)塊狀態(tài)減量,所述區(qū)塊狀態(tài)增量包括所述當前區(qū)塊相較于前一區(qū)塊的增量節(jié)點集合,所述區(qū)塊狀態(tài)減量包括所述當前區(qū)塊相較于前一區(qū)塊的減量節(jié)點集合。

      6、在其中一個實施例中,若所述初始區(qū)塊的區(qū)塊高度大于所述目標區(qū)塊的區(qū)塊高度,則關聯(lián)區(qū)塊包括所述初始區(qū)塊與目標區(qū)塊之間的中間區(qū)塊以及初始區(qū)塊;

      7、若所述初始區(qū)塊的區(qū)塊高度小于所述目標區(qū)塊的區(qū)塊高度,則關聯(lián)區(qū)塊包括所述初始區(qū)塊與目標區(qū)塊之間的中間區(qū)塊以及目標區(qū)塊。

      8、在其中一個實施例中,若所述初始區(qū)塊的區(qū)塊高度大于所述目標區(qū)塊的區(qū)塊高度,所述基于所述第一節(jié)點集合以及所述每個關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的第二節(jié)點集合包括:

      9、基于所述初始區(qū)塊的節(jié)點集合以及所述初始區(qū)塊的區(qū)塊狀態(tài)變量,確定前一區(qū)塊的節(jié)點集合;

      10、基于前一區(qū)塊的節(jié)點集合以及所述中間區(qū)塊的區(qū)塊狀態(tài)變量,依次確定每一所述中間區(qū)塊的節(jié)點集合,直至確定所述目標區(qū)塊的第二節(jié)點集合。

      11、在其中一個實施例中,所述基于所述初始區(qū)塊的節(jié)點集合以及所述初始區(qū)塊的區(qū)塊狀態(tài)變量,確定前一區(qū)塊的節(jié)點集合包括:

      12、在所述初始區(qū)塊的節(jié)點集合中,刪除與所述初始區(qū)塊的區(qū)塊狀態(tài)增量對應的節(jié)點,以及插入與所述初始區(qū)塊的區(qū)塊狀態(tài)減量對應的節(jié)點后,得到所述前一區(qū)塊的節(jié)點集合。

      13、在其中一個實施例中,若所述初始區(qū)塊的區(qū)塊高度小于所述目標區(qū)塊的區(qū)塊高度,所述基于所述第一節(jié)點集合以及所述每個關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的節(jié)點集合包括:

      14、基于所述初始區(qū)塊的節(jié)點集合以及所述初始區(qū)塊后一區(qū)塊的區(qū)塊狀態(tài)變量,確定后一區(qū)塊的節(jié)點集合;

      15、基于后一區(qū)塊的節(jié)點集合以及所述中間區(qū)塊的區(qū)塊狀態(tài)變量,依次確定每一所述中間區(qū)塊的節(jié)點集合,直至確定所述目標區(qū)塊的第二節(jié)點集合。

      16、在其中一個實施例中,所述基于所述初始區(qū)塊的節(jié)點集合以及所述初始區(qū)塊后一區(qū)塊的區(qū)塊狀態(tài)變量,確定后一區(qū)塊的節(jié)點集合包括:

      17、在所述初始區(qū)塊的節(jié)點集合中,插入與所述后一區(qū)塊的區(qū)塊狀態(tài)增量對應的節(jié)點,以及刪除與所述后一區(qū)塊的區(qū)塊狀態(tài)減量對應的節(jié)點后,得到所述后一區(qū)塊的節(jié)點集合。

      18、在其中一個實施例中,所述基于所述第一節(jié)點集合以及所述每個關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的第二節(jié)點集合還包括:

      19、基于每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定總區(qū)塊狀態(tài)變量;

      20、基于所述第一節(jié)點集合以及所述總區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的節(jié)點集合。

      21、在其中一個實施例中,所述總區(qū)塊狀態(tài)變量包括總區(qū)塊狀態(tài)增量以及總區(qū)塊狀態(tài)減量;所述基于每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定總狀態(tài)變量包括:

      22、基于每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)減量,確定總區(qū)塊狀態(tài)減量;

      23、基于每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)增量,確定總區(qū)塊狀態(tài)增量。

      24、在其中一個實施例中,所述基于所述初始區(qū)塊的節(jié)點集合以及所述總狀態(tài)變量,確定所述目標區(qū)塊的節(jié)點集合包括:

      25、若所述初始區(qū)塊的區(qū)塊高度大于所述目標區(qū)塊的區(qū)塊高度,則在所述初始區(qū)塊的節(jié)點集合中,刪除與所述總區(qū)塊狀態(tài)增量對應的節(jié)點,以及插入與所述總區(qū)塊狀態(tài)減量對應的節(jié)點后得到所述目標區(qū)塊的節(jié)點集合;

      26、若所述初始區(qū)塊的區(qū)塊高度小于所述目標區(qū)塊的區(qū)塊高度,則在所述初始區(qū)塊的節(jié)點集合中,插入與所述總區(qū)塊狀態(tài)增量對應的節(jié)點,以及刪除與所述總區(qū)塊狀態(tài)減量對應的節(jié)點后得到所述目標區(qū)塊的節(jié)點集合。

      27、第二方面,本申請還提供了一種區(qū)塊鏈狀態(tài)快照生成裝置。所述裝置包括:

      28、數(shù)據(jù)獲取模塊,用于獲取初始區(qū)塊的第一節(jié)點集合以及關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,所述關聯(lián)區(qū)塊包括與初始區(qū)塊以及目標區(qū)塊相關聯(lián)的區(qū)塊;所述區(qū)塊狀態(tài)變量包括當前區(qū)塊相較于前一區(qū)塊的節(jié)點變化信息;

      29、狀態(tài)快照生成模塊,用于基于所述第一節(jié)點集合以及每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的第二節(jié)點集合,并將所述第二節(jié)點集合作為所述目標區(qū)塊的狀態(tài)快照。

      30、第三方面,本申請還提供了一種計算機設備。所述計算機設備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述第一方面中任一區(qū)塊鏈狀態(tài)快照生成方法的步驟。

      31、第四方面,本申請還提供了一種計算機可讀存儲介質(zhì)。所述計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面中任一區(qū)塊鏈狀態(tài)快照生成方法的步驟。

      32、上述區(qū)塊鏈狀態(tài)快照生成方法、裝置、計算機設備及存儲介質(zhì),通過獲取初始區(qū)塊的第一節(jié)點集合以及關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,關聯(lián)區(qū)塊包括與初始區(qū)塊以及目標區(qū)塊相關聯(lián)的區(qū)塊;區(qū)塊狀態(tài)變量包括當前區(qū)塊相較于前一區(qū)塊的節(jié)點變化信息;再基于第一節(jié)點集合以及每個關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定目標區(qū)塊的第二節(jié)點集合,并將第二節(jié)點集合作為目標區(qū)塊的狀態(tài)快照。獲取初始區(qū)塊的節(jié)點集合,以及關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量后,即可推算確定目標區(qū)塊的狀態(tài)快照,在不需要遍歷全量狀態(tài)樹的情況下確定目標區(qū)塊的狀態(tài)快照,有效減少了計算機資源消耗,也提高了狀態(tài)快照的生成效率。

      33、本申請的一個或多個實施例的細節(jié)在以下附圖和描述中提出,以使本申請的其他特征、目的和優(yōu)點更加簡明易懂。



      技術特征:

      1.一種區(qū)塊鏈狀態(tài)快照生成方法,其特征在于,所述方法包括:

      2.根據(jù)權利要求1所述的方法,其特征在于,所述區(qū)塊狀態(tài)變量包括區(qū)塊狀態(tài)增量以及區(qū)塊狀態(tài)減量,所述區(qū)塊狀態(tài)增量包括所述當前區(qū)塊相較于前一區(qū)塊的增量節(jié)點集合,所述區(qū)塊狀態(tài)減量包括所述當前區(qū)塊相較于前一區(qū)塊的減量節(jié)點集合。

      3.根據(jù)權利要求2所述的方法,其特征在于,

      4.根據(jù)權利要求3所述的方法,其特征在于,若所述初始區(qū)塊的區(qū)塊高度大于所述目標區(qū)塊的區(qū)塊高度,所述基于所述第一節(jié)點集合以及所述每個關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的第二節(jié)點集合包括:

      5.根據(jù)權利要求4所述的方法,其特征在于,所述基于所述初始區(qū)塊的節(jié)點集合以及所述初始區(qū)塊的區(qū)塊狀態(tài)變量,確定前一區(qū)塊的節(jié)點集合包括:

      6.根據(jù)權利要求3所述的方法,其特征在于,若所述初始區(qū)塊的區(qū)塊高度小于所述目標區(qū)塊的區(qū)塊高度,所述基于所述第一節(jié)點集合以及所述每個關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的節(jié)點集合包括:

      7.根據(jù)權利要求6所述的方法,其特征在于,所述基于所述初始區(qū)塊的節(jié)點集合以及所述初始區(qū)塊后一區(qū)塊的區(qū)塊狀態(tài)變量,確定后一區(qū)塊的節(jié)點集合包括:

      8.根據(jù)權利要求2所述的方法,其特征在于,所述基于所述第一節(jié)點集合以及所述每個關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的第二節(jié)點集合還包括:

      9.根據(jù)權利要求8所述的方法,其特征在于,所述總區(qū)塊狀態(tài)變量包括總區(qū)塊狀態(tài)增量以及總區(qū)塊狀態(tài)減量;所述基于每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定總狀態(tài)變量包括:

      10.根據(jù)權利要求9所述的方法,其特征在于,所述基于所述初始區(qū)塊的節(jié)點集合以及所述總狀態(tài)變量,確定所述目標區(qū)塊的節(jié)點集合包括:

      11.一種區(qū)塊鏈狀態(tài)快照生成裝置,其特征在于,所述裝置包括:

      12.一種計算機設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權利要求1至10中任一項所述的方法的步驟。

      13.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權利要求1至10中任一項所述的方法的步驟。


      技術總結
      本申請涉及一種區(qū)塊鏈狀態(tài)快照生成方法、裝置、計算機設備及存儲介質(zhì)。所述方法包括:獲取初始區(qū)塊的第一節(jié)點集合以及關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,所述關聯(lián)區(qū)塊包括與初始區(qū)塊以及目標區(qū)塊相關聯(lián)的區(qū)塊;所述區(qū)塊狀態(tài)變量包括當前區(qū)塊相較于前一區(qū)塊的節(jié)點變化信息;基于所述第一節(jié)點集合以及每個所述關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量,確定所述目標區(qū)塊的第二節(jié)點集合,并將所述第二節(jié)點集合作為所述目標區(qū)塊的狀態(tài)快照。本申請獲取初始區(qū)塊的節(jié)點集合,以及關聯(lián)區(qū)塊的區(qū)塊狀態(tài)變量后,即可推算確定目標區(qū)塊的狀態(tài)快照,在不需要遍歷全量狀態(tài)樹的情況下確定目標區(qū)塊的狀態(tài)快照,有效減少了計算機資源消耗,也提高了狀態(tài)快照的生成效率。

      技術研發(fā)人員:張啟銳,汪小益,姚文豪,張帥,李曉靜
      受保護的技術使用者:杭州高新區(qū)(濱江)區(qū)塊鏈與數(shù)據(jù)安全研究院
      技術研發(fā)日:
      技術公布日:2024/11/26
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1