[发明专利]一种区块链系统的测试系统和方法有效
申请号: | 201711320172.7 | 申请日: | 2017-12-12 |
公开(公告)号: | CN108170590B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 齐竹云;雷凯;陈辰 | 申请(专利权)人: | 北京大学深圳研究生院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L12/26 |
代理公司: | 深圳鼎合诚知识产权代理有限公司 44281 | 代理人: | 郭燕 |
地址: | 518055 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 系统 测试 方法 | ||
一种区块链系统的测试系统和方法,引入容器技术,每个区块链容器可以运行功能完整的区块链应用程序,每台物理计算机可以被配置并运行若干个区块链容器,容器间网络拓扑可根据测试方案设置,为测试结果真实性提供有效保障,有效降低成本并简化配置过程。
技术领域
本发明涉及计算机软件测试领域。
背景技术
区块链是一种分布式系统,区块链应用程序部署在不同计算机上,应用程序间遵循相同的应用层协议。计算机间组成分布式网络,通过网络通信保持数据一致性,共同承担系统响应任务。
对区块链系统及程序,现有两种测试的技术方案:
(1)实体机测试的技术方案
使用多台通过网络连接的物理计算机来模拟分布式网络环境,每台计算机运行一份区块链应用程序的拷贝,从而该模拟网络中的每个区块链节点一一对应着真实存在的物理计算机。这种实体机测试的技术方案,测试成本高,而且部署难度大,这是因为物理计算机的数量,需要与分布式网络的规模一致,并且每台物理计算机都需要进行初始化配置。
(2)模拟器程序测试的技术方案
将区块链协议的程序行为抽象成事件模型,编写程序模拟计算机节点的事件-响应逻辑。事件模拟器进行多次迭代,模拟分布式网络中异步发生的事件。这种模拟器程序测试的技术方案,最大的缺陷就是缺乏真实性,这是因为模拟器的技术方案是对从分布式程序抽象出的数学模型进行测试,因此只能测试该数学模型在什么样的参数下能得到符合预期的输出,其无法测试分布式应用程序功能上的完备性,也无法全面考虑分布式应用程序所有可变参数和复杂网络环境的影响。
综上所述,第1种实体机测试的技术方案,虽然测试结果真实,但成本高昂且部署繁琐;第2种模拟器程序测试的技术方案,虽然测试成本低,但无法完全复原区块链应用程序的软件行为。
发明内容
考虑到上述情况,本申请提供一种区块链系统的测试系统和方法。
根据第一方面,一种实施例中提供一种区块链系统的测试系统,该测试系统运行于一台或多台物理计算机上,所述测试系统包括:
任务总控模块,用于提供区块链协议参数、节点间虚拟网络拓扑参数、区块链系统测试的策略以及资源分配的方案;
任务分控模块,运行于一台物理计算机中,用于根据任务总控模块提供的参数、策略以及方案,控制该台物理计算机中各网络设备容器、各区块链容器的运行,其中每一台物理计算机被配置一个所述任务分控模块;
一个或多个网络设备容器,用于实现虚拟网络设备的运行;
一个或多个区块链容器,用于实现区块链节点的运行。
根据第二方面,一种实施例中提供一种区块链系统的测试方法,包括:
当使用多台物理计算机时,设置集群内局域网络路由,当使用一台物理计算机时,则省略设置集群内局域网络路由的步骤;
建立镜像仓库,镜像仓库存储构建的区块链应用程序镜像以及网络设备镜像;
配置任务总控逻辑,至少包括区块链协议参数、节点间虚拟网络拓扑参数、区块链系统测试的策略以及资源分配的方案;
将任务总控逻辑下发至各物理计算机;
根据下发的任务总控逻辑、区块链应用程序镜像以及网络设备镜像,初始化并控制各物理计算机的网络设备容器和区块链容器;
区块链容器输出日志到物理计算机的数据卷,以供读取和反馈;
根据下发的任务总控逻辑切换区块链容器和网络设备容器的运行逻辑;
观测区块链系统运行状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学深圳研究生院,未经北京大学深圳研究生院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711320172.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:网络平台基础数据质量算法的保障方法
- 下一篇:一种测试仪自动化实现方法和装置