[發明專利]一種基于分層樹狀結構的區塊鏈信息高效存儲方法及裝置有效
| 申請號: | 201810949802.5 | 申請日: | 2018-08-20 |
| 公開(公告)號: | CN109410043B | 公開(公告)日: | 2022-02-18 |
| 發明(設計)人: | 鄭子彬;馬明杰;陳偉利 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06F16/00 | 分類號: | G06F16/00;G06Q40/04 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 林麗明 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 分層 樹狀 結構 區塊 信息 高效 存儲 方法 裝置 | ||
1.一種基于分層樹狀結構的區塊鏈信息高效存儲方法,其特征在于,包括如下步驟:
S10區塊鏈賬戶的預設分類:根據區塊鏈場景的需要,將帳戶信息預設分類成i組參數集合,i為自然數,其中帳戶信息包括帳戶的總數N,分層樹狀結構中桶的數目B,每個桶中帳戶的數量x,分層樹狀結構中單個節點有一個或多少個子節點K,每種帳戶數量的所占比A,每種帳戶的交易頻率R;
S20對多組帳戶信息的參數集合進行模擬演算,并根據模擬結果,選出最優參數集合;
S30分層樹狀結構的構建:確定賬戶信息桶狀存儲的決定函數,輸入最優參數集合及決定函數,每個桶的高度及每個高度上對應桶的數目,按一定的規則建立分層樹狀桶結構,根據分層樹狀桶結構對每個桶進行編號;
S40將帳戶信息經過函數計算出該帳戶設置的對應的桶的編號,根據編號將帳戶信息存儲在分層樹狀桶結構的相對應的桶中;
S50信息一致性的檢驗:當交易發生時,帳戶信息發生改變,先將桶中帳戶信息拼接,進行一次哈希操作,再以此根據分層樹狀桶結構向上進行哈希操作,若桶中帳戶信息未發生改變,則無需進行哈希操作;若桶中的帳戶信息發生改變,則重新進行哈希操作,以獲取新的根節點的哈希值;校驗新的根節點的哈希值是否與其他可信節點的哈希值相一致,若一致,則視為帳戶信息未遭到篡改,若不一致,則視為賬戶信息遭到篡改,則該節點不可信,需要從其他可信節點獲取帳戶信息以更新。
2.如權利要求1所述的基于分層樹狀結構的區塊鏈信息高效存儲方法,其特征在于,所述決定函數包括:
(1)根據公式計算出每類賬戶數目;
(2)計算權重向量其中ωik=Pik=Pi/Bi,Pi是第i類賬戶的使用概率,Pik代表第i類賬戶中第k個桶的使用概率;
(3)在權重向量中增加個零,變為ω'=(0,...,0,ω),其中B表示分層樹狀結構中桶的數目,每一個權重向量中的元素代表一個桶,每個桶所在的高度初始化為1,當k個權重被合并時,表明這k個桶已經確定好,合并所得元素,代表一個樹的內部節點;每次合并時,已經確定好的桶所在高度增加1;
(4)當權重數量大于1時,選出k個ω’中最小的權重,求和得出一個新的權重;
(5)舍棄這k個最小權重,將生成的新的權重插入ω’中;
(6)循環計算步驟(1)—(5),根據循環計算,獲取每個桶的高度及每個高度上對應桶的數目。
3.如權利要求1所述的基于分層樹狀結構的區塊鏈信息高效存儲方法,其特征在于,所述30中一定的規則為:按照裝有相同的使用頻率的帳戶信息的桶存儲在樹狀結構的同一高度,且若桶內帳戶信息的帳戶交易頻率越大,所在的桶所處層數越高的規則。
4.如權利要求1所述的基于分層樹狀結構的區塊鏈信息高效存儲方法,其特征在于,所述S40中每個所述桶存儲多個帳戶信息。
5.如權利要求1所述的基于分層樹狀結構的區塊鏈信息高效存儲方法,其特征在于,所述S10之前還包括:
S01對帳戶信息進行RLP編碼,輸入經過RLP編碼后的賬戶信息。
6.如權利要求5所述的基于分層樹狀結構的區塊鏈信息高效存儲方法,其特征在于,所述函數計算選擇取模函數或隨機函數。
7.如權利要求6所述的基于分層樹狀結構的區塊鏈信息高效存儲方法,其特征在于,若所述函數計算選擇取模函數,假定樹形結構中共有B個桶,編號從0到B-1,將賬戶視為一個整數A,令r為A對B取模之后的余數,由于r必然是0到B-1中的一個數,因此r就是賬戶A對應的桶的編號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810949802.5/1.html,轉載請聲明來源鉆瓜專利網。





