首页> 中国专利> 一种基于云数据中心搭建网络实验平台的方法及装置

一种基于云数据中心搭建网络实验平台的方法及装置

摘要

本发明实施例提供了一种基于云数据中心搭建网络实验平台的方法及装置,属于云计算技术领域,该方法包括:接受目标用户提交的实验拓扑请求,根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;从所述集合中搜索计算节点上虚拟机数量最少对应的子图,记为目标子图;对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。本发明实施提供的方法及装置,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本。

著录项

  • 公开/公告号CN107995032A

    专利类型发明专利

  • 公开/公告日2018-05-04

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN201711229655.6

  • 申请日2017-11-29

  • 分类号H04L12/24(20060101);H04L29/08(20060101);G06F9/455(20060101);

  • 代理机构11413 北京柏杉松知识产权代理事务所(普通合伙);

  • 代理人马敬;项京

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-06-19 05:12:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-01

    授权

    授权

  • 2018-06-01

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20171129

    实质审查的生效

  • 2018-05-04

    公开

    公开

说明书

技术领域

本发明属于云计算技术领域,特别是涉及一种基于云数据中心搭建网络实验平台的方法及装置。

背景技术

随着数据挖掘,视频直播,AR/VR等业务的高速发展,数据中心中的流量呈现爆炸式增长,传统的数据中心网络架构和协议难以支撑新型业务的需求,所以,在数据中心中的新型的网络技术方案和协议层出不穷。

然而,科研工作者在进行数据中心网络的研究过程中通常需要开展大量的实验工作,通过真实的实验来验证所提的算法或者是网络协议等,这个过程中需要搭建大规模的数据中心实验拓扑,而搭建这些形式的拓扑需要大量的软硬件资源,进而需要花费庞大的实验平台建设成本,而且,在实验平台搭建完成后,对于实验平台中的软硬件设备的维护也需要大量的人力物力,在不进行实验时,这些设备通常都是闲置的,造成设备资源利用低。

针对以上问题,现有技术采用网络仿真器NS(Network Simulator)搭建计算机网络问题实验的试验平台,其中,NS是一个基于时间驱动,可扩展,可编程的事件驱动网络仿真引擎,用户可使用NS完成网络的建模和仿真,来进行新算法和新协议的验证与性能测试工作,为了支持用户对网络进行建模,NS预先定义了大量的网络模型,例如节点,链路,队列等,用户可以直接使用NS提供的网络模型,也可以在已有的网络模型上进行拓展,增加新的属性。用户将实验的元素通过NS结合面向对象的程序语言来实现,利用纯软件的形式来仿真实验的环境,虽然NS结合程序语言搭建的网络实验平台比构建真实的网络环境节省了大量的时间和成本,但是由于网络元素是通过代码建模实现的,而真实的网络环境复杂,许多特殊的情况难以用模型来表述,因此利用NS搭建的网络实验平台,与真实的网络环境相比,差异性较大。

发明内容

本发明实施例的目的在于提供一种基于云数据中心搭建网络实验平台的方法及装置,以减小与真实网络环境的差异。

具体技术方案如下:

一种基于云数据中心搭建网络实验平台的方法,该方法包括:

接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

从所述集合中搜索计算节点上虚拟机数量最少对应的子图,记为目标子图;

对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

进一步地,在所述接受目标用户提交的实验拓扑请求之前,所述方法还包括:

解析目标用户提交的实验拓扑请求,获得实验拓扑图;

当所获得的实验拓扑图为预设的云数据中心拓扑图的子图时,如果所述云数据中心拓扑图的第二数量个计算节点的空闲资源满足所述云数据中心拓扑图中所有计算节点运行虚拟机所需的资源,则执行所述接受目标用户提交的实验拓扑请求的步骤,其中,所述第二数量为云数据中心拓扑图中计算节点总数量减去实验拓扑图中实验节点的数量。

进一步地,所述从所述集合中搜索计算节点上虚拟机数量最少对应的子图,包括:

对所述集合中的每个子图对应的计算节点上虚拟机的数量总和按照大小进行排序,得到每个子图的虚拟机数量序列;

根据每个子图对应的计算节点上虚拟机的数量总和在所述虚拟机数量序列中的排序,确定虚拟机数量最少对应的子图。

进一步地,所述对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为实验节点,包括:

利用内存拷贝的虚拟机迁移方法对所述目标子图的计算节点的虚拟机进行迁移;

将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

进一步地,所述将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点,包括:

针对每个所需转换的计算节点,按照如下步骤进行转换;

关闭该计算节点上的云计算业务管理进程;

在关闭所述云计算业务管理进程后,保存该计算节点的云计算内核后关闭计算节点,其中,所述云计算内核为计算节点运行云计算业务的内核;

重启该计算节点后选择从该计算节点的实验内核启动,所述实验内核为计算节点运行网络实验的内核。

进一步地,在所述重启该计算节点后选择从该计算节点的实验内核启动之后,所述方法还包括:

根据创建的目标实验用户登录账户,记录所述目标实验用户产生的文件。

进一步地,在所述根据创建的目标实验用户登录账户,记录所述目标实验用户产生的文件之后,所述方法还包括:

根据所记录的目标实验用户产生的文件,删除所述目标实验用户登录账户及所述目标实验用户账户对应产生的文件,并对该计算节点的实验内核进行初始化后关闭该计算节点;

重启该计算节点后选择从该计算节点的云计算内核启动,并开启该计算节点的业务管理进程。

进一步地,在所述对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为实验节点之后,所述方法还包括:

读取接收的交换机的网络流量数据包的IP网段;

当所述网络流量数据包的IP网段与预设第一级流表中的云计算的管理流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表中的管理流量流表,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;其中,

所述第一级流表包括云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段,所述流表是根据控制器进行实时更新的,所述第二级流表包括管理流量流表、通信流量流表和实验流量流表,所述管理流量流表是用于处理云计算的管理流量的流表,所述通信流量流表是用于处理云计算虚拟机之间的通信流量的流表,所述实验流量流表是用于处理云计算网络实验流量的流表,所述第二级流表中的每个流表均包括匹配域以及与匹配域对应的动作域,所述匹配域包括五元组,所述五元组包括源主机IP字段、源主机端口字段、目的主机IP字段、目的主机端口字段和网络协议字段;

当所述网络流量数据包的IP网段与预设第一级流表中的虚拟机之间的通信流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的通信流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;

当所述网络流量数据包的IP网段与预设第一级流表中的网络实验的流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的实验流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作。

一种基于云数据中的网络实验装置,所述装置包括:

请求接收模块,用于接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

子图搜索模块,用于根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

目标子图搜索模块,用于从所述集合中搜索计算节点上虚拟机数量最少对应的子图,记为目标子图;

实验节点转换模块,用于对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

进一步地,所述装置还包括:

网络流量数据包读取模块,用于读取接收的交换机的网络流量数据包的IP网段;

第一匹配模块,用于当所述网络流量数据包的IP网段与预设第一级流表中的云计算的管理流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表中的管理流量流表,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;其中,

所述第一级流表包括云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段,所述流表是根据控制器进行实时更新的,所述第二级流表包括管理流量流表、通信流量流表和实验流量流表,所述管理流量流表是用于处理云计算的管理流量的流表,所述通信流量流表是用于处理云计算虚拟机之间的通信流量的流表,所述实验流量流表是用于处理云计算网络实验流量的流表,所述第二级流表中的每个流表均包括匹配域以及与匹配域对应的动作域,所述匹配域包括五元组,所述五元组包括源主机IP字段、源主机端口字段、目的主机IP字段、目的主机端口字段和网络协议字段;

第二匹配模块,用于当所述网络流量数据包的IP网段与预设第一级流表中的虚拟机之间的通信流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的通信流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;

第三匹配模块,用于当所述网络流量数据包的IP网段与预设第一级流表中的网络实验的流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的实验流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种基于云数据中心搭建网络实验平台的方法。

在本发明实施的又一方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,使得计算机执行上述任一所述的一种基于云数据中心搭建网络实验平台的方法。

本发明实施例提供的一种基于云数据中心搭建网络实验平台的方法及装置,可以通过接受目标用户提交的实验拓扑请求,根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;从所述集合中搜索计算节点上虚拟机数量最少对应的子图,对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。该方法通过从与实验拓扑图匹配的云数据中心拓扑图的子图中搜索计算节点上虚拟机最少的子图,将虚拟机最少的子图中的计算节点对应的虚拟机进行迁移,并将迁移后的计算节点转换为实验拓扑图对应的实验节点,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的第一种基于云数据中心搭建网络实验平台的方法的流程示意图;

图2为本申请实施例提供的云数据中心拓扑图;

图3为本申请实施例提供的第二种基于云数据中心搭建网络实验平台的方法的流程示意图;

图4为本申请实施例提供的第三种基于云数据中心搭建网络实验平台的方法的流程示意图;

图5为本申请实施例提供的流量数据包匹配流表的流程示意图;

图6为本申请实施例提供的一种基于云数据中心搭建网络实验平台的装置的结构示意图;

图7为本申请实施例提供的一种电子设备。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的第一种基于云数据中心搭建网络实验平台的方法,该方法包括:

S101,接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

需要说明的是,在进行网络实验时,对云数据中心的计算节点进行拓扑时,需要选择相应的物理节点和物理链路,构成所需的实验网络拓扑,即将实验拓扑映射到云数据中心网络中,实验拓扑图就是提前设置的拓扑图,待需要映射到云数据中心网络中。

S102,根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

其中,云数据中心拓扑图包括交换节点21和计算节点22,二者之间的链接关系如图2所示。

在对实验拓扑在云数据中心网络进行映射中,该映射的目标是在云数据中心拓扑图的计算节点中选择部分计算节点,来满足实验的拓扑需求,即该部分计算节点为与实验拓扑图匹配的子图,选择一个子图来满足实验拓扑,如图1所示。

S103,从所述集合中搜索计算节点上虚拟机数量最少对应的子图,记为目标子图;

值得一提的是,因为被选中作为实验节点的计算节点,需要对上面运行的虚拟机进行迁移,所以在选择子图时,使得选择的子图能满足实验拓扑的需求,同时尽可能迁移最少数量的虚拟机,以求对云计算业务造成最小的影响。

基于上述对实验拓扑的描述中,满足实验的拓扑需求为从部分计算节点即与实验拓扑图匹配的子图中选择虚拟机数量最少对应的子图。

实现本步骤的一种实施方式为:

对所述集合中的每个子图对应的计算节点上虚拟机的数量总和按照大小进行排序,得到每个子图的虚拟机数量序列;

根据每个子图对应的计算节点上虚拟机的数量总和在所述虚拟机数量序列中的排序,确定虚拟机数量最少对应的子图。

该实施方式能够快捷有效的选择出虚拟机数量最少对应的子图,以实现对云计算业务造成最小的影响,进而降低开销。

S104,对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

值得一提的是,在选择出虚拟机最少对应的子图后,需要将所选择的子图对应的计算节点上的虚拟机进行迁移,腾空计算节点进行实验,将腾空的计算节点转换成为进行实验的实验节点。

实施本步骤的一种实施方式为:利用内存拷贝的虚拟机迁移方法对所述目标子图的计算节点的虚拟机进行迁移;

将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

该实施方式利用内存拷贝的虚拟机迁移方法对所述目标子图的计算节点的虚拟机进行迁移,提高了虚拟机迁移的准确率和效率。

当计算节点被选作为实验拓扑图中的实验节点时,需要将该计算节点转换为实验节点。由于在实验中,实验用户可能会修改系统的内核配置,为了实验的操作不影响后续的云计算业务,每个计算节点的操作系统存在着两个内核,计算节点的两个内核分别称之为云计算内核和实验内核。

现以单个计算节点为例,阐述计算节点转换为实验节点的过程:

关闭该计算节点上的云计算业务管理进程;

在关闭所述云计算业务管理进程后,保存该计算节点的云计算内核后关闭计算节点,其中,所述云计算内核为计算节点运行云计算业务的内核;

重启该计算节点后选择从该计算节点的实验内核启动,所述实验内核为计算节点运行网络实验的内核;

在所述重启该计算节点后选择从该计算节点的实验内核启动之后,还包括:

根据创建的目标实验用户登录账户,记录所述目标实验用户产生的文件。

当实验结束,实验节点需要转换成为计算节点,继续运行虚拟机,以支持云计算业务。具体的实验节点转换为计算节点的过程可以为:

根据所记录的目标实验用户产生的文件,删除所述目标实验用户登录账户及所述目标实验用户账户对应产生的文件,并对该计算节点的实验内核进行初始化后关闭该计算节点;

重启该计算节点后选择从该计算节点的云计算内核启动,并开启该计算节点的业务管理进程。

在S101之前,所述方法还包括:

解析目标用户提交的实验拓扑请求,获得实验拓扑图;

当所获得的实验拓扑图为预设的云数据中心拓扑图的子图时,如果所述云数据中心的第二数量个计算节点的空闲资源满足所述云数据中心拓扑图中所有计算节点运行虚拟机所需的资源,则执行所述接受目标用户提交的实验拓扑请求的步骤,其中,所述云数据中心拓扑图包括计算节点和交换节点,所述第二数量为云数据中心拓扑图中计算节点总数量减去实验拓扑图中实验节点的数量。

在所述S104之后,所述方法还包括:

读取接收的交换机的网络流量数据包的IP网段;

当所述网络流量数据包的IP网段与预设第一级流表中的云计算的管理流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表中的管理流量流表,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;其中,

所述第一级流表包括云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段,所述流表是根据控制器进行实时更新的,所述第二级流表包括管理流量流表、通信流量流表和实验流量流表,所述管理流量流表是用于处理云计算的管理流量的流表,所述通信流量流表是用于处理云计算虚拟机之间的通信流量的流表,所述实验流量流表是用于处理云计算网络实验流量的流表,所述第二级流表中的每个流表均包括匹配域以及与匹配域对应的动作域,所述匹配域包括五元组,所述五元组包括源主机IP字段、源主机端口字段、目的主机IP字段、目的主机端口字段和网络协议字段;

当所述网络流量数据包的IP网段与预设第一级流表中的虚拟机之间的通信流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的通信流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;

当所述网络流量数据包的IP网段与预设第一级流表中的网络实验的流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的实验流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作。

值得一提的是,本步骤可以置于步骤S101之前,也可以置于S104之后,本发明实施例对此并不限定。

本发明实施例提供的方法通过从与实验拓扑图匹配的云数据中心拓扑图的子图中搜索计算节点上虚拟机最少的子图,将虚拟机最少的子图中的计算节点对应的虚拟机进行迁移,并将迁移后的计算节点转换为实验拓扑图对应的实验节点,在对云计算业务造成最小的影响的基础上,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本。

图3为本申请实施例提供的第二种基于云数据中心搭建网络实验平台的方法,该方法包括:

S201,解析目标用户提交的实验拓扑请求,获得实验拓扑图;

目标用户需提交所需实验拓扑请求,根据提交的实验拓扑请求,对该实验拓扑请求进行解析,获得实验拓扑图,也就是说,实验拓扑请求中包括实验拓扑图。

S202,当所获得的实验拓扑图为预设的云数据中心拓扑图的子图时,如果所述云数据中心的第二数量个计算节点的空闲资源满足云数据中心中所有计算节点运行虚拟机所需的资源,则执行S203,其中,第二数量为云数据中心拓扑图中计算节点总数量减去实验拓扑图中实验节点的数量。

基于上述获得的实验拓扑图,判断实验拓扑图是否为云数据中心拓扑图中对应的子图,如果不是云数据中心拓扑图的子图,则说明当前云数据中心拓扑图无法满足实验拓扑的需求,将拒绝该实验拓扑请求。

另外,当实验拓扑图为云数据中心拓扑图中对应的子图时,判断对应子图中的计算节点资源是否够用,假设总的计算节点数为N,实验需要的实验节点数为n,则剩余的(N-n)个计算节点能否去承载N个计算节点上正在运行的虚拟机,如果不能承载,则由于虚拟机中运行的云计算业务会受到影响,所以拒绝该实验拓扑请求。若资源够用,则该实验拓扑请求被接受,实施将实验拓扑请求映射的过程。

S203,接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

其中,步骤S203-S204分别与图1实施例中的步骤S101~S102执行的方法相同。因此,图1中的所有实施例均适用于图3,且均能达到相同或相似的有益效果,在此不再赘述。

S204,根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

S205,对所述集合中的每个子图对应的计算节点上虚拟机的数量总和按照大小进行排序,得到每个子图的虚拟机数量序列;

其中,上述按照大小进行排序可以选择由大到小排序,也可以选择由小到大排序。

S206,根据每个子图对应的计算节点上虚拟机的数量总和在所述虚拟机数量序列中的排序,确定虚拟机数量最少对应的子图,记为目标子图;

本步骤中,若为由大到小进行排序,则选择最后一个虚拟机数量总和对应的子图,若为由小到大进行排序,则第一个虚拟机数量总和对应的子图。

S207,对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

其中,步骤S207分别与图1实施例中的步骤S104执行的方法相同。因此,图1中的所有实施例均适用于图3,且均能达到相同或相似的有益效果,在此不再赘述。

本发明实施例提供的方法通过利用判断实验拓扑图是否为云数据中心拓扑图中对应的子图和进一步判断云数据中心拓扑图的第二数量个计算节点的空闲资源是否满足云数据中心中拓扑图所有计算节点运行虚拟机所需的资源来确定是否接收实验拓扑请求,使得更加智能化,增加了用户的体验效果,从与实验拓扑图匹配的云数据中心拓扑图的子图中搜索计算节点上虚拟机最少的子图,将虚拟机最少的子图中的计算节点对应的虚拟机进行迁移,并将迁移后的计算节点转换为实验拓扑图对应的实验节点,在对云计算业务造成最小的影响的基础上,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本。

图4为本申请实施例提供的第三种基于云数据中心搭建网络实验平台的方法,该方法包括:

S301,解析目标用户提交的实验拓扑请求,获得实验拓扑图;

其中,步骤S301-S306分别与图3实施例中的步骤S201~S206执行的方法相同。因此,图3中的所有实施例均适用于图4,且均能达到相同或相似的有益效果,在此不再赘述。

S302,当所获得的实验拓扑图为预设的云数据中心拓扑图的子图时,如果所述云数据中心拓扑图的第二数量个计算节点的空闲资源满足所述云数据中心拓扑图中所有计算节点运行虚拟机所需的资源,则执行S303,其中,第二数量为云数据中心拓扑图中计算节点总数量减去实验拓扑图中实验节点的数量。

S303,接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

S304,根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

S305,对所述集合中的每个子图对应的计算节点上虚拟机的数量总和按照大小进行排序,得到每个子图的虚拟机数量序列;

S306,根据每个子图对应的计算节点上虚拟机的数量总和在所述虚拟机数量序列中的排序,确定虚拟机数量最少对应的子图,记为目标子图;

S307,利用内存拷贝的虚拟机迁移方法对所述目标子图的计算节点的虚拟机进行迁移;

值得一提的是,利用内存拷贝的虚拟机迁移方法对所述目标子图的计算节点的虚拟机进行迁移仅仅是其中一个可以实现虚拟机迁移的实施方式,并发明对此并不限定。

S308,针对每个所需转换的计算节点,按照步骤A~步骤F进行转换;

步骤A,关闭该计算节点上的云计算业务管理进程;

其中,业务管理进程可以理解为负责云计算业务的管理,包括接受云计算业务用户的请求,执行用户请求,自动化运维管理云计算平台等功能。

步骤B,在关闭所述云计算业务管理进程后,保存该计算节点的云计算内核后关闭计算节点,其中,所述云计算内核为计算节点运行云计算业务的内核;

其中,内核是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性,因此需要对云计算内核进行保存。

步骤C,重启该计算节点后选择从该计算节点的实验内核启动,所述实验内核为计算节点运行网络实验的内核;

从该计算节点的实验内核启动也就是将计算节点转换了实验节点。

步骤D,根据创建的目标实验用户登录账户,记录所述目标实验用户产生的文件;

在转换为实验节点后,需为目标实验用户创建系统登录账号,进而目标实验用户会利用该实验节点做实验,进而会产生做实验数据的文件,因此需要实验节点需要将该文件记录下来。

步骤E,根据所记录的目标实验用户产生的文件,删除所述目标实验用户登录账户及所述目标实验用户账户对应产生的文件,并对该计算节点的实验内核进行初始化后关闭该计算节点;

需要说明的是,当实验结束,实验节点需要转换成为计算节点,继续运行虚拟机,以支持云计算业务。

步骤F,重启该计算节点后选择从该计算节点的云计算内核启动,并开启该计算节点的业务管理进程。

需要说明的是,从该计算节点的云计算内核启动就是实验节点转换了计算节点。

S309,读取接收的交换机的网络流量数据包的IP网段;

读取接收的交换机的网络流量数据包的IP网段,检查该网段是否与第一级流表中的云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段是否匹配。

需要说明的是,可以采用软件定义即软件定义网络(Software Defined Network,SDN)的方式对不同类型的流量进行管理,云数据中心中的全部交换机属于支持网络交换模型OpenFlow的SDN交换机,它们都由一台控制器统一控制,控制器通过OpenFlow协议指导交换机进行流量的转发。

S310,当所述网络流量数据包的IP网段与预设第一级流表中的云计算的管理流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表中的管理流量流表,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;其中,

所述第一级流表包括云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段,所述流表是根据控制器进行实时更新的,所述第二级流表包括管理流量流表、通信流量流表和实验流量流表,所述管理流量流表是用于处理云计算的管理流量的流表,所述通信流量流表是用于处理云计算虚拟机之间的通信流量的流表,所述实验流量流表是用于处理云计算网络实验流量的流表,所述第二级流表中的每个流表均包括匹配域以及与匹配域对应的动作域,所述匹配域包括五元组,所述五元组包括源主机IP字段、源主机端口字段、目的主机IP字段、目的主机端口字段和网络协议字段;

需要说明的是,云数据中心中不仅同时承载着云计算业务和网络实验的业务,还同时存在着三类流量,该三类流量分别是云计算的管理流量、虚拟机之间的通信流量和网络实验的流量,该三类流量共用同一套交换设备,所以需要在交换设备上对流量进行隔离,分别进行转发处理。

另外,上述执行对应的动作可以理解为从某个交换机端口转发出去。

值得一提的是,第一级流表和第二级流表中的每个流表均包括匹配域和与匹配域对应的动作域,其中,第一级流表的云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段就是匹配域,第二级流表中的每个流表就是管理流量流表、通信流量流表或实验流量流表,第二级流表中每个流表的匹配域为五元组。

为了对流表描述的更加清楚,下面对其具体的详细描述:

利用网段来划分流量的类型,网段的划分如表1所示。例如,10.0.0.0/24网段的流量属于虚拟机之间的通信流量,计算节点之间的虚拟机之间的通信流量都通过分配了该网段的网口进行发送,而另外两类流量通过分配了其他网段的网口进行发送。所以计算节点服务器需要有三个网口,不同类型的流量通过不同的网口进行发送,增加了流量之间的隔离性。

表1

云计算的管理流量虚拟机之间的通信流量网络实验的流量网段(IP段)178.0.0.0/2410.0.0.0/24192.0.0.0/24

在SDN交换机上,为了对流量的转发做到有效的隔离,并且有效的管理OpenFlow流表,将属于不同类型流量的流表放在不同的表中。为了减少流表的数量,采用两级流表,第一级流表放在单独的表中,匹配数据包的网段,并根据数据包所属的网段将数据包转发到不同的表中进行处理,流量数据包匹配流表的流程如图5所示,因此第一级流表包括云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段、匹配域以及与匹配域对应的动作域,所述第二级流表包括图5中的表1~表3,其中,表1为管理流量流表,表2为通信流量流表,表3为实验流量流表,例如属于实验流量的数据包到达了交换机,则首先在第一级流表即表0中进行匹配,根据其网段,匹配第一级流表即表0中的流量执行“send to Table 3”即“发送表3”动作,将数据包发往表3中的流量进行匹配,表3的流表根据数据包的具体特征再选择如何进行转发。

S311,当所述网络流量数据包的IP网段与预设第一级流表中的虚拟机之间的通信流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的通信流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;

如上述对通信流量流表的描述,在将网络流量数据包转发到预设的第二级流表的图5的表2中时,当网络流量数据包的头部五元组与第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作。

S312,当所述网络流量数据包的IP网段与预设第一级流表中的网络实验的流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的实验流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作。

如上述对通信流量流表的描述,在将网络流量数据包转发到预设的第二级流表的图5的表3中时,当网络流量数据包的头部五元组与第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作。

本发明实施例提供的方法通过利用判断实验拓扑图是否为云数据中心拓扑图中对应的子图和进一步判断云数据中心拓扑图的第二数量个计算节点的空闲资源是否满足云数据中心中拓扑图中所有计算节点运行虚拟机所需的资源来确定是否接收实验拓扑请求,使得更加智能化,增加了用户的体验效果,从与实验拓扑图匹配的云数据中心拓扑图的子图中搜索计算节点上虚拟机最少的子图,将虚拟机最少的子图中的计算节点对应的虚拟机进行迁移,并将迁移后的计算节点转换为实验拓扑图对应的实验节点,在对云计算业务造成最小的影响的基础上,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本,在搭建好实验平台后,当需要实验时,计算节点转换成为实验节点,当实验结束时,实验节点转换为计算节点,继续运行虚拟机,以支持云计算业务,进一步增加了用户体验效果;另外,本发明实施例提供搭建的网络实验平台为真实的物理环境,未引入虚拟化的技术,主机为物理服务器,链路为物理链路,转发设备为物理交换机,这样保证了实验的真实性,结果的准确性。

与上述基于云数据中心搭建网络实验平台方法相对应,本申请实施例还提供了一种基于云数据中心搭建网络实验平台的装置。

图6为本申请实施例提供的一种基于云数据中心搭建网络实验平台的装置,该装置包括:

请求接收模块401,用于接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

子图搜索模块402,用于根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

目标子图搜索模块403,用于从所述集合中搜索计算节点上虚拟机数量最少对应的子图,记为目标子图;

实验节点转换模块404,用于对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

其中,所述装置还可以包括:

请求解析模块,用于解析目标用户提交的实验拓扑请求,获得实验拓扑图;

请求执行模块,用于当所获得的实验拓扑图为预设的云数据中心拓扑图的子图时,如果所述云数据中心拓扑图的第二数量个计算节点的空闲资源满足所述云数据中心拓扑图中所有计算节点运行虚拟机所需的资源,则执行所述接受目标用户提交的实验拓扑请求的步骤,其中,所述第二数量为云数据中心拓扑图中计算节点总数量减去实验拓扑图中实验节点的数量。

所述目标子图搜索模块403包括:

排序子模块,用于对所述集合中的每个子图对应的计算节点上虚拟机的数量总和按照大小进行排序,得到每个子图的虚拟机数量序列;

确定子模块,用于根据每个子图对应的计算节点上虚拟机的数量总和在所述虚拟机数量序列中的排序,确定虚拟机数量最少对应的子图。

所述实验节点转换模块404包括:

迁移子模块,用于利用内存拷贝的虚拟机迁移方法对所述目标子图的计算节点的虚拟机进行迁移;

转换子模块,用于将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

所述转换子模块包括:

计算节点执行单元,用于针对每个所需转换的计算节点,按照如下步骤进行转换;

关闭该计算节点上的业务管理进程;

在关闭所述业务管理进程后,保存该计算节点的云计算内核后关闭计算节点,其中,所述云计算内核为计算节点运行云计算业务的内核;

重启该计算节点后选择从该计算节点的所述实验内核启动,所述实验内核为计算节点运行网络实验的内核。

所述计算节点执行单元还可以包括:

根据创建的目标实验用户登录账户,记录所述目标实验用户产生的文件。

所述计算节点执行单元还可以包括:

根据所记录的目标实验用户产生的文件,删除所述目标实验用户登录账户及所述目标实验用户账户对应产生的文件,并对该计算节点的实验内核进行初始化后关闭该计算节点;

重启该计算节点后选择从该计算节点的云计算内核启动,并开启该计算节点的业务管理进程。

所述装置还可以包括:

网络流量数据包读取模块,用于读取接收的交换机的网络流量数据包的IP网段;

第一匹配模块,用于当所述网络流量数据包的IP网段与预设第一级流表中的云计算的管理流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表中的管理流量流表,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;其中,

所述第一级流表包括云计算的管理流量对应的IP网段、虚拟机之间的通信流量对应的IP网段以及网络实验的流量对应的IP网段,所述流表是根据控制器进行实时更新的,所述第二级流表包括管理流量流表、通信流量流表和实验流量流表,所述管理流量流表是用于处理云计算的管理流量的流表,所述通信流量流表是用于处理云计算虚拟机之间的通信流量的流表,所述实验流量流表是用于处理云计算网络实验流量的流表,所述第二级流表中的每个流表均包括匹配域以及与匹配域对应的动作域,所述匹配域包括五元组,所述五元组包括源主机IP字段、源主机端口字段、目的主机IP字段、目的主机端口字段和网络协议字段;

第二匹配模块,用于当所述网络流量数据包的IP网段与预设第一级流表中的虚拟机之间的通信流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的通信流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作;

第三匹配模块,用于当所述网络流量数据包的IP网段与预设第一级流表中的网络实验的流量对应的IP网段匹配时,将所述网络流量数据包转发到预设的第二级流表的实验流量流表中,如果所述网络流量数据包的头部五元组与所述第二级流表的五元组匹配,则执行所述第二级流表匹配域对应动作域对应的动作。

本发明实施例提供的装置通过从与实验拓扑图匹配的云数据中心拓扑图的子图中搜索计算节点上虚拟机最少的子图,将虚拟机最少的子图中的计算节点对应的虚拟机进行迁移,并将迁移后的计算节点转换为实验拓扑图对应的实验节点,在对云计算业务造成最小的影响的基础上,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本。

本发明实施例还提供了一种电子设备,如图7所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例提供的一种基于云数据中心搭建网络实验平台的方法。

具体的,上述一种基于云数据中心搭建网络实验平台的方法,包括:

接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

从所述集合中搜索计算节点上虚拟机数量最少对应的子图,记为目标子图;

对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

由此可见,执行本实施例提供的电子设备,通过从与实验拓扑图匹配的云数据中心拓扑图的子图中搜索计算节点上虚拟机最少的子图,将虚拟机最少的子图中的计算节点对应的虚拟机进行迁移,并将迁移后的计算节点转换为实验拓扑图对应的实验节点,在对云计算业务造成最小的影响的基础上,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本。

上述的相关内容基于云数据中心搭建网络实验平台的实施方式与前述方法实施例部分提供的基于云数据中心搭建网络实验平台确定方式相同,这里不再赘述。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于云数据中心搭建网络实验平台方法。

具体的,上述一种基于云数据中心搭建网络实验平台的方法,包括:

接受目标用户提交的实验拓扑请求,其中,所述实验拓扑请求为包括实验拓扑图的请求,所述实验拓扑图包括第一数量个实验节点和第一数量个实验节点之间的链接关系;

根据所述实验拓扑请求包含的实验拓扑图,从预设的云数据中心拓扑图中搜索满足所述实验拓扑图的子图,并将搜索到的子图添加到预设的集合中;

从所述集合中搜索计算节点上虚拟机数量最少对应的子图,记为目标子图;

对所述目标子图的计算节点的虚拟机进行迁移,并将虚拟机迁移后的计算节点转换为所述实验拓扑图对应的实验节点。

由此可见,执行本实施例提供的计算机可读存储介质中存储的应用程序时,通过从与实验拓扑图匹配的云数据中心拓扑图的子图中搜索计算节点上虚拟机最少的子图,将虚拟机最少的子图中的计算节点对应的虚拟机进行迁移,并将迁移后的计算节点转换为实验拓扑图对应的实验节点,在对云计算业务造成最小的影响的基础上,减小了与真实网络环境的差异,进而提高了实验效率和降低了花费庞大的实验平台建设成本。

上述的相关内容基于云数据中心搭建网络实验平台的实施方式与前述方法实施例部分提供的基于云数据中心搭建网络实验平台确定方式相同,这里不再赘述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号