一种区块链平台的负载测试方法和装置制造方法及图纸

技术编号:33892309 阅读:14 留言:0更新日期:2022-06-22 17:27
本申请实施例公开了一种区块链平台的负载测试方法和装置,可应用于区块链领域。该方法包括:监控模块发送测试指令至测试模块;测试模块根据测试指令模拟并发请求,并执行并发请求至基础交易模块;基础交易模块根据接收到的并发请求,发送指定的交易类型给Fabric Node SDK模块;FabricNode SDK模块提交签名交易请求至Hyperledger Fabric的节点,以使Hyperledger Fabric进行节点打包;Fabric Node SDK模块获取HyperledgerFabric返回的数据,并根据返回的数据确定测试结果。用以对区块链平台进行负载测试和性能测试。块链平台进行负载测试和性能测试。块链平台进行负载测试和性能测试。

【技术实现步骤摘要】
一种区块链平台的负载测试方法和装置


[0001]本专利技术涉及区块链领域,特别是涉及一种区块链平台的负载测试方法和装置。

技术介绍

[0002]随着科技的发展,区块链出现在人们的视野中。区块链(blockchain或block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。
[0003]随着区块链应用广泛程度的提升,对于区块链平台的负载测试和性能测试逐渐受到人们的关注。

技术实现思路

[0004]有鉴于此,本申请提供一种区块链平台的负载测试方法和装置,用以对区块链平台进行负载测试和性能测试。
[0005]第一方面,本申请提供一种区块链平台的负载测试方法,方法包括:
[0006]监控模块发送测试指令至测试模块;
[0007]测试模块根据测试指令模拟并发请求,并执行并发请求至基础交易模块;
[0008]基础交易模块根据接收到的并发请求,发送指定的交易类型给Fabric Node SDK模块;
[0009]Fabric Node SDK模块提交签名交易请求至Hyperledger Fabric的节点,以使Hyperledger Fabric进行节点打包;
[0010]Fabric Node SDK模块获取Hyperledger Fabric返回的响应,并根据返回的响应确定测试结果。
[0011]在一种可能的实施方式中,区块链平台包括基于Hyperledger Fabric 1.3版本部署的联盟链。
[0012]在一种可能的实施方式中,方法还包括:
[0013]Hyperledger Fabric 1.3测试环境联盟链参数化配置,其中,参数化配置包括配置区块大小。
[0014]在一种可能的实施方式中,测试指令还包含一次写入或者查询的数据的条数。
[0015]第二方面,本申请提供一种区块链平台的负载测试装置,装置包括监控模块、测试模块、基础交易模块和Fabric Node SDK模块,其中:
[0016]监控模块用于发送测试指令至测试模块;
[0017]测试模块根据测试指令模拟并发请求,并执行并发请求至基础交易模块;
[0018]基础交易模块根据接收到的并发请求,发送指定的交易类型给Fabric Node SDK模块;
[0019]Fabric Node SDK模块提交签名交易请求至Hyperledger Fabric的节点,以使Hyperledger Fabric进行节点打包;
[0020]Fabric Node SDK模块获取Hyperledger Fabric返回的响应,并根据返回的响应
确定测试结果。
[0021]在一种可能的实施方式中,区块链平台包括基于Hyperledger Fabric 1.3版本部署的联盟链。
[0022]在一种可能的实施方式中,装置还包括参数配置模块,其中,参数配置模块用于对Hyperledger Fabric 1.3测试环境进行联盟链参数化配置,其中,参数化配置包括配置区块大小。
[0023]在一种可能的实施方式中,测试指令还包含一次写入或者查询的数据的条数。
[0024]第三方面,本申请提供一种电子设备,电子装置包括处理器和存储器,其中,存储器存储有代码,处理器用于调用存储器中存储的代码,实现以下功能:
[0025]监控模块发送测试指令至测试模块;
[0026]测试模块根据测试指令模拟并发请求,并执行并发请求至基础交易模块;
[0027]基础交易模块根据接收到的并发请求,发送指定的交易类型给Fabric Node SDK模块;
[0028]Fabric Node SDK模块提交签名交易请求至Hyperledger Fabric的节点,以使Hyperledger Fabric进行节点打包;
[0029]Fabric Node SDK模块获取Hyperledger Fabric返回的响应,并根据返回的响应确定测试结果。
[0030]第四方面,本申请提供一种计算机可读存储介质,其特征在于,计算机可读存储介质用于存储计算机程序,计算机程序用于执行如上述任一项的方法。
[0031]采用本申请的技术方案,通过监控模块可以施加不同类型的区块链交易请求(invoke请求或query请求),通过内嵌的NodeJS异步编程的负载发生器,可以参数化设置的请求速率施加负载,根据Hyperledger Fabric返回的响应,确定测试结果。例如。通过节点对交易进行排序和出块,并统计出块时间,设置不同的区块大小,有效分析不同的区块大小对交易的读写性能的影响,为生产上根据并发量设置区块大小提供有效依据。
附图说明
[0032]图1为本申请实施例提供的一种区块链平台的负载测试方法的流程图;
[0033]图2为本申请实施例提供的一种区块链平台的负载测试装置的结构示意图。
具体实施方式
[0034]为了便于理解本申请实施例提供的技术方案,首先对本申请实施例中的术语进行介绍。
[0035]区块链:可以理解为一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“公开透明”“集体维护”等特征。基于这些特征,区块链技术能够奠定坚持的“信任”基础、创造可靠的“合作”机制,因而具有广阔的运用前景。
[0036]区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链网络的核心是一个分布式账本,用于记录网络中发生的每一笔交易。
[0037]区块链账本通常被描述为去中心化的,这是因为它被网络中的众多节点复制,每一个节点协作维护这个账本。我们将看到去中心和协作是的强大作用在于将真实世界的商
品和服务交易映射到数字世界。
[0038]除了去中心化和协作以外,记录在区块链里的信息是只能添加的,使用加密技术保证一旦交易被添加到账本里就不能被修改了。这个不可逆的特性使它能轻松追溯到信息的来源。因此是区块链有时被成为证明系统。
[0039]联盟链:联盟区块链,只针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。联盟链是一种需要注册许可的区块链,仅限于联盟成员参与。区块链上的读写权限、参与记账权限按照联盟规则来制定。
[0040]Hyperledger Fabric:私有区块链,像其他区块链技术一样,它有一个账本,使用智能合约,是一个由参与者共同管理他们的交易的系统。
[0041]Hyperledger Caliper:用来测试区块链平台性能的框架,通常得到的测试结果可以生成报告,测试的内容比较全面。
[0042]出块:区块链的节点都具备投票的权利。每次要出块的时候,所有的节点都会参与投票,按照不同的投票规则(共识机制)进行投票,从而选出一个节点,所有节点通过共识机制就达成了共识。本轮投票以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链平台的负载测试方法,其特征在于,所述方法包括:监控模块发送测试指令至测试模块;所述测试模块根据所述测试指令模拟并发请求,并执行所述并发请求至基础交易模块;所述基础交易模块根据接收到的所述并发请求,发送指定的交易类型给Fabric Node SDK模块;所述Fabric Node SDK模块提交签名交易请求至Hyperledger Fabric的节点,以使Hyperledger Fabric进行节点打包;所述Fabric Node SDK模块获取Hyperledger Fabric返回的响应,并根据所述返回的响应确定测试结果。2.根据权利要求1所述的方法,其特征在于,所述区块链平台包括基于Hyperledger Fabric 1.3版本部署的联盟链。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:Hyperledger Fabric 1.3测试环境联盟链参数化配置,其中,参数化配置包括配置区块大小。4.根据权利要求1所述的方法,其特征在于,所述测试指令还包含一次写入或者查询的数据的条数。5.一种区块链平台的负载测试装置,其特征在于,所述装置包括监控模块、测试模块、基础交易模块和Fabric Node SDK模块,其中:所述监控模块用于发送测试指令至测试模块;所述测试模块根据所述测试指令模拟并发请求,并执行所述并发请求至所述基础交易模块;所述基础交易模块根据接收到的所述并发请求,发送指定的交易类型给所述Fabric Node SDK模块;所述Fabric Node SDK模块提交签名交易请求至Hyperledger Fabric的节点,以使Hy...

【专利技术属性】
技术研发人员:章圆圆叶雪峰
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1