CN112989422A - 区块链***装配方法、装置、电子设备和存储介质 - Google Patents
区块链***装配方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112989422A CN112989422A CN202110356760.6A CN202110356760A CN112989422A CN 112989422 A CN112989422 A CN 112989422A CN 202110356760 A CN202110356760 A CN 202110356760A CN 112989422 A CN112989422 A CN 112989422A
- Authority
- CN
- China
- Prior art keywords
- block chain
- module
- block
- assembling
- chain system
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012360 testing method Methods 0.000 claims abstract description 50
- 230000006870 function Effects 0.000 claims description 38
- 230000007246 mechanism Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000012790 confirmation Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种区块链***装配方法、装置、电子设备和存储介质,其中,方法包括:获取***关键特性需求信息;根据***关键特性需求信息确定***装配框架;根据***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;对区块链***的参数进行调整,并对区块链***进行测试,生成测试报告,以及根据测试报告判断区块链***是否符合预期***特性需求。由此,区块链服务提供方可根据***使用方不同的具体应用需求,快速、灵活、高效地装配出支持不同***特性,适用不同应用场景的区块链***,实现区块链***按需定制化装配。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链***装配方法、装置、电子设备和存储介质。
背景技术
目前,很多场景中都使用区块链***,相关技术中的区块链***存在以下问题:1)无法支持不同信任程度的场景,多方合作中,既有类似比特币这种完全不互信的场景,也有类似使用单点数据库这种完全信任的场景,在完全信任与完全不互信之间,还存在多种不同的信任层次,虽然现有区块链***大多具备一定灵活性,但仍然无法符合多种不同的信任程度;2)深度定制成本高、周期长,如摩根大通银行为了符合跨银行间信息交换场景的需求,从权限管理、共识机制、隐私保护等多方面对以太坊进行了深度定制,但对一般企业而言,缺乏足够的资源实现这种手工定制模式。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
本发明提出一种区块链***装配方法、装置、电子设备和存储介质,以实现区块链服务提供方可基于***使用方不同的具体应用需求,快速、灵活、高效地装配出支持不同***特性、适用不同应用场景的区块链***,实现区块链***按需定制化装配。
本发明第一方面实施例提出了一种区块链***装配方法,包括:
获取***关键特性需求信息;
根据所述***关键特性需求信息确定***装配框架;
根据所述***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;
对所述区块链***的参数进行调整,并对所述区块链***进行测试,生成测试报告,以及根据所述测试报告判断所述区块链***是否符合预期***特性需求。
本发明实施例的区块链***装配方法,获取***关键特性需求信息;根据***关键特性需求信息确定***装配框架;根据***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;对区块链***的参数进行调整,并对区块链***进行测试,生成测试报告,以及根据测试报告判断区块链***是否符合预期***特性需求。由此,区块链服务提供方可根据***使用方不同的具体应用需求,快速、灵活、高效地装配出支持不同***特性,适用不同应用场景的区块链***,实现区块链***按需定制化装配。
可选地,在本发明的一个实施例中,所述获取***关键特性需求信息,包括:
获取用户应用需求信息;
基于所述用户应用需求信息确定所述***关键特性需求信息;其中,所述***关键特性需求信息包括但不限于节点规模、共识机制、出块模式和智能合约运行环境、身份机制中的一种或者多种。
可选地,在本发明的一个实施例中,所述装配框架的***核心流程,包括但不限于:
一个或多个提议节点提议候选区块;
广播所述候选区块,在共识节点间对所述候选区块进行共识,过程中验证节点验证候选区块的有效性;
在达成共识后,各区块链节点执行所述候选区块,使所述候选区块入库。
可选地,在本发明的一个实施例中,所述多个模块包括但不限于以下模块的组合:
可实现将节点从用户或其他节点收到的交易进行缓存功能的模块(1);可实现从模块(1)获取交易、组装候选区块并发送至模块(5)功能的模块(2);可实现将一批交易按预定策略发送至模块(4)进行执行功能的模块(3);可实现用户具体的业务逻辑功能的模块(4);可实现保证区块链数据在各方的一致功能的模块(5);可实现将区块、交易、共识消息同步至网络中各节点功能的模块(6);可实现区块格式、交易执行结果有效性校验功能的模块(7);可实现调用模块(9)将已共识的候选区块写入数据库功能的模块(8);可实现将区块、交易、区块链当前状态数据写入数据库,并对外提供相关数据的检索服务功能的模块(9)。
可选地,在本发明的一个实施例中,所述对所述区块链***的参数进行调整,包括但不限于:
对证书签名算法和摘要算法进行调整;和/或
对智能合约消耗上限进行调整;和/或
选择不同的存储介质类型,对存储分片参数进行调整。
可选地,在本发明的一个实施例中,所述对所述区块链***进行测试,生成测试报告,包括但不限于:
获取所述区块链***的每秒交易数和/或交易确认时间;
判断所述每秒交易数和/或交易确认时间是否符合预设数值,生成所述测试报告。
本发明第二方面实施例提出了一种区块链***装配装置,包括:
获取模块,用于获取***关键特性需求信息;
确定模块,用于根据所述***关键特性需求信息确定***装配框架;
生成模块,用于根据所述***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;
处理模块,用于对所述区块链***的参数进行调整,并对所述区块链***进行测试,生成测试报告,以及根据所述测试报告判断所述区块链***是否符合预期***特性需求。
本发明实施例的区块链***装配装置,通过获取***关键特性需求信息;根据***关键特性需求信息确定***装配框架;根据***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;对区块链***的参数进行调整,并对区块链***进行测试,生成测试报告,以及根据测试报告判断区块链***是否符合预期***特性需求。由此,区块链服务提供方可根据***使用方不同的具体应用需求,快速、灵活、高效地装配出支持不同***特性,适用不同应用场景的区块链***,实现区块链***按需定制化装配。
本发明第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本发明第一方面实施例提出的区块链***装配方法。
本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明第一方面实施例提出的区块链***装配方法。
本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行如本发明第一方面实施例提出的区块链***装配方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例一所提供的区块链***装配方法的流程示意图;
图2为本发明实施例中可装配区块链执行流程示意图;
图3为本发明实施例中的可装配区块链模块划分示意图;
图4为本发明实施例二所提供的区块链***装配方法的流程示意图;
图5为本发明实施例三所提供的区块链***装配装置的结构示意图;
图6示出了适于用来实现本发明实施方式的示例性电子设备或服务器的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本发明实施例提出一种区块链***装配方法,首先给出了区块链***关键属性划分,用户可根据应用需求确认***关键特性需求,其次,基于***特性需求,用户可选择相应的装配框架及模块组件,装配出区块链***,并进行***参数调整,最后,用户可对已装配***进行测试,生成测试报告,根据报告测试性能指标,确认已装配***是否符合预期的***特性,可以实现根据用户应用需求快速灵活装配出具有不同***特性的区块链。
下面参考附图描述本发明实施例的区块链***装配方法、装置、电子设备和存储介质。
图1为本发明实施例一所提供的区块链***装配方法的流程示意图。
本发明实施例的对话识别方法,可以应用于电子设备。其中,电子设备可以为任一具有计算能力的设备,例如可以为PC(Personal Computer,个人电脑)、移动终端等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作***、触摸屏和/或显示屏的硬件设备。
如图1所示,该区块链***装配方法可以包括以下步骤:
步骤101,获取***关键特性需求信息。
本发明实施例中,获取用户应用需求信息;其中,用户应用需求信息可以根据具体应用场景选择设置,包括但不限于比如想实现区块链***在某一特定领域的具体应用,以供应链金融场景应用为例,例如中小微企业供应链金融场景区块链应用、***是否需要引入token机制、引入身份管理机制和引入权限管理机制中的一种或多种。
进一步地,基于用户应用需求信息确定***关键特性需求信息;其中,***关键特性需求信息包括但不限于节点规模、共识机制、出块模式和智能合约运行环境、身份机制中的一种或者多种。
具体地,基于***关键属性信息划分,用户根据应用需求确认***关键特性需求信息,***关键特性需求信息包括但不限于节点规模、共识机制、出块模式、智能合约等。
具体地,节点规模:参与维护整个区块链分布式***的节点数目。根据类型不同,节点可分为共识节点和非共识节点,共识节点在公链***中数目可达上万,在联盟链中数目通常较小;非共识节点理论上没有数量限制,其多少不应影响***运行。
具体地,共识机制:区块链的共识机制由共识算法实现,共识算法应根据不同的业务需求、区块链网络组织形式等进行选择。共识算法依据应用场景分为拜占庭和非拜占庭两类,拜占庭算法往往容错性较高,但是性能相对较低,如PoW、PoS、DPoS、PBFT、Hotstuff等;非拜占庭算法性能较高,但容错性较差,如Paxos、Raft等。.具体地,出块模式:出块模式是区块链***特性的关键需求,是对应用场景和用户需求分析后的量化指标描述。出块模式描述了区块链中未确认的交易打包成块的方式,包括区块大小、出块时间、区块交易数等。具体地,智能合约运行环境:智能合约运行环境主要分为两种:虚拟机和容器。运行环境的作用是在一个沙盒中执行合约代码,并对合约所使用的资源进行隔离和限制。虚拟机主要包括EVM、WASM、JVM等,容器主要指Docker。运行环境可从代码兼容性、语言支持、执行效率、安全性等多个因素的考虑进行选择。
具体地,身份机制:身份机制用于区块链***中参与主体的身份认证。身份机制可通过身份权限管理模块接入自有或第三方服务,主要有PKI、公私钥、分布式身份服务等。
步骤102,根据***关键特性需求信息确定***装配框架。
本发明实施例中,***执行流程不同,会产生不同的装配框架。
在本发明实施例中,装配框架的***核心流程,一个或多个提议节点提议候选区块;广播候选区块,在共识节点间对所述候选区块进行共识,过程中验证节点验证候选区块的有效性;在达成共识后,各区块链节点执行所述候选区块,使候选区块入库。
具体地,以一种典型的可装配区块链执行流程举例说明,如图2所示,***执行流程整体可划分为提议候选区块、共识候选区块、验证候选区块、执行候选区块四部分。首先由一个或多个提议节点提议候选区块。之后,提议区块进入共识流程,在共识节点间对候选区块进行共识,过程中验证节点应验证候选区块的有效性。达成共识后,各区块链节点执行候选区块,使区块入库生效。
具体地,提议节点可以理解为区块链网络中负责产生新的候选区块的节点,在一个区块轮次中提议节点可以是一个或多个。在不同轮次中提议节点和验证节点身份可互相转换;验证节点可以理解为区块链网络中负责验证新的候选区块的节点,对某一候选区块而言,除提议此区块的节点外其余区块链节点均为验证节点。在不同轮次中提议节点和验证节点身份可互相转换;交易调度可以理解为将一批交易按照调度策略分配资源进行执行的过程,其中调度策略决定了一批交易的执行顺序和交易并行冲突的处理机制;区块链框架可以理解为交易整体执行流程方法框架。
步骤103,根据***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***。
本发明实施例中,多个模块包括但不限于以下模块的组合:可实现将节点从用户或其他节点收到的交易进行缓存功能的模块(1);可实现从模块(1)获取交易、组装候选区块并发送至模块(5)功能的模块(2);可实现将一批交易按预定策略发送至模块(4)进行执行功能的模块(3);可实现用户具体的业务逻辑功能的模块(4);可实现保证区块链数据在各方的一致功能的模块(5);可实现将区块、交易、共识消息同步至网络中各节点功能的模块(6);可实现区块格式、交易执行结果有效性校验功能的模块(7);可实现调用模块(9)将已共识的候选区块写入数据库功能的模块(8);可实现将区块、交易、区块链当前状态数据写入数据库,并对外提供相关数据的检索服务功能的模块(9)。
具体地,基于上述典型的区块链执行流程,作为一种示例,可将区块链***划分为图3中展示的模块,分别为交易缓存模块、区块提议模块、交易调度模块、智能合约模块、共识算法模块、对等网络模块、区块验证模块、区块执行模块、数据存储模块、身份和权限管理模块、加密功能组件库11个子模块。执行流程中的每一个步骤均对应多个区块链功能模块,模块间通过接口封装调用,背后支持函数调用、进程间通信、网络通信等不同的调用方式。
其中,11个子模块在遵守内部接口的前提下,可根据不同的***特性要求,如根据不同的信任模型,构建一个区块链***。各子模块的具体实现,存在一些相互依赖的特性,如不同共识机制对应的通信模式和权限管理机制不同,选择共识协议时,其余模块需与之相适配。该依赖关系需要进行管理和维护,避免在子模块组装过程中产生不兼容情况。
具体地,交易缓存模块:将节点从用户或其他节点收到的交易进行缓存,供区块提议模块批量获取交易并打包为区块;区块提议模块:负责按照时间间隔、最大区块交易数等规则从交易缓存中批量获取交易,调用交易调度模块预执行交易,并将其中合法交易、区块高度、区块时间戳、交易执行结果等信息组装为候选区块,而后发送至共识算法模块完成区块提议;交易调度模块:负责将一批交易按预定策略发送至智能合约模块进行执行。其中,按照调度策略的不同,可分为串行调度和并行调度两种。在串行调度中,交易被按顺序逐一发送至智能合约模块执行。在并行调度中,调度模块将交易并行发送至智能合约模块,并进行冲突检测、交易重试等,保证并行执行的正确性;智能合约模块:负责接受用户的调用,结合用户的输入和当前链上状态,经过一系列运算后产生对区块链数据的更新操作集合;共识算法模块:共识算法负责保证区块链数据在各方的严格一致。
具体地,对等网络模块:负责将区块、交易、状态等信息同步至网络中各节点。此外,在多链场景下,对等网络应做到多链间数据的隔离;区块验证模块:负责校验区块格式等的有效性,并调用交易调度模块执行候选区块中的所有交易,进而判断本地执行结果与候选区块中包含的执行结果是否一致;区块执行模块:负责调用数据存储模块将已共识的候选区块写入数据库,并通知其他节点区块高度的增加,保持节点间数据状态的一致;数据存储模块:负责将区块、交易、区块链当前状态等数据写入数据库,并对外提供相关数据的检索服务。数据存储模块底层可采用键值对数据库、关系型数据库等实现;身份和权限管理模块:提供区块链节点和用户的身份定义、身份和链上资源操作权限的绑定、权限验证等功能,实现对交易发送、智能合约定义等链上资源的权限管理。所有涉及权限管控的模块均应调用身份和权限管理模块完成权限校验;加密组件库:提供包括加密解密功能、数字摘要功能、数字签名和验签功能。
步骤104,对区块链***的参数进行调整,并对区块链***进行测试,生成测试报告,以及根据测试报告判断区块链***是否符合预期***特性需求。
在本发明实施例中,对区块链***的参数进行调整,包括:对证书签名算法和摘要算法进行调整;和/或对智能合约消耗上限进行调整;和/或选择不同的存储介质类型,对存储分片参数进行调整。
具体地,模块组装完成后,进行***参数调整,包括但不限于加密算法、账本存储等参数调整,根据***性能需求,可对证书签名算法、摘要算法等进行调整;根据***性能需求,可对智能合约消耗上限进行调整;根据***性能需求,可选择不同的存储介质类型,对存储分片参数进行调整。
在本发明实施例中,对区块链***进行测试,生成测试报告,包括:获取区块链***的每秒交易数和/或交易确认时间;判断每秒交易数和/或交易确认时间是否符合预设数值,生成测试报告。
具体地,***装配完成后,进行装配***测试,包括但不限于***每秒交易数(TPS)、交易确认时间等指标测试,并基于此,判断已装配***是否符合预期***特性需求;每秒交易数(TPS)指的是整个***每秒的有效交易数;交易确认时间指的是从交易发起到接收者的余额可消费的时间。
进一步地,若已装配***符合***特性需求,则***装配完成。
作为一种场景举例,如图4所示,区块链***可装配,用户可根据应用需求确认***关键特性需求,根据***核心流程框架选择,进行相应的模块选择,通过模块组装,装配出区块链***,并对***参数进行调整,同时,可对已装配的***进行测试,生成测试报告,确认已装配***符合预期***特性需求,本发明可实现根据用户应用需求装配出具有不同***特性的区块链。
本发明实施例的区块链***装配方法,通过获取***关键特性需求信息;根据***关键特性需求信息确定***装配框架;根据***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;对区块链***的参数进行调整,并对区块链***进行测试,生成测试报告,以及根据测试报告判断区块链***是否符合预期***特性需求。由此,区块链服务提供方可根据***使用方不同的具体应用需求,快速、灵活、高效地装配出支持不同***特性,适用不同应用场景的区块链***,实现区块链***按需定制化装配。
与上述图1至图4实施例提供的区块链***装配方法相对应,本发明还提供一种区块链***装配装置,由于本发明实施例提供的区块链***装配装置与上述图1至图4实施例提供的区块链***装配方法相对应,因此在区块链***装配方法的实施方式也适用于本发明实施例提供的区块链***装配装置,在本发明实施例中不再详细描述。
图5为本发明实施例三所提供的区块链***装配装置的结构示意图。
如图5所示,该区块链***装配装置800应用于电子设备,包括:获取模块501、确定模块502、生成模块503和处理模块504。
获取模块501,用于获取***关键特性需求信息。
确定模块502,用于根据所述***关键特性需求信息确定***装配框架。
生成模块503,用于根据所述***装配框架对应的***核心流程,在所述***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***。
处理模块504,用于对所述区块链***的参数进行调整,并对所述区块链***进行测试,生成测试报告,以及根据所述测试报告判断所述区块链***是否符合预期***特性需求。
本发明实施例的区块链***装配装置,通过获取***关键特性需求信息;根据***关键特性需求信息确定***装配框架;根据***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;对区块链***的参数进行调整,并对区块链***进行测试,生成测试报告,以及根据测试报告判断区块链***是否符合预期***特性需求。由此,区块链服务提供方可根据***使用方不同的具体应用需求,快速、灵活、高效地装配出支持不同***特性,适用不同应用场景的区块链***,实现区块链***按需定制化装配。
为了实现上述实施例,本发明还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本发明前述图1-图4中任一实施例提出的区块链***装配方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现如本发明前述任一实施例提出的区块链***装配方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如本发明前述任一实施例提出的区块链***装配方法。
图6示出了适于用来实现本发明实施方式的示例性电子设备或服务器的框图。图6显示的电子设备或服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备或服务器12以通用计算设备的形式表现。电子设备或服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备或服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被电子设备或服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。电子设备或服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图6未显示,通常称为“硬盘驱动器”)。尽管图6中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc ReadOnly Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备或服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备或服务器12交互的设备通信,和/或与使得该电子设备或服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备或服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LocalArea Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备或服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备或服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块链***装配方法,其特征在于,包括以下步骤:
获取***关键特性需求信息;
根据所述***关键特性需求信息确定***装配框架;
根据所述***装配框架对应的***核心流程,在***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;
对所述区块链***的参数进行调整,并对所述区块链***进行测试,生成测试报告,以及根据所述测试报告判断所述区块链***是否符合预期***特性需求。
2.如权利要求1所述的区块链***装配方法,其特征在于,所述获取***关键特性需求信息,包括:
获取用户应用需求信息;
基于所述用户应用需求信息确定所述***关键特性需求信息;其中,所述***关键特性需求信息包括但不限于节点规模、共识机制、出块模式和智能合约运行环境、身份机制中的一种或者多种。
3.如权利要求1所述的区块链***装配方法,其特征在于,所述装配框架的***核心流程,包括但不限于:
一个或多个提议节点提议候选区块;
广播所述候选区块,在共识节点间对所述候选区块进行共识,过程中验证节点验证候选区块的有效性;
在达成共识后,各区块链节点执行所述候选区块,使所述候选区块入库。
4.如权利要求1所述的区块链***装配方法,其特征在于,所述多个模块包括但不限于以下模块的组合:
可实现将节点从用户或其他节点收到的交易进行缓存功能的模块(1);可实现从模块(1)获取交易、组装候选区块并发送至模块(5)功能的模块(2);可实现将一批交易按预定策略发送至模块(4)进行执行功能的模块(3);可实现用户具体的业务逻辑功能的模块(4);可实现保证区块链数据在各方的一致功能的模块(5);可实现将区块、交易、共识消息同步至网络中各节点功能的模块(6);可实现区块格式、交易执行结果有效性校验功能的模块(7);可实现调用模块(9)将已共识的候选区块写入数据库功能的模块(8);可实现将区块、交易、区块链当前状态数据写入数据库,并对外提供相关数据的检索服务功能的模块(9)。
5.如权利要求1所述的区块链***装配方法,其特征在于,所述对所述区块链***的参数进行调整,包括但不限于:
对证书签名算法和摘要算法进行调整;和/或
对智能合约消耗上限进行调整;和/或
选择不同的存储介质类型,对存储分片参数进行调整。
6.如权利要求1所述的区块链***装配方法,其特征在于,所述对所述区块链***进行测试,生成测试报告,包括但不限于:
获取所述区块链***的每秒交易数和/或交易确认时间;
判断所述每秒交易数和/或交易确认时间是否符合预设数值,生成所述测试报告。
7.一种区块链***装配装置,其特征在于,包括:
获取模块,用于获取***关键特性需求信息;
确定模块,用于根据所述***关键特性需求信息确定***装配框架;
生成模块,用于根据所述***装配框架对应的***核心流程,在所述***装配框架的模块组件库中,选取满足***关键特性的多个功能模块,并对多个功能模块进行组装,生成区块链***;
处理模块,用于对所述区块链***的参数进行调整,并对所述区块链***进行测试,生成测试报告,以及根据所述测试报告判断所述区块链***是否符合预期***特性需求。
8.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-6中任一所述的区块链***装配方法。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的区块链***装配方法。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时,执行如权利要求1-6中任一所述的区块链***装配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110356760.6A CN112989422B (zh) | 2021-04-01 | 2021-04-01 | 区块链***装配方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110356760.6A CN112989422B (zh) | 2021-04-01 | 2021-04-01 | 区块链***装配方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112989422A true CN112989422A (zh) | 2021-06-18 |
CN112989422B CN112989422B (zh) | 2024-06-07 |
Family
ID=76338949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110356760.6A Active CN112989422B (zh) | 2021-04-01 | 2021-04-01 | 区块链***装配方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112989422B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865669A (zh) * | 2022-11-30 | 2023-03-28 | 中国联合网络通信集团有限公司 | 参数调整方法、装置及存储介质 |
CN116346369A (zh) * | 2023-05-31 | 2023-06-27 | 湖南天河国云科技有限公司 | 一种区块链构建方法、区块链构建***及区块链*** |
CN116893787A (zh) * | 2023-09-06 | 2023-10-17 | 四川易利数字城市科技有限公司 | 一种基于区块链大数据应用的磁盘存储方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450856A (zh) * | 2018-10-12 | 2019-03-08 | 西安电子科技大学 | 基于区块链的数据链信息流转控制***及方法 |
US20190172282A1 (en) * | 2017-12-02 | 2019-06-06 | International Business Machines Corporation | Blockchain managed storage |
CN110020800A (zh) * | 2019-04-04 | 2019-07-16 | 泰康保险集团股份有限公司 | 基于区块链的信息处理方法、装置、介质及电子设备 |
CN110046521A (zh) * | 2019-04-24 | 2019-07-23 | 成都派沃特科技股份有限公司 | 去中心化隐私保护方法 |
US10365922B1 (en) * | 2018-04-10 | 2019-07-30 | Sap Se | Distributed-ledger based enterprise application deployment and management |
US20200126441A1 (en) * | 2018-10-19 | 2020-04-23 | Mastercard International Incorporated | Method and System for Conducting Examinations Over Blockchain |
CN111445333A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块生成方法、装置、计算机设备以及存储介质 |
US20200267187A1 (en) * | 2019-02-19 | 2020-08-20 | International Business Machines Corporation | Security platform for multi-component system and services thereof |
US20210073212A1 (en) * | 2018-01-17 | 2021-03-11 | Geeq Corporation | Blockchain methods, nodes, systems and products |
CN112486518A (zh) * | 2020-12-01 | 2021-03-12 | 北京微芯区块链与边缘计算研究院 | 共识算法装配方法及装置 |
CN112492016A (zh) * | 2020-11-23 | 2021-03-12 | 北京微芯区块链与边缘计算研究院 | 一种跨进程可扩展的共识方法及*** |
CN112511312A (zh) * | 2020-11-23 | 2021-03-16 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及*** |
CN112506798A (zh) * | 2020-12-22 | 2021-03-16 | 杭州趣链科技有限公司 | 一种区块链平台的性能测试方法、装置、终端及存储介质 |
-
2021
- 2021-04-01 CN CN202110356760.6A patent/CN112989422B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190172282A1 (en) * | 2017-12-02 | 2019-06-06 | International Business Machines Corporation | Blockchain managed storage |
US20210073212A1 (en) * | 2018-01-17 | 2021-03-11 | Geeq Corporation | Blockchain methods, nodes, systems and products |
US10365922B1 (en) * | 2018-04-10 | 2019-07-30 | Sap Se | Distributed-ledger based enterprise application deployment and management |
CN109450856A (zh) * | 2018-10-12 | 2019-03-08 | 西安电子科技大学 | 基于区块链的数据链信息流转控制***及方法 |
US20200126441A1 (en) * | 2018-10-19 | 2020-04-23 | Mastercard International Incorporated | Method and System for Conducting Examinations Over Blockchain |
US20200267187A1 (en) * | 2019-02-19 | 2020-08-20 | International Business Machines Corporation | Security platform for multi-component system and services thereof |
CN110020800A (zh) * | 2019-04-04 | 2019-07-16 | 泰康保险集团股份有限公司 | 基于区块链的信息处理方法、装置、介质及电子设备 |
CN110046521A (zh) * | 2019-04-24 | 2019-07-23 | 成都派沃特科技股份有限公司 | 去中心化隐私保护方法 |
CN111445333A (zh) * | 2020-03-26 | 2020-07-24 | 腾讯科技(深圳)有限公司 | 区块生成方法、装置、计算机设备以及存储介质 |
CN112492016A (zh) * | 2020-11-23 | 2021-03-12 | 北京微芯区块链与边缘计算研究院 | 一种跨进程可扩展的共识方法及*** |
CN112511312A (zh) * | 2020-11-23 | 2021-03-16 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及*** |
CN112486518A (zh) * | 2020-12-01 | 2021-03-12 | 北京微芯区块链与边缘计算研究院 | 共识算法装配方法及装置 |
CN112506798A (zh) * | 2020-12-22 | 2021-03-16 | 杭州趣链科技有限公司 | 一种区块链平台的性能测试方法、装置、终端及存储介质 |
Non-Patent Citations (2)
Title |
---|
ANG LIU: "Blockchain-based customization towards decentralized consensus on product requirement, quality, and price", MANUFACTURING LETTERS, pages 18 - 25 * |
刘硕;胡泽文;李玉平;: "区块链模型、技术与典型应用探究", 情报工程, no. 06, pages 16 - 37 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865669A (zh) * | 2022-11-30 | 2023-03-28 | 中国联合网络通信集团有限公司 | 参数调整方法、装置及存储介质 |
CN116346369A (zh) * | 2023-05-31 | 2023-06-27 | 湖南天河国云科技有限公司 | 一种区块链构建方法、区块链构建***及区块链*** |
CN116893787A (zh) * | 2023-09-06 | 2023-10-17 | 四川易利数字城市科技有限公司 | 一种基于区块链大数据应用的磁盘存储方法 |
CN116893787B (zh) * | 2023-09-06 | 2023-12-05 | 四川易利数字城市科技有限公司 | 一种基于区块链大数据应用的磁盘存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112989422B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112989422B (zh) | 区块链***装配方法、装置、电子设备和存储介质 | |
CN108804336A (zh) | 交互***测试方法、装置、计算机设备和存储介质 | |
US11017387B2 (en) | Cryptographically assured zero-knowledge cloud services for elemental transactions | |
CN110400217B (zh) | 智能合约的规则变更处理方法及装置 | |
CN110022315A (zh) | 一种块链式账本中的权重管理方法、装置及设备 | |
WO2022028144A1 (en) | Blockchain management of provisioning failures | |
CN111159753A (zh) | 区块链智能合约管理方法及***、存储介质及终端 | |
CN110362318A (zh) | 应用部署方法、装置、设备和存储介质 | |
CN112035350B (zh) | 针对区块链***的测试方法、装置及计算机设备 | |
JP7221799B2 (ja) | 情報処理システム、及び情報処理システムの制御方法 | |
US10423398B1 (en) | Automated firmware settings management | |
CN112181599A (zh) | 模型训练方法、装置及存储介质 | |
EP4365808A1 (en) | Data verification method and apparatus | |
CN114895879B (zh) | 管理***设计方案确定方法、装置、设备及存储介质 | |
CN110096543A (zh) | 应用程序的数据操作方法、装置、服务器和介质 | |
CN112583890B (zh) | 基于企业办公***的消息推送方法、装置和计算机设备 | |
CN114584940B (zh) | 切片服务处理方法及装置 | |
CN114677138A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN111241173B (zh) | 一种用于多个***间数据交互的方法及*** | |
CN116521509A (zh) | 智能合约测试方法、装置、设备、存储介质及产品 | |
CN112711628A (zh) | 数据交互方法、装置和中台 | |
CN112906171B (zh) | 一种综合能源***可信协同优化方法及仿真平台 | |
US20220237477A1 (en) | Factchecking artificial intelligence models using blockchain | |
US11782823B2 (en) | Automatically capturing weather data during engineering tests | |
US20220182238A1 (en) | Resolving complaints |
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 |