将区块数据映射成结构化数据的方法和装置制造方法及图纸

技术编号:37434539 阅读:20 留言:0更新日期:2023-05-06 09:06
本说明书实施例提供一种将区块数据映射成结构化数据的方法和装置,该方法由区块链节点执行,包括:获取待执行的目标交易所调用的目标智能合约,所述目标智能合约包括若干合约方法,并具有附加于其上并针对其设置的解析规则;所述解析规则包括针对所述若干合约方法的第一解析规则,和针对合约回执的第二解析规则;执行所述目标交易,得到合约回执;根据所述第一解析规则,将与所述若干合约方法有关的区块数据映射为第一结构化数据,根据所述第二解析规则,将与所述合约回执有关的区块数据映射为第二结构化数据。针对不同的智能合约,均能够高效便捷的实现将区块数据映射成结构化数据。据。据。

【技术实现步骤摘要】
将区块数据映射成结构化数据的方法和装置


[0001]本说明书实施例属于区块链
,尤其涉及一种将区块数据映射成结构化数据的方法和装置。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]传统区块链节点中区块数据采用非结构化存储的数据结构,这种数据结构不适合进行复杂的数据查询、数据分析和数据计算等工作。需要将区块数据映射成结构化数据,以供业务提取自身感兴趣的数据字段。
[0004]现有技术中将区块数据映射成结构化数据时,针对不同的智能合约,进行单独开发,存在着大量工程的重复和时间的浪费。

技术实现思路

[0005]本专利技术的目的在于提供一种将区块数据映射成结构化数据的方法和装置,针对不同的智能合约,均能够高效便捷的实现将区块数据映射成结构化数据。
[0006]本说明书第一方面提供一种将区块数据映射成结构化数据的方法,该方法由区块链节点执行,包括:
[0007]获取待执行的目标交易所调用的目标智能合约,所述目标智能合约包括若干合约方法,并具有附加于其上并针对其设置的解析规则;所述解析规则包括针对所述若干合约方法的第一解析规则,和针对合约回执的第二解析规则;
[0008]执行所述目标交易,得到合约回执;
[0009]根据所述第一解析规则,将与所述若干合约方法有关的区块数据映射为第一结构化数据,根据所述第二解析规则,将与所述合约回执有关的区块数据映射为第二结构化数据。
[0010]本说明书第二方面提供一种将区块数据映射成结构化数据的装置,该装置设置于区块链节点,包括:
[0011]获取单元,用于获取待执行的目标交易所调用的目标智能合约,所述目标智能合约包括若干合约方法,并具有附加于其上并针对其设置的解析规则;所述解析规则包括针对所述若干合约方法的第一解析规则,和针对合约回执的第二解析规则;
[0012]执行单元,用于执行所述目标交易,得到合约回执;
[0013]映射单元,用于根据所述获取单元获取的第一解析规则,将与所述若干合约方法有关的区块数据映射为第一结构化数据,根据所述获取单元获取的第二解析规则,将与所述执行单元得到的合约回执有关的区块数据映射为第二结构化数据。
[0014]本说明书第三方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行所述第一方面的方法。
[0015]本说明书第四方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述第一方面的方法。
[0016]通过本说明书实施例提供的方案,区块链节点首先获取待执行的目标交易所调用的目标智能合约,所述目标智能合约包括若干合约方法,并具有附加于其上并针对其设置的解析规则;所述解析规则包括针对所述若干合约方法的第一解析规则,和针对合约回执的第二解析规则;然后执行所述目标交易,得到合约回执;最后根据所述第一解析规则,将与所述若干合约方法有关的区块数据映射为第一结构化数据,根据所述第二解析规则,将与所述合约回执有关的区块数据映射为第二结构化数据。由上可见,本说明书实施例,智能合约具有附加于其上并针对其设置的解析规则,便于区块链节点在得到合约回执后,自动根据解析规则进行将区块数据映射为结构化数据。此外,解析规则具有通用框架,包括针对所述若干合约方法的第一解析规则,和针对合约回执的第二解析规则,该通用框架屏蔽了各智能合约间的差异,并且针对不同的应用场景,该通用框架仍保留了足够的灵活度及完备的可扩展性。从而,针对不同的智能合约,均能够高效便捷的实现将区块数据映射成结构化数据。
附图说明
[0017]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1示出了一实施例中的区块链架构图;
[0019]图2为PBFT共识算法中的共识过程示意图;
[0020]图3示出根据一个实施例的将区块数据映射成结构化数据的方法流程图;
[0021]图4示出根据一个实施例的将区块数据映射成结构化数据的装置的示意性框图。
具体实施方式
[0022]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0023]图1示出了一实施例中的区块链架构图。在图1所示的区块链架构图中,区块链100中包括N个节点,图1中示意示出节点1

节点8。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接,所述连接例如可以为TCP连接等,用于在节点之间传输数据。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链中的每个节点可通过执行相同的交易而产生区块链中的相同的状态,区块链中的每个节点可存储相同的状态数据库。
[0024]区块链领域中的交易可以指在区块链中执行并记录在区块链中的任务单元。交易中通常包括发送字段(From)、接收字段(To)和数据字段(Data)。其中,在交易为转账交易的情况中,From字段表示发起该交易(即发起对另一个账户的转账任务)的账户地址,To字段表示接收该交易(即接收转账)的账户地址,Data字段中包括转账金额。
[0025]区块链中可提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。在区块链中调用智能合约,是发起一笔指向智能合约地址的交易,使得区块链中每个节点分布式地运行智能合约代码。
[0026]在部署合约的场景中,例如,Bob将一个包含创建智能合约信息(即部署合约)的交易发送到如图1所示的区块链中,该交易的data字段包括待创建的合约的代码(如字节码或者机器码),交易的to字段为空,以表示该交易用于部署合约。节点间通过共识机制达成一致后,确定合约的合约地址“0x6f8ae93
…”
,各个节点在状态数据库中添加与该智能合约的合约地址对应的合约账户,分配与该合约账户对应的状态存储,并存储合约代码,将合约代码的哈希值保存在该合约的状态存储中,从而合约创建成功。
[0027]在调用合约的场景中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种将区块数据映射成结构化数据的方法,所述方法由区块链节点执行,包括:获取待执行的目标交易所调用的目标智能合约,所述目标智能合约包括若干合约方法,并具有附加于其上并针对其设置的解析规则;所述解析规则包括针对所述若干合约方法的第一解析规则,和针对合约回执的第二解析规则;执行所述目标交易,得到合约回执;根据所述第一解析规则,将与所述若干合约方法有关的区块数据映射为第一结构化数据,根据所述第二解析规则,将与所述合约回执有关的区块数据映射为第二结构化数据。2.根据权利要求1所述的方法,其中,所述解析规则还包括:至少一张数据表的元数据;所述第一结构化数据和第二结构化数据,存储于所述至少一张数据表。3.根据权利要求2所述的方法,其中,任意一张数据表的元数据包括:该数据表的表名,所包含的每个列的列信息,所述列信息包括:列名,列类型,以及:索引,用于指示是否为该列创建索引;主键,用于指示是否将该列设置为主键;自增模式,用于指示该列数据是否为自增模式。4.根据权利要求2所述的方法,其中,所述第一解析规则包括:与所述若干合约方法分别对应的若干子规则;任意子规则包括针对的合约方法的方法名,以及至少一段表操作规则,任意一段表操作规则包括:表名字段,用于指示所述至少一张数据表中的目标数据表;操作字段,用于指示针对目标数据表进行的目标操作的操作类型;若干列字段,用于指示目标操作针对的目标数据列以及数据来源,所述数据来源通过预设指示符指示其取自合约参数值,或区块内置的值。5.根据权利要求4所述的方法,其中所述操作字段的备选取值对应于插入、更新或删除;当所述目标操作为更新或删除时,所述任意一段表操作规则还包括键字段,用于指示所述目标操作的查询键。6.根据权利要求4所述的方法,其中,所述若干合约方法包括第一合约方法,所述若干子规则包括第一子规则;所述第一子规则包括,所述第一合约方法的方法名,以及第一表操作规则,所述第一表操作规则在表名字段包括第一数据表,在操作字段包括第一操作,在列字段包括第一数据列,以及通过第一指示符指示的第一数据来源。7.根据权利要求6所述的方法,其中,所述根据所述第一解析规则,将与所述若干合约方法有...

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

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

1