[发明专利]区块链测试方法及装置在审
申请号: | 202010533067.7 | 申请日: | 2020-06-12 |
公开(公告)号: | CN113806203A | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 王叶松 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/455 |
代理公司: | 北京太合九思知识产权代理有限公司 11610 | 代理人: | 刘戈 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 测试 方法 装置 | ||
本申请关于一种区块链测试方法及装置,所述装置包括多条测试链路和测试数据采集模块,所述测试链路包括区块链容器节点、虚拟网络节点和桥接模块;所述多条测试链路中的区块链容器节点组成区块链网络,所述多条测试链路中的虚拟网络节点组成具有预设网络拓扑结构的虚拟仿真网络;区块链容器节点封装于容器中,用于模拟区块链节点的功能;所述虚拟网络节点,用于模拟所述区块链节点的网络环境;所述桥接模块桥接于所述区块链容器节点与所述虚拟网络节点之间,用于在所述区块链容器节点与所述虚拟网络节点之间转发数据;所述测试数据采集模块,用于采集测试数据数据。本申请可以实现在单机上运行多个区块链容器节点以及复杂底层网络的实验仿真。
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链测试方法及装置。
背景技术
随着区块链技术的发展与普及,越来越多新的区块链技术和共识协议被提出。相较于经过广泛验证的比特币和以太坊,很多新的区块链技术可靠性仍然需要测试。区块链测试与传统的软件测试有很大的不同,主要体现在系统边界模糊和故障类型复杂两个特征。对于传统的软件,不管是是独立的应用程序,还是客户端/服务器模式的应用程序,都有明显的系统边界,可以通过用户界面或者客户端进行测试。而区块链则是一个完全去中心化的分布式网络,该网络有可能跨越多个数据中心、多个运营商、甚至多个国家,因此其边界是模糊的。在故障类型方面,一般的软件只需要处理故障宕机故障和宕机-恢复故障,而区块链还需要处理拜占庭故障。拜占庭故障指区块链中存在恶意节点,从不同观察者角度看这类节点,能够表现出不一致的症状。在需要共识的区块链中,拜占庭故障往往会导致区块链服务失效。
相关技术中,对区块链系统测试通常是部署区块链,该方式测试周期长,需要消耗大量的人力物力资源部署节点。该测试方式主要是对共识协议本身进行测试,需要重写区块链共识代码,模拟过程中区块链节点都是虚拟的。而实际生产中的区块链节点逻辑复杂,利用该方式测试时不能保证模拟使用代码逻辑与真实节点的相同。并且作为分布式系统,利用该方式在数据收集方面也较为困难,节点出现故障时难以发现。
因此,相关技术中亟需一种简单高效的区块链测试方法。
发明内容
本申请实施例的目的在于提供一种区块链测试方法及装置,可以实现在单机上运行多个区块链容器节点以及复杂底层网络的实验仿真。
本申请实施例提供的区块链测试方法及装置是这样实现的:
一种区块链测试装置,所述装置包括多条测试链路和测试数据采集模块,所述测试链路包括区块链容器节点、虚拟网络节点和桥接模块;
所述多条测试链路中的区块链容器节点组成区块链网络,所述多条测试链路中的虚拟网络节点组成具有预设网络拓扑结构的虚拟仿真网络;
所述区块链容器节点封装于容器中,用于模拟区块链节点的功能;
所述虚拟网络节点,用于模拟所述区块链节点的网络环境;
所述桥接模块桥接于所述区块链容器节点与所述虚拟网络节点之间,用于在所述区块链容器节点与所述虚拟网络节点之间转发数据;
所述测试数据采集模块,用于采集所述区块链容器节点和所述虚拟网络节点产生的测试数据。
一种区块链测试方法,所述方法用于利用所述的区块链测试装置进行区块链测试,包括:
向所述区块链容器节点发送区块链交易数据;
启动所述多条测试链路中的区块链容器节点对应的容器。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行所述的区块链测试方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010533067.7/2.html,转载请声明来源钻瓜专利网。