CN113888173A - 基于区块链的智能合约调用方法、装置及设备 - Google Patents
基于区块链的智能合约调用方法、装置及设备 Download PDFInfo
- Publication number
- CN113888173A CN113888173A CN202111478999.7A CN202111478999A CN113888173A CN 113888173 A CN113888173 A CN 113888173A CN 202111478999 A CN202111478999 A CN 202111478999A CN 113888173 A CN113888173 A CN 113888173A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- storage
- resource
- transaction information
- directory
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例提供一种基于区块链的智能合约调用方法、装置及设备,该方法包括:接收客户端发送的交易信息,其中交易信息中包含交易信息对应的待执行的智能合约的路径信息;将接收到的各交易信息放入调度器以使调度器将各交易信息分发至不同的执行器;通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元以获取各交易信息对应的智能合约,其中存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的;通过各执行器对交易信息执行智能合约,得到执行结果。不需要各执行器在并行执行交易时进行智能合约相关的CNS表数据的同步,提升了区块链在对交易信息并行执行智能合约的效率。
Description
技术领域
本公开实施例涉及金融科技(Fintech)技术领域,尤其涉及一种基于区块链的智能合约调用方法、装置及设备。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,与区块链相关的智能合约技术也不例外,但由于金融行业的安全性、实时性要求,也对智能合约技术提出了更高的要求。
目前,现有的基于联盟区块链的智能合约管理过程中,通常是在区块链的节点中的执行智能合约的执行器(以太坊智能合约虚拟机)会维护一张CNS(Contract NameService,合约命名服务)表,该CNS表格中存储了智能合约名称与智能合约地址的映射关系,当执行器需要对得到的某个交易执行智能合约时,会访先问该CNS表格以查询对应的智能合约地址,并从智能合约地址获取对应的智能合约,执行交易。
然而,在某些场景下,区块链需要对交易并行执行处理,则需要区块链的多个执行器并行执行智能合约。这种情况下,需要每个执行器都维护了一张CNS表(智能合约名称与智能合约地址的映射关系),当用户对某个执行器中的CNS表中的智能合约相关信息进行了修改时,就必须将修改的CNS表的数据同步至其他的所有执行器,否则其他执行器会执行错误的智能合约,因此导致执行器之间需要频繁的进行CNS表数据的同步,影响区块链并行执行多个智能合约的处理效率。
发明内容
本公开实施例提供一种基于区块链的智能合约调用方法、装置及设备,以克服相关技术中执行器之间需要频繁的进行CNS表数据的同步,影响区块链并行执行多个智能合约的处理效率的问题。
第一方面,本公开实施例提供一种基于区块链的智能合约调用方法,所述方法应用于所述区块链的任一节点,所述节点中设置有用于对交易信息进行调度分配的调度器、用于执行智能合约的执行器和用于存储智能合约的存储单元,所述方法包括:
接收客户端发送的交易信息,其中所述交易信息中包含所述交易信息对应的待执行的智能合约的路径信息,其中所述路径信息对应唯一的智能合约存储路径;
将接收到的各交易信息放入调度器以使所述调度器将所述各交易信息分发至不同的执行器;
通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元以获取各交易信息对应的智能合约,其中所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的;
通过各执行器对所述交易信息执行所述智能合约,得到执行结果。
在一种可能的设计中,其中所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,具体为:存储单元中包含以存储表形式存储的目录资源和智能合约资源;其中每个目录资源下包含多个子资源,相同类型的智能合约资源属于同一个目录资源下最末端的子资源,智能合约资源中包含智能合约的代码段信息和状态信息。
在一种可能的设计中,述通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元中以获取各交易信息对应的智能合约,包括:对任一交易信息对应的待执行的智能合约的路径信息进行拆分,得到所述路径信息对应的各存储表名称;根据所述各存储表名称依次访问存储单元中对应的各存储表,以获取所述路径信息对应的智能合约资源。
在一种可能的设计中,所述根据所述各存储表名称依次访问存储单元中对应的各存储表,以获取所述路径信息对应的智能合约资源,包括:访问缓存,从所述缓存中依次读取名称为所述各存储表名称的各存储表;若能够从所述缓存中读取到各存储表,则从所述缓存中按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源;若无法从所述缓存中读取各存储表,则从区块链的存储单元中按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源。
在一种可能的设计中,所述按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源,包括:按照各存储表名称在所述路径信息中的级别,逐个依次查询各存储表名称对应的存储表以获取智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源。
在一种可能的设计中,还包括按照树形文件目录结构存储各智能合约的步骤,如下:通过创建或查询,确定任一目录资源;在所述目录资源中写入待创建的智能合约。
在一种可能的设计中,述通过创建或查询,确定任一目录资源,包括:
根据用户的输入生成任一目录资源的存储表名称;判断所述目录资源的存储表名称是否已存在;若不存在,则创建所述目录资源,其中所述目录资源包括目录的元信息;若存在,则判断所述存储表名称是否为智能合约资源的表名,若不是,则返回所述目录资源已存在的提示。
在一种可能的设计中,所述在所述目录资源中写入待创建的智能合约,包括:根据用户的输入生成任一智能合约的存储表名称;判断所述智能合约的存储表名称是否已存在;若不存在,则获取所述目录资源,并启动虚拟机执行所述智能合约,若执行成功,则在所述目录资源中写入所述智能合约的代码段信息和状态信息。
第二方面,本公开实施例提供一种基于区块链的智能合约调用装置,所述装置应用于所述区块链的任一节点,所述节点中设置有用于对交易信息进行调度分配的调度器、用于执行智能合约的执行器和用于存储智能合约的存储单元,所述装置包括:
接收模块,用于接收客户端发送的交易信息,其中所述交易信息中包含所述交易信息对应的待执行的智能合约的路径信息,其中所述路径信息对应唯一的智能合约存储路径;
调度模块,用于将接收到的各交易信息放入调度器以使所述调度器将所述各交易信息分发至不同的执行器;
调度模块,用于通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元以获取各交易信息对应的智能合约,其中所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的;
执行模块,用于通过各执行器对所述交易信息执行所述智能合约,得到执行结果。
第三方面,本公开实施例提供一种服务设备,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如上第一方面以及第一方面各种可能的设计所述的基于区块链的智能合约调用方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的基于区块链的智能合约调用方法。
本公开实施例提供的基于区块链的智能合约调用方法、装置及设备,区块链的的任一节点,通过在交易信息中携带交易信息对应的待执行的智能合约的路径信息,且该路径信息对应唯一的智能合约存储路径;区块链各节点的存储单元中存储了包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,区块链节点的各执行器根据路径信息访问存储单元按照唯一的智能合约存储路径获取对应的智能合约,并根据智能合约执行交易信息,得到执行结果。由于存储单元中按照树形文件目录结构存储的各智能合约在被不同的执行器调度时,是唯一的且是相互隔离的,因此不需要各执行器在并行执行交易时进行智能合约相关的CNS表数据的同步,提升了区块链在对交易信息并行执行智能合约的效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开提供的基于区块链的智能合约调用方法的场景示意图;
图2为本公开实施例提供的基于区块链的智能合约调用方法的流程示意图一;
图3为本公开实施例提供的各智能合约按照树形文件目录结构存储的逻辑结构图;
图4为本公开实施例提供的智能合约实际存储形式的示意图;
图5为本公开实施例提供的基于区块链的智能合约调用方法的流程示意图二;
图6为本公开实施例提供的基于区块链的智能合约调用装置的结构示意图一;
图7为本公开实施例提供的基于区块链的智能合约调用装置的结构示意图二;
图8为本公开实施例提供的服务设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
技术名词解释:
区块链:区块链系统可以理解是一种由多个节点共同维护的及信任的分布式存储系统。区块链底层是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的哈希值,通过这种方式组成链式的数据结构。一个区块由块头和块体组成,其中块头定义包括该区块高度、上一个区块的哈希值等重要字段,而块体主要存储交易数据。区块链利用密码学的方式保证数据传输和访问的安全,并利用链式结构保证链上数据不可被篡改。
智能合约:智能合约指以数字形式定义的能自动执行条款的合约,数字形式意味着合约必须用计算机代码实现,因为只要参与方达成协定,智能合约建立的权利和义务,就会被自动执行,且结果不能被否认。在区块链应用中,当部署智能合约的交易在大多数节点中达成共识,就可以认为智能合约已嵌入区块链系统中。
以太坊虚拟机(智能合约的执行器):当智能合约被编译成二进制文件后,被部署到区块链的节点上。用户通过调用智能合约的接口,来触发智能合约的执行操作。以太坊虚拟机作为智能合约代码的执行器执行智能合约的代码,修改当前区块链上的数据(状态)。被修改的数据,会被共识,确保一致性。
参考图1,图1为本公开提供的基于区块链的智能合约调用方法的场景示意图。在该场景中,包括:客户端101和区块链节点102,可以安装SDK(Software Development Kit,软件开发工具包),用于发起交易,并产生交易信息。其中客户端101,可以是个人电脑、移动终端或其他服务器等设备。
其中,区块链节点102,可以是区块链系统中任一节点,例如可以是区块链中参与共识过程的任一节点,或者是共识节点中选举产生一个领导节点,对此本公开不作任何限制。区块链节点102,用于接收客户端发送的交易信息,并获取交易信息对应的智能合约,基于智能合约利用以太坊虚拟机(执行器)执行交易信息,得到执行结果,对执行结果过在区块链中进行共识,共识完成后进行区块链上链存储。
目前,基于联盟区块链的智能合约管理调用中,通常是在区块链的节点中的执行智能合约的执行器(以太坊智能合约虚拟机)会维护一张CNS表,当执行器需要对得到的某个交易执行智能合约时,会访先问该CNS表格以查询对应的智能合约地址,并从智能合约地址获取对应的智能合约,执行交易。但是,若区块链需要对交易并行执行处理时,则需要区块链的多个执行器并行执行智能合约,当用户对某个执行器中的CNS表中的智能合约相关信息进行了修改时,就必须将修改的CNS表的数据同步至其他的所有执行器,否则其他执行器会执行错误的智能合约,因此导致执行器之间需要频繁的进行CNS表数据的同步,影响区块链并行执行多个智能合约的处理效率。
为了解决上述技术问题,本公开提供了如下技术方案:在交易信息中携带交易信息对应的待执行的智能合约的路径信息,且该路径信息对应唯一的智能合约存储路径;区块链各节点的存储单元中存储了包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,区块链节点的各执行器根据路径信息访问存储单元按照唯一的智能合约存储路径获取对应的智能合约,并根据智能合约执行交易信息,得到执行结果。由于存储单元中按照树形文件目录结构存储的各智能合约在被不同的执行器调度时,是唯一的且是相互隔离的,因此不需要各执行器在并行执行交易时进行CNS表数据的同步,使得区块链在对交易信息并行执行智能合约时效率得到大大提升。
参考图2,图2为本公开实施例提供的基于区块链的智能合约调用方法的流程示意图一。本实施例应用于图1所示的区块链的任一节点,该节点中设置有用于对交易信息进行调度分配的调度器、用于执行智能合约的执行器和用于存储智能合约的存储单元,上述方法详述如下:
S201:接收客户端发送的交易信息,其中交易信息中包含交易信息对应的待执行的智能合约的路径信息,其中路径信息对应唯一的智能合约存储路径。
在本公开实施例中,客户端可以为任一发生交易行为的客户端,客户端根据交易行为生产交易信息,并发送至区块链的任一节点上。例如,用户在网上商城购买商品,通过客户端完成交易,客户端将购买商品的交易信息发送至区块链的任一节点。在本实施例中,区块链的任一节点为区块链中的共识节点中的任一节点。领导节点由区块链的共识节点中选举产生。任一共识节点既可以是领导节点,也可以是副本节点。
在公开实施例中,客户端根据交易行为生产交易信息同时,用户可以在客户端指定该交易信息对应的待执行的智能合约,并在交易信息中添加该待执行的智能合约的路径信息。其中,路径信息对应唯一的智能合约存储路径,根据该路径信息通过唯一的智能合约存储路径获取对应的智能合约。
S202:将接收到的各交易信息放入调度器以使调度器将各交易信息分发至不同的执行器。
在本公开实施例中,调度器为设置在区块链的节点中的虚拟调度器,该虚拟调度器按照预设规则将可并行执行智能合约的各交易信息分发至不同的执行器。
其中,预设规则可以是将各交易信息平均分配至各个执行器。例如,交易信息为10个,执行器为2个,可以将5个交易信息分配给一个执行器,另5个交易信息分配给另一个执行器。
S203:通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元以获取各交易信息对应的智能合约,其中存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的。
在本公开实施例中, 存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,具体为:存储单元中包含以存储表形式存储的目录资源和智能合约资源;其中每个目录资源下包含多个子资源,相同类型的智能合约资源属于同一个目录资源下最末端的子资源,智能合约资源中包含智能合约的代码段信息和状态信息。
参考图3,图3为本公开实施例提供的各智能合约按照树形文件目录结构存储的逻辑结构图。其中,“/”为根目录,根目录中包含多个目录资源,如图3中所示的“sys”、“usr”、“apps”、“tables”均为目录资源,分别为系统类目录资源、用户类目录资源、应用类目录资源、表类目录资源。其中,每个目录资源中包括多个子资源,该子资源可以是当前目录资源的下一级的目录资源,也可以直接是智能合约资源。如图3中所示的“sys”中包含的“sys1”和“sys2”的子资源为目录资源的下一级的目录资源,“sys1”和“sys2”中各包含两个系统智能合约资源,其中,“sys1”中包含“系统智能合约资源1”、“系统智能合约资源2”;“sys2”中包含“系统智能合约资源3”、“系统智能合约资源4”。其他的“usr”、“apps”、“tables”均为目录资源,其对应的子资源直接为智能合约资源;其中,“usr”中包含“用户智能合约资源1”、“用户智能合约资源2”;“apps”中包含“应用智能合约资源1”、“应用智能合约资源2”;“tables”中包含“表智能合约资源1”、“表智能合约资源2”。在本实施例中,上述各“资源”可以是以文件或表格的形式存储,对此本公开不作任何限制。
参考图4,图4为本公开实施例提供的智能合约实际存储形式的示意图。存储单元中包含以存储表形式存储的目录资源和智能合约资源。如图4所示,存储表名称为:“/tables”的存储表为目录资源,其包含的智能合约资源的存储表名称分别为“/tables/table1”和“/tables/table2”。其中,存储表名称为“/tables”的存储表描述了智能合约资源的元信息,存储表名称为“/tables/table1”的存储表和“/tables/table2”的存储表中分别包含了表智能合约“table1”和“table2”的数据。
具体地,通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元中以获取各交易信息对应的智能合约,包括:
对任一交易信息对应的待执行的智能合约的路径信息进行拆分,得到路径信息对应的各存储表名称;根据各存储表名称依次访问存储单元中对应的各存储表,以获取路径信息对应的智能合约资源。
在本公开实施例中,以路径信息“/apps/Hello1”为例,进行说明:
将路径信息“/apps/Hello1”拆分为“/”、“/apps”和“/apps/Hello1”;“/”、“/apps”和“/apps/Hello1”分别对应一个存储表名称,其中“/”为根目录资源的存储表名称,“/apps”为目录资源的存储表名称,/apps/Hello1”为智能合约资源的存储表名称。
具体地,根据各存储表名称依次访问存储单元中对应的各存储表,以获取路径信息对应的智能合约资源,包括:访问缓存,从缓存中依次读取名称为各存储表名称的各存储表;若能够从缓存中读取到各存储表,则从缓存中按照各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取路径信息对应的智能合约资源;若无法从缓存中读取各存储表,则从区块链的存储单元中按照各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取路径信息对应的智能合约资源。
其中,按照各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取路径信息对应的智能合约资源,包括:按照各存储表名称在路径信息中的级别,逐个依次查询各存储表名称对应的存储表以获取智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取路径信息对应的智能合约资源。
在本公开实施例中,可并行执行智能合约的各交易信息分发至不同的执行器后,每个执行器会先读取缓存,如果该执行器之前已经执行过相同的智能合约,那么该执行器就会缓存智能合约对应的数据,智能合约对应的数据包括智能合约所存储路径对应的各存储表。
以任一执行器执行路径信息分别为“/apps/Hello1”和“/tables/table1”两个智能合约为例,进行说明:
该执行器会先从缓存中读取存储表名称分别为“/apps”的存储表和“/tables”的存储表;然后再根据“/apps”的存储表和“/tables”的存储表读取存储表名称分别为“/apps/Hello1”的存储表和“/tables/table1”的存储表,其中“/apps/Hello1”的存储表和“/tables/table1”的存储表中分别包含了“Hello1”智能合约和“table1”智能合约的智能合约资源。
若该执行器会没有从缓存中读取到上述各存储表格,则从存储单元中获取对应上述各存储表格,并将从存储单元中获取的各存储表格写入执行器中,该写入过程为慢写入,相较于直接从缓冲读取耗时较长。
需要说明的是:智能合约的各存储表在存储单元可以支持数据的分布式存储,这样使得执行器从存储单元中加载各存储表格时,所有数据都是分散的。
参考图3和图4,可以理解的是,执行器从存储单元中加载智能合约时,每个目录资源下的子资源都不能是同名的,因此,从根目录向下到每个智能合约资源的路径都是唯一的,使得执行器加载的智能合约具有唯一性。此外,执行器从存储单元中加载智能合约时,不同路径的智能合约可以被不同的执行器执行,使得不同的智能合约是相互隔离的。
在本公开的一个实施例中,执行器从存储单元中加载智能合约时,也可以指定某个目录资源的路径,将该目录资源下的所有智能合约都加载至同一个执行器,使得不同执行器加载的目录资源是不同的,从而达到目录资源级别的智能合约的隔离性。
S204:通过各执行器对交易信息执行智能合约,得到执行结果。
在本公开实施例中,执行器对交易信息执行智能合约,得到交易信息的执行结果,然后将交易信息的执行结果发送至区块链中其他的共识节点进行共识,当完成了对交易信息的执行结果的共识后,将该交易信息的执行结果在区块链中进行上链存储。
从上述描述可知,通过在交易信息中携带交易信息对应的待执行的智能合约的路径信息,且该路径信息对应唯一的智能合约存储路径;区块链各节点的存储单元中存储了包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,区块链节点的各执行器根据路径信息访问存储单元按照唯一的智能合约存储路径获取对应的智能合约,并根据智能合约执行交易信息,得到执行结果。由于存储单元中按照树形文件目录结构存储的各智能合约在被不同的执行器调度时,是唯一的且是相互隔离的,因此不需要各执行器在并行执行交易时进行智能合约相关的CNS表数据的同步,提升了区块链在对交易信息并行执行智能合约的效率。
参考图5,图5为本公开实施例提供的基于区块链的智能合约调用方法的流程示意图二。本实施例还描述了如何按照树形文件目录结构存储各智能合约的步骤,详述如下:
S501:通过创建或查询,确定任一目录资源。
具体地,通过创建或查询,确定任一目录资源,包括:
根据用户的输入生成任一目录资源的存储表名称;
判断目录资源的存储表名称是否已存在;
若不存在,则创建目录资源,并在目录资源写入目录的元信息;
若存在,则判断存储表名称是否为智能合约资源的表名,若不是,则返回目录资源已存在的提示。
在本公开实施例中,用户可以在任意现有的目录资源下创建新的目录资源。
以创建“/apps/Hello”的目录资源为例,进行说明:
生成“/apps/Hello/World”的存储表名称;
判断“/apps/Hello/World”是否已存在;
若不存在,则创建目录“/apps/Hello/”,并创建“/apps/Hello/World”存储表,并在“/apps/Hello/World”存储表写入目录的元信息,得到“/apps/Hello/”的目录资源,并返回目录创建成功的提示;
若存在,则访问目录“/apps/Hello/”的存储表“/apps/Hello/World”,并判断“/apps/Hello/World”存储表类型;若该存储表类型为目录资源,则返回目录资源已存在的提示;若该存储表类型为智能合约资源,则返回智能合约资源已存在的提示。
S502:在目录资源中写入待创建的智能合约。
具体地,在目录资源中写入待创建的智能合约,包括:
根据用户的输入生成任一智能合约的存储表名称;
判断智能合约的存储表名称是否已存在;
若不存在,则获取目录资源,并启动虚拟机执行智能合约,若执行成功,则在目录资源中写入智能合约的代码段信息和状态信息。
在本公开实施例中,部署合约时,将会预先确定该级目录父目录均已经存在且可以写入信息,然后启动虚拟机执行部署创建合约操作;虚拟机执行成功后,创建合约的表,并将虚拟机执行后的合约代码段、ABI、状态数据等写入合约表,最后在父目录的数据表中记录新部署的合约的元信息。
以“/apps/Hello”的智能合约test1为例,进行说明:
部署智能合约“/apps/Hello/test1”的存储表名称;
判断存储表名称“/apps/Hello/test1”是否已存在;
若不存在,则获取目录资源“/apps/Hello”,并启动虚拟机执行待部署的智能合约test1,若执行成功,则在目录资源中写入智能合约test1的代码段信息和状态信息,并反馈部署成功的提示;若执行失败,则返回执行失败的提示;
若存在,则返回智能合约“/apps/Hello/test1”已存在的提示。
需要说明的是:用户可以通过接口访问任意路径下的资源(目录资源和智能合约资源)的元信息。在访问时,预先判断该路径是否存在资源,如果存在则访问上一级目录资源的存储表,查看该路径下的目标资源是智能合约资源还是目录资源。如果是智能合约资源,则返回智能合约的元信息;如果是目录资源类型,则返回目录资源的元信息,并返回该路径下所有子资源(其中包含了所有的智能合约的元信息)。
参考图6,图6为本公开实施例提供的基于区块链的智能合约调用装置的结构示意图一。如图6所示,该基于区块链的智能合约调用装置60,应用于所述区块链的任一节点,所述节点中设置有用于对交易信息进行调度分配的调度器、用于执行智能合约的执行器和用于存储智能合约的存储单元,所述装置包括:接收模块601、调度模块602、处理模块603和执行模块604。
其中,接收模块601,用于接收客户端发送的交易信息,其中所述交易信息中包含所述交易信息对应的待执行的智能合约的路径信息,其中所述路径信息对应唯一的智能合约存储路径;
调度模块602,用于将接收到的各交易信息放入调度器以使所述调度器将所述各交易信息分发至不同的执行器;
处理模块603,用于通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元以获取各交易信息对应的智能合约,其中所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的;
执行模块604,用于通过各执行器对所述交易信息执行所述智能合约,得到执行结果。
通过在交易信息中携带交易信息对应的待执行的智能合约的路径信息,且该路径信息对应唯一的智能合约存储路径;区块链各节点的存储单元中存储了包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,区块链节点的各执行器根据路径信息访问存储单元按照唯一的智能合约存储路径获取对应的智能合约,并根据智能合约执行交易信息,得到执行结果。由于存储单元中按照树形文件目录结构存储的各智能合约在被不同的执行器调度时,是唯一的且是相互隔离的,因此不需要各执行器在并行执行交易时进行智能合约相关的CNS表数据的同步,提升了区块链在对交易信息并行执行智能合约的效率。
在本公开的一个或多个实施例中,所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,具体为:存储单元中包含以存储表形式存储的目录资源和智能合约资源;其中每个目录资源下包含多个子资源,相同类型的智能合约资源属于同一个目录资源下最末端的子资源,智能合约资源中包含智能合约的代码段信息和状态信息。
在本公开的一个或多个实施例中,所述调度模块602,具体用于:对任一交易信息对应的待执行的智能合约的路径信息进行拆分,得到所述路径信息对应的各存储表名称;根据所述各存储表名称依次访问存储单元中对应的各存储表,以获取所述路径信息对应的智能合约资源。
在本公开的一个或多个实施例中,所述调度模块602,具体用于所述根据所述各存储表名称依次访问存储单元中对应的各存储表,以获取所述路径信息对应的智能合约资源的过程,包括:访问缓存,从所述缓存中依次读取名称为所述各存储表名称的各存储表;若能够从所述缓存中读取到各存储表,则从所述缓存中按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源;若无法从所述缓存中读取各存储表,则从区块链的存储单元中按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源。
在本公开的一个或多个实施例中,所述调度模块602,具体用于所述按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源的过程,包括:按照各存储表名称在所述路径信息中的级别,逐个依次查询各存储表名称对应的存储表以获取智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
参考图7,图7为本公开实施例提供的基于区块链的智能合约调用装置的结构示意图二。如图7所示,该基于区块链的智能合约调用装置60,还包括:
目录创建模块605,用于通过创建或查询,确定任一目录资源;
合约创建模块606,用于在所述目录资源中写入待创建的智能合约。
在本公开的一个或多个实施例中,所述目录创建模块605,具体用于根据用户的输入生成任一目录资源的存储表名称;判断所述目录资源的存储表名称是否已存在;若不存在,则创建所述目录资源,其中所述目录资源包括目录的元信息;若存在,则判断所述存储表名称是否为智能合约资源的表名,若不是,则返回所述目录资源已存在的提示。
在本公开的一个或多个实施例中,所述目录创建模块606,具体用于根据用户的输入生成任一智能合约的存储表名称;判断所述智能合约的存储表名称是否已存在;若不存在,则获取所述目录资源,并启动虚拟机执行所述智能合约,若执行成功,则在所述目录资源中写入所述智能合约的代码段信息和状态信息。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
参考图8,图8为本公开实施例提供的服务设备的硬件结构示意图。如图8所示,本实施例的服务设备80包括:处理器801以及存储器802;其中
存储器802,用于存储计算机执行指令;
处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施例中服务端的区块链所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。
当存储器802独立设置时,该基于服务设备还包括总线803,用于连接所述存储器802和处理器801。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的基于区块链的智能合约调用方法。
本公开实施例还提供一种计算机程序产品,所述计算机程序被处理器执行时,实现如上所述的基于区块链的智能合约调用方法。
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本公开各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本公开各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本公开附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (11)
1.一种基于区块链的智能合约调用方法,其特征在于,所述方法应用于所述区块链的任一节点,所述节点中设置有用于对交易信息进行调度分配的调度器、用于执行智能合约的执行器和用于存储智能合约的存储单元,所述方法包括:
接收客户端发送的交易信息,其中所述交易信息中包含所述交易信息对应的待执行的智能合约的路径信息,其中所述路径信息对应唯一的智能合约存储路径;
将接收到的各交易信息放入调度器以使所述调度器将所述各交易信息分发至不同的执行器;
通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元以获取各交易信息对应的智能合约,其中所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的;
通过各执行器对所述交易信息执行所述智能合约,得到执行结果。
2.根据权利要求1所述的方法,其特征在于,其中所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的,具体为:存储单元中包含以存储表形式存储的目录资源和智能合约资源;其中每个目录资源下包含多个子资源,相同类型的智能合约资源属于同一个目录资源下最末端的子资源,智能合约资源中包含智能合约的代码段信息和状态信息。
3.根据权利要求2所述的方法,其特征在于,所述通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元中以获取各交易信息对应的智能合约,包括:
对任一交易信息对应的待执行的智能合约的路径信息进行拆分,得到所述路径信息对应的各存储表名称;
根据所述各存储表名称依次访问存储单元中对应的各存储表,以获取所述路径信息对应的智能合约资源。
4.根据权利要求3所述的方法,其特征在于,所述根据所述各存储表名称依次访问存储单元中对应的各存储表,以获取所述路径信息对应的智能合约资源,包括:
访问缓存,从所述缓存中依次读取名称为所述各存储表名称的各存储表;若能够从所述缓存中读取到各存储表,则从所述缓存中按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源;
若无法从所述缓存中读取各存储表,则从区块链的存储单元中按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源。
5.根据权利要求4所述的方法,其特征在于,所述按照所述各存储表名称依次查询各存储表直至确定智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源,包括:
按照各存储表名称在所述路径信息中的级别,逐个依次查询各存储表名称对应的存储表以获取智能合约资源对应的存储表,以从智能合约资源对应的存储表中获取所述路径信息对应的智能合约资源。
6.根据权利要求1至5任一项所述的方法,其特征在于,还包括按照树形文件目录结构存储各智能合约的步骤,如下:
通过创建或查询,确定任一目录资源;
在所述目录资源中写入待创建的智能合约。
7.根据权利要求6所述的方法,其特征在于,所述通过创建或查询,确定任一目录资源,包括:
根据用户的输入生成任一目录资源的存储表名称;
判断所述目录资源的存储表名称是否已存在;
若不存在,则创建所述目录资源,其中所述目录资源包括目录的元信息;
若存在,则判断所述存储表名称是否为智能合约资源的表名,若不是,则返回所述目录资源已存在的提示。
8.根据权利要求6所述的方法,其特征在于,所述在所述目录资源中写入待创建的智能合约,包括:
根据用户的输入生成任一智能合约的存储表名称;
判断所述智能合约的存储表名称是否已存在;
若不存在,则获取所述目录资源,并启动虚拟机执行所述智能合约,若执行成功,则在所述目录资源中写入所述智能合约的代码段信息和状态信息。
9.一种基于区块链的智能合约调用装置,其特征在于,所述装置应用于所述区块链的任一节点,所述节点中设置有用于对交易信息进行调度分配的调度器、用于执行智能合约的执行器和用于存储智能合约的存储单元,所述装置包括:
接收模块,用于接收客户端发送的交易信息,其中所述交易信息中包含所述交易信息对应的待执行的智能合约的路径信息,其中所述路径信息对应唯一的智能合约存储路径;
调度模块,用于将接收到的各交易信息放入调度器以使所述调度器将所述各交易信息分发至不同的执行器;
调度模块,用于通过各执行器基于各交易信息对应的待执行的智能合约的路径信息,查询存储单元以获取各交易信息对应的智能合约,其中所述存储单元中包含了按照树形文件目录结构存储的各智能合约、且各个智能合约的存储路径是唯一的;
执行模块,用于通过各执行器对所述交易信息执行所述智能合约,得到执行结果。
10.一种服务设备,其特征在于,包括:
处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至8任一项所述的基于区块链的智能合约调用方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的基于区块链的智能合约调用方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111478999.7A CN113888173B (zh) | 2021-12-07 | 2021-12-07 | 基于区块链的智能合约调用方法、装置及设备 |
PCT/CN2022/100650 WO2023103341A1 (zh) | 2021-12-07 | 2022-06-23 | 基于区块链的智能合约调用方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111478999.7A CN113888173B (zh) | 2021-12-07 | 2021-12-07 | 基于区块链的智能合约调用方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113888173A true CN113888173A (zh) | 2022-01-04 |
CN113888173B CN113888173B (zh) | 2022-04-26 |
Family
ID=79015658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111478999.7A Active CN113888173B (zh) | 2021-12-07 | 2021-12-07 | 基于区块链的智能合约调用方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113888173B (zh) |
WO (1) | WO2023103341A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827002A (zh) * | 2022-03-17 | 2022-07-29 | 西安电子科技大学 | 多域网络安全路径计算方法、系统、设备、介质及终端 |
WO2023103341A1 (zh) * | 2021-12-07 | 2023-06-15 | 深圳前海微众银行股份有限公司 | 基于区块链的智能合约调用方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590189A (zh) * | 2017-08-10 | 2018-01-16 | 深圳先进技术研究院 | 智能合约执行方法、装置、设备及存储介质 |
US20200177373A1 (en) * | 2018-11-14 | 2020-06-04 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
CN112261156A (zh) * | 2020-12-21 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 一种提交跨片事务的方法及系统、主链节点和源分片节点 |
CN112261163A (zh) * | 2020-12-21 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 一种区块链系统中的状态存储方法及区块链系统、节点 |
CN112749152A (zh) * | 2021-01-19 | 2021-05-04 | 矩阵元技术(深圳)有限公司 | 智能合约的数据迁移方法、装置及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271255A (zh) * | 2018-09-25 | 2019-01-25 | 深圳市元征科技股份有限公司 | 资源调度方法、系统及电子设备和存储介质 |
CN110135985B (zh) * | 2019-04-04 | 2021-07-27 | 杭州抖音科技有限公司 | 一种区块链上交易的并行执行方法及系统 |
CN113888173B (zh) * | 2021-12-07 | 2022-04-26 | 深圳前海微众银行股份有限公司 | 基于区块链的智能合约调用方法、装置及设备 |
-
2021
- 2021-12-07 CN CN202111478999.7A patent/CN113888173B/zh active Active
-
2022
- 2022-06-23 WO PCT/CN2022/100650 patent/WO2023103341A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590189A (zh) * | 2017-08-10 | 2018-01-16 | 深圳先进技术研究院 | 智能合约执行方法、装置、设备及存储介质 |
US20200177373A1 (en) * | 2018-11-14 | 2020-06-04 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
CN112261156A (zh) * | 2020-12-21 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 一种提交跨片事务的方法及系统、主链节点和源分片节点 |
CN112261163A (zh) * | 2020-12-21 | 2021-01-22 | 支付宝(杭州)信息技术有限公司 | 一种区块链系统中的状态存储方法及区块链系统、节点 |
CN112749152A (zh) * | 2021-01-19 | 2021-05-04 | 矩阵元技术(深圳)有限公司 | 智能合约的数据迁移方法、装置及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023103341A1 (zh) * | 2021-12-07 | 2023-06-15 | 深圳前海微众银行股份有限公司 | 基于区块链的智能合约调用方法、装置及设备 |
CN114827002A (zh) * | 2022-03-17 | 2022-07-29 | 西安电子科技大学 | 多域网络安全路径计算方法、系统、设备、介质及终端 |
CN114827002B (zh) * | 2022-03-17 | 2023-04-07 | 西安电子科技大学 | 多域网络安全路径计算方法、系统、设备、介质及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN113888173B (zh) | 2022-04-26 |
WO2023103341A1 (zh) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI743458B (zh) | 一種並行化執行區塊鏈交易的方法、裝置及系統 | |
CN110995473B (zh) | 一种业务节点的控制方法及相关设备 | |
CN111104392B (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
CN109669709B (zh) | 一种区块链升级的数据迁移方法及数据迁移系统 | |
TWI719797B (zh) | 區塊鏈中智能合約的儲存、執行方法及裝置和電子設備 | |
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
CN112182096A (zh) | 跨链数据订阅方法及装置 | |
CN113888173B (zh) | 基于区块链的智能合约调用方法、装置及设备 | |
CN110569108B (zh) | 小游戏虚拟机执行环境的创建方法及相关产品 | |
CN108599973B (zh) | 一种日志关联方法、装置及设备 | |
CN109032820B (zh) | 应用程序版本兼容的处理方法及装置 | |
CN113079200A (zh) | 一种数据处理的方法、装置及系统 | |
US11775507B2 (en) | Methods and apparatuses for reading and updating data structures, and electronic devices | |
CN111639309B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN112560114B (zh) | 调用智能合约的方法及装置 | |
CN111897623A (zh) | 一种集群管理方法、装置、设备及存储介质 | |
TWI762851B (zh) | 塊鏈式帳本中的資料驗證方法、系統、裝置及設備 | |
CN111767144A (zh) | 交易数据的交易路由确定方法、装置、设备及系统 | |
CN109145053B (zh) | 数据处理方法和装置、客户端、服务器 | |
CN114529417A (zh) | 执行交易的方法、区块链、主节点和从节点 | |
CN115033551A (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
CN111930363B (zh) | 区块接口代码生成方法、及装置 | |
CN110795674B (zh) | 一种配置更新方法及装置 | |
CN113077260A (zh) | 基于区块链的数据访问方法、装置及电子设备 | |
CN114860204A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |