【技术实现步骤摘要】
基于智能合约的任务执行方法及装置
[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于智能合约的任务执行方法及装置。
技术介绍
[0002]区块链技术构建在传输网络(例如点对点网络)之上。区块链网络中的节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。在一些区块链网络中,部分节点有时存在实现小范围交易的需求,以避免其他节点获得这些交易及其相关数据,因此可以在区块链主网的基础上进一步建立区块链子网。
[0003]区块链主网或区块链子网中部署的智能合约可以定义有工作流,从而区块链节点在执行智能合约的过程中,即可执行该工作流中对应于各个任务结点的合约任务。但是,同一智能合约对应的多个合约任务可能分别需要不同的区块链成员参与执行,所以在上述智能合约被调用的情况下,如何分配区块链成员有序参与执行相应的合约任务,是智能合约执行过程中亟待解决的问题。
技术实现思路
[0004]有鉴于此,本说明书一个或多个实施例提供一种基于智能合约的任务执行方法及装置。
[0 ...
【技术保护点】
【技术特征摘要】
1.一种基于智能合约的任务执行方法,应用于部署有区块链节点实例和业务实例的第一节点设备,所述区块链节点实例属于区块链子网,所述区块链子网由区块链主网所管理;所述方法包括:所述区块链节点实例在响应于调用智能合约中定义的工作流的第一交易执行所述智能合约的过程中,若所述工作流的处理进度处于第一任务结点之前且第一交易提供的入参使第一任务结点的执行条件被满足,则生成对应于第一任务结点的任务分配事件;所述业务实例在监听到所述任务分配事件且确定所述任务分配事件所含的第一合约任务被分配至第一节点设备所属的第一区块链成员的情况下,执行第一合约任务。2.根据权利要求1所述的方法,所述执行条件包括下述至少之一:第一交易提供的入参的数据格式符合要求;第一交易提供的入参为所述工作流中处于第一任务结点之前的第二任务结点所对应的第二合约任务的执行结果。3.根据权利要求2所述的方法,当第一交易调用所述智能合约中用于推进工作流的方法时,表明所述入参与第二任务结点无关;当第一交易调用所述智能合约中的任务回调方法时,表明所述入参为第二合约任务的执行结果;其中,所述任务回调方法被调用后,自动触发用于推进工作流的方法。4.根据权利要求1所述的方法,所述第一任务结点的执行条件包含多个执行子条件,所述方法还包括:在第一交易提供的入参满足第一任务结点的全部执行子条件,或者满足第一任务结点的部分执行子条件且其余执行子条件已被所述区块链节点实例记录的第二交易提供的入参满足的情况下,所述区块链节点实例确定执行条件被满足;在第一交易提供的入参满足所述第一任务结点的部分执行子条件且存在尚未被满足的执行子条件的情况下,所述区块链节点实例记录第一交易提供的入参并等待。5.根据权利要求1所述的方法,在下述任一情况下,确定所述任务分配事件所含的第一合约任务被分配至第一节点设备所属的第一区块链成员:所述任务分配事件中包含所述第一区块链成员的身份信息;第一合约任务的任务内容匹配于所述第一区块链成员对应的任务分配条件。6.根据权利要求1所述的方法,还包括:在所述工作流的处理进度处于第一任务结点之前且第一交易提供的入参使第一任务结点的执行条件被满足的情况下,所述区块链节点实例将所述工作流的处理进度更新至第一任务结点之后。7.根据权利要求1所述的方法,所述业务实例执行所述第一合约任务,包括:所述业务实例调用部署于所述节点设备本地的计算资源执行所述第一合约任务;和/或,所...
【专利技术属性】
技术研发人员:赵博然,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。