一种转码器的动态调度方法及装置与流程

文档序号:12492916阅读:256来源:国知局
一种转码器的动态调度方法及装置与流程

本发明涉及视频转码技术,尤其涉及一种转码器的动态调度方法及装置。



背景技术:

当今社会,随着移动互联网的快速发展,移动视频业务所占比重不断增大,视频已成为人们传递和分享信息的流行方式。同时随着手机、平板电脑等终端技术的进步,移动互联网能够随时随地为人们提供方便快捷的服务。可是随着通信技术的发展以及接入设备的多样性,极大地增加了移动流媒体视频应用的复杂性和异构性,例如屏幕尺寸的大小、码率的降低、帧率的调整等等,都会导致已压缩码流的受限条件变化。相对于其它应用环境,为某一应用环境提供的优化压缩码流不一定是其它应用环境的最优压缩码流。为屏蔽终端设备、通信网络、视频编码标准的异构性,为了提供给用户一致的流媒体视频存取接口,视频转码技术应运而生。

转码器可以将输入视频压缩码流从一种格式转换为另一种格式。由于单独的转码器的资源和性能有限,随着视频转码需求的增大,使得单一转码器设备根本无法承担压力,需要多个转码器才能满足海量用户的并发视频转码请求,转码器集群系统对外提供统一的转码服务。转码器集群系统工作状况好坏的关键在于能否将大量的并发转码请求合理地分配到集群中各个转码器上进行处理,实现转码资源的有效调度。请求的分配过程就是负载均衡。

图1-1为相关技术中的网络架构示意图,在图1-1所示的网络架构中能够做到负载均衡,流程包括:来自于客户算设备的用户的请求通过通信网络不直接发给后端的服务器节点,而是通过负载均衡器经过路由或交换机分发给后端的服务器节点,在分发的过程中负载均衡器根据调度算法将用户的请求分发给 后端的服务器节点,后端的服务器节点处理用户的请求,并把结果数据直接返回给用户;或者,后端的服务器节点也可以先将结果数据返回给负载均衡器,通过负载均衡器再返回给用户(客户端设备);其中,后端的每一服务器节点都可以看做是一个转码器,后端的服务器节点将结果数据直接返回给用户的方式称为one-way单向负载均衡,后端的服务器节点将结果数据返回给负载均衡器,通过负载均衡器再返回给用户的方式称为two-way双向负载均衡。从图1-1可以看出,负载均衡技术能够增加系统的处理能力和支持高并发访问,以降低用户的等待响应时间,从而使请求处理更加并行化,进而提高服务质量。负载均衡提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。但是,已有的动态调度方案不能动态加减后端的服务器节点,比如说某个服务器节点出现故障需要从后端的服务器节点中删除或者因请求的增加需要增添后端的服务器节点等;后端的服务器节点运行状态信息的收集功能收集的负载信息固定;当前端均衡器接收后端的服务器节点的运行状态数据以及负载均衡策略后,一般都需要重启负载均衡器。



技术实现要素:

有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种转码器的动态调度方法及装置,能够动态加减后端的转码器节点,而无需对管理所述转码器节点的进行重启。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供一种转码器的动态调度方法,所述方法包括:

获取转码器集群中各转码器的负载信息;

判断每一所述转码器的负载信息是否满足预设的第一条件,得到判断结果;

当所述判断结果表明所有的转码器的负载信息均不满足所述第一条件时,加载新的转码器至所述转码器集群中;

接收用户的转码请求;

将对所述转码请求所对应的视频分发给所述新的转码器进行转码。

第二方面,本发明实施例提供一种转码器的动态调度装置,所述装置包括获取单元、判断单元、加载单元、接收单元和分发单元,其中:

所述获取单元,用于获取转码器集群中各转码器的负载信息;

所述判断单元,用于判断每一所述转码器的负载信息是否满足预设的第一条件,得到判断结果;

所述加载单元,用于当所述判断结果表明所有的转码器的负载信息均不满足所述第一条件时,加载新的转码器至所述转码器集群中;

所述接收单元,用于接收用户的转码请求;

所述转码单元,用于将对所述转码请求所对应的视频分发给所述新的转码器进行转码。

本发明实施例提供的转码器的动态调度方法及装置,其中,获取转码器集群中各转码器的负载信息;判断每一所述转码器的负载信息是否满足预设的第一条件,得到判断结果;当所述判断结果表明所有的转码器的负载信息均不满足所述第一条件时,加载新的转码器至所述转码器集群中;接收用户的转码请求;将对所述转码请求所对应的视频分发给所述新的转码器进行转码,如此,动态加减后端的转码器节点,而无需对管理所述转码器节点的进行重启。

附图说明

图1-1为相关技术中的网络架构示意图;

图1-2为Nginx web服务器工作时的流程示意图;

图1-3为本发明实施例一转码器的动态调度方法的实现流程示意图;

图2为本发明实施例二转码器的动态调度方法的实现流程示意图;

图3-1为本发明实施例三转码器动态调度装置的组成结构示意图;

图3-2为本发明实施例三转码器的动态调度方法的实现流程示意图;

图4为本发明实施例四转码器的动态调度装置的组成结构示意图;

图5为本发明实施例五转码器的动态调度装置的组成结构示意图。

具体实施方式

为了解决背景技术中存在的问题,先来介绍一下相关的动态调度方案,常用的基于软件的动态调度方案中通常采用Nginx web服务器来实现。Nginx web服务器是高性能的HTTP和反向代理服务器,Nginx web服务器可移植到各种操作系统和体系结构,有跨平台特性,它功能完善、占用内存低、性能高,同时Nginx web服务器还提供了IMAP/POP3/SMTP代理的功能,稳定性、性能和扩展性高,因此Nginx web服务器都受到了广泛地应用。

图1-2为Nginx web服务器工作时的流程示意图,如图1-2所示,Nginx web服务器的模块根据其功能的不同可以划分为以下几种类型:1)事件模块,采用事件处理机制,用于根据运行配置脚本时根据当前的操作系统和编译选项进行选择。2)阶段处理模块,主要用来产生用户请求的内容如处理Nginx中html文件夹中的静态文件。3)输出过滤(Output filter)模块,经过阶段处理模块处理后最后会把数据传递给filter模块处理,如对数据进行gzip压缩,对html页面增加footbar等。4)上升流(upstream)模块,是阶段处理模块的特殊情况,实现反向代理的功能,将真正的请求转发到后端的服务器节点上,并从后端的服务器节点上读取响应发回客户端设备。5)负载均衡模块:后端的服务器节点选择模块,从配置后端服务器集群中选取服务器将请求内容进行转发。

上述的动态调度方案不能动态加减后端的服务器节点,比如说某个服务器节点出现故障需要从后端的服务器节点中删除或者因请求的增加需要增添后端的服务器节点等;后端的服务器节点运行状态信息的收集功能收集的负载信息固定;当前端均衡器接收后端的服务器节点的运行状态数据以及负载均衡策略后,一般都需要重启负载均衡器。

在本发明以下的实施例中,将提供一种基于多参数输入的转码器调度方法和系统,其目的在于克服现有动态调度方案的不足,通过统计判断转码器实际负载情况,自动加载转码器,不用重启负载均衡服务器,同时针对转码请求可选择调度负载最轻的转码器,这样使调度方案更加智能。

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

实施例一

本发明实施例提供一种转码器的动态调度方法,该方法用于计算设备中,方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。

图1-3为本发明实施例一转码器的动态调度方法的实现流程示意图,如图1-3所示,该方法包括:

步骤S101,获取转码器集群中各转码器的负载信息;

这里,所述负载信息包括中央处理器(CPU)利用率、内存利用率、网络输入/输出(I/O)使用情况、图形处理器(GPU)利用率和系统进程处理情况等参数。

这里,作为一种优选的技术方案,所述步骤S101,所述获取转码器集群中各转码器的负载信息,包括:监控转码器集群中各转码器的负载信息;将每一所述转码器的负载信息存储于共享数据库中;从所述共享数据库中获取所述转码器的负载信息。

步骤S102,判断每一所述转码器的负载信息是否满足预设的第一条件,得到判断结果;

这里,所述第一条件是关于负载信息中各参数的而设置的,在具体实施的过程中,所述第一条件可以是关于一个参数的条件,也可以是关于两个及其以上的参数的组合条件,例如,第一条件可以为CPU利用率小于60%,内存利用率小于50%。

步骤S103,当所述判断结果表明所有的转码器的负载信息均不满足所述第一条件时,加载新的转码器至所述转码器集群中;

这里,在加载的过程中,还需要对新的转码器进行配置,例如配置IP地址等参数。

步骤S104,接收用户的转码请求;

这里,所述转码请求来自于客户端设备,用于对视频转码的请求,在具体实施的过程中,所述转码请求可以包括客户端设备的标识信息,以及待转码的视频的属性信息,所述属性信息包括地址或标识信息等参数。

步骤S105,将对所述转码请求所对应的视频分发给所述新的转码器进行转码。

这里,可以根据待转码视频的属性信息获取所述待转码视频(待转码视频即为转码请求所对应的视频),然后将待转码视频分发给所述新的转码器。

本发明实施例中,所述方法还包括:步骤S106,当所述判断结果表明至少之一转码器的负载信息满足所述第一条件时,对满足第一条件的转码器的负载信息进行排序,得到排序结果;

对应地,所述步骤S105为,按照所述排序结果将所述转码请求所对应的视频分发给负载最小的转码器进行转码。

本发明实施例中,获取转码器集群中各转码器的负载信息;判断每一所述转码器的负载信息是否满足预设的第一条件,得到判断结果;当所述判断结果表明所有的转码器的负载信息均不满足所述第一条件时,加载新的转码器至所述转码器集群中;接收用户的转码请求;将对所述转码请求所对应的视频分发给所述新的转码器进行转码,如此,动态加减后端的转码器节点,而无需对管理所述转码器节点的进行重启。

实施例二

本发明实施例提供一种转码器的动态调度方法,该方法用于计算设备中,方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。

图2为本发明实施例二转码器的动态调度方法的实现流程示意图,如图2所示,该方法包括:

步骤S201,获取转码器集群中各转码器的负载信息;

这里,所述负载信息包括中央处理器(CPU)利用率、内存利用率、网络输入/输出(I/O)使用情况、图形处理器(GPU)利用率和系统进程处理情况等参数。

这里,作为一种优选的技术方案,所述步骤S201,所述获取转码器集群中各转码器的负载信息,包括:监控转码器集群中各转码器的负载信息;将每一所述转码器的负载信息存储于共享数据库中;从所述共享数据库中获取所述转码器的负载信息。

步骤S202,根据确定每一转码器的综合负载值;

其中,loadm表示第m个转码器的综合负载值,Lij表示第i个转码器的第j个负载信息,评估算法函数F包括选线性加权函数模型或遗传算法和神经网络算法;

步骤S203,判断所述转码器集群中转码器的综合负载值是否满足预设的第二条件,得到判断结果;

这里,所述第二条件是关于综合负载值的而设置的条件,具体地,可以设置一个阈值,所述第二条件为综合负载值小于设置的阈值。

步骤S204,当所述判断结果表明所有所述转码器集群中转码器的综合负载值均不满足所述第二条件时,加载新的转码器至所述转码器集群中;

这里,在加载的过程中,还需要对新的转码器进行配置,例如配置IP地址等参数。

步骤S205,接收用户的转码请求;

这里,所述转码请求来自于客户端设备,用于对视频转码的请求,在具体实施的过程中,所述转码请求可以包括客户端设备的标识信息,以及待转码的视频的属性信息,所述属性信息包括地址或标识信息等参数。

步骤S206,将对所述转码请求所对应的视频分发给所述新的转码器进行转码。

本发明实施例中,当采用QSV转码时,所述步骤S202,确定每一转码器的综合负载值,包括:

根据loadi=R1*CPUusage+R2*MEMusage+R3*GPUusage每一转码器的综合负载值;

其中,CPUusage是CPU利用率,MEMusage表示内存利用率,GPUusage表示GPU利用率,R1、R2和R2表示负载参数的权重值。

这里,所述R1、R2和R2根据转码的类型而确定,其中所述转码的类型包括软转码和硬转码。

本发明实施例中,所述方法还包括:步骤S207,当所述判断结果表明至少之一转码器的综合负载值满足所述第二条件时,对满足第二条件的转码器的综合负载值进行排序,得到排序结果;

对应地,步骤S206为,按照所述排序结果将所述转码请求所对应的视频分发给负载最小的转码器进行转码。

本发明实施例中,所述负载信息还包括宕机信息,所述方法还包括:

当所述转码器的负载信息表明所述转码器宕机时,将宕机的转码器从所述转码器集群中删除。

实施例三

本发明实施例提供了一种转码器的动态调度方法,其目的在于克服现有动态调度方案的不足。图3-1为本发明实施例三转码器的动态调度装置的组成结构示意图,如图3-1所示,该装置包括负载均衡器调度模块、综合管理模块、资源监控模块、负载提交模块和共享数据库等,其中在:

综合管理模块,如果后端服务器(即后端的服务器节点)出现宕机,可以及时从后端转码器中剔除,使其不再接受用户的请求。当负载提交模块,提交的负载值超过共享数据中设定的负载阈值,综合管理模块根据负载阈值的判断, 可以根据需要增加后端转码器,而且无需重启负载均衡器。

调度策略模块,可以是现有的负载均衡策略,例如轮询、加权轮询和IP哈希等,也可以是新开发的负载均衡策略(第三方模块),比如每当有用户转码请求时,从后端转码器中选择负载最轻的转码器转发请求等。

资源监控模块,不依赖于负载均衡器,在转码器端周期性抓取此节点当前的负载信息,如CPU利用率、内存利用率等,并将当前负载信息保存到共享数据库。

共享数据库,保存后端转码器的负载信息。

负载提交模块,根据转码方案的不同,周期性的从共享数据库获取相应负载信息,处理并评估此方案下转码器当前的综合负载;并将评估结果发送给综合管理模块。转码器综合负载评估模型如式3-1所示:

loadm表示第m个转码器的综合负载值,Lij表示第i个转码器的第j个负载信息。评估算法函数F可选线性加权函数模型,或遗传算法和神经网络算法等。可针对不同转码方案环境下的负载预测模型。

在图3-1所示的装置中,由资源监控模块统计转码器负载情况,同步到共享数据库,通过负载提交模块和综合管理模块统计判断负载情况,自动加载转码器,不用重启负载均衡服务器,针对转码请求,调度模块可选择调度负载最轻的转码器,使调度方案更加智能。

基于图3-1所示的装置,下面将提供一种转码器动态调度方法,在此实施例中,转码方案采用QSV技术,负载均衡器采用Nginx web服务器。转码器调度方案中的综合管理模块和调度策略模块都是基于Nginx模块化开发技术基础开发的第三方模块,Nginx web服务器中的负载均衡策略是从后端转码器中选择负载最轻的转码器转发客户端的转码请求,资源监控模块和负载提交模块可以采用PHP脚本语言。

图3-2为本发明实施例三转码器的动态调度方法的实现流程示意图,如图3-2所示,该方法包括:

步骤S301,资源监控模块实时监控负载信息;

这里,资源监控模块实时监控转码器资源利用情况,收集转码器节点的所有负载信息,如中央处理器(CPU)利用率、内存利用率、网络输入/输出(I/O)使用情况、图形处理器(GPU)利用率和系统进程处理情况等等。将所有负载信息保存在共享数据库中,并周期性进行数据的更新。

步骤S302,负载提交模块统计转码器负载情况;

这里,负载提交模块根据所选QSV转码方案有选择性的从共享数据库中提取出所需负载信息,利用式3-2所示的线性加权函数模型评估得到每个转码器的综合负载,并进行3s一次的数据更新与上报。

loadi=R1*CPUusage+R2*MEMusage+R3*GPUusage (3-2);

在式3-2中,CPUusage是CPU利用率,MEMusage表示内存利用率,GPUusage表示GPU利用率,Ri(包括R1、R2、R2)表示负载参数的权重值,是一组可以动态调整的系数,对服务节点综合负载影响较大的负载参数,就可以将其系数R设置的高一些。为了设定R1值,在内存、GPU充足(即用户的增加不对内存和GPU的利用率产生波动),控制单一变量,单独考虑CPU利用率和接入用户增加的波动关系,确定R1值;同样的方法,确定R2,R3值,从而确定对服务节点综合负载影响。

下面介绍如何定量地求解。使用软转码,主要依靠CPU占用作为负载状况的比较依据;使用基于QSV的硬件加速转码,主要依靠GPU的使用情况作为负载状况的比较依据。

1)对于软转码:对同一个转码实例,开启不同的CPU核心数,观测不同核心数的转码速度(FPS)。因此,我们可以得到一组实验数据(ci,fi),其中ci表示不同实验下的核心数(在不限制转码帧率的情况下,使用软转码CPU一般都满载,因此核心数可以等价为CPU占用数),fi表示转码速度。用一次函数进 行拟合,得到F=kc×C+b。我们令R1=kc即可求得R1。同样地,我们对内存使用相同的方法(横坐标为占用)得到R2,因为不使用GPU,R3置零即可。

2)对于硬转码:对同一个转码实例,使用硬件进行压力测试,得到最大的转码速度fmax。近似认为GPU此时的占用为100%,用过零点的一次函数进行拟合,得到F=kg×G(因为硬件内部的占用我们是没法从外界知道)。因为硬转码基本不占用CPU,因此将R1置零即可。R2使用1)中的方法可以得到。

步骤S303,综合管理模块判断是否增加转码器;

这里,综合管理模块接收来自转码器负载提交模块的数据后,对Nginx web服务器进行后端转码器的设置,包括转码器IP地址以及该转码器的综合负载值,同时还有所选用的调度策略,Nginx web服务器不需要重启。

综合管理模块对负载提交模块提交的负载值进行三种情况的分类处理:

(1)当负载提交模块,所有提交的负载值没有都超过(只要其中一个转码器没有超过)共享数据中设定的负载阈值,进行步骤S304。

(2)当转码器负载提交模块,所有提交的负载值都超过共享数据中设定的负载阈值(所有转码器都超过),综合管理模块根据负载阈值的判断,可以根据需要增加后端转码器,并在下一个上报周期进行数据的上报。共享数据库中添加相应的上报信息,重新进行步骤S303。

(3)当负载提交模块超过1个上报周期(即3s,该时间间隔根据转码程序的启动时间而设定,从转码器开始启动到程序稳定运行约需要3s时间),没有进行数据的上报,综合管理模块将对应转码器提出,共享数据库中移除相应的上报信息。同时增加一个后端转码器,并在下一个上报周期进行数据的上报。共享数据库中添加相应的上报信息。重新进行步骤S303。

转码器设置数据举例如下:“负载均衡策略;server 10.15.10.78:81weight=4;server 10.15.10.248:81weight=2;”127.0.0.1:81/upstream/transcoder;

步骤S304,调度策略选择;

调度策略模块根据所提交的信息,提取出所选用的调度策略,对Nginx web 服务器负载均衡策略进行设置,Nginx web服务器不需要重启。

步骤S305,调度选择负载最轻的转码器;

当有客户端转码请求时,Nginx web服务器选择后端转码器中负载最轻的转码器转发转码请求。

本发明实施例实际上提供了一种多参数输入的转码器调度过程。整个调度流程模块由综合管理模块、负载均衡器调度模块、资源监控模块、负载提交模块和共享数据库组成,具体地,后端转码器的一些负载参数会先上报至共享数据库,后端转码器综合负载评估与提交模块根据转码方案的不同,有选择的从共享数据库提取负载参数,拟合成一个综合负载值,发送给综合管理模块,这样选取负载参数的方法更能实时准确反映后端转码器负载状况。在本发明实施例中能够动态增减后端转码器,无需重启Nginx web服务器,如果后端转码器出现宕机,可以及时从后端转码器中剔除,使其不再接受请求。如果请求增加,可以根据需要增加后端转码器,而且无需重启Nginx web服务器。本发明实施例中还可以根据转码实际负载情况调度时选择最轻的转码器,即根据转码方案,灵活选取负载参数作为后端转码器负载依据。

实施例四

基于前述的实施例,本发明实施例提供一种转码器的动态调度装置,该装置所包括的各单元,以及各单元所包括的各模块,都可以通过计算设备中的处理器来实现,当然,处理器所实现的功能也可通过具体的逻辑电路实现;在具体实现的过程中,在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。需要说明是,在具体实现的过程,所述计算设备可以为个人计算机、集成的服务器或笔记本电脑等具有计算功能的电子设备。

图4为本发明实施例四转码器的动态调度装置的组成结构示意图,如图4所示,该装置400包括获取单元401、判断单元402、加载单元403、接收单元404和分发单元405,其中:

所述获取单元401,用于获取转码器集群中各转码器的负载信息;

这里,所述获取单元包括监控模块、存储模块和获取模块,其中:所述监控模块,用于监控转码器集群中各转码器的负载信息;所述存储模块,用于将每一所述转码器的负载信息存储于共享数据库中;所述获取模块,用于从所述共享数据库中获取所述转码器的负载信息。

所述判断单元402,用于判断每一所述转码器的负载信息是否满足预设的第一条件,得到判断结果;

所述加载单元403,用于当所述判断结果表明所有的转码器的负载信息均不满足所述第一条件时,加载新的转码器至所述转码器集群中;

所述接收单元404,用于接收用户的转码请求;

所述转码单元405,用于将对所述转码请求所对应的视频分发给所述新的转码器进行转码。

本发明实施例中,所述装置还包括排序单元,用于当所述判断结果表明至少之一转码器的负载信息满足所述第一条件时,对满足第一条件的转码器的负载信息进行排序,得到排序结果;

对应地,所述分发单元,用于按照所述排序结果将所述转码请求所对应的视频分发给负载最小的转码器进行转码。

本发明实施例中,所述负载信息还包括宕机信息,所述装置还包括删除单元,用于当所述转码器的负载信息表明所述转码器宕机时,将宕机的转码器从所述转码器集群中删除。

这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。

实施例五

基于前述的实施例,本发明实施例提供一种转码器的动态调度装置,该装 置所包括的各单元,以及各单元所包括的各模块,都可以通过计算设备中的处理器来实现,当然,处理器所实现的功能也可通过具体的逻辑电路实现;在具体实现的过程中,在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。

图5为本发明实施例五转码器的动态调度装置的组成结构示意图,如图5所示,该装置400包括获取单元401、确定单元500、判断单元402、加载单元403、接收单元404和分发单元405,其中:

所述获取单元401,用于获取转码器集群中各转码器的负载信息;

这里,所述获取单元包括监控模块、存储模块和获取模块,其中:所述监控模块,用于监控转码器集群中各转码器的负载信息;所述存储模块,用于将每一所述转码器的负载信息存储于共享数据库中;所述获取模块,用于从所述共享数据库中获取所述转码器的负载信息。

所述确定单元500,用于根据确定每一转码器的综合负载值;

其中,loadm表示第m个转码器的综合负载值,Lij表示第i个转码器的第j个负载信息,评估算法函数F包括选线性加权函数模型或遗传算法和神经网络算法;

所述判断单元402,用于判断所述转码器集群中转码器的综合负载值是否满足预设的第二条件,得到判断结果;

所述加载单元403,用于当所述判断结果表明所有所述转码器集群中转码器的综合负载值均不满足所述第二条件时,加载新的转码器至所述转码器集群中;

所述接收单元404,用于接收用户的转码请求;

所述转码单元405,用于将对所述转码请求所对应的视频分发给所述新的转码器进行转码。

本发明实施例中,所述装置还包括排序单元,用于当所述判断结果表明至少之一转码器的综合负载值满足所述第二条件时,对满足第二条件的转码器的负载信息进行排序,得到排序结果;

对应地,所述分发单元,用于按照所述排序结果将所述转码请求所对应的视频分发给负载最小的转码器进行转码。

本发明实施例中,所述负载信息还包括宕机信息,所述装置还包括删除单元,用于当所述转码器的负载信息表明所述转码器宕机时,将宕机的转码器从所述转码器集群中删除。

本发明实施例中,当采用QSV转码时,所述确定单元,用于根据loadi=R1*CPUusage+R2*MEMusage+R3*GPUusage每一转码器的综合负载值;其中,CPUusage是CPU利用率,MEMusage表示内存利用率,GPUusage表示GPU利用率,R1、R2和R2表示负载参数的权重值。

这里,所述R1、R2和R2根据转码的类型而确定,其中所述转码的类型包括软转码和硬转码。

这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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