[发明专利]基于智能合约的任务执行方法及装置有效
申请号: | 202110611540.3 | 申请日: | 2021-06-02 |
公开(公告)号: | CN113098983B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 赵博然 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06Q40/04 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 李威 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 智能 合约 任务 执行 方法 装置 | ||
1.一种基于智能合约的任务执行方法,应用于部署有区块链节点实例和业务实例的第一节点设备,所述方法包括:
所述区块链节点实例在响应于调用智能合约中定义的工作流的第一交易执行所述智能合约的过程中,若所述工作流的处理进度处于第一任务结点之前且第一交易提供的入参使第一任务结点的执行条件被满足,则生成对应于第一任务结点的任务分配事件;
所述业务实例在监听到所述任务分配事件且确定所述任务分配事件所含的第一合约任务被分配至第一节点设备所属的第一区块链成员的情况下,执行第一合约任务;
在所述任务分配事件还包含被分配至区别于所述第一节点设备的至少一个其他节点设备所属的区块链成员的合约任务的情况下,所述业务实例将所述第一合约任务的执行结果发送至从所述至少一个其他节点设备中确定出的主节点设备,以由所述主节点设备将该执行结果反馈至所述智能合约。
2.根据权利要求1所述的方法,所述执行条件包括下述至少之一:
第一交易提供的入参的数据格式符合要求;
第一交易提供的入参为所述工作流中处于第一任务结点之前的第二任务结点所对应的第二合约任务的执行结果。
3.根据权利要求2所述的方法,
当第一交易调用所述智能合约中用于推进工作流的方法时,表明所述入参与第二任务结点无关;
当第一交易调用所述智能合约中的任务回调方法时,表明所述入参为第二合约任务的执行结果;其中,所述任务回调方法被调用后,自动触发用于推进工作流的方法。
4.根据权利要求1所述的方法,所述第一任务结点的执行条件包含多个执行子条件,所述方法还包括:
在第一交易提供的入参满足第一任务结点的全部执行子条件,或者满足第一任务结点的部分执行子条件且其余执行子条件已被所述区块链节点实例记录的第二交易提供的入参满足的情况下,所述区块链节点实例确定执行条件被满足;
在第一交易提供的入参满足所述第一任务结点的部分执行子条件且存在尚未被满足的执行子条件的情况下,所述区块链节点实例记录第一交易提供的入参并等待。
5.根据权利要求1所述的方法,在下述任一情况下,确定所述任务分配事件所含的第一合约任务被分配至第一节点设备所属的第一区块链成员:
所述任务分配事件中包含所述第一区块链成员的身份信息;
第一合约任务的任务内容匹配于所述第一区块链成员对应的任务分配条件。
6.根据权利要求1所述的方法,还包括:
在所述工作流的处理进度处于第一任务结点之前且第一交易提供的入参使第一任务结点的执行条件被满足的情况下,所述区块链节点实例将所述工作流的处理进度更新至第一任务结点之后。
7.根据权利要求1所述的方法,所述业务实例执行所述第一合约任务,包括:
所述业务实例调用部署于所述节点设备本地的计算资源执行所述第一合约任务;和/或,
所述业务实例调用部署于所述节点设备之外的计算资源执行所述第一合约任务。
8.根据权利要求1所述的方法,还包括:
所述业务实例将所述第一合约任务的执行结果反馈至所述智能合约。
9.根据权利要求8所述的方法,还包括:
在所述任务分配事件还包含被分配至第二节点设备所属的第二区块链成员的第二合约任务的情况下,所述业务实例获取所述第二合约任务的执行结果,并将该执行结果反馈至所述智能合约。
10.根据权利要求1所述的方法,所述区块链节点实例属于区块链子网,所述区块链子网由区块链主网所管理;所述方法还包括:
所述业务实例将所述第一合约任务的执行结果提交至所述区块链主网,以将该执行结果存证于所述区块链主网。
11.根据权利要求1所述的方法,所述区块链节点实例和业务实例处于不同进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110611540.3/1.html,转载请声明来源钻瓜专利网。