本申请涉及区块链,尤其涉及一种区块链数据处理方法、一种区块链数据处理装置、一种计算机设备、一种计算机可读存储介质及一种计算机程序产品。
背景技术:
1、在区块链中,区块链中的交易数据的执行结果(例如得到的状态数据)大多是基于默克尔树的存储结构进行存储的。目前,默克尔树的存储结构通常包括根节点、中间节点、以及数据节点。默克尔树存储结果为二叉树的结构,一方面,二叉树中的节点存储的数据有限,数据存储的业务覆盖较低,不能很好地满足数据存储需求。
技术实现思路
1、本申请实施例提出了一种区块链数据处理方法、装置及设备、介质、产品,可以扩展默克尔树的存储结构,在数据节点上增加存储域节点,可以适应于多种业务场景的交易数据的状态数据存储需求。
2、一方面,本申请实施例提供了一种区块链数据处理方法,应用于区块链节点,该方法包括:
3、获取关于目标对象的交易区块;
4、根据交易区块中包括的交易数据,得到目标对象的验证数据;验证数据是基于树状存储结构进行存储的,树状存储结构为基于默克尔树的存储结构,树状存储结构中包括根节点、中间节点、数据节点、以及在数据节点上关联的存储域节点,存储域节点包括第一节点和第二节点;
5、其中,在得到目标对象的验证数据的过程中包括在树状存储结构的节点中存储数据以得到验证数据,区块链节点在树状存储结构的节点中存储数据至少包括执行以下步骤中的一个或者两个:
6、将目标对象的交易数据存储在第二节点中;
7、将目标对象的状态数据存储在第一节点中,目标对象的状态数据是根据交易数据确定的。
8、一方面,本申请实施例提供了一种区块链数据处理装置,应用于区块链节点,该装置包括:
9、获取单元,用于获取关于目标对象的交易区块;
10、处理单元,用于根据交易区块中包括的交易数据,得到目标对象的验证数据;验证数据是基于树状存储结构进行存储的,树状存储结构为基于默克尔树的存储结构,树状存储结构中包括根节点、中间节点、数据节点、以及在数据节点上关联的存储域节点,存储域节点包括第一节点和第二节点;
11、其中,在得到目标对象的验证数据的过程中包括在树状存储结构的节点中存储数据以得到验证数据,区块链节点在树状存储结构的节点中存储数据至少包括执行以下步骤中的一个或者两个:
12、将目标对象的交易数据存储在第二节点中;
13、将目标对象的状态数据存储在第一节点中,目标对象的状态数据是根据交易数据确定的。
14、一方面,本申请实施例提供一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述的区块链数据处理方法。
15、一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的区块链数据处理方法。
16、一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的区块链数据处理方法。
17、本申请实施例中,区块链节点可以首先获取关于目标对象的交易区块,然后根据交易区块中包括的交易数据,得到目标对象的验证数据。其中,验证数据是基于树状存储结构进行存储的,该树状存储结构为基于默克尔树的存储结构,树状存储结构中包括根节点、中间节点、数据节点、以及在数据节点上关联的存储域节点。其中,在得到目标对象的验证数据的过程中,区块链节点至少执行以下步骤中的一个或者两个:将目标对象的交易数据存储在第二节点中;将目标对象的状态数据存储在第一节点中,目标对象的状态数据是根据交易数据确定的。由此可见,本申请中用于存储状态数据的树状存储结构是基于默克尔树的存储结构进行改进的,即在默克尔树的数据节点上增加存储域节点,从而可以将交易数据的内容存储在存储域节点所包括的第一节点中,根据交易数据所确定的状态数据的内容存储在存储域节点所包括的第二节点中,由于增加了存储域节点,可以使得交易数据和状态数据均可以存储在树状存储结构中,从而使得该树状存储结构可以适应于多种业务场景的交易数据的状态数据存储需求;另外,基于二叉树的结构可以扩展得到多叉的树状存储结构,从而降低了默克尔树的高度,减少了计算量,从而可以提高验证性能。
1.一种区块链数据处理方法,其特征在于,应用于区块链节点,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述交易区块中包括一个或多个业务场景下的交易数据;一个数据节点关联有一个或多个第一节点,一个第一节点对应一个业务场景;一个第一节点关联有一个或多个第二节点;
3.如权利要求1所述的方法,其特征在于,所述交易数据用于指示所述目标对象与关联对象之间转移目标数额的目标资源;所述数据节点关联有至少一个第一节点;所述将所述目标对象的状态数据存储在所述第一节点中,包括:
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
5.如权利要求4所述的方法,其特征在于,所述方法还包括如下步骤中的一个或者两个:
6.如权利要求1所述的方法,其特征在于,所述根据所述交易区块中包括的交易数据,得到所述目标对象的验证数据之前,还包括:
7.如权利要求6所述的方法,其特征在于,所述获取所述交易区块对应的交易指示信息之前,还包括:
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
9.如权利要求6所述的方法,其特征在于,所述获取所述交易区块对应的交易指示信息,包括:
10.如权利要求6所述的方法,其特征在于,所述交易区块是在所述主链节点在接收到一个或多个业务场景下的交易数据后,由所述主链节点生成并发送给子链节点的;或者,
11.如权利要求9所述的方法,其特征在于,所述智能合约中存储有至少一个合约账户、以及每个合约账户关联的至少一个账户状态;其中,一个合约账户对应一个交易对象,所述交易对象包括目标对象或关联对象;
12.一种区块链数据处理装置,其特征在于,应用于区块链节点,所述装置包括:
13.一种计算机设备,其特征在于,包括:存储装置和处理器;
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-11中任一项所述的区块链数据处理方法。
15.一种计算机程序产品,其特征在于,所述计算程序产品包括计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-11中任一项所述的区块链数据处理方法。