一种区块链性能基准测试方法和装置制造方法及图纸

技术编号:22534762 阅读:26 留言:0更新日期:2019-11-13 10:58
本申请提供了一种区块链性能基准测试方法和装置,所述方法包括:构造用于测试的交易;从被测区块链中获取签名算法,对构造的交易进行签名;将签名后的交易广播发送给被测区块链;当用于测试的交易全部发送完成后,从所述被测区块链中获取发送的交易对应的测试数据。该方法通过非侵入式的区块链性能基准测试方案,能够降低测试人员的测试门槛,减少测试的准备工作,并提高测试效率。

A performance benchmark method and device for blockchain

The application provides a blockchain performance benchmarking method and device, the method includes: constructing a transaction for testing; obtaining a signature algorithm from the tested blockchain, signing the constructed transaction; sending the signed transaction broadcast to the tested blockchain; obtaining the sent transaction pair from the tested blockchain after all the transactions for testing are sent Test data required. Through the non-invasive blockchain performance benchmarking scheme, this method can reduce the test threshold of testers, reduce the test preparation, and improve the test efficiency.

【技术实现步骤摘要】
一种区块链性能基准测试方法和装置
本专利技术涉及测试
,特别涉及一种区块链性能基准测试方法和装置。
技术介绍
当前众多开源的区块链性能基准测试工具,普遍存在上手难、门槛高,要求测试人员学习并掌握底层测试链的原理以及相应的接口设置,并且测试工具与底层测试链大多侵入式,高耦合化,在测试流程上以及配置上存在设计的缺陷。以主流且开源的由Linux基金会托管的Hyperledger项目下的Caliper为例,其被大多测试人员采用,针对多个Hyperledger项目下的底层链进行基准测试工作。Caliper首先通过配置针对底层链的组网、启网、性能基准测试进行配置,通过测试工具组织完成测试链整个网络的启动,通过分配子任务的方式,向测试链发送交易并由当前子任务实时的进行测试结果收集,当全部任务执行完毕后,Caliper针对各个子任务实时采集的数据结果,进行汇总并生成测试报告。即采用一种侵入式的方式,完成整个性能基准测试。通过上述选取的典型代表Caliper侵入式的测试工具工作流程举例,可以总结该设计的缺点如下:一种性能基准测试工具与测试链高度耦合的设计方式,通过测试工具的配置与编码,实现测试链自身的组网、启动等初始化工作,将原本应该独立实现的工作交由测试工具、从而增加了测试工具的研发门槛,对测试人员提出了需要了解测试链原理与接口,并需要研发的额外工作量;侵入式的测试工具一般采用实时收集测试结果的方式,虽然在一定程度可以加快测试报告的生成,即因交易子任务全部发送完成后,测试结果数据可拿来直接计算出报告。但侵入式实时的设计方法将交易发送与交易收集间接耦合化,将原先无联系的工作合并在同一个子任务中处理,会占用机器资源,对并发的压力发送会产生一定程度的影响。
技术实现思路
有鉴于此,本申请提供一种区块链性能基准测试方法,能够降低测试人员的测试门槛,减少测试的准备工作,并提高测试效率。为解决上述技术问题,本申请的技术方案是这样实现的:在一个实施例中,提供了一种区块链性能基准测试方法,所述方法包括:构造用于测试的交易;从被测区块链中获取签名算法,对构造的交易进行签名;将签名后的交易广播发送给被测区块链;当用于测试的交易全部发送完成后,从所述被测区块链中获取发送的交易对应的测试数据。其中,所述将签名后的交易广播发送给被测区块链时,所述方法进一步包括:记录发送的交易的哈希值,以及发送信息;所述从所述被测区块链中获取发送的交易对应的测试数据时,所述方法进一步包括:根据获取的测试数据中的哈希值确定所述测试数据中的测试结果对应的交易,并以哈希值为映射值,关联交易的发送信息和测试结果。其中,所述测试结果包括:是否落块、所在块高、执行结果和最终链上的时间戳信息;所述发送信息包括:发送时间戳信息和是否为探针交易。其中,所述方法进一步包括:虚拟交易签名接口、交易广播接口和遍历区块交易接口;通过所述虚拟交易签名接口从被测区块链中获取签名算法;通过所述交易广播接口向被测区块链广播发送签名后的交易;通过所述遍历区块交易接口从所述被测区块链中获取发送的交易对应的测试数据。在另一个实施例中,提供了一种区块链性能基准测试装置,所述装置包括:交易构造签名模块、交易广播发送模块和交易结果收集模块;所述交易构造签名模块,用于构造用于测试的交易;从被测区块链中获取签名算法,对构造的交易进行签名;所述交易广播发送模块,用于将所述交易构造签名模块签名后的交易广播发送给被测区块链;所述交易结果收集模块,用于当用于测试的所有签名后的交易全部发送完成后,从所述被测区块链中获取发送的交易对应的测试数据。其中,所述装置进一步包括:存储单元;所述存储单元,用于所述交易广播发送模块将签名后的交易广播发送给被测区块链时,记录发送的交易的哈希值和发送信息;所述交易结果收集模块从所述被测区块链中获取发送的交易对应的测试数据时,根据获取的测试数据中的哈希值确定所述测试数据中的测试结果对应的交易,并以哈希值为映射值,关联交易的发送信息和测试结果。其中,所述测试结果包括:是否落块、所在块高、执行结果和最终链上的时间戳信息;所述发送信息包括:发送时间戳信息和是否为探针交易。其中,所述交易构造签名模块,进一步用于虚拟交易签名接口,通过所述虚拟交易签名接口从被测区块链中获取签名算法;所述交易广播发送模块,进一步用于虚拟交易广播接口,通过所述交易广播接口向被测区块链广播发送签名后的交易;所述交易结果收集模块,进一步用于虚拟遍历区块交易接口,通过所述遍历区块交易接口从所述被测区块链中获取发送的交易对应的测试数据。在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如所述区块链性能基准测试方法的步骤。在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述区块链性能基准测试方法的步骤。由上面的技术方案可见,上述实施例中采用松耦合的方式将区块链性能基准测试与区块链的底层测试链拆分,通过构造、签名交易,并向被测试区块链发送签名后的交易,再事后从被测试区块链中收集发送交易对应的测试数据;而被测试的区块链的底层测试链自行起链(不依赖任何测试工具的配置),接收交易并处理交易即可。该方法能够实现非侵入式的区块链性能基准测试,能够降低测试人员的测试门槛,减少测试的准备工作,并提高测试效率。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例一中区块链性能基准测试流程示意图;图2为本申请实施例二中区块链性能基准测试流程示意图;图3为本申请实施例中测试设备在数据库中记录发送信息和测试结果的示意图;图4为本申请实施例中应用于上述技术的装置结构示意图;图5为本申请实施例中测试装置与被测试区块链的底层测试链交互的示意图;图6为本专利技术实施例提供的电子设备的实体结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面以具体实施例对本专利技术的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。本申请实施例中提供一种区块链性能基准测试方法,采用松耦合的方式将区块链性能基准测试与区块链的底层测试链拆分,通过构造、签名交易,并向被测试区块链发送签名后的交易,再事后从被测试区块链中收集发送交易对应的测试数据;而被测试的区块链的底层测试链自行起链(不依赖任何测试工具的配置),接收交易并处理交易即可。该方法能够实现非侵入式的区块链性能基准测试,能够降低测试人员的测试门槛,减少测试的准备工作,并提高测试效率。本申请实施例中提供的区块链性能基准测试方法应用于一测试设备上,该测试设备可以为一台具有交易构造、数据收发的功能即可,具体实现时可本文档来自技高网
...

【技术保护点】
1.一种区块链性能基准测试方法,其特征在于,所述方法包括:构造用于测试的交易;从被测区块链中获取签名算法,对构造的交易进行签名;将签名后的交易广播发送给被测区块链;当用于测试的交易全部发送完成后,从所述被测区块链中获取发送的交易对应的测试数据。

【技术特征摘要】
1.一种区块链性能基准测试方法,其特征在于,所述方法包括:构造用于测试的交易;从被测区块链中获取签名算法,对构造的交易进行签名;将签名后的交易广播发送给被测区块链;当用于测试的交易全部发送完成后,从所述被测区块链中获取发送的交易对应的测试数据。2.根据权利要求1所述的方法,其特征在于,所述将签名后的交易广播发送给被测区块链时,所述方法进一步包括:记录发送的交易的哈希值,以及发送信息;所述从所述被测区块链中获取发送的交易对应的测试数据时,所述方法进一步包括:根据获取的测试数据中的哈希值确定所述测试数据中的测试结果对应的交易,并以哈希值为映射值,关联交易的发送信息和测试结果。3.根据权利要求2所述的方法,其特征在于,所述测试结果包括:是否落块、所在块高、执行结果和最终链上的时间戳信息;所述发送信息包括:发送时间戳信息和是否为探针交易。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法进一步包括:虚拟交易签名接口、交易广播接口和遍历区块交易接口;通过所述虚拟交易签名接口从被测区块链中获取签名算法;通过所述交易广播接口向被测区块链广播发送签名后的交易;通过所述遍历区块交易接口从所述被测区块链中获取发送的交易对应的测试数据。5.一种区块链性能基准测试装置,其特征在于,所述装置包括:交易构造签名模块、交易广播发送模块和交易结果收集模块;所述交易构造签名模块,用于构造用于测试的交易;从被测区块链中获取签名算法,对构造的交易进行签名;所述交易广播发送模块,用于将所述交易构造签名模块签名后的交易广播发送给被...

【专利技术属性】
技术研发人员:魏凯杨白雪刘虹男何宝宏姜春宇张启和涛张奕卉刘寒王妙琼马鹏玮王卓闫树田稼丰李雨霏李俊逸刘海燕
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1