一种分配视频转换资源的方法及系统的制作方法

文档序号:10627212阅读:424来源:国知局
一种分配视频转换资源的方法及系统的制作方法
【专利摘要】本发明实施例提供一种分配视频转换资源的方法及系统,用以解决现有的进行转码的方式资源利用率比较低,在有大量需要转码的视频时,会严重降低转码效率的问题。本发明实施例确定转换转码任务对应的视频时需要消耗的资源值;根据所述转码任务对应的转码资源值和转码资源占用情况,在确定能够为所述转码任务分配转码资源后,从当前能够分配的转码资源中为所述转码任务分配转码资源,改变了现有技术中设置固定的处理数量进行转码的方式,从而提高了资源利用率,在有大量需要转码的视频时,提高了转码效率。
【专利说明】
一种分配视频转换资源的方法及系统
技术领域
[0001] 本发明实施例涉及视频技术领域,尤其涉及一种分配视频转换资源的方法及系 统。
【背景技术】
[0002] 云服务是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网 来提供动态易扩展且经常是虚拟化的资源。云服务指通过网络以按需、易扩展的方式获得 所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。
[0003] 在视频生产过程中,视频转码是最重要的环节。视频转码(Video Transcoding) 是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的 终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程。
[0004] 在云计算高速发展的背景下,云转码服务已经越来越完善。目前云转码服务是给 每一台转码服务器设置固定的处理数量,每一台转码服务器根据固定的处理数量处理每一 个转码任务,当达到固定的处理数量后,停止对转码任务进行处理。
[0005] 随着使用云计算的用户不断增加,云转码服务将要面对的是海量的视频转码请 求。目前采用给每一个转码服务器设置固定的处理数量进行转码的方式资源利用率比较 低,在有大量需要转码的视频时,会严重降低转码效率。
[0006] 综上所述,目前进行转码的方式资源利用率比较低,在有大量需要转码的视频时, 会严重降低转码效率。

【发明内容】

[0007] 本发明实施例提供一种分配视频转换资源的方法及系统,用以解决现有的进行转 码的方式资源利用率比较低,在有大量需要转码的视频时,会严重降低转码效率的问题。
[0008] 本发明实施例提供的一种分配视频转换资源的方法,包括:
[0009] 根据收到的视频转换请求,生成转码任务;
[0010] 确定转码任务对应的转码资源值,其中转码任务对应的转码资源值为处理所述转 码任务对应的视频时需要消耗的转码服务器的资源量;
[0011] 根据所述转码任务对应的转码资源值和转码资源占用情况,判断是否能够为所述 转码任务分配转码资源;
[0012] 在确定能够为所述转码任务分配转码资源后,从当前能够分配的转码资源中为所 述转码任务分配转码资源。
[0013] 本发明实施例提供的一种分配视频转换资源的系统,该系统包括:
[0014] 生成单元,用于根据收到的视频转换请求,生成转码任务;
[0015] 确定单元,用于确定转码任务对应的转码资源值,其中转码任务对应的转码资源 值为处理所述转码任务对应的视频时需要消耗的转码服务器的资源量;
[0016] 判断单元,用于根据所述转码任务对应的转码资源值和转码资源占用情况,判断 是否能够为所述转码任务分配转码资源;
[0017] 分配单元,用于在所述判断单元确定能够为所述转码任务分配转码资源后,从当 前能够分配的转码资源中为所述转码任务分配转码资源。
[0018] 本发明实施例确定转换转码任务对应的视频时需要消耗的资源值;根据所述转 码任务对应的转码资源值和转码资源占用情况,在确定能够为所述转码任务分配转码资源 后,从当前能够分配的转码资源中为所述转码任务分配转码资源,改变了现有技术中设置 固定的处理数量进行转码的方式,从而提高了资源利用率,在有大量需要转码的视频时,提 高了转码效率。
【附图说明】
[0019] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。
[0020] 图1为本发明实施例分配视频转换资源的方法流程示意图;
[0021] 图2为本发明实施例转码资源池的示意图;
[0022] 图3为本发明实施例资源申请队列的示意图;
[0023] 图4为本发明实施例空闲资源的示意图;
[0024] 图5为本发明实施例分配视频转换资源的结构示意图;
[0025] 图6为本发明实施例分配视频转换资源的系统结构示意图;
[0026] 图7为本发明分配视频转换资源的方法一个实施例应用流程示意图。
【具体实施方式】
[0027] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028] 本发明实施例确定转换转码任务对应的视频时需要消耗的资源值;根据所述转 码任务对应的转码资源值和转码资源占用情况,在确定能够为所述转码任务分配转码资源 后,从当前能够分配的转码资源中为所述转码任务分配转码资源,改变了现有技术中设置 固定的处理数量进行转码的方式,从而提高了资源利用率,在有大量需要转码的视频时,提 高了转码效率。
[0029] 下面结合说明书附图对本发明实施例作进一步详细描述。
[0030] 如图1所示,本发明实施例分配视频转换资源的方法包括:
[0031] 步骤101、根据收到的视频转换请求,生成转码任务;
[0032] 步骤102、确定转码任务对应的转码资源值,其中转码任务对应的转码资源值为处 理所述转码任务对应的视频时需要消耗的转码服务器的资源量;
[0033] 步骤103、根据所述转码任务对应的转码资源值和转码资源占用情况,判断是否能 够为所述转码任务分配转码资源;
[0034] 步骤104、在确定能够为所述转码任务分配转码资源后,从当前能够分配的转码资 源中为所述转码任务分配转码资源。
[0035] 本发明实施例如果有转换视频的需求,可以发送视频转换请求。
[0036] 比如用户需要进行视频转换,可以通过业务端发送视频转换请求。
[0037] 本发明实施例的业务端可以是应用在移动终端中的业务端;也可以是应用在电脑 中的应用端;也可以是应用在其他设备中的业务端;或者是远程服务器。
[0038] 由于有可能在一段时间内收到大量的视频转换请求,一种可选的方式是在收到视 频转换请求后,将视频转换请求置于任务队列中,然后按照任务队列中顺序,依次对任务队 列中的任务进行处理。
[0039] 将视频转换请求置于任务队列中的方式有很多,比如可以按照收到的视频转换请 求的时间,将视频转换请求置于任务队列中;还可以按照视频转换请求的优先级,将视频转 换请求置于任务队列中。
[0040] 如果按照收到的视频转换请求的时间,将视频转换请求置于任务队列中,可以在 新收到一个视频转换请求后,将新收到的视频转换请求置于任务队列中最后。
[0041] 如果按照视频转换请求的优先级,将视频转换请求置于任务队列中,可以将优先 级高的视频转换请求置于优先级低的视频转换请求前面。
[0042] 可选的,视频转换请求的优先级可以根据需求进行设定,比如可以根据视频转换 请求需要转换的视频格式确定;还可以根据发送视频转换请求的用户确定。
[0043] 如果根据视频转换请求需要转换的视频格式确定,一种可选的方式是需要转换的 视频格式清晰度低的优先级高。
[0044] 如果根据发送视频转换请求的用户确定,一种可选的方式是高级用户发送的视频 转换请求的优先级高。
[0045] 在对视频转换请求进行处理时,将视频转换请求,生成转码任务。
[0046] 可选的,根据视频请求中的需求转换清晰度生成转码任务(task),例如视频转换 请求中需要转出三种不同清晰度,会生成三条不同的转码任务。这些转码任务中包含了转 码参数、logo需求、片源地址等信息,并且三条转码任务会存入任务队列中。
[0047] 生成转码任务后,需要确定转码任务对应的转码资源值,其中转码任务对应的转 码资源值为转换转码任务对应的视频时需要消耗的资源值。
[0048] 本发明实施例引入转码资源消耗估值体系。本发明实施例的转码资源消耗估值体 系包括转码任务对应的转码资源值以及转码资源占用情况(转码资源占用情况后续进行 介绍)。
[0049] 对于转码任务对应的转码资源值,不同的转码任务由于片源的大小和格式,需求 的输出清晰度不同,对转码资源的消耗有着很大的差异。
[0050] 本发明实施例以资源单位为100的转码服务器为载体,对不同转码任务的资源消 耗进行数据测算,得出转码输出各档清晰度视频所需要消耗资源单位的理论值。
[0051] 其中,资源单位为100只是举例说明,根据需要也可以采用其他数据作为资源单 位。
[0052] -种可选的确定转码任务对应的转码资源值的方式是:根据视频格式和转码资源 值的对应关系,确定所述转码任务对应的转码资源值。
[0053] 视频格式和转码资源值的对应关系可以根据经验、需求等进行设定。下面给出一 种视频格式和转码资源值的对应关系实例,如下表所示:
[0054]
[0055] 此表中的估值是在个影啊转妈双卒和在吐重杀忏卜的埋论佰值,在实际的转码生 产过程中,还可以根据不断产生的实际数据对此理论估值进行不断的学习和修正,能够使 得这个资源消耗估值越来越接近正确的估值区间。
[0056] 本发明实施例在日常的转码生产的过程中,根据大数据采集的方式对全量的生产 数据进行收集和处理,取到上述数据后,根据实际生产数据中各清晰度分布的情况进行数 据计算,最终得出各档清晰度转码任务的实际资源消耗值。
[0057] 具体的,对执行转码任务的转码服务器进行采样,得到所述转码服务器的资源信 息和正在转码的资源的视频格式速度比,其中所述视频格式速度比表示转换该视频格式的 时间和对应资源的时长的比值;
[0058] 根据多次采样得到的所述转码服务器的资源信息和正在转码的资源的视频格式 速度比,确定不同视频格式的转码资源值;
[0059] 将同一个视频格式的转码资源值取平均,得到同一个视频格式的平均转码资源 值;
[0060] 根据所述同一个视频格式的平均转码资源值,对所述对应关系中视频格式对应的 转码资源值进行更新。
[0061] 可选的,视频格式的转码资源值满足下列公式:
[0062] A! X C! X R!+A2 X C2 X R2+.........An X Cn X Rn= Y z
[0063] 其中,Rn为视频格式n的转码资源值;An为视频格式n的视频格式速度比;C n为采 样时转码服务器Z的并行任务数;ΥΖ= Μ Z*PZ,Yz为转码服务器Z的资源信息,Μ 2为转码服 务器Ζ的资源得分,Ρζ为采样时转码服务器Ζ的资源占用率。
[0064] 在实施中,视频格式速度比可以根据大量任务的视频格式速度比加权平均算法计 算而得,取较长时间的稳定值。
[0065] 比如转换任务需要将资源Α转换成mp4_640格式,确定将资源Α转换成mp4_640 格式花费的时间T1,以及确定转换部分播放的时长T2 (比如需要转换资源A第60分钟到 第120分钟的内容,则T1为转换第60分钟到第120分钟的内容消耗的时间;T2为播放需 要转换部分的时长,即第60分钟到第120分钟的时长,这里是60分钟),将T2/T1就得到 mp4_640格式的视频格式速度比,将多个mp4_640格式的视频格式速度比加权平均,就得到 mp4_640格式最终的视频格式速度比。
[0066] 在后续得到的新的mp4_640格式的视频格式速度比不断加入之前最终的视频格 式速度比中加权平均,就会得到取较长时间的稳定值。
[0067] 转码服务器Z的资源得分为一参考得分,是对机器进行定期性能评测而得的。
[0068] 下面列举一个例子:
[0069]
[0070] 由于上述公式中有多个需要确定的R值,所以采用交叉任务类型测试运算的方式 可以组成多元组,从而求解不同的R值:
[0071] l*Rl*8+0. 5*R2*10 = 100*0. 99
[0072] 0. 5*R2*10+0. 3*R3*5 = 90*0. 87
[0073] 0· 5*Rl*4+0. 3*R3*8 = 85*1
[0074] ......
[0075] 此处对N组采样数据进行运算得到N组R1、N组R2和N组R3。
[0076] 然后按照一定时间内采样确定的R1进行加权平均获取一定时间内的均值,并根 据多个均值数据运算出单位时间内的均值,从而修正mp4_640对应的转码资源值。
[0077] 同样的,R2和R3做法与R1类似,不再赘述。
[0078] 这里可以以月(或季度或年等)数据量为单位,根据实际资源消耗值对上表中的 理论估值进行修正,以实际生产过程中不断产生的大量数据采样和加权均值计算来不断修 正理论估值,以使理论值无限接近于实际消耗值。
[0079] 需要说明的是,本发明实施例并不局限于上述确定转码任务对应的转码资源值的 方式,其他能够确定转码任务对应的转码资源值的方式都适用本发明实施例。
[0080] 本发明实施例通过转码服务器进行转码,由于转码服务器的数量比较多,分布比 较广,本发明实施例将转码服务器分成多个转码资源池,便于对转码资源进行管理和查找。
[0081] 如图2所示,本发明实施例可以根据不同的物理地区节点、运营商和用户独立资 源需求等条件将物理节点划分为不同的转码资源池。其中,每个转码资源池包含至少一个 物理节点,每个物理节点包含至少一台转码服务器。
[0082] 由于在实施中,有可能在一段时间内生成大量的转码任务,这时需要将转码任务 置于资源申请队列中。并依次处理资源申请队列中的转码任务。
[0083] 可选的,本发明实施例针对每个转码资源池,会对应一个资源申请队列。具体的, 根据收到的视频转换请求,生成转码任务之后,确定所述转码任务对应的转码资源池,其中 所述转码资源池由多个转码服务器组成;
[0084] 将所述转码任务置于所述转码任务对应的转码资源池的资源申请队列中。
[0085] 可选的,本发明实施例还可以对每个转码任务设置优先级,确定所述转码任务对 应的优先级,根据所述转码任务对应的优先级,将所述转码任务置于所述转码任务对应的 转码资源池的资源申请队列中。
[0086] 比如可以将优先级高的转码任务置于优先级低的转码任务前面。
[0087] 每个转码任务对应的优先级可以根据需要转码的视频的清晰度确定个转码任务 对应的优先级,比如清晰度高的转码任务对应的优先级高;也可以通过优先级适配方案进 行计算。
[0088] 通过优先级适配方案确定优先级具体包括:根据转码参数及片源信息计算出片源 的优先级,用于对不同视频进行优先次序区分。在片源优先级的基础上,针对不同清晰度的 任务进行优先级适配(例如可以根据清晰度由低到高的顺序),并根据转码需求的不同,计 算出最终的优先级。
[0089] 需要说明的是,上述两种确定转码任务对应的优先级的方案只是举例说明,任何 能够确定转码任务对应的优先级的方案都适用本发明实施例。
[0090] 在实施中,根据转码资源池和优先级,将转码任务置于资源申请队列后,判断是否 能够为所述资源申请队列中的转码任务分配所述转码资源池中的转码资源。
[0091] 可选的,根据所述资源申请队列中转码任务的排列顺序,确定当前需要进行判断 的目标转码任务;
[0092] 在下列条件中的一种成立后,确定能够为所述目标转码任务分配转码资源:
[0093] 条件一、转码资源池中有空闲的转码资源值大于设定阈值的转码服务器;
[0094] 条件二、转码资源池中有空闲的转码资源值大于目标转换任务对应的转码资源值 的转码服务器;
[0095] 条件三、转码资源池中有空闲的转码资源值和能够使用的超载资源值之和大于目 标转换任务对应的转码资源值的转码服务器。
[0096] 在实施中,可以完成资源申请队列中的一个转码任务后,再判断下一个,也可以判 断转码任务和进行转码同时进行。
[0097] 可选的,若确定无法为目标转码任务分配转码资源,则将所述资源申请队列中的 下一个转码任务作为目标转码任务。
[0098] 下面列举一个详细实例,对上述三种条件进行详细说明。
[0099] 如图3所示,假设当前转码资源池 A对应的资源申请队列中有5个转码任务,分别 需要消耗5个资源、10个资源、3个资源、25个资源和13个资源。
[0100] 如图4所示,假设当前转码资源池 A中有5个转码服务器,空闲的转码资源值分别 是 80、70、50、20 和 2。
[0101] 针对条件一,假设设定阈值为50,则图4中有两个转码服务器的空闲资源大于50, 所以可以为图3中资源申请队列的第一个转码任务分配资源,该资源为空闲的转码资源值 80和70的转码服务器中的一个。
[0102] 假设该资源为空闲的转码资源值80的转码服务器,由于第一个转码任务的转码 资源值为5,则空闲的转码资源值80的转码服务器变为75。
[0103] 然后按照空闲的转码资源值分别是75、70、50、20和2,继续判断下一个转码任务。
[0104] 针对条件二,图4中所有的转码服务器中转码服务器1、2、3、4的空闲资源都大于 5,由于第一个转码任务的转码资源值为5,则可以为图3中资源申请队列的第一个转码任 务分配资源,该资源为图4中所转码服务器1、2、3、4中的任意一个。
[0105] 由于第二个转码任务的转码资源值为10,所以可以为第二个转码任务分配资源。
[0106] 针对条件三,假设所有的转码服务器空闲的转码资源值都为99,每个转码服务器 能够使用的超载资源值为3,则只能为第三个转码任务的分配资源(即消耗资源值为3的转 码任务)。
[0107] 可选的,如果分配结果为能够为目标转码任务分配转码资源,则对目标转码任务 对应的资源进行转码处理;如果分配结果为不能够为目标转码任务分配转码资源,则将目 标转码任务置于资源申请失败队列中,并按照资源申请失败队列中转码任务的排列顺序, 依次为每个转码任务重新申请资源。
[0108] 如果一个转码任务失败次数达到设定门限值或者发起转码任务的用户停止转码 或者其他需要终止转码任务的情况发生,则删除该转码任务。
[0109] 对一个转码执行指令进行处理的具体过程为:
[0110] 从能够执行所述目标转码任务的转码服务器中选择一个转码服务器;将所述目标 转码任务对应的转码信息通知选择的所述转码服务器。
[0111] 在实施中,确定转码执行指令对应的转码任务的转码资源池和需要的转码资源; 根据转码任务对应的转码信息,控制对应的转码服务器进行转码。
[0112] 转码信息包括但不限于下列信息中的部分或全部:
[0113] 需要转码的视频、需要转码的格式、转码需要的资源。
[0114] 根据转码需要的资源在对应的转码服务器中创建一个容器(container);由转码 服务器执行对应的app对需要转码的视频进行转码。
[0115] 在转码完成或取消后,转码服务器会销毁转码使用的app和容器,并释放对应的 转码资源。
[0116] 可选的,为了随时监控转码情况,转码服务器在转码过程中可以上报心跳数据;
[0117] 在接收到心跳数据后,根据所述心跳数据确定执行所述目标转码任务的情况。
[0118] 进一步的,还可以将心跳数据通过业务端显示给用户。
[0119] 本发明实施例的心跳数据包括转码进度、转码预计时长等信息。
[0120] 除了由转码服务器上报,本发明实施例还提供转码进度查询接口,用户可以通过 转码进度查询接口对正在转码的进度查询。
[0121] 为了对每个视频转换请求进行管理,还可以为每个视频转换请求配置一个生命周 期。
[0122] 根据每个视频转换请求当前所处的状态,更新视频转换请求对应的生命周期,并 为需要进行查询的程序、单元等提供接口查询视频转换请求的生命周期。
[0123] 比如在转码完成或取消后,可以更新转码任务的生命周期。
[0124] 可选的,本发明实施例视频转换请求的生命周期可以是一个固定status的状态 标识,比如:
[0125] status = 0,表示转码请求接收入库;
[0126] status = 1,生成任务完成;
[0127] status = 2,表示请求资源成功;
[0128] status = 3,表示转码中;
[0129] status = 10,表示转码完成上报结果;
[0130] status = -10,表示转码失败。
[0131] 需要说明的是,上述生命周期的表述形式以及表述内容只是举例说明,只要能够 表示视频转换请求所处的状态的信息都适用本发明实施例。
[0132] 如图5所示,本发明实施例的方法一共包括四大部分:
[0133] 第一部分:业务端,类似客户端,用户可以通过业务端发起视频转换请求。
[0134] 第二部分:转码调度。
[0135] 转码调度包括两大部分:
[0136] 一、任务管理:
[0137] 1、负责队列管理,具体包括队列整体状况管理和转码进度查询接口;
[0138] 2、任务生命周期管理,具体包括任务状态管理、下发转码指令和接收转码开始和 终止信息。
[0139] 二、资源调度:
[0140] 1、适配,具体包括转码资源池适配、优先级适配和资源用量适配
[0141] 2、资源管理,具体包括提交资源申请和资源分配结果处理。
[0142] 第三部分:资源管理。
[0143] 资源管理包括两大部分:
[0144] 一、APP 管理:
[0145] 1、单元交互逻辑,具体包括接收指令、接收心跳数据、任务状态变更汇报和转码进 度查询接口;
[0146] 2、转码指令执行,具体包括创建和使用容器。
[0147] 二、资源管理:
[0148] 1、资源分配和管理,具体包括对资源申请请求处理、申请结果处理和资源分配;
[0149] 2、监控,具体包括转码服务器状态监控和容器状态监控。
[0150] 第四部分:转码资源池。
[0151] 如图6所示,本发明实施例分配视频转换资源的系统,包括:生成单元300、确定单 元301、判断单元302和分配单元303。
[0152] 其中,本发明实施例中的生成单元300、确定单元301、判断单元302和分配单元 303可以通过硬件处理器(hardware processor)来实现相关功能单元。本发明实施例分配 视频转换资源的系统中的各单元可以分布在一个实体中,也可以分布在多个实体中。
[0153] 生成单元300,用于根据收到的视频转换请求,生成转码任务;
[0154] 确定单元301,用于确定转码任务对应的转码资源值,其中转码任务对应的转码资 源值为处理所述转码任务对应的视频时需要消耗的转码服务器的资源量;
[0155] 判断单元302,用于根据所述转码任务对应的转码资源值和转码资源占用情况,判 断是否能够为所述转码任务分配转码资源;
[0156] 分配单元303,用于在所述判断单元确定能够为所述转码任务分配转码资源后,从 当前能够分配的转码资源中为所述转码任务分配转码资源。
[0157] 本发明实施例如果有转换视频的需求,可以通过业务端发送视频转换请求。
[0158] 比如用户需要进行视频转换,可以通过业务端发送视频转换请求。
[0159] 由于有可能在一段时间内生成单元300收到大量的视频转换请求,一种可选的方 式是生成单元300在收到视频转换请求后,将视频转换请求置于任务队列中,然后按照任 务队列中顺序,依次对任务队列中的任务进行处理。
[0160] 生成单元300将视频转换请求置于任务队列中的方式有很多,比如可以按照收到 的视频转换请求的时间,将视频转换请求置于任务队列中;还可以按照视频转换请求的优 先级,将视频转换请求置于任务队列中。
[0161] 如果按照收到的视频转换请求的时间,将视频转换请求置于任务队列中,可以在 新收到一个视频转换请求后,将新收到的视频转换请求置于任务队列中最后。
[0162] 如果按照视频转换请求的优先级,将视频转换请求置于任务队列中,可以将优先 级高的视频转换请求置于优先级低的视频转换请求前面。
[0163] 可选的,视频转换请求的优先级可以根据需求进行设定,比如可以根据视频转换 请求需要转换的视频格式确定;还可以根据发送视频转换请求的用户确定。
[0164] 本发明实施例引入转码资源消耗估值体系。本发明实施例的转码资源消耗估值体 系包括转码任务对应的转码资源值以及转码资源占用情况(转码资源占用情况后续进行 介绍)。
[0165] 对于转码任务对应的转码资源值,不同的转码任务由于片源的大小和格式,需求 的输出清晰度不同,对转码资源的消耗有着很大的差异。
[0166] 本发明实施例以资源单位为100的转码服务器为载体,对不同转码任务的资源消 耗进行数据测算,得出转码输出各档清晰度视频所需要消耗资源单位的理论值。
[0167] 其中,资源单位为100只是举例说明,根据需要也可以采用其他数据作为资源单 位。
[0168] -种可选的确定转码任务对应的转码资源值的方式是:确定单元301根据视频格 式和转码资源值的对应关系,确定所述转码任务对应的转码资源值。
[0169] 视频格式和转码资源值的对应关系可以根据经验、需求等进行设定。
[0170] 本发明实施例在日常的转码生产的过程中,根据大数据采集的方式对全量的生产 数据进行收集和处理,取到上述数据后,根据实际生产数据中各清晰度分布的情况进行数 据计算,最终得出各档清晰度转码任务的实际资源消耗值。
[0171] 确定单元301具体用于:
[0172] 对执行转码任务的转码服务器进行采样,得到所述转码服务器的资源信息和正在 转码的资源的视频格式速度比,其中所述视频格式速度比表示转换该视频格式的时间和对 应资源的时长的比值;根据多次采样得到的所述转码服务器的资源信息和正在转码的资源 的视频格式速度比,确定不同视频格式的转码资源值;将同一个视频格式的转码资源值取 平均,得到同一个视频格式的平均转码资源值;根据所述同一个视频格式的平均转码资源 值,对所述对应关系中视频格式对应的转码资源值进行更新。
[0173] 可选的,视频格式的转码资源值满足下列公式:
[0174] A! X C! X R!+A2 X C2 X R2+.........AnXCnXRn= Yz
[0175] 其中,Rn为视频格式n的转码资源值;An为视频格式n的视频格式速度比;C n为采 样时转码服务器Z的并行任务数;ΥΖ= Μ Z*PZ,Yz为转码服务器Z的资源信息,Μ 2为转码服 务器Ζ的资源得分,Ρζ为采样时转码服务器Ζ的资源占用率。
[0176] 在实施中,视频格式速度比可以根据大量任务的视频格式速度比加权平均算法计 算而得,取较长时间的稳定值。
[0177] 比如转换任务需要将资源Α转换成mp4_640格式,确定将资源Α转换成mp4_640 格式花费的时间T1,以及确定转换部分播放的时长T2 (比如需要转换资源A第60分钟到 第120分钟的内容,则T1为转换第60分钟到第120分钟的内容消耗的时间;T2为播放需 要转换部分的时长,即第60分钟到第120分钟的时长,这里是60分钟),将T2/T1就得到 mp4_640格式的视频格式速度比,将多个mp4_640格式的视频格式速度比加权平均,就得到 mp4_640格式最终的视频格式速度比。
[0178] 在后续得到的新的mp4_640格式的视频格式速度比不断加入之前最终的视频格 式速度比中加权平均,就会得到取较长时间的稳定值。
[0179] 转码服务器Z的资源得分为一参考得分,是对机器进行定期性能评测而得的。
[0180] 这里可以以月(或季度或年等)数据量为单位,根据实际资源消耗值对上表中的 理论估值进行修正,以实际生产过程中不断产生的大量数据采样和加权均值计算来不断修 正理论估值,以使理论值无限接近于实际消耗值。
[0181] 需要说明的是,本发明实施例并不局限于上述确定转码任务对应的转码资源值的 方式,其他能够确定转码任务对应的转码资源值的方式都适用本发明实施例。
[0182] 本发明实施例通过转码服务器进行转码,由于转码服务器的数量比较多,分布比 较广,本发明实施例将转码服务器分成多个转码资源池。
[0183] 如图2所示,本发明实施例可以根据不同的物理地区节点、运营商和用户独立资 源需求等条件将物理节点划分为不同的转码资源池。其中,每个转码资源池包含至少一个 物理节点,每个物理节点包含至少一台转码服务器。
[0184] 由于在实施中,有可能在一段时间内生成大量的转码任务,这时确定单元301需 要将转码任务置于资源申请队列中。
[0185] 可选的,本发明实施例针对每个转码资源池,会对应一个资源申请队列。具体的, 所述确定单元301还用于:
[0186] 在所述生成单元生成转码任务之后,确定所述转码任务对应的转码资源池,其中 所述转码资源池由多个转码服务器组成;根据所述转码任务对应的转码资源池为所述转码 任务分配资源。
[0187] 可选的,所述确定单元301还用于:
[0188] 在所述生成单元生成转码任务之后,确定所述转码任务对应的优先级,根据所述 转码任务对应的优先级,将所述转码任务加入到资源申请队列中。
[0189] 可选的,所述判断单元302具体用于:
[0190] 根据所述资源申请队列中转码任务的排列顺序,确定当前需要进行判断的目标转 码任务;
[0191] 在下列条件中的一种成立后,确定能够为所述目标转码任务分配转码资源:
[0192] 转码资源池中有空闲的转码资源值大于设定阈值的转码服务器;
[0193] 转码资源池中有空闲的转码资源值大于目标转换任务对应的转码资源值的转码 服务器;
[0194] 转码资源池中有空闲的转码资源值和能够使用的超载资源值之和大于目标转换 任务对应的转码资源值的转码服务器。
[0195] 在实施中,可以完成资源申请队列中的一个转码任务后,再判断下一个,也可以判 断转码任务和进行转码同时进行。
[0196] 可选的,若确定无法为目标转码任务分配转码资源,则所述判断单元302将所述 资源申请队列中的下一个转码任务作为目标转码任务。
[0197] 可选的,所述判断单元302还用于:
[0198] 判断是否能够为所述资源申请队列中的转码任务分配转码资源之后,若确定无法 为目标转码任务分配转码资源,则将所述资源申请队列中的下一个转码任务作为目标转码 任务。
[0199] 如果分配结果为能够为目标转码任务分配转码资源,则分配单元303可以对目标 转码任务对应的资源进行转码处理;如果分配结果为不能够为目标转码任务分配转码资 源,则分配单元303可以将目标转码任务置于资源申请失败队列中,并按照资源申请失败 队列中转码任务的排列顺序,依次为每个转码任务重新申请资源。
[0200] 如果一个转码任务失败次数达到设定门限值或者发起转码任务的用户停止转码 或者其他需要终止转码任务的情况发生,则分配单元303删除该转码任务。
[0201] 可选的,分配单元303具体用于:
[0202] 从能够执行所述目标转码任务的转码服务器中选择一个转码服务器;将所述目标 转码任务对应的转码信息通知选择的所述转码服务器,以使所述转码服务器执行所述目标 转码任务。
[0203] 在实施中,分配单元303从能够执行所述目标转码任务的转码服务器中选择一个 转码服务器;将所述目标转码任务对应的转码信息通知选择的所述转码服务器。
[0204] 分配单元303确定转码任务的转码资源池和需要的转码资源;根据转码任务对应 的转码信息,控制对应的转码服进行转码。
[0205] 转码信息包括但不限于下列信息中的部分或全部:
[0206] 需要转码的视频、需要转码的格式、转码需要的资源。
[0207] 分配单元303根据转码需要的资源在对应的转码服务器中创建一个容器;由转码 服务器执行对应的app对需要转码的视频进行转码。
[0208] 在转码完成或取消后,转码服务器会销毁转码使用的app和容器,并释放对应的 转码资源。
[0209] 下面列举一个完整的本发明实施例视频转换的例子。
[0210] 如图7所示,本发明一个实施例视频转换的方法包括:
[0211] 步骤401、在收到用户通过业务端发送视频转换请求的视频转换请求后,根据视频 转换请求生成转码任务。
[0212] 步骤402、将生成的转码任务置于任务队列中。
[0213] 步骤403、从任务队列中提取出排在最前面的一个转码任务,并确定转码任务对应 的转码资源池、优先级以及转码资源值。
[0214] 步骤404、根据确定的转码资源池,确定转码任务对应的转码资源池,并根据确定 的优先级,将转码任务置于转码资源池对应的资源申请列队中。
[0215] 步骤405、针对一个转码资源池对应的资源申请列队,从资源申请列队提取出最前 面的一个转码任务,并根据转码任务对应的转码资源值和转码资源占用情况,判断是否能 够为所述转码任务分配转码资源,并将判断结果返回给转码调度中心。
[0216] 步骤406、根据收到的判断结果,若确定能够为所述转码任务分配转码资源,则执 行步骤407 ;若确定不能够为所述转码任务分配转码资源,则执行步骤408。
[0217] 步骤407、根据对应的转码任务的转码信息,确定转码服务器,并在转码服务器中 建立容器,以使转码服务器执行对应的app进行转码工作。
[0218] 步骤408、将资源分配失败的转码任务置于失败队列中,并进行异步申请处理。
[0219] 在实施中,进行异步申请处理时,可以启用一个异步扫描的定时任务,定时对失败 队列进行任务抓取(比如每五秒钟扫描抓取10个失败任务),取到失败的任务就重新进行 资源申请重试操作。
[0220] 从上述内容可以看出:本发明实施例确定转换转码任务对应的视频时需要消耗的 资源值;根据所述转码任务对应的转码资源值和转码资源占用情况,在确定能够为所述转 码任务分配转码资源后,从当前能够分配的转码资源中为所述转码任务分配转码资源,改 变了现有技术中设置固定的处理数量进行转码的方式,从而提高了资源利用率,在有大量 需要转码的视频时,提高了转码效率。
[0221] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可 以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单 元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其 中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性 的劳动的情况下,即可以理解并实施。
[0222] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可 借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上 述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该 计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施 例或者实施例的某些部分所述的方法。
[0223] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
【主权项】
1. 一种分配视频转换资源的方法,其特征在于,包括: 根据收到的视频转换请求,生成转码任务; 确定转码任务对应的转码资源值,其中转码任务对应的转码资源值为处理所述转码任 务对应的视频时需要消耗的转码服务器的资源量; 根据所述转码任务对应的转码资源值和转码资源占用情况,判断是否能够为所述转码 任务分配转码资源; 在确定能够为所述转码任务分配转码资源后,从当前能够分配的转码资源中为所述转 码任务分配转码资源。2. 根据权利要求1所述的方法,其特征在于,所述确定转码任务对应的转码资源值,包 括: 根据视频格式和转码资源值的对应关系,确定所述转码任务对应的转码资源值。3. 根据权利要求2所述的方法,其特征在于,该方法还包括: 对执行转码任务的转码服务器进行采样,得到所述转码服务器的资源信息和正在转码 的资源的视频格式速度比,其中所述视频格式速度比表示转换该视频格式的时间和对应资 源的时长的比值; 根据多次采样得到的所述转码服务器的资源信息和正在转码的资源的视频格式速度 比,确定不同视频格式的转码资源值; 将同一个视频格式的转码资源值取平均,得到同一个视频格式的平均转码资源值; 根据所述同一个视频格式的平均转码资源值,对所述对应关系中视频格式对应的转码 资源值进行更新。4. 根据权利要求3所述的方法,其特征在于,视频格式的转码资源值满足下列公式: a1xc1xr1+a2xc2xr 2+.........AnxCnxRn= γζ 其中,Rn为视频格式η的转码资源值;Αη为视频格式η的视频格式速度比;(^为采样时 转码服务器Ζ的并行任务数;ΥΖ= ΜΖ*ΡΖ,ΥΖ为转码服务器Ζ的资源信息,Μζ为转码服务器Ζ 的资源得分,Ρζ为采样时转码服务器Ζ的资源占用率。5. 根据权利要求1~4任一所述的方法,其特征在于,所述判断是否能够为所述转码任 务分配转码资源,包括: 在下列条件中的一种成立后,确定能够为所述转码任务分配转码资源: 有空闲的转码资源值大于设定阈值的转码服务器; 有空闲的转码资源值大于所述转码任务对应的转码资源值的转码服务器; 有空闲的转码资源值和特定资源值之和,大于所述转码任务对应的转码资源值的转码 服务器,其中所述特定资源值为在所述转码服务器上正在进行转码,且在设定时长内能够 完成转码的转码任务占用的资源值。6. -种分配视频转换资源的系统,其特征在于,该系统包括: 生成单元,用于根据收到的视频转换请求,生成转码任务; 确定单元,用于确定转码任务对应的转码资源值,其中转码任务对应的转码资源值为 处理所述转码任务对应的视频时需要消耗的转码服务器的资源量; 判断单元,用于根据所述转码任务对应的转码资源值和转码资源占用情况,判断是否 能够为所述转码任务分配转码资源; 分配单元,用于在所述判断单元确定能够为所述转码任务分配转码资源后,从当前能 够分配的转码资源中为所述转码任务分配转码资源。7. 根据权利要求6所述的系统,其特征在于,所述确定单元具体用于: 根据视频格式和转码资源值的对应关系,确定所述转码任务对应的转码资源值。8. 根据权利要求6所述的系统,其特征在于,所述确定单元还用于: 对执行转码任务的转码服务器进行采样,得到所述转码服务器的资源信息和正在转码 的资源的视频格式速度比,其中所述视频格式速度比表示转换该视频格式的时间和对应资 源的时长的比值;根据多次采样得到的所述转码服务器的资源信息和正在转码的资源的视 频格式速度比,确定不同视频格式的转码资源值;将同一个视频格式的转码资源值取平均, 得到同一个视频格式的平均转码资源值;根据所述同一个视频格式的平均转码资源值,对 所述对应关系中视频格式对应的转码资源值进行更新。9. 根据权利要求8所述的系统,其特征在于,视频格式的转码资源值满足下列公式: a1xc1xr1+a2xc2xr 2+.........AnxCnxRn= γζ 其中,Rn为视频格式η的转码资源值;Αη为视频格式η的视频格式速度比;(^为采样时 转码服务器Ζ的并行任务数;ΥΖ= ΜΖ*ΡΖ,ΥΖ为转码服务器Ζ的资源信息,Μζ为转码服务器Ζ 的资源得分,Ρζ为采样时转码服务器Ζ的资源占用率。10. 根据权利要求6~9任一所述的系统,其特征在于,所述判断单元还用于: 在下列条件中的一种成立后,确定能够为所述转码任务分配转码资源: 有空闲的转码资源值大于设定阈值的转码服务器; 有空闲的转码资源值大于所述转码任务对应的转码资源值的转码服务器; 有空闲的转码资源值和特定资源值之和,大于所述转码任务对应的转码资源值的转码 服务器,其中所述特定资源值为在所述转码服务器上正在进行转码,且在设定时长内能够 完成转码的转码任务占用的资源值。
【文档编号】H04N21/2343GK105992020SQ201510440991
【公开日】2016年10月5日
【申请日】2015年7月24日
【发明人】王孝庆, 鲍大磊
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1