(计算机应用技术专业论文)基于p2p的流媒体视频教学平台技术研究.pdf_第1页
(计算机应用技术专业论文)基于p2p的流媒体视频教学平台技术研究.pdf_第2页
(计算机应用技术专业论文)基于p2p的流媒体视频教学平台技术研究.pdf_第3页
(计算机应用技术专业论文)基于p2p的流媒体视频教学平台技术研究.pdf_第4页
(计算机应用技术专业论文)基于p2p的流媒体视频教学平台技术研究.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(计算机应用技术专业论文)基于p2p的流媒体视频教学平台技术研究.pdf.pdf 免费下载

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

文档简介

西南科技大学硕士研究生学位论文第1 页 摘要 近两年来,流媒体技术在网络多媒体传输领域的应用越来越广泛。p 2 p 技术的引入也使流媒体摆脱了完全依靠单一服务器的模式,降低了网络带宽 占用率,提高了服务质量。涌现出了大量的结合p 2 p 与流媒体技术的应用, 特别是在网络电视领域得到了大量的应用 本文以基于p 2 p 和流媒体技术的虚拟教学平台为研究对象,以j x t a 框架、 j m f 作为实现手段,讨论分析了其设计、实现的相关问题与技术。对利用p 2 p 和流媒体来构建远程教学平台的关键技术进行了研究。 首先,采用了构建基于p 2 p 和流媒体系统的整体架构,给出了多种可能 的方案,并对它们进行了比较。 然后,详细讨论了建立和维护动态媒体播放树的设计思路。针对如何快 速地发现网络中的节点是否丢失,提出了一种基于改进的心跳策略和捎带传 输的混合式差错检测手段。此外,还讨论了在p 2 p 环境下穿越防火墙和n a t 的机制。 最后,通过j x t 与j m f 技术实现了一个基于p 2 p 和流媒体的远程教学平 台原型。 关键字:p 2 p 流媒体播放树j m fj x t 西南科技大学硕士研究生学位论文第1 i 页 a b s tt a c t r e c e n t l y , t h ea p p l i c a t i o no fs t r e a m i n gm e d i ai nt h et r a n s m i s s i o no fi n t e r n e t m u l t i m e d i ai sb e c o m i n gm o r ea n dm o r ep o p u l a r m o r e o v e r , t h ep 2 pt e c h n o l o g y m a k et h es t r e a m i n gm e d i ag e tr i do ft h em o d e l w h i c hc o m p l e t e l yr e l y0 1 1as i n g l e s e r v e r 、r e d u c et h eb a n d w i d t hc o n s u m i p t i o na n di m p r o v et h eq o s s om a n y a p p l i c a t i o n sw h i c h c o m b i n ep 2 pa n ds t r e a m i n gf l o w e do u t ,e s p e d a l l yi ni n t e r n e t t v + t h i 3 p a p e ri st a l k i n ga b o u t t h ev i r t u a le d u c a t i o np l a t f o r mb a s e d0 1 1p 2 pa n d s t r e a m i n gm e d i at e c h n o l o g y 、j x t af r a m e 、j m fi m p l e m e n tm e t h o d a n dt h e n d i s c u s st h et e c h n o l o g yo fd e s i g na n di m p l e m e n td e t a i l s d i s c u s st h ec r i t i c a l t e c h n o l o g y si np 2 pa n ds t r e a m i n gm e d i a f i r s t l y , t h i sp a p e rb u i l d e dt h ea r c h i t e c t u r eo ft h es y s t e mb a s e do np 2 pa n d s t r e a m i n g ,a n dt h e nb r i n gu pm a n yp o s s i b l ep r o p o s a l sa n dc o m p a r et h e s e m e t h o d s s e c o n d l y , d i s c u s st h ed e s i g no fc r e a t i n ga n dm a i n t a i n i n gd y n a m i cs t r e a m i n g t r e e i no r d e rt od e a lw i t ht h ep r o b l e m :h o wt of i n dw h e t h e rt h ep e e ri sl o s ti nt h e i n t e r n e ta ss o o na sp o s s i b l e ,t h i sp a p e rb r i n gu pam e t h o db a s e do na ni m p r o v e d h e a r t - b e a t i n gs t r a t e g ya n d a d m i x t u r ee i i o id e t e c t i o no fi n c i d e n t a l l yt r a n s m i s s i o n m e t h o d m o r e o v e r , d i s c u s st h et e c h n o l o g yw h i c hc a n c r o s st h ef i r ew a l la n d n a tr a v e r s a li np 2 pe n v i r o m e n t f i n a l l y , a c c o m p l i s hap r o t o t y p eo f p 2 p s t r e a m i n ge d u c a t i o ns y s t e mb a s e do n j x t a a n dj m f k e yw o r d s :p 2 p ;s t r e a m i n gm e d i a ;s t r e a m i n gt r e e ;j m f ;j x t a 独创性声明 本人声明所里交的论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得西南科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确 的说明并表示了谢意。 签名: 鲍乞 e l 期;州f , 关于论文使用和授权的说明 本人完全了解西南科技大学有关保留、使用学位论文的规定,即: 学校有权保留学位论文的复印件,允许该论文被查阅和借阅;学校可 以公布该论文的全部或部分内容,可以采用影印、缩印或其他复制手 段保存论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 鲍知 导师签名: e l 期:。川 西南科技大学硕士研究生学位论文第1 页 1 绪论 1 1 国内外现状 1 1 1 国外现状及存在的问题 在世界范围内,网络时代信息化社会的到来正一步步推动学校教育改革, 校园的围墙逐渐消失,学生在网络虚拟学校中学习的新型教育模式已悄然兴 起。目前美国有8 0 所大学允许通过远程教学修得学位,网上虚拟大学开出的 课程已覆盖了各个主要的学科领域。随着流媒体的引入出现了很多远程教育 平台。其中美国w e b c t 有限公司的“w e b c t 网络教学平台”、l u v i t 公司的“l u v i t ” 平台、美国b l a c k b o a r d 系统公司“b l a c k b o a r d 网络教学平台”都是国外比较 著名的远程教学平台,用户数量也在逐年增加。 但以上都是综合性的平台,虽拥有丰富的教学资源库,但是多采用中心 服务器模式,基于p 2 p 和流媒体的远程教育系统还非常稀少。2 0 0 6 年,被称为 p 2 p 流媒体应用的元年,出现了很多商用的p 2 p 流媒体软件,如s k y p e n 、t vk o o 但目前都还处于技术保密阶段,并且它们的应用领域目前主要是在网络电视、 电话及专用视频网站上,且整体结构采用n a p s t e r ”哪样的中心目录形式居 多。一些采用了新技术的产品如:a c t i v e 、c h i p s 、p 2 c a s t 、p r o m i s e 、 z i g z a g m ,、z e b r a w 等,目前还在试验和研究阶段。而“j e f ”是为数不多的 采用了j x t ap 2 p 架构的远程教育系统,但该系统目前仍处于开发阶段且不支 持流媒体通信。 , 1 1 2 国内现状及存在的问题 与西方发达国家相比国内的网络技术应用工作开展得相对较晚,但发展 非常迅速。我国普通高校从1 9 9 6 年开始,提出利用普通高校优势资源,开展 现代远程教育的设想;从1 9 9 9 年教育部批准清华大学等4 所高校开展现代远程 教育试点至今,我国已有6 7 所普通高校,设立了6 8 个网络教育机构。随着网 西南科技大学硕士研究生学位论文第2 页 络学院数量的增长,近2 0 0 个遍布全国各地的校外学习中心已经建立,网络教 育的数字化、网络化、交互性的特点正在日益凸显,网上教育正成为最重要 的教学模式之一。 国内出现了大量的远程教育平台软件大体可分为两类。一类是综合性 的平台,另一类是专用平台。 综合性平台的特点是面向整个教学环节,提供了与教学结合非常紧密的 的功能,如:课程学习、测验系统、资源中心、课堂讨论、在线交流、班级 管理。这类平台架构在普通i n t e r n e t 上,以c s 或b s 形式为学生和老师的教 学提供支持,平台构建方便,硬件投入少。其中不乏如:“网梯网络教学平台”、 。安博网络教学平台”这样的佼佼者。 但该类平台是以传统的w e b 应用和管理系统为技术基础,大多数时候是作 为一个教育资源中心,实时的视频及音频等功能不强甚至没有,视频传输多 以广播形式进行。 另一类平台是专用平台,这类平台的构建需要专用的硬件设备比如投影 仪、数字摄像机、卫星接收器、数字电视等一般形式是在远端建立一个专 用的网络远程教室,学员上课时需到远程教室中去听课。这种类型的平台的 教学实时性非常强,提供强大且高质量的视频音频功能,能够即时地将课堂 发生的实况通过专用高速网络传输到多个远程教室中。 但该类平台是以远程电视电话会议技术为基础,各种专用设备的投入非 常高,只适合如高校等大型机构来架设。并且其视频功能主要是通过专用的 流媒体服务器来实现的,将采集后的数据通过专用网络直接广播传输到每个 远程教室,如果用户增多,那么服务器将不堪重负。 综合以上现状,目前的远程教育系统有以下一些问题: ( 1 ) 虽然很多平台提供了i p 电话等语音功能,但在i n t e r n e t 环境下保证 流畅的视频实时通信的平台还寥寥无几。 ( 2 ) 大多数的高校远程服务站点仅仅推出了基于w e b 方式的课件教学的 服务。 ( 3 ) 而且这些平台多数采用c s 或b s 模式,以及目录和数据库相结合 的方式,这只能提供教学支持,而对于真实教学中要求的实时性和形式的多 样性就完全不能满足 ( 4 ) 视频的流式传输都是通过建立流媒体服务器来完成的,当用户增多 时会造成服务器负担过重的情况。 ( 5 ) 以上的平台的投入都非常大,而且对网络带宽要求非常高。 西南科技大学硕士研究生学位论文第3 页 ( 6 ) 教学资源集中在服务器端,造成资源更新成本增加且更新缓慢,容 易发生单点失效或遭受拒绝服务攻击。 ( 7 ) 视音频交互能力比较差,学生在平台中普遍只能被动的接收。 面临以上问题,要实现真正的国家远程教育战略还有很长的路要走,而 本文就采用p 2 p 和流媒体相结合的机制对远程教育中将遇到的带宽及实时性 问题的解决技术进行了研究。将集中在校园远程教育平台的各种资源分散到 每个教师以及同学,由他们自己负责提供及管理自己的资源。 1 2 本文的意义 传统的教学活动都需要教师和学生定在同一个地点,同一个时间进行教 学活动。就拿考研辅导班来说,老师需要在一个地点讲授完了,马不停蹄的 赶到下一个地点进行授课,这对老师来说,是非常耗损时间和体力的而在 现在普遍的远程教学中,要么需要投影机、摄像机等昂贵的教学设置,增加 了教学成本,很难在大众教学中普及。要么就是采用综合型的平台,但视音 频功能又不强,不能满足教学实时性的需求,顶多只能作为辅助教学的手段。 一种全新的,能满足传统教学,低成本的教学方式呼之于出,基于p 2 p 和流 媒体的网络教学平台正是为了解决这一系列问题, 面对我国网络带宽有限,且设备及网络资源分布非常不均的情况,本文 采用p 2 p 与流媒体技术相结合方式作为远程教学平台的主要技术途径,将在很 大程度上解决传统方式架设成本高、带宽要求高、资源过分集中且更新缓慢 的缺点。在成本方面,学生或老师只要有一台p c 机并安装好软件就可以通过 i n t e r n e t 享受远程教育,架设难度小且成本非常低廉。丽这将使许多欠发达 地区也能纳入远程教育计划,扩大了教育的覆盖面。资源分布方面,资源都 由学生或老师自己维护,从而保证了资源的即时更新,且资源的副本教多。 在可靠性方面,由于采用了p 2 p 共享机制,不易发生单点失效的情况。在带宽 方面,不再像传统的视频会议技术那样,要每个节点都和服务器端建立独立 的媒体通道。而是允许节点之间共享已经接受到的视频帧。使得带宽需求分 散到整个网络,充分利用边缘网络的闲置资源。并且这种方式还提高了整体 视频质量并减轻了服务器的负担。在此基础上再配合电子白板、文件共享、 即时消息等功能,将会为远程教育平台提供强大的信息交流和资源发布能力, 使得远程教育突破带宽及成本的限制,真正走上普及之路。 西南科技大学硕士研究生学位论文第4 页 1 3 课题的来源 本课题来源于四川省8 6 3 青年软件创新基金项目。项目编号:2 0 0 5 从0 7 8 0 1 4 本文所做的主要工作 本文主要对基于j x t ap 2 p 框架和j m f 流媒体的远程教学平台的设计及实 现技术进行了研究。对p 2 p 流媒体平台的几个关键技术问题提出了自己的解 决方案。并以此研究为基础实现了一个基于p 2 p 和流媒体的远程教学平台原 型。 本文的主要工作集中在以下几个方面: 。 ( 1 ) 对平台的整体结构和框架进行了分析和设计。采用了一种p 2 p 网络 和播放网络分离的系统框架。 ( 2 ) 构建了基于j x t a 的底层p 2 p 网络拓扑结构。采用了超节点和普通 节点的两层结构。 ( 3 ) 采用j l l f 实现了流媒体的采集、传输和播放。 ( 4 ) 构建了自己的媒体播放树维护和管理策略。在p 2 p 底层网络之上, 面向媒体传输构建了一个动态的播放树,并针对节点加入、离开等变化对流 媒体应用质量影响较大的情况,提出了快速的播放树重构策略。 ( 5 ) 会话管理机制。将媒体会话和资源订阅会话进行区分,采用s i p 协议构建了自己的会话管理机制。为播放树的构建提供了基础。 ( 6 ) 差错检测和恢复机制。面对如何快速地找到出错节点从而降低节点 出错对视频播放的影响,提出了一种全新的主被动混合式差错检测机制。使 整个系统能够在任意负载情况下都能快速检测到节点的错误。从而为播放树 的快速重建提供了保障。 ( 7 ) 实现了一个基于p 2 p 和流媒体的面向播放树的远程教学平台原型。 对系统进行了初步测试,并对结果进行了分析 西南科技大学硕士研究生学位论文第5 页 2 技术背景 2 1 p 2 p 的定义 当前,人们对究竟什么是p 2 p 有各种不同的理解。两这其中比较准确的 是i b m 公司对p 2 p 的定义:p 2 p 系统由若干互联协作的计算机构成,且至少 具有如下特征之一:系统依存于边缘化( 非中央式服务器) 设备的主动协作, 每个成员直接从其他成员而不是从服务器的参与中受益;系统中成员同时扮 演服务器与客户机的角色;系统应用的用户能够意识到彼此的存在,构成一 个虚拟或实际的群体。 2 2p 2 p 网络结构的分类 p 2 p 网络结构大致可分为四种:集中索引模型、分布式p 2 p 模型、层次 式模型、混合式模型。它们各自都有自己的优缺点和应用范围 ( 1 ) 集中索引式模型 该模型也是n a p s t e r 采用的模型。网络中的节点都会连接到一个总的索 引目录上,那些想要共享自己资源的节点就需要在该目录上发布相应资源的 信息。 当该目录接收到对某资源的请求时,就会从目录中找出并返回符合请求 的最佳节点,这里的最佳节点有多种标准,一般是指获取资源成本最小、最 快且最稳定的节点。在这之后的文件交换就由两个节点来直接进行,而不再 需要中心目录的参与了。 这种模型的优点是易于维护和管理,资源搜索、节点加入及退出的效率 高,不会对网络其它部分造成较大影响。但该模型需要目录服务器来存储系 统中所有节点的信息,造成整个系统对目录服务器过于依赖,容易导致单点 失效的发生。另外,系统可扩展性较差。如果用户的数量不断增加,那么就 需要更大的存储空间来保存用户及资源信息。 ( 2 ) 分布式p 2 p 模型 西南科技大学硕士研究生学位论文第6 页 这种模型称为“分布式”的原因在于取消了中心服务器,整个网络结构 的维护是由每个节点来共同完成的。 这种模型又分为结构式和非结构式两种。 非结构化模型 在该模型中没有任何关于共享资源及网络拓扑的信息。既没有专门的中 心目录服务器,又没有对网络拓扑和资源的放置进行严格规定。节点只是一 些高度自治地运行着简单协议的个体。该模型放g n u t e l l a t ,所采用,节点的 每次请求都会洪泛( 广播) 给它已知的所有节点,而这些节点在接收到消息后 也会将这些消息洪泛给自己连接到的所有节点,直到找到目标节点或者消息 达到最远跳数。 这种结构容错性很强,单个或部分节点的实效不会影响整个网络的运行。 而且在这种结构下的搜索能够获取最多最全面的查询结果。但该模型的扩展 性不强,当网络节点增多时就会发生消息拥塞,并且随着用户的增多,造成 大量的洪泛,从而占用大量的网络带宽流量。 结构化模型 该类模型的结构化体现在,p 2 p 网络的拓扑结构是经过人为控制的。 f r e e n e t t n 就是采用的该算法。该模型中的每个节点都会被分配一个随机的i d 且每个节点都会知道固定数量的其它节点。 当一个文档被发布( 共享) 时,系统会根据文档内容及其名称产生的h a s h 值( 可通过s h a - 1 等算法获取) 为该文档分配一个i d 。将该文档从共享节点路 由到节点i d 与该文档i d 最接近或完全相等的节点。每次路由操作都会在执 行路由的节点上保留一个该文档的副本。当另一个节点发出对该文档的请求 时,请求会向着节点i d 与文档i d 最相近的节点转发,直到找到该文档。然 后该文档按原路返回请求源,并在路过的每个路由节点上保留一个副本。 虽然文档路由模型对于大型的全局交互非常有效,极大地提高了查询速 度。但是它也存在不少问题,比如文档i d 在发出对该文档的请求前必须事先 知道。因此,要实现多关键字查询非常困难。并且,由i d 分配造成的网络分 割会导致“孤岛”问题。这种情况下,节点网络会被分割成许多独立的子网 络,而且这些子网络之间没有连接。日前,c h o r d “,c a n ,t a p e s t r y ,以 及p a s t r y m j ,等结构就采用了结构化的文档路由模型。 ( 3 ) 层次式模型 在层次式的模型中,p 2 p 网络由提供查询服务的s u p e r p e e r ( 超节点) 和 其他普通节点组成在资源共享方面,所有节点的地位相同。这样就形成了 西南科技大学硕士研究生学位论文第7 页 一个个以s u p e r p e e r 为中心的自治系统,每个节点在加入此类网络时都需要 连接到某个特定的s u p e r p e e r 上。“ 这种模型能够根据对等体的能力合理分担负载,而且降低了查询消息传 播的数量。降低了单点崩溃的可能性。但也存在着不足,比如在具体实现时 缺乏高效完善的网络组织模式。 ( 4 ) 混合式模型 混合模式其实就是把上面那些模型进行结合形成的。 一种混合方式是把网络在逻辑上分成内层和外层。内层是结构化的一层, 外层是非结构化的一层。 圈2 - 1 混合式p 2 p 模型 f i g u r e2 1h y b ir dp 2 pi l o d e i 图2 - 1 中的内层网络是一个c h o r d 网络( l c n ) ,其中的每个节点称为一个 逻辑c h o r d 节点( l a p ) ,它由若干个物理节点组成。外层上的每个节点p c p 都 是物理c h o r d 节点( p c p ) ,它隶属于某个特定的l c p 维护的节点网络( 也就 相当于j x t a 中的p e e r g r o u p ) ,每个物理节点既属于内层又属于外层。 在此架构下,两层担当的责任有所不同:内层( 结构化层) 主要负责资 源的定位、信息的路由等功能,而外层( 非结构化层) 主要负责逻辑组的建 立以及提供路由的辅助信息。 另外还有一些其他的混合方式。比如e m u l e 将k a d 网络( 纯p 2 p 模型) 和 e d 2 k 网络( 集中式目录模型) 混合了起来。需要下载文件的节点同时可以从这 两种网络中下载同一个文件,并且能够保持同步。 西南科技大学硕士研究生学位论文第8 页 2 3j x l - a 框架 2 ,1 1j x t a 的目标 j x t a t i 是由s u n 公司开发的基于a p a c h e 开源模型的p 2 p 平台规范。该平 台在设计时有如下几个基本目标: ( 1 ) 系统中的节点都能够发现其它节点。 ( 2 ) 系统中的节点能够自组织成节点组( p e e rg r o u p ) 。 ( 3 ) 节点能够发布自己资源的广告,能够发现网络中的其它资源 ( 4 ) 任何节点都能够与其它节点进行通信 ( 5 ) 节点之问能够彼此监视对方的状态。 ( 6 ) 该平台不应依赖于任何特定的计算机语言和操作系统。 ( 7 ) 该平台不应依赣于任何特定的网络传输协议和拓扑结构。 ( 8 ) 该平台不应依赖于任何特定的认证、安全和加密措施。 2 1 2j x t a 的层次结构 j x t a 系统是由一些协议集合组成的,通过这些协议集合可以提供j x t a 服务。这些协议可以由任何计算机语言来实现,因此,允许各种不同的设备 能通过p 2 p 系统进行交互。目前j x t a 系统中包括了六个基本的协议n ,: ( 1 ) 对等点解析协议p e e rr e s o l v e rp r o t o c o l ( p r p ) :用来向任何数量 的其它节点发送查询消息以及接收响应 ( 2 ) 对等点发现协议p e e rd i s c o v e r yp r o t o c o l ( p d p ) :用来广告及发 现节点的共享内容。 ( 3 ) 对等点信息协议p e e ri n f o r m a t i o np r o t o c o l ( p i p ) :用来获取节 点状态信息。 ( 4 ) 管道绑定协议p e e rb i n d i n gp r o t o c o l ( p b p ) :用来在节点问建立 通信信道。 ( 5 ) 端点路由协议p e e re n d p o i n tp r o t o c o l ( p e p ) :用来在节点间建立 路由路径。 西南科技大学硕士研究生学位论文第9 页 ( 6 ) 聚合点协议r e n d e z v o u sp r o t o c o l ( r y p ) :用来在网络中传播消息。 图2 - 2 显示了这六个协议之问的一些关系,展示了在j a v a 环境中构建 j x t a 系统所具有的层次结构。 图2 - 2j x t a 协议层次 f i g u r e 2 - 2j x t ap r o t o c o l sh i e r a r c h y 为了使以上的这些j x t a 协议能够有效地工作在一起从而形成一个系统, 登须有一种体系结构需要建立。j x t a 的层次结构包括以下三层:1 j | s i l t 4 ( 1 ) 核心层 核心层是6 个最基本的协议的实现存在的地方。通过这些协议的实现, 为该层的节点、节点组、安全及状态监视等部分提供了必要的功能。 ( 2 ) 服务层 服务( s e r v i c e ) 是一个建立在核心层之上的用来完成特定工作的功能组 件。服务层可以被分成两个部分:核心服务和自定义服务。 ( 3 ) 应用层 应用层是指建立的服务层提供的服务之上的能够为用户或其他节点提供 功能的部分 2 1 3j x t a 相关概念 该节简要的介绍了j x t a 中的一些重要的技术和概念。 ( 1 ) i v s 西南科技大学硕士研究生学位论文第1 0 页 在p 2 p 系统中,如何才能引用特定资源? 这就需要为资源分配一个唯一 的标识。简单的文本形式资源名已不能满足要求,因为两个资源有相同的名 字是很普遍的。j x t a 为每个资源分配一个唯一的j x t ai d ( 也叫做u r n ) 来解 决这个问题。这个i d 是一个字符串,它能唯一地标识以下六种资源:对等点 ( p e e r ) 、对等点组( p e e rg r o u p ) 、管道( p i p e s ) 、共享内容( c o n t e n t ) 、组件 类( m o d u l ec l a s s e s ) 、组件规范( m o d u l es p e c i f i c a t i o n s ) j x t a 的i d 包括以下三个部分。 名字空间标识符:j x t a 格式标识符:r u n i d :唯一的字符串值 节点、节点组、管道以及内容的i d 都是属于自解释的,但组件类 i d ( m o d u l ec l a s si d ) 和组件规范i d ( m o d u l es p e ci d ) 却需要特殊的处理。 ( 2 ) 对等节点( p e e r ) 节点也即对等点( p e e r ) 是p 2 p 系统中普遍的概念。它是执行于计算机上 的一个简单应用,能够与网络中其它节点进行通信。显然,如果按以上的定 义,那么很多应用都可以被划为p 2 p 应用的范畴。一台计算机上可以拥有多 个节点,并且这些节点可以处于不同的p 2 p 系统中。比如,在你的计算机上 可以有一个g n u t e l l a 的节点也可以同时运行一个j x t 的节点。 在p 2 p 系统中,所有的节点既是客户端又是服务器。比如在p 2 p 文件共 享系统中,节点在共享自己的文件的同时也可以从其他远程节点上获取自己 所需的文件。 j x t a 节点的其他一些特性包括: 在j x t a 一中的任何节点都可以实现一个组件规范( m o d u l e s p e c i f i c a t i o n ) ,无论该组件规范是否被其它的节点曾经实现过。并且,所有实现了某个规 范的节点可以进行透明的功能互换。 节点可以在任意的节点组中按自己的意愿共享自己的内容。 j x t 中的节点可以通过实现了j x t a 规范的协议来发现其它节点资源, 但节点之间必须采用j x t a 特定的消息格式。 j x t a 节点可以任意的离开或加入网络。 ( 3 ) 节点组( p e e r g r o u p ) 西南科技大学硕士研究生学位论文第”页 j x t a 节点之间有可能无法建立直接的连接,而是通过路由节点或汇聚节 点( r e n d e z v o u s ) 进行通信。 如果许多节点一起进行文件的共享或相互协同来处理需要大量计算能力 才能完成的工作,那么它们就形成了一个组( g r o u p ) 。组被认为是由以下一些 行为产生的: 节点组中可能会提供许多的服务,节点加入了该组就可以使用这些服务 j x t a 网络拥有一个全局的节点组“w o r l d p e e r g r o u p ”,该节点组也是所有新 节点在初始化后自动加入的节点组。在该节点组中提供了很多最基本且非常 有用的服务,包括发现其他节点;广告资源;与其他节点问里管道。目前的 实现还包括建立或加入某个新的节点组,并且可以为组设置密码。任何节点 都能够任意的建立组。 任何节点都可以在脱离i n t e r n e t 的情况下启动节点并形成一个具有默 认功能的本地网络。也就是说默认节点组的功能内置于每个节点内部。 默认节点组提供了许多j x t a 规范定义的核心服务: 搜索服务( d i s c o v e r ys e r v i c e ) :用来搜寻节点组里面的共享内容。 成员关系服务( m e m b e r s h i ps e r v i c e ) :用来创建一个安全的节点组, 防止非组成员的访问。 访问服务( a c c e s ss e r v i c e ) :验证节点的有效性。 管道服务( p i p es e r v i c e ) :用来建立和使用管道通信。 解析服务( r e s o l v e rs e r v i c e ) :用来请求和响应节点服务。 监控服务( m o n i t o r i n gs e r v i c e ) :用来监视其它节点或节点组的状态。 除了以上的服务以外,节点组还可以按自己的意愿创建自定义服务。 ( 4 ) 广告( a d v e r t i s e m e n t s ) 当节点或节点组想让自己提供的服务能被整个网络知道的话,它可以使 用广告来发布自己的服务。广告是一种基于x m l 的文档,它描述了j x t a 资源 及共享内容。所有的j x t a 协议都会用广告来传输信息。 由于采用x m l 格式,所有的广告都具有层次式的结构,里面的元素代表 了该广告的各种属性。广告里面的资源i d 是非常重要的,它用来唯一标识被 发布的资源。 ( 5 ) 组件( m o d u l e s ) 默认节点组为p 2 p 系统提供了所需的最基本的功能,但你可能需要在 西南科技大学硕士研究生学位论文第12 页 j x t a 规范的基础上进行扩展,从而提供更强大的服务;或者你需要提供一个 类似于分布式存储系统这样的服务。组件是一种提供这些能力的途径。组件 是系统中具有一定功能的单元,它处于核心的j x t a 实现之外,可以通过下载 等方式来获取。多数情况下,p 2 p 的节点组会在组广告中注明该节点组所具 有的功能,这个广告会通过j x t a 网络进行传播。 组件的规范没有提供实际驹功能,它只是对功能和特性的描述开发人 员可以根据该规范实现出组件。多个节点可以各自拥有同一个规范的实现, 这些实现可能是由不同编程语言编写的,但是它们都提供相同的服务。这种 规范一实现模式为服务提供了冗余度,使得当某些节点失效时,该服务的功能 仍然可以从其它的节点处获得。 ( 6 ) 传输机制及管道( p i p e ) 当一个节点想与其他节点进行通信时,它必须使用某种网络传输机制。 网络传输机制就是用来在节点间建立连接和传输信息的协议。p 2 p 系统传输 机制的不同体现在两个方面:上层网络协议、消息格式。 对于上层网络协议来说。大多数情况下都是采用的t c p i p 协议,但有的 应用却必须采用其它的一些协议。比如为了系统安全或穿越防火墙,可能会 采用h t t p 协议作为传输协议。而另外一些应用,比如视频应用可能还会采用 u d p i p 协议作为主要的传输协议。 关于消息格式。它其实是和上层协议紧密相关的。比如通过h t t p 协议传 输的消息格式和t c p i p 传输的消息格式是完全不同的。就算两个系统都同样 是采用t c p i p 进行传输,它们的格式也很有可能因为应用层的差异而完全不 同。比如j x t a 的消息格式就与c h o r d 、g n u t e l l a 不同,所以它们之间不经过 消息转换是不能进行直接通信的。 j x t a 规范提供了在节点间建立通信管道的机制,信息从管道的一端进 入,从另一端输出。通过管道机制,消息可以在节点间传输,面节点不需要 知道具体的传输细节,如网络的拓扑结构、路由路径、具体由谁在转发消息 等。管道机制用端点( e n d p o i n t ) 的来表示通信的输入端和输出端,用隧道 ( c h a n n e l ) 来表示两个端点之问的连接。 j x t a 中定义了几种常用的管道: 单向异步:这种管道只用来做单向通信。管道是异步的,消息到达时 可能不是顺序的。 同步的请求应答:所有发出的信息都会收到一个应答消息,消息到达 西南科技大学硕士研究生学位论文第13 页 的顺序是按照它们发送时候的顺序。 批发送:用来发送大量的数据。 双向:它是两个单向异步管道的组合。 单向同步:所有发出的信息都会收到一个应答消息,消息到达的顺序 是按照它们发送时候的顺序。 单向可靠安全的管道:所有发出的信息都会收到一个应答消息,并且 这些消息都是加密的。 ( 7 ) 服务( s e r v i c e ) 服务是目前在网络开发领域比较流行的概念,而j x t a 中的服务和常见的 w e b 服务有很大的不同,j x t a 中的服务是基于分布式的。目前分为两类:对 等点服务和对等组服务。 对等点服务( p e e rs e r v i c e ) :主要用于一个特定的对等点向其他对等点 提供的服务,只有当这个对等点在线时才有效。 对等组服务( p e e r g r o u ps e r v i c e ) ;由一个对等组为它的成员提供的服 务。这种服务可以由对等组中的多个成员共同提供,因此提供了服务的冗余 访问。只要任何一个成员在提供该服务,那么它就对整个对等组成员都有效。 2 4j m f 技术 j a v am e d i af r a m e w o r k ( j m f ) 提供了一套通用的跨平台的j a v aa p i 来访 问底层的媒体框架。为时基媒体的获取、处理和传输的管理提供了一套统一 的结构和通讯协议。j m f 支持大多数标准的媒体内容类型,如a i f f 、a u 、a v i 、 g s m 、m i d i 、m p e g 、q u i c k l i m e 、r m f 和w a v 。同时开发人员可以扩展j m pa p i 来处理特定的时基媒体类型。 2 2 1j m f 体系结构 j l i f 采用了和录象机相似的基础模式。数据源( d a t as o u r c e ) 象录象带一 样封装了媒体流,而播放器( p l a y e r ) 则提供了与录象机类似的处理和控制机 西南科技大学硕士研究生学位论文第1 4 页 制。利用j m f 播放和采集音频和视频也需要相应的输入输出设备,如麦克风、 摄象机、音箱和监视器。 数据源( d a t as o u r c e s ) 和播放器( p l a y e r ) 是j m f 用来对采集、再现和处 理时基媒体进行管理的主要的高层a p i 。j m f 同时也提供了用于集成自定义处 理组件和扩展的低层a p i ,如图2 3 所示。这种分层结构使开发者可以很简 单地使用a p i 来处理时基媒体。同时,支持高级媒体应用和未来媒体科技发 展所需要的灵活性和可扩展性也得到了保证 j a w 盔用程序。小应用和b e a n s j m f 再现和处理a p l j m f 插件( p l u g - i n ) a f i 多路编解效果多路着色 2 2 2 j m f 时间模型 图2 - 3j i f 体系结构 f j g o r e 2 3j i f l :a r c h i t e c t u r e j l i f 对时间控制的精度为纳秒。时间上特定的一点用t i m e 对象来表示。 支持j m f 时间模式的类实现了c l o c k 接口来跟踪特定媒体流中的时间。c 1 0 c k 接口定义了媒体数据再现所需的定时和同步操作。 在媒体流进行再现的同时,c l o c k 使用t i m e b a s e 对时间进行跟踪。 t i m e b a s e 象晶振一样定时地提时间信息。它所提供的唯一信息是数据源的当 前时间称为时基时问( t i m e - b a s et i m e ) 。时基时间不能停止或重置,它 通常基于系统时钟。 2 2 3j m f 管理器 j m fa p i 主要包含了用于采集、处理和再现时基媒体的对象和方法。在 框架结构中实现这些接口。通过使用称为m a n a g e r s 的对象,j l i f 可以轻而易 举地与现有接口的不同实现以及全新的自定义接口进行无缝连接。 西南科技大学硕士研究生学位论文第15 页 j m f 使用了四种管理器( m a n a g e r s ) : ( 1 ) 管理器( m a n a g e r ) :处理播放器( p l a y e r s ) 、处理器( p r o c e s s o r s ) 、 数据源( d a t a s o u r c e s ) 和数据汇集器( d a t a s i n k s ) 的创建。 ( 2 ) 包管理器( p a c k a g e m a n a g e r ) :维护对j m f 类( 如定制播放器( c u s t o m p l a y e r ) ,、处理器( p r o c e s s o r s ) 、数据源( d a t a s o u r c e s ) 和数据汇集器 ( d a t a s i n k s ) 的注册信息。 ( 3 ) 采集设备管理器( c a p t u r e d e v i c e m a n a g e r ) :维护采集设备的注册信 息。 ( 4 ) 插件管理器( p 1 u g i n m a n a g e r ) :维护j m f 嵌入处理组件( 多路复合器 ( m u l t i p l e x e r s ) 、多路分离器( d e 咖l t i p l e x e r s ) 、编解码器( c o d e c s ) 、效果 器( e f f e c t s ) 和着色器( r e n d e r e r s ) 的注册信息。 2 2 4 j m f 事件模型 j m f 使用结构化的事件报告机制来保证基于j m f 的程序能够获取当前媒 体系统的状态,并对媒体驱动的错误状态( 如数据溢出和资源不可用) 可以做 出反应。只要j u f 对象需要报告自己当前的状态,它就产生一个媒体事件 ( m e d i a e v e n t ) m e d i a e v e n t 派生出予类来识别各种类型的事件。 对于每一个可以抛出媒体事件的j m f 对象,j m f 都定义了一个相应的侦 听器( 1 i s t e n e r ) 接口。为了在媒体事件( m e d i a e v e n t ) 被抛出时能接收到通知, 要实现相应的侦听器接口,并通过a d d l i s t e n e r 方法来注册侦听器。 2 2 5j m f 数据模型 j m f 的媒体播放器通常使用数据源( d a t a s o u r c e s ) 来对媒体内容进行管 理。数据源包括了媒体位置信息以及软件用于传输媒体所使用的协议。 数据源通过j m f 媒体定位器( m e d i a l o c a t o r ) 或u r l ( u n i v e r s a lr e s o u r c e l o c a t o r ) 来创建。媒体定位器m e d i a l o c a t o r 与u r l 相似,而且可以由u r l 来构造。 一个数据源包括一系列数据源流( s o u r c e s t r e a m ) 对象一个标准数据源 西南科技大学硕士研究生学位论文第1 6 页 使用一个字节数组作为传输单元。一个缓冲区数据源使用一个b u f f e r 对象为 其传输单元。j m f 定义了多种数据源 2 2 5 1 推、拉数据潦 媒体数据可以来自不同的源,如本地文件,网络文件或实时信号。根据 数据初始化方式的不同,j 1 d f 数据源可以分为拉数据源和推数据源两种。 ( 1 ) 拉数据源:客户方负责初始化数据的传输。对于这种类型的数据, 已建立的协议有h t t p 和f i l e 。j m f 定义了两种拉数据源:p u l l d a t a s o u r c e 和p u l l b u f f e r d a t a s o u r c e ,后者使用一个b u f f e r 对象作为其传输单元。 ( 2 ) 推数据源:服务器负责初始化数据的传输。推数据源包括广播媒体、 多播媒体和视频点播( v o d ) 。对于广播数据,协议之一是工程任务组( i e t f ) 开发的实时传输协议( r t p ) m ,。j m f 定义了两种推数据源:p u s h d a t a s o u r c e 和 p u s h b u f f e r d a t a s o u r e e ,后者使用一个b u f f e r 对象为其传输单元。 2 2 5 2 指定数据源类型 j f 定义了两种类型的数据源:可复制数据源( c l o n e a b l ed a t as o u r c e s ) 和合并数据源( m e r g i n gd a t as o u r c e ) 。可复制数据源用于创建拉推数据源 的副本。合并数据源用于将来自不同数据源的数据流组合成单一的数据源。 2 2 5 3 数据格式 对象的媒体格式是通过格式( f o r m a t ) 类来表示的。格式类本身不包含任 何特定编码参数或统一时间信息,它描述格式编码名称和格

温馨提示

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

评论

0/150

提交评论