视频云平台的资源调度方法及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种视频云平台的资源调度方法及装置。
背景技术
在不久的将来,视频将成为信息的主流载体,更加代表了互联网的未来。预计到2020年全球互联网流量的80%以上都将是视频。视频应用本身对于计算资源、存储资源和网络带宽的需求要远高于一般的互联网应用。大规模视频应用的部署必然会带来远超出对传统互联网业务的硬件服务器、交换机和其他基础设施的投资。同时运营维护的成本也将大幅增加。因此,解决大规模视频应用的高效资源管理问题是十分重要的。
高效资源管理的核心技术问题之一就是资源调度和优化。资源调度就是把有限的资源分配给所有需要运行的应用程序。对资源调度的优化就是尽可能减少资源的浪费,或者说在有限的资源上运行更多的程序。对资源调度问题的研究已经有很长的历史。理论上现已证明,通用的资源调度问题并不存在一个能在短时间内给出调度方案的方法。因此,对各个领域或各类应用问题的研究都会聚焦在领域或应用本身的特性上,有针对性地解决资源调度的问题。
本申请研究的领域就是视频云平台。所谓视频云就是将视频处理技术和云计算技术相结合,形成一种全新的商业模式和服务模式。视频云服务提供商可以将庞大的计算资源进行整合,为客户提供多种围绕视频的服务,比如,编转码服务、内容编辑和存储服务、视频点播服务等。因此,是否高效地调度资源直接决定了视频云服务提供商的盈利能力。
不同于通用的云平台系统,视频云平台上的应用都是视频相关的应用,这些应用对于运行环境的要求比较苛刻,往往兼具计算密集和IO密集的特点,要求低延迟、高并发、高吞吐量。因此,基于通用的虚拟机管理和资源调度的方案并不适用于视频云平台系统。视频云服务更多地需要直接运行在物理硬件上,但同时还要求能够灵活调度应用的执行,在满足对客户承诺的服务质量的同时,最大限度地节约资源。
目前,围绕视频应用的资源调度方案主要聚焦在传统的视频会议、视频监控和视频点播系统上。这些场景下的应用架构和服务模式比较固化,资源的使用模式比较单一,但是,视频云平台上应用的种类更加多样,包括视频编转码器、视频推流、内容编辑和管理、内容托管、内容加密等等,同时,视频云平台上的服务方式也更加丰富,比如,按时间段提供服务、按任务量提供服务,长期租用、按需使用等等。因此,上述基于固化的应用架构和服务模式的资源调度方法,无法应用于高度动态变化的视频云平台上进行资源调度。
此外,现有技术中的其他资源调度方法需要在应用内部嵌入代码或逻辑来优化资源配置,而这正好违反了视频云平台的基本原则,所以也不适用于视频云平台。
发明内容
本发明实施例提供了一种视频云平台的资源调度方法,以提出一种符合视频应用的特性、可以进行动态、有效地、不需要视频应用内部嵌入代码的资源调度方案。该方法包括:检测视频应用的资源需求模式,所述资源需求模式是运行所述视频应用时所需的物理资源中各项动态资源的占用量在预设时长内的变化规律;获取剩余资源大于运行所述视频应用所需物理资源中静态资源的多个资源池,对于获取的多个资源池中每个资源池,检测该资源池的资源消耗模式,所述资源消耗模式是该资源池内正在运行的所有视频应用对该资源池内物理资源中各项动态资源的消耗量在预设时长内的变化规律,所述资源池是包括视频应用运行所需物理资源的资源集合;根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述视频应用运行提供所需物理资源的资源池。
在一个实施例中,检测视频应用的资源需求模式,包括:将所述预设时长分割为多个时间段;检测每个时间段内每项动态资源的占用量的平均值;检测该资源池的资源消耗模式,包括:将该资源池内正在运行的所有视频应用的资源需求模式相加,得到该资源池的资源消耗模式。
在一个实施例中,根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述视频应用运行提供所需物理资源的资源池,包括:根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,计算所述视频应用与所述获取的多个资源池中每个资源池的第一匹配度值,所述第一匹配度值表示所述视频应用的资源需求模式与资源池的资源消耗模式的匹配程度;确定第一匹配度值最高的资源池为所述视频应用运行提供所需物理资源。
在一个实施例中,计算所述视频应用与所述获取的多个资源池中每个资源池的第一匹配度值,包括:对于所述获取的多个资源池中每个资源池,将所述视频应用的资源需求模式和该资源池的资源消耗模式中同一动态资源项相同时间段内的占用量相加,得到各项动态资源在每个时间段的新的占用量;对于每项动态资源,计算该项动态资源各时间段新的占用量的均方差;计算各项动态资源对应的均方差的平均值,平均值的倒数为所述视频应用与该资源池的第一匹配度值。
在一个实施例中,还包括:对于多个视频应用,检测每个视频应用的资源需求模式;根据每两个视频应用的资源需求模式,计算所述每两个视频应用之间的第二匹配度值,所述第二匹配度值表示所述两个视频应用的资源需求模式的相同程度;将第二匹配度值大于预设值的视频应用视为一个视频应用,并根据所述一个视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述第二匹配度值大于预设值的视频应用提供运行所需的物理资源的资源池。
在一个实施例中,还包括:确定资源占用量大于预设阈值的资源池;重新检测所有资源池的资源消耗模式和确定出的资源占用量大于预设阈值的资源池中所有视频应用的资源需求模式;对于确定出的资源占用量大于预设阈值的资源池中所有视频应用,依次从所有视频应用中去除一个视频应用,根据其他视频应用的资源需求模式计算其他视频应用之间的第三匹配度值,所述第三匹配度值表示其他视频应用的资源需求模式的相同程度;根据第三匹配度值最大时去除的视频应用的资源需求模式和所有资源池中除去资源占用量大于预设阈值的资源池的其他资源池的资源消耗模式,从其他资源池中重新确定为第三匹配度值最大时去除的视频应用运行提供所需物理资源的资源池。
本发明实施例还提供了一种视频云平台的资源调度装置,以提出一种符合视频应用的特性、可以进行动态、有效地、不需要视频应用内部嵌入代码的资源调度方案。该装置包括:第一检测模块,用于检测视频应用的资源需求模式,所述资源需求模式是运行所述视频应用对所需的物理资源中各项动态资源的占用量在预设时长内的变化规律;资源消耗模式检测模块,用于获取剩余资源大于运行所述视频应用所需物理资源中静态资源的多个资源池,对于获取的多个资源池中每个资源池,检测该资源池的资源消耗模式,所述资源消耗模式是该资源池内正在运行的所有视频应用的对该资源池内物理资源中各项动态资源的消耗量在预设时长内的变化规律,所述资源池是包括视频应用运行所需物理资源的资源集合;资源调度模块,用于根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述视频应用运行提供所需物理资源的资源池。
在一个实施例中,所述第一检测模块,包括:时间分割单元,用于将所述预设时长分割为多个时间段;检测单元,用于检测每个时间段内每项动态资源的占用量的平均值;所述资源消耗模式检测模块,用于将该资源池内正在运行的所有视频应用的资源需求模式相加,得到该资源池的资源消耗模式。
在一个实施例中,资源调度模块,包括:第一匹配度值计算单元,用于根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,计算所述视频应用与所述获取的多个资源池中每个资源池的第一匹配度值,所述第一匹配度值表示所述视频应用的资源需求模式与资源池的资源消耗模式的匹配程度;资源调度单元,用于确定第一匹配度值最高的资源池为所述视频应用运行提供所需物理资源。
在一个实施例中,第一匹配度值计算单元,包括:加法计算子单元,用于对于所述获取的多个资源池中每个资源池,将所述视频应用的资源需求模式和该资源池的资源消耗模式中同一动态资源项相同时间段内的占用量相加,得到各项动态资源在每个时间段的新的占用量;均方差计算子单元,用于对于每项动态资源,计算该项动态资源各时间段新的占用量的均方差;第一匹配度值计算子单元,用于计算各项动态资源对应的均方差的平均值,平均值的倒数为所述视频应用与该资源池的第一匹配度值。
在一个实施例中,还包括:所述第一检测模块,还用于对于多个视频应用,检测每个视频应用的资源需求模式;第二匹配度值计算模块,用于根据每两个视频应用的资源需求模式,计算所述每两个视频应用之间的第二匹配度值,所述第二匹配度值表示所述两个视频应用的资源需求模式的相同程度;所述资源调度模块,还用于将第二匹配度值大于预设值的视频应用视为一个视频应用,并根据所述一个视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述第二匹配度值大于预设值的视频应用提供运行所需的物理资源的资源池。
在一个实施例中,还包括:资源池确定模块,用于确定资源占用量大于预设阈值的资源池;第二检测模块,用于重新检测所有资源池的资源消耗模式和确定出的资源占用量大于预设阈值的资源池中所有视频应用的资源需求模式;第三匹配度值计算模块,用于对于确定出的资源占用量大于预设阈值的资源池中所有视频应用,依次从所有视频应用中去除一个视频应用,根据其他视频应用的资源需求模式计算其他视频应用之间的第三匹配度值,所述第三匹配度值表示其他视频应用的资源需求模式的相同程度;所述资源调度模块,还用于根据第三匹配度值最大时去除的视频应用的资源需求模式和所有资源池中除去资源占用量大于预设阈值的资源池的其他资源池的资源消耗模式,从其他资源池中重新确定为第三匹配度值最大时去除的视频应用运行提供所需物理资源的资源池。
在本发明实施例中,通过检测视频应用的资源需求模式,该资源需求模式为视频应用对所需的物理资源中各项动态资源的占用量在预设时长内的变化规律,并检测获得剩余资源大于运行视频应用所需物理资源中静态资源的资源池的资源消耗模式,资源消耗模式是该资源池内正在运行的所有视频应用对该资源池内物理资源中各项动态资源的消耗量在预设时长内的变化规律,然后可以基于视频应用的资源需求模式和每个资源池的资源消耗模式,从剩余资源大于运行视频应用所需物理资源中静态资源的资源池中,确定为视频应用运行提供所需物理资源的资源池。实现了可以基于可靠的资源需求模式和资源消耗模式动态地、快速地、有效地为视频应用调度运行所需的物理资源;且上述资源调度过程,不需要对视频应用内部嵌入代码,使得可以很好地应用于云计算环境;由于上述资源调度是基于物理资源进行的,视频应用可以采用纯物理硬件环境,从而确保视频应用的性能不受损失。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种视频云平台的资源调度方法的流程图;
图2是本发明实施例提供的一种视频云平台的资源调度装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
发明人发现,对于视频应用来说,资源需求模式是比较稳定的。视频应用的输入或接受请求的模式比较容易预测,处理请求的方式也比较固定,所以通过一定程度的模拟真实场景的测试就可以得到比较可靠的资源需求模式。可靠的资源需求模式可以确保资源调度方法和优化资源分配方法的有效性,根据视频应用的资源需求模式来获得资源池的资源消耗模式,也可以确保资源消耗模式的可靠性。因此,提出了一种基于资源需求模式和资源消耗模式的资源调度方法。
在本发明实施例中,提供了一种视频云平台的资源调度方法,如图1所示,该方法包括:
步骤101:检测视频应用的资源需求模式,所述资源需求模式是运行所述视频应用对所需的物理资源中各项动态资源的占用量在预设时长内的变化规律;
步骤102:获取剩余资源大于运行所述视频应用所需物理资源中静态资源的多个资源池,对于获取的多个资源池中每个资源池,检测该资源池的资源消耗模式,所述资源消耗模式是该资源池内正在运行的所有视频应用对该资源池内物理资源中各项动态资源的消耗量在预设时长内的变化规律,所述资源池是包括视频应用运行所需物理资源的资源集合;
步骤103:根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述视频应用运行提供所需物理资源的资源池。
由图1所示的流程可知,在本发明实施例中,通过检测视频应用的资源需求模式,该资源需求模式为视频应用对所需的物理资源中各项动态资源的占用量在预设时长内的变化规律,并检测获得剩余资源大于运行视频应用所需物理资源中静态资源的资源池的资源消耗模式,资源消耗模式是该资源池内正在运行的所有视频应用对该资源池内物理资源中各项动态资源的消耗量在预设时长内的变化规律,然后可以基于视频应用的资源需求模式和每个资源池的资源消耗模式,从剩余资源大于运行视频应用所需物理资源中静态资源的资源池中,确定为所述视频应用运行提供所需物理资源的资源池。实现了可以基于可靠的资源需求模式动态地、快速地、有效地为视频应用调度运行所需的物理资源;同时,由于是通过资源池的方式进行资源调度的,与以虚拟机为单元的资源调度方式相比,实现了以更细的粒度进行资源调度,有助于进行资源优化;上述资源调度过程,不需要对视频应用内部嵌入代码,使得可以很好地应用于云计算环境;由于上述资源调度是基于物理资源进行的,视频应用可以采用纯物理硬件环境,从而确保视频应用的性能不受损失。
具体实施时,每一个视频应用运行时对物理资源的需求都包括:CPU、内存、磁盘存储、磁盘IO和网络IO,有些视频应用还包括一些特定的物理资源,如GPU、视频采集卡等。视频应用对这些物理资源的需求可以被准确量化。比如CPU的核数或物理线程数,内存和磁盘的大小,磁盘IO的并发和吞吐量,网络IO的吞吐量,GPU上计算单元的数目等。
每一个视频应用运行时对物理资源的需求还可以被分为两类,一类是静态资源需求,例如,包括内存、磁盘存储等;另一类是动态资源需求,例如,包括CPU、网络IO和磁盘IO等。静态资源需求是在视频应用的生命周期中保持基本恒定,并且必须被严格满足的;动态资源需求则是会随着时间变化而变化的,并且允许一定程度的过载。
具体的,一个视频应用的资源需求模式指的是运行所述视频应用时所需的物理资源中各项动态资源的占用量在预设时长内的变化规律。具体可以通过监控或搜集监控数据的手段来检测视频应用的资源需求模式,该资源需求模式可以被量化,以便于对资源需求模式进行计算,例如,将所述预设时长分割为多个时间段;检测每个时间段内每项动态资源的占用量的平均值。这样生成的一个依时间序列的资源消耗数据就是对资源需求模式的量化。比如下表1所示的就是对CPU、网络IO和网络IO占用的资源需求模式的一个示例。在该示例中,第一个时间段内,CPU占用0,网络IO占用1,磁盘IO占用1。这就表示,在该时间段内,该视频应用对CPU的资源需求的平均值是0,对网络IO的资源需求的平均值是1,对磁盘IO的资源需求的平均值是2。这里存在大于1的数是因为物理硬件的数目会多于1,且应用会同时占用多个物理硬件的资源。再比如,在第9个时间间隔内,CPU平均占用是50%的物理核或线程,网卡平均占用是120%的带宽(相当于2块网卡各60%,或3块网卡各40%等),磁盘平均占用是150%的带宽。
具体实施时,为了获得资源池可靠的资源消耗模式,检测该资源池的资源消耗模式,包括:将该资源池内正在运行的所有视频应用的资源需求模式相加,得到该资源池的资源消耗模式。例如,将正在运行的所有视频应用的资源需求模式中CPU在各时间段的占用量相加,作为资源池的资源消耗模式中CPU在各时间段的占用量。
具体实施时,基于资源需求模式和资源消耗模式进行资源调度的方式可以是:根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述视频应用运行提供所需物理资源的资源池,包括:根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,计算所述视频应用与所述获取的多个资源池中每个资源池的第一匹配度值,所述第一匹配度值表示所述视频应用的资源需求模式与资源池的资源消耗模式的匹配程度;确定第一匹配度值最高的资源池为所述视频应用运行提供所需物理资源。由于是基于第一匹配度值为视频应用选择提供运行所需物理资源的资源池,并不是以资源池为单位将一个资源池的物理资源只提供给一个是视频应用,使得一个资源池可以同时为多个视频应用提供物理资源,即一个资源池上可以同时部署多个视频应用。
具体的,计算所述视频应用与所述获取的多个资源池中每个资源池的第一匹配度值的过程可以包括:对于所述获取的多个资源池中每个资源池,将所述视频应用的资源需求模式和该资源池的资源消耗模式中同一动态资源项相同时间段内的占用量相加,得到各项动态资源在每个时间段的新的占用量;对于每项动态资源,计算该项动态资源各时间段新的占用量的均方差;计算各项动态资源对应的均方差的平均值,平均值的倒数为所述视频应用与该资源池的第一匹配度值。以表1中的资源需求模式为例,对于视频应用的资源需求模式和资源池的资源消耗模式中的CPU(网络IO和磁盘IO),将相同时间段内的占用量相加,即将第一时间段中CPU的占用量相加,依次至,将第11个时间段中CPU的占用量相加,对于网络IO和磁盘IO的占用量也分别按照相同时间段相加,得到CPU、网络IO和磁盘IO对应各时间段的新的占用量;然后,对于每项动态资源,计算该项动态资源各时间段新的占用量的均方差,例如,对于CPU,对第1至11个时间段内新的占用量求均方差,对网络IO和磁盘IO也同样求均方差;最后,计算各项动态资源对应的均方差的平均值,即对CPU、网络IO和磁盘IO对应的均方差求平均值,该平均值的倒数即第一匹配度值。
具体实施时,为了实现快速、有效的资源调动,在本实施例中,对于多个视频应用,检测每个视频应用的资源需求模式;根据每两个视频应用的资源需求模式,计算所述每两个视频应用之间的第二匹配度值,所述第二匹配度值表示所述两个视频应用的资源需求模式的相同程度;将第二匹配度值大于预设值的视频应用视为一个视频应用,并根据所述一个视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述第二匹配度值大于预设值的视频应用提供运行所需的物理资源的资源池。具体的,计算第二匹配度值的方法可以采用计算第一匹配度值的方法;确定为第二匹配度值大于预设值的视频应用提供运行所需的物理资源的资源池的方法可以采用确定为视频应用运行提供所需物理资源的资源池的方法,将所有第二匹配度值大于预设值的视频应用部署在确定出的资源池上。
在进行资源调度的过程中,将视频应用部署到资源池上开始运行后,会随着负载的变化发生对资源占用超出预期的变化,应用原本的资源需求模式可能会发生改变。这就可能造成资源池中的各个视频应用因为争用资源而导致服务质量下降的问题。为了确保视频应用的服务质量,在本实施例中,对资源进行优化。具体的,确定资源占用量大于预设阈值的资源池(例如,可以通过监控系统直观地确定出资源占用量大于预设阈值的资源池);重新检测所有资源池的资源消耗模式和确定出的资源占用量大于预设阈值的资源池中所有视频应用的资源需求模式;对于确定出的资源占用量大于预设阈值的资源池中所有视频应用,依次从所有视频应用中去除一个视频应用,根据其他视频应用的资源需求模式计算其他视频应用之间的第三匹配度值,所述第三匹配度值表示其他视频应用的资源需求模式的相同程度(第三匹配度值最大时去除的视频应用即为需要重新确定资源池的应用);根据第三匹配度值最大时去除的视频应用的资源需求模式和所有资源池中除去资源占用量大于预设阈值的资源池的其他资源池的资源消耗模式,从其他资源池中重新确定为第三匹配度值最大时去除的视频应用运行提供所需物理资源的资源池(该过程可以采用第一匹配度值的方式来确定,即从其他资源池中选择第一匹配度值最大资源池为第三匹配度值最大时去除的视频应用运行提供所需物理资源,迁移上述去除的视频应用;如果其他资源池中每个资源池的第一匹配度值小于上述去除的视频应用所在的、资源占用量大于预设阈值的资源池的第一匹配度值,则无需迁移上述去除的视频应用,而是对资源占用量大于预设阈值的资源池的资源配置进行调整)。
基于同一发明构思,本发明实施例中还提供了一种视频云平台的资源调度装置,如下面的实施例所述。由于视频云平台的资源调度装置解决问题的原理与视频云平台的资源调度方法相似,因此视频云平台的资源调度装置的实施可以参见视频云平台的资源调度方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是本发明实施例的视频云平台的资源调度装置的一种结构框图,如图2所示,包括:第一检测模块201、资源消耗模式检测模块202和资源调度模块203,下面对该结构进行说明。
第一检测模块201,用于检测视频应用的资源需求模式,所述资源需求模式是运行所述视频应用对所需的物理资源中各项动态资源的占用量在预设时长内的变化规律;
资源消耗模式检测模块202,与第一检测模块201连接,用于获取剩余资源大于运行所述视频应用所需物理资源中静态资源的多个资源池,对于获取的多个资源池中每个资源池,检测该资源池的资源消耗模式,所述资源消耗模式是该资源池内正在运行的所有视频应用对该资源池内物理资源中各项动态资源的消耗量在预设时长内的变化规律,所述资源池是包括视频应用运行所需物理资源的资源集合;
资源调度模块203,与资源消耗模式检测模块202连接,用于根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述视频应用运行提供所需物理资源的资源池。
在一个实施例中,所述第一检测模块201,包括:时间分割单元,用于将所述预设时长分割为多个时间段;检测单元,与时间分割单元连接,用于检测每个时间段内每项动态资源的占用量的平均值;所述资源消耗模式检测模块,用于将该资源池内正在运行的所有视频应用的资源需求模式相加,得到该资源池的资源消耗模式。
在一个实施例中,资源调度模块,包括:第一匹配度值计算单元,用于根据所述视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,计算所述视频应用与所述获取的多个资源池中每个资源池的第一匹配度值,所述第一匹配度值表示所述视频应用的资源需求模式与资源池的资源消耗模式的匹配程度;资源调度单元,与第一匹配度值计算单元连接,用于确定第一匹配度值最高的资源池为所述视频应用运行提供所需物理资源。
在一个实施例中,第一匹配度值计算单元,包括:加法计算子单元,用于对于所述获取的多个资源池中每个资源池,将所述视频应用的资源需求模式和该资源池的资源消耗模式中同一动态资源项相同时间段内的占用量相加,得到各项动态资源在每个时间段的新的占用量;均方差计算子单元,与加法计算子单元连接,用于对于每项动态资源,计算该项动态资源各时间段新的占用量的均方差;第一匹配度值计算子单元,与均方差计算子单元连接,用于计算各项动态资源对应的均方差的平均值,平均值的倒数为所述视频应用与该资源池的第一匹配度值。
在一个实施例中,还包括:所述第一检测模块,还用于对于多个视频应用,检测每个视频应用的资源需求模式;第二匹配度值计算模块,与所述第一检测模块连接,用于根据每两个视频应用的资源需求模式,计算所述每两个视频应用之间的第二匹配度值,所述第二匹配度值表示所述两个视频应用的资源需求模式的相同程度;所述资源调度模块,与第二匹配度值计算模块连接,还用于将第二匹配度值大于预设值的视频应用视为一个视频应用,并根据所述一个视频应用的资源需求模式和所述获取的多个资源池中每个资源池的资源消耗模式,从获取的多个资源池中确定为所述第二匹配度值大于预设值的视频应用提供运行所需的物理资源的资源池。
在一个实施例中,还包括:资源池确定模块,用于确定资源占用量大于预设阈值的资源池;第二检测模块,与资源池确定模块连接,用于重新检测所有资源池的资源消耗模式和确定出的资源占用量大于预设阈值的资源池中所有视频应用的资源需求模式;第三匹配度值计算模块,与第二检测模块连接,用于对于确定出的资源占用量大于预设阈值的资源池中所有视频应用,依次从所有视频应用中去除一个视频应用,根据其他视频应用的资源需求模式计算其他视频应用之间的第三匹配度值,所述第三匹配度值表示其他视频应用的资源需求模式的相同程度;所述资源调度模块,与第三匹配度值计算模块连接,还用于根据第三匹配度值最大时去除的视频应用的资源需求模式和所有资源池中除去资源占用量大于预设阈值的资源池的其他资源池的资源消耗模式,从其他资源池中重新确定为第三匹配度值最大时去除的视频应用运行提供所需物理资源的资源池。
在本发明实施例中,通过检测视频应用的资源需求模式,该资源需求模式为视频应用对所需的物理资源中各项动态资源的占用量在预设时长内的变化规律,并检测获得剩余资源大于运行视频应用所需物理资源中静态资源的资源池的资源消耗模式,资源消耗模式是该资源池内正在运行的所有视频应用对该资源池内物理资源中各项动态资源的消耗量在预设时长内的变化规律,然后可以基于视频应用的资源需求模式和每个资源池的资源消耗模式,从剩余资源大于运行视频应用所需物理资源中静态资源的资源池中,确定为所述视频应用运行提供所需物理资源的资源池。实现了可以基于可靠的资源需求模式动态地、快速地、有效地为视频应用调度运行所需的物理资源;同时,由于是通过资源池的方式进行资源调度的,与以虚拟机为单元的资源调度方式相比,实现了以更细的粒度进行资源调度,有助于进行资源优化;上述资源调度过程,不需要对视频应用内部嵌入代码,使得可以很好地应用于云计算环境;由于上述资源调度是基于物理资源进行的,视频应用可以采用纯物理硬件环境,从而确保视频应用的性能不受损失。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。