[發明專利]針對區塊鏈數據庫的數據壓縮方法、訪問方法和系統有效
| 申請號: | 201811405827.5 | 申請日: | 2018-11-23 |
| 公開(公告)號: | CN109508334B | 公開(公告)日: | 2019-10-11 |
| 發明(設計)人: | 江樹浩;李家軍;龔施俊;鄢貴海 | 申請(專利權)人: | 中科馭數(北京)科技有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22 |
| 代理公司: | 北京金咨知識產權代理有限公司 11612 | 代理人: | 宋教花 |
| 地址: | 100190 北京市海淀區科學*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 域數據 用戶地址數據 哈希表 條目 數據壓縮 一級哈希表 數據庫 區塊 替換 存儲 數據表存儲 地址沖突 哈希映射 數據包括 統計平均 閾值時 截取 抽取 指向 訪問 指針 沖突 創建 | ||
本發明提供一種針對區塊鏈數據庫的數據壓縮方法、訪問方法和系統,數據壓縮方法包括:從key?value數據庫中已存儲key?value條目的value域數據中抽取用戶地址數據,統計平均用戶key?value條目數量;在平均用戶key?value條目數量高于預定閾值時,創建二級哈希表來存儲各條目中的用戶地址數據,使得用戶地址數據相同的條目對應同一個二級哈希表;截取各條目的完整key域數據的部分字節生成簡化key域數據;將各條目的value域數據中的用戶地址數據替換為指向相應二級哈希表的指針,生成簡化value域數據;基于簡化key域數據和簡化value域數據生成一級哈希表來替換初始哈希表;利用線性數據表存儲存在哈希映射地址沖突和一級哈希表簡化key值沖突的key?value數據,該數據包括完整key域數據和value域數據。
技術領域
本發明涉及計算機技術領域,尤其涉及面向區塊鏈應用的數據處理技術,更具體地涉及一種針對區塊鏈數據庫的數據壓縮方法、訪問方法和系統。
背景技術
區塊鏈是隨著比特幣等數字加密貨幣的日益普及而逐漸興起的一種全新技術,它提供了一種去中心化的、無需信任積累的信用建立范式,目前已經引起金融行業、科研機構、政府部門和投資公司的高度重視與廣泛關注。
區塊鏈起源于比特幣,作為比特幣的底層技術,本質上是一個去中心化的數據庫。區塊鏈技術是一種不依賴第三方、通過自身分布式節點進行網絡數據的存儲、驗證、傳遞和交流的一種技術方案。區塊鏈技術被認為是互聯網發明以來最具顛覆性的技術創新,它依靠密碼學和數學巧妙的分布式算法,在無法建立信任關系的互聯網上,無需借助任何第三方中心的介入就可以使參與者達成共識,以極低的成本解決了信任與價值的可靠傳遞難題。
在區塊鏈中,節點通過特定的共識算法以及交易驗證算法實現去中心化交易。交易數據被分為兩類,一類是塊數據(block),里面包含了已經被確認的交易,這類數據以區塊的形式存儲至數據庫中,區塊以鏈的方式組成區塊鏈;另一類數據是未花費交易數據(UTXO,Unspent Transaction Output),它是塊數據的子集,是專門為提高交易驗證速度而設立的數據。交易數據都被存儲在數據庫中,交易數據在寫入區塊前需要執行一系列的驗證過程,在這些過程中需要訪問和更新數據庫,因此數據庫的效率,尤其是存儲UTXO的數據庫效率,對區塊鏈的交易性能至關重要。
UTXO數據是驗證交易簽名的必不可少的數據,大多數區塊鏈系統采用key-value數據庫來存儲UTXO數據,key-value數據庫包括key域數據和value域數據,其中key域數據與交易ID相關,value域數據與節點地址相關,每一個(key,value)對(可簡稱為(K,V)對、(K,V)數據)被稱為一個key-value條目或一條key-value數據,區塊鏈系統可以根據key值(簡稱K)快速映射到存儲對應(key,value)條目中的節點地址(用戶地址)。以比特幣為例,其key域數據由交易ID和輸出索引組成,其value域數據由節點地址、交易金額等組成。key-value條目可以以哈希表的形式存儲在key-value數據庫中。對應key-value數據庫,如果其數據在內存中,則可以很快的存取數據(~20us/opr),但如果數據在硬盤中,其訪存速度會變得降低接近3個數量級(~10ms/opr),由于區塊鏈巨大的交易量,數據庫所存儲的UTXO數據已達到3GB左右,而且還在繼續增長,目前的內存容量越來越難以滿足UTXO數據的增長,導致部分數據被放置于硬盤中,從而極大地降低了數據庫的訪存性能。
另外,由于key-value數據庫的地址映射機制(哈希映射),在數據訪存時會有一定數量的沖突產生,即不同key值的條目會被映射到相同的地址。這種沖突主要通過開放地址法或鏈表法解決,但是如果沖突率過高,數據庫處理沖突的事件開銷就會增大,從而也會降低數據庫的訪存性能。
如何提高區塊鏈數據庫的訪存性能,是一個有待解決的問題。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中科馭數(北京)科技有限公司,未經中科馭數(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811405827.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種喀斯特山區洞穴管理信息系統
- 下一篇:一種海量地雜波數據分類存儲方法





