可左右滑动选省市

转码资源的调度方法、系统以及调度装置实用新型专利

更新时间:2024-07-01
转码资源的调度方法、系统以及调度装置实用新型专利 专利申请类型:实用新型专利;
源自:北京高价值专利检索信息库;

专利名称:转码资源的调度方法、系统以及调度装置

专利类型:实用新型专利

专利申请号:CN202210209786.2

专利申请(专利权)人:京东科技信息技术有限公司
权利人地址:北京市大兴区北京经济技术开发区科创十一街18号院2号楼6层601

专利发明(设计)人:杨佳浩

专利摘要:本公开涉及一种转码资源的调度方法、系统以及调度装置,涉及计算机技术领域。本公开的方法包括:调度装置接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量;调度装置根据各个转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量;调度装置根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为待处理的视频转码任务分配转码机进行处理。

主权利要求:
1.一种转码资源的调度方法,包括:
调度装置接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量,其中,针对每个转码机,所述转码机在每个周期的预设时间点,确定本转码机中各个视频转码任务的转码阶段,所述转码机根据各个视频转码任务的转码阶段以及不同阶段占用的资源量,确定所有视频转码任务实际占用的资源总量,所述转码机将本转码机中所有视频转码任务实际占用的资源总量发送至所述调度装置,其中,所述转码阶段包括下载阶段、转码处理阶段和上传阶段,所述下载阶段和转码处理阶段占用的资源量大于所述上传阶段占用的资源量;
所述调度装置根据各个转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量;
所述调度装置根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为所述待处理的视频转码任务分配转码机进行处理,其中,转码任务管理装置根据所述待处理的视频转码任务对应的转码后视频的高度或码率,确定转码档位,根据转码后视频的码率、帧率和所述转码档位确定所述待处理的视频转码任务所需的资源量,其中,不同转码档位包括对应的基准资源量、码率范围、码率系数范围、帧率范围和帧率系数范围。
2.根据权利要求1所述的调度方法,其中,所述调度装置根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为所述待处理的视频转码任务分配转码机进行处理包括:所述调度装置接收转码任务管理装置发送的资源请求,其中,所述资源请求包括所述待处理的视频转码任务所需的资源量;
所述调度装置根据预设负载均衡算法,从所述集群中选取当前空余资源量满足所述待处理的视频转码任务所需的资源量的转码机;
所述调度装置将选取的转码机的IP地址发送至所述转码任务管理装置,以便所述转码任务管理装置将所述待处理的视频转码任务发送至所述选取的转码机。
3.根据权利要求1所述的调度方法,还包括:
所述调度装置根据所述待处理的视频转码任务所需的资源量,更新处理所述待处理的视频转码任务的转码机的当前空余资源量。
4.根据权利要求1所述的调度方法,还包括:
转码任务管理装置接收转码任务请求,其中,所述转码任务请求包括:转码后视频的参数;
所述转码任务管理装置根据所述转码任务请求,生成所述待处理的视频转码任务,并确定所述待处理的视频转码任务所需的资源量;
所述转码任务管理装置根据所述待处理的视频转码任务所需的资源量向所述调度装置发送资源请求。
5.根据权利要求4所述的调度方法,其中,
所述转码后视频的参数包括:转码后视频的编码格式、高度、码率、帧率。
6.根据权利要求1所述的调度方法,其中,所述转码任务管理装置根据所述转码后视频的码率、帧率和所述转码档位,确定所述待处理的视频转码任务所需的资源量包括:所述转码任务管理装置根据所述转码后视频的码率、所述转码档位对应的最大码率、码率系数的最大值和码率系数的最小值确定码率因子;
所述转码任务管理装置根据所述转码后视频的帧率、所述转码档位对应的最大帧率、帧率系数的最大值和帧率系数的最小值确定帧率因子;
所述转码任务管理装置根据所述转码档位对应的基准资源量,所述码率因子和所述帧率因子,确定所述待处理的视频转码任务所需的资源量。
7.根据权利要求6所述的调度方法,其中,所述转码任务管理装置根据所述转码档位对应的基准资源量,所述码率因子和所述帧率因子,确定所述待处理的视频转码任务所需的资源量包括:所述转码任务管理装置将所述转码档位对应的基准资源量与所述码率因子和所述帧率因子相乘,确定所述待处理的视频转码任务所需的初步资源量;
所述转码任务管理装置根据所述待处理的视频转码任务所需的初步资源量和所述待处理的视频转码任务对应的编码格式因子,确定所述待处理的视频转码任务所需的初步资源量。
8.根据权利要求7所述的调度方法,其中,所述转码任务管理装置根据所述待处理的视频转码任务所需的初步资源量和所述待处理的视频转码任务对应的编码格式因子,确定所述待处理的视频转码任务所需的初步资源量包括:所述转码任务管理装置在所述待处理的视频转码任务所需的初步资源量大于所述转码档位对应的最大资源量的情况下,将所述转码档位对应的最大资源量与所述待处理的视频转码任务对应的编码格式因子的乘积,作为所述待处理的视频转码任务所需的资源量;
所述转码任务管理装置在所述待处理的视频转码任务所需的初步资源量小于所述转码档位对应的最小资源量的情况下,将所述转码档位对应的最小资源量与所述待处理的视频转码任务对应的编码格式因子的乘积,作为所述待处理的视频转码任务所需的资源量;
所述转码任务管理装置在所述待处理的视频转码任务所需的初步资源量小于所述转码档位对应的最大资源量且大于所述转码档位对应的最小资源量的情况下,将所述待处理的视频转码任务所需的初步资源量与所述待处理的视频转码任务对应的编码格式因子的乘积,作为所述待处理的视频转码任务所需的资源量。
9.根据权利要求1所述的调度方法,还包括:
测试装置设置所述转码档位对应的待测试转码任务;
所述测试装置将多个待测试转码任务在测试转码机并行处理,确定所述测试转码机的参数在预设范围内的情况下,所述待测试转码任务的个数;
所述测试装置根据所述待测试转码任务的个数和所述测试转码机的总资源量,确定所述待测试转码任务占用的资源量,作为所述转码档位对应的基准资源量。
10.根据权利要求9所述的调度方法,其中,
所述待测试转码任务对应的转码后的视频的分辨率为所述转码档位对应的分辨率,所述待测试转码任务对应的转码后的视频的高度、码率、帧率和编码格式分别为基准高度、基准码率、基准帧率和预设编码格式;
所述测试转码机的参数包括:CPU利用率、物理机负载、输出速度、内存占用率和输出视频质量。
11.根据权利要求1所述的调度方法,还包括:
所述调度装置接收分配的转码机发送的资源释放信息,其中,所述资源释放信息表示所述分配的转码机完成所述待处理的视频转码任务;
所述调度装置根据所述资源释放信息,修正存储的所述分配的转码机的当前空余资源量。
12.一种调度装置,包括:
接收模块,用于接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量,其中,针对每个转码机,所述转码机在每个周期的预设时间点,确定本转码机中各个视频转码任务的转码阶段,所述转码机根据各个视频转码任务的转码阶段以及不同阶段占用的资源量,确定所有视频转码任务实际占用的资源总量,所述转码机将本转码机中所有视频转码任务实际占用的资源总量发送至所述调度装置,其中,所述转码阶段包括下载阶段、转码处理阶段和上传阶段,所述下载阶段和转码处理阶段占用的资源量大于所述上传阶段占用的资源量;
存储模块,用于根据各个转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量;
分配模块,用于根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为所述待处理的视频转码任务分配转码机进行处理,其中,所述待处理的视频转码任务所需的资源量是由转码任务管理装置根据转码后视频的码率、帧率和转码档位确定的,所述转码档位是根据所述待处理的视频转码任务对应的转码后视频的高度或码率,确定的,其中,不同转码档位包括对应的基准资源量、码率范围、码率系数范围、帧率范围和帧率系数范围。
13.一种调度装置,包括:
处理器;以及
耦接至所述处理器的存储器,用于存储指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1‑3、11任一项所述的调度方法。
14.一种转码资源的调度系统,包括:权利要求12或13所述的调度装置;以及转码机,用于周期性上报本转码机中所有视频转码任务实际占用的资源总量,接收所述调度装置分配的待处理的视频转码任务并进行处理。
15.根据权利要求14所述的调度系统,还包括:
转码任务管理装置,用于接收转码任务请求,其中,所述转码任务请求包括:转码后视频的参数;根据所述转码任务请求,生成所述待处理的视频转码任务,并确定所述待处理的视频转码任务所需的资源量;根据所述待处理的视频转码任务所需的资源量向所述调度装置发送资源请求,其中,所述转码后视频的参数包括:转码后视频的编码格式、高度、码率、帧率。
16.根据权利要求15所述的调度系统,其中,
所述转码任务管理装置用于根据所述转码后视频的码率、所述转码档位对应的最大码率、码率系数的最大值和码率系数的最小值确定码率因子;根据所述转码后视频的帧率、所述转码档位对应的最大帧率、帧率系数的最大值和帧率系数的最小值确定帧率因子;根据所述转码档位对应的基准资源量,所述码率因子和所述帧率因子,确定所述待处理的视频转码任务所需的资源量。
17.根据权利要求16所述的调度系统,其中,
所述转码任务管理装置用于将所述转码档位对应的基准资源量与所述码率因子和所述帧率因子相乘,确定所述待处理的视频转码任务所需的初步资源量;根据所述待处理的视频转码任务所需的初步资源量和所述待处理的视频转码任务对应的编码格式因子,确定所述待处理的视频转码任务所需的初步资源量。
18.根据权利要求17所述的调度系统,其中,
所述转码任务管理装置用于在所述待处理的视频转码任务所需的初步资源量大于所述转码档位对应的最大资源量的情况下,将所述转码档位对应的最大资源量与所述待处理的视频转码任务对应的编码格式因子的乘积,作为所述待处理的视频转码任务所需的资源量;在所述待处理的视频转码任务所需的初步资源量小于所述转码档位对应的最小资源量的情况下,将所述转码档位对应的最小资源量与所述待处理的视频转码任务对应的编码格式因子的乘积,作为所述待处理的视频转码任务所需的资源量;在所述待处理的视频转码任务所需的初步资源量小于所述转码档位对应的最大资源量且大于所述转码档位对应的最小资源量的情况下,将所述待处理的视频转码任务所需的初步资源量与所述待处理的视频转码任务对应的编码格式因子的乘积,作为所述待处理的视频转码任务所需的资源量。
19.根据权利要求15所述的调度系统,还包括:
测试装置设置用于所述转码档位对应的待测试转码任务;将多个待测试转码任务在测试转码机并行处理,确定所述测试转码机的参数在预设范围内的情况下,所述待测试转码任务的个数;根据所述待测试转码任务的个数和所述测试转码机的总资源量,确定所述待测试转码任务占用的资源量,作为所述转码档位对应的基准资源量;
其中,所述待测试转码任务对应的转码后的视频的分辨率为所述转码档位对应的分辨率,所述待测试转码任务对应的转码后的视频的高度、码率、帧率和编码格式分别为基准高度、基准码率、基准帧率和预设编码格式;所述测试转码机的参数包括:CPU利用率、物理机负载、输出速度、内存占用率和输出视频质量。 说明书 : 转码资源的调度方法、系统以及调度装置技术领域[0001] 本公开涉及计算机技术领域,特别涉及一种转码资源的调度方法、系统以及调度装置。背景技术[0002] 点播视频转码(VideoonDemandTranscoding)是指将已经压缩编码的视频码文件转换成另一个视频文件,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程,因此转换前后的文件可能遵循相同的视频编码标准,也可能不遵循相同的视频编码标准。[0003] 发明人已知的,目前主要由操作人员将需要转码的视频输入转码机进行转码。发明内容[0004] 发明人发现:视频的离线转码的过程根据物理硬件资源的占用可分为:视频下载过程,视频转码过程和转码成品上传三个过程。而这三个过程中所占用的机器物理硬件资源模块不同,消耗的资源也不同,并且不需要一直占用同样的资源量,单个转码任务的占用的资源量会有波动变化。而现有方案中,一个视频转码任务完成后,操作人员再输入下一个视频转码任务,造成资源的浪费。[0005] 本公开所要解决的一个技术问题是:如何提高视频转码资源的利用率。[0006] 根据本公开的一些实施例,提供的一种转码资源的调度方法,包括:调度装置接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量;调度装置根据各个转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量;调度装置根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为待处理的视频转码任务分配转码机进行处理。[0007] 在一些实施例中,调度装置根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为待处理的视频转码任务分配转码机进行处理包括:调度装置接收转码任务管理装置发送的资源请求,其中,资源请求包括待处理的视频转码任务所需的资源量;调度装置根据预设负载均衡算法,从集群中选取当前空余资源量满足待处理的视频转码任务所需的资源量的转码机;调度装置将选取的转码机的IP地址发送至转码任务管理装置,以便转码任务管理装置将待处理的视频转码任务发送至选取的转码机。[0008] 在一些实施例中,该方法还包括:调度装置根据待处理的视频转码任务所需的资源量,更新处理转码机的当前空余资源量。[0009] 在一些实施例中,该方法还包括:转码任务管理装置接收转码任务请求,其中,转码任务请求包括:转码后视频的参数;转码任务管理装置根据转码任务请求,生成待处理的视频转码任务,并确定待处理的视频转码任务所需的资源量;转码任务管理装置根据待处理的视频转码任务所需的资源量向调度装置发送资源请求。[0010] 在一些实施例中,转码后视频的参数包括:转码后视频的编码格式、高度、码率、帧率。[0011] 在一些实施例中,确定待处理的视频转码任务所需的资源量包括:转码任务管理装置根据待处理的视频转码任务对应的转码后视频的高度或码率,确定转码档位,其中,不同转码档位对应不同的转码后视频的分辨率或转换方式,不同转码档位包括对应的基准资源量、码率范围、码率系数范围、帧率范围和帧率系数范围;转码任务管理装置根据转码后视频的码率、帧率和转码档位,确定待处理的视频转码任务所需的资源量。[0012] 在一些实施例中,转码任务管理装置根据转码后视频的码率、帧率和转码档位,确定待处理的视频转码任务所需的资源量包括:转码任务管理装置根据转码后视频的码率、转码档位对应的最大码率、码率系数的最大值和码率系数的最小值确定码率因子;转码任务管理装置根据转码后视频的帧率、转码档位对应的最大帧率、帧率系数的最大值和帧率系数的最小值确定帧率因子;转码任务管理装置根据转码档位对应的基准资源量,码率因子和帧率因子,确定待处理的视频转码任务所需的资源量。[0013] 在一些实施例中,转码任务管理装置根据转码档位对应的基准资源量,码率因子和帧率因子,确定待处理的视频转码任务所需的资源量包括:转码任务管理装置将转码档位对应的基准资源量与码率因子和帧率因子相乘,确定待处理的视频转码任务所需的初步资源量;转码任务管理装置根据待处理的视频转码任务所需的初步资源量和待处理的视频转码任务对应的编码格式因子,确定待处理的视频转码任务所需的初步资源量。[0014] 在一些实施例中,转码任务管理装置根据待处理的视频转码任务所需的初步资源量和待处理的视频转码任务对应的编码格式因子,确定待处理的视频转码任务所需的初步资源量包括:转码任务管理装置在待处理的视频转码任务所需的初步资源量大于转码档位对应的最大资源量的情况下,将转码档位对应的最大资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;转码任务管理装置在待处理的视频转码任务所需的初步资源量小于转码档位对应的最小资源量的情况下,将转码档位对应的最小资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;转码任务管理装置在待处理的视频转码任务所需的初步资源量小于转码档位对应的最大资源量且大于转码档位对应的最小资源量的情况下,将待处理的视频转码任务所需的初步资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量。[0015] 在一些实施例中,该方法还包括:测试装置设置转码档位对应的待测试转码任务;测试装置将多个待测试转码任务在测试转码机并行处理,确定测试转码机的参数在预设范围内的情况下,待测试转码任务的个数;测试装置根据待测试转码任务的个数和测试转码机的总资源量,确定待测试转码任务占用的资源量,作为转码档位对应的基准资源量。[0016] 在一些实施例中,待测试转码任务对应的转码后的视频的分辨率为转码档位对应的分辨率,待测试转码任务对应的转码后的视频的高度、码率、帧率和编码格式分别为基准高度、基准码率、基准帧率和预设编码格式;测试转码机的参数包括:CPU利用率、物理机负载、输出速度、内存占用率和输出视频质量。[0017] 在一些实施例中,该方法还包括:针对每个转码机,转码机在每个周期的预设时间点,确定本转码机中各个视频转码任务的转码阶段,其中,转码阶段包括下载阶段、转码处理阶段和上传阶段;转码机根据各个视频转码任务的转码阶段以及不同阶段占用的资源量,确定所有视频转码任务实际占用的资源总量,其中,下载阶段和转码处理阶段占用的资源量大于上传阶段占用的资源量;转码机将本转码机中所有视频转码任务实际占用的资源总量发送至调度装置。[0018] 在一些实施例中,该方法还包括:调度装置接收分配的转码机发送的资源释放信息,其中,资源释放信息表示分配的转码机完成待处理的视频转码任务;调度装置根据资源释放信息,修正存储的分配的转码机的当前空余资源量。[0019] 根据本公开的另一些实施例,提供的一种调度装置,包括:接收模块,用于接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量;存储模块,用于根据各个转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量;分配模块,用于根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为待处理的视频转码任务分配转码机进行处理。[0020] 根据本公开的又一些实施例,提供的一种调度装置,包括:处理器;以及耦接至处理器的存储器,用于存储指令,指令被处理器执行时,使处理器执行前述任意实施例中由调度装置执行的调度方法。[0021] 根据本公开的再一些实施例,提供的一种转码资源的调度系统,包括:前述任意实施例的调度装置;以及转码机,用于周期性上报本转码机中所有视频转码任务实际占用的资源总量,接收调度装置分配的待处理的视频转码任务并进行处理。[0022] 在一些实施例中,该系统还包括:转码任务管理装置用于接收转码任务请求,其中,转码任务请求包括:转码后视频的参数;根据转码任务请求,生成待处理的视频转码任务,并确定待处理的视频转码任务所需的资源量;根据待处理的视频转码任务所需的资源量向调度装置发送资源请求,其中,转码后视频的参数包括:转码后视频的编码格式、高度、码率、帧率。[0023] 在一些实施例中,转码任务管理装置用于根据待处理的视频转码任务对应的转码后视频的高度或码率,确定转码档位,其中,不同转码档位对应不同的分辨率,不同转码档位包括对应的基准资源量、码率范围、码率系数范围、帧率范围和帧率系数范围;根据转码后视频的码率、帧率和转码档位,确定待处理的视频转码任务所需的资源量。[0024] 在一些实施例中,转码任务管理装置用于根据转码后视频的码率、转码档位对应的最大码率、码率系数的最大值和码率系数的最小值确定码率因子;根据转码后视频的帧率、转码档位对应的最大帧率、帧率系数的最大值和帧率系数的最小值确定帧率因子;根据转码档位对应的基准资源量,码率因子和帧率因子,确定待处理的视频转码任务所需的资源量。[0025] 在一些实施例中,转码任务管理装置用于将转码档位对应的基准资源量与码率因子和帧率因子相乘,确定待处理的视频转码任务所需的初步资源量;根据待处理的视频转码任务所需的初步资源量和待处理的视频转码任务对应的编码格式因子,确定待处理的视频转码任务所需的初步资源量。[0026] 在一些实施例中,转码任务管理装置用于在待处理的视频转码任务所需的初步资源量大于转码档位对应的最大资源量的情况下,将转码档位对应的最大资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;在待处理的视频转码任务所需的初步资源量小于转码档位对应的最小资源量的情况下,将转码档位对应的最小资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;在待处理的视频转码任务所需的初步资源量小于转码档位对应的最大资源量且大于转码档位对应的最小资源量的情况下,将待处理的视频转码任务所需的初步资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量。[0027] 在一些实施例中,该系统还包括:测试装置设置用于转码档位对应的待测试转码任务;将多个待测试转码任务在测试转码机并行处理,确定测试转码机的参数在预设范围内的情况下,待测试转码任务的个数;根据待测试转码任务的个数和测试转码机的总资源量,确定待测试转码任务占用的资源量,作为转码档位对应的基准资源量;其中,待测试转码任务对应的转码后的视频的分辨率为转码档位对应的分辨率,待测试转码任务对应的转码后的视频的高度、码率、帧率和编码格式分别为基准高度、基准码率、基准帧率和预设编码格式;测试转码机的参数包括:CPU利用率、物理机负载、输出速度、内存占用率和输出视频质量。[0028] 在一些实施例中,转码机用于在每个周期的预设时间点,确定本转码机中各个视频转码任务的转码阶段,其中,转码阶段包括下载阶段、转码处理阶段和上传阶段;根据各个视频转码任务的转码阶段以及不同阶段占用的资源量,确定所有视频转码任务实际占用的资源总量,其中,下载阶段和转码处理阶段占用的资源量大于上传阶段占用的资源量;将本转码机中所有视频转码任务实际占用的资源总量发送至调度装置。[0029] 本公开由调度装置接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量,进而修正存储的各个转码机的当前空余资源量,当有待处理的视频转码任务时,根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,分配转码机进行处理。本公开的方案通过增加转码机管理程序对转码机实时资源消耗的定时计算,调度装置实时修正单台转码机的空余资源量,对转码机资源的实际使用过程中的波动进行了更精细化的管理,并对整个集群的资源进行精确调度,提高了单台转码机的并发处理能力,提高了整体资源利用率,尤其特别针对长视频转码任务效果明显。[0030] 通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。附图说明[0031] 为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0032] 图1示出本公开的一些实施例的转码资源的调度方法的流程示意图。[0033] 图2示出本公开的另一些实施例的转码资源的调度方法的流程示意图。[0034] 图3示出本公开的一些实施例的调度装置的结构示意图。[0035] 图4示出本公开的另一些实施例的调度装置的结构示意图。[0036] 图5示出本公开的又一些实施例的调度装置的结构示意图。[0037] 图6示出本公开的一些实施例的转码资源的调度系统的结构示意图。具体实施方式[0038] 下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。[0039] 本公开提供一种转码资源的调度方法,下面结合图1~进行描述。[0040] 图1为本公开转码资源的调度方法一些实施例的流程图。如图1所示,该实施例的方法包括:步骤S102~S106。[0041] 在步骤S102中,调度装置接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量。[0042] 集群中可以处理转码任务的服务器作为转码机,各个转码机可以配置自身对应的周期,不同转码机的周期长度可以相同或不同,上报的时间点可以相同或不同。周期例如为10秒。[0043] 在一些实施例中,针对每个转码机,转码机在每个周期的预设时间点,确定本转码机中各个视频转码任务的转码阶段,根据各个视频转码任务的转码阶段以及不同阶段占用的资源量,确定所有视频转码任务实际占用的资源总量,将本转码机中所有视频转码任务实际占用的资源总量发送至调度装置。转码阶段包括下载阶段、转码处理阶段和上传阶段;下载阶段和转码处理阶段占用的资源量大于上传阶段占用的资源量。例如,下载阶段和转码处理阶段占用的资源量为视频转码任务所需的资源量,上传阶段占用的资源量为预设值(例如为0)。视频转码任务所需的资源量在后续实施例中进行描述。[0044] 不同视频转码任务可能处于不同转码阶段,占用不同的资源量,上述方法可以更加准确的确定转码机中实际占用的资源总量,为后续调度装置的调度提供准确的参考。[0045] 在步骤S104中,调度装置根据各个转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量。[0046] 调度装置中会存储各个转码机的当前空余资源量,在为转码机分配视频转码任务时,调度装置会根据视频转码任务所需的资源量修改转码机的空余资源量。如果转码机没有上报实际占用的资源总量,在整个视频转码过程中,调度装置会认为转码机的空余资源量是不变的,这就会导致实际上转码机中很多视频转码任务处于上传阶段,占用很少资源,而调度装置不知道,无法为转码机分配新的任务的情况。因此,调度装置接收转码机上报的实际占用的资源总量,修正存储的转码机的当前空余资源量,以便后续分配视频转码任务。调度装置利用转码机的总资源量减去实际占用的资源总量,得到实际占用的资源总量。[0047] 在步骤S106中,调度装置根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为待处理的视频转码任务分配转码机进行处理。[0048] 在一些实施例中,调度装置根据预设负载均衡算法,从集群中选取当前空余资源量满足待处理的视频转码任务所需的资源量的转码机。例如,选取当前空余资源量最多的转码机。[0049] 上述实施例由调度装置接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量,进而修正存储的各个转码机的当前空余资源量,当有待处理的视频转码任务时,根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,分配转码机进行处理。上述实施例的方案通过增加转码机管理程序对转码机实时资源消耗的定时计算,调度装置实时修正单台转码机的空余资源量,对转码机资源的实际使用过程中的波动进行了更精细化的管理,并对整个集群的资源进行精确调度,提高了单台转码机的并发处理能力,提高了整体资源利用率,尤其特别针对长视频转码任务效果明显。[0050] 下面结合图2描述本公开待处理的视频转码任务的调度方法。[0051] 图2为本公开转码资源的调度方法一些实施例的流程图。如图2所示,该实施例的方法包括:步骤S202~S218。[0052] 在步骤S202中,转码任务管理装置接收转码任务请求。[0053] 转码任务请求包括:转码后视频的参数,转码后视频的参数包括:转码后视频的编码格式、高度、码率、帧率。[0054] 在步骤S204中,转码任务管理装置根据转码任务请求,生成待处理的视频转码任务,并确定待处理的视频转码任务所需的资源量。[0055] 在一些实施例中,转码任务管理装置根据待处理的视频转码任务对应的转码后视频的高度或码率,确定转码档位,根据转码后视频的码率、帧率和转码档位,确定待处理的视频转码任务所需的资源量。不同转码档位对应不同的转码后视频的分辨率或转换方式,不同转码档位包括对应的基准资源量、码率范围、码率系数范围、帧率范围和帧率系数范围。[0056] 进一步,在一些实施例中,转码任务管理装置根据转码后视频的码率、转码档位对应的最大码率、码率系数的最大值和码率系数的最小值确定码率因子;根据转码后视频的帧率、转码档位对应的最大帧率、帧率系数的最大值和帧率系数的最小值确定帧率因子;根据转码档位对应的基准资源量,码率因子和帧率因子,确定待处理的视频转码任务所需的资源量。[0057] 待处理的视频转码任务所需的资源量可以是相对资源量,是根据物理资源量测算转换得到的。例如,将转码机的资源量假设为1000,该转码机上可以并行处理100个相同的视频转码任务,并且CPU利用率,物理机真实Load(负载),转码任务输出速率,内存利用率,视频输出质量均在合理范围内,则该视频转码任务的资源量为10。[0058] 转码后的视频可以是不同的分辨率,例如,240p,360p,480p,720p,1080p等,或者转换方式仅是对视频进行转封装,针对上述不同情况可以设置对应的转码档位,进一步,不同的档位对应不同的转码后视频的高度(范围)或码率(范围)。根据转码后视频的分辨率、转换方式、高度或码率中的一项或多项,可以确定对应的转码档位。如果转码后视频的参数不包括转码后视频的帧率,可以将转码后视频的帧率设置为默认帧率。如果转码后视频的参数包括转码后视频的高度,可以根据转码后视频的高度确定转码档位,如果转码后视频的参数不包括转码后视频的高度,可以根据转码后视频的码率确定转码档位。[0059] 每个转码档位经过实际的测算可以包括对应的基准资源量、码率范围(最大码率和最小码率)、码率系数范围(最大码率系数和最小码率系数)、帧率范围(最大帧率和最小帧率)和帧率系数范围(最大帧率系数和最小帧率系数),还可以包括对应的高度、宽度、资源量范围(最大资源量、最小资源量和中位数资源量)。[0060] 在一些实施例中,确定待处理的视频转码任务对应的转码后视频的码率与转码档位对应的最大码率的比值,将该比值与最大码率系数取最小值得到第一值,将第一值与最小码率系数取最大值,得到码率因子。[0061] 在一些实施例中,确定待处理的视频转码任务对应的转码后视频的帧率与转码档位对应的最大帧率的比值,将该比值与最大帧率系数取最小值得到第二值,将第二值与最小帧率系数取最大值,得到帧率因子。[0062] 在一些实施例中,转码任务管理装置将转码档位对应的基准资源量与码率因子和帧率因子相乘,确定待处理的视频转码任务所需的初步资源量;根据待处理的视频转码任务所需的初步资源量和待处理的视频转码任务对应的编码格式因子,确定待处理的视频转码任务所需的初步资源量。还可以设置预设视频形式因子,该因子表示转码后的视频为特定形式的视频,例如,特殊处理方式的视频,保证同样的清晰度下有更低的码率的视频。将转码档位对应的基准资源量与码率因子、帧率因子和预设视频形式因子相乘,得到待处理的视频转码任务所需的初步资源量。[0063] 进一步,在一些实施例中,转码任务管理装置在待处理的视频转码任务所需的初步资源量大于转码档位对应的最大资源量的情况下,将转码档位对应的最大资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;在待处理的视频转码任务所需的初步资源量小于转码档位对应的最小资源量的情况下,将转码档位对应的最小资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;在待处理的视频转码任务所需的初步资源量小于转码档位对应的最大资源量且大于转码档位对应的最小资源量的情况下,将待处理的视频转码任务所需的初步资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量。[0064] 在一些实施例中,各个转码档位对应的基准资源量可以是预先测试得到的,测试装置设置转码档位对应的待测试转码任务;将多个待测试转码任务在测试转码机并行处理,确定测试转码机的参数在预设范围内的情况下,待测试转码任务的个数;根据待测试转码任务的个数和测试转码机的总资源量,确定待测试转码任务占用的资源量,作为转码档位对应的基准资源量。[0065] 例如,待测试转码任务对应的转码后的视频的分辨率为转码档位对应的分辨率,待测试转码任务对应的转码后的视频的高度、码率、帧率和编码格式分别为基准高度、基准码率、基准帧率和预设编码格式;测试转码机的参数例如包括:CPU利用率、物理机负载、输出速度、内存占用率和输出视频质量。测试装置通过监测测试转码机的参数,调整待测试转码任务的个数,从而得到测试转码机能够并行处理的待测试转码任务的个数。[0066] 测试装置可以通过调整待测试转码任务对应的转码后视频的参数(编码格式、高度、码率、帧率),可以得到转码档位对应的最大资源量、最小资源量、帧率范围、码率范围等。每台转码机的总资源量也可以通过测试装置测试得到。[0067] 在步骤S206中,转码任务管理装置向调度装置发送资源请求,相应的,调度装置接收转码任务管理装置发送的资源请求。[0068] 资源请求包括待处理的视频转码任务所需的资源量。[0069] 在步骤S208中,调度装置根据预设负载均衡算法,从集群中选取当前空余资源量满足待处理的视频转码任务所需的资源量的转码机。[0070] 在步骤S210中,调度装置根据待处理的视频转码任务所需的资源量,更新处理转码机的当前空余资源量。[0071] 在步骤S212中,调度装置将选取的转码机的IP地址发送至转码任务管理装置。[0072] 在步骤S214中,转码任务管理装置将待处理的视频转码任务发送至选取的转码机。[0073] 在步骤S216中,调度装置接收分配的转码机发送的资源释放信息。[0074] 资源释放信息表示分配的转码机完成待处理的视频转码任务。[0075] 在步骤S218中,调度装置根据资源释放信息,修正存储的分配的转码机的当前空余资源量。[0076] 在上述过程中,调度装置还接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量。[0077] 视频转码任务包括点播视频转码任务。[0078] 上述实施例的方法提供了一整套自动处理视频转码任务的方法,通过多个装置的配合,能够实时确定视频转码任务所需的资源量,根据各个转码机的空余资源量为视频转码任务分配转码机,提高转码资源的利用率和转码效率。[0079] 本公开还提供一种调度装置,下面结合图3进行描述。[0080] 图3为本公开调度装置的一些实施例的结构图。如图3所示,该实施例的装置30包括:接收模块310,存储模块320,分配模块330。[0081] 接收模块310用于接收集群中各个转码机周期性上报的本转码机中所有视频转码任务实际占用的资源总量。[0082] 存储模块320用于根据各个转码机中所有视频转码任务实际占用的资源总量,修正存储的各个转码机的当前空余资源量。[0083] 分配模块330用于根据待处理的视频转码任务所需的资源量和各个转码机的当前空余资源量,为待处理的视频转码任务分配转码机进行处理。[0084] 在一些实施例中,分配模块330用于接收转码任务管理装置发送的资源请求,根据预设负载均衡算法,从集群中选取当前空余资源量满足待处理的视频转码任务所需的资源量的转码机将选取的转码机的IP地址发送至转码任务管理装置,以便转码任务管理装置将待处理的视频转码任务发送至选取的转码机,其中,资源请求包括待处理的视频转码任务所需的资源量。[0085] 在一些实施例中,存储模块320还用于根据待处理的视频转码任务所需的资源量,更新处理转码机的当前空余资源量。[0086] 在一些实施例中,接收模块310还用于接收分配的转码机发送的资源释放信息,其中,资源释放信息表示分配的转码机完成待处理的视频转码任务;存储模块320还用于根据资源释放信息,修正存储的分配的转码机的当前空余资源量。[0087] 本公开的实施例中的调度装置可各由各种计算设备或计算机装置来实现,下面结合图4以及图5进行描述。[0088] 图4为本公开调度装置的一些实施例的结构图。如图4所示,该实施例的装置40包括:存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行本公开中任意一些实施例中由调度装置执行的转码资源的调度方法。[0089] 其中,存储器410例如可以包括装置存储器、固定非易失性存储介质等。装置存储器例如存储有操作装置、应用程序、引导装载程序(BootLoader)、数据库以及其他程序等。[0090] 图5为本公开调度装置的另一些实施例的结构图。如图5所示,该实施例的装置50包括:存储器510以及处理器520,分别与存储器410以及处理器420类似。还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530,540,550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。存储接口550为SD卡、U盘等外置存储设备提供连接接口。[0091] 本公开还提供一种转码资源的调度系统,下面结合图6进行描述。[0092] 图6为本公开转码资源的调度系统的一些实施例的结构图。如图6所示,该实施例的系统6包括:前述任意实施例的调度装置30/40/50;以及一个或多个转码机62。转码机62用于周期性上报本转码机中所有视频转码任务实际占用的资源总量,接收调度装置分配的待处理的视频转码任务并进行处理。[0093] 在一些实施例中,转码机62用于在每个周期的预设时间点,确定本转码机中各个视频转码任务的转码阶段,其中,转码阶段包括下载阶段、转码处理阶段和上传阶段;根据各个视频转码任务的转码阶段以及不同阶段占用的资源量,确定所有视频转码任务实际占用的资源总量,其中,下载阶段和转码处理阶段占用的资源量大于上传阶段占用的资源量;将本转码机中所有视频转码任务实际占用的资源总量发送至调度装置30/40/50。[0094] 在一些实施例中,系统6还包括:转码任务管理装置64,用于接收转码任务请求,其中,转码任务请求包括:转码后视频的参数;根据转码任务请求,生成待处理的视频转码任务,并确定待处理的视频转码任务所需的资源量;根据待处理的视频转码任务所需的资源量向调度装置30/40/50发送资源请求,其中,转码后视频的参数包括:转码后视频的编码格式、高度、码率、帧率。[0095] 在一些实施例中,转码任务管理装置64用于根据待处理的视频转码任务对应的转码后视频的高度或码率,确定转码档位,其中,不同转码档位对应不同的分辨率,不同转码档位包括对应的基准资源量、码率范围、码率系数范围、帧率范围和帧率系数范围;根据转码后视频的码率、帧率和转码档位,确定待处理的视频转码任务所需的资源量。[0096] 在一些实施例中,转码任务管理装置64用于根据转码后视频的码率、转码档位对应的最大码率、码率系数的最大值和码率系数的最小值确定码率因子;根据转码后视频的帧率、转码档位对应的最大帧率、帧率系数的最大值和帧率系数的最小值确定帧率因子;根据转码档位对应的基准资源量,码率因子和帧率因子,确定待处理的视频转码任务所需的资源量。[0097] 在一些实施例中,转码任务管理装置64用于将转码档位对应的基准资源量与码率因子和帧率因子相乘,确定待处理的视频转码任务所需的初步资源量;根据待处理的视频转码任务所需的初步资源量和待处理的视频转码任务对应的编码格式因子,确定待处理的视频转码任务所需的初步资源量。[0098] 在一些实施例中,转码任务管理装置64用于在待处理的视频转码任务所需的初步资源量大于转码档位对应的最大资源量的情况下,将转码档位对应的最大资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;在待处理的视频转码任务所需的初步资源量小于转码档位对应的最小资源量的情况下,将转码档位对应的最小资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量;在待处理的视频转码任务所需的初步资源量小于转码档位对应的最大资源量且大于转码档位对应的最小资源量的情况下,将待处理的视频转码任务所需的初步资源量与待处理的视频转码任务对应的编码格式因子的乘积,作为待处理的视频转码任务所需的资源量。[0099] 本领域内的技术人员应当明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。[0100] 本公开是参照根据本公开实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0101] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0102] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0103] 以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

专利地区:北京

专利申请日期:2022-03-03

专利公开日期:2024-06-18

专利公告号:CN114598927B

电话咨询
读内容
搜本页
回顶部