System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及区块链和测试,尤其涉及一种区块链性能测试的方法、装置、电子设备及介质。
技术介绍
1、由于区块链技术具有去中心化、难篡改、易追溯等优势,区块链技术广泛应用于金融行业、数据存证、贸易管理、征信管理等各个领域,因此加入至区块链网络的应用类型和设备节点也越来越多。
2、在实现本公开构思的过程中,专利技术人发现相关技术中至少存在如下技术问题:由于各个应用的用户数量规模越来越大且应用种类越来越多,用户期望在使用基于区块链服务的应用时能够获得良好的响应速度和高效的交易处理效率,为了不断提升区块链的服务性能,区块链相关研发人员经常需要对区块链底层代码进行迭代更新;因此存在对改版代码对应的区块链性能进行测试的需求,相关技术中大多是需要研发人员、运维人员以及测试人员进行协作并进行工作流的手动流转,才能使得各个环节顺畅接续实现测试整流程,自动化程度较低;同时测试过程中,大多存在测试环境变化或网络变化的影响,导致测试结果不准确。
技术实现思路
1、为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种区块链性能测试的方法、装置、电子设备及介质。
2、第一方面,本公开的实施例提供一种区块链性能测试的方法。上述方法包括:对代码托管平台进行代码提交监听;在监听到区块链底层代码有更新的情况下,对更新前后的历史版本代码和目标版本代码进行自动编译处理,对应得到历史二进制文件和目标二进制文件;在目标区块链测试环境中部署至少一组同步节点;每组同步节点包含:第一同步
3、根据本公开的实施例,上述第一同步节点基于上述历史二进制文件来进行本地交易状态更新,上述第二同步节点基于上述目标二进制文件来进行本地交易状态更新,包括:上述第一同步节点和上述第二同步节点均从上述目标区块链网络的已归档区块数据中确定待同步交易操作;基于上述历史二进制文件来执行上述待同步交易操作,得到第一同步节点更新后的本地交易状态;基于上述目标二进制文件来执行上述待同步交易操作,得到第二同步节点更新后的本地交易状态。
4、根据本公开的实施例,上述区块链性能测试结果用于评估上述目标版本代码能否发版。根据上述第一同步节点和上述第二同步节点更新本地交易状态的更新信息,生成区块链性能测试结果,包括:根据上述第一同步节点和上述第二同步节点更新本地交易状态的更新信息,确定第一同步节点和第二同步节点分别处理相同高度的区块对应的第一处理耗时和第二处理耗时;根据上述第一处理耗时与上述第二处理耗时的相对大小关系,生成区块链性能测试结果;或者,根据上述第一同步节点和上述第二同步节点更新本地交易状态的更新信息,确定n个区块内包含的总交易数量、第一同步节点对n个区块进行状态同步的第一处理耗时和第二同步节点对n个区块进行状态同步的第二处理耗时,n为正整数;将上述总交易数量与上述第一处理耗时的比值确定为第一同步节点的第一交易处理指标值;将上述总交易数量与上述第二处理耗时的比值确定为第二同步节点的第二交易处理指标值;根据上述第一交易处理指标值与上述第二交易处理指标值的相对大小关系,生成区块链性能测试结果。
5、根据本公开的实施例,根据上述第一处理耗时与上述第二处理耗时的相对大小关系,生成区块链性能测试结果,包括:在上述第二处理耗时小于或等于上述第一处理耗时的情况下,生成用于提示上述目标版本代码允许发版的第一区块链性能测试结果;在上述第二处理耗时大于上述第一处理耗时的情况下,生成用于提示对上述目标版本代码进行优化且禁止发版的第二区块链性能测试结果。根据上述第一交易处理指标值与上述第二交易处理指标值的相对大小关系,生成区块链性能测试结果,包括:在上述第二交易处理指标值大于或等于上述第一交易处理指标值的情况下,生成用于提示上述目标版本代码允许发版的第一区块链性能测试结果;在上述第二交易处理指标值小于上述第一交易处理指标值的情况下,生成用于提示对上述目标版本代码进行优化且禁止发版的第二区块链性能测试结果。
6、根据本公开的实施例,在目标区块链测试环境中部署至少一组同步节点,包括:在上述目标区块链测试环境对应于多个不同的目标区块链网络的情况下,调用适配测试服务,针对不同的目标区块链网络相应部署多组同步节点;存储多个目标区块链网络与对应组同步节点之间的映射关系。
7、根据本公开的实施例,针对每一组同步节点,执行以下步骤:根据上述映射关系,确定当前组同步节点的对应目标区块链网络;当前组同步节点中的第一同步节点基于历史二进制文件,从上述对应目标区块链网络获取区块数据进行本地交易状态更新;当前组同步节点中的第二同步节点基于目标二进制文件,从上述对应目标区块链网络获取区块数据进行本地交易状态更新。
8、根据本公开的实施例,在上述目标区块链网络为多个情况下,生成的区块链性能测试结果包括以下一种:第一提示信息、第二提示信息或第三提示信息。上述第一提示信息包含:上述目标版本代码能发版的评估结果,发版适用区块链网络的信息;上述第二提示信息包含:上述目标版本代码不能发版的评估结果,发版不适用区块链网络的信息;上述第三提示信息包含:上述目标版本代码能发版的评估结果,发版适用区块链网络的信息,发版不适用区块链网络的信息。
9、第二方面,本公开的实施例提供一种区块链性能测试的装置。上述装置包括:监听模块、编译模块、同步节点部署模块、测试处理模块和测试结果生成模块。上述监听模块用于对代码托管平台进行代码提交监听。上述编译模块用于在监听到区块链底层代码有更新的情况下,对更新前后的历史版本代码和目标版本代码进行自动编译处理,对应得到历史二进制文件和目标二进制文件。上述同步节点部署模块用于在目标区块链测试环境中部署至少一组同步节点;每组同步节点包含:第一同步节点和第二同步节点,上述目标区块链测试环境基于至少一个目标区块链网络进行搭建和配置,上述同步节点独立于所述目标区块链网络且用于进行交易数据同步。上述测试处理模块用于控制上述至少一组同步节点来更新本地交易状态;其中,上述第一同步节点基于上述历史二进制文件来进行本地交易状态更新,上述第二同步节点基于上述目标二进制文件来进行本地交易状态更新。上述测试结果生成模块用于根据上述第一同步节点和上述第二同步节点更新本地交易状态的更新信息,生成区块链性能测试结果。
10、第三方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所本文档来自技高网...
【技术保护点】
1.一种区块链性能测试的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一同步节点基于所述历史二进制文件来进行本地交易状态更新,所述第二同步节点基于所述目标二进制文件来进行本地交易状态更新,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述区块链性能测试结果用于评估所述目标版本代码能否发版;
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,在目标区块链测试环境中部署至少一组同步节点,包括:
6.根据权利要求5所述的方法,其特征在于,针对每一组同步节点,执行以下步骤:
7.根据权利要求5所述的方法,其特征在于,在所述目标区块链网络为多个情况下,生成的区块链性能测试结果包括以下一种:第一提示信息、第二提示信息或第三提示信息;
8.一种区块链性能测试的装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
1
...【技术特征摘要】
1.一种区块链性能测试的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一同步节点基于所述历史二进制文件来进行本地交易状态更新,所述第二同步节点基于所述目标二进制文件来进行本地交易状态更新,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述区块链性能测试结果用于评估所述目标版本代码能否发版;
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,在目标区块链测试环境中部署至少一组同步节点,包括:
6.根据权利要求5所述的方法,其特征...
【专利技术属性】
技术研发人员:蒋海,陈晓琼,
申请(专利权)人:布比北京网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。