一种控制器测试方法、装置、电子设备及存储介质转让专利

申请号 : CN202011291104.4

文献号 : CN112217693B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘成双林茂

申请人 : 迈普通信技术股份有限公司

摘要 :

本申请提供一种控制器测试方法、装置、电子设备及存储介质,用于改善对软件定义网络SDN控制器进行业务测试需要占用大量资源的问题。该方法包括:通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求,并根据控制连接请求生成控制连接响应;通过虚拟化网元向SDN控制器发送控制连接响应,以使SDN控制器生成并发送控制连接响应对应的数据配置信息;通过虚拟化网元接收SDN控制器发送的数据配置信息,并根据数据配置信息获取运行态数据;加载和处理运行态数据,获得处理后的运行态数据,并通过虚拟化网元向SDN控制器发送处理后的运行态数据,以使SDN控制器根据处理后的运行态数据进行业务测试。

权利要求 :

1.一种控制器测试方法,其特征在于,包括:通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求,并根据所述控制连接请求生成控制连接响应,其中,所述虚拟化网元包括:虚拟机网元或容器网元;

通过所述虚拟化网元向所述SDN控制器发送所述控制连接响应,以使所述SDN控制器生成并发送所述控制连接响应对应的数据配置信息;

通过所述虚拟化网元接收所述SDN控制器发送的数据配置信息,并根据所述数据配置信息获取运行态数据;

加载和处理所述运行态数据,获得处理后的运行态数据,并通过所述虚拟化网元向所述SDN控制器发送所述处理后的运行态数据,以使所述SDN控制器根据所述处理后的运行态数据进行业务测试;

其中,所述根据所述数据配置信息获取运行态数据,包括:根据场景构造器和所述数据配置信息生成所述运行态数据。

2.根据权利要求1所述的方法,其特征在于,在所述通过所述虚拟化网元向所述SDN控制器发送所述处理后的运行态数据之后,还包括:获取针对所述处理后的运行态数据进行业务测试的测试结果;

若所述测试结果为通过,则确认所述SDN控制器合格。

3.根据权利要求2所述的方法,其特征在于,所述获取针对所述处理后的运行态数据进行业务测试的测试结果,包括:

调用所述SDN控制器的超文本传输协议接口或者超文本传输安全协议接口,获取针对所述处理后的运行态数据进行业务测试的测试结果。

4.根据权利要求1‑3任一所述的方法,其特征在于,在所述通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求之前,还包括:接收测试终端发送的仿真配置信息;

根据所述仿真配置信息创建多个虚拟化网元,并构建所述多个虚拟化网元之间的仿真网络,所述仿真网络用于所述多个虚拟化网元在处理所述运行态数据时进行通信。

5.根据权利要求4所述的方法,其特征在于,所述接收测试终端发送的仿真配置信息,包括:

使用命令行接口接收所述测试终端发送的所述仿真配置信息;

将所述仿真配置信息以数据模型的方式存储。

6.根据权利要求5所述的方法,其特征在于,所述根据所述仿真配置信息创建多个虚拟化网元,包括:

以所述数据模型的方式获取存储的所述仿真配置信息;

根据所述仿真配置信息创建所述多个虚拟化网元。

7.一种控制器测试装置,其特征在于,应用于计算平台,包括:连接响应生成模块,用于通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求,并根据所述控制连接请求生成控制连接响应,其中,所述虚拟化网元包括:虚拟机网元或容器网元;

连接响应发送模块,用于通过所述虚拟化网元向所述SDN控制器发送所述控制连接响应,以使所述SDN控制器生成并发送所述控制连接响应对应的数据配置信息;

运行数据获取模块,用于通过所述虚拟化网元接收所述SDN控制器发送的数据配置信息,并根据所述数据配置信息获取运行态数据;

数据处理测试模块,用于加载和处理所述运行态数据,获得处理后的运行态数据,并通过所述虚拟化网元向所述SDN控制器发送所述处理后的运行态数据,以使所述SDN控制器根据所述处理后的运行态数据进行业务测试;

其中,所述根据所述数据配置信息获取运行态数据,包括:根据场景构造器和所述数据配置信息生成所述运行态数据。

8.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的方法。

9.一种存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的方法。

说明书 :

一种控制器测试方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及网络数据处理与网络设备测试的技术领域,具体而言,涉及一种控制器测试方法、装置、电子设备及存储介质。

背景技术

[0002] 软件定义网络(Software Defined Network,SDN)是一种新型网络架构,SDN利用OpenFlow协议将路由器的控制平面从数据平面中分离,以软件方式实现,从而使得将分散
在各个网络设备上的控制平面进行集中化管理。
[0003] SDN控制器是软件定义网络中的应用程序,SDN控制器的作用是控制整个SDN网络,作为整个SDN网络的大脑,其需要进行充分的测试。
[0004] 目前对SDN控制器进行业务测试大都使用真实网络设备配合SDN控制器进行测试,具体例如:将SDN控制器放入企业局域网络中,使用企业局域网络中的网络数据流量对SDN
控制器进行测试。在实践过程中发现,由于大规模网络设备场景下的真实网络设备的转发
逻辑非常复杂,需要大量的真实网络设备来组成网络进行数据计算和转发后,才能对SDN控
制器进行业务测试,因此,目前对SDN控制器进行业务测试需要占用大量的计算资源和网络
资源。

发明内容

[0005] 本申请实施例的目的在于提供一种控制器测试方法、装置、电子设备及存储介质,用于改善对软件定义网络SDN控制器进行业务测试需要占用大量的计算资源和网络资源的
问题。
[0006] 本申请实施例提供了一种控制器测试方法,应用于计算平台,包括:通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求,并根据控制连接请求生成控制连接
响应,其中,虚拟化网元包括:虚拟机网元或容器网元;通过虚拟化网元向SDN控制器发送控
制连接响应,以使SDN控制器生成并发送控制连接响应对应的数据配置信息;通过虚拟化网
元接收SDN控制器发送的数据配置信息,并根据数据配置信息获取运行态数据;加载和处理
运行态数据,获得处理后的运行态数据,并通过虚拟化网元向SDN控制器发送处理后的运行
态数据,以使SDN控制器根据处理后的运行态数据进行业务测试。在上述的实现过程中,先
根据软件定义网络SDN控制器发送的配置信息获取运行态数据,并加载和处理运行态数据,
获得处理后的运行态数据,然后向SDN控制器发送处理后的运行态数据,以使SDN控制器根
据处理后的运行态数据进行业务测试;也就是说,通过根据SDN控制器发送的配置信息获取
运行态数据,并在多个相互进行网络通信的虚拟机上加载和处理运行态数据后,然后使用
处理后的运行态数据进行业务测试,有效地使用配置信息生成的运行态数据进行业务测
试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测试占用
的计算资源和网络资源。
[0007] 可选地,在本申请实施例中,在通过虚拟化网元向SDN控制器发送处理后的运行态数据之后,还包括:获取针对处理后的运行态数据进行业务测试的测试结果;若测试结果为
通过,则确认SDN控制器合格。在上述的实现过程中,通过获取针对处理后的运行态数据进
行业务测试的测试结果;若测试结果为通过,则确认SDN控制器合格;从而有效地提高了对
SDN控制器进行业务测试的正确率。
[0008] 可选地,在本申请实施例中,获取针对处理后的运行态数据进行业务测试的测试结果,包括:调用SDN控制器的超文本传输协议接口或者超文本传输安全协议接口,获取针
对处理后的运行态数据进行业务测试的测试结果。
[0009] 可选地,在本申请实施例中,根据数据配置信息获取运行态数据,包括:根据场景构造器和数据配置信息生成运行态数据。在上述的实现过程中,通过根据场景构造器和数
据配置信息生成运行态数据;从而直接使用数据配置信息生成的运行态数据进行业务测
试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测试占用
的计算资源和网络资源。
[0010] 可选地,在本申请实施例中,在通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求之前,还包括:接收测试终端发送的仿真配置信息;根据仿真配置信息创建
多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络,仿真网络用于多个虚拟化网元
在处理运行态数据时进行通信。在上述的实现过程中,通过接收测试终端发送的仿真配置
信息;根据仿真配置信息创建多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络,仿
真网络用于多个虚拟化网元在处理运行态数据时进行通信;从而有效地保证了对SDN控制
器进行业务测试环境中的设备和网络的可用性。
[0011] 可选地,在本申请实施例中,接收测试终端发送的仿真配置信息,包括:使用命令行接口接收测试终端发送的仿真配置信息;将仿真配置信息以数据模型的方式存储。
[0012] 可选地,在本申请实施例中,根据仿真配置信息创建多个虚拟化网元,包括:以数据模型的方式获取存储的仿真配置信息;根据仿真配置信息创建多个虚拟化网元。
[0013] 本申请实施例还提供了一种控制器测试装置,应用于计算平台,包括:连接响应生成模块,用于通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求,并根据控
制连接请求生成控制连接响应,其中,虚拟化网元包括:虚拟机网元或容器网元;连接响应
发送模块,用于通过虚拟化网元向SDN控制器发送控制连接响应,以使SDN控制器生成并发
送控制连接响应对应的数据配置信息;运行数据获取模块,用于通过虚拟化网元接收SDN控
制器发送的数据配置信息,并根据数据配置信息获取运行态数据;数据处理测试模块,用于
加载和处理运行态数据,获得处理后的运行态数据,并通过虚拟化网元向SDN控制器发送处
理后的运行态数据,以使SDN控制器根据处理后的运行态数据进行业务测试。在上述的实现
过程中,先根据软件定义网络SDN控制器发送的配置信息获取运行态数据,并加载和处理运
行态数据,获得处理后的运行态数据,然后向SDN控制器发送处理后的运行态数据,以使SDN
控制器根据处理后的运行态数据进行业务测试;也就是说,通过根据SDN控制器发送的配置
信息获取运行态数据,并在多个相互进行网络通信的虚拟机上加载和处理运行态数据后,
然后使用处理后的运行态数据进行业务测试,有效地使用配置信息生成的运行态数据进行
业务测试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测
试占用的计算资源和网络资源。
[0014] 可选地,在本申请实施例中,控制器测试装置,还包括:测试结果获取模块,用于获取针对处理后的运行态数据进行业务测试的测试结果;测试结果通过模块,用于若测试结
果为通过,则确认SDN控制器合格。
[0015] 可选地,在本申请实施例中,测试结果获取模块,具体用于:调用SDN控制器的超文本传输协议接口或者超文本传输安全协议接口,获取针对处理后的运行态数据进行业务测
试的测试结果。
[0016] 可选地,在本申请实施例中,运行数据获取模块,具体用于:根据场景构造器和数据配置信息生成运行态数据。
[0017] 可选地,在本申请实施例中,控制器测试装置,还包括:仿真配置接收模块,用于接收测试终端发送的仿真配置信息;仿真网络构建模块,用于根据仿真配置信息创建多个虚
拟化网元,并构建多个虚拟化网元之间的仿真网络,仿真网络用于多个虚拟化网元在处理
运行态数据时进行通信。
[0018] 可选地,在本申请实施例中,仿真配置接收模块,可以用于:使用命令行接口接收测试终端发送的仿真配置信息;将仿真配置信息以数据模型的方式存储。
[0019] 可选地,在本申请实施例中,仿真网络构建模块,还可以用于:以数据模型的方式获取存储的仿真配置信息;根据仿真配置信息创建多个虚拟化网元。
[0020] 本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
[0021] 本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。

附图说明

[0022] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看
作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他相关的附图。
[0023] 图1示出的本申请实施例提供的控制器测试系统的示意图;
[0024] 图2示出的本申请实施例提供的控制器测试方法的流程示意图;
[0025] 图3示出的本申请实施例提供的控制器测试装置的结构示意图;
[0026] 图4示出的本申请实施例提供的电子设备的结构示意图。

具体实施方式

[0027] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
[0028] 在介绍本申请实施例提供的控制器测试方法之前,先介绍本申请实施例中所涉及的一些概念:
[0029] 网元(Network Element,NE),是指计算机网络中的可以监视和管理的最小单元,按照用途可以将网元分为物理网元和虚拟网元;其中,物理网元具体例如:交换机和路由器
等等硬件设备,虚拟网元又可以被称为虚拟化网元或者逻辑网元等等。
[0030] 虚拟机(Virtual Machine),是指计算机科学中的一种特殊的软件,虚拟机可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个虚拟机所创建的环境
来操作软件,虚拟机可以像真实机器一样运行计算机的软件程序。
[0031] 计算平台,是指通过网络提供通用计算服务的系统平台,也可以称为通用计算平台,通用计算平台具体例如:使用x86服务器以及非x86服务器构建的虚拟操作计算平台,此
处的虚拟操作计算平台可以理解为云操作系统、云主机或者云服务器等等。
[0032] 应用程序接口(Application Programming Interface,API),又称为应用编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问
一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
[0033] 命令行接口(Command‑Line Interface,CLI),是指可在用户提示符下键入可执行指令的界面接口,命令行接口通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令
后,并予以执行。
[0034] 北向协议,是指网络设备使用的一种协议,该协议与标准网络设备的北向协议完全一致,具体例如:简单网络管理协议(Simple Network Management Protocol,SNMP)和安
全外壳(Secure Shell,SSH)协议等等。
[0035] 南向协议,是指SDN控制器对网络设备进行软件操作的一类协议;其中,南向协议和北向协议是分别从SDN控制器和网络设备两个不同角度的不同名称,实际都是指的同一
类协议。
[0036] 运行态数据,是指网络设备在运行时态获取的交换数据或者路由数据,具体例如:根据开放式最短路径优先(Open Shortest Path First,OSPF)路由协议生成的路由表明细
数据。
[0037] 场景构造器,是指用于构造不同业务场景下的数据模型的软体工具,该场景构造器主要用于生成仿真网络中的虚拟化网元的运行态数据;其中,该仿真网络是用于提供给
场景构造器的一个专用网络,仿真网络可以是一个独立的带外网络;仿真网络主要用于测
试终端中的测试脚本对仿真网络中的虚拟化网元进行控制。
[0038] 协议转换,是指将业务相同的数据模型转换为不同类型的协议数据,具体例如:将某种业务的数据模型转换为北向协议或者南向协议的数据,或者,将北向协议或者南向协
议的数据转换为某种业务的数据模型。
[0039] 需要说明的是,本申请实施例提供的控制器测试方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,服务器例如:x86服务器
以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器等。
[0040] 请参见图1示出的本申请实施例提供的控制器测试系统的示意图;在介绍本申请实施例提供的控制器测试方法之前,先介绍本申请实施例提供的控制器测试系统,该控制
器测试系统可以包括:测试终端、SDN控制器和计算平台;其中,该测试终端可以运行事先编
写的测试脚本,测试终端可以通过应用程序接口(API)或者命令行接口(CLI)与计算平台中
的虚拟化单元进行控制操作,具体可以是通过应用程序接口(API)调用场景构造器针对虚
拟化单元中的数据模型进行控制操作,SDN控制器可以通过超文本传输协议(Hyper Text 
Transfer Protocol,HTTP)接口或者超文本传输安全协议(Hyper Text Transfer 
Protocol Secure,HTTPS)接口分别与测试终端和计算平台中的虚拟化网元进行通信,具体
可以调用协议转换模块将HTTP协议报文或者HTTPS协议报文转换为容易保存的数据模型。
上述的计算平台可以是一个管理虚拟化网元的平台系统软件程序,该计算平台可以运行于
终端设备、云主机或者云服务器等产品中;上述的终端设备、云主机或者云服务器也可以运
行多个虚拟机,因此,上述的电子设备、云主机或者云服务器又被称为虚拟机的宿主服务
器。
[0041] 下面介绍上述控制器测试方法适用的应用场景,这里的应用场景包括但不限于:使用该控制器测试方法获取、加载和处理虚拟化网元的运行态数据,并使用该运行态数据
对软件定义网络SDN控制器进行业务测试,并根据业务测试的测试结果确定SDN控制器是否
是合格产品等,或者,使用该控制器测试方法增强云服务提供商的仿真网络功能。
[0042] 请参见图2示出的本申请实施例提供的控制器测试方法的流程示意图;该控制器测试方法可以应用于计算平台,此处的计算平台是一个可以运行于上述电子设备的软体或
者软件语言编写程序。该控制器测试方法的主要思路是,通过根据SDN控制器发送的配置信
息获取运行态数据,并在多个相互进行网络通信的虚拟机上加载和处理运行态数据后,然
后使用处理后的运行态数据进行业务测试,有效地使用配置信息生成的运行态数据进行业
务测试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测试
占用的计算资源和网络资源,上述的控制器测试方法可以包括:
[0043] 步骤S110:通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求,并根据控制连接请求生成控制连接响应。
[0044] 虚拟化网元(Virtual Network Element),是指使用虚拟化技术仿真现实网络中的最小单元,虚拟化网元具体例如:虚拟机网元或容器网元,虚拟机网元是指使用硬件虚拟
化相关技术实现某个级别的硬件运行环境隔离的网元,因此,虚拟机网元又可以被简称为
虚拟机;容器网元是指使用操作系统虚拟化相关技术实现操作系统用户的运行环境隔离的
网元,容器网元又可以被简称为容器。
[0045] 在使用步骤S110中的虚拟化网元之前,可以使用已经创建的虚拟化网元,也可以创建虚拟化网元之后,再使用创建的虚拟化网元,下面将分别介绍这两种实施方式:
[0046] 第一种实施方式,在使用虚拟化网元之前,若已经创建多个虚拟化网元和多个虚拟化网元之间的仿真网络,那么可以直接使用已经创建的多个虚拟化网元和多个虚拟化网
元之间的仿真网络。
[0047] 第二种实施方式,在使用虚拟化网元之前,还可以创建多个虚拟化网元和多个虚拟化网元之间的仿真网络,具体过程可以包括:
[0048] 步骤S111:计算平台接收测试终端发送的仿真配置信息。
[0049] 上述步骤S111的实施方式可以包括:在测试终端上使用命令行接口输入能够体现测试场景需求的仿真配置信息,并将该仿真配置信息发送给计算平台;计算平台接收测试
终端发送的仿真配置信息,并将仿真配置信息以数据模型的方式存储至配置文件或者数据
库中;其中,该仿真配置信息用于保证SDN控制器可以通过预设北向协议连接到计算平台中
创建的虚拟化网元。
[0050] 步骤S112:计算平台根据仿真配置信息创建多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络。
[0051] 上述步骤S112的实施方式可以包括:以数据模型的方式获取存储的仿真配置信息,并根据仿真配置信息创建多个虚拟化网元,然后构建多个虚拟化网元之间的仿真网络;
其中,仿真网络用于多个虚拟化网元在处理运行态数据时进行通信,上述的虚拟化网元可
以默认只开启一个命令行接口(CLI),该命令行接口只允许测试终端中的测试脚本调用,因
此,该命令行接口也可以被称为带外命令行接口,此处的带外命令行接口就是指只允许测
试终端中的测试脚本调用的接口。在上述的实现过程中,通过接收测试终端发送的仿真配
置信息;根据仿真配置信息创建多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络,
仿真网络用于多个虚拟化网元在处理运行态数据时进行通信;从而有效地保证了对SDN控
制器进行业务测试环境中的设备和网络的可用性。
[0052] 可选地,在创建多个虚拟化网元和多个虚拟化网元之间的仿真网络之后,还可以对控制器测试系统进行初始化处理,初始化处理包括:通过CLI命令发送基础配置文件至多
个虚拟化网元中,虚拟化网元使用协议转换模块将接收到的CLI命令转换为通用数据模型
进行存储,以及测试终端通过执行测试脚本控制SDN控制器,使得SDN控制器通过预设南向
协议管理计算平台中的所有虚拟化网元;也就是说,测试终端可以使用预设北向协议管理
计算平台中的所有虚拟机或者容器;其中,该预设南向协议包括但不限于:SNMP协议、
NETCONF协议和CLI协议等等。
[0053] 上述步骤S110的实施方式包括:软件定义网络SDN控制器通过预设南向协议向计算平台中的虚拟化网元发送控制连接请求,计算平台中的虚拟化网元接收SDN控制器发送
的控制连接请求,该虚拟化网元根据控制连接请求生成控制连接响应,具体例如:SDN控制
器使用NETCONF协议向虚拟化网元发送控制连接请求,该控制连接请求包括:NETCONF协议
的用户名和密码等等证明信息,该证明信息可以证明SDN控制器的身份,从而完成SDN控制
器对虚拟化网元的管理过程;其中,上述可以使用的预设北向协议包括但不限于:NETCONF
协议、SNMP协议、SSH协议和HTTP协议等等。
[0054] 可选地,在SDN控制器控制虚拟化网元的过程中,还可以根据具体情况选择是否开启连接控制通道或者开启带外的CLI通道进行配置,具体例如:若虚拟化网元是运行于类
Unix系统(即Unix‑like系统,具体可以是Linux系统)中的,那么可以使用bash和sh等等CLI
程序来开启和建立连接控制通道。
[0055] 在步骤S110之后,执行步骤S120:通过虚拟化网元向SDN控制器发送控制连接响应,以使SDN控制器生成并发送控制连接响应对应的数据配置信息。
[0056] 上述步骤S120的实施方式包括:通过虚拟化网元向SDN控制器发送控制连接响应,具体例如:假设SDN控制器使用NETCONF协议向虚拟化网元发送控制连接请求,控制连接请
求中的用户名和密码在配置信息或者数据库中能够查询到且验证合法,那么计算平台可以
通过虚拟化网元向SDN控制器发送控制连接响应,该控制连接响应表示是否允许SDN控制器
连接虚拟化网元;若该控制连接响应是允许SDN控制器连接虚拟化网元,那么就完成了SDN
控制器对虚拟化网元的管理过程。
[0057] 在完成管理过程之后,可以通过测试终端执行测试脚本控制SDN控制器,以使得SDN控制器生成数据配置信息,该数据配置信息用于配置仿真网络中虚拟化网元的路由协
议,然后SDN控制器向虚拟化网元发送该数据配置信息,此处的路由协议包括但不限于:内
部网关路由协议(Interior Gateway Routing Protocol,IGRP)协议、中间系统到中间系统
(Intermediate system to intermediate system,IS‑IS)协议和OSPF路由协议等等。
[0058] 当然,若该控制连接响应是拒绝SDN控制器连接虚拟化网元,那么就没有完成SDN控制器对虚拟化网元的管理过程,可以人工检查配置并修改证明信息,并使用SDN控制器重
新向虚拟化网元发送控制连接请求,控制连接请求包括修改后的证明信息。
[0059] 在步骤S120之后,执行步骤S130:通过虚拟化网元接收SDN控制器发送的数据配置信息,并根据数据配置信息获取运行态数据。
[0060] 上述步骤S130中的通过虚拟化网元接收SDN控制器发送的数据配置信息的实施方式包括:计算平台中的虚拟化网元可以使用带外管理通道或者北向协议接口,来接收SDN控
制器发送的数据配置信息。若虚拟化网元是通过北向协议接口接收的数据配置信息,那么
可以调用协议转换模块将数据配置信转换为通用的数据模型,并将通用的数据模型保存至
配置文件或者数据库的数据持久层中。该虚拟化网元在接收到数据配置信息后,可以根据
数据配置信息获取运行态数据,获取运行态数据的具体过程将在下面进行详细地说明。当
然,该虚拟化网元在接收到数据配置信息后,还可以配置虚拟化网元的网络路由信息,具体
例如:若虚拟化网元是虚拟机,且该虚拟机仿真的是路由器,那么可以根据该数据配置信息
修改该路由器虚拟机的路由配置信息。
[0061] 上述步骤S130中的根据数据配置信息获取运行态数据的实施方式有很多种,包括但不限于如下几种:
[0062] 第一种实施方式,使用计算平台自己来根据该数据配置信息生成运行态数据,该实施方式可以包括:计算平台可以执行测试脚本来调用场景构造器,计算平台可以根据场
景构造器和数据配置信息生成仿真网络的运行态数据;其中,场景构造器是一种可以构造
多个虚拟化网元上不同链路的拥塞情况数据的软件程序或者软件组件。在上述的实现过程
中,通过根据场景构造器和数据配置信息生成运行态数据;从而直接使用数据配置信息生
成的运行态数据进行业务测试,从而避免了使用运行出来的数据进行业务测试,减少了对
SDN控制器进行业务测试占用的计算资源和网络资源。
[0063] 第二种实施方式,计算平台接收测试终端根据该数据配置信息生成的运行态数据,该实施方式可以包括:测试终端根据场景构造器和数据配置信息生成仿真网络的运行
态数据,并向计算平台发送该运行态数据;计算平台接收测试终端发送的运行态数据。当
然,运行态数据也可以被协议转换模块转换为通用的数据模型存储至数据库或者文件中。
[0064] 在步骤S130之后,执行步骤S140:计算平台加载和处理运行态数据,获得处理后的运行态数据,并通过虚拟化网元向SDN控制器发送处理后的运行态数据,以使SDN控制器根
据处理后的运行态数据进行业务测试。
[0065] 上述步骤S140的实施方式包括:计算平台将运行态数据加载至上面创建的多个虚拟化网元中,并使用多个虚拟化网元和多个虚拟化网元之间的仿真网络处理该运行态数
据,获得处理后的运行态数据,处理过程具体例如:假设该运行态数据是多个虚拟化网元上
不同链路的拥塞情况数据,SDN控制器通过预设南向协议获取到多个虚拟化网元上的不同
链路的拥塞状态,根据不同链路拥塞状态,选择出一条最不拥塞的路径,从而让多个虚拟化
网元之间的仿真网络不再拥塞,那么此时不再拥塞的仿真网络数据即可理解为上述的处理
后的运行态数据。在获得处理后的运行态数据之后,计算平台使用虚拟化网元向SDN控制器
发送处理后的运行态数据,以使SDN控制器根据处理后的运行态数据进行业务测试。
[0066] 在上述的实现过程中,先根据软件定义网络SDN控制器发送的配置信息获取运行态数据,并加载和处理运行态数据,获得处理后的运行态数据,然后向SDN控制器发送处理
后的运行态数据,以使SDN控制器根据处理后的运行态数据进行业务测试;也就是说,通过
根据SDN控制器发送的配置信息获取运行态数据,并在多个相互进行网络通信的虚拟机上
加载和处理运行态数据后,然后使用处理后的运行态数据进行业务测试,有效地使用配置
信息生成的运行态数据进行业务测试,从而避免了使用运行出来的数据进行业务测试,减
少了对SDN控制器进行业务测试占用的计算资源和网络资源。
[0067] 可选地,在本申请实施例中,在通过虚拟化网元向SDN控制器发送处理后的运行态数据之后,还包括:
[0068] 步骤S150:获取针对处理后的运行态数据进行业务测试的测试结果。
[0069] 上述步骤S150的实施方式例如:在测试终端上执行测试脚本控制SDN控制器,通过调用SDN控制器的超文本传输协议接口或者超文本传输安全协议接口,获取针对处理后的
运行态数据进行业务测试的测试结果。
[0070] 步骤S160:若测试结果为通过,则确认SDN控制器合格。
[0071] 步骤S170:若测试结果为不通过,则确认SDN控制器不合格。
[0072] 上述步骤S160至步骤S170的实施方式例如:可以通过运行态数据和处理后的运行态数据进行对比分析,即可获得业务测试的测试结果是为通过,具体例如:假设运行态数据
是多个虚拟化网元上不同链路的拥塞情况数据,若处理后的运行态数据仍然是拥塞情况的
数据,那么说明SDN控制器没有解决拥塞问题,即说明业务测试结果为不通过,不能确认SDN
控制器合格;若处理后的运行态数据是不再拥塞情况的数据,那么说明SDN控制器解决了拥
塞问题,即说明业务测试结果通过,可以确认SDN控制器合格。
[0073] 在上述的实现过程中,通过获取针对处理后的运行态数据进行业务测试的测试结果;若测试结果为通过,则确认SDN控制器合格;从而有效地提高了对SDN控制器进行业务测
试的正确率。
[0074] 请参见图3示出的本申请实施例提供的控制器测试装置的结构示意图;本申请实施例提供了一种控制器测试装置200,应用于计算平台,包括:
[0075] 连接响应生成模块210,用于通过虚拟化网元接收软件定义网络SDN控制器发送的控制连接请求,并根据控制连接请求生成控制连接响应,其中,虚拟化网元包括:虚拟机网
元或容器网元。
[0076] 连接响应发送模块220,用于通过虚拟化网元向SDN控制器发送控制连接响应,以使SDN控制器生成并发送控制连接响应对应的数据配置信息。
[0077] 运行数据获取模块230,用于通过虚拟化网元接收SDN控制器发送的数据配置信息,并根据数据配置信息获取运行态数据。
[0078] 数据处理测试模块240,用于加载和处理运行态数据,获得处理后的运行态数据,并通过虚拟化网元向SDN控制器发送处理后的运行态数据,以使SDN控制器根据处理后的运
行态数据进行业务测试。
[0079] 可选地,在本申请实施例中,控制器测试装置,还包括:
[0080] 测试结果获取模块,用于获取针对处理后的运行态数据进行业务测试的测试结果。
[0081] 测试结果通过模块,用于若测试结果为通过,则确认SDN控制器合格。
[0082] 可选地,在本申请实施例中,测试结果获取模块具体用于:调用SDN控制器的超文本传输协议接口或者超文本传输安全协议接口,来获取针对处理后的运行态数据进行业务
测试的测试结果。
[0083] 可选地,在本申请实施例中,运行数据获取模块具体用于:根据场景构造器和数据配置信息生成运行态数据。
[0084] 可选地,在本申请实施例中,控制器测试装置,还可以包括:
[0085] 仿真配置接收模块,用于接收测试终端发送的仿真配置信息。
[0086] 仿真网络构建模块,用于根据仿真配置信息创建多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络,仿真网络用于多个虚拟化网元在处理运行态数据时进行通信。
[0087] 可选地,在本申请实施例中,仿真配置接收模块,可以用于:使用命令行接口接收测试终端发送的仿真配置信息;使用协议转换模块将仿真配置信息以数据模型的方式存
储。
[0088] 可选地,在本申请实施例中,仿真网络构建模块,还可以用于:以数据模型的方式获取存储的仿真配置信息;根据仿真配置信息创建多个虚拟化网元。
[0089] 应理解的是,该装置与上述的控制器测试方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省
略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固
化在装置的操作系统(operating system,OS)中的软件功能模块。
[0090] 请参见图4示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器310和存储器320,存储器320存储有处理器310可执行
的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
[0091] 本申请实施例还提供了一种存储介质330,该存储介质330上存储有计算机程序,该计算机程序被处理器310运行时执行如上的方法。
[0092] 其中,存储介质330可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可
编程只读存储器(Electrically Erasable Programmable Read‑Only Memory,简称
EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称
EPROM),可编程只读存储器(Programmable Red‑Only Memory,简称PROM),只读存储器
(Read‑Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
[0093] 本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图
显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系
架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代
码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可
执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图
中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也
可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图
中的每个方框、以及框图和/或流程图中的方框的组合,可以使用执行规定的功能或动作的
专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0094] 另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的
部分。
[0095] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际
的关系或者顺序。
[0096] 以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易
想到变化或替换,都应涵盖在本申请实施例的保护范围之内。