现代操作系统之多媒体系统(下)

多媒体文件系统范型

服务器分为拉取型服务器和推送型服务器。

VCR控制功能

为了获得可接受的性能,服务器应该未每个流出的数据流保留注入磁盘宽带和内存缓冲区等资源。

在暂停的时候可以很容易地将资源释放,但这引入了风险,当用户试图恢复播放的时候,有可能无法重新获得这些资源。

压缩让快进和快倒复杂起来。

DV每一帧都是独立于其他帧压缩的。因此,对一个DV文件进行快进操作需要有一个索引,该索引可以使帧的查找快速实现,但至少在理论上可行。

MPEG要求按顺序播放文件。

如果要十倍速播放,服务器可能试图将帧解压缩,但是正常的服务器不必了解这些。

唯一可行是预先规划,可以做的事情是建立一个特殊的文件,每10帧抽1帧,然后以正常的MPEG算法进行压缩。


近似视频点播

通过每隔一段时间开启一个数据流,可以保证无论用户有多少,数据流个数是确定的。

对于近似视频点播,用户不具有VCR能力。


具有VCR功能的近似视频点播

缓冲特定时间的数据是可行的,如果客户机有一次读两个数据流的能力是可以实现的。



文件存放

多媒体文件非常庞大,通常只写一次而读许多次,并且倾向于被顺序访问。这就意味着应当使用不同于传统操作系统使用的文件系统布局。


在单个磁盘上存放文件

最为重要的要求是数据能够以必要的速度流出网络,并且没有颤动。
视频服务器上消除文件内寻道的一种方法是使用连续的文件,通常,使文件未连续的工作做得并不十分好。但是在精心装在了电影的视频服务器上是很好的,因为不会再有变化,

更好的选择是存储排列,使视频,音频和文本交叉存放,但是整个文件还是连续的。最简单的可能是一次磁盘读入每一帧的全部内容,然后将需要的部分传输给用户。

这一组织需要额外的磁盘IO读入不必要的音频和文本,在内存中还需要额外的缓冲区空间存放他们,快速它消除了所有寻道。这样的布局随机访问是不可能的,但是视频服务器也不需要随机访问。

在具有i多个并发输出流的视频服务器上,使整部电影称为一个连续文件的优点就失去了。

两个替代的文件组织策略

有两个针对多媒体文件的其它文件存放组织,第一个是小块模型。

每个帧有一个帧索引,这是一个数据结构,每一帧有一个帧索引项,指向帧的开始。每一帧本身就是连续的块,包含该镇所有的视频,音频和文本,这样,读第k帧的时候首先要在帧索引中找到第k个索引项。

在放电影的一个方法是使用打磁盘看,并在每一块中存放多个帧,这里需要块索引

一个磁盘块拥有的帧未必是整数。

快索引要比帧索引小得多。


可以采用分页操作在需要的时候即使将帧索引装入内存,可以减少RAM使用量。通过足够的缓冲可以屏蔽在帧传输过程中的寻道,但这需要额外的内存并且可能还需要额外的复制。

一个帧的存放要尽量避免跨越一个煮面的边界。

通过双缓冲策略肯效果会很好。

使用大磁盘块的时候,每一块包含多个帧,这样块的末尾可能会有帧的片段。

复制是一个代价昂贵的操作,应该尽量避免。

使用大磁盘块时硬盘可以全速运转。

在大磁盘块中,快进是不可能的。连续读文件以选出希望的块需要大量的磁盘IO。

第二种方法是使用一个特殊的文件给人10倍速度快进。而这个文件是按正常速度播放的。


近似视频点播的文件存放

近似视频点播将同意不电影作为多个交错的数据流送出,即使电影作为连续文件存放,每个数据流也需要进行寻道。

通过将每隔。。帧的帧放在一个磁道上,视频服务器只用一次寻道就可以以相反的顺序满足全部24的数据流的需要。

简单的缓冲策略是双缓冲,一个缓冲区正在向外播放24的数据流,另一个缓冲区加载数据,当前操作结束时,两个缓冲区进行交换,刚才用户回访的缓冲区现在在一个磁盘操作中加载数据。


在单个磁盘上存放多个文件

将最流行的电影存放在磁盘重要,第二和第三流行的放在两边,以此类推。


在多个磁盘上存放文件

如果RAID控制器有太多的磁盘要同事处理,那么RAID控制器可能会成为一个瓶颈。

一种可能的组织方式是将每一部电影在多块磁盘上分成条带。(让负担分在多个磁盘上)

因为每一帧大小不等,所以可以选择按帧分条带或者按块分条带。

高速缓存

块高速缓存

只要异步电影中的一个块在读出后很快再次需要,对其进行高速缓存就是有i意义的。

对于相差时间不长的两个数据流,一种替代方法是试图使两个电影同步。

可以通过降低一个速度以便合并,也可以通过广告来完成合并。


文件高速缓冲

由于大多数电影都非常大,视频服务器一般布恩那个在磁盘上存放所有这些文件,所以要将它们存放在DBD或者磁带上。当需要异步电影的时候,它总是可以被复制到磁盘上,但是存在大量的启动时间来查找电影并将其复制到磁盘上。因此,大多数视频服务器维护者一个请求最频繁的电影的磁盘高速缓存。


另一种高速缓存的方法是在磁盘上保存每部 电影的最初积分。当一部电影被请求是,可以立刻从磁盘文件中开始回放。

如果太多时间过去而没有请求,电影将从高速缓存中删除。


多媒体磁盘调度

静态磁盘调度

尽管多媒体对系统的所有部分提出了一个巨大的实时和数据率要求,但是它还有一个特性使其比传统的系统更容易处理,那就是可预测性。

睡觉哦空啊吗路呢哦分割成回环,在这里一个回环是一阵的时间。每一回环开始,未用户生成一个磁盘请求。

显示的请求是以柱面顺序排序的。

如果服务器有太多的数据流,偶尔也会出现当妖气坐磁盘的编辑部分读取帧的时候错过了最终实现。但是只要错过时限的情况足够少,那么换取更多的数据流是可以容忍的。

每一帧不必只有一个回环,每一回环也不必只有一个帧。

动态磁盘调度

每一都请求需要指定要读的是哪一磁盘块,另外还要指定什么时间需要该磁盘块,也就是最终时限。

在请求下一磁盘请求时,有两个因素起着重要作用——最终时限和柱面。

scan-EDF算法可以将最终时限比骄傲接近的请求收集在一起分成若干批,并且以柱面未顺序对其进行处理。

如果不同的视频流具有不同的数据率没那么新用户出现时要看情况决定是否接纳


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值