[發明專利]數據庫升級方法、狀態數據查詢方法、設備和存儲介質有效
| 申請號: | 202010631490.0 | 申請日: | 2020-07-03 |
| 公開(公告)號: | CN111796845B | 公開(公告)日: | 2022-05-24 |
| 發明(設計)人: | 柳宇航;王志文;吳思進 | 申請(專利權)人: | 杭州復雜美科技有限公司 |
| 主分類號: | G06F8/65 | 分類號: | G06F8/65;G06F8/71;G06F16/22 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310000 浙江省杭州市西湖*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 升級 方法 狀態 數據 查詢 設備 存儲 介質 | ||
1.一種數據庫升級方法,其特征在于,適用于區塊鏈節點,所述方法包括:
獲取數據庫更新信息;其中,所述數據庫更新信息包括數據庫的更新高度;
保留所述數據庫所有版本的執行程序,并生成所述數據庫更新后版本的第一執行程序;
依次對所述數據庫中各待更新區塊執行以下步驟:
判斷所述數據庫待更新區塊的第一區塊高度是否小于所述更新高度:
是,則根據所述待更新區塊的前一個區塊的第一舊狀態哈希查詢所述前一個區塊的第一新狀態哈希;以及,
根據所述待更新區塊的第一區塊數據、所述第一舊狀態哈希、所述待更新區塊的原始版本的第二執行程序生成第二舊狀態哈希,根據所述第一區塊數據、所述第一新狀態哈希、所述第一執行程序生成第二新狀態哈希和第一狀態數據;以及,
生成所述第二舊狀態哈希與所述第二新狀態哈希的對應關系;
否,則判斷第一區塊高度是否等于所述更新高度:
是,則根據所述待更新區塊的前一個區塊的第一舊狀態哈希查詢所述前一個區塊的第一新狀態哈希;以及,
根據所述待更新區塊的第一區塊數據、所述第一新狀態哈希、所述第一執行程序生成第二新狀態哈希和第一狀態數據;
否,則根據所述待更新區塊的第一區塊數據、所述待更新區塊的前一個區塊的狀態哈希、所述第一執行程序生成第二新狀態哈希和第一狀態數據。
2.根據權利要求1所述的方法,其特征在于,舊狀態哈希與相應的新狀態哈希的對應關系以鍵值對形式存儲,所述鍵值對的鍵根據舊狀態哈希與所在區塊的區塊高度生成,所述鍵值對的值為相應的新狀態哈希。
3.根據權利要求1所述的方法,其特征在于,還包括:
判斷當前的區塊高度與所述更新高度之差是否不小于預配置的第一閾值:
是,則刪除區塊高度小于所述更新高度的各區塊的舊版本數據。
4.根據權利要求1所述的方法,其特征在于,所述根據所述第一區塊數據、所述第一新狀態哈希、所述第一執行程序生成第二新狀態哈希和第一狀態數據包括:
判斷所述第二舊狀態哈希與所述待更新區塊中的狀態哈希是否相同:
是,則根據所述第一區塊數據、所述第一新狀態哈希、所述第一執行程序生成第二新狀態哈希和第一狀態數據。
5.一種狀態數據查詢方法,其特征在于,適用于區塊鏈節點,所述方法包括:
接收狀態數據查詢請求信息,根據所述狀態數據查詢請求信息查找到根據權利要求1-4中任一項所述的方法升級數據庫后所存儲的第一狀態數據并返回。
6.一種設備,其特征在于,所述設備包括:
一個或多個處理器;
存儲器,用于存儲一個或多個程序,
當所述一個或多個程序被所述一個或多個處理器執行時,使得所述一個或多個處理器執行如權利要求1-5中任一項所述的方法。
7.一種存儲有計算機程序的存儲介質,其特征在于,該程序被處理器執行時實現如權利要求1-5中任一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州復雜美科技有限公司,未經杭州復雜美科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010631490.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:私鑰生成方法、設備和存儲介質
- 下一篇:數據裁剪方法、設備和存儲介質





