一种基于云环境的虚拟机通信质量自优化的系统和方法与流程

文档序号:14993367发布日期:2018-07-20 22:57阅读:206来源:国知局

本发明涉及改善虚拟化网络监控的技术,尤其涉及在云平台方案中针对虚拟机网络通讯质量进行优化迁移的系统和方法。



背景技术:

实践中,虚拟化网络监控是非常重要的。通常,云环境会采用专门的设备或系统对硬件设备进行监控。但是,为用户提供服务的是运行在服务器中的虚拟机,虚拟机连接的是虚拟化二层、三层网络,实践中对虚拟机的网络性能监控比较缺乏,一般采用外部监控进程获取ping命令数据,或者监控虚拟tap设备等,监控方式单一,获取到的数据不能全面反映用户角度的网络通讯感受,因此不能满足多维度的监控和优化需求。

同时,现有云平台方案中,缺乏针对虚拟机网络通讯质量进行优化迁移的解决方案。实践中,需要综合考虑云平台实际的拓扑结构和负载情况才能给出合理的优化方案。



技术实现要素:

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

本发明的目的在于提供了一种基于云环境的虚拟机通信质量自优化的系统和方法,解决了如何获取从用户角度的网络通讯质量的数据收集的问题,以及解决了网络通讯不符合需求的问题。

本发明的技术方案为:本发明揭示了一种基于云环境的虚拟机通信质量自优化的系统,包括控制模块、虚拟机网络数据收集模块、配置库、资源管理模块、云平台基础设施组件,控制模块分别和配置库、虚拟机网络数据收集模块、资源管理模块建立数据连接,云平台基础设施组件分别和虚拟机网络数据收集模块、资源管理模块建立数据连接,其中:

配置库,用于管理员写入的配置信息,配置信息包括网络质量设定指标;

资源管理模块,用于云平台的硬件资源管理,包括监控硬件获得硬件资源状态数据、接收控制模块发出的操作指令并向控制模块反馈操作结果、向云平台基础设施组件发送包括虚拟机迁移的操作指令;

云平台基础设施组件,控制产生于组件的服务器中的虚拟机向虚拟机网络数据收集模块报告网络质量统计数据;

虚拟机网络数据收集模块,用于接收虚拟机发送的网络质量统计数据;

控制模块,获取配置库的网络质量设定指标、虚拟机网络数据收集模块的网络质量统计数据、和资源管理模块的硬件资源状态数据,计算策略列表,基于策略列表中选择的最优策略生成操作指令发送给资源管理模块进行操作,根据从资源管理模块收集的操作反馈判断操作是否失败,如果操作失败则回滚后继续选择新的最优策略进行操作直到操作成功或者所有策略均失败为止,并记录失败信息以避免重复操作。

根据本发明的基于云环境的虚拟机通信质量自优化的系统的一实施例,云平台基础设施组件通过在虚拟机中预置网络监控进程来向虚拟机网络数据收集模块报告网络质量统计数据。

根据本发明的基于云环境的虚拟机通信质量自优化的系统的一实施例,系统还包括:

管理员界面模块,用于供系统管理员查看和管理系统,其中查看的内容包括数据传输量、延时、或丢包率在内的当前虚拟机网络状态,包括不能满足配置库要求的项目信息在内的告警标志,包括对虚拟机迁移、重试、或回滚的步骤记录在内的操作历史记录;管理的内容包括:修改配置库、向控制模块手动发送执行命令;

控制模块还向管理员界面模块报告,报告的内容包括:从虚拟机网络数据收集模块中汇总的虚拟机监控数据;结合配置库设定,报告监控数据中的不符合项目;控制模块的操作数据,包括虚拟机的迁移、回撤、回滚。

根据本发明的基于云环境的虚拟机通信质量自优化的系统的一实施例,系统还包括:

日志模块,用于记录控制模块和资源管理模块的操作日志;

控制模块还将触发信息、计算结果和资源管理模块的操作日志写入到日志模块中。

根据本发明的基于云环境的虚拟机通信质量自优化的系统的一实施例,配置库中存储的配置信息还包括禁止操作项,其中网络质量设定指标包括延时、丢包率、带宽,禁止操作项包括禁止对某个虚拟机进行迁移、子网排除列表。

本发明还揭示了一种基于云环境的虚拟机通信质量自优化的方法,其特征在于,在上述的基于云环境的虚拟机通信质量自优化的系统上执行,方法包括:

控制模块获取配置库数据和虚拟机网络数据收集模块的数据,配置库数据中包括记录网络质量设定指标;

比对配置库的网络质量设定指标和虚拟机网络数据收集模块的网络质量统计数据,计算出不符合项目,如果所有项目都符合则流程结束;

控制模块获取资源管理模块的硬件资源状态数据;

控制模块根据不符合项目的类别选择不同的策略生成方式,最后生成策略列表,策略列表包含的每一条策略对应一种虚拟机迁移方案;

控制模块基于策略列表中选择的最优策略生成操作指令发送给资源管理模块进行操作,根据从资源管理模块收集的操作反馈判断操作是否失败,如果操作失败则回滚后继续选择新的最优策略进行操作直到操作成功或者所有策略均失败为止,并记录失败信息以避免重复操作。

根据本发明的基于云环境的虚拟机通信质量自优化的方法的一实施例,方法还包括:从不符合项目中剔除配置库中预存的不处理事项作为最终的不符合项目的结果。

根据本发明的基于云环境的虚拟机通信质量自优化的方法的一实施例,在控制模块根据不符合项目的类别选择不同的策略生成方式的步骤中,策略生成方式包括:

如果虚拟机属于若干子网构成的集群,且该虚拟机与集群内其他虚拟机通讯不畅,则检查该虚拟机是否与集群内其他虚拟机位于同一宿主机或者可用域内,如果不是则将其迁入;或者

如果虚拟机与外网通讯不畅,则检查与之对应的宿主机网络端口状态、虚拟机路由状态、网络设备状态,找出瓶颈,将其迁入负载较低宿主机节点。

根据本发明的基于云环境的虚拟机通信质量自优化的方法的一实施例,回滚的操作包括:将操作过程中生成的文件删除,将操作过程中修改的文件恢复,以及将操作过程中删除的文件恢复。

根据本发明的基于云环境的虚拟机通信质量自优化的方法的一实施例,方法还包括:

当流程结束时,资源管理模块向控制模块报告执行状态,并写入日志中。

本发明对比现有技术有如下的有益效果:本发明通过在虚拟机中设置网络质量统计进程,实现从虚拟机角度获取网络通讯质量数据的技术效果,解决了用户对网络的需求是多样的、对通信质量的评价是多维度的,从外部设立的监控措施无法获取所有虚拟机的网络通讯质量信息的直接数据的问题。同时,从虚拟机中获取到的网络通讯质量的统计数据判断其是否达标,如果不达标则计算优化调整方案,并尝试进行优化,实现了根据虚拟机通讯质量和云环境的拓扑环境实现精确调整的技术效果。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1示出了本发明的基于云环境的虚拟机通信质量自优化的系统的一实施例的原理图。

图2示出了本发明的基于云环境的虚拟机通信质量自优化的方法的一实施例的流程图。

具体实施方式

以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。

图1示出了本发明的基于云环境的虚拟机通信质量自优化的系统的实施例的原理。请参见图1,本实施例的系统包括:控制模块、虚拟机(vm,virtualmachine)网络数据收集模块、配置库、云平台基础设施组件(iaas,infrastructureasaservice)、资源管理模块。此外,较佳的,还可以包括管理员界面模块和日志模块。

管理员界面模块用于供系统管理员查看和管理系统,其中查看的内容包括但不限于:当前虚拟机网络状态,比如数据传输量、延时、丢包率等;告警标志,比如不能满足配置库要求的项目信息等;操作历史记录,比如对虚拟机迁移、重试、回滚的步骤记录等。管理的内容包括但不限于:修改配置库、向控制模块手动发送执行命令。

配置库用于存储管理员写入的配置信息,包括但不限于:网络质量阈值,比如延时、丢包率、带宽等;禁止操作项,比如禁止对某个虚拟机进行迁移、子网排除列表等。

控制模块是整个系统的核心,用于向管理员界面模块的报告、生成优化策略、记录失败信息以避免重复操作、将触发信息、计算结果、操作日志写入日志模块的功能。

其中对于向管理员界面模块报告的功能,报告的内容包括但不限于:从虚拟机网络数据收集模块中汇总的虚拟机监控数据;结合配置库设定,报告监控数据中的不符合项目;控制模块的操作数据,比如虚拟机的迁移、回撤、回滚。

生成优化策略的步骤包括:先从虚拟机网络数据收集模块获取虚拟机的监控数据。再与配置库阈值做比对,过滤出不符合项目;从资源管理模块获取当前硬件资源状态,比如cpu、内存、网络使用状态、网络拓扑、iaas拓扑。然后计算策略列表。之后选择最优策略,生成操作指令发送给资源管理模块,收到资源管理模块的操作反馈,如果操作失败则从策略列表中继续选择下一条策略再重复本步骤,直到操作成功或者所有策略均失败为止。

日志模块用于记录控制模块和资源管理模块的操作日志。

云平台基础设施组件(iaas)是云平台的基础设施层,包括服务器、网络设备、存储设备等。虚拟机产生于iaas中的服务器,在虚拟机中预置了网络监控进程,定时向虚拟机网络数据收集模块报告统计数据。

资源管理模块用于负责云平台的硬件资源管理。具有监控硬件(比如服务器利用率如cpu和内存、网络设备状态如带宽和拓扑)、接收控制模块发出的操作指令、向iaas发送操作指令(如虚拟机迁移)和记录操作日志的功能。

虚拟机网络数据收集模块用于接收虚拟机发送的网络质量统计数据。

图2示出了系统的运行过程,也就是本发明的基于云环境的虚拟机通信质量自优化的方法的实施例的流程。请参见图2,本实施的系统的运行步骤(亦即自优化的方法步骤)如下。

步骤s1:控制模块定时任务被触发或者管理员在管理员界面模块手动触发。

步骤s2:控制模块获取配置库数据和虚拟机网络数据收集模块的数据。

其中配置库数据中包括记录网络质量设定指标、不处理事项列表等。

步骤s3:比对配置库数据和虚拟机网络数据收集模块的数据,计算出不符合项目,并与不处理事项列表作差集。

如果不符合项目为空则跳转至步骤s10,否则继续执行步骤s4。

步骤s4:控制模块获取资源管理模块的数据,即云平台iaas的信息,包括网络拓扑、可用域划分信息、虚拟子网和虚拟路由信息等。

步骤s5:控制模块计算策略列表。

这一步骤是本发明的核心。首先根据不符合项的类别选择不同的策略生成程序。例如,如果虚拟机属于若干子网构成的集群,且该虚拟机与集群内其他虚拟机通讯不畅,则检查该虚拟机是否与集群内其他虚拟机位于同一宿主机或者可用域内,如果不是,则考虑将其迁入;如果虚拟机与外网通讯不畅,则检查与之对应的宿主机网络端口状态、虚拟机路由状态、网络设备状态,找出瓶颈,考虑将其迁入负载较低宿主机节点。

然后基于策略生成程序生成策略列表。策略列表包括若干条策略,每条策略包含一种虚拟机迁移方案,并根据条件设定打分。策略列表根据打分将策略降序排序,列表中的第一条即为当前最优策略。

步骤s6:判断策略列表中是否为空。

若策略列表为空则执行步骤s10,否则继续执行步骤s7。

步骤s7:将策略列表中的当前最优策略(第一条策略)从列表中取出后提交给资源管理模块执行。

在本步骤中,首先判断策略中的目的宿主机条件是否满足,包括内存、cpu、存储资源等。如果不满足则执行s9,如果满足则继续执行本步骤。

然后拷贝虚拟机的部分内存页面到宿主机,复制网络状态等信息,将拷贝的虚拟机启动。

步骤s8:判断资源管理模块的执行是否成功。

如果成功则将源虚拟机的访问地址切换到拷贝的虚拟机,并且销毁源虚拟机,再执行步骤s10,若失败则执行步骤s9。

步骤s9:回滚,若执行失败,则将操作过程中生成的文件删除,将操作过程中修改的文件恢复,将操作过程中删除的文件恢复。并记录日志文件,通知控制模块,然后再返回步骤s6执行,此时之前执行的策略已经从策略列表中删除。

步骤s10:向控制模块报告执行状态,写入日志,流程结束。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协作的一个或多个微处理器、或任何其他此类配置。

结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1