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

技术编号:22594483 阅读:15 留言:0更新日期:2019-11-20 10:59
本申请提供了一种区块链性能基准测试方法和装置,所述方法包括:从被测区块链中获取交易的格式,以及签名算法;使用获取的格式构造用于测试的交易;使用获取的签名算法对构造的交易进行签名;将签名后的交易广播发送给被测区块链;从所述被测区块链中获取发送的交易对应的测试数据。通过非侵入式的区块链性能基准测试方案,能够在降低测试人员的测试门槛,提高测试效率的基础上,兼容多类型区块链的性能基准测试。

A performance benchmark method and device for blockchain

The application provides a blockchain performance benchmarking method and device, the method includes: obtaining the format of the transaction from the tested blockchain, as well as the signature algorithm; constructing the transaction for test using the acquired format; signing the constructed transaction using the acquired signature algorithm; sending the signed transaction broadcast to the tested blockchain; and from the tested blockchain Get the test data corresponding to the sent transaction. Through the non-invasive blockchain performance benchmarking scheme, it can reduce the testing threshold of testers, improve the testing efficiency, and be compatible with multi type blockchain performance benchmarking.

【技术实现步骤摘要】
一种区块链性能基准测试方法和装置
本专利技术涉及区块链测试
,特别涉及一种区块链性能基准测试方法和装置。
技术介绍
开源的区块链性能基准测试工具比较出名的有Linux基金会下的HpyerledgerCaliper,该工具支持并兼容Hyperledger下的区块链平台,包括Fabric、Sawtooth、Iroha、Burrow的性能测试。有关现有的Caliper性能测试工具,架构上主要分为三个模块,即适配层(AdaptationLayer)、核心接口层(Interface&CoreLayer)、基准测试层(BenchmarkLayer)。现有的Caliper性能基准测试中,针对适配层的实现,包括提供各个测试链的适配器(Adaptor),目前Caliper提供了Fabric,Sawtooth、Iroha、Burrow。适配器需要针对链的组网方式,初始化步骤,依次编写相应的脚本。以主流的Fabric适配器举例,适配器部分需要编码生成组织关系和身份证书,启动排序节点与产生初始创世区块、创建交易通道、背书节点加入通道、安装并实例化链码等工作。现有技术针对不同链需要进行适配工作,存在如下问题:测试人员使用性能基准测试工具前,需要十分了解测试链的组网启动流程,即需要详细学习了解测试链的SDK文档、甚至需要了解测试链源码,才能很好的进行适配器层的开发,这对测试人员提出了很高要求;需要具有抽象能力,划分并设计合理的测试链组网启动流程为多个模块,才能针对适配器层的研发进行多人协作;由于不同测试链的组网启动流程不同,测试前需要定制化对应的适配器、耦合化定制存在依赖测试链暴露的API,若编写语言层面存在差异,测试人员则需要学习新的编程语言,增加人工成本。
技术实现思路
有鉴于此,本申请提供一种区块链性能基准测试方法和装置,能够在降低测试人员的测试门槛,提高测试效率的基础上,兼容多类型区块链的性能基准测试。为解决上述技术问题,本申请的技术方案是这样实现的:在一个实施例中,提供了一种区块链性能基准测试方法,所述方法包括:从被测区块链中获取交易的格式,以及签名算法;使用获取的格式构造用于测试的交易;使用获取的签名算法对构造的交易进行签名;将签名后的交易广播发送给被测区块链;从所述被测区块链中获取发送的交易对应的测试数据。其中,所述方法进一步包括:获取被测区块链的应用程序接口API信息,并根据获取的API信息虚拟构造交易接口、交易签名接口、交易广播接口、区块遍历接口和交易遍历接口通过所述构造交易接口从被测区块链中获取交易的格式;通过所述虚拟交易签名接口从被测区块链中获取签名算法;通过所述交易广播接口向被测区块链广播发送签名后的交易;通过所述区块遍历接口和所述交易遍历接口从所述被测区块链中获取发送的交易对应的测试数据;其中,通过所述区块遍历接口获取区块级别的测试数据,通过所述交易遍历接口获取交易级别的测试数据。其中,所述被测区块链为超级账本Hyperledger法波瑞克Fabric、比特币Bitcoin、或以太坊Ethereum区块链。在另一个实施例中,提供了一种区块链性能基准测试装置,所述装置包括:交易构造签名模块、交易广播发送模块和交易结果收集模块;所述交易构造签名模块,用于从被测区块链中获取交易的格式,以及签名算法;使用获取的格式构造用于测试的交易;使用获取的签名算法对构造的交易进行签名;所述交易广播发送模块,用于将所述交易构造签名模块签名后的交易广播发送给被测区块链;所述交易结果收集模块,用于从所述被测区块链中获取发送的交易对应的测试数据。其中,所述交易构造签名模块包括交易构造单元和交易签名单元;所述交易构造单元,用于从被测区块链中获取交易的格式,并根据获取的格式构造交易;所述交易签名单元,用于从所述被测区块链中获取签名算法,对所述交易构造单元构造的交易签名。其中,所述交易构造签名模块,进一步用于获取被测区块链的应用程序接口API信息,并根据获取的API信息虚拟构造交易接口和虚拟交易签名接口,通过所述构造交易接口从被测区块链中获取交易的格式,通过所述虚拟交易签名接口从被测区块链中获取签名算法;所述交易广播发送模块,进一步用于根据获取的API信息虚拟交易广播接口,通过所述交易广播接口向被测区块链广播发送签名后的交易;所述交易结果收集模块,进一步用于根据获取的API信息虚拟区块遍历接口和交易遍历接口,通过所述区块遍历接口和所述交易遍历接口从所述被测区块链中获取发送的交易对应的测试数据。其中,所述被测区块链为超级账本Hyperledger法波瑞克Fabric、比特币Bitcoin、或以太坊Ethereum区块链。在另一个实施例中,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述区块链性能基准测试方法的步骤。在另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述区块链性能基准测试方法的步骤。由上面的技术方案可见,上述实施例中采用松耦合的方式将区块链性能基准测试与区块链的底层测试链拆分,通过构造、签名交易,并向被测试区块链发送签名后的交易,从被测试区块链中收集发送交易对应的测试数据实现区块链性能基准测试;而被测试的区块链的底层测试链自行起链(不依赖任何测试工具的配置),接收交易并处理交易即可。通过非侵入式的区块链性能基准测试方案,能够在降低测试人员的测试门槛,提高测试效率的基础上,兼容多类型区块链的性能基准测试。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例中区块链性能基准测试流程示意图;图2为本申请实施例中应用于上述技术的装置结构示意图;图3为本申请实施例中测试装置与被测试区块链的底层测试链交互的示意图;图4为本专利技术实施例提供的电子设备的实体结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。下面以具体实施例对本专利技术的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。本申请实施例中提供一种区块链性能基准测试方法,采用松耦合的方式将区块链性能基准本文档来自技高网
...

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

【技术特征摘要】
1.一种区块链性能基准测试方法,其特征在于,所述方法包括:
从被测区块链中获取交易的格式,以及签名算法;
使用获取的格式构造用于测试的交易;
使用获取的签名算法对构造的交易进行签名;
将签名后的交易广播发送给被测区块链;
从所述被测区块链中获取发送的交易对应的测试数据。


2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
获取被测区块链的应用程序接口API信息,并根据获取的API信息虚拟构造交易接口、交易签名接口、交易广播接口、区块遍历接口和交易遍历接口
通过所述构造交易接口从被测区块链中获取交易的格式;
通过所述虚拟交易签名接口从被测区块链中获取签名算法;
通过所述交易广播接口向被测区块链广播发送签名后的交易;
通过所述区块遍历接口和所述交易遍历接口从所述被测区块链中获取发送的交易对应的测试数据;其中,通过所述区块遍历接口获取区块级别的测试数据,通过所述交易遍历接口获取交易级别的测试数据。


3.根据权利要求1或2所述的装置,其特征在于,
所述被测区块链为超级账本Hyperledger法波瑞克Fabric、比特币Bitcoin、或以太坊Ethereum区块链。


4.一种区块链性能基准测试装置,其特征在于,所述装置包括:交易构造签名模块、交易广播发送模块和交易结果收集模块;
所述交易构造签名模块,用于从被测区块链中获取交易的格式,以及签名算法;使用获取的格式构造用于测试的交易;使用获取的签名算法对构造的交易进行签名;
所述交易广播发送模块,用于将所述交易构造签名模块签名后的交易广播发送给被测区块链;
所述交易结果收集模块...

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

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

1