CN110069295B - 区块链处理方法、装置、设备和介质 - Google Patents
区块链处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN110069295B CN110069295B CN201910371322.XA CN201910371322A CN110069295B CN 110069295 B CN110069295 B CN 110069295B CN 201910371322 A CN201910371322 A CN 201910371322A CN 110069295 B CN110069295 B CN 110069295B
- Authority
- CN
- China
- Prior art keywords
- plug
- module
- calling
- target
- basic
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种区块链处理方法、装置、设备和介质。该方法包括:根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序;根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求。本发明实施例中插件化的区块链系统架构解除了系统代码之间的耦合关系,进而基于插件化的区块链系统架构实现了插件级别的调用和管理,使得各插件代码能够独立开发和发布,提高了区块链系统研发和管理的灵活性,以及插件分离发布的安全性。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链处理方法、装置、设备和介质。
背景技术
区块链技术中的分布式存储思想提供了灵活的信息处理方式,同时强化了互操作性以及信息的稳定性。为了适应信息量的快速增长,区块链的系统架构尤为重要。
目前,传统的区块链系统通常是单体应用,系统代码中包含了整个区块链系统的网络、账本、共识机制等所有的代码实现,例如以太坊。或者采用部分模块化框架,定义了共识机制、合约环境、整数服务等模块接口,例如Fabric区块链框架。
然而,现有的区块链系统架构中系统代码耦合严重,针对某一个部分的修改需要整个系统代码重新编译发布,研发和迭代效率较低。且难以实现开源版本和商业版本的分离,区块链系统公信力构建于代码开源,如果整体开源则难以保护企业的核心竞争力。
发明内容
本发明实施例提供了一种区块链处理方法、装置、设备和介质,能够实现插件化的区块链系统架构。
第一方面,本发明实施例提供了一种区块链处理方法,由区块链节点中的系统模块执行,所述方法包括:
根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序;
根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求。
第二方面,本发明实施例提供了一种区块链处理装置,配置于区块链节点中的系统模块,所述装置包括:
插件确定单元,用于根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序;
插件调用单元,用于根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求。
第三方面,本发明实施例提供了一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的区块链处理方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的区块链处理方法。
本发明实施例通过对区块链系统核心功能模块进行插件化处理,基于插件化的区块链系统架构,根据获取的链上事务处理请求,从区块链系统提供的基础插件模块中,确定目标插件模块以及目标插件模块的调用顺序,从而按照目标插件模块的调用顺序,通过目标插件模块的调用接口,调用目标插件模块来执行链上事务处理请求。本发明实施例中插件化的区块链系统架构解除了系统代码之间的耦合关系,进而基于插件化的区块链系统架构实现了插件级别的调用和管理,使得各插件代码能够独立开发和发布,提高了区块链系统研发和管理的灵活性,以及插件分离发布的安全性。
附图说明
图1为本发明实施例提供的插件化区块链系统架构的示例图;
图2为本发明实施例一提供的一种区块链处理方法的流程图;
图3为本发明实施例二提供的一种区块链处理方法的流程图;
图4为本发明实施例三提供的一种区块链处理方法的流程图;
图5为本发明实施例三提供的插件实现方式的示意图;
图6为本发明实施例三提供的插件更新的流程图;
图7为本发明实施例四提供的一种区块链处理装置的结构示意图;
图8为本发明实施例五提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
区块链系统作为一种去中心化的分布式存储技术,主要包括网络通信、公识机制、密码学算法、智能合约虚拟机以及分布式存储等部分。在现有的区块链系统中,系统代码中包含了整个区块链系统各功能的所有代码实现,进而现有的区块链系统各部分代码之间具有严重的耦合性,在对区块链系统进行增、删、改等处理时,牵一发而动全身,任何细微改变都会导致整个区块链系统代码修改。即使将部分功能模块化,其开源方式也是统一编译发布,对企业内部代码的保护和维权带来困难。
在本发明具体实施例中,为了构建灵活、易用的区块链系统,对区块链系统进行插件化处理,即将区块链系统分为主体的系统框架以及核心的功能模块,并利用插件化技术对核心模块进行插件化处理,将核心模块与系统框架进行解耦。具体的,图1为本发明实施例提供的插件化区块链系统架构的示例图,如图1所示,插件化区块链系统架构主要包括系统框架、基础插件模块、插件管理器以及对外的应用交互接口等。
其中,基础插件模块可以包括密码学算法插件模块、P2P网络插件模块、账本插件模块、交易模型插件模块、共识机制插件模块和合约虚拟机插件模块中的至少一个,但不局限于上述基础插件模块。各个基础插件模块中包括至少两个插件,基础插件模块中的插件以插件的形式配置与区块链节点的区块链系统中。其中,密码学算法插件模块可以是对数据进行加解密或签名的插件模块,以保障数据的安全性和一致性。P2P网络插件模块可以将数据由一个节点直接传输至另一个节点,实现各节点的平等。账本插件模块可以包括账本等数据,结合其他插件模块对事务数据进行验证和记录等。交易模型插件模块可以包括UTXO(Unspent Transaction Outputs,未花费的交易输出)交易模型或基于余额机制的交易模型等,用于对账户中的资产进行验证。共识机制插件模块是指基于共识机制对事务数据进行验证的模块,以在区块链网络中达到共识。例如共识机制插件模块可以基于共识机制节点的经济能力、股权权益、硬件能力和稳定性等来选择当前具有事务处理权限的节点。共识机制插件模块中还可以提供自定义共识插件,自定义共识插件是指编写自定义共识机制的节点将自定义共识机制代码编译成的可执行文件,自定义共识机制是指区块链网络中的一个节点依据用户业务需求所编写的可供区块链网络中的各个节点进行事务验证和确认时所执行的代码段。合约虚拟机插件模块可以用于向区块链网络部署智能合约,或者通过执行引擎加载并执行智能合约。
需要说明的是,区块链系统可以根据功能需求,配置基础插件模块中的具体插件模块。各基础插件模块中的插件可以是本机节点用户自己编写并编译的,也可以是其他用户在区块链网络中其他节点编写并编译的可执行文件,并发布到本机节点中的。
其次,系统框架用于定义公共数据结构,例如可以定义区块链交易、区块数据、用户账户内部结构、公共信息和错误码等公共数据结构。系统框架还用于定义需要插件化的模块及其公共接口,基础插件模块包括至少两个插件,该至少两个插件的调用接口与该基础插件模块的调用接口相同。此外,系统框架中还可以定义了插件模块调用流程,例如当系统接收到一个事务处理请求后,如何调用各个插件模块进行事务数据的验证、打包以及最终通过共识达到全网数据一致的整体流程等,因此插件模块调用流程中可以包括所要调用的目标插件模块及其调用顺序等流程信息。
示例性的,对于一个交易事务请求而言,其插件模块调用流程可以定义如下:系统框架首先需要调用密码学算法插件模块,利用加解密插件或签名算法插件对交易数据进行验证,保证数据来源可信;然后调用交易模型插件模块检查交易方账户余额是否足够,并防范双花攻击等问题;最后调用账本插件模块,将通过验证的交易数据打包成块并记录在区块链中;其中,对于具备交易数据打包权力的节点可以通过调用共识机制插件模块来决定。
此外,还可以在区块链系统中定义插件管理器,实现模块插件化的模块的自动发现、版本依赖管理以及生命周期管理等机制。具体的,针对同一种插件模块,需要抽象出公共数据结构和接口方式,并在系统框架中定义;针对每一个插件模块,可以拥有不同的实现插件,每个插件可以定义各自的接口,多个插件的调用接口与该插件模块的调用接口相同。插件之间可以替换,实现标准化和可插拔的特性。插件管理器可以通过预先加载机制或自动发现机制,将插件定义到系统框架中,并定义插件依赖的版本信息,以供系统框架的调用。
基于插件化的区块链系统架构的事务处理方式以及插件管理,将在后续实施例中进行详细解释说明。
另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图2为本发明实施例一提供的一种区块链处理方法的流程图,本实施例可适用于基于插件化的区块链系统架构处理链上事务处理请求的情况,该方法可由一种区块链处理装置来执行,该装置可以采用软件和/或硬件的方式实现,优选是配置于承载有区块链节点的电子设备中。如图2所示,该方法具体包括如下:
S210、根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序。
在本发明具体实施例中,链上事务处理请求是指用户通过区块链节点发起的事务处理请求,链上事务处理请求可以包括区块链网络中的所有事务处理请求,例如创建账户、提交交易、部署智能合约、查询账户信息和插件更新等事务处理请求中的至少一种。其中,链上事务处理请求可以是其他区块链节点接收并传输至区块链网络上的事务处理请求,也可以是本机节点直接接收到的用户发起的事务处理请求。具体的,由于插件化的区块链系统架构的系统框架中,在开发阶段就预先定义了对外的应用交互接口,因此可以通过应用交互接口获取用户发起的链上事务处理请求。
本实施例中,根据不同功能的区块链系统,基于插件化的区块链系统架构,区块链系统中可以为用户提供了各种事务处理可调用的基础插件模块。目标插件模块是指针对具体的链上事务处理请求所调用的具体的插件模块,相应的,在处理链上事务处理请求时,各目标插件模块之间存在调用顺序。因此,本实施例中,区块链系统在获取到链上事务处理请求后,根据链上事务处理请求,从区块链系统提供的基础插件模块中,确定需要调用的目标插件模块,并确定目标插件模块的调用顺序。
其中,基于不同的事务处理请求,其具体的事务处理方式可能存在不同。例如基于不同的事务处理请求,所采用的加密方式可能不同,例如对称加密中的具体算法或非对称加密中的具体算法,其不同算法都可以以插件的形式配置部署在密码学算法插件模块中。因此还可以进一步的从目标插件模块中确定链上事务处理请求处理方式具体所关联的插件。
示例性的,假设获取到一个交易事务处理请求,则可以确定用于决定具备事务处理权限节点的共识机制插件模块,用于交易数据验证的密码学算法插件模块,用于交易的交易模型插件模块,以及用于打包和上链的账本插件模块。因此,目标插件模块包括共识机制插件模块、密码学算法插件模块、交易模型插件模块以及账本插件模块,目标插件模块的调用顺序即为上述交易流程中的处理顺序。
S220、根据目标插件模块的调用顺序,通过目标插件模块的调用接口调用目标插件模块执行链上事务处理请求。
在本发明具体实施例中,插件化的区块链系统架构中,系统框架中预先定义了各个基础插件模块及其中插件的调用接口。因此在确定链上事务处理请求关联的目标插件模块及其调用顺序之后,即可通过目标插件模块的调用接口,按照目标插件模块的调用顺序,调用目标插件模块执行链上事务处理请求。
示例性的,在上述示例中,按照交易流程中的处理顺序,根据各插件的处理状态,通过各目标插件模块的调用接口,依次调用共识机制插件模块、密码学算法插件模块、交易模型插件模块以及账本插件模块,以执行交易事务处理请求。
其中,链上事务处理请求还可以是节点发起的任一基础插件模块的插件更新请求,该过程可以是用户通过节点主动发起的,也可以是区块链系统通过自动发现机制自主发起的。从而依据插件更新请求对插件生命周期以及版本依赖等信息进行管理,并在下述实施例中进行具体解释说明。
本实施例的技术方案,通过对区块链系统核心功能模块进行插件化处理,基于插件化的区块链系统架构,根据获取的链上事务处理请求,从区块链系统提供的基础插件模块中,确定目标插件模块以及目标插件模块的调用顺序,从而按照目标插件模块的调用顺序,通过目标插件模块的调用接口,调用目标插件模块来执行链上事务处理请求。本发明实施例中插件化的区块链系统架构解除了系统代码之间的耦合关系,进而基于插件化的区块链系统架构实现了插件级别的调用和管理,使得各插件代码能够独立开发和发布,提高了区块链系统研发和管理的灵活性,以及插件分离发布的安全性。
实施例二
本实施例在上述实施例一的基础上,提供了区块链处理的一个优选实施方式,能够依据插件模块调用流程调用插件模块以执行链上事务处理请求。图3为本发明实施例二提供的一种区块链处理方法的流程图,如图3所示,该方法包括以下具体:
S310、通过应用交互接口获取用户发起的链上事务处理请求。
在本发明具体实施例中,由于插件化的区块链系统架构的系统框架中,在开发阶段就预先定义了对外的应用交互接口,因此可以通过应用交互接口获取用户发起的链上事务处理请求。本实施例还可以获取其他节点在区块链网络中传输的链上事务处理请求,以对事务数据进行验证。
S320、将获取的链上事务处理请求,与预置的至少一个插件模块调用流程进行匹配。
在本发明具体实施例中,插件化的区块链系统架构的系统架构中,还可以预先定义了各种事务处理所关联的插件模块调用流程。根据不同功能的区块链系统,插件模块调用流程可以基于区块链系统所提供的基础插件模块,预先规定了处理各种事务处理请求时所需调用的插件模块、插件模块的调用顺序以及调用切换条件等信息。从而在获取到链上事务处理请求之后,可以将链上事务处理请求与预置的至少一个插件模块调用流程进行匹配,以此获得与链上事务处理请求相匹配的目标插件模块调用流程。
具体的,本实施例不对链上事务处理请求与插件模块调用流程的匹配方式进行限定,任何能够实现插件模块调用流程的匹配方式都可以应用于本实施例中。例如,可以预先为各种事务处理请求添加唯一辨识,并在各种事务请求关联的插件模块调用流程中添加同样的或关联的唯一辨识,从而通过标识的匹配来确定链上事务处理请求的插件模块调用流程。再例如,还可以通过对链上事务处理请求进行签名验证等处理,从而通过验证信息确定相匹配的插件模块调用流程。
S330、将匹配成功的目标插件模块调用流程中包括的基础插件模块以及基础插件模块的调用顺序,作为目标插件模块以及目标插件模块的调用顺序。
在本发明具体实施例中,目标插件模块调用流程是指与链上事务处理请求匹配成功的插件模块调用流程。进而在确定目标插件模块调用流程后,可以直接将目标插件模块调用流程包括的基础插件模块,确定为目标插件模块,并将目标插件模块调用流程包括的基础插件模块的调用顺序,确定为目标插件模块的调用顺序。
示例性的,假设一个交易事务处理请求,其插件模块调用流程可以定义如下:系统框架首先需要调用密码学算法插件模块,利用加解密插件或签名算法插件对交易数据进行验证,保证数据来源可信;然后调用交易模型插件模块检查交易方账户余额是否足够,并防范双花攻击等问题;最后调用账本插件模块,将通过验证的交易数据打包成块并记录在区块链中;其中,对于具备交易数据打包权力的节点可以通过调用共识机制插件模块来决定。因此根据交易事务处理请求的插件模块调用流程,可以将插件模块调用流程中的密码学算法插件模块、交易模型插件模块、账本插件模块以及共识机制插件模块确定为目标插件模块,将上述流程中的调用顺序确定为目标插件模块的调用顺序,即依次调用共识机制插件模块、密码学算法插件模块、交易模型插件模块以及账本插件模块。
S340、根据目标插件模块的调用顺序,基于目标插件模块的数据结构,通过目标插件模块的调用接口调用目标插件模块执行链上事务处理请求。
在本发明具体实施例中,系统框架中还可以预先定义了各个基础插件模块的数据结构。数据结构是指计算机存储和组织数据的方式。基础插件模块的数据结构可以预先定义了数据格式、格式版本以及数据类型等信息。从而通过目标插件模块的调用接口,按照目标插件模块的调用顺序以及目标插件模块的数据结构,调用目标插件模块执行链上事务处理请求。
本实施例的技术方案,通过应用交互接口获取用户发起的链上事务处理请求,将链上事务处理请求与预置的至少一个插件模块调用流程进行匹配,从匹配成功的目标插件模块调用流程中,确定目标插件模块以及目标插件模块的调用顺序,从而按照目标插件模块的调用顺序,基于目标插件模块的数据结构,通过目标插件模块的调用接口,调用目标插件模块来执行链上事务处理请求。本发明实施例中插件化的区块链系统架构解除了系统代码之间的耦合关系,进而基于插件化的区块链系统架构实现了插件级别的调用和管理,使得各插件代码能够独立开发和发布,提高了区块链系统研发和管理的灵活性,以及插件分离发布的安全性。
实施例三
本实施例在上述实施例一的基础上,提供了区块链处理的一个优选实施方式,能够基于插件化的区块链系统架构对插件进行管理。图4为本发明实施例三提供的一种区块链处理方法的流程图,步骤S210具体可以包括如下步骤S420-S430,如图4所示,该方法包括以下具体:
S410、根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序。
S420、若链上事务处理请求是本地节点发起的任一基础插件模块的插件更新请求,则通过合约虚拟机插件模块的调用接口,调用合约虚拟机插件模块根据插件更新请求发起投票提案事务。
在本发明具体实施例中,可以对插件化的区块链系统中的任一插件模块及其中的插件进行更新,相应的,用于更新插件的插件更新请求可以是用户通过节点主动发起的,也可以是区块链系统通过自动发现机制自主发起的。进而通过区块链网络中节点进行投票的方式,来确定插件更新是否可以执行。
具体的,在获取到链上事务处理请求并识别出链上事务处理请求是用于更新插件的插件更新请求,则可以通过对插件模块调用流程的匹配,确定合约虚拟机插件模块为目标插件模块,进一步还可以确定合约虚拟机插件模块中具体的智能合约插件,并通过合约虚拟机插件模块的调用接口,调用智能合约来发起对于插件更新的投票提案事务。
S430、通过P2P网络插件模块的调用接口,调用P2P网络插件模块在区块链网络中传输投票提案事务,使区块链网络响应投票提案事务进行投票,若投票通过则对该基础插件模块进行插件更新。
在本发明具体实施例中,在获取到链上事务处理请求并识别出链上事务处理请求是用于更新插件的插件更新请求,还可以通过对插件模块调用流程的匹配,确定P2P网络插件模块为目标插件模块。从而通过P2P网络插件模块的调用接口,调用P2P网络插件模块在区块链网络中将投票提案事务进行点对点地传输。相应的,区块链网络中的其他节点,可以接收到区块链网络中传输的投票提案事务,并依据投票提案事务进行投票。在投票通过的情况下,才可以对链上事务处理请求所包含的基础插件模块进行插件的更新。
具体的,在发起投票提案事务时,可以在投票提案事务中确定投票生效区块高度,依据插件更新请求以及投票生效区块高度发起投票提案事务,使区块链中具有事务处理权限的区块生成节点,在检测到待生成的当前区块高度是投票生效区块高度时,则响应投票提案事务进行投票。
此外,还可以在投票提案事务中确定投票提案事务的投票生效比例阈值,依据插件更新请求以及投票生效比例阈值发起投票提案事务,使区块生成节点在检测到投票通过的比例值大于投票生效比例阈值时,则确定投票通过。其中,通过获取本机节点设定的投票生效比例阈值,若设定的投票生效比例阈值等于或小于系统投票生效比例阈值,则将系统投票生效比例阈值作为投票提案事务的投票生效比例阈值;否则,将设定的投票生效比例阈值作为投票提案事务的投票生效比例阈值。
进而在区块链网络中传输投票提案事务,使区块生成节点响应投票提案事务进行投票,若投票通过则对链上事务处理请求所包含的基础插件模块进行插件的更新,实现对区块链系统中插件的更新。可以理解的是,在对区块链系统中插件进行更新时,需要基于插件的运行状态,将旧插件中的插件状态数据传输至新插件中。
本实施例中,针对插件的实现方式,由于插件需要满足热加载的特征,因此可以通过动态链接库的方式来实现插件。由于统一定义了调用接口,因此插件只需要编译成动态链接库的形式即可。进一步的,本实施例可以采用区块链原生语言来的插件机制编写所更新的插件。其中,区块链原生语言是指可以编写区块链底层网络架构的语言,例如GO语言、Java语言或者C++语言等。插件机制是指利用区块链原生语言对应的插件机制将执行插件功能的代码编写为插件的形式,并配置与区块链系统中,以与区块链网络互相交互,从而提供插件对应的功能或规则限定。每个区块链原生语言都具有对应的插进机制,例如GO语言的plugin插件机制、Java语言的.java插件机制、以及C++语言的.so插件机制等。图5为插件实现方式的示意图,如图5所示,XChainCore表示系统框架,PluginMgr表示插件管理器,图5中采用.so文件表示插件实现的动态链接库。插件管理器PluginMgr通过向系统框架XChainCore中定义基础插件模块的公共数据结构和接口,在配置文件PluginConf中进行声明基础插件模块与插件的实现关系,插件所关联的动态链接库路径,实现对插件的统一管理。
针对插件的发现机制,一种是预先加载机制,即需要在配置文件PluginConf中,例如创世块中,定义声明每个插件模块有哪几种插件实现,每个插件在哪个动态链接库文件中;另一种是自动发现机制,即插件管理器会定时扫描基础插件模块,获取新插件文件;添加新插件文件的描述信息;其中,新插件文件的描述信息包括新插件文件的版本信息,以及新插件文件关联的动态链接库文件的存储路径。其中,被扫描的插件模块可以包括全部的基础插件模块,也可以为指定的基础插件模块。进而当扫描到插件发生变化时,则自动加载新发现的插件文件,并获取新插件的描述信息,将插件的描述信息添加到插件管理器中,供系统框架选择使用。
可选的,启动该基础插件模块的新插件,获取新插件标识;向该基础插件模块的旧插件发送插件状态转移指令,以指示旧插件将插件状态数据传输给新插件;若监测到插件状态数据传输完成,则关闭旧插件,并释放旧插件资源。
具体的,每个插件需要定义打开Open和关闭Close两种公共方法,给插件管理器PluginMgr提供插件的加载和卸载能力。系统框架XChainCore可以在任意时间通过插件管理器PluginMgr加载一个插件的动态链接库,插件管理器PluginMgr会调用动态链接库的Open方法获得插件对象。反之,系统框架XChainCore可以在任意时间通过插件管理器PluginMgr卸载一个插件的动态链接库,插件管理器PluginMgr会调用动态链接库的Close方法在关闭动态链接库,并释放内存以完成数据持久化等操作。相应的,图6为插件更新的流程图。如图6所示,在进行插件的更新时,插件管理器PluginMgr在发现插件变化时,可以通过热更新的方式替换插件。具体的可以预先启动新插件,获取新插件标识,然后向旧插件发送插件状态转移指令,控制旧插件将插件状态数据传输给新插件,若监测到插件状态数据传输完成,则关闭旧插件,并释放旧插件资源,将外部调用指向新插件,避免了插件更新阶段对主体程序的影响。
其中,插件管理器PluginMgr可以定义了插件版本的依赖关系。在插件模块大版本的环境下,插件模块中各插件的小版本的更新,并不影响插件接口的兼容性,小版本插件之间保持兼容。而在插件模块大版本的更新时,可能导致接口不兼容的情况。例如在插件模块大版本2.0的环境下,某一插件的小版本2.1和小版本2.2接口兼容,但在插件模块大版本变更为3.0时,大版本3.0和小版本2.2可能接口不兼容。因此,系统框架XChainCore需要通过框架管理器PluginMgr定义插件版本的依赖关系,指定当前系统框架所支持的插件大版本号,保证插件的兼容性。
可选的,若投票通过则将该基础插件模块的插件更新信息作为事务数据写入区块链中;其中,插件更新信息包括旧插件版本、新插件版本和新插件的动态链接库存储路径中的至少一种,以及该基础插件模块标识。
本实施例中,插件的更新可以不是即时进行的,投票提案事务中还可以包括插件更新部署条件,例如区块高度等,进而在投票通过时,首先将插件更新信息作为事务数据写入区块链中,待满足插件更新部署条件时,依据上述插件更新流程,对插件进行更新。
本实施例的技术方案,基于插件化的区块链系统架构对插件进行更新时,通过调用合约虚拟机插件模块发起投票提案事务,调用P2P网络插件模块将投票提案事务传输至区块链网络中,以实现对插件的更新。其中,插件管理器通过与新插件和旧插件的交互,保证插件更新时插件状态数据的完整性,并定义和记录插件标识及版本依赖关系等信息。基于插件化的区块链系统架构实现了区块链系统的高内聚和低耦合,模块接口定义清楚,模块可以独立迭代和更新,研发速率大幅提升。在进行系统框架代码和通用模块插件开源时,具有较高技术壁垒的插件通过更严格的协议或闭源的方式提供,在兼顾区块链开源特性的前提下,达到保护核心技术知识产权的目的。插件可以动态更新,并支持插件间的状态转移,从而在不影响网络对外服务的情况下,实现线上节点运维和漏洞修复。
实施例四
图7为本发明实施例四提供的一种区块链处理装置的结构示意图,本实施例可适用于基于插件化的区块链系统架构处理链上事务处理请求的情况,该装置可实现本发明任意实施例所述的区块链处理方法。该装置具体包括:
插件确定单元710,用于根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序;
插件调用单元720,用于根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求。
可选的,所述插件确定单元710具体用于:
将获取的链上事务处理请求,与预置的至少一个插件模块调用流程进行匹配;
将匹配成功的目标插件模块调用流程中包括的基础插件模块以及基础插件模块的调用顺序,作为目标插件模块以及目标插件模块的调用顺序。
可选的,所述基础插件模块包括下述至少一个:密码学算法插件模块、P2P网络插件模块、账本插件模块、交易模型插件模块、共识机制插件模块和合约虚拟机插件模块。
可选的,所述插件调用单元720具体用于:
基于目标插件模块的数据结构,通过所述目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求。
可选的,所述目标插件模块中包括至少两个目标插件,且所述至少两个目标插件的调用接口与所述目标插件模块的调用接口相同。
进一步的,所述装置还包括事务请求获取单元730;所述事务请求获取单元730具体用于:
在所述根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序之前,通过应用交互接口获取用户发起的链上事务请求;其中,所述链上事务请求包括创建账户、提交交易、部署智能合约、查询账户信息和插件更新中的至少一种链上事务请求。
可选的,若所述链上事务处理请求是本地节点发起的任一基础插件模块的插件更新请求,则所述插件调用单元720具体用于:
通过合约虚拟机插件模块的调用接口,调用所述合约虚拟机插件模块根据所述插件更新请求发起投票提案事务;
通过P2P网络插件模块的调用接口,调用所述P2P网络插件模块在区块链网络中传输所述投票提案事务,使区块链网络响应所述投票提案事务进行投票,若投票通过则对该基础插件模块进行插件更新。
可选的,所述插件调用单元720具体用于:
启动该基础插件模块的新插件,获取新插件标识;
向该基础插件模块的旧插件发送插件状态转移指令,以指示所述旧插件将插件状态数据传输给所述新插件;
若监测到插件状态传输完成,则关闭所述旧插件,并释放旧插件资源。
可选的,所述插件调用单元720具体用于:
若投票通过则将该基础插件模块的插件更新信息作为事务数据写入区块链中;其中,所述插件更新信息包括旧插件版本、新插件版本和新插件的动态链接库存储路径中的至少一种,以及该基础插件模块标识。
可选的,所述插件调用单元720具体用于:
定时扫描基础插件模块,获取新插件文件;
添加所述新插件文件的描述信息;其中,所述新插件文件的描述信息包括新插件文件的版本信息,以及新插件文件关联的动态链接库文件的存储路径。
本实施例的技术方案,通过各个模块之间的相互配合,实现了事务处理请求的获取、插件模块调用流程的匹配、目标插件模块的确定、目标插件模块调用顺序的确定、插件模块调用接口的确定、插件模块的调用、插件的更新以及管理等功能。本发明实施例中插件化的区块链系统架构解除了系统代码之间的耦合关系,进而基于插件化的区块链系统架构实现了插件级别的调用和管理,使得各插件代码能够独立开发和发布,提高了区块链系统研发和管理的灵活性,以及插件分离发布的安全性。
实施例五
图8为本发明实施例五提供的一种设备的结构示意图,图8示出了适于用来实现本发明实施例实施方式的示例性设备的框图。图8显示的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
图8显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。该设备12优选为承载区块链节点的电子设备,该电子设备中部署有本发明实施例的插件化的区块链系统。
如图8所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器16,系统存储器28,连接不同系统组件(包括系统存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的区块链处理方法。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行一种区块链处理方法,该方法包括:
根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序;
根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种区块链处理方法,其特征在于,由区块链节点中的系统模块执行,所述方法包括:
根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序;其中,所述区块链系统为插件化处理后的,可分为主体系统框架以及插件化的核心功能模块;所述插件化的区块链系统的架构包括系统框架、基础插件模块、插件管理器以及对外的应用交互接口,所述系统框架用于定义公共数据结构、插件化的模块及其公共接口,还用于定义插件模块的调用流程;所述基础插件模块包括至少两个插件,且所述至少两个插件的调用接口与所述基础插件模块的调用接口相同;所述插件管理器用于实现模块插件化的模块的自动发现、版本依赖管理以及生命周期管理机制;所述基础插件模块的数据结构预先定义有数据格式、格式版本以及数据类型信息;
根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求;
其中,所述基础插件模块包括下述至少一个:密码学算法插件模块、P2P网络插件模块、账本插件模块、交易模型插件模块、共识机制插件模块和合约虚拟机插件模块。
2.根据权利要求1所述的方法,其特征在于,所述根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序,包括:
将获取的链上事务处理请求,与预置的至少一个插件模块调用流程进行匹配;
将匹配成功的目标插件模块调用流程中包括的基础插件模块以及基础插件模块的调用顺序,作为目标插件模块以及目标插件模块的调用顺序。
3.根据权利要求1所述的方法,其特征在于,所述通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求,包括:
基于目标插件模块的数据结构,通过所述目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求。
4.根据权利要求1所述的方法,其特征在于,在所述根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序之前,还包括:
通过应用交互接口获取用户发起的链上事务处理请求;其中,所述链上事务处理请求包括创建账户、提交交易、部署智能合约、查询账户信息和插件更新中的至少一种链上事务处理请求。
5.根据权利要求1所述的方法,其特征在于,若所述链上事务处理请求是本地节点发起的任一基础插件模块的插件更新请求,则所述根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求,包括:
通过合约虚拟机插件模块的调用接口,调用所述合约虚拟机插件模块根据所述插件更新请求发起投票提案事务;
通过P2P网络插件模块的调用接口,调用所述P2P网络插件模块在区块链网络中传输所述投票提案事务,使区块链网络响应所述投票提案事务进行投票,若投票通过则对该基础插件模块进行插件更新。
6.根据权利要求5所述的方法,其特征在于,所述对该基础插件模块进行插件更新,包括:
启动该基础插件模块的新插件,获取新插件标识;
向该基础插件模块的旧插件发送插件状态转移指令,以指示所述旧插件将插件状态数据传输给所述新插件;
若监测到插件状态数据传输完成,则关闭所述旧插件,并释放旧插件资源。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若投票通过则将该基础插件模块的插件更新信息作为事务数据写入区块链中;其中,所述插件更新信息包括旧插件版本、新插件版本和新插件的动态链接库存储路径中的至少一种,以及该基础插件模块标识。
8.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
定时扫描基础插件模块,获取新插件文件;
添加所述新插件文件的描述信息;其中,所述新插件文件的描述信息包括新插件文件的版本信息,以及新插件文件关联的动态链接库文件的存储路径。
9.一种区块链处理装置,其特征在于,配置于区块链节点中的系统模块,所述装置包括:
插件确定单元,用于根据获取的链上事务处理请求,确定区块链系统提供的基础插件模块中需要调用的目标插件模块以及目标插件模块的调用顺序;其中,所述区块链系统为插件化处理后的,可分为主体系统框架以及插件化的核心功能模块;所述插件化的区块链系统的架构包括系统框架、基础插件模块、插件管理器以及对外的应用交互接口,所述系统框架用于定义公共数据结构、插件化的模块及其公共接口,还用于定义插件模块的调用流程;所述基础插件模块包括至少两个插件,且所述至少两个插件的调用接口与所述基础插件模块的调用接口相同;所述插件管理器用于实现模块插件化的模块的自动发现、版本依赖管理以及生命周期管理机制;所述基础插件模块的数据结构预先定义有数据格式、格式版本以及数据类型信息;
插件调用单元,用于根据所述目标插件模块的调用顺序,通过目标插件模块的调用接口调用所述目标插件模块执行所述链上事务处理请求;
其中,所述基础插件模块包括下述至少一个:密码学算法插件模块、P2P网络插件模块、账本插件模块、交易模型插件模块、共识机制插件模块和合约虚拟机插件模块。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的区块链处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的区块链处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371322.XA CN110069295B (zh) | 2019-05-06 | 2019-05-06 | 区块链处理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371322.XA CN110069295B (zh) | 2019-05-06 | 2019-05-06 | 区块链处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069295A CN110069295A (zh) | 2019-07-30 |
CN110069295B true CN110069295B (zh) | 2022-06-17 |
Family
ID=67370027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910371322.XA Active CN110069295B (zh) | 2019-05-06 | 2019-05-06 | 区块链处理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110069295B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026461B (zh) * | 2019-12-06 | 2022-04-22 | 联想(北京)有限公司 | 用于区块链系统的数据处理方法、装置和电子设备 |
CN111259298B (zh) * | 2020-01-16 | 2023-06-27 | 深圳市华海同创科技有限公司 | 基于区块链的话题生成方法、节点服务器及存储介质 |
CN111291034A (zh) * | 2020-03-11 | 2020-06-16 | 北京价值互联科技有限公司 | 一种区块链插件化的数据清洗方法、系统、终端及介质 |
CN111682945B (zh) * | 2020-05-29 | 2023-04-18 | 百度在线网络技术(北京)有限公司 | 一种区块链的权限控制方法、装置、设备和介质 |
CN111741000B (zh) * | 2020-06-22 | 2021-06-22 | 北京邮电大学 | 基于区块链和智能合约的数据访问系统、方法 |
CN112052051A (zh) * | 2020-08-31 | 2020-12-08 | 北京嘀嘀无限科技发展有限公司 | 插件处理方法、装置、设备及存储介质 |
CN112202565A (zh) * | 2020-09-21 | 2021-01-08 | 中国电子科技网络信息安全有限公司 | 一种区块链系统密码补丁插件实现方法 |
CN113612766B (zh) * | 2021-07-30 | 2023-04-28 | 北京锐安科技有限公司 | 数据治理装置、方法、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653315A (zh) * | 2015-12-23 | 2016-06-08 | 北京工业大学 | 一种基于区块链技术的节点化操作系统下载方法 |
CN106097059A (zh) * | 2016-06-08 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 一种交易闭环的处理方法及平台 |
CN108073513A (zh) * | 2017-04-21 | 2018-05-25 | 富士通株式会社 | 对基于区块链的智能合约进行测试的装置和方法 |
CN108960830A (zh) * | 2018-07-16 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
CN109388643A (zh) * | 2018-10-26 | 2019-02-26 | 陕西医链区块链集团有限公司 | 一种基于区块链的快速数据检索系统及方法 |
CN109614164A (zh) * | 2018-11-29 | 2019-04-12 | 深圳前海微众银行股份有限公司 | 实现插件可配置的方法、装置、设备及可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105991731A (zh) * | 2015-02-13 | 2016-10-05 | 中兴通讯股份有限公司 | 一种获取信息的方法、智能终端和服务端 |
US9967334B2 (en) * | 2015-03-02 | 2018-05-08 | Dell Products Lp | Computing device configuration and management using a secure decentralized transaction ledger |
US20170031676A1 (en) * | 2015-07-27 | 2017-02-02 | Deja Vu Security, Llc | Blockchain computer data distribution |
CN107463391B (zh) * | 2016-06-03 | 2020-11-10 | 阿里巴巴集团控股有限公司 | 任务处理方法、装置及设备 |
CN106101242B (zh) * | 2016-06-24 | 2019-08-06 | 深圳前海微众银行股份有限公司 | 区块链云服务平台的构建方法和装置 |
CN107147704B (zh) * | 2017-04-21 | 2019-12-13 | 杭州趣链科技有限公司 | 一种面向区块链的通用服务中间件系统 |
GB2576461A (en) * | 2017-05-02 | 2020-02-19 | Luther Systems | Financial derivative contract execution platform, system and method |
US10469248B2 (en) * | 2017-10-17 | 2019-11-05 | Amrican Express Travel Related Services Company, Inc. | API request and response balancing and control on blockchain |
CN109032706B (zh) * | 2018-07-16 | 2022-10-11 | 百度在线网络技术(北京)有限公司 | 智能合约执行方法、装置、设备和存储介质 |
CN109002297B (zh) * | 2018-07-16 | 2020-08-11 | 百度在线网络技术(北京)有限公司 | 共识机制的部署方法、装置、设备和存储介质 |
-
2019
- 2019-05-06 CN CN201910371322.XA patent/CN110069295B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653315A (zh) * | 2015-12-23 | 2016-06-08 | 北京工业大学 | 一种基于区块链技术的节点化操作系统下载方法 |
CN106097059A (zh) * | 2016-06-08 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 一种交易闭环的处理方法及平台 |
CN108073513A (zh) * | 2017-04-21 | 2018-05-25 | 富士通株式会社 | 对基于区块链的智能合约进行测试的装置和方法 |
CN108960830A (zh) * | 2018-07-16 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 智能合约的部署方法、装置、设备及存储介质 |
CN109388643A (zh) * | 2018-10-26 | 2019-02-26 | 陕西医链区块链集团有限公司 | 一种基于区块链的快速数据检索系统及方法 |
CN109614164A (zh) * | 2018-11-29 | 2019-04-12 | 深圳前海微众银行股份有限公司 | 实现插件可配置的方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110069295A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069295B (zh) | 区块链处理方法、装置、设备和介质 | |
CN113711536B (zh) | 从区块链网络中提取数据 | |
CN109981679B (zh) | 在区块链网络中执行事务的方法和装置 | |
CN110096857B (zh) | 区块链系统的权限管理方法、装置、设备和介质 | |
JP2020017256A (ja) | ブロックチェーンにおける検証を行うシステム | |
US20080235756A1 (en) | Resource authorizations dependent on emulation environment isolation policies | |
CN109246197B (zh) | 基于智能合约的数据处理方法及装置 | |
US20160299918A1 (en) | Device Control Using a Secure Decentralized Transactional Ledger | |
CN114666412A (zh) | 混合云计算系统中的访问服务 | |
US8874425B2 (en) | Implementing performance-dependent transfer or execution decisions from service emulation indications | |
CN110138767B (zh) | 事务请求的处理方法、装置、设备和存储介质 | |
CN112714158A (zh) | 事务处理方法、中继网络、跨链网关、系统、介质和设备 | |
CN116055308B (zh) | 一种供应链金融平台的底层区块链网络部署方法及装置 | |
CN111159753A (zh) | 区块链智能合约管理方法及系统、存储介质及终端 | |
CN110209671A (zh) | 一种分布式账本数据的存取系统及其应用 | |
JP7445685B2 (ja) | オープンインタフェースの管理方法、電子機器、及び記憶媒体 | |
US20090140843A1 (en) | Method for providing radio frequency identification application interface and system thereof | |
CN110704196B (zh) | 资源数据的转移方法、装置和区块链系统 | |
CN107277108B (zh) | 一种区块链的节点处的消息处理方法、装置及系统 | |
CN110968899B (zh) | 一种基于区块链的数据分块确认方法、装置、设备和介质 | |
US20100030805A1 (en) | Propagating information from a trust chain processing | |
US20230074455A1 (en) | System and method for monitoring delivery of messages passed between processes from different operating systems | |
CN113434217A (zh) | 漏洞扫描方法、装置、计算机设备及介质 | |
US7051210B2 (en) | Persistance and recovery of security keys | |
CN117540356B (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 |