TWI705368B - 區塊鏈資料的壓縮處理方法和裝置、電腦設備以及電腦可讀儲存媒體 - Google Patents
區塊鏈資料的壓縮處理方法和裝置、電腦設備以及電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TWI705368B TWI705368B TW108101810A TW108101810A TWI705368B TW I705368 B TWI705368 B TW I705368B TW 108101810 A TW108101810 A TW 108101810A TW 108101810 A TW108101810 A TW 108101810A TW I705368 B TWI705368 B TW I705368B
- Authority
- TW
- Taiwan
- Prior art keywords
- data copy
- blockchain
- node device
- block data
- compressed data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Abstract
本說明書的一個或多個實施例提供了一種區塊鏈資料的壓縮處理方法,區塊鏈的N個節點設備對應的區塊資料副本被儲存於與區塊鏈對接的儲存系統,所述方法包括:從所述N個節點設備中選擇一個節點設備作為目標節點設備,並將所述目標節點設備對應的區塊資料副本加入一壓縮資料副本集合;執行甄選迭代步驟,直到所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,所述甄選步驟包括:從所述N個節點設備中所述目標節點設備以外的節點設備中,依次選擇一節點設備作為對比節點設備;確定所述目標節點設備與所述對比節點設備對應的區塊資料副本是否匹配,如果是,將所述對比節點對應的區塊資料副本加入所述壓縮資料副本集合。
Description
本說明書涉及網路通信技術領域,尤其涉及一種區塊鏈資料的壓縮處理方法和裝置。
區塊鏈技術,也被稱之為分散式帳本技術,是一種由若干台計算設備共同參與“記帳”,共同維護一份完整的分散式資料庫的新興技術。在現有的區塊鏈部署上雲端的服務中,區塊鏈的資料透過資料庫和檔案的形式儲存在雲端磁片中。部署在雲端上的區塊鏈系統的節點越多,儲存的資料副本越多,雲端上儲存資源消耗也就越多。
針對以上提出的問題,本說明書提供了一種區塊鏈資料的壓縮處理方法,所述區塊鏈的N個節點設備對應的區塊資料副本被儲存於與所述區塊鏈對接的儲存系統,所述方法包括:從所述N個節點設備中選擇一個節點設備作為目標節點設備,並將所述目標節點設備對應的區塊資料副本加入一壓縮資料副本集合;
執行甄選迭代步驟,直到所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,所述甄選步驟包括:從所述N個節點設備中所述目標節點設備以外的節點設備中,依次選擇一節點設備作為對比節點設備;確定所述目標節點設備與所述對比節點設備對應的區塊資料副本是否匹配,如果是,將所述對比節點對應的區塊資料副本加入所述壓縮資料副本集合。
更優的,上述方法還包括:如果執行所述甄選迭代步驟,所述壓縮資料副本集合內的區塊資料副本的數量仍未大於所述區塊鏈的系統容錯數,則從所述N個節點設備中重新選擇一節點設備作為目標節點設備,並重複執行所述甄選迭代步驟,直至所述壓縮資料副本集合內的區塊資料副本的數量大於所述區塊鏈的系統容錯數。
更優的,所述儲存系統支援的容錯演算法為拜占庭容錯演算法;上述方法中所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,包括:所述壓縮資料副本集合內匹配的區塊資料副本的數量既大於所述區塊鏈的系統容錯數,又大於所述壓縮資料副本集合在所述儲存系統中的拜占庭容錯值的三倍。
更優的,上述方法還包括:當所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,刪除所述儲存系統中儲存的除所述壓縮資料副本集合中的資料副本以外的資料副本;
以及,將刪除的區塊資料副本的資料存取路徑變更為所述壓縮資料副本集合中的區塊資料副本的資料存取路徑。
更優的,上述方法中所述儲存系統為與所述區塊鏈對接的雲端儲存系統。
相應地,本說明書還提供了一種區塊鏈資料的壓縮處理裝置,所述區塊鏈的N個節點設備對應的區塊資料副本被儲存於與所述區塊鏈對接的儲存系統,所述裝置包括:
目標資料選擇單元,從所述N個節點設備中選擇一個節點設備作為目標節點設備,並將所述目標節點設備對應的區塊資料副本加入一壓縮資料副本集合;
甄選迭代執行單元,執行甄選迭代步驟,直到所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,所述甄選步驟包括:從所述N個節點設備中所述目標節點設備以外的節點設備中,依次選擇一節點設備作為對比節點設備;確定所述目標節點設備與所述對比節點設備對應的區塊資料副本是否匹配,如果是,將所述對比節點對應的區塊資料副本加入所述壓縮資料副本集合。
更優的,上述裝置的甄選迭代執行單元,如果執行所述甄選迭代步驟,所述壓縮資料副本集合內的區塊資料副本的數量仍未大於所述區塊鏈的系統容錯數,則從所述N個節點設備中重新選擇一節點設備作為目標節點設備,並重複執行所述甄選迭代步驟,直至所述壓縮資料副本集合內的區塊資料副本的數量大於所述區塊鏈的系統容錯數。
更優的,所述儲存系統支援的容錯演算法為拜占庭容錯演算法;上述裝置中所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,包括:
所述壓縮資料副本集合內匹配的區塊資料副本的數量既大於所述區塊鏈的系統容錯數,又大於所述壓縮資料副本集合在所述儲存系統中的拜占庭容錯值的三倍。
更優的,上述裝置還包括:
資料刪除單元,當所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,刪除所述儲存系統中儲存的除所述壓縮資料副本集合中的資料副本以外的資料副本;
以及,存取路徑變更單元,將刪除的區塊資料副本的資料存取路徑變更為所述壓縮資料副本集合中的區塊資料副本的資料存取路徑。
更優的,上述裝置中所述儲存系統為與所述區塊鏈對接的雲端儲存系統。
相應地,本說明書還提供了一種電腦設備,包括:記憶體和處理器;所述記憶體上儲存有可由處理器運行的電腦程式;所述處理器運行所述電腦程式時,執行如上述區塊鏈資料的壓縮處理方法所述的步驟。
相應地,本說明書還提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,所述電腦程式被處理器運行時,執行如上述區塊鏈資料的壓縮處理方法所述的步驟。
應用本說明書所提供的區塊鏈資料的壓縮處理方法、裝置、電腦設備和電腦可讀儲存媒體,可將區塊鏈系統儲存於一儲存系統的區塊資料副本進行整理和壓縮,將上述區塊鏈系統儲存於上述儲存系統的區塊資料副本整理成滿足區塊鏈的系統容錯規則、且資料內容完全相同的區塊資料副本,剔除由無效資料、及過多有效資料的儲存造成的儲存資源浪費。
“區塊鏈”,具體可指一個各節點透過共識機制達成的、具有分散式資料儲存結構的P2P網路系統,該區塊鏈內的資料分佈在時間上相連的一個個“區塊(block)”之內,後一區塊包含前一區塊的資料摘要,且根據具體的共識機制(如POW、POS、DPOS或PBFT等)的不同,達成全部或部分節點的資料全副本。由於雲端儲存技術的發展,區塊鏈系統的節點可以將其應儲存的全部或部分的區塊資料副本儲存上雲端,甚至還可以將整個節點設備部署上雲端。當部署上雲端空間的區塊鏈系統的節點越多,或區塊鏈系統的節點將其應儲存的區塊資料副本在雲端空間儲存得越多,雲端上儲存資源的消耗也就越多。
另外,本領域的技術人員應知,區塊鏈各個節點儲存的區塊資料副本在區塊鏈共識機制的保證下基本完全一致,僅有少部分節點由於惡意、故障或其他原因導致其儲存的區塊資料與其他節點不完全一致,各個區塊鏈從自身應用場景的實際出發,均設置有各自的容錯機制,上述少部分節點儲存的區塊資料由於不契合區塊鏈的共識,可被視為無效資料。上述少部分節點儲存的區塊資料副本如果也被部署上雲端,則進一步增加了雲端空間的浪費。
為解決如上所述的問題,圖1示意了本說明書一示意性實施例提供的一種區塊鏈資料的壓縮處理方法,所述區塊鏈的N個節點設備對應的區塊資料副本被儲存於與所述區塊鏈對接的儲存系統,所述方法包括:
從所述N個節點設備中選擇一個節點設備作為目標節點設備,並將所述目標節點設備對應的區塊資料副本加入一壓縮資料副本集合;
執行甄選迭代步驟,直到所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,所述甄選步驟包括:從所述N個節點設備中所述目標節點設備以外的節點設備中,依次選擇一節點設備作為對比節點設備;確定所述目標節點設備與所述對比節點設備對應的區塊資料副本是否匹配,如果是,將所述對比節點對應的區塊資料副本加入所述壓縮資料副本集合。
上述實施例所述的儲存系統,是指可儲存區塊鏈的N個節點對應的區塊資料副本的空間,包括但不限於雲端空間、儲存伺服器、儲存伺服器集群等,可透過集群應用、網路技術或分散式檔案系統等功能,將網路中大量的儲存設備集合起來協同工作,從而對外提供資料儲存和業務存取功能的系統。
上述實施例所述的區塊資料是指區塊鏈上每個區塊內的全部資料,上述實施例所述的N個節點對應的區塊資料副本,可以是上述N個節點對應的全部區塊資料副本,也可以是上述N個節點對應的部分區塊資料副本,如N個節點對應的、區塊高度從1000至2000的區塊資料副本。
上述實施例所述的從所述N個節點設備中選擇一個節點設備作為目標節點設備,該“選擇”目標節點設備的方式不作限定,可以為隨機選擇,也可以為按照預設的規則進行選擇。上述壓縮資料副本集合可初始化為空,專用於收集與所述目標節點設備對應的區塊資料副本相同的區塊資料副本,是經過本說明書所提供的區塊鏈資料的壓縮處理後得到的區塊壓縮資料副本集合;可選的,上述壓縮資料副本集合也可是上述N個節點對應的全部區塊資料副本經壓縮處理後所得集合的子集。
上述實施例所述的甄選迭代步驟,用於為上述壓縮資料副本集合甄選出滿足系統設定閾值的區塊資料副本數量。區塊鏈各個節點儲存的區塊資料副本在區塊鏈共識機制的保證下基本完全一致,僅有少部分節點由於惡意、故障或其他原因導致其儲存的區塊資料與其他節點不完全一致,各個區塊鏈從自身應用場景的實際出發,均設置有各自的容錯機制。因此經過上述甄選迭代步驟,上述壓縮資料副本集合中的匹配的區塊資料副本(包括目標節點設備對應的區塊資料副本)的數量至少要大於上述區塊鏈的系統容錯數,即n>f,其中n為上述壓縮資料副本集合中匹配的區塊資料副本的數量,f為上述區塊鏈的系統容錯數,n與f都為自然數,因此n至少應為f+1。本領域的技術人員熟知,區塊鏈系統的容錯數通常由區塊鏈系統的共識機制確定,例如在PBFS共識協定下,區塊鏈系統的容錯數f應滿足:f<(P-1)/3,P為所述區塊鏈參與共識的節點個數。本說明書並不限定區塊鏈系統的共識協定類型,但上述壓縮資料副本集合中匹配的區塊資料副本的數量n至少應大於區塊鏈系統的容錯數f,從而保證上述壓縮資料副本集合中的區塊資料副本屬於上述區塊鏈共識的有效資料副本。
上述實施例所述的甄選迭代步驟中,所述依次選擇一節點設備作為對比節點設備中,所述“依次選擇”的方式可以有多種,例如,儲存系統可以為在其內儲存的各個節點設備編號,按照編號從小到大的順序或從大到小的順序或其他任何常用的順序方式進行依次選擇,在本說明書中不作限定。
上述實施例所述的確定所述目標節點設備與所述對比節點設備對應的區塊資料副本是否匹配,是指確定所述目標節點設備與所述對比節點設備對應的區塊資料副本是否完全相同,如果是,將所述對比節點對應的區塊資料副本加入所述壓縮資料副本集合;如上所述,當所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數時,上述壓縮資料副本集合內的區塊資料副本一定是經過區塊鏈系統共識確認後的正確的區塊資料,至此,儲存系統將原本儲存的、N個節點設備對應的區塊資料副本,捨去(可以刪除)不符合區塊鏈的系統共識結果的區塊資料副本,進而壓縮為上述壓縮資料副本集合,上述壓縮資料副本集合的數量至少大於上述區塊鏈的系統容錯數,但一定小於N,因此起到了節約上述儲存系統的儲存資源的作用。
在又一示出的實施例中,上述區塊鏈資料的壓縮處理方法還包括:
如果執行所述甄選迭代步驟,所述壓縮資料副本集合內的區塊資料副本的數量仍未大於所述區塊鏈的系統容錯數,則從所述N個節點設備中重新選擇一節點設備作為目標節點設備,並重複執行所述甄選迭代步驟,直至所述壓縮資料副本集合內的區塊資料副本的數量大於所述區塊鏈的系統容錯數。
在上述的實施例中,當一輪甄選迭代步驟執行完畢後,所述壓縮資料副本集合內匹配的區塊資料副本的數量不大於(即小於或等於)所述區塊鏈的系統容錯數時,上述目標節點設備對應的區塊資料副本可能包含有惡意或故障資料,與區塊鏈系統經共識機制確認後的共識資料不同,因此,儲存系統需將原壓縮資料副本集合清空,重新選取另一個節點設備作為目標節點設備,並將其對應的區塊資料副本加入上述壓縮資料副本集合,進行下一輪次的甄選迭代步驟,直至所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,所述壓縮資料副本集合甄選完畢。
當上述輪次的甄選迭代步驟執行完畢,若儲存系統仍未甄選出符合目標數量(數量至少大於區塊鏈系統的容錯數)的壓縮資料副本集合,則儲存系統應迭代執行清空上輪次所得的壓縮資料副本集合、重新選擇目標節點設備、重新執行針對新選擇的目標節電設備對應的區塊資料副本的甄選迭代步驟的全部步驟,具體過程如上,在此不再贅述。
值得注意的是,上述實施例所述的清空所述壓縮資料副本集合,可以表現為清空上次甄選迭代步驟所得的壓縮資料副本集合,也可表現為再重新建立一個新的壓縮資料副本集合空集(或空子集),在本說明書中不做限定。
在本說明書示出的又一實施例中,當所述儲存系統支援的容錯演算法為拜占庭容錯演算法時,上述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,包括:所述壓縮資料副本集合內匹配的區塊資料副本的數量既大於所述區塊鏈的系統容錯數,又大於所述壓縮資料副本集合在所述儲存系統中的拜占庭容錯值的三倍。
本領域的技術人員應知,為保證上述壓縮資料副本集合內收集的區塊資料副本為經過區塊鏈系統的共識認定的資料,而非惡意節點或故障節點保存的錯誤資料,該壓縮資料副本集合內匹配的區塊資料副本的數量需大於所述區塊鏈系統的容錯數;進一步地,由於儲存系統可設置多台服務設備以儲存上述區塊鏈中多個節點設備對應的區塊資料副本,該儲存系統會基於自身的服務設備的運行情況進行拜占庭容錯的設置,例如,在該儲存系統中,設置有M個儲存伺服器以儲存上述區塊鏈中壓縮資料副本集合內匹配的區塊資料副本,為容納上述M個儲存伺服器可能發生的故障或其他錯誤,該儲存系統通常應設置一容錯數s,且需滿足M>3s,該容錯數s被稱為該儲存系統的拜占庭容錯數。關於該拜占庭容錯數s與儲存系統的儲存伺服器的數量M(可視為發起系統回應的節點數量M)的關係,是由以下過程導出:
系統在向M個儲存伺服器或節點發起指令時,由於存在s個錯誤節點,那麼系統接收到的M-s個應答收到的正常節點的回答應大於有問題的節點,所以儲存系統需滿足,M-s-s>s’由於M與s均為自然數,M至少應為3s+1。因此上述壓縮資料副本集合內的區塊資料副本需大於上述儲存系統的拜占庭容錯數的3倍。
在本說明書示出的又一實施例中,當所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,刪除所述儲存系統中儲存的除了所述壓縮資料副本集合中的資料副本以外的資料副本;以及,將刪除的資料副本的資料存取路徑變更為所述壓縮資料副本集合中的資料副本的資料存取路徑。
在上述實施例中,當所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數時,即上述壓縮資料副本集合甄選完畢,儲存系統可刪除所述儲存系統中儲存的除所述壓縮資料副本集合中的資料副本以外的資料副本,以節約儲存系統的儲存資源;同時,由於上述區塊鏈中一些節點設備對應的區塊資料副本已經被刪除,上述節點設備應業務需求在上述儲存系統中存取其對應的區塊資料副本時,儲存系統應將已刪除的區塊資料副本的資料存取路徑變更為指向上述壓縮資料副本集合中的區塊資料副本的資料存取路徑,例如,儲存系統可將上述節點設備與被刪除的區塊資料副本的映射,更新為上述節點設備與壓縮資料副本集合中的區塊資料副本的映射,以説明上述節點設備存取其對應的區塊資料副本。
在本說明書示出的又一實施例中,上述儲存系統可以為與所述區塊鏈對接的雲端儲存系統。
與上述流程實現對應,本說明書的實施例還提供了一種區塊鏈資料的壓縮處理裝置。該裝置可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為邏輯意義上的裝置,是透過所在設備的CPU(Central Process Unit,中央處理器)將對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,除了圖3所示的CPU、記憶體以及記憶體之外,該資料處理裝置所在的設備通常還包括用於進行無線信號收發的晶片等其他硬體,和/或用於實現網路通信功能的板卡等其他硬體。
圖2所示為本說明書所提供的一種區塊鏈資料的壓縮處理裝置20,所述區塊鏈的N個節點設備對應的區塊資料副本被儲存於與所述區塊鏈對接的儲存系統,所述裝置20包括:
目標資料選擇單元202,從所述N個節點設備中選擇一個節點設備作為目標節點設備,並將所述目標節點設備對應的區塊資料副本加入一壓縮資料副本集合;
甄選迭代執行單元204,執行甄選迭代步驟,直到所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,所述甄選步驟包括:從所述N個節點設備中所述目標節點設備以外的節點設備中,依次選擇一節點設備作為對比節點設備;確定所述目標節點設備與所述對比節點設備對應的區塊資料副本是否匹配,如果是,將所述對比節點對應的區塊資料副本加入所述壓縮資料副本集合。
更優的,上述裝置20的甄選迭代執行單元204,如果執行所述甄選迭代步驟,所述壓縮資料副本集合內的區塊資料副本的數量仍未大於所述區塊鏈的系統容錯數,則從所述N個節點設備中重新選擇一節點設備作為目標節點設備,並重複執行所述甄選迭代步驟,直至所述壓縮資料副本集合內的區塊資料副本的數量大於所述區塊鏈的系統容錯數。
更優的,所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,包括:
所述壓縮資料副本集合內匹配的區塊資料副本的數量既大於所述區塊鏈的系統容錯數,又大於所述壓縮資料副本集合在所述儲存系統中的拜占庭容錯值的三倍。
更優的,上述裝置20還包括:
資料刪除單元208,當所述壓縮資料副本集合內匹配的區塊資料副本的數量大於所述區塊鏈的系統容錯數,刪除所述儲存系統中儲存的除所述壓縮資料副本集合中的資料副本以外的資料副本;
以及,存取路徑變更單元210,將刪除的區塊資料副本的資料存取路徑變更為所述壓縮資料副本集合中的區塊資料副本的資料存取路徑。
更優的,所述儲存系統為與所述區塊鏈對接的雲端儲存系統。
上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,相關之處參見方法實施例的部分說明即可,在此不再贅述。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部單元或模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的裝置、單元、模組,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書的實施例還提供了一種電腦設備,該電腦設備包括記憶體和處理器。其中,記憶體上儲存有能夠由處理器運行的電腦程式;處理器在運行儲存的電腦程式時,執行本說明書實施例中區塊鏈資料的壓縮處理方法的各個步驟。對儲存系統對區塊鏈資料的壓縮處理方法的各個步驟的詳細描述請參見之前的內容,不再重複。
與上述方法實施例相對應,本說明書的實施例還提供了一種電腦可讀儲存媒體,該儲存媒體上儲存有電腦程式,這些電腦程式在被處理器運行時,執行本說明書實施例中區塊鏈資料的壓縮處理方法的各個步驟。對儲存系統對區塊鏈資料的壓縮處理方法的各個步驟的詳細描述請參見之前的內容,不再重複。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。
電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書的實施例可提供為方法、系統或電腦程式產品。因此,本說明書的實施例可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書的實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
20‧‧‧裝置
202‧‧‧目標資料選擇單元
204‧‧‧甄選迭代執行單元
圖1為本說明書一示例性實施例提供的區塊鏈資料的壓縮處理方法流程圖;
圖2為本說明書一示例性實施例提供的一種區塊鏈資料的壓縮處理裝置的示意圖;
圖3為運行本說明書所提供的區塊鏈資料的壓縮處理方法或裝置實施例的一種硬體結構圖。
Claims (12)
- 一種區塊鏈資料的壓縮處理方法,該區塊鏈的N個節點設備對應的區塊資料副本被儲存於與該區塊鏈對接的儲存系統,該方法包括:從該N個節點設備中選擇一個節點設備作為目標節點設備,並將該目標節點設備對應的區塊資料副本加入壓縮資料副本集合;執行甄選迭代步驟,直到該壓縮資料副本集合內的區塊資料副本的數量大於該區塊鏈的系統容錯數;其中,該甄選迭代步驟包括:從該N個節點設備中該目標節點設備以外的節點設備中,依次選擇一節點設備作為對比節點設備;確定該目標節點設備與該對比節點設備對應的區塊資料副本是否匹配,如果是,將該對比節點對應的區塊資料副本加入該壓縮資料副本集合。
- 根據申請專利範圍第1項所述的方法,該方法還包括:如果執行該甄選迭代步驟,該壓縮資料副本集合內的區塊資料副本的數量仍未大於該區塊鏈的系統容錯數,則從該N個節點設備中重新選擇一節點設備作為目標節點設備,並重複執行該甄選迭代步驟,直至該壓縮資料副本集合內的區塊資料副本的數量大於該區塊鏈的系統容錯數。
- 根據申請專利範圍第1或2項所述的方法,該儲存系統支援的容錯演算法為拜占庭容錯演算法;該壓縮資料副本集合內匹配的區塊資料副本的數量大於該區塊鏈的系統容錯數,包括:該壓縮資料副本集合內匹配的區塊資料副本的數量既大於該區塊鏈的系統容錯數,又大於該壓縮資料副本集合在該儲存系統中的拜占庭容錯值的三倍。
- 根據申請專利範圍第3項所述的方法,還包括:當該壓縮資料副本集合內匹配的區塊資料副本的數量大於該區塊鏈的系統容錯數,刪除該儲存系統中儲存的除該壓縮資料副本集合中的資料副本以外的資料副本;以及,將刪除的區塊資料副本的資料存取路徑變更為該壓縮資料副本集合中的區塊資料副本的資料存取路徑。
- 根據申請專利範圍第1項所述的方法,該儲存系統為與該區塊鏈對接的雲端儲存系統。
- 一種區塊鏈資料的壓縮處理裝置,該區塊鏈的N個節點設備對應的區塊資料副本被儲存於與該區塊鏈對接的儲存系統,該裝置包括:目標資料選擇單元,從該N個節點設備中選擇一個節點設備作為目標節點設備,並將該目標節點設備對應的區塊資料副本加入壓縮資料副本集合; 甄選迭代執行單元,執行甄選迭代步驟,直到該壓縮資料副本集合內的區塊資料副本的數量大於該區塊鏈的系統容錯數;其中,該甄選迭代步驟包括:從該N個節點設備中該目標節點設備以外的節點設備中,依次選擇一節點設備作為對比節點設備;確定該目標節點設備與該對比節點設備對應的區塊資料副本是否匹配,如果是,將該對比節點對應的區塊資料副本加入該壓縮資料副本集合。
- 根據申請專利範圍第6項所述的裝置,該甄選迭代執行單元:如果執行該甄選迭代步驟,該壓縮資料副本集合內的區塊資料副本的數量仍未大於該區塊鏈的系統容錯數,則從該N個節點設備中重新選擇一節點設備作為目標節點設備,並重複執行該甄選迭代步驟,直至該壓縮資料副本集合內的區塊資料副本的數量大於該區塊鏈的系統容錯數。
- 根據申請專利範圍第6或7項所述的裝置,該儲存系統支援的容錯演算法為拜占庭容錯演算法;該壓縮資料副本集合內匹配的區塊資料副本的數量大於該區塊鏈的系統容錯數,包括:該壓縮資料副本集合內匹配的區塊資料副本的數量既大於該區塊鏈的系統容錯數,又大於該壓縮資料副本集合在該儲存系統中的拜占庭容錯值的三倍。
- 根據申請專利範圍第8項所述的裝置,還包括:資料刪除單元,當該壓縮資料副本集合內匹配的區塊資料副本的數量大於該區塊鏈的系統容錯數,刪除該儲存系統中儲存的除該壓縮資料副本集合中的資料副本以外的資料副本;以及,存取路徑變更單元,將刪除的區塊資料副本的資料存取路徑變更為該壓縮資料副本集合中的區塊資料副本的資料存取路徑。
- 根據申請專利範圍第6項所述的裝置,該儲存系統為與該區塊鏈對接的雲端儲存系統。
- 一種電腦設備,包括:記憶體和處理器;該記憶體上儲存有可由處理器運行的電腦程式;該處理器運行該電腦程式時,執行如申請專利範圍第1到5項中任意一項所述的步驟。
- 一種電腦可讀儲存媒體,其上儲存有電腦程式,該電腦程式被處理器運行時,執行如申請專利範圍第1到5項中任意一項所述的步驟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810847153.8A CN109189327B (zh) | 2018-07-27 | 2018-07-27 | 区块链数据的压缩处理方法和装置 |
CN201810847153.8 | 2018-07-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202008147A TW202008147A (zh) | 2020-02-16 |
TWI705368B true TWI705368B (zh) | 2020-09-21 |
Family
ID=64937710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108101810A TWI705368B (zh) | 2018-07-27 | 2019-01-17 | 區塊鏈資料的壓縮處理方法和裝置、電腦設備以及電腦可讀儲存媒體 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109189327B (zh) |
TW (1) | TWI705368B (zh) |
WO (1) | WO2020019779A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189327B (zh) * | 2018-07-27 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 区块链数据的压缩处理方法和装置 |
CN114024850B (zh) * | 2020-11-30 | 2024-02-02 | 北京八分量信息科技有限公司 | 一种通过优化节点通讯来加速边缘节点运行的方法 |
CN112905704A (zh) * | 2021-03-18 | 2021-06-04 | 南威软件股份有限公司 | 一种提升区块链节点写入性能的方法及系统 |
CN113556327B (zh) * | 2021-06-29 | 2022-09-20 | 中国人民解放军战略支援部队信息工程大学 | 基于区块链的虚假流规则注入攻击检测与预防系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201639340A (zh) * | 2015-03-20 | 2016-11-01 | 微晶片科技公司 | 在網狀網路中用於使用者易記的位址之壓縮方法與系統 |
CN107181797A (zh) * | 2017-05-11 | 2017-09-19 | 中国农业银行股份有限公司 | 一种区块链的区块压缩方法和系统 |
CN107423426A (zh) * | 2017-08-02 | 2017-12-01 | 众安信息技术服务有限公司 | 一种区块链块数据的数据归档方法及电子设备 |
TW201810150A (zh) * | 2016-07-29 | 2018-03-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 塊鏈實施之方法及系統 |
US20180189333A1 (en) * | 2017-01-03 | 2018-07-05 | International Business Machines Corporation | Limiting blockchain size to optimize performance |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5431148B2 (ja) * | 2006-05-31 | 2014-03-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ストレージ用論理データオブジェクトの変換方法およびシステム |
CN105741095A (zh) * | 2016-01-29 | 2016-07-06 | 彭军红 | 一种区块链动态压缩存取方法 |
CN106534273B (zh) * | 2016-10-31 | 2022-04-15 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
CN106886555A (zh) * | 2016-12-27 | 2017-06-23 | 苏州春禄电子科技有限公司 | 一种基于区块链技术的防数据丢失和损坏的数据存储系统 |
CN106919476A (zh) * | 2017-02-24 | 2017-07-04 | 中国科学院软件研究所 | 基于联盟链的数据安全备份方法、客户端及云服务端 |
CN107332876B (zh) * | 2017-05-31 | 2020-05-08 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
CN108234134B (zh) * | 2017-12-28 | 2020-09-29 | 江苏通付盾科技有限公司 | 区块同步方法及系统 |
CN109189327B (zh) * | 2018-07-27 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 区块链数据的压缩处理方法和装置 |
-
2018
- 2018-07-27 CN CN201810847153.8A patent/CN109189327B/zh active Active
-
2019
- 2019-01-17 TW TW108101810A patent/TWI705368B/zh active
- 2019-04-24 WO PCT/CN2019/084079 patent/WO2020019779A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201639340A (zh) * | 2015-03-20 | 2016-11-01 | 微晶片科技公司 | 在網狀網路中用於使用者易記的位址之壓縮方法與系統 |
TW201810150A (zh) * | 2016-07-29 | 2018-03-16 | 安地卡及巴布達商區塊鏈控股有限公司 | 塊鏈實施之方法及系統 |
US20180189333A1 (en) * | 2017-01-03 | 2018-07-05 | International Business Machines Corporation | Limiting blockchain size to optimize performance |
CN107181797A (zh) * | 2017-05-11 | 2017-09-19 | 中国农业银行股份有限公司 | 一种区块链的区块压缩方法和系统 |
CN107423426A (zh) * | 2017-08-02 | 2017-12-01 | 众安信息技术服务有限公司 | 一种区块链块数据的数据归档方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109189327A (zh) | 2019-01-11 |
CN109189327B (zh) | 2020-05-05 |
WO2020019779A1 (zh) | 2020-01-30 |
TW202008147A (zh) | 2020-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI705368B (zh) | 區塊鏈資料的壓縮處理方法和裝置、電腦設備以及電腦可讀儲存媒體 | |
US11055014B2 (en) | Storage system providing automatic configuration updates for remote storage objects in a replication process | |
US10592161B1 (en) | Storage system with flexible scanning supporting storage volume addition and/or recovery in asynchronous replication | |
US10997211B2 (en) | Systems and methods for database zone sharding and API integration | |
US10977277B2 (en) | Systems and methods for database zone sharding and API integration | |
US11182404B2 (en) | Data replication technique in database management system | |
US10719250B2 (en) | System and method for combining erasure-coded protection sets | |
US10534547B2 (en) | Consistent transition from asynchronous to synchronous replication in hash-based storage systems | |
US9547706B2 (en) | Using colocation hints to facilitate accessing a distributed data storage system | |
US20150213100A1 (en) | Data synchronization method and system | |
US11245774B2 (en) | Cache storage for streaming data | |
US10310904B2 (en) | Distributed technique for allocating long-lived jobs among worker processes | |
US20140137187A1 (en) | Scalable and Highly Available Clustering for Large Scale Real-Time Applications | |
EP4310689A1 (en) | Data archiving method and apparatus, device, storage medium, and computer program product | |
CN109478125B (zh) | 操纵分布式一致性协议以识别期望的存储单元集 | |
US9684668B1 (en) | Systems and methods for performing lookups on distributed deduplicated data systems | |
US10481833B2 (en) | Transferring data encoding functions in a distributed storage network | |
CN104951475A (zh) | 分布式文件系统和实现方法 | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
US11099767B2 (en) | Storage system with throughput-based timing of synchronous replication recovery | |
US20220394091A1 (en) | Storing a Data Object as Data Regions in a Storage Network | |
US20180113747A1 (en) | Overdrive mode for distributed storage networks | |
CN112965859A (zh) | 一种基于ipfs集群的数据灾备方法与设备 | |
Tran | Data storage for social networks: a socially aware approach | |
Poonthottam et al. | A dynamic data placement scheme for hadoop using real-time access patterns |