一种适用于多节点区块链系统的性能测试方法及装置与流程

文档序号:34596412发布日期:2023-06-28 20:52阅读:131来源:国知局
一种适用于多节点区块链系统的性能测试方法及装置与流程

本发明涉及区块链系统的测试,尤其涉及一种适用于多节点区块链系统的性能测试方法及装置。


背景技术:

1、目前,区块链性能测试方案主要是基于集中化的平台进行压力测试,通过一个客户端向区块链系统发送压力并计算测试结果,随着区块链技术的发展,区块链系统性能不断提升,单节点发压存在单点压力瓶颈问题,单节点发压在效率上,无法进一步得到提升。

2、本技术可以实现发压能力的横向扩展,同时对多个区块链节点发压,可以提升性能测试效率。


技术实现思路

1、本发明提供一种适用于多节点区块链系统的性能测试方法及装置,应用于区块链系统,所述区块链系统设有区块链网络,所述区块链网络包括n个区块链节点,n为大于2的自然数,由于所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点,从而不同时间点发送的交易数据可在多个所述区块链节点中同时执行,进而提高区块链系统性能测试的效率。

2、第一方面,本发明提供了一种适用于多节点区块链系统的性能测试方法,应用于区块链系统,所述区块链系统设有区块链网络,所述区块链网络包括依次相连n个区块链节点,n为大于2的自然数,所述方法包括:

3、根据待测试数据生成交易数据;

4、将所述交易数据发送至第一区块链节点,其中,所述区块链网络中的n个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点,所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点;

5、接收第n区块链节点返回的交易反馈;

6、获取“将所述交易数据发送至第一区块链节点”至“接收第n区块链节点返回的交易反馈”过程中的测试数据;

7、根据所述测试数据,得到测试结果。

8、可选地,所述将所述交易数据发送至第一区块链节点,包括:

9、根据发压设置参数,从所述交易数据中确定目标交易数据;

10、持续向所述第一区块链节点发送所述目标交易数据,直至所述目标交易数据发送完毕或超过预设的发压持续时间。

11、可选地,所述根据待测试数据生成交易数据前,包括:

12、根据测试设置参数以及测试流程确定测试用例;其中,所述测试设置参数包括发压时间点、模拟并发量、交易数据数量、交易数据发送速度、交易执行逻辑、交易数据的存储量、接收压力的节点;

13、根据所述测试用例和所述多节点区块链系统确定测试工具;

14、将所述测试工具与所述多节点区块链系统连接。

15、可选地,所述将所述测试工具与所述多节点区块链系统连接,包括:

16、在所述区块链系统中搭建多个的所述区块链网络,多个所述区块链网络的所述区块链节点数量不同,且多个所述区块链网络的所述区块链节点数量呈梯度递减或递增;

17、将所述测试工具与所述区块链网络相连。

18、可选地,所述测试数据包括第一时间点tsend、第二时间点trecv、单个节点交易数据数量nrecv、单个节点交易总耗时tall、总交易数量nconf、以及总交易耗时tall、交易保存量nsend;

19、其中,第一时间点tsend为每次将所述交易数据发送至第一区块链节点的时间点;

20、第二时间点trecv为每次接收第n区块链节点返回的交易反馈的时间点;

21、单个节点交易总耗时tall为单个所述区块链节点第一笔交易数据发送至最后一笔交易数据接收到响应的耗时;

22、总交易数量nconf为所有区块链网络的总交易数量;

23、交易保存量nsend为发生交易数据后,能保存在所有区块链网络的交易数据的量。

24、可选地,所述根据所述测试数据,得到测试结果包括:

25、根据所述第一时间点tsend、第二时间点trecv、确定响应耗时td,td1、td2...tdn标识n次给所述区块链网络发送所述交易数据的响应耗时,根据td1、td2...tdn确定n次交易的平均耗时以及最大耗时;

26、根据所述单个节点交易数据数量nrecv和所述单个节点交易总耗时tall确定每秒区块链节点收到的交易数;

27、根据所述总交易数量nconf和所述总交易耗时tall确定所述区块链系统每秒确认的交易数量;

28、根据所述总交易数量nconf和交易保存量nsend确定交易成功率;

29、根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果。

30、可选地,所述根据所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率确定测试结果,包括:

31、将所述平均耗时、所述最大耗时、所述每秒区块链节点收到的交易数、所述每秒确认的交易数量、以及所述交易成功率生成可视化的图,以展示所述测试结果。

32、第二方面,本技术提供了一种适用于多节点区块链系统的性能测试装置,其特征在于,所述装置包括:

33、发送单元,用于将所述交易数据发送至第一区块链节点,其中,所述区块链网络中的n个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点;

34、接收单元,用于接收第n区块链节点返回的交易反馈;其中,所述交易数据会按照所述排列顺序在各个所述区块链节点中执行;

35、获取单元,用于获取“将所述交易数据发送至第一区块链节点”至“接收第n区块链节点返回的交易反馈”过程中的测试数据;

36、分析单元,用于根据所述测试数据,得到测试结果;

37、控制单元,与所述发送单元、所述接收单元以及所述分析单元相连,用于控制所述发送单元、所述接收单元以及所述分析单元的运行。

38、可选地,所述装置还包括:

39、生成单元,用于根据待测试数据生成交易数据。

40、第三方面,本发明提供了一种电子设备,处理器;

41、用于存储所述处理器可执行指令的存储器;

42、所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现第一方面任一所述的方法。

43、本发明提供了一种适用于多节点区块链系统的性能测试方法,应用于区块链系统,所述区块链系统设有区块链网络,所述区块链网络包括依次相连的n个区块链节点,n为大于2的自然数。所述方法可以根据待测试数据生成交易数据;接着,将所述交易数据发送至第一区块链节点;接着,接收第n区块链节点返回的交易反馈;然后,获取“将所述交易数据发送至第一区块链节点”至“接收第n区块链节点返回的交易反馈”过程中的测试数据;再然后,根据所述测试数据,得到测试结果。由于所述区块链网络中的n个所述区块链节点具有排列顺序,所述第一区块链节点为排列顺序第一的所述区块链节点,所述交易数据按照排列顺序依次传送到所述区块链网络中各个所述区块链节点,从而不同时间点发送的交易数据可在多个所述区块链节点中同时执行,进而提高区块链系统性能测试的效率。

44、上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1