[發明專利]基于區塊鏈的數據存儲方法、電子積分處理方法及系統有效
| 申請號: | 202011064472.5 | 申請日: | 2020-09-30 |
| 公開(公告)號: | CN112035491B | 公開(公告)日: | 2021-12-28 |
| 發明(設計)人: | 鄭子彬;陳序 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/23;G06F16/27;G06F21/64;G06Q40/04 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 郭帥 |
| 地址: | 510006 *** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 區塊 數據 存儲 方法 電子 積分 處理 系統 | ||
本發明提供了一種區塊鏈的數據存儲方法、電子積分處理方法及系統,其中方法包括:獲取區塊鏈系統中關系型數據表的數據,將數據對應的主鍵值存儲在樹狀數據結構的葉子節點中;其中,葉子節點通過有向單鏈表連接成有序單鏈表;根據葉子節點對應數據的數據項值計算其哈希值;將子節點的哈希值及相鄰兩個子節點的分割值存儲在樹狀數據結構的非葉子節點中,并計算非葉子節點的哈希值;重復執行上述步驟直至將數據表中所有數據的主鍵值存儲在樹狀數據結構的葉子節點中,并將樹狀數據結構的根節點的哈希值作為關系型數據表的哈希證明。本發明提供的電子積分系統,既實現關系型數據存儲又支持歷史回溯和歷史回退,更加透明公開。
技術領域
本發明涉及區塊鏈技術領域,尤其是涉及基于區塊鏈的數據存儲方法、電子積分處理方法及系統。
背景技術
隨著區塊鏈技術的崛起,越來越多的商家和政務部分選擇了區塊鏈智能合約作為去中心化的電子積分系統的平臺,用于向用戶展示更公平、更透明、更公開同時去中心化的用戶積分平臺。在這個過程中,電子積分系統的智能合約對于區塊鏈上保存的業務數據進行增加、刪除、修改、查詢等操作是不可避免的。同時,由于電子積分系統的業務邏輯的特殊性,積分智能合約的存儲往往需要采用基于關系型的數據存儲,以保證在發行積分、使用積分等邏輯中實現對批量積分用戶的大規模操作。
現有使用區塊鏈平臺的數據庫系統,采用了獨立解耦的方式來為其他區塊鏈提供分布式去中心化的關系型數據存儲。然而,這些產品并非實際的區塊鏈系統,而是一個相對獨立的數據庫系統。雖然這種架構的設計能夠解耦區塊鏈系統的存儲邏輯和業務流程,但是整個系統的安全性將會出現短板原理。而且,這些產品同樣只能夠進行歷史哈希存證,而不能實現有效的歷史回退功能。使用了這些產品的區塊鏈系統同樣喪失了歷史回退、分支切換等能力,僅能夠在特定環境下有限的使用。
現有的區塊鏈系統中,智能合約的數據往往只能存儲在Key-Value存儲對象中,而缺乏有效的方法來實現關系型的數據存儲。
發明內容
本發明的目的是提供基于區塊鏈的數據存儲方法、電子積分處理方法及系統,以解決難以實現關系型數據的有效存儲、對電子積分系統進行歷史回溯與歷史回退困難的技術問題。
本發明的目的,可以通過如下技術方案實現:
一種區塊鏈的數據存儲方法,包括:
S1:獲取區塊鏈系統中關系型數據表的數據,將所述數據對應的主鍵值存儲在樹狀數據結構的葉子節點中;其中,所述葉子節點通過有向單鏈表連接成有序單鏈表;
S2:根據葉子節點對應數據的數據項值計算葉子節點的哈希值;
S3:將子節點的哈希值及相鄰兩個子節點的分割值存儲在樹狀數據結構的非葉子節點中;其中,所述相鄰兩個子節點的分割值大于以左側子節點為根節點的子樹中葉子節點的最大值,且小于等于以右側子節點為根節點的子樹中葉子節點的最小值;每個非葉子節點的子節點數量不少于N/2且小于N,N為樹狀數據結構中非葉子節點的子節點數量的最大值;
S4:根據所述子節點的哈希值及相鄰兩個子節點的分割值計算所述非葉子節點的哈希值;
重復執行S1-S4直至將數據表中所有數據的主鍵值存儲在所述樹狀數據結構的葉子節點中,并將樹狀數據結構的根節點的哈希值作為關系型數據表的哈希證明。
優選地,所述有序單鏈表中葉子節點的主鍵值從小到大排列。
優選地,將所述數據對應的主鍵值存儲在樹狀數據結構的葉子節點中的具體過程為:
根據所述數據對應的主鍵值在有序鏈表找到相應位置并生成一個新的葉子節點,將所述新數據的主鍵值存儲到新的葉子節點中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011064472.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





