CN110175212B - 区块链分布式存储方法、数据读取方法、设备和存储介质 - Google Patents

区块链分布式存储方法、数据读取方法、设备和存储介质 Download PDF

Info

Publication number
CN110175212B
CN110175212B CN201910430864.XA CN201910430864A CN110175212B CN 110175212 B CN110175212 B CN 110175212B CN 201910430864 A CN201910430864 A CN 201910430864A CN 110175212 B CN110175212 B CN 110175212B
Authority
CN
China
Prior art keywords
distributed storage
block
data
storage
fragments
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
CN201910430864.XA
Other languages
English (en)
Other versions
CN110175212A (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.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei Technology Co 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 Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN201910430864.XA priority Critical patent/CN110175212B/zh
Publication of CN110175212A publication Critical patent/CN110175212A/zh
Application granted granted Critical
Publication of CN110175212B publication Critical patent/CN110175212B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种区块链分布式存储方法、数据读取方法、设备和存储介质,该存储方法包括:创建并广播、打包分布式存储请求交易,通过分布式存储管理合约执行分布式存储请求交易以将当前节点配置到第一存储组中;其中,第一存储组的索引序号为第一序号;监测若干区块的区块数据是否满足分布式存储条件:是,则将满足条件的若干区块的区块数据切分为若干数据段;以及,根据预配置的编码方式将每个数据段分别编码成第一数量个分片,并为第一数量个分片配置索引;存储每个数据段中索引序号为第一序号的分片,删除所切分的区块、各数据段和其余分片。本发明实现了适用于公链场景的分布式存储方案,并进一步大幅提升了区块链分布式存储的容错性和稳定性。

Description

区块链分布式存储方法、数据读取方法、设备和存储介质
技术领域
本申请涉及区块链技术领域,具体涉及一种区块链分布式存储方法、数据读取方法、设备和存储介质。
背景技术
区块链中的每个节点都进行同样的计算,并且最终将相同的结果保存在本地,在包含有几千甚至几万个节点的区块链系统中,数据高度冗余,尽管每个节点都容易从其他对等节点同步需要的数据,但是对于整个区块链系统而言,所消耗的存储资源存在高度冗余的问题。
基于上述问题,当前存在一些在某些场景下解决该问题的方案,例如,在联盟链和私有链的少量节点的场景下,基于纠删码实现区块链分布式存储的方案,但该方案所采用的纠删码编码算法需要基于提前预设好的共识节点总数和容错节点数,不适用于共识节点众多的公链场景。
进一步地,基于区块链的去中心化机制,在公链场景中进行分布式存储,还面临在大量节点关闭的场景下,可能导致无法还原并读取数据的问题。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种适用于在公链场景进行分布式存储的区块链分布式存储方法、数据读取方法、设备和存储介质,并进一步期望提升区块链系统在大量节点关闭的场景下稳定保障分布式存储服务的可靠性。
第一方面,本发明提供一种区块链分布式存储方法,区块链上配置有分布式存储管理合约,该分布式存储管理合约用于将请求进行分布式存储的节点均匀配置到第一数量个存储组中,该第一数量个存储组配置有索引,该方法包括:
创建并广播、打包分布式存储请求交易,通过分布式存储管理合约执行分布式存储请求交易以将当前节点配置到第一存储组中;其中,第一存储组的索引序号为第一序号;
监测若干区块的区块数据是否满足分布式存储条件:
是,则将满足条件的若干区块的区块数据切分为若干数据段;以及,
根据预配置的编码方式将每个数据段分别编码成第一数量个分片,并为第一数量个分片配置索引;
存储每个数据段中索引序号为第一序号的分片,删除所切分的区块、各数据段和其余分片。
进一步优选地,上述编码方式为里德-所罗门编码(Reed-SolomonCodes,简称RS编码),第一数量为原始数据分片的第二数量与奇偶校验数据分片的第三数量之和。
第二方面,本发明提供一种数据读取方法,当前节点存有根据如上述第一方面的区块链分布式存储方法所存储的索引序号为第二序号的分片,该数据读取方法包括:
响应于读取第二区块的区块数据的读取请求,判断第二区块是否已进行分布式存储:
是,则分别从索引序号不是第二序号的各存储组中随机选择一个节点以分别向所选择的各节点下载分片;以及,
根据所下载的各分片和所存储的分片进行解码以获取第二区块的区块数据。
第三方面,本发明还提供另一种数据读取方法,当前节点存有根据如上述第一方面的区块链分布式存储方法的RS编码优选方案所存储的索引序号为第三序号的分片,该数据读取方法包括:
响应于读取第三区块的区块数据的读取请求,判断第三区块是否已进行分布式存储:
是,则从索引序号不是第三序号的各存储组中随机选取第四数量个存储组,并分别从第四数量个存储组中随机选择一个节点以分别向所选择的各节点下载分片;其中,第四数量为第二数量减1;以及,
根据所下载的各分片和所存储的分片进行解码以获取第三区块的区块数据。
第四方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的区块链分布式存储方法。
第五方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的区块链分布式存储方法。
本发明诸多实施例提供的区块链分布式存储方法、数据读取方法、设备和存储介质通过在区块链上配置分布式存储管理合约,将参与分布式存储的节点均匀配置在多个存储组中,由上述参与分布式存储的节点分别将区块数据分片,并仅存储对应于当前节点所在存储组的分片,从而实现了适用于公链场景的分布式存储方案;
本发明一些实施例提供的区块链分布式存储方法、数据读取方法、设备和存储介质进一步通过限定仅对超过一定区块深度的区块数据进行分布式存储,进一步提升了系统的存储效率;
本发明一些实施例提供的区块链分布式存储方法、数据读取方法、设备和存储介质进一步通过采用里德-所罗门编码进行数据分片的编码,从而保障了任一节点只需随机选择原始数据分片减一个存储组下载分片,即可完成解码以还原分布存储的区块数据,保障了区块链系统在大量节点关闭的场景下可以稳定提供分布式存储服务,大幅提升了区块链分布式存储的容错性和稳定性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种区块链分布式存储方法的流程图。
图2为图1所示方法中步骤S13的一种实施方式的流程图。
图3为本发明一实施例提供的一种数据读取方法的流程图。
图4为本发明另一实施例提供的另一种数据读取方法的流程图。
图5为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种区块链分布式存储方法的流程图。
如图1所示,在本实施例中,本发明提供一种区块链分布式存储方法,在区块链上配置有分布式存储管理合约Distributed Storage Manage Contract(以下简称DSM合约),该DSM合约用于将请求进行分布式存储的节点均匀配置到第一数量个存储组中,该第一数量个存储组配置有索引,该方法包括:
S11:创建并广播、打包分布式存储请求交易,通过分布式存储管理合约执行分布式存储请求交易以将当前节点配置到第一存储组中;其中,第一存储组的索引序号为第一序号;
S13:监测若干区块的区块数据是否满足分布式存储条件:
是,则执行步骤S15:将满足条件的若干区块的区块数据切分为若干数据段;以及,
S17:根据预配置的编码方式将每个数据段分别编码成第一数量个分片,并为第一数量个分片配置索引;
S19:存储每个数据段中索引序号为第一序号的分片,删除所切分的区块、各数据段和其余分片。
例如,在拥有3500节点的某公链中,有1200个节点先后请求进行分布式存储,DSM合约将该1200个节点均匀配置到30个存储组中,该30个存储组配置有索引0-29,即存储组0-存储组29。
当节点A请求进行分布式存储时,节点A执行步骤S11,创建分布式存储请求交易tx1,广播、打包到区块中,通过DSM合约执行tx1,从而将节点A分配到存储组8中。
分配到存储组8中后,节点A执行步骤S13,根据预配置的分布式存储条件监测各区块的区块数据是否满足条件。
图2为图1所示方法中步骤S13的一种实施方式的流程图。如图2所示,在本实施例中,分布式存储条件配置为对共识深度超过第一阈值(本实施例中配置为128)、数据量超过第二阈值(本实施例中配置为40M)的若干区块进行分片,步骤S13包括:
S131:当第一区块的共识深度超过第一阈值时,判断第一区块的区块数据的数据量是否超过第二阈值:
是,则判定为满足分布式存储条件,执行步骤S15-S19;
否,则执行步骤S133:在下一区块的共识深度超过第一阈值时,判断未满足分布式存储条件的区块与下一区块的总数据量是否超过第二阈值:
否,则循环步骤S133;
是,则判定为满足分布式存储条件,执行步骤S15-S19。
例如,当前区块高度为133,对于区块高度H=1的区块Block1,区块深度为132,超过128,且Block1的数据量大于40M,则对Block1的区块数据执行步骤S15-S19;
对于区块高度H=2的区块Block2,区块深度为131,超过128,但Block2的数据量小于40M,则判断H=3的区块Block3的区块深度(130,同样超过128),并判断Block2和Block3的总数据量是否超过40M:是,则对Block2和Block3的区块数据执行步骤S15-S19;
对于区块高度H=4的区块Block4,区块深度为129,超过128,但Block4的数据量小于40M,则判断H=5的区块Block5的区块深度(128,未超过128),因此Block5的区块深度不满足条件,等待区块高度达到134,Block5的区块深度满足条件后,再判断Block2和Block3的总数据量是否超过40M,依此类推。
在更多实施例中,可根据实际需求将第一阈值配置为任意的正整数,将第二阈值配置为任意大小的数据量,均可实现相同或相似的技术效果;此外,还可以根据实际需求配置不同的分布式存储条件,例如,只需满足共识深度超过第一阈值即可执行步骤S15-S19,或,当连续3个共识深度超过第一阈值的区块的总数据量仍不满足第二阈值时不再判断连续4个区块的总数据量,而直接对该3个区块的区块数据执行步骤S15-S19,等等,均可实现相同或相似的技术效果。
以数据量为87M的Block1为例,在步骤S15中,节点A将Block1的区块数据切分为大小为30M的数据段trunk1、trunk2和trunk3。其中,本实施例中对于不足30M的trunk3作补0处理,在另一些实施例中,也可以采用将Block1的区块数据平均切分为29M的数据段trunk1’、trunk2’和trunk3’等其它本领域技术人员可以理解的不同切分方式。
在步骤S17中,节点A根据预配置的某种编码方式将数据段trunk1、trunk2和trunk3分别编码成30分片并配置索引,得到slice1-0-slice1-29、slice2-0-slice2-29、slice3-0-slice3-29。其中,编码方式可根据实际需求选用本领域常用的任一编码方式。
在步骤S19中,根据节点A所分配的第一序号8,存储slice1-8、slice2-8、slice3-8,删除Block1的区块数据,trunk1、trunk2和trunk3,以及slice1-0-slice1-7、slice1-9-slice1-29、slice2-0-slice2-7、slice2-9-slice2-29、slice3-0-slice3-7、slice3-9-slice3-29
与节点A同样地,其余进行分布式存储的节点分别执行上述方法,使得分配到索引序号为i的存储组的节点存有索引序号为i的分片,从而只需获取其它序号的分片即可结合自身存储的分片进行解码。
以下结合图3,以节点A读取Block3的区块数据为例,对上述区块链分布式存储方法的数据读取过程进行示例性的阐述。
图3为本发明一实施例提供的一种数据读取方法的流程图。如图3所示,在本实施例中,本发明还提供一种数据读取方法,当前节点存有根据如上述区块链分布式存储方法所存储的索引序号为第二序号的分片,该数据读取方法包括:
S22:响应于读取第二区块的区块数据的读取请求,判断第二区块是否已进行分布式存储:
是,则执行步骤S24:分别从索引序号不是第二序号的各存储组中随机选择一个节点以分别向所选择的各节点下载分片;以及,
S26:根据所下载的各分片和所存储的分片进行解码以获取第二区块的区块数据。
在步骤S22中,节点A响应于读取Block3的区块数据的读取请求,判断Block3是否已进行分布式存储:
否,则直接读取Block3的区块数据;
是,则执行步骤S24,从索引序号不是8的29个存储组中分别随机选择1个节点,从而分别向所选择的29个节点下载索引序号为0-7/9-29的分片;
在步骤S26中,节点A根据所下载的索引序号为0-7/9-29的分片和所存储的索引序号为8的分片进行解码,得到Block2和Block3的区块数据,并从中读取Block3的区块数据。
上述实施例以节点A进行分布式存储和数据读取为例,对图1-3所示的方法进行了示例性的阐述,在更多实施例中,上述图1-3所示的方法还可以采用本领域技术人员可以理解的不同技术手段,而不以上述示例为限。
上述实施例通过在区块链上配置分布式存储管理合约,将参与分布式存储的节点均匀配置在多个存储组中,由上述参与分布式存储的节点分别将区块数据分片,并仅存储对应于当前节点所在存储组的分片,从而实现了适用于公链场景的分布式存储方案;并进一步通过限定仅对超过一定区块深度的区块数据进行分布式存储,进一步提升了系统的存储效率。
在上述实施例中,基于本领域常用的编码方式和解码方式,通常需要获取所有不同索引序号的分片才能完成解码。例如,节点A需要下载到索引序号为0-7/9-29的全部分片。当面临大量节点关闭的场景时,例如,索引序号为25的节点的40个节点中关闭了38个节点(在该场景下,通常其它索引序号的节点也关闭了很多),而节点A无法与剩余的2个节点进行通信,导致节点A无法下载到索引序号为25的分片,而无法完成解码。
基于上述问题,本申请对图1所示的方法作出了进一步的改进,在步骤S17中采用了里德-所罗门编码(Reed-Solomon Codes,简称RS编码),并将第一数量配置为原始数据分片的第二数量与奇偶校验数据分片的第三数量之和。
RS编码具有强大的纠错能力,当基于p:q的原始数据分片数量和奇偶校验数据分片数量对原始文件进行RS编码时,只需根据编码生成的p+q份数据中的任意p份数据进行解码,即可成功解码出原始文件,具体原理此处不作赘述。
同样以DSM合约将该1200个节点均匀配置到存储组0-存储组29中为例,当配置于索引序号为11的存储组的节点B请求进行分布式存储时,节点B依次执行步骤S11-S15,原理与图1所示方法相同,不再赘述。
在步骤S17中,节点B对数据段trunk4和trunk5进行RS编码。以对大小为40M的数据段trunk4进行RS编码,第二数量配置为10、第三数量配置为20为例,将40M的原始数据编码为10份大小为4M的原始数据分片,同时生成20份的奇偶校验数据分片,共30份分片slice4-0-slice4-29
在步骤S19中,节点B同样只存储索引序号为11的分片,原理与图1所示方法相同,不再赘述。
以下结合图4,对上述RS编码优选方案的数据读取过程进行示例性的阐述。
图4为本发明另一实施例提供的另一种数据读取方法的流程图。如图4所示,在本实施例中,本发明还提供另一种数据读取方法,当前节点存有根据如上述RS编码优选方案所存储的索引序号为第三序号的分片,该数据读取方法包括:
S32:响应于读取第三区块的区块数据的读取请求,判断第三区块是否已进行分布式存储:
是,则执行步骤S34:从索引序号不是第三序号的各存储组中随机选取第四数量个存储组;其中,第四数量为第二数量减1;以及,
S36:分别从第四数量个存储组中随机选择一个节点以分别向所选择的各节点下载分片;
S38:根据所下载的各分片和所存储的分片进行解码以获取第三区块的区块数据。
具体地,图4所示方法与图3所示方法的区别在于,基于RS编码的特性,解码无需获取所有索引序号的分片,而只需从与当前节点所在存储组不同的各存储组分别下载第四数量个分片即可完成解码。
以节点B读取Block1的区块数据为例,基于节点B自身存储的分片slice1-11’,节点B只需在步骤S34中随机选择9个索引序号不是11的存储组,并在步骤S36中分别从所选取的9个存储组随机选择一个节点并下载分片,即可在步骤S38中完成解码。
相较于普通编码的方案,采用RS编码的方案即便面临无法下载个别索引序号的分片的场景,仍然可以通过下载其它索引序号的分片来实现解码,只有在绝大部分节点关闭的场景下才会无法解码。因此,采用RS编码的方案相较于普通编码的方案大幅提升了容错性和稳定性。
上述实施例以第二数量配置为10、第三数量配置为20为例,对RS编码的方案进行了示例性的阐述,在更多实施例中,还可根据实际需求将第二数量和第三数量配置为大于1的不同正整数,可实现同样的效果。
上述实施例进一步通过采用里德-所罗门编码进行数据分片的编码,从而保障了任一节点只需随机选择原始数据分片减一个存储组下载分片,即可完成解码以还原分布存储的区块数据,保障了区块链系统在大量节点关闭的场景下可以稳定提供分布式存储服务,大幅提升了区块链分布式存储的容错性和稳定性。
图5为本发明一实施例提供的一种设备的结构示意图。
如图5所示,作为另一方面,本申请还提供了一种设备500,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上述任一实施例描述的区块链分布式存储方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行区块链分布式存储方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的区块链分布式存储方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (9)

1.一种区块链分布式存储方法,其特征在于,区块链上配置有分布式存储管理合约,所述分布式存储管理合约用于将请求进行分布式存储的节点均匀配置到第一数量个存储组中,所述第一数量个存储组配置有索引,所述方法包括:
创建并广播、打包分布式存储请求交易,通过所述分布式存储管理合约执行所述分布式存储请求交易以将当前节点配置到第一存储组中;其中,所述第一存储组的索引序号为第一序号;
监测若干区块的区块数据是否满足分布式存储条件:
是,则将满足条件的若干区块的区块数据切分为若干数据段;以及,
根据预配置的编码方式将每个数据段分别编码成所述第一数量个分片,并为所述第一数量个分片配置所述索引;
存储每个数据段中索引序号为所述第一序号的分片,删除所切分的区块、各所述数据段和其余分片。
2.根据权利要求1所述的方法,其特征在于,所述监测若干区块的区块数据是否满足分布式存储条件包括:
当第一区块的共识深度超过第一阈值时,判断所述第一区块的区块数据的数据量是否超过第二阈值:
是,则判定为满足所述分布式存储条件;
否,则在下一区块的共识深度超过所述第一阈值时,判断未满足所述分布式存储条件的区块与下一区块的总数据量是否超过所述第二阈值:否,则循环当前步骤;是,则判定为满足所述分布式存储条件。
3.根据权利要求2所述的方法,其特征在于,所述第一阈值配置为128,所述第二阈值配置为40M。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述编码方式为里德-所罗门编码(Reed-Solomon Codes,简称RS编码),所述第一数量为原始数据分片的第二数量与奇偶校验数据分片的第三数量之和。
5.根据权利要求4所述的方法,其特征在于,所述第二数量配置为10,所述第三数量配置为20。
6.一种数据读取方法,其特征在于,当前节点存有根据如权利要求1-3任一项所述的区块链分布式存储方法所存储的索引序号为第二序号的分片,所述数据读取方法包括:
响应于读取第二区块的区块数据的读取请求,判断所述第二区块是否已进行分布式存储:
是,则分别从索引序号不是所述第二序号的各存储组中随机选择一个节点以分别向所选择的各节点下载分片;以及,
根据所下载的各分片和所存储的分片进行解码以获取所述第二区块的区块数据。
7.一种数据读取方法,其特征在于,当前节点存有根据如权利要求4或5所述的区块链分布式存储方法所存储的索引序号为第三序号的分片,所述数据读取方法包括:
响应于读取第三区块的区块数据的读取请求,判断所述第三区块是否已进行分布式存储:
是,则从索引序号不是所述第三序号的各存储组中随机选取第四数量个存储组,并分别从所述第四数量个存储组中随机选择一个节点以分别向所选择的各节点下载分片;其中,所述第四数量为所述第二数量减1;以及,
根据所下载的各分片和所存储的分片进行解码以获取所述第三区块的区块数据。
8.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7中任一项所述的方法。
9.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN201910430864.XA 2019-05-22 2019-05-22 区块链分布式存储方法、数据读取方法、设备和存储介质 Active CN110175212B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910430864.XA CN110175212B (zh) 2019-05-22 2019-05-22 区块链分布式存储方法、数据读取方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910430864.XA CN110175212B (zh) 2019-05-22 2019-05-22 区块链分布式存储方法、数据读取方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110175212A CN110175212A (zh) 2019-08-27
CN110175212B true CN110175212B (zh) 2021-07-06

Family

ID=67691867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910430864.XA Active CN110175212B (zh) 2019-05-22 2019-05-22 区块链分布式存储方法、数据读取方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110175212B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543496B (zh) * 2019-09-06 2022-04-15 中国联合网络通信集团有限公司 用于时序数据库集群的数据处理方法和装置
WO2019228562A2 (en) * 2019-09-11 2019-12-05 Alibaba Group Holding Limited Shared blockchain data storage based on error correction coding in trusted execution environments
CN110572473B (zh) * 2019-09-20 2022-10-14 腾讯科技(深圳)有限公司 一种区块头同步方法、设备及计算机可读存储介质
CN111373693A (zh) * 2019-10-15 2020-07-03 支付宝(杭州)信息技术有限公司 索引和恢复编码的区块链数据
SG11202010724PA (en) * 2019-11-06 2020-11-27 Alipay Hangzhou Inf Tech Co Ltd Consenus of shared blockchain data storage based on error correction code
AU2019320956B2 (en) * 2019-11-06 2021-11-25 Alipay (Hangzhou) Information Technology Co., Ltd. Data security of shared blockchain data storage based on error correction code
EP3769217B1 (en) 2019-11-06 2022-06-01 Alipay (Hangzhou) Information Technology Co., Ltd. Prioritizing shared blockchain data storage
WO2020035093A2 (en) * 2019-11-13 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Dynamic blockchain data storage based on error correction code
CN110989934B (zh) * 2019-12-05 2023-08-25 达闼机器人股份有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN111147869B (zh) * 2019-12-25 2022-02-08 新浪网技术(中国)有限公司 一种基于分布式对象存储的视频转码系统及方法
CN111611317B (zh) * 2020-06-08 2023-05-30 杭州复杂美科技有限公司 区块链分布式存储分组方法、设备和存储介质
CN112256472B (zh) * 2020-10-20 2024-06-25 平安科技(深圳)有限公司 分布式数据调取方法、装置、电子设备及存储介质
CN113518113B (zh) * 2021-05-11 2022-10-28 深圳前海移联科技有限公司 一种基于区块链和里德-所罗门码的文件存储方法、计算机设备及存储介质
CN114944887B (zh) * 2022-05-07 2024-01-23 北京差旅天下网络科技有限责任公司 区块传输方法、计算机设备和存储介质
CN116860882B (zh) * 2023-09-05 2023-12-26 石家庄学院 一种基于区块链的云端存储资源管控方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359223A (zh) * 2018-09-17 2019-02-19 重庆邮电大学 基于纠删码实现的区块链账本分布式存储技术
CN109582473A (zh) * 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 基于区块链的跨链数据访问方法和装置
US10615985B2 (en) * 2018-12-13 2020-04-07 Alibaba Group Holding Limited Achieving consensus among network nodes in a distributed system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554746B2 (en) * 2016-11-14 2020-02-04 International Business Machines Corporation Decentralized immutable storage blockchain configuration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359223A (zh) * 2018-09-17 2019-02-19 重庆邮电大学 基于纠删码实现的区块链账本分布式存储技术
CN109582473A (zh) * 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 基于区块链的跨链数据访问方法和装置
US10615985B2 (en) * 2018-12-13 2020-04-07 Alibaba Group Holding Limited Achieving consensus among network nodes in a distributed system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于纠删码的区块链系统区块文件存储;赵国锋等;《技术研究》;20190228(第2期);第28-35页 *

Also Published As

Publication number Publication date
CN110175212A (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
CN110175212B (zh) 区块链分布式存储方法、数据读取方法、设备和存储介质
CN111680050B (zh) 一种联盟链数据的分片处理方法、设备和存储介质
CN107943421B (zh) 一种基于分布式存储系统的分区划分方法及装置
US8631269B2 (en) Methods and system for replacing a failed node in a distributed storage network
CN111737540B (zh) 一种应用于分布式计算节点集群的图数据处理方法和介质
CN104469396B (zh) 一种分布式转码系统和方法
US12073102B2 (en) Method and apparatus for compressing data of storage system, device, and readable storage medium
EP3963853B1 (en) Optimizing storage and retrieval of compressed data
CN115104305A (zh) 用于图压缩的多上下文熵编码
US20130031148A1 (en) Systems and methods of distributed file storage
AU2021257883B2 (en) Context modeling of occupancy coding for pointcloud coding
US9571353B1 (en) Compact service status processing
CN116723239B (zh) 区块链数据的传输方法、装置、电子设备和可读介质
CN111399755A (zh) 数据存储管理的方法和装置
CN114844781B (zh) Rack架构下面向编码MapReduce的Shuffle性能优化方法及系统
CN111159107A (zh) 数据处理方法和服务器集群
CN111951112A (zh) 基于区块链的智能合约执行方法、终端设备和存储介质
CN111381767B (zh) 一种数据处理方法及装置
JP6005273B2 (ja) データストリームの符号化方法、送信方法、伝送方法、データストリームを符号化するための符号化装置、送信装置、および、伝送装置
CN113986853A (zh) 一种区块链数据存储与共享方法、系统、设备及终端
CN114329058A (zh) 图像聚档方法、装置和电子设备
CN114143174B (zh) 一种节点修复方法、装置、设备及可读存储介质
CN108920104B (zh) 一种无中心的视频监控云存取方法
CN114944887B (zh) 区块传输方法、计算机设备和存储介质
CN112181974A (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
GR01 Patent grant
GR01 Patent grant