转码任务处理方法、装置、电子设备及计算机存储介质与流程

文档序号:33708339发布日期:2023-03-31 22:36阅读:35来源:国知局
转码任务处理方法、装置、电子设备及计算机存储介质与流程

1.本公开涉及视频转码技术,尤其涉及一种转码任务处理方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。


背景技术:

2.视频转码是指将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。对于短视频领域而言,用户上传短视频后会触发转码(即上传转码),只有转码完成的视频才能被下发,因此,对于转码任务的耗时、稳定性要求较高。
3.而转码本质上又是一个先解码,再编码的过程。其中,编码处理速度与转码参数(如输出视频的码率、分辨率等)息息相关,一般转码速度、输出视频的画质、输出视频的码率呈三角平衡关系。比如在保证画质不变的前提下,编码花费的计算时间越长,则视频压缩得也越小,但是,编码需要耗费的机器资源也越多。
4.又由于上传转码具有非常明显的波峰波谷效应,例如,在日常晚间或节假日时会存在突发高峰。通常,为了保障上传转码服务的可用性,相关技术通过对服务器进行扩容,以预留大量冗余资源。但是,这些资源在平时的大多数时间却被空闲,导致资源利用率低。


技术实现要素:

5.本公开提供一种转码任务处理方法、装置、电子设备、计算机可读存储介质以及计算机程序产品,以至少解决相关技术中通过扩容服务器应对波峰导致资源利用率低的问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种转码任务处理方法,包括:
7.获取待转码任务,识别所述待转码任务的任务堆积时长;
8.当所述任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据所述任务堆积时长和所述等待时长阈值确定与所述待转码任务匹配的目标转码策略;
9.向转码集群发送所述待转码任务和所述目标转码策略,以指示所述转码集群采用所述目标转码策略对所述待转码任务进行转码处理。
10.在其中一个实施例中,所述预设的降级转码策略有多个,每个所述降级转码策略分别具有对应的等待时长阈值和降级转码参数,所述降级转码参数包括转码速度、转码输出码率以及输出画质中的至少一种。
11.在其中一个实施例中,所述等待时长阈值包括与所述降级转码策略对应的第一等待时长阈值和第二等待时长阈值,所述第二等待时长阈值大于所述第一等待时长阈值;所述当所述任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据所述任务堆积时长和所述等待时长阈值确定与所述待转码任务匹配的目标转码策略,包括:当所述任务堆积时长大于或等于所述第一等待时长阈值,且小于所述第二等待时长阈值时,根据所述任务堆积时长、所述第一等待时长阈值以及所述第二等待时长阈值,确定所述降级转
码策略所针对的降级任务区间;当确定所述待转码任务属于所述降级任务区间的任务时,将所述降级转码策略确定为与所述待转码任务匹配的目标转码策略。
12.在其中一个实施例中,所述根据所述任务堆积时长、所述第一等待时长阈值以及所述第二等待时长阈值,确定所述降级转码策略所针对的降级任务区间,包括:获取所述任务堆积时长与所述第一等待时长阈值之间的第一差值;获取所述第二等待时长阈值与所述第一等待时长阈值之间的第二差值;获取所述第一差值占所述第二差值的百分比,将小于或等于所述百分比的百分比区间确定为所述降级转码策略所针对的降级任务区间。
13.在其中一个实施例中,所述待转码任务具有对应的任务标识;所述方法还包括:对所述待转码任务的任务标识和第一设定参数进行取模运算,得到取模运算结果,所述第一设定参数是用于对所述待转码任务的任务标识进行取模运算,以确定所述任务标识中目标位置标识的计算因子;获取所述取模运算结果与第二设定参数之间的商,所述第二设定参数是用于使得所述取模运算结果与所述降级任务区间具有统一量度单位的计算因子;当所述商位于所述降级任务区间时,确定所述待转码任务属于所述降级任务区间的任务。
14.在其中一个实施例中,所述方法还包括:当所述待转码任务不属于所述降级任务区间的任务时,确定所述降级转码策略相对于降级之前的转码策略;将所述降级之前的转码策略确定为与所述待转码任务匹配的目标转码策略。
15.在其中一个实施例中,所述将所述降级转码策略确定为与所述待转码任务匹配的目标转码策略之后,所述方法还包括:根据所述待转码任务以及与所述待转码任务匹配的目标转码策略,生成对所述待转码任务的转码恢复任务;当检测到转码集群满足空闲状态时,向所述转码集群发送对所述待转码任务的转码恢复任务,以指示所述转码集群对所述待转码任务进行转码恢复处理。
16.在其中一个实施例中,所述方法还包括:当所述任务堆积时长大于或等于所述第二等待时长阈值时,将所述降级转码策略确定为与所述待转码任务匹配的目标转码策略。
17.根据本公开实施例的第二方面,提供一种转码任务处理装置,包括:
18.任务获取模块,被配置为执行获取待转码任务,识别所述待转码任务的任务堆积时长;
19.目标转码策略确定模块,被配置为执行当所述任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据所述任务堆积时长和所述等待时长阈值确定与所述待转码任务匹配的目标转码策略;
20.任务发送模块,被配置为执行向转码集群发送所述待转码任务和所述目标转码策略,以指示所述转码集群采用所述目标转码策略对所述待转码任务进行转码处理。
21.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上第一方面所述的转码任务处理方法。
22.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上第一方面所述的转码任务处理方法。
23.根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令可由电子设备的处理器执行,以完成如上第一方面所述的转码任务
处理方法。
24.本公开的实施例提供的技术方案至少带来以下有益效果:通过获取待转码任务,识别待转码任务的任务堆积时长,当任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据任务堆积时长和等待时长阈值确定与待转码任务匹配的目标转码策略,向转码集群发送待转码任务和匹配的目标转码策略。从而能够实现在不增加资源的情况下提高转码速度,同时兼顾转码输出的质量,以实现资源利用率的最大化。
25.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
26.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
27.图1是根据一示例性实施例示出的一种转码任务处理方法的应用环境图。
28.图2是根据一示例性实施例示出的一种转码任务处理方法的流程图。
29.图3a是根据一示例性实施例示出的降级机制的原理示意图。
30.图3b是根据一示例性实施例示出的确定目标转码策略步骤的流程图。
31.图4是根据一示例性实施例示出的确定降级任务区间步骤的流程图。
32.图5是根据一示例性实施例示出的确定待转码任务是否属于降级任务区间的任务步骤的流程图。
33.图6是根据一示例性实施例示出的转码恢复步骤的流程图。
34.图7a是根据一示例性实施例示出的各转码策略对应的时间坐标图。
35.图7b是根据另一示例性实施例示出的一种转码任务处理方法的流程图。
36.图8是根据一示例性实施例示出的一种转码任务处理装置的框图。
37.图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
38.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
39.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
40.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
41.本公开所提供的转码任务处理方法,可以应用于如图1所示的应用环境中。其中,转码调度服务器102通过网络与转码集群104进行交互。具体地,转码调度服务器102可以用
独立的服务器或者是多个服务器组成的服务器集群来实现。转码集群104则可以是由多个服务器组成的服务器集群。当用户上传视频后,一般会基于用户上传的视频生成对应的待转码任务,并将其存储在转码请求队列中。转码调度服务器102则可以获取转码请求队列中的待转码任务,并分配给转码集群104进行转码处理。
42.而当转码集群104的转码任务量达到峰值时(即转码集群104处于满载状态,线程池利用率达到了100%),则无法再承接转码任务(即反压限流机制),此时,转码请求队列中会出现任务堆积的情况。在本实施例中,为了应对任务堆积的情况,转码调度服务器102在消费转码请求队列中的待转码任务时,可以先识别待转码任务的任务堆积时长,并在任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据任务堆积时长和等待时长阈值确定与待转码任务匹配的目标转码策略(即根据堆积度适配降级策略的转码降级机制),从而向转码集群104发送待转码任务和匹配的目标转码策略,以指示转码集群104采用目标转码策略对待转码任务进行转码处理,从而节省转码需要消耗的机器资源,提高转码速度,实现在不扩容的情况下能够处理更多的转码任务,以应对转码任务量的波峰,并实现资源利用率的最大化。
43.图2是根据一示例性实施例示出的一种转码任务处理方法的流程图,如图2所示,以该方法应用于图1的转码调度服务器102为例,其具体可以包括以下步骤。
44.在步骤s210中,获取待转码任务,识别待转码任务的任务堆积时长。
45.其中,待转码任务是指基于用户上传的视频而生成的待要进行转码的任务。任务堆积时长是指该任务从生成时刻到当前被消费的时刻之间的时间间隔。在本实施例中,转码调度服务器在消费转码请求队列中的任务时,首先获取要消费的待转码任务,并识别该待转码任务的任务堆积时长。
46.在步骤s220中,当任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据任务堆积时长和等待时长阈值确定与待转码任务匹配的目标转码策略。
47.其中,目标转码策略是最终确定的对该待转码任务进行转码所采用的策略。具体地,转码策略具有对应的转码参数,而转码参数包括但不限于转码速度、转码输出码率以及输出画质中的至少一种。具体地,这些转码参数可以通过转码过程中外露的、可调整的参数实现,例如视频编码器工具开关、目标码率、目标质量、目标速度以及编码器预设的场景参数等。通过对这些参数的调整,可以实现不同的转码速度、转码输出码率以及输出画质。
48.又由于转码速度、转码输出码率以及转码输出画质之间呈三角平衡关系,例如,当要保证转码输出画质不变的前提下,编码花费的计算时间越长(即转码速度越慢),则视频压缩得也越小(即码率越高),但是,编码需要耗费的机器资源也越多。因此,通常会基于实际应用场景而确定一个相对通用的转码参数,并与通用转码策略相对应。
49.降级转码策略则是在上述通用转码策略的基础上,基于缓解转码集群的处理压力而确定的进行降级转码的策略。在本实施例中,降级转码策略主要基于提高转码速度考虑,例如,将转码速度提高至通用转码策略的2倍、3倍、4倍等。又由于转码速度、转码输出码率以及转码输出画质之间呈三角平衡关系,因此,在提高转码速度的情况下,同时也会影响转码输出画质的下降以及转码输出码率的下降。因此,降级转码策略也具有对应的降级转码参数,即不同的转码策略其对应的转码参数也不同。
50.等待时长阈值可以是预先设置的启用对应降级转码策略的触发条件。由于本实施
例的降级转码策略是基于缓解转码集群的处理压力而确定的进行降级转码的策略,因此,当转码集群处于正常工作状态时(此时待转码任务的任务堆积时长通常较短,即小于等待时长阈值),其可以采用通用转码策略进行转码处理,而当转码集群达到满载状态时(此时待转码任务的任务堆积时长相对较长,即大于或等于等待时长阈值),随着任务的不断增加,其对应的任务堆积时长也会越来越长,因此,可以基于任务堆积时长所达到的等待时长阈值,而采用对应的降级转码策略对任务进行处理,以提高转码速度。可以理解的是,可以预先设置多个不同级别的降级转码策略,并为每个降级转码策略设置对应的等待时长阈值和降级转码参数,不同的等待时长阈值可以触发启用不同的降级转码策略。
51.在本实施例中,转码调度服务器可以通过判断待转码任务的任务堆积时长,与预设的降级转码策略所对应的等待时长阈值之间的关系,而确定与待转码任务匹配的目标转码策略。具体地,当待转码任务的任务堆积时长小于等待时长阈值时,则表示此时转码集群能够应对当前的任务量,因此,暂时不需要启用降级转码策略,从而可以确定该待转码任务的目标转码策略为通用转码策略。
52.而当待转码任务的任务堆积时长大于或等于预设的降级转码策略所对应的等待时长阈值时,则表示任务堆积时长满足预设的降级转码策略所对应的等待时长阈值,且此时转码集群可能已达到满载,并堆积了一定的待转码任务,因此,转码调度服务器可以进一步根据任务堆积时长和等待时长阈值确定与待转码任务匹配的目标转码策略。
53.由于队列遵循先进先出原则,因此,当待转码任务的任务堆积时长越长则表示转码请求队列中堆积的任务越多。基于此,转码调度服务器可以根据任务堆积时长和等待时长阈值而确定队列中任务堆积的程度,进而可以根据任务堆积的程度而确定是否需要对当前的待转码任务启用降级转码策略,即灰度启用降级转码策略。例如,当任务堆积的程度不高时,可以仅对部分待转码任务启用降级转码策略,而当任务堆积的程度较高时,则可以对全部的待转码任务启用降级转码策略,从而能够实现在提高转码速度,缓解转码集群处理压力的情况下,同时兼顾转码输出的质量。
54.在步骤s230中,向转码集群发送待转码任务和目标转码策略。
55.具体地,转码调度服务器通过上述步骤确定与待转码任务匹配的目标转码策略后,则还可以向转码集群发送该待转码任务和匹配的目标转码策略,以指示转码集群采用目标转码策略对该待转码任务进行转码处理。
56.上述转码任务处理方法中,通过获取待转码任务,识别待转码任务的任务堆积时长,当任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据任务堆积时长和等待时长阈值确定与待转码任务匹配的目标转码策略,向转码集群发送待转码任务和匹配的目标转码策略。从而能够实现在不增加资源的情况下提高转码速度,同时兼顾转码输出的质量,以实现资源利用率的最大化。
57.在一示例性实施例中,由于转码策略中包括对应的转码参数,而转码参数又包括转码速度等,因此,对于某一转码策略而言,其对应的转码速度是相对固定的,也即在同一转码策略下,处理每个待转码任务的处理时间大致相同。因此,本实施例还可以通过设置降级转码策略对应的最大允许处理时间,进而可以通过其最大允许处理时间以及该降级转码策略下转码速度对应的处理每个待转码任务的处理时间,而确定该降级转码策略对应的等待时长阈值。例如,若针对某一降级转码策略f,其最大允许处理时间为tmax,处理每个待转
码任务的处理时间为tn,则该降级转码策略对应的等待时长阈值可以由(tmax-tn)确定。
58.可以理解的是,当有多个不同级别的降级转码策略时,由于每一级别的降级转码策略其对应的转码参数不同,也即处理待转码任务的处理时间tn不同,相应地,为其设置的最大允许处理时间tmax也不同(如图3a中各级别的实际处理时间和各级别的最大允许处理时间),因此,计算得到的不同级别的降级转码策略对应的等待时长阈值也不同。
59.在一示例性实施例中,等待时长阈值可以包括与降级转码策略对应的第一等待时长阈值和第二等待时长阈值,其中,第二等待时长阈值大于第一等待时长阈值。由于任务堆积时长越长则表示转码请求队列中堆积的任务越多,也即任务堆积程度越高。因此,在本实施例中,基于同一降级转码策略可以设置不同的等待时长阈值,基于不同的降级转码策略可以设置不同的最大允许处理时间阈值,从而可以基于待转码任务的任务堆积时长与不同的等待时长阈值之间的关系而初步判断任务堆积程度,进而可以确定待转码任务的目标转码策略。例如,第一等待时长阈值可以是触发部分待转码任务启用该降级转码策略的阈值条件,第二等待时长阈值可以是触发全部待转码任务启用该降级转码策略的阈值条件(如图3a中部分启用轻降级转码策略的等待时长阈值、全部启用轻降级转码策略的等待时长阈值、部分启用重降级转码策略的等待时长阈值、全部启用重降级转码策略的等待时长阈值)。
60.因此,也可以预先为同一降级转码策略设置不同的最大允许处理时间。例如,可以预先设置部分启用该降级转码策略的最大允许处理时间tmax1以及全部启用该降级转码策略的最大允许处理时间tmax2,其中tmax2大于tmax1。又由于对于同一降级转码策略,其处理待转码任务的处理时间tn相同,基于此,通过上述等待时长阈值的计算方式,可以分别计算该降级转码策略对应的第一等待时长阈值和第二等待时长阈值。
61.具体地,如图3b所示,在步骤s220中,当任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据任务堆积时长和等待时长阈值确定与待转码任务匹配的目标转码策略,具体可以包括:
62.在步骤s310中,当任务堆积时长大于或等于第一等待时长阈值,且小于第二等待时长阈值时,确定降级转码策略所针对的降级任务区间。
63.由于第二等待时长阈值大于第一等待时长阈值,因此,当待转码任务的任务堆积时长大于或等于第一等待时长阈值,且小于第二等待时长阈值时,则表示达到了部分待转码任务启用该降级转码策略的阈值条件。基于此,转码调度服务器可以进一步根据任务堆积时长、第一等待时长阈值以及第二等待时长阈值,确定降级转码策略所针对的降级任务区间,即确定哪些待转码任务需要采用该降级转码策略进行转码处理。
64.在步骤s320中,当确定待转码任务属于降级任务区间的任务时,将降级转码策略确定为与待转码任务匹配的目标转码策略。
65.具体地,当转码调度服务器确定待转码任务属于降级任务区间的任务时,则将降级转码策略确定为与该待转码任务匹配的目标转码策略。即确定该待转码任务的目标转码策略为对应的降级转码策略。
66.上述实施例中,转码调度服务器根据待转码任务的任务堆积时长而确定该待转码任务的目标转码策略,当待转码任务的任务堆积时长大于或等于第一等待时长阈值,且小于第二等待时长阈值时,转码调度服务器可以根据任务堆积时长、第一等待时长阈值以及
第二等待时长阈值,确定降级转码策略所针对的降级任务区间,并在确定待转码任务属于降级任务区间的任务时,将降级转码策略确定为与待转码任务匹配的目标转码策略,从而实现灰度启用降级转码策略,以提高转码处理速度,缓解转码集群的压力,且使得当前转码任务量下降级转码的影响范围最小。
67.在一示例性实施例中,当任务堆积时长大于或等于第二等待时长阈值时,转码调度服务器还可以将降级转码策略确定为与待转码任务匹配的目标转码策略。由于待转码任务的任务堆积时长能够表征任务的堆积程度,而第二等待时长阈值可以是触发全部待转码任务启用该降级转码策略的阈值条件。因此,当待转码任务的任务堆积时长大于或等于第二等待时长阈值时,则表示达到了触发全部待转码任务启用该降级转码策略的条件,因此,可以确定该待转码任务的目标转码策略为对应的降级转码策略。从而能够有效缓解转码任务量到达峰值时转码集群的压力,提高转码处理速度。
68.在一示例性实施例中,如图4所示,上述根据任务堆积时长、第一等待时长阈值以及第二等待时长阈值,确定降级转码策略所针对的降级任务区间,具体可以包括:
69.在步骤s410中,获取任务堆积时长与第一等待时长阈值之间的第一差值。
70.具体地,若待转码任务的任务堆积时长为t,降级转码策略所对应的第一等待时长阈值为t1、第二等待时长阈值为t2。则转码调度服务器首先获取任务堆积时长t与第一等待时长阈值t1之间的第一差值,即计算(t-t1),从而得到对应的第一差值d1。
71.在步骤s420中,获取第二等待时长阈值与第一等待时长阈值之间的第二差值。
72.在本实施例中,转码调度服务器进一步获取第二等待时长阈值t2与第一等待时长阈值t1之间的第二差值,即计算(t2-t1),从而得到对应的第二差值d2。
73.在步骤s430中,获取第一差值占第二差值的百分比,将小于或等于百分比的百分比区间确定为降级转码策略所针对的降级任务区间。
74.具体地,转码调度服务器在得到上述第一差值d1和第二差值d2后,则可以进一步计算第一差值d1与第二差值d2之间的百分比,并将小于或等于百分比的百分比区间确定为降级转码策略所针对的降级任务区间。例如,若第一差值d1占第二差值d2的百分比为20%,则可以将小于或等于20%的百分比区间(即20%以下的所有百分比)确定为降级转码策略所针对的降级任务区间。
75.由于待转码任务的任务堆积时长越长时,其反应的任务堆积程度也越高。又由于第一等待时长阈值以及第二等待时长阈值都为预先设置的固定值,因此,当待转码任务的任务堆积时长越长时,其计算得到的降级任务区间也就越大,表示需要进行采用降级转码策略进行转码处理的任务也越多;而当待转码任务的任务堆积时长越短时,其计算得到的降级任务区间也就越小,表示需要进行采用降级转码策略进行转码处理的任务也越少。从而能够实现灵活调整降级任务区间的范围,使得在不同转码任务量下降级转码的影响范围都能够最小化。
76.在一示例性实施例中,待转码任务还具有对应的任务标识,其中,任务标识可以是用于区分不同任务的标志或记号。例如,任务标识可以是对应的编码或编号,在本实施例中,以任务标识为自增量的编号为例,则如图5所示,确定待转码任务是否属于降级任务区间的任务,具体可以包括如下步骤:
77.在步骤s510中,对待转码任务的任务标识和第一设定参数进行取模运算,得到取
模运算结果。
78.其中,第一设定参数是预先设定的用于对待转码任务的任务标识进行取模运算,以确定任务标识中目标位置编号的计算因子。例如,在本实施例中,第一设定参数可以是整数100。则转码调度服务器可以采用100对待转码任务的任务标识进行取模运算,得到的取模运算结果即为该任务标识除以100的余数,也即该待转码任务的任务标识的最后两位。
79.在步骤s520中,获取取模运算结果与第二设定参数之间的商,判断该商是否位于降级任务区间。
80.其中,第二设定参数也可以是预先设定的用于计算的计算因子,该第二设定参数可以使得取模运算结果与降级任务区间具有统一的量度单位。由上述实施例可知,降级任务区间所对应的范围为百分比范围,因此,在本实施例中,第二设定参数也可以是整数100,从而使得上述取模运算结果与第二设定参数之间的商也为百分比,进而能够与降级任务区间进行匹配。具体地,当计算的商位于降级任务区间时,则执行步骤s530,当计算的商不位于降级任务区间时,则执行步骤s540。
81.在步骤s530中,确定待转码任务属于降级任务区间的任务。
82.具体地,当上述计算的商位于降级任务区间时,则可以确定对应的待转码任务属于降级任务区间的任务。例如,若降级任务区间为小于或等于20%的百分比区间,即由小于或等于20%的所有百分比所组成的区间,当上述计算的商为10%时,由于10%小于20%,即表示该商位于降级任务区间,因此,可以确定对应的待转码任务属于降级任务区间的任务,进而可以确定该待转码任务的目标转码策略为降级转码策略。
83.在步骤s540中,确定待转码任务不属于降级任务区间的任务。
84.具体地,当上述计算的商不位于降级任务区间时,则可以确定对应的待转码任务不属于降级任务区间的任务。因此,可以确定对应的降级转码策略不适用于该待转码任务。
85.在本实施例中,通过对待转码任务的任务标识和第一设定参数进行取模运算,得到取模运算结果,并获取取模运算结果与第二设定参数之间的商,从而通过判断该商是否位于降级任务区间,而确定对应的待转码任务是否属于降级任务区间的任务,进而可以确定该待转码任务的目标转码策略,以实现采用当前最优的转码策略对待转码任务进行转码处理。
86.在一示例性实施例中,当待转码任务不属于降级任务区间的任务时,则还可以确定当前降级转码策略相对于降级之前的转码策略,并将该降级之前的转码策略确定为与待转码任务匹配的目标转码策略。例如,当仅具有一种降级转码策略时,则该降级转码策略相对于降级之前的转码策略为通用转码策略,即转码集群正常使用的转码策略。因此,当待转码任务的任务堆积时长大于或等于降级转码策略所对应的第一等待时长阈值,且小于第二等待时长阈值,且确定该待转码任务不属于降级任务区间的任务时,则可以确定该待转码任务的目标转码策略为通用转码策略。
87.而当具有多种降级转码策略时,通常,该多种降级转码策略之间会基于某种指标循序渐进。例如,以具有两种不同的降级转码策略为例,若从提高转码速度的指标考虑,则该两种降级转码策略分别所能提高的转码速度不同。例如,若第一降级转码策略在通用转码策略的基础上能够提高两倍转码速度,第二降级转码策略在第一降级转码策略的基础上能够再提高两倍转码速度,则第一降级转码策略相对于降级之前的转码策略为通用转码策
略,而第二降级转码策略相对于降级之前的转码策略为第一降级转码策略。
88.因此,当待转码任务的任务堆积时长大于或等于第一降级转码策略所对应的第一等待时长阈值,并小于第二等待时长阈值,且确定该待转码任务不属于对应降级任务区间的任务时,则可以确定该待转码任务的目标转码策略为通用转码策略。而当待转码任务的任务堆积时长大于或等于第二降级转码策略所对应的第一等待时长阈值,且小于第二等待时长阈值,且确定该待转码任务不属于对应降级任务区间的任务时,则可以确定该待转码任务的目标转码策略为第一降级转码策略。从而实现对待转码任务的灰度降级处理,以使得在不同转码任务量下降级转码的影响范围都能够最小化。
89.在一示例性实施例中,如图6所示,在步骤s320中,将降级转码策略确定为与待转码任务匹配的目标转码策略之后,上述方法还可以包括:
90.在步骤s610中,根据待转码任务以及与待转码任务匹配的目标转码策略,生成对待转码任务的转码恢复任务。
91.其中,转码恢复任务是相对于降级转码策略进行转码处理过的任务而言的。由于降级转码策略会影响转码输出画质的下降以及转码输出码率的下降。因此,转码恢复任务是用于恢复基于降级转码策略进行处理的转码任务的输出画质以及输出码率。
92.在本实施例中,当确定某一待转码任务匹配的目标转码策略为降级转码策略时,则转码调度服务器还可以根据待转码任务以及与待转码任务匹配的目标转码策略,生成对待转码任务的转码恢复任务,从而便于后续可以对该待转码任务进行转码恢复处理,以提高其输出画质以及输出码率。
93.在步骤s620中,当检测到转码集群满足空闲状态时,向转码集群发送对待转码任务的转码恢复任务。
94.其中,转码集群满足空闲状态可以是转码集群的负载在某一阈值以下,例如,当转码集群的负载在50%以下时表示转码集群满足空闲状态;或者转码集群满足空闲状态还可以是转码集群的线程池利用率在某一阈值以下,例如,当转码集群的线程池利用率在50%以下时表示转码集群满足空闲状态。可以理解的是,具体的负载阈值以及线程池利用率阈值可以根据实际场景进行设定,本实施例并不对此进行限定。
95.在本实施例中,当转码调度服务器检测到转码集群满足空闲状态时,则可以向转码集群发送对待转码任务的转码恢复任务,从而使得转码集群可以在空闲时对该待转码任务进行转码恢复处理,以提高对其进行降级转码时的输出画质以及输出码率。
96.在一示例性实施例中,以降级转码策略包括轻降级转码策略和重降级转码策略为例,进一步说本公开的转码任务处理方法。在本实施例中,采用轻降级转码策略处理转码任务的速度是不降级时(即采用通用转码策略)的2倍,而采用重降级转码策略处理转码任务的速度是轻降级转码策略的2倍,也即采用重降级转码策略处理转码任务的速度是不降级时(即采用通用转码策略)的4倍。其中,如图7a所示,轻降级转码策略具有第一部分启用等待时长阈值t11和第一全部启用等待时长阈值t12,重降级转码策略具有第二部分启用等待时长阈值t21和第二全部启用等待时长阈值t22,假设转码任务在t0时刻开始堆积,其中,t0《t11《t12《t21《t22。则如图7b所示,上述转码任务处理方法具体可以包括:
97.在步骤s710中,获取待转码任务,识别待转码任务的任务堆积时长。
98.具体可以参考如图2所示的步骤s210,本实施例中不再对此进行赘述。
99.在步骤s720中,根据待转码任务的任务堆积时长确定匹配的目标转码策略。
100.具体地,判断待转码任务的任务堆积时长是否与上述轻降级转码策略对应的等待时长阈值(即t11、t12)相匹配,或者是否与上述重降级转码策略对应的等待时长阈值(即t21、t22)相匹配。例如,当待转码任务的任务堆积时长小于t11时,则表示其不满足降级转码策略,因此,执行步骤s730;而当待转码任务的任务堆积时长大于或等于t11且小于t12时,或者大于或等于t12且小于t21时,则表示其满足轻降级转码策略;而当待转码任务的任务堆积时长大于或等于t21且小于t22时,或者大于或等于t22时,则表示其满足重降级转码策略。因此,当待转码任务的任务堆积时长大于或等于t12且小于t21时,或者大于或等于t22时,则执行步骤s740;当待转码任务的任务堆积时长大于或等于t11且小于t12时,或者当待转码任务的任务堆积时长大于或等于t21且小于t22时,则执行步骤s750。
101.在步骤s730中,确定待转码任务的目标转码策略为通用转码策略。
102.当确定待转码任务的任务堆积时长不满足降级转码策略时,表示此时转码集群未达到满载,因此,转码集群可以正常对该待转码任务进行转码处理,从而可以确定该待转码任务的目标转码策略为通用转码策略,即不对其进行降级处理。因此,可以向转码集群发送该待转码任务以及对应的通用转码策略,以提示转码集群采用通用转码策略对该待转码任务进行转码处理。
103.在步骤s740中,确定待转码任务的目标转码策略为匹配的降级转码策略。
104.具体地,当待转码任务的任务堆积时长大于或等于t12且小于t21时,表示其与轻降级转码策略对应的第一全部启用等待时长阈值t12相匹配,因此,可以确定该待转码任务的目标转码策略为轻降级转码策略。而当待转码任务的任务堆积时长大于或等于t22时,表示其与重降级转码策略对应的第二全部启用等待时长阈值t22相匹配,因此,可以确定该待转码任务的目标转码策略为重降级转码策略。从而可以向转码集群发送该待转码任务以及对应的降级转码策略,以提示转码集群采用对应的降级转码策略对该待转码任务进行转码处理。
105.在步骤s750中,确定对应的降级转码策略所针对的降级任务区间。
106.具体地,当待转码任务的任务堆积时长大于或等于t11且小于t12时,表示其与轻降级转码策略对应的第一部分启用等待时长阈值t11相匹配,由于此时轻降级转码策略只对部分待转码任务生效,因此,可以进一步确定该轻降级转码策略所针对的降级任务区间。
107.而当待转码任务的任务堆积时长大于或等于t21且小于t22时,表示其与重降级转码策略对应的第二部分启用等待时长阈值t21相匹配,由于此时重降级转码策略只对部分待转码任务生效,因此,可以进一步确定该重降级转码策略所针对的降级任务区间。
108.具体确定对应降级转码策略所针对的降级任务区间可以参考上述如图4所示的实施例,本实施例中不再对此进行赘述。
109.在步骤s760中,判断该待转码任务是否属于降级任务区间的任务。
110.其中,判断待转码任务是否属于降级任务区间的任务,具体可以参考上述如图5所示的实施例,本实施例中不再对此进行赘述。
111.具体地,当确定该待转码任务属于降级任务区间的任务时,执行步骤s740,确定该待转码任务的目标转码策略为匹配的降级转码策略,例如,当确定该待转码任务属于轻降级任务区间的任务时,则可以确定该待转码任务的目标转码策略为轻降级转码策略;而当
确定该待转码任务属于重降级任务区间的任务时,则可以确定该待转码任务的目标转码策略为重降级转码策略。而当确定该待转码任务不属于降级任务区间的任务时,执行步骤s770。
112.在步骤s770中,将对应降级转码策略相对于降级之前的转码策略确定为与待转码任务匹配的目标转码策略。
113.具体地,当确定该待转码任务不属于降级任务区间的任务时,则可以将对应降级转码策略相对于降级之前的转码策略确定为与待转码任务匹配的目标转码策略。例如,当待转码任务的任务堆积时长匹配的是轻降级转码策略时,则由于该轻降级转码策略相对于降级之前的转码策略为通用转码策略,则可以确定与该待转码任务匹配的目标转码策略为通用转码策略。而当待转码任务的任务堆积时长匹配的是生降级转码策略时,则由于该重降级转码策略相对于降级之前的转码策略为轻降级转码策略,则可以确定与该待转码任务匹配的目标转码策略为轻降级转码策略。
114.在步骤s780中,根据待转码任务以及匹配的降级转码策略,生成对待转码任务的转码恢复任务。
115.具体地,本实施例基于进行降级处理的待转码任务,可以生成对应的转码恢复任务,从而便于后续可以对该待转码任务进行转码恢复处理,以提高其输出画质以及输出码率。
116.在步骤s790中,当检测到转码集群满足空闲状态时,向转码集群发送对待转码任务的转码恢复任务。
117.在本实施例中,当转码调度服务器检测到转码集群满足空闲状态时,则可以向转码集群发送对待转码任务的转码恢复任务,从而使得转码集群可以在空闲时对该待转码任务进行转码恢复处理,以提高对其进行降级转码时的输出画质以及输出码率。
118.上述实施例,通过在转码任务量到达峰值时,对其进行灰度降级转码处理,从而提高转码速度,并能在转码集群处于空闲状态时,对已降级处理的转码任务进行转码恢复处理,从而提高转码输出画质以及输出码率,以实现资源利用率的最大化。
119.应该理解的是,虽然图1-图7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
120.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
121.图8是根据一示例性实施例示出的一种转码任务处理装置框图。参照图8,该装置包括任务获取模块802,目标转码策略确定模块804和任务发送模块806。
122.任务获取模块802,被配置为执行获取待转码任务,识别所述待转码任务的任务堆积时长;
123.目标转码策略确定模块804,被配置为执行当所述任务堆积时长满足预设的降级转码策略所对应的等待时长阈值时,根据所述任务堆积时长和所述等待时长阈值确定与所述待转码任务匹配的目标转码策略;
124.任务发送模块806,被配置为执行向转码集群发送所述待转码任务和匹配的目标转码策略,以指示所述转码集群采用所述目标转码策略对所述待转码任务进行转码处理。
125.在一示例性实施例中,所述等待时长阈值包括与所述降级转码策略对应的第一等待时长阈值和第二等待时长阈值,所述第二等待时长阈值大于所述第一等待时长阈值;目标转码策略确定模块还包括:降级任务区间确定单元,被配置为执行当所述任务堆积时长大于或等于所述第一等待时长阈值,且小于所述第二等待时长阈值时,根据所述任务堆积时长、所述第一等待时长阈值以及所述第二等待时长阈值,确定所述降级转码策略所针对的降级任务区间;目标转码策略匹配单元,被配置为执行当确定所述待转码任务属于所述降级任务区间的任务时,将所述降级转码策略确定为与所述待转码任务匹配的目标转码策略。
126.在一示例性实施例中,降级任务区间确定单元还被配置为执行:获取所述任务堆积时长与所述第一等待时长阈值之间的第一差值;获取所述第二等待时长阈值与所述第一等待时长阈值之间的第二差值;获取所述第一差值占所述第二差值的百分比,将小于或等于所述百分比的百分比区间确定为所述降级转码策略所针对的降级任务区间。
127.在一示例性实施例中,所述待转码任务具有对应的任务标识;目标转码策略确定模块还被配置为执行:对所述待转码任务的任务标识和第一设定参数进行取模运算,得到取模运算结果,所述第一设定参数是用于对所述待转码任务的任务标识进行取模运算,以确定所述任务标识中目标位置标识的计算因子;获取所述取模运算结果与第二设定参数之间的商,所述第二设定参数是用于使得所述取模运算结果与所述降级任务区间具有统一量度单位的计算因子;当所述商位于所述降级任务区间时,确定所述待转码任务属于所述降级任务区间的任务。
128.在一示例性实施例中,目标转码策略确定模块还被配置为执行:当所述待转码任务不属于所述降级任务区间的任务时,确定所述降级转码策略相对于降级之前的转码策略;将所述降级之前的转码策略确定为与所述待转码任务匹配的目标转码策略。
129.在一示例性实施例中,所述装置还包括转码恢复处理模块,被配置为执行:根据所述待转码任务以及与所述待转码任务匹配的目标转码策略,生成对所述待转码任务的转码恢复任务;当检测到转码集群满足空闲状态时,向所述转码集群发送对所述待转码任务的转码恢复任务,以指示所述转码集群对所述待转码任务进行转码恢复处理。
130.在一示例性实施例中,目标转码策略确定模块还被配置为执行:当所述任务堆积时长大于或等于所述第二等待时长阈值时,将所述降级转码策略确定为与所述待转码任务匹配的目标转码策略。
131.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
132.图9是根据一示例性实施例示出的一种用于转码任务处理方法的电子设备s00的框图。例如,电子设备s00可以为服务器。参照图9,电子设备s00包括处理组件s20,其进一步包括一个或多个处理器,以及由存储器s22所代表的存储器资源,用于存储可由处理组件
s20的执行的指令,例如应用程序。存储器s22中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件s20被配置为执行指令,以执行上述方法。
133.电子设备s00还可以包括:电源组件s24被配置为执行电子设备s00的电源管理,有线或无线网络接口s26被配置为将电子设备s00连接到网络,和输入输出(i/o)接口s28。电子设备s00可以操作基于存储在存储器s22的操作系统,例如windows server,mac os x,unix,linux,freebsd或类似。
134.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器s22,上述指令可由电子设备s00的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
135.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备s00的处理器执行以完成上述方法。
136.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
137.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
138.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1