一种控制器测试方法、装置、电子设备及存储介质转让专利
申请号 : CN202011291104.4
文献号 : CN112217693B
文献日 : 2022-02-22
发明人 : 刘成双 , 林茂
申请人 : 迈普通信技术股份有限公司
摘要 :
权利要求 :
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任一所述的方法。
说明书 :
一种控制器测试方法、装置、电子设备及存储介质
技术领域
背景技术
在各个网络设备上的控制平面进行集中化管理。
控制器进行测试。在实践过程中发现,由于大规模网络设备场景下的真实网络设备的转发
逻辑非常复杂,需要大量的真实网络设备来组成网络进行数据计算和转发后,才能对SDN控
制器进行业务测试,因此,目前对SDN控制器进行业务测试需要占用大量的计算资源和网络
资源。
发明内容
问题。
响应,其中,虚拟化网元包括:虚拟机网元或容器网元;通过虚拟化网元向SDN控制器发送控
制连接响应,以使SDN控制器生成并发送控制连接响应对应的数据配置信息;通过虚拟化网
元接收SDN控制器发送的数据配置信息,并根据数据配置信息获取运行态数据;加载和处理
运行态数据,获得处理后的运行态数据,并通过虚拟化网元向SDN控制器发送处理后的运行
态数据,以使SDN控制器根据处理后的运行态数据进行业务测试。在上述的实现过程中,先
根据软件定义网络SDN控制器发送的配置信息获取运行态数据,并加载和处理运行态数据,
获得处理后的运行态数据,然后向SDN控制器发送处理后的运行态数据,以使SDN控制器根
据处理后的运行态数据进行业务测试;也就是说,通过根据SDN控制器发送的配置信息获取
运行态数据,并在多个相互进行网络通信的虚拟机上加载和处理运行态数据后,然后使用
处理后的运行态数据进行业务测试,有效地使用配置信息生成的运行态数据进行业务测
试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测试占用
的计算资源和网络资源。
通过,则确认SDN控制器合格。在上述的实现过程中,通过获取针对处理后的运行态数据进
行业务测试的测试结果;若测试结果为通过,则确认SDN控制器合格;从而有效地提高了对
SDN控制器进行业务测试的正确率。
对处理后的运行态数据进行业务测试的测试结果。
据配置信息生成运行态数据;从而直接使用数据配置信息生成的运行态数据进行业务测
试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测试占用
的计算资源和网络资源。
多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络,仿真网络用于多个虚拟化网元
在处理运行态数据时进行通信。在上述的实现过程中,通过接收测试终端发送的仿真配置
信息;根据仿真配置信息创建多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络,仿
真网络用于多个虚拟化网元在处理运行态数据时进行通信;从而有效地保证了对SDN控制
器进行业务测试环境中的设备和网络的可用性。
制连接请求生成控制连接响应,其中,虚拟化网元包括:虚拟机网元或容器网元;连接响应
发送模块,用于通过虚拟化网元向SDN控制器发送控制连接响应,以使SDN控制器生成并发
送控制连接响应对应的数据配置信息;运行数据获取模块,用于通过虚拟化网元接收SDN控
制器发送的数据配置信息,并根据数据配置信息获取运行态数据;数据处理测试模块,用于
加载和处理运行态数据,获得处理后的运行态数据,并通过虚拟化网元向SDN控制器发送处
理后的运行态数据,以使SDN控制器根据处理后的运行态数据进行业务测试。在上述的实现
过程中,先根据软件定义网络SDN控制器发送的配置信息获取运行态数据,并加载和处理运
行态数据,获得处理后的运行态数据,然后向SDN控制器发送处理后的运行态数据,以使SDN
控制器根据处理后的运行态数据进行业务测试;也就是说,通过根据SDN控制器发送的配置
信息获取运行态数据,并在多个相互进行网络通信的虚拟机上加载和处理运行态数据后,
然后使用处理后的运行态数据进行业务测试,有效地使用配置信息生成的运行态数据进行
业务测试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测
试占用的计算资源和网络资源。
果为通过,则确认SDN控制器合格。
试的测试结果。
拟化网元,并构建多个虚拟化网元之间的仿真网络,仿真网络用于多个虚拟化网元在处理
运行态数据时进行通信。
附图说明
作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他相关的附图。
具体实施方式
等等硬件设备,虚拟网元又可以被称为虚拟化网元或者逻辑网元等等。
来操作软件,虚拟机可以像真实机器一样运行计算机的软件程序。
处的虚拟操作计算平台可以理解为云操作系统、云主机或者云服务器等等。
一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
后,并予以执行。
全外壳(Secure Shell,SSH)协议等等。
类协议。
数据。
场景构造器的一个专用网络,仿真网络可以是一个独立的带外网络;仿真网络主要用于测
试终端中的测试脚本对仿真网络中的虚拟化网元进行控制。
议的数据转换为某种业务的数据模型。
以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器等。
器测试系统可以包括:测试终端、SDN控制器和计算平台;其中,该测试终端可以运行事先编
写的测试脚本,测试终端可以通过应用程序接口(API)或者命令行接口(CLI)与计算平台中
的虚拟化单元进行控制操作,具体可以是通过应用程序接口(API)调用场景构造器针对虚
拟化单元中的数据模型进行控制操作,SDN控制器可以通过超文本传输协议(Hyper Text
Transfer Protocol,HTTP)接口或者超文本传输安全协议(Hyper Text Transfer
Protocol Secure,HTTPS)接口分别与测试终端和计算平台中的虚拟化网元进行通信,具体
可以调用协议转换模块将HTTP协议报文或者HTTPS协议报文转换为容易保存的数据模型。
上述的计算平台可以是一个管理虚拟化网元的平台系统软件程序,该计算平台可以运行于
终端设备、云主机或者云服务器等产品中;上述的终端设备、云主机或者云服务器也可以运
行多个虚拟机,因此,上述的电子设备、云主机或者云服务器又被称为虚拟机的宿主服务
器。
对软件定义网络SDN控制器进行业务测试,并根据业务测试的测试结果确定SDN控制器是否
是合格产品等,或者,使用该控制器测试方法增强云服务提供商的仿真网络功能。
者软件语言编写程序。该控制器测试方法的主要思路是,通过根据SDN控制器发送的配置信
息获取运行态数据,并在多个相互进行网络通信的虚拟机上加载和处理运行态数据后,然
后使用处理后的运行态数据进行业务测试,有效地使用配置信息生成的运行态数据进行业
务测试,从而避免了使用运行出来的数据进行业务测试,减少了对SDN控制器进行业务测试
占用的计算资源和网络资源,上述的控制器测试方法可以包括:
化相关技术实现某个级别的硬件运行环境隔离的网元,因此,虚拟机网元又可以被简称为
虚拟机;容器网元是指使用操作系统虚拟化相关技术实现操作系统用户的运行环境隔离的
网元,容器网元又可以被简称为容器。
元之间的仿真网络。
终端发送的仿真配置信息,并将仿真配置信息以数据模型的方式存储至配置文件或者数据
库中;其中,该仿真配置信息用于保证SDN控制器可以通过预设北向协议连接到计算平台中
创建的虚拟化网元。
其中,仿真网络用于多个虚拟化网元在处理运行态数据时进行通信,上述的虚拟化网元可
以默认只开启一个命令行接口(CLI),该命令行接口只允许测试终端中的测试脚本调用,因
此,该命令行接口也可以被称为带外命令行接口,此处的带外命令行接口就是指只允许测
试终端中的测试脚本调用的接口。在上述的实现过程中,通过接收测试终端发送的仿真配
置信息;根据仿真配置信息创建多个虚拟化网元,并构建多个虚拟化网元之间的仿真网络,
仿真网络用于多个虚拟化网元在处理运行态数据时进行通信;从而有效地保证了对SDN控
制器进行业务测试环境中的设备和网络的可用性。
个虚拟化网元中,虚拟化网元使用协议转换模块将接收到的CLI命令转换为通用数据模型
进行存储,以及测试终端通过执行测试脚本控制SDN控制器,使得SDN控制器通过预设南向
协议管理计算平台中的所有虚拟化网元;也就是说,测试终端可以使用预设北向协议管理
计算平台中的所有虚拟机或者容器;其中,该预设南向协议包括但不限于:SNMP协议、
NETCONF协议和CLI协议等等。
的控制连接请求,该虚拟化网元根据控制连接请求生成控制连接响应,具体例如:SDN控制
器使用NETCONF协议向虚拟化网元发送控制连接请求,该控制连接请求包括:NETCONF协议
的用户名和密码等等证明信息,该证明信息可以证明SDN控制器的身份,从而完成SDN控制
器对虚拟化网元的管理过程;其中,上述可以使用的预设北向协议包括但不限于:NETCONF
协议、SNMP协议、SSH协议和HTTP协议等等。
Unix系统(即Unix‑like系统,具体可以是Linux系统)中的,那么可以使用bash和sh等等CLI
程序来开启和建立连接控制通道。
求中的用户名和密码在配置信息或者数据库中能够查询到且验证合法,那么计算平台可以
通过虚拟化网元向SDN控制器发送控制连接响应,该控制连接响应表示是否允许SDN控制器
连接虚拟化网元;若该控制连接响应是允许SDN控制器连接虚拟化网元,那么就完成了SDN
控制器对虚拟化网元的管理过程。
议,然后SDN控制器向虚拟化网元发送该数据配置信息,此处的路由协议包括但不限于:内
部网关路由协议(Interior Gateway Routing Protocol,IGRP)协议、中间系统到中间系统
(Intermediate system to intermediate system,IS‑IS)协议和OSPF路由协议等等。
新向虚拟化网元发送控制连接请求,控制连接请求包括修改后的证明信息。
制器发送的数据配置信息。若虚拟化网元是通过北向协议接口接收的数据配置信息,那么
可以调用协议转换模块将数据配置信转换为通用的数据模型,并将通用的数据模型保存至
配置文件或者数据库的数据持久层中。该虚拟化网元在接收到数据配置信息后,可以根据
数据配置信息获取运行态数据,获取运行态数据的具体过程将在下面进行详细地说明。当
然,该虚拟化网元在接收到数据配置信息后,还可以配置虚拟化网元的网络路由信息,具体
例如:若虚拟化网元是虚拟机,且该虚拟机仿真的是路由器,那么可以根据该数据配置信息
修改该路由器虚拟机的路由配置信息。
景构造器和数据配置信息生成仿真网络的运行态数据;其中,场景构造器是一种可以构造
多个虚拟化网元上不同链路的拥塞情况数据的软件程序或者软件组件。在上述的实现过程
中,通过根据场景构造器和数据配置信息生成运行态数据;从而直接使用数据配置信息生
成的运行态数据进行业务测试,从而避免了使用运行出来的数据进行业务测试,减少了对
SDN控制器进行业务测试占用的计算资源和网络资源。
态数据,并向计算平台发送该运行态数据;计算平台接收测试终端发送的运行态数据。当
然,运行态数据也可以被协议转换模块转换为通用的数据模型存储至数据库或者文件中。
据处理后的运行态数据进行业务测试。
据,获得处理后的运行态数据,处理过程具体例如:假设该运行态数据是多个虚拟化网元上
不同链路的拥塞情况数据,SDN控制器通过预设南向协议获取到多个虚拟化网元上的不同
链路的拥塞状态,根据不同链路拥塞状态,选择出一条最不拥塞的路径,从而让多个虚拟化
网元之间的仿真网络不再拥塞,那么此时不再拥塞的仿真网络数据即可理解为上述的处理
后的运行态数据。在获得处理后的运行态数据之后,计算平台使用虚拟化网元向SDN控制器
发送处理后的运行态数据,以使SDN控制器根据处理后的运行态数据进行业务测试。
后的运行态数据,以使SDN控制器根据处理后的运行态数据进行业务测试;也就是说,通过
根据SDN控制器发送的配置信息获取运行态数据,并在多个相互进行网络通信的虚拟机上
加载和处理运行态数据后,然后使用处理后的运行态数据进行业务测试,有效地使用配置
信息生成的运行态数据进行业务测试,从而避免了使用运行出来的数据进行业务测试,减
少了对SDN控制器进行业务测试占用的计算资源和网络资源。
运行态数据进行业务测试的测试结果。
是多个虚拟化网元上不同链路的拥塞情况数据,若处理后的运行态数据仍然是拥塞情况的
数据,那么说明SDN控制器没有解决拥塞问题,即说明业务测试结果为不通过,不能确认SDN
控制器合格;若处理后的运行态数据是不再拥塞情况的数据,那么说明SDN控制器解决了拥
塞问题,即说明业务测试结果通过,可以确认SDN控制器合格。
试的正确率。
元或容器网元。
行态数据进行业务测试。
测试的测试结果。
储。
略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固
化在装置的操作系统(operating system,OS)中的软件功能模块。
的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
编程只读存储器(Electrically Erasable Programmable Read‑Only Memory,简称
EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称
EPROM),可编程只读存储器(Programmable Red‑Only Memory,简称PROM),只读存储器
(Read‑Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系
架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代
码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可
执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图
中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也
可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图
中的每个方框、以及框图和/或流程图中的方框的组合,可以使用执行规定的功能或动作的
专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
部分。
的关系或者顺序。
想到变化或替换,都应涵盖在本申请实施例的保护范围之内。