CN113643157A - 智能合约的执行方法和装置 - Google Patents

智能合约的执行方法和装置 Download PDF

Info

Publication number
CN113643157A
CN113643157A CN202110756694.1A CN202110756694A CN113643157A CN 113643157 A CN113643157 A CN 113643157A CN 202110756694 A CN202110756694 A CN 202110756694A CN 113643157 A CN113643157 A CN 113643157A
Authority
CN
China
Prior art keywords
contract
execution
intelligent
intelligent contract
linkage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110756694.1A
Other languages
English (en)
Inventor
穆长春
狄刚
钱友才
杜金钊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Currency Institute of the Peoples Bank of China
Original Assignee
Digital Currency Institute of the Peoples Bank of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Currency Institute of the Peoples Bank of China filed Critical Digital Currency Institute of the Peoples Bank of China
Priority to CN202110756694.1A priority Critical patent/CN113643157A/zh
Publication of CN113643157A publication Critical patent/CN113643157A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services; Handling legal documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling

Abstract

本发明公开了一种智能合约的执行方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据业务处理逻辑生成用户签约表,用户签约表包括智能合约标识以及智能合约之间的联动执行关系;根据业务数据、智能合约标识和联动执行关系判断是否满足智能合约执行条件;当满足智能合约执行条件时,根据联动执行关系按序获取智能合约并执行。该实施方式能够基于智能合约联动机制,通过合约组合执行的形式来满足复杂的业务逻辑,既可以扩展智能合约的实现的商业逻辑,又可以提高智能合约的执行效率。

Description

智能合约的执行方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种智能合约的执行方法 和装置。
背景技术
合约指交易参与方彼此达成的协议承诺。当交易很复杂时,会需 要多个智能合约来一起执行。如何根据交易业务的处理逻辑来进行智 能合约的执行,这是目前亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种智能合约的执行方法和装置, 能够基于智能合约联动机制,通过合约组合执行的形式来满足复杂的 业务逻辑,既可以扩展智能合约的实现的商业逻辑,又可以提高智能 合约的执行效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种智 能合约的执行方法。
一种智能合约的执行方法,包括:
根据业务处理逻辑生成用户签约表,所述用户签约表包括智能合 约标识以及智能合约之间的联动执行关系;
根据业务数据、所述智能合约标识和所述联动执行关系判断是否 满足智能合约执行条件;
当满足所述智能合约执行条件时,根据所述联动执行关系按序获 取智能合约并执行。
可选地,所述用户签约表还包括业务标识,并且,所述方法还包 括:
在每个智能合约执行完成后,根据所述智能合约的合约标识和所 述业务标识从所述用户签约表中查找是否还有未执行的智能合约。
可选地,所述智能合约之间的联动执行关系包括:串行执行、并 行执行、串并行执行和嵌套执行。
可选地,根据所述联动执行关系按序获取智能合约并执行包括:
根据所述联动执行关系确定智能合约的执行顺序,并根据所述业 务数据生成智能合约的执行参数;
按照所述执行顺序依次获取智能合约,并根据所述执行参数执行 所获取的智能合约。
可选地,所述智能合约包括合约声明和合约执行体,所述合约声 明定义了智能合约的执行逻辑和执行参数;所述合约执行体用于按照 所述执行逻辑对所述执行参数进行业务逻辑处理以执行所述智能合 约;
所述方法通过以下方式来执行智能合约:
通过智能合约加载器来加载合约执行体,并通过所述合约执行体 来执行智能合约。
可选地,所述方法通过以下方式来执行智能合约:
根据智能合约执行请求获取智能合约,所述智能合约包括合约声 明和合约执行体;
对所述合约声明、所述合约执行体和所述执行参数进行验证;
在验证通过后,加载所述合约执行体,并根据所述执行参数执行 所述智能合约。
可选地,对所述合约声明、所述合约执行体和所述执行参数进行 验证包括:
验证所述合约声明和所述合约执行体的签名及完整性,以及验证 所述执行参数的合法合规性。
根据本发明实施例的另一方面,提供了一种智能合约的执行装置。
一种智能合约的执行装置,包括:
签约表生成模块,用于根据业务处理逻辑生成用户签约表,所述 用户签约表包括智能合约标识以及智能合约之间的联动执行关系;
合约触发模块,用于根据业务数据、所述智能合约标识和所述联 动执行关系判断是否满足智能合约执行条件;
合约执行模块,用于当满足所述智能合约执行条件时,根据所述 联动执行关系按序获取智能合约并执行。
可选地,所述用户签约表还包括业务标识,并且,所述装置还包 括合约查找模块,用于:
在每个智能合约执行完成后,根据所述智能合约的合约标识和所 述业务标识从所述用户签约表中查找是否还有未执行的智能合约。
可选地,所述智能合约之间的联动执行关系包括:串行执行、并 行执行、串并行执行和嵌套执行。
可选地,所述合约执行模块还用于:
根据所述联动执行关系确定智能合约的执行顺序,并根据所述业 务数据生成智能合约的执行参数;
按照所述执行顺序依次获取智能合约,并根据所述执行参数执行 所获取的智能合约。
可选地,所述智能合约包括合约声明和合约执行体,所述合约声 明定义了智能合约的执行逻辑和执行参数;所述合约执行体用于按照 所述执行逻辑对所述执行参数进行业务逻辑处理以执行所述智能合 约;
所述合约执行模块通过以下方式来执行智能合约:
通过智能合约加载器来加载合约执行体,并通过所述合约执行体 来执行智能合约。
可选地,所述合约执行模块通过以下方式来执行智能合约:
根据智能合约执行请求获取智能合约,所述智能合约包括合约声 明和合约执行体;
对所述合约声明、所述合约执行体和所述执行参数进行验证;
在验证通过后,加载所述合约执行体,并根据所述执行参数执行 所述智能合约。
可选地,所述合约执行模块还用于:
验证所述合约声明和所述合约执行体的签名及完整性,以及验证 所述执行参数的合法合规性。
根据本发明实施例的又一方面,提供了一种智能合约的执行电子 设备。
一种智能合约的执行电子设备,包括:一个或多个处理器;存储 装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个 或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所 提供的智能合约的执行方法。
根据本发明实施例的再一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,所述程序被处理 器执行时实现本发明实施例所提供的智能合约的执行方法。
上述发明中的一个实施例具有如下优点或有益效果:通过根据业 务处理逻辑生成用户签约表,用户签约表包括智能合约标识以及智能 合约之间的联动执行关系;根据业务数据、智能合约标识和联动执行 关系判断是否满足智能合约执行条件;当满足智能合约执行条件时, 根据联动执行关系按序获取智能合约并执行,实现了基于智能合约联 动机制,通过合约组合执行的形式来满足复杂的业务逻辑,既可以扩 展智能合约的实现的商业逻辑,又可以提高智能合约的执行效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具 体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的智能合约的执行方法的主要步骤示意 图;
图2是本发明一个实施例的智能合约串行执行原理示意图;
图3是本发明一个实施例的智能合约并行执行原理示意图;
图4是本发明一个实施例的智能合约嵌套执行原理示意图;
图5是本发明一个实施例的智能合约核心要素关系图;
图6是本发明一个实施例的智能合约执行过程示意图;
图7是本发明一个实施例的智能合约执行节点结构图;
图8是根据本发明实施例的智能合约的执行装置的主要模块示意 图;
图9是本发明实施例可以应用于其中的示例性系统架构图;
图10是适于用来实现本发明实施例的终端设备或服务器的计算机 系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发 明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。 因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做 出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清 楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本发明的实施例介绍中,所出现的合约即为智能合约,其中所 涉及的技术名词释义如下:
资金层智能合约:资金层智能合约是为智能合约提供基于数字货 币资金处理服务的合约部分。资金层智能合约在中央机构审核签名后, 交各运营机构统一部署;
商业智能合约:用于适配商业逻辑,构造资金层智能合约执行过 程所需要的各项参数。商业智能合约可以通过智能合约配置平台产生, 也可以根据统一标准手工开发。
图1是根据本发明实施例的智能合约的执行方法的主要步骤示意 图。如图1所示,本发明实施例的智能合约的执行方法主要包括如下 的步骤S101至步骤S103。
步骤S101:根据业务处理逻辑生成用户签约表,用户签约表包括 智能合约标识以及智能合约之间的联动执行关系;
步骤S102:根据业务数据、智能合约标识和联动执行关系判断是 否满足智能合约执行条件;
步骤S103:当满足智能合约执行条件时,根据联动执行关系按序 获取智能合约并执行。
根据本发明的一个实施例,用户签约表还包括业务标识,智能合 约的执行方法还包括:在每个待执行智能合约执行完成后,均根据待 执行智能合约的合约标识和业务标识从用户签约表中查找是否还有未 执行的智能合约。
根据本发明的技术方案,建立一个用户签约表如下表1所示,用 来存储一个业务中所涉及的智能合约的相关信息(例如:包括业务标 识、智能合约标识、合约类型信息、商户标识、用户标识或钱包标识、 合约集合),以及这些智能合约之间的联动执行关系(例如:合约关 联指令)。同时建立合约数据表,用于存储每个智能合约的数据结构 (例如:包括智能合约标识及智能合约描述等)及与之对应的业务信 息(例如:包括业务标识、业务描述等),每个智能合约可以通过合 约数据表的业务标识和智能合约标识统一关联至用户签约表,以便于 实现智能合约的关联执行。
表1
Figure BDA0003147452290000071
在用户与商户就智能合约进行签约操作时,系统会根据业务处理 逻辑生成用户签约表。如果在执行智能合约时,需要与关联的智能合 约一起执行,则根据业务处理逻辑确定要执行的智能合约集合,以及 智能合约之间的关联关系,向表1所示的用户签约表中写入相关记录, 构造合约关联指令用于表明后续执行过程中所涉及的智能合约的联动 执行关系。
根据本发明的一个实施例,根据联动执行关系按序获取智能合约 并执行的步骤,具体可以包括:根据联动执行关系确定智能合约的执 行顺序,并根据业务数据生成智能合约的执行参数;按照执行顺序依 次获取智能合约,并根据执行参数执行所获取的智能合约。在业务处 理过程中,系统会实时采集业务数据。根据智能合约的联动执行关系 即可确定用户签约表中的智能合约的执行顺序,当顺序位为第一位的 智能合约(可能有一个,也可能有多个)的执行条件满足时,即认为 已经满足了该业务对应的智能合约执行条件,此时可触发按照联动执 行关系来执行用户签约表中的智能合约。
在智能合约的执行过程中,每次执行完一个智能合约后,都会访 问用户签约表,如果用户签约表中存在与当前智能合约标识和业务标 识相对应的记录,则会根据合约关联指令执行用户签约表中所列出的 合约集合。
根据本发明的一个实施例,智能合约之间的联动执行关系可以包 括:串行执行、并行执行、串并行执行和嵌套执行这几种。
图2是本发明一个实施例的智能合约串行执行原理示意图。如图2 所示,合约A被触发执行后,若后续需要执行合约B,且在合约B执 行完成后再执行合约C,即合约B和合约C要依次执行,则合约B与 合约C即为串行执行的关系。
图3是本发明一个实施例的智能合约并行执行原理示意图。如图3 所示,合约A被触发执行后,若后续需要合约B和合约C分别执行, 即合约B和合约C没有时间上的先后和依赖关系,则合约B与合约C 即为并行执行的关系。
在本发明的其中一个实施例中,若合约A被触发执行后,后续需 要执行合约B、合约C和合约D,且合约B和合约C为串行执行关系, 而合约B和合约C与合约D又是并行执行的关系,则合约B、合约C 和合约D即为串并行执行的关系。
图4是本发明一个实施例的智能合约嵌套执行原理示意图。如图4 所示,合约A被触发执行,但是在合约A被执行的过程中,需要调用 合约B来进行其中的部分操作,在合约B执行完成后又继续执行合约 A,则此时合约A与合约B即为嵌套执行的关系,且是合约A中嵌套 合约B。
根据本发明的另一个实施例,智能合约包括合约声明和合约执行 体,合约声明定义了智能合约的执行逻辑和执行参数;合约执行体用 于按照执行逻辑对执行参数进行业务逻辑处理以执行智能合约;本发 明的智能合约执行方法通过以下方式来执行智能合约:通过智能合约 加载器来加载合约执行体,并通过合约执行体来执行智能合约。
根据本发明的实施例,将智能合约包括的合约声明、合约执行体 和智能合约加载器等作为智能合约的核心要素,通过智能合约加载器 来加载智能合约的合约执行体,以按照合约声明来执行智能合约。另 外,智能合约的核心要素还可以包括合约代码,当需要对数字货币进 行操作时,可为每个数字货币关联合约代码,用于标识该数字货币需 要执行或已关联的智能合约标识。
图5是本发明一个实施例的智能合约核心要素关系图。如图5所 示,在该实施例中,智能合约的核心要素包括:
(1)合约代码(code):它是一个固定长度的哈希值,该哈希值 在后台关联一个Json结构文本,表示数字货币可执行的智能合约集合。 用户可以从可签署的智能合约中选择一个,启动特定的智能合约服务 页面。该哈希值在后台关联一个Json结构文本,如果code为空或者值 为0,则表示该数字货币字符串的使用不受约束,未关联智能合约;
(2)合约声明(define):是一个结构化文本。其中定义了智能 合约的名称、唯一标识ID、版本、功能简介及业务逻辑说明、合约的 逻辑定义、合约执行需要传入的业务数据及其结构定义要求、执行智 能合约所需要声明执行体、执行体的验证哈希值、执行体的发布者ID、 发布者公钥、发布者对合约声明的签名,等。合约声明相当于将合约 执行体所实现的功能及接口交互方式以格式化的方式对外公布的说明 性文本;
(3)合约执行体(executor):是一段可执行的二进制代码,由 实现智能合约的源码经智能合约管理平台统一编译加签而成。其严格 按照合约声明所描述的逻辑,对传入的合约声明所要求的特定结构的 业务数据进行业务逻辑处理。合约执行体在具体运行过程中,由智能 合约加载器加载执行,其所需的业务数据也是由智能合约加载器负责 传入。
(4)智能合约加载器(loader):简称加载器,加载器负责监听 外部的智能合约执行请求并执行智能合约。在根据联动执行关系获取 智能合约后,会根据智能合约的执行参数生成智能合约执行请求,并 调用智能合约加载器来进行智能合约执行。
在本发明的其中一个实施例中,可通过以下方式来执行智能合约:
根据智能合约执行请求获取智能合约,智能合约包括合约声明和 合约执行体;
对合约声明、合约执行体和执行参数进行验证;
在验证通过后,加载合约执行体,并根据执行参数执行智能合约。
在本发明的实施例中,对合约声明、合约执行体和执行参数进行 验证的步骤具体可以包括:
验证合约声明和合约执行体的签名及完整性,以及验证执行参数 的合法合规性。
图6是本发明一个实施例的智能合约执行过程示意图。如图6所 示,加载器在收到智能合约执行请求后,根据请求中的智能合约标识 ID,从智能合约库(用于存储智能合约)中,拉取并缓存该合约声明, 验证合约声明后,再根据合约声明的要求拉取对应的合约执行体的可 执行文件实体。在完成对合约执行体的验证后,加载合约执行体,并 向其传入数据,启动合约执行体的执行过程。
在本发明的实施例中,智能合约加载器可以分为资金层合约加载 器和商业合约加载器,其中资金层合约加载器用于加载资金层合约, 执行资金处理及账务处理。商业合约加载器用于加载商业合约,形成 资金层合约执行所需的参数机制,在调用资金层合约的过程中,传递 给资金层合约执行,调用资金层合约的入口。
在本发明的实施例中,合约联动机制主要包括两个方面的联动: (1)商业合约与资金层合约之间的联动。商业合约是用户与商户之间 签订的具体合约条款的代码形式,具有复杂的业务逻辑,比如预付1000 元赠送200元等。资金层合约是专门用于处理资金的合约,比如转账、 支付、退款等合约。商业合约涉及到数字货币资金处理时可以调用资 金合约,以完成其复杂的商业逻辑,一个合约可以调用多个资金合约, 而资金合约无法调用商业合约;(2)智能合约通过串行模式、并行模 式、串并行模式、嵌套模式等来实现商业合约间的联动。可以通过多 个商业合约的串行、并行组合来实现更加复杂的商业逻辑。比如约定 一个充1000返200的合约到期后,自动串行执行下一个充2000打8 折的合约;又如执行一个充1000返200的合约的同时并行执行一个每 日晚上8点自动扣款100元的合约。同理,同一个商业合约调用的多 个资金合约也可以进行串行、并行的执行。这样既可以扩展智能合约 的实现的商业逻辑,又可以提高合约的执行效率。
图7是本发明一个实施例的智能合约执行节点结构图。如图7所 示,在本发明的实施例中,当客户端节点启动智能合约后,由合约执 行单元进行智能合约执行,在智能合约执行完成后,由合约验证单元 进行智能合约执行结果的验证。其中,在合约执行单元进行智能合约 执行时,会触发智能合约加载器来加载合约执行体以进行智能合约执 行,此时触发的智能合约加载器可包括商业合约加载器和资金层合约 加载器,以进行业务处理和资金处理;在合约验证单元进行执行结果 验证时,会触发智能合约加载器来加载合约执行体以进行执行结果的 验证,此时触发的智能合约记载器为资金层合约加载器。
图8是根据本发明实施例的智能合约的执行装置的主要模块示意 图。如图8所示,本发明实施例的智能合约的执行装置800主要包括 签约表生成模块801、合约触发模块802和合约执行模块803。
签约表生成模块801,用于根据业务处理逻辑生成用户签约表,所 述用户签约表包括智能合约标识以及智能合约之间的联动执行关系;
合约触发模块802,用于根据业务数据、所述智能合约标识和所述 联动执行关系判断是否满足智能合约执行条件;
合约执行模块803,用于当满足所述智能合约执行条件时,根据所 述联动执行关系按序获取智能合约并执行。
根据本发明的一个实施例,所述用户签约表还包括业务标识,并 且,智能合约的执行装置800还包括合约查找模块(图中未示出), 用于:
在每个智能合约执行完成后,根据所述智能合约的合约标识和所 述业务标识从所述用户签约表中查找是否还有未执行的智能合约。
根据本发明的另一个实施例,所述智能合约之间的联动执行关系 包括:串行执行、并行执行、串并行执行和嵌套执行。
根据本发明的又一个实施例,合约执行模块803还用于:
根据所述联动执行关系确定智能合约的执行顺序,并根据所述业 务数据生成智能合约的执行参数;
按照所述执行顺序依次获取智能合约,并根据所述执行参数执行 所获取的智能合约。
根据本发明的又一个实施例,所述智能合约包括合约声明和合约 执行体,所述合约声明定义了智能合约的执行逻辑和执行参数;所述 合约执行体用于按照所述执行逻辑对所述执行参数进行业务逻辑处理 以执行所述智能合约;
合约执行模块803通过以下方式来执行智能合约:
通过智能合约加载器来加载合约执行体,并通过所述合约执行体 来执行智能合约。
根据本发明的又一个实施例,合约执行模块803通过以下方式来 执行智能合约:
根据智能合约执行请求获取智能合约,所述智能合约包括合约声 明和合约执行体;
对所述合约声明、所述合约执行体和所述执行参数进行验证;
在验证通过后,加载所述合约执行体,并根据所述执行参数执行 所述智能合约。
根据本发明的再一个实施例,合约执行模块803还用于:
验证所述合约声明和所述合约执行体的签名及完整性,以及验证 所述执行参数的合法合规性。
根据本发明实施例的技术方案,通过根据业务处理逻辑生成用户 签约表,用户签约表包括智能合约标识以及智能合约之间的联动执行 关系;根据业务数据、智能合约标识和联动执行关系判断是否满足智 能合约执行条件;当满足智能合约执行条件时,根据联动执行关系按 序获取智能合约并执行,实现了基于智能合约联动机制,通过合约组 合执行的形式来满足复杂的业务逻辑,既可以扩展智能合约的实现的 商业逻辑,又可以提高智能合约的执行效率。
图9示出了可以应用本发明实施例的智能合约的执行方法或智能 合约的执行装置的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网 络904和服务器905。网络904用以在终端设备901、902、903和服务 器905之间提供通信链路的介质。网络904可以包括各种连接类型, 例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与服务器905 交互,以接收或发送消息等。终端设备901、902、903上可以安装有 各种通讯客户端应用,例如数字货币类应用、银行类应用、支付类应 用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的 各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算 机和台式计算机等等。
服务器905可以是提供各种服务的服务器,例如对用户利用终端 设备901、902、903所发来的智能合约执行请求提供支持的后台管理 服务器(仅为示例)。后台管理服务器可以对接收到的智能合约执行 请求等数据进行根据业务处理逻辑生成用户签约表;根据业务数据、 所述智能合约标识和所述联动执行关系判断是否满足智能合约执行条 件;当满足所述智能合约执行条件时,根据所述联动执行关系按序获 取智能合约并执行等处理,并将处理结果(例如合约执行结果--仅为示 例)反馈给终端设备。
需要说明的是,本发明实施例所提供的智能合约的执行方法一般 由服务器905执行,相应地,智能合约的执行装置一般设置于服务器 905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意 性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图10,其示出了适于用来实现本发明实施例的终端设备 或服务器的计算机系统1000的结构示意图。图10示出的终端设备或 服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来 任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001, 其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分 1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的 动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程 序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此 相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006; 包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的 输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、 调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如 因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口 1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等 等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序 根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程 可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种 计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该 计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实 施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装, 和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元 (CPU)1001执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读 信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算 机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红 外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机 可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导 线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、 只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、 光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存 储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储 介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行 系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机 可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信 号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采 用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组 合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何 计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由 指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限 于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、 方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点 上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码 的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于 实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的 实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发 生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们 有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的 是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合, 可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者 可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方 式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以 设置在处理器中,例如,可以描述为:一种处理器包括签约表生成模 块、合约触发模块和合约执行模块。其中,这些单元或模块的名称在 某种情况下并不构成对该单元或模块本身的限定,例如,签约表生成 模块还可以被描述为“用于根据业务处理逻辑生成用户签约表的模 块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机 可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独 存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多 个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备 包括:根据业务处理逻辑生成用户签约表,所述用户签约表包括智能 合约标识以及智能合约之间的联动执行关系;根据业务数据、所述智 能合约标识和所述联动执行关系判断是否满足智能合约执行条件;当 满足所述智能合约执行条件时,根据所述联动执行关系按序获取智能 合约并执行。
根据本发明实施例的技术方案,通过根据业务处理逻辑生成用户 签约表,用户签约表包括智能合约标识以及智能合约之间的联动执行 关系;根据业务数据、智能合约标识和联动执行关系判断是否满足智 能合约执行条件;当满足智能合约执行条件时,根据联动执行关系按 序获取智能合约并执行,实现了基于智能合约联动机制,通过合约组 合执行的形式来满足复杂的业务逻辑,既可以扩展智能合约的实现的 商业逻辑,又可以提高智能合约的执行效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域 技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种 各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内 所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种智能合约的执行方法,其特征在于,包括:
根据业务处理逻辑生成用户签约表,所述用户签约表包括智能合约标识以及智能合约之间的联动执行关系;
根据业务数据、所述智能合约标识和所述联动执行关系判断是否满足智能合约执行条件;
当满足所述智能合约执行条件时,根据所述联动执行关系按序获取智能合约并执行。
2.根据权利要求1所述的方法,其特征在于,所述用户签约表还包括业务标识,并且,所述方法还包括:
在每个智能合约执行完成后,根据所述智能合约的合约标识和所述业务标识从所述用户签约表中查找是否还有未执行的智能合约。
3.根据权利要求1所述的方法,其特征在于,所述智能合约之间的联动执行关系包括:串行执行、并行执行、串并行执行和嵌套执行。
4.根据权利要求1所述的方法,其特征在于,根据所述联动执行关系按序获取智能合约并执行包括:
根据所述联动执行关系确定智能合约的执行顺序,并根据所述业务数据生成智能合约的执行参数;
按照所述执行顺序依次获取智能合约,并根据所述执行参数执行所获取的智能合约。
5.根据权利要求1或4所述的方法,其特征在于,所述智能合约包括合约声明和合约执行体,所述合约声明定义了智能合约的执行逻辑和执行参数;所述合约执行体用于按照所述执行逻辑对所述执行参数进行业务逻辑处理以执行所述智能合约;
所述方法通过以下方式来执行智能合约:
通过智能合约加载器来加载合约执行体,并通过所述合约执行体来执行智能合约。
6.根据权利要求5所述的方法,其特征在于,所述方法通过以下方式来执行智能合约:
根据智能合约执行请求获取智能合约,所述智能合约包括合约声明和合约执行体;
对所述合约声明、所述合约执行体和所述执行参数进行验证;
在验证通过后,加载所述合约执行体,并根据所述执行参数执行所述智能合约。
7.根据权利要求6所述的方法,其特征在于,对所述合约声明、所述合约执行体和所述执行参数进行验证包括:
验证所述合约声明和所述合约执行体的签名及完整性,以及验证所述执行参数的合法合规性。
8.一种智能合约的执行装置,其特征在于,包括:
签约表生成模块,用于根据业务处理逻辑生成用户签约表,所述用户签约表包括智能合约标识以及智能合约之间的联动执行关系;
合约触发模块,用于根据业务数据、所述智能合约标识和所述联动执行关系判断是否满足智能合约执行条件;
合约执行模块,用于当满足所述智能合约执行条件时,根据所述联动执行关系按序获取智能合约并执行。
9.一种智能合约的执行电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202110756694.1A 2021-07-05 2021-07-05 智能合约的执行方法和装置 Pending CN113643157A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110756694.1A CN113643157A (zh) 2021-07-05 2021-07-05 智能合约的执行方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110756694.1A CN113643157A (zh) 2021-07-05 2021-07-05 智能合约的执行方法和装置

Publications (1)

Publication Number Publication Date
CN113643157A true CN113643157A (zh) 2021-11-12

Family

ID=78416698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110756694.1A Pending CN113643157A (zh) 2021-07-05 2021-07-05 智能合约的执行方法和装置

Country Status (1)

Country Link
CN (1) CN113643157A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146679A (zh) * 2018-06-29 2019-01-04 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备
US20190251075A1 (en) * 2018-02-14 2019-08-15 Alibaba Group Holding Limited Asset management method and apparatus, and electronic device
CN110443075A (zh) * 2019-08-05 2019-11-12 中国工商银行股份有限公司 一种区块链智能合约验证部署的方法及装置
CN110599341A (zh) * 2019-09-20 2019-12-20 中国银行股份有限公司 交易调用方法及系统
CN110704064A (zh) * 2019-09-30 2020-01-17 支付宝(杭州)信息技术有限公司 编译和执行智能合约的方法及装置
CN111857892A (zh) * 2020-09-22 2020-10-30 支付宝(杭州)信息技术有限公司 通过区块链进行业务处理的方法及装置
CN113010561A (zh) * 2021-03-31 2021-06-22 工银科技有限公司 基于超级账本的数据获取方法、装置、计算机系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251075A1 (en) * 2018-02-14 2019-08-15 Alibaba Group Holding Limited Asset management method and apparatus, and electronic device
CN109146679A (zh) * 2018-06-29 2019-01-04 阿里巴巴集团控股有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN110443075A (zh) * 2019-08-05 2019-11-12 中国工商银行股份有限公司 一种区块链智能合约验证部署的方法及装置
CN110599341A (zh) * 2019-09-20 2019-12-20 中国银行股份有限公司 交易调用方法及系统
CN110704064A (zh) * 2019-09-30 2020-01-17 支付宝(杭州)信息技术有限公司 编译和执行智能合约的方法及装置
CN111857892A (zh) * 2020-09-22 2020-10-30 支付宝(杭州)信息技术有限公司 通过区块链进行业务处理的方法及装置
CN113010561A (zh) * 2021-03-31 2021-06-22 工银科技有限公司 基于超级账本的数据获取方法、装置、计算机系统

Similar Documents

Publication Publication Date Title
CN108346028B (zh) 一种业务审批处理方法、装置及系统
CN109146490B (zh) 区块生成方法、装置和系统
CN112204557A (zh) 用于自动去中心化多边交易处理的系统和方法
CN110874742B (zh) 一种基于区块链和智能合约的支付方法及装置
CN111857888B (zh) 一种交易处理方法及装置
CN111738712A (zh) 一种区块链的付费处理方法、装置、设备和介质
CN112348326A (zh) 一种银行业务处理方法和系统
CN110706093A (zh) 一种账务处理方法和装置
CN112132674A (zh) 一种交易处理方法和装置
CN110400217A (zh) 智能合约的规则变更处理方法及装置
CN113076153A (zh) 一种接口调用方法和装置
CN110865797A (zh) 处理业务动态属性的方法和装置
CN109933508B (zh) 用于发送信息的方法和装置
WO2020103573A1 (zh) 一种基于区块链网络交易的签名方法、装置及终端设备
CN115391343A (zh) 账单数据处理方法、装置、电子设备和存储介质
CN113643157A (zh) 智能合约的执行方法和装置
CN110580624A (zh) 链码升级方法及装置
CN112181817B (zh) 用于soa架构平台的测试方法及测试装置
CN111526184B (zh) 业务审核的方法和装置
CN114723455A (zh) 业务处理方法、装置、电子设备和存储介质
CN113850573A (zh) 智能合约的执行方法和装置
CN114462991A (zh) 基于数字货币的条件交易的方法和装置
CN112732547B (zh) 业务测试方法、装置、存储介质及电子设备
CN113448960A (zh) 一种导入表格文件的方法和装置
CN112465498A (zh) 一种应用区块链企业钱包的数据处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination