CN109471715B - 一种转码任务的调度方法、装置及存储介质 - Google Patents
一种转码任务的调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109471715B CN109471715B CN201811084239.6A CN201811084239A CN109471715B CN 109471715 B CN109471715 B CN 109471715B CN 201811084239 A CN201811084239 A CN 201811084239A CN 109471715 B CN109471715 B CN 109471715B
- Authority
- CN
- China
- Prior art keywords
- transcoding
- task
- determining
- initial
- concurrency number
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012937 correction Methods 0.000 claims description 49
- 238000004364 calculation method Methods 0.000 claims description 28
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013178 mathematical model Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种转码任务的调度方法,所述方法包括:确定当前转码任务对应的转码倍数和初始转码并发数,其中,所述转码倍数用于表征所述当前转码任务的执行效率;将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值;根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;基于所述最佳转码并发数,对所述当前转码任务进行调度。本发明还公开了一种转码任务的调度装置以及存储介质。
Description
技术领域
本发明涉及分布式转码技术领域,尤其涉及一种转码任务的调度方法、装置及存储介质。
背景技术
目前,在分布式转码***中,通常采用基于中央处理器(CPU,Central ProcessingUnit)负载的调度策略,即根据CPU的负载情况,调节并发转码的任务数量,或者根据恒定的经验值控制并发转码的任务数量。
然而,除了CPU的负载情况以外,还存在一些其他因素对并发转码的任务数量产生影响。因此,在未考虑其他影响因素的情况下,仅根据CPU的负载情况确定出的并发转码的任务数量,很有可能不是最佳的并发转码的任务数量,从而导致转码***并发转码的效率降低。
发明内容
有鉴于此,本发明实施例期望提供一种转码任务的调度方法、装置及存储介质,至少用以解决相关技术中难以有效提升转码***并发转码的效率的问题。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种转码任务的调度方法,所述方法包括:
确定当前转码任务对应的转码倍数和初始转码并发数,其中,所述转码倍数用于表征所述当前转码任务的执行效率;
将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值,其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长,所述反馈输出值用于对所述初始转码并发数进行调整;
根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;
基于所述最佳转码并发数,对所述当前转码任务进行调度。
第二方面,本发明实施例还提供一种转码任务的调度装置,所述装置包括:第一确定模块、获取模块、第二确定模块和调度模块;其中,
所述第一确定模块,用于确定当前转码任务对应的转码倍数和初始转码并发数,其中,所述转码倍数用于表征所述当前转码任务的执行效率;
所述获取模块,用于将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值,其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长,所述反馈输出值用于对所述初始转码并发数进行调整;
所述第二确定模块,用于根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;
所述调度模块,用于基于所述最佳转码并发数,对所述当前转码任务进行调度。
上述方案中,所述第一确定模块,具体用于:基于所述第一时长与所述第二时长的比值,获得第一计算结果,将所述第一计算结果确定为所述当前转码任务对应的转码倍数。
上述方案中,所述装置还包括以下模块确定目标模型:
第三确定模块,用于确定初始模型和修正系数;
第四确定模块,用于根据所述初始模型和所述修正系数,确定所述目标模型。
上述方案中,所述第三确定模块,具体用于:确定所述待转码的内容的实际转码倍数,以及确定在同等转码并发数下所有待转码的内容的转码倍数的平均值;
基于所述实际转码倍数与所述平均值的差值,获得第二计算结果,将所述第二计算结果确定为所述修正系数。
上述方案中,所述第四确定模块,具体用于:根据所述修正系数,对所述初始模型进行修正,以确定出所述目标模型。
上述方案中,所述第二确定模块,具体用于:基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;
确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;
根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数。
第三方面,本发明实施例还提供一种转码任务的调度装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行本发明实施例提供的转码任务的调度方法的步骤。
第四方面,本发明实施例还提供一种存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现本发明实施例提供的转码任务的调度方法的步骤。
本发明实施例所提供的转码任务的调度方法、装置及存储介质,确定当前转码任务对应的转码倍数和初始转码并发数;将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值;根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;基于所述最佳转码并发数,对所述当前转码任务进行调度。如此,通过引入当前转码任务对应的转码倍数这一因素,来确定当前转码任务对应的最佳转码并发数,以最佳转码并发数调度转码任务,从而能够有效提升转码***并发转码的效率,使得***资源的利用率达到最大化。
附图说明
图1为本发明实施例提供的一种转码任务的调度方法的实现流程示意图;
图2为本发明实施例提供的一种转码任务的调度方法的具体实现流程示意图;
图3为本发明实施例提供的一种并发转码任务的转码倍数与转码并发数的实际对应关系的示意图;
图4为本发明实施例提供的一种确定最佳转码并发数的设计架构示意图;
图5为本发明实施例提供的一种转码任务的调度装置的功能结构示意图;
图6为本发明实施例提供的一种转码任务的调度装置的硬件结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。本领域技术人员应当理解,本发明实施例所记载的各技术方案之间,在不冲突的情况下,可以任意组合。
图1为本发明实施例提供的一种转码任务的调度方法的实现流程示意图,所述转码任务的调度方法可应用于服务器中;如图1所示,本发明实施例中的转码任务的调度方法的实现流程,可以包括以下步骤:
步骤101:确定当前转码任务对应的转码倍数和初始转码并发数。
本发明实施例中,所述转码倍数用于表征所述当前转码任务的执行效率。
在本发明实施例中,在执行本步骤101之前,所述方法还可以包括:接收第一反馈输入信息和第二反馈输入信息;其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长。
这里,对于确定当前转码任务对应的转码倍数来说,可以采用以下方式来实现:首先,基于所述第一时长与所述第二时长的比值,获得第一计算结果;然后,将所述第一计算结果确定为所述当前转码任务对应的转码倍数。
步骤102:将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值。
本发明实施例中,所述反馈输出值用于对所述初始转码并发数进行调整,具体地,所述反馈输出值可以用于对所述初始转码并发数进行增加或减小。
在本发明实施例中,在执行本步骤102之前,所述方法还可以包括:确定目标模型。
这里,对于确定目标模型来说,可以采用以下方式来实现:确定初始模型和修正系数;根据所述初始模型和所述修正系数,确定所述目标模型。
这里,在确定初始模型时,可采用相关技术中的概率公式表示初始模型,例如,可将相关技术中的贝叶斯估计模型作为初始模型,这里不做限定。在实际应用中,由于转码倍数不仅与当前转码器的并发进程的数量有关,还与当前转码任务对应的待转码的内容的业务场景,比如待转码的视频文件的视频分辨率相关,因此,当所下发的转码任务对应的视频分辨率不同时,仅基于简单的贝叶斯估计模型并不能很好的预测最佳转码并发数,此时需要基于修正系数对初始模型进行修正,以确定出目标模型,然后基于目标模型来预测最佳转码并发数,从而提高预测最佳转码并发数的准确性。
这里,对于所述确定修正系数而言,可以采用以下方式来实现:首先,确定所述待转码的内容的实际转码倍数,以及确定在同等转码并发数下所有待转码的内容的转码倍数的平均值;然后,基于所述实际转码倍数与所述平均值的差值,获得第二计算结果,将所述第二计算结果确定为所述修正系数。
步骤103:根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数。
在本发明实施例中,本步骤103的具体实现可以包括以下步骤:
首先,基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;然后,根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数。
步骤104:基于所述最佳转码并发数,对所述当前转码任务进行调度。
采用本发明实施例的技术方案,通过引入当前转码任务对应的转码倍数这一因素,来确定当前转码任务对应的最佳转码并发数,以最佳转码并发数调度转码任务,从而能够有效提升转码***并发转码的效率,使得***资源的利用率达到最大化。
下面对本发明实施例提供的转码任务的调度方法的具体实现过程做进一步地详细说明。
图2为本发明实施例提供的一种转码任务的调度方法的具体实现流程示意图,所述转码任务的调度方法可应用于服务器中;如图2所示,所述转码任务的调度方法的具体实现流程,可以包括以下步骤:
步骤201:接收第一反馈输入信息和第二反馈输入信息。
本发明实施例中,第一反馈输入信息可以用于表征当前转码任务对应的待转码的内容的第一时长,第二反馈输入信息可以用于表征针对待转码的内容执行转码任务所消耗的第二时长。
步骤202:确定当前转码任务对应的转码倍数和初始转码并发数。
这里,所述转码倍数可以用于表征所述当前转码任务的执行效率。在本发明的一个示例中,所述转码倍数可以通过计算当前转码任务对应的待转码的内容的第一时长,与针对待转码的内容执行转码任务所消耗的第二时长之间的比值来获得。其中,所述待转码的内容可以为需进行转码的媒体文件,例如需进行转码的视频文件,这里不做具体限定。
需要指出的是,图3为本发明实施例提供的一种并发转码任务的转码倍数与转码并发数的实际对应关系的示意图,实际应用中,在分布式转码***中,并发转码任务的转码倍数与转码并发数的大致对应关系如图3所示,由图3可知,当转码并发数到达临界值n时,服务器上所承载的CPU的负载数量将接近100%,此时,倘若继续增加转码并发数n的大小,会导致服务器将更多时间消耗在并发进程的调度上,而又无法提供充足的计算资源,从而也会导致转码***并发转码的效率降低。因此,本发明实施例亟待寻找一种确定最佳转码并发数的方法。下面结合步骤203至步骤205的执行过程来说明如何确定最佳转码并发数。
步骤203:确定初始模型和修正系数,根据初始模型与修正系数,确定目标模型。
本发明实施例中,在确定初始模型时,可采用相关技术中的概率公式表示初始模型,例如,可将相关技术中的贝叶斯估计模型作为初始模型,这里不做限定。
本发明实施例中,对于所述确定修正系数来说,可以采用以下方式实现:首先,确定所述待转码的内容的实际转码倍数,以及确定在同等转码并发数下所有待转码的内容的转码倍数的平均值;然后,基于所述实际转码倍数与所述平均值的差值,获得第二计算结果,将所述第二计算结果确定为所述修正系数。
这里,对于确定目标模型来说,可以采用以下方式实现:根据所述修正系数,对所述初始模型进行修正,以确定出所述目标模型。
步骤204:将第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值。
本发明实施例中,所述反馈输出值用于对所述初始转码并发数进行调整。
步骤205:根据反馈输出值和初始转码并发数,确定当前转码任务在转码倍数满足相应设定条件下对应的最佳转码并发数。
本发明实施例中,本步骤205的具体实现可以包括以下步骤:基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数。
对于上述步骤203至步骤205的实现,具体可以采用图4所示的本发明实施例提供的一种确定最佳转码并发数的设计架构来实施。
下面以一个具体实例来说明基于图4所示的设计架构确定最佳转码并发数的实现过程:首先,将当前转码任务输入到调度模块M中,这里的当前转码任务比如包括至少一个视频转码任务;其次,调度模块M根据下发的初始转码并发数C1调度所有转码任务进入转码器T进行并发转码,同时将当前转码任务对应的待转码的内容,如需进行转码的视频文件的第一时长作为第一反馈输入信息即反馈输入1同步到估计模块C中,当转码器T完成某个转码任务时,服务器可以将该完成的转码任务的信息,如执行该转码任务所消耗的第二时长作为第二反馈输入信息即反馈输入2同步到估计模块C中;接下来,估计模块C在接收到反馈输入1和反馈输入2之后,可以基于反馈输入1和反馈输入2确定当前转码任务对应的转码倍数,以及输出反馈输出值,此时,服务器可以在设定的并发条件即转码倍数满足相应设定条件的情况下,基于反馈输出值判断由估计模块C确定的后验概率值是否大于设定的期望值,在确定由估计模块C确定的后验概率值大于设定的期望值时,确定初始转码并发数的修正值;最后,服务器基于初始转码并发数的修正值,来调节调度模块M下发的初始转码并发数C1,以获得最佳转码并发数,进而调度模块M按照最佳转码并发数重新进行转码任务调度。
需要指出的是,本发明实施例中提供的确定最佳转码并发数的设计架构中的估计模块C可以采用数学模型来确定。下面说明下确定估计模块C所使用的数学模型。
首先,确定估计模块C所使用的初始模型,在确定初始模型时,可采用相关技术中的概率公式表示初始模型,例如,可将相关技术中的贝叶斯估计模型作为初始模型,这里不做限定。本发明实施例以初始模型为贝叶斯估计模型为例进行说明,则最佳转码并发数Ci为求得在给定转码倍数X大于x条件下最合适的转码并发数Ci,记为最佳转码并发数Ci服从P(Ci|X>x)所表示的概率分布,根据贝叶斯公式有:
其中,X表示转码倍数;x表示转码倍数满足的条件值;P(X>x)表示转码倍数X大于x的概率;P(Ci)表示转码并发数C为i时的概率;P(X>x|Ci)表示在转码并发数C为i的情况下转码倍数X大于x的概率。
需要说明的是,上述三个概率值都可以是根据转码实际结果通过统计求得的近似值。当需要求解在转码倍数X>x的情况下最佳的转码并发数Ci,即可转换为寻找一个使得概率P(Ci|X>x)大于设定的期望值的最大转码并发数Ci。
然而,在实际应用中,由于转码倍数不仅与当前转码器的并发进程的数量有关,还与当前转码任务对应的待转码的内容的业务场景,比如待转码的视频文件的视频分辨率相关,因此,当所下发的转码任务对应的视频分辨率不同时,仅基于简单的贝叶斯估计模型并不能很好的预测最佳转码并发数,此时需要对贝叶斯估计模型进行修正,以预测出更加准确的最佳转码并发数。
其次,说明下如何确定修正系数,以基于修正系数对上述公式(1)进行修正。
本发明实施例中,可以通过计算待转码的内容的实际转码倍数,与在同等转码并发数下所有待转码的内容的转码倍数的平均值之间的差值,确定为修正系数。其中,修正系数可由下述公式(2)进行表示:
其中,Mi表示待转码的内容,如某一视频文件的实际转码倍数;表示在同等转码并发数下所有待转码的内容,如所有视频文件的转码倍数的期望值;n表示待转码的内容,如视频文件的数量;表示在同等转码并发数下所有待转码的内容,如所有视频文件的转码倍数的平均值。
由上述公式(2)可知,fixi的值越大,表示此条转码任务的实际转码倍数,优于同等转码并发数情况下所有转码任务的转码倍数的平均水平;fixi的值越小,表示此条转码任务的实际转码倍数,差于同等转码并发数情况下所有转码任务的转码倍数的平均水平。以待转码的内容为视频文件为例,通常情况下,视频文件的视频分辨率越高,则视频文件的实际转码倍数会低于同等转码并发数情况下所有视频文件的转码倍数的平均水平;视频文件的视频分辨率越低,则视频文件的实际转码倍数将会高于同等转码并发数情况下所有视频文件的转码倍数的平均水平。
本发明实施例中,在确定出修正系数之后,则可以以修正系数fixi为基础,对上述公式(1)进行修正,确定出目标模型,利用目标模型确定最佳转码并发数。其中,以修正系数fixi为基础,对上述公式(1)进行修正后的表达式如下:
下面基于由上述公式(3)确定的目标模型,以一个具体实例来说明如何确定最佳转码并发数。假设图4所示的设计架构中的估计模块C可以根据反馈输入1和反馈输入2建立如下表1中的表项:{taskid,concurrency,speed,res,fix},其中,taskid表示转码任务对应的唯一标识,concurrency表示转码任务当时所处环境的转码并发数,speed表示转码倍数,res表示视频文件的视频分辨率,fix表示修正参数。
首先,确定输入到调度模块M的转码任务数量,即并发下发i个转码任务,i∈[0,N],以及统计各转码任务的转码倍数,上述过程需要重复多次,最终得到如表1所示的数据:
表1
如上述表1所示,在该转码任务对应的初始转码并发数为5时,假设该转码任务对应的转码倍数(以下简称转码倍数)需满足的相应设定条件为要求转码倍数大于1,则服务器可以先根据当前要求的转码倍数确定修正转码倍数,其中,修正转码倍数可通过计算当前要求的转码倍数与修正系数之间的差值获得。在确定出修正转码倍数之后,服务器可以根据修正转码倍数以及初始转码并发数来确定最佳转码并发数。具体地,在确定该转码任务对应的初始转码并发数为5,要求转码倍数大于1时,可以先从上述表1所示的数据中,确定有四条数据满足初始转码并发数为5,然后,可以分别确定这四条数据对应的修正转码倍数分别为1、1、1.3和0.7,由于这四条数据中当前对应的转码倍数分别为0.8、0.8、0.5和1.1。由此可知,这四条数据中仅有转码任务标识为vid103的数据满足当前对应的转码倍数大于修正转码倍数,则由此可以计算出P(X>x-fixi|Ci)=0.125,P(Ci)=0.5,P(X>x-fixi)=0.25,因此,在相应分辨率为720p的条件下P(Ci|X>x-fixi)=(0.125*0.5)/0.25=0.25,即可以得到在满足转码倍数大于1,初始转码并发数为5的情况下能满足需求的概率值为0.25。
很显然,该概率值较低,因此,估计模块C对应的反馈输出为-1,此时将减少调度模块M下发的并发数,在将调度模块M下发的并发数减少到4时,再重新计算此时对应的概率值,若检测到重新计算的概率值太低仍无法满足需求,则估计模块C对应的反馈输出仍为-1,直至找到一个可以接受的概率满足转码倍数大于1。若某个并发数的情况下满足所要求的概率,此时估计模块C对应的反馈输出为+1,将增加调度模块M下发的并发数,最终转码***将在该增加的转码并发数附近保持稳定,使得转码***收敛,此时,所确定的转码并发数即为能够满足转码倍数要求的最佳转码并发数。
步骤206:基于最佳转码并发数,对当前转码任务进行调度。
采用本发明实施例的技术方案,通过引入当前转码任务对应的转码倍数这一因素,来确定当前转码任务对应的最佳转码并发数,以最佳转码并发数调度转码任务,从而能够有效提升转码***并发转码的效率,使得***资源的利用率达到最大化。
为了实现上述转码任务的调度方法,本发明实施例还提供了一种转码任务的调度装置,所述转码任务的调度装置可应用于服务器中,图5为本发明实施例提供的一种转码任务的调度装置的功能结构示意图;如图5所示,所述转码任务的调度装置包括:第一确定模块51、获取模块52、第二确定模块53和调度模块54。下面对上述各程序模块的功能进行说明。其中,
所述第一确定模块51,用于确定当前转码任务对应的转码倍数和初始转码并发数,其中,所述转码倍数用于表征所述当前转码任务的执行效率;
所述获取模块52,用于将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值,其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长,所述反馈输出值用于对所述初始转码并发数进行调整;
所述第二确定模块53,用于根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;
所述调度模块54,用于基于所述最佳转码并发数,对所述当前转码任务进行调度。
在本发明实施例中,对于所述第一确定模块51确定当前转码任务对应的转码倍数来说,可以采用以下方式来实现:基于所述第一时长与所述第二时长的比值,获得第一计算结果,将所述第一计算结果确定为所述当前转码任务对应的转码倍数。
在本发明实施例中,对于所述第二确定模块53根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数来说,可以采用以下方式来实现:
基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;
确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;
根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数。
在本发明的一个示例中,所述转码任务的调度装置还包括以下模块确定目标模型:
第三确定模块,用于确定初始模型和修正系数;
第四确定模块,用于根据所述初始模型和所述修正系数,确定所述目标模型。
这里,对于所述第三确定模块确定修正系数来说,可以采用以下方式来实现:确定所述待转码的内容的实际转码倍数,以及确定在同等转码并发数下所有待转码的内容的转码倍数的平均值;
基于所述实际转码倍数与所述平均值的差值,获得第二计算结果,将所述第二计算结果确定为所述修正系数。
这里,对于所述第四确定模块根据所述初始模型和所述修正系数,确定所述目标模型来说,可以采用以下方式来实现:根据所述修正系数,对所述初始模型进行修正,以确定出所述目标模型。
需要说明的是:上述实施例提供的转码任务的调度装置在对转码任务进行调度时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将转码任务的调度装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的转码任务的调度装置与转码任务的调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再详细赘述。
在实际应用中,上述各程序模块均可由位于服务器上的CPU、微处理器(MPU,MicroProcessor Unit)、数字信号处理器(DSP,Digital Signal Processor)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
为了实现上述转码任务的调度方法,本发明实施例还提供了一种转码任务的调度装置的硬件结构。现在将参考附图描述实现本发明实施例的转码任务的调度装置,所述转码任务的调度装置可以以各种形式的服务器如云服务器来实施。下面对本发明实施例的转码任务的调度装置的硬件结构做进一步说明,可以理解,图6仅仅示出了转码任务的调度装置的示例性结构而非全部结构,根据需要可以实施图6示出的部分结构或全部结构。
参见图6,图6为本发明实施例提供的一种转码任务的调度装置的硬件结构示意图,实际应用中可以应用于前述运行应用程序的服务器,图6所示的转码任务的调度装置600包括:至少一个处理器601、存储器602、用户接口603和至少一个网络接口604。所述转码任务的调度装置600中的各个组件通过总线***605耦合在一起。可以理解,总线***605用于实现这些组件之间的连接通信。总线***605除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线***605。
其中,用户接口603可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器602可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。
本发明实施例中的存储器602用于存储各种类型的数据以支持转码任务的调度装置600的操作。这些数据的示例包括:用于在转码任务的调度装置600上操作的任何计算机程序,如可执行程序6021和操作***6022,实现本发明实施例的转码任务的调度方法的程序可以包含在可执行程序6021中。
本发明实施例揭示的转码任务的调度方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述转码任务的调度方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器601可以实现或者执行本发明实施例中提供的各转码任务的调度方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所提供的转码任务的调度方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成本发明实施例提供的转码任务的调度方法的步骤。
本发明实施例中,所述转码任务的调度装置600包括存储器602、处理器601及存储在存储器602上并能够由所述处理器601运行的可执行程序6021,所述处理器601运行所述可执行程序6021时实现:确定当前转码任务对应的转码倍数和初始转码并发数,其中,所述转码倍数用于表征所述当前转码任务的执行效率;将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值,其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长,所述反馈输出值用于对所述初始转码并发数进行调整;根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;基于所述最佳转码并发数,对所述当前转码任务进行调度。
作为一种实施方式,所述处理器601运行所述可执行程序6021时实现:基于所述第一时长与所述第二时长的比值,获得第一计算结果,将所述第一计算结果确定为所述当前转码任务对应的转码倍数。
作为一种实施方式,所述处理器601运行所述可执行程序6021时实现:确定初始模型和修正系数;根据所述初始模型和所述修正系数,确定所述目标模型。
作为一种实施方式,所述处理器601运行所述可执行程序6021时实现:确定所述待转码的内容的实际转码倍数,以及确定在同等转码并发数下所有待转码的内容的转码倍数的平均值;基于所述实际转码倍数与所述平均值的差值,获得第二计算结果,将所述第二计算结果确定为所述修正系数。
作为一种实施方式,所述处理器601运行所述可执行程序6021时实现:根据所述修正系数,对所述初始模型进行修正,以确定出所述目标模型。
作为一种实施方式,所述处理器601运行所述可执行程序6021时实现:基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数。
在示例性实施例中,本发明实施例还提供了一种存储介质,所述存储介质可为光盘、闪存或磁盘等存储介质,可选为非瞬间存储介质。
本发明实施例中,所述存储介质上存储有可执行程序6021,所述可执行程序6021被处理器601执行时实现:确定当前转码任务对应的转码倍数和初始转码并发数,其中,所述转码倍数用于表征所述当前转码任务的执行效率;将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值,其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长,所述反馈输出值用于对所述初始转码并发数进行调整;根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;基于所述最佳转码并发数,对所述当前转码任务进行调度。
作为一种实施方式,所述可执行程序6021被处理器601执行时实现:基于所述第一时长与所述第二时长的比值,获得第一计算结果,将所述第一计算结果确定为所述当前转码任务对应的转码倍数。
作为一种实施方式,所述可执行程序6021被处理器601执行时实现:确定初始模型和修正系数;根据所述初始模型和所述修正系数,确定所述目标模型。
作为一种实施方式,所述可执行程序6021被处理器601执行时实现:确定所述待转码的内容的实际转码倍数,以及确定在同等转码并发数下所有待转码的内容的转码倍数的平均值;基于所述实际转码倍数与所述平均值的差值,获得第二计算结果,将所述第二计算结果确定为所述修正系数。
作为一种实施方式,所述可执行程序6021被处理器601执行时实现:根据所述修正系数,对所述初始模型进行修正,以确定出所述目标模型。
作为一种实施方式,所述可执行程序6021被处理器601执行时实现:基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或可执行程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的可执行程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和可执行程序产品的流程图和/或方框图来描述的。应理解可由可执行程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些可执行程序指令到通用计算机、专用计算机、嵌入式处理机或参考可编程数据处理设备的处理器以产生一个机器,使得通过计算机或参考可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些可执行程序指令也可存储在能引导计算机或参考可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些可执行程序指令也可装载到计算机或参考可编程数据处理设备上,使得在计算机或参考可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或参考可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种转码任务的调度方法,其特征在于,所述方法包括:
确定当前转码任务对应的初始转码并发数;
将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值,其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长,所述反馈输出值用于对所述初始转码并发数进行调整;
基于所述第一时长与所述第二时长的比值,获得第一计算结果,将所述第一计算结果确定为所述当前转码任务对应的转码倍数;其中,所述转码倍数用于表征所述当前转码任务的执行效率;
根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;
确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;
根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数;
基于所述最佳转码并发数,对所述当前转码任务进行调度。
2.根据权利要求1所述的转码任务的调度方法,其特征在于,所述目标模型是通过下述方式确定的:
确定初始模型和修正系数;
根据所述初始模型和所述修正系数,确定所述目标模型。
3.根据权利要求2所述的转码任务的调度方法,其特征在于,所述确定修正系数,包括:
确定所述待转码的内容的实际转码倍数,以及确定在同等转码并发数下所有待转码的内容的转码倍数的平均值;
基于所述实际转码倍数与所述平均值的差值,获得第二计算结果,将所述第二计算结果确定为所述修正系数。
4.根据权利要求3所述的转码任务的调度方法,其特征在于,所述根据所述初始模型和所述修正系数,确定所述目标模型,包括:
根据所述修正系数,对所述初始模型进行修正,以确定出所述目标模型。
5.一种转码任务的调度装置,其特征在于,所述装置包括:第一确定模块、获取模块、第二确定模块和调度模块;其中,
所述第一确定模块,用于确定当前转码任务对应的初始转码并发数;
所述获取模块,用于将接收到的第一反馈输入信息和第二反馈输入信息输入到目标模型中,获得反馈输出值,其中,所述第一反馈输入信息用于表征所述当前转码任务对应的待转码的内容的第一时长,所述第二反馈输入信息用于表征针对所述待转码的内容执行转码任务所消耗的第二时长,所述反馈输出值用于对所述初始转码并发数进行调整;
所述第一确定模块,用于基于所述第一时长与所述第二时长的比值,获得第一计算结果,将所述第一计算结果确定为所述当前转码任务对应的转码倍数;其中,所述转码倍数用于表征所述当前转码任务的执行效率;
所述第二确定模块,用于根据所述反馈输出值和所述初始转码并发数,确定所述当前转码任务在所述转码倍数满足相应设定条件下对应的最佳转码并发数;
基于所述反馈输出值,判断经由所述目标模型确定的后验概率值是否大于设定的期望值;
确定所述经由所述目标模型确定的后验概率值大于设定的期望值时,确定针对所述初始转码并发数的修正值;
根据所述初始转码并发数的修正值,调节所述当前转码任务对应的初始转码并发数,获得所述当前转码任务对应的最佳转码并发数;
所述调度模块,用于基于所述最佳转码并发数,对所述当前转码任务进行调度。
6.一种转码任务的调度装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至4任一项所述的转码任务的调度方法的步骤。
7.一种存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现如权利要求1至4任一项所述的转码任务的调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811084239.6A CN109471715B (zh) | 2018-09-17 | 2018-09-17 | 一种转码任务的调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811084239.6A CN109471715B (zh) | 2018-09-17 | 2018-09-17 | 一种转码任务的调度方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471715A CN109471715A (zh) | 2019-03-15 |
CN109471715B true CN109471715B (zh) | 2021-10-29 |
Family
ID=65664702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811084239.6A Active CN109471715B (zh) | 2018-09-17 | 2018-09-17 | 一种转码任务的调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471715B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325255A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市融创天下科技股份有限公司 | 一种多核心cpu视频转码调度方法及*** |
CN102790905A (zh) * | 2012-08-03 | 2012-11-21 | 重庆大学 | 基于P2PVoD视频点播***的H.264/SVC到H.264/AVC的转码方法 |
CN103702125A (zh) * | 2013-12-23 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 针对分片转码调度的方法和*** |
CN105992020A (zh) * | 2015-07-24 | 2016-10-05 | 乐视云计算有限公司 | 一种分配视频转换资源的方法及*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838779B (zh) * | 2012-11-27 | 2019-02-05 | 深圳市腾讯计算机***有限公司 | 复用空闲计算资源的云转码方法及***、分布式文件装置 |
US20140321532A1 (en) * | 2013-04-26 | 2014-10-30 | Devadutta Ghat | Techniques for coordinating parallel video transcoding |
CN103731678B (zh) * | 2013-12-30 | 2017-02-08 | 世纪龙信息网络有限责任公司 | 视频文件的并行转码方法及*** |
CN107205164B (zh) * | 2016-03-18 | 2020-09-01 | 百度在线网络技术(北京)有限公司 | 一种视频转码方法及装置 |
US20170289558A1 (en) * | 2016-03-31 | 2017-10-05 | Le Holdings (Beijing) Co., Ltd. | Method and device for allocating a transcoding task |
CN106375319A (zh) * | 2016-09-06 | 2017-02-01 | 上海爱数信息技术股份有限公司 | 一种音视频转码调度的方法、装置、设备及*** |
CN106851336B (zh) * | 2017-02-07 | 2020-04-14 | 上海网达软件股份有限公司 | 一种动态资源分配的音视频文件转码方法及*** |
-
2018
- 2018-09-17 CN CN201811084239.6A patent/CN109471715B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325255A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市融创天下科技股份有限公司 | 一种多核心cpu视频转码调度方法及*** |
CN102790905A (zh) * | 2012-08-03 | 2012-11-21 | 重庆大学 | 基于P2PVoD视频点播***的H.264/SVC到H.264/AVC的转码方法 |
CN103702125A (zh) * | 2013-12-23 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 针对分片转码调度的方法和*** |
CN105992020A (zh) * | 2015-07-24 | 2016-10-05 | 乐视云计算有限公司 | 一种分配视频转换资源的方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109471715A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11709534B2 (en) | Method and apparatus for managing global chip power on a multicore system on chip | |
US10127079B2 (en) | Scheduling user requests in a distributed resource system having plurality of schedulers and coordinators | |
US20170255496A1 (en) | Method for scheduling data flow task and apparatus | |
US8595735B2 (en) | Holistic task scheduling for distributed computing | |
US11095531B2 (en) | Service-aware serverless cloud computing system | |
US9104491B2 (en) | Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources | |
CN106293947B (zh) | 虚拟化云环境下gpu-cpu混合资源分配***和方法 | |
US20180101404A1 (en) | Resource and latency estimation-based scheduling | |
US9665409B2 (en) | Methods and apparatus facilitating access to storage among multiple computers | |
US11531565B2 (en) | Techniques to generate execution schedules from neural network computation graphs | |
US20210298033A1 (en) | Priority Control Method and Data Processing System | |
CN109471715B (zh) | 一种转码任务的调度方法、装置及存储介质 | |
CN113434303A (zh) | 批处理的遥感影像智能处理模型预测性能优化***及方法 | |
US10503548B2 (en) | Resource and latency estimation-based scheduling in a distributed computing environment | |
CN109634812B (zh) | Linux***的进程CPU占用率控制方法、终端设备及存储介质 | |
CN107589985B (zh) | 一种面向大数据平台的两阶段作业调度方法及*** | |
KR101674324B1 (ko) | 실시간 제어 응용에 적용되는 태스크 스케쥴링 장치 및 방법 | |
US20140380321A1 (en) | Energy efficient job scheduling | |
CN114546096A (zh) | 基带芯片、任务调度方法及终端设备 | |
CN114546730A (zh) | 数据恢复处理方法、装置及*** | |
Zhang et al. | Machine learning on volatile instances: Convergence, runtime, and cost tradeoffs | |
US7970884B1 (en) | Distribution of intermediate data in a multistage computer application | |
Wu et al. | An estimation of distribution algorithm to optimize the utility of task scheduling under fog computing systems | |
CN114186845A (zh) | 定时执行指标计算任务的方法和装置 | |
CN116954817A (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 |