WO2020118725A1 - Blockchain performance test system and method - Google Patents

Blockchain performance test system and method Download PDF

Info

Publication number
WO2020118725A1
WO2020118725A1 PCT/CN2018/121333 CN2018121333W WO2020118725A1 WO 2020118725 A1 WO2020118725 A1 WO 2020118725A1 CN 2018121333 W CN2018121333 W CN 2018121333W WO 2020118725 A1 WO2020118725 A1 WO 2020118725A1
Authority
WO
WIPO (PCT)
Prior art keywords
blockchain
test
performance
tested
layer
Prior art date
Application number
PCT/CN2018/121333
Other languages
French (fr)
Chinese (zh)
Inventor
叶可江
王锐
须成忠
Original Assignee
深圳先进技术研究院
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 深圳先进技术研究院 filed Critical 深圳先进技术研究院
Priority to PCT/CN2018/121333 priority Critical patent/WO2020118725A1/en
Publication of WO2020118725A1 publication Critical patent/WO2020118725A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Definitions

  • This application belongs to the technical field of computer software testing, and particularly relates to a blockchain performance testing system and method.
  • Blockchain also known as distributed ledger, is essentially a node that the system does not trust each other maintains a data structure that can only be attached. From the perspective of the database, the blockchain can be regarded as a solution to the problem of distributed transaction management: all nodes save copies of data and agree on the order of execution of transactions. But traditional databases operate in a trusted environment and use well-known concurrency control techniques to sequence transactions. The key advantage of the blockchain is that it does not assume that nodes trust each other, so it aims to achieve Byzantine fault tolerance. Blockchain has the potential to subvert many existing technologies because it can bring lower infrastructure and labor costs. In particular, the immutability and transparency of the blockchain reduces the need for human error and manual intervention in conflicting data. The blockchain can simplify the business process by eliminating duplicate work.
  • the performance of the blockchain is far from meeting the requirements, and it cannot replace the applications running on the database system, such as banking, financial and transaction applications.
  • the performance of blockchain solutions is one of the most concerned functions of blockchain users. At present, there is no performance evaluation for different blockchain solutions according to a set of neutral and generally accepted rules. Some reports have different situations. The performance of different blockchain implementations, but there is no universal blockchain testing system.
  • the performance of the blockchain is far from meeting the requirements, and it cannot replace the applications running on the database system, such as banking, financial and transactional applications.
  • the performance of blockchain solutions is one of the most concerned functions of blockchain users. At present, there is no performance evaluation for different blockchain solutions according to a set of neutral and generally accepted rules. Some reports have different situations.
  • the present application provides a blockchain performance testing system, which includes an adaptation layer, a core layer and a test layer;
  • the adaptation layer is used to adapt the blockchain to the test system and integrate the blockchain to be tested into the test system;
  • the core layer is used to deliver the adapted blockchain to the test unit, monitor and analyze the performance of the test layer, and integrate the results of the test;
  • the test layer is used for distinguishing according to the blockchain consensus mechanism to be tested, and performing performance tests on the blockchain according to the set configuration file.
  • the adaptation layer includes a blockchain native software development kit.
  • the core layer includes a blockchain calling module, a resource monitoring module, a performance analysis module, and a report generation module;
  • the blockchain calling module is used to compile and deploy smart contracts, call smart contracts, and query the status from the ledger;
  • the resource monitoring module is used to start and stop the monitor and obtain the resource consumption status of the blockchain
  • the performance analysis module is used to read predefined performance statistics and print test results, and record key indicators;
  • the report generation module is used to summarize statistical results and generate a report.
  • the resources in the resource consumption state include CPU, memory, and network input and output.
  • the predefined performance statistics include the number of transactions per second, transaction delay, and resource utilization; the key indicators include the creation time, commit time, and transaction result of the transaction.
  • the report format is HTML format.
  • This application also provides a blockchain performance test method, which includes the following steps:
  • Step 1 Adapt the blockchain to be tested to the test system and select the blockchain test scenario to be tested;
  • Step 2 Run the blockchain test scenario. After the test is completed, return the test data;
  • Step 3 Analyze the returned test data and generate a report.
  • the step 1 includes the following steps:
  • test scenarios are selected for different consensus mechanisms
  • the step 2 includes the following steps:
  • a blockchain configuration file is used to create and initialize the blockchain under test
  • step 3 includes the following steps:
  • the blockchain performance test system provided by this application analyzes and compares different blockchain solutions by setting an adaptation layer, a core layer, and a test layer. It is used to evaluate the blockchain as another distributed data processing platform, and can help developers find bottlenecks and better help developers analyze and improve the blockchain system.
  • the blockchain performance test system involved in this application is applicable to a variety of blockchain platforms, and is simple to configure and easy to operate. The versatility of blockchain testing can be achieved.
  • Figure 1 is a schematic diagram of a blockchain performance test system of this application
  • FIG. 2 is a schematic diagram of the core layer of a blockchain performance testing system of the present application.
  • the Bitcoin blockchain stored Bitcoin as a system state shared by all participants.
  • the Bitcoin node implements a simple replication state machine model, transferring Bitcoin from one address to another. Since then, the blockchain has rapidly developed into a user-defined state and Turing complete state machine model. Ethereum (ethereum) is a typical example.
  • BLOCKBENCH A Framework for Analysis Blockchains
  • BlockBench A framework for evaluating private chains.
  • the private chain can be integrated into BLOCKBENCH through simple API functions, and the load is carried out on the basis of real and synthetic smart contracts, but the public chain test is not supported.
  • the Linux Foundation's Hyperledger a blockchain technology open source project, announced that it has accepted Huawei's first blockchain benchmark tool "Caliper" as its latest project.
  • Hyperledger (a global cooperation project managed by the Linux Foundation) announced that Caliper has been accepted by the Technical Steering Committee as a Hyperledger project.
  • Caliper was officially launched in May 2017. The goal is to integrate the existing blockchain into a framework, so as to compare according to the performance set by Hyperledger and the standards set by the expansion working group. At present, Caliper can provide analysis support for Hyperledger Fabric, Hylerledger Sawtooth and Hyperledger Iroha, but it does not support other blockchain projects other than Hyperledger.
  • the blockchain system includes many parts, and almost every detail has undergone various design choices between different platforms. This has led to existing blockchain performance testing technical solutions that only support a small number of projects and lack adaptation for many emerging blockchain platforms.
  • Consensus mechanism A distributed consensus algorithm for blockchain transactions.
  • the Byzantine Fault Tolerance (PBFT) algorithm was proposed by Miguel Castro and Barbara Liskov in 1999. The original intention was to solve the problem of achieving consistency in distributed systems, which coincided with the goal of the blockchain consensus mechanism. Its main feature is that the network is highly fault-tolerant. In a network with 3f+1 nodes, the number of failed nodes is f, the network can still operate normally, and the fault tolerance rate is close to 33%. At present, China ChinaLedger Alliance and HyperLedger Alliance are studying and discussing the practical application of PBFT. The algorithm first needs to introduce the concepts of view and replica. The replica contains the master node and the backup node. The primary node (primary) is selected according to a certain formula. After the selection, the other replica nodes become backups.
  • the master node When the master node is valid, it means that it is in the same view. When the master node fails, the backup node needs to initiate a view change process through the timeout mechanism after the backup node detects it, and elect a new master node.
  • the entire algorithm flow is as follows: First, a client initiates a service request to the master node, and the master node distributes the request to all backup nodes. After the backup node is processed, all the feedback to the client is completed. As long as the client receives f+1 The same result returned by the node is the final result of the algorithm.
  • the specific implementation process is divided into three-phase protocol (three-phaseprotocol), namely pre-prepare (pre-prepare), prepare (prepare) and confirm (commit).
  • this application provides a blockchain performance test system, which includes an adaptation layer, a core layer, and a test layer;
  • the adaptation layer is used to adapt the blockchain to the test system and integrate the blockchain to be tested into the test system;
  • the core layer is used to deliver the adapted blockchain to the test unit, monitor and analyze the performance of the test layer, and integrate the results of the test;
  • the test layer is used to distinguish according to the blockchain consensus mechanism to be tested, and perform performance tests on the blockchain according to the set configuration file.
  • the adaptation layer includes a blockchain native software development kit.
  • Each adapter adapts the interface provided by the test system by using the corresponding blockchain native SDK.
  • the core layer includes a blockchain calling module, a resource monitoring module, a performance analysis module, and a report generation module;
  • the blockchain calling module is used to compile and deploy smart contracts, call smart contracts, and query the status from the ledger;
  • the resource monitoring module is used to start and stop the monitor and obtain the resource consumption status of the blockchain
  • the performance analysis module is used to read predefined performance statistics and print test results, and record key indicators;
  • the report generation module is used to summarize statistical results and generate a report.
  • the resources in the resource consumption state include CPU, memory, and network input and output.
  • the predefined performance statistics include the number of transactions per second, transaction delay, and resource utilization; the key indicators include the creation time, commit time, and transaction result of the transaction.
  • the report format is HTML format.
  • This application also provides a blockchain performance test method, which includes the following steps:
  • Step 1 Adapt the blockchain to be tested to the test system and select the blockchain test scenario to be tested;
  • Step 2 Run the blockchain test scenario. After the test is completed, return the test data;
  • Step 3 Analyze the returned test data and generate a report.
  • each test scenario It is defined by a configuration file and contains the configuration and test parameters of the underlying blockchain network.
  • return the test data analyze the returned test data and generate a technical report to better assist developers in developing the blockchain system.
  • the step 1 includes the following steps:
  • test scenarios are selected for different consensus mechanisms
  • the blockchain framework to be tested is abstracted into a consensus layer, an execution layer, and an application layer.
  • the consensus layer is the foundation of the blockchain.
  • the role of the consensus layer is to make all nodes in the blockchain consistent with the content of the blockchain.
  • the performance of blockchains with different consensus mechanisms varies greatly.
  • the consensus mechanisms include: proof-of-work mechanism, proof-of-stake mechanism, proof-of-stake authorization mechanism, Pool verification pool, and practical Byzantine PBFT;
  • the test scenarios here include at least: proof-of-work Test scenarios, proof of stake mechanism test scenarios, share authorization proof mechanism test scenarios, Pool verification pool test scenarios, and practical Byzantine PBFT test scenarios.
  • each adapter adapts the interface provided by the test system by using the corresponding blockchain native SDK (software development kit).
  • This application analyzes and stratifies the blockchain to be tested, performs separate tests on the blockchains under test with different consensus mechanisms, and compares the performance of blockchains under test with similar consensus mechanisms.
  • the step 2 includes the following steps:
  • a blockchain configuration file is used to create and initialize the blockchain under test
  • test client starts the test client according to the configuration file of the test system; start a loop test according to the configuration file of the test system to execute the test, and the task will be generated and distributed to the client according to the defined workload; the client will be created after startup Test nodes, call smart contracts, and perform corresponding tests; test the actual performance of the blockchain by creating specific scenarios such as creating accounts, querying transactions, and transaction requests; testing the scalability of the blockchain by adjusting the number of participating nodes and transactions Ability and stability;
  • a smart contract is a non-tamperable program stored in the blockchain, which can automatically execute some pre-defined rules and terms in response to the received information. After the contract is released, its operation and maintenance are handed over to the miners of the entire network to reach a consensus.
  • the contract developers define the rules for contract operation. After the rules are released, they are open and transparent and cannot be tampered with.
  • the role of the execution layer is to execute smart contracts quickly and accurately in the operating environment.
  • Application layer Many applications are being combined with blockchain technology.
  • the application layer runs on the execution layer and builds various decentralized applications through smart contracts.
  • the next step is to read and compile the smart contract in the execution layer through the configuration file, and at the same time start the monitor through the resource monitoring module of the core layer in the test system, and the transaction per second (TPS) and transaction delay of the blockchain to be tested , Resource utilization and other information for monitoring, and then start the test client to call the smart contract.
  • the test client here is the test layer in the test system. After distinguishing according to the consensus mechanism of the blockchain to be tested, it is treated according to the set configuration file To test the performance of the blockchain, the test here can choose the test parameters, select according to the required data, there will be many test clients started at the same time, after the test, create a node containing the performance statistics , And then return the performance statistics node that stores the blockchain to be tested for analysis.
  • step 3 includes the following steps:
  • the blockchain performance test system involved in this application tests the currently supported blockchain platforms including: Ethereum (Ethereum), Parity, Quorum, Hyperledger Fabric (Super Ledger), Hyperledger Sawtooth, Hyperledger Iroha, Hyperledger Burrow, Hyperledger Indy, etc., Since the adaptation interface is reserved, it is also easy to adapt the system to the blockchain platform as needed.
  • the blockchain performance test system provided by this application analyzes and compares different blockchain solutions by setting an adaptation layer, a core layer, and a test layer. It is used to evaluate the blockchain as another distributed data processing platform, and can help developers find bottlenecks and better help developers analyze and improve the blockchain system.
  • the blockchain performance test system involved in this application is applicable to a variety of blockchain platforms, and is simple to configure and easy to operate. The versatility of blockchain testing can be achieved.

Abstract

A blockchain performance test system, the system comprising an adaptation layer, a core layer and a test layer, wherein the adaptation layer is used for adapting a blockchain to the test system and integrating the blockchain to be tested into the test system; the core layer is used for transferring the adapted blockchain to a test unit, monitoring the situation of the test layer and performing performance analysis, and integrating test results; and the test layer is used for distinguishing between same according to a consensus mechanism of the blockchain to be tested, and performing a performance test on the blockchain according to a set configuration file. The system is suitable for a variety of blockchain platforms, and is simple in configuration and convenient in operation, and can achieve the universality of blockchain testing.

Description

一种区块链性能测试系统及方法Blockchain performance testing system and method 技术领域Technical field
本申请属于计算机软件测试技术领域,特别是涉及一种区块链性能测试系统及方法。This application belongs to the technical field of computer software testing, and particularly relates to a blockchain performance testing system and method.
背景技术Background technique
区块链,也称分布式账本,本质上是系统互不信任的节点维护了一种只可附加的数据结构。在数据库视角下,可以将区块链视作对分布式事务管理问题的一种解决方案:所有的节点保存数据副本并且事务的执行顺序达成一致。但是传统的数据库运作在可信的环境中,并且使用了众所周知的并发控制技术对事务排序。区块链的关键优势是其不假设节点之间互相信任,因此旨在实现拜占庭容错。区块链有潜力颠覆很多现有的技术,因为它可以带来更低的基础设施和人力成本。特别是,区块链的不可篡改性和透明性减少人为错误和手动干预冲突数据的需要,区块链可以通过消除重复工作简化商业过程。Blockchain, also known as distributed ledger, is essentially a node that the system does not trust each other maintains a data structure that can only be attached. From the perspective of the database, the blockchain can be regarded as a solution to the problem of distributed transaction management: all nodes save copies of data and agree on the order of execution of transactions. But traditional databases operate in a trusted environment and use well-known concurrency control techniques to sequence transactions. The key advantage of the blockchain is that it does not assume that nodes trust each other, so it aims to achieve Byzantine fault tolerance. Blockchain has the potential to subvert many existing technologies because it can bring lower infrastructure and labor costs. In particular, the immutability and transparency of the blockchain reduces the need for human error and manual intervention in conflicting data. The blockchain can simplify the business process by eliminating duplicate work.
目前,区块链的性能远远无法达到要求,无法替代数据库系统之上运行的应用程序,例如银行,金融和交易应用。区块链解决方案的性能表现是区块链用户最关心的功能之一,目前还没有可以根据一套中性和普遍接受的规则为不同区块链解决方案提供性能评估,有些报告存在不同情况下不同区块链实施的表现,但是没有一个通用的区块链测试系统。At present, the performance of the blockchain is far from meeting the requirements, and it cannot replace the applications running on the database system, such as banking, financial and transaction applications. The performance of blockchain solutions is one of the most concerned functions of blockchain users. At present, there is no performance evaluation for different blockchain solutions according to a set of neutral and generally accepted rules. Some reports have different situations. The performance of different blockchain implementations, but there is no universal blockchain testing system.
发明内容Summary of the invention
1.要解决的技术问题1. Technical problems to be solved
基于目前,区块链的性能远远无法达到要求,无法替代数据库系统之上运行的应用程序,例如银行,金融和交易应用。区块链解决方案的性能表现是区块链用户最关心的功能之一,目前还没有可以根据一套中性和普遍接受的规则为不同区块链解决方案提供性能评估,有些报告存在不同情况下不同区块链实施的表现,但是没有一个通用的区块链测试系统的问题,本申请提供了一种区块链性能测试系统及方法。Based on the current situation, the performance of the blockchain is far from meeting the requirements, and it cannot replace the applications running on the database system, such as banking, financial and transactional applications. The performance of blockchain solutions is one of the most concerned functions of blockchain users. At present, there is no performance evaluation for different blockchain solutions according to a set of neutral and generally accepted rules. Some reports have different situations. The performance of different blockchain implementations, but there is no problem with a general blockchain testing system, this application provides a blockchain performance testing system and method.
2.技术方案2. Technical solutions
为了达到上述的目的,本申请提供了一种区块链性能测试系统,所述系统包括适配层、核心层和测试层;In order to achieve the above purpose, the present application provides a blockchain performance testing system, which includes an adaptation layer, a core layer and a test layer;
所述适配层,用于将区块链与测试系统进行适配,将待测区块链集成到测试系统中;The adaptation layer is used to adapt the blockchain to the test system and integrate the blockchain to be tested into the test system;
所述核心层,用于将适配好的区块链输送至测试单元,对测试层的情况进行监控和性能分析,将测试好的结果进行整合;The core layer is used to deliver the adapted blockchain to the test unit, monitor and analyze the performance of the test layer, and integrate the results of the test;
所述测试层,用于根据待测区块链共识机制进行区分,按照设定的配置文件对区块链进 行性能测试。The test layer is used for distinguishing according to the blockchain consensus mechanism to be tested, and performing performance tests on the blockchain according to the set configuration file.
可选地,所述适配层包括区块链原生软件开发工具包。Optionally, the adaptation layer includes a blockchain native software development kit.
可选地,所述核心层包括区块链调用模块、资源监控模块、性能分析模块和报告生成模块;Optionally, the core layer includes a blockchain calling module, a resource monitoring module, a performance analysis module, and a report generation module;
所述区块链调用模块,用于编译部署智能合约,调用智能合约,从分类账查询状态;The blockchain calling module is used to compile and deploy smart contracts, call smart contracts, and query the status from the ledger;
所述资源监控模块,用于启动、停止监控器,获取区块链的资源消耗状态;The resource monitoring module is used to start and stop the monitor and obtain the resource consumption status of the blockchain;
所述性能分析模块,用于读取预定义性能统计数据和打印测试结果,记录关键指标;The performance analysis module is used to read predefined performance statistics and print test results, and record key indicators;
所述报告生成模块,用于将统计结果汇总,并生成报告。The report generation module is used to summarize statistical results and generate a report.
可选地,所述资源消耗状态中的资源包括CPU、内存和网络输入输出。Optionally, the resources in the resource consumption state include CPU, memory, and network input and output.
可选地,所述预定义性能统计数据包括每秒事务数、事务延迟和资源利用率;所述关键指标包括事务的创建时间、提交时间和事务结果。Optionally, the predefined performance statistics include the number of transactions per second, transaction delay, and resource utilization; the key indicators include the creation time, commit time, and transaction result of the transaction.
可选地,所述报告格式为HTML格式。Optionally, the report format is HTML format.
本申请还提供一种区块链性能测试方法,所述方法包括如下步骤:This application also provides a blockchain performance test method, which includes the following steps:
步骤1、对待测区块链与测试系统进行适配,选择待测区块链测试场景;Step 1. Adapt the blockchain to be tested to the test system and select the blockchain test scenario to be tested;
步骤2、运行所述区块链测试场景,测试完成后,返回测试数据;Step 2. Run the blockchain test scenario. After the test is completed, return the test data;
步骤3、对所述返回的测试数据进行分析,并生成报告。Step 3. Analyze the returned test data and generate a report.
可选地,所述步骤1包括如下步骤:Optionally, the step 1 includes the following steps:
101、对待测区块链进行分析,并将其框架抽象为三层;101. Analyze the blockchain to be tested and abstract its framework into three layers;
102、对待测区块链的分层后针对不同的共识机制,选择不同的测试场景;102. After the layering of the blockchain to be tested, different test scenarios are selected for different consensus mechanisms;
103、根据测试场景的选择,通过适配将待测区块链集成到测试系统中。103. According to the selection of the test scenario, integrate the blockchain to be tested into the test system through adaptation.
可选地,所述步骤2包括如下步骤:Optionally, the step 2 includes the following steps:
201、在测试系统中搭建分布式测试环境;201. Build a distributed test environment in the test system;
202、待测区块链进入所述分布式测试环境后,使用区块链配置文件创建并初始化待测区块链;202. After the blockchain under test enters the distributed test environment, a blockchain configuration file is used to create and initialize the blockchain under test;
203、按照所述配置文件中指定的方式读取并编译智能合约;203. Read and compile the smart contract according to the method specified in the configuration file;
204、将编译后的智能合约部署到测试系统中,启动监控器对象来监控待测试区块链的关键性能指标;204. Deploy the compiled smart contract to the test system and start the monitor object to monitor the key performance indicators of the blockchain to be tested;
205、根据测试系统的所述配置文件启动测试客户端;205. Start a test client according to the configuration file of the test system;
206、测试完成之后,创建一个包含性能统计结果的节点;206. After the test is completed, create a node containing performance statistics;
207、将存储待测区块链的性能统计节点返回,以供分析。207. Return the performance statistics node that stores the blockchain to be tested for analysis.
可选地,所述步骤3包括如下步骤:Optionally, the step 3 includes the following steps:
301、分析统计数据,对数据进行汇总;301. Analyze statistical data and summarize the data;
302、对所述汇总的数据建立表格,并生成报告。302. Establish a table for the summarized data and generate a report.
3.有益效果3. Beneficial effect
与现有技术相比,本申请提供的一种区块链性能测试系统及方法的有益效果在于:Compared with the prior art, the beneficial effects of a blockchain performance testing system and method provided by this application are:
本申请提供的区块链性能测试系统,通过设置适配层、核心层和测试层,对不同的区块链解决方案进行分析比较。用于评估区块链作为另一个分布式数据处理平台,同时可以帮助开发人员发现瓶颈,更好的帮助开发人员分析并改善区块链系统。本申请涉及的区块链性能测试系统适用多种区块链平台,同时配置简单,操作方便。可以实现区块链测试的通用性。The blockchain performance test system provided by this application analyzes and compares different blockchain solutions by setting an adaptation layer, a core layer, and a test layer. It is used to evaluate the blockchain as another distributed data processing platform, and can help developers find bottlenecks and better help developers analyze and improve the blockchain system. The blockchain performance test system involved in this application is applicable to a variety of blockchain platforms, and is simple to configure and easy to operate. The versatility of blockchain testing can be achieved.
附图说明BRIEF DESCRIPTION
图1是本申请的一种区块链性能测试系统示意图;Figure 1 is a schematic diagram of a blockchain performance test system of this application;
图2是本申请的一种区块链性能测试系统的核心层示意图。2 is a schematic diagram of the core layer of a blockchain performance testing system of the present application.
具体实施方式detailed description
在下文中,将参考附图对本申请的具体实施例进行详细地描述,依照这些详细的描述,所属领域技术人员能够清楚地理解本申请,并能够实施本申请。在不违背本申请原理的情况下,各个不同的实施例中的特征可以进行组合以获得新的实施方式,或者替代某些实施例中的某些特征,获得其它优选的实施方式。Hereinafter, specific embodiments of the present application will be described in detail with reference to the accompanying drawings. According to these detailed descriptions, those skilled in the art can clearly understand the present application and can implement the present application. Without violating the principles of the present application, the features in the different embodiments may be combined to obtain new implementations, or to replace certain features in certain embodiments to obtain other preferred implementations.
在最初的设计中,比特币区块链存储比特币(bitcoin)作为所有参与者共享的系统状态。对于这种简单应用,比特币节点实现了一种简单的复制状态机模型,将比特币从一个地址转到另一个地址。此后,区块链快速发展成支持用户自定义的状态和图灵完备状态机模型。以太坊(ethereum)是一个典型的例子。In the original design, the Bitcoin blockchain stored bitcoin as a system state shared by all participants. For this simple application, the Bitcoin node implements a simple replication state machine model, transferring Bitcoin from one address to another. Since then, the blockchain has rapidly developed into a user-defined state and Turing complete state machine model. Ethereum (ethereum) is a typical example.
新加坡国立大学和浙江大学联合推出了一个私有区块链的评估框架,并且在SIGMOD'2017发表了名为《BLOCKBENCH:A Framework for Analyzing Blockchains》的论文。BlockBench:一种评估私有链的框架,作为一个公平的比较不同平台的框架,能够深入地了解不同的系统设计选择。私有链可以通过简单的API函数集成到BLOCKBENCH当中,并且在真实和合成的智能合同的基础上进行负载,但是不支持公有链的测试。The National University of Singapore and Zhejiang University jointly launched a private blockchain evaluation framework, and published a paper named "BLOCKBENCH: A Framework for Analysis Blockchains" in SIGMOD'2017. BlockBench: A framework for evaluating private chains. As a fair framework for comparing different platforms, it can deeply understand different system design choices. The private chain can be integrated into BLOCKBENCH through simple API functions, and the load is carried out on the basis of real and synthetic smart contracts, but the public chain test is not supported.
Linux基金会的区块链技术开源项目超级账本(Hyperledger)宣布,接受华为首个区块链基准工具“卡钳”(Caliper)成为其最新项目。Hyperledger(Linux基金会管理下的全球合作项目)宣布,Caliper已经被技术指导委员会接收为一个Hyperledger项目。Caliper在2017年5月正式推出,目标是要将现有区块链整合到一个框架之中,从而根据Hyperledger旗下性能 和扩容工作组所设定的标准进行比较。目前Caliper可以为Hyperledger Fabric,Hylerledger Sawtooth和Hyperledger Iroha提供分析支持,但是不支持超级账本(Hyperledger)之外的其他区块链项目。The Linux Foundation's Hyperledger, a blockchain technology open source project, announced that it has accepted Huawei's first blockchain benchmark tool "Caliper" as its latest project. Hyperledger (a global cooperation project managed by the Linux Foundation) announced that Caliper has been accepted by the Technical Steering Committee as a Hyperledger project. Caliper was officially launched in May 2017. The goal is to integrate the existing blockchain into a framework, so as to compare according to the performance set by Hyperledger and the standards set by the expansion working group. At present, Caliper can provide analysis support for Hyperledger Fabric, Hylerledger Sawtooth and Hyperledger Iroha, but it does not support other blockchain projects other than Hyperledger.
1)区块链系统包括许多部分,几乎每个细节都在不同平台之间进行了各种各样的设计选择。这导致了已有的区块链性能测试技术方案仅仅支持少部分项目,对很多新兴起的区块链平台缺少适配。1) The blockchain system includes many parts, and almost every detail has undergone various design choices between different platforms. This has led to existing blockchain performance testing technical solutions that only support a small number of projects and lack adaptation for many emerging blockchain platforms.
2)缺少测试项目,已有的测试项目过于简单。2) The lack of test items, the existing test items are too simple.
3)已有的区块链性能测试方案配置困难,不易上手。3) Existing blockchain performance test solutions are difficult to configure and difficult to get started.
共识机制:区块链事务达成分布式共识的算法。Consensus mechanism: A distributed consensus algorithm for blockchain transactions.
拜占庭容错(PBFT)算法由MiguelCastro和Barbara Liskov 1999年提出,初衷是为解决分布式系统中达成一致性的问题,与区块链共识机制的目标重合,其主要特点是网络具有高度容错性,在一个有3f+1个节点的网络中,失效节点数为f,网络依然能够正常运行,容错率接近33%。目前,中国ChinaLedger联盟和HyperLedger联盟就在研究探讨PBFT的实际应用。算法首先需要引入视图(View)和验证节点(replica)的概念,replica包含主节点和备份节点。主节点(primary)依据某个公式选取,选取好之后,其他replica节点就成为备份(backups)节点。主节点有效时是表示处于同一幅视图当中,当主节点失效时,备份节点检测到之后需要通过timeout机制启动视图更换(view change)过程,选举新的主节点。整个算法流程如下:首先,由某个客户端向主节点发起服务请求,主节点将请求分发给所有备份节点,备份节点处理完后再全部回馈给客户端,客户端只要收到f+1个节点回馈的相同结果即为算法的最终结果。具体实现流程分为三阶段协议(three-phaseprotocol),即预准备(pre-prepare)、准备(prepare)和确认(commit)。The Byzantine Fault Tolerance (PBFT) algorithm was proposed by Miguel Castro and Barbara Liskov in 1999. The original intention was to solve the problem of achieving consistency in distributed systems, which coincided with the goal of the blockchain consensus mechanism. Its main feature is that the network is highly fault-tolerant. In a network with 3f+1 nodes, the number of failed nodes is f, the network can still operate normally, and the fault tolerance rate is close to 33%. At present, China ChinaLedger Alliance and HyperLedger Alliance are studying and discussing the practical application of PBFT. The algorithm first needs to introduce the concepts of view and replica. The replica contains the master node and the backup node. The primary node (primary) is selected according to a certain formula. After the selection, the other replica nodes become backups. When the master node is valid, it means that it is in the same view. When the master node fails, the backup node needs to initiate a view change process through the timeout mechanism after the backup node detects it, and elect a new master node. The entire algorithm flow is as follows: First, a client initiates a service request to the master node, and the master node distributes the request to all backup nodes. After the backup node is processed, all the feedback to the client is completed. As long as the client receives f+1 The same result returned by the node is the final result of the algorithm. The specific implementation process is divided into three-phase protocol (three-phaseprotocol), namely pre-prepare (pre-prepare), prepare (prepare) and confirm (commit).
参见图1~2,本申请提供一种区块链性能测试系统,所述系统包括适配层、核心层和测试层;Referring to FIGS. 1-2, this application provides a blockchain performance test system, which includes an adaptation layer, a core layer, and a test layer;
所述适配层,用于将区块链与测试系统进行适配,将待测区块链集成到测试系统中;The adaptation layer is used to adapt the blockchain to the test system and integrate the blockchain to be tested into the test system;
所述核心层,用于将适配好的区块链输送至测试单元,对测试层的情况进行监控和性能分析,将测试好的结果进行整合;The core layer is used to deliver the adapted blockchain to the test unit, monitor and analyze the performance of the test layer, and integrate the results of the test;
所述测试层,用于根据待测区块链共识机制进行区分,按照设定的配置文件对区块链进行性能测试。The test layer is used to distinguish according to the blockchain consensus mechanism to be tested, and perform performance tests on the blockchain according to the set configuration file.
可选地,所述适配层包括区块链原生软件开发工具包。每个适配器通过使用相应的区块链原生SDK来适配测试系统提供的接口。Optionally, the adaptation layer includes a blockchain native software development kit. Each adapter adapts the interface provided by the test system by using the corresponding blockchain native SDK.
可选地,所述核心层包括区块链调用模块、资源监控模块、性能分析模块和报告生成模块;Optionally, the core layer includes a blockchain calling module, a resource monitoring module, a performance analysis module, and a report generation module;
所述区块链调用模块,用于编译部署智能合约,调用智能合约,从分类账查询状态;The blockchain calling module is used to compile and deploy smart contracts, call smart contracts, and query the status from the ledger;
所述资源监控模块,用于启动、停止监控器,获取区块链的资源消耗状态;The resource monitoring module is used to start and stop the monitor and obtain the resource consumption status of the blockchain;
所述性能分析模块,用于读取预定义性能统计数据和打印测试结果,记录关键指标;The performance analysis module is used to read predefined performance statistics and print test results, and record key indicators;
所述报告生成模块,用于将统计结果汇总,并生成报告。The report generation module is used to summarize statistical results and generate a report.
可选地,所述资源消耗状态中的资源包括CPU、内存和网络输入输出。Optionally, the resources in the resource consumption state include CPU, memory, and network input and output.
可选地,所述预定义性能统计数据包括每秒事务数、事务延迟和资源利用率;所述关键指标包括事务的创建时间、提交时间和事务结果。Optionally, the predefined performance statistics include the number of transactions per second, transaction delay, and resource utilization; the key indicators include the creation time, commit time, and transaction result of the transaction.
可选地,所述报告格式为HTML格式。Optionally, the report format is HTML format.
本申请还提供一种区块链性能测试方法,所述方法包括如下步骤:This application also provides a blockchain performance test method, which includes the following steps:
步骤1、对待测区块链与测试系统进行适配,选择待测区块链测试场景;Step 1. Adapt the blockchain to be tested to the test system and select the blockchain test scenario to be tested;
步骤2、运行所述区块链测试场景,测试完成后,返回测试数据;Step 2. Run the blockchain test scenario. After the test is completed, return the test data;
步骤3、对所述返回的测试数据进行分析,并生成报告。Step 3. Analyze the returned test data and generate a report.
待测区块链通过测试系统的适配层进行适配后,安装必要的程序为测试做准备,选择待测区块链的测试场景,运行所选择的区块链测试场景,每一个测试场景由一个配置文件来定义,包含底层区块链网络的配置和测试参数。测试完成后,返回测试数据,对返回的测试数据进行分析后生成技术报告,更好的协助开发人员对区块链系统进行开发。After the blockchain under test is adapted through the adaptation layer of the test system, install the necessary programs to prepare for the test, select the blockchain test scenario to be tested, and run the selected blockchain test scenario, each test scenario It is defined by a configuration file and contains the configuration and test parameters of the underlying blockchain network. After the test is completed, return the test data, analyze the returned test data and generate a technical report to better assist developers in developing the blockchain system.
具体过程如下:The specific process is as follows:
可选地,所述步骤1包括如下步骤:Optionally, the step 1 includes the following steps:
101、对待测区块链进行分析,并将其框架抽象为三层;101. Analyze the blockchain to be tested and abstract its framework into three layers;
102、对待测区块链的分层后针对不同的共识机制,选择不同的测试场景;102. After the layering of the blockchain to be tested, different test scenarios are selected for different consensus mechanisms;
103、根据测试场景的选择,通过适配将待测区块链集成到测试系统中。这里将待测区块链框架抽象为共识层,执行层,应用层。103. According to the selection of the test scenario, integrate the blockchain to be tested into the test system through adaptation. Here, the blockchain framework to be tested is abstracted into a consensus layer, an execution layer, and an application layer.
共识层是区块链的基础,共识层的作用是使区块链中的所有节点与区块链内容相一致,不同共识机制的区块链性能差异较大。The consensus layer is the foundation of the blockchain. The role of the consensus layer is to make all nodes in the blockchain consistent with the content of the blockchain. The performance of blockchains with different consensus mechanisms varies greatly.
具体地,对待测区块链进行分析后抽象为共识层,执行层,应用层。由于不同的区块链的共识机制不同,区块链的性能会有差异。针对共识层的不同共识机制,共识机制包括:工作量证明机制、权益证明机制、股份授权证明机制、Pool验证池、实用拜占庭PBFT;来选择测试场景,则这里测试场景至少包括:工作量证明机制测试场景、权益证明机制测试场景、 股份授权证明机制测试场景、Pool验证池测试场景和实用拜占庭PBFT测试场景,对待测区块链的共识机制进行区分后,然后通过测试系统的适配层,将待测区块链集成到测试系统中,每个适配器通过使用相应的区块链原生SDK(软件开发工具包)来适配测试系统提供的接口。Specifically, after analyzing the blockchain to be tested, it is abstracted into a consensus layer, an execution layer, and an application layer. Because different blockchains have different consensus mechanisms, the performance of the blockchain will be different. Aiming at the different consensus mechanisms at the consensus layer, the consensus mechanisms include: proof-of-work mechanism, proof-of-stake mechanism, proof-of-stake authorization mechanism, Pool verification pool, and practical Byzantine PBFT; to select test scenarios, the test scenarios here include at least: proof-of-work Test scenarios, proof of stake mechanism test scenarios, share authorization proof mechanism test scenarios, Pool verification pool test scenarios, and practical Byzantine PBFT test scenarios. After the consensus mechanism of the blockchain to be tested is differentiated, then through the adaptation layer of the test system, the The blockchain to be tested is integrated into the test system, and each adapter adapts the interface provided by the test system by using the corresponding blockchain native SDK (software development kit).
本申请通过对待测区块链进行分析并分层,对不同共识机制的待测区块链进行单独测试,比较同类共识机制的待测区块链性能。This application analyzes and stratifies the blockchain to be tested, performs separate tests on the blockchains under test with different consensus mechanisms, and compares the performance of blockchains under test with similar consensus mechanisms.
可选地,所述步骤2包括如下步骤:Optionally, the step 2 includes the following steps:
201、在测试系统中搭建分布式测试环境;201. Build a distributed test environment in the test system;
202、待测区块链进入所述分布式测试环境后,使用区块链配置文件创建并初始化待测区块链;202. After the blockchain under test enters the distributed test environment, a blockchain configuration file is used to create and initialize the blockchain under test;
203、按照所述配置文件中指定的方式读取并编译智能合约;203. Read and compile the smart contract according to the method specified in the configuration file;
204、将编译后的智能合约部署到测试系统中,启动监控器对象来监控待测试区块链的关键性能指标;204. Deploy the compiled smart contract to the test system and start the monitor object to monitor the key performance indicators of the blockchain to be tested;
205、根据测试系统的所述配置文件启动测试客户端;根据测试系统的配置文件启动一个循环测试来执行测试,任务将根据定义的工作负载生成并分配给客户端;客户端在启动后将创建测试节点,调用智能合约,并进行相应测试;通过创建创建账户、查询事务和交易请求等具体场景来测试区块链的实际性能;通过调整参与节点数和事务数量来测试区块链的可扩展能力和稳定性;205. Start the test client according to the configuration file of the test system; start a loop test according to the configuration file of the test system to execute the test, and the task will be generated and distributed to the client according to the defined workload; the client will be created after startup Test nodes, call smart contracts, and perform corresponding tests; test the actual performance of the blockchain by creating specific scenarios such as creating accounts, querying transactions, and transaction requests; testing the scalability of the blockchain by adjusting the number of participating nodes and transactions Ability and stability;
206、测试完成之后,创建一个包含性能统计结果的节点;206. After the test is completed, create a node containing performance statistics;
207、将存储待测区块链的性能统计节点返回,以供分析。207. Return the performance statistics node that stores the blockchain to be tested for analysis.
执行层,智能合约是存储在区块链中的一段不可篡改的程序,可以自动化的执行一些预先定义好的规则和条款,响应接收到的信息。合约发布之后,其运行和维护就交给全网的矿工去达成共识,合约的开发者定义了合约运行的规则,这个规则发布之后就是公开透明且不可篡改的。执行层的作用是在运行环境中快速并且准确的执行智能合约。At the execution layer, a smart contract is a non-tamperable program stored in the blockchain, which can automatically execute some pre-defined rules and terms in response to the received information. After the contract is released, its operation and maintenance are handed over to the miners of the entire network to reach a consensus. The contract developers define the rules for contract operation. After the rules are released, they are open and transparent and cannot be tampered with. The role of the execution layer is to execute smart contracts quickly and accurately in the operating environment.
应用层,许多应用正在与区块链技术进行结合,应用层运行于执行层之上,通过智能合约来构建各种去中心化的应用。Application layer. Many applications are being combined with blockchain technology. The application layer runs on the execution layer and builds various decentralized applications through smart contracts.
接下来就是通过配置文件对执行层中的智能合约进行读取并编译,同时通过测试系统中核心层的资源监控模块启动监控器,对待测区块链的每秒事务数(TPS)、事务延迟、资源利用等信息进行监控,然后启动测试客户端调用智能合约,这里的测试客户端即测试系统中的测试层,根据待测区块链的共识机制进行区分后,按照设定的配置文件对待测区块链性能进行测试,这里的测试可以对测试参数进行选择,根据所需要的数据进行选择即可,则会有 许多测试客户端同时启动,测试完后,创建一个包含性能统计结果的节点,然后将存储待测区块链的性能统计节点返回,以供分析。The next step is to read and compile the smart contract in the execution layer through the configuration file, and at the same time start the monitor through the resource monitoring module of the core layer in the test system, and the transaction per second (TPS) and transaction delay of the blockchain to be tested , Resource utilization and other information for monitoring, and then start the test client to call the smart contract. The test client here is the test layer in the test system. After distinguishing according to the consensus mechanism of the blockchain to be tested, it is treated according to the set configuration file To test the performance of the blockchain, the test here can choose the test parameters, select according to the required data, there will be many test clients started at the same time, after the test, create a node containing the performance statistics , And then return the performance statistics node that stores the blockchain to be tested for analysis.
可选地,所述步骤3包括如下步骤:Optionally, the step 3 includes the following steps:
301、分析统计数据,对数据进行汇总;301. Analyze statistical data and summarize the data;
302、对所述汇总的数据建立表格,并生成报告。302. Establish a table for the summarized data and generate a report.
分析每一轮测试的所有客户端的统计数据,然后通过测试系统的核心层将这些数据进行汇总后,生成报告。报告的形式有很多种,HTML格式为其中一种格式。Analyze the statistical data of all clients in each round of testing, and then aggregate these data through the core layer of the test system to generate a report. There are many forms of reports, HTML format is one of them.
本申请涉及的区块链性能测试系统测试目前支持的区块链平台包括:Ethereum(以太坊)、Parity、Quorum、Hyperledger Fabric(超级账本)、Hyperledger Sawtooth、Hyperledger Iroha、Hyperledger Burrow、Hyperledger Indy等,由于预留了适配接口,还可以很方便的根据需要将系统和区块链平台进行适配。The blockchain performance test system involved in this application tests the currently supported blockchain platforms including: Ethereum (Ethereum), Parity, Quorum, Hyperledger Fabric (Super Ledger), Hyperledger Sawtooth, Hyperledger Iroha, Hyperledger Burrow, Hyperledger Indy, etc., Since the adaptation interface is reserved, it is also easy to adapt the system to the blockchain platform as needed.
本申请提供的区块链性能测试系统,通过设置适配层、核心层和测试层,对不同的区块链解决方案进行分析比较。用于评估区块链作为另一个分布式数据处理平台,同时可以帮助开发人员发现瓶颈,更好的帮助开发人员分析并改善区块链系统。本申请涉及的区块链性能测试系统适用多种区块链平台,同时配置简单,操作方便。可以实现区块链测试的通用性。The blockchain performance test system provided by this application analyzes and compares different blockchain solutions by setting an adaptation layer, a core layer, and a test layer. It is used to evaluate the blockchain as another distributed data processing platform, and can help developers find bottlenecks and better help developers analyze and improve the blockchain system. The blockchain performance test system involved in this application is applicable to a variety of blockchain platforms, and is simple to configure and easy to operate. The versatility of blockchain testing can be achieved.
尽管在上文中参考特定的实施例对本申请进行了描述,但是所属领域技术人员应当理解,在本申请公开的原理和范围内,可以针对本申请公开的配置和细节做出许多修改。本申请的保护范围由所附的权利要求来确定,并且权利要求意在涵盖权利要求中技术特征的等同物文字意义或范围所包含的全部修改。Although the present application has been described above with reference to specific embodiments, those skilled in the art should understand that, within the principle and scope of the present disclosure, many modifications can be made to the configuration and details disclosed in the present application. The protection scope of the present application is determined by the appended claims, and the claims are intended to cover all modifications included in the literal meaning or scope of the technical features of the claims.

Claims (10)

  1. 一种区块链性能测试系统,其特征在于:所述系统包括适配层、核心层和测试层;A blockchain performance testing system, characterized in that the system includes an adaptation layer, a core layer and a test layer;
    所述适配层,用于将区块链与测试系统进行适配,将待测区块链集成到测试系统中;The adaptation layer is used to adapt the blockchain to the test system and integrate the blockchain to be tested into the test system;
    所述核心层,用于将适配好的区块链输送至测试单元,对测试层的情况进行监控和性能分析,将测试好的结果进行整合;The core layer is used to deliver the adapted blockchain to the test unit, monitor and analyze the performance of the test layer, and integrate the results of the test;
    所述测试层,用于根据待测区块链共识机制进行区分,按照设定的配置文件对区块链进行性能测试。The test layer is used to distinguish according to the blockchain consensus mechanism to be tested, and perform performance tests on the blockchain according to the set configuration file.
  2. 如权利要求1所述的区块链性能测试系统,其特征在于:所述适配层包括区块链原生软件开发工具包。The blockchain performance testing system of claim 1, wherein the adaptation layer includes a blockchain native software development kit.
  3. 如权利要求1所述的区块链性能测试系统,其特征在于:所述核心层包括区块链调用模块、资源监控模块、性能分析模块和报告生成模块;The blockchain performance testing system according to claim 1, wherein the core layer includes a blockchain calling module, a resource monitoring module, a performance analysis module, and a report generation module;
    所述区块链调用模块,用于编译部署智能合约,调用智能合约,从分类账查询状态;The blockchain calling module is used to compile and deploy smart contracts, call smart contracts, and query the status from the ledger;
    所述资源监控模块,用于启动、停止监控器,获取区块链的资源消耗状态;The resource monitoring module is used to start and stop the monitor and obtain the resource consumption status of the blockchain;
    所述性能分析模块,用于读取预定义性能统计数据和打印测试结果,记录关键指标;The performance analysis module is used to read predefined performance statistics and print test results, and record key indicators;
    所述报告生成模块,用于将统计结果汇总,并生成报告。The report generation module is used to summarize statistical results and generate a report.
  4. 如权利要求3所述的区块链性能测试系统,其特征在于:所述资源消耗状态中的资源包括CPU、内存和网络输入输出。The blockchain performance test system according to claim 3, wherein the resources in the resource consumption state include CPU, memory, and network input and output.
  5. 如权利要求3所述的区块链性能测试系统,其特征在于:所述预定义性能统计数据包括每秒事务数、事务延迟和资源利用率;所述关键指标包括事务的创建时间、提交时间和事务结果。The blockchain performance testing system according to claim 3, wherein: the predefined performance statistics include the number of transactions per second, transaction delay, and resource utilization; the key indicators include the creation time and commit time of the transaction And transaction results.
  6. 如权利要求3所述的区块链性能测试系统,其特征在于:所述报告格式为HTML格式。The blockchain performance testing system according to claim 3, wherein the report format is an HTML format.
  7. 一种区块链性能测试方法,其特征在于:所述方法包括如下步骤:A blockchain performance testing method, characterized in that the method includes the following steps:
    步骤1、对待测区块链与测试系统进行适配,选择待测区块链测试场景;Step 1. Adapt the blockchain to be tested to the test system and select the blockchain test scenario to be tested;
    步骤2、运行所述区块链测试场景,测试完成后,返回测试数据;Step 2. Run the blockchain test scenario. After the test is completed, return the test data;
    步骤3、对所述返回的测试数据进行分析,并生成报告。Step 3. Analyze the returned test data and generate a report.
  8. 如权利要求7所述的区块链性能测试方法,其特征在于:所述步骤1包括如下步骤:The blockchain performance test method according to claim 7, wherein the step 1 includes the following steps:
    101、对待测区块链进行分析,并将其框架抽象为三层;101. Analyze the blockchain to be tested and abstract its framework into three layers;
    102、对待测区块链的分层后针对不同的共识机制,选择不同的测试场景;102. After the layering of the blockchain to be tested, different test scenarios are selected for different consensus mechanisms;
    103、根据测试场景的选择,通过适配将待测区块链集成到测试系统中。103. According to the selection of the test scenario, integrate the blockchain to be tested into the test system through adaptation.
  9. 如权利要求7所述的区块链性能测试方法,其特征在于:所述步骤2包括如下步骤:The blockchain performance test method according to claim 7, wherein the step 2 includes the following steps:
    201、在测试系统中搭建分布式测试环境;201. Build a distributed test environment in the test system;
    202、待测区块链进入所述分布式测试环境后,使用区块链配置文件创建并初始化待测区块链;202. After the blockchain under test enters the distributed test environment, a blockchain configuration file is used to create and initialize the blockchain under test;
    203、按照所述配置文件中指定的方式读取并编译智能合约;203. Read and compile the smart contract according to the method specified in the configuration file;
    204、将编译后的智能合约部署到测试系统中,启动监控器对象来监控待测试区块链的关键性能指标;204. Deploy the compiled smart contract to the test system and start the monitor object to monitor the key performance indicators of the blockchain to be tested;
    205、根据测试系统的所述配置文件启动测试客户端;205. Start a test client according to the configuration file of the test system;
    206、测试完成之后,创建一个包含性能统计结果的节点;206. After the test is completed, create a node containing performance statistics;
    207、将存储待测区块链的性能统计节点返回,以供分析。207. Return the performance statistics node that stores the blockchain to be tested for analysis.
  10. 如权利要求7所述的区块链性能测试方法,其特征在于:所述步骤3包括如下步骤:The blockchain performance test method according to claim 7, wherein the step 3 includes the following steps:
    301、分析统计数据,对数据进行汇总;301. Analyze statistical data and summarize the data;
    302、对所述汇总的数据建立表格,并生成报告。302. Establish a table for the summarized data and generate a report.
PCT/CN2018/121333 2018-12-14 2018-12-14 Blockchain performance test system and method WO2020118725A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/121333 WO2020118725A1 (en) 2018-12-14 2018-12-14 Blockchain performance test system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/121333 WO2020118725A1 (en) 2018-12-14 2018-12-14 Blockchain performance test system and method

Publications (1)

Publication Number Publication Date
WO2020118725A1 true WO2020118725A1 (en) 2020-06-18

Family

ID=71075922

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/121333 WO2020118725A1 (en) 2018-12-14 2018-12-14 Blockchain performance test system and method

Country Status (1)

Country Link
WO (1) WO2020118725A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763058A (en) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 A kind of block chain evaluation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763058A (en) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 A kind of block chain evaluation system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "A Tool for Measuring Blockchain Performance caliper", BLOG.51CTO, 15 July 2018 (2018-07-15), XP055711955, Retrieved from the Internet <URL:https://blog.51cto.com/liukang/2143275> *
ASHISH: "Hyperledger Caliper: A Tool for Measuring Blockchain Performance", INFOQ, 20 October 2018 (2018-10-20), XP055711952, Retrieved from the Internet <URL:https://www.infoq.cn/article/tool-to-measure-blockchain-performance-hyperledger-caliper> *

Similar Documents

Publication Publication Date Title
Nathan et al. Blockchain meets database: Design and implementation of a blockchain relational database
CN102346460B (en) Transaction-based service control system and method
Tsai et al. Towards a scalable and robust multi-tenancy SaaS
CN109783364A (en) A kind of block chain Performance Test System and method
CN103678354A (en) Local relation type database node scheduling method and device based on cloud computing platform
CN112231071B (en) Transaction processing method and device, computer equipment and storage medium
CN107423390B (en) Real-time data synchronization method based on OLTP-OLAP mixed relational database system
Mühlbauer et al. ScyPer: a hybrid OLTP&OLAP distributed main memory database system for scalable real-time analytics
US20200371902A1 (en) Systems and methods for software regression detection
de Ferreira Rezende et al. The heterogeneity problem and middleware technology: Experiences with and performance of database gateways
WO2020118725A1 (en) Blockchain performance test system and method
Cao et al. Research on reliability evaluation of big data system
Limam et al. A self-adaptive conflict resolution with flexible consistency guarantee in the cloud computing
Wong et al. Middleware to Manage Fault Tolerance Using Semi-Coordinated Checkpoints
Niu et al. Verifying Zookeeper based on Model-Based runtime Trace-Checking using TLA+
Babaoglu et al. On programming with view synchrony
Yassir et al. Analyzing fault tolerance mechanism of Hadoop Mapreduce under different type of failures
Chen et al. Multi-version execution for the dynamic updating of cloud applications
Zhang et al. Evaluation Scheme of Data-center-platform Service Based on Link Tracking Technology
CN117176558A (en) Fault positioning method, device, terminal equipment and storage medium
Budrean et al. High availability solutions for transactional database systems
Lin et al. Deriving Job completion reliability and job energy consumption for a general MapReduce infrastructure from single-job perspective
CN114185972A (en) System and method for realizing data read-write separation by computer
Wu et al. A Simulation-Based Multi-CPU Architecture Virtual Machine Management System for OpenStack
Moita Modular and Adaptive Key-Value Storage Systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18942744

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18942744

Country of ref document: EP

Kind code of ref document: A1