一种数据处理方法、装置、电子设备和存储介质制造方法及图纸

技术编号:34521362 阅读:20 留言:0更新日期:2022-08-13 21:10
本说明书提供一种数据处理方法、装置、电子设备和存储介质,应用于部署有第一区块链节点的第一节点设备,第一区块链节点所属的区块链网络部署有链下计算合约;所述方法包括:监听所述链下计算合约生成的针对协作计算任务的任务事件,所述任务事件记录有所述协作计算任务对应的至少两个参与方节点与一个结果提供方节点的描述信息;在确定第一区块链节点属于所述参与方节点的情况下,调用第一节点设备部署的第一链下计算引擎执行所述协作计算任务;在确定第一区块链节点属于所述结果提供方节点的情况下,通过第一区块链节点向所述链下计算任务合约发起包含所述协作计算任务对应执行结果的描述信息的结果返回交易。执行结果的描述信息的结果返回交易。执行结果的描述信息的结果返回交易。

【技术实现步骤摘要】
一种数据处理方法、装置、电子设备和存储介质


[0001]本说明书实施例属于区块链
,尤其涉及一种数据处理方法、装置、电子设备和存储介质。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]区块链网络可以承担基于智能合约定义的链下计算任务,此时区块链网络中各区块链节点分别所处的各节点设备会在智能合约生成的事件的指导下,调用本地部署的链下计算引擎以用于实现链下计算任务。对于协作计算任务即需要多个节点设备共同协作完成的链下计算任务而言,理论上每个参与协作的节点设备都可以向将协作计算任务对应的执行结果上链存储,导致区块链上针对同一个协作计算任务可能同时维护有多个执行结果,占用了链上的存储资源且存在多个执行结果不一致的风险。

技术实现思路

[0004]本专利技术的目的在于提供一种数据处理方法、装置、电子设备和存储介质。
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种数据处理方法,应用于部署有第一区块链节点的第一节点设备,第一区块链节点所属的区块链网络部署有链下计算合约;所述方法包括:
[0006]监听所述链下计算合约生成的针对协作计算任务的任务事件,所述任务事件记录有所述协作计算任务对应的至少两个参与方节点与一个结果提供方节点的描述信息;
[0007]在确定第一区块链节点属于所述参与方节点的情况下,调用第一节点设备部署的第一链下计算引擎执行所述协作计算任务;
[0008]在确定第一区块链节点属于所述结果提供方节点的情况下,通过第一区块链节点向所述链下计算任务合约发起包含所述协作计算任务对应执行结果的描述信息的结果返回交易。
[0009]根据本说明书一个或多个实施例的第二方面,提出了一种数据处理装置,应用于部署有第一区块链节点的第一节点设备,第一区块链节点所属的区块链网络部署有链下计算合约;所述装置包括:
[0010]事件监听单元,用于监听所述链下计算合约生成的针对协作计算任务的任务事件,所述任务事件记录有所述协作计算任务对应的至少两个参与方节点与一个结果提供方节点的描述信息;
[0011]任务执行单元,用于在确定第一区块链节点属于所述参与方节点的情况下,调用第一节点设备部署的第一链下计算引擎执行所述协作计算任务;
[0012]结果返回单元,用于在确定第一区块链节点属于所述结果提供方节点的情况下,通过第一区块链节点向所述链下计算任务合约发起包含所述协作计算任务对应执行结果的描述信息的结果返回交易。
[0013]根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
[0014]处理器;
[0015]用于存储处理器可执行指令的存储器;
[0016]其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
[0017]根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
[0018]在本说明书实施例中,除了在链下计算合约触发生成的针对协作计算任务的任务事件中指定参与方节点的描述信息以指示对应的节点设备参与执行协作计算任务之外,还会在任务事件中额外指定结果提供方节点的描述信息,从而使得各节点设备能够通过监听任务事件以获知唯一的结果提供方节点,并在确定自身部署有该结果提供方节点的情况下才会触发上链存证协作计算任务对应的执行结果的操作,即对于同一个的协作计算任务而言只有一个节点设备会上链存证执行结果,因此可以确保区块链上对于同一个协作计算任务仅维护有一个执行结果,降低了对链上的存储资源的占用,同时保证了数据的一致性。
附图说明
[0019]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是一示例性实施例提供的一种数据处理方法的流程图。
[0021]图2是一示例性实施例提供的一种数据处理方法的场景示意图。
[0022]图3是一示例性实施例提供的另一种数据处理方法的场景示意图。
[0023]图4是一示例性实施例提供的一种设备的结构示意图。
[0024]图5是一示例性实施例提供的一种数据处理装置的框图。
具体实施方式
[0025]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0026]图1是一示例性实施例提供的一种数据处理方法的流程图。该方法应用于部署有第一区块链节点的第一节点设备,第一区块链节点所属的区块链网络部署有链下计算合约;所述方法包括:
[0027]S102:监听所述链下计算合约生成的针对协作计算任务的任务事件,所述任务事件记录有所述协作计算任务对应的至少两个参与方节点与一个结果提供方节点的描述信
息。
[0028]在本说明书实施例中,链下计算合约是一个用于承载链下计算任务的链上载体,链下计算合约中定义有链下计算任务包含的若干子任务,用于描述一个链下计算任务中的数据流向和各节点设备的计算协作过程。由于链下计算合约部署在区块链网络上,因此限定了链下计算合约所定义的链下计算任务的参与方节点不超过区块链网络中的各区块链节点的范围。显然,同一个区块链网络中可以部署多个链下计算合约,而不同的链下计算合约其所涉及的参与方节点的数量和性能均可以灵活配置,这使得依托于同一个区块链网络可以实现不同任务类型、任务需求和任务规模的链下计算任务的部署。
[0029]为了说明链下计算合约如何指导以实现其定义的链下计算任务,下面将通过一个典型的链下计算合约的运作过程来简单介绍链下计算任务的实现逻辑。用户可以通过可视化合约编排系统生成链下计算合约的代码并在区块链网络中部署链下计算合约,从而使得链下计算合约定义了一种类型的链下计算任务的工作流程,它体现为若干个具有执行依赖顺序的子任务。在链下计算合约部署成功后,有权限调用该链下计算合约的用户就可以通过向链下计算合约发起任务创建交易的方式来创建并启动一个链下计算任务,链下计算合约在接收到任务创建交易后会相应地创建一个归属于发起方用户的链下计算任务的任务实例,该任务实例中维护有链下计算任务的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,应用于部署有第一区块链节点的第一节点设备,第一区块链节点所属的区块链网络部署有链下计算合约;所述方法包括:监听所述链下计算合约生成的针对协作计算任务的任务事件,所述任务事件记录有所述协作计算任务对应的至少两个参与方节点与一个结果提供方节点的描述信息;在确定第一区块链节点属于所述参与方节点的情况下,调用第一节点设备部署的第一链下计算引擎执行所述协作计算任务;在确定第一区块链节点属于所述结果提供方节点的情况下,通过第一区块链节点向所述链下计算任务合约发起包含所述协作计算任务对应执行结果的描述信息的结果返回交易。2.根据权利要求1所述的方法,所述链下计算合约维护有链下计算任务对应的任务完成状态,所述任务完成状态用于描述所述链下计算任务包含的各子任务的完成状态;在所述协作计算任务属于所述链下计算任务的子任务的情况下,所述监听所述链下计算合约生成的针对协作计算任务的任务事件,包括:监听所述链下计算合约在所述任务完成状态满足所述协作计算任务对应的执行条件的情况下生成的针对所述协作计算任务的所述任务事件。3.根据权利要求2所述的方法,所述任务完成状态由所述链下计算合约响应于所述链下计算任务对应的交易触发更新,其中,所述链下计算任务对应的交易包括所述链下计算任务对应的任务创建交易,或者任一节点设备在对所述各子任务中任一子任务执行完毕的情况下发起的结果返回交易。4.根据权利要求1所述的方法,第一链下计算引擎用于:在执行所述协作计算任务的过程中,获取其他链下计算引擎发送的第一数据,以用于在执行所述协作计算任务的过程中使用;和/或,将执行所述协作计算任务的过程中生成的第二数据发送至所述其他计算引擎,以使所述其他计算引擎在执行所述协作计算任务的过程中使用第二数据;其中,所述其他计算引擎包括:部署有所述至少两个参与方节点中任一参与方节点的节点设备上部署的除第一链下计算引擎外的链下计算引擎。5.根据权利要求1所述的方法,还包括:在所述至少两个参与方节点的描述信息中包含第一区块链节点的标识信息的情况下,确定第一区块链节点属于所述参与方节点;在所述一个结果提供方节点的描述信息中包含第一区块链节点的标识信息的情况下,确定第一区块链节点属于所述结果提供方节点。6.根据权利要求1所述的方法,在所述...

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

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

1