区块链性能的测试方法、装置、设备及存储介质制造方法及图纸

技术编号:20875130 阅读:22 留言:0更新日期:2019-04-17 11:17
本申请提供一种区块链性能的测试方法、装置、设备及存储介质,该方法包括:向区块链系统发送测试查询请求,以使所述区块链系统根据所述测试查询请求完成交易数据的背书及上链;获取所述区块链系统的第一测试性能数据;根据所述第一测试性能数据,对所述区块链系统进行优化处理。通过模拟业务系统向区块链系统发送测试查询请求,使区块链系统完成交易数据的背书及上链的完整过程,并获取区块链系统完成整个过程中的第一测试性能数据,根据第一测试性能数据分析区块链系统的性能,可以有效提高区块链系统测试的效率。

【技术实现步骤摘要】
区块链性能的测试方法、装置、设备及存储介质
本申请涉及区块链
,尤其涉及一种区块链性能的测试方法、装置、设备及存储介质。
技术介绍
区块链被认为是推进互联网由不可信到可信,由信息传递到价值传递的基石。区块链通常由区块链网络中的多个区块链节点共同管理,区块链网络是完全去中心化的分布式网络,这个网络可能跨越多个子网、多个数据中心、多个运营商、甚至多个国家,其边界是模糊的。区块链测试与传统的软件测试有很大的不同。现有技术中,通常需要人工测试,测试效率低。尤其对于联盟链的区块链测试,目前没有成熟的适用于联盟链的性能测试方法,因此,如何有效对基于联盟链的区块链系统进行测试成为亟需解决的技术问题。
技术实现思路
本申请提供一种区块链性能的测试方法、装置、设备及存储介质,以解决现有技术无法有效测试区块链系统性能等缺陷。本申请第一个方面提供一种区块链性能的测试方法,包括:向区块链系统发送测试查询请求,以使所述区块链系统根据所述测试查询请求完成交易数据的背书及上链;获取所述区块链系统的第一测试性能数据,所述第一测试性能数据至少包括上链耗时、上链吞吐量TPS、背书成功率、文件增长速率和同步成功率中的一种;根据所述第一测试性能数据,确定所述区块链系统的性能。本申请第二个方面提供一种区块链性能的测试装置,包括:发送模块,用于向区块链系统发送测试查询请求,以使所述区块链系统根据所述测试查询请求完成交易数据的背书及上链;获取模块,用于获取所述区块链系统的第一测试性能数据,所述第一测试性能数据至少包括上链耗时、上链吞吐量TPS、背书成功率、文件增长速率和同步成功率中的一种;处理模块,用于根据所述第一测试性能数据,确定所述区块链系统的性能。本申请第三个方面提供一种计算机设备,包括:至少一个处理器和存储器;所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的方法。本申请第四个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。本申请提供的区块链性能的测试方法、装置、设备及存储介质,通过模拟业务系统向区块链系统发送测试查询请求,使区块链系统完成交易数据的背书及上链的完整过程,并获取区块链系统完成整个过程中的第一测试性能数据,根据第一测试性能数据分析区块链系统的性能,并进行优化处理,可以有效提高区块链系统测试的效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例适用的测试系统的结构示意图;图2为本申请一实施例提供的区块链性能的测试方法的流程示意图;图3为本申请另一实施例提供的区块链性能的测试方法的流程示意图;图4为本申一实施例提供的测试系统的整体架构及运行过程示意图;图5为本申一实施例提供的区块链底层架构示意图;图6为本申请一实施例提供的区块链性能的测试装置的结构示意图;图7为本申请一实施例提供的计算机设备的结构示意图。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。首先对本申请所涉及的名词进行解释:区块链:狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。联盟链:是指针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个区块的生成由所有的预选节点共同决定。区块链网络:是指将区块链构建在现有通信网络中,由多个区块链节点形成一个区块链网络,网络中的每个区块链节点之间可以共享广播在区块链网络中的信息。各区块链节点之间属于对等的关系。区块:是指区块链中包含的一张列表,有着持续增长并且排列整齐的记录。每个区块都包含一个时间戳和一个与前一区块的链接。背书:是指其他区块链节点对背书申请签名的过程,背书申请即申请其他区块链节点对本次提案请求达成共识,允许生成新的区块。智能合约:预置到区块链中的以共识方式执行的业务规则。记账人,每个块的生成由所有的预选节点共同决定。本申请实施例提供的区块链性能的测试方法,适用于以下场景:如图1所示,为本申请实施例适用的测试系统的结构示意图。该区块链性能的测试方法的执行主体为区块链性能的测试装置,该装置可以模拟业务系统A(服务器)通过调用BS系统A(BS接口)向区块链系统发送查询请求(即测试查询请求),BS系统A将查询请求转发给业务系统B的BS系统B,BS系统B将查询请求发送给业务系统B,业务系统响应查询请求,并返回响应结果,BS系统B将响应结果转发给BS系统A的同时,将交易数据发送到区块链网络进行背书以及上链,区块链网络将上链结果返回给BS系统A和BS系统B,使各方与区块链进行数据同步。其中A和B表示联盟链中的两个参与方,这里只是示例性地以两个参与方说明,实际应用中,可以包括更多的参与方。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本专利技术的实施例进行描述。实施例一本实施例提供一种区块链性能的测试方法,用于对基于联盟链的区块链系统进行性能测试。本实施例的执行主体为区块链性能的测试装置,该装置可以设置在计算机设备中,比如服务器、台式电脑、笔记本电脑等等。如图2所示,为本实施例提供的区块链性能的测试方法的流程示意图,该方法包括:步骤101,向区块链系统发送测试查询请求,以使区块链系统根据测试查询请求完成交易数据的背书及上链。具体的,参见图1,区块链性能的测试装置可以模拟业务系统A(服务器)通过调用BS系统A(BS接口)向区块链系统发送查询请求(即测试查询请求),BS系统A将查询请求转发给业务系统B的BS系统B,BS系统B将查询请求发送给业务系统B,业务系统响应查询请求,并返回响应结果,BS系统B将响应结果转发给BS系统A的同时,将交易数据发送到区块链网络进行背书以及上链,区块链网络将上链结果返回给BS系统A和BS系统B,使各方与区块链进行数据同步,从本文档来自技高网...

【技术保护点】
1.一种区块链性能的测试方法,其特征在于,包括:向区块链系统发送测试查询请求,以使所述区块链系统根据所述测试查询请求完成交易数据的背书及上链;获取所述区块链系统的第一测试性能数据,所述第一测试性能数据至少包括上链耗时、上链吞吐量TPS、背书成功率、文件增长速率和同步成功率中的一种;根据所述第一测试性能数据,确定所述区块链系统的性能。

【技术特征摘要】
1.一种区块链性能的测试方法,其特征在于,包括:向区块链系统发送测试查询请求,以使所述区块链系统根据所述测试查询请求完成交易数据的背书及上链;获取所述区块链系统的第一测试性能数据,所述第一测试性能数据至少包括上链耗时、上链吞吐量TPS、背书成功率、文件增长速率和同步成功率中的一种;根据所述第一测试性能数据,确定所述区块链系统的性能。2.根据权利要求1所述的方法,其特征在于,获取所述区块链系统的第一测试性能数据,包括:获取所述区块链系统记录的日志数据;根据所述日志数据,获取所述区块链系统的第一测试性能数据。3.根据权利要求2所述的方法,其特征在于,所述日志数据包括交易数据开始上传背书的时间、背书返回状态、第一笔交易背书成功时间、最后一块区块的生成时间、上链前文件大小、上链完成时文件大小、请求的交易数量以及上链成功的交易数量;所述根据所述日志数据,获取所述区块链系统的第一测试性能数据,包括:根据所述第一笔交易背书成功时间和所述最后一块区块的生成时间,确定所述区块链系统的上链耗时;根据所述请求的交易数量和所述上链耗时,确定所述区块链系统的上链TPS;根据所述背书返回状态,确定背书成功数量,根据所述背书成功数量和所述请求的交易数量,确定所述区块链系统的背书成功率;根据所述上链前文件大小、所述上链完成时文件大小即所述上链耗时,确定所述区块链系统的文件增长速率;根据所述上链成功的交易数量和所述请求的交易数量,确定所述区块链系统的同步成功率。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:按照预设规则调用链码函数触发智能合约;获取区块链的第二测试性能数据,所述第二测试性能数据至少包括交易成功率、交易吞吐量、交易延迟和资源消耗中的一种;根据所述第二测试性能数据,确定所述区块链的性能。5.根据权利要求4所述的方法,其特征在于,所述根据所述第二测试性能数据,确定所述区块链的性能,包括:若资源消耗高于第一阈值,则确定资源消耗过高;若交易吞吐量低于第二阈值,则确定交易吞吐量过低;若交易成功率低于第三阈值,则确定交易成功率过低;若交易延迟高于第四阈值,则确定交易延迟过高。6.根据权利要求1-5任一项所述的方法,其特征在于,在根据所述第一测试性能数据,确定所述区块链系统的性能之后,所述方法还包括:根据所述区块链系统的性能,对所述区块链系统进行优化处理。7.一种区块链性能的测试装置,其特征在于,包括:发送模块,用于向区块链系统发送测试查询请求,以使所述区块链系统根据所述测试查询请求完成...

【专利技术属性】
技术研发人员:杨京
申请(专利权)人:北京京东金融科技控股有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1