CN109189327B - 区块链数据的压缩处理方法和装置 - Google Patents

区块链数据的压缩处理方法和装置 Download PDF

Info

Publication number
CN109189327B
CN109189327B CN201810847153.8A CN201810847153A CN109189327B CN 109189327 B CN109189327 B CN 109189327B CN 201810847153 A CN201810847153 A CN 201810847153A CN 109189327 B CN109189327 B CN 109189327B
Authority
CN
China
Prior art keywords
data
node device
copies
block
copy set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810847153.8A
Other languages
English (en)
Other versions
CN109189327A (zh
Inventor
王士峰
杨新颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810847153.8A priority Critical patent/CN109189327B/zh
Publication of CN109189327A publication Critical patent/CN109189327A/zh
Priority to TW108101810A priority patent/TWI705368B/zh
Priority to PCT/CN2019/084079 priority patent/WO2020019779A1/zh
Application granted granted Critical
Publication of CN109189327B publication Critical patent/CN109189327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本说明书的一个或多个实施例提供了一种区块链数据的压缩处理方法,区块链的N个节点设备对应的区块数据副本被存储于与区块链对接的存储系统,所述方法包括:从所述N个节点设备中选择一个节点设备作为目标节点设备,并将所述目标节点设备对应的区块数据副本加入一压缩数据副本集合;执行甄选迭代步骤,直到所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,所述甄选步骤包括:从所述N个节点设备中所述目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;确定所述目标节点设备与所述对比节点设备对应的区块数据副本是否匹配,如果是,将所述对比节点对应的区块数据副本加入所述压缩数据副本集合。

Description

区块链数据的压缩处理方法和装置
技术领域
本说明书涉及网络通信技术领域,尤其涉及一种区块链数据的压缩处理方法和装置。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。在现有的区块链部署上云的服务中,区块链的数据通过数据库和文件的形式存储在云磁盘中。部署在云上的区块链系统的节点越多,存储的数据副本越多,云上存储资源消耗也就越多。
发明内容
针对以上提出的问题,本说明书提供了一种区块链数据的压缩处理方法,所述区块链的N个节点设备对应的区块数据副本被存储于与所述区块链对接的存储系统,所述方法包括:
从所述N个节点设备中选择一个节点设备作为目标节点设备,并将所述目标节点设备对应的区块数据副本加入一压缩数据副本集合;
执行甄选迭代步骤,直到所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,所述甄选步骤包括:从所述N个节点设备中所述目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;确定所述目标节点设备与所述对比节点设备对应的区块数据副本是否匹配,如果是,将所述对比节点对应的区块数据副本加入所述压缩数据副本集合。
更优的,上述方法还包括:如果执行所述甄选迭代步骤,所述压缩数据副本集合内的区块数据副本的数量仍未大于所述区块链的系统容错数,则从所述N个节点设备中重新选择一节点设备作为目标节点设备,并重复执行所述甄选迭代步骤,直至所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数。
更优的,所述存储系统支持的容错算法为拜占庭容错算法;上述方法中所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,包括:
所述压缩数据副本集合内匹配的区块数据副本的数量既大于所述区块链的系统容错数,又大于所述压缩数据副本集合在所述存储系统中的拜占庭容错值的三倍。
更优的,上述方法还包括:
当所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,删除所述存储系统中存储的除所述压缩数据副本集合中的数据副本以外的数据副本;
以及,将删除的区块数据副本的数据访问路径变更为所述压缩数据副本集合中的区块数据副本的数据访问路径。
更优的,上述方法中所述存储系统为与所述区块链对接的云存储系统。
相应地,本说明书还提供了一种区块链数据的压缩处理装置,所述区块链的N个节点设备对应的区块数据副本被存储于与所述区块链对接的存储系统,所述装置包括:
目标数据选择单元,从所述N个节点设备中选择一个节点设备作为目标节点设备,并将所述目标节点设备对应的区块数据副本加入一压缩数据副本集合;
甄选迭代执行单元,执行甄选迭代步骤,直到所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,所述甄选步骤包括:从所述N个节点设备中所述目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;确定所述目标节点设备与所述对比节点设备对应的区块数据副本是否匹配,如果是,将所述对比节点对应的区块数据副本加入所述压缩数据副本集合。
更优的,上述装置的甄选迭代执行单元,如果执行所述甄选迭代步骤,所述压缩数据副本集合内的区块数据副本的数量仍未大于所述区块链的系统容错数,则从所述N个节点设备中重新选择一节点设备作为目标节点设备,并重复执行所述甄选迭代步骤,直至所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数。
更优的,所述存储系统支持的容错算法为拜占庭容错算法;上述装置中所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,包括:
所述压缩数据副本集合内匹配的区块数据副本的数量既大于所述区块链的系统容错数,又大于所述压缩数据副本集合在所述存储系统中的拜占庭容错值的三倍。
更优的,上述装置还包括:
数据删除单元,当所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,删除所述存储系统中存储的除所述压缩数据副本集合中的数据副本以外的数据副本;
以及,访问路径变更单元,将删除的区块数据副本的数据访问路径变更为所述压缩数据副本集合中的区块数据副本的数据访问路径。
更优的,上述装置中所述存储系统为与所述区块链对接的云存储系统。
相应地,本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如上述区块链数据的压缩处理方法所述的步骤。
相应地,本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如上述区块链数据的压缩处理方法所述的步骤。
应用本说明书所提供的区块链数据的压缩处理方法、装置、计算机设备和计算机可读存储介质,可将区块链系统存储于一存储系统的区块数据副本进行整理和压缩,将上述区块链系统存储于上述存储系统的区块数据副本整理成满足区块链的系统容错规则、且数据内容完全相同的区块数据副本,剔除由无效数据、及过多有效数据的存储造成的存储资源浪费。
附图说明
图1为本说明书一示例性实施例提供的区块链数据的压缩处理方法流程图;
图2为本说明书一示例性实施例提供的一种区块链数据的压缩处理装置的示意图;
图3为运行本说明书所提供的区块链数据的压缩处理方法或装置实施例的一种硬件结构图。
具体实施方式
“区块链”,具体可指一个各节点通过共识机制达成的、具有分布式数据存储结构的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、光学存储器等)上实施的计算机程序产品的形式。

Claims (12)

1.一种区块链数据的压缩处理方法,所述区块链的N个节点设备对应的区块数据副本被存储于与所述区块链对接的存储系统,所述方法包括:
从所述N个节点设备中选择一个节点设备作为目标节点设备,并将所述目标节点设备对应的区块数据副本加入压缩数据副本集合;
执行甄选迭代步骤,直到所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数;
其中,所述甄选步骤包括:从所述N个节点设备中所述目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;确定所述目标节点设备与所述对比节点设备对应的区块数据副本是否匹配,如果是,将所述对比节点设备对应的区块数据副本加入所述压缩数据副本集合。
2.根据权利要求1所述的方法,所述方法还包括:
如果执行所述甄选迭代步骤,所述压缩数据副本集合内的区块数据副本的数量仍未大于所述区块链的系统容错数,则从所述N个节点设备中重新选择一节点设备作为目标节点设备,并重复执行所述甄选迭代步骤,直至所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数。
3.根据权利要求1或2所述的方法,所述存储系统支持的容错算法为拜占庭容错算法;所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,包括:
所述压缩数据副本集合内匹配的区块数据副本的数量既大于所述区块链的系统容错数,又大于所述压缩数据副本集合在所述存储系统中的拜占庭容错值的三倍。
4.根据权利要求3所述的方法,还包括:
当所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,删除所述存储系统中存储的除所述压缩数据副本集合中的数据副本以外的数据副本;
以及,将删除的区块数据副本的数据访问路径变更为所述压缩数据副本集合中的区块数据副本的数据访问路径。
5.根据权利要求1所述的方法,所述存储系统为与所述区块链对接的云存储系统。
6.一种区块链数据的压缩处理装置,所述区块链的N个节点设备对应的区块数据副本被存储于与所述区块链对接的存储系统,所述装置包括:
目标数据选择单元,从所述N个节点设备中选择一个节点设备作为目标节点设备,并将所述目标节点设备对应的区块数据副本加入压缩数据副本集合;
甄选迭代执行单元,执行甄选迭代步骤,直到所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数;
其中,所述甄选步骤包括:从所述N个节点设备中所述目标节点设备以外的节点设备中,依次选择一节点设备作为对比节点设备;确定所述目标节点设备与所述对比节点设备对应的区块数据副本是否匹配,如果是,将所述对比节点设备对应的区块数据副本加入所述压缩数据副本集合。
7.根据权利要求6所述的装置,所述甄选迭代执行单元:
如果执行所述甄选迭代步骤,所述压缩数据副本集合内的区块数据副本的数量仍未大于所述区块链的系统容错数,则从所述N个节点设备中重新选择一节点设备作为目标节点设备,并重复执行所述甄选迭代步骤,直至所述压缩数据副本集合内的区块数据副本的数量大于所述区块链的系统容错数。
8.根据权利要求6或7所述的装置,所述存储系统支持的容错算法为拜占庭容错算法;所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,包括:
所述压缩数据副本集合内匹配的区块数据副本的数量既大于所述区块链的系统容错数,又大于所述压缩数据副本集合在所述存储系统中的拜占庭容错值的三倍。
9.根据权利要求8所述的装置,还包括:
数据删除单元,当所述压缩数据副本集合内匹配的区块数据副本的数量大于所述区块链的系统容错数,删除所述存储系统中存储的除所述压缩数据副本集合中的数据副本以外的数据副本;
以及,访问路径变更单元,将删除的区块数据副本的数据访问路径变更为所述压缩数据副本集合中的区块数据副本的数据访问路径。
10.根据权利要求6所述的装置,所述存储系统为与所述区块链对接的云存储系统。
11.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1到5任意一项所述的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1到5任意一项所述的步骤。
CN201810847153.8A 2018-07-27 2018-07-27 区块链数据的压缩处理方法和装置 Active CN109189327B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810847153.8A CN109189327B (zh) 2018-07-27 2018-07-27 区块链数据的压缩处理方法和装置
TW108101810A TWI705368B (zh) 2018-07-27 2019-01-17 區塊鏈資料的壓縮處理方法和裝置、電腦設備以及電腦可讀儲存媒體
PCT/CN2019/084079 WO2020019779A1 (zh) 2018-07-27 2019-04-24 区块链数据的压缩处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810847153.8A CN109189327B (zh) 2018-07-27 2018-07-27 区块链数据的压缩处理方法和装置

Publications (2)

Publication Number Publication Date
CN109189327A CN109189327A (zh) 2019-01-11
CN109189327B true CN109189327B (zh) 2020-05-05

Family

ID=64937710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810847153.8A Active CN109189327B (zh) 2018-07-27 2018-07-27 区块链数据的压缩处理方法和装置

Country Status (3)

Country Link
CN (1) CN109189327B (zh)
TW (1) TWI705368B (zh)
WO (1) WO2020019779A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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 中国人民解放军战略支援部队信息工程大学 基于区块链的虚假流规则注入攻击检测与预防系统和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176975B2 (en) * 2006-05-31 2015-11-03 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US10263892B2 (en) * 2015-03-20 2019-04-16 Microchip Technology Incorporated Compression method and system for user friendly address in mesh networking
CN105741095A (zh) * 2016-01-29 2016-07-06 彭军红 一种区块链动态压缩存取方法
GB201613109D0 (en) * 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer implemented method and system
CN106534273B (zh) * 2016-10-31 2022-04-15 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
CN106886555A (zh) * 2016-12-27 2017-06-23 苏州春禄电子科技有限公司 一种基于区块链技术的防数据丢失和损坏的数据存储系统
US10445302B2 (en) * 2017-01-03 2019-10-15 International Business Machines Corporation Limiting blockchain size to optimize performance
CN106919476A (zh) * 2017-02-24 2017-07-04 中国科学院软件研究所 基于联盟链的数据安全备份方法、客户端及云服务端
CN107181797B (zh) * 2017-05-11 2020-03-06 中国农业银行股份有限公司 一种区块链的区块压缩方法和系统
CN107332876B (zh) * 2017-05-31 2020-05-08 深圳前海微众银行股份有限公司 区块链状态的同步方法及装置
CN107423426B (zh) * 2017-08-02 2020-06-02 众安信息技术服务有限公司 一种区块链块数据的数据归档方法及电子设备
CN108234134B (zh) * 2017-12-28 2020-09-29 江苏通付盾科技有限公司 区块同步方法及系统
CN109189327B (zh) * 2018-07-27 2020-05-05 阿里巴巴集团控股有限公司 区块链数据的压缩处理方法和装置

Also Published As

Publication number Publication date
TWI705368B (zh) 2020-09-21
WO2020019779A1 (zh) 2020-01-30
TW202008147A (zh) 2020-02-16
CN109189327A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109189327B (zh) 区块链数据的压缩处理方法和装置
US11507480B2 (en) Locality based quorums
JP7422856B2 (ja) ノードデータ同期方法及び装置、システム、電子機器、記憶媒体並びにコンピュータプログラム
US8805849B1 (en) Enabling use of analytic functions for distributed storage system data
US10169085B2 (en) Distributed computing of a task utilizing a copy of an original file stored on a recovery site and based on file modification times
CN112636992B (zh) 一种动态路由方法、装置、设备及存储介质
US11210003B2 (en) Method, device and computer program product for restoring data based on replacing child node identifiers with parent node identifier
CN112269694B (zh) 一种管理节点确定方法、装置、电子设备及可读存储介质
US20160070624A1 (en) Application transparent continuous availability using synchronous replication across data stores in a failover cluster
CN113672350A (zh) 一种应用处理方法、装置及相关设备
CN113885797B (zh) 一种数据存储方法、装置、设备及存储介质
CN111143113B (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
US20240143456A1 (en) Log replay methods and apparatuses, data recovery methods and apparatuses, and electronic devices
CN109144403B (zh) 一种用于云盘模式切换的方法与设备
WO2021013185A1 (zh) 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN111046004B (zh) 一种数据文件存储方法、装置、设备及存储介质
US9715477B2 (en) Shared-bandwidth multiple target remote copy
CN113448770A (zh) 用于恢复数据的方法、电子设备和计算机程序产品
CN112698783A (zh) 对象存储方法、装置及系统
US10860433B1 (en) Directional consistency in capture and recovery of cloud-native applications
CN110474787B (zh) 一种节点故障检测方法和装置
CN111435320B (zh) 一种数据处理方法及其装置
CN111625500A (zh) 文件快照方法及装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40002458

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right