任务调度策略生成方法、装置、存储介质和计算机设备与流程

专利2022-05-09  120


本发明涉及计算机应用技术领域,尤其涉及一种任务调度策略生成方法、装置、存储介质和计算机设备。



背景技术:

随着互联网技术的愈发成熟,新兴智能设备的不断更迭,网络的访问人数呈现指数型增长。例如,在众多网络应用程序中,视频流几乎占据所有流量的四分之三,越来越多的人愿意花时间观看视频,而如何改进用户的观看体验,提供高画质视频并保证播放的流畅则成为了研究热点。

目前,视频服务供应商大多基于http流式传输视频,并通过自适应比特率算法提高用户观看视频质量。自适应比特率算法通过预测用户未来一小段时间内的网络带宽以及当前播放器缓冲占用情况对每一个视频块的比特率等级进行动态选择。使用不同的算法会给出不同的决策导致视频的平均比特率以及缓冲时间随之改变,从而进一步影响到用户的体验质量。

现存的自适应比特率算法根据决策基准可以大致分为四类:一是基于预测网络带宽,保证视频比特率与网络带宽相匹配;二是基于缓冲器占用,尽可能减少缓冲时间;三是基于控制理论方式,结合以上两种方法最大化用户体验;四是基于马尔科夫决策过程,将视频流媒体视为有限的马尔科夫过程。

由上述内容可见,现有的自适应算法大多针对单客户端进行优化,使其获得较高的观看体验,当扩展到多个客户端时,由于多用户之间相互竞争,会大大影响彼此的体验质量;并且,当多客户端共享带宽瓶颈时,此时每个客户端可以得到的带宽将进一步减少,从而导致总体的用户体验质量会受到恶劣影响而降低。



技术实现要素:

本发明的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中的自适应算法扩展到多个客户端时,会降低总体的用户体验质量的技术缺陷。

本发明提供了任务调度策略生成方法,所述方法包括:

根据共享带宽链路下的各个客户端发送的视频块下载请求,获取各个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率;

根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值;

若超过,则确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围;

依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略;

其中,所述任务调度策略包括在所述设定时段为每个客户端分配的带宽预选值,以及,每个客户端待下载视频块的比特率。

可选地,所述根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值的步骤,包括:

根据各个客户端在所述预定时段的预测带宽,确定所述共享带宽链路下的预测带宽总值;

判断所述预测带宽总值是否超过预设带宽阈值。

可选地,所述确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围的步骤,包括:

确定每个客户端的初始带宽值,以及对所述初始带宽值多次添加扰动后的中间带宽值;

将每个客户端的初始带宽值以及中间带宽值作为每个客户端的带宽预选值集合;

确定与所述带宽预选值集合中每一带宽预选值所对应的待下载视频块的比特率范围。

可选地,所述依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略的步骤,包括:

针对每一客户端:

从所述客户端的带宽预选值集合中依次选取一带宽预选值;

根据选取的带宽预选值、所述带宽预选值对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,计算与选取的带宽预选值对应的所述客户端的用户体验质量最大值,及所述客户端的用户体验质量最大值对应的待下载视频块的比特率;

在得到所述带宽预选值集合中每一带宽预选值对应的用户体验质量最大值后,选取最大的用户体验质量最大值所对应的目标带宽预选值及目标比特率,由所述目标带宽预选值及目标比特率作为所述客户端的任务调度策略。

可选地,所述根据选取的带宽预选值、所述带宽预选值对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,计算与选取的带宽预选值对应的所述客户端的用户体验质量最大值的步骤,包括:

针对所述客户端的带宽预选值集合中的每一带宽预选值:

从所述带宽预选值对应的待下载视频块的比特率范围中依次选取一比特率;

根据所述带宽预选值、选取的比特率、缓冲器占用大小和当前视频块的比特率,计算与所述带宽预选值对应的所述客户端的用户体验质量;

在得到所述待下载视频块的比特率范围中每一比特率对应的用户体验质量后,选取最大的用户体验质量作为与选取的带宽预选值对应的所述客户端的用户体验质量最大值。

可选地,所述根据所述带宽预选值、选取的比特率、缓冲器占用大小和当前视频块的比特率,计算与所述带宽预选值对应的所述客户端的用户体验质量的步骤,包括:

根据所述客户端的当前视频块的比特率确定所述客户端的视频块质量;

根据所述带宽预选值、缓冲器占用大小及选取的比特率,计算所述客户端的视频缓冲时间;

根据所述客户端的当前视频块的比特率,以及选取的比特率确定所述客户端的切换平滑度;

基于所述视频缓冲时间、所述视频块质量及所述切换平滑度计算与所述带宽预选值对应的所述客户端的用户体验质量。

可选地,所述根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值的步骤之后,还包括:

若不超过,则依据每个客户端在所述预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略。

本发明还提供了一种任务调度策略生成装置,包括:

数据获取模块,用于根据共享带宽链路下的各个客户端发送的视频块下载请求,获取各个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率;

带宽判断模块,用于根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值;

带宽及比特率确定模块,用于若超过,则确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围;

调度策略生成模块,用于依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略;

其中,所述任务调度策略包括在所述设定时段为每个客户端分配的带宽预选值,以及,每个客户端待下载视频块的比特率。

本发明还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述任务调度策略生成方法的步骤。

本发明还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中中任一项所述任务调度策略生成方法的步骤。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明提供的任务调度策略生成方法、装置、存储介质和计算机设备,考虑到共享带宽链路下存在多个客户端向不同的视频服务器请求下载不同视频块的情况,进而获取共享带宽链路下的每个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率,然后根据各个客户端的预测带宽确定对应的预测带宽总值,通过预测带宽总值来对当前各个客户端的预测带宽进行动态调整,以确保预测带宽总值在带宽瓶颈内;并且,动态调整后的各个客户端对应有带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围,为了进一步提高总体的用户体验质量,本申请依据每个客户端的带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小以及当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略,从而使得多个客户端在总体上获得最大的用户体验质量,同时也避免了带宽资源的不合理利用。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的任务调度策略生成方法的流程示意图;

图2为本发明实施例提供的共享带宽链路下的各个客户端通过不同的视频服务器请求视频时的工作流程图;

图3为本发明实施例提供的各服务器下发视频块给对应客户端的工作流程示意图;

图4为本发明实施例提供的判断预测带宽总值是否超过预设带宽阈值的流程示意图;

图5为本发明实施例提供的一种任务调度策略生成装置的结构示意图;

图6为本发明实施例提供的一种计算机设备的内部结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

随着互联网技术的愈发成熟,新兴智能设备的不断更迭,网络的访问人数呈现指数型增长。例如,在众多网络应用程序中,视频流几乎占据所有流量的四分之三,越来越多的人愿意花时间观看视频,而如何改进用户的观看体验,提供高画质视频并保证播放的流畅则成为了研究热点。

目前,视频服务供应商大多基于http流式传输视频,并通过自适应比特率算法提高用户观看视频质量。自适应比特率算法通过预测用户未来一小段时间内的网络带宽以及当前播放器缓冲占用情况对每一个视频块的比特率等级进行动态选择。使用不同的算法会给出不同的决策导致视频的平均比特率以及缓冲时间随之改变,从而进一步影响到用户的体验质量。

现存的自适应比特率算法根据决策基准可以大致分为四类:一是基于预测网络带宽,保证视频比特率与网络带宽相匹配;二是基于缓冲器占用,尽可能减少缓冲时间;三是基于控制理论方式,结合以上两种方法最大化用户体验;四是基于马尔科夫决策过程,将视频流媒体视为有限的马尔科夫过程。

由上述内容可见,现有的自适应算法大多针对单客户端进行优化,使其获得较高的观看体验,当扩展到多个客户端时,由于多用户之间相互竞争,会大大影响彼此的体验质量;并且,当多客户端共享带宽瓶颈时,此时每个客户端可以得到的带宽将进一步减少,从而导致总体的用户体验质量会受到恶劣影响而降低。

而本申请的目的在于解决上述自适应算法扩展到多个客户端时,会降低总体的用户体验质量的技术问题,提出如下方案:

示意性地,如图1所示,图1为本发明实施例提供的任务调度策略生成方法的流程示意图,本发明提供了一种任务调度策略生成方法,具体包括如下步骤:

s110:获取各个客户端的预测带宽、缓冲器占用大小以及当前视频块的比特率。

本步骤中,宽带控制器可以根据共享带宽链路下的各个客户端发送的视频块下载请求,获取各个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率。

具体地,本申请中的多个客户端为共享带宽链路下的客户端,而共享带宽指的是在机房中,服务商会给每个机架上配备一定的带宽资源,每个机架上的所有服务器都共享这些带宽资源。在共享带宽下,当一个机架上的某些服务器占用较大的带宽时,就会影响到同机架上的其他服务器的带宽使用。因此,本申请将采用一定的任务调度策略,来均衡各个客户端的带宽使用情况,以使共享带宽链路下的多个客户端在总体上获得最大的用户体验质量。

进一步地,本申请中的多个客户端向对应的服务器,如视频服务器发送视频块下载请求时,宽带控制器会基于各个客户端的视频块下载请求,来获取对应客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率,并以此来计算当前的预测带宽总值是否在带宽瓶颈内。

可以理解的是,这里的客户端在当前时刻之后的预定时段的预测带宽可以通过带宽预测器来获取,带宽预测器可以根据该客户端在当前时刻之前的某一历史时段中的历史带宽信息,对该客户端在当前时刻之后的预定时段的带宽进行预测,从而得到预定时段的预测带宽,而这里的预定时段可以依据具体情况进行设置并调整,在此不做限制。

这里的缓冲器占用大小可以通过缓冲器进行获取,缓冲器可以根据当前视频块可播放时间,减去视频块下载时间,再加上下载的视频块可播放时间确定对应的缓冲器占用大小;而这里的视频块则指的是根据客户端请求播放的视频,对该视频进行平均分割后得到的多个时间上连续的视频段。

这里的当前视频块的比特率指的是与当前客户端所请求的待下载视频块对应的,同一视频分割后请求得到的当前时刻的视频块所对应的用户感知画质;这里的用户感知画质可以采用线性映射的方式获取。

需要说明的是,本申请为了泛化能力,可以假定共享带宽链路下的每一个客户端都从不同的服务器请求视频。示意性地,如图2所示,图2为本发明实施例提供的共享带宽链路下的各个客户端通过不同的视频服务器请求视频时的工作流程图;图2中,客户端1、客户端2、客户端3、客户端4分别对应与视频服务器1、视频服务器2、视频服务器3和视频服务器4,其中,客户端与视频服务器之间包括缓冲器模块、带宽预测模块、模型预测控制模块,带宽预测模块将预测带宽发送至带宽调度模块,以使带宽调度模块根据预测带宽来调用各模型预测控制模块,获取任务调度策略。

s120:根据各个客户端的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值,若超过,则执行步骤s130。

本步骤中,通过步骤s110获取共享带宽链路下的各个客户端的预测带宽、缓冲器占用大小以及当前视频块的比特率之后,可以根据各个客户端在预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值。

可以理解的是,这里的预测带宽总值指的是带宽控制器依据各个客户端在预定时段的预测带宽计算得到的该共享带宽链路下的总的预测带宽;这里的预设带宽阈值指的是带宽控制器依据共享带宽链路的带宽瓶颈而设置的带宽限值,该带宽限值主要为了防止预测带宽总值超过带宽瓶颈。

s130:确定每个客户端在预定时段的带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围。

本步骤中,通过步骤s120判断对应的预测带宽总值是否超过预设带宽阈值,若超过的话,则确定每个客户端在预定时段的带宽预选值集合,以及该带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围。

总的来说,当根据各个客户端的预测带宽确定对应的预测带宽总值后,可以通过预测带宽总值来对当前各个客户端的预测带宽进行动态调整,以确保预测带宽总值在带宽瓶颈内。

具体地,在判断预测带宽总值超过预设带宽阈值时,说明需要对当前各个客户端的预测带宽进行动态调整,而动态调整的方式可以是为每个客户端重新分配一个带宽预选值集合,该带宽预选值集合可以是由重新分配的初始带宽值以及添加扰动后的带宽值组合构成的,在此不做限制。

另外,宽带控制器在为每个客户端重新分配带宽预选值集合时,会根据每个客户端的带宽预选值集合中的每一带宽预选值,来确定对应的待下载视频块的比特率范围,这样在进行动态调整时,可将各个客户端的带宽预选值以及与该带宽预选值对应的待下载视频块的比特率一并进行确认,使得多个客户端在总体上获得最大的用户体验质量。

需要说明的是,这里的各个客户端的待下载视频块指的是与各个客户端发送的视频块下载请求所对应的视频块,这里的待下载视频块的比特率指的是当前客户端所请求的待下载视频块的用户感知画质,该用户感知画质可以依据当前视频块的用户感知画质来进行预测,并以比特率范围的形式进行呈现。

s140:确定使每个客户端的用户体验质量最大的任务调度策略。

本步骤中,通过步骤s130确定每个客户端在预定时段的带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围后,可依据每个客户端在预定时段的带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略;其中,任务调度策略包括在设定时段为每个客户端分配的带宽预选值,以及,每个客户端待下载视频块的比特率。

举例来说,当确定好每个客户端在预定时段的带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围后,可将每个客户端在预定时段的带宽预选值集合、带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,送入到模型预测控制器中,比较并计算使得每个客户端的用户体验质量最大的带宽及比特率分配方式,从而提高整体的用户体验质量。

对于上述模型预测控制器,可预先设置相应的决策函数以及总用户体验质量指标。决策函数用于根据输入的单个客户端的带宽预选值集合中的某一带宽预选值、该客户端的缓冲器占用大小以及当前视频块的比特率,来确定与该带宽预选值对应的待下载视频块的比特率范围中,使用户体验质量最大的待下载视频块的比特率;而总用户体验质量指标则用于确定使每个客户端的用户体验质量最大的带宽预选值,以及待下载视频块的比特率。

进一步地,本申请采用模型预测控制器来预测未来一、二、三步的所有决策得到的用户体验质量,并选择各个客户端的最大用户体验质量所对应的带宽预选值以及比特率作为下一步的调度动作,从而获取任务调度策略,能够获得较好的用户体验质量,具体参见表1:

表1

表1为尝试不同模型预测控制步长以及迭代次数下的所有客户端的总用户体验质量,同均分带宽的比较结果(对47条带宽轨迹下的表现取均值)。与平分带宽相比,在不同实验设置下使用带宽动态调度得到的体验质量最少提高38.1%,至多提高118%。因为当模型预测控制算法步长为一(即贪婪算法)时,采用均分带宽取得的体验质量效果极差。其次,不同步长(预测视频块数量)会影响每个客户端体验质量,在不同预设初始带宽条件下,步长为三时相比于贪婪算法,总用户体验质量至多提升49.9%。由此可以看出,均分带宽会使得带宽利用不合理进而导致总用户体验质量下降,通过本申请的带宽动态调度可以明显改善总体性能,避免带宽资源的浪费。

示意性地,如图3所示,图3为本发明实施例提供的各服务器下发视频块给对应客户端的工作流程示意图;本申请中的任务调度策略包括在设定时段为每个客户端分配的带宽预选值,以及,每个客户端待下载视频块的比特率,带宽控制器确定好任务调度策略后,会将每个客户端在设定时段分配的带宽预选值以及,每个客户端待下载视频块的比特率发送给对应的服务器,以使服务器按照带宽预选值来下载相应比特率的视频块给对应的客户端。

上述实施例中的任务调度策略生成方法,考虑到共享带宽链路下存在多个客户端向不同的视频服务器请求下载不同视频块的情况,进而获取共享带宽链路下的每个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率,然后根据各个客户端的预测带宽确定对应的预测带宽总值,通过预测带宽总值来对当前各个客户端的预测带宽进行动态调整,以确保预测带宽总值在带宽瓶颈内;并且,动态调整后的各个客户端对应有带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围,为了进一步提高总体的用户体验质量,本申请依据每个客户端的带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小以及当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略,从而使得多个客户端在总体上获得最大的用户体验质量,同时也避免了带宽资源的不合理利用。

下面将通过多个实施例来对本申请的任务调度策略生成方法进行详细的说明。如下述实施例所示,下述实施例主要是对如何确定预测带宽总值进行具体描述。

在一个实施例中,步骤s120中根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值的步骤,可以包括:

s121:根据各个客户端在所述预定时段的预测带宽,确定所述共享带宽链路下的预测带宽总值。

s122:判断所述预测带宽总值是否超过预设带宽阈值。

本实施例中,当带宽控制器获取到各个客户端在预定时段的预测带宽后,可将各个客户端的预测带宽进行求和,从而得到共享带宽链路下的多个客户端对应的预测带宽总值,接着再判断该预测带宽总值是否超过预设带宽阈值,依据预测带宽总值来对当前各个客户端的预测带宽进行动态调整,以确保预测带宽总值在带宽瓶颈内。

上述实施例对如何确定预测带宽总值进行具体描述,下面将进一步说明如何确定每个客户端的带宽预选值集合,以及该集合中每一带宽预选值对应的待下载视频块的比特率范围。

在一个实施例中,步骤s130中确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围的步骤,可以包括:

s131:确定每个客户端的初始带宽值,以及对所述初始带宽值多次添加扰动后的中间带宽值。

s132:将每个客户端的初始带宽值以及中间带宽值作为每个客户端的带宽预选值集合。

s133:确定与所述带宽预选值集合中每一带宽预选值所对应的待下载视频块的比特率范围。

本实施例中,确定每个客户端在预设时段的带宽预选值集合时,可先为该客户端分配一个初始带宽值,该初始带宽值可以是依据预设带宽阈值进行设置后得到的,也可以是依据当前的预测带宽总值进行设置后得到的,具体在此不做限制。

当为每个客户端分配一个初始带宽值后,为了进一步提高每个客户端的用户体验质量,本申请还在初始带宽值的基础上添加多次扰动,每次添加扰动后得到一个中间带宽值,添加多次扰动后得到多个中间带宽值,该多个中间带宽值以及初始带宽值共同构成了每个客户端的带宽预选值集合。

进一步地,确定好每个客户端在预设时段的带宽预选值集合后,带宽控制器可依据该带宽预选值集合中的每个带宽预选值来确定对应的待下载视频块的比特率范围,随后,带宽控制器可利用模型预测控制器来计算并确定,与每个客户端的带宽预选值集合中的每个带宽预选值所对应的待下载视频块的比特率范围中,使用户体验质量最大的待下载视频块的比特率。

上述实施例中进一步说明了如何确定每个客户端的带宽预选值集合,以及该集合中每一带宽预选值对应的待下载视频块的比特率范围,下面将对如何确定使每个客户端的用户体验质量最大的任务调度策略进行详细说明。

在一个实施例中,步骤s140中依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略的步骤,可以包括:

s141:针对每一客户端:从所述客户端的带宽预选值集合中依次选取一带宽预选值。

s142:根据选取的带宽预选值、所述带宽预选值对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,计算与选取的带宽预选值对应的所述客户端的用户体验质量最大值,及所述客户端的用户体验质量最大值对应的待下载视频块的比特率。

s143:在得到所述带宽预选值集合中每一带宽预选值对应的用户体验质量最大值后,选取最大的用户体验质量最大值所对应的目标带宽预选值及目标比特率,由所述目标带宽预选值及目标比特率作为所述客户端的任务调度策略。

本实施例中,为了使得总体的用户体验质量最大,可对每个客户端的带宽和待下载视频的比特率进行配置,使得每个客户端的用户体验质量最大,从而达到整体的用户体验质量最大。

具体地,针对每一客户端,首先从该客户端的带宽预选值集合中选取一个带宽预选值,并依据该带宽预选值、与该带宽预选值对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,计算与该带宽预选值对应的客户端的用户体验质量最大值,以及与该用户体验质量最大值对应的待下载视频块的比特率,具体计算过程可通过模型预测控制器来实现,在此不做限制。

当计算得到当前选取的带宽预选值所对应的客户端的用户体验质量最大值,以及与该用户体验质量最大值对应的待下载视频块的比特率后,可继续对该客户端的带宽预选值集合中的其他带宽预选值所对应的客户端的用户体验质量最大值,以及与该用户体验质量最大值对应的待下载视频块的比特率进行计算,直到该带宽预选值集合中所有的带宽预选值均计算完毕。此时,可选取最大的用户体验质量最大值所对应的目标带宽预选值及目标比特率,并由该目标带宽预选值及目标比特率作为该客户端的任务调度策略。

进一步地,当计算得到所有客户端对应的目标带宽预选值及目标比特率后,即可将每个客户端对应的目标带宽预选值及目标比特率发送至相应的服务器中,以便服务器使用目标带宽预选值来下载目标比特率的视频块。

上述实施例对如何确定使每个客户端的用户体验质量最大的任务调度策略进行详细说明,下面将对如何计算得到与选取的带宽预选值对应的所述客户端的用户体验质量最大值进行详细阐述。

在一个实施例中,步骤s142中根据选取的带宽预选值、所述带宽预选值对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,计算与选取的带宽预选值对应的所述客户端的用户体验质量最大值的步骤,可以包括:

s421:针对所述客户端的带宽预选值集合中的每一带宽预选值:从所述带宽预选值对应的待下载视频块的比特率范围中依次选取一比特率。

s422:根据所述带宽预选值、选取的比特率、缓冲器占用大小和当前视频块的比特率,计算与所述带宽预选值对应的所述客户端的用户体验质量。

s423:在得到所述待下载视频块的比特率范围中每一比特率对应的用户体验质量后,选取最大的用户体验质量作为与选取的带宽预选值对应的所述客户端的用户体验质量最大值。

本实施例中,在计算使单个客户端中的某一带宽预选值对应的用户体验质量最大的待下载视频块的比特率时,可使用模型预测控制器中的决策函数进行计算,该决策函数可表示为:

其中,rm,i表示客户端m中第i个视频块的比特率,rm,i-1表示客户端m中第i-1个视频块的比特率,fmpc(·)表示决策函数,表示客户端m的带宽预选值或预测带宽,bm,i表示客户端m中的第i个视频块的缓冲器占用大小。

使用上述决策函数进行计算时,具体实现方式如下:

针对每个客户端的带宽预选值集合中的每一带宽预选值,从与该带宽预选值对应的待下载视频块的比特率范围中选取一个比特率,然后根据该带宽预选值、选取的比特率、缓冲器占用大小和当前视频块的比特率,计算与该带宽预选值对应的客户端的用户体验质量。

继续从与该带宽预选值对应的待下载视频块的比特率范围中选取下一个比特率,然后根据该带宽预选值、选取的下一个比特率、缓冲器占用大小和当前视频块的比特率,计算与该带宽预选值对应的客户端的用户体验质量。

在得到待下载视频块的比特率范围中每一比特率对应的用户体验质量后,选取最大的用户体验质量作为与选取的带宽预选值对应的客户端的用户体验质量最大值,与该用户体验质量最大值所对应的待下载视频块的比特率,即为该带宽预选值所对应的最佳比特率。

上述实施例对如何计算得到与选取的带宽预选值对应的所述客户端的用户体验质量最大值进行详细阐述,下面将对如何计算与带宽预选值对应的客户端的用户体验质量进行展开描述。

在一个实施例中,步骤s422中根据所述带宽预选值、选取的比特率、缓冲器占用大小和当前视频块的比特率,计算与所述带宽预选值对应的所述客户端的用户体验质量的步骤,可以包括:

s4221:根据所述客户端的当前视频块的比特率确定所述客户端的视频块质量。

s4222:根据所述带宽预选值、缓冲器占用大小及选取的比特率,计算所述客户端的视频缓冲时间。

s4223:根据所述客户端的当前视频块的比特率,以及选取的比特率确定所述客户端的切换平滑度。

s4224:基于所述视频缓冲时间、所述视频块质量及所述切换平滑度计算与所述带宽预选值对应的所述客户端的用户体验质量。

本实施例中,在计算每个客户端的用户体验质量时,可先确定每个客户端的视频缓冲时间、视频块质量以及切换平滑度。

可以理解的是,这里的视频缓冲时间指的是当前缓冲器内没有内容播放(直到下一个视频块下载好)的卡顿时间,这里的视频块质量是由当前视频块的比特率对应的用户感知画质来决定的,这里的切换平滑度则是由时间上相邻的两个视频块对应的用户感知画质的差值,即相邻两个视频块的比特率差值来决定的。

进一步地,客户端的视频缓冲时间可以根据该客户端当前选取的带宽预选值、缓冲器占用大小及选取的比特率来进行计算,具体计算公式如下:

其中,si表示第i个视频块的视频缓冲时间,bi为第i个视频块的缓冲器占用大小,dsi为第i个视频块的视频块下载时间,ti为第i个视频块的网络吞吐量,ri为第i个视频块的比特率。

进一步地,缓冲器占用大小则是由当前缓冲器可播放时间减去视频块下载时间,再加上该视频块可播放时间得到的,具体公式如下:

其中,k表示一个视频块的持续播放时间。

更进一步地,总用户体验质量指标为各个客户端的用户体验质量之和,具体公式如下:

其中,qoetotal为总用户体验质量指标,q(rm,i)为客户端m中第i个视频块的视频块质量,sm,i为客户端m中第i个视频块的视频缓冲时间,|q(rm,i 1)-q(rm,i)|为客户端m中第i个视频块和第i 1个视频块之间的切换平滑度,m为客户端数量,n为一个视频分割的视频块数。

由上述总用户体验质量指标可知,当每个客户端的用户体验质量最大时,总用户体验质量指标达到最大。

上述实施例对如何计算与带宽预选值对应的客户端的用户体验质量进行展开描述,下面将对不超过预设带宽阈值的情况进行说明。

在一个实施例中,如图4所示,图4为本发明实施例提供的判断预测带宽总值是否超过预设带宽阈值的流程示意图;步骤s120中根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值的步骤中,若不超过的话,还可以包括:

s150:依据每个客户端的预测带宽、缓冲器占用大小以及当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略。

本实施例中,若各个客户端在预定时段的预测带宽所对应的预测带宽总值不超过预设带宽阈值的话,则表示当前各个客户端的预测带宽可以直接作为分配带宽,在计算每个客户端的用户体验质量时,可先依据每个客户端的预测带宽来确定待下载视频块的比特率范围,然后选择每个客户端的预测带宽对应的比特率范围中使用户体验质量最大的比特率,作为该客户端的预测带宽对应的最佳比特率,从而依据该预测带宽和最佳比特率来对该客户端进行任务调度。

下面是对本申请实施例提供的任务调度策略生成装置进行描述,下文描述的任务调度策略生成装置与上文描述的任务调度策略生成方法可相互对应参照。

在一个实施例中,如图5所示,图5为本发明实施例提供的一种任务调度策略生成装置的结构示意图;本发明还提供了一种任务调度策略生成装置,包括数据获取模块210、带宽判断模块220、带宽及比特率确定模块230、调度策略生成模块240,具体包括如下:

数据获取模块210,用于根据共享带宽链路下的各个客户端发送的视频块下载请求,获取各个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率。

带宽判断模块220,用于根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值。

带宽及比特率确定模块230,用于若超过,则确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围。

调度策略生成模块240,用于依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略。

其中,所述任务调度策略包括在所述设定时段为每个客户端分配的带宽预选值,以及,每个客户端待下载视频块的比特率。

上述实施例中的任务调度策略生成装置,考虑到共享带宽链路下存在多个客户端向不同的视频服务器请求下载不同视频块的情况,进而获取共享带宽链路下的每个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率,然后根据各个客户端的预测带宽确定对应的预测带宽总值,通过预测带宽总值来对当前各个客户端的预测带宽进行动态调整,以确保预测带宽总值在带宽瓶颈内;并且,动态调整后的各个客户端对应有带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围,为了进一步提高总体的用户体验质量,本申请依据每个客户端的带宽预选值集合,以及带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小以及当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略,从而使得多个客户端在总体上获得最大的用户体验质量,同时也避免了带宽资源的不合理利用。

在一个实施例中,本发明还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述任务调度策略生成方法的步骤。

在一个实施例中,本发明还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中中任一项所述任务调度策略生成方法的步骤。

示意性地,如图6所示,图6为本发明实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图6,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的任务调度策略生成方法。

计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(i/o)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如windowsservertm、macosxtm、unixtm、linuxtm、freebsdtm或类似。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。


技术特征:

1.一种任务调度策略生成方法,其特征在于,所述方法包括:

根据共享带宽链路下的各个客户端发送的视频块下载请求,获取各个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率;

根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值;

若超过,则确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围;

依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略;

其中,所述任务调度策略包括在所述设定时段为每个客户端分配的带宽预选值,以及,每个客户端待下载视频块的比特率。

2.根据权利要求1所述的任务调度策略生成方法,其特征在于,所述根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值的步骤,包括:

根据各个客户端在所述预定时段的预测带宽,确定所述共享带宽链路下的预测带宽总值;

判断所述预测带宽总值是否超过预设带宽阈值。

3.根据权利要求1所述的任务调度策略生成方法,其特征在于,所述确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围的步骤,包括:

确定每个客户端的初始带宽值,以及对所述初始带宽值多次添加扰动后的中间带宽值;

将每个客户端的初始带宽值以及中间带宽值作为每个客户端的带宽预选值集合;

确定与所述带宽预选值集合中每一带宽预选值所对应的待下载视频块的比特率范围。

4.根据权利要求1所述的任务调度策略生成方法,其特征在于,所述依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略的步骤,包括:

针对每一客户端:

从所述客户端的带宽预选值集合中依次选取一带宽预选值;

根据选取的带宽预选值、所述带宽预选值对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,计算与选取的带宽预选值对应的所述客户端的用户体验质量最大值,及所述客户端的用户体验质量最大值对应的待下载视频块的比特率;

在得到所述带宽预选值集合中每一带宽预选值对应的用户体验质量最大值后,选取最大的用户体验质量最大值所对应的目标带宽预选值及目标比特率,由所述目标带宽预选值及目标比特率作为所述客户端的任务调度策略。

5.根据权利要求4所述的任务调度策略生成方法,其特征在于,所述根据选取的带宽预选值、所述带宽预选值对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,计算与选取的带宽预选值对应的所述客户端的用户体验质量最大值的步骤,包括:

针对所述客户端的带宽预选值集合中的每一带宽预选值:

从所述带宽预选值对应的待下载视频块的比特率范围中依次选取一比特率;

根据所述带宽预选值、选取的比特率、缓冲器占用大小和当前视频块的比特率,计算与所述带宽预选值对应的所述客户端的用户体验质量;

在得到所述待下载视频块的比特率范围中每一比特率对应的用户体验质量后,选取最大的用户体验质量作为与选取的带宽预选值对应的所述客户端的用户体验质量最大值。

6.根据权利要求5所述的任务调度策略生成方法,其特征在于,所述根据所述带宽预选值、选取的比特率、缓冲器占用大小和当前视频块的比特率,计算与所述带宽预选值对应的所述客户端的用户体验质量的步骤,包括:

根据所述客户端的当前视频块的比特率确定所述客户端的视频块质量;

根据所述带宽预选值、缓冲器占用大小及选取的比特率,计算所述客户端的视频缓冲时间;

根据所述客户端的当前视频块的比特率,以及选取的比特率确定所述客户端的切换平滑度;

基于所述视频缓冲时间、所述视频块质量及所述切换平滑度计算与所述带宽预选值对应的所述客户端的用户体验质量。

7.根据权利要求1所述的任务调度策略生成方法,其特征在于,所述根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值的步骤之后,还包括:

若不超过,则依据每个客户端在所述预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略。

8.一种任务调度策略生成装置,其特征在于,包括:

数据获取模块,用于根据共享带宽链路下的各个客户端发送的视频块下载请求,获取各个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率;

带宽判断模块,用于根据各个客户端在所述预定时段的预测带宽,判断对应的预测带宽总值是否超过预设带宽阈值;

带宽及比特率确定模块,用于若超过,则确定每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围;

调度策略生成模块,用于依据每个客户端在所述预定时段的带宽预选值集合,以及所述带宽预选值集合中的每一带宽预选值所对应的待下载视频块的比特率范围、缓冲器占用大小和当前视频块的比特率,确定使每个客户端的用户体验质量最大的任务调度策略;

其中,所述任务调度策略包括在所述设定时段为每个客户端分配的带宽预选值,以及,每个客户端待下载视频块的比特率。

9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述任务调度策略生成方法的步骤。

10.一种计算机设备,其特征在于:所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述任务调度策略生成方法的步骤。

技术总结
本发明提供的任务调度策略生成方法、装置、存储介质和计算机设备,考虑到共享带宽链路下存在多个客户端向不同的视频服务器请求下载不同视频块的情况,进而获取共享带宽链路下的每个客户端在当前时刻之后的预定时段的预测带宽、缓冲器占用大小以及当前视频块的比特率,然后根据各个客户端的预测带宽确定对应的预测带宽总值,通过预测带宽总值来对当前各个客户端的预测带宽进行动态调整,以确保预测带宽总值在带宽瓶颈内;并且,本申请最终确定的任务调度策略,能够使得多个客户端在总体上获得最大的用户体验质量,同时也避免了带宽资源的不合理利用。

技术研发人员:丁佳龙;谭光
受保护的技术使用者:中山大学
技术研发日:2021.05.07
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-555.html

最新回复(0)