CN115292340A - 基于分布式网络编码的区块链存储优化方法及装置 - Google Patents

基于分布式网络编码的区块链存储优化方法及装置 Download PDF

Info

Publication number
CN115292340A
CN115292340A CN202211185939.0A CN202211185939A CN115292340A CN 115292340 A CN115292340 A CN 115292340A CN 202211185939 A CN202211185939 A CN 202211185939A CN 115292340 A CN115292340 A CN 115292340A
Authority
CN
China
Prior art keywords
fragment
transaction
network
node
storage
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.)
Granted
Application number
CN202211185939.0A
Other languages
English (en)
Other versions
CN115292340B (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.)
State Grid Blockchain Technology Beijing Co ltd
State Grid Digital Technology Holdings Co ltd
State Grid Corp of China SGCC
State Grid Liaoning Electric Power Co Ltd
Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd
Original Assignee
State Grid Blockchain Technology Beijing Co ltd
State Grid Digital Technology Holdings Co ltd
State Grid Corp of China SGCC
State Grid Liaoning Electric Power Co Ltd
Electric Power Research Institute of State Grid Zhejiang Electric Power 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 State Grid Blockchain Technology Beijing Co ltd, State Grid Digital Technology Holdings Co ltd, State Grid Corp of China SGCC, State Grid Liaoning Electric Power Co Ltd, Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd filed Critical State Grid Blockchain Technology Beijing Co ltd
Priority to CN202211185939.0A priority Critical patent/CN115292340B/zh
Publication of CN115292340A publication Critical patent/CN115292340A/zh
Application granted granted Critical
Publication of CN115292340B publication Critical patent/CN115292340B/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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种基于分布式网络编码的区块链存储优化方法及装置,将原始数据包以多个交易分片的形式分别存储到多个网络分片,一个交易分片被一网络分片存储,在网络分片存储交易分片的过程中,由其中的d+1个节点作为存储节点,每个存储节点存储d个不同的交易再分片,所述参数d是由预设的再生码给出的,且每个交易再分片被两个不同的存储节点存储,由所述网络分片可以整合出两个完整的所述交易分片,使得本方案具备一定的数据还原能力,相较于在由超过两个节点组成的网络分片中,每一节点都存储一个完整的交易分片的存储方案,本方案降低了数据存储的冗余程度,减少了存储原始数据包所需的存储空间,从而增加了由现有的节点组成的存储服务器集群能够存储的数据量。

Description

基于分布式网络编码的区块链存储优化方法及装置
技术领域
本申请涉及数据处理技术领域,更具体的说,是涉及一种基于分布式网络编码的区块链存储优化方法及装置。
背景技术
在数字化时代,企业的生产经营所需的数据量与日俱增,给企业带来了巨大的数据存储压力。数据作为企业生产经营过程中的必备要素,提升数据存储能力,是激发数据要素潜力的关键。
近年来,企业不断通过扩增存储服务器容量的方式来满足日益增长的数据存储需求。然而,随着数据量的快速增长,进一步扩增存储服务器容量的技术难度和成本也随之增加,应用上述方法解决数据存储问题的成效不再显著。
发明内容
鉴于上述问题,提出了本申请以便提供一种基于分布式网络编码的区块链存储优化方法及装置,可以在由现有节点所组成的存储服务器集群中存储更多的数据,满足日益增长的数据存储需求。
具体方案如下:
第一方面,提供了一种基于分布式网络编码的区块链存储优化方法,应用于由若干节点所构建的区块链,该方法包括:
确定各个所述节点所属的网络分片,得到多个不同的网络分片;
将待存储的原始数据包划分成多个不同的交易分片;
确定每一个所述交易分片对应的网络分片,其中,每一个所述网络分片至多与一个所述交易分片对应;
对于每一个存在对应的交易分片的网络分片,根据预设的再生码生成所述网络分片对所述交易分片的存储方案,并按照所述存储方案将所述交易分片存储到所述网络分片中,其中,所述预设的再生码中包含有参数d,所述参数d为从所述网络分片中还原出所述交易分片所需的节点的数量,并且所述参数d小于所述网络分片中的节点的数量,所述存储方案包括,在组成所述网络分片的节点中选择d+1个节点作为存储所述交易分片的存储节点,将所述交易分片划分成d×(d+1)/2个交易再分片,每一个所述存储节点存储d个不同的所述交易再分片,并且每一个所述交易再分片被两个不同的所述存储节点存储;
生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,由所述存储信息和所述原始数据包生成区块,所述区块被链接到区块链上。
可选的,所述确定各个所述节点所属的网络分片,包括:
各个所述节点分别以各自的IP地址、节点公钥、节点标识和预设的随机数为输入元素,进行哈希计算,将各个所述哈希计算的结果的后λ位作为对应的节点所属的网络分片的位置;
各个所述节点广播各自所属的网络分片的位置,由具备相同的所述网络分片的位置的节点组成一个网络分片。
可选的,在各个所述节点广播各自所属的网络分片的位置,由具备相同的所述网络分片的位置的节点组成一个网络分片之后,还包括:
进行各个所述网络分片间的节点交换,以平衡各个所述网络分片的存储能力;
各个所述节点广播并共识各自所属的网络分片。
可选的,每一个所述网络分片中包含有一个调度节点;
在所述将待存储的原始数据包划分成多个不同的交易分片之前,还包括:
从所有的所述调度节点中选择一个调度主节点,所述调度主节点用于将待存储的原始数据包划分成多个不同的交易分片,以及确定每一个所述交易分片对应的网络分片。
可选的,在所述将待存储的原始数据包划分成多个不同的交易分片之后,还包括:所述调度主节点计算每一个所述交易分片的哈希值;
所述确定每一个所述交易分片对应的网络分片,包括:
所述调度主节点分别以各个所述交易分片、预设的随机数和所述调度主节点的节点公钥为输入元素,进行哈希计算,由各个所述哈希计算的结果的后μ位确定各个所述交易分片对应的网络分片;
所述调度主节点广播各个所述交易分片的哈希值和各自对应的网络分片,以供各个网络分片验证各自对应的交易分片。
可选的,所述交易分片的数量不多于所述网络分片的数量;
在由各个所述哈希计算的结果的后μ位确定各个所述交易分片对应的网络分片之后,还包括:
所述调度主节点进一步建立所述交易分片中的指定核心交易分片与空闲网络分片间的对应关系,所述空闲网络分片为不存在对应的交易分片的网络分片。
可选的,所述生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,包括:
对于每一个存在对应的交易分片的网络分片,所述网络分片中的调度节点利用预设的分片纪元参数、所述交易分片的哈希值、所述网络分片的标识、所述网络分片对所述交易分片的存储方案和所述调度节点的标识生成所述网络分片的存储子信息;
所述调度主节点整合各个所述存储子信息,得到所述区块链中的各个节点对所述原始数据包的存储信息;
由所述存储信息和所述原始数据包生成区块,包括:
所述调度主节点由前一个区块的哈希值、时间戳、默克尔根和所述存储信息生成区块头,由所述原始数据包生成区块体,由所述区块头和所述区块体生成新的区块。
可选的,所述节点中还包含一个服务节点,所述服务节点用于从各个数据生成终端获取原始数据,整合各个所述原始数据生成原始数据包,将所述原始数据包上链,以供所述调度主节点获取。
可选的,该方法还包括:
在任一网络分片中的任一存储节点故障的情况下,获取所述网络分片的存储信息,根据所述存储信息确定故障的存储节点所存储的交易再分片,并从所述网络分片中的其余存储节点中获取所述交易再分片,以还原所述故障的存储节点所存储的交易再分片。
可选的,所述将待存储的原始数据包划分成多个不同的交易分片,包括:
将待存储的原始数据包平均的划分成多个不同的交易分片;
将所述交易分片划分成d×(d+1)/2个交易再分片,包括:
将所述交易分片平均的划分成d×(d+1)/2个交易再分片。
第二方面,提供了一种基于分布式网络编码的区块链存储优化装置,应用于由若干节点所构建的区块链,该装置包括:
网络分片划分单元,用于确定各个所述节点所属的网络分片,得到多个不同的网络分片;
交易分片划分单元,用于将待存储的原始数据包划分成多个不同的交易分片;
网络分片确定单元,用于确定每一个所述交易分片对应的网络分片,其中,每一个所述网络分片至多与一个所述交易分片对应;
交易分片存储单元,用于根据预设的再生码,生成每一个存在对应的交易分片的网络分片存储对应的交易分片的存储方案,并将各交易分片按照对应的存储方案存储到对应的网络分片中,其中,所述预设的再生码中包含有参数d,所述参数d为从所述网络分片中还原出所述交易分片所需的节点的数量,并且所述参数d小于所述网络分片中的节点的数量,所述存储方案包括,在组成所述网络分片的节点中选择d+1个节点作为存储所述交易分片的存储节点,将所述交易分片划分成d×(d+1)/2个交易再分片,每一个所述存储节点存储d个不同的所述交易再分片,并且每一个所述交易再分片被两个不同的所述存储节点存储;
区块生成单元,用于生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,由所述存储信息和所述原始数据包生成区块,所述区块被链接到区块链上。
借由上述技术方案,本申请将一个完整的原始数据包以多个交易分片的形式分别存储到多个网络分片,一个交易分片只被一个网络分片存储,也就是说一个网络分片至多存储原始数据包的一部分,相较于每一个网络分片都存储完整的原始数据包的存储方案,本方案降低了数据存储的冗余程度,减少了存储原始数据包所需的存储空间;并且,在任意一个网络分片存储对应的交易分片的过程中,选择了所述网络分片中的d+1个节点作为存储节点,每个存储节点存储d个不同的交易再分片,其中,所述参数d是由预设的再生码给出的,所述交易再分片是对所述交易再分片进行划分得到的,一共有d×(d+1)/2个交易再分片,且每个交易再分片仅被两个不同的存储节点存储,相当于,在所述网络分片中,一共存储了d×(d+1)个交易再分片,可以整合出两个完整的所述交易分片,使得本方案具备一定的数据还原能力,也就是说,在发生一定数量的节点损坏的情况下,仍能够还原出完整的交易分片、原始数据包,并且相较于在由超过两个节点组成的网络分片中,每一个节点都存储一个完整的交易分片的存储方案,本方案降低了数据存储的冗余程度,减少了存储原始数据包所需的存储空间,从而增加了由现有的节点组成的存储服务器集群能够存储的数据量。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种基于分布式网络编码的区块链存储优化方法的流程示意图;
图2示例了一种交易分片的存储方案;
图3是根据本申请实施例示出的一种区块链的结构示意图;
图4示例了一种还原交易分片的过程示意图;
图5示例了另一种还原交易分片的过程示意图;
图6是根据本申请实施例示出的一种基于分布式网络编码的区块链存储优化装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种基于分布式网络编码的区块链存储优化方法,可以在由现有节点所组成的存储服务器集群中存储更多的数据,满足日益增长的数据存储需求。
本申请提供的基于分布式网络编码的区块链存储优化方法可以应用于由若干节点所构建的区块链,每一节点可以是一存储服务器,各节点可以属于不同的数据中心,即本申请提供的数据存储方法支持跨数据中心的数据互联,允许属于不同数据中心的节点通过区块链交互,以实现跨数据中心的数据调用,从而缓解数据孤岛。
接下来,结合图1所示,本申请提供的基于分布式网络编码的区块链存储优化方法可以包括如下步骤:
步骤S101、确定各个所述节点所属的网络分片,得到多个不同的网络分片。
其中,各个所述节点所属的网络分片是依据各个所述节点的IP等信息确定的。需要说明的是,各个所述节点所属的网络分片是在一个分片纪元开始时被确定的,每经过一段时间或者每新增一个节点,将自动进入下一个分片纪元,并重新确定各个所述节点所属的网络分片,以提高网络的可靠性。
步骤S102、将待存储的原始数据包划分成多个不同的交易分片。
需要说明的是,所述原始数据包可以包括多条交易,由于每条交易的大小存在着差异,为了在一定程度上均衡各网络分片存储对应的交易分片所要花费的时间,可以将多条小的交易以一个交易分片的形式进行存储,也可以将一条大的交易以多个交易分片的形式进行存储。也就是说,在由所述原始数据包划分得来的多个不同的交易分片中,每一交易分片至少可以包括一条交易的一部分。
步骤S103、确定每一个所述交易分片对应的网络分片。
具体的,每一交易分片存在着一个与之对应的网络分片,并且每一个所述网络分片至多与一个所述交易分片对应,即由上述的步骤S102得到的交易分片的份数不超过步骤S101中确定的网络分片的数量。由于一个网络分片至多存储一个交易分片,使得本申请提供的数据存储方法可以支持多网络分片并行的存储数据,提高了数据存储的性能。
步骤S104、将每一交易分片按照对应的存储方案存储到对应的网络分片中。
具体的,上述的步骤S104可以包括:对于每一个存在对应的交易分片的网络分片,根据预设的再生码生成所述网络分片对所述交易分片的存储方案,并按照所述存储方案将所述交易分片存储到所述网络分片中,其中,所述预设的再生码中包含有参数d,所述参数d为从所述网络分片中还原出所述交易分片所需的节点的数量,并且所述参数d小于所述网络分片中的节点的数量,所述存储方案包括,在组成所述网络分片的节点中选择d+1个节点作为存储所述交易分片的存储节点,将所述交易分片划分成d×(d+1)/2个交易再分片,每一个所述存储节点存储d个不同的所述交易再分片,并且每一个所述交易再分片被两个不同的所述存储节点存储。示例性的,所述预设的再生码可以包括6个参数,每一参数可以被设置如下:
第一参数q,为待存储的交易分片的长度;第二参数b=d×(d+1)/2,为划分所述交易分片得到交易再分片的数量;第三参数p=d+1,为存储节点的数量,所述存储节点可以是与所述交易分片对应的网络分片中的欲存储所述交易再分片的节点,可以在组成所述网络分片的节点中选择任意p个节点作为存储节点;第四参数d,为从所述网络分片中还原出所述交易分片所需的节点的数量;第五参数α,为所述存储节点欲存储的交易再分片的大小;第六参数β,为还原所述交易分片时存储节点所要提供的交易在分片的大小。
在此基础上,与所述预设的再生码对应的生成矩阵Mp×b,具备如下性质:
(1)组成所述生成矩阵的元素仅为0或1;
(2)所述生成矩阵中的每一行均包括d个元素1;
(3)所述生成矩阵的每一列均包括2个元素1。
所述生成矩阵可以用于表征所述网络分片对所述交易分片的存储方案,具体的,所述生成矩阵中的每一行对应着一存储节点,该行中的元素1可以表示该存储节点存储对应的交易再分片,所述生成矩阵中的每一列对应着一交易再分片,每一个交易再分片被两个不同的存储节点存储。此外,所述生成矩阵还可以具备性质(4):在所述生成矩阵中的任意相邻两行中,至少存在一个均为元素1的列,也就是说,在对应的存储方案中,任意两个相邻的存储节点,均存储至少一个相同的交易再分片,其中,所述相邻是指两节点的地理位置相邻,借助节点间的地理位置优势,可以在还原交易再分片的时候,提升数据传输速度。示例性的,对于交易分片t,可以被划分为b=d×(d+1)/2个交易再分片,表示为t=(t1,t2,…,tb)T,在生成矩阵M中,若M(x,y)=1,则存储节点x将存储交易再分片ty
步骤S105、生成各个所述网络分片的存储信息,由所述存储信息和所述原始数据包生成区块。
其中,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,所述区块被链接到区块链上。需要说明的是,在欲还原某一交易分片或一交易的情况下,可以从所述区块中获取到存储信息,从而获取到存储所述交易分片或所述交易的节点的情况,再通过预设的再生码还原得到所述交易分片或所述交易。
示例性的,图2示出了一种可能的交易分片t的存储方案,假设与所述交易分片t对应的网络分片包括5个节点,所述预设的再生码中的参数d=3,则交易分片t被划分为b=d×(d+1)/2=3×4/2=6份,在所述网络分片中选择了p=d+1=3+1=4个节点作为交易分片t的存储节点,对应的生成矩阵M如图2所示,在网络分片对交易分片t的存储方案中,节点1将存储交易再分片t1、t2、t3,节点2将存储交易再分片t2、t3、t4,节点3将存储交易再分片t4、t5、t6,节点4将存储交易再分片t1、t5、t6,节点5不存储任何交易再分片。
借由上述技术方案,本申请将一个完整的原始数据包以多个交易分片的形式分别存储到多个网络分片,一个交易分片只被一个网络分片存储,也就是说一个网络分片至多存储原始数据包的一部分,相较于每一个网络分片都存储完整的原始数据包的存储方案,本方案降低了数据存储的冗余程度,减少了存储原始数据包所需的存储空间;并且,在任意一个网络分片存储对应的交易分片的过程中,选择了所述网络分片中的d+1个节点作为存储节点,每个存储节点存储d个不同的交易再分片,其中,所述参数d是由预设的再生码给出的,所述交易再分片是对所述交易再分片进行划分得到的,一共有d×(d+1)/2个交易再分片,且每个交易再分片仅被两个不同的存储节点存储,相当于,在所述网络分片中,一共存储了d×(d+1)个交易再分片,可以整合出两个完整的所述交易分片,使得本方案具备一定的数据还原能力,也就是说,在发生一定数量的节点损坏的情况下,仍能够还原出完整的交易分片、原始数据包,并且相较于在由超过两个节点组成的网络分片中,每一个节点都存储一个完整的交易分片的存储方案,本方案降低了数据存储的冗余程度,减少了存储原始数据包所需的存储空间,从而增加了由现有的节点组成的存储服务器集群能够存储的数据量,降低了数据存储的成本。
在本申请提供的一些实施例中,所述步骤S101、确定各个所述节点所属的网络分片,可以包括:
各个所述节点分别以各自的IP地址、节点公钥、节点标识和预设的随机数为输入元素,进行哈希计算,将各个所述哈希计算的结果的后λ位作为对应的节点所属的网络分片的位置;
各个所述节点广播各自所属的网络分片的位置,由具备相同的所述网络分片的位置的节点组成一个网络分片。
具体的,可以将一节点的IP地址、节点公钥PK、节点标识ID和预设的随机数拼接起来作为该节点的输入元素,所述预设的随机数可以是对应的分片纪元i所使用的随机数noncei
在一种可能的实现方式中,在各个所述节点广播各自所属的网络分片的位置,由具备相同的所述网络分片的位置的节点组成一个网络分片之后,还可以包括:
进行各个所述网络分片间的节点交换,以平衡各个所述网络分片的存储能力;
各个所述节点广播并共识各自所属的网络分片。
具体的,所述各个所述网络分片间的节点交换可以由任意选择的一个节点进行,该节点获取各节点的计算能力和存储能力,计算得到各个网络分片的存储能力,在各个网络分片的存储能力不平衡的情况下,随机选取属于不同的网络分片的部分节点,进行节点交换,以平衡各个所述网络分片的存储能力,使得各个网络分片可以处理一个量级的数据,具备近似的数据处理和数据存储能力。需要说明的是,由于网络分片的确定、交易分片所对应的网络分片的确定、基于再生码的存储方案的确定、区块链共识、多节点协调存储一交易分片、以及数据还原等都需要节点具备一定的计算能力,为提高存储效率、存储空间利用率以及灾备能力等,在进行节点交换时需要综合考虑节点的计算能力和存储能力。
在本申请提供的一些实施例中,每一个所述网络分片中包含有一个调度节点。
其中,所述调度节点可以是依据组成所述网络分片中的各节点的计算能力、存储能力和状态等信息,从各所述节点中被选择出来的。所述调度节点可以调度网络分片中的其他节点,可以记录由各节点组成的存储服务器集群中的元数据,即描述数据属性的信息,可以记录存储服务器集群中的各节点状态信息、分片日志、存储日志、编码日志等,所述存储节点可以将上述信息存储到区块链中,以实现防止数据丢失的目的,并且可以在原始调度节点故障的情况下,重新选取调度节点,新调度节点获取上述信息、接替原始调度节点工作。
在此基础上,在所述将待存储的原始数据包划分成多个不同的交易分片之前,还可以包括:
从所有的所述调度节点中选择一个调度主节点,所述调度主节点用于将待存储的原始数据包划分成多个不同的交易分片,以及确定每一个所述交易分片对应的网络分片。
其中,所述调度主节点的选取方式可以是根据实际需求设置的,所述调度主节点可以是随机选取的,也可以是根据各个调度节点的信任值选取的,还可以是根据各个调度节点的算力选取的。在一轮分片存储中,即在存储一个原始数据包的过程中,选择一次调度主节点,当所述原始数据包被存储完毕、生成了一个新区块,则该轮分片存储结束。若在该轮分片存储的过程中,所述调度主节点发生故障,则需要重新选择调度主节点。
可选的,在所述调度主节点将待存储的原始数据包划分为多个不同的交易分片之前,还可以包括:
所述调度主节点获取待存储的原始数据包,计算所述原始数据包的哈希值,将所述原始数据包划分成若干条交易,并计算每一条交易的哈希值,并广播所述每一条交易的哈希值,以供其他网络分片验证。
其中,所述原始数据包的哈希值可以用于验证所述原始数据包的完整性,例如,可以在从区块链中还原所述原始数据包时,验证对该数据包的还原的准确性;广播所述每一条交易的哈希值给其他网络分片验证,可以避免所述调度主节点恶意篡改数据或者数据丢失。
在一种可能的实现方式中,在所述将待存储的原始数据包划分成多个不同的交易分片之后,还可以包括:所述调度主节点计算每一个所述交易分片的哈希值。
在此基础上,所述确定每一个所述交易分片对应的网络分片,可以包括:
所述调度主节点分别以各个所述交易分片、预设的随机数和所述调度主节点的节点公钥为输入元素,进行哈希计算,由各个所述哈希计算的结果的后μ位确定各个所述交易分片对应的网络分片;
所述调度主节点广播各个所述交易分片的哈希值和各自对应的网络分片,以供各个网络分片验证各自对应的交易分片。
具体的,可以将所述交易分片t、预设的随机数和所述调度主节点的节点公钥PK拼接起来作为该交易分片的输入元素,所述预设的随机数可以是对应的分片纪元i所使用的随机数noncei。此外,上述参数λ和μ可以是两个不同的数,但可以根据所述哈希计算的结果的后μ位确定所述交易分片对应的网络分片,建立交易分片和网络分片间一对一的对应关系。
需要说明的是,在所述调度主节点共识所述交易分片的划分结果的情况下,由于确定每一个所述交易分片对应的网络分片的方法,是区块链内部的各个网络分片公知的,各个网络分片均可按照上述的方法确定与该网络分片对应的交易分片,验证所述调度主节点为所述网络分片确定的交易分片。其中,所述共识可以是投票类共识,也可以是计算类共识,对于一个网络分片而言,其内部的所述节点采用的共识协议是一致的,不同网络分片可以采用不同的共识协议。
在本申请提供的一些实施例中,所述将待存储的原始数据包划分成多个不同的交易分片,可以包括:
将待存储的原始数据包平均的划分成多个不同的交易分片;
将所述交易分片划分成d×(d+1)/2个交易再分片,可以包括:
将所述交易分片平均的划分成d×(d+1)/2个交易再分片。
具体的,若无法对所述原始数据包进行等分,可以在所述原始数据包后填充空白符,以使各个交易分片的大小基本一致。本申请提供的数据存储方法,通过一个网络分片存储一个交易分片,以及在划分交易分片和交易再分片的时候,进行平均划分,可以实现各交易分片、交易再分片的并行存储,提高由各节点组成的存储服务器集群对所述原始数据包的存储速度。
在一种可能的实现方式中,所述交易分片的数量不多于所述网络分片的数量。
在此基础上,在由各个所述哈希计算的结果的后μ位确定各个所述交易分片对应的网络分片之后,还可以包括:
所述调度主节点进一步建立所述交易分片中的指定核心交易分片与空闲网络分片间的对应关系,所述空闲网络分片为不存在对应的交易分片的网络分片。
通过建立所述交易分片中的指定核心交易分片与空闲网络分片间的对应关系,实现了空闲网络分片对指定核心交易分片的冗余存储,所述指定核心交易分片可以是包含有重要交易的交易分片,也就是说,可以由多个网络分片存储包含有重要交易的交易分片,从而提高了重要交易数据的可恢复能力。
在本申请提供的一些实施例中,所述生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,可以包括:
对于每一个存在对应的交易分片的网络分片,所述网络分片中的调度节点利用预设的分片纪元参数、所述交易分片的哈希值、所述网络分片的标识、所述网络分片对所述交易分片的存储方案和所述调度节点的标识生成所述网络分片的存储子信息;
所述调度主节点整合各个所述存储子信息,得到所述区块链中的各个节点对所述原始数据包的存储信息。
其中,所述网络分片对所述交易分片的存储方案,可以是通过各个存储节点向所述调度节点反馈各交易再分片的存储情况的方式被所述调度节点获取的,所述存储节点可以是所述网络分片中存储了所述交易分片的节点。
示例性的,网络分片k的存储子信息可以表示为Tk={i,H(t),IDk,Mkk},其中,i为分片纪元,H(t)为交易分片t的哈希值,IDk为网络分片k的标识ID,Mk为网络分片k对交易分片t的存储方案,σk为网络分片k的调度节点的标识;所述调度主节点整合各个所述存储子信息得到的存储信息,可以表示为Ti={Tk}m k=1,其中,i为分片纪元,Tk为网络分片k的存储子信息,m为网络分片的总数量。
在上述的基础上,由所述存储信息和所述原始数据包生成区块,可以包括:
所述调度主节点由前一个区块的哈希值、时间戳、默克尔根和所述存储信息生成区块头,由所述原始数据包生成区块体,由所述区块头和所述区块体生成新的区块。
在本申请提供的一些实施例中,所述节点中还包含一个服务节点,所述服务节点用于从各个数据生成终端获取原始数据,整合各个所述原始数据生成原始数据包,将所述原始数据包上链,以供所述调度主节点获取。
具体的,所述服务节点可以定期将整合生成的原始数据包上链,定期上传原始数据包相较于每获取一个原始数据上传一次的方案,减少了数据传输开销。在此基础上,调度主节点可以通过区块链中的公钥和私钥,建立安全信道以获取所述原始数据包,提升了数据传输的安全性。需要说明的是,所述服务节点可以是组成区块链的各个节点中的一个,可以是根据各节点的计算能力、存储能力、地理位置、状态等信息确定的。
此外,在进行数据存储的过程中,组成存储服务器集群的各个节点可以有三种角色,分别是服务节点、调度节点和存储节点,各节点的角色可以是根据自身的计算能力、存储能力、地理位置、状态等信息确定的,通过确定各节点的角色,可以提高分布式存储的协调能力,提高各存储服务器的利用率。在一个存储服务器集群中,可以有一个服务节点和若干个调度节点,每一调度节点可以调度若干个存储节点。按照地理位置,可以将组成存储服务器集群的各个节点划分为多个子集群,以便进行存储服务器的部署和管理。需要说明的是,网络分片是依据各节点的节点IP等信息划分的,一个子集群可以包括多个网络分片,一个网络分片包括一个调度节点和若干个存储节点。
图3是根据本申请实施例示出的一种由若干节点构建的区块链的结构示意图,结合图3所示,在分片纪元i,所述区块链可以包括m个网络分片,每一网络分片包括一个调度节点和若干个存储节点,所述区块链还包括一个服务节点,所述服务节点从各种智能终端获取数据,整合生成数据包,并广播所述数据包,以供调度主节点获取,所述调度主节点基于所述数据包创建交易分片并确定每一交易分片对应的网络分片,各网络分片共识分片结果、存储对应的交易分片,并生成包含有该网络分片的存储信息的子区块,整合各子区块,即整合各网络分片对各自的交易分片的存储情况,可以生成新的主区块。
具体的,所述服务节点主要用于与各个数据生成智能终端和数据调用智能终端交互,获取并生成原始数据包以供区块链存储,并在接收到数据调用请求的情况下,从所述区块链还原欲调用的数据,所述服务节点还可以存储临时数据和被频繁调用的数据,并通过删除不常用的数据来节省所述服务节点的存储空间;所述调度节点,可以用于调度其所属的网络分片中的各存储节点;所述存储节点,可以用于存储交易再分片,需要说明的是,预设的再生码中的参数d表征了在一网络分片中由d+1个节点作为实际存储节点来存储对应的交易分片,这里的d+1个实际存储节点可以是该网络分片所拥有的存储节点中的一部分。
在需要调用交易数据的情况下,服务节点可以根据区块中的存储信息确定组成区块链的各个节点对所述交易的存储情况,向存储了所述交易的节点发送对应的数据调用请求,以还原组成所述交易的各交易分片,整合各所述交易分片得到所述交易,计算所述交易的哈希值,以验证所还原的交易数据是否可用。需要说明的是,对于一个欲还原的交易分片t,可以具备多个不同的还原方案,可以将能够还原出所述交易分片的一组存储节点x称为集合B,对每一个x∈B,获取满足条件M(x,y)=1的全部y,并获取对应的交易再分片ty,即可还原出交易分片t。假设对交易分片进行了b=d×(d+1)/2等分,每一个交易再分片的大小为a,每一个存储节点均存储了d个交易再分片,若想从d个存储节点中还原出所述交易分片,则每一个存储节点需至少提供ceil((d+1)/2)个交易再分片,其中,ceil((d+1)/2)为(d+1)/2向上取整,则每一个存储节点将提供的交易再分片的大小为a×ceil((d+1)/2)。示例性的,图4示出了一种可能的还原交易分片的过程示意图,结合图4所示,假设预设的再生码中的参数d等于3,则交易分片t被平均的划分成6个不同的交易再分片,由网络分片中的4个存储节点进行存储,每一个所述存储节点存储3个不同的交易再分片,在各存储节点均无故障的情况下,每一个存储节点可以提供2个不同的交易再分片以还原所述交易分片t,示例性的,可以由节点1提供交易再分片t1、t2,节点2提供交易再分片t3、t4,节点3提供交易再分片t5、t6。图5示出了另一种可能的还原交易分片的过程示意图,在节点1故障的情况下,示例性的,可以由节点2提供交易再分片t2、t3,节点3提供交易再分片t4、t6,节点4提供交易再分片t1、t5,来还原交易分片t。
本申请提供的数据存储方法具备一定的备份和灾难恢复能力,除了体现在能够在一定数量的存储节点故障的情况下还原出完整的交易分片之外,还体现在能够在任一存储节点故障的情况下,还原出所述故障的存储节点所存储的交易再分片。在本申请提供的一些实施例中,该方法还可以包括:
在任一网络分片中的任一存储节点故障的情况下,获取所述网络分片的存储信息,根据所述存储信息确定故障的存储节点所存储的交易再分片,并从所述网络分片中的其余存储节点中获取所述交易再分片,以还原所述故障的存储节点所存储的交易再分片。
此外,可以将还原出的所述故障的存储节点所存储的交易再分片分配给所述网络分片中的其他存储节点来存储,来保证该网络分片的数据还原能力;也可以新增一个存储节点来存储所述交易再分片,即以新增节点来替代所述故障的存储节点,新增节点可以与区块链中的原始节点交互,也就是说,本申请提供的数据存储方法适用于不断新增节点的区块链网络,具备线性增容能力,可以通过新增存储节点的方式来增加存储空间。
下面对本申请实施例提供的一种数据存储装置进行描述,下文描述的数据存储装置与上文描述的数据存储方法可相互对应参照。
参见图6,图6为本申请实施例公开的一种基于分布式网络编码的区块链存储优化装置的结构示意图。
如图6所示,该装置可以应用于由若干节点所构建的区块链,包括:
网络分片划分单元11,用于确定各个所述节点所属的网络分片,得到多个不同的网络分片;
交易分片划分单元12,用于将待存储的原始数据包划分成多个不同的交易分片;
网络分片确定单元13,用于确定每一个所述交易分片对应的网络分片,其中,每一个所述网络分片至多与一个所述交易分片对应;
交易分片存储单元14,用于根据预设的再生码,生成每一个存在对应的交易分片的网络分片存储对应的交易分片的存储方案,并将各交易分片按照对应的存储方案存储到对应的网络分片中,其中,所述预设的再生码中包含有参数d,所述参数d为从所述网络分片中还原出所述交易分片所需的节点的数量,并且所述参数d小于所述网络分片中的节点的数量,所述存储方案包括,在组成所述网络分片的节点中选择d+1个节点作为存储所述交易分片的存储节点,将所述交易分片划分成d×(d+1)/2个交易再分片,每一个所述存储节点存储d个不同的所述交易再分片,并且每一个所述交易再分片被两个不同的所述存储节点存储;
区块生成单元15,用于生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,由所述存储信息和所述原始数据包生成区块,所述区块被链接到区块链上。
本申请提供了一种基于分布式网络编码的区块链存储优化装置,包括网络分片划分单元、交易分片划分单元、网络分片确定单元、交易分片存储单元和区块生成单元,可以将一个完整的原始数据包以多个交易分片的形式分别存储到多个网络分片,一个交易分片只被一个网络分片存储,降低了数据存储的冗余程度,减少了存储原始数据包所需的存储空间从而增加了由现有的节点组成的存储服务器集群能够存储的数据量。
在一种可能的实现方式中,所述网络分片划分单元11确定各个所述节点所属的网络分片的过程,可以包括:
令各个节点分别以各自的IP地址、节点公钥、节点标识和预设的随机数为输入元素,进行哈希计算,将各个所述哈希计算的结果的后λ位作为对应的节点所属的网络分片的位置;
令各个所述节点广播各自所属的网络分片的位置,由具备相同的所述网络分片的位置的节点组成一个网络分片。
在上述的基础上,所述网络分片划分单元11确定各个所述节点所属的网络分片的过程,还可以包括:
在由具备相同的所述网络分片的位置的节点组成一个网络分片之后,进行各个所述网络分片间的节点交换,以平衡各个所述网络分片的存储能力,令各个所述节点广播并共识各自所属的网络分片。
在一种可能的实现方式中,每一个所述网络分片中包含有一个调度节点;
在上述的基础上,该装置还可以包括调度主节点选择单元,用于从所有的所述调度节点中选择一个作为调度主节点;
所述交易分片划分单元12将待存储的原始数据包划分成多个不同的交易分片的过程,可以包括:
令调度主节点将待存储的原始数据包划分成多个不同的交易分片。
在一种可能的实现方式中,所述交易分片划分单元12,还可以用于供所述调度主节点计算每一个所述交易分片的哈希值。
在上述的基础上,所述网络分片确定单元13,确定每一个所述交易分片对应的网络分片的过程,可以包括:
令所述调度主节点分别以各个所述交易分片、预设的随机数和所述调度主节点的节点公钥为输入元素,进行哈希计算,由各个所述哈希计算的结果的后μ位确定各个所述交易分片对应的网络分片;
令所述调度主节点广播各个所述交易分片的哈希值和各自对应的网络分片,以供各个网络分片验证各自对应的交易分片。
在一种可能的实现方式中,所述交易分片的数量可以不多于所述网络分片的数量。
在上述的基础上,所述网络分片确定单元13,确定每一个所述交易分片对应的网络分片的过程,还可以包括:
令所述调度主节点进一步建立所述交易分片中的指定核心交易分片与空闲网络分片间的对应关系,所述空闲网络分片为不存在对应的交易分片的网络分片。
在一种可能的实现方式中,所述区块生成单元15,生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,由所述存储信息和所述原始数据包生成区块的过程,可以包括:
令每一个存在对应的交易分片的网络分片中的调度节点利用预设的分片纪元参数、所述交易分片的哈希值、所述网络分片的标识、所述网络分片对所述交易分片的存储方案和所述调度节点的标识生成所述网络分片的存储子信息;
令所述调度主节点整合各个所述存储子信息,得到所述区块链中的各个节点对所述原始数据包的存储信息;
令所述调度主节点由前一个区块的哈希值、时间戳、默克尔根和所述存储信息生成区块头,由所述原始数据包生成区块体,由所述区块头和所述区块体生成新的区块。
在一种可能的实现方式中,构建所述区块链的各节点中还包含一个服务节点,所述服务节点可以用于从各个数据生成终端获取原始数据,整合各个所述原始数据生成原始数据包,将所述原始数据包上链,以供所述调度主节点获取。
在一种可能的实现方式中,所述数据存储装置还可以包括交易再分片还原单元,用于在任一网络分片中的任一存储节点故障的情况下,获取所述网络分片的存储信息,根据所述存储信息确定故障的存储节点所存储的交易再分片,并从所述网络分片中的其余存储节点中获取所述交易再分片,以还原所述故障的存储节点所存储的交易再分片。
在一种可能的实现方式中,所述交易分片划分单元12将待存储的原始数据包划分成多个不同的交易分片的过程,可以包括:
将待存储的原始数据包平均的划分成多个不同的交易分片;
所述交易分片存储单元14将所述交易分片划分成d×(d+1)/2个交易再分片的过程,可以包括:
将所述交易分片平均的划分成d×(d+1)/2个交易再分片。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种基于分布式网络编码的区块链存储优化方法,其特征在于,应用于由若干节点所构建的区块链,该方法包括:
确定各个所述节点所属的网络分片,得到多个不同的网络分片;
将待存储的原始数据包划分成多个不同的交易分片;
确定每一个所述交易分片对应的网络分片,其中,每一个所述网络分片至多与一个所述交易分片对应;
对于每一个存在对应的交易分片的网络分片,根据预设的再生码生成所述网络分片对所述交易分片的存储方案,并按照所述存储方案将所述交易分片存储到所述网络分片中,其中,所述预设的再生码中包含有参数d,所述参数d为从所述网络分片中还原出所述交易分片所需的节点的数量,并且所述参数d小于所述网络分片中的节点的数量,所述存储方案包括,在组成所述网络分片的节点中选择d+1个节点作为存储所述交易分片的存储节点,将所述交易分片划分成d×(d+1)/2个交易再分片,每一个所述存储节点存储d个不同的所述交易再分片,并且每一个所述交易再分片被两个不同的所述存储节点存储;
生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,由所述存储信息和所述原始数据包生成区块,所述区块被链接到区块链上。
2.根据权利要求1所述的方法,其特征在于,所述确定各个所述节点所属的网络分片,包括:
各个所述节点分别以各自的IP地址、节点公钥、节点标识和预设的随机数为输入元素,进行哈希计算,将各个所述哈希计算的结果的后λ位作为对应的节点所属的网络分片的位置;
各个所述节点广播各自所属的网络分片的位置,由具备相同的所述网络分片的位置的节点组成一个网络分片。
3.根据权利要求2所述的方法,其特征在于,在各个所述节点广播各自所属的网络分片的位置,由具备相同的所述网络分片的位置的节点组成一个网络分片之后,还包括:
进行各个所述网络分片间的节点交换,以平衡各个所述网络分片的存储能力;
各个所述节点广播并共识各自所属的网络分片。
4.根据权利要求1所述的方法,其特征在于,每一个所述网络分片中包含有一个调度节点;
在所述将待存储的原始数据包划分成多个不同的交易分片之前,还包括:
从所有的所述调度节点中选择一个调度主节点,所述调度主节点用于将待存储的原始数据包划分成多个不同的交易分片,以及确定每一个所述交易分片对应的网络分片。
5.根据权利要求4所述的方法,其特征在于,在所述将待存储的原始数据包划分成多个不同的交易分片之后,还包括:所述调度主节点计算每一个所述交易分片的哈希值;
所述确定每一个所述交易分片对应的网络分片,包括:
所述调度主节点分别以各个所述交易分片、预设的随机数和所述调度主节点的节点公钥为输入元素,进行哈希计算,由各个所述哈希计算的结果的后μ位确定各个所述交易分片对应的网络分片;
所述调度主节点广播各个所述交易分片的哈希值和各自对应的网络分片,以供各个网络分片验证各自对应的交易分片。
6.根据权利要求5所述的方法,其特征在于,所述交易分片的数量不多于所述网络分片的数量;
在由各个所述哈希计算的结果的后μ位确定各个所述交易分片对应的网络分片之后,还包括:
所述调度主节点进一步建立所述交易分片中的指定核心交易分片与空闲网络分片间的对应关系,所述空闲网络分片为不存在对应的交易分片的网络分片。
7.根据权利要求4所述的方法,其特征在于,所述生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,包括:
对于每一个存在对应的交易分片的网络分片,所述网络分片中的调度节点利用预设的分片纪元参数、所述交易分片的哈希值、所述网络分片的标识、所述网络分片对所述交易分片的存储方案和所述调度节点的标识生成所述网络分片的存储子信息;
所述调度主节点整合各个所述存储子信息,得到所述区块链中的各个节点对所述原始数据包的存储信息;
由所述存储信息和所述原始数据包生成区块,包括:
所述调度主节点由前一个区块的哈希值、时间戳、默克尔根和所述存储信息生成区块头,由所述原始数据包生成区块体,由所述区块头和所述区块体生成新的区块。
8.根据权利要求4所述的方法,其特征在于,所述节点中还包含一个服务节点,所述服务节点用于从各个数据生成终端获取原始数据,整合各个所述原始数据生成原始数据包,将所述原始数据包上链,以供所述调度主节点获取。
9.根据权利要求1所述的方法,其特征在于,该方法还包括:
在任一网络分片中的任一存储节点故障的情况下,获取所述网络分片的存储信息,根据所述存储信息确定故障的存储节点所存储的交易再分片,并从所述网络分片中的其余存储节点中获取所述交易再分片,以还原所述故障的存储节点所存储的交易再分片。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述将待存储的原始数据包划分成多个不同的交易分片,包括:
将待存储的原始数据包平均的划分成多个不同的交易分片;
将所述交易分片划分成d×(d+1)/2个交易再分片,包括:
将所述交易分片平均的划分成d×(d+1)/2个交易再分片。
11.一种基于分布式网络编码的区块链存储优化装置,其特征在于,应用于由若干节点所构建的区块链,该装置包括:
网络分片划分单元,用于确定各个所述节点所属的网络分片,得到多个不同的网络分片;
交易分片划分单元,用于将待存储的原始数据包划分成多个不同的交易分片;
网络分片确定单元,用于确定每一个所述交易分片对应的网络分片,其中,每一个所述网络分片至多与一个所述交易分片对应;
交易分片存储单元,用于根据预设的再生码,生成每一个存在对应的交易分片的网络分片存储对应的交易分片的存储方案,并将各交易分片按照对应的存储方案存储到对应的网络分片中,其中,所述预设的再生码中包含有参数d,所述参数d为从所述网络分片中还原出所述交易分片所需的节点的数量,并且所述参数d小于所述网络分片中的节点的数量,所述存储方案包括,在组成所述网络分片的节点中选择d+1个节点作为存储所述交易分片的存储节点,将所述交易分片划分成d×(d+1)/2个交易再分片,每一个所述存储节点存储d个不同的所述交易再分片,并且每一个所述交易再分片被两个不同的所述存储节点存储;
区块生成单元,用于生成各个所述网络分片的存储信息,所述存储信息用于表征各个所述网络分片存储对应的交易分片的存储方案,由所述存储信息和所述原始数据包生成区块,所述区块被链接到区块链上。
CN202211185939.0A 2022-09-27 2022-09-27 基于分布式网络编码的区块链存储优化方法及装置 Active CN115292340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211185939.0A CN115292340B (zh) 2022-09-27 2022-09-27 基于分布式网络编码的区块链存储优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211185939.0A CN115292340B (zh) 2022-09-27 2022-09-27 基于分布式网络编码的区块链存储优化方法及装置

Publications (2)

Publication Number Publication Date
CN115292340A true CN115292340A (zh) 2022-11-04
CN115292340B CN115292340B (zh) 2022-12-02

Family

ID=83834423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211185939.0A Active CN115292340B (zh) 2022-09-27 2022-09-27 基于分布式网络编码的区块链存储优化方法及装置

Country Status (1)

Country Link
CN (1) CN115292340B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880778B (zh) * 2023-09-07 2023-11-21 杭州迅杭科技有限公司 一种基于再生编码及分布式存储的用户隐私保护方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603198A (zh) * 2016-12-02 2017-04-26 深圳大学 具有网络编码的区块链分布式存储方法及系统
KR102057570B1 (ko) * 2019-09-16 2020-01-23 (주) 모로보기 블록체인 네트워크
CN111127013A (zh) * 2019-12-24 2020-05-08 深圳大学 基于区块链的去中心化数据交易方法、装置、设备及介质
CN112511590A (zh) * 2020-10-26 2021-03-16 南京辰阔网络科技有限公司 一种区块链分片的高效存储重配置方法
CN112788139A (zh) * 2021-01-12 2021-05-11 北京工业大学 一种区块链存储容量优化方法及系统
CN114760328A (zh) * 2022-04-14 2022-07-15 上海威固信息技术股份有限公司 一种数据存储方法、系统、电子设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603198A (zh) * 2016-12-02 2017-04-26 深圳大学 具有网络编码的区块链分布式存储方法及系统
KR102057570B1 (ko) * 2019-09-16 2020-01-23 (주) 모로보기 블록체인 네트워크
CN111127013A (zh) * 2019-12-24 2020-05-08 深圳大学 基于区块链的去中心化数据交易方法、装置、设备及介质
CN112511590A (zh) * 2020-10-26 2021-03-16 南京辰阔网络科技有限公司 一种区块链分片的高效存储重配置方法
CN112788139A (zh) * 2021-01-12 2021-05-11 北京工业大学 一种区块链存储容量优化方法及系统
CN114760328A (zh) * 2022-04-14 2022-07-15 上海威固信息技术股份有限公司 一种数据存储方法、系统、电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DIVIJA SWETHA GADIRAJU等: "Secure Regenerating Codes for Reducing Storage and Bootstrap Costs in Sharded Blockchains", 《2020 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN)》 *
李雪伟: "区块链技术在安全云存储中的应用研究与实现", 《中国优秀硕士学位论文全文数据库》 *
陈越: "基于再生码的拟态数据存储方案", 《通信学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116880778B (zh) * 2023-09-07 2023-11-21 杭州迅杭科技有限公司 一种基于再生编码及分布式存储的用户隐私保护方法

Also Published As

Publication number Publication date
CN115292340B (zh) 2022-12-02

Similar Documents

Publication Publication Date Title
CN106406896B (zh) 一种并行PipeLine技术的区块链建块方法
CN109359223A (zh) 基于纠删码实现的区块链账本分布式存储技术
CN111625593B (zh) 基于区块链的数据处理方法、装置、计算机设备
WO2019242059A1 (zh) 一种基于树状结构的分片区块链生成方法
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
EP3596888B1 (en) System and method for ending view change protocol
TW200302645A (en) Master node selection in clustered node configurations
CN113612614B (zh) 基于区块链网络的共识容灾方法、装置、设备和存储介质
CN115292340B (zh) 基于分布式网络编码的区块链存储优化方法及装置
CN106452836B (zh) 主节点设置方法及装置
CN113141414A (zh) 一种cnfs协议中区块链节点的分组多链异步共识方法
US20230130074A1 (en) Network transmission optimization device for graph-type blockchain and method thereof
CN114338040A (zh) 一种区块链节点的分组多链三次共识方法
CN112988065A (zh) 数据迁移方法、装置、设备及存储介质
WO2009100636A1 (zh) 电信网络用户数据存储管理的方法及装置
CN113852691A (zh) 一种区块链的共识方法、共识节点及电子设备
CN114520812A (zh) 用于区块链分片系统的存储轮换方法、系统、设备及应用
CN113157450A (zh) 在区块链系统中执行区块的方法及装置
Alouf et al. Performance analysis of peer-to-peer storage systems
CN115065689B (zh) 一种基于历史评价的联盟链区块数据存储方法及系统
JP2017142605A (ja) バックアップリストアシステム及びリストア方法
CN111818152B (zh) 一种基于分布式网络的领导者选举的共识方法
Mital et al. Storage-repair bandwidth trade-off for wireless caching with partial failure and broadcast repair
CN111654393B (zh) 区块链组网方法及系统
CN114528139A (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