CN113411232A - 一种区块链仿真测试系统及应用服务器 - Google Patents

一种区块链仿真测试系统及应用服务器 Download PDF

Info

Publication number
CN113411232A
CN113411232A CN202110668699.9A CN202110668699A CN113411232A CN 113411232 A CN113411232 A CN 113411232A CN 202110668699 A CN202110668699 A CN 202110668699A CN 113411232 A CN113411232 A CN 113411232A
Authority
CN
China
Prior art keywords
network
virtual
block chain
blockchain
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110668699.9A
Other languages
English (en)
Inventor
王钊
杨晴
王晖
张胜利
王滔滔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen University filed Critical Shenzhen University
Priority to CN202110668699.9A priority Critical patent/CN113411232A/zh
Publication of CN113411232A publication Critical patent/CN113411232A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种区块链仿真测试系统及应用服务器,所述的系统包括基础配置层、网络控制层以及监控管理层,所述基础配置层用于基于Docker引擎搭建区块链网络,所述网络控制层用于控制所述区块链网络中的各虚拟节点间的网络参数;所述监控管理层用于测试所述区块链网络的区块链共识性能。本申请构建了区块链仿真测试系统,并且采用Docker引擎构建虚拟节点,降低虚拟节点所占用的内存与磁盘开销,从而可以在一台物理机上实现网络节点的规模化,营造多节点网络测试环境,降低了测试成本。

Description

一种区块链仿真测试系统及应用服务器
技术领域
本申请涉及区块链技术领域,特别涉及一种区块链仿真测试系统及应用服务器。
背景技术
随着区块链技术与多学科多场景的深度结合,已涌现各式各样的共识机制,诸如:PoW(工作量证明)、PoS(权益证明)、PBFT(实用拜占庭容错)等。共识算法性能优劣可以直接影响到区块链系统的性能以及应用场景,例如,在PBFT共识算法中,由于各验证者节点之间消息传播的复杂度达到O(N2),其中,N表示分布式系统中参与共识的节点数量,那么网络中验证者的节点数量会直接影响到系统的性能。因此,随着越来越多衍生的共识机制,如何高效、便捷的评估共识算法的性能是一个重大挑战。
为了体现共识算法的性能,需要在一个实际场景下进行测试,比如网络节点规模化、网络状态实际化等。因此,构建具备规模化、真实网络的仿真平台成为比不少的工作。
因而现有技术还有待改进和提高。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种区块链仿真测试系统及应用服务器。
为了解决上述技术问题,本申请实施例第一方面提供了一种区块链仿真测试系统,所述的系统包括基础配置层、网络控制层以及监控管理层,所述基础配置层用于搭建区块链网络,所述网络控制层用于控制所述区块链网络中的各虚拟节点间的网络参数;所述监控管理层用于测试所述区块链网络的区块链共识性能,其中,所述基础配置层配置Docker引擎。
所述的区块链仿真测试系统,其中,所述基础配置层包括若干通过Docker引擎构建的虚拟容器,若干虚拟容器中的每个虚拟容器均为区块链网络中的一虚拟节点。
所述的区块链仿真测试系统,其中,所述基础配置层搭建区块链网络的搭建构成具体包括:
构建若干虚拟容器;
基于Docker引擎编译待测试的区块链网络对应的区块链源码,以得到所述区块链网络对应的可执行文件;
将所述可执行文件上传至各虚拟容器,并将控制各虚拟容器相互通信以形式所述区块链网络。
所述的区块链仿真测试系统,其中,若干虚拟容器中的每个虚拟容器均包括虚拟网卡以及映射至Docker引擎对应的引擎网卡上的虚拟网口,以通过引擎网卡实现各虚拟容器之间的通信。
所述的区块链仿真测试系统,其中,所述网络参数包括网络延迟、网络带宽以及丢包率,并且所述网络控制层通过控制各虚拟节点各自对应的虚拟网卡的出口流量以控制各虚拟节点的网络参数。
所述的区块链仿真测试系统,其中,所述网络控制层配置所述网络参数的工作过程具体包括:
将预设网络参数集上传至若干虚拟节点中的每个虚拟节点;
对于若干虚拟节点中的每个虚拟节点,通过监控管理层控制该虚拟节点基于其自身的IP地址在所述网络参数集中选取自身对应的网络参数,并配置选取到的网络参数;
检测各虚拟节点之间的网络参数是否满足预设要求;
当满足预设要求时,运行所述区块链网络中的各虚拟节点,以完成各虚拟节点的网络参数配置。
所述的区块链仿真测试系统,其中,所述监控管理层还用于检测各虚拟节点的运行状态以及获取所述区块链网络的日志记录。
所述的区块链仿真测试系统,其中,所述网络控制层还用于通过预先配置的区块链测试工具测试所述区块链传输时的传输性能,其中,传输性能包括传输时延以及区块链网络的吞吐量。
本申请实施例第二方面提供了一种应用服务器,所述应用服务器装配有如上所述的区块链仿真测试系统。
有益效果:与现有技术相比,本申请提供了一种区块链仿真测试系统及应用服务器,所述的系统包括基础配置层、网络控制层以及监控管理层,所述基础配置层用于基于Docker引擎搭建区块链网络,所述网络控制层用于控制所述区块链网络中的各虚拟节点间的网络参数;所述监控管理层用于测试所述区块链网络的区块链共识性能。本申请构建了区块链仿真测试系统,并且采用Docker引擎构建虚拟节点,降低虚拟节点所占用的内存与磁盘开销,从而可以在一台物理机上实现网络节点的规模化,营造多节点网络测试环境,降低了测试成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的区块链仿真测试系统的结构原理图。
图2为本申请提供的区块链仿真测试系统中基础配置层的结构原理图。
图3为本申请提供的区块链仿真测试系统中TC配置的流程示意图。
图4为本申请提供的区块链仿真测试系统中的监控管理层的工作过程的流程示意图。
图5为本申请提供的应用服务器的结构原理图。
具体实施方式
本申请提供一种区块链仿真测试系统及应用服务器,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。此外,应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,随着区块链技术与多学科多场景的深度结合,已涌现各式各样的共识机制,诸如:PoW(工作量证明)、PoS(权益证明)、PBFT(实用拜占庭容错)等。共识算法性能优劣可以直接影响到区块链系统的性能以及应用场景,例如,在PBFT共识算法中,由于各验证者节点之间消息传播的复杂度达到O(N2),其中,N表示分布式系统中参与共识的节点数量,那么网络中验证者的节点数量会直接影响到系统的性能。因此,随着越来越多衍生的共识机制,如何高效、便捷的评估共识算法的性能是一个重大挑战。
为了体现共识算法的性能,需要在一个实际场景下进行测试,比如网络节点规模化、网络状态实际化等。因此,构建具备规模化、真实网络的仿真平台成为比不少的工作。
为了解决上述问题,本申请实施例供了一种区块链仿真测试系统,所述的系统包括基础配置层、网络控制层以及监控管理层,所述基础配置层用于基于Docker引擎搭建区块链网络,所述网络控制层用于控制所述区块链网络中的各虚拟节点间的网络参数;所述监控管理层用于测试所述区块链网络的区块链共识性能。本申请构建区块链仿真测试系统,并且采用Docker引擎构建虚拟节点,降低虚拟节点所占用的内存与磁盘开销,从而可以在一台物理机上实现网络节点的规模化,营造多节点网络测试环境,降低了测试成本。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种区块链仿真测试系统,如图1所示,所述的区块链仿真测试系统包括基础配置层100、网络控制层200以及监控管理层300,所述网络控制层200和所述监控管理层300均与所述基础配置层100通信。基础管理层100配置有Docker引擎,并基于Docker引擎搭建区块链网络,所述网络控制层200用于控制基础管理层搭建的区块链网络中的各虚拟节点间的网络参数,监控管理层300用于配置有网络参数后的区块链网络的区块链共识性能。本实施例构建的区块链仿真测试系统中采用Docker引擎构建虚拟节点,降低虚拟节点所占用的内存与磁盘开销,从而可以在一台物理机上实现网络节点的规模化,营造多节点网络测试环境,降低了测试成本。
在本实施例的一个实现方式中,如图2所示,基础配置层采用Linux内核系统,并在Linux内核系统上建立Docker服务,通过Docker服务来运行Docker引擎,以通过Docker引擎构建若干虚拟容器,其中,若干虚拟容器中的每个虚拟容器均可以作为区块链网络的一个虚拟节点。可以理解的是,所述基础配置层包括若干基于Docker引擎构建的虚拟容器,若干虚拟容器中的每个虚拟容器均为区块链网络中的一虚拟节点,以使得一台物理机可以形成区块链网络中的多个网络节点,从而可以通过一台物理机营造多节点的区块链网络的测试环境,从而可以降低区块链网络的测试成本。
在本实施例的一个实现方式中,所述基础配置层搭建区块链网络的搭建构成具体包括:
构建若干虚拟容器;
基于Docker引擎编译待测试的区块链网络对应的区块链源码,以得到所述区块链网络对应的可执行文件;
将所述可执行文件上传至各虚拟容器,并将控制各虚拟容器相互通信以形式所述区块链网络。
具体地,若干虚拟容器位于同一台物理机上,或者是,若干虚拟容器中的部分虚拟容器位于相同物理机上,部分虚拟容器位于不同物理机上。其中,若干虚拟容器位于同一物理机上,或者是部分虚拟容器位于不同的物理机上可以基于需要构建的虚拟容器的第一数量与物理机可以构建的虚拟容器的第二数量确定,例如,当第一数量小于或者等于第二数量时,若干虚拟容器位于同一台物理机上;当第一数量大于第二数量时,可以选取可以构建若干虚拟容器的最小数量的物理机,可以理解的是,用于构建虚拟容器的物理机中至多存在一台物理机,该物理机上构建的虚拟容器的数量可以小于物理机可以构建的虚拟容器数量。这样可以保证构建出区块链网络所需的所有虚拟容器的情况下,选取最少的物理机,从而可以减低区块链网络测试的测试成本。
在本实施例的一个实现方式中,若干虚拟容器位于同一物理机上,并且在物理机上构建若干虚拟容器之前,先在物理机上搭建Docker环境并为该物理机配置引擎网卡,其中,物理机上搭建Docker环境可以为在物理机上装载Docker引擎以形成Docker环境。此外,在构建得到若干虚拟容器后,基于Docker引擎将待测试的区块链网络的源码编译成可执行文件,并将可执行文件上传至各虚拟容器,以使得各虚拟容器成为区块链网络中的各虚拟节点。例如,对于以太坊而言,可以只将可执行文件上传到所有容器节点中,而不需要保证所有容器节点含有源代码文件,或者是,对于私有链,同样可将编译后的可执行文件上传到所有容器节点,而不需要保证所有容器节点含有源代码文件。本实施例这样通过上传可执行文件的方式可以大大降低物理磁盘的开销,从而使得物理机可以包括多个虚拟节点。当然,在实际应用中,所述区块链网络还可以为其他区块链网络,例如,Hyperledger Fabric区块链等,这里就不一一样说明。
在本实施例的一个实现方式中,如图2所示,若干虚拟容器中的每个虚拟容器均包括虚拟网卡以及映射至Docker引擎对应的引擎网卡上的虚拟网口,以通过引擎网卡实现各虚拟容器之间的通信。可以理解的是,每一个虚拟容器中均包含一个虚拟网卡eth0以及映射到引擎网卡docker0上的虚拟接口veth,通过引擎网卡docker0来实现各虚拟容器间的网络通信。
在本实施例的一个实现方式中,所述网络参数包括网络延迟、网络带宽以及丢包率。其中,网络参数为各虚拟节点间的网络参数,并且任意两个虚拟节点各自对应的网络参数可以不相同,例如,虚拟节点A对应的网络参数和虚拟节点B对应的网络参数可以不相同。此外,由于目前区块链网络普遍采用RPC框架来调用服务,并且使用TCP网络传输协议进行节点间的通信,从而网络控制层可以根据虚拟节点的IP地址进行流量控制的设置。
基于此,所述网络控制层配置所述网络参数的工作过程具体包括:
将预设网络参数集上传至若干虚拟节点中的每个虚拟节点;
对于若干虚拟节点中的每个虚拟节点,通过监控管理层控制该虚拟节点基于其自身的IP地址在所述网络参数集中选取自身对应的网络参数,并配置选取到的网络参数;
检测各虚拟节点之间的网络参数是否满足预设要求;
当满足预设要求时,运行所述区块链网络中的各虚拟节点,以完成各虚拟节点的网络参数配置。
具体地,预设网络参数集包括若干网络参数,若干网络参数中的每个网络参数均携带有IP地址,并且各网络参数各自携带的IP地址互不相同。虚拟节点在获取到预设参数集后,可以根据其自身配置的IP地址在预设网络参数集中选取携带IP地址与虚拟节点自身配置的IP地址相同的网络参数,并配置选取到的网络参数。当然,在基于IP地址选取网络参数时,也可以未选取到网络参数,而当为选取到网络参数时,说明该虚拟节点不需要配置网络参数,从而不为该虚拟节点配置网络参数。
预设网络参数集中的各网络参数可以是随机设置的网络,用于测试区块链网络的共识机制的鲁棒性;或者是,预设网络参数集中各网络参数可以是根据待测试的区块链网络的真实网络参数确定的,用于测试区块链网络的共识机制的功能性以及稳定性。在一个具体实现方式中,预设网络参数集可以为二维参数矩阵,二维参数矩阵中的每一行可以存储一个虚拟节点的网络参数。例如,网络参数为延迟参数进行设置时,首先构造延迟参数矩阵,然后将延迟参数矩阵上传到所有容器中;通过监控管理模块来执行各虚拟节点的相关脚本代码以及读取延迟参数矩阵中各虚拟节点各自对应的延迟参数,其中,读取延迟参数矩阵的过程可以为:获取各虚拟节点的IP地址,在延迟参数矩阵中查找各虚拟节点的IP地址,对于查找到的各虚拟节点,则依次读取参数并进行设置,对于未查找到的各虚拟节点的IP地址,不进行设置;在所有虚拟节点均完成参数配置后,自动检测两虚拟节点之间的网络通信参数是否符合要求要求,若均满足预设要求则可以运行区块链中所有虚拟节点,预设要求为预先设置的,可以根据待测试的区块链网络确定。
在本实施例的一个实现方式中,所述网络控制层通过控制各虚拟节点各自对应的虚拟网卡的出口流量以控制各虚拟节点的网络参数。其中,控制出口流量时可以使用TC工具与Linux的Netem模块进行虚拟网卡流量的控制,并且通过控制各个虚拟节点的虚拟网卡eth0的出口流量,可以实现对虚拟节点间网络参数的控制。其中,TC是用于控制网卡出口队列流量的工具,Netem是用于模拟互联网传输性能,包括网络延迟、网络带宽以及丢包率等参数,通过控制不同虚拟节点间的网络参数以达到模拟真实区块链网络环境的效果。
举例说明:通过TC工具对如图2所示的各虚拟节点的虚拟网卡的出口流量进行控制的过程可以为:通过TC工具对各虚拟节点的虚拟网卡的出口队列进行配置,通过不同的TC配置树来设置各个虚拟节点的出口流量,其中,如图3所示,TC配置树的设置规则可以:绑定虚拟网卡队列、划分类别以及通过分类器进行分类;当流量经过该虚拟节点的root队列,虚拟节点会根据IP地址进行匹配,根据匹配成功与否进行消息的转发。在本实施例中,IP地址的不同的虚拟节点的流量会进入不同的类别,最后通过Netem进行区块链网络的虚拟节点间的网络参数模拟。
在本实施例的一个实现方式中,所述监控管理层还用于检测各虚拟节点的运行状态以及获取所述区块链网络的日志记录,以及用于通过预先配置的区块链测试工具测试所述区块链传输时的传输性能。可以理解的是,监控管理层可以具有三项功能,分别为检查所有虚拟节点的运行状态,检查虚拟节点是否正常工作;获取日志记录以便于数据分析统计;使用区块链测试工具来测试区块链的性能参数,包括区块传输时延、区块链系统的吞吐量以及共识性能等,其中,区块链测试工具是集成了的目前主流区块链系统的JS的API接口,例如,Web3.js、Polkadot.js等,并且,最后通过Shell编程来获取日志中的有用信息以及使用Python编程来实现数据分析。
在本实施例的一个实现方式中,如图4所示,监控管理层的工作过程可以为将用于监控各虚拟节点的运行状态以及获取日志数据的代码文件上传至各虚拟节点,开启监听端口并启动各虚拟节点的节点状态服务,启动区块链网络并且启动日志记录服务,配置网络控制器并根据测试需求执行预设测试文件,并使用Shell从日志记录中选取要获取的性能参数(例如,网络延迟,时间戳等)。
综上所述,本实施例提供了一种区块链仿真测试系统,所述的系统包括基础配置层、网络控制层以及监控管理层,所述基础配置层用于基于Docker引擎搭建区块链网络,所述网络控制层用于控制所述区块链网络中的各虚拟节点间的网络参数;所述监控管理层用于测试所述区块链网络的区块链共识性能。本申请构建区块链仿真测试系统,并且采用Docker引擎构建虚拟节点,降低虚拟节点所占用的内存与磁盘开销,从而可以在一台物理机上实现网络节点的规模化,营造多节点网络测试环境,降低了测试成本。此外,基于Linux内核下的网络流量控制工具TC与Netem,实现对区块链节点间常用网络参数的设置,使得用户不需要考虑区块链网络底层的具体实现细节,实现对区块链网络拓扑的定制。最后,为方便仿真系统对区块链进行测试,本实施例还提供一个监控管理层,一方面用于监控所有节点的运行状态,另一方面可支持测试吞吐量的测试工具以及获取区块链的运行日志情况,从而实现对区块链性能的测试分析。
基于上述区块链仿真测试系统,本申请还提供了一种应用服务器,所述应用服务器配置有区块链仿真测试系统。此外,如图5所示,应用服务器其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(CommunicationsInterface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以实现上述区块链仿真测试系统的测试过程。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据应用服务器的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及应用服务器中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (9)

1.一种区块链仿真测试系统,其特征在于,所述的系统包括基础配置层、网络控制层以及监控管理层,所述基础配置层用于搭建区块链网络,所述网络控制层用于控制所述区块链网络中的各虚拟节点间的网络参数;所述监控管理层用于测试所述区块链网络的区块链共识性能,其中,所述基础配置层配置Docker引擎。
2.根据权利要求1所述的区块链仿真测试系统,其特征在于,所述基础配置层包括若干通过Docker引擎构建的虚拟容器,若干虚拟容器中的每个虚拟容器均为区块链网络中的一虚拟节点。
3.根据权利要求2所述的区块链仿真测试系统,其特征在于,所述基础配置层搭建区块链网络的搭建构成具体包括:
构建若干虚拟容器;
基于Docker引擎编译待测试的区块链网络对应的区块链源码,以得到所述区块链网络对应的可执行文件;
将所述可执行文件上传至各虚拟容器,并将控制各虚拟容器相互通信以形式所述区块链网络。
4.根据权利要求3所述的区块链仿真测试系统,其特征在于,若干虚拟容器中的每个虚拟容器均包括虚拟网卡以及映射至Docker引擎对应的引擎网卡上的虚拟网口,以通过引擎网卡实现各虚拟容器之间的通信。
5.根据权利要求1所述的区块链仿真测试系统,其特征在于,所述网络参数包括网络延迟、网络带宽以及丢包率,并且所述网络控制层通过控制各虚拟节点各自对应的虚拟网卡的出口流量以控制各虚拟节点的网络参数。
6.根据权利要求1所述的区块链仿真测试系统,其特征在于,所述网络控制层配置所述网络参数的工作过程具体包括:
将预设网络参数集上传至若干虚拟节点中的每个虚拟节点;
对于若干虚拟节点中的每个虚拟节点,通过监控管理层控制该虚拟节点基于其自身的IP地址在所述网络参数集中选取自身对应的网络参数,并配置选取到的网络参数;
检测各虚拟节点之间的网络参数是否满足预设要求;
当满足预设要求时,运行所述区块链网络中的各虚拟节点,以完成各虚拟节点的网络参数配置。
7.根据权利要求1所述的区块链仿真测试系统,其特征在于,所述监控管理层还用于检测各虚拟节点的运行状态以及获取所述区块链网络的日志记录。
8.根据权利要求7所述的区块链仿真测试系统,其特征在于,所述网络控制层还用于通过预先配置的区块链测试工具测试所述区块链传输时的传输性能,其中,传输性能包括传输时延以及区块链网络的吞吐量。
9.一种应用服务器,其特征在于,所述应用服务器装配有如权利要求1-8任意一项所述的区块链仿真测试系统。
CN202110668699.9A 2021-06-16 2021-06-16 一种区块链仿真测试系统及应用服务器 Pending CN113411232A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110668699.9A CN113411232A (zh) 2021-06-16 2021-06-16 一种区块链仿真测试系统及应用服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110668699.9A CN113411232A (zh) 2021-06-16 2021-06-16 一种区块链仿真测试系统及应用服务器

Publications (1)

Publication Number Publication Date
CN113411232A true CN113411232A (zh) 2021-09-17

Family

ID=77684526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110668699.9A Pending CN113411232A (zh) 2021-06-16 2021-06-16 一种区块链仿真测试系统及应用服务器

Country Status (1)

Country Link
CN (1) CN113411232A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923146A (zh) * 2021-10-11 2022-01-11 南京邮电大学 一种可视化区块链共识算法性能测试方法
CN113973064A (zh) * 2021-12-24 2022-01-25 南京金宁汇科技有限公司 一种基于区块链的稳定性测试方法及系统
CN114422409A (zh) * 2021-12-17 2022-04-29 深圳壹账通智能科技有限公司 区块链网络的测试方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954166A (zh) * 2015-04-27 2015-09-30 北京交通大学 一种基于硬件的网络仿真系统及仿真方法
CN108170590A (zh) * 2017-12-12 2018-06-15 北京大学深圳研究生院 一种区块链系统的测试系统和方法
CN108234187A (zh) * 2016-12-22 2018-06-29 江南大学 一种面向数据报文转发的高逼真链路仿真方法
CN109542781A (zh) * 2018-11-14 2019-03-29 联动优势科技有限公司 区块链共识算法测试方法、装置、计算装置和存储介质
CN109902015A (zh) * 2019-03-01 2019-06-18 北京大学 一种智能合约仿真测试方法、装置、系统及存储介质
CN112449705A (zh) * 2018-05-10 2021-03-05 康奈尔大学 亚稳态拜占庭协定
CN112800620A (zh) * 2021-02-09 2021-05-14 广东奥尔特云科技有限公司 一种基于容器云的卫星星座仿真架构和网络仿真系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954166A (zh) * 2015-04-27 2015-09-30 北京交通大学 一种基于硬件的网络仿真系统及仿真方法
CN108234187A (zh) * 2016-12-22 2018-06-29 江南大学 一种面向数据报文转发的高逼真链路仿真方法
CN108170590A (zh) * 2017-12-12 2018-06-15 北京大学深圳研究生院 一种区块链系统的测试系统和方法
CN112449705A (zh) * 2018-05-10 2021-03-05 康奈尔大学 亚稳态拜占庭协定
CN109542781A (zh) * 2018-11-14 2019-03-29 联动优势科技有限公司 区块链共识算法测试方法、装置、计算装置和存储介质
CN109902015A (zh) * 2019-03-01 2019-06-18 北京大学 一种智能合约仿真测试方法、装置、系统及存储介质
CN112800620A (zh) * 2021-02-09 2021-05-14 广东奥尔特云科技有限公司 一种基于容器云的卫星星座仿真架构和网络仿真系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113923146A (zh) * 2021-10-11 2022-01-11 南京邮电大学 一种可视化区块链共识算法性能测试方法
CN113923146B (zh) * 2021-10-11 2024-05-03 南京邮电大学 一种可视化区块链共识算法性能测试方法
CN114422409A (zh) * 2021-12-17 2022-04-29 深圳壹账通智能科技有限公司 区块链网络的测试方法、装置、设备及存储介质
CN113973064A (zh) * 2021-12-24 2022-01-25 南京金宁汇科技有限公司 一种基于区块链的稳定性测试方法及系统
CN113973064B (zh) * 2021-12-24 2022-02-25 南京金宁汇科技有限公司 一种基于区块链的稳定性测试方法及系统

Similar Documents

Publication Publication Date Title
CN113411232A (zh) 一种区块链仿真测试系统及应用服务器
CN108170590B (zh) 一种区块链系统的测试系统和方法
US11398968B2 (en) Methods, systems, and computer readable media for testing virtualized network functions and related infrastructure
US9628339B1 (en) Network testbed creation and validation
CN104978261B (zh) 应用程序的测试方法、装置及系统
CN103248535B (zh) 一种云系统测试方法及装置
CN102036275B (zh) 一种模拟器和消息处理方法
US9436566B2 (en) Methods, systems, and computer readable media for scaling a workload
CN108055165A (zh) 设备巡检的方法以及设备巡检装置
WO2017176455A1 (en) Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine
US11894983B2 (en) Simulation and testing of infrastructure as a service scale using a container orchestration engine
Behnke et al. Héctor: A framework for testing iot applications across heterogeneous edge and cloud testbeds
WO2023131343A1 (zh) 压力测试方法、系统、设备及存储介质
CN108737163B (zh) 一种基于OpenFlow协议的SDN控制器应用性能分析方法
Malik et al. A measurement study of open source SDN layers in OpenStack under network perturbation
WO2015084140A1 (en) A system and method for emulating multiple independent wireless client devices in the cloud
Raith et al. faas‐sim: A trace‐driven simulation framework for serverless edge computing platforms
Rahmanian et al. MicroSplit: Efficient Splitting of Microservices on Edge Clouds
WO2024159778A1 (zh) 一种主机调度方法、系统、设备及非易失性可读存储介质
US10289762B2 (en) Interconnection network simulator and method for simulating interconnection networks
CN117596197A (zh) 一种服务器测试方法、装置、设备及机器可读存储介质
CN115904852B (zh) 一种用于数据处理器的自动化测试方法、设备及介质
Santi et al. Automated and reproducible application traces generation for IoT applications
Clouet et al. A unified monitoring framework for energy consumption and network traffic
CN116032728A (zh) 用于微服务环境的智能访问方法、系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210917