CN106598824B - The method for analyzing performance and device of block chain - Google Patents
The method for analyzing performance and device of block chain Download PDFInfo
- Publication number
- CN106598824B CN106598824B CN201611070758.8A CN201611070758A CN106598824B CN 106598824 B CN106598824 B CN 106598824B CN 201611070758 A CN201611070758 A CN 201611070758A CN 106598824 B CN106598824 B CN 106598824B
- Authority
- CN
- China
- Prior art keywords
- block chain
- block
- performance
- network
- test
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种区块链的性能分析方法,应用于区块链网络中,所述区块链网络包括多个服务器节点,所述区块链网络部署有测试程序客户端,所述区块链的性能分析方法包括:测试程序客户端向区块链网络发起测试请求;在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析;根据统计分析的结果分析所述区块链的性能。本发明还公开了一种区块链的性能分析装置。本发明通过对区块链网络进行多个性能指标的深入分析,提高了区块链网络性能分析的准确性。
The invention discloses a block chain performance analysis method, which is applied to a block chain network, the block chain network includes a plurality of server nodes, the block chain network is deployed with a test program client, and the block chain network The performance analysis method of the block chain includes: the client of the test program initiates a test request to the block chain network; when it is detected that the block chain network responds to the test request, the performance index corresponding to the test request is determined, and the Statistical analysis is carried out in the test process of the above-mentioned performance indicators; the performance of the block chain is analyzed according to the results of the statistical analysis. The invention also discloses a block chain performance analysis device. The present invention improves the accuracy of performance analysis of the blockchain network by performing in-depth analysis of multiple performance indicators on the blockchain network.
Description
技术领域technical field
本发明涉及区块链领域,尤其涉及一种区块链的性能分析方法及装置。The present invention relates to the field of block chains, in particular to a performance analysis method and device for block chains.
背景技术Background technique
现有技术中,对区块链的性能分析测试,一般是通过对区块链进行表面性的请求测试以得出区块链网络的性能数据,没有深入区块链网络底层进行分析,导致对区块链的性能分析结果不够准确,不够全面。In the existing technology, the performance analysis and testing of the blockchain generally obtains the performance data of the blockchain network by performing superficial request tests on the blockchain, without in-depth analysis of the bottom layer of the blockchain network, resulting in The performance analysis results of the blockchain are not accurate enough and not comprehensive enough.
发明内容Contents of the invention
本发明的主要目的在于提出一种区块链的性能分析方法及装置,旨在解决现有的区块链性能分析方式不够深入,导致分析结果不够全面、不够准确的技术问题。The main purpose of the present invention is to propose a block chain performance analysis method and device, aiming to solve the technical problem that the existing block chain performance analysis method is not deep enough, resulting in insufficient comprehensive and inaccurate analysis results.
为实现上述目的,本发明提供的一种区块链的性能分析方法,应用于区块链网络中,所述区块链网络包括多个服务器节点,所述区块链网络部署有测试程序客户端,所述区块链的性能分析方法包括:In order to achieve the above object, the performance analysis method of a block chain provided by the present invention is applied in a block chain network, the block chain network includes a plurality of server nodes, and the block chain network is deployed with a test program client terminal, the performance analysis method of the blockchain includes:
测试程序客户端向区块链网络发起测试请求;The test program client initiates a test request to the blockchain network;
在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析;When detecting that the block chain network responds to the test request, determine the performance index corresponding to the test request, and perform statistical analysis on the test process of the performance index;
根据统计分析的结果分析所述区块链的性能。The performance of the blockchain is analyzed according to the results of the statistical analysis.
优选地,所述测试程序客户端向区块链网络发起测试请求的步骤之前,所述区块链的性能分析方法还包括:Preferably, before the test program client initiates a test request to the blockchain network, the performance analysis method of the blockchain further includes:
所述测试程序客户端读取预设的智能合约;The test program client reads the preset smart contract;
对读取的智能合约进行编译;Compile the read smart contract;
将编译后的智能合约部署到所述区块链网络中,以便后续基于部署的智能合约向所述区块链网络发起测试请求。Deploy the compiled smart contract to the block chain network, so that a test request can be initiated to the block chain network based on the deployed smart contract.
优选地,所述确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析的步骤包括:Preferably, the step of determining the performance index corresponding to the test request and performing statistical analysis on the test process of the performance index includes:
若所述测试请求对应的性能指标为区块同步速度,则统计区块链网络中服务器节点下载区块的开始时间与结束时间的时间差,以及对应区块的交易笔数,将所述交易笔数除以所述时间差;If the performance index corresponding to the test request is the block synchronization speed, the time difference between the start time and the end time of the server node downloading block in the block chain network is counted, and the number of transactions corresponding to the block is counted, and the transaction number divided by said time difference;
若所述测试请求对应的性能指标为共识收敛耗时,则统计区块链网络中服务器节点对区块的开始共识时间与结束时间;If the performance index corresponding to the test request is time-consuming for consensus convergence, count the start consensus time and end time of the block by the server nodes in the blockchain network;
若所述测试请求对应的性能指标为带宽,则统计测试程序客户端执行测试过程中服务器节点的带宽流量,其中,所述带宽包括入带宽和出带宽;If the performance index corresponding to the test request is bandwidth, the client of the statistical test program executes the bandwidth traffic of the server node during the test process, wherein the bandwidth includes incoming bandwidth and outgoing bandwidth;
若所述测试请求对应的性能指标为内存消耗以及CPU占比,则统计测试程序客户端执行测试过程中,服务器节点的进程所消耗内存容量值以及CPU占比。If the performance index corresponding to the test request is memory consumption and CPU ratio, the memory capacity value and CPU ratio consumed by the process of the server node are counted during the execution of the test by the client of the test program.
优选地,所述根据所述结果分析所述区块链的性能的步骤包括:Preferably, the step of analyzing the performance of the blockchain according to the results includes:
在输出的结果为区块的交易笔数以及下载区块对应的时间差时,分析区块中交易笔数对所述数据同步速度的影响;When the output result is the number of transactions in the block and the time difference corresponding to downloading the block, analyze the impact of the number of transactions in the block on the data synchronization speed;
在输出的结果为区块链网络中服务器节点对区块的共识收敛耗时时,分析服务器节点共识性能对区块链的性能影响;When the output result is time-consuming for the consensus convergence of the server nodes on the block in the blockchain network, analyze the impact of the consensus performance of the server nodes on the performance of the blockchain;
在输出的结果为服务器节点的带宽流量时,分析入带宽流量与交易请求发起速度和交易请求大小的对比关系,并分析出带宽流量与区块同步速度与单笔交易大小的对比关系;When the output result is the bandwidth flow of the server node, analyze the comparative relationship between the incoming bandwidth flow, transaction request initiation speed and transaction request size, and analyze the comparative relationship between bandwidth flow, block synchronization speed and single transaction size;
在输出的结果为区块链网络中的内存消耗以及CPU占比时,分析所述内存消耗以及CPU占比与区块链的性能的关系。When the output result is the memory consumption and the CPU ratio in the blockchain network, the relationship between the memory consumption, the CPU ratio and the performance of the blockchain is analyzed.
优选地,所述区块链网络中的服务器节点包括记账节点以及参与节点,所述区块链的性能分析方法还包括:Preferably, the server nodes in the block chain network include accounting nodes and participating nodes, and the performance analysis method of the block chain also includes:
根据所述区块链网络中,记账节点以及参与节点的数量确定网络规模的数值;Determine the value of the network scale according to the number of bookkeeping nodes and participating nodes in the blockchain network;
根据网络规模的数值以及记账节点的个数,生成所述区块链网络的名称;其中,命名规则设为WN-CM,WN表示网络规模数的数值,CM表示记账节点的个数。According to the value of the network scale and the number of bookkeeping nodes, the name of the blockchain network is generated; wherein, the naming rule is set to WN-CM, WN represents the value of the network scale, and CM represents the number of bookkeeping nodes.
此外,为实现上述目的,本发明还提出一种区块链的性能分析装置,应用于区块链网络中,所述区块链网络包括多个服务器节点,所述区块链网络部署有测试程序客户端,所述区块链的性能分析装置包括:In addition, in order to achieve the above purpose, the present invention also proposes a block chain performance analysis device, which is applied to a block chain network, the block chain network includes a plurality of server nodes, and the block chain network is deployed with test The program client, the performance analysis device of the block chain includes:
发起模块,用于向区块链网络发起测试请求;The initiation module is used to initiate a test request to the blockchain network;
处理模块,用于在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析;A processing module, configured to determine the performance index corresponding to the test request when detecting that the block chain network responds to the test request, and perform statistical analysis on the test process of the performance index;
分析模块,用于根据统计分析的结果分析所述区块链的性能。An analysis module is used to analyze the performance of the block chain according to the results of the statistical analysis.
优选地,所述区块链的性能分析装置还包括:Preferably, the performance analysis device of the block chain also includes:
读取模块,用于读取预设的智能合约;The reading module is used to read the preset smart contract;
编译模块,用于对读取的智能合约进行编译;The compilation module is used to compile the read smart contract;
部署模块,用于将编译后的智能合约部署到所述区块链网络中,以便后续基于部署的智能合约向所述区块链网络发起测试请求。A deployment module is configured to deploy the compiled smart contract into the block chain network, so that a test request is subsequently initiated to the block chain network based on the deployed smart contract.
优选地,所述处理模块还用于,Preferably, the processing module is also used for,
若所述测试请求对应的性能指标为区块同步速度,则统计区块链网络中服务器节点下载区块的开始时间与结束时间的时间差,以及对应区块的交易笔数,将所述交易笔数除以所述时间差;If the performance index corresponding to the test request is the block synchronization speed, the time difference between the start time and the end time of the server node downloading block in the block chain network is counted, and the number of transactions corresponding to the block is counted, and the transaction number divided by said time difference;
若所述测试请求对应的性能指标为共识收敛耗时,则统计区块链网络中服务器节点对区块的开始共识时间与结束时间;If the performance index corresponding to the test request is time-consuming for consensus convergence, count the start consensus time and end time of the block by the server nodes in the blockchain network;
若所述测试请求对应的性能指标为带宽,则统计测试程序客户端执行测试过程中服务器节点的带宽流量,其中,所述带宽包括入带宽和出带宽;If the performance index corresponding to the test request is bandwidth, the client of the statistical test program executes the bandwidth traffic of the server node during the test process, wherein the bandwidth includes incoming bandwidth and outgoing bandwidth;
若所述测试请求对应的性能指标为内存消耗以及CPU占比,则统计测试程序客户端执行测试过程中,服务器节点的进程所消耗内存容量值以及CPU占比。If the performance index corresponding to the test request is memory consumption and CPU ratio, the memory capacity value and CPU ratio consumed by the process of the server node are counted during the execution of the test by the client of the test program.
优选地,所述分析模块还用于,Preferably, the analysis module is also used for,
在输出的结果为区块的交易笔数以及下载区块对应的时间差时,分析区块中交易笔数对所述数据同步速度的影响;When the output result is the number of transactions in the block and the time difference corresponding to downloading the block, analyze the impact of the number of transactions in the block on the data synchronization speed;
在输出的结果为区块链网络中服务器节点对区块的共识收敛耗时时,分析服务器节点共识性能对区块链的性能影响;When the output result is time-consuming for the consensus convergence of the server nodes on the block in the blockchain network, analyze the impact of the consensus performance of the server nodes on the performance of the blockchain;
在输出的结果为服务器节点的带宽流量时,分析入带宽流量与交易请求发起速度和交易请求大小的对比关系,并分析出带宽流量与区块同步速度与单笔交易大小的对比关系;When the output result is the bandwidth flow of the server node, analyze the comparative relationship between the incoming bandwidth flow, transaction request initiation speed and transaction request size, and analyze the comparative relationship between bandwidth flow, block synchronization speed and single transaction size;
在输出的结果为区块链网络中的内存消耗以及CPU占比时,分析所述内存消耗以及CPU占比与区块链的性能的关系。When the output result is the memory consumption and the CPU ratio in the blockchain network, the relationship between the memory consumption, the CPU ratio and the performance of the blockchain is analyzed.
优选地,所述区块链网络中的服务器节点包括记账节点以及参与节点,所述区块链的性能分析装置还包括:Preferably, the server nodes in the block chain network include accounting nodes and participating nodes, and the performance analysis device of the block chain also includes:
确定模块,用于根据所述区块链网络中,记账节点以及参与节点的数量确定网络规模的数值;A determining module, configured to determine the value of the network scale according to the number of bookkeeping nodes and participating nodes in the blockchain network;
生成模块,用于根据网络规模的数值以及记账节点的个数,生成所述区块链网络的名称;其中,命名规则设为WN-CM,WN表示网络规模数的数值,CM表示记账节点的个数。The generation module is used to generate the name of the blockchain network according to the value of the network scale and the number of bookkeeping nodes; wherein, the naming rule is set to WN-CM, WN represents the value of the network scale, and CM represents bookkeeping the number of nodes.
本发明提出的区块链的性能分析方法及装置,测试程序客户端先向区块链网络发起测试请求,在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析,最终根据统计分析的结果分析所述区块链的性能,本发明通过深入区块链网络底层进行多项性能指标的分析,提高了区块链网络性能分析的准确性和全面性。In the block chain performance analysis method and device proposed by the present invention, the test program client first initiates a test request to the block chain network, and when it detects that the block chain network responds to the test request, it determines that the test request corresponds to performance indicators, and perform statistical analysis on the test process of the performance indicators, and finally analyze the performance of the blockchain according to the results of the statistical analysis. The present invention analyzes multiple performance indicators by going deep into the bottom layer of the blockchain network to improve This ensures the accuracy and comprehensiveness of blockchain network performance analysis.
附图说明Description of drawings
图1为本发明区块链的性能分析方法第一实施例的流程示意图;Fig. 1 is a schematic flow chart of the first embodiment of the performance analysis method of the block chain of the present invention;
图2为本发明区块链的性能分析方法第二实施例的流程示意图;Fig. 2 is a schematic flow chart of the second embodiment of the performance analysis method of the block chain of the present invention;
图3为本发明区块链的性能分析装置第一实施例的功能模块示意图;3 is a schematic diagram of the functional modules of the first embodiment of the performance analysis device of the blockchain of the present invention;
图4为本发明区块链的性能分析装置第二实施例的功能模块示意图。Fig. 4 is a schematic diagram of the functional modules of the second embodiment of the performance analysis device of the blockchain of the present invention.
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization of the purpose of the present invention, functional characteristics and advantages will be further described in conjunction with the embodiments and with reference to the accompanying drawings.
具体实施方式Detailed ways
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.
本发明实施例的解决方案主要是:测试程序客户端先向区块链网络发起测试请求,在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析,最终根据统计分析的结果分析所述区块链的性能,以解决现有的区块链性能分析方式不够深入,导致分析结果不够全面、不够准确的问题。The solution of the embodiment of the present invention is mainly: the test program client first initiates a test request to the block chain network, and when detecting that the block chain network responds to the test request, determines the performance index corresponding to the test request, And carry out statistical analysis on the test process of the performance index, and finally analyze the performance of the block chain according to the results of the statistical analysis, so as to solve the problem that the existing block chain performance analysis method is not deep enough, resulting in insufficient comprehensive and accurate analysis results The problem.
本发明中涉及的专业术语包括:The technical terms involved in the present invention include:
区块链:即去中心化的分布式账本数据库。区块链本身其实是一串使用密码学算法所产生的数据块,每一个数据块中包含了多次区块链网络交易有效确认的信息。区块链技术起源于比特币的应用,是一种成熟技术,并非本文阐述的发明内容。Blockchain: A decentralized distributed ledger database. The blockchain itself is actually a series of data blocks generated using cryptographic algorithms, and each data block contains information for valid confirmation of multiple blockchain network transactions. Blockchain technology originated from the application of Bitcoin and is a mature technology, not the content of the invention described in this article.
共识机制:共识机制是指对等网络上各交易节点,使用共同的算法,对一批交易进行确认。所用到的算法包括工作量证明,权益证明,多重签名验证,选举验证等。Consensus mechanism: Consensus mechanism means that each transaction node on the peer-to-peer network uses a common algorithm to confirm a batch of transactions. The algorithms used include workload proof, equity proof, multi-signature verification, election verification, etc.
参与节点:特指参与到区块链网络里,进行交易和数据交换的网络节点,每个独立机构可以拥有一个到多个交易节点,每个交易节点是一组物理网络,计算机,区块链应用软件以及数据库的组合。节点和节点之间,通过TCP/IP协议互相连接。Participating node: specifically refers to the network nodes that participate in the blockchain network for transactions and data exchange. Each independent organization can have one or more transaction nodes. Each transaction node is a group of physical networks, computers, and blockchains. Combination of application software and database. Nodes are connected to each other through the TCP/IP protocol.
记账节点:对当前区块进行签名验证的网络节点。由该节点生成并确认最新的区块的合法性,然后广播给其他节点同步最新区块。Accounting node: A network node that verifies the signature of the current block. The node generates and confirms the validity of the latest block, and then broadcasts to other nodes to synchronize the latest block.
RPC:本文中的所指的RPC英文全称为Remote Procedure Call Protocol,它指的是远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。远程过程调用的过程是是由客户端对服务器发出一个执行若干过程请求,并用客户端提供的参数,执行结果将返回给客户端。RPC: The RPC referred to in this article is called Remote Procedure Call Protocol in English, which refers to the remote procedure call protocol, which is a protocol that requests services from remote computer programs through the network without understanding the underlying network technology. The process of remote procedure call is that the client sends a request to the server to execute several procedures, and uses the parameters provided by the client, and the execution result will be returned to the client.
智能合约:本文中所指的智能合约是以solidity语言编写的实现了特定逻辑的服务程序,并以二进制的方式发布于区块链上,供合约参与方在某个时间点在区块链上执行调用并获得结果。Smart contract: The smart contract referred to in this article is a service program written in solidity language that implements specific logic, and is published on the blockchain in binary form for contract participants to Execute the call and get the result.
本发明提供一种区块链的性能分析方法。The invention provides a performance analysis method of a block chain.
参照图1,图1为本发明区块链的性能分析方法第一实施例的流程示意图。Referring to FIG. 1 , FIG. 1 is a schematic flowchart of a first embodiment of a blockchain performance analysis method according to the present invention.
在本实施例中,所述区块链的性能分析方法应用于区块链网络中,所述区块链网络包括多个服务器节点,所述区块链网络部署有测试程序客户端,所述区块链的性能分析方法包括:In this embodiment, the performance analysis method of the block chain is applied to a block chain network, the block chain network includes a plurality of server nodes, the block chain network is deployed with a test program client, the Blockchain performance analysis methods include:
步骤S10,测试程序客户端向区块链网络发起测试请求;Step S10, the test program client initiates a test request to the blockchain network;
步骤S20,在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析;Step S20, when it is detected that the blockchain network responds to the test request, determine the performance index corresponding to the test request, and perform statistical analysis on the test process of the performance index;
步骤S30,根据统计分析的结果分析所述区块链的性能。Step S30, analyzing the performance of the block chain according to the results of statistical analysis.
即本实施例中,先进行区块链网络的部署,该区块链网络部署多个服务器节点;其中,满足区块链网络的运行环境要求,并且运行着区块链互联互通网络模块、能达成一致共识的交易核心模块、及数据存储模块等模块的服务器,定义为区块链服务器节点;最后由满足以上要求的一组服务器形成区块链网络。其中,服务器节点包括记账节点和参与节点两种,记账节点和参与节点的具体个数不做限定,根据具体情况进行设置。That is, in this embodiment, the blockchain network is deployed first, and the blockchain network deploys multiple server nodes; among them, the operating environment requirements of the blockchain network are met, and the blockchain interconnection network module is running, which can Servers of transaction core modules and data storage modules that reach a consensus are defined as blockchain server nodes; finally, a group of servers that meet the above requirements form a blockchain network. Among them, the server node includes two types of accounting nodes and participating nodes, and the specific number of accounting nodes and participating nodes is not limited, and can be set according to specific situations.
在部署好区块链网络之后,在所述区块链网络中继续部署测试程序客户端;其中,满足区块链客户端软件的运行环境要求,能与区块链网络通过特定通信协议进行通信交互,并且能根据指定的发送速度和发送数量发出测试请求的服务器,定义为测试程序客户端。After deploying the blockchain network, continue to deploy the test program client in the blockchain network; wherein, it meets the operating environment requirements of the blockchain client software and can communicate with the blockchain network through a specific communication protocol The server that interacts and can send test requests according to the specified sending speed and sending quantity is defined as the test program client.
以下是本实施例中逐步实现区块链性能分析的具体步骤:The following are the specific steps for gradually realizing blockchain performance analysis in this embodiment:
其中,步骤S10,测试程序客户端向区块链网络发起性能指标的测试请求;Wherein, in step S10, the test program client initiates a test request for performance indicators to the blockchain network;
首先,在所述步骤S10之前,所述区块链的性能分析方法还包括:First, before the step S10, the performance analysis method of the block chain also includes:
步骤A,所述测试程序客户端读取预设的智能合约;Step A, the test program client reads the preset smart contract;
步骤B,对读取的智能合约进行编译;Step B, compiling the read smart contract;
步骤C,将编译后的智能合约部署到所述区块链网络中,以便后续基于部署的智能合约向所述区块链网络发起测试请求。Step C, deploying the compiled smart contract to the blockchain network, so that a test request can be initiated to the blockchain network based on the deployed smart contract.
本实施例中,所述预设的智能合约实质上是事先设置的一段代码,因此所述测试程序客户端读取到所述智能合约后,需要先对读取的所述智能合约进行编译,然后将编译后的智能合约部署到所述区块链网络中,后续,所述测试程序客户端即可基于部署的智能合约向所述区块链网络发起性能指标的测试请求。本实施例中的所述智能合约相当于一个接口,通过该接口,所述测试程序客户端才能向所述区块链网络发起性能指标的测试请求。In this embodiment, the preset smart contract is essentially a piece of code set in advance, so after the test program client reads the smart contract, it needs to first compile the read smart contract, Then deploy the compiled smart contract to the blockchain network, and subsequently, the test program client can initiate a performance index test request to the blockchain network based on the deployed smart contract. The smart contract in this embodiment is equivalent to an interface, through which the test program client can initiate a performance index test request to the blockchain network.
本实施例中,所述测试程序客户端向区块链网络发起测试请求,可以是每次仅针对一个性能指标发起测试请求,也可以是同时针对多个性能指标发起测试请求,并且对每一个性能指标发起测试请求时,可以针对该性能指标一次性发起多个交易或请求。应该理解,测试程序客户端在执行测试过程所耗时的时间一定的情况下,每次发起交易或请求的总量越多,负载率越大。In this embodiment, the test program client initiates a test request to the block chain network. It may only initiate a test request for one performance index at a time, or it may initiate a test request for multiple performance indexes at the same time, and each When a performance indicator initiates a test request, multiple transactions or requests can be initiated for the performance indicator at one time. It should be understood that when the test program client takes a certain amount of time to execute the test process, the greater the total amount of transactions or requests initiated each time, the greater the load rate.
其中,步骤S20,在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析;Wherein, step S20, when it is detected that the block chain network responds to the test request, determine the performance index corresponding to the test request, and perform statistical analysis on the test process of the performance index;
本实施例中,在测试程序客户端向区块链网络发起测试请求之后,若检测到所述区块链网络响应所述测试请求,此时,所述测试程序客户端确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析。应当理解的是,所述区块链网络响应所述测试请求,实质上是表示确认接收到该测试请求,即对接收到该测试请求作出响应。In this embodiment, after the test program client initiates a test request to the block chain network, if it is detected that the block chain network responds to the test request, at this time, the test program client determines that the test request corresponds to The performance indicators, and statistical analysis of the test process of the performance indicators. It should be understood that the block chain network responding to the test request essentially means confirming the receipt of the test request, that is, responding to the receipt of the test request.
本实施例中,所述测试请求对应的性能指标包括多种性能指标,分别有区块同步速度、共识收敛耗时、交易型合约接口性能、非交易型合约接口性能、区块数据同步性能、区块容量、区块打包速度等等,因此,所述步骤S20的实施方式对应以下几种:In this embodiment, the performance indicators corresponding to the test request include multiple performance indicators, including block synchronization speed, consensus convergence time, transactional contract interface performance, non-transactional contract interface performance, block data synchronization performance, Block capacity, block packing speed, etc., therefore, the implementation of the step S20 corresponds to the following:
1、若所述测试请求对应的性能指标为区块同步速度,则统计区块链网络中服务器节点下载区块的开始时间与结束时间的时间差,以及对应区块的交易笔数,将所述交易笔数除以所述时间差;1. If the performance index corresponding to the test request is the block synchronization speed, the time difference between the start time and the end time of the server node downloading the block in the blockchain network, and the number of transactions corresponding to the block are counted, and the The number of transactions divided by the time difference;
其中,测试方法为监测服务器节点区块开始下载到下载完成加入区块链的时间差,以及该区块的交易笔数;Among them, the test method is to monitor the time difference between the start of downloading the server node block and the completion of downloading and joining the block chain, and the number of transactions in the block;
指标计算公式:区块的交易笔数/该区块同步消耗的时间差,指标计算公式:交易笔数/每秒。The indicator calculation formula: the number of transactions in the block / the time difference consumed by the synchronization of the block, the indicator calculation formula: the number of transactions / per second.
2、若所述测试请求对应的性能指标为共识收敛耗时,则统计区块链网络中服务器节点对区块的开始共识时间与结束时间;2. If the performance index corresponding to the test request is consensus convergence time-consuming, count the start consensus time and end time of the block by the server nodes in the blockchain network;
其中,定义为:记账节点对一个区块开始执行网络共识算法开始,到达形成共识所花费的时间差;指标计算公式:毫秒。Among them, it is defined as: the time difference between the start of the bookkeeping node executing the network consensus algorithm for a block and reaching the consensus; the indicator calculation formula: milliseconds.
值得注意的是,共识收敛耗时是指:区块链网络中有不同的服务器节点都增加了区块,但是由于不同节点的区块的同步顺序不同,导致区块的内容不同,而此时只需要增加一个区块即可,因此,需要各个节点进行共识收敛,以确定出其中一个区块作为最终增加到区块链中的区块,而共识收敛耗时就是各个节点达到共识的时间。It is worth noting that the time-consuming consensus convergence refers to: different server nodes in the blockchain network have added blocks, but due to the different synchronization sequences of the blocks of different nodes, the content of the blocks is different, and at this time Only one block needs to be added. Therefore, each node needs to perform consensus convergence to determine one of the blocks as the block finally added to the blockchain, and the consensus convergence time is the time for each node to reach consensus.
3、若所述测试请求对应的性能指标为带宽,则统计测试程序客户端执行测试过程中服务器节点的带宽流量,其中,所述带宽包括入带宽和出带宽;3. If the performance index corresponding to the test request is bandwidth, then count the bandwidth traffic of the server node during the test program client execution process, wherein the bandwidth includes incoming bandwidth and outgoing bandwidth;
4、若所述测试请求对应的性能指标为内存消耗以及CPU占比,则统计测试程序客户端执行测试过程中,服务器节点的进程所消耗内存容量值以及CPU占比;4. If the performance index corresponding to the test request is memory consumption and CPU ratio, the memory capacity value and CPU ratio consumed by the process of the server node are counted during the execution of the test by the client of the test program;
5、若所述测试请求对应的性能指标为交易型合约接口,则统计交易型合约接口的交易总量,以及交易被打包成区块的时间差,将所述交易总量除以所述时间差;5. If the performance index corresponding to the test request is a transaction-type contract interface, then count the total transaction amount of the transaction-type contract interface and the time difference when the transaction is packaged into a block, and divide the total transaction amount by the time difference;
其中,测试方法是在不同规模区块链中,测试程序客户端对记账节点和参与节点连续发起大量交易请求;Among them, the test method is that in blockchains of different scales, the client of the test program continuously initiates a large number of transaction requests to the bookkeeping nodes and participating nodes;
指标计算公式为:交易总量/(最后交易被打包生成区块时间-最早交易发起时间),指标单位:交易数/每秒。The indicator calculation formula is: total transaction volume / (the time when the last transaction was packaged and generated into a block - the earliest transaction initiation time), and the indicator unit: number of transactions / per second.
6、若所述测试请求对应的性能指标为非交易型合约接口,则统计非交易型合约接口的请求总量,以及请求结果返回的时间差,将所述请求总量除以所述时间差;6. If the performance index corresponding to the test request is a non-transactional contract interface, count the total number of requests for the non-transactional contract interface and the time difference between request results, and divide the total amount of requests by the time difference;
其中,测试方法是在不同规模区块链中,测试程序客户端对参与节点连续发起大量非交易RPC请求;Among them, the test method is to continuously initiate a large number of non-transactional RPC requests to participating nodes from the test program client in blockchains of different scales;
指标计算公式为:请求总量/(测试程序客户端发出的最后一个请求返回时间-最早一个请求发起时间),指标单位:请求数/每秒。The indicator calculation formula is: total number of requests/(the return time of the last request sent by the test program client - the earliest request initiation time), and the indicator unit: number of requests/per second.
7、若所述测试请求对应的性能指标为区块数据同步性能,则监控区块链中各个服务器节点的区块交易数,以及区块同步时间差,将区块交易数除以所述同步时间差;7. If the performance index corresponding to the test request is block data synchronization performance, monitor the number of block transactions of each server node in the blockchain and the block synchronization time difference, and divide the block transaction number by the synchronization time difference ;
其中,测试方法是监控参与节点的区块高度的变化,计算区块同步时间差;Among them, the test method is to monitor the change of the block height of the participating nodes and calculate the block synchronization time difference;
指标计算公式:区块交易数/(区块同步完成时间-区块生成时间),指标单位:交易数/每秒。Indicator calculation formula: number of block transactions / (block synchronization completion time - block generation time), indicator unit: number of transactions / per second.
值得注意的是,所述区块高度的变化是指:同一条区块链中的各个节点由于包括的区块的个数不同,因此,对应的高度不同,那么需要进行区块的同步,以实现区块的高度相同。It is worth noting that the change of the block height refers to: each node in the same block chain contains different numbers of blocks, therefore, the corresponding heights are different, then block synchronization is required to Implement blocks with the same height.
8、若所述测试请求对应的性能指标为区块容量查询请求,则统计区块链中各个服务器节点生成的区块对应的字节数;8. If the performance index corresponding to the test request is a block capacity query request, then count the number of bytes corresponding to the block generated by each server node in the block chain;
其中,测试方法是在不同规模区块链中,测试程序客户端对参与节点连续发起大量交易请求,查询生成的区块的容量;Among them, the test method is that in blockchains of different scales, the client of the test program continuously initiates a large number of transaction requests to the participating nodes, and queries the capacity of the generated blocks;
指标计算公式:区块数据的字节数,指标单位:字节。Indicator calculation formula: the number of bytes of block data, indicator unit: byte.
9、若所述测试请求对应的性能指标为区块打包速度,则统计区块链中区块的交易数,以及所述区块打包生成的所花费的时间,将所述交易数除以所花费的时间;9. If the performance index corresponding to the test request is the block packaging speed, count the number of transactions in the block in the blockchain and the time it takes to generate the block packaging, and divide the transaction number by the time spent;
其中,测试方法为监控对应区块的打包生成时间间隔及该区块的交易数;Among them, the test method is to monitor the packaging generation time interval of the corresponding block and the number of transactions in the block;
指标计算公式:区块的交易数/该区块打包所花费的时间;指标单位:交易数/每秒。Indicator calculation formula: number of transactions in a block/time it takes for the block to be packaged; indicator unit: number of transactions/second.
10、合约接口复杂度10. Contract Interface Complexity
定义:在智能合约的接口方法实现中,执行一次变量赋值,定义为合约接口复杂度为1。若该接口中有N次变量赋值,则该合约接口复杂度为N;Definition: In the implementation of the interface method of the smart contract, a variable assignment is performed, which is defined as the contract interface complexity is 1. If there are N variable assignments in the interface, the contract interface complexity is N;
指标计算公式:合约接口变量赋值次数。Indicator calculation formula: the number of contract interface variable assignments.
在本实施例中,还可根据测试的需要,让测试程序客户端变换发出不同负载程度的批量请求。并根据以下列表中需要监测指标的执行方法,做好数据监控和记录,并变换不同的网络和场景以重复执行。其中,表如下所示:In this embodiment, according to the requirements of the test, the client side of the test program can be changed to issue batch requests with different load levels. And according to the implementation method of monitoring indicators in the following list, do a good job of data monitoring and recording, and change different networks and scenarios for repeated execution. where the table looks like this:
其中,步骤S30,根据统计分析的结果分析所述区块链的性能。Wherein, step S30, analyze the performance of the block chain according to the result of statistical analysis.
在本实施例中,在所述测试程序客户端确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析之后,得到统计分析的结果,并输出报告,以便于根据报告的所述结果分析所述区块链的性能。由于上文中提到性能指标包括多种,因此,所述测试程序客户端根据所述结果分析区块链的性能同样包括多种实施方式,具体地包括:In this embodiment, after the test program client determines the performance index corresponding to the test request, and performs statistical analysis on the test process of the performance index, obtains the result of the statistical analysis, and outputs a report, so as to The reported results analyze the performance of the blockchain. Since the above-mentioned performance indicators include various types, the analysis of the performance of the blockchain by the test program client according to the results also includes various implementation methods, specifically including:
1)在输出的结果为区块的交易笔数以及下载区块对应的时间差时,分析区块中交易笔数对所述数据同步速度的影响;具体地,分析区块中交易数量多少,对服务器节点间的区块数据同步速度的影响。1) When the output result is the number of transactions in the block and the time difference corresponding to downloading the block, analyze the impact of the number of transactions in the block on the data synchronization speed; specifically, analyze the number of transactions in the block, and the The influence of block data synchronization speed between server nodes.
2)在输出的结果为区块链网络中服务器节点对区块的共识收敛耗时时,分析服务器节点共识性能对区块链的性能影响;具体地,可调整记账节点的共识模型参数,以分析记账节点共识性能对整体性能的影响。2) When the output result is time-consuming for the consensus convergence of the server node on the block in the blockchain network, analyze the impact of the consensus performance of the server node on the performance of the blockchain; specifically, the consensus model parameters of the bookkeeping nodes can be adjusted to Analyze the impact of accounting node consensus performance on overall performance.
3)在输出的结果为服务器节点的带宽流量时,分析入带宽流量与交易请求发起速度和交易请求大小的对比关系,并分析出带宽流量与区块同步速度与单笔交易大小的对比关系;具体地,分析记账节点的入带宽需求与交易请求发起速度和交易请求大小的对比关系,并分析出带宽需求与块同步速度与单笔交易大小的对比关系。3) When the output result is the bandwidth flow of the server node, analyze the comparative relationship between the incoming bandwidth flow, transaction request initiation speed, and transaction request size, and analyze the comparative relationship between bandwidth flow, block synchronization speed, and single transaction size; Specifically, the comparative relationship between the incoming bandwidth requirements of accounting nodes and the transaction request initiation speed and transaction request size is analyzed, and the comparative relationship between bandwidth requirements and block synchronization speed and the size of a single transaction is analyzed.
4)在输出的结果为区块链网络中的内存消耗以及CPU占比时,分析所述内存消耗以及CPU占比与区块链的性能的关系;具体地,记录服务器节点程序的cpu运行情况,分析cpu和整体性能的关系,并记录服务器节点的内存消耗情况,分析cpu和整体性能的关系。4) When the output result is the memory consumption and the CPU ratio in the blockchain network, analyze the relationship between the memory consumption and the CPU ratio and the performance of the blockchain; specifically, record the CPU operation of the server node program , analyze the relationship between cpu and overall performance, record the memory consumption of server nodes, and analyze the relationship between cpu and overall performance.
进一步地,根据所述结果分析所述区块链的性能,还可包括:Further, analyzing the performance of the blockchain according to the results may also include:
调整网络模型,分析网络模型对整体性能的影响;Adjust the network model and analyze the impact of the network model on the overall performance;
调整服务器节点的RPC服务性能参数,分析其对整体性能的影响;Adjust the RPC service performance parameters of server nodes and analyze their impact on overall performance;
分析出带宽和与记账节点直连的服务器节点数数量的关系;Analyze the relationship between bandwidth and the number of server nodes directly connected to accounting nodes;
增减网络中的节点数量,分析其和整体性能的关系等等。Increase or decrease the number of nodes in the network, analyze its relationship with overall performance, etc.
在本实施例中,相当于是确定各项性能指标的定义与指标计算公式,对执行过程中记录的数据进行统计分析,得出不同网络、场景下上述各项性能指标的结果,最终做对比分析。In this embodiment, it is equivalent to determining the definitions and calculation formulas of various performance indicators, performing statistical analysis on the data recorded during the execution process, obtaining the results of the above-mentioned performance indicators in different networks and scenarios, and finally making a comparative analysis .
本实施例提出的区块链的性能分析方法,测试程序客户端先向区块链网络发起测试请求,在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析,最终根据统计分析的结果分析所述区块链的性能,本实施例通过深入区块链网络底层进行多项性能指标的分析,提高了区块链网络性能分析的准确性和全面性。In the performance analysis method of the block chain proposed in this embodiment, the test program client first initiates a test request to the block chain network, and when it is detected that the block chain network responds to the test request, it determines the corresponding test request. Performance indicators, and perform statistical analysis on the test process of the performance indicators, and finally analyze the performance of the blockchain according to the results of the statistical analysis. This embodiment analyzes multiple performance indicators by going deep into the bottom layer of the blockchain network to improve This ensures the accuracy and comprehensiveness of blockchain network performance analysis.
进一步地,为了提高区块链的性能分析的安全性,基于第一实施例提出本发明区块链的性能分析方法的第二实施例。Further, in order to improve the security of the performance analysis of the blockchain, a second embodiment of the performance analysis method of the blockchain of the present invention is proposed based on the first embodiment.
在本实施例中,所述区块链网络中的服务器节点包括记账节点以及参与节点,参照图2,所述区块链的性能分析方法还包括:In this embodiment, the server nodes in the block chain network include accounting nodes and participating nodes. Referring to FIG. 2, the performance analysis method of the block chain also includes:
步骤S40,根据所述区块链网络中,记账节点以及参与节点的数量确定网络规模的数值;Step S40, determining the value of the network scale according to the number of bookkeeping nodes and participating nodes in the blockchain network;
步骤S50,根据网络规模的数值以及记账节点的个数,生成所述区块链网络的名称;其中,命名规则设为WN-CM,WN表示网络规模数的数值,CM表示记账节点的个数。Step S50, generate the name of the blockchain network according to the value of the network scale and the number of accounting nodes; wherein, the naming rule is set to WN-CM, WN represents the value of the network scale, and CM represents the value of the accounting node number.
在本实施例中,由于所述区块链网络中的服务器节点包括记账节点以及参与节点,因此,计算区块链网络中,记账节点数和参与节点数之和,即可根据记账节点数和参与节点数之和确定该区块链网络中网络规模的数值,例如:区块链网络中,总共有A,B,D、E四个参与节点,以及有C一个记账节点。因此依据定义,该网络规模为W5。In this embodiment, since the server nodes in the blockchain network include accounting nodes and participating nodes, the sum of the number of accounting nodes and the number of participating nodes in the blockchain network can be calculated according to the accounting The sum of the number of nodes and the number of participating nodes determines the value of the network scale in the blockchain network. For example: in the blockchain network, there are a total of four participating nodes A, B, D, and E, and there is one accounting node C. Therefore, by definition, the network size is W5.
指标计算公式:记账节点数+参与节点数;定义描述方式:W(记账节点数+参与节点数)。Index calculation formula: number of bookkeeping nodes + number of participating nodes; definition description method: W (number of bookkeeping nodes + number of participating nodes).
在确定区块链网络中网络规模的数值之后,再根据网络规模的数值以及记账节点的个数,生成所述区块链网络的名称。优选地,将命名规则设置为WN-CM,其中,WN表示网络规模的数值,CM表示记账节点的个数,同样以上述例子为例,可以确定记账节点为1个,因此,最终所述区块链网络的名称就为:W5-C1。After determining the value of the network scale in the blockchain network, the name of the blockchain network is generated according to the value of the network scale and the number of bookkeeping nodes. Preferably, the naming rule is set to WN-CM, where WN represents the value of the network scale, and CM represents the number of billing nodes. Taking the above example as an example, it can be determined that there is one billing node. Therefore, the final The name of the above blockchain network is: W5-C1.
通过这种命名规则,可以对区块链网络进行清晰的,准确的描述,使得各个区块链网络之间的命名区分开,即使有多个区块链同时在通信,不会由于名称无法区分而导致通信过程出错。Through this naming rule, the blockchain network can be clearly and accurately described, so that the naming of each blockchain network can be distinguished. Even if there are multiple blockchains communicating at the same time, they will not be indistinguishable due to names. This leads to an error in the communication process.
本发明进一步提供一种区块链的性能分析装置。The present invention further provides a block chain performance analysis device.
参照图3,图3为本发明区块链的性能分析装置第一实施例的功能模块示意图。Referring to FIG. 3 , FIG. 3 is a schematic diagram of the functional modules of the first embodiment of the performance analysis device for the blockchain of the present invention.
需要强调的是,对本领域的技术人员来说,图3所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图3所示的区块链的性能分析装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该区块链的性能分析装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。It should be emphasized that, for those skilled in the art, the functional block diagram shown in Figure 3 is only an example diagram of a preferred embodiment, and those skilled in the art focus on the performance analysis device of the block chain shown in Figure 3 Functional modules can be easily supplemented with new functional modules; the names of each functional module are self-defined names, which are only used to assist in understanding the various program function blocks of the performance analysis device of the blockchain, and are not used to limit the technical solution of the present invention , the core of the technical solution of the present invention is the functions to be achieved by the function modules with self-defined names.
在本实施例中,所述区块链的性能分析装置应用于区块链网络中,所述区块链网络包括多个服务器节点,所述区块链网络部署有测试程序客户端,所述区块链的性能分析装置包括:In this embodiment, the block chain performance analysis device is applied to a block chain network, the block chain network includes a plurality of server nodes, and the block chain network is deployed with a test program client, the Blockchain performance analysis devices include:
发起模块10,用于向区块链网络发起测试请求;Initiating module 10, for initiating a test request to the block chain network;
处理模块20,用于在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析;The processing module 20 is used to determine the performance index corresponding to the test request when detecting that the block chain network responds to the test request, and perform statistical analysis on the test process of the performance index;
分析模块30,用于根据统计分析的结果分析所述区块链的性能。The analysis module 30 is configured to analyze the performance of the block chain according to the results of the statistical analysis.
即本实施例中,先进行区块链网络的部署,该区块链网络部署多个服务器节点;其中,满足区块链网络的运行环境要求,并且运行着区块链互联互通网络模块、能达成一致共识的交易核心模块、及数据存储模块等模块的服务器,定义为区块链服务器节点;最后由满足以上要求的一组服务器形成区块链网络。其中,服务器节点包括记账节点和参与节点两种,记账节点和参与节点的具体个数不做限定,根据具体情况进行设置。That is, in this embodiment, the blockchain network is deployed first, and the blockchain network deploys multiple server nodes; among them, the operating environment requirements of the blockchain network are met, and the blockchain interconnection network module is running, which can Servers of transaction core modules and data storage modules that reach a consensus are defined as blockchain server nodes; finally, a group of servers that meet the above requirements form a blockchain network. Among them, the server node includes two types of accounting nodes and participating nodes, and the specific number of accounting nodes and participating nodes is not limited, and can be set according to specific situations.
在部署好区块链网络之后,在所述区块链网络中继续部署测试程序客户端;其中,满足区块链客户端软件的运行环境要求,能与区块链网络通过特定通信协议进行通信交互,并且能根据指定的发送速度和发送数量发出测试请求的服务器,定义为测试程序客户端。After deploying the blockchain network, continue to deploy the test program client in the blockchain network; wherein, it meets the operating environment requirements of the blockchain client software and can communicate with the blockchain network through a specific communication protocol The server that interacts and can send test requests according to the specified sending speed and sending quantity is defined as the test program client.
其中,发起模块10,用于向区块链网络发起测试请求;Wherein, the initiating module 10 is used to initiate a test request to the block chain network;
在所述发起模块10向区块链网络发起测试请求之前,所述区块链的性能分析装置还包括:Before the initiating module 10 initiates a test request to the block chain network, the performance analysis device of the block chain also includes:
读取模块,用于读取预设的智能合约;The reading module is used to read the preset smart contract;
编译模块,用于对读取的智能合约进行编译;The compilation module is used to compile the read smart contract;
部署模块,用于将编译后的智能合约部署到所述区块链网络中,以便后续基于部署的智能合约向所述区块链网络发起测试请求。A deployment module is configured to deploy the compiled smart contract into the block chain network, so that a test request is subsequently initiated to the block chain network based on the deployed smart contract.
本实施例中,所述预设的智能合约实质上是事先设置的一段代码,因此所述读取模块读取到所述智能合约后,需要所述编译模块对读取的所述智能合约进行编译,然后所述部署模块将编译后的智能合约部署到所述区块链网络中,后续,所述发起模块10即可基于部署的智能合约向所述区块链网络发起性能指标的测试请求。本实施例中的所述智能合约相当于一个接口,通过该接口,所述发起模块10才能向所述区块链网络发起性能指标的测试请求。In this embodiment, the preset smart contract is essentially a piece of code set in advance, so after the reading module reads the smart contract, the compiling module needs to execute the read smart contract Compile, and then the deployment module deploys the compiled smart contract into the block chain network, and subsequently, the initiation module 10 can initiate a performance index test request to the block chain network based on the deployed smart contract . The smart contract in this embodiment is equivalent to an interface, through which the initiating module 10 can initiate a performance index test request to the blockchain network.
本实施例中,所述发起模块10向区块链网络发起测试请求,可以是每次仅针对一个性能指标发起测试请求,也可以是同时针对多个性能指标发起测试请求,并且对每一个性能指标发起测试请求时,可以针对该性能指标一次性发起多个交易或请求。应该理解,在执行测试过程所耗时的时间一定的情况下,所述发起模块10每次发起交易或请求的总量越多,负载率越大。In this embodiment, the initiating module 10 initiates a test request to the block chain network. It may be to initiate a test request for only one performance index at a time, or it may be to initiate a test request for multiple performance indexes at the same time, and each performance index When an indicator initiates a test request, multiple transactions or requests can be initiated for the performance indicator at one time. It should be understood that, in the case of a certain amount of time spent on executing the test process, the greater the total amount of transactions or requests initiated each time by the initiating module 10, the greater the load rate.
其中,处理模块20,用于在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析;Wherein, the processing module 20 is configured to determine the performance index corresponding to the test request when detecting that the block chain network responds to the test request, and perform statistical analysis on the test process of the performance index;
本实施例中,在所述发起模块10向区块链网络发起测试请求之后,若检测到所述区块链网络响应所述测试请求,此时,所述处理模块20确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析。应当理解的是,所述区块链网络响应所述测试请求,实质上是表示确认接收到该测试请求,即对接收到该测试请求作出响应。In this embodiment, after the initiating module 10 initiates a test request to the block chain network, if it is detected that the block chain network responds to the test request, at this time, the processing module 20 determines that the test request corresponds to The performance indicators, and statistical analysis of the test process of the performance indicators. It should be understood that the block chain network responding to the test request essentially means confirming the receipt of the test request, that is, responding to the receipt of the test request.
本实施例中,所述测试请求对应的性能指标包括多种性能指标,分别有区块同步速度、共识收敛耗时、交易型合约接口性能、非交易型合约接口性能、区块数据同步性能、区块容量、区块打包速度等等,因此,所述步骤S20:In this embodiment, the performance indicators corresponding to the test request include multiple performance indicators, including block synchronization speed, consensus convergence time, transactional contract interface performance, non-transactional contract interface performance, block data synchronization performance, Block capacity, block packing speed, etc. Therefore, the step S20:
所述处理模块20的实施方式对应以下几种:The implementation manners of the processing module 20 correspond to the following types:
1、若所述测试请求对应的性能指标为区块同步速度,则统计区块链网络中服务器节点下载区块的开始时间与结束时间的时间差,以及对应区块的交易笔数,将所述交易笔数除以所述时间差;1. If the performance index corresponding to the test request is the block synchronization speed, the time difference between the start time and the end time of the server node downloading the block in the blockchain network, and the number of transactions corresponding to the block are counted, and the The number of transactions divided by the time difference;
其中,测试方法为监测服务器节点区块开始下载到下载完成加入区块链的时间差,以及该区块的交易笔数;Among them, the test method is to monitor the time difference between the start of downloading the server node block and the completion of downloading and joining the block chain, and the number of transactions in the block;
指标计算公式:区块的交易笔数/该区块同步消耗的时间差,指标计算公式:交易笔数/每秒。The indicator calculation formula: the number of transactions in the block / the time difference consumed by the synchronization of the block, the indicator calculation formula: the number of transactions / per second.
2、若所述测试请求对应的性能指标为共识收敛耗时,则统计区块链网络中服务器节点对区块的开始共识时间与结束时间;2. If the performance index corresponding to the test request is consensus convergence time-consuming, count the start consensus time and end time of the block by the server nodes in the blockchain network;
其中,定义为:记账节点对一个区块开始执行网络共识算法开始,到达形成共识所花费的时间差;指标计算公式:毫秒。Among them, it is defined as: the time difference between the start of the bookkeeping node executing the network consensus algorithm for a block and reaching the consensus; the indicator calculation formula: milliseconds.
值得注意的是,共识收敛耗时是指:区块链网络中有不同的服务器节点都增加了区块,但是由于不同节点的区块的同步顺序不同,导致区块的内容不同,而此时只需要增加一个区块即可,因此,需要各个节点进行共识收敛,以确定出其中一个区块作为最终增加到区块链中的区块,而共识收敛耗时就是各个节点达到共识的时间。It is worth noting that the time-consuming consensus convergence refers to: different server nodes in the blockchain network have added blocks, but due to the different synchronization sequences of the blocks of different nodes, the content of the blocks is different, and at this time Only one block needs to be added. Therefore, each node needs to perform consensus convergence to determine one of the blocks as the block finally added to the blockchain, and the consensus convergence time is the time for each node to reach consensus.
3、若所述测试请求对应的性能指标为带宽,则统计测试程序客户端执行测试过程中服务器节点的带宽流量,其中,所述带宽包括入带宽和出带宽;3. If the performance index corresponding to the test request is bandwidth, then count the bandwidth traffic of the server node during the test program client execution process, wherein the bandwidth includes incoming bandwidth and outgoing bandwidth;
4、若所述测试请求对应的性能指标为内存消耗以及CPU占比,则统计测试程序客户端执行测试过程中,服务器节点的进程所消耗内存容量值以及CPU占比;4. If the performance index corresponding to the test request is memory consumption and CPU ratio, the memory capacity value and CPU ratio consumed by the process of the server node are counted during the execution of the test by the client of the test program;
5、若所述测试请求对应的性能指标为交易型合约接口,则统计交易型合约接口的交易总量,以及交易被打包成区块的时间差,将所述交易总量除以所述时间差;5. If the performance index corresponding to the test request is a transaction-type contract interface, then count the total transaction amount of the transaction-type contract interface and the time difference when the transaction is packaged into a block, and divide the total transaction amount by the time difference;
其中,测试方法是在不同规模区块链中,测试程序客户端对记账节点和参与节点连续发起大量交易请求;Among them, the test method is that in blockchains of different scales, the client of the test program continuously initiates a large number of transaction requests to the bookkeeping nodes and participating nodes;
指标计算公式为:交易总量/(最后交易被打包生成区块时间-最早交易发起时间),指标单位:交易数/每秒。The indicator calculation formula is: total transaction volume / (the time when the last transaction was packaged and generated into a block - the earliest transaction initiation time), and the indicator unit: number of transactions / per second.
6、若所述测试请求对应的性能指标为非交易型合约接口,则统计非交易型合约接口的请求总量,以及请求结果返回的时间差,将所述请求总量除以所述时间差;6. If the performance index corresponding to the test request is a non-transactional contract interface, count the total number of requests for the non-transactional contract interface and the time difference between request results, and divide the total amount of requests by the time difference;
其中,测试方法是在不同规模区块链中,测试程序客户端对参与节点连续发起大量非交易RPC请求;Among them, the test method is to continuously initiate a large number of non-transactional RPC requests to participating nodes from the test program client in blockchains of different scales;
指标计算公式为:请求总量/(测试程序客户端发出的最后一个请求返回时间-最早一个请求发起时间),指标单位:请求数/每秒。The indicator calculation formula is: total number of requests/(the return time of the last request sent by the test program client - the earliest request initiation time), and the indicator unit: number of requests/per second.
7、若所述测试请求对应的性能指标为区块数据同步性能,则监控区块链中各个服务器节点的区块交易数,以及区块同步时间差,将区块交易数除以所述同步时间差;7. If the performance index corresponding to the test request is block data synchronization performance, monitor the number of block transactions of each server node in the blockchain and the block synchronization time difference, and divide the block transaction number by the synchronization time difference ;
其中,测试方法是监控参与节点的区块高度的变化,计算区块同步时间差;Among them, the test method is to monitor the change of the block height of the participating nodes and calculate the block synchronization time difference;
指标计算公式:区块交易数/(区块同步完成时间-区块生成时间),指标单位:交易数/每秒。Indicator calculation formula: number of block transactions / (block synchronization completion time - block generation time), indicator unit: number of transactions / per second.
值得注意的是,所述区块高度的变化是指:同一条区块链中的各个节点由于包括的区块的个数不同,因此,对应的高度不同,那么需要进行区块的同步,以实现区块的高度相同。It is worth noting that the change of the block height refers to: each node in the same block chain contains different numbers of blocks, therefore, the corresponding heights are different, then block synchronization is required to Implement blocks with the same height.
8、若所述测试请求对应的性能指标为区块容量查询请求,则统计区块链中各个服务器节点生成的区块对应的字节数;8. If the performance index corresponding to the test request is a block capacity query request, then count the number of bytes corresponding to the block generated by each server node in the block chain;
其中,测试方法是在不同规模区块链中,测试程序客户端对参与节点连续发起大量交易请求,查询生成的区块的容量;Among them, the test method is that in blockchains of different scales, the client of the test program continuously initiates a large number of transaction requests to the participating nodes, and queries the capacity of the generated blocks;
指标计算公式:区块数据的字节数,指标单位:字节。Indicator calculation formula: the number of bytes of block data, indicator unit: byte.
9、若所述测试请求对应的性能指标为区块打包速度,则统计区块链中区块的交易数,以及所述区块打包生成的所花费的时间,将所述交易数除以所花费的时间;9. If the performance index corresponding to the test request is the block packaging speed, count the number of transactions in the block in the blockchain and the time it takes to generate the block packaging, and divide the transaction number by the time spent;
其中,测试方法为监控对应区块的打包生成时间间隔及该区块的交易数;Among them, the test method is to monitor the packaging generation time interval of the corresponding block and the number of transactions in the block;
指标计算公式:区块的交易数/该区块打包所花费的时间;指标单位:交易数/每秒。Indicator calculation formula: number of transactions in a block/time it takes for the block to be packaged; indicator unit: number of transactions/second.
10、合约接口复杂度10. Contract Interface Complexity
定义:在智能合约的接口方法实现中,执行一次变量赋值,定义为合约接口复杂度为1。若该接口中有N次变量赋值,则该合约接口复杂度为N;Definition: In the implementation of the interface method of the smart contract, a variable assignment is performed, which is defined as the contract interface complexity is 1. If there are N variable assignments in the interface, the contract interface complexity is N;
指标计算公式:合约接口变量赋值次数。Indicator calculation formula: the number of contract interface variable assignments.
在本实施例中,还可根据测试的需要,让测试程序客户端变换发出不同负载程度的批量请求。并根据以下列表中需要监测指标的执行方法,做好数据监控和记录,并变换不同的网络和场景以重复执行。其中,表如下所示:In this embodiment, according to the requirements of the test, the client side of the test program can be changed to issue batch requests with different load levels. And according to the implementation method of monitoring indicators in the following list, do a good job of data monitoring and recording, and change different networks and scenarios for repeated execution. where the table looks like this:
其中,分析模块30,用于根据统计分析的结果分析所述区块链的性能。Wherein, the analysis module 30 is configured to analyze the performance of the block chain according to the results of statistical analysis.
在本实施例中,在确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析之后,分析模块30得到统计分析的结果,并输出报告,以便于根据报告的所述结果分析所述区块链的性能。由于上文中提到性能指标包括多种,因此,所述分析模块30根据所述结果分析区块链的性能同样包括多种实施方式,具体地包括:In this embodiment, after determining the performance index corresponding to the test request and performing statistical analysis on the test process of the performance index, the analysis module 30 obtains the result of the statistical analysis and outputs a report, so as to The above results analyze the performance of the blockchain. Since the performance indicators mentioned above include various types, the analysis module 30 analyzes the performance of the block chain according to the results and also includes various implementations, specifically including:
1)在输出的结果为区块的交易笔数以及下载区块对应的时间差时,分析区块中交易笔数对所述数据同步速度的影响;具体地,分析区块中交易数量多少,对服务器节点间的区块数据同步速度的影响。1) When the output result is the number of transactions in the block and the time difference corresponding to downloading the block, analyze the impact of the number of transactions in the block on the data synchronization speed; specifically, analyze the number of transactions in the block, and the The influence of block data synchronization speed between server nodes.
2)在输出的结果为区块链网络中服务器节点对区块的共识收敛耗时时,分析服务器节点共识性能对区块链的性能影响;具体地,可调整记账节点的共识模型参数,以分析记账节点共识性能对整体性能的影响。2) When the output result is time-consuming for the consensus convergence of the server node on the block in the blockchain network, analyze the impact of the consensus performance of the server node on the performance of the blockchain; specifically, the consensus model parameters of the bookkeeping nodes can be adjusted to Analyze the impact of accounting node consensus performance on overall performance.
3)在输出的结果为服务器节点的带宽流量时,分析入带宽流量与交易请求发起速度和交易请求大小的对比关系,并分析出带宽流量与区块同步速度与单笔交易大小的对比关系;具体地,分析记账节点的入带宽需求与交易请求发起速度和交易请求大小的对比关系,并分析出带宽需求与块同步速度与单笔交易大小的对比关系。3) When the output result is the bandwidth flow of the server node, analyze the comparative relationship between the incoming bandwidth flow, transaction request initiation speed, and transaction request size, and analyze the comparative relationship between bandwidth flow, block synchronization speed, and single transaction size; Specifically, the comparative relationship between the incoming bandwidth requirements of accounting nodes and the transaction request initiation speed and transaction request size is analyzed, and the comparative relationship between bandwidth requirements and block synchronization speed and the size of a single transaction is analyzed.
4)在输出的结果为区块链网络中的内存消耗以及CPU占比时,分析所述内存消耗以及CPU占比与区块链的性能的关系;具体地,记录服务器节点程序的cpu运行情况,分析cpu和整体性能的关系,并记录服务器节点的内存消耗情况,分析cpu和整体性能的关系。4) When the output result is the memory consumption and the CPU ratio in the blockchain network, analyze the relationship between the memory consumption and the CPU ratio and the performance of the blockchain; specifically, record the CPU operation of the server node program , analyze the relationship between cpu and overall performance, record the memory consumption of server nodes, and analyze the relationship between cpu and overall performance.
进一步地,根据所述结果分析所述区块链的性能,还可包括:Further, analyzing the performance of the blockchain according to the results may also include:
调整网络模型,分析网络模型对整体性能的影响;Adjust the network model and analyze the impact of the network model on the overall performance;
调整服务器节点的RPC服务性能参数,分析其对整体性能的影响;Adjust the RPC service performance parameters of server nodes and analyze their impact on overall performance;
分析出带宽和与记账节点直连的服务器节点数数量的关系;Analyze the relationship between bandwidth and the number of server nodes directly connected to accounting nodes;
增减网络中的节点数量,分析其和整体性能的关系等等。Increase or decrease the number of nodes in the network, analyze its relationship with overall performance, etc.
在本实施例中,相当于是确定各项性能指标的定义与指标计算公式,对执行过程中记录的数据进行统计分析,得出不同网络、场景下上述各项性能指标的结果,最终做对比分析。In this embodiment, it is equivalent to determining the definitions and calculation formulas of various performance indicators, performing statistical analysis on the data recorded during the execution process, obtaining the results of the above-mentioned performance indicators in different networks and scenarios, and finally making a comparative analysis .
本实施例提出的区块链的性能分析装置,先向区块链网络发起测试请求,在检测到所述区块链网络响应所述测试请求时,确定所述测试请求对应的性能指标,并对所述性能指标的测试过程进行统计分析,最终根据统计分析的结果分析所述区块链的性能,本实施例通过深入区块链网络底层进行多项性能指标的分析,提高了区块链网络性能分析的准确性和全面性。The block chain performance analysis device proposed in this embodiment first initiates a test request to the block chain network, and when it is detected that the block chain network responds to the test request, determines the performance index corresponding to the test request, and Statistical analysis is performed on the test process of the performance index, and finally the performance of the block chain is analyzed according to the results of the statistical analysis. This embodiment improves the block chain by going deep into the bottom layer of the block chain network to analyze multiple performance indexes. Accuracy and comprehensiveness of network performance analysis.
进一步地,为了提高区块链的性能分析的安全性,基于第一实施例提出本发明区块链的性能分析装置的第二实施例。Further, in order to improve the security of the performance analysis of the blockchain, based on the first embodiment, a second embodiment of the device for analyzing the performance of the blockchain of the present invention is proposed.
在本实施例中,所述区块链网络中的服务器节点包括记账节点以及参与节点,参照图4,所述区块链的性能分析装置还包括:In this embodiment, the server nodes in the block chain network include accounting nodes and participating nodes. Referring to FIG. 4, the performance analysis device of the block chain also includes:
确定模块40,用于根据所述区块链网络中,记账节点以及参与节点的数量确定网络规模的数值;A determining module 40, configured to determine the value of the network scale according to the number of accounting nodes and participating nodes in the blockchain network;
生成模块50,用于根据网络规模的数值以及记账节点的个数,生成所述区块链网络的名称;其中,命名规则设为WN-CM,WN表示网络规模数的数值,CM表示记账节点的个数。The generation module 50 is used to generate the name of the block chain network according to the numerical value of the network scale and the number of bookkeeping nodes; wherein, the naming rule is set to WN-CM, WN represents the numerical value of the network scale, and CM represents the bookkeeping node. The number of account nodes.
在本实施例中,由于所述区块链网络中的服务器节点包括记账节点以及参与节点,因此,计算区块链网络中,记账节点数和参与节点数之和,所述确定模块40即可根据记账节点数和参与节点数之和确定该区块链网络中网络规模的数值,例如:区块链网络中,总共有A,B,D、E四个参与节点,以及有C一个记账节点。因此依据定义,该网络规模为W5。In this embodiment, since the server nodes in the block chain network include bookkeeping nodes and participating nodes, in calculating the sum of the number of bookkeeping nodes and the number of participating nodes in the block chain network, the determination module 40 The value of the network scale in the blockchain network can be determined according to the sum of the number of bookkeeping nodes and the number of participating nodes. For example: in the blockchain network, there are a total of four participating nodes A, B, D, and E, and C A bookkeeping node. Therefore, by definition, the network size is W5.
指标计算公式:记账节点数+参与节点数;定义描述方式:W(记账节点数+参与节点数)。Index calculation formula: number of bookkeeping nodes + number of participating nodes; definition description method: W (number of bookkeeping nodes + number of participating nodes).
在所述确定模块40确定区块链网络中网络规模的数值之后,所述生成模块50再根据网络规模的数值以及记账节点的个数,生成所述区块链网络的名称。优选地,将命名规则设置为WN-CM,其中,WN表示网络规模的数值,CM表示记账节点的个数,同样以上述例子为例,可以确定记账节点为1个,因此,最终所述区块链网络的名称就为:W5-C1。After the determining module 40 determines the value of the network scale in the blockchain network, the generating module 50 generates the name of the blockchain network according to the value of the network scale and the number of bookkeeping nodes. Preferably, the naming rule is set to WN-CM, where WN represents the value of the network scale, and CM represents the number of billing nodes. Taking the above example as an example, it can be determined that there is one billing node. Therefore, the final The name of the above blockchain network is: W5-C1.
通过这种命名规则,可以对区块链网络进行清晰的,准确的描述,使得各个区块链网络之间的命名区分开,即使有多个区块链同时在通信,不会由于名称无法区分而导致通信过程出错。Through this naming rule, the blockchain network can be clearly and accurately described, so that the naming of each blockchain network can be distinguished. Even if there are multiple blockchains communicating at the same time, they will not be indistinguishable due to names. This leads to an error in the communication process.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that, in this document, the terms "comprising", "comprising" or any other variation thereof are intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a set of elements includes not only those elements, It also includes other elements that are not expressly listed, or that are inherent to the process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, article, or apparatus comprising that element.
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the above embodiments of the present invention are for description only, and do not represent the advantages and disadvantages of the embodiments.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation. Based on such an understanding, the essence of the technical solution of the present invention or the part that contributes to the prior art can be embodied in the form of software products, and the computer software products are stored in a storage medium (such as ROM/RAM, disk, CD) contains several instructions to make a terminal device (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in various embodiments of the present invention.
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made by using the description of the present invention and the contents of the accompanying drawings, or directly or indirectly used in other related technical fields , are all included in the scope of patent protection of the present invention in the same way.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611070758.8A CN106598824B (en) | 2016-11-25 | 2016-11-25 | The method for analyzing performance and device of block chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611070758.8A CN106598824B (en) | 2016-11-25 | 2016-11-25 | The method for analyzing performance and device of block chain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106598824A CN106598824A (en) | 2017-04-26 |
CN106598824B true CN106598824B (en) | 2018-11-20 |
Family
ID=58593538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611070758.8A Active CN106598824B (en) | 2016-11-25 | 2016-11-25 | The method for analyzing performance and device of block chain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598824B (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020212436A1 (en) * | 2019-04-15 | 2020-10-22 | Eygs Llp | Systems, apparatus and methods for local state storage of distributed ledger data without cloning |
US10951409B2 (en) | 2018-10-19 | 2021-03-16 | Eygs Llp | Methods and systems for verifying token-based actions on distributed ledger-based networks through the use of zero-knowledge proofs |
US11502838B2 (en) | 2019-04-15 | 2022-11-15 | Eygs Llp | Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks |
US11943358B2 (en) | 2019-04-15 | 2024-03-26 | Eygs Llp | Methods and systems for identifying anonymized participants of distributed ledger-based networks using zero-knowledge proofs |
US12021991B2 (en) | 2018-08-18 | 2024-06-25 | Eygs Llp | Methods and systems for implementing zero- knowledge proofs in transferring partitioned tokens on distributed ledger-based networks |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107274186A (en) * | 2017-05-11 | 2017-10-20 | 上海点融信息科技有限责任公司 | The method and apparatus that intelligent contract-defined interface is obtained in block chain |
CN107329888B (en) * | 2017-05-31 | 2019-10-18 | 深圳前海微众银行股份有限公司 | Smart contract operation code coverage calculation method and system |
EP3418998A1 (en) * | 2017-06-22 | 2018-12-26 | Nokia Technologies Oy | Road traffic management |
US10552556B2 (en) | 2017-08-03 | 2020-02-04 | Liquineq AG | System and method for performance testing of scalable distributed network transactional databases |
CN107317730B (en) * | 2017-08-21 | 2020-09-04 | 上海点融信息科技有限责任公司 | Method, apparatus and system for monitoring the status of blockchain nodes |
CN107943691B (en) * | 2017-11-17 | 2022-03-01 | 深圳圣马歌科技有限公司 | Method and device for automatically generating function test page of intelligent contract |
WO2019113016A1 (en) * | 2017-12-04 | 2019-06-13 | Dan Kikinis | System and method for performance testing of scalable distributed network transactional databases |
CN108304307B (en) * | 2018-01-24 | 2022-03-04 | 深圳圣马歌科技有限公司 | Performance detection method of intelligent contract on block chain |
CN110213304B (en) * | 2018-02-28 | 2021-11-30 | 成都高新信息技术研究院 | Block chain network interconnection method and system |
CN108600353B (en) * | 2018-04-12 | 2021-01-12 | 北京天德科技有限公司 | Parallel block synchronization method of block chain nodes |
CN108512939B (en) * | 2018-04-17 | 2020-09-11 | 深圳市元征科技股份有限公司 | Block chain consensus method, device and related equipment |
CN108763058A (en) * | 2018-04-24 | 2018-11-06 | 苏州同济区块链研究院有限公司 | A kind of block chain evaluation system |
CN108648079A (en) * | 2018-05-02 | 2018-10-12 | 北京阿尔山金融科技有限公司 | Block chain node monitoring method, apparatus and system |
US20190394113A1 (en) * | 2018-06-25 | 2019-12-26 | Blocktest Global | Systems and methods to automatically evaluate blockchain-based solution performance |
CN108880941A (en) * | 2018-06-29 | 2018-11-23 | 佛山伊苏巨森科技有限公司 | A kind of data transmitting test device and its data processing method of block chain |
CN109088792A (en) * | 2018-08-06 | 2018-12-25 | 佛山市甜慕链客科技有限公司 | A kind of block chain data transmission testing method and device |
CN109408373B (en) * | 2018-09-26 | 2022-03-04 | 深圳壹账通智能科技有限公司 | Test method of intelligent contract, computer readable storage medium and test terminal |
CN109408304A (en) * | 2018-09-27 | 2019-03-01 | 深圳壹账通智能科技有限公司 | Block chain introduces test method, device, equipment and readable storage medium storing program for executing |
CN109639751B (en) * | 2018-10-16 | 2021-12-21 | 平安科技(深圳)有限公司 | Block chain link point monitoring method, device and system and computer storage medium |
CN111181796B (en) * | 2018-11-09 | 2022-07-05 | 北京天德科技有限公司 | Block chain consensus protocol testing method and system based on enabler |
CN109508295B (en) * | 2018-11-14 | 2021-11-09 | 联动优势科技有限公司 | Block chain consensus algorithm testing method and device, calculating device and storage medium |
CN111199051A (en) * | 2018-11-20 | 2020-05-26 | 慧盾信息安全科技(苏州)股份有限公司 | Data tracing system and method based on block chain technology |
CN109639521B (en) * | 2018-12-05 | 2020-09-29 | 京东数字科技控股有限公司 | Block chain performance testing method, device, equipment and storage medium |
CN109815098A (en) * | 2018-12-14 | 2019-05-28 | 深圳壹账通智能科技有限公司 | The performance test methods of block catenary system, corresponding device and electronic equipment |
CN109636543A (en) * | 2018-12-25 | 2019-04-16 | 北京云测网络科技有限公司 | A blockchain testing method and device |
CN109753433A (en) * | 2018-12-26 | 2019-05-14 | 中链科技有限公司 | Automated testing method, device and electronic equipment based on block chain |
CN109753418B (en) * | 2018-12-28 | 2022-07-12 | 金蝶软件(中国)有限公司 | Performance test method and device, computer equipment and storage medium |
CN109710385A (en) * | 2018-12-29 | 2019-05-03 | 杭州趣链科技有限公司 | A kind of intelligent contract complexity method for limiting based on Java Virtual Machine |
CN109885462A (en) * | 2019-01-10 | 2019-06-14 | 深圳银链科技有限公司 | A kind of block chain node performance test methods, system, equipment and storage medium |
CN109885463A (en) * | 2019-01-16 | 2019-06-14 | 杭州趣链科技有限公司 | A method of the block chain common recognition agreement asynchronous performance analysis based on log |
CN109947740B (en) * | 2019-01-25 | 2020-12-29 | 北京邮电大学 | Performance optimization method and device for blockchain system |
CN109948927A (en) * | 2019-03-15 | 2019-06-28 | 北京世纪诚链科技有限公司 | A kind of method for analyzing performance for distributed account book |
CN110061889A (en) * | 2019-04-01 | 2019-07-26 | 北京众享比特科技有限公司 | Block chain performance test methods, device, equipment and storage medium |
CN109981416B (en) * | 2019-04-04 | 2022-07-12 | 中山大学 | Block chain performance detection method and system |
CN111835533A (en) * | 2019-04-15 | 2020-10-27 | 富士通株式会社 | A device that checks the blockchain network |
CN110113229A (en) * | 2019-05-01 | 2019-08-09 | 中央财经大学 | A kind of block chain reference performance test macro and tool |
CN112073254A (en) * | 2019-06-11 | 2020-12-11 | 南京慕测信息科技有限公司 | Performance test method for Ethernet bay block chain |
CN110445684B (en) * | 2019-08-09 | 2021-04-02 | 中国信息通信研究院 | Block chain performance benchmark test method and device |
CN110580206B (en) * | 2019-09-16 | 2023-04-28 | 上海保险交易所股份有限公司 | Method, medium and control device for pressure testing of blockchain system |
CN110990208A (en) * | 2019-12-12 | 2020-04-10 | 深圳市网心科技有限公司 | Cluster test file deployment and performance testing method, computer equipment and medium |
CN111339181B (en) * | 2020-02-10 | 2021-08-06 | 腾讯科技(深圳)有限公司 | Block storage method, block storage device, node equipment and storage medium |
CN111447112B (en) * | 2020-03-25 | 2021-11-26 | 中国银行股份有限公司 | Block chain network monitoring system, device and method |
CN111638998A (en) * | 2020-05-29 | 2020-09-08 | 宝鸡文理学院 | A blockchain evaluation system |
CN111767211A (en) * | 2020-06-15 | 2020-10-13 | 北京同邦卓益科技有限公司 | Consortium chain test method and device, storage medium, electronic device |
CN112486830B (en) * | 2020-06-24 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | Pressure testing method, device and system for block chain network |
CN111953546B (en) * | 2020-08-20 | 2023-03-24 | 上海和数软件有限公司 | Internet of things equipment management method based on block chain system and intelligent home system |
CN112818055B (en) * | 2020-12-29 | 2023-05-19 | 杭州趣链科技有限公司 | Block chain performance optimization method, device and equipment |
CN112860531B (en) * | 2021-02-22 | 2022-11-25 | 北京航空航天大学 | Performance Evaluation Method for Broad Consensus of Blockchain Based on Deep Heterogeneous Graph Neural Network |
CN113079067A (en) * | 2021-03-30 | 2021-07-06 | 上海万向区块链股份公司 | Union chain performance bottleneck testing system and method based on multidimensional data integration analysis |
CN114201403A (en) * | 2021-12-15 | 2022-03-18 | 中山大学 | Distributed pressure test system and method of block chain network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035938A (en) * | 2013-03-07 | 2014-09-10 | 阿里巴巴集团控股有限公司 | Performance continuous integration data processing method and device |
CN104572444B (en) * | 2014-12-10 | 2018-07-03 | 网易(杭州)网络有限公司 | A kind of game performance cloud test platform and its test method |
CN104536888A (en) * | 2014-12-24 | 2015-04-22 | 网易(杭州)网络有限公司 | Game testing method and system for mobile devices |
US20160321676A1 (en) * | 2015-05-01 | 2016-11-03 | Monegraph, Inc. | Sharing content within social network services |
-
2016
- 2016-11-25 CN CN201611070758.8A patent/CN106598824B/en active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12021991B2 (en) | 2018-08-18 | 2024-06-25 | Eygs Llp | Methods and systems for implementing zero- knowledge proofs in transferring partitioned tokens on distributed ledger-based networks |
US10951409B2 (en) | 2018-10-19 | 2021-03-16 | Eygs Llp | Methods and systems for verifying token-based actions on distributed ledger-based networks through the use of zero-knowledge proofs |
WO2020212436A1 (en) * | 2019-04-15 | 2020-10-22 | Eygs Llp | Systems, apparatus and methods for local state storage of distributed ledger data without cloning |
US11502838B2 (en) | 2019-04-15 | 2022-11-15 | Eygs Llp | Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks |
US11582043B2 (en) | 2019-04-15 | 2023-02-14 | Eygs Llp | Systems, apparatus and methods for backing up and auditing distributed ledger data within a network and securely without using private keys |
US11677563B2 (en) | 2019-04-15 | 2023-06-13 | Eygs Llp | Systems, apparatus and methods for local state storage of distributed ledger data without cloning |
US11683175B2 (en) | 2019-04-15 | 2023-06-20 | Eygs Llp | Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks |
US11683176B2 (en) | 2019-04-15 | 2023-06-20 | Eygs Llp | Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks |
US11777734B2 (en) | 2019-04-15 | 2023-10-03 | Eygs Llp | Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks |
US11811946B2 (en) | 2019-04-15 | 2023-11-07 | Eygs Llp | Systems, apparatus and methods for backing up and auditing distributed ledger data within a network and securely without using private keys |
US11924352B2 (en) * | 2019-04-15 | 2024-03-05 | Eygs Llp | Systems, apparatus and methods for local state storage of distributed ledger data without cloning |
US11943358B2 (en) | 2019-04-15 | 2024-03-26 | Eygs Llp | Methods and systems for identifying anonymized participants of distributed ledger-based networks using zero-knowledge proofs |
Also Published As
Publication number | Publication date |
---|---|
CN106598824A (en) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598824B (en) | The method for analyzing performance and device of block chain | |
CN111813788B (en) | Information query method and device, information synchronization method and device | |
CN111176803B (en) | Service processing method, device, server and storage medium | |
CN103699440A (en) | Method and device for cloud computing platform system to distribute resources to task | |
EP4287102A1 (en) | Cross-chain transaction processing method and apparatus, electronic device, and storage medium | |
CN106657216B (en) | Serial number generation method and device | |
CN111966556B (en) | Performance pressure measurement method and device, server and computer readable storage medium | |
CN107590075A (en) | A kind of method for testing software and device | |
CN106390451B (en) | Method and device for testing capacity of game server | |
CN108011741A (en) | For simulating the method and system with the block chain of test distributed network | |
CN113129002B (en) | Data processing method and device | |
CN110460471B (en) | Super node election method, device and storage medium | |
CN110990790B (en) | Data processing method and equipment | |
US20250123950A1 (en) | Graph data generation method and apparatus | |
CN108363922A (en) | A kind of automation malicious code emulation detection method and system | |
CN109214189B (en) | Method, device, storage medium and electronic equipment for identifying program bugs | |
CN109918275A (en) | It is a kind of to realize the method, apparatus and system that pressure test is carried out to server performance | |
CN113268340A (en) | Virtual resource package generation method and device, electronic equipment and storage medium | |
CN113360363A (en) | Test method, device, equipment and computer storage medium for micro service system | |
CN110909072B (en) | Data table establishment method, device and equipment | |
CN107395663A (en) | Data capture method and device | |
CN109389271B (en) | Application performance management method and system | |
CN113225218A (en) | Method and device for checking call ticket quality | |
CN116319416A (en) | A performance testing method and device suitable for multi-node blockchain systems | |
CN113971118B (en) | Performance test method, device, equipment and computer readable storage medium |
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 |