[發(fā)明專利]一種基于區(qū)塊鏈的交易數(shù)據(jù)庫構(gòu)建方法、系統(tǒng)及電子設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202110422545.1 | 申請(qǐng)日: | 2021-04-13 |
| 公開(公告)號(hào): | CN112860712A | 公開(公告)日: | 2021-05-28 |
| 發(fā)明(設(shè)計(jì))人: | 羅少龍;柳發(fā)健;袁妙 | 申請(qǐng)(專利權(quán))人: | 深圳前海移聯(lián)科技有限公司 |
| 主分類號(hào): | G06F16/22 | 分類號(hào): | G06F16/22;G06F16/2455;G06Q40/04 |
| 代理公司: | 深圳市中融創(chuàng)智專利代理事務(wù)所(普通合伙) 44589 | 代理人: | 葉垚平 |
| 地址: | 518000 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 區(qū)塊 交易 數(shù)據(jù)庫 構(gòu)建 方法 系統(tǒng) 電子設(shè)備 | ||
本發(fā)明公開了一種基于區(qū)塊鏈的交易數(shù)據(jù)庫構(gòu)建方法、系統(tǒng)和電子設(shè)備,包括提取交易數(shù)據(jù)的哈希值,生成對(duì)應(yīng)的索引,將交易數(shù)據(jù)寫入第一級(jí)緩存中;當(dāng)?shù)谝患?jí)緩存寫入達(dá)到上限時(shí),將原有的第一級(jí)緩存內(nèi)的交易數(shù)據(jù)寫入至第二級(jí)緩存;及當(dāng)?shù)诙?jí)緩存寫入達(dá)到上限時(shí),將原有的第二級(jí)緩存內(nèi)的交易數(shù)據(jù)寫入至磁盤。通過以上三級(jí)緩存技術(shù),在硬件資源有限的情況下,能有效提升緩存的命中率及查詢的實(shí)時(shí)性,為實(shí)時(shí)監(jiān)測所需的溯源查詢提供高效的查詢手段,利用了區(qū)塊鏈交易的讀寫特征,在硬件資源有限的情況下,能有效提升緩存的命中率及查詢的實(shí)時(shí)性,查詢效率更高。
技術(shù)領(lǐng)域
本發(fā)明涉及區(qū)塊鏈的交易數(shù)據(jù)庫構(gòu)建領(lǐng)域,尤其涉及一種基于區(qū)塊鏈的交易數(shù)據(jù)庫構(gòu)建方法、系統(tǒng)及電子設(shè)備。
背景技術(shù)
區(qū)塊鏈上層應(yīng)用的查詢性能取決于其底層數(shù)據(jù)庫的性能。當(dāng)前區(qū)塊鏈的底層數(shù)據(jù)庫普遍采用寫入快、讀取慢的結(jié)構(gòu)設(shè)計(jì)。在比特幣區(qū)塊鏈上,已有超過60萬的區(qū)塊;而在以太坊區(qū)塊鏈上,已有超過1100萬的區(qū)塊。對(duì)這些區(qū)塊中的交易數(shù)據(jù)的實(shí)時(shí)查詢、監(jiān)測成為政府、企業(yè)等的重要需求。然而,海量交易數(shù)據(jù)的查詢、溯源依賴的高效的索引技術(shù),無法被現(xiàn)有的系統(tǒng)與分析工具滿足,現(xiàn)有的區(qū)塊鏈交易數(shù)據(jù)庫的結(jié)構(gòu)海量溯源效率低。當(dāng)需要遍歷整個(gè)區(qū)塊鏈交易數(shù)據(jù)獲取交易前后關(guān)聯(lián)時(shí),由于沒有全局索引交易,磁盤索引的效率低下,導(dǎo)致溯源查詢效率較低。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于區(qū)塊鏈的交易數(shù)據(jù)庫構(gòu)建方法、系統(tǒng)及電子設(shè)備,旨在解決現(xiàn)有的區(qū)塊鏈交易數(shù)據(jù)庫溯源查詢效率低的問題。
根據(jù)本申請(qǐng)實(shí)施例,提供了一種基于區(qū)塊鏈的交易數(shù)據(jù)庫構(gòu)建方法,包括以下步驟:步驟S1:提取交易數(shù)據(jù)的哈希值,生成對(duì)應(yīng)的索引,將交易數(shù)據(jù)寫入第一級(jí)緩存中;步驟S2:當(dāng)?shù)谝患?jí)緩存寫入達(dá)到上限時(shí),將原有的第一級(jí)緩存內(nèi)的交易數(shù)據(jù)寫入至第二級(jí)緩存;及步驟S3:當(dāng)?shù)诙?jí)緩存寫入達(dá)到上限時(shí),將原有的第二級(jí)緩存內(nèi)的交易數(shù)據(jù)寫入至磁盤。
優(yōu)選地,上述步驟S1具體包括:步驟S11:獲取交易數(shù)據(jù)的哈希值和交易內(nèi)容,將對(duì)應(yīng)的哈希值和交易內(nèi)容進(jìn)行無損壓縮,并獲取哈希值的二進(jìn)制形式的前k位;步驟S12:基于所述前k位,到前綴哈希表中嘗試獲取,判斷值是否存在,若是,則進(jìn)入步驟S13,若否,則進(jìn)入步驟S14;步驟S13:將交易內(nèi)容和哈希值的鍵值對(duì)插入完整哈希表;步驟S14:將交易內(nèi)容和哈希值的前k位的鍵值對(duì)插入前綴哈希表;及步驟S15:更新完整哈希表和前綴哈希表后,生成交易數(shù)據(jù)的索引,并寫入第一級(jí)緩存中。
優(yōu)選地,上述步驟S11具體包括:步驟S111:獲取交易數(shù)據(jù)的哈希值和交易內(nèi)容,將對(duì)應(yīng)的哈希值和交易內(nèi)容進(jìn)行十六進(jìn)制變換,獲取哈希值和交易內(nèi)容的十六進(jìn)制數(shù);步驟S112:將十六進(jìn)制數(shù)形式的哈希值和交易內(nèi)容轉(zhuǎn)換為二進(jìn)制數(shù);及步驟S113:獲取哈希值的二進(jìn)制形式的前k位。
優(yōu)選地,所述第一級(jí)緩存和所述第二級(jí)緩存均為基于內(nèi)存型的緩存結(jié)構(gòu)。
優(yōu)選地,所述第一級(jí)緩存、第二級(jí)緩存及磁盤依次順序進(jìn)行數(shù)據(jù)寫入和查詢步驟。
本發(fā)明還提供一種基于區(qū)塊鏈的交易數(shù)據(jù)庫構(gòu)建系統(tǒng),包括:第一級(jí)緩存單元,用于提取交易數(shù)據(jù)的哈希值,生成對(duì)應(yīng)的索引,將交易數(shù)據(jù)寫入第一級(jí)緩存中;第二級(jí)緩存單元,用于當(dāng)?shù)谝患?jí)緩存寫入達(dá)到上限時(shí),將原有的第一級(jí)緩存內(nèi)的交易數(shù)據(jù)寫入至第二級(jí)緩存;及磁盤寫入單元,用于當(dāng)?shù)诙?jí)緩存寫入達(dá)到上限時(shí),將原有的第二級(jí)緩存內(nèi)的交易數(shù)據(jù)寫入至磁盤。
優(yōu)選地,所述第一級(jí)緩存單元還包括:無損壓縮單元,用于獲取交易數(shù)據(jù)的哈希值和交易內(nèi)容,將對(duì)應(yīng)的哈希值和交易內(nèi)容進(jìn)行無損壓縮,并獲取哈希值的二進(jìn)制形式的前k位;哈希驗(yàn)證單元,用于基于所述前k位,到前綴哈希表中嘗試獲取,判斷值是否存在;完整哈希插入單元,用于當(dāng)前k位存在于前綴哈希表中時(shí),將交易內(nèi)容和哈希值的鍵值對(duì)插入完整哈希表;前綴哈希插入單元,用于當(dāng)前k位不存在于前綴哈希表中時(shí),將交易內(nèi)容和哈希值的前k位的鍵值對(duì)插入前綴哈希表;及索引單元,用于更新完整哈希表和前綴哈希表后,生成交易數(shù)據(jù)的索引,并寫入第一級(jí)緩存中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳前海移聯(lián)科技有限公司,未經(jīng)深圳前海移聯(lián)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110422545.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 沿縱向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 沿橫向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 區(qū)塊鏈輕量化處理方法、區(qū)塊鏈節(jié)點(diǎn)及存儲(chǔ)介質(zhì)
- 餐廳配備裝置總成
- 區(qū)塊鏈處理方法、裝置及區(qū)塊鏈節(jié)點(diǎn)
- 本地區(qū)塊同步的檢驗(yàn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 用于使用現(xiàn)有區(qū)塊鏈節(jié)點(diǎn)來托管新區(qū)塊鏈的方法和系統(tǒng)
- 一種錐體區(qū)塊、錐體區(qū)塊鏈結(jié)構(gòu)和方法
- 一種錐體區(qū)塊鏈共識(shí)系統(tǒng)、方法及網(wǎng)絡(luò)
- 區(qū)塊分布式區(qū)塊鏈的區(qū)塊數(shù)據(jù)結(jié)構(gòu)、存儲(chǔ)介質(zhì)及電子設(shè)備
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





