本说明书一个或多个实施例涉及区块链,尤其涉及一种区块链数据存储方法及装置。
背景技术:
1、区块链技术(也被称之为,分布式账本技术)是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
2、鉴于区块链技术存在上述优势,诸多用户选择将数据存储至区块链系统。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种区块链数据存储方法及装置。
2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
3、根据本说明书一个或多个实施例的第一方面,提出了一种区块链系统,所述区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;所述系统包括:
4、第一节点,获取分配至所述第一节点的数据分片,并对所述数据分片进行存储;分配至所述第一节点的数据分片基于所述区块链系统维护的任一区块划分得到;
5、第二节点,获取分配至所述第一节点的数据分片,以对分配至所述第一节点的数据分片进行备份。
6、根据本说明书一个或多个实施例的第二方面,提出了一种区块链数据存储方法,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;所述方法包括:
7、在获取到分配至所述区块链节点的数据分片的情况下,对获取到的数据分片进行存储;分配至所述区块链节点的数据分片基于所述区块链系统中维护的任一区块划分得到;
8、将所述数据分片发送至所述区块链系统中的部分节点,以由所述部分节点对分配至所述区块链节点的数据分片进行备份;
9、响应于所述区块链系统中的其他节点发送的备份请求,对所述备份请求中包含的分配至所述其他节点的数据分片进行备份。
10、根据本说明书一个或多个实施例的第三方面,提出了一种区块链数据查询方法,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;分配至任一节点进行存储的数据分片还被备份至区别于所述任一节点的其他节点;所述方法包括:
11、响应于客户端发起的针对目标数据分片的获取请求,确定所述区块链系统中用于对所述目标数据分片进行存储的目标节点;
12、在所述目标节点中存储的所述目标数据分片缺失的情况下,确定出所述区块链系统中备份有所述目标数据分片的备份节点;
13、将所述获取请求转发至所述备份节点,以由所述备份节点将备份的所述目标数据分片返回至所述客户端。
14、根据本说明书一个或多个实施例的第四方面,提出了一种区块链数据存储装置,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;所述装置包括:
15、存储单元,在获取到分配至所述区块链节点的数据分片的情况下,对获取到的数据分片进行存储;分配至所述区块链节点的数据分片基于所述区块链系统中维护的任一区块划分得到;
16、发送单元,将所述数据分片发送至所述区块链系统中的部分节点,以由所述部分节点对分配至所述区块链节点的数据分片进行备份;
17、备份单元,响应于所述区块链系统中的其他节点发送的备份请求,对所述备份请求中包含的分配至所述其他节点的数据分片进行备份。
18、根据本说明书一个或多个实施例的第五方面,提出了一种区块链数据查询装置,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;分配至任一节点进行存储的数据分片还被备份至区别于所述任一节点的其他节点;所述装置包括:
19、响应单元,响应于客户端发起的针对目标数据分片的获取请求,确定所述区块链系统中用于对所述目标数据分片进行存储的目标节点;
20、确定单元,在所述目标节点中存储的所述目标数据分片缺失的情况下,确定出所述区块链系统中备份有所述目标数据分片的备份节点;
21、转发单元,将所述获取请求转发至所述备份节点,以由所述备份节点将备份的所述目标数据分片返回至所述客户端。
22、根据本说明书一个或多个实施例的第六方面,提出了一种电子设备,包括:
23、处理器;
24、用于存储处理器可执行指令的存储器;
25、其中,所述处理器通过运行所述可执行指令以实现如第二方面或第三方面所述的方法。
26、根据本说明书一个或多个实施例的第七方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第二方面或第三方面所述方法的步骤。
1.一种区块链系统,所述区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;所述系统包括:
2.根据权利要求1所述的系统,还包括:
3.根据权利要求1所述的系统,
4.根据权利要求1所述的系统,所述第二节点,还包括:
5.根据权利要求4所述的系统,所述区块链系统中的各个节点均维护有:各个数据分片与用于备份相应数据分片的节点的备份关系,所述任一节点基于所述备份关系转发所述获取请求。
6.根据权利要求1所述的系统,所述第二节点为:所述区块链系统中与所述第一节点存在关联关系的节点;在下述至少一种情况下,所述第一节点和所述第二节点存在关联关系:
7.根据权利要求1所述的系统,基于任一区块划分得到的数据分片包括:数据片段和校验片段;所述校验片段用于与所述数据片段配合实现所述任一区块的数据恢复。
8.一种区块链数据存储方法,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;所述方法包括:
9.根据权利要求8所述的方法,
10.根据权利要求8所述的方法,还包括:
11.根据权利要求10所述的方法,所述区块链系统中的各个节点均维护有:各个数据分片与用于备份相应数据分片的节点的备份关系;所述获取请求由所述任一节点基于所述备份关系发起。
12.根据权利要求10所述的方法,所述区块链系统中的各个节点均维护有:各个数据分片与各自所分配节点的分配关系;所述任一节点通过基于所述分配关系向所述其他节点转发所述客户端发起的获取请求的方式,确定所述其他节点中维护的所述目标数据分片缺失。
13.根据权利要求8所述的方法,所述将所述数据分片发送至所述区块链系统中的部分节点,包括:
14.根据权利要求13所述的方法,所述预设条件包括下述至少之一:
15.根据权利要求8所述的方法,还包括:
16.根据权利要求8所述的方法,
17.一种区块链数据查询方法,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;分配至任一节点进行存储的数据分片还被备份至区别于所述任一节点的其他节点;所述方法包括:
18.根据权利要求17所述的方法,
19.根据权利要求17所述的方法,所述其他节点与所述任一节点之间存在关联关系;在下述至少一种情况下,所述其他节点与所述任一节点存在关联关系:
20.根据权利要求17所述的方法,
21.一种区块链数据存储装置,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;所述装置包括:
22.一种区块链数据查询装置,应用于区块链节点;所述区块链节点所属区块链系统中维护的区块被划分为数据分片后,被分配至多个节点进行分片存储;分配至任一节点进行存5储的数据分片还被备份至区别于所述任一节点的其他节点;所述装置包括:
23.一种电子设备,包括:
24.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求8-20中任一项所述方法的步骤。