CN113890877B - 一种云测试方法及装置 - Google Patents
一种云测试方法及装置 Download PDFInfo
- Publication number
- CN113890877B CN113890877B CN202111136488.7A CN202111136488A CN113890877B CN 113890877 B CN113890877 B CN 113890877B CN 202111136488 A CN202111136488 A CN 202111136488A CN 113890877 B CN113890877 B CN 113890877B
- Authority
- CN
- China
- Prior art keywords
- tester
- virtual machine
- computing node
- test
- node
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种云测试方法及装置,所述方法包括:当检测到宿主服务器中添加新的虚拟机节点时,对所述虚拟机节点进行检测;当确定所述虚拟机节点为测试仪计算节点时,将所述虚拟机节点的指定网卡配置为管理网卡,并为该管理网卡配置指定网段的目标IP地址;当接收到测试仪控制平台发送的测试控制命令时,依据所述测试控制命令,通过所述内部通信连接将所述测试控制命令发送给目标测试仪计算节点;当接收到所述目标测试仪计算节点返回的测试数据时,将所述测试数据发送给所述测试仪控制平台。应用本发明实施例可以提高测试仪计算节点的部署效率和准确性,并提高测试仪计算节点的安全性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种云测试方法及装置。
背景技术
为了测试云平台中承载网络的功能完整性、安全性和稳定性,用户会通过以下步骤来搭建环境并测试:
1、通过云平台在同一台虚拟机宿主服务器(简称宿主服务器)上部署两台测试仪计算节点,每个测试仪计算节点添加多个网卡;
2、将测试仪计算节点中的第一张网卡作为管理网卡,通过手工配置的方式桥接到宿主服务器的管理网卡上,然后再给管理网卡配置上管理IP地址。
3、在线下环境中使用一台个人计算机(Personal Computer,简称PC)作为测试的执行机,上面运行着测试控制软件,通过三层网络,连接到测试仪计算节点。
4、配置测试内容并开始测试。
在测试时,流量从其中一台测试仪计算节点上发出,经由云承载网络传输,在另一台测试仪计算节点上被接收,以此来达到测试云承载网络的功能完整性、安全性和稳定性。
在上述应用场景中,测试仪计算节点通过桥接的方式,经由管理网卡连接到外部网络,存在以下问题:
1、通过云平台添加的测试仪计算节点的所有网卡只能连接到业务网络,因此,管理网卡需要人工进行配置,将其桥接到宿主服务器的管理网卡上,且这种桥接操作后的改变无法被云平台感知到,存在管理遗漏的问题。
2、测试仪计算节点直接暴露在开放网络中,存在容易受到攻击的安全问题。
发明内容
有鉴于此,本发明提供一种云测试方法及装置,以解决传统方案测试仪计算节点的管理网卡需要手动配置,且容易受到攻击的问题。
第一方面,本发明提供一种云测试方法,应用于宿主服务器中安装的云端代理,所述方法包括:
当检测到所述宿主服务器中添加新的虚拟机节点时,对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点;
当确定所述虚拟机节点为测试仪计算节点时,将所述虚拟机节点的指定网卡配置为管理网卡,并为该管理网卡配置指定网段的目标IP地址与所述云端代理在所述宿主服务器内部建立内部通信连接;
当接收到测试仪控制平台发送的测试控制命令时,依据所述测试控制命令,通过所述内部通信连接将所述测试控制命令发送给目标测试仪计算节点,以使所述目标测试仪计算节点依据所述测试控制命令,利用云承载网络执行云测试任务;
当接收到所述目标测试仪计算节点返回的测试数据时,将所述测试数据发送给所述测试仪控制平台。
第二方面,本发明提供一种云测试装置,应用于宿主服务器中安装的云端代理,所述装置包括:
检测单元,用于当检测到所述宿主服务器中添加新的虚拟机节点时,对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点;
配置单元,用于当所述检测单元确定所述虚拟机节点为测试仪计算节点时,将所述虚拟机节点的指定网卡配置为管理网卡,并为该管理网卡配置指定网段的目标IP地址,以使所述虚拟机节点依据所述目标IP地址与所述云端代理在所述宿主服务器内部建立内部通信连接;
通信单元,用于当接收到测试仪控制平台发送的测试控制命令时,依据所述测试控制命令,通过所述内部通信连接将所述测试控制命令发送给目标测试仪计算节点,以使所述目标测试仪计算节点依据所述测试控制命令,利用云承载网络执行云测试任务;
所述通信单元,还用于当接收到所述目标测试仪计算节点返回的测试数据时,将所述测试数据发送给所述测试仪控制平台。
应用本发明公开的技术方案,通过在宿主服务器中安装云端代理,由云端代理对测试仪计算节点进行检测,并在检测到测试仪计算节点时,对测试仪计算节点进行管理网卡配置,实现了测试仪计算节点的管理网卡的自动配置,避免人工配置方案的效率差,易出错的问题,提高了测试仪计算节点的部署效率和准确性;此外,通过在宿主服务器内部建立测试仪计算节点的管理网卡与云端代理之间的内部通信连接,测试仪计算节点通过云端代理与测试控制平台连接,由云端代理作为测试仪计算节点与测试控制平台之间的中间桥梁,通过云端代理对测试仪计算节点与测试控制平台之间交互的测试控制命令和测试数据进行转发,避免了测试仪计算节点对外部网络暴露,提高了测试仪计算节点的安全性。
附图说明
图1是本发明实施例提供的一种云测试方法的流程示意图;
图2是本发明实施例提供的一种具体应用场景的架构示意图;
图3是本发明实施例提供的一种云测试装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种云测试方法的流程示意图,其中,该云测试方法可以应用于宿主服务器中安装的云端代理,如图1所示,该云测试方法可以包括:
需要说明的是,本发明实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
步骤101、当检测到宿主服务器中添加新的虚拟机节点时,对该虚拟机节点进行检测,以确定该虚拟机节点是否为测试仪计算节点;若是,则转至步骤102;否则,返回步骤101。
步骤102、当确定该虚拟机节点为测试仪计算节点时,将该虚拟机节点的指定网卡配置为管理网卡,并为该管理网卡配置指定网段的目标IP地址,以使虚拟机节点依据目标IP地址与云端代理在宿主服务器内部建立内部通信连接。
本发明实施例中,为了实现测试仪计算节点的管理网卡的自动配置,可以在宿主服务器中安装云端代理(CloudAgent)。
当宿主服务器中的云端代理检测到宿主服务器中添加新的虚拟机节点时,可以对该虚拟机节点进行检测,以确定该虚拟机节点是否为测试仪计算节点。
当云端代理确定当前添加的虚拟机节点为测试仪计算节点时,云端代理可以将该虚拟机节点的指定网卡(该网卡为虚拟网卡)配置为管理网卡。
示例性的,上述指定网卡可以为虚拟机的第一张网卡(如按照网卡的硬件ID排序后的第一张网卡(一般为硬件ID最小的网卡)),或其它任意一张网卡。
在一个示例中,云端代理可以依据预先设置的管理网卡配置规则,将虚拟机的对应网卡确定为上述指定网卡,并将该指定网卡配置为管理网卡。
需要说明的是,若云端代理未获取到管理网卡配置规则,可以默认将虚拟机的第一张网卡配置为管理网卡。
本发明实施例中,为了提高测试仪计算节点的安全性,避免测试仪计算结果暴露在开放网络中,测试仪计算节点可以通过宿主服务器内部的通信连接(可以称为内部通信连接)与云端代理交互,以接收测试仪控制平台的测试控制命令,以及,将测试数据返回给测试仪控制平台。
举例来说,可以在宿主服务器中增加一个内部局域网(本文中称为内部网络),该内部网络与外部网络(包括云承载网络、测试执行PC所在网络等)相互独立。
例如,可以在宿主服务器中增加一个虚拟交换机,测试仪计算节点与云端代理均可以接入该虚拟交换机,通过该虚拟交换机在宿主服务器内部实现通信。
相应地,当按照上述方式将测试仪计算节点的指定网卡配置为管理网卡时,还可以为该管理网卡配置指定网段的IP地址(本文中称为目标IP地址)。该测试仪计算节点可以依据该目标IP地址在宿主服务器内部建立内部通信连接。
即在本发明实施例中,测试仪计算节点的管理网卡不再通过宿主服务器的管理口与外部网络连接,而是在宿主服务器内部与云端代理建立内部通信连接,通过云端代理与测试仪控制平台(如运行有测试控制软件的测试执行PC)连接。云端代理作为测试仪计算节点与测试仪控制平台之间的桥梁,对二者之间交互的测试控制命令、测试数据等进行转发。
步骤103、当接收到测试仪控制平台发送的测试控制命令时,依据测试控制命令,通过内部通信连接将测试控制命令发送给目标测试仪计算节点,以使目标测试仪计算节点依据该测试控制命令,利用云承载网络执行云测试任务。
本发明实施例中,当需要执行云测试任务时,测试仪控制平台可以向测试仪计算节点发送测试控制命令(协议报文)。
示例性的,测试控制命令中可以包括参与云测试的测试仪计算节点(本文中称为目标测试仪计算节点)的标识信息,各参与云测试的测试仪计算节点需要执行的操作,以及需要返回的测试数据等。
示例性的,目标测试仪计算节点可以包括一个或多个测试仪计算节点。
举例来说,测试控制命令可以控制测试仪计算节点A对云承载网络中的某一IP地址进行ping(一种用于测试网络连接量的程序)测试,并返回测试结果。在该情况下,目标测试仪计算节点为测试仪计算节点A。
又举例来说,测试控制命令可以控制测试仪计算节点A向测试仪计算节点B发送数据(即测试仪计算节点A和测试仪计算节点B参与云测试,前者进行数据发送,后者进行数据接收),并控制测试仪计算节点A返回数据发送的相关测试数据,如发送统计信息,可以包括但不限于发送端口、发送时间、发送数据大小等,控制测试仪计算节点B返回数据接收的相关测试数据,如接收统计信息,可以包括但不限于接收端口、接收时间、接收数据大小等。在该情况下,目标测试仪计算节点可以包括测试仪计算节点A和测试仪计算节点B。
测试仪控制平台发送的测试控制命令会先到达云端代理。
云端代理接收到测试仪控制平台发送的测试控制命令时,可以通过与测试仪计算节点之间的内部通信连接将测试控制命令发送给对应的测试仪计算节点(即目标测试仪计算节点)。
示例性的,目标测试仪计算节点接收到测试控制命令时,可以依据接收到的测试控制命令,利用云承载网络执行云测试任务,并将相关测试数据返回给测试仪控制平台。
步骤104、当接收到目标测试仪计算节点返回的测试数据时,将接收到的测试数据发送给测试仪控制平台。
本发明实施例中,目标测试仪计算节点返回的测试数据也会先到达云端代理。
云端代理接收到目标测试仪计算节点返回的测试数据时,可以将接收到的测试数据发送给测试仪控制平台。
示例性的,目标测试仪计算节点完成云测试任务时,可以将测试数据携带在协议报文(如测试响应报文)中返回给测试仪控制平台。其中,测试数据可以作为测试响应报文的payload(负载)。
云端代理接收到测试响应报文时,可以将该测试响应报文发送给测试仪控制平台。
可见,在图1所示方法流程中,通过在宿主服务器中安装云端代理,由云端代理对测试仪计算节点进行检测,并在检测到测试仪计算节点时,对测试仪计算节点进行管理网卡配置,实现了测试仪计算节点的管理网卡的自动配置,避免人工配置方案的效率差,易出错的问题,提高了测试仪计算节点的部署效率和准确性;此外,通过在宿主服务器内部建立测试仪计算节点的管理网卡与云端代理之间的内部通信连接,测试仪计算节点通过云端代理与测试控制平台连接,由云端代理作为测试仪计算节点与测试控制平台之间的中间桥梁,通过云端代理对测试仪计算节点与测试控制平台之间交互的测试控制命令和测试数据进行转发,避免了测试仪计算节点对外部网络暴露,提高了测试仪计算节点的安全性。
在一些实施例中,步骤101中,对虚拟机节点进行检测,以确定虚拟机节点是否为测试仪计算节点,可以包括:
通过虚拟机节点的控制口与虚拟机节点进行通信,以检查虚拟机节点中已安装的程序是否包含测试仪计算节点程序;
当虚拟机节点中已安装的程序包含测试仪计算节点程序时,确定虚拟机节点为测试仪计算节点。
示例性的,考虑到测试仪计算节点是通过在虚拟机上安装测试仪计算节点程序实现,即作为测试仪计算节点的虚拟机上会安装有测试仪计算节点程序,因此,可以通过检测虚拟机上是否安装有测试仪计算节点程序的方式,确定虚拟机是否为测试仪计算节点。
示例性的,为了实现测试仪计算节点的自动检测识别,可以为宿主服务器中创建的虚拟机添加控制口,如console(控制台)口。
当云端代理检测到宿主服务器中添加新的虚拟机节点时,云端代理可以通过虚拟机节点的控制口与虚拟机节点进行通信,以检查虚拟机节点中已安装的程序是否包含测试仪计算节点程序。
当云端代理确定虚拟机节点中已安装的程序包含测试仪计算节点程序时,可以确定该虚拟机节点为测试仪计算节点。
在一些实施例中,接收测试仪控制平台发送的测试控制命令,可以包括:
对宿主服务器的目标端口进行监听,以接收测试仪控制平台发送的测试控制命令;目标端口为宿主服务器上连接测试仪控制平台的端口;
步骤104中,将接收到的测试数据发送给测试仪控制平台,可以包括:
将接收到的测试数据,通过目标端口发送给测试仪控制平台。
示例性的,云端代理可以通过对宿主服务器的物理网卡上连接测试仪控制平台的端口(本文中称为目标端口)进行监听的方式,接收来自测试仪控制平台的测试控制命令,并当接收到测试仪控制平台发送的测试控制命令时,将接收到的测试控制命令通过内部通信连接发送给目标测试仪计算节点。
当云端代理接收到目标测试仪计算节点返回的测试数据时,可以将接收到的测试数据通过目标端口发送给测试仪控制平台。
本发明实施例中,宿主服务器中的云端代理可以通过离线安装包手动进行安装,或,通过自动安装的方式进行安装。
对于自动安装方式,在一些实施例中,宿主服务器中的云端代理通过以下方式安装:
当宿主服务器接收到测试控制平台发送的云端代理安装指令时,使用设定命令从远端下载所述云端代理的离线安装包;
依据云端代理的离线安装包,安装云端代理。
示例性的,可以通过测试控制软件推送安装服务进行安装的方式,实现云端代理的自动安装。
示例性的,测试控制平台可以依据宿主服务器的管理口IP地址,向宿主服务器发送云端代理安装指令。
当宿主服务器接收到测试控制平台发送的云端代理安装指令时,可以使用设定命令(如wegt命令(一种从指定地址下载文件的命令))从远端下载云端代理的离线安装包,并依据下载得到的云端代理的离线安装包,安装云端代理。
在一些实施例中,上述接收到测试仪控制平台发送的测试控制命令之前,还包括:
对从外部网络侧接收到的协议报文进行检测,确定该协议报文是否包括测试仪控制平台发送的测试控制命令,若是,则确定接收到测试仪控制平台发送的测试控制命令;否则,对该协议报文进行丢弃。
上述接收到目标测试仪计算节点返回的测试数据之前,还可以包括:
对通过内部通信连接接收到的协议报文进行检测,确定该协议报文中携带的数据是否为响应所述测试仪控制平台发送的测试控制命令的测试数据时,若是,则确定接收到目标测试仪计算节点返回的测试数据;否则,对该协议报文进行丢弃。
示例性的,为了避免在测试仪计算节点被攻击的情况下,由于测试仪计算节点的配置被修改,导致测试流量倒灌管理网络(如测试执行PC所在网络),云端代理可以对测试仪计算节点与测试控制平台之间交互的测试控制命令和测试数据之外的其它报文进行阻断。
相应地,对于云端代理接收到的外部网络侧的协议报文,云端代理可以确定该协议报文是否包括测试控制命令,若是,则按照上述实施例中描述的方式,将测试控制命令通过内部通信连接转发给测试仪计算节点;否则,对该协议报文进行丢弃。
同理,对于云端代理通过内部通信连接接收到的协议报文,云端代理可以确定该协议报文中携带的数据是否为测试仪计算节点响应测试控制命令返回的测试数据,若是,则按照上述实施例中描述的方式,将测试数据发送给测试控制平台;否则,对该协议报文进行丢弃。
示例性的,考虑到云测试场景中,测试控制命令-测试数据是以基于请求和响应的方式,来进行通信的,即基于接收请求、解析请求、返回对应的数据(携带在响应报文中)的方式来进行测试数据的返回。测试仪控制平台发送的测试控制命令通常具有特定的报文格式。
因而,云端代理可以通过格式匹配的方式,确定外部网络侧的协议报文是否为测试控制命令,对于不匹配预设报文格式的协议报文,进行丢弃处理。
示例性的,对于格式匹配的协议报文,还可以对鉴权字段进行验证,当验证通过时,确定该协议报文为合法测试控制命令,否则,对该协议报文进行丢弃处理,以避免通过伪造请求来进行攻击的情况。
对于通过内部通信连接接收到的协议报文,若确定其携带的不是针对云端代理已转发的测试控制命令的测试数据,则进行丢弃处理。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图2,为本发明实施例提供的一种具体应用场景的架构示意图,如图2所示,宿主服务器中可以安装云端代理,并添加一个内部网络(即增加一个虚拟交换机),该云端代理一方面可以通过内部网络与测试仪计算节点连接,另一方面可以通过宿主服务器的管理口(即上述目标端口)与测试仪控制平台(以测试执行PC为例,该测试执行PC上安装有测试控制软件)。
下面对基于图2所示应用场景实现的云测试方案的具体实现进行说明。
1、在宿主服务器上运行CloudAgent程序,即安装云端代理。
示例性的,在宿主服务器上按照云端代理可以包括以下方式:
方式一:通过离线安装包手动进行安装。
方式二:通过测试控制软件推送安装服务进行安装。推送安装服务的具体实现方案包括:
1.1、测试执行PC根据接收到的安装操作指令,向宿主服务器发送云端代理安装指令;
示例性的,用户可以在测试执行平台的测试控制软件上输入宿主服务器的管理口IP地址,并选择推送安装功能按钮,触发测试执行PC向宿主服务器发送云端代理安装指令;
1.2、测试执行PC通过SSH连接到宿主服务器;
1.3、宿主服务器使用wget命令从远端下载云端代理的离线安装包;
1.4、依据离线安装包安装云端代理。
2、部署测试仪计算节点,为测试仪计算节点分配合理的资源,至少包括2个网卡,一个用于连接到内部网络,一个用于测试业务。用于测试业务的网卡需要为其选择合适的业务网络出口。
3、云端代理对新添加的虚拟机节点进行检测,当确定该虚拟机节点为测试仪计算节点时,将该虚拟机节点的第一张网卡加入到一个内部网络,其余网卡不做特殊处理。
示例性的,对虚拟机节点的检测/内部网络的添加/网卡设置等操作可以通过调用Libvrt提供的一些标准接口来实现,具体各项定义如下:
3.1、虚拟机节点的检测:
通过Libvrt为虚拟机添加console口,云端代理通过此console口与内部虚拟机节点进行通信,检查虚拟机节点已安装的服务是否包含测试仪计算节点程序;若是,则确定该虚拟机节点为测试仪计算节点;否则,确定该虚拟机节点不是测试仪计算节点。
3.2、内部网络的添加:
云端代理通过Libvrt添加一个特定的内部局域网(即上述内部网络),该网络用于传输测试执行的控制与状态数据(如上述测试控制命令以及对应的测试数据),并且与外部的其他网络(包括云承载网络、测试执行PC所在网络等)相互独立;
3.3、网卡设置:
当确定虚拟机节点为测试仪计算节点时,云端代理通过Libvrt将虚拟机节点的第一张网卡配置为管理网卡,分配特定区间的网络地址(即上述指定网段的目标IP地址),最后将该网卡加入上述内部网络。
4、云端代理通过内部的一个虚拟网卡连接到内部网络上。云端代理在宿主服务器的物理网卡上监听一个特定端口(连接测试执行PC的端口,即上述目标端口),接收来自测试执行PC发送的控制请求(如上述测试控制命令)。云端代理将测试控制命令通过内部网络中,转发至对应的测试仪计算节点上(测试执行PC可以指定测试仪计算节点的IP地址),同时将测试仪计算节点的测试数据返回到测试执行PC,通过这样的方式来保证测试的正常执行。
示例性的,可以在宿主服务器内增加一个虚拟交换机,测试仪计算节点可以通过管理网卡连接到该虚拟交换机,云端代理可以通过一个虚拟网卡连接到该虚拟交换机,从而,建立测试仪计算节点与云端代理的内部通信连接,云端代理可以通过该内部通信连接向测试仪计算节点发送测试控制命令,并接收测试仪计算节点返回的测试数据。
5、云端代理作为内部网络与外部网络之间的桥梁,为了保证两个网络相互独立,云端代理可以对测试控制命令和响应该测试控制命令的测试数据进行转发,对于其他报文可以不进行转发处理,而是进行丢弃。
请参见图3,为本发明实施例提供一种云测试装置的结构示意图,其中,该装置可以应用于上述方法实施例中的云端代理,如图3所示,该云测试装置可以包括:
检测单元310,用于当检测到所述宿主服务器中添加新的虚拟机节点时,对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点;
配置单元320,用于当所述检测单元310确定所述虚拟机节点为测试仪计算节点时,将所述虚拟机节点的指定网卡配置为管理网卡,并为该管理网卡配置指定网段的目标IP地址,以使所述虚拟机节点依据所述目标IP地址与所述云端代理在所述宿主服务器内部建立内部通信连接;
通信单元330,用于当接收到测试仪控制平台发送的测试控制命令时,依据所述测试控制命令,通过所述内部通信连接将所述测试控制命令发送给目标测试仪计算节点,以使所述目标测试仪计算节点依据所述测试控制命令,利用云承载网络执行云测试任务;
所述通信单元330,还用于当接收到所述目标测试仪计算节点返回的测试数据时,将所述测试数据发送给所述测试仪控制平台。
在一些实施例中,所述检测单元310对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点,包括:
通过所述虚拟机节点的控制口与所述虚拟机节点进行通信,以检查所述虚拟机节点中已安装的程序是否包含测试仪计算节点程序;
当所述虚拟机节点中已安装的程序包含测试仪计算节点程序时,确定所述虚拟机节点为测试仪计算节点。
在一些实施例中,所述通信单元330,具体用于对所述宿主服务器的目标端口进行监听,以接收所述测试仪控制平台发送的测试控制命令;所述目标端口为所述宿主服务器上连接所述测试仪控制平台的端口;
所述通信单元330将所述测试数据发送给所述测试仪控制平台,包括:
将所述测试数据通过所述目标端口发送给所述测试仪控制平台。
在一些实施例中,所述宿主服务器中的云端代理通过以下方式安装:
当所述宿主服务器接收到测试仪控制平台发送的云端代理安装指令时,使用设定命令从远端下载所述云端代理的离线安装包;
依据所述云端代理的离线安装包,安装所述云端代理。
在一些实施例中,所述通信单元330,还用于对从外部网络侧接收到的协议报文进行检测,确定该协议报文是否包括所述测试仪控制平台发送的测试控制命令,若是,则确定接收到测试仪控制平台发送的测试控制命令;否则,对该协议报文进行丢弃;
所述通信单元330,还用于对通过所述内部通信连接接收到的协议报文进行检测,确定该协议报文中携带的数据是否为响应所述测试仪控制平台发送的所述测试控制命令的测试数据时,若是,则确定接收到所述目标测试仪计算节点返回的测试数据;否则,对该协议报文进行丢弃。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过在宿主服务器中安装云端代理,由云端代理对测试仪计算节点进行检测,并在检测到测试仪计算节点时,对测试仪计算节点进行管理网卡配置,实现了测试仪计算节点的管理网卡的自动配置,避免人工配置方案的效率差,易出错的问题,提高了测试仪计算节点的部署效率和准确性;此外,通过在宿主服务器内部建立测试仪计算节点的管理网卡与云端代理之间的内部通信连接,测试仪计算节点通过云端代理与测试控制平台连接,由云端代理作为测试仪计算节点与测试控制平台之间的中间桥梁,通过云端代理对测试仪计算节点与测试控制平台之间交互的测试控制命令和测试数据进行转发,避免了测试仪计算节点对外部网络暴露,提高了测试仪计算节点的安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种云测试方法,其特征在于,应用于宿主服务器中安装的云端代理,所述方法包括:
当检测到所述宿主服务器中添加新的虚拟机节点时,对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点;
当确定所述虚拟机节点为测试仪计算节点时,将所述虚拟机节点的指定网卡配置为管理网卡,并为该管理网卡配置指定网段的目标IP地址,以使所述虚拟机节点依据所述目标IP地址与所述云端代理在所述宿主服务器内部建立内部通信连接;
当接收到测试仪控制平台发送的测试控制命令时,依据所述测试控制命令,通过所述内部通信连接将所述测试控制命令发送给目标测试仪计算节点,以使所述目标测试仪计算节点依据所述测试控制命令,利用云承载网络执行云测试任务;
当接收到所述目标测试仪计算节点返回的测试数据时,将所述测试数据发送给所述测试仪控制平台。
2.根据权利要求1所述的方法,其特征在于,所述对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点,包括:
通过所述虚拟机节点的控制口与所述虚拟机节点进行通信,以检查所述虚拟机节点中已安装的程序是否包含测试仪计算节点程序;
当所述虚拟机节点中已安装的程序包含测试仪计算节点程序时,确定所述虚拟机节点为测试仪计算节点。
3.根据权利要求1所述的方法,其特征在于,接收测试仪控制平台发送的测试控制命令,包括:
对所述宿主服务器的目标端口进行监听,以接收所述测试仪控制平台发送的测试控制命令;所述目标端口为所述宿主服务器上连接所述测试仪控制平台的端口;
所述将所述测试数据发送给所述测试仪控制平台,包括:
将所述测试数据通过所述目标端口发送给所述测试仪控制平台。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述宿主服务器中的云端代理通过以下方式安装:
当所述宿主服务器接收到测试仪控制平台发送的云端代理安装指令时,使用设定命令从远端下载所述云端代理的离线安装包;
依据所述云端代理的离线安装包,安装所述云端代理。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述接收到测试仪控制平台发送的测试控制命令之前,还包括:
对从外部网络侧接收到的协议报文进行检测,确定该协议报文是否包括所述测试仪控制平台发送的测试控制命令,若是,则确定接收到测试仪控制平台发送的测试控制命令;否则,对该协议报文进行丢弃;
和/或,
所述接收到所述目标测试仪计算节点返回的测试数据之前,还包括:
对通过所述内部通信连接接收到的协议报文进行检测,确定该协议报文中携带的数据是否为响应所述测试仪控制平台发送的所述测试控制命令的测试数据时,若是,则确定接收到所述目标测试仪计算节点返回的测试数据;否则,对该协议报文进行丢弃。
6.一种云测试装置,其特征在于,应用于宿主服务器中安装的云端代理,所述装置包括:
检测单元,用于当检测到所述宿主服务器中添加新的虚拟机节点时,对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点;
配置单元,用于当所述检测单元确定所述虚拟机节点为测试仪计算节点时,将所述虚拟机节点的指定网卡配置为管理网卡,并为该管理网卡配置指定网段的目标IP地址,以使所述虚拟机节点依据所述目标IP地址与所述云端代理在所述宿主服务器内部建立内部通信连接;
通信单元,用于当接收到测试仪控制平台发送的测试控制命令时,依据所述测试控制命令,通过所述内部通信连接将所述测试控制命令发送给目标测试仪计算节点,以使所述目标测试仪计算节点依据所述测试控制命令,利用云承载网络执行云测试任务;
所述通信单元,还用于当接收到所述目标测试仪计算节点返回的测试数据时,将所述测试数据发送给所述测试仪控制平台。
7.根据权利要求6所述的装置,其特征在于,所述检测单元对所述虚拟机节点进行检测,以确定所述虚拟机节点是否为测试仪计算节点,包括:
通过所述虚拟机节点的控制口与所述虚拟机节点进行通信,以检查所述虚拟机节点中已安装的程序是否包含测试仪计算节点程序;
当所述虚拟机节点中已安装的程序包含测试仪计算节点程序时,确定所述虚拟机节点为测试仪计算节点。
8.根据权利要求6所述的装置,其特征在于,
所述通信单元,具体用于对所述宿主服务器的目标端口进行监听,以接收所述测试仪控制平台发送的测试控制命令;所述目标端口为所述宿主服务器上连接所述测试仪控制平台的端口;
所述通信单元将所述测试数据发送给所述测试仪控制平台,包括:
将所述测试数据通过所述目标端口发送给所述测试仪控制平台。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述宿主服务器中的云端代理通过以下方式安装:
当所述宿主服务器接收到测试仪控制平台发送的云端代理安装指令时,使用设定命令从远端下载所述云端代理的离线安装包;
依据所述云端代理的离线安装包,安装所述云端代理。
10.根据权利要求6-8任一项所述的装置,其特征在于,
所述通信单元,还用于对从外部网络侧接收到的协议报文进行检测,确定该协议报文是否包括所述测试仪控制平台发送的测试控制命令,若是,则确定接收到测试仪控制平台发送的测试控制命令;否则,对该协议报文进行丢弃;
所述通信单元,还用于对通过所述内部通信连接接收到的协议报文进行检测,确定该协议报文中携带的数据是否为响应所述测试仪控制平台发送的所述测试控制命令的测试数据时,若是,则确定接收到所述目标测试仪计算节点返回的测试数据;否则,对该协议报文进行丢弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111136488.7A CN113890877B (zh) | 2021-09-27 | 2021-09-27 | 一种云测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111136488.7A CN113890877B (zh) | 2021-09-27 | 2021-09-27 | 一种云测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113890877A CN113890877A (zh) | 2022-01-04 |
CN113890877B true CN113890877B (zh) | 2023-09-26 |
Family
ID=79007086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111136488.7A Active CN113890877B (zh) | 2021-09-27 | 2021-09-27 | 一种云测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113890877B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049435A (zh) * | 2015-07-21 | 2015-11-11 | 重庆邮电大学 | 面向异构无线传感器网络的协议一致性的云测试框架 |
CN106406975A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | 桌面云系统的测试方法及装置 |
CN110650061A (zh) * | 2018-06-27 | 2020-01-03 | 苏州宏控软件系统有限公司 | 一种分布式协同云测试系统 |
CN113297055A (zh) * | 2020-02-24 | 2021-08-24 | 国家广播电视总局广播电视科学研究院 | 一种云测试系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10635476B2 (en) * | 2017-05-09 | 2020-04-28 | Microsoft Technology Licensing, Llc | Cloud architecture for automated testing |
-
2021
- 2021-09-27 CN CN202111136488.7A patent/CN113890877B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049435A (zh) * | 2015-07-21 | 2015-11-11 | 重庆邮电大学 | 面向异构无线传感器网络的协议一致性的云测试框架 |
CN106406975A (zh) * | 2015-07-30 | 2017-02-15 | 中兴通讯股份有限公司 | 桌面云系统的测试方法及装置 |
CN110650061A (zh) * | 2018-06-27 | 2020-01-03 | 苏州宏控软件系统有限公司 | 一种分布式协同云测试系统 |
CN113297055A (zh) * | 2020-02-24 | 2021-08-24 | 国家广播电视总局广播电视科学研究院 | 一种云测试系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113890877A (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3471375B1 (en) | Method and apparatus for managing field device based on cloud server | |
US9872205B2 (en) | Method and system for sideband communication architecture for supporting manageability over wireless LAN (WLAN) | |
CN109075996B (zh) | 用于监视网络性能的监视控制器及因此执行的方法 | |
CN115918139A (zh) | 网络切片的主动保证 | |
US7523198B2 (en) | Integrated testing approach for publish/subscribe network systems | |
EP1892929B1 (en) | A method, an apparatus and a system for message transmission | |
US8898265B2 (en) | Determining data flows in a network | |
US20070061103A1 (en) | Systems and method for testing the load of at least one IP-supported device | |
US11228480B2 (en) | Gateway assisted diagnostics and repair | |
CN101164287A (zh) | 文件传输协议服务性能测试方法 | |
US7308700B1 (en) | Network station management system and method | |
CN107634871B (zh) | 一种连通性测试方法、装置及系统 | |
CN103109497B (zh) | 用于测量网络中性能特性的互连设备的动态配置 | |
CN111800399A (zh) | 一种信息传输方法、装置、设备及存储介质 | |
KR100950212B1 (ko) | 이동 통신 애플리케이션들을 테스트하기 위한 소프트웨어 개발 시스템, 상기 소프트웨어 개발 시스템에서 소프트웨어 구성요소들간에 데이터를 전송하는 방법, 상기 소프트웨어 개발 시스템을 포함하는 데이터 처리 장치, 및 상기 데이터 처리 장치를 제어하는 컴퓨터 프로그램이 수록된 컴퓨터 판독가능 저장 매체 | |
CN112463281A (zh) | 远程协助方法、装置、系统、电子设备及存储介质 | |
US11218370B2 (en) | Method for applying a patch to a virtualized network function to be updated | |
JPWO2010046977A1 (ja) | 通信制御プログラム、通信制御装置、通信制御システムおよび通信制御方法 | |
CN113890877B (zh) | 一种云测试方法及装置 | |
GB2583903A (en) | Testing virtualised network functions | |
US20080002675A1 (en) | Automated Connectivity Testing | |
CN106921533B (zh) | 一种测量网络性能的方法、装置及系统 | |
Cisco | Troubleshooting Internetworking Systems | |
KR20120121202A (ko) | 데이터 분산 서비스 네트워크 과부하 방지 방법 | |
DK2030463T3 (en) | Process, system and computer software product for problem solving |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |