CN117499710A - 视频转码调度方法、装置、可读存储介质、电子设备 - Google Patents
视频转码调度方法、装置、可读存储介质、电子设备 Download PDFInfo
- Publication number
- CN117499710A CN117499710A CN202410001643.1A CN202410001643A CN117499710A CN 117499710 A CN117499710 A CN 117499710A CN 202410001643 A CN202410001643 A CN 202410001643A CN 117499710 A CN117499710 A CN 117499710A
- Authority
- CN
- China
- Prior art keywords
- transcoding
- video
- server
- video transcoding
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000012549 training Methods 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 241001269524 Dura Species 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种视频转码调度方法、装置、可读存储介质、电子设备,涉及互联网的数据处理技术领域,包括:获取视频转码作业,所述视频转码作业包括多个视频转码任务;基于训练完成的转码耗时预估模型确定所述视频转码作业的转码预估时长;以所述转码预估时长为调度目标,在转码服务器集群中确定所述视频转码作业对应的目标转码服务器,所述目标转码服务器为所述转码服务器集群中使所述多个视频转码任务的总转码耗时最短的转码服务器;调度所述目标转码服务器执行所述多个视频转码任务。本公开能够基于转码耗时预估模型确定视频转码作业的转码预估时长,基于转码预估时长确定目标转码服务器执行转码任务,提高用户的满意度。
Description
技术领域
本申请涉及互联网的数据处理技术领域,尤其涉及到一种视频转码调度方法、装置、可读存储介质、电子设备。
背景技术
随着广播电视数字化的不断发展,对视频转码技术的需求不断增加,视频转码是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。
目前,主要采用多图形处理器(Graphics Processing Unit,GPU)并发的方式处理视频转码任务,按照任务队列顺序分配至闲置状态的GPU,或计算视频转码任务所需的资源量,实时修正单台转码机的空余资源量。然而,目前的方法仅考虑视频转码计算服务集群的利用率,未考虑如何优化资源调度,进而无法保证视频转码快速完成,使云转码用户的体验不佳。
发明内容
有鉴于此,本申请提供了一种视频转码调度方法、装置、可读存储介质、电子设备,能够使视频转码在最短时间内完成,提升视频转码的效率,提高云转码用户满意度。
根据本申请的第一个方面,提供了一种视频转码调度方法,包括:
获取视频转码作业,所述视频转码作业包括多个视频转码任务;
基于训练完成的转码耗时预估模型确定所述视频转码作业的转码预估时长;
以所述转码预估时长为调度目标,在转码服务器集群中确定所述视频转码作业对应的目标转码服务器,所述目标转码服务器为所述转码服务器集群中使所述多个视频转码任务的总转码耗时最短的转码服务器;
调度所述目标转码服务器执行所述多个视频转码任务。
根据本申请的第二个方面,提供了一种视频转码调度装置,包括:
获取模块,用于获取视频转码作业,所述视频转码作业包括多个视频转码任务;
第一确定模块,用于基于训练完成的转码耗时预估模型确定所述视频转码作业的转码预估时长;
第二确定模块,用于以所述转码预估时长为调度目标,在转码服务器集群中确定所述视频转码作业对应的目标转码服务器,所述目标转码服务器为所述转码服务器集群中使所述多个视频转码任务的总转码耗时最短的转码服务器;
调度模块,用于调度所述目标转码服务器执行所述多个视频转码任务。
根据本申请的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的视频转码调度方法。
根据本申请的第四个方面,提供了一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的视频转码调度方法。
根据本申请的第五个方面,提供了一种芯片,包括一个或多个接口电路和一个或多个处理器;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令,当处理器执行计算机指令时,使得电子设备执行本公开第一方面实施例中描述的方法。
借由上述技术方案,本申请提供的一种视频转码调度方法、装置、可读存储介质、电子设备,与目前视频转码方式相比,本申请可获取视频转码作业,所述视频转码作业包括多个视频转码任务;基于训练完成的转码耗时预估模型确定所述视频转码作业的转码预估时长;进而以所述转码预估时长为调度目标,在转码服务器集群中确定使所述多个视频转码任务的总转码耗时最短的目标转码服务器;调度所述目标转码服务器执行多个视频转码任务。本公开中的技术方案,可基于转码耗时预估模型确定视频转码作业的转码预估时长,基于转码预估时长确定能够使视频转码在最短时间内完成的目标转码服务器,并调度目标转码服务器执行转码任务,从而能够提升视频转码的效率,提高云转码用户满意度。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本身取得上述和其他目的、特折和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种视频转码调度方法的流程示意图;
图2为本公开另一实施例提供的一种视频转码调度方法的流程示意图;
图3为本公开实施例提供的一种视频转码的资源调度流程图;
图4为本公开实施例提供的一种视频转码调度装置的结构示意图;
图5为本公开实施例提供的电子设备的结构示意图;
图6为本公开实施例提供的芯片的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节有助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本公开实施例的视频转码调度方法、装置、存储介质、电子设备。
相关技术中,主要采用多图形处理器(Graphics Processing Unit,GPU)并发的方式处理视频转码任务,按照任务队列顺序分配至闲置状态的GPU,或计算视频转码任务所需的资源量,实时修正单台转码机的空余资源量。然而,目前的方法仅考虑视频转码计算服务集群的利用率,未考虑如何优化资源调度,进而无法保证视频转码快速完成,使云转码用户的体验不佳。
为解决上述技术问题,本公开提供了一种视频转码调度方法、装置、可读存储介质、电子设备,能够使视频转码在最短时间内完成,提升视频转码的效率,提高云转码用户满意度。
如图1所示,本公开的实施例提供了一种视频转码调度方法,包括:
步骤101、获取视频转码作业,视频转码作业包括多个视频转码任务。
在具体的应用场景中,视频转码作业可包括多个文件大小不等的视频转码任务,视频转码任务可为把单个视频文件转码并传输到期望位置(地域)的全流程,视频转码是指将一种类型(如格式flv,视频宽度720、视频高度1080)的视频转换为另一种类型(如格式MPEG-4、视频宽度480、视频高度460)的视频,便于视频传播。作为一种可能的实施方式,可将视频转码作业从存储地域传输至计算地域进行转码,再将转码完成后的视频由计算地域传回存储地域,计算地域可为具有空闲计算资源(虚拟机)和网络资源(带宽)且与存储地域相同或不同的地域,转码的计算资源规格可使用固定的单位规格,在运行过程中不支持通过增加1个中央处理器(Central Processing Unit,CPU)等方式实现对转码速度的动态加快。
其中,视频类型包括但不限于流媒体(Flash Video,FLV)、运动图像专家组(Motion Picture Experts Group,MPEG)、音频视频交错(Audio Video Interleaved,AVI)等,转码方式包括但不限于离线转码、在线(实时)转码、云转码等,转码速度可为单位时间内能转换的图像帧的数目,单位时间可为1秒。相应的,离线转码可在视频所有帧图像转码完成后将视频反馈给用户,在线(实时)转码可在视频单帧图像转码完成后实时反馈给用户,云转码可基于云计算平台开展视频转码业务,云计算平台可提供多种计算资源的单位规格,例如2个CPU、4千兆(Gigabyte,GB)内存,4个CPU、8内存等。
对于本公开实施例的执行主体可为视频转码调度系统,可基于转码耗时预估模型确定视频转码作业的转码预估时长,基于转码预估时长确定目标转码服务器,调度目标转码服务器执行转码任务。在确定目标转码服务器时,可基于模型参数和约束条件,以最小化作业完成时间点为模型优化目标构建调度模型,获取小于或接近于转码预估时长转码预估时长的资源调度方案,保障视频转码作业的完成截止时间,提高算力网络的资源利用率。
步骤102、基于训练完成的转码耗时预估模型确定视频转码作业的转码预估时长。
对于本公开实施例,转码耗时预估模型可用于对每个视频转码任务的转码时长进行预估,从而确定视频转码作业的转码预估时长,便于以视频转码作业的转码耗时为服务导向确定资源调度方案。具体的,可收集若干样本视频并提取样本视频特征,将转码耗时信息作为模型训练标签,经过迭代训练构建转码耗时预估模型,转码耗时预估模型可为神经网络模型、深度学习模型、隐藏马尔科夫模型、条件随机场等,在此不进行具体的限定。作为一种可能的实现方式,转码耗时预估模型为神经网络模型时,输入层神经元数目可与特征向量的长度相同,可具有4个隐层(都为全连接层,神经元数目分别为64个、32个、64个、2个),1个输出层(包含1个神经元),隐层激活函数可为修正线性单元(Rectified LinearUnit,ReLU),损失函数可为平均绝对误差(Mean Absolute Error,MAE)。
步骤103、以转码预估时长为调度目标,在转码服务器集群中确定视频转码作业对应的目标转码服务器。
对于本公开实施例,为保障视频转码作业的完成截止时间,可确定使视频转码作业的最终转码耗时小于或接近于转码预估时长的目标转码服务器。
作为一种可能的实现方式,可在第一服务器集群中筛选处于空闲状态的多个第一转码服务器,计算调度第一转码服务器并行执行视频转码作业时的第一视频转码时长,在第一视频转码时长小于或等于视频转码作业的转码预估时长时,可将第一转码服务器确定为视频转码作业对应的目标转码服务器,确保在转码预估时长范围内完成转码。其中,第一服务器集群为与视频转码作业处于相同地域的服务器集群;此时确定的目标转码服务器在与视频转码作业存储地域的相同地域,可为视频转码提供计算资源和网络资源,并使视频转码作业的转码耗时小于转码预估时长。
作为一种可能的实现方式,在第一视频转码时长大于视频转码作业的转码预估时长时,可基于调度模型在第二服务器集群中筛选处于空闲状态的多个第二转码服务器,计算调度第二转码服务器并行执行视频转码作业时的第二视频转码时长和第二转码服务器针对视频转码作业的网络传输时长。进一步的,可加和第二视频转码时长和网络传输时长,得到第三视频转码时长,在第一视频转码时长小于或等于第三视频转码时长时,可将第一转码服务器确定为视频转码作业对应的目标转码服务器,便于在最接近转码预估时长范围内完成相同地域转码,节约网络传输时长;在第一视频转码时长大于第三视频转码时长时,可将第二转码服务器确定为视频转码作业对应的目标转码服务器。其中,第二服务器集群为与视频转码作业处于不同地域的服务器集群;此时确定的目标转码服务器可在与视频转码作业存储地域的相同或不同的地域,可为视频转码提供异地计算资源和网络资源,并使视频转码作业的转码耗时小于或接近于转码预估时长,并且为多个地域集群内的最短视频转码时长。对于本公开实施例,可根据不同地域算力的可用容量、可用时段连接大规模异地域算力,提高算力网络的资源利用率。
步骤104、调度目标转码服务器执行多个视频转码任务。
对于本公开实施例,筛选出的目标转码服务器的数量可为一个或多个,作为一种可能的实现方式,在针对视频转码作业筛选出一个目标转码服务器时,可利用一个目标转码服务器按序执行视频转码作业中的多个视频转码任务。例如可生成视频转码作业对应的视频转码任务列表,在视频转码任务列表中包含频转码作业中的多个视频转码任务以及对应的任务执行顺序,可按照视频转码任务列表由前到后的任务执行顺序,调度目标转码服务器按序执行每个视频转码任务;作为一种可能的实现方式,在针对视频转码作业筛选出多个目标转码服务器时,可利用多个目标转码服务器分布式执行视频转码作业中的多个视频转码任务,以提高转码服务器的并发处理能力,提高整体资源利用率。在本公开的下述实施例中,以针对每个视频转码任务分别确定不同的目标转码服务器,即调用多个多个目标转码服务器分布式执行视频转码作业中的多个视频转码任务为例,对本公开中的技术方案进行说明,但并不构成具体的限定。
作为一种可能的实现方式,当目标转码服务器在与视频转码作业存储地域相同的计算地域中时,可直接调度目标转码服务器执行视频转码作业,提高用户满意度。作为一种可能的实现方式,当目标转码服务器在与视频转码作业存储地域不同的计算地域中时,执行视频转码作业需要,可先将视频转码作业从存储地域传输到计算地域,再调度计算地域的目标转码服务器上完进行转码,转码完成后将转码结果回传到存储地域,完成视频转码作业,提高转码计算资源利用率,优化服务供给者和服务使用者的效益。
综上,根据本公开的一种视频转码调度方法,与目前视频转码方式相比,本申请可获取视频转码作业,视频转码作业包括多个视频转码任务;基于训练完成的转码耗时预估模型确定视频转码作业的转码预估时长;基于转码预估时长确定视频转码作业对应的目标转码服务器;调度目标转码服务器执行视频转码作业。本公开中的技术方案,可基于转码耗时预估模型确定视频转码作业的转码预估时长,基于转码预估时长确定能够使视频转码在最短时间内完成的目标转码服务器,并调度目标转码服务器执行转码任务,从而能够提升视频转码的效率,提高云转码用户满意度。
基于上述架构,本公开应用示例还提供一种视频转码调度方法,该方法包括:
步骤201、获取视频转码作业,视频转码作业包括多个视频转码任务。
对于本公开实施例,其具体实现过程可参见实施例步骤101中的相关描述,在此不再赘述。
步骤202、提取多个视频转码任务中每个视频转码任务的视频特征信息,视频特征信息包括视频输入特征和视频输出特征。
其中,视频特征信息可包含视频转码任务的视频输入特征和视频输出特征,可为k维向量,例如:X={x1, x2, ..,xk};转码耗时信息可为标量,单位可为秒;对于本公开实施例,可利用预设视频处理工具提取每个视频转码任务的视频特征信息,预设视频处理工具可包括但不限于ffprobe,ffprobe可用于从媒体文件或媒体流中获取媒体信息,在本公开中,可利用ffprobe从视频转码任务中提取视频特征信息。视频特征信息可作为转码耗时预估模型的输入特征,用于确定视频转码任务的转码耗时,视频特征信息包括但不限于表1所示的特征。
表1示出了转码任务耗时预测所需的视频特征信息:
步骤203、将每个视频转码任务的视频特征信息分别输入训练完成的转码耗时预估模型,得到每个视频转码任务的转码预估时长。
作为一种可能的实施方式,转码耗时预估模型为预先经过转码耗时预估训练的网络模型。转码耗时预估模型的训练过程可为:基于样本视频中的样本视频转码信息构建转码耗时预估模型的训练样本,样本视频转码信息至少包括样本视频特征信息X和转码耗时信息Y,样本视频特征信息X可包括但不限于表1中的相关特征信息。对于每个样本视频,可将其(X,Y)组成一个训练样本D,可表示为D={(X,Y)}。在对转码耗时预估模型进行训练时,可将训练样本D输入转码耗时预估模型,在训练过程中,以样本视频特征信息X作为模型输入特征,以转码耗时信息Y作为模型训练标签,迭代训练转码耗时预估模型,直至模型损失函数小于预设阈值,判断转码耗时预估模型训练完成。在模型训练完成后,转码耗时预估模型可重复应用于后续的转码耗时预估任务。
相应的,转码耗时预估模型在训练时,实施例步骤可包括:获取样本视频转码信息,样本视频转码信息至少包括样本视频特征信息和转码耗时信息,样本视频特征信息包括样本视频输入特征和样本视频输出特征;将样本视频特征信息作为模型输入特征,将转码耗时信息作为模型训练标签,迭代训练转码耗时预估模型,直至模型损失函数小于预设阈值,判断转码耗时预估模型训练完成。
步骤204、将多个视频转码任务中对应耗时最长的转码预估时长,确定为视频转码作业的转码预估时长。
对于本公开实施例,鉴于优选为多个视频转码任务中每个视频转码任务分别确定不同的目标转码服务器,即调用多个目标转码服务器分布式执行视频转码作业中的多个视频转码任务,故在确定视频转码作业的转码预估时长时,可将视频转码作业中每个视频转码任务对应的转码预估时长中耗时最长的转码预估时长,确定为视频转码作业的转码预估时长,以确保所有视频转码任务在视频转码作业的转码预估时长内都能执行完成。
步骤205、以转码预估时长为调度目标,在转码服务器集群中确定视频转码作业对应的目标转码服务器。
对于本公开实施例,在基于转码预估时长确定视频转码作业对应的目标转码服务器时,可基于调度模型来实现。调度模型具体可以转码预估时长(即转码作业截止时间)为调度目标,既针对用户转码文件同地域的计算服务集群生成资源调度方案,又针对与用户转码文件不同地域的计算服务集群生成资源调度方案,进而选择能最大满足作业截止时间的资源调度方案。
为便于对公开中技术方案的理解,在此结合图3对本公开中的方案进行完整的说明。作为一种可能的实现方式,可基于调度模型在第一服务器集群中筛选处于空闲状态的多个第一转码服务器,并计算调度第一转码服务器执行视频转码作业时的第一视频转码时长tfinish-1,第一服务器集群为与视频转码作业处于相同地域的服务器集群。在第一视频转码时长小于或等于视频转码作业的转码预估时长时,可将第一转码服务器确定为视频转码作业对应的目标转码服务器。相应的,实施例步骤可包括:基于调度模型在第一服务器集群中筛选处于空闲状态的多个第一转码服务器,以及计算调度多个第一转码服务器执行视频转码作业时的第一视频转码时长,第一服务器集群为与视频转码作业处于相同地域的服务器集群,第一转码服务器为第一服务器集群中使多个视频转码任务的总转码耗时最短的转码服务器;在第一视频转码时长小于或等于视频转码作业的转码预估时长时,将第一转码服务器确定为视频转码作业对应的目标转码服务器。
具体的,基于调度模型在第一服务器集群中筛选处于空闲状态的第一转码服务器时,可基于视频转码作业以及第一服务器集群,确定输入调度模型的第一模型参数信息,可包括第一服务器集群C={c1,...,ck},空闲状态的第一转码服务器{free(c1),..,free(ck)},视频转码任务列表{t1, t2, ..., tm}及其对应的转码预估时长{d1,d2, ...,dm},视频转码任务ti(i=1..m)在转码服务器cj(j=1..k)上的开始执行时刻start(ti,cj)、结束执行时刻end(ti,cj)、持续执行时长dura(ti,cj),作业完成时间点tfinish。将第一模型参数信息代入调度模型,结合约束条件,并以最小化作业完成时间点为模型优化目标,求解确定第一转码服务器,并计算调度第一转码服务器执行视频转码作业时的第一视频转码时长,其中,第一转码服务器为第一服务器集群中使第一视频转码时长为最小值的空闲转码服务器。相应的,实施例步骤可包括:确定视频转码作业以及第一服务器集群对应的第一模型参数信息;将第一模型参数信息代入调度模型,确定多个第一转码服务器,以及计算得到调度多个第一转码服务器执行视频转码作业时的第一视频转码时长。
作为一种可能的实现方式,在第一视频转码时长大于视频转码作业的转码预估时长时,可基于调度模型在第二服务器集群中筛选处于空闲状态的多个第二转码服务器,并计算调度多个第二转码服务器执行视频转码作业时的第二视频转码时长tfinish-2,其中,第二服务器集群为与视频转码作业处于不同地域的服务器集群;由于服务器集群与视频转码作业处于不同地域,可计算第二转码服务器针对视频转码作业的网络传输时长,加和第二视频转码时长和网络传输时长,得到第三视频转码时长tfinish-3,在第一视频转码时长小于或等于第三视频转码时长时,将第一转码服务器确定为视频转码作业对应的目标转码服务器;在第一视频转码时长大于第三视频转码时长时,将第二转码服务器确定为视频转码作业对应的目标转码服务器。示例性的,第三视频转码时长计算公式可为:tfinish-3=tfinish-2+(size(t1) + ... +size(tm))/WI,其中,size(ti)可为任务ti的输入视频文件的大小,W可为视频转码作业所在地域与第二服务器集群所在地域的网络带宽,I=2,可表示存在往返2次网络传输。
相应的,实施例步骤可包括:在第一视频转码时长大于视频转码作业的转码预估时长时,基于调度模型在第二服务器集群中筛选处于空闲状态的多个第二转码服务器,以及计算调度多个第二转码服务器执行视频转码作业时的第二视频转码时长,第二服务器集群为与视频转码作业处于不同地域的服务器集群,第二转码服务器为第二服务器集群中使多个视频转码任务的总转码耗时最短的转码服务器;计算第二转码服务器针对视频转码作业的网络传输时长;加和第二视频转码时长和网络传输时长,得到第三视频转码时长;在第一视频转码时长小于或等于第三视频转码时长时,将第一转码服务器确定为视频转码作业对应的目标转码服务器;在第一视频转码时长大于第三视频转码时长时,将第二转码服务器确定为视频转码作业对应的目标转码服务器。
具体的,基于调度模型在第二服务器集群中筛选处于空闲状态的第二转码服务器时,可基于视频转码作业以及二服务器集群,确定第二模型参数信息,可包括第二服务器集群C={c1,...,ck},空闲状态的第二转码服务器{free(c1),..,free(ck)},视频转码任务列表{t1, t2, ..., tm}及其对应的转码预估时长{d1,d2, ...,dm},视频转码任务ti(i=1..m)在转码服务器cj(j=1..k)上的开始执行时刻start(ti,cj)、结束执行时刻end(ti,cj)、持续执行时长dura(ti,cj),作业完成时间点tfinish。将第二模型参数信息代入调度模型,结合约束条件,并以最小化作业完成时间点为模型优化目标,求解确定第二转码服务器,并计算调度第二转码服务器执行视频转码作业时的第二视频转码时长,其中,第一转码服务器为第二服务器集群中使第二视频转码时长为最小值的空闲转码服务器。实施例步骤可包括:确定视频转码作业以及第二服务器集群对应的第二模型参数信息;将第二模型参数信息代入调度模型,确定多个第二转码服务器,以及计算得到调度多个第二转码服务器执行视频转码作业时的第二视频转码时长。
在执行在本实施例步骤之前,可预先构建调度模型,调度模型的构建方法可包括:确定模型参数、模型优化目标以及模型约束条件;基于模型参数、模型约束条件以及模型优化目标构建生成调度模型。其中,模型参数包括服务器集群,服务器集群中的空闲转码服务器、多个视频转码任务、每个视频转码任务对应的转码预估时长、每个视频转码任务在空闲转码服务器上的开始执行时刻、每个视频转码任务在空闲转码服务器上的任务完成时刻、每个视频转码任务在空闲转码服务器上的持续执行时长,以及作业完成时间点;模型优化目标为最小化作业完成时间点;模型约束条件包括:每个视频转码任务在所选取执行的目标转码服务器上的持续执行时长等于视频转码任务的转码预估时长;每个视频转码任务在所选取执行的目标转码服务器上的开始执行时刻晚于目标转码服务器的空闲时刻;同一目标转码服务器所执行多个视频转码任务的时间区间不相交;每个视频转码任务在单个目标转码服务器上执行;作业完成时间点等于多个视频转码任务中最晚的任务完成时刻。
示例性的,调度模型参数可包括:
1)若干台转码服务器构成的服务器集群C={c1,...,ck}及其空闲的开始时刻{free(c1),..,free(ck)};
2)视频转码任务列表{t1, t2, ..., tm}及其对应的转码预估时长{d1,d2, ...,dm};
3)视频转码任务ti(i=1..m)在转码服务器cj(j=1..k)上的开始时刻start(ti,cj)、结束时刻end(ti,cj)、持续时长dura(ti,cj);
4)作业完成时间点:tfinish。
示例性的,调度模型的约束条件可包括:
1)如果安排视频转码任务ti在转码服务器cj上执行,即要求,dura(ti,cj)==di;
2)如果不安排视频转码任务ti在转码服务器cj上执行,即要求,dura(ti,cj)==0;
3)视频转码任务ti在转码服务器cj上执行的开始时间应晚于cj的空闲时刻:start(ti,cj)>=free(cj);
4)在转码服务器cj上执行的任意2个视频转码任务ti和to的时间区间不重叠,即要求,时间区间[start(ti,cj),end(ti,cj)]与时间区间[start(to,cj),end(to,cj)]不相交;
5)一个视频转码任务ti只被安排在单个转码服务器上执行,即要求,dura(ti,c1)+...+dura(ti,cj)==di;
6)作业时间点应等于最晚的视频转码任务完成时刻,即要求,tfinish=max{end(ti,cj)} (i=1..m, j=1..k)。
调度模型的优化目标函数可为: 最小化作业完成时间点,即,要求minimize(tfinish)。
对于本公开实施例,可基于调度模型的参数、约束条件以及优化目标,构建生成调度模型后,可使用求解器获取使视频转码作业完成时间最小的资源调度方案。其中,求解器可包括但不限于or-tools中的基于可满足性方法的约束规划求解器(ConstraintProgramming-Satisfiability,CP-SAT),CP-SAT可从一组非常大的候选集合中找出可行的解决方案,可以任意约束进行建模。
步骤206、调度目标转码服务器执行多个视频转码任务。
对于本公开实施例,其具体实现过程可参见实施例步骤104中的相关描述,在此不再赘述。
综上,根据本公开提供的一种视频转码调度方法,与目前视频转码方式相比,本申请可基于转码耗时预估模型确定视频转码作业的转码预估时长,基于转码预估时长确定目标转码服务器,执行转码任务,提高用户的满意度,此外,可基于模型参数和约束条件,以最小化作业完成时间点为模型优化目标构建调度模型,获取小于或接近于转码预估时长转码预估时长的资源调度方案,能够使视频转码在最短时间内完成,提升视频转码的效率,提高云转码用户满意度。
基于上述图1、图2所示方法的具体实现,本实施例提供了一种视频转码调度装置,如图4,该装置包括:获取模块31,第一确定模块32,第二确定模块33,调度模块34。
获取模块31,可用于获取视频转码作业,视频转码作业包括多个视频转码任务;
第一确定模块32,可用于基于训练完成的转码耗时预估模型确定视频转码作业的转码预估时长;
第二确定模块33,可用于以转码预估时长为调度目标,在转码服务器集群中确定视频转码作业对应的目标转码服务器,目标转码服务器为转码服务器集群中使多个视频转码任务的总转码耗时最短的转码服务器;
调度模块34,可用于调度目标转码服务器执行多个视频转码任务。
在具体的应用场景中,第一确定模块32,具体可用于获取样本视频转码信息,样本视频转码信息至少包括样本视频特征信息和转码耗时信息,样本视频特征信息包括样本视频输入特征和样本视频输出特征;将样本视频特征信息作为模型输入特征,将转码耗时信息作为模型训练标签,迭代训练转码耗时预估模型,直至模型损失函数小于预设阈值,判断转码耗时预估模型训练完成。
在具体的应用场景中,第一确定模块32,具体可用于提取多个视频转码任务中每个视频转码任务的视频特征信息,视频特征信息包括视频输入特征和视频输出特征;将每个视频转码任务的视频特征信息分别输入训练完成的转码耗时预估模型,得到每个视频转码任务的转码预估时长;将多个视频转码任务中最长的转码预估时长,确定为视频转码作业的转码预估时长。
在具体的应用场景中,第二确定模块33,具体可用于基于调度模型在第一服务器集群中筛选处于空闲状态的多个第一转码服务器,以及计算调度多个第一转码服务器执行视频转码作业时的第一视频转码时长,第一服务器集群为与视频转码作业处于相同地域的服务器集群,第一转码服务器为第一服务器集群中使多个视频转码任务的总转码耗时最短的转码服务器;在第一视频转码时长小于或等于视频转码作业的转码预估时长时,将第一转码服务器确定为视频转码作业对应的目标转码服务器。
在具体的应用场景中,第二确定模块33,具体可用于在第一视频转码时长大于视频转码作业的转码预估时长时,基于调度模型在第二服务器集群中筛选处于空闲状态的多个第二转码服务器,以及计算调度多个第二转码服务器执行视频转码作业时的第二视频转码时长,第二服务器集群为与视频转码作业处于不同地域的服务器集群,第二转码服务器为第二服务器集群中使多个视频转码任务的总转码耗时最短的转码服务器;计算第二转码服务器针对视频转码作业的网络传输时长;加和第二视频转码时长和网络传输时长,得到第三视频转码时长;在第一视频转码时长小于或等于第三视频转码时长时,将第一转码服务器确定为视频转码作业对应的目标转码服务器;在第一视频转码时长大于第三视频转码时长时,将第二转码服务器确定为视频转码作业对应的目标转码服务器。
在具体的应用场景中,调度模型的构建方法包括:确定模型参数、模型优化目标以及模型约束条件;基于模型参数、模型约束条件以及模型优化目标构建生成调度模型;其中,模型参数包括服务器集群,服务器集群中的空闲转码服务器、多个视频转码任务、每个视频转码任务对应的转码预估时长、每个视频转码任务在空闲转码服务器上的开始执行时刻、每个视频转码任务在空闲转码服务器上的任务完成时刻、每个视频转码任务在空闲转码服务器上的持续执行时长,以及作业完成时间点;模型优化目标为最小化作业完成时间点;模型约束条件包括:每个视频转码任务在所选取执行的目标转码服务器上的持续执行时长等于视频转码任务的转码预估时长;每个视频转码任务在所选取执行的目标转码服务器上的开始执行时刻晚于目标转码服务器的空闲时刻;同一目标转码服务器所执行多个视频转码任务的时间区间不相交;每个视频转码任务在不同的目标转码服务器上执行;作业完成时间点等于多个视频转码任务中最晚的任务完成时刻。
在具体的应用场景中,第二确定模块33,具体可用于确定视频转码作业以及第一服务器集群对应的第一模型参数信息;将第一模型参数信息代入调度模型,确定多个第一转码服务器,以及计算得到调度多个第一转码服务器执行视频转码作业时的第一视频转码时长,其中,第一转码服务器为第一服务器集群中使第一视频转码时长为最小值的空闲转码服务器。
在具体的应用场景中,第二确定模块33,具体可用于确定视频转码作业以及第二服务器集群对应的第二模型参数信息;将第二模型参数信息代入调度模型,确定多个第二转码服务器,以及计算得到调度多个第二转码服务器执行视频转码作业时的第二视频转码时长,其中,第二转码服务器为第二服务器集群中使第二视频转码时长为最小值的空闲转码服务器。
由于本公开实施例提供的装置与上述几种实施例提供的方法相对应,因此方法的实施方式也适用于本实施例提供的装置,在本实施例中不再详细描述。
上述本申请提供的实施例中,对本申请实施例提供的方法及装置进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构、软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能可以以硬件结构、软件模块、或者硬件结构加软件模块的方式来执行。
图5是根据一示例性实施例示出的一种用于实现上述用户满意度预测方法的电子设备500的框图。例如,电子设备500可以是移动电话,计算机,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在电子设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE、5G NR(NewRadio)或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开的实施例还提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述实施例中描述的用户满意度预测方法。
本公开的实施例还提出一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行本公开上述实施例中描述的用户满意度预测方法。
本公开的实施例还提出了一种芯片,可参见图6所示的芯片的结构示意图。图6所示的芯片包括处理器601和接口电路602。其中,处理器601的数量可以是一个或多个,接口电路602的数量可以是一个或多个。
可选的,芯片还包括存储器603,存储器603用于存储必要的计算机程序和数据;接口电路602用于从存储器603接收信号,并向处理器601发送信号,信号包括存储器603中存储的计算机指令,当处理器601执行计算机指令时,使得电子设备执行本公开上述实施例中描述的用户满意度预测方法。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(控制方法),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本发明的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施实施进行变化、修改、替换和变型。
Claims (12)
1.一种视频转码调度方法,其特征在于,包括:
获取视频转码作业,所述视频转码作业包括多个视频转码任务;
基于训练完成的转码耗时预估模型确定所述视频转码作业的转码预估时长;
以所述转码预估时长为调度目标,在转码服务器集群中确定所述视频转码作业对应的目标转码服务器,所述目标转码服务器为所述转码服务器集群中使所述多个视频转码任务的总转码耗时最短的转码服务器;
调度所述目标转码服务器执行所述多个视频转码任务。
2.根据权利要求1所述的方法,其特征在于,所述转码耗时预估模型的训练方法包括:
获取样本视频转码信息,所述样本视频转码信息至少包括样本视频特征信息和转码耗时信息,所述样本视频特征信息包括样本视频输入特征和样本视频输出特征;
将所述样本视频特征信息作为模型输入特征,将所述转码耗时信息作为模型训练标签,迭代训练转码耗时预估模型,直至模型损失函数小于预设阈值,判断所述转码耗时预估模型训练完成。
3.根据权利要求1所述的方法,其特征在于,所述基于训练完成的转码耗时预估模型确定所述视频转码作业的转码预估时长,包括:
提取所述多个视频转码任务中每个视频转码任务的视频特征信息,所述视频特征信息包括视频输入特征和视频输出特征;
将每个视频转码任务的视频特征信息分别输入训练完成的转码耗时预估模型,得到每个视频转码任务的转码预估时长;
将所述多个视频转码任务中对应耗时最长的转码预估时长,确定为所述视频转码作业的转码预估时长。
4.根据权利要求1所述的方法,其特征在于,所述基于所述转码预估时长确定所述视频转码作业对应的目标转码服务器,包括:
基于调度模型在第一服务器集群中筛选处于空闲状态的多个第一转码服务器,以及计算调度所述多个第一转码服务器执行所述视频转码作业时的第一视频转码时长,所述第一服务器集群为与所述视频转码作业处于相同地域的服务器集群,所述第一转码服务器为所述第一服务器集群中使所述多个视频转码任务的总转码耗时最短的转码服务器;
在所述第一视频转码时长小于或等于所述视频转码作业的转码预估时长时,将所述第一转码服务器确定为所述视频转码作业对应的目标转码服务器。
5.根据权利要求4所述的方法,其特征在于,所述确定所述视频转码作业对应的目标转码服务器,包括:
在所述第一视频转码时长大于所述视频转码作业的转码预估时长时,基于调度模型在第二服务器集群中筛选处于空闲状态的多个第二转码服务器,以及计算调度所述多个第二转码服务器执行所述视频转码作业时的第二视频转码时长,所述第二服务器集群为与所述视频转码作业处于不同地域的服务器集群,所述第二转码服务器为所述第二服务器集群中使所述多个视频转码任务的总转码耗时最短的转码服务器;
计算所述第二转码服务器针对所述视频转码作业的网络传输时长;
加和所述第二视频转码时长和所述网络传输时长,得到第三视频转码时长;
在所述第一视频转码时长小于或等于所述第三视频转码时长时,将所述第一转码服务器确定为所述视频转码作业对应的目标转码服务器;
在所述第一视频转码时长大于所述第三视频转码时长时,将所述第二转码服务器确定为所述视频转码作业对应的目标转码服务器。
6.根据权利要求4或5所述的方法,其特征在于,所述调度模型的构建方法包括:
确定模型参数、模型优化目标以及模型约束条件;
基于所述模型参数、所述模型约束条件以及所述模型优化目标构建生成调度模型;
其中,所述模型参数包括服务器集群,所述服务器集群中的空闲转码服务器、多个视频转码任务、每个视频转码任务对应的转码预估时长、每个视频转码任务在所述空闲转码服务器上的开始执行时刻、每个视频转码任务在所述空闲转码服务器上的任务完成时刻、每个视频转码任务在所述空闲转码服务器上的持续执行时长,以及作业完成时间点;所述模型优化目标为最小化所述作业完成时间点;
所述模型约束条件包括:
每个视频转码任务在所选取执行的目标转码服务器上的持续执行时长等于所述视频转码任务的转码预估时长;
所述每个视频转码任务在所选取执行的目标转码服务器上的开始执行时刻晚于所述目标转码服务器的空闲时刻;
同一目标转码服务器所执行多个视频转码任务的时间区间不相交;
所述每个视频转码任务在单个目标转码服务器上执行;
所述作业完成时间点等于所述多个视频转码任务中最晚的任务完成时刻。
7.根据权利要求6所述的方法,其特征在于,所述基于调度模型在第一服务器集群中筛选处于空闲状态的第一转码服务器,以及计算调度所述第一转码服务器执行所述视频转码作业时的第一视频转码时长,包括:
确定所述视频转码作业以及所述第一服务器集群对应的第一模型参数信息;
将所述第一模型参数信息代入调度模型,确定多个第一转码服务器,以及计算得到调度所述多个第一转码服务器执行所述视频转码作业时的第一视频转码时长。
8.根据权利要求6所述的方法,其特征在于,所述基于调度模型在第二服务器集群中筛选处于空闲状态的第二转码服务器,以及计算调度所述第二转码服务器执行所述视频转码作业时的第二视频转码时长,包括:
确定所述视频转码作业以及所述第二服务器集群对应的第二模型参数信息;
将所述第二模型参数信息代入调度模型,确定多个第二转码服务器,以及计算得到调度所述多个第二转码服务器执行所述视频转码作业时的第二视频转码时长。
9.一种视频转码调度装置,其特征在于,包括:
获取模块,用于获取视频转码作业,所述视频转码作业包括多个视频转码任务;
第一确定模块,用于基于训练完成的转码耗时预估模型确定所述视频转码作业的转码预估时长;
第二确定模块,用于以所述转码预估时长为调度目标,在转码服务器集群中确定所述视频转码作业对应的目标转码服务器,所述目标转码服务器为所述转码服务器集群中使所述多个视频转码任务的总转码耗时最短的转码服务器;
调度模块,用于调度所述目标转码服务器执行所述多个视频转码任务。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
11.一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法。
12.一种芯片,其特征在于,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令,当所述处理器执行所述计算机指令时,使得所述电子设备执行权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410001643.1A CN117499710B (zh) | 2024-01-02 | 2024-01-02 | 视频转码调度方法、装置、可读存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410001643.1A CN117499710B (zh) | 2024-01-02 | 2024-01-02 | 视频转码调度方法、装置、可读存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117499710A true CN117499710A (zh) | 2024-02-02 |
CN117499710B CN117499710B (zh) | 2024-04-09 |
Family
ID=89674771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410001643.1A Active CN117499710B (zh) | 2024-01-02 | 2024-01-02 | 视频转码调度方法、装置、可读存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499710B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101454809B1 (ko) * | 2013-12-26 | 2014-11-04 | 성균관대학교산학협력단 | 트랜스코딩 작업 스케줄링 방법 및 이를 이용한 트랜스코딩 시스템 |
CN106973306A (zh) * | 2017-02-14 | 2017-07-21 | 北京时间股份有限公司 | 分布式转码方法、装置及系统 |
CN108512817A (zh) * | 2017-02-28 | 2018-09-07 | 北京大学 | 多视频转码调度方法及装置 |
-
2024
- 2024-01-02 CN CN202410001643.1A patent/CN117499710B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101454809B1 (ko) * | 2013-12-26 | 2014-11-04 | 성균관대학교산학협력단 | 트랜스코딩 작업 스케줄링 방법 및 이를 이용한 트랜스코딩 시스템 |
CN106973306A (zh) * | 2017-02-14 | 2017-07-21 | 北京时间股份有限公司 | 分布式转码方法、装置及系统 |
CN108512817A (zh) * | 2017-02-28 | 2018-09-07 | 北京大学 | 多视频转码调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117499710B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885905B2 (en) | Predicting user actions on ubiquitous devices | |
EP3465620B1 (en) | Shared experience with contextual augmentation | |
CN110827378B (zh) | 虚拟形象的生成方法、装置、终端及存储介质 | |
US9992429B2 (en) | Video pinning | |
CN110213616B (zh) | 视频提供方法、获取方法、装置及设备 | |
CN110263213B (zh) | 视频推送方法、装置、计算机设备及存储介质 | |
EP2947891A1 (en) | Method for providing episode selection of video and apparatus thereof | |
EP3160105A1 (en) | Method and device for pushing information | |
CN111552888A (zh) | 内容推荐方法、装置、设备及存储介质 | |
US11720814B2 (en) | Method and system for classifying time-series data | |
CN115136570A (zh) | 物联网设备的集成 | |
CN111078011A (zh) | 手势控制方法、装置、计算机可读存储介质及电子设备 | |
CN110636383A (zh) | 一种视频播放方法、装置、电子设备及存储介质 | |
US9779093B2 (en) | Spatial seeking in media files | |
CN110764627A (zh) | 一种输入方法、装置和电子设备 | |
CN112766498B (zh) | 模型训练方法及装置 | |
CN108984628B (zh) | 内容描述生成模型的损失值获取方法及装置 | |
CN109542430B (zh) | 用于实现界面交互效果的方法、装置及电子设备 | |
CN117499710B (zh) | 视频转码调度方法、装置、可读存储介质、电子设备 | |
CN112734627A (zh) | 图像风格迁移模型的训练方法、图像风格迁移方法及装置 | |
CN112333518A (zh) | 用于视频的功能配置方法、装置及电子设备 | |
CN115994266A (zh) | 资源推荐方法、装置、电子设备和存储介质 | |
CN115022696B (zh) | 视频预览方法、装置、可读介质及电子设备 | |
CN113115104B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN112565605B (zh) | 图像显示方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |