[發明專利]索引建立方法、裝置及存儲介質有效
| 申請號: | 202011619917.1 | 申請日: | 2020-12-30 |
| 公開(公告)號: | CN112667636B | 公開(公告)日: | 2023-03-24 |
| 發明(設計)人: | 張帥;匡立中;李偉;蔡亮;曾磊 | 申請(專利權)人: | 杭州趣鏈科技有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/27 |
| 代理公司: | 深圳紫藤知識產權代理有限公司 44570 | 代理人: | 官建紅 |
| 地址: | 310051 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 索引 建立 方法 裝置 存儲 介質 | ||
本申請提供一種索引建立方法、裝置及存儲介質,該方法包括:獲取交易數據對應的哈希值;識別哈希值中前預設數量位的第一前綴信息,預設數量少于哈希值的總位數;根據第一前綴信息在預先創建的字典樹中查找字典樹中是否存在第一匹配路徑,字典樹中包括根節點和葉子節點,第一匹配路徑為從根節點出發且經過的葉子節點所組成的前綴信息與第一前綴信息相匹配的路徑;若存在第一匹配路徑,則識別哈希值中位于第一前綴信息之后第一預設位的第二前綴信息,得到與第二前綴信息對應的索引信息;根據索引信息,建立交易數據的索引。本申請利用全量哈希的部分數據來構建索引,減少內存消耗。
技術領域
本申請涉及數據處理技術領域,具體涉及一種索引建立方法、裝置及存儲介質。
背景技術
當前區塊鏈底層對于TxHash的索引的建立都是通過Key-Value數據庫來建立,所用的索引都是用的全文索引,及把TxHash的全文作為索引,然后用類似B+樹或者二分查找的方法在內存或者磁盤進行搜索。
然而,采用上述方式,其內存消耗大,索引效率低,因此,如何建立低內存消耗的索引,是現有數據處理領域亟需解決的問題。
發明內容
本申請提供一種索引建立方法、裝置及存儲介質,以解決如何建立低內存消耗的索引,是現有數據處理領域亟需解決的問題。
一方面,本申請提供一種索引建立方法,所述方法包括:
獲取交易數據對應的哈希值;
識別所述哈希值中前預設數量位的第一前綴信息,所述預設數量少于所述哈希值的總位數;
根據所述第一前綴信息在預先創建的字典樹中查找所述字典樹中是否存在第一匹配路徑,所述字典樹中包括根節點和葉子節點,所述第一匹配路徑為從根節點出發且經過的葉子節點所組成的前綴信息與所述第一前綴信息相匹配的路徑;
若存在所述第一匹配路徑,則識別所述哈希值中位于所述第一前綴信息之后第一預設位的第二前綴信息,得到與所述第二前綴信息對應的索引信息;
根據所述索引信息,建立所述交易數據的索引。
在本申請一種可能的實現方式中,所述索引信息為二元組信息,所述索引信息包括與所述第二前綴信息中第二預設位對應的實際字符串和后續連續查找長度初始值;
根據所述索引信息,建立所述交易數據的索引,包括:
判斷所述第一匹配路徑中最后一個葉子節點對應的目標葉子節點中是否存在與所述二元組信息對應的預先設置的三元組結構,所述三元組結構包括所述二元組信息和用于存儲所述哈希值的物理地址;
若不存在所述三元組結構,則將所述二元組信息插入所述目標葉子節點中對應的目標三元組結構,以建立所述交易數據的索引。
在本申請一種可能的實現方式中,在將所述二元組信息插入所述目標葉子節點中對應的目標三元組結構之后,所述方法還包括:
獲取所述哈希值對應的哈希映射內存消耗值和進制化數組內存消耗值;
比較所述哈希映射內存消耗值與所述進制化數組內存消耗值的大小;
若所述哈希映射內存消耗值比所述進制化數組內存消耗值小,則采用哈希映射存儲結構存儲所述二元組信息;
若所述進制化數組內存消耗值比所述哈希映射內存消耗值小,則采用進制化數組存儲結構存儲所述二元組信息。
在本申請一種可能的實現方式中,所述采用進制化數組存儲結構存儲所述二元組信息,包括:
將所述進制化數組初始化,得到與所述進制化數組對應的初始進制槽;
將所述二元組信息轉化為十進制數據;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州趣鏈科技有限公司,未經杭州趣鏈科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011619917.1/2.html,轉載請聲明來源鉆瓜專利網。





