[發明專利]一種智能合約的分片處理方法有效
| 申請號: | 202110049581.8 | 申請日: | 2021-01-14 |
| 公開(公告)號: | CN112866025B | 公開(公告)日: | 2022-10-11 |
| 發明(設計)人: | 管林玉;吳松洋;張璟璟;謝益文;崔宇寅;高峰 | 申請(專利權)人: | 公安部第三研究所 |
| 主分類號: | H04L41/0894 | 分類號: | H04L41/0894;H04L67/10;H04L67/60;H04L12/18 |
| 代理公司: | 上海申新律師事務所 31272 | 代理人: | 俞滌炯 |
| 地址: | 200030*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 智能 合約 分片 處理 方法 | ||
1.一種智能合約的分片處理方法,適用于區塊鏈網絡,所述區塊鏈網絡中包括多個處理節點,多個所述處理節點被分配于多個分片網絡中;其特征在于,包括:
步驟S1,所述處理節點接收到事務處理請求,隨后執行一分片定位過程,以獲取所述事務涉及的所有智能合約的分片地址;
步驟S2,所述處理節點根據所述分片地址判斷所述智能合約是否分屬于不同的所述分片網絡:
若否,則所述處理節點直接處理所述事務,并返回所述步驟S1;
若是,則轉向步驟S3;
步驟S3,所述處理節點執行一分片更換過程,以將所述事務涉及的所有所述智能合約更換至同一個所述分片網絡的所述處理節點中進行處理,并遷移所述智能合約相關的全量數據,并返回所述步驟S1;
于所述區塊鏈網絡中部署一分片定位合約,用于記錄所述區塊鏈網絡上已經部署的每個所述智能合約的所述分片地址;
在預先對所述智能合約進行分片的過程中,將所述智能合約按照合約地址的尾數分配到對應的所述分片網絡中,對應的所述分片網絡的序號與被分配的所述智能合約的所述合約地址的尾數相同,隨后將分配后的所述智能合約的所述分片地址記錄在所述分片定位合約中;
則所述步驟S1中,所述分片定位過程具體包括:
步驟B1,所述處理節點獲取待處理的所述智能合約的合約地址的尾數;
步驟B2,所述處理節點調用所述分片定位合約,以根據所述智能合約的合約地址的尾數確定所述智能合約的所述分片地址;
所述智能合約中包括載體合約和關聯合約;
所述載體合約為所述事務調用的最外層的所述智能合約;
所述關聯合約為執行所述載體合約時內部調用的所述智能合約;
于所述區塊鏈網絡中還部署一分片更換合約,用于提供給所述處理節點執行所述分片更換過程;
則所述步驟S3中,所述分片更換過程具體包括:
步驟C1,所述處理節點作為更換發起節點,調用所述分片更換合約,以向所述載體合約所在的所述分片網絡廣播分片更換請求;
步驟C2,所述載體合約所在的所述分片網絡中的每個所述處理節點分別接收到所述分片更換請求并判斷是否與自身相關,若存在有處理節點和所述分片更換請求相關,則將其作為目標節點,隨后轉向步驟C3;
步驟C3,所述目標節點向所述更換發起節點請求獲取所述事務涉及的所述關聯合約的全量數據,所述更換發起節點根據請求向所述目標節點遷移所述全量數據;
步驟C4,所述目標節點完成所述全量數據的遷移后,在所述區塊鏈網絡中廣播遷移完成的通知消息,以表示所述分片更換過程執行完畢。
2.如權利要求1所述的分片處理方法,其特征在于,于所述區塊鏈網絡中部署一分片合約以及一分片定位合約;
所述分片合約提供所述智能合約的分片邏輯;
所述分片定位合約用于記錄所述區塊鏈網絡上已經部署的每個所述智能合約的所述分片地址;
于所述區塊鏈網絡中,預先將具有相同的序號尾數的所述處理節點分配到同一個所述分片網絡中,所述分片網絡的序號為處于所述分片網絡中的所述處理節點的序號尾數;
則于所述分片處理方法中,在所述區塊鏈網絡上每新部署一個所述智能合約,則首先執行一合約分片過程,具體包括:
步驟A1,獲取所述智能合約的合約地址的尾數;
步驟A2,將所述智能合約按照所述合約地址的尾數分配到對應的所述分片網絡中,對應的所述分片網絡的序號與被分配的所述智能合約的所述合約地址的尾數相同;
步驟A3,將分配后的所述智能合約的所述分片地址記錄到所述分片定位合約中。
3.如權利要求2所述的分片處理方法,其特征在于,每個所述智能合約的所述分片地址包括所述智能合約的存儲地址以及對應的所述分片網絡的序號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于公安部第三研究所,未經公安部第三研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110049581.8/1.html,轉載請聲明來源鉆瓜專利網。





