虚拟化资源的分配和调度方法及系统与流程

文档序号:11216063阅读:2263来源:国知局
虚拟化资源的分配和调度方法及系统与流程

本发明涉及一种虚拟化资源聚合技术,特别是涉及一种虚拟化资源的分配和调度方法及系统。



背景技术:

在云计算领域,虚拟化和效用计算的引入,给云计算的应用和发展带来了更多的机会,同时也提出了更多和更高的挑战。由于云计算中软硬件和网络应用的多样性和丰富性、网络应用的负载的实时动态变化性和人工管理复杂系统的限制性,给虚拟化云计算的控制和管理带来了新的问题。

而目前本领域中并没有对多个云环境进行综合效能评估的机制,且无法根据云环境实际运行效能和资源使用情况,在多个云环境之间对虚拟机(资源实例)进行资源统一分配和调度的决策,这些成为了制约运计算系统发展的一个主要因素。



技术实现要素:

因此,本发明的目的在于提供一种虚拟化资源的分配和调度方法及系统,其可对云环境进行实时监控,并可通过对多个云环境的进行效能评估,实现在多个云环境之间进行虚拟化资源的调度和管理。

为了实现上述目的,本发明提供一种虚拟化资源的分配和调度方法,其特点在于,该方法应用于多个云环境中,该方法包括:

(a)监测并获取每一所述云环境的云环境参数;

(b)获取一资源请求,根据所述云环境参数与所述资源请求形成一虚拟化资源的分配和调度决策,以将所述资源请求分配至符合所述资源请求的云环境中。

在本发明的一实施例中,在步骤(b)中,所述根据所述云环境参数与所述资源请求形成一虚拟化资源的分配和调度决策的步骤是将所述资源请求与 所述云环境参数、和/或通过对所述云环境参数进行计算获得的云环境指标进行适配,从而获得符合所述资源请求的云环境,并形成所述虚拟化资源的分配和调度决策。

在本发明的一实施例中,每一所述云环境包括有虚拟机、虚拟化平台及物理资源。

在本发明的一实施例中,所述云环境参数包括以下参数中的至少一种:物理资源的配置参数、物理资源的性能参数、虚拟机的性能参数、虚拟化平台的性能参数、云环境的地理位置参数、资源价格参数。

在本发明的一实施例中,所述物理资源的配置参数至少包括cpu、内存、磁盘、和/或网络的配置参数;所述物理资源的性能参数至少包括物理机的cpu利用率、内存利用率、磁盘i/o负载、和/或网卡流量带宽;所述虚拟机的性能参数至少包括虚拟机的cpu利用率、内存利用率、磁盘i/o负载、和/或网卡流量带宽。

在本发明的一实施例中,所述云环境参数是通过程序自动采集方式获取,或是通过人工输入方式获取。

在本发明的一实施例中,所述云环境指标至少包括:cpu利用率指标、内存利用率指标、i/o利用率指标、网络使用率指标、资源空闲率指标、和/或系统运行异常指标;其中,所述cpu利用率指标是通过对每一所述云环境内的所有物理机和虚拟机的cpu利用率进行综合计算获得;所述内存利用率指标是通过对每一所述云环境内的所有物理机和虚拟机的内存利用率进行综合计算获得;所述i/o利用率指标是通过对每一所述云环境内的所有物理机和虚拟机的i/o利用率进行综合计算获得;所述网络使用率指标是通过对每一所述云环境内的所有物理机和虚拟机的网络利用率进行综合计算获得;所述资源空闲率指标是通过对每一所述云环境内的所有物理机和虚拟机的cpu、内存、i/o、网络空闲资源进行综合计算获得;所述系统运行异常指标是通过对每一所述云环境内的所有物理机和虚拟机的运行异常数据进行综合计算获得。

在本发明的一实施例中,在步骤(b)中是通过淘汰方式和/或指标方式进行适配,以获得符合所述资源请求的云环境。

在本发明的一实施例中,在步骤(b)中,是先判断所述资源请求要求的云环境数量,如果要求的云环境数量是单个,则通过淘汰方式对备选云环境进 行适配以获得单个最佳云环境作为符合所述资源请求的云环境,或通过指标方式对备选云环境进行适配以获得综合评价最高的云环境作为符合所述资源请求的云环境;如果要求的云环境数量是多个,则通过指标方式对备选云环境进行适配获得综合评价排名最高的前n个云环境作为符合所述资源请求的云环境。

在本发明的一实施例中,所述淘汰方式是采用动态匹配规则,直接根据所述云环境参数和/或所述云环境指标对备选云环境进行匹配,如果备选云环境满足一条件,则被淘汰掉,否则进入下一条规则进行匹配;并且,当剩余一个云环境时,停止后面的规则匹配,所述剩余一个云环境作为所述单个最佳云环境,如果全部规则匹配完成还没有确定唯一的云环境,则返回当前排序状态下的第一个云环境作为所述单个最佳云环境。

在本发明的一实施例中,所述指标方式是通过对备选云环境的所述云环境参数和/或所述云环境指标进行分析和评估,并对评估结果进行比较和排序,综合评价排名最高的前n个云环境作为符合所述资源请求的云环境。

为了实现上述目的,本发明还提供一种虚拟化资源的分配和调度系统,其特点在于,包括:

监测和数据获取单元,用于监测并获取每一所述云环境的云环境参数,以及获取资源请求;

分析评估单元,与所述监测和数据获取单元连接,用于对所述云环境参数进行计算以获得每一所述云环境的云环境指标;

调度管理单元,与所述分析评估单元连接,用于根据所述资源请求与所述云环境参数、和/或所述云环境指标进行适配,形成一虚拟化资源的分配和调度决策,以将所述资源请求分配至符合所述资源请求的云环境中。

通过本发明,能够随时监测云环境的资源和运行状况。并且,通过对云环境的监测和数据收集,可以实现对云环境的效能评估,而通过云环境的效能评估方式,可实现在多个云环境之间进行虚拟化资源的分配和调整的决策机制。

通过本发明,一方面,当某个云环境出现资源不足时,可以将新的资源请求自动调配到其它资源充足的云环境中,从而为异地和异构的云环境的资源整合提供可能。另一方面,也可以根据用户的资源请求,例如成本要求、性能要求、稳定性要求等,自动适配最佳的云环境,为客户创建虚拟机(资源实例), 从而不仅可为用户提供最佳性价比的虚拟化产品,而且能避免资源浪费或不足。

附图说明

为让本发明的上述和其他目的、特征、优点与实施例能更明显易懂,所附附图的说明如下:

图1为本发明的虚拟化资源分配和调度方法示意图;

图2为本发明的虚拟化资源分配和调度方法的一较佳实施例的示意图;

图3为本发明中通过淘汰方式进行适配的逻辑示意图;

图4为本发明的虚拟化资源分配和调度系统的结构示意图。

具体实施方式

下文是举实施例配合所附附图作详细说明,但所提供的实施例并非用以限制本发明所涵盖的范围。

如图1所示,本发明的虚拟化资源的分配和调度方法是应用于多个云环境中,该方法包括:

(a)监测并获取每一云环境的云环境参数;

(b)获取一资源请求,根据所述云环境参数与所述资源请求形成一虚拟化资源的分配和调度决策,以将所述资源请求分配至符合所述资源请求的云环境中。

其中,在步骤(a)中,是对所有云环境进行全面监测,并可根据需要来获取相应的云环境参数。在本发明一实施例中,所获取的云环境参数可以包括以下参数中的至少一种:物理资源的配置参数、物理资源的性能参数、虚拟机的性能参数、虚拟化平台的性能参数、云环境的地理位置参数、资源价格参数。

所述物理资源的配置参数至少包括cpu的配置参数(例如cpu的核心数、主频等)、内存的配置参数(例如内存大小等)、磁盘的配置参数(例如磁盘大小、磁盘接口类型、磁盘i/o物理指标等)、和/或网络的配置参数(例如网卡带宽、网络接入带宽等)等硬件配置参数。

所述物理资源的性能参数至少包括物理机的cpu利用率、内存利用率、磁盘i/o负载、和/或网卡流量带宽等参数。

所述虚拟机的性能参数至少包括虚拟机的cpu利用率、内存利用率、磁盘i/o负载、和/或网卡流量带宽等参数。

在本发明其它实施例中,所述云环境参数还可以包括其它参数,这同样并不作为对本发明的限制。并且,在本发明中,所述云环境参数可以是通过程序自动采集方式获取,例如所述物理资源的配置参数、物理资源的性能参数、虚拟机的性能参数、虚拟化平台的性能参数等,或是通过人工输入方式获取,例如所述云环境的地理位置参数、资源价格参数等。

其中,在步骤(b)中,所述根据所述云环境参数与所述资源请求形成一虚拟化资源的分配和调度决策的步骤是将所述资源请求与所述云环境参数、和/或通过对所述云环境参数进行计算获得的云环境指标进行适配,从而获得符合所述资源请求的云环境,并形成所述虚拟化资源的分配和调度决策。

在本发明中,通过一算法对所述云环境参数进行计算,可以获得每一云环境的云环境指标。在一实施例中,所述云环境指标例如可至少包括:cpu利用率指标、内存利用率指标、i/o利用率指标、网络使用率指标、资源空闲率指标、和/或系统运行异常指标等。在其它实施例中,所述云环境指标还可包括每一个云环境的整体指标,其可通过对上述各个云环境指标进行加权计算获得,例如性价比整体指标等。

其中,所述cpu利用率指标是通过对每一所述云环境内的所有物理机和虚拟机的cpu利用率进行综合计算获得。所述内存利用率指标是通过对每一所述云环境内的所有物理机和虚拟机的内存利用率进行综合计算获得。所述i/o利用率指标是通过对每一所述云环境内的所有物理机和虚拟机的i/o利用率进行综合计算获得。所述网络使用率指标是通过对每一所述云环境内的所有物理机和虚拟机的网络利用率进行综合计算获得。所述资源空闲率指标是通过对每一所述云环境内的所有物理机和虚拟机的cpu、内存、i/o、网络空闲资源进行综合计算获得。所述系统运行异常指标是通过对每一所述云环境内的所有物理机和虚拟机的运行异常数据进行综合计算获得。在本发明中,计算所述云环境指标所采用的算法为已知算法,在此不再赘述。

在本发明中,步骤(b)中的所述资源请求是来源于用户,其包括多个预设条件,例如要求的云环境数量、成本要求、性能要求、稳定性要求等。根据不同的资源请求,可以采用不同方法来进行适配。例如,可以直接根据所述资 源请求与所述云环境参数进行适配,也可以根据所述资源请求与通过对所述云环境参数进行计算获得的云环境指标进行适配,或者是根据所述资源请求与所述云环境参数和所述云环境指标进行适配。在一实施例中,所述资源请求的预设条件可以分为两种类型:一种为筛选型预设条件,即直接根据云环境参数,就能选择出符合条件的云环境,例如云环境的地理位置参数、资源价格参数等;另一种为比较型预设条件,即通过对云环境参数和/或云环境指标进行分析评估,并对评估结果进行比较和排序,从而得出符合条件的云环境,例如性价比等。

在本发明的一实施例中,所述步骤(b)中是通过淘汰方式和/或指标方式进行适配,以获得符合所述资源请求的云环境。所述淘汰方式、指标方式的具体方法将在后文进行详细描述。而在其它实施例中,本领域技术人员可以通过其它方式来进行适配,以获得符合所述资源请求的云环境,这些并不作为对本发明的限制。

在本发明的另一实施例中,在步骤(b)中,是先判断所述资源请求要求的云环境数量。如果要求的云环境数量是单个,则通过淘汰方式对备选云环境进行适配以获得单个最佳云环境作为符合所述资源请求的云环境,或通过指标方式对备选云环境进行适配以获得综合评价最高的云环境作为符合所述资源请求的云环境。如果要求的云环境数量是多个,则通过指标方式对备选云环境进行适配获得综合评价排名最高的前n个云环境作为符合所述资源请求的云环境。

如图2所示,其示出了本发明的虚拟化资源的分配和调度方法的一个较佳实施例,其中:

当获取到一个新的资源请求时,先判断该资源请求要求的云环境数量。

如果要求的云环境数量为单个云环境,则判断该资源请求中是否包含比较型预设条件。如果包含比较型预设条件,则先进一步判断是否包含筛选型预设条件;若包含筛选型预设条件,则根据所述筛选型预设条件筛选云环境以获得备选云环境,否则认为所有云环境皆为备选云环境;之后,即可通过指标方式对备选云环境进行分析评估,并根据所述比较型预设条件对云环境指标进行选择,从而获得综合评价最高的云环境作为符合所述资源请求的云环境。如果不包含比较型预设条件,则先进一步判断是否包含筛选型预设条件;若包含筛选 型预设条件,则根据所述筛选型预设条件筛选云环境以获得备选云环境,否则认为所有云环境皆为备选云环境;之后,即可通过淘汰方式对备选云环境进行分析评估,从而获得单个最佳云环境作为符合所述资源请求的云环境。

如果要求的云环境数量为允许多个云环境,则可先进一步判断该资源请求中是否包含筛选型预设条件。如果包含筛选型预设条件,则根据所述筛选型预设条件筛选云环境以获得备选云环境,并通过指标方式对备选云环境进行分析评估;否则认为所有云环境皆为备选云环境,可直接通过指标方式对备选云环境进行分析评估;之后,再进一步判断该资源请求中是否还包含筛选型预设条件,如果包含筛选型预设条件,则根据所述筛选型预设条件和云环境指标进行选择,否则直接根据云环境指标进行选择;最终,综合评价排名最高的前n个云环境作为符合所述资源请求的云环境。

在本发明中,所述淘汰方式是采用动态匹配规则,直接根据所述云环境参数和/或所述云环境指标对备选云环境进行匹配,如果备选云环境满足一条件,则被淘汰掉,否则进入下一条规则进行匹配;并且,当剩余一个云环境时,停止后面的规则匹配,所述剩余一个云环境作为所述单个最佳云环境,如果全部规则匹配完成还没有确定唯一的云环境,则返回当前排序状态下的第一个云环境作为所述单个最佳云环境。

在一实施例中,上述匹配规则的顺序可为:物理资源超限状况(包括cpu超限状况、内存超限状况、i/o超限状况)、物理资源分配状况(包括cpu分配状况、内存分配状况、i/o分配状况)、物理资源分布状况(包括cpu分布状况、内存分布状况、i/o分布状况)、虚拟机售卖率、资源转化利用率(包括cpu转化利用率、内存转化利用率、i/o转化利用率)、资源最大值(包括cpu最大值、内存最大值、i/o最大值)。

其中,cpu超限状况的匹配方法是:用当前未被淘汰的云环境的cpu利用率的平均值与最高运行等级的阀值进行比较;大于等于阀值,则淘汰;小于阀值,则进行下一条规则匹配。内存超限状况、i/o超限状况的匹配方法与cpu超限状况的匹配方法相同,在此不再赘述。

其中,cpu分配状况的匹配方法是:取当前未被淘汰的云环境的cpu利用率的平均值,根据平均值从小到大进行排序,从第一个值开始进行循环判断,当前位置的值与下一个值的差是否大于等于设定值,如果大于等于,则淘汰后 面所有的环境,如果小于,则判断下一个值,直到循环结束。内存分配状况、i/o分配状况的匹配方法与cpu分配状况的匹配方法相同,在此不再赘述。

其中,cpu分布状况的匹配方法是:取当前未被淘汰的云环境的cpu利用率的方差,根据方差从小到大进行排序,从第一个值开始进行循环判断,当前位置的值与下一个值的差是否大于等于设定值,如果大于等于,则淘汰后面所有的环境,如果小于,则判断下一个值,直到循环结束。内存分布状况、i/o分布状况的匹配方法与cpu分布状况的匹配方法相同,在此不再赘述。

其中,虚拟机售卖率=已售cpu核数/物理环境总核数。虚拟机售卖率的匹配方法是:取当前未被淘汰的云环境的售卖率,根据售卖率从小到大进行排序,从第一个值开始进行循环判断,当前位置的值与下一个值的差是否大于等于设定值,如果大于等于,则淘汰后面所有的环境,如果小于,则判断下一个值,直到循环结束。

其中,资源转化利用率=虚拟机使用的资源总和/物理资源总和。内存利用率的匹配方法是:取当前未被淘汰的云环境的内存转化率,根据内存转化率从小到大进行排序,从第一个值开始进行循环判断,当前位置的值与下一个值的差是否大于等于设定值,如果大于等于,则淘汰后面所有的环境,如果小于,则判断下一个值,直到循环结束。cpu转化利用率、i/o转化利用率的匹配方法与内存转化利用率的匹配方法相同,在此不再赘述。

其中,cpu最大值的匹配方法是:取当前未被淘汰的云环境的cpu利用率的最大值,根据最大值从小到大进行排序,从第一个值开始进行循环判断,当前位置的值与下一个值的差是否大于等于设定值,如果大于等于,则淘汰后面所有的环境,如果小于,则判断下一个值,直到循环结束。内存最大值、i/o最大值的匹配方法与cpu最大值的匹配方法相同,在此不再赘述。

如图3所示,示出了本发明中通过淘汰方式进行适配的逻辑过程。通过此逻辑过程,按照上述匹配规则的顺序对每一个备选云环境进行适配,即可最终获得所述单个最佳云环境。

在本发明中,所述指标方式是通过对备选云环境的所述云环境参数和/或所述云环境指标进行分析和评估,并对评估结果进行比较和排序,综合评价排名最高的前n个云环境作为符合所述资源请求的云环境。其中,进行分析和评估时可采用一些已知算法对所述云环境指标进行计算,并对计算结果进行比 较和排序。

相应地,如图4所示,本发明的虚拟化资源的分配和调度系统包括:

监测和数据获取单元,用于监测并获取每一云环境的云环境参数,以及获取资源请求;

分析评估单元,与所述监测和数据获取单元连接,用于对所述云环境参数进行计算,获得每一云环境的云环境指标;

调度管理单元,与所述分析评估单元连接,用于根据所述资源请求与所述云环境参数、和/或所述云环境指标进行适配,形成一虚拟化资源的分配和调度决策,以将所述资源请求分配至符合所述资源请求的云环境中。

在本发明中,所述监测和数据获取单元所获取的云环境参数不仅包括每一云环境的原始数据,例如物理机cpu、虚拟机cpu等数据,还包括经所述分析评估单元计算后得到的数据,例如物理机的cpu利用率、虚拟机的cpu利用率等数据。而所述分析评估单元则主要是对所获取的数据进行分析和评估,例如利用不同算法进行计算,以获得所述调度管理单元进行适配所需的不同数据。

在图2中,所述监测和数据获取单元是监测两个云环境,即云环境a和云环境b。而每一云环境a、b均包括有虚拟机(即资源实例)、虚拟化平台(例如:kvm,xen)及物理资源,其中虚拟机中包括有计算资源、存储资源以及网络资源等。虽然在图2中示出的是两个云环境,但是,可以理解的是,所述云环境的数量并不局限于两个,其可以任何数量的云环境,这些并不作为对本发明的限制。

通过本发明,能够随时监测云环境的资源和运行状况。并且,通过对云环境的监测和数据收集,可以实现对云环境的效能评估,而通过云环境的效能评估方式,可实现在多个云环境之间进行虚拟化资源的分配和调整的决策机制。

并且,通过本发明,一方面,当某个云环境出现资源不足时,可以将新的虚拟机(资源实例)创建需求,自动调配到其它资源充足的云环境上,从而为异地和异构云环境的资源整合提供可能。另一方面,也可以根据用户需求(例如成本要求,性能要求,稳定性要求等),自动适配最佳云环境,为客户创建虚拟机(资源实例),从而不仅可为用户提供最佳性价比的虚拟化产品,而且能避免资源浪费或不足。

虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视所附的权利要求书所界定的范围为准。

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