CN110113229A - 一种区块链基准性能测试系统和工具 - Google Patents

一种区块链基准性能测试系统和工具 Download PDF

Info

Publication number
CN110113229A
CN110113229A CN201910360053.7A CN201910360053A CN110113229A CN 110113229 A CN110113229 A CN 110113229A CN 201910360053 A CN201910360053 A CN 201910360053A CN 110113229 A CN110113229 A CN 110113229A
Authority
CN
China
Prior art keywords
block chain
test macro
test
data
computer
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.)
Pending
Application number
CN201910360053.7A
Other languages
English (en)
Inventor
朱建明
高胜
袁崇轩
朴桂荣
章�宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central university of finance and economics
Original Assignee
Central university of finance and economics
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 Central university of finance and economics filed Critical Central university of finance and economics
Priority to CN201910360053.7A priority Critical patent/CN110113229A/zh
Publication of CN110113229A publication Critical patent/CN110113229A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

本发明涉及一种区块链基准性能测试系统和工具,包括测试用例、测试引擎、区块链接口模块、资源监控器、报告生成模块、指定区块链适配器模块等,所述测试用例是用户使用预定义的通过计算机编程技术编写的一组数据流,所述测试引擎是运行前述数据流的计算机程序载体,所述区块链接口模块提供一组数据接口处理数据流,所述资源监控器设定在测试引擎旁,监控测试引擎运行过程中占用的计算机资源,所述报告生成模块将资源监控器得到的数据处理成用户易读的格式化数据;上述的区块链性能测试工具构成测试系统,使用所述的指定区块链适配器模块将测试系统与已有区块链连接,本发明的区块链性能测试工具使用户可以使用测试系统获得一组性能测试结果,使用户对当前使用的区块链系统运行情况和性能指标更加了解。

Description

一种区块链基准性能测试系统和工具
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链基准性能测试系统和工具。
背景技术
当前区块链平台众多,包括以比特币区块链、以太坊区块链、Hyperledger Fabric等为代表的开源平台;以及企业自主研发的区块链平台。然而,一方面,由于硬件配置、运行环境、测试指标等差异,难以实现各平台之间的有效比较。另一方面,由于部分区块链平台信息披露十分有限,难以验证所描述的性能指标的真实性。
Dinh等人在文献“Dinh T.T.A.,Wang J.,Chen G.,et al.Blockbench:Aframework for analyzing private blockchains[A].Proceedings of the 2017ACMInternational Conference on Management of Data[C].2017:1085–1100.”中提出了首个区块链评估方法Blockbench,从吞吐量、时延、可扩展和容错性等方面分析了Ethereum、Parity和Hyperledger Fabric典型区块链平台,评估结果表明这些平台性能与现有数据库系统相差较远,该方案是一种评估某特定私有链的框架,存在对其他平台的区块链不兼容、不适配的情况。Zheng等人在文献“Zheng P.,Zheng Z.,Luo X.,et al.A detailed andreal-time performance monitoring framework for blockchain systems[A].2018IEEE/ACM 40th International Conference on Software Engineering:SoftwareEngineering in Practice Track[C].2017:134–143.”从定量角度给出了区块链性能指标评估方法,并提出了一个基于日志的性能监控框架,通过对Ethereum、Parity、Fabric和CITA进行评估来验证框架有效性。这些方法存在的不足之处是:评估方法面向的许可链,不具有通用性。
现有区块链测试方法,如一种区块链系统的测试系统和方法(申请号:CN201711320172.7)中公开了一种区块链交易测试方案;一种区块链数据传输测试方法及装置(申请号:CN201810885458.8)中公开了一种区块链中数据传输测试方案;一种区块链测评系统(申请号:CN201810372960.9)中公布了一种区块链中智能合约性能测试方案;区块链共识算法测试方法、装置、计算装置和存储介质(申请号:CN201811354913.8)中公布了一种区块链共识算法测试方案;区块链引入测试方法、装置、设备及可读存储介质(申请号:CN201811135647.X)。这些方法存在的不足之处是:大都面向个体应用或某个组件单独测试,并没有给出跨越多平台的通用的区块链系统一般性测试方案,基础性和通用性不足。
发明内容
针对上述问题,本发明提供了一种区块链基准性能测试系统和工具,实现对于不同种类、跨平台的区块链系统的通用性能测试技术,用户可以使用本发明提出的区块链基准性能测试系统及其提供的工具对任一区块链进行基准性能测试,得到系统性能报告,全面了解待测区块链系统情况。
为了达到该技术目的并实现上述创新点,本发明采用如下方案:
一种区块链基准性能测试系统和工具,包括测试用例、测试引擎、区块链接口模块、资源监控器、报告生成模块和指定区块链适配器模块等,所述测试用例是用户编写的一组数据流,所述测试引擎是运行前述数据流的计算机程序载体,所述区块链接口模块提供一组接口处理数据流,所述资源监控器设定在测试引擎旁,监控测试引擎运行过程中占用的计算机资源,所述报告生成模块将资源监控器得到的数据处理成用户易读的格式化数据;
所述区块链基准性能测试系统由测试引擎、区块链接口模块、资源监控器、报告生成模块等模块工具构成,包括一台或多台计算机、软件代码部分、联网设备,一台或多台计算机是待测试区块链运行的实体设备,软件代码部分是搭载在实体设备上的能够进行性能测试的数据处理工具,联网设备将一台或多台计算机相连接;
所述的区块链适配器模块包括集成开发环境和接口,在计算机的集成开发环境中使用数据处理接口,适配器模块将待测试区块链的各项配置信息获取并在本地模拟网络中仿真实现,使用与待测区块链完全一致的配置并辅以一定的优化设置达到在本地模拟测试的目的,适配器模块采用软件工程领域中适配器的设计模式,它的核心是把一个系统的接口变换成客户端所期待的另一种接口,所述客户端接口即是本发明的区块链适配器模块中的接口,所述系统的接口即是待测区块链系统的接口,详细实施描述及这种适配器方案可以用来进行区块链基准性能测试的合理性在具体实施例中给出。
通过上述技术方案,本发明的计算机设备通过联网设备部署在物理环境中,将区块链基准性能测试系统预设在计算机设备内,并使用工具完成对计算机设备中运行的区块链系统的性能测试。
这个过程涉及一组包含输入与输出数据流的数据处理过程,数据输入是用户预定义的用例,数据输出是测试系统生成的易读的格式化数据。
具体步骤如下:
第一步,输入预定义的用例,这个用例最终可以使用一组数据流来表示,它为测试引擎所读取;
第二步,测试引擎使用几个独立的配置文件处理读取的数据流,这些配置文件中指定待测区块链的类型和名称、开始和终止的命令脚本、详细的测试方法如速率控制、迭代次数和迭代参数,其中速率控制由速率控制器完成,速率控制器定义了一组对输入数据流按照指定速率进行数据处理的接口,使用户能够在自定义机制下执行测试;
第三步,测试引擎执行测试的同时启动资源监视器,资源监视器包括获取模块和分析模块,获取模块获取测试引擎中待测区块链系统的资源消耗情况,包括CPU占用,内存使用,网络中的I/O流量等情况,分析模块读取性能统计信息,按照规定的数据处理过程计算TPS、延迟、成功率等指标,另外,资源监视器接口需要记录测试引擎传递的关键指标用于计算上述指标,例如创建事务的提交时间、结束时间和数据流的迭代执行次数等;
第四步,报告生成模块从资源监视器中获取数据处理结果并把数据流输出生成为用户易读的格式化数据报告。
进一步,本发明所述的指定区块链适配器模块在调用区块链北向接口是指,测试系统内部使用定义好的操作界面、资源监控器获取模块和分析模块、报告生成模块等多种接口将配置文件规定的测试命令发送给计算机设备上的区块链系统并获取区块链系统的反馈信息,这些信息统一成特定的数据流供测试引擎进行数据处理。
进一步,本发明所述测试步骤可分为三个阶段,即准备、测试、报告阶段。
准备阶段,主服务器使用区块链配置文件创建并初始化内部区块链对象,按照配置指定部署智能合约,并启动监控对象以监控设备运行区块链系统的资源消耗。
测试阶段,主服务器实行迭代过程,根据配置文件执行测试,根据定义的工作负载产生任务并将其分配给客户端,其次存储客户端返回的性能统计信息以供以后分析。
报告阶段,分析每个测试轮次所有统计数据,并自动生成格式化数据报告。
进一步,本发明所述的数据处理过程中输入在准备阶段,输出在报告阶段。
进一步,本发明所述的主服务器是指区块链基准性能测试系统和工具运行端,客户端是指待测区块链系统运行端。
进一步,所述的测试系统可以产生经过数据处理后的对特定区块链系统性能表现的格式化报告;所述的测试系统测试的是计算机设备中所运行的区块链系统;所述的指定区块链适配器模块将现有的区块链系统集成到权利要求的测试系统框架中;所述的测试系统基于现实存在的计算机硬件设备,设备上搭载有联网设施。
本发明的有益效果在于:
使用一种区块链基准性能测试系统和工具可以方便地得到目标区块链系统的各项性能指标,实现对目标区块链性能的自动化测试,对用户使用区块链系统有明显的指导意义,对目标区块链系统的表现有全面了解。
附图说明
图1为本发明的体系结构图;
图2为本发明中测试引擎的运行示意图;
图3为一种配置文件编写示例;
图4为多机分布式客户端拓扑图。
具体实施方式
下面结合附图对本专利作进一步描述。
如图1、图2、图3和图4所示,一种区块链基准性能测试系统和工具,包括测试用例、测试引擎、区块链接口模块、资源监控器、报告生成模块、指定区块链适配器模块等。
本专利的任何实施均从本步骤开始,首先是产生配置文件,配置文件为测试引擎提供在本地或分布式部署条件下生成测试网络的各项参数;
配置文件的生成由本发明中的指定区块链适配器模块完成,在发明内容中指出该适配器模块采用软件工程领域的适配器设计模式,该模式通过定义一个新的接口,对实现的功能加以抽象,另外再实现数个该接口的Adapter类来透明地调用外部接口或组件,该外部接口或组件即为待测区块链系统的接口或组件;
使用由适配器模块生成的配置文件最终构建的测试网络可以进行基准性能测试的创新点是:在本发明中提及的测试系统中替换外部待测区块链各个组件时,最多只需要修改特定的几个Adapter类就可以达到目的,其他源代码和待测区块链系统均不会受到测试系统的影响,因而部署测试方便快捷且对于多平台、多种类的区块链系统均予以支持;
指定区块链适配器模块使用预先编写好的获取目标待测区块链完整配置的方法生成json格式的配置文件,这种格式化文件可以很容易地被测试引擎所读取,生成的一种配置文件由图3所示,它的使用方法在后续实施步骤中描述;
如图1、图2所示,测试引擎处于体系结构图1所示位置,它的内部逻辑如图2所示,主服务器按照配置文件的要求执行初始化、开启资源监控、执行测试、输出格式化数据等过程,其中资源监控是基于Docker容器的计算机技术,这是一种发展成熟的计算机资源监控技术,非本发明范围故不再赘述;
客户端按照配置文件的要求执行创建、执行、释放任务和返回结果的过程;
主服务器和客户端在执行测试过程中产生交互,进行数据处理;
数据的输入和输出面对对象都是用户,即由用户提供预定义的测试用例作为输入;
最后产生用户友好的格式化数据报告作为输出。
数据流的处理过程为初始化、执行、结束,分别对应客户端的创建任务、执行任务、释放任务三个阶段,针对每个数据流的测试均需要包含三个函数,名称分别是Init、Run和Release,Init负责创建任务,它完成一些初始化工作,如规定对该数据流采用何种格式化的处理方法;Run负责执行任务,它完成事务的具体测试流程,如规定了经初始化处理后的数据流需经过几轮测试,每轮测试执行哪种速率控制方式;Release负责释放任务,它完成数据流测试结束后的资源释放,如对本轮测试过程中内存或硬盘占用进行释放以保证后续测试轮次的稳定;
特别需要说明,上述执行任务表示在测试网络的主服务器中执行测试,它处理是对各客户端上交的并经过Init处理后的数据流,这个执行(Run)中涉及速率控制、数据迭代、性能计算等三项基本操作。
如图2、图3所示,主服务器和客户端依赖配置文件进行测试,图3所示是一种配置文件的编写模板,利用计算机编程方法定义了测试入口、过程和出口,主要参数设定要求已由前述发明内容给出。
如图4,在多机分布式部署的方式下,每个客户端在测试文件夹下创建三个标识:
(1)唯一标识ID表示此客户端;
(2)顺序子标识1表示发送到此客户端的消息序列所处位置;
(3)顺序子标识2包含此客户端创建发出的消息序列所处位置。
系统的测试引擎生成一个序列管理器,它可以读取消息序列数据并相应地处理该消息,以上涉及消息的队列化,这样可以方便地处理多机测试任务,统一地由主服务器处理消息。
在本实施例中所有物理设备需要电力驱动,保证测试系统稳定运行均使用电源统一配电,具体方法涉及基础电器设备使用,此为常用技术不再赘述。
由于本专利的测试系统主要是为了满足用户使用预定义用例测试目标区块链并得到数据报告,因此在本实施例中,测试系统的部署必须基于物理环境存在的计算机硬件设备,这个设备可能是一台或者多台,需要特别说明的是,实施例以一台计算机设备作为基本单位进行,另外给出如图4多机分布式拓扑形式,即以基本单位的重复并辅以图4说明可以完成多机分布式实施例,以上保证本专利实施的稳定性。
以上仅为本专利的优选实施例,并非因此限制专利范围,凡是利用本专利说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种区块链基准性能测试系统和工具,其特征在于包括测试用例、测试引擎、区块链接口模块、资源监控器、报告生成模块和指定区块链适配器模块等,所述测试用例是用户使用预定义的通过计算机编程技术编写的一组数据流,所述测试引擎是运行前述数据流的计算机程序载体,所述区块链接口模块提供一组北向接口处理数据流,所述资源监控器设定在测试引擎旁,监控测试引擎运行过程中占用的计算机资源,所述报告生成模块将资源监控器得到的数据处理成用户易读的格式化数据;
所述区块链基准性能测试系统由测试引擎、区块链接口模块、资源监控器、报告生成模块等模块工具构成,包括一台或多台计算机、软件代码部分、必要的联网设备,一台或多台计算机是待测试区块链运行的实体设备,软件代码部分是搭载在实体设备上的能够进行性能测试的数据处理工具,必要的联网设备将一台或多台计算机相连接;
所述的指定区块链适配器模块包括集成开发环境和接口,在计算机的集成开发环境中使用数据处理接口,将测试系统与已有区块链系统相连接。
2.根据权利要求1所述的一种区块链基准性能测试系统和工具,其特征在于:所述的测试系统可以产生经过数据处理后的对特定区块链系统性能表现的格式化报告。
3.根据权利要求1所述的一种区块链基准性能测试系统和工具,其特征在于:所述的测试系统测试的是计算机设备中所运行的区块链系统。
4.根据权利要求1所述的一种区块链基准性能测试系统和工具,其特征在于:所述的指定区块链适配器模块将现有的区块链系统集成到权利要求的测试系统框架中。
5.根据权利要求1或2或3或4中任一权利要求所述的一种区块链基准性能测试系统和工具,其特征在于:所述的测试系统基于现实存在的计算机硬件设备,设备上搭载有联网设施。
CN201910360053.7A 2019-05-01 2019-05-01 一种区块链基准性能测试系统和工具 Pending CN110113229A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910360053.7A CN110113229A (zh) 2019-05-01 2019-05-01 一种区块链基准性能测试系统和工具

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910360053.7A CN110113229A (zh) 2019-05-01 2019-05-01 一种区块链基准性能测试系统和工具

Publications (1)

Publication Number Publication Date
CN110113229A true CN110113229A (zh) 2019-08-09

Family

ID=67487730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910360053.7A Pending CN110113229A (zh) 2019-05-01 2019-05-01 一种区块链基准性能测试系统和工具

Country Status (1)

Country Link
CN (1) CN110113229A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190831A (zh) * 2020-01-02 2020-05-22 南京邮电大学 区块链共识算法的鲁棒性分析方法及区块链系统
CN112416801A (zh) * 2020-12-08 2021-02-26 吉林大学 一种基于区块链技术的内存计算引擎的测试方法和系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598824A (zh) * 2016-11-25 2017-04-26 深圳前海微众银行股份有限公司 区块链的性能分析方法及装置
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107330026A (zh) * 2017-06-22 2017-11-07 物链(北京)科技有限公司 一种兼容异构区块链平台的方法及系统
CN107395674A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种应用系统访问异构区块链平台的方法及装置
US20180165416A1 (en) * 2016-12-09 2018-06-14 Cognitive Scale, Inc. Method for Providing Healthcare-Related, Blockchain-Associated Cognitive Insights Using Blockchains
CN108876618A (zh) * 2018-06-15 2018-11-23 浙江华信区块链科技服务有限公司 一种交换区块链系统及相应的通用区块链互操作方法和网络
CN109639521A (zh) * 2018-12-05 2019-04-16 北京京东金融科技控股有限公司 区块链性能的测试方法、装置、设备及存储介质
CN109683867A (zh) * 2018-12-27 2019-04-26 石更箭数据科技(上海)有限公司 一种对接区块链的方法及其装置、介质、终端

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598824A (zh) * 2016-11-25 2017-04-26 深圳前海微众银行股份有限公司 区块链的性能分析方法及装置
US20180165416A1 (en) * 2016-12-09 2018-06-14 Cognitive Scale, Inc. Method for Providing Healthcare-Related, Blockchain-Associated Cognitive Insights Using Blockchains
CN107147704A (zh) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 一种面向区块链的通用服务中间件系统
CN107395674A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种应用系统访问异构区块链平台的方法及装置
CN107330026A (zh) * 2017-06-22 2017-11-07 物链(北京)科技有限公司 一种兼容异构区块链平台的方法及系统
CN108876618A (zh) * 2018-06-15 2018-11-23 浙江华信区块链科技服务有限公司 一种交换区块链系统及相应的通用区块链互操作方法和网络
CN109639521A (zh) * 2018-12-05 2019-04-16 北京京东金融科技控股有限公司 区块链性能的测试方法、装置、设备及存储介质
CN109683867A (zh) * 2018-12-27 2019-04-26 石更箭数据科技(上海)有限公司 一种对接区块链的方法及其装置、介质、终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
享学IT: "区块链性能测试工具caliper", 《CSDN博客》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190831A (zh) * 2020-01-02 2020-05-22 南京邮电大学 区块链共识算法的鲁棒性分析方法及区块链系统
CN111190831B (zh) * 2020-01-02 2022-09-20 南京邮电大学 区块链共识算法的鲁棒性分析方法及区块链系统
CN112416801A (zh) * 2020-12-08 2021-02-26 吉林大学 一种基于区块链技术的内存计算引擎的测试方法和系统
CN112416801B (zh) * 2020-12-08 2022-04-05 吉林大学 一种基于区块链技术的内存计算引擎的测试系统

Similar Documents

Publication Publication Date Title
CN110309071B (zh) 测试代码的生成方法及模块、测试方法及系统
Balci Validation, verification, and testing techniques throughout the life cycle of a simulation study
Goševa-Popstojanova et al. Architecture-based approach to reliability assessment of software systems
US7490029B2 (en) Distributed simulation
US9087041B2 (en) Enterprise test system platform and associated method for interoperable test data management, test development, test libraries and test workflow management and automation
Raedts et al. Transformation of BPMN Models for Behaviour Analysis.
CN107844424A (zh) 基于模型的测试系统及方法
CN107957712A (zh) 改进的用于工业自动化控制器的测试管理器
CN101473283A (zh) 对操作程序的多变量监视
US20190171446A1 (en) Value stream graphs across heterogeneous software development platforms
Aksakalli et al. Systematic approach for generation of feasible deployment alternatives for microservices
CN110113229A (zh) 一种区块链基准性能测试系统和工具
CN108694448A (zh) Phm平台
CN105868956A (zh) 一种数据处理方法及装置
Safonova On one approach to modeling enterprise-wide function-oriented computer networks
Marzolla The qnetworks toolbox: A software package for queueing networks analysis
CN111367786A (zh) 一种符号执行方法、电子设备以及存储介质
CN116775477A (zh) 软件测试进度确定方法及装置
Herzog et al. Performance validation tools for software/hardware systems
Chai et al. Modeling distributed platforms from application traces for realistic file transfer simulation
Koh et al. Database driven simulation/simulation-based scheduling of a job-shop
Eldred et al. DAKOTA, A multilevel parallel object-oriented framework for design optimization, parameter estimation, sensitivity analysis, and uncertainty quantification
CN108132802B (zh) 一种配置模型在系统开发中的应用方法
CN117056238B (zh) 验证部署框架下模型转换正确性的方法及计算设备
Agerwala Analysis of controlling agents for asynchronous processes

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190809

WD01 Invention patent application deemed withdrawn after publication