[發(fā)明專利]一種支持時間范圍和屬性范圍復合查詢的區(qū)塊鏈索引方法有效
| 申請?zhí)枺?/td> | 201811366991.X | 申請日: | 2018-11-16 |
| 公開(公告)號: | CN109471905B | 公開(公告)日: | 2020-08-25 |
| 發(fā)明(設計)人: | 邵奇峰;朱燕超;張召 | 申請(專利權)人: | 華東師范大學 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/22;G06F16/24 |
| 代理公司: | 上海藍迪專利商標事務所(普通合伙) 31215 | 代理人: | 徐筱梅;張翔 |
| 地址: | 200241 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 支持 時間 范圍 屬性 復合 查詢 區(qū)塊 索引 方法 | ||
本發(fā)明公開了一種支持時間范圍和屬性范圍查詢的區(qū)塊鏈索引方法,包括基于區(qū)塊序號及區(qū)塊創(chuàng)建時間的B+樹索引和基于交易屬性的層次索引。基于區(qū)塊序號及區(qū)塊創(chuàng)建時間的B+樹索引以區(qū)塊序號、區(qū)塊創(chuàng)建時間為健,以區(qū)塊地址指針,加速了基于區(qū)塊序號或交易時間的區(qū)塊查詢。基于交易屬性的層次索引包括第1層位圖索引和第2層B+樹索引,第1層索引依據(jù)交易屬性基于位圖索引可快速查找到交易所在的區(qū)塊,第2層索引依據(jù)交易屬性基于區(qū)塊內(nèi)的B+樹索引可進一步在區(qū)塊內(nèi)快速查找到具體的交易。本發(fā)明加速了基于交易時間與交易屬性的范圍查詢與復合查詢,從而解決了區(qū)塊鏈系統(tǒng)基于交易時間與交易屬性查詢效率低效的問題。
技術領域
本發(fā)明屬于區(qū)塊鏈技術領域,尤其涉及基于區(qū)塊鏈索引的區(qū)塊數(shù)據(jù)與交易數(shù)據(jù)的查詢技術,特別是一種支持時間范圍和屬性范圍復合查詢的區(qū)塊鏈索引方法。
背景技術
區(qū)塊鏈系統(tǒng)通常將一批交易打包進區(qū)塊,然后以區(qū)塊為單位對這些交易進行共識、存儲及執(zhí)行。在數(shù)據(jù)結構上,區(qū)塊鏈實質是一個以區(qū)塊為結點的鏈表,每個區(qū)塊中主要包含交易數(shù)據(jù)、前塊哈希及元數(shù)據(jù)。區(qū)塊中的交易數(shù)據(jù)是前一區(qū)塊創(chuàng)建后到當前區(qū)塊創(chuàng)建時,系統(tǒng)中發(fā)起的所有交易。針對每個區(qū)塊都可計算出一個哈希值,其被稱為區(qū)塊哈希或區(qū)塊ID。通過在區(qū)塊中包含前一區(qū)塊的哈希,即可以前塊哈希為指針把各個孤立的區(qū)塊鏈接起來。以區(qū)塊為單位組織交易數(shù)據(jù),并以區(qū)塊哈希作為指針將孤立的區(qū)塊按時間順序鏈接在一起,一方面保證了交易數(shù)據(jù)的不可篡改性,另一方面也實現(xiàn)了交易數(shù)據(jù)的可追溯性。
為了方便新塊的追加操作,區(qū)塊鏈數(shù)據(jù)通常以日志文件的方式進行存儲。目前區(qū)塊鏈系統(tǒng)提供的索引機制,僅支持基于區(qū)塊序號(高度)、區(qū)塊哈希的區(qū)塊數(shù)據(jù)檢索及基于交易哈希的交易數(shù)據(jù)檢索。以交易數(shù)據(jù)檢索為例,索引的鍵是交易哈希,值是區(qū)塊鏈文件名和交易位于區(qū)塊鏈文件中的地址偏移量。因為并不支持基于交易時間、交易屬性(如交易金額、交易類型等)的索引,所以當需要基于具體的交易時間、交易屬性查詢交易時,就會特別繁瑣低效。例如查詢交易金額大于500且小于1000的交易,其需要從區(qū)塊鏈的第1個區(qū)塊開始,把每個區(qū)塊中的每個交易都反序列化,并逐個比較判斷各個交易的屬性是否滿足查詢條件,直至最后一個區(qū)塊。區(qū)塊鏈在數(shù)據(jù)結構上實質是一個以區(qū)塊為結點的鏈表,因而整個查詢過程與鏈表查詢類似。如果需要基于多種交易屬性的復合查詢,如查詢在某交易時間段內(nèi)且交易金額在某范圍的所有交易,查詢過程就會更為復雜低效。相對于已經(jīng)相當成熟且快速的數(shù)據(jù)庫索引相比,目前的區(qū)塊鏈系統(tǒng)尚缺乏完善高效的索引方案。
為了克服現(xiàn)有區(qū)塊鏈系統(tǒng)基于交易時間與交易屬性查詢低效的問題,本發(fā)明提出了一種支持時間范圍和屬性范圍復合查詢的區(qū)塊鏈索引方法,實現(xiàn)了基于交易時間與交易屬性的高效查詢。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有區(qū)塊鏈系統(tǒng)基于交易時間與交易屬性查詢低效的問題,提出了一種支持時間范圍和屬性范圍復合查詢的區(qū)塊鏈索引方法,實現(xiàn)了基于交易時間與交易屬性的高效查詢。
實現(xiàn)本發(fā)明目的的具體技術方案是:
一種支持時間范圍和屬性范圍復合查詢的區(qū)塊鏈索引方法,該方法包括基于區(qū)塊序號及區(qū)塊創(chuàng)建時間的B+樹索引和基于交易屬性的層次索引。所述基于區(qū)塊序號及區(qū)塊創(chuàng)建時間的B+樹索引實現(xiàn)了基于區(qū)塊序號或交易時間到區(qū)塊存儲地址的快速查詢;所述基于交易屬性的層次索引實現(xiàn)了基于交易屬性到交易存儲地址的快速查詢;具體包括以下步驟:
步驟1:構建基于區(qū)塊序號及區(qū)塊創(chuàng)建時間的B+樹索引
步驟A1:采集新的區(qū)塊數(shù)據(jù),分別提取4個參數(shù):區(qū)塊序號/區(qū)塊高度、區(qū)塊創(chuàng)建時間、區(qū)塊所在的區(qū)塊鏈文件名和區(qū)塊位于區(qū)塊鏈文件中的地址偏移量;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華東師范大學,未經(jīng)華東師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811366991.X/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





