一种QoE驱动的HTTP自适应流媒体直播服务器集群部署方法与流程

文档序号:12279905阅读:484来源:国知局
一种QoE驱动的HTTP自适应流媒体直播服务器集群部署方法与流程

本发明属于多媒体云计算领域,涉及到HTTP自适应流媒体直播技术,特别是涉及到一种QoE驱动的HTTP自适应流媒体直播服务器集群部署方法。



背景技术:

随着互联网技术的飞速发展,各种智能终端的普及,互联网内容的传输协议HTTP(Hyper Text Transport Protocol,超文本传输协议)因其良好的兼容性、适配性和友好性逐渐开始替代传统的流媒体传输协议(如RTSP,real time streaming protocol、实时流传输协议)成为流媒体服务提供商首选的传输协议。为了实现流媒体数据的自适应传输,HTTP自适应流媒体服务器需要将同一内容的节目源编码成多个不同质量级别的流媒体数据,并将同一个质量级别的流媒体数据切个成若干时间上连续、不重叠的片段,通过HTTP协议分发,以适应不同设备和不同网络环境,提高用户使用流媒体服务的体验质量(QoE,Quality of Experience)。

提高自适应流媒体服务QoE的方法大致分为三类:

1)客户端:在流媒体播放器内实现获取流媒体数据的自适应逻辑,让播放器在网络环境允许的情况下,尽可能的获取高质量级别的流媒体片段,同时减少播放卡顿。

2)网络端:优化通信网络的传输质量,比如提供服务质量QoS(QualityofService)保证,提高网络传输带宽、稳定性,减少网络丢包,降低网络传输延迟等。

3)服务端:通过选择合适的流媒体片段时长,配置合适的流媒体输出编码集等措施提高QoE。

据申请人检索和查新,检索到的以下几篇与本发明相关的属于HTTP自适应流媒体直播领域的专利,它们分别是:

1.发明专利201510309733.8,基于动态自适应码率传输协议HLS流媒体的直播方法和服务器;

2.发明专利201510372018.9,流媒体直播调度方法、系统和调度服务器。

上述专利1中,发明人公开了一种基于动态自适应码率传输协议HLS流媒体的直播方法和服务器,在所述专利中的服务器根据网络属性信息确定初始片段时长和初始编码速率,如果网络环境较好,则提供较短的直播延时和尽量高的流媒体的视频清晰度,如果网络环境较差,尽量保证直播连贯,提供尽可能好的用户体验,但是并未从整个服务平台总体考虑直播服务的QoE,以及没有相应的QoE量化模型。

上述专利2中。发明人公开了一种流媒体直播调度方法、系统和调度服务器,在所述专利中调度服务器对核心机组中核心节点服务器的运行状况进行监测;当调度服务器接收到发布点服务器推送的直播流请求时,根据核心机组中核心节点服务器的运行状况,从核心机组中选取可用的核心节点服务器,将选取的核心节点服务器的信息发送至发布点服务器,发布点服务器在接收到所述核心节点服务器的信息时,将直播流发布至所述选取的核心节点服务器上;持久化存储选取的核心节点服务器和直播流之间的映射关系,从而实现核心节点的高效配置,节约了部署成本,但是未考虑影响用户体验质量的直播流的输出视频集合。



技术实现要素:

为了克服上述现有技术的不足,本发明公开了一种QoE驱动的HTTP自适应流媒体直播服务器集群部署方法,以直播频道QoE模型为基础,利用不同质量级别直播视频间实时转码的资源消耗矩阵,在有限物理机资源约束下,为运行直播频道的虚拟机选择合适的物理机位置,分配相应的物理机资源,并配置能使直播频道QoE最大化的输出视频集合,解决在有限物理机资源成本环境下最大化直播平台QoE的流媒体直播服务器集群部署问题。

为了实现上述目的,本发明采用的技术方案是:

构建直播频道QoE量化模型和不同质量级别的直播视频间实时转码的资源消耗代价矩阵,在已知用户带宽累积分布、直播频道输入的直播视频源的质量级别和物理资源分布的情况下,根据直播频道不同质量级别的输出视频集合配置策略、资源消耗代价矩阵和直播频道QoE量化模型分配并部署直播服务虚拟机,实现直播服务QoE的最大化。

所述直播频道QoE量化模型构建步骤如下:

Step1:设置直播服务平台直播视频质量级别自适应集合M={r1,r2,...,ri,...,rn},不同质量级别的直播视频以码率ri作为区分标志,视频质量级别i越高表示体验质量越好,直播视频码率ri越大,其中1≤i≤n,;

Step2:设置直播频道t的不同质量级别的输出视频集合Ot={s1,s2,...,si,...,sm}且m≥1,s1=r1,

Step3:获取用户带宽累积分布函数F(x),其表示用户带宽值小于x时的概率;

Step4:以直播视频的码率衡量用户观看直播视频的QoE,按公式(1)量化计算直播频道t的QoE值Qt,相应公式如下:

其中α,β为权重参数。

所述不同质量级别直播视频间实时转码的资源消耗代价矩阵构建步骤如下:

Step1:按照直播服务平台直播视频质量级别自适应集合M构建n个不同质量级别的视频片段,视频质量级别为i的视频片段时长为li

Step2:将任意视频质量级别为i的视频片段离线转码为视频质量级别为j的视频片段,且满足i>j,同时记录离线转码消耗的时间主机在离线转码期间的平均CPU占用率ci,j,主机CPU核心数c0

Step3:生成直播视频质量级别自适应集合M对应的实时转码资源消耗矩阵Cn×n,其元素C(i,j)表示视频质量级别为i的直播视频实时转码为视频质量级别为j的直播视频时对主机CPU一个核心的占用率,计算方法如下公式所示:

其中-1表示无意义的转码。

所述直播频道不同质量级别的输出视频集合配置方法具体步骤如下:

Step1:获取直播频道t的输入视频质量级别i(i>2),获取用户带宽累积分布函数F(x),视频质量级别自适应集合M对应的实时转码资源消耗矩阵Cn×n以及物理机CPU可用核心数ca

Step2:添加视频质量级别为1的视频到输出视频集合Ot,即Ot={s1},更新物理机CPU可用核心数ca=ca-C(i,1);

Step3:选择视频质量级别为j(1<j<i)的视频,将其加入到输出视频集合Ot中,即Ot=Ot∪{sj},使得直播频道t的QoE值的增量ΔQt最大化,满足公式:

Step4:更新物理机CPU可用核心数ca=ca-C(i,j);

Step5:重复Step3和Step4,直到物理机CPU可用核心数ca小于或等于0,或者所有质量级别比i小的视频都已经加入到了输出视频集合中。

所述直播服务虚拟机的部署放置方法具体步骤如下:

Step1:获取得H个不同固定直播频道的输入视频质量级别信息,即直播频道Hi对应质量级别为Li,获取N个物理机可用CPU核心数信息,即物理机Pj对应可用CPU核心数为

Step2:假设每个直播频道Hi配置的不同视频质量级别的输出视频集合包含1到Li-1,按所述直播频道QoE量化模型和不同质量级别直播视频间实时转码的资源消耗代价矩阵为直播频道Hi计算其QoE值Qi和其所消耗的CPU资源Ci

Step3:将所有直播频道按照Step2中所计算的QoE值Qi递减排序;

Step4:按Step3中对直播频道排序的顺序为每个直播频道Hi创建直播服务虚拟机Vi,选择剩余可用CPU资源最多的物理机Pj作为其部署环境,更新物理机Pj的可用CPU核心数并设置部署矩阵Dm×n中元素D(i,j)=1;

Step5:对部署在物理机Pj上所有的直播服务虚拟机按其对应直播频道消耗CPU资源的比例分配CPU资源,记直播服务虚拟机Vi可得到的CPU资源为

Step6:按所述直播频道不同质量级别的输出视频集合配置方法对这H个直播频道分别配置输出视频集合。

与现有技术、方法相比,本发明的特点在于从服务端考虑HTTP自适应流媒体直播服务的QoE,构建了直播频道QoE量化模型和不同质量级别直播视频间实时转码的资源消耗代价矩阵,为服务器端的资源分配和调度提供了依据,在部署直播服务虚拟机时优先考虑放置能给直播平台提供更大QoE的直播频道对应的虚拟机,从而在物理机资源有限的情况下,最大程度上提高直播服务给用户带来的QoE。

附图说明

图1为本发明中不同质量级别直播视频间实时转码的资源消耗代价矩阵构建工作流程图。

图2为本发明中直播频道不同质量级别的输出视频集合配置方法流程图。

图3为本发明中直播服务虚拟机的部署放置方法流程图。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

参考图1,本发明一种QoE驱动的HTTP自适应流媒体直播服务器集群部署方法,具体实施按照以下步骤完成:

1.首先设置直播服务平台直播视频质量级别自适应集合M={r1,r2,...,ri,...,rn},1≤i≤n,不同质量级别的直播视频以码率ri作为区分标志,视频质量级别i越高表示体验质量越好,直播视频码率ri越大;

2.其次设置直播频道t的不同质量级别的输出视频集合Ot={s1,s2,...,si,...,sm}且m≥1,s1=r1,

3.然后需要获取用户带宽累积分布函数F(x),其表示用户带宽值小于x时的概率;

4.紧接着,以直播视频的码率衡量用户观看直播视频的QoE,按以下公式量化计算直播频道t的QoE值Qt,公式如下:

其中α,β为权重参数。

其中:不同质量级别直播视频间实时转码的资源消耗代价矩阵构建步骤如下:

1)按照直播服务平台直播视频质量级别自适应集合M构建n个不同质量级别的视频片段,视频质量级别为i的视频片段时长为li

2)将任意视频质量级别为i的视频片段离线转码为视频质量级别为j的视频片段,且满足i>j,同时记录离线转码消耗的时间主机在离线转码期间的平均CPU占用率ci,j,主机CPU核心数c0

3)生成直播视频质量级别自适应集合M对应的实时转码资源消耗矩阵Cn×n,其元素C(i,j)表示视频质量级别为i的直播视频实时转码为视频质量级别为j的直播视频时对主机CPU一个核心的占用率,计算方法如以下公式所示:

其中-1表示无意义的转码。

参考图2,直播频道不同质量级别的输出视频集合配置方法具体步骤如下:

1)获取直播频道t的输入视频质量级别i(i>2,输出视频质量级别小于输入视频,i为1时不能得到有效输出视频),获取用户带宽累积分布函数F(x),视频质量级别自适应集合M对应的实时转码资源消耗矩阵Cn×n以及物理机CPU可用核心数ca

2)添加视频质量级别为1的视频到输出视频集合Ot,即Ot={s1},更新物理机CPU可用核心数ca=ca-C(i,1);

3)选择视频质量级别为j(1<j<i)的视频,将其加入到输出视频集合Ot中,即Ot=Ot∪{sj},使得直播频道t的QoE值的增量ΔQt最大化,满足公式如下:

4)更新物理机CPU可用核心数ca=ca-C(i,j);

5)重复Step3和Step4,直到物理机CPU可用核心数ca小于或等于0,或者所有质量级别比i小的视频都已经加入到了输出视频集合中。

参考图3,直播服务虚拟机的部署放置方法具体实施步骤如下:

1)获取H个不同固定直播频道的输入视频质量级别信息,即直播频道Hi对应质量级别为Li,获取N个物理机可用CPU核心数信息,即物理机Pj对应可用CPU核心数为

2)假设每个直播频道Hi配置的不同视频质量级别的输出视频集合包含1到Li-1,按所述直播频道QoE量化模型和不同质量级别直播视频间实时转码的资源消耗代价矩阵为直播频道Hi计算其QoE值Qi和其所消耗的CPU资源Ci

3)将所有直播频道按照(2)中所计算的QoE值Qi递减排序;

4)按(3)中对直播频道排序的顺序为每个直播频道Hi创建直播服务虚拟机Vi,选择剩余可用CPU资源最多的物理机Pj作为其部署环境,更新物理机Pj的可用CPU核心数并设置部署矩阵Dm×n中元素D(i,j)=1;

5)对部署在物理机Pj上所有的直播服务虚拟机按其对应直播频道消耗CPU资源的比例分配CPU资源,记直播服务虚拟机Vi可得到的CPU资源为

6)按所述直播频道不同质量级别的输出视频集合配置方法对这H个直播频道分别配置输出视频集合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1