数据处理方法及装置制造方法及图纸

技术编号:20919993 阅读:31 留言:0更新日期:2019-04-20 10:25
本说明书实施例提供一种数据处理方法及装置,该方法包括:创建区块链的逻辑合约以及对应的多个数据合约;将所述逻辑合约和所述多个数据合约部署到所述区块链上;将所述区块链中目标区块的数据存储至所述多个数据合约中;计算所述多个数据合约的哈希值;基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。由此可见,本说明书实施例中,在计算区块链中区块的哈希值时,通过将智能合约分离为逻辑合约和多个数据合约,将区块的所有数据分散存储到多个数据合约中,可以提高哈希值计算算法对单个合约的哈希值计算效率,从而提高区块哈希值的计算效率,进而从整体上提高节点的哈希值计算效率。

Data Processing Method and Device

The embodiment of this specification provides a data processing method and apparatus, which includes: creating logical contracts of block chains and corresponding multiple data contracts; deploying the logical contracts and the multiple data contracts onto the block chains; storing data of target blocks in the block chains into the multiple data contracts; and calculating hash values of the multiple data contracts. The hash value of the target block in the block chain is determined based on the hash value of the plurality of data contracts. Thus, in the embodiment of this specification, when calculating the hash value of a block in a block chain, by separating the intelligent contract into logical contracts and multiple data contracts, and storing all data of a block into multiple data contracts, the hash value calculation efficiency of a hash value calculation algorithm for a single contract can be improved, thereby improving the hash value calculation efficiency of a block, and then from the whole contract. The computation efficiency of hash value of nodes is improved in volume.

【技术实现步骤摘要】
数据处理方法及装置
本申请涉及互联网
,尤其涉及一种数据处理方法及装置。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,其中,共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法,区块链要求其系统中每个节点的状态需要保持一致。目前,主要通过比较区块链系统中各个节点的哈希值,来判断各个节点的状态是否一致,其中,在计算节点的哈希值时,涉及到计算节点中每个区块的哈希值。可见,区块的哈希值的计算效率关系到节点的哈希值的计算效率,因此,需要提出一种数据处理方法,以提高区块的哈希值的计算效率,进而从整体上提高节点的哈希值的计算效率。
技术实现思路
本说明书实施例的目的是提供一种数据处理方法及装置,本说明书实施例是这样实现的:第一方面,提供了一种数据处理方法,所述方法包括:创建区块链的逻辑合约以及对应的多个数据合约;将所述逻辑合约和所述多个数据合约部署到所述区块链上;将所述区块链中目标区块的数据存储至所述多个数据合约中;计算所述多个数据合约的哈希值;基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。第二方面,提供了一种数据处理装置,所述装置包括:创建模块,用于创建区块链的逻辑合约以及对应的多个数据合约;部署模块,用于将所述逻辑合约和所述多个数据合约部署到所述区块链上;存储模块,用于将所述区块链中目标区块的数据存储至所述多个数据合约中;第一计算模块,用于计算所述多个数据合约的哈希值;确定模块,用于基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。第三方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:创建区块链的逻辑合约以及对应的多个数据合约;将所述逻辑合约和所述多个数据合约部署到所述区块链上;将所述区块链中目标区块的数据存储至所述多个数据合约中;计算所述多个数据合约的哈希值;基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。第四方面,提供了一种计算机存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:创建区块链的逻辑合约以及对应的多个数据合约;将所述逻辑合约和所述多个数据合约部署到所述区块链上;将所述区块链中目标区块的数据存储至所述多个数据合约中;计算所述多个数据合约的哈希值;基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。由以上本说明书实施例提供的技术方案可见,考虑到在计算区块链中区块的哈希值时,如果将该区块的所有数据均存储至一个合约中,那么随着合约中数据量的不断增多,会造成哈希值计算算法(例如MerkleTree算法)的计算效率急剧下降,区块哈希值的计算效率较低。本说明书实施例中,在计算区块链中区块的哈希值时,通过将智能合约分离为逻辑合约和多个数据合约,将区块的所有数据分散存储到多个数据合约中,可以提高哈希值计算算法对单个合约的哈希值计算效率,从而提高区块哈希值的计算效率,进而从整体上提高节点的哈希值计算效率。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本说明书的一个实施例的数据处理方法的流程图;图2是本说明书的一个实施例的数据处理方法的实例图;图3是本说明书的另一个实施例的数据处理方法的流程图;图4是本说明书的一个实施例的数据处理装置的结构示意图;图5是本说明书的一个实施例的电子设备的结构示意图。具体实施方式为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。区块链节点的哈希(Hash)值的计算过程:例如,区块链由N个区块构成,分别为:区块1、区块2、区块3,…,区块N,首先根据区块1中的数据计算区块1的Hash值,之后根据区块1的Hash值和区块2中的数据计算区块2的Hash值,再之后根据区块2的Hash值和区块3中的数据计算区块3的Hash值,以此类推,计算区块N的Hash值,区块N的Hash值即为节点的Hash值;其中,计算Hash值的算法通常为默克尔树(MerkleTree)算法。目前,在计算区块的Hash值时,是将这个区块的数据存储至一个智能合约中进行MerkleTreeHash计算,得到该区块的Hash值。然而,MerkleTree的计算效率会随合约中数据量的不断增长而降低,导致区块的Hash值计算效率较低。为了解决上述技术问题,本说明书实施例提供了一种数据处理方法及装置。下面首先对本说明书实施例中涉及到的一些概念进行介绍。区块链技术:也被称之为分布式账本技术,是一种去中性化的分布式数据库技术,其特点是去中心化、公开透明、不可篡改、可信任。区块链的每笔数据,都会广播全网的区块链节点,每个节点都有全量的、一致的数据,即每个节点的状态需要保持一致,包括数据库的状态。这就要求应用执行区块链交易的顺序是有序的、且各个节点中都保持一致,每个节点按序运行这些交易,就能得到相同的数据状态。区块:每个区块记录着上一个区块的哈希(Hash)值、本区块中的交易集合、本区块的Hash值等基础数据。由于每个区块都有上一区块的Hash值,区块间由这个值两两串联,形成区块链。交易:区块链接收的数据称之为交易。MerkleTree:一种数据结构,可以快速对已组织的结构进行Hash计算。State:表示区块链存储的数据集合,包括区块链数据,区块链交易执行后,各个账户和智能合约的数据。StateHash:整个State的数据可以通过Hash算法计算出一个Hash值,分布式的区块链各个节点的State应该是保持一致的,通过对比StateHash值是否一致来判断。接下来对本说明书实施例提供的一种数据处理方法进行介绍。需要说明的是,本说明书实施例提供的方法适用于支持智能合约和MerkleTree的私有链、联盟链、公有链的区块链平台。图1是本说明书的一个实施例的数据处理方法的流程图,如图1所示,该方法可以包括以下步骤:步骤102、步骤104、步骤106、步骤108和步骤110,其中,在步骤102中,创建区块链的逻辑合约以及对应的多个数据合约。本说明书实施例中,可以将智能合约分离为逻辑合约和数据合约,具体的,将智能合约的逻辑部分分离出来,创建相应的逻辑合约,在创建逻辑合约时创建对应的多个数据合约;其中,逻辑合约用于处理业务逻辑,数据合约用于存储数据。在一个例子中,创建1个逻辑合约和3个数据合约。本说明书实施例中,将智能合约分离为逻辑合约和数据合约,在升级合约时,只需升级逻辑合约,数据合约无需改动,相应的,上述方法还可以增加以下步骤:升级逻辑合约本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,所述方法包括:创建区块链的逻辑合约以及对应的多个数据合约;将所述逻辑合约和所述多个数据合约部署到所述区块链上;将所述区块链中目标区块的数据存储至所述多个数据合约中;计算所述多个数据合约的哈希值;基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。

【技术特征摘要】
1.一种数据处理方法,所述方法包括:创建区块链的逻辑合约以及对应的多个数据合约;将所述逻辑合约和所述多个数据合约部署到所述区块链上;将所述区块链中目标区块的数据存储至所述多个数据合约中;计算所述多个数据合约的哈希值;基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。2.根据权利要求1所述的方法,创建对应的多个数据合约,还包括:如果所述区块链上的数据合约的容量达到预设阈值,则为所述区块链创建新增的数据合约。3.根据权利要求1所述的方法,所述方法还包括:升级所述逻辑合约,以升级所述区块链的智能合约。4.根据权利要求3所述的方法,所述方法还包括:将所述数据合约中的数据分享给其他智能合约。5.根据权利要求1所述的方法,所述将所述区块链中目标区块的数据存储至所述多个数据合约中,包括:将所述区块链中目标区块的数据均匀存储至所述多个数据合约中。6.根据权利要求5所述的方法,所述计算所述多个数据合约的哈希值,包括:并行计算所述多个数据合约的哈希值。7.根据权利要求1所述的方法,所述方法还包括:计算所述逻辑合约的哈希值;所述基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值,包括:基于所述逻辑合约的哈希值、以及基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。8.一种数据处理装置,所述装置包括:创建模块,用于创建区块链的逻辑合约以及对应的多个数据合约;部署模块,用于将所述逻辑合约和所述多个数据合约部署到所述区块链上;存储模块,用于将所述区块链中目标区块的数据存储至所述多个数据合约中;第一计算模块,用于计算所述多个数据合约的哈希值;确定模块,用于基于所述多个数据合约的哈希值,确定所述区块链中目标区块的哈希值。9.根据权利要求8所述的装置,所述创建模块还用于:如果所述区块...

【专利技术属性】
技术研发人员:卓海振邱鸿霖
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1