虚拟资源调度方法、装置及系统与流程

文档序号:12133649阅读:573来源:国知局
虚拟资源调度方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种虚拟资源调度方法、装置及系统。



背景技术:

目前在通信行业,政府,企事业单位的信息技术(IT)部门,随着信息化程度的提高,计算资源的规模越来越庞大,直接将各种业务应用部署在硬件主机上,不仅工作量越来越大,管理也越来越困难。而云计算的出现,使得各种应用可以统一的部署在云上,不仅屏蔽了各种底层硬件的差异,管理也越来越简单,并且虚拟化管理系统可以根据业务应用的运行情况,对虚拟资源进行动态的控制。特别是在电信行业,专用的网络设备成本高,维护复杂,能耗高,且设备提供的业务功能单一,而借助云计算的力量,则可以实现资源的灵活配置,降低各项成本。

目前的动态调度方法,一般根据操作系统指标,例如,操作系统的CPU、内存、磁盘I/O、网络带宽或系统访问量等指标来控制虚拟资源的伸缩,不足之处在于都只是间接的通过CPU、内存、访问量等指标来反映操作系统的处理能力,并独立的使用这些数据作为资源调度的依据,而该操作系统上的业务系统的性能只能被动感知;然而,虽然操作系统的处理能力能够从一定程度上反映业务系统的性能,但是这种相关程度并不是绝对的。例如,在操作系统分配给业务系统的磁盘资源少的情况下,业务系统可能已经出现了磁盘资源不足的情况,然而操作系统的磁盘资源并没有出现不足的情况。可见,相关技术中的资源调度方案无法保障业务系统的性能。

在虚拟资源的动态伸缩方面,相关技术中的虚拟资源管理系统与业务系统没有交互;相关技术虽然一定程度上解决了系统对资源的伸缩需求,但是对于业务逻辑较复杂的系统,则不能对业务单元做太多的干预操作,当业务单元之间有逻辑关系时,就不能满足业务单元之间的协调运行。

在电信行业,依据欧洲电信标准协会(ETSI)提出的网络功能虚拟化(Network Function Virtualization,简称为NFV)标准,借助基础资源虚拟化,软件定义网络(Software Defined Network,简称为SDN)等虚拟化技术,工业界已经实现了电信网元等资源的虚拟化运作。NFV架构可以作为通用的云计算虚拟资源管理架构,所有基于虚拟机的管理模型都可以对应到NFV架构中来。

在NFV架构下的我们可以通过虚拟化基础设施管理器(Virtualized Infrastructure Manager,简称为VIM)获取系统性能数据,由NFV调用性能上报接口给虚拟化网络功能管理器(Virtualized Network Function Manager,简称为VNFM),VNFM根据收集到 的虚拟化网络功能(Virtualized Network Function,简称为VNF)的性能数据来做业务调度。

发明人经过研究发现,由于VIM上报给VNFM的数据只能获取操作系统级别的性能指标比如CPU、部分系统的内存使用率、磁盘I/O,对于VNF应用系统层面的资源性能指标信息不能获取,比如磁盘使用率,所有系统的内存使用率,带宽使用率,VNF相应网元的业务量、接通率等特殊使用率;那么,如果根据VIM获取的性能数据来作为VNF调度判定,同样存在无法保障业务系统的性能的问题。

针对相关技术中单独根据操作系统级别的性能指标进行VNF的虚拟资源调度无法保障业务系统的性能的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种虚拟资源调度方法、装置及系统,以至少解决单独根据操作系统级别的数据进行VNF的虚拟资源调度无法保障业务系统的性能的问题。

根据本发明的一个方面,提供了一种虚拟资源调度方法,包括:获取与虚拟化网络功能VNF相关的性能数据;根据所述性能数据,确定所述VNF的虚拟资源的调度策略;根据所述调度策略,对所述虚拟资源执行调度操作。

可选地,所述性能数据包括以下至少之一:系统性能数据、业务指标数据;其中,所述系统性能数据是用于衡量部署所述VNF的虚拟资源的性能的量化数据;所述业务指标数据是用于衡量所述VNF的业务系统的业务特性的量化数据。

可选地,所述系统性能数据包括:由所述VNF采集并上报的系统性能数据;由虚拟化基础设施管理器VIM采集并上报的系统性能数据。

可选地,根据所述性能数据,确定所述VNF的虚拟资源的所述调度策略包括:汇总由所述VNF采集并上报的系统性能数据和由所述VIM采集并上报的系统性能数据;根据所述业务指标数据和汇总后的所述系统性能数据,确定所述VNF的虚拟资源的所述调度策略。

可选地,汇总由所述VNF采集并上报的系统性能数据和由所述VIM采集并上报的系统性能数据包括:对于从所述VNF和从所述VIM都能够采集到的系统性能数据以从所述VNF或者从所述VIM采集的系统性能数据为准;或者对于从所述VNF和从所述VIM都能够采集到的系统性能数据按加权平均算法进行汇总处理。

可选地,所述业务指标数据包括以下至少之一:在单位时间内的业务处理量,和/或,其他与业务特性相关的性能数据;所述系统性能数据包括以下至少之一:中央处理器CPU利用率、内存利用率、磁盘写入/读出性能指标、剩余磁盘空间、网络带宽利用率、网络负载、网卡包丢失率。

可选地,在获取与所述VNF相关的所述性能数据之前,所述方法还包括:发送订阅信息至所述VNF,其中,所述订阅信息用于订阅所述性能数据的一个或多个,并设置所述性能数据的上报周期。

可选地,所述订阅信息,还用于设置上报所述性能数据的触发门限和持续时长。

可选地,在发送所述订阅信息至所述VNF之后,所述方法还包括:所述VNF接收所述订阅信息;在所述性能数据超过所述触发门限的持续时间超过所述持续时长的情况下,所述VNF上报所述性能数据。

可选地,所述VNF上报所述性能数据的上报周期与虚拟化基础设施管理器VIM上报系统性能数据的上报周期相同。

可选地,对所述虚拟资源执行调度操作包括:发送预调度通知至所述VNF,其中,所述预调度通知用于指示将对所述虚拟资源执行调度操作;在接收到预调度确认响应的情况下,对所述虚拟资源执行调度操作,其中,所述预调度确认响应用于指示所述VNF已完成与所述虚拟资源的调度操作相关的业务处理,允许虚拟化系统执行资源伸缩操作。

可选地,在对所述虚拟资源执行调度操作之后,所述方法还包括:发送调度完成确认通知至所述VNF,其中,所述调度完成确认通知用于指示已完成对所述虚拟资源的调度操作。

可选地,在所述调度操作包括:增加虚拟资源或者变更虚拟资源的情况下,在对所述虚拟资源执行调度操作之前,所述方法还包括:接收虚拟化基础设施管理器VIM上报的物理机的物理机系统性能数据;选择所述物理机系统性能数据满足所述调度操作要求的第一物理机作为新增的虚拟资源或者变更的虚拟资源的宿主机。

可选地,根据所述性能数据,确定所述VNF的虚拟资源的所述调度策略包括:根据所述性能数据,计算所述VNF的性能指标;查询与所述性能指标对应的预设调度策略,其中,所述预设调度策略用于指示在所述性能指标的情况下,应执行的调度操作。

可选地,通过下列公式计算所述性能指标:所述性能指标其中,wi表示所述VNF的第i个性能数据的预设指标权重、hi表示所述VNF的第i个性能数据的值、si表示在所述VNF满负荷运行时第i个性能数据的值。

根据本发明的另一个方面,还提供了一种虚拟资源调度装置,包括:获取模块,用于获取与虚拟化网络功能VNF相关的性能数据;确定模块,用于根据所述性能数据,确定所述VNF的虚拟资源的调度策略;执行模块,用于根据所述调度策略,对所述虚拟资源执行调度操作。

可选地,所述性能数据包括以下至少之一:系统性能数据、业务指标数据;其中,所述系统性能数据是用于衡量部署所述VNF的虚拟资源的性能的量化数据;所述业务 指标数据是用于衡量所述VNF的业务系统的业务特性的量化数据。

可选地,所述系统性能数据包括:由所述VNF采集并上报的系统性能数据;由虚拟化基础设施管理器VIM采集并上报的系统性能数据。

可选地,所述确定模块包括:汇总单元,用于汇总由所述VNF采集并上报的系统性能数据和由所述VIM采集并上报的系统性能数据;确定单元,用于根据所述业务指标数据和汇总后的所述系统性能数据,确定所述VNF的虚拟资源的所述调度策略。

可选地,所述汇总单元用于:对于从所述VNF和从所述VIM都能够采集到的系统性能数据以从所述VNF或者从所述VIM采集的系统性能数据为准;或者对于从所述VNF和从所述VIM都能够采集到的系统性能数据按加权平均算法进行汇总处理。

可选地,所述业务指标数据包括以下至少之一:在单位时间内的业务处理量,和/或,其他与业务特性相关的性能数据;所述系统性能数据包括以下至少之一:中央处理器CPU利用率、内存利用率、磁盘写入/读出性能指标、剩余磁盘空间、网络带宽利用率、网络负载、网卡包丢失率。

可选地,所述装置还包括:第一发送模块,用于发送订阅信息至所述VNF,其中,所述订阅信息用于订阅所述性能数据的一个或多个,并设置所述性能数据的上报周期。

可选地,所述订阅信息,还用于设置上报所述性能数据的触发门限和持续时长。

可选地,所述VNF上报所述性能数据的上报周期与虚拟化基础设施管理器VIM上报系统性能数据的上报周期相同。

可选地,所述执行模块包括:发送单元,用于发送预调度通知至所述VNF,其中,所述预调度通知用于指示将对所述虚拟资源执行调度操作;执行单元,用于在接收到预调度确认响应的情况下,对所述虚拟资源执行调度操作,其中,所述预调度确认响应用于指示所述VNF已完成与所述虚拟资源的调度操作相关的业务处理,允许虚拟化系统执行资源伸缩操作。

可选地,所述装置还包括:第二发送模块,用于发送调度完成确认通知至所述VNF,其中,所述调度完成确认通知用于指示已完成对所述虚拟资源的调度操作。

可选地,所述装置还包括:接收模块,用于在所述调度操作包括增加虚拟资源或者变更虚拟资源的情况下,接收虚拟化基础设施管理器VIM上报的物理机的物理机系统性能数据;选择模块,用于选择所述物理机系统性能数据满足所述调度操作要求的第一物理机作为新增的虚拟资源或者变更的虚拟资源的宿主机。

可选地,所述确定模块包括:计算单元,用于根据所述性能数据,计算所述VNF的性能指标;查询单元,用于查询与所述性能指标对应的预设调度策略,其中,所述预设调度策略用于指示在所述性能指标的情况下,应执行的调度操作。

可选地,所述计算单元通过下列公式计算所述性能指标:所述性能指标其中,wi表示所述VNF的第i个性能数据的预设指标权重、hi表示所述VNF的第i个性能数据的值、si表示在所述VNF满负荷运行时第i个性能数据的值。

根据本发明的另一个方面,还提供了一种虚拟资源调度系统,所述系统包括:虚拟化基础设施管理器VNFM和虚拟化网络功能VNF,其中,所述VNFM与所述VNF连接,所述VNFM包括上述的虚拟资源调度装置。

可选地,所述系统还包括:虚拟化基础设施管理器VIM,其中,所述VIM与所述VNFM连接,所述VIM用于采集并上报所述VNF的系统性能数据。

通过本发明,采用获取与虚拟化网络功能(VNF)相关的性能数据;根据性能数据,确定VNF的虚拟资源的调度策略;根据调度策略,对虚拟资源执行调度操作的方式,解决了单独根据操作系统级别的性能指标进行VNF的虚拟资源调度无法保障业务系统的性能的问题,保障了业务系统的性能及稳定性。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的虚拟资源调度方法的流程图;

图2是根据本发明实施例的虚拟资源调度装置的结构框图;

图3是根据本发明实施例的虚拟资源调度装置的优选结构示意图一;

图4是根据本发明实施例的虚拟资源调度装置的优选结构示意图二;

图5是根据本发明实施例的虚拟资源调度装置的优选结构示意图三;

图6是根据本发明实施例的虚拟资源调度装置的优选结构示意图四;

图7是根据本发明实施例的虚拟资源调度装置的优选结构示意图五;

图8是根据本发明实施例的虚拟资源调度装置的优选结构示意图六;

图9是根据本发明优选实施例的NFV构架的结构示意图;

图10是根据本发明优选实施例的虚拟资源调度方法的流程图;

图11是根据本发明优选实施例的通用虚拟化云管理系统中的虚拟资源调度方法的流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种虚拟资源调度方法,图1是根据本发明实施例的虚拟资源调度方法的流程图,如图1所示,该流程包括如下步骤:

步骤S102,获取与虚拟化网络功能VNF相关的性能数据;

步骤S104,根据性能数据,确定VNF的虚拟资源的调度策略;

步骤S106,根据调度策略,对虚拟资源执行调度操作。

通过上述步骤,根据与VNF相关的性能数据确定调度策略,进而根据该调度策略执行对VNF的虚拟资源的调度操作;例如,性能数据可以是系统性能数据,也可以是业务指标数据,并且,系统性能数据可以从VNF直接获取也可以从VIM获取,与VNF相关的性能数据可以反映业务系统的处理能力,因此,解决了VNF根据单一类型数据进行VNF的虚拟资源调度无法保障业务系统的性能的问题,保障了业务系统的性能及稳定性。

可选地,上述步骤可以由VNFM或者NFVO来执行,或者在VNFM和NFVO上分别执行其中的一部分和另一部分操作。另外,由NFV架构中的其他管理实体执行上述步骤也是可以被设想的。

可选地,性能数据包括但不限于以下至少之一:系统性能数据、业务指标数据;其中,系统性能数据是用于衡量部署VNF的虚拟资源的性能的量化数据;业务指标数据是用于衡量VNF的业务系统的业务特性的量化数据。

可选地,系统性能数据包括:由VNF采集并上报的系统性能数据;由虚拟化基础设施管理器VIM采集并上报的系统性能数据。

由于系统性能数据可以从VNF采集,也可以从VIM采集,因此,在步骤S104中,可以汇总由VNF采集并上报的系统性能数据和由VIM采集并上报的系统性能数据;进而根据业务指标数据和汇总后的系统性能数据,确定VNF的虚拟资源的调度策略。

另外,考虑到从VNF采集到的系统性能数据和从VIM采集到的系统性能数据可能是相同类型的系统性能数据,因此,在进行系统性能数据汇总时,至少可以采用以下两种方式:

方式1,对于从VNF和从VIM都能够采集到的系统性能数据以从VNF或者从VIM采集的系统性能数据为准;

方式2,对于从VNF和从VIM都能够采集到的系统性能数据按加权平均算法进行汇总处理。

上述的系统性能数据和业务指标数据用来表示VNF的业务系统的业务处理性能,能够表示业务处理性能的参数有很多,并且根据VNF的业务类型,关注的业务处理性能的参数也有可能不同。例如,业务指标数据包括但不限于以下至少之一:在单位时间内的业务处理量,和/或,其他与业务特性相关的性能数据;系统性能数据包括但不限于以下至少之一:中央处理器CPU利用率、内存利用率、磁盘写入/读出性能指标、剩余磁盘空间、网络带宽利用率、网络负载、网卡包丢失率。这些业务指标数据均是量化的数据。

可选地,在步骤S102中,从VNF获取到的业务指标数据和系统性能数据是由VNF定期或者不定期上报的;虽然VIM也可以上报系统性能数据,但是VIM的上报周期VNF无法进行控制;而通过VNF上报业务指标数据和系统性能数据则可以做到业务指标数据和系统性能数据的同时上报,例如,在VNF的同一上报周期中同时上报业务指标数据和系统性能数据,就能实现业务指标数据和系统性能数据的同时上报,这样避免了VNFM或者NFVO通过VNF获取的业务指标数据和通过VIM获取系统性能数据不同步导致的调度策略选择偏差的问题。

可选地,系统性能数据的上报周期与业务指标数据的上报周期相同,或者业务指标数据的上报周期为系统性能数据上报周期的整数倍。

这样,在获取虚拟化网络功能VNF的系统性能数据和业务指标数据之前,还可以发送订阅信息至VNF,其中,订阅信息用于订阅性能数据的一个或多个,并设置性能数据的上报周期。通过上述方式,可以对需要关注的性能数据进行个性化订阅。

可选地,订阅信息还用于设置上报性能数据的触发门限和持续时长。

可选地,在设置了VNF上报性能数据的触发门限和持续时长之后,可选地,在发送订阅信息至VNF之后,VNF接收订阅信息;在性能数据超过触发门限的持续时间超过持续时长的情况下,VNF上报性能数据。通过上述方式,避免了实时上报性能数据导致的系统资源的大量占用。

可选地,在步骤S106中进行虚拟资源的调度操作时,可以发送预调度通知至VNF,其中,预调度通知用于指示将对虚拟资源执行调度操作;并在接收到预调度确认响应的情况下,对虚拟资源执行调度操作,其中,预调度确认响应用于指示VNF已完成与虚拟资源的调度操作相关的业务处理,允许虚拟化系统执行资源伸缩操作。通过上述方式,提供了一种在调度前进行通知的方式,可以保障VNF上业务的正常执行,避免由于虚拟资源调度导致的业务中断或者异常。

可选地,在对虚拟资源执行调度操作之后,还可以发送调度完成确认通知至VNF, 其中,调度完成确认通知用于指示已完成对虚拟资源的调度操作。通过上述方式,使得VNF能够感知到虚拟资源调度的完成情况,进而进行后续处理,例如,VNF在接收到调度完成确认通知后开始利用新分配的虚拟资源执行业务操作。

可选地,物理机的性能指标可以由VIM上报,在一些增加虚拟资源(例如,虚机上电、新增虚机等操作)或者变更虚拟资源(例如虚机迁移)的情况下,则需要考虑物理机的选择问题。一般而言,选择的物理机至少要能够提供足够的虚拟资源以供虚机上电、新增虚机或者虚机迁移使用。例如,在步骤S106之前,VNFM可以接收虚拟化基础设施管理器VIM上报的物理机的物理机系统性能数据;VNFM选择物理机系统性能数据满足调度操作要求的第一物理机作为新增的虚拟资源或者变更的虚拟资源的宿主机。此外,可以在调度操作中选择资源使用率低的物理机作为新增的虚拟资源或者变更的虚拟资源的宿主机。

可选地,在步骤S104中,在确定调度策略时,一般的做法是采用加权方式计算性能数据的权重值,进而,根据计算出来的权重值选择对应于这个权重值的调度策略。性能数据的权重可以根据需要进行设置,例如,在更关注某个VNF的业务性能的情况下,可以将这个业务指标数据的权重设置得更大一些。

可选地,步骤S104中,可以根据业务指标数据和系统性能数据,计算VNF的业务性能指标;查询与业务性能指标对应的预设调度策略,其中,预设调度策略用于指示在业务性能指标的情况下,应执行的调度操作。这些调度操作包括:虚机上电、下电、伸缩CPU、伸缩内存、扩展磁盘、新建虚机、删除虚机,迁移虚机等。预设调度策略可以根据业务需要分别进行配置。

可选地,可以通过下列公式计算业务性能指标:业务性能指标其中,wi表示VNF的第i个指标数据的预设指标权重、hi表示VNF的第i个指标数据的值、si表示在VNF满负荷运行时第i个指标数据的值;指标数据包括:业务指标数据和系统性能数据。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

在本实施例中还提供了一种虚拟资源调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的虚拟资源调度装置的结构框图,如图2所示,该装置包括:获取模块22、确定模块24和执行模块26,其中,获取模块22,用于获取与虚拟化网络功能VNF相关的性能数据;确定模块24,耦合至获取模块22,用于根据性能数据,确定VNF的虚拟资源的调度策略;执行模块26,耦合至确定模块24,用于根据调度策略,对虚拟资源执行调度操作。

可选地,性能数据包括以下至少之一:系统性能数据、业务指标数据;其中,系统性能数据是用于衡量部署VNF的虚拟资源的性能的量化数据;业务指标数据是用于衡量VNF的业务系统的业务特性的量化数据。

可选地,系统性能数据包括:由VNF采集并上报的系统性能数据;由虚拟化基础设施管理器VIM采集并上报的系统性能数据。

图3是根据本发明实施例的虚拟资源调度装置的可选结构框图一,如图3所示,可选地,确定模块24包括:汇总单元242,用于汇总由VNF采集并上报的系统性能数据和由VIM采集并上报的系统性能数据;确定单元244,耦合至汇总单元242,用于根据业务指标数据和汇总后的系统性能数据,确定VNF的虚拟资源的调度策略。

可选地,汇总单元用于:对于从VNF和从VIM都能够采集到的系统性能数据以从VNF或者从VIM采集的系统性能数据为准;或者对于从VNF和从VIM都能够采集到的系统性能数据按加权平均算法进行汇总处理。

可选地,业务指标数据包括以下至少之一:在单位时间内的业务处理量,和/或,其他与业务特性相关的性能数据;系统性能数据包括以下至少之一:中央处理器CPU利用率、内存利用率、磁盘写入/读出性能指标、剩余磁盘空间、网络带宽利用率、网络负载、网卡包丢失率。

图4是根据本发明实施例的虚拟资源调度装置的可选结构框图二,如图4所示,可选地,装置还包括:第一发送模块42,耦合至VNF,用于发送订阅信息至VNF,其中,订阅信息用于订阅性能数据的一个或多个,并设置性能数据的上报周期。

可选地,订阅信息,还用于设置上报性能数据的触发门限和持续时长。

可选地,VNF上报性能数据的上报周期与虚拟化基础设施管理器VIM上报系统性能数据的上报周期相同。

图5是根据本发明实施例的虚拟资源调度装置的可选结构框图三,如图5所示,可选地,执行模块26包括:发送单元262,耦合至VNF,用于发送预调度通知至VNF,其中,预调度通知用于指示将对虚拟资源执行调度操作;执行单元264,耦合至VNF,用于在接收到预调度确认响应的情况下,对虚拟资源执行调度操作,其中,预调度确认响应用于指示VNF已完成与虚拟资源的调度操作相关的业务处理,允许虚拟化系统执行资源伸缩操作。

图6是根据本发明实施例的虚拟资源调度装置的可选结构框图四,如图6所示,可选地,装置还包括:第二发送模块62,耦合至执行模块26和VNF,用于发送调度完成确认通知至VNF,其中,调度完成确认通知用于指示已完成对虚拟资源的调度操作。

图7是根据本发明实施例的虚拟资源调度装置的可选结构框图五,如图7所示,可选地,装置还包括:接收模块72,耦合至VIM,用于在调度操作包括增加虚拟资源或者变更虚拟资源的情况下,接收虚拟化基础设施管理器VIM上报的物理机的物理机系统性能数据;选择模块74,耦合至接收模块72和执行模块26,用于选择物理机系统性能数据满足调度操作要求的第一物理机作为新增的虚拟资源或者变更的虚拟资源的宿主机。

图8是根据本发明实施例的虚拟资源调度装置的可选结构框图六,如图8所示,可选地,确定模块24包括:计算单元246,用于根据性能数据,计算VNF的性能指标;查询单元248,耦合至计算单元246,用于查询与性能指标对应的预设调度策略,其中,预设调度策略用于指示在性能指标的情况下,应执行的调度操作。

可选地,计算单元通过下列公式计算性能指标:性能指标其中,wi表示VNF的第i个性能数据的预设指标权重、hi表示VNF的第i个性能数据的值、si表示在VNF满负荷运行时第i个性能数据的值。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本实施例还提供了一种虚拟资源调度系统,该系统用于实现上述虚拟资源调度方法。该系统包括:虚拟化基础设施管理器(VNFM)和虚拟化网络功能(VNF),其中,VNFM与VNF连接,VNFM包括上述的虚拟资源调度装置。

可选地,系统还包括:虚拟化基础设施管理器(VIM),其中,VIM与VNFM连接,VIM用于采集并上报VNF的系统性能数据。

本发明的实施例还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

本发明的实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

步骤S102,获取与虚拟化网络功能VNF相关的性能数据;

步骤S104,根据性能数据,确定VNF的虚拟资源的调度策略;

步骤S106,根据调度策略,对虚拟资源执行调度操作。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

为了使本发明实施例的描述更加清楚,下面结合优选实施例进行描述和说明。

本发明优选实施例提供了一种有VNF上报系统性能和业务指标数据,进行虚拟资源动态伸缩的资源调度方法;综合系统性能数据和业务指标数据,确定VNF的虚拟资源的调度策略;根据调度策略,对虚拟资源执行调度操作的方式,解决了单独根据操作系统级别的性能指标,或单独通过业务性能指标进行VNF的虚拟资源调度无法保障业务系统的性能的问题,保障了业务系统的性能。

在NFV架构中,VIM可以上报VNF底层操作系统级的性能数据(CPU、内存、磁盘I/O)给VNFM,但是有的应用层性能数据无法从VIM获取,比如磁盘剩余空间、网络吞吐量、网络延迟、网络使用率、以及VNF自身业务指标数据;并且VNF性能指标数据的上报周期由VNF来动态设置,而VIM的上报周期一般都是统一确定的时间周期。在本发明优选实施例中,VNF可以根据需要调整性能指标数据的上报周期,并且用于调度决策业务性能数据和系统性能数据都可以通过VNF来进行上报,这样就保证了数据在时间维度上的统一,使得业务调度的配置更加灵活性。在本优选实施例中,在调度中还可以参考VIM上报的物理机的性能数据,有利于伸缩的时候选择更合理的宿主机来运行VNF。

本发明优选实施例以NFV构架为例进行描述和说明。图9是根据本发明优选实施例的NFV构架的结构示意图,如图9所示,该NFV构架包括:

网络功能虚拟化基础架构(Network Functions Virtualization Infrastructure,简称为NFVI,包含部署VNF应用所需的软件、硬件(hardware,简称HW)环境)、VIM、VNFM、VNF,还可以包括:网络功能虚拟化协调器(Network Functions Virtualization Orchestrator,简称为NFVO);NFVO可以代替VNFM执行调度操作。

在本发明优选实施例中:

VIM包括以下功能:

1.可以对虚拟资源进行管理。

2.可以执行VNF的伸缩动作。

3.采集宿主机性和客户机的系统性能数据;

VNF包括以下功能:

1.配置相应系统性能数据和业务指标数据的统计周期,上报周期。

2.在预先设置的统计周期内,根据VNF的特性,编写相应方法,生成本周期的业务指标数据和系统性能数据,系统性能数据和业务指标数据包括但不限于:CPU/内存/磁盘占用率,同时还可以考虑磁盘I/O和网络带宽使用率和网络吞吐量,以及特殊VNF网元的特殊性能指标。

3.可以根据VNFM或NVFO的动态伸缩操作指令,对VNF进行处理。如:当关闭一台虚拟机时,可以结束该虚机的业务,由VNFM将此虚拟机的业务转移到其他未关闭虚机进行处理或在其他节点启动新VNF来继续处理业务,保证业务的平滑性。

4.保证满足业务系统最低资源需求,当业务调度中心传来的指令关闭某台虚机,但是关闭该虚机后将造成业务系统所拥有的资源数低于最低资源数时,能拒绝关闭该虚机。

5.可以根据VNFM或NFVO传来的虚拟资源动态伸缩结果,对业务进行处理。如:当扩展一台新虚机时,新的虚机已经启动完毕,且业务系统获取到VFNM或NFVO传来的资源伸缩操作结果,则业务系统可以初始化该虚机的业务,使得该虚机可以与其他虚机一起处理业务。

VNFM或NFVO包括以下功能:

1.VNFM可以保存业务系统上报的系统性能数据和业务指标数据。

2.VNFM接收VNF上报的业务指标数据和系统性能数据。

3.VNFM或NFVO可以创建根据系统性能数据和业务指标数据进行动态伸缩的策略执行机制。

4.可以给传递动态伸缩指令。

5.可以确定虚拟资源动态伸缩结果。

6.可以接受VIM上报的宿主机和客户机的系统性能数据。

基于上述NFV构架,本发明优选实施例提出的根据VNF上报数据进行动态伸缩的调度方法包括如下步骤:

步骤一,业务系统的各个业务单元的业务数据生成模块,根据业务指标生成方法,实时的生成业务指标数据,这些数据反应了业务系统的业务处理能力。同时具备生成系统性能数据能力,上报给VNFM。

步骤二,业务系统的业务指标数据采集模块,对各个业务单元的业务指标数据进行汇总处理生成上报数据,传递给VNFM。

步骤三,VNFM或NFVO判断系统中配置的调度策略是否满足触发条件,如果满足,则根据接口调用VNF做操作前的通知确认流程。调度策略包括设置的业务指标当量和系统能数据指标,系统性能数据指标重点依赖CPU/内存/磁盘占用率,同时考虑磁盘I/O和网络带宽使用率和网络吞吐量。

步骤四,VNF收到伸缩操作前的通知后,VNF内部进行伸缩操作前的预处理。

步骤五,VNF完成伸缩操作前的预处理后,和VNFM或NFVO做操作前的确认。

步骤六,NFVO或VNFM接收到确认后,通知VIM进行资源伸缩操作。

步骤七,VIM完成资源伸缩操作后,VNFM或NFVO通知业务系统完成伸缩

步骤八,VNF收到资源伸缩处理完毕的通知后,将伸缩后的资源变化情况,保存到业务系统中。

在本发明优选实施例中,主动的由业务单元来产生需要关注的系统性能数据和业务指标数据,用于资源动态伸缩触发的条件。配置系统策略综合业务和系统两方面的性能指标来综合判定伸缩,同时在VNF上报磁盘I/O和网络吞吐和使用率等数据来进行系统预警性伸缩,确保系统各个纬度的稳定可靠。

此外,在本发明优选实施例中还提供了虚拟资源伸缩前后进行通知、确认的方法,使得业务系统,可以更灵活的控制虚拟资源的伸缩对系统的影响,使得资源伸缩后,系统可以更加稳定的运行。

采用本发明优选实施例提供的方案,可以解决传统的根据CPU、内存等间接的指标来动态调整虚拟资源的不足,更能反映出业务和资源的紧密关系,这样才能真实的反映VNF的处理能力。可见,与现有技术相比,本优选实施例完善了业务系统对自身业务处理能力进行控制,达到了动态伸缩资源的效果,节省了人力,提高了业务系统的稳定处理业务的能力。

下面以两个实例对本发明优选实施例进行描述和说明。

优选实施例1

图10是根据本发明优选实施例的虚拟资源调度方法的流程图,如图10所示,该流程包括如下步骤:

步骤S1001,设置VNF业务数据采集模块的采集时间间隔。

步骤S1002,设置VNF业务指标数据上报的时间间隔。

这里同时也可以设置VNFM的调度策略,为后续伸缩作为决策设置。策略设置是根据业务指标计算出来的当量百分比进行控制,同时兼顾VNF本身的系统性能数据,为了确保VNF的可靠运行,可以设置系统磁盘I/O检测判断和网络吞吐判断,以确保 VNF硬件的可靠性。

步骤S1003,部署在各个VNF的业务指标数据采集模块,根据自身的业务需要,采集自身的系统性能数据和业务指标原始数据。这些系统性能数据和指标数据可以包括但不限于:单位时间内业务处理量、业务系统CPU、内存的利用率、磁盘I/O、磁盘空间的剩余大小、网络带宽、网络负载、包丢失率,特殊VNF的特殊性能指标等。

步骤S1004,VNF根据设置的采样周期获取业务数据的性能指标和操作系统层面的性能数据,保持统一采集粒度,并将这些性能数据上报到VNFM。VNFM需要提供业务性能数据上报接口和VNF系统性能数据接口,VNF系统性能数据包含不限于和业务系统相关的:CPU、内存、磁盘I/O、磁盘剩余空间、带宽吞吐和网络使用率等数据。最终数据结合业务自身特点要求进行获取上报。VNFM要提供通用的度量上报接口。特别是一些从VIM无法获取的应用层面的数据如磁盘剩余空间,网络使用率等。

步骤S1005,VNFM将各个VNF节点的业务指标原始数据进行汇总处理,根据算法折算成调度需要的业务指标数据。这个业务指标数据的计算方式可以有多种方式,下面列举一个:

在一个业务数据采集周期中,根据:(1)VNF业务数据指标项的个数n,(2)步骤S1003采集的VNF节点的业务原始数据h,(3)各个业务指标原始数值的权重w,(4)VNF各指标项满负荷运行时的值s,进行计算,获得一个业务指标数据,计算公式可以是下面的公式:

步骤S1006,VIM调用和VNFM的接口周期上报宿主机系统能数据到VNFM中作为调度资源参考。对后续VNFM做伸缩决策用,比如可以在伸缩过程中选择宿主机资源使用率低的作为目标机器,决策执行依据VNFM的策略制定。

步骤S1007,VNFM根据上报的业务指标数据进行调度策略的判断。调度策略VNFM中配置的触发虚拟资源伸缩操作的策略,其根据各种业务指标数据的值进行资源伸缩操作的调度。

其中,伸缩操作可以是VNF节点的创建,删除,迁移,挂起,唤醒等,可以根据需要进行配置。

如系统配置了两个业务调度策略:

策略1,当业务处理量大于系统处理能力的60%时,将增加VNF1-2。

策略2,当业务处理量小于系统处理能力的40%时,将删除VNF1-2。

这样当上报的业务指标数据大于60%时,例如上报值为61%,则资源调度模块将触 发新增VNF1-2的策略。

当上报值小于40%时,触发删除VNF1-2电源的策略。

同时系统还可以配置业务性能调度策略,如CPU、内存、磁盘I/O在一定的区间时候根据业务特征进行迁移。这个策略需要和业务调度策略综合设置,因为不同的业务可能对CPU和内存、磁盘I/O的要求不一样,有的业务比如是消息中间件,对内存使用有要求、有的计算服务对CPU有要求,有的文件存储服务对内存和磁盘I/O要求高。这个设置策略的时候就要考虑业务场景。

对CPU,磁盘I/O,网络吞吐以及网络使用率情况进行系统健康判断,如果不符合预期可以迁移VNF到其他目的主机运行,确保业务正常可靠。

步骤S1008,VNFM调用VNF的业务伸缩操作前通知接口,发出伸缩操作前的通知。

步骤S1009,VNF根据接收到的伸缩前通知,做VNF内部的策略预处理或业务切换等操作,确保伸缩执行中不影响原有VNF所有功能。

例如,当策略为删除VNF1-2时,VNFM将VNF1-2上的业务转移到VNF1-1进行处理,并判断VNF1-2是否可以删除,如果可以,则在系统中配置VNF1-2的相关业务信息为暂停处理。如果VNF1-2当前处理的业务未结束,则本次伸缩操作结束,待下次伸缩操作触发,并执行到本步骤时,再判断处理。

步骤S1010,VNF调用VNFM提供的伸缩操作前确认接口,确认可以由VNFM执行伸缩操作。

步骤S1011,VNFM获取到步骤S1010的伸缩操作前确认后,调用VIM进行资源伸缩操作。

步骤S1012,VIM执行伸缩操作。如执行步骤S1009中需要删除VNF1-2,这时VNF1-2被删除。

步骤S1013,VNFM在资源伸缩操作执行结束后,调用相关的VNF节点的资源伸缩操作后通知接口,通知VNF的伸缩操作已经结束。

步骤S1014,相关VNF在接收到通知后,自行根据需要处理相关流程。

例如,如果步骤S1009为增加VNF1-2,则步骤S1013将通知其他相关的VNF节点,在本步骤相关的VNF将对新增的VNF1-2的信息进行处理,并在后续向其转发相关数据,已进行数据分流。如果步骤S1009是删除VNF1-2,同样其他VNF在收到该通知后,将对删除的VNF1-2的信息进行处理,避免向其发送数据。

需要说明的是,上述的过程是持续进行的,系统周期性检测调度操作的触发条件, 一旦上报的系统性能数据和业务指标数据满足调度策略的触发条件,就会执行策略配置的伸缩操作。

优选实施例2

下面针对通用的虚拟化云管理,对本发明优选实施例进行描述。

图11是根据本发明优选实施例的虚拟化云管理系统中的虚拟资源调度方法的流程图,如图11所示,该方法包括如下步骤:

步骤S1101,在业务系统设置业务指标数据采集时间间隔。

步骤S1102,在业务调度中心,设置上报业务指标数据的时间间隔。

步骤S1103,业务指标数据由部署在各个虚机上的业务节点的业务数据生成模块,根据自身的业务处理量,生成自身的系统性能数据和业务指标原始数据。

这些系统性能数据和指标数据可以包括但不限于:单位时间内业务处理量、业务系统CPU、内存的利用率、磁盘IO、磁盘的剩余大小、网络带宽等。

步骤S1104,业务系统的业务指标数据采集模块,根据步骤S1101设置的时间间隔,收集步骤S1103各个业务节点生成的业务指标原始数据,并将各个业务节点原始数据进行汇总处理,封装为需要上报的业务指标数据。

这个业务指标数据的计算方式可以有多种方式,下面列举一个:

在一个业务数据采集周期中,根据:(1)正常运行的业务节点的数量n,(2)业务节点单节点满负荷运行时的处理能力s,(3)步骤3采集的各个业务节点的原始业务数据h,(4)各业务节点的权重w(默认可以为1),进行计算,获得一个业务指标数据,计算公式可以是下面的公式:

步骤S1105,业务调度中心调用虚拟资源调度系统提供的业务指标数据上报接口,上报步骤S1104生成的业务指标数据到虚拟资源调度系统。

步骤S1106,虚拟资源调度系统的资源调度模块根据上报的业务指标数据进行调度策略的判断。调度策略是虚拟化调度系统中配置的触发虚拟资源伸缩操作的策略,其根据各种业务指标数据的值进行资源伸缩操作的调度。

伸缩操作可以是虚机上电、下电、伸缩CPU、伸缩内存、扩展磁盘、新建虚机、删除虚机,迁移虚机等,可以根据需要进行配置。

如系统配置了两个调度策略:

策略1,当业务处理量大于系统处理能力的60%时,将虚机1电源打开。

策略2,当业务处理量小于系统处理能力的40%时,将虚机1电源关闭。

这样当上报的业务指标数据大于60%时,例如上报值为61%,则资源调度模块将触发打开虚机1电源的策略。

当上报值小于40%时,触发关闭虚机1电源的策略。

需要说明的是,即如果业务系统没有上报业务指标数据,步骤S1106也是会执行的,这个是定时执行的任务,这个任务同时具备了判断业务上报的数据,及判断虚拟资源调度系统自身采集的虚机性能数据,来决定调度策略的执行。即,可以只判断业务上报的业务指标数据,也可以只判断虚级化资源调度系统自身采集的虚机性能数据,也可以两个数据都进行判断。

另外,步骤S1106中相关的策略可以根据业务系统对虚拟资源的具体需求来创建,例如:

1.可以创建一条策略,当虚机迁移时,强制虚机的迁移只能在与其有亲和性的主机下进行迁移。虚机与主机之间的亲和性,满足了虚机对不同的应用有不同的I/O速率、CPU计算能力、网络带宽、存储等需求时的特殊处理。

2.可以创建一条策略,具有排他性的虚机不能在同一台主机下运行。排他性可以满足相同业务的冗余处理单元,不能同时部署在同一台主机的需求时。

3.当夜晚等非忙时段,将不能下电的虚机迁移到同一台主机上,并将调用接口将主机断电,当白天正常时段,再将调用主机上电接口将主机上电,并将原来部署在这些主机上的虚机迁移回来,以此达到节能降耗的目的。

此外,策略还可以有很多,在此就不再一一列举。

步骤S1107,虚拟资源调度系统调用业务调度中心的业务操作通知接口,发出伸缩操作前的通知。

步骤S1108,业务系统处理模块根据业务调度中心接收到的伸缩前通知,对相应的业务进行判断,并做处理。

例如,当策略为虚机1下电操作时,业务系统处理模块将虚机1上的业务转移到其他正常的虚机进行处理,并判断当前虚机1是否可以处理本次伸缩操作,如果可以,则在系统中配置虚机1的相关业务信息为暂停处理。如果虚机1当前处理的业务未结束,则本次伸缩操作结束,待下次伸缩操作触发,并执行到本步骤时,再判断处理。

步骤S1109,当业务系统处理模块完成了因为资源伸缩引起的业务处理流程变动后,由业务调度中心调用虚级化调度系统提供的伸缩操作前确认接口,确认可以由虚拟资源 调度系统执行伸缩操作。

步骤S1110,虚拟资源调度系统获取到步骤S1109的伸缩操作前确认后,通知资源管理模块进行资源伸缩操作。

步骤S1111,资源管理模块执行伸缩操作。如执行步骤S1108中需要虚机1下电操作,这时虚机1将下电。

步骤S1112,虚拟资源调度系统在资源伸缩操作执行结束后,调用业务调度中心的资源伸缩操作后通知接口,通知虚拟资源的伸缩操作已经结束。

步骤S1113,业务系统处理模块根据业务调度中心接收到的伸缩操作后通知,对业务系统进行后续的处理。

例如,如果步骤S1108为虚机1的上电操作,则在步骤S1108可以直接返回成功,不做处理,在步骤步骤S1113对业务进行处理。在步骤S1113,业务系统对虚机1上部署的应用进行初始化,并在业务系统中添加虚机1的业务信息,完成其他配置工作后,将业务操作分配给虚机1进行处理。

需要说明的是,上述的过程是持续进行的,系统周期性检测调度操作的触发条件,一旦上报的业务指标数据满足调度策略的触发条件,就会执行策略配置的伸缩操作。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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