区块链性能的测试方法和装置、电子设备和存储介质制造方法及图纸

技术编号:34149392 阅读:14 留言:0更新日期:2022-07-14 19:45
本公开实施例公开了一种区块链性能的测试方法和装置、电子设备和存储介质,其中,方法包括:生成测试数据和多个数据发送账户;将第一并发量对应的数量的数据发送账户作为测试账户;在预设时长内,以各测试账户向待测试区块链的至少一个共识节点发送测试数据;当断言数据表征完成状态,向共识节点发送测试数据;当断言数据表征缓存池满载状态,向共识节点发送预设数据;得到测试结果数据;根据测试结果数据,确定待测试区块链的性能数据。本公开实施例中不仅实现了对区块链的性能的高效准确的测试,而且实现了根据待测试区块链的状态,及时调整发送给共识节点的数据,提高了对待测试区块链的性能的测试的准确性。试区块链的性能的测试的准确性。试区块链的性能的测试的准确性。

Testing methods and devices for blockchain performance, electronic devices and storage media

【技术实现步骤摘要】
区块链性能的测试方法和装置、电子设备和存储介质


[0001]本公开涉及测试技术,尤其是一种区块链性能的测试方法和装置、电子设备和存储介质。

技术介绍

[0002]“星火
·
链网”是基于区块链技术打造的一条许可公有链,是实现“星火
·
链网”这一国家级区块链与工业互联网协同创新新型基础设施的关键技术。其中,“星火
·
链网”的底层为BIF

Core(Blockchain Infrastructure & Facility Core,区块链基础设施和设备核心)区块链,该BIF

Core区块链的数据依赖于BID(Blockchain

based Identifier,以区块链为基础的标识符)分布式标识符。该区块链包括多个区块,该区块链具有多个共识节点和普通节点。
[0003]随着上链数据量的不断增加,这就对BIF

Core区块链的效率、容错与健壮性提出了更高的要求,目前市面上还没有针对BIF

core区块链性能的测试方法。因此,亟待一种针对BIF

core区块链的测试方法。

技术实现思路

[0004]本公开实施例提供一种区块链性能的测试方法和装置、电子设备和存储介质,以解决现有技术中没有针对BIF

core区块链的测试方法的问题。
[0005]本公开实施例的一个方面,提供了一种区块链性能的测试方法,包括:根据待测试区块链的数据生成规则,生成测试数据和多个数据发送账户;从所述多个数据发送账户中,获取第一并发量对应的数量的数据发送账户作为测试账户;在预设时长内,以各测试账户向所述待测试区块链的至少一个共识节点发送所述测试数据;响应于所述待测试区块链反馈的断言数据表征完成状态,执行所述向所述待测试区块链的至少一个共识节点发送所述测试数据的操作;响应于所述待测试区块链反馈的断言数据表征缓存池满载状态,向所述待测试区块链的至少一个共识节点发送预设数据;得到测试结果数据;根据所述测试结果数据,确定所述待测试区块链的性能数据。
[0006]可选地,在本公开上述任一实施例的方法中,还包括:响应于所述待测试区块链反馈的断言数据表征异常状态,停止执行所述向所述待测试区块链的至少一个共识节点发送所述测试数据的操作。
[0007]可选地,在本公开上述任一实施例的方法中,还包括:响应于所述待测试区块链的性能数据大于或等于预设性能数据,获取第二并发量,将所述第二并发量作为所述第一并发量,执行所述从所述多个数据发送账户中,获取第一并发量对应的数量的数据发送账户作为测试账户的操作,其中,所述第二并发量大于所述第一并发量。
[0008]可选地,在本公开上述任一实施例的方法中,所述根据所述测试结果数据,确定所述待测试区块链的性能数据,包括:获取所述待测试区块链测试前的特征数据;根据所述待测试区块链测试前的特征数据和所述测试结果数据,确定所述待测试区块链的性能数据,
其中,所述待测试区块链的性能数据包括平均出块时间、每秒事务处理量和每秒查询率中的一种或几种。
[0009]可选地,在本公开上述任一实施例的方法中,所述待测试区块链测试前的特征数据包括测试前区块高度、测试前处理完成任务的总量、测试前最后区块的生成时间和测试开始时间中的一种或几种;所述测试结果数据包括测试后区块高度、测试后处理完成任务的总量、测试中最新区块的生成时间、测试结束时间、查询成功的请求总数、查询失败的请求总数和查询请求总数中的一种或几种;所述根据所述待测试区块链测试前的特征数据和所述测试结果数据,确定所述待测试区块链的性能数据,包括:根据所述测试中最新区块的生成时间、所述测试前最后区块的生成时间、所述测试前区块高度和所述测试后区块高度,确定所述平均出块时间;根据所述测试后处理完成任务的总量、所述测试前处理完成任务的总量、所述测试中最新区块的生成时间和所述测试前最后区块的生成时间,确定所述每秒事务处理量;响应于所述查询失败的请求总数与所述查询请求总数的比值小于或等于预设阈值,根据所述查询成功的请求总数、所述测试结束时间和所述测试开始时间,确定所述每秒查询率。
[0010]可选地,在本公开上述任一实施例的方法中,还包括:响应于所述待测试区块链反馈的断言数据表征完成状态,增加所述各测试账户的nonce值;响应于所述待测试区块链反馈的断言数据表征缓存池满载状态,不增加所述各测试账户的nonce值。
[0011]根据本公开实施例的另一个方面,提供了一种区块链性能的测试装置,包括:生成模块,用于根据待测试区块链的数据生成规则,生成测试数据和多个数据发送账户;获取模块,用于从所述多个数据发送账户中,获取第一并发量对应的数量的数据发送账户作为测试账户;测试模块,用于在预设时长内,以各测试账户向所述待测试区块链的至少一个共识节点发送所述测试数据;响应于所述待测试区块链反馈的断言数据表征完成状态,执行所述向所述待测试区块链的至少一个共识节点发送所述测试数据的操作;响应于所述待测试区块链反馈的断言数据表征缓存池满载状态,向所述待测试区块链的至少一个共识节点发送预设数据;结果数据获取模块,用于得到测试结果数据;确定模块,用于根据所述测试结果数据,确定所述待测试区块链的性能数据。
[0012]可选地,在本公开上述任一实施例的装置中,所述测试模块还用于:响应于所述待测试区块链反馈的断言数据表征异常状态,停止执行所述向所述待测试区块链的至少一个共识节点发送所述测试数据的操作。
[0013]根据本公开实施例的再一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述任一所述的测试方法。
[0014]根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述任一所述的测试方法。
[0015]本公开实施例提供了一种区块链性能的测试方法和装置、电子设备和存储介质,其中,方法包括:根据待测试区块链的数据生成规则,生成测试数据和多个数据发送账户;从多个数据发送账户中,获取第一并发量对应的数量的数据发送账户作为测试账户;在预设时长内,以各测试账户向所述待测试区块链的至少一个共识节点发送测试数据;响应于待测试区块链反馈的断言数据表征完成状态,执行向所述待测试区块链的至少一个共识节
点发送所述测试数据的操作;响应于待测试区块链反馈的断言数据表征缓存池满载状态,向待测试区块链的至少一个共识节点发送预设数据;得到测试结果数据;根据测试结果数据,确定待测试区块链的性能数据。由此,本公开实施例中,通过各测试账户在预设时长内向待测试区块链的共识节点发送测试数据,得到测试结果数据,并根据测试结果数据,确定待测试区块链的性能数据,实现了对区块链的性能的高效准确的测试。另外,本公开实施例中,在向待测试本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链性能的测试方法,其特征在于,包括:根据待测试区块链的数据生成规则,生成测试数据和多个数据发送账户;从所述多个数据发送账户中,获取第一并发量对应的数量的数据发送账户作为测试账户;在预设时长内,以各测试账户向所述待测试区块链的至少一个共识节点发送所述测试数据;响应于所述待测试区块链反馈的断言数据表征完成状态,执行所述向所述待测试区块链的至少一个共识节点发送所述测试数据的操作;响应于所述待测试区块链反馈的断言数据表征缓存池满载状态,向所述待测试区块链的至少一个共识节点发送预设数据;得到测试结果数据;根据所述测试结果数据,确定所述待测试区块链的性能数据。2.根据权利要求1所述的测试方法,其特征在于,还包括:响应于所述待测试区块链反馈的断言数据表征异常状态,停止执行所述向所述待测试区块链的至少一个共识节点发送所述测试数据的操作。3.根据权利要求1所述的测试方法,其特征在于,还包括:响应于所述待测试区块链的性能数据大于或等于预设性能数据,获取第二并发量,将所述第二并发量作为所述第一并发量,执行所述从所述多个数据发送账户中,获取第一并发量对应的数量的数据发送账户作为测试账户的操作,其中,所述第二并发量大于所述第一并发量。4.根据权利要求1

3中任一项所述的测试方法,其特征在于,所述根据所述测试结果数据,确定所述待测试区块链的性能数据,包括:获取所述待测试区块链测试前的特征数据;根据所述待测试区块链测试前的特征数据和所述测试结果数据,确定所述待测试区块链的性能数据,其中,所述待测试区块链的性能数据包括平均出块时间、每秒事务处理量和每秒查询率中的一种或几种。5.根据权利要求4所述的测试方法,其特征在于,所述待测试区块链测试前的特征数据包括测试前区块高度、测试前处理完成任务的总量、测试前最后区块的生成时间和测试开始时间中的一种或几种;所述测试结果数据包括测试后区块高度、测试后处理完成任务的总量、测试中最新区块的生成时间、测试结束时间、查询成功的请求总数、查询失败的请求总数和查询请求总数中的一种或几种;所述根据所述待测试区块链测试前的特征数据和所述测试结果数据,确定所述待测试区块链的性能数据,包括:根据所述测试中最新区块的生成时间、所述...

【专利技术属性】
技术研发人员:谢家贵李志平李悦王佳慧陈玉英高远
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

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

1