(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210649204.2
(22)申请日 2022.06.10
(65)同一申请的已公布的文献号
申请公布号 CN 114741323 A
(43)申请公布日 2022.07.12
(73)专利权人 中国信息通信研究院
地址 100191 北京市海淀区学院路40号
(72)发明人 谢家贵 李志平 李悦 王佳慧
陈玉英 高远
(74)专利代理 机构 北京思源智汇知识产权代理
有限公司 1 1657
专利代理师 李林莎
(51)Int.Cl.
G06F 11/36(2006.01)
G06F 16/2455(2019.01)审查员 吴瑶
(54)发明名称
区块链性能的测试方法和装置、 电子 设备和
存储介质
(57)摘要
本公开实施例公开了一种区块链性能的测
试方法和装置、 电子设备和存储介质, 其中, 方法
包括: 生成测试数据和多个数据发送账户; 将第
一并发量对应的数量的数据发送账户作为测试
账户; 在预设时长内, 以各测试账户向待测试区
块链的至少一个共识节点发送测试数据; 当断言
数据表征完成状态, 向共识节点发送测试数据;
当断言数据表征缓存池满 载状态, 向共识节点发
送预设数据; 得到测试结果数据; 根据测试结果
数据, 确定待测试区块链的性能数据。 本公开实
施例中不仅实现了对区块链的性能的高效准确
的测试, 而且实现了根据待测试区块链的状态,
及时调整发送给共识节点的数据, 提高了对待测
试区块链的性能的测试的准确性。
权利要求书2页 说明书12页 附图4页
CN 114741323 B
2022.09.20
CN 114741323 B
1.一种区块链性能的测试 方法, 其特 征在于, 包括:
根据待测试区块链的数据生成规则, 生成测试 数据和多个数据发送账户;
从所述多个数据发送账户中, 获取第 一并发量对应的数量的数据发送账户作为测试账
户;
在预设时长 内, 以各测试账户向所述待测试区块链的至少一个共识节点发送所述测试
数据; 响应于所述待测试区块链反馈的断言数据表征完成状态, 执行所述向所述待测试区
块链的至少一个共识节点 发送所述测试数据的操作; 响应于所述待测试区块链反馈的断言
数据表征缓存池满载状态, 向所述待测试区块链的至少一个共识节 点发送预设数据, 其中,
所述预设数据为空数据;
得到测试 结果数据;
根据所述测试 结果数据, 确定所述待测试区块链的性能数据;
响应于所述待测试区块链的性能数据大于或等于预设性能数据, 获取第二并发量, 将
所述第二并发量作为所述第一并发量, 执行所述从所述多个数据发送账户中, 获取第一并
发量对应的数量的数据发送账户作为测试账户的操作; 响应于待测试区块链的性能数据小
于预设性能数据, 停止对待测区块链测试; 其中, 所述第二并发量大于所述第一并发量, 所
述性能数据包括待测试区块链的平均出块时间、 每秒事物处理量和每秒查询率中的一种或
几种;
响应于所述待测试区块链反馈的断言数据表征完成状态, 增加所述各测试账户的
nonce值;
响应于所述待测试区块链反馈的断言数据表征缓存池满载状态, 不增加所述各测试账
户的nonce值; 其中, 所述nonce值用于表 示和记录测试账户发送测试数据的数量, 每一测试
账户具有一个n once值。
2.根据权利要求1所述的测试 方法, 其特 征在于, 还 包括:
响应于所述待测试区块链反馈的断言数据表征异常状态, 停止执行所述向所述待测试
区块链的至少一个共识 节点发送所述测试 数据的操作。
3.根据权利要求1或2所述的测试方法, 其特征在于, 所述根据 所述测试结果数据, 确定
所述待测试区块链的性能数据, 包括:
获取所述待测试区块链测试 前的特征数据;
根据所述待测试区块链测试前的特征数据和所述测试结果数据, 确定所述待测试区块
链的性能数据, 其中, 所述待测试区块链的性能数据包括平均出块时间、 每秒事务处理量和
每秒查询率中的一种或几种。
4.根据权利要求3所述的测试方法, 其特征在于, 所述待测试区块链测试前的特征数据
包括测试前区块高度、 测试前处理完成任务的总量、 测试前最后区块的生成时间和测试开
始时间中的一种或几种;
所述测试结果数据包括测试后 区块高度、 测试后处理完成任务的总量、 测试中最新区
块的生成时间、 测试结束时间、 查询成功的请求总数、 查询失败的请求总数和查询请求总数
中的一种或几种;
所述根据 所述待测试区块链测试前的特征数据和所述测试结果数据, 确定所述待测试
区块链的性能数据, 包括:权 利 要 求 书 1/2 页
2
CN 114741323 B
2根据所述测试中最新区块的生成时间、 所述测试前最后 区块的生成时间、 所述测试前
区块高度和所述测试后区块高度, 确定所述平均出块时间;
根据所述测试后处理完成任务的总量、 所述测试前处理完成任务的总量、 所述测试中
最新区块的生成时间和所述测试 前最后区块的生成时间, 确定所述每秒事务处 理量;
响应于所述查询失败的请求总数与 所述查询 请求总数的比值小于或等于预设阈值, 根
据所述查询成功的请求总 数、 所述测试结束时间和所述测试开始 时间, 确定所述每秒查询
率。
5.一种区块链性能的测试装置, 其特 征在于, 包括:
生成模块, 用于根据待测试区块链的数据生成规则, 生成测试数据和多个数据发送账
户;
获取模块, 用于从所述多个数据发送账户中, 获取第一并发量对应的数量的数据发送
账户作为测试 账户;
测试模块, 用于在预设时长内, 以各测试账户向所述待测试区块链的至少一个共识节
点发送所述测试数据; 响应于所述待测试区块链反馈的断言数据表征完成状态, 执行所述
向所述待测试区块链的至少一个共识节点发送所述测试数据的操作; 响应于所述待测试区
块链反馈的断言数据 表征缓存池满载状态, 向所述待测试区块链的至少一个共识节点发送
预设数据, 其中, 所述预设数据为空数据;
结果数据获取模块, 用于得到测试 结果数据;
确定模块, 用于根据所述测试 结果数据, 确定所述待测试区块链的性能数据;
第一响应模块, 用于响应于所述待测试区块链的性能数据大于或等于预设性能数据,
获取第二并发量, 将所述第二并发量作为所述第一并发量, 执行所述从所述多个数据发送
账户中, 获取第一并发量对应的数量的数据发送账户作为测试账户的操作; 响应于待测试
区块链的性能数据小于预设性能数据, 停止对待测区块链测试; 其中, 所述第二并发量大于
所述第一并发量, 所述性能数据包括待测试区块链的平均出块时间、 每秒事物处理量和每
秒查询率中的一种或几种;
第二响应模块, 用于响应于所述待测试区块链反馈的断言数据表征完成状态, 增加所
述各测试 账户的nonce值;
第三响应模块, 用于响应于所述待测试区块链反馈的断言数据表征缓存池满载状态,
不增加所述各测试账户的nonce值; 其中, 所述nonce值用于记录测试账户发送测试数据的
数量, 每一测试 账户具有一个n once值。
6.根据权利要求5所述的测试装置, 其特 征在于, 所述测试模块还用于:
响应于所述待测试区块链反馈的断言数据表征异常状态, 停止执行所述向所述待测试
区块链的至少一个共识 节点发送所述测试 数据的操作。
7.一种电子设备, 其特 征在于, 包括:
存储器, 用于存 储计算机程序;
处理器, 用于执行所述存储器 中存储的计算机程序, 且所述计算机程序被执行时, 实现
上述权利要求1 ‑4任一所述的测试 方法。
8.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该计算机程序被处
理器执行时, 实现上述权利要求1 ‑4任一所述的测试 方法。权 利 要 求 书 2/2 页
3
CN 114741323 B
3
专利 区块链性能的测试方法和装置、电子设备和存储介质
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 00:13:13上传分享