面向视频应用的虚拟化资源管理方法及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种面向视频应用的虚拟化资源管理方法及装置。
背景技术
在不久的将来,视频将成为信息的主流载体,更加代表了互联网的未来。预计到2020年全球互联网流量的80%以上都将是视频。视频应用本身对于计算资源、存储资源和网络带宽的需求要远高于一般的互联网应用。大规模视频应用的部署必然会带来远超出传统互联网业务的硬件服务器、交换机和其他基础设施的投资。同时运营维护的成本也将大幅增加。因此,解决大规模视频应用的高效资源管理问题是十分重要的。
所谓高效的资源管理指的是正确地估计资源需求量,充分地使用资源,对于资源的初始投资和运营成本进行实时和量化的监控。要实现这一目标,就需要在技术上能够弹性地调度各种资源,以最优化的方式满足业务在种类和容量上的各种需求,满足对用户的服务质量承诺。
一般的应用都采用建立虚拟机集群的方式来实现资源的动态调度。目前主流的资源虚拟化方法都是针对通用服务器的虚拟化技术(例如KVM、VMWare、Ctrix等),这类虚拟化技术可以进行对CPU、内存、磁盘、网络的虚拟化。基于上述虚拟机技术构建的虚拟化平台可以很好地应对非视频类的应用质量需求,包括吞吐量、延迟等。但是,上述虚拟机技术不可避免地都会有10%到40%的性能损失。而视频类应用往往具有高计算密度、低延迟和高吞吐量的特征,并且需要更大的存储空间。在硬件上超过20%的性能损失对于视频类应用来说都意味着很大的成本。更为关键的是,这些性能损失会让视频的处理结果根本无法满足基本的服务质量要求。比如对于4K视频的压缩,任何不必要的性能损失都会让处理过程丧失实时性。
因此,基于上述虚拟化技术的资源调度方法对于视频应用来讲存在以下缺点:
1)上述虚拟化技术管理资源的粒度都比较大,比如只能以虚拟机为单位进行任务调度;而且是相对静态的。根据具体业务形态的不同,视频应用针对单个用户提供服务的成本要比普通互联网应用高一到两个数量级,需要更加精细的资源控制和调度能力,而现有的资源调度方式会阻碍对视频应用的资源优化。
2)上述虚拟化技术无法对所有资源进行抽象化管理,比如GPU、ARM处理器、PCI-E采集卡、视频压缩芯片等等视频应用的基础设施。
发明内容
本发明实施例提供了一种面向视频应用的虚拟化资源管理方法,以提出一种可以进行更细粒度的资源调度并可以抽象化管理视频应用的物理基础设施的资源管理方案。该方法包括:对服务器进行注册后,对每个运行视频应用所需的资源块,根据资源配置信息,从多个服务器中选择符合建立资源块条件的服务器,并在该资源块与选择出的服务器之间建立关联关系,其中,服务器承载运行视频应用所需的各物理基础设施;从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块;将视频应用部署到与选择出的资源块关联的服务器上,并在该服务器上采用选择出的资源块对应的物理基础设施运行视频应用。
在一个实施例中,所述资源配置信息包括:名称、操作系统类型、资源类型和各项资源的需求量,服务器的类型包括物理服务器和虚拟服务器,根据资源块的资源配置信息,从多个服务器中选择符合建立资源块条件的服务器,包括:从多个服务器中选择操作系统类型与资源配置信息中的操作系统类型相同、服务器的类型与资源类型相同且各项资源的需求量小于服务器承载的各物理基础设施的资源可用容量的服务器,组成服务器候选集合;从服务器候选集合中选择当前物理基础设施的资源剩余可用容量最大的服务器,建立资源块。
在一个实施例中,从服务器候选集合中选择当前物理基础设施的资源剩余可用容量最大的服务器,包括:从服务器候选集合中选择各项物理基础设施的资源剩余可用容量均是最大的服务器;或者,确定各项物理基础设施中需求量占比最大的物理基础设施;从服务器候选集合中选择确定出的物理基础设施的资源剩余可用容量最大的服务器。
在一个实施例中,从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块,包括:从所有资源块中选择资源占用量小于阈值、资源实时剩余容量大于视频应用运行对物理基础设施的需求量且资源估计剩余容量大于视频应用运行对物理基础设施的需求量的资源块,组成候选资源块集合;从所述候选资源块集合中选择与当前物理基础设施的资源剩余可用容量最小的服务器关联的资源块。
在一个实施例中,还包括:将所述视频应用部署到与选择出的资源块关联的服务器上之后,在所述视频应用运行对物理基础设施增需求量增大后,从所述服务器上除了所述选择出的资源块之外的其他资源块中,重新选择与所述视频应用当前运行所需求物理基础设施对应的资源块,并在所述服务器上采用新选择出的资源块对应的物理基础设施运行所述视频应用。
在一个实施例中,如果未选择出与所述视频应用当前运行所需求物理基础设施对应的资源块,所述方法还包括:在所述多个服务器除了所述服务器之外的其他服务器关联的资源块中,再次选择与所述视频应用当前运行所需求物理基础设施对应的资源块;将所述视频应用的进程迁移到与再次选择出的资源块关联的服务器上,并在该服务器上采用与再次选择出的资源块对应的物理基础设施运行所述视频应用。
在一个实施例中,对服务器进行注册之后,还包括:与服务器通信获取服务器的基本信息,对所述基本信息进行MD5签名并存储;与服务器通信获取服务器的服务器标识和基本信息的MD5签名;在存储的基本信息MD5签名中,查找与获取的服务器标识对应的基本信息MD5签名;将获取的基本信息MD5签名与查找到的基本信息MD5签名进行比对,如果不一致,则重新获取与服务器标识对应的服务器的基本信息,根据该基本信息修改存储的基本信息MD5签名。
本发明实施例还提供了一种面向视频应用的虚拟化资源管理装置,以提出一种可以进行更细粒度的资源调度并可以抽象化管理视频应用的物理基础设施的资源管理方案。该装置包括:资源管理模块,用于对服务器进行注册后,对每个运行视频应用所需的资源块,根据资源配置信息,从多个服务器中选择符合建立资源块条件的服务器,并在该资源块与选择出的服务器之间建立关联关系,其中,服务器承载运行视频应用所需的各物理基础设施;资源调度模块,用于从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块;视频应用管理模块,用于将视频应用部署到与选择出的资源块关联的服务器上,并在该服务器上采用选择出的资源块对应的物理基础设施运行视频应用。
在一个实施例中,所述资源配置信息包括:名称、操作系统类型、资源类型和各项资源的需求量,服务器的类型包括物理服务器和虚拟服务器,所述资源管理模块,包括:服务器选择单元,用于从多个服务器中选择操作系统类型与资源配置信息中的操作系统类型相同、服务器的类型与资源类型相同且各项资源的需求量小于服务器承载的各物理基础设施的资源可用容量的服务器,组成服务器候选集合;资源管理单元,用于从服务器候选集合中选择当前物理基础设施的资源剩余可用容量最大的服务器,建立资源块。
在一个实施例中,资源管理单元,包括:第一资源管理单元,用于从服务器候选集合中选择各项物理基础设施的资源剩余可用容量均是最大的服务器;或者确定单元,用于确定各项物理基础设施中需求量占比最大的物理基础设施;第二资源管理单元,用于从服务器候选集合中选择确定出的物理基础设施的资源剩余可用容量最大的服务器。
在一个实施例中,资源调度模块,包括:资源块预选单元,用于从所有资源块中选择资源占用量小于阈值、资源实时剩余容量大于视频应用运行对物理基础设施的需求量且资源估计剩余容量大于视频应用运行对物理基础设施的需求量的资源块,组成候选资源块集合;资源调度单元,用于从所述候选资源块集合中选择与当前物理基础设施的资源剩余可用容量最小的服务器关联的资源块。
在一个实施例中,还包括:第一资源优化模块,用于将所述视频应用部署到与选择出的资源块关联的服务器上之后,在所述视频应用运行对物理基础设施增需求量增大后,从所述服务器上除了所述选择出的资源块之外的其他资源块中,重新选择与所述视频应用当前运行所需求物理基础设施对应的资源块;所述视频应用管理模块,还用于在所述服务器上采用新选择出的资源块对应的物理基础设施运行所述视频应用。
在一个实施例中,还包括:第二资源优化模块,用于如果未选择出与所述视频应用当前运行所需求物理基础设施对应的资源块,在所述多个服务器除了所述服务器之外的其他服务器关联的资源块中,再次选择与所述视频应用当前运行所需求物理基础设施对应的资源块;所述视频应用管理模块,还用于将所述视频应用的进程迁移到与再次选择出的资源块关联的服务器上,并在该服务器上采用与再次选择出的资源块对应的物理基础设施运行所述视频应用。
在一个实施例中,还包括:基本信息获取模块,用于对服务器进行注册之后,与服务器通信获取服务器的基本信息,对基本信息进行MD5签名并存储;MD5签名获取模块,用于与服务器通信获取服务器的服务器标识和基本信息MD5签名;查找模块,用于在存储的基本信息MD5签名中,查找与获取的服务器标识对应的基本信息MD5签名;基本信息修改模块,用于将获取的基本信息MD5签名与查找到的基本信息MD5签名进行比对,如果不一致,则重新获取与服务器标识对应的服务器的基本信息,根据该基本信息修改存储的基本信息MD5签名。
在本发明实施例中,通过对服务器进行注册,可以将服务器接入向视频应用的虚拟化资源管理方法的虚拟化资源管理平台,进而可以对服务器承载的视频应用运行所需的物理基础设施进行抽象、虚拟化管理,与现有虚拟技术相比,实现了可以抽象化管理视频应用的物理基础设施;然后,根据资源块的资源配置信息,从服务器中选择符合建立资源块条件的服务器,并在资源块与选择出的服务器之间建立关联关系,实现虚拟资源与物理资源的关联;最后,可以根据视频应用运行对物理基础设施的需求量,从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块,将视频应用部署到与选择出的资源块关联的服务器上,并在该服务器上采用与选择出的资源块对应的物理基础设施运行视频应用,实现了基于虚拟资源与物理资源的关联关系,根据视频应用运行对物理基础设施的需求量来灵活、动态地调动资源,避免资源浪费;同时由于上述资源管理方法是基于资源块的方式进行的,与现有技术中以虚拟机为单位进行的资源调度方法相比,可以实现以更细的粒度进行资源管理,以充分利用资源,有助于进行精细的资源配置。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是本发明实施例提供的一种面向视频应用的虚拟化资源管理方法的流程图;
图2是本发明实施例提供的一种面向视频应用的虚拟化资源管理装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在本发明实施例中,提供了一种面向视频应用的虚拟化资源管理方法,如图1所示,该方法包括:
步骤101:对服务器进行注册后,对每个运行视频应用所需的资源块,根据资源配置信息,从多个服务器中选择符合建立资源块条件的服务器,并在该资源块与选择出的服务器之间建立关联关系,其中,服务器承载运行视频应用所需的各物理基础设施;
步骤102:从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块;
步骤103:将视频应用部署到与选择出的资源块关联的服务器上,并在该服务器上采用与选择出的资源块对应的物理基础设施运行视频应用。
由图1所示的流程可知,在本发明实施例中,通过对服务器进行注册,可以将服务器接入向视频应用的虚拟化资源管理方法的虚拟化资源管理平台,进而可以对服务器承载的视频应用运行所需的物理基础设施进行抽象、虚拟化管理,与现有虚拟技术相比,实现了可以抽象化管理视频应用的物理基础设施;然后,根据资源块的资源配置信息,从服务器中选择符合建立资源块条件的服务器,并在资源块与选择出的服务器之间建立关联关系,实现虚拟资源与物理资源的关联;最后,可以根据视频应用运行对物理基础设施的需求量,从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块,将视频应用部署到与选择出的资源块关联的服务器上,并在该服务器上采用与选择出的资源块对应的物理基础设施运行视频应用,实现了基于虚拟资源与物理资源的关联关系,根据视频应用运行对物理基础设施的需求量来灵活、动态地调动资源,避免资源浪费;同时由于上述资源管理方法是基于资源块的方式进行的,与现有技术中以虚拟机为单位进行的资源调度方法相比,可以实现以更细的粒度进行资源管理,以充分利用资源,有助于进行精细的资源配置。
具体实施时,应用是可被部署、执行、管理和优化的一类对象,包括应用代码和应用元数据信息。对于视频应用(即视频应用程序)来说,编码器、转码器、推流服务器等都是几类视频应用。某一个具体的视频应用则可以是某一个具体的可执行程序和相关元数据信息的组合,比如某厂商所推出的某一型号或某一版本的转码器软件以及相应的指标数据:支持的格式、转码速度等。
具体的,上述资源块可以是对服务器承载的部署实例的运行环境中物理基础设施的统一抽象,是各种物理基础设施(CPU、内存、磁盘、GPU等)的一种逻辑上的集合。部署实例是将视频应用置于主机环境进行运行和管理的一个实例。一个视频应用可以对应多个部署实例,比如某厂商的编码器软件可以在一个集群环境中被部署为多个实例。
具体的,上述服务器可承载部署实例的运行环境,拥有至少一个操作系统实例,可以是物理主机,也可以是虚拟化主机。一个物理主机通常就是一台服务器,一个虚拟化主机通常就是一个虚拟机实例。一个主机可以提供多个资源单元(即上述的资源块)所需要的物理基础设施,一个资源单元所需的物理基础设施也可以由多个主机提供。
具体实施时,为了实现基于物理资源与虚拟资源的关联进行资源管理,在本实施例中,可以根据服务器的注册信息对服务器进行注册,以便将服务器加入到面向视频应用的虚拟化资源管理方法的虚拟化管理平台的服务器,以便平台能够识别、使用和管理所有的服务器。具体的,可以通过以下过程对各服务器进行注册:
1、在服务器上安装主机信息代理软件和虚拟机代理软件;
2、根据服务器的注册信息对服务器进行注册,将服务器接入到虚拟化管理平台的网络中;
3、虚拟化管理平台和服务器上的主机信息代理软件进行通信,获取服务器的基本信息,并根据该信息在平台数据库中增加物理主机数据,同时对基本信息进行MD5签名;
4、如果需要进行虚拟化主机的管理,那么虚拟化管理平台可通过虚拟机代理软件在物理主机上创建虚拟机,并确保虚拟机中装有主机信息代理软件;
5、启动虚拟机使其接入虚拟化管理平台的网络中;
6、虚拟化管理平台和虚拟机上的主机信息代理软件进行通信,获取虚拟机的基本信息,并根据该信息在平台数据库中增加虚拟主机数据,同时对基本信息进行MD5签名。
对服务器进行注册之后,还可以通过以下过程维护主机信息:与服务器通信获取服务器的基本信息,对所述基本信息进行MD5签名并存储;与服务器通信获取服务器的服务器标识和基本信息的MD5签名;在存储的基本信息MD5签名中,查找与获取的服务器标识对应的基本信息MD5签名;将获取的基本信息MD5签名与查找到的基本信息MD5签名进行比对,如果不一致,则重新获取与服务器标识对应的服务器的基本信息,根据该基本信息修改存储的基本信息MD5签名。具体的:
1、虚拟化管理平台和服务器以及虚拟机上的主机信息代理软件进行通信,获取主机标识和基本信息的MD5签名;
2、虚拟化管理平台通过主机标识查找存储在平台数据中的主机数据;
a)如果找到主机数据,那么读取其中的MD5签名,并和从代理软件获取的MD5签名进行比对:
i、如果相同,那么不进行任何操作;
ii、如果不同,那么重新向代理软件申请主机信息并修正该主机的信息;
b)如果没有找到主机数据,那么重新向代理软件申请主机信息并增加该主机的信息和MD5签名;
3、对于未被验证的主机,虚拟化管理平台从平台数据库中将其数据删除。
具体实施时,可以通过以下方式建立物理资源与虚拟资源的关联关系:所述资源配置信息包括:名称、操作系统类型、资源类型和各项资源的需求量(可根据视频应用需求配置不同份额的物理基础设施。比如,对于某种推流服务器需要2个CPU内核、16GB内存、10Gbps带宽网络和10TB磁盘。这些物理基础设施的逻辑资源可以组合成一个资源单元(即资源块)供该推流服务器使用),所述服务器的类型包括物理服务器和虚拟服务器,根据资源块的资源配置信息,从多个各服务器中选择符合建立资源块条件的服务器,包括:从多个服务器中选择操作系统类型与资源配置信息中的操作系统类型相同、资源类型与服务器的类型相同且各项资源的需求量小于服务器承载的各物理基础设施的资源可用容量(例如,计算各物理基础设施的可用容量的方法可以是:用主机总的物理基础设施容量减去其上已分配的所有资源单元对应的物理基础设施的容量总和)的服务器,组成服务器候选集合;从服务器候选集合中选择当前物理基础设施的资源剩余可用容量最大的服务器,建立资源块。
具体的,从服务器候选集合中选择当前物理基础设施的资源剩余可用容量最大的服务器,包括:从服务器候选集合中选择各项物理基础设施的资源剩余可用容量均是最大的服务器;或者确定各项物理基础设施中需求量占比最大的物理基础设施(这里的占比指的是需求量与某一套基准配置的比例,比如需求量是2颗vCPU、4GB内存、100GB磁盘、200Mbps网络带宽,而基准配置是8颗vCPU、16GB内存、2TB磁盘、2Gbps网络带宽,那么各项占比就是0.25、0.25、0.05、0.1,所以CPU或内存就是需求量占比最大的物理基础设施);从服务器候选集合中选择确定出的物理基础设施的资源剩余可用容量最大的服务器。
具体的,上述服务器类型可以是虚拟服务器也可以是物理服务器,服务器承载的底层系统中的基础设施可以是虚拟化的,也可以是纯粹的物理硬件。这样既可以满足视频应用中对性能延迟等敏感的系统对物理资源的要求,确保视频应用不受性能损失;也可以满足对可维护性和扩展性挑剔的系统对虚拟化资源的要求。
上述资源管理过程中建立物理资源与虚拟资源的关联关系是相对静态的。但真实运行的系统中对物理基础设施的使用是动态变化的。所以虚拟化管理平台会实时地从监控系统(这里的监控系统不属于虚拟化管理平台的范畴,而是一个独立的用于获取系统进程、硬件和环境状态的系统)中获取任何一个部署实例对物理基础设施的使用情况,再根据部署实例和资源单元的对应关系来改变相应资源单元的基础设施消耗情况。如果资源单元的基础设施消耗过多则要触发相关的处理机制,进行资源单元的维护。具体地,资源单元的维护过程如下:
1、针对每一个资源单元,找出与其关联的所有部署实例的数据(即已经部署的应用的运行时数据,如ID、进程号等)。
2、从监控系统中获取部署实例所消耗的物理基础设施的量。如果所有部署实例消耗的量的总和超过了资源单元配置的容量的某一个百分比阈值(该阈值可配置),那么就触发监控系统的告警机制。
3、如果资源单元长时间处于接近饱和的状态,那么依据配置就要触发部署实例迁移的过程(对该过程的描述详见下面的应用管理过程)。
具体实施时,建立物理资源与虚拟资源的关联关系之后,通过以下步骤进行资源调度:根据视频应用运行对物理基础设施的需求量,从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块,包括:从所有资源块中选择资源占用量小于阈值(即可以是资源块配置的容量的某一个百分比阈值)、资源实时剩余容量(即通过监控系统检测到的可用基础设施容量)大于视频应用运行对物理基础设施的需求量且资源估计剩余容量(即总的容量减去已经给其配置的部署实例的需求量所得到的差)大于视频应用运行对物理基础设施的需求量的资源块,组成候选资源块集合;从所述候选资源块集合中选择与当前物理基础设施的资源剩余可用容量最小的服务器关联的资源块。
具体实施时,在本实施例中,进行资源调度的过程中,还可以实现对视频应用的动态部署和迁移。具体的,将所述视频应用部署到与选择出的资源块关联的服务器上之后,在所述视频应用运行对物理基础设施增需求量增大后,从所述服务器上除了所述选择出的资源块之外的其他资源块中,重新选择与所述视频应用当前运行所需求物理基础设施对应的资源块(例如,可以选择视频应用当前的物理基础设施占用量、资源块的资源实时消耗容量与资源块的资源估计消耗容量相加的总和小于预设阈值的资源块,因为是同一个主机,所以并不需要进行进程迁移,只需要改变视频应用的部署实例与资源单元的关联即可);并在所述服务器上采用新选择出的资源块对应的物理基础设施运行所述视频应用。
具体的,如果未选择出与所述视频应用当前运行所需求物理基础设施对应的资源块,还包括:在所述多个服务器除了所述服务器之外的其他服务器关联的资源块中,再次选择与所述视频应用当前运行所需求物理基础设施对应的资源块(例如,可以选择所述视频应用当前的物理基础设施占用量、资源块的资源实时消耗容量与资源块的资源估计消耗容量相加的总和小于预设阈值(即可以是资源块配置的容量的某一个百分比阈值)的资源块;将所述视频应用的进程迁移(采用通用的进程迁移技术即可)到与再次选择出的资源块关联的服务器上,并在该服务器上采用与再次选择出的资源块对应的物理基础设施运行视频应用。
上述面向视频应用的虚拟化资源管理方法,并不要求应用程序本身有任何的修改或特殊的机制,任何软件程序都可以被平台管理起来,这种非侵入的机制可以保证平台的通用性。
基于同一发明构思,本发明实施例中还提供了一种面向视频应用的虚拟化资源管理装置,如下面的实施例所述。由于面向视频应用的虚拟化资源管理装置解决问题的原理与面向视频应用的虚拟化资源管理方法相似,因此面向视频应用的虚拟化资源管理装置的实施可以参见面向视频应用的虚拟化资源管理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是本发明实施例的面向视频应用的虚拟化资源管理装置的一种结构框图,如图2所示,包括:资源管理模块201、资源调度模块202和视频应用管理模块203,下面对该结构进行说明。
资源管理模块201,用于对服务器进行注册后,对每个运行视频应用所需的资源块,根据资源配置信息,从多个服务器中选择符合建立资源块条件的服务器,并在该资源块与选择出的服务器之间建立关联关系,其中,服务器承载运行视频应用所需的各物理基础设施;
资源调度模块202,与资源管理模块201连接,用于从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块;
视频应用管理模块203,与资源调度模块202连接,用于将视频应用部署到与选择出的资源块关联的服务器上,并在该服务器上采用选择出的资源块对应的物理基础设施运行视频应用。
在一个实施例中,所述资源配置信息包括:名称、操作系统类型、资源类型和各项资源的需求量,服务器的类型包括物理服务器和虚拟服务器,所述资源管理模块201,包括:服务器选择单元,用于从多个服务器中选择操作系统类型与资源配置信息中的操作系统类型相同、服务器的类型与资源类型相同且各项资源的需求量小于服务器承载的各物理基础设施的资源可用容量的服务器,组成服务器候选集合;资源管理单元,与服务器选择单元连接,用于从服务器候选集合中选择当前物理基础设施的资源剩余可用容量最大的服务器,建立资源块。
在一个实施例中,资源管理单元,包括:第一资源管理单元,用于从服务器候选集合中选择各项物理基础设施的资源剩余可用容量均是最大的服务器;或者确定单元,用于确定各项物理基础设施中需求量占比最大的物理基础设施;第二资源管理单元,用于从服务器候选集合中选择确定出的物理基础设施的资源剩余可用容量最大的服务器。
在一个实施例中,资源调度模块202,包括:资源块预选单元,用于从所有资源块中选择资源占用量小于阈值、资源实时剩余容量大于视频应用运行对物理基础设施的需求量且资源估计剩余容量大于视频应用运行对物理基础设施的需求量的资源块,组成候选资源块集合;资源调度单元,与资源块预选单元连接,用于从所述候选资源块集合中选择与当前物理基础设施的资源剩余可用容量最小的服务器关联的资源块。
在一个实施例中,还包括:第一资源优化模块,用于将所述视频应用部署到与选择出的资源块关联的服务器上之后,在所述视频应用运行对物理基础设施增需求量增大后,从所述服务器上除了所述选择出的资源块之外的其他资源块中,重新选择与所述视频应用当前运行所需求物理基础设施对应的资源块;所述视频应用管理模块,与第一资源优化模块连接,还用于在所述服务器上采用新选择出的资源块对应的物理基础设施运行所述视频应用。
在一个实施例中,还包括:第二资源优化模块,用于如果未选择出与所述视频应用当前运行所需求物理基础设施对应的资源块,在所述多个服务器除了所述服务器之外的其他服务器关联的资源块中,再次选择与所述视频应用当前运行所需求物理基础设施对应的资源块;所述视频应用管理模块,与第二资源优化模块连接,还用于将所述视频应用的进程迁移到与再次选择出的资源块关联的服务器上,并在该服务器上采用与再次选择出的资源块对应的物理基础设施运行所述视频应用。
在一个实施例中,还包括:基本信息获取模块,用于对服务器进行注册之后,与服务器通信获取服务器的基本信息,对基本信息进行MD5签名并存储;MD5签名获取模块,与基本信息获取模块连接,用于与服务器通信获取服务器的服务器标识和基本信息MD5签名;查找模块,与MD5签名获取模块连接,用于在存储的基本信息MD5签名中,查找与获取的服务器标识对应的基本信息MD5签名;基本信息修改模块,与查找模块连接,用于将获取的基本信息MD5签名与查找到的基本信息MD5签名进行比对,如果不一致,则重新获取与服务器标识对应的服务器的基本信息,根据该基本信息修改存储的基本信息MD5签名。
在本发明实施例中,通过对服务器进行注册,可以将服务器接入向视频应用的虚拟化资源管理方法的虚拟化资源管理平台,进而可以对服务器承载的视频应用运行所需的物理基础设施进行抽象、虚拟化管理,与现有虚拟技术相比,实现了可以抽象化管理视频应用的物理基础设施;然后,根据资源块的资源配置信息,从服务器中选择符合建立资源块条件的服务器,并在资源块与选择出的服务器之间建立关联关系,实现虚拟资源与物理资源的关联;最后,可以根据视频应用运行对物理基础设施的需求量,从所有资源块中选择与视频应用运行所需求物理基础设施对应的资源块,将视频应用部署到与选择出的资源块关联的服务器上,并在该服务器上采用与选择出的资源块对应的物理基础设施运行视频应用,实现了基于虚拟资源与物理资源的关联关系,根据视频应用运行对物理基础设施的需求量来灵活、动态地调动资源,避免资源浪费;同时由于上述资源管理方法是基于资源块的方式进行的,与现有技术中以虚拟机为单位进行的资源调度方法相比,可以实现以更细的粒度进行资源管理,以充分利用资源,有助于进行精细的资源配置。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。