(计算机系统结构专业论文)基于corba的分布式视频点播系统的设计与研究.pdf_第1页
(计算机系统结构专业论文)基于corba的分布式视频点播系统的设计与研究.pdf_第2页
(计算机系统结构专业论文)基于corba的分布式视频点播系统的设计与研究.pdf_第3页
(计算机系统结构专业论文)基于corba的分布式视频点播系统的设计与研究.pdf_第4页
(计算机系统结构专业论文)基于corba的分布式视频点播系统的设计与研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机系统结构专业论文)基于corba的分布式视频点播系统的设计与研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

捅要 l 视频点播系统可以广泛地应用于远程教学、数字图书馆、新闻点播、电子商 贸、电视点播等文化、商业及娱乐的各种领域,具有很高的实用价值。视频服务 器( v i d e os e r v e r ) 是视频点播系统中最关键的组成部分,它的性能直接影响视 频点播系统所提供的服务质量,因此视频服务器的设计是分布式多媒体领域的重 要研究课题:j 本文采用c o r b a 技术,对分布式视频点播系统进行了深入仔细的 研究。 本文的研究目标就是利用c o r b a 技术所提供的特定服务和开发方法来实 现高性能分布式视频点播系统,其中的核心问题包括多线程点播服务器的实现以 及点播服务器组和媒体服务器组的负载平衡的实现。 本文在对视频点播系统进行结构性能分析及数学建模的基础上,实现了基于 c o r b a 的分布式视频点播实验系统。给出了该实验系统的总体软件设计,仔细 讨论了设计和实现过程中所遇到的主要问题,并提出了利用c o r b a 所提供的特 定服务来实现多线程点播服务器以及点播服务器组和媒体服务器组负载平衡的 方法。对于分布式视频点播系统中相关问题的研究有较大的借鉴意义。 关键词:视频点播 视频服务器:c o r b a多线程:负载平衡 a b s t r a c t v o d ( v i d e o o nd e m a n d ) s y s t e mc a nb ew i d e l yu s e di nm a n yf i e l d s ,s u c ha sl o n g d i s t a n c e e d u c a t i o n ,d i 西t a ll i b r a r y ,d _ e w s 0 nd e m a n d t vo bd e m a n da n de t c v i d e os e r v e ri st h ek e yp a r to fv o d s y s t e m ,w h o s ep e r f o r m a n c eh a sd i r e c te f f e c to n t h es e r v i c eq u a l i t yo fv o d s y s t e m s ot h ed e s i g no f v i d e os e r v e ri sav e r yi m p o r t a n t r e s e a r c h t o p i c i nd i s t r i b u t e dm u l t i m e d i af i e l d s t h i s p a p e r a d o p t s t h e c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) t e c h n o l o g y t oh a v ear e s e a r c h a b o u tv o d s y s t e m t h eg o a lo ft h i s p a p e ri s t ou s et h e s p e c i a l s e r v i c et h a tc o r b a p r e s e n t st o i m p l e m e n th i 曲p e r f o r m a n c ed i s t r i b u t e dv o ds y s t e m t h ek e yt e c h n o l o g yi n c l u d e s t h ei m p l e m e n t a t i o no fm u l t i t h r e a do r d e rs e r v e r sa n dt h es t r a t e g yo ft h el o a db a l a n c e o f o r d e rs e r v e r sa n dm e d i as e r v e r s o nt h eb a s i so fa n a l y z i n gt h es t r u c t u r ea n dt h ep e r f o r m a n c eo ft h ed i s t r i b u t e d v o d s y s t e ma n dm o d e l i n gm a t h e m a t i c a l l yt h ek e yf a c t o r so f t h es y s t e m ,t h i sp a p e r i m p l e m e n t se x p e r i m e n t a l c o r b a b a s e dd i s t r i b u t e dv o ds y s t e m t h ei n t e g r a t e d s o f t w a r ed e s i g no ft h i se x p e r i m e n t a ls y s t e mi sp r e s e n t e da n dt h em a i np r o b l e m sa r e d i s c u s s e di nt h ep r o c e s so ft h ed e s i g n a t i o na n dt h ei m p l e m e n t a t i o n f i n a l l y , t h i sp a p e r p r e s e n t sm e t h o d sw h i c h a r eu s e dt oi m p l e m e n tm u l t i t h r e a do r d e rs e r v e r sa n dt h el o a d b a l a n c eo fo r d e rs e r v e r sa n dm e d i as e r v e r s t h ec o n t e n ti nt h i sp a p e rc a np r e s e n tt h e t e c h n o l o g ys u p p o r tf o rt h er e l a t i v es t u d y o f t h ev o d s y s t e m k e y w o r d s :v o d v i d e os e r v e rc o r b am u l f i t h r e a dl o a db a l a n c e 第一章绪论 第一章绪论 1 1 研究背景 随着计算机及通讯技术的发展,用户可以在线访问多种多媒体信息,如图 书、期刊、报纸、图片、声音、视频及科学数据等。这样的系统可以广泛地应 用于远程教学、数字图书馆、新闻点播、电子商贸、电视点播等文化、商业及 娱乐的各种领域,具有很高的实用价值。在这些系统中,所有数据都存储于服 务器中,用户通过高速网络进行交互式的实时访问,其中视频、音频等连续传 输的多媒体数据流是最重要的多媒体信息之一。不同于静态媒体,它们的传输 具有数据量大和占用资源高等特点,对于服务质量也有很高的要求。 本文所讨论的视频点播系统是指提供包括视频、音频在内各种连续多媒体 信息的服务系统。视频服务器( v i d e os e r v e r ) 是视频点播系统中最关键的组成 部分,有人也称它为多媒体服务器( m u l t i m e d i as e r v e r ) ,它的性能直接影响视 频点播系统所提供的服务质量,因此视频服务器的设计是分布式多媒体领域重 要的研究课题。 国外许多大学实验室、研究所和企业都在从事视频点播系统的专门研究。 m i c r o s o f t 、s t a r l i g h t 等公司开发了基于p c 的服务器,其产品以软件为主,主要 是提高服务器软件的性能。s g i 、i b m 、n e c 等公司研究了基于工作站的服务 器。n - c u b e 、d e c 等公司的视频服务器采用的是大规模并行计算机结构,o r a c l e 公司特为n c u b e 公司的m e d i a c u b e 系统视频服务器开发出了一套视频服务器软 件0 v s ( o r a c l ev i d e os e r v e r ) 。为了解决视频服务器的输入输出瓶颈, h e w l e t t - p a c k a r d 等公司专门设计了适于视频传输的服务器硬件设备。香港电信 也开始将机顶盒、ja :忸及c o r b a 技术结合使用在它们的视频点播业务中。目 前,大多数的视频点播系统还处于实验阶段,少量产品已经投入商用市场,但 是这些系统的价格十分昂贵,目前还无法使其提供的服务真正进入普通用户家 中。国内的一些大学和研究所也开始了视频点播系统的研究,但主要集中于理 论和实验方面。国内所建成的视频点播系统,其采用的视频服务器也基本上是 使用现成的硬件设备,在高层进行应用开发。 基于我国的经济现状,视频点播系统的设计不能一味追求硬件投入,应该 在充分利用现有硬件的条件下,着重考虑硬件的使用效率,在降低造价的同时 提高系统的性能,并且保持良好的可扩充性。 1 2 视频点播系统的应用现状和典型产品 皋十c o r b a 的分布式讹频点捕系统的研究j 啦计 视频点播系统在十几年前就开始了局部的应用,早期的系统一般基于专有 硬件和专有网络设计,成本高可扩充性差,支持用户少。随着个人计算机和 相关网络越来越普及,越来越多的视频点播系统采用基于p c 的服务器,产品以 软件为主,主要工作是提高服务软件的性能。国内一些大城市在几年前开始了 局部试点。例如三亚信息公司在上海使用m i c r o s o k 的产品提供交互电视服务; 广州电信为推广a d s l 业务,使用s g i 的m e d i ab a s e 系统提供视频点播服务: 北京电信为推广a t m 光纤网络的应用,采用国内厂商的技术提供视频点播服 务。 现在已有很多公司提供商业化的视频点播系统,针对不同的设计目标,这些 视频点播系统的结构各不相同,以下简要介绍其中的几种视频点播系统。 l2 1m i c r o s o 丘的n e t 口1 e a t e r n e t1 k a t e r 是m i c r o s o f t 提供的一个视频点播系统,这是一个纯软件解决方 案。n e t t h e a t e r 中服务器有t i t l es e r v e r ( 目录服务器) 、c o n t e n ts e r v e r ( 内容服 务器) 两种。t i d es e r v e r 提供目录服务,用户通过该服务器获取节目信息,协 调c o m e n ts e r v e r 工作。c o m e n ts e r v e r 存储多媒体节目,向用户实时传输节目 数据流。n e tt h e a t e r 的网络接口可以是a t m 或者1 0 m 1 0 0 me l e m e t ,连接图 如图1 1 所示。 图1 1m i e r o s o k 公司的n e t t h e m e r 连接图 m i c r o s o rn e tt h e a t e r 实际上是一种分布式视频点播系统,与w i n d o w s 操作 系统紧密结合在一起,有很多局限性。首先,它最多只能够安装1 2 个c o n t e n t s e r v e r ,限制了系统规模:其次,它要求c o n t e n ts e r v e r 的主机必须硬件配置一 第一章绪论 致,否则整个系统性能会降低以适应性能最低的c o n t e n ts e r v e r :最后,n e t t h e a t e r 缺少一般商业分布式视频点播系统所应该具有的身份识别与验证、权限 管理、计费管理等功能,而且它不是分层次的分布式视频点播系统。 1 2 2s g i 的m e d i ab a s e 和s u n 的m e d i a c e n t e r s g i 公司和s u n 公司都生产u n i x 服务器,它们提供的视频点播系统m e d i a b a s e 和m e d i ac e n t e r 是与硬件捆绑在一起的。为满足视频点播系统的实时性要 求,s g i 公司和s u n 公司分别对运行在服务器上的i r i x 和s o l a r i s 操作系统作了 一些修改。 m e d i ab a s e 和m e d i ac e n t e r 都是集中式视频点播系统,所以它有很大的局 限性。首先,它将软件和硬件捆绑在一起,无形中提高了造价。其次,在达到 系统性能极限时为提高系统性能,服务提供者必须淘汰现有的主机,购买速 度更快、存储容量更大的系统,造成投资浪费。而且按照现在的硬件现状,最 强大的集中式视频点播系统所支持的并发用户数目也是有限的。另外,这些系 统同样也缺少身份识别与验证、权限管理、计费管理等商业分布式视频点播系 统必不可少的功能。 1 2 3 国内公司的视频点播系统 随着视频点播系统得到越来越广泛的应用,国内一些软件厂商也从事视频 点播系统的研究与开发,并且出现了一些比较成熟的产品,同样,这些产品一 般是简单的分布式视频点播系统,还没有考虑分层次的结构。 单服务器模型 多服务器模型 幽1 2 世纪鼎点公司的鼎点天源视频点播系统 4 基十c o r b a 的分布式视频点播系统的川究1 ,、垃计 如图1 2 所示,世纪鼎点公司的鼎点天源视频点播系统有三个服务器程序, 这三个程序可以在一台服务器上运行,适合于小规模应用。如果这三个服务程 序分布到多个服务器上运行,分担服务器的负载,就适合于大规模的应用。 1 3 论文的工作 本人从2 0 0 0 年开始研究分布式视频点播系统,阅读了国内外大量相关文献, 发现分布式视频点播系统有两方面的困难。首先,分布式视频点播系统涉及到 的内容十分广泛,涉及计算机和通讯等诸多领域,不容易深入下去;其次,构 造一个实际的分向式媒体点播系统,硬件投资要求很高,而目前的工作环境仅 仅为几台p c 机和以太网。针对上述两个问题,并且考虑到我国的实际情况,本 文选定的实验平台为w i n d o w s 操作系统,网络环境为以太网,从分柿式软件开 发技术入手,采用c o r b a 技术,对分布式视频点播系统进行了深入仔细的研 究。 c o r b a 技术之所以被应用于分布式视频点播系统的设计与开发,主要由于 它具有以下的特点和优点: ( 1 ) 它采用软构件及软总线的概念,实现了系统异构平台之间的统一,点 播客户端与点播服务器系统完全可以在不同的平台上,用不同的语言来编写应 用,具有很好的开放性和灵活性。 ( 2 ) 它通过对象引用技术来唯一确定分布式环境下的对象实例,实现了分 布式对象处理功能。 ( 3 ) 一个点播服务对象可被多个点播客户端应用调用,也可调用其它的点 播服务对象,实现了点播服务对象的可重用性和互操作性。 ( 4 ) c o r b a 提供的公共对象服务功能很强,其中基于事件服务的主动服务 p u s h 和p u l l 技术,是处理实时系统的一种很好的技术。 简言之,c o r b a 规范引入了代理的概念,实现了分布式点播服务对象的透 明调用;把点播客户机程序与点播服务器程序完全分开:它与面向对象技术相 结合,提供了软件总线的机制,定义了一组接口规范,可方便地集成已有系统, 极大地提高了软件重用率。所有这些都使得应用c o r b a 技术的分布式视频点 播系统具有更高的可扩展性。 本文的研究目标就是利用c o r b a 技术所提供的特定服务和开发方法柬实 现高性能分布式视频点播系统,其中的核一t l , 问题包括多线程点播服务器的实现 以及点播服务器组和媒体服务器组的负载平衡的实现。本文进行的研究工作主 要包括: ( 1 ) 分析讨论了视频点播系统的功能特点、设计要求及典型结构。 第一章绪论 ( 2 ) 对视频点播系统中的几个典型问题( 点播请求到达时间、节目访问频 率以及视频点播系统的排队模型) 进行了数学建模和性能分析,得出了 可供视频点播系统总体软件设计参考的重要结论。 ( 3 ) 分析了分布式视频点播系统的设计目标和基本设计过程,并讨论了 c o r b a 应用程序的框架设计。 ( 4 ) 在对视频点播系统进行结构性能分析以及数学建模的基础上,实现了 基于c o r b a 的分布式视频点播实验系统,给出了该实验系统的总体软 件设计,并仔细讨论了设计和实现过程中所遇到的主要问题,提出了设 计多线程点播服务器的线程策略选择以及实现点播服务器组和媒体服 务器组负载平衡所采用的策略机制。 6 甚十c o r b a 的分布式桃频点播系统的研究1 j 设汁 第二章视频点播系统的功能和结构分析 2 1 视频点播系统的功能和设计要求 2 1 1 视频服务器的功能及特点 视频服务器作为视频点播系统的中央控制和服务部分,应该具有以下的功 能: ( 1 ) 请求处理:接收用户的访问请求; ( 2 ) 许可控制:检查用户的的权限,考虑新请求的加入是否影响已有服务 的性能; ( 3 ) 数据检索:从服务器的存储系统中检索数据的存放位置: ( 4 ) 可靠的流传输:向用户提供一个实时的数据流: ( 5 ) 支持v c r 功能等。 传统的文件服务器是视频服务器设计的基础。视频服务器实际上是传统文 件服务器的一种扩展结构,它支持包括文字,数字、图形、图像以及视频、音 频等多种媒体形式的数据。所以,传统的文件服务器设计中的调度、分配算法 对视频服务器的设计具有一定的借鉴作用。视频服务器与传统文件服务器的主 要区别在于,它管理的数据主要是音频、视频等的连续媒体c m ( c o n t i n u o u s m e d i a ) 。 对于连续媒体c m 序列必须实时传输,数据才有意义。与传统的文本和数 字数据相比,连续媒体具有以下两个基本特点: ( 1 ) 实时的存储和访问:连续媒体必须对数据流进行实时存储,并以恒定 的速率进行访问和播放,必须保证系统的q o s ,包括延迟、抖动和同步 等。 ( 2 ) 数据传输率和存储空间的要求:数字音频和视频的播放需要很高的数 据传输率,而且数据量也很大。 2 1 2 视频服务器的设计要求 根据连续媒体的特点,加上应用服务的需要,在设计视频服务器时必须满 足以下几点要求: ( 1 )实时性:数据在传输时必须满足实时的要求,不能有抖动。 ( 2 ) 大容量:服务器应该提供尽量多的服务数据; 第一二审视频点播系统的功能和结构分析 ( 3 ) 高带宽:服务器应该能够同时支持尽量多的用户; ( 4 ) 响应迅速:响应时阳j 是系统一眭能的一个重要指标,对于用户请求应能 及时响应: ( 5 ) 访问控制:对用户的请求进行允许控制; ( 6 ) 可靠性和可扩展性:可扩展性包括容量和带宽的扩展; ( 7 ) 价格:价格是影响系统设计成功与否的重要因素之一,设计时应着重 考虑硬件的利用率,从而提高性能,降低价格。 2 2 视频服务器的几种类型和典型结构 视频服务器的实现可以采用多种系统结构,不同的系统机构对于视频点播 系统的整体性能有很重要的影响。下面对几种典型的视频服务器系统结构进行 分析和讨论。 2 2 1 基于p c 和工作站的集群技术 这种技术使用网络连接多台标准的p c 或工作站,通过运行一定的软件完成 服务器的功能。这种技术实现起来,硬件投资较小,不需专门设计,但同时支 持的用户数目很有限。图2 1 表示了这种设计的典型逻辑结构。包括主机在内的 每一个结点都是由一台p c 或工作站实现的,主机负责控制和调度,存储结点负 责存储数据、进行传输。 图2 1 基于p c 和工作站的集群技术 2 2 _ 2 大规模并行计算机结构 通过高速的互联网络,将每个自带硬盘和内存的处理机连接起来,组成高 性能并行计算机,以满足视频服务器的设计要求。图2 2 给出了基于这种思想的 设计结构。在不同的实现方法中,可能将一个功能分散到多个物理结点上,或 用一个物理结点实现几个逻辑结点的功能。这种结构对于基于计算机的应用具 有很好的可扩展性,但是在提高i o 带宽等方面仍具有不少问题。 璀于c o r b a 的分布桃频点播系统的t 0 d c l j 啦汁 , 、 i存储结点接 ji 一 一 l模块模块i i ff ,枣 ,l 叫络 , i存储管理 一 调度请求 l摸块 处理模块 、 1 i 手,一7 、j 图2 2 大规模并行计算机结构 2 2 3 适于实时视频传输的专用硬件结构 为了实时传输大量的音频和视频数据,h p jd e c 等一些研究机构设计了专 门的硬件,以提高系统的吞吐量。图2 3 以h p 的m e d i as 订e a m 服务器为例说明 这种设计的结构。 图2 3 适于实时视频传输的专州硬什结构 视频输 目前的系统中,只有专用硬件结构可以同时支持1 0 0 0 个以上的用户,但由 于需要专门设计的硬件,因此价格也最为昂贵。 第二章视频点播系统的助能和结构分析 9 2 2 4b e r k e l e y 提出分布式视频点播系统结构 在计算机系统结构中,存储系统通常采用层次结构。所有数据存放于大容 量、低速的存储设备( 硬盘) 中,c p u 所需访问的数据缓存在容量小但高速的 存储设备( 高速缓存c a c h e ) 中。整个硬盘一内存一高速缓存的系统在容量上具 有磁盘的容量,速度可以达到高速缓存的水平,并且具有很好的性能价格比。 分布式媒体点播系统利用了这种思想,使用快速的磁盘设备来缓存三级存 储设备( 如光盘库、磁带库等) 中频繁访问的视频数据,将多个缓存分布于网 络中。如果用户的访问基本上可以由本地的存储服务器来完成,整个系统的性 能将会很高。在第三章中我们将对节目的访问频率进行分析,从而知道节目的 访问具有高度的局部性,所以这种方案是可行的。 。 元数据 图2 4b e r k e l e y 分布式v o d 系统结构 图2 4 给出了b e r k e l e y 提出的一个分布式v o d 结构。系统中有一个站点管 理服务器,管理整个系统中的节目内容。数据全部存放于三级存储设备( 光盘 库或者磁带库) 中,由站点管理服务器控制。实时访问时,相应的数据必须复 制到存储服务器的磁盘中。 通过对分布式系统的合理控制和调度,这种结构具有很好的可扩展性,能 够以较低的结构代价实现较高的性能。 0 毕十c o r b a 的分布式视频点播系统的研究j 殴计 第三章视频点播系统的数学模型和性能分析 视频点播系统的组织结构对系统的性能具有决定性的影响,有必要对其进 行深入的分析。视频点播系统的数学模型是采用数学的方法,为系统中每个活 动的实体建立模型,模拟系统的运行情况,得到系统的运行参数和性能状况。 数学模型对于视频点播系统的研究是必需的,也是算法研究的一个重要工具。 首先,视频点播系统研究所针对的都是节目和用户数量很多,系统分布范 围也很广的情况,建立这样一个系统,各方面的花费都很大。而且系统一旦建 立起来,硬件结构的改变都很不容易。 其次,实际系统在运行过程中,对各个实体活动的跟踪很困难,为获得性 能参数又将增加额外的开销。采用数学模型,使用数学工具进行定量的分析, 模拟系统的运行情况,可以指导视频点播系统的结构设计,使设计出来的视频 点播系统满足实际需求,具有可行性。并且根据这些模型的特点,可以简化、 优化系统结构,设计出性能价格比更高的视频点播系统。 另外,视频点播系统的数学模型可以作为理论研究的框架,一旦有了新的 思路,可以很容易地结合进去,替换旧的算法,并检验新算法的有效性。 数学模型的一个关键问题是对实体活动的描述必须准确反映实际的运行 情况。图3 1 表示了视频点播系统的基本工作环节。 。_ 。_ 图3 1 视频点播系统的基本流程 本章对以下问题建立数学模型,做出了定量的分析,得出了可靠的结论: 点播请求到达时间 节目访问频率 媒体点播服务器的排队模型 3 1 点播请求到达时间 点播请求到达时间的分析主要讨论在点播系统来了一个新点播用户的时 候,下一个点播用户到达时间间隔的概率分布以及相关特性。 第三章税频点播系境的数学模型和性能分析 设x 是某一段时间内用户媒体点播请求的平均到达速率。在实际应用中, 凡是一个随时间变化的函数,这是由于人们的生活习惯所决定的。例如对于家 庭和饭店环境的视频点播系统,在晚上和节假日点播用户比较多, 比较大; 在午夜和凌晨点播用户要少得多, 取值明显减少。一天2 4 小时内 随时间的 典型分布如图3 2 所示。视频点播系统的负载能力应该按照 取最大值时设计。 06 1 21 82 4时间 图3 2x 随时间的典型分布 当 值一定时,用户的媒体点播请求仍旧具有随机性,各个点播请求之间 没有相关性。设p ( k ) 为在时间间隔t 内有k 个点播请求到达的概率。通过对大 量实际情况的统计和分析,我们可以发现,在一个小的时间间隔内,媒体点播 内请求到达的概率与这个时间间隔的长度基本成正比。所以采用泊松( p o i s s o n ) 过程1 可以较好模拟点播请求的到来,其概率分布为: m ) _ 等,k = o , 1 , 2 , - - 公式( 3 1 ) e ( k ) = t公式( 3 2 ) 其中e ( k ) 为时间间隔t 内点播请求数的数学期望。 根据排队论的知识,到达时间遵守泊松过程的点播请求,其到达时间间隔 t a 遵守负指数分布,而且平均到达的时间间隔是到达速率的倒数,所以t a 的概 率分布为: f ( t a n 时,点播服务系统有i n 个用户在排队等候。假设每个虚拟服务 节点的平均服务速率为u ,用户平均到达速率为 ,队列处于稳定状态i 的概 率为t 1 t - 则这个离散时间生死排队过程有以下等式: b = 九i = o ,1 ,2 , 小艨 0 i n i n jr i o = ( 1 一b o d o ) 1 1 0 + b t r l l 【q 。b i lr l h + ( 1 一b 一d ,) 1 1 + b t 1 i 1 ”札矾洚慷要 设服务器利用率为p ,则d :土 u n 又因为q ,= 1 所以由( 3 j o ) ( 3 1 1 ) ( 3 1 2 ) 得视频点播系统没有用户点播的概率 l 2 瓢丽j 而厂 智i !n ! ( 1 一p ) 所有虚拟服务节点都忙的概率为 l3 了豆五丁亚 一i 0 i ! n ! ( 1 一p ) 视频点播系统的平均排队长度为 肚委( 卜舰= 尚r ) 一l , 公式( 3 7 ) 公式( 3 8 ) 公式( 3 9 ) 公式( 3 1 0 ) 公式( 3 11 ) 公式( 3 1 2 ) 公式( 3 1 3 ) 公式( 3 1 4 ) 公式( 3 1 5 ) 设i 是每个用户的平均点播时间,则由l i t t l e 公式,点播服务器中所有用户 的平均排队时间为 第三幸视频点播系统的数学模型和性能分析 7 1 :竖 一n 0 一p ) 公式( 3 1 6 ) 如果不考虑等待时间为零的点播请求,则必须等待的用户平均排队时间为 乃2 丽与 在9 5 0 o 的时间内,l 小于 m ( r = 9 5 ) = 志n ( 器) 公式( 3 1 7 1 公式( 3 18 ) 假定视频点播系统中,用户观看节目的平均时间为t = 6 0 分钟,则由以上 结果,可以得到表3 1 。 从表3 1 中我们可以发现,虚拟服务节点的数目对视频点播系统的服务质量 有非常大的影响。例如有1 0 个虚拟服务节点的点播服务器平均使用率达到8 0 时,点播用户平均等待时间为1 2 分钟,而1 0 0 个虚拟服务节点的点播服务器平 均使用率达到8 0 时,点播用户平均等待时间为o 0 5 9 分钟。这是由于概率不 确定性所决定的。当服务节点比较少时,系统点播用户的到达速度即系统的点 播用户数相对波动范围大。有时候系统十分空闲,没有用户点播节目;有时候 系统十分繁忙,相对有比较多的用户排队,需要等待比较长的时间才能够获得 服务。 同时我们还可以发现,1 0 0 个虚拟服务节点的点播服务器平均使用率达到 8 0 时,点播用户平均等待时间为o 0 5 9 分钟,而1 0 0 个虚拟服务节点的点播服 务器平均使用率达到9 5 时,点播用户平均等待时间急剧上升到6 1 分钟。这 个原因可以用点播用户到达速度的概率分布曲线来解释。如图3 6 所示,p ( k ) 为 在时间间隔t 内有k 个点播请求到达的概率。p ( k ) 曲线于x 轴所夹部分的面积 为l ,p 1 和p 2 分别代表了系统不同平均使用率下的p ( k ) 曲线。系统的平均使用 率越高,p ( k ) 曲线中的超过系统服务节点数n 部分所包含的面积就越大,而且 扩大的速度是急剧增加的,也就是点播用户排队的可能性急剧增加,所以点播 用户的平均等待时间也急剧增加。 表3 1 虚拟服务节点数目和利用率对视频点播系统服务质量的影响 6 壮fc o r b a 的分布直视频点播系统的研究q 殴计 n n 图3 5 不同平均使用率下的的p ( k ) 曲线 综合以上分析,可以知道采用大容量点播服务器协同工作,是提高视频点 播系统服务质量的关键。 第四章分布式系统的设计及对视频点播系统的蟛响 第四章分布式视频点播系统设计的主要考虑因素 4 1 分布式视频点播系统的设计目标 分布式视频点播系统由许多组件集成在一起,分布式系统不仅要集中在单 个组件的细节上,而且要致力于使分布式组件彼此之间协调一致地工作。分布 式视频点播系统系统是否成功,很大程度依赖于组件之间的交互情况。除了能 够币确实现业务要求的定义外,一个分布式系统还应该有以下几个重要特点: 性能和效率:系统吞吐量大并且响应迅速,有效、节约地使用计算资源。 规模可变能力:系统能随着处理量和复杂性的增大而有序地增长。 可维护性:易于配置、操作和更新。 安全性:给已授权用户提供适当的访问。 可靠性及其测试:极少出现失效情况,万一组件失效,可以进行平稳的 降级处理:提供质量保证,确认应用程序正确地实现了指定的业务要求。 在分布式系统中实现这些属性,需要认真仔细而且复杂的设计,还要对组 件之间的交互作用给予特别的注意。下面将详细地讨论这些设计目标。 4 1 1 j 性能和效率 除了正确性外,性能就是分布式视频点播系统的首要目标。系统设计、体 系结构和实现可以完美无暇,但是如果点播用户要花费很多时间来等待媒体开 始播放,那么他们同样会很失望。 衡量分布式视频点播系统性能的重要的标准包括响应时间( 用户发送点播 要求后,节目开始播放所需的时间) 和吞吐量( 服务器每单位时间内发送的数 据流量,或者是单位时间内服务的点播用户数) 。在目标环境中使用视频点播系 统和在开发环境中使用视频点播系统的性能可能很不一样,这取决于不同的网 络配置和系统负载情况。性能标准应该包括普通情况( 在典型网络配置和典型 系统负载) 下程序的性能。理想状态下,性能标准还应包括最好情况( 在网络 上没有其他应用程序运行、单个用户) 和最坏情况( 网络负载很大、应用程序 已加载、有许多用户) 下程序的性能。 在分布式视频点播系统中,对用户的响应时问是非常重要的。由于通过网 络发送数据,等待服务器验证数据,然后发送响应。所以在服务器上放置不必 要的组件将减慢响应速度。有研究表明,如果响应时间在五分之一秒以下,人 们会觉得响应很及时。研究同时表明,响应时间超过一秒,会对人的态度和生 产率有负面影响。尽可能在客户端上验证数据,确信已经提供了全部所需的数 基于c o r b a 的分布式桃频点播系统的甜f 究! - j 设计 掘,并可以作一些简单的计算,这样可以大大节省系统响应时间。分布式系统 的整体性能既依赖于组件之间的交互作用,也依赖于单个组件的性能。组件之 间的相互约束使得经常无法达到亚秒级的响应时间;而异步处理常常能明显减 少响应时间。同时通信延时和资源共享也要引起我们特别注意。 在分布式视频点播系统中,如果大量用户点播同一个节目,超过了这个节 目的承受能力,为了保证已有点播用户的服务质量,系统会暂时拒绝更多用户 点播这个节目。同时系统会将这个节目复制到更多的媒体服务器上,复制完成 后,就可以响应更多用户的点播这个节目。 4 1 2 规模可变能力 分布式视频点播系统常常面临不可知的用户数目,点播用户的数目是根据 实际需求变化的。但是,点播用户数的变化通常没有规律。所以分靠式视频点 播系统特别需要具有规模可变能力,以避免重复投资。一个设计优良的分布式 视频点播系统可以按照一种有序的增长方式以适应实际需求的无序增长。增长 计划可能包括增加新的媒体服务器、添加附加的数据库存储量或调整节目的位 置。分布式视频点播系统也可以根据处理要求的减少而按比例缩减,以节约使 用成本。 资源使用量和处理量之间的关系很重要。理想情况下,资源需求应随着处 理量的增加而线性增长;如果完成处理量为n 的任务,需要某个特定资源的数 量为r ,那么最好情况下有r = k n ,其中k 为某个常数。如果对某个资源有r = k n 2 或更糟糕,那么该程序的规模可变能力就存在危险。在这些情况下,可以通过 并行处理来增加系统的规模可变能力。例如如果处理任务分布在应用程序的三 个实例中,那么三个实例的资源使用量( a 2 + b 2 + c 2 ) 就会少于单个实例的资源使用 量:( a + b + c ) 2 。 分布式视频点播系统规模扩大时,系统需要额外的资源来协调各个服务器 之间的关系,包括自动调度和复制节目等,因此系统对资源的需求r 与支持并 发用户数n 的关系介于r = k n 到r = k n 2 之间。采购分布式媒体服务器时,应该在 性价比相差不大的情况下,使用性能最好的服务器。 4 1 3 可维护性 业务规则的改变会导致软件的改变,例如分布式视频点播系统的收费策略 经常会改变,有时候还需要添加功能以支持新的媒体格式等。一个设计优良的 分布式视频点播系统,对业务需求的某个改变应该只导致对单个组件的更新。 一个完整的分布式视频点播系统必须进行初始系统配置,处理后续操作和分布 第四章分布式系统的设计及对视频点播系统的影响 更新。当组件的分布范围越广时,分布更新变得越难以协调。基于组件的设计 方法是保证长期可维护性的最佳方法。 设计系统,划分服务器与客户端的任务时,需要考虑的另一个重要因素是 系统将来的升级能力。如果在客户机器上放置一些组件,那么当需要对软件进 行改动时,就要求升级每台客户机器。例如,如果决定每台机器都需要有处理 某个任务的组件,就需要在每台机器上下载和安装这个组件。如果后来这个组 件不符合要求并需要改动时,则需要再次在每台客户计算机上安装这个组件。 如果这个组件放在服务器。则每次更新仅仅需要在服务器上升级这个组件。一 般情况下,验证用户输入数据与简单的处理和显示在客户端实现:访问存储在 服务器上的数据库、文件,密码验证,采用机密算法对数据进行处理等任务一 般在服务器端实现。 4 1 4 安全性 因为分布式视频点播系统跨越不同的计算机,所以安全性变得更加重要, 也更加复杂。同时,不同的用户对于点播系统有不同的优先权和不同的期望值。 系统中各个组件需要相互协同工作,用户也会访问服务组件,这些都需要组件 能够识别连接者的身份,提供服务或者拒绝提供服务。 大多数分布式视频点播系统的服务是有偿服务,系统需要记录用户点播的 身份、时间、流量、节目等信息,以实现正确的收费管理。最好在服务器上完 成某些处理工作。任何需要进行密码验证的工作都必须在服务器上完成。在客 户上进行密码验证是不实际、不安全的。另外,服务器为存储敏感的用户数据 和重要文件提供了物理上安全的位置。将服务器隔离在一个安全的位置比隔离 许多客户机器容易得多。 4 1 5 可靠性及其测试 分布式视频点播系统中的组件不仅要处理本地故障,还要处理远程组件中 的故障。潜在错误的数量以组合方式增长。一个设计优良的分布式视频点播系 统必须在出现错误事件后平稳降级,将错误控制在本地范围内,而不使它传递 到系统的其他部分;最佳的分布式视频点播系统必须能够从错误中自动恢复。 商业分布式视频点播系统般必须一周七天、一天二十四小时都可用,不 能间断,这就要求进行比一般应用程序彻底得多的设计。首先,必须找到某些 方法来维护系统;例如怎样修补和更新组件、安装新资源、整理磁盘空间碎片 等等。第二,必须保证系统要求的资源( 数据库、路由器、电路等) 都可用且 不能间断。 基十c o r b a 的分布直桃频点播系统的研究与垃汁 要想进行有效的管理,分布式视频点播系统可以采取持续错误通知策略。 例如,所有组件可能共享某个公共的r 志文件。w i n d o w s n t 和w i n d o w s 9 5 9 8 的 e v e n tl o g ( 事件同志) 是进行错误通知的一个好方法。 分布式视频点播系统的质量保证( q a ) 比传统应用程序更复杂。测试分布 式视频点播系统比测试一个整体的应用程序困难得多。有效的质量保证要求在 开发过程的最早期阶段就考虑质量保证的问题。基于组件模型的分布式视频点 播系统,将系统各部分之间的功能清晰的分开,可以提高这个系统的可靠性。 有效的测试要求有一个并行的测试环境,它能和实际应用环境匹配得尽可能紧 密。 4 2 分布式视频点播系统的基本设计过程 设计分布式视频点播系统的第一步是识别视频点播系统的业务目标和系统 操作时必须遵循的约束、需求。当初始要求都清楚了后,设计过程应包括以下 几步: 建立业务对象和它们之间的交互模型。 定义服务和接口。 _ 识别业务对象和服务之间的独立性。 j 将应用程序分成组件。 将组件作为目标放在平台上。 这个过程会重复进行:在某一阶段作出的决定会要求对另一个更早阶段进 行改动。 4 2 1 建立业务对象和它们之间的交互模型 这一阶段的设计目标是详细设计分布式视频点播系统将要实现的服务,一 个服务的详细定义基本上是一个功能定义,包括功能名、参数的详细定义和可 能的返回值。对象模型在设计过程中不断进化。当后续步骤使需求改变或变得 更清晰时模型将会改变。 4 2 2 定义服务和接口 这一阶段的设计目标是详细设计分布式视频点播系统调用服务的方式。服 务的调用细节就构成了服务的接口。一个接口的详细定义基本上是一个函数定 义,包括函数名、参数的详细定义和可能的返回值,以及调用服务的任何先决 条件。 第叫章分布式系统的殴计厦对视频点播系统的影响 这一阶段的设计非常有利于查找可重用的机会,常常会发现重要的业务逻 辑已经在以前的一个项目中实现了。组件重用意味着二进制代码的重用。这时 可以将已有的组件加到新应用程序中而不必要访问源代码。 4 2 3 识别业务对象和服务之间的独立性 软件组件之间的关系为耦合性,而组件内部之间的关系为内聚性。一般说 来,内聚性比较好,耦合性就不是很好。但是,一定程度的耦合是不可避免的, 所以对内聚性规定一个合理的目标要比对耦合性定一个目标强得多。 业务对象和服务之间的关系有不同的形式。识别关系的最佳工具是对象模 型。对象之间的关系表现为集合、联合、一般或独立关系。 4 2 4 将分布式视频点播系统分成组件 将分布式视频点播系统分成几部分是设计过程中最具有挑战性的工作,必 须考虑和权衡对象边界、层次划分、独立和配置问题。下面是一些指导思想: 在用户界面层中实现最小的服务。一个最小化用户界面层可以容易的在 一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论