刘亚辉 李海洋
摘要:流媒体技术的出现,在一定程度上使互联网传输音视频难的局面得到改善。流媒体网络传输技术的实现是网络媒体传输技术的一次重要飞跃,它的影响力将是巨大的,它的前景也是无限光明的。正如每一次技术革命都带来人类社会的质的改变,媒体网络传输技术也会给媒体传输的发展带来强大的动力。
关键词:流媒体 流媒体服务系统设计
0 引言
流媒体简单地说就是应用流式传输技术在Internet/Intranet上传输的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。流式传输主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet将影视节目传送到PC机。流媒体技术是包含了采集、编码、传输、储存、解码等多项技术的综合技术。
1 流媒体设计
1.1 流媒体实现的关键技术——流式传输 流式传输的定义很广泛,现在主要指通过网络传送媒体(如视频、音频等)的技术总称。特定含义为通过INTERNET将影视节目传送到PC机。实现流式传输有两种方法:顺序流式传输和实时流式传输。
1.1.1 顺序流式传输 顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不象实时流式传输在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作HTTP流式传输。
顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证电影播放的最终质量。这意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。
顺序流式文件是放在标准HTTP或FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格来说,它是一种点播技术。
1.1.2 实时流式传输 实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就不会停止,但实际上,可能发生周期暂停。
实时流式传输必须匹配带宽连接,这意味着在以调制解调器速度连接时图象质量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量很差。如欲保证视频质量,顺序流式传输也许更好。实时流式传输需要特定服务器,如QuickTime Streaming Server、Real Server与Windows Media Server。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。
实时流式传输还需要特殊网络协议,如:RTSP(Realtime Streaming Protocol)或MMS(Microsoft Media Server)。这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。
1.2 基于J2EE的业务管理系统 软件系统采用J2EE架构,采用跨平台JAVA语言开发,采用Oracle9i.为本系统的后台数据库.本方案配置的系统为:WebSphere5.0十Oracle 9i.数据组织和展现形式都是XML格式来完成。为了在大多数浏览器上(lE和Netscape)正确显示,系统在服务器端将XML与XSLT进行装配,生成HTML.当用户访问系统时,首先经过Filter的过滤,Filter会检查是否需要Session验证,如果用户通过Session验证,则允许用户访问;如果用户没有通过验证,则直接拒绝用户访问。用户提交的访问请求通过Filter验证以后,进入JSP页面处理。JSP获取必要的参数以后,调用业务逻辑层的业务逻辑函数进行处理。业务逻辑层在必要的时候通过数据库对象映射系统访问数据。在系统中,业务逻辑层以上的层面上绝不出现任何与数据库相关的操作。所有的操作均在数据库映射层面上完成。因此在更换数据库的时候就不会对业务逻辑造成伤害。业务逻辑层处理好以后,将处理结果返回给Jsp页面,Jsp页面将结果按照要求,组装成XML或者HTML,然后提交给Filter. Filter根据参数,决定是否将结果与XSLT样式文件进行装配,形成最终的HTML,并提交给用户。J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。
2 流媒体服务系统设计
2.1 流媒体播放系统设计 整个流媒体播放系统所包含的功能包括:流媒体直播、流媒体点播的支持。流媒体播放系统的管理内容包括直播点播管理、内容维护、广告管理、统计分析、内容发布、资费管理等。
2.2 CDN组成及其基本工作原理 一个典型的CDN由以下几个要素组成:①本地负载均衡。②全局负载均衡及策略调度。③带宽与QOS质量管理。④分布式存储与分发管理系统。
2.3 CDN总体结构 在整个CDN网络解决方案中,CDN系统通过接收用户请求,监测Cache,从而选择一个最健康的Cache为用户提供服务,整个系统分GSLB,Monitor,Console三大模块,它们之间保持着一个松散祸合的关系,彼此之间通过SOAP协议进行通信,从而构成一个整体。GSLB模块:GSLB主要完成为用户请求引导,选择一个最好的Cache为用户提供内容服务,主要功能有:用户请求接入、最佳服务选择处理、服务状态监测、数据缓存处理、业务日志处理功能。Console模块:Console主要完成基础信息维护、业务数据查询,主要功能有:基础信息维护、业务数据查询、配置信息发布。Monitor模块:Monitor功能模块主要完成业务数据存储、业务数据汇总,主要功能有:业务数据存储、业务数据汇总、服务监测报等。
2.4 负载均衡系统设计 全局负载均衡的设计涉及到就近性判断、重定向机制和流量分配策略等问题。
3 服务器性能
随着流媒体规模的扩大,流媒体服务器的性能成为制约流媒体服务扩展能力的重要因素。流媒体服务器性能的关键指标是流输出能力和能同时支持的并发请求数量。影响流媒体服务器性能的因素很多,包括CPU能力,I/O总线,存储带宽等。通常,单个流媒体服务器的并发数都在几百以内,因此,为了具有更好的性能,目前的高性能流媒体服务器都采用大规模并行处理的结构,例如采用超立方体的结构将各个流媒体服务单元连接起来。还有一种方法是采用简单的PC集群的方式,这种方式下多个PC流媒体服务器用局域网连接,前端采用内容交换/负载均衡器将流媒体服务的请求分布到各个PC媒体服务单元。后一种方式性能较前一种方式低,但是成本低,容易实现。
4 项目结论
在学校的校园网环境中,每一台微机均能访问笔者所做的流媒体服务器并能较流畅地播放“点播单播”、“广播单播”、“多播广播”等媒体流,并发访问的客户端在20台以内为宜。
4.1 针对多角色参与运营的需求,采用J2EE开发专门的业务管理系统,提高了大量用户并发的情况下,系统的处理能力。同时为下一步的开发和移植提供了便利。
4.2 单点式的节点无法满足大规模服务的需求。因此,研究中提出了建设分布式的流媒体服务网络,以CDN的方式进行用户的全局引导和内容分发调度。通过将用户引导到最近的可用节点的方式,满足用户的服务请求,降低了网络状况对用户所能得到的服务质量的影响。
参考文献:
[1]冯延晖.完全手册北京:中国电力出版社.
[2]孙卫琴.精通Hibernate: java对象持久化技术详解.北京:电子工业出版社.