【技术实现步骤摘要】
智能合约的处理方法、装置、设备及计算机可读存储介质
[0001]本申请属于区块链
,尤其涉及一种智能合约的处理方法、装置、设备及计算机可读存储介质。
技术介绍
[0002]目前,智能合约负责具体规则的程序自动化执行,不受人为干扰,且一旦满足规则的具体条件,就会自动立刻执行。智能合约的执行一般分为两步:第一步,从区块链所有节点选取候选节点,由候选节点结合智能合约数据进行执行;第二步,通过共识节点把计算结果同步到其它验证节点,其它验证节点再通过相关数据以及智能合约规则的调用执行来验证该结果,当一定数量的验证节点都通过验证后,则把该智能合约计算结果进行存储。
[0003]通常,一个智能合约可以对应多个合约规则,智能合约的执行主要是对具体合约规则的执行。现有技术中,一个完整的智能合约存在执行完毕和不执行两种情况。若在执行智能合约的过程中出现异常,则需要重新执行整个智能合约,导致智能合约的执行效率较低。
技术实现思路
[0004]本申请实施例提供了一种智能合约的处理方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提高容错率,提高整个智能合约的执行效率。
[0005]第一方面,本申请实施例提供了一种智能合约的处理方法,该方法包括:
[0006]获取智能合约任务,所述智能合约任务包括智能合约的调度任务和执行任务;
[0007]根据所述智能合约对应的多个第一合约规则对所述智能合约任务进行分解,得到多个与所述第一合约规则分别对应的合约子任务;
[0008]获取多个 ...
【技术保护点】
【技术特征摘要】
1.一种智能合约的处理方法,其特征在于,包括:获取智能合约任务,所述智能合约任务包括智能合约的调度任务和执行任务;根据所述智能合约对应的多个第一合约规则对所述智能合约任务进行分解,得到多个与所述第一合约规则分别对应的合约子任务;获取多个所述合约子任务分别对应的第一合约规则和数据;对多个所述合约子任务分别对应的第一合约规则和数据进行调度和执行,得到所述智能合约的执行结果。2.根据权利要求1所述的方法,其特征在于,在获取多个所述合约子任务分别对应的第一合约规则和数据之前,所述方法还包括:获取合约规则文件;将所述合约规则文件中的合约规则以双向循环链式存储的方式存储至区块链平台合约规则库,其中,所述双向循环链存储的方式用于表征根据目标合约规则能够确定所述目标合约规则对应的上一合约规则和下一合约规则,在所述目标合约规则为最后一个合约规则的情况下,根据所述目标合约规则能够确定第一个合约规则,在所述目标合约规则为第一个合约规则的情况下,根据所述目标合约规则能够确定最后一个合约规则,所述目标合约规则为多个所述合约规则中的任意一个;所述获取多个所述合约子任务分别对应的第一合约规则,包括:从所述区块链平台合约规则库中获取多个所述合约子任务分别对应的第一合约规则。3.根据权利要求2所述的方法,其特征在于,在获取合约规则文件之前,所述方法还包括:接收外部系统接口层载入的初始合约规则;对所述初始合约规则进行公示;在所述公示的期限内接收到所述外部系统接口层发送的调整通知的情况下,根据所述调整通知对所述初始合约规则进行调整,得到调整合约规则;将所述调整合约规则作为所述初始合约规则,并返回执行对所述初始合约规则进行公示,直至所述初始合约规则确认通过或所述调整的次数达到预设次数;对所述初始合约规则进行编译,生成合约规则文件。4.根据权利要求1所述的方法,其特征在于,在对多个所述合约子任务分别对应的第一合约规则和数据进行调度和执行之前,所述方法还包括:根据多个所述合约子任务分别对应的第一合约规则对多个所述合约子任务进行逻辑关联,得到多个所述合约子任务之间的逻辑关联关系,以及对多个所述合约子任务分别对应的合约功能组件进行组合,得到多个所述合约子任务之间的功能组合关系;所述对多个所述合约子任务分别对应的第一合约规则和数据进行调度和执行,包括:根据所述逻辑关系和所述功能组合关系对多个所述合约子任务分别对应的第一合约规则和数据进行调度和执行。5.根据权利要求1所述的方法,其特征在于,所述对多个所述合约子任务分别对应的第一合约规则和数据进行调度和执行,包括:获取多个第一目标节点,其中,所述多个第一目标节点根据随机节点选择算法确定得到,所述随机节点选择算法用于在每次对多个所述合约子任务分别对应的第一合约规则和
数据进行调度和执行之前,随机确定多个第一目标节点;通过所述多个第一目标节点对多个所述合约子任务分别对应的第一合约规则和数据进行调度和执行。6.根据权利要求5所...
【专利技术属性】
技术研发人员:曹理辉,张晓京,叶可可,辛艳双,赵思远,周胜坤,黄梦芝,贾晓元,王雪龙,
申请(专利权)人:中国移动通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。