[發(fā)明專利]一種塊鏈?zhǔn)劫~本中的查詢方法、裝置及設(shè)備有效
| 申請?zhí)枺?/td> | 201910912929.4 | 申請日: | 2019-09-25 |
| 公開(公告)號: | CN110716965B | 公開(公告)日: | 2022-02-25 |
| 發(fā)明(設(shè)計)人: | 楊新穎 | 申請(專利權(quán))人: | 螞蟻區(qū)塊鏈科技(上海)有限公司 |
| 主分類號: | G06F16/2458 | 分類號: | G06F16/2458;G06F16/22 |
| 代理公司: | 北京博思佳知識產(chǎn)權(quán)代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 200025 上海市黃浦區(qū)黃陂南路8*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 鏈?zhǔn)?/a> 賬本 中的 查詢 方法 裝置 設(shè)備 | ||
1.一種塊鏈?zhǔn)劫~本中的查詢方法,應(yīng)用于通過塊鏈?zhǔn)劫~本存儲數(shù)據(jù)的中心化的數(shù)據(jù)庫服務(wù)提供端中,包括:
接收客戶端所發(fā)送的包含待查詢字段的查詢指令;
獲取預(yù)先建立的索引表;所述索引表包含:至少一組業(yè)務(wù)屬性與包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的位置信息之間的對應(yīng)關(guān)系,或者,至少一組業(yè)務(wù)屬性與包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的哈希值之間的對應(yīng)關(guān)系;所述索引表中每個業(yè)務(wù)屬性包含由至少兩個子字符串拼接成的字符串,不同子字符串用于表征不同粒度特征;
針對所述索引表中每個業(yè)務(wù)屬性,從該業(yè)務(wù)屬性的頭部開始確定出與所述待查詢字段的長度相同的字符;若確定出的長度相同的字符與所述待查詢字段相同或者相似,則將該業(yè)務(wù)屬性確定為與所述待查詢字段相匹配的業(yè)務(wù)屬性;
從所述索引表中,獲取每個相匹配的業(yè)務(wù)屬性所對應(yīng)的位置信息或者哈希值;
根據(jù)獲取的位置信息或者哈希值,從所述塊鏈?zhǔn)劫~本中查詢相應(yīng)的數(shù)據(jù)記錄。
2.如權(quán)利要求1所述的方法,所述索引表通過如下方式預(yù)先建立:
獲取賬本中的每個數(shù)據(jù)記錄中的業(yè)務(wù)屬性;
確定每個數(shù)據(jù)記錄在賬本中的位置信息,或者,確定每個數(shù)據(jù)記錄的哈希值;
建立每個業(yè)務(wù)屬性和包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的位置信息之間的對應(yīng)關(guān)系;或者,建立每個業(yè)務(wù)屬性和包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的哈希值之間的對應(yīng)關(guān)系;
將建立的對應(yīng)關(guān)系寫入以業(yè)務(wù)屬性為主鍵的索引。
3.如權(quán)利要求2所述的方法,所述賬本中的數(shù)據(jù)塊通過如下方式生成:
接收待存儲的數(shù)據(jù)記錄,確定各數(shù)據(jù)記錄的哈希值,其中,數(shù)據(jù)記錄中包含業(yè)務(wù)屬性;
當(dāng)達(dá)到預(yù)設(shè)的成塊條件時,確定待寫入數(shù)據(jù)塊中的各數(shù)據(jù)記錄,生成包含數(shù)據(jù)塊的哈希值和數(shù)據(jù)記錄的第N個數(shù)據(jù)塊,具體包括:
當(dāng)N=1時,初始數(shù)據(jù)塊的哈希值和塊高基于預(yù)設(shè)方式給定;
當(dāng)N1時,根據(jù)待寫入數(shù)據(jù)塊中的各數(shù)據(jù)記錄和第N-1個數(shù)據(jù)塊的哈希值確定第N個數(shù)據(jù)塊的哈希值,生成包含第N個數(shù)據(jù)塊的哈希值和各數(shù)據(jù)記錄的第N個數(shù)據(jù)塊,其中,數(shù)據(jù)塊的塊高基于成塊時間的先后順序單調(diào)遞增。
4.如權(quán)利要求3所述的方法,所述預(yù)設(shè)的成塊條件包括:
待存儲的數(shù)據(jù)記錄數(shù)量達(dá)到數(shù)量閾值;或者,
距離上一次成塊時刻的時間間隔達(dá)到時間閾值。
5.如權(quán)利要求2所述的方法,將建立的對應(yīng)關(guān)系寫入以業(yè)務(wù)屬性為主鍵的索引,包括:
根據(jù)每個業(yè)務(wù)屬性中所包含的字符的順序,對索引中的主鍵依序排列;
將每個業(yè)務(wù)屬性對應(yīng)的對應(yīng)關(guān)系寫入主鍵依序排列后的以業(yè)務(wù)屬性為主鍵的索引。
6.一種塊鏈?zhǔn)劫~本中的查詢裝置,應(yīng)用于通過塊鏈?zhǔn)劫~本存儲數(shù)據(jù)的中心化的數(shù)據(jù)庫服務(wù)提供端中,包括:
接收模塊,接收客戶端所發(fā)送的包含待查詢字段的查詢指令;
確定模塊,獲取預(yù)先建立的索引表;所述索引表包含:至少一組業(yè)務(wù)屬性與包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的位置信息之間的對應(yīng)關(guān)系,或者,至少一組業(yè)務(wù)屬性與包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的哈希值之間的對應(yīng)關(guān)系;所述索引表中每個業(yè)務(wù)屬性包含由至少兩個子字符串拼接成的字符串,不同子字符串用于表征不同粒度特征;
針對所述索引表中每個業(yè)務(wù)屬性,從該業(yè)務(wù)屬性的頭部開始確定出與所述待查詢字段的長度相同的字符;若確定出的長度相同的字符與所述待查詢字段相同或者相似,則將該業(yè)務(wù)屬性確定為與所述待查詢字段相匹配的業(yè)務(wù)屬性;
獲取模塊,從所述索引表中,獲取每個相匹配的業(yè)務(wù)屬性所對應(yīng)的位置信息或者哈希值;
查詢模塊,根據(jù)獲取的位置信息或者哈希值,從所述塊鏈?zhǔn)劫~本中查詢相應(yīng)的數(shù)據(jù)記錄。
7.如權(quán)利要求6所述的裝置,還包括索引創(chuàng)建模塊,用于預(yù)先建立索引;
所述索引創(chuàng)建模塊,獲取賬本中的每個數(shù)據(jù)記錄中的業(yè)務(wù)屬性;確定每個數(shù)據(jù)記錄在賬本中的位置信息,或者,確定每個數(shù)據(jù)記錄的哈希值;建立每個業(yè)務(wù)屬性和包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的位置信息之間的對應(yīng)關(guān)系;或者,建立每個業(yè)務(wù)屬性和包含該業(yè)務(wù)屬性的數(shù)據(jù)記錄的哈希值之間的對應(yīng)關(guān)系;將建立的對應(yīng)關(guān)系寫入以業(yè)務(wù)屬性為主鍵的索引。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于螞蟻區(qū)塊鏈科技(上海)有限公司,未經(jīng)螞蟻區(qū)塊鏈科技(上海)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910912929.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 左右記賬處理方法以及基于該方法的記賬處理裝置
- 控制交易賬本的系統(tǒng)和方法
- 一種分布式賬本中基于主子賬本的系統(tǒng)
- 一種基本財會賬本的可隱藏式保險裝置
- 一種基于分層結(jié)構(gòu)的分布式賬本系統(tǒng)
- 一種基于隨機見證的圖式賬本創(chuàng)建方法和裝置
- 分布式賬本處理方法和裝置、存儲介質(zhì)和電子設(shè)備
- 一種基于多賬本架構(gòu)的區(qū)塊鏈隱私保護(hù)方法及系統(tǒng)
- 區(qū)塊鏈的塊數(shù)據(jù)結(jié)構(gòu)、賬本數(shù)據(jù)結(jié)構(gòu)、管理方法及裝置
- 一種區(qū)塊鏈數(shù)字賬本的生成裝置及其使用方法





