通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 爱心红客 电信网通铁通移动 在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 > 文章类 > 技术文章 > 网络知识 > 文章正文
一种高效流媒体电影服务器的设计
责任编辑:酷酷の鱼   更新日期:2008-7-16
 

来源:安全中国

1 引言

  随着网络技术的发展,主干网与宽带网接入技术的日臻成熟,网络视频的传输成为 Internet应用的一个亮点。为了提高视频数据在网上的传输效率,并实现视频的实时播放,流媒体技术的研究与应用得到了很大发展。

  其中,流媒体服务技术在流媒体的应用中发挥了关键的作用。

  传统的网络传输数据的方法是文件下载:用户需要准备大量的磁盘空间,并花大量的时间等待下载结束。但是,当数据变成海量的视频数据时,在数据处理量大,数据吞吐量高,视频播放实时性,客户连接请求数目大,连接时间长等一些情况下,传统的服务技术已经无法高效的满足要求。面对这样的技术要求,本文从 CPU调度,资源控制内存分配,I/O总线管理这三个方面出发,综合的给出了一种高效的服务器设计方法,从而有效的提高了视频流式传输时的效率。该方法也具有很强的可扩展性,当服务器的CPU数目增加时,服务器的性能将能得到成倍的增长。

  2 流媒体服务器的设计

  2.1 流媒体服务器的功能

  流媒体在播放前不是完全下载整个文件,而是把开始部分内容存入内存,数据流是随时传送随时播放。

  流媒体服务器提供的流式传输方式有两种:顺序流式传输和实时流式传输两种方式。顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体。实时流式传输与顺序流式传输不同,实时流式传输总是实时传送,特别适合现场事件。实时流式传输必须匹配连接带宽,这意味着图像质量会因网络速度降低而变差。

  在流式传输时,流媒体数据具有实时性,等时性等基本特点,流服务期和客户终端要保证各种媒体间的同步关系,因此,流媒体传输对“最大延时”,“延时抖动”等QoS参数都有严格要求。

  2.2 流媒体服务协议栈的设计

  在TCP/IP参考模型中,传输层通信协议TCP和UDP都不能满足流媒体传输的QoS要求。由于TCP协议采用滑动窗口控制机制,数据传送随着流控窗口动态的启动和关闭,难以满足流媒体实时和等时的传送要求。UDP协议的无连接特点能够提高传输速率,虽然可以在某种程度上满足流媒体的实时性要求,但是由于其本身的不可靠性,也无法满足流媒体传输的需要。

  针对传输层协议的矛盾,为了实现流媒体在IP上的实时传送播放,设计流媒体服务器时需要在传输层协议(TCP/UDP)和应用层之间增加一个通信控制层。在增加的通信控制层,采用相应的实时传输协议,主要有:数据流部分的实时传输协议RTP(Real-time Transport Protocol),用于控制部分的实时传输控制协议RTCP(Real-time Transport图1 流媒体服务协议栈Streaming Protocol)。RTP协议主要是用来传送实时的流媒体信息,数据报主要包括多媒体数据,以及所携带负载的时间戳,顺序号等。RTCP协议的数据报主要包括了接收者收到某个多媒体流的服务质量信息,用于对服务器端的反馈。

  流媒体服务器的协议栈如图1所示。

  当服务器收到RTSP请求,它首先产生RTSP请求对象。服务器通过RTSP协议的应答信息将请求的内容以流会话(streaming session)的形式描述,内容包括数据流包含多少个流、媒体类型、和编解码格式。一个流会话由一个或多个数据流组成,如视频流和音频流等。实际的数据流通过RTP协议传递到客户端。RTP在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP本身并不能为顺序传送数据包提供可靠的传送机制,它依靠RTCP一起提供流量控制和拥塞控制服务。在RTP会话期间,各连接者监视下层网络的性能,并将相关信息放入RTCP包,周期性地传送 RTCP包来通知发送方。发送方也可以用RTCP包提供每次的会话信息,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,因有效的反馈和最小的开销使传输效率最佳化。

  流媒体服务器的功能框图如图2所示。

2.3高效流媒体服务器的设计

  通过流媒体服务器的协议栈的设计,可以明确流媒体服务器是在传输层协议(TCP,UDP)上解释RTP,RTCP,RTSP协议的,所有的客户连接请求都是以TCP的端口获得的,流媒体数据也都是打成RTP包,通过UDP端口发出去的,因此,对于TCP,UDP端口事件的调度以及如何把大量的流媒体数据从磁盘空间传递到网络上成为制约流媒体服务器性能的主要因素。

  流媒体服务器面对一个单一的客户,完成的过程如下:

  1)在客户端发出RTSP连接请求后,服务器通过对TCP端口的监听,读入请求。

  2)解析请求内容,调入相应的流媒体文件。

  3)形成RTP包,分发数据流包,获得RTCP包。

  4)数据包发送完毕,关闭连接。

  上述过程如果采用传统的服务器设计方法实现,一般的办法是用一个线程不断的读入用户的连接请求,然后将这些请求分派给其它的工作线程,这些工作线程则分别循环往复的完成以下的工作:

  1)解析请求内容。

  2)发送RTP包,发送接收RTCP包

  3)判断数据发送完毕,关闭连接。服务器的结构如图3所示。

  操作系统在对流媒体服务器的功能实现上采用以应用进程(线程)为中心的系统资源管理方式。操作系统采用虚拟内存方式,应用程序的虚拟内存空间映射到物理内存,物理内存与CPU之间有Cache。当流媒体数据从磁盘上到网络上进行传递时,要在不同的系统空间中进行多次传递拷贝,如图4所示。

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 最近更新
    推荐文章 瑞星公司07月17日发布 每日计算机病毒及木马播报
    普通文章 安全杂谈:网游帐号被盗后的解决办法
    普通文章 安全精彩:走出误区 真正黑客是门艺术
    推荐文章 安全杂谈:并非万能的防火墙也有漏洞
    普通文章 安全宝典:小心启动项 保护系统安全
    普通文章 安全策略:深度保护企业敏感数据
    普通文章 解决QQ收不到图片问题的小技巧
    普通文章 简单不求人 轻松让你击破ATA硬盘密码
    普通文章 中国的“黑客辣妹”
    普通文章 生物识别加密应用前景可观
    热门文章
    普通文章“雅虎助手”正式向“360卫士”致歉
    普通文章以奥运名义传播新病毒 正席卷全球
    普通文章散播奥运和天灾谣言 暴风僵尸欲借尸还魂
    普通文章网站安全堪忧 完善检测机制是唯一出路
    普通文章趋势CEO:病毒产业糟糕透顶
    普通文章微点主动防御软件三年磨难后正式上市
    普通文章恶意网站调查:10大网络托管半数恶意网站
    普通文章微软发布3款SQL INJECTION攻击检测工具
    普通文章ICANN主页被黑客篡改
    推荐文章推荐:详解还原系统保护技术原理和攻防
    精彩专题