流媒体服务器资源的自调节调度方法

上传人:ting****789 文档编号:310010663 上传时间:2022-06-14 格式:DOCX 页数:3 大小:19.92KB
返回 下载 相关 举报
流媒体服务器资源的自调节调度方法_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《流媒体服务器资源的自调节调度方法》由会员分享,可在线阅读,更多相关《流媒体服务器资源的自调节调度方法(3页珍藏版)》请在金锄头文库上搜索。

1、流媒体服务器资源的自调节调度方法专利名称:流媒体服务器资源的自调节调度方法技术领域:本发明涉及流媒体技术,特别是一种流媒体服务器资源的自调节调度方法,其根据流媒体服务的质量及资源利用状况来实时修改任务的优先级,从而提高流媒体服务质量和服务器的资源利用率。背景技术: 随着互联网的进一步普及,特别是宽带网络技术的发展,人们对多媒体信息需求的日益增加,一种新的多媒体宽带网络技术流媒体技术应运而生。流媒体技术是一个综合的概念技术,它包括视频处理(视频压缩、解压、编码、解码等)技术、网络传输技术、调度技术、分布式处理技术等等。流媒体指在网络中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。流媒

2、体在播放前并不下载整个文件,只将开始部分内容存入内存,流媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体服务是指流媒体服务器使用流媒体技术通过网络向发出流媒体需求的客户提供所要求的服务。流媒体服务具有非常广阔的市场应用前景,其应用包括多媒体新闻发布、在线直播、网络视频广告、电子商务、视频点播、远程教育、网络电台、实时视频会议、以及新兴的互动游戏、三维动画、互动培训等。流媒体服务的质量主要受网络、服务器和客户端性能的影响。随着计算机软硬件技术的发展,特别是CPU处理能力的大大加强,客户端性能已经不再是影响流媒体服务质量的主要问题。在网络条件一定的情况下,流媒体服务器对服务质量起到了决

3、定性的作用。而对流媒体服务器来说,调度算法是它的核心,好的调度算法能有效地利用服务器的资源满足大量的服务请求,平衡服务器的负载,有效地防止服务器因服务过载而“死亡”。流媒体服务具有一定的并发性,在相同时刻可能存在多个用户请求流媒体服务,流式服务具有一定的时序要求,有些任务必须在一定的时限内完成,因此流媒体服务器的调度算法都采用实时系统调度算法。实时调度算法通过合理地安排实时服务器的资源来实现对实时任务的调度,即如何分配资源以保证每个实时任务在正确的时段产生正确的输出,将任务输出的不确定性限制在一定的范围内。所谓服务器的资源主要是指处理器时间资源,合理地分配时间资源就是合理地安排就绪任务的运行顺

4、序。实时调度分为两个阶段,第一阶段是确定每个就绪任务在就绪队列中的位置,第二阶段是在任务切换时,使就绪队列中的第一个任务获得处理器。在实时系统中,实时调度算法根据实时任务的优先级来决定在某一时刻调用哪个实时任务。现有的流媒体服务器资源调度方法来源于传统的实时调度算法,常用的是一种典型的静态优先级调度算法RM(Rate-Monotonic)调度算法,RM调度算法根据任务的执行周期的长短来决定调度优先级,任务的执行周期愈长,其调度优先级愈低,并且在调度过程中任务的优先级保持不变。RM调度算法以实时任务集的资源利用率为标准判断该任务集是否可调度,其实时任务集的模型可以表述如下实时任务集S(1,2,.

5、,n),任务按周期大小以增序排列,T1T2.Tn。RM算法按任务的执行周期的长短定义任务的优先级,执行周期最短的任务优先级最高,执行周期最长的任务优先级最低。实时任务集S中任务优先级排列如下P1P2.Pn。对流媒体任务集S用RM算法调度,根据上述任务模型,假设任务集S2中任务的优先级总是要低于任务集S1中任务的优先级,并且如果存在一任务其LT1iT2kL(T1i+C1i)(其中L为自然数,T1i,C1i分别为任务集S1中第i个任务的周期和执行时间,T2k为任务集S2中第k个任务的周期),则该任务必将因竞争不到CPU资源而不能被执行,这是因为在每一次该任务到来的时刻,CPU总是在执行其它任务而不

6、能抽出时间来执行该任务。而在流媒体应用中,这种周期性的任务是普遍存在的。由于流媒体数据量往往很大,资源竞争激烈,采用传统的RM调度算法往往会导致一部分媒体任务因为竞争不到服务器的资源而得不到执行,从而产生流媒体服务的质量问题,如图象模糊、抖动、重叠、跳跃、停顿等。另一方面,RM调度算法是静态调度算法,为了保证任务的可调度性,一部分宝贵的资源总是得不到有效的利用而被浪费。发明内容本发明的目的在于提供一种可以根据流媒体服务质量要求和流媒体服务器的资源利用状况进行自我调节的RM调度方法,以减少流媒体任务因竞争不到资源而不被执行的数量,提高流媒体服务的质量,提高流媒体服务器的资源利用率。本发明是采用以

7、下技术方案实现的,它包括以下步骤a、用RM算法确定流媒体任务集中每个任务在就绪队列中的位置,并给每个低优先级任务设定一个激活条件;b、调度器按该就绪队列进行调度、发送媒体数据,并监测图像质量;c、若图像质量不满足要求,监测当前任务执行完时刻到下一个任务开始时刻之间是否有CPU空闲时间,如果有,利用该CPU空闲时间执行图像质量受到影响的任务i;如果没有CPU空闲时间,则检查所述任务i的激活条件是否满足,激活条件满足则改变任务i的调度参数,调整媒流体数据队列,重新调度;激活条件不满足则按原调度顺序执行。在上述步骤a中,所述激活条件为该任务前已连续丢失的任务数的门限值,和/或该任务等待时间门限值。在

8、上述步骤b中,所述图像质量的判断标准为图像是否模糊、抖动、重叠、跳跃以及停顿等中的至少一种情况,判断依据为被调度任务的总执行数量。本发明对传统的RM调度方法进行了重要的改进,不再将任务的优先级与周期进行绑定,而是根据流媒体服务的质量以及服务器的资源利用状况来实时修改任务的优先级,减少了流媒体任务因竞争不到资源而不被执行的数量,提高了流媒体服务的质量,同时,解决了传统RM调度算法浪费CPU资源的缺陷,改善了资源竞争情况。另外,本调度方法计算量小,算法的复杂度与原RM调度算法一样。图1为本发明的主流程图。具体实施例方式下面结合附图对本发明做详细说明。传统的RM调度方法来自实时调度领域,该方法根据任

9、务的执行周期确定任务的优先级,计算量少,简单,易行,被认为是最优的静态调度算法。但在流媒体服务器上使用该方法会产生一些问题,因为流媒体应用中不仅仅有硬实时任务,有软实时任务,还包括了部分非实时任务。流媒体系统这种复杂的多任务集情况导致应用传统的RM调度算法进行调度时,系统的调度性能达不到在传统实时领域中的应有的性能效果。另外,流媒体的需求量和数据量往往非常巨大,在任务量很大,调度任务繁重的情况下,传统的RM调度方法往往会导致资源使用状况恶化,优先级较低但却属于关键性的任务竞争不到CPU资源而不能执行。造成部分流媒体任务因竞争不到CPU资源而不能被执行的主要原因在于传统的RM算法是按任务的优先级

10、来进行调度的,而任务优先级则是按任务周期的大小定义的,周期最短的任务优先级最高,周期最长的任务优先级最低,并且在调度过程中任务的优先级保持不变。也就是说,RM调度方法将任务的周期与优先级进行绑定,而不考虑服务器资源的实际情况。但在流媒体应用中,流媒体任务的周期与该任务的优先级不存在必然绝对的关系。可以看一个简单的例子在播放流媒体视频文件时,视频流的每个I帧之间有两个P帧,即I帧的任务周期要大于P帧的任务周期,但众所周知P帧任务的丢失对流媒体视频文件的播放不会产生太大的影响,而如果I帧任务丢失则会影响到视频播放的动画效果。但在经典RM算法中,由于I帧任务优先级比P帧任务优先级低从而I帧任务将比P

11、帧任务更容易丢失,而事实上相对P帧来说I帧是视频流的关键任务。为了实现自调节的RM调度方法,本发明首先打破了将任务周期与优先级绑定的做法,提出了一种可以根据流媒体服务质量要求和流媒体服务器的资源利用状况来实时修改任务优先级的自调节调度方法。本发明对所请求的流媒体任务先采用传统的RM算法进行调度,如果调度结果能满足服务质量要求则直接发送运行结果,如果传统调度策略不能满足服务质量要求,则采用本发明提出的策略更改调度参数再调度。其具体过程如下如图1所示,首先用RM算法确定流媒体任务集中每个任务在就绪队列中的位置,并给每个低优先级任务设定一个激活条件。所述激活条件为该任务前已连续丢失的任务数的门限值,

12、和/或该任务等待时间门限值。激活条件可以根据实际情况给定,比如对I帧来说,可以定义激活条件为I帧任务之前允许连续丢失的任务数(如为2),如果实际丢失的任务数大于或等于允许连续丢失的任务数,则激活条件满足。对长周期任务而言也可以设定任务等待时间的门限值为激活条件,当任务的实际等待时间超过该门限值时激活条件满足。调度器按上述就绪队列进行调度、通过网络发送媒体数据给请求该流媒体服务的客户端,同时根据任务“饿死”和丢失的数量,监测图像质量。其中图像质量的判断标准为图像是否模糊、抖动、重叠、跳跃以及停顿等中的至少一种情况,判断依据为被调度任务的总执行数量。当图像质量不满足要求时,监测当前任务执行完时刻到

13、下一个任务开始时刻之间是否有CPU空闲时间,如果有,利用该CPU空闲时间执行图像质量受到影响的任务i;如果没有CPU空闲时间,则检查所述任务i的激活条件是否满足,激活条件满足则改变任务i的调度参数,提高任务i的优先级,调整媒流体数据队列,重新调度;激活条件不满足则按原调度顺序执行。在上述方法中,流媒体任务的优先级在任务调度过程中不再是与周期直接挂钩固定不变的,而是可以根据给定的激活条件、即任务不能竞争到CPU资源的数量以及任务等待时间,发生改变。这样一来,开始部分优先级比较低的任务,在经过一定的等待时间后(该等待时间不能超过任务执行的时限),其优先级会提高,从而在下一步的资源竞争中占有优势,获

14、得资源的可能性增加了,得到执行的可能性也就增加了。下面为本发明的一具体应用例1、实施例环境服务器端的硬件配置及操作系统CPUIntel PIII 1GHz内存128M网卡10M/100M自适应操作系统RedHat7.1 Linux Server客户端的配置及操作系统CPUIntel PIII 800MHz内存128M网卡10M/100M自适应操作系统Windows2000 Professional软件环境实施例的服务器和客户端所使用的服务器及播放软件为自主开发的Linux流媒体视频服务器系统软件,为了强化比较效果降低其它因素的影响,客户端与网络环境应保持一致,并且网络应处于良好的畅通状态,这样

15、可以把网络传输对质量的影响降到最低。服务器片源为基于MPEG4编码的可流化视频文件,码率范围为110Kpbs-1100Kpbs。2、运行结果实施例在局域网环境中用视频点播的方式分别对本发明提出的调度方案和传统的RM调度方案进行了运行,监视媒体服务器的资源利用状况,任务调度情况,调度的任务数几方面的情况。在低码率和点播客户数较少的情况下,如码率低于500Kpbs和点播数少于5个的时候,由于资源比较富裕,两种调度方法几乎没什么差别,都能得到良好的调度效果。服务器的资源处于稳定的利用状态,没有发现因严重的资源竞争而导致任务被丢失和拒绝执行。随着码率的升高和点播客户数的增加,CPU变得越来越繁忙,资源

16、竞争加剧,这时候本发明的优势开始显露出来。由于传统的RM调度算法不能根据资源的实际使用情况进行调节,资源竞争越来越恶化,资源利用不稳定,部分调度任务不能进入就绪队列,部分进入就绪队列的任务得不到资源。用本发明提出的方法进行调度,则发现整个调度过程资源竞争有序,资源利用率一直保持在高水平的状态,只有少部分任务被有选择性的丢失。在更恶劣的模拟实验条件下,用传统的RM调度,每500个流媒体数据中就有98100个任务因竞争不到资源而被丢失,而用本发明的方法调度时,这一数据降到了10个以下。本发明对RM调度方法进行修改,对任务的优先级进行修改,不再将任务的优先级与周期进行绑定,而是用流媒体服务的质量参数以及服务器的资源利用状况来实时修改优先级,从而实现了自我调节的目的,提高了服务质量,改善了资源竞争情况。使用本发明提出来的自我调节优先级的RM调度方法对流媒体任务进行调度,与传统的RM调度方法相比,在任务的执行数量和媒体服务器的资

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号