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

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

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

文档简介

华中科技大学硕士学位论文 摘要 尸皑,z ,额葫蠹i 虱v o d + v i d e o 一0 1 二1d e m a n d 旁系统不同于一般的计算机网络应用,其交互 视频点播( , 一一 2 系统不i 司于一般的计算机恻耋吾胜用,共父且 一k ,。 ,一一 厂性是非对称的。服务器要向终端实时传送大量的视频青频数据,终端向服务器传送少 i 量的请求信号,因此对服务器性能有很高的要求。 、一通迂两芬孑i ;西服雾磊磊;i 询系统涉及的诸多关键技术的研究,很好地解决了通过对分布式多服务器结构少系统涉及的诸多关键技术的研究,很好地解决7 诸如负载平衡、可扩展性、安全性能等方面的问题。 分布式v o d 系统需要底层分布式模型的支持,以c o r b a 作为基本的通信设施,建 立了一个分布式多服务器结构v o d 系统的体系结构,提供了一个系统实现的雏形。分 析了视频文件在多个服务节点上的分条存储策略并在传统的基于w e b c g i 的存储管 理模型的基础上,建立了基于w e b c o r b a 的r o d 系统管理模型。结合视频数据的服务 调度算法和视频文件的存储策略,改进了服务器推动调度算法,降低了对客户缓冲区 的要求,提高了系统的响应速度。由于分布式存储将文件分块存储于网络各个服务节 点上,其存储的各种管理均由动态组件实现,因此对系统容错和安全性能的要求就很 高。针对这一情况,采用了奇偶校验纠错等方法实现了系统的容错要求,并且采用动 态可配置的安全策略给系统的安全提供了较大的灵活性。这特别适合于分布式v o d 系统的动态变化特性。 对v o d 系统的访问目前主要是采用机顶盒作为访问终端,在机顶盒硬件技术不断 提高,嵌入式系统软件相对滞后的情况下,提出了作为机顶盒核心软件的嵌入式浏览 器的详细设计, 关键词:视频点播;对象请求代理:分布式存储;机顶盒 华中科技大学硕士学位论文 a b s t r a c t u n li k et h e g e n e r a l n e t w o r k a p p li c a t i o n s ,t h e i n t e r a c t i o no f v i d e o o n d e m a n d ( v o d ) s y s t e mi sa s y m m e t r i c t h es e r v e rs h o u l dp r o v i d em a s s o fr e a l t i m ed a t at ot h ec l i e n t sw i t h1 i t t l eo fr e q u e s ts i g n a ls e n tb a c k a 1 l r e s u l ti nt h eh i g hr e q u i r e m e n to ft h ep e r f o r m a n c eo fv o ds e r v e r m a n yk e yt e c h n o l o g i e so ft h ed i s t r i b u t e dm u l t i s e r v e rv o ds y s t e ma r e s t u d i e da n dt h ep r o b l e m s ,s u c ha sl o a db a l a n c e ,s c a l a b i l i t y ,c o n f i g u r a t i o n , m a n a g e m e n t ,s e c u r i t y ,a r es o l v e dp r o p e r l y ad i s t r i b u t e dm u l t i s e r v e rv o ds y s t e ma r c b i t e c t u r ei s p r e s e n t e du s i n g c o r b aa st h ec o m m u n i c a t i o ni n f r a s t r u c t u r e t h e s t r i p p i n gp o l i c y o f d i s t r i b u t e ds t o r a g ei sa l s os t u d i e da n dan e ww e b c o r b a b a s e dv o d s y s t e m m a n a g e m e n t m o d e li s p r e s e n t e db a s e d o nt h et r a d i t i o n a l w e b c g i s t o r a g e m a n a g e m e n tm o d e l w i t ht h eh e l po f s t o r a g ep o l i c ys t u d y ,t h es c h e d u l e a l g o r i t h mi sp r o m o t e dw i t hf e w e rb u f f e r so fc l i e n tr e q u i r e da n dl e s ss y s t e m r e s p o n s et i m e a st h er e s u l to fh i g hr e q u i r e m e n to ft e l i a b i l i t ya n ds e c u r i t y , s o m ec o d i n ga l g o r i t h m sa r ee m p l o y e df o rt h ed a t ar e c o v e r ya n dac o n f i g u r a b l e s e c u r i t yp o l i c yi si n t r o d u c e dt ot h es y s t e m t h ed e s i g no ft h ec l i e n tf o rv o d a c c e s si sa l s oi n v o l v e d t h ec o n c e n t r a t i 。n i so nt h ee m b e d d e ds o f t w a r es y s t e mf o rs e t t o pb o x ,w h i c hi s p o p u l a rf o rv o d s y s t e m t h ed e t a i i sf o rd e v e l o p i n ge m b e d d e db r o w s e ra r ea l s op r e s e n t e d k e yw o r d s :v i f l e e o n d e m a n d ;o b j e c tr e q u e s tb r o k e r ;d i s t r i b u t e ds t o r a g e ; s e t t o pb o x 华中科技大学硕士学位论文 1 1 课题背景 1 绪论 本课题来源于与香港e h o m e t v 公司合作的项目“b r o w s e r 汉化及升级”。该项目 重点研发作为机顶盒核心软件的嵌入式浏览器,作为该项目的子项目本课题主要是研 究分布式v o d 系统,并以机顶盒作为基本的访问终端。 视频点播( v o d ,v i d e o - o n - d e m a n d ) 系统。是计算机网络技术、通信技术、多媒 体信息处理技术、分布计算技术、数据压缩技术等众多技术相互结合的产物。它将远 程视频服务器上的媒体信息,通过计算机网络或其它通信设旖传送到本地的媒体处理 器或媒体终端上,用户可以在电视机或p c 上随意点播自己喜爱的视频节目,并可以 控制节目的暂停、快进、倒退、循环等,就像控制家里的v c d 一样方便,打破了传统 电视只能进行广播的局限,增强了用户的主动性,其应用已涉及相当多的领域,如娱 乐、教育、办公、新闻、出版等。随着宽带接入技术和机顶盒技术的成熟,v o d 系统 必将逐步得到普及,其市场前景十分广阔。5 。 v o d 不同于一般的计算机网络应用,其交互性是非对称的。服务器要向终端实时 传送大量的视频音频数据,终端向服务器传送少量的请求信号,因此对服务器的性能 提出了许多新的要求“。 本课题研究分布式v o d 系统涉及的诸多关键技术( 如:分布式存储、存储管理、 服务调度算法等) ,解决当前v o d 系统在负载平衡、1 1 0 瓶颈、可扩展性、配置管理 以及v o d 系统机顶盒访问终端等方面的问题。 1 2 国内外概况 当前v o d 系统主要有两大类。:,一种是单服务器结构 1 ,这一结构最突出的优点 是实现和管理简单,服务器可采用普通的p c ,也可采用功能较强的小型机,有的还 采用离性能的并行计算机。但是,单服务器结构的v o d 系统存在着许多很难克服的缺 陷。其中最突出的一点是可扩展性,当客户需求超出系统容限( c p u 处理能力、存储 华中科技大学硕士学位论文 容量、网络带宽等) 时需要将数据备份到新的服务器上,开销非常大。另外,如果服 务器出现故障将会影响整个v o d 系统的运行,容错性能很低:另外一种是分布式多服 务器结构州,与单服务器结构的v o d 系统不同,视频文件将被拆分存储于不同的服 务器上,客户端播放一个视频文件将与多个服务器交互,避免了服务端的网络带宽瓶 颈、i o 瓶颈等,服务端可以很容易的得到扩展,而且某个服务器的故障不会影响整 个系统的运行。 对v o d 系统的研究主要集中在分布式多服务器结构的v o d 系统上。从理论上讲, 理想的分布式多服务器结构v o d 系统要解决以下几个关键问题: ( 1 ) 为视频播放提供不同的q o s 。由于不同的用户会根据应用的需求、网络负 载、配置环境等需要不同的播放速率,v o d 系统应该满足这一需求。 ( 2 ) 克服热点影片的点播问题。由于某些影片在一段时期内可能很流行,点播 率很高,v o d 系统要解决这种热点影片的点播问题。 ( 3 ) 保持负载平衡。v o d 系统中的每个服务器应该尽量的平均分配任务,避免 一些服务器负载过重而另一些却空闲的情况。 ( 4 ) 有容错能力。v o d 系统中某些服务器可能会因为软件或硬件的故障而不能 工作,v o d 系统应该能够在不影响客户端的情况下,将故障服务器上执行的任务转移 到正常工作的服务器上。 ( 5 ) 存储空间的有效利用。v o d 系统中一般都存储着大量的影片,当然要尽可 能的有效利用存储空间。当前存储器的容量不断增大,其价格不断降低,这一问题已 不是很重要。 ( 6 ) 容易维护。v o d 系统投入使用后,其中的视频文件将随时更新,某些服务 器可能从系统中删除,又有可能加入新的服务器,因此要求系统具有可扩展性。系统 还可以不时的加入新的影片删除过旧的影片,这些过程中都要尽量不影响其服务。 当前的v o d 系统中不管是单服务器多磁盘或是分布式多服务器多磁盘大多采用 了分条策略“”“。分条策略又可以分为两种类型,一种是空间分条,一种是时间分条。 在采用空间分条的系统中,文件被分割为大小相同的块。每个文件被分条放置到每个 磁盘和每个通道上,从而达到绝对的负载平衡、恒位速率( c b r ,c o n s t a n tb i tr a t e ) 传输。系统还通过镜像来提高容错能力。这种系统的最突出的弱点是不同的用户不能 2 慧 华中科技大学硕士学位论文 具有不同的q o s ,另外系统的可扩展性不好,很难增加新的服务器和视频文件,容错 性能也十分有限。采用时间分条的例子很多“。“,时间分条的机制与空间分条类似, 只不过时间分条是以时间单元或帧为单位来分条的,每一个分条单元具有相同的播放 时间,这样系统对于用m p e g l 或m p e g 一2 压缩的视频文件可以提供恒帧速率,变位速 率( v b r ,v a r i a b l eb i tr a t e ) 传输和有限的q o s 服务,但这种结构很容易导致负载 不平衡。这两种分条策略的共同缺点在于当需要增加或删除服务器时将改变所有数据 的存储。 分布式多服务器结构的v o d 系统需要底层分布式系统模型的支持,分布式系统模 型。“”3 将j 立用程序的各种功能以对象的形式表现,每个对象可以使用本系统中其它对 象提供的任何功能,甚至使用其它系统中的对象。这种体系结构使得“客户机”和“服 务器”变得模糊,因为客户端组件也可以创建对象提供服务。分布式系统模型为系统 提供了无限的灵活性。 分布式系统模型通过定义特定的组件接口来实现其灵活性。组件接口规定了该组 件可以为其它组件提供的服务和如何提供服务。只要保持组件接口不变,组件实现如 何改变将不会影响到应用程序中的其它组件。 分布式系统模型中的服务器和客户机的数量可以十分巨大,是真正的多层客户机 服务器系统。分布式系统模型提供了一些额外的服务,如目录服务,通过目录服务 应用程序各个组件之间可以相互查找、定位;又如事务监控服务,允许各种组件共同 完成某一事务。 随着分布式技术日益走向成熟,特别是c o r b a 。= “19 。标准的制定和完善,为研究和 开发分布式v o d 系统开辟了一条新的途径。 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 ) 标准”+ 是由对象管理组 织( o m g ,o b j e c t a n a g e m e n tg r o u p ,h t t p :w w o m g o r g ) 制定的。对象管理组织 成立于1 9 8 9 年,现已拥有包括生产厂商、软件开发商及用户等8 0 0 多个成员,其目 的是在分布式异构计算机环境下为应用软件的开发提供一个公共的框架,使开发的软 件既面向对象又具有可重用性、可移植性及可互操作等特点。为实现这一目标,对象 管理组织制定了对象管理体系结构( o m a ,o b j e c tf a n a g e m e n ta r c h i t e c t u r e ) ,它 为应用程序开发提供了一个公共的体系结构框架。简单的讲,对象管理体系结构包括 华中科技大学硕士学位论文 了对象;青求代理( o r b ,o b j e c tr e q u e s t b r o k e r ) ,对象服务( c o r b a s e r v i c e s ) , 公共工具( c o r b a f a c i l i t i e s ) ,域接口和应用程序对象,c o r b a 实际在对象管理体 系结构中实现了对象请求代理( o r b ) 。 对象管理组织于1 9 9 0 年1 2 月发布了c o r b a1 0 ,1 9 9 1 年初发布了c o r b a 1 1 并定义了接口定义语言( i d l ,i n t e r f a c e d e f i n i t i o nl a n g u a g e ) 以及应用程序与对 象请求代理通信的接口。c o r b a1 x 为分布于不同地点、不同体系结构的主机上运行 的用不同语言写的应用程序对象之间进行互操作迈出了重要一步。c o r b a2 0 于1 9 9 4 年1 2 月发布,c o r b a2 0 的主要目的是制定不同商家对象请求代理之间通信的标准 协议,即i l o p ( i n t e r n e ti n t e r - o r bp r o t o c 0 1 ) 。i i o p 实现了所有符合c o r b a2 0 的不同商家的软件的互操作,使得符合c o r b a2 0 的软件更加独立于特定的商家。1 9 9 7 年9 月,对象管理组织又发布了c o r b a2 1 ,1 9 9 8 年又发布了2 2 ,2 3 。c o r b a2 4 和c o r b a2 5 分别在2 0 0 0 年1 0 月和2 0 0 1 年9 月发布。c o r b a3 0 的正式文档也即 将问世,c o r b a3 0 将在许多方面带来新的变革。“。 目前,除了c o r b a 以外还有其它一些流行的分布式系统模型,如:远程过程调用 ( r p c ) 、j a v a 远程方法调用( r m i ) 、微软的d c o m 等。这些分布式模型都有各自的 优点。远程过程调用在效率上是其它分布式模型不可比的,d c o m 在w i n d o w s 平台上 的良好表现也是其它分布式模型不可替代的“。2 “,j a v a 远程方法调用在一些全j a v a 解决方案中,其它分布式模型也不能胜任2 ,o s f 分布式计算环境。“在许多方面作为 了其它分布式模型的参考,c o r b a 在其标准化以及异构环境下的优势也是独有的。在 构建分布式v o d 系统中,选择c o r b a 作为分布式v o d 系统各个组件的构成模型和组件 之间的基础通信设施,主要有以下一些原因: ( 1 ) 分布式v o d 系统是一个构成组件众多,交互复杂的系统,用远程过程调用 ( r p c ) 其系统模型构造复杂,组件交互的复杂性更是很难控制。 ( 2 ) 分布式v o d 系统各个组件应根据不同的系统平台选用相适应的语言实现, 采用适用全j a v a 解决方案的j a v a 远程方法调用显然不太适合,而且j a v a 在实现上 存在效率问题,而这一点又是分布式v o d 系统中保证实时性的关键。 ( 3 ) d c o m 在许多方面与c o r b a 相似,但是d c o m 一般来讲只适合于全w i n d o w s 平台的解决方案。对于分布式v o d 系统中的许多组件并不太适合于运行在w i n d o w s 4 华中科技大学硕士学位论文 平台。 本课题正是要发挥基于c o r b a 的分布式技术在异构网络环境下互操作性、可扩展 性等方面的优势,研究在容错性能、负载平衡、扩展性、易维护性等方面具有突出优 点的多服务器结构的并行r o d 系统。与传统的v o d 系统相比,其优势具体表现在以下 几个方面: ( 1 ) 分布式存储。采用分布式存储技术,将单个视频文件分条存储于多个不同 的服务器,最大限度的平衡各个服务节点的负载( 存储负载、网络带宽及i o 等) 。 ( 2 ) 消除了带宽瓶颈。将客户端的访问分布于各个服务节点,不存在由于某些 节目的访问增加导致访问集中于某一服务器的问题。 ( 3 ) 配置简单。系统实际上是一个高速以太网,软件系统将自动进行其它配置。 ( 4 ) 扩展性强。不管是从网络带宽或是从存储容量上的扩展只不过是进行服务 节点的增加,软件配置将自动进行。扩展工作可在不间断服务的情况下进行。 ( 5 ) 容错性能好。即使系统中的某些服务节点出了问题将不会对服务质量有太 大影响,修复工作可在不问断服务的情况下进行。 1 ,3 课题主要研究工作 本课题将以普通p c 构成分布式多服务器结构的v o d 系统,充分利用整体网络带 宽、存储容量及容错性能等,提供优质的v o d 服务。它将打破当前v o d 服务在用户数 目、服务质量等方面远不能满足需求的局面,因此本课题将从以下几个方面进行研究: ( 1 ) 以c o r b a 作为基本的通信设施,提出一个易于实现的分布式多服务器结构 v o d 系统的体系结构。 ( 2 ) 以c o r b a 接口描述语言( i d l ) 为工具对构成分布式v o d 系统的各种软件组 件进行接口规范,从而定义各个组件。 ( 3 ) 研究多服务器下,视频文件的存储策略,管理模型,安全策略等。 ( 4 ) 研究v o d 系统的服务模型,主要研究视频数据的服务调度算法,以达到系 统服务的最优化。 ( 5 ) 研究v o d 系统的访问终端,特别是基于机顶盒的访问,探讨机项盒设计的 5 华中科技大学硕士学位论文 关键技术,特别是机顶盒的核心嵌入式浏览器的设计。 6 华中科技大学硕士学位论文 2 系统总体结构 本部分描述系统总体结构的设计,根据分布式系统设计的特点,用c o r b a 接口定 义语言( i d l ) 规范构成系统的组件接口和必要的数据结构,从而给出系统实现的总 t 体框架。本部分还要解决分布式存储和r o d 系统管理方面的问题。 2 1 硬件环境的构成 本文研究的分布式v o d 系统。2 ”是由多个相互独立的服务器通过网络互连而成,结 构如图2 1 ,交互网络可以是由交换机连结的以太网或高速a t m 网络。每个服务器有 独立的c p u 、内存、外存储器以及网络接口,都运行有独立的操作系统,而且操作系 统可以不相同。使用这种相互独立的服务器结构可以确保系统的可扩展性不受系统资 源内容的限制,而且某个服务节点的错误不会影响到其它节点,从而保证整个系统不 受某个服务节点的影响,系统的容错性能很强。 服务器lj 服务器2 - 服务器s n j 一 _ 网络+ 一 、,。,。一 图2 1 分布式v o d 系统的硬件环境 ! 一 客户端c n 多个服务器( 服务器可由普通p c 构成) 通过网络互连形成一个整体,视频文件 将被拆分存储于这些服务器上。客户端( 客户端可以是p c ,大多数情况下是能够提 供媒体播放功能的机顶盒) 通过与多个服务器交互获得一个完整的视频流。系统服务 模型如图2 2 所示,服务节点与客户实际是个多对多的连接,服务器的分条策略以 及服务模型将在论文的后面进行分析。 7 立立 华中科技大学硕士学位论文 分条 2 2 软件组件的构成 2 2 1l d l 语言描述 图2 2 分布式v o d 服务模型 软件环境是整个分布式r o d 系统的关键,图2 3 是系统的基本结构。它是由运行 于不同服务节点的组件( 媒体播放组件在客户端运行) 构成。组件是一组相关对象的 集合,是以二进制代码的方式提供给系统的,因此其实现和接口是完全分离的。这也 是典型分布式模型系统设计的特点,即:基于接口的设计。某一组件的接口采用某种 描述形式确定,这一接口将不能改变,接口通过u u i d 或g u i d 唯一标识,这样以保证 系统的稳定性。 用c o r b a 接口定义语言( i d l ) 定义系统各个组件可以清晰的规范系统各个组件 可以提供的服务,并且对接口定义语言定义的组件进行编译便可得到系统实现的基本 框架。实际上,利用接口定义语言可以将系统的具体实现进行抽象,以简化复杂系统 的结构。接口定义语言定义的语法类似于c + + 的语法,它支持c + + 中的基本数据类型。 由于c o r a b 中的对象是通过引用访问的,所以接口定义语言不支持指针。接口定义语 言采用m o d u l e 关键字定义模块,用i n t e r f a c e 关键字定义接口。具体语法可参看 c o r b a 规范。 8 华中科技大学硕士学位论文 c o r b a 对象请求代理( o r b ) 图2 3 软件组件基本结构 2 2 2 用户管理组件 用户管理组件负责账户管理、用户授权等。以下用接口定义语言描述用户组件。 用户组件将受控于安全策略组件,一旦用户组件在某一服务节点上运行,这个服务节 点将首先运行安全策略组件用策略装载器转载合适的安全措旌。然后由安全策略组件 授权用户组件访问用户数据库。 m o d u l ed v o d t y p e d e fu n s i g n e dl o n gt _ u l o n g : e n u me r r o r n o ! u s e r _ a l r e a d y e x i s t , e r r o r u s e r _ l e v e l ,u s e r n o t e x i s t : t y p e d e ft _ u l o n gtv o d l e v e l : t y p e d e fs t r u c tu s e rf s t r i n gn a m e : s t r i n gp a s s w o r d : t v o d l e v e ll e v e l : t u s e r : in t e r f a c eu s e r m g r e r r o 戤o c r e a t e u s e r ( i n o 叭t _ u s e r u s e r ) : e r r o r n od e l e t e u s e r ( i nt _ u s e r u s e r ) : 9 华中科技大学硕士学位论文 e r r o r n oc h a n g e a tt r i ( i n o u tt _ u s e r u s e r ) : 2 2 3 安全策略组件 由分布式组件构成的环境有两个重要特征: ( 1 ) 它们是动态的。如,组件可以 运行于网络中的任意主机,主机上的资源会随时变化。( 2 ) 它们是不可预测的。如, 管理员可能事先并不知道迁移到他们主机上的组件。主机上没有管理的固定资源集。 由于不同的资源组件和组件可能需要不同级别的保护,安全模型必须支持精密的访问 控制。 分布式组件构成的环境中需要动态可重配置的安全策略,尤其是在v o d 这样的大 型分布式系统中,各个服务组件运行于不同的主机上,特别是利用c o r b a 作为基本的 通信设施,某些组件( 目录管理组件、存储服务组件等) 的分布位置是可动态变化的, 而且同时可能有多个相同功能的组件运行,因此系统的安全显得很难控制。这里采用 了动态可重配置的安全策略,安全策略组件通过策略装载器随着环境的变化动态的装 载安全控制措施,这部分将在本文的分布式v o d 系统的安全技术中详细描述。 2 2 4 注册服务、存储服务与目录服务组件 注册服务、存储服务与目录服务组件是整个系统软件环境的核心,它组成了一个 简单的伪分布式网络文件系统“”“1 ,它不是真正的文件系统而是针对v o d 服务及一些 特殊算法的文件系统,它建立在本地操作系统文件系统之上,实际是运行于本地操作 系统之上的一组对象。注册服务组件提供了服务节点的注册服务,这样便于对所有服 务节点进行统一的管理。存储服务组件负责对服务器上运行的文件系统封装以提供一 个统一的文件读写接口。目录服务组件负责提供视频文件的拆分存储信息,这一信息 主要包括文件完整名称、访问权限、文件大小和以服务节点的编号与存储的块的块号 组成的一个链表。客户端通过这些信息将从各个不同服务器上获得的视频文件块重组 1 0 华中科技大学硕士学位论文 为一个完整而有序的视频流。这三个组件是整个系统软件环境的核心。 组件m r e g i s t e r c e n t e r 提供了服务节点的注册服务,这样便于对所有服务节点 进行统一的管理。当系统需要扩展时,新加入的服务节点运行文件服务组件,这一组 件首先访问注册服务获得该服务节点的系统范围内的唯一名称,然后注册该名称表示 这个服务节点已经运行。当系统中的某个服务节点需要解除时,也是访问注册服务器 取消注册,如果是要彻底删除该服务节点,还要把该服务节点的信息重新存储到其它 服务节点上。客户需要访问服务节点存储服务前,也要使用注册服务确定当前服务节 点是否已经正常运行。注册服务组件还要定时访问各个服务节点以确定该服务节点正 常运行。如果某个服务节点在没有取消注册的情况下崩溃,系统也可以通过注册服务 组件检测到。 # d e f i n e 姒l r e g i s t e rn u 3 1 b e r1 0 0 0 0 0 m o d u l em r e g i s t e r _ c e n t e r , t y p e d e fe n u mp o as t a t u s n o t e x i s t , s t i l l ,a c t i v e ,u s e d t p o a s t a t u s : t y p e d e fs t r u c tp o a i n f o s t r i n gf l a m e ; p o a s t a t u ss t a t u s : ) tp o a i n f o : i n t e r f a c ei r e g i s t e r p o a - s t a t u sr e g i s t e r ( o u ts t r i n gp o a n a m e ) : p o as t a t u su n r e g i s t e r ( i n s t r i n gp o m :a m e ) : p o as t a t u sl o g i n ( i ns t r i n gp o a n a m e ) : p o a _ s t a t u sl o g o u t ( i ns t r i n gp o k n a m e ) : p o as t a t u sg e t p o a ( i n o u tu n s i g n e d l o n gb u m , o u t s t r i n gp o a n a m e ) : p o a s t a t u sr e t u r n p o a ( i ns t r i n gp o a n a m e ) : 1 1 华中科技大学硕士学位论文 v 。i dq u e r y p o a s0 : f : 组件m l o w o p 提供了对本地文件系统的封装,提供了一般化的存储操作。该模块 提供了读一块、写一块和删除一块的操作,这一组件是唯一不能动态迁移的组件。每 个服务节点上都必须运行至少一个这样的组件,以保证该服务节点提供存储服务。 # d e f i n em i n b l o c ks i z e ( 1 0 0 1 0 2 4 ) m o d u l em l o w o p t y p e d e fo c t e ttb l o c k m i nb l o c ks i z e : t y p e d e fs t r u c tn o d e l n f o u n s z g n e ds h o r ts i z e : u n s l g n e dl o n g n u m b e r : u n s l g n e dl o n gt o t a l b l o c k : u n s l g n e dl o n gf r e e b l o c k : u n s l g n e dl o n gb l o c k s i z e : u n s z 一:n e d l o n gr e s e r v e d 4 : jt _ n o d e i n f o : i n t e r f a c e1 0 p b o o l e a ng e t n o d e l n f o ( o u tt - n o d e _ i n f oi n f o ) : b o o l e a ns e t n o d e l n f o ( i nt n o d e i n f oi n f o ) : b o o l e a nf r e e a b l o c k ( i nu n s i g n e dl o n gb l o c k n u m ) : b o o l e a nr e a d a b l o c k ( i nu n s i g n e dl o n gb l o c k n u m , o u tt _ b l o c kd a t a ) : b o o l e a nw r i t e a b l o c k ( o u tu n s i g n e dl o n gb l o c k n u m , i nt - b l 0 c kd a t a ) : : : 组件d s t o r e 提供了目录服务,客户通过这个接口获取视频文件的存储位置信息。 华中科技大学硕士学位论文 该组件提供了视频文件存储的分布式目录信息。其主要数据结构是s t r u c t f i l ei n f o ,这一结构包括了文件的基本属性如文件名和大小,还有视频文件的特别 属性,如视频的类型。除了这些属性信息外,最主要的是用于检索的结构 s t o r ei n f o ,这结构包含了服务节点的系统内唯一名称和块号,客户或是管理软 件通过服务名称来定位存储组件,从而访问实际数据。这一组件的服务必须通过安全 策略组件授权,以保证信息访问的合法性。这一组件可以动态迁移,也就是说它并不 运行于固定的服务节点上,而且同时可以有多个这样的相同组件在同一时刻运行,因 此其数据库的一致性就显得特别重要。这一数据库是全局唯一的,因此在访问时需要 锁定信息。 m o d u l ed s t o r e : t y p e d e fu n s i g n e dl o n gu l o n g : t y p e d e fs t r u c t s t o r e _ i n f o s t r i n gs t r p o m n a m e : u l o gu l b l o c 心i i m : ts t o r e i n f o ; t y p e d e fs e q u e n c e t _ s t o r e i n f o s e q t y d e d e fs t r u c t f il e i n f o s t r i n gs t r f n a m e : u l o n g u l l e n g t h : u l o n g u l t y p e : s t r i n gs t r o t h e r : t - s t o r e i n f 0 _ s e qs s t o r e i n f o : t _ f i l e i n f o : i n t e r f a c ei s t o r e u l o ! y gs t o r e ( i nl f i l e - i n f of i n f o ) : u l o n gr e m o v e ( i nu l o n gf n u m ) : 1 3 华中科技大学硕士学位论文 u l o n gg e t ( i n o u tt _ f i l e i n f of f n f o ,i n u l o n gf n u m ) : : j : 媒体播放组件是在客户端运行的负责视频流的播放、快进、快退等,它一般是以 插件的形式在其它应用程序( 如:浏览器) 中运行a 为了提高系统的容错性能,在保证公共信息一致性的情况下,有多个相同服务组 件运行于不同的服务器上,这样可以保证当某些服务器崩溃时系统信息不会丢失,系 统服务不会终止。 系统执行过程为: ( 1 ) 客户端通过用户管理组件进行身份验证,获得适当的权限: ( 2 ) 客户端运行媒体播放程序从目录组件获得权限内的视频文件列表; ( 3 ) 媒体播放程序请求所需的视频文件,目录管理组件给出视频文件的存储信 息: ( 4 ) 媒体播放程序用存储信息通过文件服务组件获得所需的视频文件块,如果 视频文件块不存在,将试着从冗余信息中恢复,如果仍然失败将放弃读该块,读下一 块: ( 5 ) 媒体播放程序开始播放缓冲的视频文件块; ( 6 ) 媒体播放程序循环执行( 4 ) ,( 5 ) 直到播放完成。 2 3 视频文件的分布式存储 视频文件的分布式存储汹1 实际对应于目录组件、文件服务组件和存储服务组 件。这也构成了分布式v o d 系统的核心,这部分要解决的主要问题是:如何分条和如 何放置”。 一般来讲,分条的方法有两种即按时间分条和按空间分条。按时间分条就是将视 频文件视为一系列的有序帧,每一个分条含有整数倍帧。设媒体播放的速率为f 帧 秒,每一块含有l 帧,则播放一块需要l f 秒。这一方法常会产生负载不平衡的问题, 例如按m p e g i 压缩的视频流含有i 帧、p 帧和b 帧,i 帧含有较大的数据量,存储较 1 4 华中科技大学硕士学位论叉 多i 帧的服务器负载当然较重。采用空间分条的方法,分条的大小相同可以是几十 k b 也可以是几百k b ,大小要根据实际的系统环境( 主要是网络带宽和客户端缓冲区 的大小) 选择,过大将影响并行度,阻塞网络,缓冲区要求高;过小将使读盘过于频 繁增大读盘开销,控制信息多。这一方法实现较简单。 放置策略也有两种:循环放置与随机放置。循环放置就是将分条从第一个有剩余 空间的服务器放起依次放置到其它服务器,设服务器为s o s 4 ,视频文件的分条为 v o v 7 ,则通过循环放置,其存储分布为: s o v 0 v 5 s l v l v 6 s 2 v 2 v 7 s 3 v 3 s 4 v 4 分块v i 放置在s j 服务器上,其中j = im o dn s ,、s 为服务器的数目。很明显, 对任何i 0 ,则称解码滞后,数据将在客户机缓存,t 一, 0 ,则称解码提前,客 户机得不到数据处于等待状态。 接下来定义最大的解码滞后t 。和最大的解码提前t e ,以及这两个峰值的差t 瓦= m a x m 1 | 对任意i 0 ) = m m m ,i 对任意i 0 一= 瓦一疋 假定r 与t e 的边界己知,那么开始解码两个视频块v i 与v j ( i j ) 之间的间隔 时间t 满足式( 3 j ) 关系: m a x ( u f ) 丁去一) ,0 r ( j 一0 丁k + 式( 3 5 ) 在给客户端缓冲分配大小时就应充分考虑到这些变化。可使用一个大小为 l c = ( y + z ) ( 以q 个字节为单位) 的环形缓冲区。在播放前预先将视频数据填充到 前y 个缓冲内,以防止出现缓冲区下溢,待这y 个缓冲填满后再取出播放,后z 个缓 冲是为了接收将要到来的数据,防止缓冲区上溢。 因为n s 个服务器并发的向客户端发送数据,客户端将同时接受到n s 个视频块, 因此防下溢的缓冲大小y 一定是n s 的整数倍。我们可将每n s 个视频块作为一组( 从 第0 块到第n s 一1 块为组o ,从第n s 块到第2 n s - 1 块为组1 ,等等) ,并用y = y n s 来 表示缓冲所能容纳的组数。 假定在第一个周期内,所有的服务器中第一个发送数据的时刻为t 。,最后一个发 送的时刻为t o + 6 。因此,视频块组i 全部填充进客户端缓存的时刻f ( i ) 满足式( 3 6 ) 2 4 秘,“ 华中科技大学硕士学位论文 关系: ( ( f + 1 ) 耳+ f o + d ) sf ( f ) 蔓( ( f + 1 ) 耳+ f 。+ 巧+ d + ) 式( 36 ) 这里的d + ( d + o ) 与d 一( d _ o ) 分别用来表示发送时刻的正负偏差,这种偏差 由系统的一些随机性因素引起,如数据发送率的变化,c p u 调度的变化,总线的竞争 等。 当前y 个缓冲填满后客户端才开始播放视频流,因此组0 被解码播放的时刻为 t o = f ( y 1 1 ,那么组i 被播放的时刻p ( i ) 满足式( 3 7 ) 关系式: ( i n s t , , 增+ f ( y 一1 ) + 疋) p ( o i n s 7 k + f ( y i ) + t d 式( 3 7 ) 很明显,为了使视频连续播放,必须确保视频组在播放的最后期限前到达。因此, 在最坏的情况下,视频组最迟的到达时刻应该小于或等于它最早被播放的时刻,即: m a x f ( i ) ) m i n p ( i ) ) 式( 3 8 ) 根据式( 3 1 ) 和式( 3 3 ) ,可知n 。= 耳,式( 3 8 ) 左边为: m a x f ( ) ) = ( f + 1 ) t f + t o + m a x 6 ) + d + 又由式( 3 3 ) 式知占疋,可进一步得到: m 戕 f ( f ) ) = ( i + 1 ) r f + “+ 耳+ 矿 热9 ) = ( i + 2 ) 昂+ ,o + d + 同样式( 3 8 ) 右边为: m i n p ( i ) = 口7 0 + m i n f ( y 1 ) + 疋。 式( 3i o ) = f 耳+ y 耳+ t o 十d 一+ 乃 根据式( 3 8 ) ,式( 3 9 ) 和式( 3 1 0 ) ,可得到: ( i4 - 2 ) 巧+ f 04 - d + f 耳+ y 砟+ f o + d 一+ 疋 式( 3 1 1 ) 进而可求出y : ,22 + 生:二生:二圣 7 所以可得: 华中科技大学硕士学位论文 y :l2 + 生事生l 以 式( 31 2 ) 1 f 另外,需分配z 个缓冲防止视频数据上溢。因为客户端缓冲是一个环形缓冲,必 需保证至少有一个空白缓冲用来接受同时到达的n s 个视频块,这就要求第i 个视频 块组必须在第( f + 卜2 ) 个视频块组( ,= l c 虬) 全部填充到缓冲区之前开始播放,即 组( ,一2 ) 的最早到达时刻要大于或等于组i 最迟播放时刻: m i i l ( ,“+ ,一2 ) ) 2 m a x p ( ) 式( 3 1 3 ) 这样根据同样的方法可求出z : z :i2 + 生事盟k 式( 3 3 2 4 系统响应时间 系统响应时间忡“1 是指从客户请求新的视频对话到开始播放视频之间的时间间 隔,它包括两部分:调度延迟与预填充延迟。调度延迟是指从

温馨提示

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

最新文档

评论

0/150

提交评论