Page 257 - 《软件学报》2025年第7期
P. 257

3178                                                       软件学报  2025  年第  36  卷第  7  期


                 延迟、事务吞吐量和资源消耗, 会被以            JSON  格式记录在文件系统中, 并利用         NodeJS  和  Python  库进行标准化和
                 可视化分析
                    BBSF  中定义了一个标准的驱动程序, 以标准化的方式发起负载, 测量指标. 该驱动程序采用服务器/客户端的
                 模式, 服务器负载编译和部署合约, 客户端充当连接和使用区块链的用户. 工作流程为服务器将事务发送至客户
                 端, 客户端调用事务, 并记录时间戳. 服务器监控区块链, 并测试吞吐量和延迟.
                    Gromit 的工作流程分为实验设置、场景文件解析、实验执行和收集结果这                       4  部分. 在实验设置部分, Gromit
                 会生成一个协调器进程, 该进程读取配置文件, 并进行区块链系统部署和环境的初始设置. 场景文件描述了基准的
                 负载操作, 由场景解析器进行解析. 实验执行部分, Gromit 模拟客户端发出事务的过程, 通过                      API 与区块链节点交
                 互. 另外  Gromit 使用  Procfs 库监控  CPU、内存、磁盘和网络等资源的利用率. 在收集实验结果阶段, 协调器收集
                 区块链产生的数据进行分析和存储.
                    Caliper 的核心组件设定了系统的工作流程, 主要包括             5  个步骤. 首先, 根据网络配置文件部署区块链网络. 其
                 次, 初始化区块链系统, 如创建用户、加入通道等. 接着, 部署用于基准测试的智能合约. 然后, 根据基准配置文件
                 执行工作负载. 最后, 生成测试报告并进行清理工作.

                 5.5.4    执行规则总结
                    目前的现有测试基准都对执行规则的某些要素进行了描述, 但是在实现基准测试的可重复性方面, 现有的基
                 准仍然存在一些问题.
                    ● 实验的不可重复性: BlockBench、Diablo、BBSF     和  Gromit 等基准缺少了环境部署管理能力, 无法通过简单
                 的脚本和配置文件实现环境的快速部署, 保证实验的可重复性.
                    ● 实验的准确性: BCadvisor 使用    Docker 等模拟环境进行测试, 与与真实应用的配置存在差异, 可能导致测试
                 结果的准确性不够高.
                    ● 安全性测试: BlockBench、BBSF、Diablo   和  BCadvisor 进行了安全性评估, C2B2    和  BCTMark  提供了网络
                 故障模拟的能力, 其他基准均没有涉及安全性测试.
                    ● 测试流程: 目前测试基准的工作流程中缺少数据集导入步骤的描述, 这一步作为测试环境的预配置, 对于实
                 验结果的复现极为重要.

                 5.6   小 结
                    综上所述, 当前的区块链测试基准已呈现百花齐放局面, 但还存在一些普遍性问题. 首先, 缺乏对应用模型和
                 数据模型的设计, 难以准确地模拟真实应用场景和用户行为. 其次, 缺少面向真实应用的负载设计, 无法全面评估
                 区块链系统在实际使用中的性能表现. 第三, 现有的测试基准更多地关注性能指标, 而缺乏对扩展性和安全性等重
                 要指标的考虑. 第四, 尽管跨链、侧链和分片等技术在区块链领域中越来越重要, 但是现有的测试基准没有充分地
                 考虑这些新兴技术. 最后, 目前还没有针对国内典型区块链应用场景如电子政务、数据要素流通或司法的测试基
                 准, 这在一定程度上制约了国内区块链行业生态的发展.

                 6   总 结

                    测试基准的目的在于公正客观地评估不同系统的性能. 随着区块链技术的快速发展, 近年来也涌现出一大批
                 区块链测试基准, 但其包含的内容差异较大, 所采用的指标也参差不齐.
                    本文对现有区块链测试基准进行了充分的调研, 参考目前广泛使用的数据库测试基准, 结合区块链系统自身
                 特点, 建立了一个全面衡量区块链系统的指标体系, 涵盖了性能、资源效率、扩展性和安全性这                              4  类指标. 提出了
                 一个规范化的区块链测试基准参考框架              UFBCB, 该框架包括应用模型、数据模型、负载、指标和执行规则                     5  个
                 要素. 基于该框架, 对现有区块链测试基准进行了全面对比分析. 本文工作可对未来区块链测试基准的制订和实施
                 提供参考, 有助于推动区块链行业的规范和有序发展.
                    释放数据要素潜能、大力发展新质生产力已成为国家战略. 区块链技术作为构建可信安全数据基础设施的主
   252   253   254   255   256   257   258   259   260   261   262