一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的数据存储方法、装置、设备及介质与流程

2022-12-09 22:29:50 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体涉及人工智能领域,尤其涉及一种基于区块链的数据存储方法、一种基于区块链的数据存储装置、一种基于区块链的数据存储设备以及一种计算机可读存储介质。


背景技术:

2.随着计算机技术的快速发展,区块链技术逐渐受到用户关注,越来越多的用户或企业选择将数据存储至区块链,以防止数据被篡改。共识是区块链技术的基础,所谓共识是指区块链网络中的节点通过共识算法对新生成的区块进行共识校验,共识校验成功就将区块上链至区块链,以实现将区块数据存储至区块链;共识校验失败则该新区块不能被上链至区块链。因此,在通过区块链进行数据存储的过程中,如何实现安全、有效地共识是一个重要的研究课题。


技术实现要素:

3.本技术实施例提供一种基于区块链的数据存储方法、装置、设备及介质,在通过区块链进行数据存储的过程中,设计了安全有效的共识方案,在保证区块链不可篡改性的基础上,还可实现对业务数据的集中监管、集中管理的目的。
4.一方面,本技术实施例提供一种基于区块链的数据存储方法,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;该数据存储方法由共识委员会中的目标代表节点执行,目标代表节点是共识委员会中的任一个代表节点;该数据存储方法包括:
5.获取区块链网络中等待共识的目标共识链,区块链网络包含待共识的至少一条共识链,每条共识链由一个或多个共识待选区块顺序链接而成,每个共识待选区块均是通过监管节点审查的区块;目标共识链是至少一条共识链中最长的链;
6.从目标共识链中选择目标共识待选区块,目标共识待选区块是目标共识链上处于目标位置的共识待选区块;
7.对目标共识待选区块进行共识验证;
8.若目标共识待选区块成功通过共识委员会的共识验证,则将目标共识待选区块确定为最终区块,并将最终区块存储至区块链中。
9.本技术实施例中,可以从区块链网络中等待共识的至少一条共识链中获取目标共识链,该目标共识链是该至少一条共识链中最长的链;并且该至少一条共识链上的共识待选区块均是通过监管节点审查的区块;此设计是保证只有通过监管节点审查的区块才能够被执行共识处理,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,选择对目标共识链中处于目标位置的
目标共识待选区块来进行共识,并在共识验证成功后将该目标共识待选区块确定为最终区块并上链至区块链;这个过程能够有序地将区块链网络中的多个共识集群所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
10.一方面,本技术实施例提供一种基于区块链的数据存储方法,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;共识委员会中任一个代表节点表示为目标代表节点,该数据存储方法由监管节点来执行;该数据存储方法包括:
11.从区块链的共识树上确定目标代表节点提交的待处理的目标业务区块;
12.对待处理的目标业务区块进行审查;
13.若审查通过,则从待处理的目标业务区块中提取业务数据;
14.对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块;
15.在区块链的共识树上将待处理的目标业务区块更新为目标共识待选区块,以使共识委员会对目标共识待选区块进行共识验证,其中,若目标共识待选区块是区块链网络中的目标共识链上处于目标位置的区块,当目标共识待选区块成功通过共识委员会的共识验证时,由共识委员会将目标共识待选区块作为最终区块并存储至区块链中。
16.本技术实施例中,可以获取待处理的目标业务区块,并在对待处理的目标业务区块审查通过后,从待处理的目标业务区块中提取业务数据进行存储,能够实现对区块链网络中的业务数据的集中存储、管理,提高业务数据的隐私性,也节省共识节点的存储资源;并且,在提取待处理的目标业务区块的业务数据后,还对该待处理的目标业务区块进行签名,使得签名后的待处理的目标业务区块更新为目标共识待选区块,这样后续代表节点可以通过验证监管节点的签名,快捷地验证该目标共识待选区块的有效性,进而提高区块链网络的共识效率。
17.另一方面,本技术实施例提供一种基于区块链的数据存储装置,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;该数据存储装置搭载于目标代表节点上,目标代表节点是共识委员会中的任一个代表节点;该数据存储装置包括:
18.获取单元,用于获取区块链网络中等待共识的目标共识链,区块链网络包含待共识的至少一条共识链,每条共识链由一个或多个共识待选区块顺序链接而成,每个共识待选区块均是通过监管节点审查的区块;目标共识链是至少一条共识链中最长的链;
19.处理单元,用于从目标共识链中选择目标共识待选区块,目标共识待选区块是目标共识链上处于目标位置的共识待选区块;
20.处理单元,还用于对目标共识待选区块进行共识验证;
21.处理单元,还用于若目标共识待选区块成功通过共识委员会的共识验证,则将目标共识待选区块确定为最终区块,并将最终区块存储至区块链中。
22.在一种实现方式中,目标共识待选区块是由待处理的目标业务区块转换得到;处理单元,还用于:
23.将待处理的目标业务区块提交至区块链的共识树,触发监管节点对共识树上的待处理的目标业务区块进行审查,并在审查通过后由监管节点将待处理的目标业务区块处理为目标共识待选区块。
24.在一种实现方式中,处理单元,还用于:
25.当目标代表节点所属的目标共识集群接收到业务节点的数据存储请求时,根据数据存储请求中携带的业务数据生成业务区块;
26.在目标共识集群中对业务区块进行共识验证;
27.若业务区块成功通过目标共识集群的共识验证,则将业务区块确定为待处理的目标业务区块。
28.在一种实现方式中,处理单元,还用于:
29.若目标共识待选区块成功通过共识委员会的共识验证,则从至少一条共识链中筛选出基于目标共识待选区块进行分叉的共识链;
30.将至少一条共识链中除筛选出的分叉的共识链之外的所有共识链进行剪枝处理。
31.在一种实现方式中,剪枝处理包括:从区块链的共识树中删除被剪枝处理的共识链上的共识待选区块;以及,
32.将被删除的共识待选区块返回至相应的代表节点。
33.在一种实现方式中,目标共识待选区块包括:交易哈希值、默克尔树根以及监管节点的签名;处理单元在对目标共识待选区块进行共识验证时,具体用于:
34.对目标共识待选区块所包含的内容进行共识验证,得到共识验证结果;
35.将共识验证结果广播至共识委员会中的其他代表节点;
36.若共识委员会中对目标共识待选区块所包含的内容共识成功的代表节点的数量大于数量阈值,则确定共识委员会对目标共识待选区块的共识验证。
37.在一种实现方式中,处理单元,还用于:
38.获取目标代表节点所属的目标共识集群的竞拍信息,竞拍信息用于指示目标共识集群请求竞拍区块链的提案权限;
39.在共识委员会对目标共识待选区块进行共识验证的过程中,向共识委员会的其他代表节点广播目标代表节点对目标共识待选区块的共识验证结果,共识验证结果中携带竞拍信息,以使共识委员会基于竞拍信息确定区块链的提案权限的获得者。
40.在一种实现方式中,处理单元,还用于:
41.若共识树上的待处理的目标业务区块未通过监管节点的审查,则从区块链的共识树中删除待处理的目标业务区块;
42.若共识树上还包含链接于待处理的目标业务区块的其他待处理的业务区块,则从区块链的共识树中删除其他待处理的业务区块,并将被删除的其他待处理的业务区块返回至相应的代表节点。
43.本技术实施例中,获取单元可以从区块链网络中等待共识的至少一条共识链中获取目标共识链,该目标共识链是该至少一条共识链中最长的链;并且该至少一条共识链上的共识待选区块均是通过监管节点审查的区块;此设计是保证只有通过监管节点审查的区
块才能够被执行共识处理,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,处理单元可以选择目标共识链中处于目标位置的目标共识待选区块来进行共识,并在共识验证成功后将该目标共识待选区块确定为最终区块并上链至区块链;这个过程能够有序地将区块链网络中的多个共识集群所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
44.另一方面,本技术实施例提供一种基于区块链的数据存储装置,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;共识委员会中任一个代表节点表示为目标代表节点,该数据存储装置搭载于监管节点上;该数据存储装置包括:
45.处理单元,用于从区块链的共识树上确定目标代表节点提交的待处理的目标业务区块;
46.对待处理的目标业务区块进行审查;
47.若审查通过,则从待处理的目标业务区块中提取业务数据;
48.对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块;
49.在区块链的共识树上将待处理的目标业务区块更新为目标共识待选区块,以使共识委员会对目标共识待选区块进行共识验证,其中,若目标共识待选区块是区块链网络中的目标共识链上处于目标位置的区块,当目标共识待选区块成功通过共识委员会的共识验证时,由共识委员会将目标共识待选区块作为最终区块并存储至区块链中。
50.在一种实现方式中,处理单元,还用于:
51.若待处理的目标业务区块包含的业务数据在一个或多个数据存储设备中被备份成功,则触发对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块的步骤。
52.在一种实现方式中,数据存储设备包括n个代表节点中的一个或多个;或者,数据存储设备包括数据库中的存储设备;
53.数据库包括区块链的公共数据库,或者与待处理的目标业务区块的业务类型相匹配的专有数据库。
54.在一种实现方式中,处理单元,还用于:
55.当接收到业务节点发送的数据获取请求时,获取所请求的业务数据所在的数据存储设备的地址;
56.向业务节点返回地址,使得业务节点根据地址从数据存储设备获取业务数据。
57.本技术实施例中,处理单元可以获取待处理的目标业务区块,并在对待处理的目标业务区块审查通过后,从待处理的目标业务区块中提取业务数据进行存储,能够实现对区块链网络中的业务数据的集中存储、管理,进而节省共识节点的存储资源;并且,在提取待处理的目标业务区块的业务数据后,还对该待处理的目标业务区块进行签名,使得签名后的待处理的目标业务区块更新为目标共识待选区块,这样后续代表节点可以通过验证监管节点的签名,快捷地验证该目标共识待选区块的有效性,进而提高区块链网络的共识效
率。
58.一方面,本技术提供了一种基于区块链的数据存储设备,该设备包括:
59.处理器,用于加载并执行计算机程序;
60.计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现上述基于区块链的数据存储方法。
61.一方面,本技术提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行上述基于区块链的数据存储方法。
62.一方面,本技术提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据存储设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述基于区块链的数据存储方法。
63.本技术实施例中,可以从区块链网络中等待共识的至少一条共识链中获取目标共识链,该目标共识链是该至少一条共识链中最长的链;并且该至少一条共识链上的共识待选区块均是通过监管节点审查的区块;此设计是保证只有通过监管节点审查的区块才能够被执行共识处理,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,选择对目标共识链中处于目标位置的目标共识待选区块来进行共识,并在共识验证成功后将该目标共识待选区块确定为最终区块并上链至区块链;这个过程能够有序地将区块链网络中的多个共识集群所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
附图说明
64.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
65.图1a示出了本技术一个示例性实施例提供的一种数据共享系统的架构示意图;
66.图1b示出了本技术一个示例性实施例提供的一种区块链的结构示意图;
67.图1c示出了本技术一个示例性实施例提供的一种生成区块的流程示意图;
68.图1d示出了本技术一个示例性实施例提供的一种双层网络的架构示意图;
69.图1e示出了本技术一个示例性实施例提供的一种双层网络的架构示意图;
70.图1f示出了本技术一个示例性实施例提供的一种共识子网络包括n个共识集群的场景示意图;
71.图1g示出了本技术一个示例性实施例提供的一种基于双层网络的电子发票业务的场景架构图;
72.图1h示出了本技术一个示例性实施例提供的一种数据存储方案的场景示意图;
73.图1i示出了本技术一个示例性实施例提供的一种区块在不同时间段内的区块类型的示意图;
74.图2示出了本技术一个示例性实施例提供的一种基于区块链的数据存储方法的流
程示意图;
75.图3示出了本技术一个示例性实施例提供的另一种基于区块链的数据存储方法的流程示意图;
76.图4示出了本技术一个示例性实施例提供的另一种基于区块链的数据存储方法的流程示意图;
77.图5示出了本技术一个示例性实施例提供的一种基于区块链的数据存储装置的结构示意图;
78.图6示出了本技术一个示例性实施例提供的另一种基于区块链的数据存储装置的结构示意图;
79.图7示出了本技术一个示例性实施例提供的另一种基于区块链的数据存储设备的结构示意图。
具体实施方式
80.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
81.本技术实施例涉及区块链技术,下面对区块链技术的相关术语及概念进行简要介绍:
82.区块链(blockchain),是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
83.区块链网络可以理解为一个数据共享系统100,数据共享系统100可是指用于进行节点与节点之间数据共享的系统,该数据共享系统100的一种示例性结构可参见图1a;如图1a所示,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101,多个节点101可以是指数据共享系统中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
84.对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至数据共享系统中的其它节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为ip(internet protocol,网络之间互联的协议)地址以及其它任一种能够用
于标识该节点的信息;例如,节点的标识还可以是二进制序列码(如110001110),表1中仅以ip地址为例进行说明:
85.表1
86.节点名称节点标识节点1117.114.151.174节点2117.116.189.145
……
节点x(x为正整数)xx.xxx.xxx.xxx
87.数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图1b,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
88.在生成区块链中的各个区块时,参见图1c,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
89.sha256(sha256(version prev_hash merkle_root ntime nbits x))《target
90.其中,sha256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;target为特征值阈值,该特征值阈值可以根据nbits确定得到。
91.这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其它节点的节点标识,将新生成的区块广播给其所在的数据共享系统中的其它节点,由其它节点对新生成的区块进行共识校验,并在完成共识校验后将新生成的区块添加至其存储的区块链中。其中,节点可通过共识算法对新生成的区块进行共识校验,共识算法可包括但不限于:
92.1)pow(proof-of-work,工作量证明):
93.工作量证明是指系统(如前述的数据共享系统)为达到某一目标而设置的度量方法。简单理解就是一份证明,用来确认工作量。本质是谁做的工作多,谁就更有机会获得额外奖励。工作量证明俗称“挖矿”,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,区块链网络中的其他节点验证后一起存储。这使得工作量证明具有如下优势:完全去中心化,节点自由进出。
94.2)pos(proof-of-stake,权益证明):
95.pos权益证明是pow工作量证明的一种升级共识机制;具体地,谁持有电子资源的时间越长(持有电子资源的时间长度=持有电子资源的数量*持有电子资源的时间),谁更
有机会获取区块的记账权,其中,电子资源可以是指以电子形式存储于电子账户中、且能够通过互联网进行流通的资源;根据每个节点所占电子资源的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。pos权益证明在一定程度上缩短了共识达成的时间,但仍然需要挖矿。
96.3)dpos(delegated proof of stake,委托权益证明)股份授权证明机制:
97.dpos股份授权证明机制类似于董事会投票,持有电子资源的人投出一定数量的节点,代理他们进行验证和记账。为了激励更多人参与竞选,系统会生成少量电子资源作为奖励。dpos股份授权证明机制是让每一个持有比特股的人进行投票,由此产生101位代表,我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。从某种角度来看,dpos股份授权证明机制有点像是议会制度或人民代表大会制度。如果选出的代表不能履行他们的职责(当轮到他们时,没能生成区块),那么这些代表会被除名,网络会选出新的超级节点来取代他们。这使得dpos股份授权证明机制能够大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证,但整个共识机制还是依赖于电子资源。
98.4)pbft(practical byzantine fault tolerance,拜占庭容错算法):
99.pbft拜占庭容错算法是一种基于消息传递的一致性算法,算法经过三个阶段达成一致性,这些阶段可能因为失败而重复进行。具体地,假设节点总数为3f 1,f为拜赞庭错误节点,首先,当节点发现leader(如代表节点、记账节点或超级节点)作恶时,通过算法选举其他的replica(节点)为leader。其次,leader通过pre-prepare(预准备)消息把它选择的value(值)广播给其他replica节点,其他的replica节点如果接受则发送prepare(准备)消息,如果不接受则不发送。其次,一旦2f个节点接受prepare消息,则节点发送commit(确认)消息。最后,当2f 1个节点接受commit消息后,代表该value值被确定。上述过程使得pbft拜占庭容错算法能够共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证;并且,共识的时延大约在2~5秒钟,基本达到商用实时处理的要求,提高共识效率,可满足高频交易量的需求。
100.5)paxos(一种分布式算法)算法:
101.paxos算法是一种两阶段算法,主要有三类角色,proposer(提议者)、acceptor(接受者)、learner(学习者)。proposer提出议案,acceptor同意或拒绝,learner则是获取达成共识后的最终值。paxos算法包括两个阶段,分别为:

准备阶段:proposer选择一个提案编号n并将prepare(准备)请求发送给acceptors中的一个多数派;acceptor收到prepare请示后,如果提案的编号大于它已经回复的所有prepare请示,则acceptor将自己上次接受的提案回复给proposer,并承诺不再回复小于n的提案。

批准阶段:当一个proposer收到了多数acceptors对prepare请示的回复后,就进入批准阶段;它要向回复prepare请求的acceptors发送accept(接受)请求,包括编号n和value(如果没有已经接受的value,那么它可以自由决定value);在不违背自己向其他proposer的承诺的前提下,acceptor收到accept请求后即接受这个请求。
102.paxos算法适用于简单容错模型,即系统中只可能存在失效或故障节点,不存在恶意节点,如果失效节点数为x(x为正整数),则只需要未失效节点数为x 1就能维持系统的正常工作。
103.6)raft(一种分布式共识算法)算法:
104.raft算法包含三种角色,分别是:跟随者(follower),候选人(candidate)和领导者(leader)。一个节点在某一时刻只能是这三种状态的其中一种,这三种角色是可以随着时间和条件的变化而互相转换的。所有的节点初始状态都为follower,超时未收到心跳包的follower将变身candidate并广播投票请求,获得多数投票的节点将化身leader,这一轮投票的过程是谁先发出谁有利,每个节点只会给出一次投票。leader节点周期性给其他节点发送心跳包,leader节点失效将会引发新一轮的投票过程。
105.实际应用中,当区块链被应用于一些场景中时,例如:票据业务场景,政府或者商业机构等的数据存储场景等等;在这些场景下,区块链网络中并非所有的节点都有足够的资源和必要性成为参与区块链共识的节点。而出于对数据的安全性考虑,在区块链体系中涉及个人隐私或者国家安全的相关数据时,也不适用普遍的数据对等的区块链部署方式。为了适应业务需求(如内外网,业务网,办公网分隔等),并进一步提高数据的安全性和保密性,本技术实施例提供了一种双层链,通过p2p(peer to peer,点对点)网络形成“见证子网络-共识子网络”的双层网络架构,其中,p2p网络是一种点对点连接的网络,点对点连接的各个节点称为对等节点。p2p网络基于一类特定的网络协议,使得对等节点之间不需要一个中心节点来维护网络状态,每个节点通过和相邻节点之间的广播交互,来维护全网的节点状态及其与相邻节点的连接状态。
106.图1d示出了本技术一个示例性实施例提供的一种双层网络的架构图;如图1d所示,区块链网络包括见证子网络和共识子网络,业务节点部署在处于公网的见证子网络中,共识子网络中部署有运行区块链共识协议的记账节点;见证子网络和共识子网络通过路由边界进行交互。其中,见证子网络中的业务节点主要进行业务执行,不参与记账共识,并通过身份认证的方式从共识子网络中获得区块头数据和部分授权可见的区块数据。共识子网络是区块链网络中的核心网络,用于对区块链网络进行记账共识。通常来说,见证子网络和共识子网络处在不同网络环境下,见证子网络处于公有网络中,而共识子网络处于私有网络中。由于共识子网络处于相对安全的私有网络中,其互相访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制。而业务节点处于公共网络中,可能会被其它不确定的网络终端访问,因此业务节点以及其它可能的节点接入共识子网络中的行为需要被严格控制。
107.在一种可行的实现方式中,共识子网络中的这些记账节点还可以被划分为多个共识集群,也就是说,共识子网络中可部署多个共识集群,每个共识集群中可包括至少一个记账节点。共识集群可以是根据不同规则划分的,该规则可包括:根据业务类型划分,如处理相同业务类型的业务数据的记账节点被划分至同一个共识集群;再如,根据记账节点之间的距离划分共识集群,如将距离小于距离的阈值的两个及以上的记账节点划分至同一个共识集群,等等。在此实现方式下,双层结构的区块链网络的架构可变化为图1e,如图1e所示,区块链网络包括见证子网络和共识子网络,共识子网络中部署有多个共识集群,每个共识集群内包含至少一个记账节点;见证子网络中的任一业务节点可以与共识子网络中某一共识集群所部署的记账节点进行信息连接。假设图1e所示的共识集群是按照业务类型划分的,则每个共识集群可以用于为一种或多种业务类型的业务数据提供共识服务。例如:图1e中的共识集群1可以是专为发票业务类型的业务数据提供共识服务的集群,即该共识集群1内的各个记账节点仅针对发票数据进行共识处理;共识集群2可以是为征信业务类型的业
务数据提供共识服务的集群,即该共识集群2内的各个记账节点仅针对与征信相关的业务数据进行共识处理;等等。
108.在图1e所示的架构中,各个共识集群共同维护区块链网络中的一条区块链,该区块链称为主链,其包含区块链网络中所有业务生态的全部信息。而每个共识集群内部又可以组织自身业务的业务子链,每个共识集群内的业务子链则仅包含各共识集群自身业务的信息。各个共识集群可以在各自的共识集群内可推举一个记账节点作为代表节点;其中,代表节点既参与对自身所属的共识集群内的业务子链的共识处理,同时又参与对主链的共识处理。而共识集群中的非代表节点,即该共识集群中除代表节点以外的其他记账节点,只参与对共识集群内部的业务子链进行共识处理。共识子网络中,每个共识集群推举出来的代表节点共同组成主链的共识委员会,共同对主链进行共识处理。
109.为更详细介绍共识子网络所包含的共识集群维护业务数据的实现方式,下面结合图1f对共识子网络包括的n个共识集群维护业务数据的过程进行简单介绍,n为大于1的整数。如图1f所示,共识子网络所包含的各个共识集群可推选一个记账节点作为代表节点,n个代表节点组成共识委员会,共识委员会维护共识子网络的一条区块链102,该区块链102即为区块链网络中的主链。n个共识集群可竞拍区块链网络的提案权限,当某个共识集群获得提案权限后,由该具备提案权限的共识集群负责产生新的区块,并由具备提案权限的共识集群的代表节点负责将该新的区块上传至区块链网络中的主链(即区块链102)上,由共识委员会进行共识处理。例如:区块链102中的区块a1由共识集群3中的代表节点提交,再如:区块链102中的区块c1由共识集群1中的代表节点提交。这样共识委员会维护的区块链中可记录整个共识子网络的业务数据,便于对整个共识子网络中不同共识集群提供的业务数据的管理和审查。
110.当然,各个共识集群还可以组织自己的业务子链,该业务子链只包含自身业务的区块,这样便于共识集群对本身的业务数据进行管理。具体实现中,当共识集群内产生一个新的区块时,该新的区块可以锚定本共识集群内产生的上一个区块,实现组织本共识集群的业务子链。如图1f所示的共识集群1,共识集群1可以组织自己的业务子链103,该业务子链103中包括在共识集群1内产生的区块c1和区块c2;其中,在共识集群1中产生区块c2时,区块c2可以锚定共识集群1中业务子链102的上一个区块c1,即区块c2中记录了本共识集群1中业务子链103的上一个区块c1的哈希值(subprehash),即区块c1的哈希值。当区块c2由代表节点提交到共识子网络的区块链102中进行共识处理时,区块c2还可以锚定区块链102中上一个区块,此时区块2中记录了区块链102中区块d1的哈希值(prehash),即区块d1的哈希值。基于上述描述,每个共识集群可以通过区块中的subprehash来组织自己的业务子链,便于对本集群内的业务数据进行管理,而共识委员会可维护整个共识子网络的区块链,便于对整个共识子网络的业务数据的统一管理和审查。
111.以区块链网络是为电子发票提供共识服务的网络为例,本技术实施例提出的双层网络的场景架构示意图可参见图1g。如图1g所示,区块链网络包括:业务层、路由代理层以及核心共识网络层,业务层、路由代理层以及核心共识网络层组成了整个完整区块链业务体系;其中,

业务层处于见证子网络中,业务层包括至少一个业务节点,该业务节点具体可以是spv节点,spv节点维持正常的无结构p2p网络,业务节点可以处理(地方税局)税务、票据(企业开票)、支付(企业资金流动)等业务。

核心共识网络层处于共识子网络中,核心
共识网络层包括各个共识集群,如共识集群104、共识集群105、
……
、等等,每个共识集群维护本集群内的业务子链,例如,共识集群104维护本集群内的核心链1,共识集群105维护本集群内的核心链2。

路由代理层中包括至少一个代理节点,代理节点可以提供路由服务、认证服务、证书缓存服务、点对点(p2p)服务等。业务层和核心共识网络层之间通过路由代理层进行信息交互,即业务层通过路由代理层向核心共识网络层提交业务操作交互,这样路由代理层对于业务层和核心共识网络层起到了隔离的作用。
112.基于上述对本技术实施例涉及的双层网络的基本结构的相关介绍,下面简单介绍本技术实施例基于上述双层网络结构提出的基于区块链的数据存储方案,该数据存储方案在共识子网络中增加监管节点来对区块所包含的业务数据进行审查和提取,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,共识委员会从区块链网络中获取目标共识链,该目标共识链上的共识待选区块均是通过监管节点审查的区块;共识委员会可从目标共识链中选取目标位置的目标共识待选区块进行共识,并在共识成功后将该目标共识待选区块确定为最终区块(finallize block)上链至区块链。这个过程能够有序地将区块链网络中的多个共识集群所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
113.该数据存储方案的场景架构图可参见图1h,如图1h所示,共识子网络中包括区块链的共识树,共识树可以称为默克尔(merkle)树,该共识树中包括区块顺序链接形成的一条或多条链。按照共识树上的区块的特点可以将共识树分为三个区,分别包括:监管数据提取区、主链共识待选区以及主链最终块区。基于共识树的区域划分,共识子网络中涉及的区块类型表示如下:
114.(1)待处理的业务区块。
115.待处理的业务区块位于监管数据提取区,该待处理的业务区块是指由代表节点提交至共识树上的区块,该待处理的业务区块尚未经过监管节点审查,且该待处理的业务区块包括完整的业务数据。
116.(2)共识待选区块。
117.待处理的业务区块在通过监管节点进行审查后,就变为共识待选区块。共识待选区块位于主链共识待选区,该共识待选区块是指已通过监管节点的审查,但尚未经过共识委员会共识的区块。待处理的业务区块在被监管节点进行审查的过程中,其内的业务数据被监管节点提取,所以待处理的业务区块变成共识待选区块后,该共识待选区块中仅包含交易hash和默克尔树根,而不包含业务数据。并且,待处理的业务区块通过审查后,监管节点会在该待处理的业务区块添加监管节点的签名,所以待处理的业务区块变成共识待选区块后,该共识待选区块中还包含监管节点的签名。
118.(3)最终区块(finallize block)。
119.共识待选区块成功通过共识委员会的共识校验后,就变为最终区块。最终区块是位于主链最终块区中,最终区块就是指成功通过共识委员会共识校验的区块,且该最终区块是被确定上链至主链(如区块链102)上的区块,具有不可篡改性。该最终区块中仅包含交易hash和默克尔树根。
120.共识子网络中包括共识集群和监管节点,监管节点可以包括但不限于:审查节点
和管理节点。监管节点用于对待处理的业务区块进行审查、提取待处理的业务区块中的业务数据以及对通过审查的待处理的业务区域进行签名等操作。进一步,监管节点还可以负责对共识子网络之外的其他设备提供内容分发服务,如接收到见证子网络中的业务节点发送的数据获取请求时,可响应数据获取请求向该业务节点提供业务数据等;值得说明的是,本技术实施例中监管节点的数量可以为一个或多个,本技术实施例不限定监管节点的数量。
121.下面结合图1h和图1i对目标代表节点提交区块至区块链的实现方式进行说明;除特别说明外,本技术后续实施例的区块链均指区块链网络中的主链,即需要由共识委员会共识维护的区块链。此处的目标代表节点是指目标共识集群中的代表节点,目标共识集群是共识子网络中的任一共识集群。
122.首先,当目标共识集群有新的区块交易打包好时,可以通过目标共识集群的目标代表节点向区块链网络进行独占区块的竞拍,即目标代表节点竞拍获得区块链中下一个区块的提案权限,当目标代表节点竞拍成功时,表示目标共识集群获得区块链的下一个区块的提案权限,具备提案权限的代表节点可以将其所属的共识集群产生的新的区块提交到共识树上,此时该新的区块被称为待处理的目标业务区块,如图1i所示。
123.其次,监管节点从共识树上获取该待处理的目标业务区块,并对该待处理的目标业务区块进行业务数据的提取、审查,并在审查通过后对该待处理的目标业务区块进行签名,将该待处理的目标业务区块处理为目标共识待选区块。
124.最后,共识委员会可对该目标共识待选区块进行共识验证,并在共识验证成功后,该目标共识待选区块成为最终区块,最终区块可存储至区块链中。
125.基于上述描述的基于区块链的数据存储方案,本技术实施例提出更为详细的基于区块链的数据存储方法,下面将结合附图对本技术实施例提出的基于区块链的数据存储方法进行详细介绍。
126.图2示出了本技术一个示例性实施例提供的一种基于区块链的数据存储方法的流程示意图;该数据存储方法可以由目标代表节点来执行,目标代表节点是共识委员会中的任一个代表节点;该数据存储方法可包括但不限于步骤s201-s204:
127.s201:获取区块链网络中等待共识的目标共识链。
128.基于前述对共识树的相关描述可知,区块链的共识树包括多条链,该多条链中包含待共识的至少一条共识链,每条共识链由一个或多个共识待选区块顺序链接而成,每个共识待选区块是通过监管节点审查的区块,目标共识链是至少一条共识链中最长的链。其中,共识链的长度可以通过计算共识链所包含的区块数量来表示。
129.具体实现中,共识委员会可以对至少一条共识链中最长的链进行投票,将获得投票数量最多的共识链确定为目标共识链,由于是基于最长链进行投票的,所以投票得到的目标共识链的长度是所有共识链中长度最长的共识链。以图1h所示示意图中主链共识待选区的3条待共识的共识链为例对上述内容进行说明,共识链106所包含的共识待选区块的数量为3,共识链107所包含的共识待选区块的数量为2,以及共识链108所包含的共识待选区块的数量为2,则确定共识链106所包含的共识待选区块的数量最多,则将共识链106确定为目标共识链。
130.s202:从目标共识链中选择目标共识待选区块。
131.目标共识待选区块是目标共识链上处于目标位置的区块,具体可以是指处于目标共识链中第一位置的区块;结合图1h进行说明,如图1h所示,目标共识链为共识链106,根据目标共识链中各个区块顺序链接的走向,可确定目标共识链中位于第一个位置的共识待选区块为区块x,则确定区块x为目标共识待选区块。
132.s203:对目标共识待选区块进行共识验证。
133.s204:若目标共识待选区块成功通过共识委员会的共识验证,则将目标共识待选区块确定为最终区块,并将最终区块存储至区块链中。
134.步骤s203-s204中,从目标共识链中确定出目标共识待选区块后,共识委员会可以对目标共识待选区块进行共识验证,并在共识验证成功后,将目标共识待选区块确定为最终区块,最终区块可被添加至区块链中进行存储,成为共识子网络的区块链所包含的一个区块。
135.对目标共识待选区块进行共识验证,主要是对目标共识待选区块所包含的内容进行共识验证,得到共识验证结果,此处的内容可包括:交易哈希值、默克尔树根以及监管节点的签名。在目标共识节点得到对目标共识待选区块的共识验证结果后,可将共识验证结果广播至共识委员会中的其他代表节点;若共识委员会中对目标共识待选区块所包含的内容共识成功的代表节点的数量大于数量阈值,即共识委员会中大于数量阈值的代表节点对目标共识待选区块共识验证成功,则可确定共识委员会对目标共识待选区块的共识验证成功。其中,目标共识待选区块所包含的交易哈希值是目标共识集群中接收到目标共识待选区块对应的业务数据时确定的,验证交易哈希值可以用于确定目标共识待选区块所包含的业务数据是未被篡改的。验证默克尔树根是验证默克尔树的根hash,验证默克尔树根可用于验证共识树上的区块(或业务数据)是否被篡改,确定共识树的安全性,进而确定目标共识待选区块是否被篡改。验证监管节点的签名可以用于验证目标共识待选区块是否被监管节点的审查通过,只有被监管节点审查成功并签名的区块其业务数据才是被校验成功的,能够确定上链的业务数据是符合区块链网络的要求的。
136.本技术实施例中,可以从区块链网络中等待共识的至少一条共识链中获取目标共识链,该目标共识链是该至少一条共识链中最长的链;并且该至少一条共识链上的共识待选区块均是通过监管节点审查的区块;此设计是保证只有通过监管节点审查的区块才能够被执行共识处理,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,选择对目标共识链中处于目标位置的目标共识待选区块来进行共识,并在共识验证成功后将该目标共识待选区块确定为最终区块并上链至区块链;这个过程能够有序地将区块链网络中的多个共识集群所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
137.图3示出了本技术一个示例性实施例提供的另一种基于区块链的数据存储方法的流程示意图;该数据存储方法可以由目标代表节点来执行,目标代表节点是共识委员会中的任一个代表节点;该数据存储方法可包括但不限于步骤s301-s308:
138.s301:当目标代表节点所属的目标共识集群接收到业务节点的数据存储请求时,根据数据存储请求中携带的业务数据生成业务区块。
139.以图1e所示的数据存储场景为例,见证子网络中的任一业务节点,如业务节点
109,可向目标共识集群中的任一记账节点或代表节点发送数据存储请求,如业务节点109向共识集群1中的记账节点110发送数据存储请求,该数据存储请求中携带了需要存储的业务数据;此时目标代表节点可以从记账节点110中获取该业务数据,并基于业务数据生成业务区块。
140.s302:在目标共识集群中对业务区块进行共识验证。
141.目标共识集群中的各个记账节点和代表节点对业务区块进行共识验证,并在共识验证成功后执行步骤s303。具体地,记账节点和代表节点中存储有对业务区块进行共识的共识算法(或称为共识机制),记账节点和代表节点可调用共识算法对业务区块进行共识验证。上述提及的共识验证,是对业务区块所包含的业务数据进行共识验证;例如:验证业务数据是否为合法或符合道义道德的数据,当验证结果指示业务数据符合法律规定或道德规范时,可确定对业务数据验证成功;又如:验证业务数据的数据格式是否为区块链网络所支持的数据格式;再如:验证业务数据的来源是否符合规则,如设定目标共识集群至接收公司a发送的业务数据,当业务数据来源于公司b时,确定对业务数据验证失败;等等。
142.s303:若业务区块成功通过目标共识集群的共识验证,则将业务区块确定为待处理的目标业务区块。
143.待处理的目标业务区块是经过目标共识集群共识验证成功的,此时该待处理的目标业务区块可存储至目标共识集群所组织的业务子链中;当轮到将待处理的目标业务区块提交至共识树上时,由目标共识集群中的目标代表节点将该待处理的目标业务区块提交至共识树上。
144.s304:将待处理的目标业务区块提交至区块链的共识树,触发监管节点对共识树上的待处理的目标业务区块进行审查,并在审查通过后由监管节点将待处理的目标业务区块处理为共识待选区块。
145.监管节点可以从共识树中拉取待处理的业务区块,如目标代表节点提交的待处理的目标业务区块,并对待处理的目标业务区块进行审查,在待处理的目标业务区块成功通过审查后,该待处理的目标业务区块被处理为共识待选区块。然而,若共识树上的待处理的目标业务区块未通过监管节点的审查,表示目标代表节点提交的待处理的目标业务区块为无效区块,则在区块链的共识树中删除该待处理的目标业务区块,并且目标代表节点会受到惩罚告警。同时,若共识树上还包含链接于待处理的目标业务区块的其他待处理的业务区块,这些其他待处理的业务区块可以是共识子网络中其他共识集群的代表节点提交的,则从区块链的共识树中删除其他待处理的业务区块,并将被删除的其他待处理的业务区块返回至相应的代表节点,以便于相应的代表节点在后续再次将返回的待处理的业务区块提交至共识树上。需要说明的是,由于返回给相应代表节点的这个待处理的业务区块是已经在相应的共识集群中共识成功过的,所以不需要重复在相应的共识集群中共识,可以直接有代表节点提交至共识树上。
146.例如,目标代表节点提交的待处理的目标业务区块之后链接有第一共识集群的代表节点1提交的待处理的业务区块1,在待处理的业务区块1之后链接有第二共识集群的代表节点2提交的待处理的业务区块2;若待处理的目标业务区块未通过审查节点的审查,则在区块链的共识树上删除待处理的目标业务区块,并将待处理的业务区块1返回给第一共识集群的代表节点1,以及将待处理的业务区块2返回给第二共识集群的代表节点2。可以理
解的是,由于代表节点存储有待处理的业务区块,所以此处返回的也可以不是待处理的业务区块,而是向代表节点发送通知消息,该通知消息可用于提示:链接于待处理的业务区块之前的待处理的目标业务区块审查失败,代表节点可继续竞拍提案权限,以便于在获得提案权限后将该待处理的业务区块再次提交至共识树上。例如,向第一共识集群的代表节点1发送通知消息,通知代表节点1继续参与提案权限的竞拍,以便于在后续将待处理的业务区块1再次提交至共识树上。
147.s305:获取区块链网络中等待共识的目标共识链。
148.s306:从目标共识链中选择目标共识待选区块。
149.s307:对目标共识待选区块进行共识验证。
150.s308:若目标共识待选区块成功通过共识委员会的共识验证,则将目标共识待选区块确定为最终区块,并将最终区块存储至区块链中。
151.需要说明的是,步骤s305-s308所示的具体实现方式,可参见前述图2所示实施例中步骤s201-s204所示实施例的具体实现方式的相关描述,在此不作赘述。
152.另外,若目标共识待选区块成功通过共识委员会的共识验证,本技术实施例还支持从至少一条共识链中筛选出基于目标共识待选区块进行分叉的共识链;并将至少一条共识链中除筛选出的分叉的共识链之外的所有共识链进行剪枝处理,得到剪枝处理后的共识树,再重复步骤s305-s308,不断将共识待选区块确定为最终区块。其中,所谓剪枝处理可包括:从区块链的共识树中删除被剪枝处理的共识链上的共识待选区块,以及,将被删除的共识待选区块返回至相应的代表节点,以便于相应的代表节点在后续获得区块的竞拍资质后将返回的共识待选区块再次提交至共识树上。继续以图1h所示共识树中的3条共识链为例,如图1h所示,共识链106中包括区块x、区块x1以及区块x2,共识链107中包括区块y以及区块y1,共识链108中包括区块y以及区块y2;基于前述分析可知,目标共识链为共识链106,且目标共识待选区块为共识链106中的区块x;其中,基于区块x(即目标共识待选区块)进行分叉的链为共识链106,而未基于目标共识待选区块进行分叉的链为共识链107和共识链108。那么在目标共识待选区块成功通过共识委员会的共识验证后,可将共识链107和共识链108进行剪枝处理,即在区块链的共识树中删除区块y、区块y1以及区块y2,并将区块y、区块y1以及区块y2均返回至相应的代表节点;此处描述的相应的代表节点可参见前述描述,在此不作赘述。
153.可以理解的是,共识子网络所包含的多个共识集群随意将各自的待处理的业务区块提交至共识树的话,很可能导致共识树中顺序链接的各个待处理的业务区块较为混乱,区块链网络的运行秩序较差。基于此,本技术实施例支持在共识委员会对目标共识待选区块进行共识验证的过程中,共识委员会同时确定共识树中下一个区块的提案权限的获得者,获得提案权限的获得者可以将自己的待处理的业务区块提交至共识树的下一个区块的位置。这样能有序确保多个共识集群提交待处理的业务区块的秩序,维护区块链网络的运行秩序和确保区块链网络的运行效率。
154.下面以共识集群为目标共识集群,代表节点为目标代表节点为例,对代表节点竞拍区块的提案权限的实现方式进行简单说明;具体地,目标代表节点可以获取目标代表节点所属的目标共识集群的竞拍信息,该竞拍信息用于指示目标共识集群请求竞拍区块链的下一区块的提案权限;在共识委员会对目标共识待选区块进行共识验证的过程中,目标代
表节点向共识委员会的其他代表节点广播目标代表节点对目标共识待选区块的共识验证结果,此时共识验证结果中可携带竞拍信息,以使得共识委员会基于竞拍信息确定区块链的提案权限的获得者。当然,如果在共识委员会对目标共识待选区块进行共识验证的过程中,即在目标共识待选区块的预提交阶段,没有代表节点对下一个区块的提案权限进行竞拍,则下一个区块可以设置为空白区块(如不包含任何数据)或者专门配置的区块等。其中,预提交阶段是指共识委员会中的代表节点对目标共识待选区块进行预提交处理的阶段。所谓预提交处理是指是否同意对目标共识待选区块进行预提交的过程,如果同意对目标共识待选区块进行预提交,表示同意将目标共识待选区块确定为最终区块,添加至区块链。
155.本技术实施例中,可以从区块链网络中等待共识的至少一条共识链中获取目标共识链,该目标共识链是该至少一条共识链中最长的链;并且该至少一条共识链上的共识待选区块均是通过监管节点审查的区块;此设计是保证只有通过监管节点审查的区块才能够被执行共识处理,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,选择对目标共识链中处于目标位置的目标共识待选区块来进行共识,并在共识验证成功后将该目标共识待选区块确定为最终区块并上链至区块链;这个过程能够有序地将区块链网络中的多个共识集群所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
156.图4示出了本技术一个示例性实施例提供的另一种基于区块链的数据存储方法的流程示意图;该数据存储方法可以由监管节点来执行;该数据存储方法可包括但不限于步骤s401-s405:
157.s401:从区块链的共识树上确定目标代表节点提交的待处理的目标业务区块。
158.s402:对待处理的目标业务区块进行审查。
159.步骤s401-s402中,监管节点可以从区块链的共识树上获取还未经过审查的待处理的业务区块,包括目标代表节点提交的待处理的目标业务区块,并对待处理的目标业务区块进行审查,若监管节点对待处理的目标业务区块审查通过,即确定待处理的目标业务区块有效,则执行步骤s403;若监管节点对待处理的目标业务区块审查未通过,即确定待处理的目标业务区块无效,则可以执行图3所示步骤s304所描述的删除待处理的目标业务区块,并返回链接于待处理的目标业务区块之后的其他待处理的业务区块的操作,具体实现方式可参见前述步骤s304所示的具体实现方式的相关描述,在此不作赘述。
160.其中,监管节点对待处理的目标业务区块的审查方式可包括但不限于如下几种:

审查待处理的目标业务区块的业务数据的业务类型,与目标代表节点所属目标共识集群共识的数据的数据类型是否相匹配;如目标代表节点是对电子发票进行共识的集群,则待处理的目标业务区块的业务数据的业务类型应该为电子发票类型;

审查待处理的目标业务区块的业务数据的数据格式是否满足区块链网络对业务数据的数据格式的要求;如区块链网络要求业务数据的数据格式为文件格式,当待处理的目标业务区块的业务数据的数据格式为表格格式时,确定对待处理的目标业务区块审查失败;

审查待处理的目标业务区块的业务数据是否为合法或符合道义道德的数据;如校验待处理的目标业务区块的业务数据是否包含暴力数据、虚假信息等,当检测到待处理的目标业务区块的业务数据包含非法数据或违反道德的信息时,确定对多媒体数据待处理的目标业务区块校验失败;等等。上述
只是示例性的列举了几种审查的实现方式,本技术对监管节点对待处理的目标业务区块的审查方式不作限定,在此说明。
161.s403:若审查通过,则从待处理的目标业务区块中提取业务数据。
162.s404:对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块。
163.基于步骤s402对待处理的目标业务区块审查成功后,监管节点执行从待处理的目标业务区块中提取业务数据的操作,这样监管节点可以实现对区块的业务数据的统一存储,便于对业务数据的管理,也节省代表节点的存储资源,不影响代表节点的存储性能和出块性能。
164.在监管节点从待处理的目标业务区块中提取业务数据后,监管节点可以对待处理的目标业务区块进行签名处理,以表示该待处理的目标业务区块是经过监管节点审查通过的。在一种实现中,监管节点对提取业务数据后的待处理的目标业务区块进行签名之前,还可以验证业务数据(或待处理的目标业务区块)是否存储至一个或多个数据存储设备,若待处理的目标业务区块包含的业务数据在一个或多个数据存储设备中被备份成功,则触发对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块的步骤。换句话说,监管节点在提取待处理的目标业务区块之后,还要保证业务数据被成功备份至一个或多个数据存储设备,才对提取后的待处理的目标业务区块进行签名处理。这样有利于对业务数据实现数据索引,有机构的组织业务数据的存储。在这种实现方式下,可以不限定用于存储业务数据的数据存储设备的设备类型,如数据存储设备可以是n个代表节点中一个或多个代表节点,该一个多或多个代表节点可用于处理不同业务类型的数据;或者,数据存储设备可包括数据库中的存储设备,数据库可包括区块链的公有数据库,该公有数据库可用于存储多种业务类型的业务数据。
165.在其他实现方式中,监管节点在对待处理的目标业务区块执行签名处理之前,不仅要验证该待处理的目标业务区块的业务数据是否存储至一个或多个数据存储设备,还要验证存储业务数据的一个或多个数据存储设备是否为允许用于存储待处理的目标业务区块的业务数据的设备,即验证业务数据是否存储至与之相匹配的数据存储设备。例如,某些业务数据只能存储至专门用于存储该业务数据对应业务类型的数据的数据存储设备,此时数据存储设备可包括数据库中的存储设备,数据库可包括与待处理的目标业务区块的业务类型相匹配的专有数据库。
166.s405:在区块链的共识树上将待处理的目标业务区块更新为目标共识待选区块。
167.具体地,当监管节点对提取业务数据后的待处理的目标业务区块执行签名处理时,表示该待处理的目标业务区块是审核成功的,则可以在区块链的共识树上将待处理的目标业务区块更新为目标共识待选区块,以使共识委员会对目标共识待选区块进行共识验证。其中,若目标共识待选区块是区块链网络中的目标共识链上处于目标位置的区块,当目标共识待选区块成功通过共识委员会的共识验证时,由共识委员会将目标共识待选区块作为最终区块并存储至区块链中。通过上述过程,可以将多个共识集群的业务区块有序的存储至区块链上,有利于维护整个区块链网络的稳定性。
168.本技术实施例还支持监管节点根据业务数据的读取需求组织业务数据的缓存(如向外提供内容分发服务)、数据归档、数据追溯等。以监管节点向外提供内容分发服务为例,当监管节点接收到见证子网络中任一业务节点发送的数据获取请求时,可获取数据获取请
求所请求的业务数据所在的数据存储设备的地址,当存储业务数据的数据存储设备的数量为多个时,可根据预设选取规则从多个数据存储设备中选中一个数据存储设备的地址;并向业务节点返回地址,以使业务节点根据地址从数据存储设备获取业务数据。再以监管节点提供数据追溯服务为例,当监管节点接收到对区块链中某个区块进行查验追溯的请求时,可根据该区块的业务数据所在的数据存储设备的地址,从数据存储设备中获取业务数据,以恢复该区块,实现对该区块的查验追溯。与前述内容类似的,当存储业务数据的数据存储设备的数量为多个时,可根据预设选取规则从多个数据存储设备中选中一个数据存储设备的地址,以根据选取的地址获取业务数据,实现恢复区块。其中,预设选取规则可包括但不限于:随机选取一个数据存储设备的地址;或者,判断存储有业务数据的各个数据存储设备与发送数据获取请求的业务节点之间的距离(或判断存储有业务数据的各个数据存储设备与监管节点之间的距离),并获取距离最短的数据存储设备的地址;或者,检测存储有业务数据的各个数据存储设备的网络状态,并获取网络状态最好的数据存储设备的地址;等等。可以理解的是,上述只是给出几种示例性的预设选取规则,本技术实施例对监管节点选取数据存储设备的地址的预设选取规则不作限定,在此说明。
169.本技术实施例中,可获取待处理的目标业务区块,并在对待处理的目标业务区块审查通过后,从待处理的目标业务区块中提取业务数据进行存储,能够实现对区块链网络中的业务数据的集中存储、管理,提高业务数据的隐私性,节省共识节点的存储资源;并且,在提取待处理的目标业务区块的业务数据后,还对该待处理的目标业务区块进行签名,使得签名后的待处理的目标业务区块更新为目标共识待选区块,这样后续代表节点可以通过验证监管节点的签名,快捷地验证该目标共识待选区块的有效性,进而提高区块链网络的共识效率。另外,在对待处理的目标业务区块执行签名处理之前,还可以检测待处理的目标业务区块的业务数据是否存储至一个或多个数据设备,并在确定业务数据存储至一个或多个数据存储设备之后,才执行签名操作,可实现将业务数据多次备份,确保业务数据不被遗漏,或者,在对待处理的目标业务区块执行签名处理之前,还可以检测待处理的目标业务区块的业务数据是否存储至与业务数据相匹配的数据存储设备,并在业务数据存储至与之相匹配的数据存储设备后,才对待处理的目标业务区块执行签名操作,这能实现对业务数据进行数据索引,有效地组织业务数据的存储。
170.上述详细阐述了本技术实施例的方法,为了便于更好地实施本技术实施例的上述方法,相应地,下面提供了本技术实施例的装置。
171.图5示出了本技术一个示例性实施例提供的一种基于区块链的数据存储装置的结构示意图,该基于区块链的数据存储装置可以是运行于目标代表节点(如任一代表节点)中的一个计算机程序(包括程序代码);该基于区块链的数据存储装置可以用于执行图2以及图3所示的方法实施例中的部分或全部步骤。其中,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;数据存储装置可搭载于共识委员会中的目标代表节点上,目标代表节点是共识委员会中的任一个代表节点;请参见图5,该基于区块链的数据存储装置包括如下单元:
172.获取单元501,用于获取区块链网络中等待共识的目标共识链,区块链网络包含待
共识的至少一条共识链,每条共识链由一个或多个共识待选区块顺序链接而成,每个共识待选区块均是通过监管节点审查的区块;目标共识链是至少一条共识链中最长的链;
173.处理单元502,用于从目标共识链中选择目标共识待选区块,目标共识待选区块是目标共识链上处于目标位置的共识待选区块;
174.处理单元502,还用于对目标共识待选区块进行共识验证;
175.处理单元502,还用于若目标共识待选区块成功通过共识委员会的共识验证,则将目标共识待选区块确定为最终区块,并将最终区块存储至区块链中。
176.在一种实现方式中,目标共识待选区块是由待处理的目标业务区块转换得到;处理单元502,还用于:
177.将待处理的目标业务区块提交至区块链的共识树,触发监管节点对共识树上的待处理的目标业务区块进行审查,并在审查通过后由监管节点将待处理的目标业务区块处理为目标共识待选区块。
178.在一种实现方式中,处理单元502,还用于:
179.当目标代表节点所属的目标共识集群接收到业务节点的数据存储请求时,根据数据存储请求中携带的业务数据生成业务区块;
180.在目标共识集群中对业务区块进行共识验证;
181.若业务区块成功通过目标共识集群的共识验证,则将业务区块确定为待处理的目标业务区块。
182.在一种实现方式中,处理单元502,还用于:
183.若目标共识待选区块成功通过共识委员会的共识验证,则从至少一条共识链中筛选出基于目标共识待选区块进行分叉的共识链;
184.将至少一条共识链中除筛选出的分叉的共识链之外的所有共识链进行剪枝处理。
185.在一种实现方式中,剪枝处理包括:从区块链的共识树中删除被剪枝处理的共识链上的共识待选区块;以及,
186.将被删除的共识待选区块返回至相应的代表节点。
187.在一种实现方式中,目标共识待选区块包括:交易哈希值、默克尔树根以及监管节点的签名;处理单元502在对目标共识待选区块进行共识验证时,具体用于:
188.对目标共识待选区块所包含的内容进行共识验证,得到共识验证结果;
189.将共识验证结果广播至共识委员会中的其他代表节点;
190.若共识委员会中对目标共识待选区块所包含的内容共识成功的代表节点的数量大于数量阈值,则确定共识委员会对目标共识待选区块的共识验证。
191.在一种实现方式中,处理单元502,还用于:
192.获取目标代表节点所属的目标共识集群的竞拍信息,竞拍信息用于指示目标共识集群请求竞拍区块链的提案权限;
193.在共识委员会对目标共识待选区块进行共识验证的过程中,向共识委员会的其他代表节点广播目标代表节点对目标共识待选区块的共识验证结果,共识验证结果中携带竞拍信息,以使共识委员会基于竞拍信息确定区块链的提案权限的获得者。
194.在一种实现方式中,处理单元502,还用于:
195.若共识树上的待处理的目标业务区块未通过监管节点的审查,则从区块链的共识
树中删除待处理的目标业务区块;
196.若共识树上还包含链接于待处理的目标业务区块的其他待处理的业务区块,则从区块链的共识树中删除其他待处理的业务区块,并将被删除的其他待处理的业务区块返回至相应的代表节点。
197.根据本技术的一个实施例,图5所示的基于区块链的数据存储装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,该基于区块链的数据存储装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2以及图3所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图5中所示的基于区块链的数据存储装置,以及来实现本技术实施例的基于区块链的数据存储方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
198.本技术实施例中,获取单元501可以从区块链网络中等待共识的至少一条共识链中获取目标共识链,该目标共识链是该至少一条共识链中最长的链;并且该至少一条共识链上的共识待选区块均是通过监管节点审查的区块;此设计是保证只有通过监管节点审查的区块才能够被执行共识处理,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,处理单元502可以选择目标共识链中处于目标位置的目标共识待选区块来进行共识,并在共识验证成功后将该目标共识待选区块确定为最终区块并上链至区块链;这个过程能够有序地将区块链网络中的多个共识集群所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
199.图6示出了本技术一个示例性实施例提供的一种基于区块链的数据存储装置的结构示意图,该基于区块链的数据存储装置可以是运行于目标代表节点(如任一代表节点)中的一个计算机程序(包括程序代码);该基于区块链的数据存储装置可以用于执行图4所示的方法实施例中的部分或全部步骤。其中,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;共识委员会中任一个代表节点表示为目标代表节点,数据存储装置可搭载于监管节点上;请参见图6,该基于区块链的数据存储装置包括如下单元:
200.处理单元601,用于从区块链的共识树上确定目标代表节点提交的待处理的目标业务区块;
201.对待处理的目标业务区块进行审查;
202.若审查通过,则从待处理的目标业务区块中提取业务数据;
203.对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块;
204.在区块链的共识树上将待处理的目标业务区块更新为目标共识待选区块,以使共识委员会对目标共识待选区块进行共识验证,其中,若目标共识待选区块是区块链网络中的目标共识链上处于目标位置的区块,当目标共识待选区块成功通过共识委员会的共识验证时,由共识委员会将目标共识待选区块作为最终区块并存储至区块链中。
205.在一种实现方式中,处理单元601,还用于:
206.若待处理的目标业务区块包含的业务数据在一个或多个数据存储设备中被备份成功,则触发对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块的步骤。
207.在一种实现方式中,数据存储设备包括n个代表节点中的一个或多个;或者,数据存储设备包括数据库中的存储设备;
208.数据库包括区块链的公共数据库,或者与待处理的目标业务区块的业务类型相匹配的专有数据库。
209.在一种实现方式中,处理单元601,还用于:
210.当接收到业务节点发送的数据获取请求时,获取所请求的业务数据所在的数据存储设备的地址;
211.向业务节点返回地址,使得业务节点根据地址从数据存储设备获取业务数据。
212.根据本技术的一个实施例,图6所示的基于区块链的数据存储装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本技术的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本技术的其它实施例中,该基于区块链的数据存储装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本技术的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的基于区块链的数据存储装置,以及来实现本技术实施例的基于区块链的数据存储方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
213.本技术实施例中,处理单元601可以获取待处理的目标业务区块,并在对待处理的目标业务区块审查通过后,从待处理的目标业务区块中提取业务数据进行存储,能够实现对区块链网络中的业务数据的集中存储、管理,进而节省共识节点的存储资源;并且,在提取待处理的目标业务区块的业务数据后,还对该待处理的目标业务区块进行签名,使得签名后的待处理的目标业务区块更新为目标共识待选区块,这样后续代表节点可以通过验证监管节点的签名,快捷地验证该目标共识待选区块的有效性,进而提高区块链网络的共识效率。
214.图7示出了本技术一个示例性实施例提供的一种基于区块链的数据处理设备的结构示意图;请参见图7,该基于区块链的数据处理设备至少包括处理器701、通信接口702和计算机可读存储介质703。该终端包括处理器701、通信接口702以及计算机可读存储介质
1203。其中,处理器701、通信接口702以及计算机可读存储介质703可通过总线或者其它方式连接。其中,通信接口702用于接收和发送数据。计算机可读存储介质703可以存储在终端的存储器中,计算机可读存储介质703用于存储计算机程序,计算机程序包括程序指令,处理器701用于执行计算机可读存储介质703存储的程序指令。处理器701(或称cpu(central processing unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能。
215.本技术实施例还提供了一种计算机可读存储介质(memory),计算机可读存储介质是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端中的内置存储介质,当然也可以包括终端所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的处理系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条的指令,这些指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
216.在一个实施例中,该计算机可读存储介质中存储有一条或多条指令;由处理器701加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述社交会话方法实施例中的相应步骤;具体实现中,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;该数据存储设备搭载于目标代表节点上,目标代表节点是共识委员会中的任一个代表节点;计算机可读存储介质中的一条或多条指令由处理器701加载并执行如下步骤:
217.获取区块链网络中等待共识的目标共识链,区块链网络包含待共识的至少一条共识链,每条共识链由一个或多个共识待选区块顺序链接而成,每个共识待选区块均是通过监管节点审查的区块;目标共识链是至少一条共识链中最长的链;
218.从目标共识链中选择目标共识待选区块,目标共识待选区块是目标共识链上处于目标位置的共识待选区块;
219.对目标共识待选区块进行共识验证;
220.若目标共识待选区块成功通过共识委员会的共识验证,则将目标共识待选区块确定为最终区块,并将最终区块存储至区块链中。
221.在一种实现方式中,目标共识待选区块是由待处理的目标业务区块转换得到;计算机可读存储介质中的一条或多条指令由处理器701加载并还执行如下步骤:
222.将待处理的目标业务区块提交至区块链的共识树,触发监管节点对共识树上的待处理的目标业务区块进行审查,并在审查通过后由监管节点将待处理的目标业务区块处理为目标共识待选区块。
223.在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器701加载并还执行如下步骤:
224.当目标代表节点所属的目标共识集群接收到业务节点的数据存储请求时,根据数据存储请求中携带的业务数据生成业务区块;
225.在目标共识集群中对业务区块进行共识验证;
226.若业务区块成功通过目标共识集群的共识验证,则将业务区块确定为待处理的目标业务区块。
227.在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器701加载并还执行如下步骤:
228.若目标共识待选区块成功通过共识委员会的共识验证,则从至少一条共识链中筛选出基于目标共识待选区块进行分叉的共识链;
229.将至少一条共识链中除筛选出的分叉的共识链之外的所有共识链进行剪枝处理。
230.在一种实现方式中,剪枝处理包括:从区块链的共识树中删除被剪枝处理的共识链上的共识待选区块;以及,
231.将被删除的共识待选区块返回至相应的代表节点。
232.在一种实现方式中,目标共识待选区块包括:交易哈希值、默克尔树根以及监管节点的签名;计算机可读存储介质中的一条或多条指令由处理器701加载并在执行对目标共识待选区块进行共识验证时,具体用于执行如下步骤:
233.对目标共识待选区块所包含的内容进行共识验证,得到共识验证结果;
234.将共识验证结果广播至共识委员会中的其他代表节点;
235.若共识委员会中对目标共识待选区块所包含的内容共识成功的代表节点的数量大于数量阈值,则确定共识委员会对目标共识待选区块的共识验证。
236.在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器701加载并还执行如下步骤:
237.获取目标代表节点所属的目标共识集群的竞拍信息,竞拍信息用于指示目标共识集群请求竞拍区块链的提案权限;
238.在共识委员会对目标共识待选区块进行共识验证的过程中,向共识委员会的其他代表节点广播目标代表节点对目标共识待选区块的共识验证结果,共识验证结果中携带竞拍信息,以使共识委员会基于竞拍信息确定区块链的提案权限的获得者。
239.在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器701加载并还执行如下步骤:
240.若共识树上的待处理的目标业务区块未通过监管节点的审查,则从区块链的共识树中删除待处理的目标业务区块;
241.若共识树上还包含链接于待处理的目标业务区块的其他待处理的业务区块,则从区块链的共识树中删除其他待处理的业务区块,并将被删除的其他待处理的业务区块返回至相应的代表节点。
242.本技术实施例中,处理器701可以从区块链网络中等待共识的至少一条共识链中获取目标共识链,该目标共识链是该至少一条共识链中最长的链;并且该至少一条共识链上的共识待选区块均是通过监管节点审查的区块;此设计是保证只有通过监管节点审查的区块才能够被执行共识处理,这样可保证区块中的业务数据能够被集中监管和集中管理,并且能够保护区块内的业务数据的隐私,有效提升安全性。另外,还可以选择目标共识链中处于目标位置的目标共识待选区块来进行共识,并在共识验证成功后将该目标共识待选区块确定为最终区块并上链至区块链;这个过程能够有序地将区块链网络中的多个共识集群
所提案的区块存储至区块链,有效维护多共识集群场景下的数据上链过程,进而提升区块链网络的运行效率。
243.在另一个实施例中,该计算机可读存储介质中存储有一条或多条指令;由处理器701加载并执行计算机可读存储介质中存放的一条或多条指令,以实现上述社交会话方法实施例中的相应步骤;具体实现中,区块链位于区块链网络中,区块链网络包括见证子网络和共识子网络,见证子网络包含至少一个业务节点;共识子网络包含n个共识集群和监管节点,n为大于1的整数;每个共识集群由多个记账节点组成,且每个共识集群在各自的共识集群内推举一个记账节点作为代表节点;n个代表节点组成区块链的共识委员会;共识委员会中任一个代表节点表示为目标代表节点,该数据存储设备搭载于监管节点上;计算机可读存储介质中的一条或多条指令由处理器701加载并执行如下步骤:
244.从区块链的共识树上确定目标代表节点提交的待处理的目标业务区块;
245.对待处理的目标业务区块进行审查;
246.若审查通过,则从待处理的目标业务区块中提取业务数据;
247.对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块;
248.在区块链的共识树上将待处理的目标业务区块更新为目标共识待选区块,以使共识委员会对目标共识待选区块进行共识验证,其中,若目标共识待选区块是区块链网络中的目标共识链上处于目标位置的区块,当目标共识待选区块成功通过共识委员会的共识验证时,由共识委员会将目标共识待选区块作为最终区块并存储至区块链中。
249.在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器701加载并还执行如下步骤:
250.若待处理的目标业务区块包含的业务数据在一个或多个数据存储设备中被备份成功,则触发对提取后的待处理的目标业务区块进行签名处理生成目标共识待选区块的步骤。
251.在一种实现方式中,数据存储设备包括n个代表节点中的一个或多个;或者,数据存储设备包括数据库中的存储设备;
252.数据库包括区块链的公共数据库,或者与待处理的目标业务区块的业务类型相匹配的专有数据库。
253.在一种实现方式中,计算机可读存储介质中的一条或多条指令由处理器701加载并还执行如下步骤:
254.当接收到业务节点发送的数据获取请求时,获取所请求的业务数据所在的数据存储设备的地址;
255.向业务节点返回地址,使得业务节点根据地址从数据存储设备获取业务数据。
256.本技术实施例中,处理器701可以获取待处理的目标业务区块,并在对待处理的目标业务区块审查通过后,从待处理的目标业务区块中提取业务数据进行存储,能够实现对区块链网络中的业务数据的集中存储、管理,进而节省共识节点的存储资源;并且,在提取待处理的目标业务区块的业务数据后,还对该待处理的目标业务区块进行签名,使得签名后的待处理的目标业务区块更新为目标共识待选区块,这样后续代表节点可以通过验证监管节点的签名,快捷地验证该目标共识待选区块的有效性,进而提高区块链网络的共识效率。
257.本技术实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。数据存储设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该数据存储设备执行上述基于区块链的数据存储方法。
258.本领域普通技术人员可以意识到,结合本技术中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
259.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(dsl))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
260.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献