一种虚拟化技术的自动决策方法及系统技术方案

技术编号:18398348 阅读:59 留言:0更新日期:2018-07-08 19:16
本发明专利技术提出一种虚拟化技术的自动决策方法及系统,该系统包括测试生成模块,用于根据用户输入数据生成测试计划并执行所述测试计划;虚拟化环境切换模块,用于根据测试计划的执行进度需求在非虚拟化环境与虚拟化环境之间以及各虚拟化环境之间进行切换;应用执行模块,用于根据执行进度需求在非虚拟化环境或虚拟化环境下执行应用;信息采集模块,用于采集在非虚拟化环境或虚拟化环境下执行应用时的性能数据;数据处理模块,用于根据性能数据计算各虚拟化技术对每个应用的影响因子,及每个虚拟化技术提供的虚拟化环境下应用在各种组合情况下干扰因子。本发明专利技术根据性能数据计算每个虚拟化技术的性能评分,用户选取评分最高作为其提供服务的虚拟化技术。

【技术实现步骤摘要】
一种虚拟化技术的自动决策方法及系统
本专利技术涉及文件预取与缓存领域问题,特别涉及一种虚拟化技术的自动决策方法及系统。
技术介绍
近年来通过Internet交付服务的云计算越来越流行,用户从公有云上租用资源的主要原因是云用户能根据负载量弹性的管理资源(R.BoutabaandN.L.daFonseca,“CloudArchitectures,Networks,Services,andManagement,”CloudServices,Networking,andManagement,pp.1–22,2015.)。虚拟化是云的一个基础性关键技术,目前有许多已经实现的虚拟化技术,不同的云供应商使用不同的虚拟化技术来提供服务,比如:亚马逊弹性云EC2使用Xen;微软的Azure分别使用Hyper-V和Docker来供应虚拟机和容器。虚拟化技术可被分为两类:基于hypervisor的虚拟化(如Xen、KVM、Hyper-V和VMware等)和基于容器的虚拟化技术(如LXC和Docker等)。基于hypervisor的虚拟化技术在近十年里被广泛的用于虚拟化和隔离,一般情况下,hypervisor在硬件级进行操作,所以能支持在主机系统上运行相互独立的被隔离的多个虚拟机,由于hypervisor将虚拟机从底层主机系统隔离出来,所以在一个主机上的不同虚拟机可运行完全不同的操作系统内核,然而由于一个虚拟机上需要安装完整的操作系统,所以虚拟机镜像一般会很大,与非虚拟化的主机系统相比,基于hypervisor的虚拟化在虚拟硬件和设备驱动时有一定的开销。近几年,轻量级的基于容器的虚拟化为云计算提供了一个可替代基于hypervisor的虚拟化的技术,基于容器的虚拟化变流行的主要原因是标准Linux内核在2006年(Kernel2.6.24)引入cgroups并从Kernel2.4.19到Kernel3.8支持越来越多层次的命名空间(namespace),在基于容器的虚拟化环境中,运行在一个机器的所有容器共享同一个操作系统内核,所以能即时的启动容器并更有效的使用RAM,由于不需要在容器内安装操作系统,所以容器镜像比虚拟机镜像小很多。由于虚拟化的实现不同,不同的虚拟化技术具有不同程度的性能开销,云用户在将其服务外包到云上时应当对不同的虚拟化技术的性能进行了解以选择适合其服务的虚拟化技术,从而选取合适的云。虚拟化对应用的性能影响主要分为两部分:虚拟化技术的性能开销和同一主机上的应用间干扰,虚拟化技术的性能开销是指使用同量的资源情况下应用在虚拟化环境下独占主机的性能比在非虚拟化环境下的性能差,这主要是因为与非虚拟化环境下的主机系统相比虚拟化环境多出了虚拟底层资源和设备驱动的软件层,从而增加了应用访问底层资源的路径长度,一般使用虚拟化影响因子量化虚拟化技术的性能开销,虚拟化影响因子是在一台主机上应用分别在虚拟化环境和非虚拟化环境下使用全部物理资源的性能之间的比值,虚拟化影响因子一般小于1,表示虚拟化技术会导致应用的性能下降,虚拟化影响因子越接近于1,表示虚拟化技术的性能开销越小。同一主机上的应用间干扰是指在虚拟化环境下配置相同的资源,一个虚拟机独占主机情况下的性能优于有其他虚拟机与之共存于该主机时的性能。存在应用间干扰的原因是虚拟化技术提供的隔离方案还不完美,从而使使用同一主机上的多个虚拟机间存在着共享资源(如Cache)的竞争。使用性能干扰因子量化一个虚拟机被干扰的程度,一个虚拟机/应用的干扰因子是在配置固定资源的情况下,存在其他共存于一个主机的虚拟机时该虚拟机的性能和独占该主机的性能之间的比值,与虚拟化影响因子相似,干扰因子一般小于1,表示应用共存的干扰会导致应用的性能下降,干扰因子越接近于1,表示应用间存在的干扰程度越小,也就表示虚拟化技术的隔离性越好。
技术实现思路
针对现有技术的不足,本专利技术提出一种虚拟化技术的自动决策方法及系统包括:测试生成模块,用于根据用户输入数据生成测试计划并执行所述测试计划;虚拟化环境切换模块,用于根据所述测试计划的执行进度需求在非虚拟化环境与虚拟化环境之间以及各虚拟化环境之间进行切换;应用执行模块,用于根据所述测试计划的执行进度需求在非虚拟化环境或虚拟化环境下执行应用;信息采集模块,用于采集在非虚拟化环境或虚拟化环境下执行应用时的性能数据;数据处理模块,用于根据所述性能数据计算各虚拟化技术对每个应用的影响因子,及每个虚拟化技术提供的虚拟化环境下应用在各种组合情况下的干扰因子。该虚拟化技术的自动决策系统,其中所述测试计划包括:步骤A1.告知所述虚拟化环境切换模块将被测平台切换到非虚拟化环境,非虚拟化环境切换完成后执行步骤A2;步骤A2.告知应用执行模块依次在被测平台上执行所有应用,当应用均被执行完成后,执行步骤A3;步骤A3.对每个虚拟化技术依次执行步骤A4;步骤A4.告知所述虚拟化环境切换模块将被测平台切换到步骤A3指定的虚拟化技术提供的虚拟化环境,切换完成后执行步骤A5;步骤A5.告知应用执行模块依次在配有被测平台所有资源的虚拟机上执行所有应用,当应用均被执行完成后,执行步骤A6;步骤A6.对每个虚拟机配置依次执行步骤A7,完成后执行步骤A8;步骤A7.告知应用执行模块依次在具有步骤A6指定的虚拟机配置的虚拟机上执行所有应用;步骤A8.对所有满足用户设定的应用的组合依次执行步骤A9;步骤A9.对应用组合相对应的每个虚拟机配置组合依次执行步骤A10;步骤A10.告知所述应用执行模块在具有步骤A9指定的虚拟机配置组合的虚拟机上分别运行步骤A8指定的应用的组合,其中虚拟机与应用为一一对应的关系。该虚拟化技术的自动决策系统,其中所述虚拟化环境切换模块接收并执行步骤A1中的非虚拟化环境切换与步骤A4中的虚拟化环境切换的指令,并在被测平台上完成环境切换后反馈给所述测试生成模块。该虚拟化技术的自动决策系统,其中应用执行模块具体包括:步骤B1.如果接收来自所述测试生成模块的指示是依次在被测平台上的非虚拟化环境下执行所有应用,则执行步骤B2,反之执行步骤B5;步骤B2.对每个应用依次执行步骤B3,完成后执行步骤B4;步骤B3.在被测平台上执行步骤B2指定的应用,完成后告知所述信息采集模块采集性能数据;步骤B4.告知所述测试生成模块已执行完成所有应用;步骤B5.如果接收来自所述测试生成模块的指示是依次在被测平台上的某虚拟化环境下在具有某配置的虚拟机上执行所有应用,则执行步骤B6,反之执行步骤B10;步骤B6.在被测平台上创建并启动具有步骤B5指定配置的虚拟机,执行步骤B7;步骤B7.对每个应用依次执行步骤B8,完成后执行步骤B9;步骤B8.在虚拟机上执行步骤B7指定的应用,完成后告知所述信息采集模块采集性能数据;步骤B9.关闭并删除步骤B6创建的虚拟机,告知所述测试生成模块已执行完成所有应用;步骤B10.分别在被测平台上创建并启动多个具有所述测试生成模块指定配置的虚拟机,执行步骤B11;步骤B11.在B10创建的虚拟机上执行所述测试生成模块指定的应用组合,应用组合执行完成后,告知所述信息采集模块采集性能数据并执行步骤B12;步骤B12.关闭并删除步骤B10创建的所有虚拟机,告知所述测试生成模块已执行完成应用组合。本文档来自技高网
...

【技术保护点】
1.一种虚拟化技术的自动决策系统,其特征在于,包括:测试生成模块,用于根据用户输入数据生成测试计划并执行所述测试计划;虚拟化环境切换模块,用于根据所述测试计划的执行进度需求在非虚拟化环境与虚拟化环境之间以及各虚拟化环境之间进行切换;应用执行模块,用于根据所述测试计划的执行进度需求在非虚拟化环境或虚拟化环境下执行应用;信息采集模块,用于采集在非虚拟化环境或虚拟化环境下执行应用时的性能数据;数据处理模块,用于根据所述性能数据计算各虚拟化技术对每个应用的影响因子,及每个虚拟化技术提供的虚拟化环境下应用在各种组合情况下的干扰因子。

【技术特征摘要】
1.一种虚拟化技术的自动决策系统,其特征在于,包括:测试生成模块,用于根据用户输入数据生成测试计划并执行所述测试计划;虚拟化环境切换模块,用于根据所述测试计划的执行进度需求在非虚拟化环境与虚拟化环境之间以及各虚拟化环境之间进行切换;应用执行模块,用于根据所述测试计划的执行进度需求在非虚拟化环境或虚拟化环境下执行应用;信息采集模块,用于采集在非虚拟化环境或虚拟化环境下执行应用时的性能数据;数据处理模块,用于根据所述性能数据计算各虚拟化技术对每个应用的影响因子,及每个虚拟化技术提供的虚拟化环境下应用在各种组合情况下的干扰因子。2.如权利要求1所述的虚拟化技术的自动决策系统,其特征在于,所述测试计划包括:步骤A1.告知所述虚拟化环境切换模块将被测平台切换到非虚拟化环境,非虚拟化环境切换完成后执行步骤A2;步骤A2.告知应用执行模块依次在被测平台上执行所有应用,当应用均被执行完成后,执行步骤A3;步骤A3.对每个虚拟化技术依次执行步骤A4;步骤A4.告知所述虚拟化环境切换模块将被测平台切换到步骤A3指定的虚拟化技术提供的虚拟化环境,切换完成后执行步骤A5;步骤A5.告知应用执行模块依次在配有被测平台所有资源的虚拟机上执行所有应用,当应用均被执行完成后,执行步骤A6;步骤A6.对每个虚拟机配置依次执行步骤A7,完成后执行步骤A8;步骤A7.告知应用执行模块依次在具有步骤A6指定的虚拟机配置的虚拟机上执行所有应用;步骤A8.对所有满足用户设定的应用的组合依次执行步骤A9;步骤A9.对应用组合相对应的每个虚拟机配置组合依次执行步骤A10;步骤A10.告知所述应用执行模块在具有步骤A9指定的虚拟机配置组合的虚拟机上分别运行步骤A8指定的应用的组合,其中虚拟机与应用为一一对应的关系。3.如权利要求2所述的虚拟化技术的自动决策系统,其特征在于,所述虚拟化环境切换模块接收并执行步骤A1中的非虚拟化环境切换与步骤A4中的虚拟化环境切换的指令,并在被测平台上完成环境切换后反馈给所述测试生成模块。4.如权利要求1所述的虚拟化技术的自动决策系统,其特征在于,应用执行模块具体包括:步骤B1.如果接收来自所述测试生成模块的指示是依次在被测平台上的非虚拟化环境下执行所有应用,则执行步骤B2,反之执行步骤B5;步骤B2.对每个应用依次执行步骤B3,完成后执行步骤B4;步骤B3.在被测平台上执行步骤B2指定的应用,完成后告知所述信息采集模块采集性能数据;步骤B4.告知所述测试生成模块已执行完成所有应用;步骤B5.如果接收来自所述测试生成模块的指示是依次在被测平台上的某虚拟化环境下在具有某配置的虚拟机上执行所有应用,则执行步骤B6,反之执行步骤B10;步骤B6.在被测平台上创建并启动具有步骤B5指定配置的虚拟机,执行步骤B7;步骤B7.对每个应用依次执行步骤B8,完成后执行步骤B9;步骤B8.在虚拟机上执行步骤B7指定的应用,完成后告知所述信息采集模块采集性能数据;步骤B9.关闭并删除步骤B6创建的虚拟机,告知所述测试生成模块已执行完成所有应用;步骤B10.分别在被测平台上创建并启动多个具有所述测试生成模块指定配置的虚拟机,执行步骤B11;步骤B11.在B10创建的虚拟机上执行所述测试生成模块指定的应用组合,应用组合执行完成后,告知所述信息采集模块采集性能数据并执行步骤B12;步骤B12.关闭并删除步骤B10创建的所有虚拟机,告知所述测试生成模块已执行完成应用组合。5.如权利要求1所述的虚拟化技术的自动决策系统,其特征在于,所述数据处理模块具体包括:步骤C1.对每个虚拟化技术执行步骤C2与C4,完成后执行步骤C7;步骤C2.对每个应用执行步骤C3;步骤C3.计算步骤C2指定的应用在步骤C1指定的虚拟化技术提供的虚拟化环境下的虚拟机上进行执行的性能数据,与在非虚拟化环境下执行的性能数据的比值,获得完成相应应用的虚拟化技术的虚拟化因子;步骤C4.对每个应用组合执行步骤C5;步骤C5.对步骤C4的应用组合中的每个应用执行步骤C6;步骤C6.对步骤C5指定的应用计算干扰因子;步骤C7.对每个虚拟化技术执行步骤C8,完成后执行步骤C9;步骤C8.对所有应用的虚拟化因子与所有干扰因子...

【专利技术属性】
技术研发人员:王博宋莹孙毓忠
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1