区块链数据存储方法及装置制造方法及图纸

技术编号:37163045 阅读:20 留言:0更新日期:2023-04-06 22:30
本说明书一个或多个实施例提供一种区块链数据存储方法及装置。其中,该方法应用于区块链节点,所述区块链节点所属区块链系统包含的所有节点被划分为多个分组;所述区块链系统维护的每一区块被划分为数据分片后,被分配至任一分组包含的多个节点进行分片存储;所述方法包括:获取分配至所述区块链节点的数据分片,该数据分片基于所述区块链系统中维护的任一区块划分得到;对获取到的数据分片进行存储;基于所述任一区块划分得到的其他数据分片被维护于所述区块链节点所属分组包含的其他节点。节点。节点。

【技术实现步骤摘要】
区块链数据存储方法及装置


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种区块链数据存储方法及装置。

技术介绍

[0002]区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
[0003]鉴于区块链技术存在上述优势,诸多用户选择将数据存储至区块链系统。

技术实现思路

[0004]有鉴于此,本说明书一个或多个实施例提供一种区块链数据存储方法及装置。
[0005]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006]根据本说明书一个或多个实施例的第一方面,提出了一种区块链系统,所述区块链系统包含的所有节点被划分为多个分组;所述区块链系统维护的每一区块被划分为数据分片后,被分配至任一分组包含的多个节点进行分片存储;
[0007]所述区块链系统中的任一节点,在获取到被分配至自身的数据分片的情况下,对获取到的数据分片进行存储;
[0008]其中,所述任一节点获取到的数据分片为:基于所述任一节点所属目标分组维护的目标区块划分得到的至少一个数据分片;基于所述目标区块划分得到的其他数据分片被维护于所述目标分组包含的其他节点。
[0009]根据本说明书一个或多个实施例的第二方面,提出了一种区块链数据存储方法,应用于区块链节点,所述区块链节点所属区块链系统包含的所有节点被划分为多个分组;所述区块链系统维护的每一区块被划分为数据分片后,被分配至任一分组包含的多个节点进行分片存储;所述方法包括:
[0010]获取分配至所述区块链节点的数据分片,该数据分片基于所述区块链系统中维护的任一区块划分得到;
[0011]对获取到的数据分片进行存储;基于所述任一区块划分得到的其他数据分片被维护于所述区块链节点所属分组包含的其他节点。
[0012]根据本说明书一个或多个实施例的第三方面,提出了一种区块链数据存储装置,应用于区块链节点,所述区块链节点所属区块链系统包含的所有节点被划分为多个分组;所述区块链系统维护的每一区块被划分为数据分片后,被分配至任一分组包含的多个节点进行分片存储;所述装置包括:
[0013]获取单元,获取分配至所述区块链节点的数据分片,该数据分片基于所述区块链系统中维护的任一区块划分得到;
[0014]存储单元,对获取到的数据分片进行存储;基于所述任一区块划分得到的其他数
据分片被维护于所述区块链节点所属分组包含的其他节点。
[0015]根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,包括:
[0016]处理器;
[0017]用于存储处理器可执行指令的存储器;
[0018]其中,所述处理器通过运行所述可执行指令以实现如第二方面所述的方法。
[0019]根据本说明书一个或多个实施例的第五方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第二方面所述方法的步骤。
附图说明
[0020]图1是一示例性实施例提供的一种区块链系统的示意图。
[0021]图2是一示例性实施例提供的一种区块链数据存储方法的流程图。
[0022]图3是一示例性实施例提供的一种区块链系统的分组示意图。
[0023]图4是一示例性实施例提供的一种区块链数据存储方法的交互图。
[0024]图5是一示例性实施例提供的一种设备的结构示意图。
[0025]图6是一示例性实施例提供的一种区块链数据存储装置的框图。
具体实施方式
[0026]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0027]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0028]区块链技术是一种分布式数据库技术,具有去中心化、不可篡改、可信任等特点。用户为保证数据的安全性,通常选择将数据存储至区块链系统。
[0029]在传统的区块链技术中,区块链系统中的每一节点均会独立维护一份区块链账本,以对区块链系统中维护的区块链数据进行多重备份。在此基础上,一旦某一节点中的数据被篡改,便会与其他节点维护的区块链账本中记录的数据不一致,进而起到防篡改的目的。
[0030]尽管传统区块链技术可以避免区块链数据被篡改,但由于需要各个节点维护独立的区块链账本,占用了较多的区块链存储资源。为此,相关技术提出了采用EC(Erasure Coding,纠删码)技术,对区块链数据进行存储的方案。
[0031]在相关技术中,在采用EC技术存储区块链数据时,区块链系统在生成任一区块之后,会根据区块链系统包含的节点数量,将该任一区块划分为与节点数量一致的数据分片,并将划分得到的各个数据分片分别发送至区块链系统包含的每一节点,以使得区块链系统
中的每一节点均维护基于该任一区块划分得到的一个数据分片。
[0032]举例而言,假设区块链系统包含10个节点,那么,区块链系统维护的任一区块均会被划分为10个数据分片,以给区块链系统的每一节点分配一个数据分片,进而使得区块链系统中的每一节点均维护该任一区块的一个数据分片。
[0033]值得注意的是,相关技术对区块进行数据划分得到的多个数据分片符合拜占庭容错规则,即在将划分得到的多个数据分片存储至各个节点之后,任一节点无需获得所有的数据分片,而只需从部分节点获得预设比例的数据分片,即可还原得到原来的区块。承接上述举例,若预设比例为3,则任一节点只需从10个节点中的任意三个节点处获取数据分片,即可基于获取到的3个数据分片还原得到区块。
[0034]不难看出,相关技术基于EC技术存储区块链数据时,尽管可以基于获取到的预设比例的数据分片还原为相应的区块,进而实现不同节点之间的数据分片的交叉验证,以避免数据分片被篡改的情况,例如,若基于从任意3个节点处获取的数据分片还原得到的区块,与基于从其他任意3个节点处获取的数据分片还原得到的区块不一致,则至少一个节点存在数据分片被篡改的问题,只需对节点进行排列组合多次进行区块还原,即可确定是哪一节点维护的数据分片被篡改。
[0035]但是,若区块链系统中的任一节点出现数据缺失的情况,而需要对该任一节点的数据分片进行恢复时,由于每一区块的数据分片遍布整个区块链系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链系统,所述区块链系统包含的所有节点被划分为多个分组;所述区块链系统维护的每一区块被划分为数据分片后,被分配至任一分组包含的多个节点进行分片存储;所述区块链系统中的任一节点,在获取到被分配至自身的数据分片的情况下,对获取到的数据分片进行存储;其中,所述任一节点获取到的数据分片为:基于所述任一节点所属目标分组维护的目标区块划分得到的至少一个数据分片;基于所述目标区块划分得到的其他数据分片被维护于所述目标分组包含的其他节点。2.根据权利要求1所述的系统,所述目标分组中包含的任一节点,在自身维护的数据分片缺失的情况下,从所述目标分组中除自身以外的其他节点处获取该其他节点维护的数据分片,以用于对自身维护的数据分片进行恢复。3.根据权利要求1所述的系统,基于任一区块划分得到的数据分片包括:数据片段和校验片段;其中,所述校验片段用于与所述数据片段配合实现所述任一区块的数据恢复。4.根据权利要求3所述的系统,基于任一区块划分得到的数据片段和校验片段符合拜占庭容错规则。5.根据权利要求3所述的系统,不同分组基于被分配至各自的区块划分得到的数据片段和校验片段的比例不同。6.根据权利要求1所述的系统,所述目标分组中包含的任一节点,还用于:获取被分配至所述目标分组中的其他节点的数据分片,以对获取到的数据分片进行备份;将分配至自身的数据分片提供至所述目标分组包含的其他节点,以由所述其他节点对分配至所述任一节点的数据分片进行备份。7.根据权利要求6所述的系统,所述目标分组中包含的任一节点,还用于:在所述目标分组中的其他节点存储的数据分片缺失的情况下,将备份的被分配至所述其他节点的数据分片提供至所述其他节点,以由所述其他节点用于对维护的数据分片进行恢复。8.根据权利要求1所述的系统,任一分组维护的区块按照所述任一分组包含的节点数量,被划分为数据分片,以使所述任一分组包含的各个节点均被分配一个数据分片。9.根据权利要求1所述的系统,所述区块链系统中满足下述条件中的至少之一的节点,被划分为同一分组:节点之间的物理距离不超过预设距离;节点之间的网络传输质量达到预设要求;节点之间的传输成本低于预设成本;分属于不同的通信网络。10.一种区块链数据存储方法,应用于区块链节点,所述区块链节点所属区块链系统包...

【专利技术属性】
技术研发人员:陈骁杰
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1