




已阅读5页,还剩57页未读, 继续免费阅读
(应用数学专业论文)基于jxta的p2p流媒体技术在课堂教学视频点播系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 p 2 p ( p e e r - t o p e e r ) 技术又称为对等网技术,是一种点对点分布式网络架构。在这样的架构 下,网络中的每个对等节点( p e e r ) 可以直接进行相互通信,以此来共享网络资源和相关服务。 p 2 p 应用程序最初以简单的文件共享的形式出现,例如共享音乐文件,然后逐渐演变为一系列的 应用程序和服务,包括:对等计算、搜索引擎、协同工作、即时通信,流媒体等领域。 本课题在宁夏大学校园网的基础上构建一个网络计算机辅助教学c a i ( c o m p u t e ra i d e d i n s t r u c t i o n ) 系统,以j x t a ( j u x t a p o s e ) 为开发平台,设计并实现p 2 p 模式下的课堂视频点播模 块,完成p 2 p 模式下的流媒体传输功能,并在此过程中提出一个简单的点播策略和j x t a 平台下 小型p 2 p 应用系统的常规开发方法。该模块针对传统的c s ( c l i e n t s e r v e r ) 结构的缺点,从本质 上解决c s 模式下流媒体信息传输瓶颈问题,并在现有的校园网环境不变的情况下,在一定程度 上提高了流媒体信息传输速度。 本课题的宗旨是以较为便捷的方式开发出以p 2 p 为基础的教学辅助应用软件,因此从一开始 就选择j x t a 作为开发平台,这样能够较为快速地建立起p 2 p 网络应用平台。由于课堂教学所产 生的视频是以流媒体的方式在p 2 p 网络传递,所以本课题中使用j m fr t p ( j a v am e d i af r a m e w o r k r e a l t u n et r a n s p o r tp r o t o c 0 1 ) 将视频文件转换成可以在p 2 p 网络上传输的数据流,并通过用j m f 提供的播放器在对等节点上播放课堂视频信息。 关键词:p 2 p 流媒体,课堂视频点播系统,j x t a ,j m fr 1 1 p a b s t r a c t p 2 pt e c h n o l o g y , a l s oc a l l e dp e e r - t o - p e e rn e t w o r kt e c h n o l o g y , i sat y p eo fd i s t r i b u t e dn e t w o r k a r c h i t e c t u r e u n d e rt h i ss m l c 眦,e v e r yp e e ri nt h en e t w o r kc a nb eu s e dt os e n da n dr e c e i v em e s s a g e s d i r e c t l y i nt h i sw a y , t h en e t w o r kr e s o u r c e sa n di n t e r r e l a t e ds e r v i c e s c a l lb es h a r e d p 2 pa p p l i e d p r o g r a m sw e r eo r i g i n a l l ys o m es i m p l es h a r e da sf i l e s ,s u c ha ss h a r e dm u s i c a lf i l e s ,a n dt h e nt u r n e di n t o as e r i e so fa p p l i e dp r o g r a m sa n ds e 州c 骼,w h i c hi n c l u d ep 2 pc o m p u t i n g ,s e a r c h i n ge n g i n e ,c o o p e r a t i v e w o r k , i n s t a n tc o m m u n i c a t i o na n ds t r e a m i n gm e d i a ,e t c t h i sp a p e r , b a s e do nn i n g x i au n i v e r s i t yc a m p u sn e t w o r k ,t r i e st oe s t a b l i s hac o m p u t e ra i d e d i n s t r u c t i o n ( c a i ) o nn e t w o r k w i t hj x t aa si t sd e v e l o p i n gp l a t f o r m ,i td e s i g n st h ec l a s s r o o mv o d ( v i d e o - o n d e m a n d ) m o d u l eo np 2 pp a t t e r na n dm a k e si tw o r ka b o u tm e d i as t r e a m d u r i n gt h i sp r o c e s s , as i m p l ev o d a l g o r i t h ma n ds o m eg e n e r i cd e v e l o p m e n tm e t h o df o rs m a l l - s c a l ep 2 pa p p l i c a t i o nu n d e r j x t ap l a t f o r ma r ep u tf o r w a r d t h i sm o d u l ei sa i m e da tt h ed i s a d v a n t a g eo ft r a d i t i o n a lc ss t r u c t u r et o s o l v et h eb o t t l e n e c kp r o b l e mo ft h et r a n s m i s s i o no fs t r e a m i n gm e d i ai n f o r m a t i o nu n d e rc sp a t t e r n ;a t t h es a l n et i m e ,i ta l s os p e e dt h et r a n s m i s s i o no fs t r e a m i n gm e d i at os o m ed e g r e ew i t ht h ep r e s e n t c a m p u sn e t w o r ke n v i r o n m e n t t h i sp a p e ra i m sa td e v e l o p i n gt h en e t w o r kc a is o f t w a r eb a s e do np 2 pw i t har e l a t i v e l yc o n v e n i e n t w a y t h e r e f o r e , i ts t a r t sw i t hj x t aa st h ed e v e l o p m e n tp l a t f o r m ,w h i c hh e l p st ob u i l du pt h ep 2 p a p p l i c a t i o np l a t f o r mo nn e t w o r km o r eq u i c k l y s i n c et h ei n s t r u c t i o nv i d e op r o d u c e di nc l a s s r o o mi s t r a n s m i t t e di np 2 pn e t w o r ki nt h ef o r mo fs t r e a m i n gm e d i a ,t h i sp a p e ru s e sj m fr t pt oc h a n g ev i d e o f i l e si n t ot h ed a t as t r e a mw h i c hc a nb et r a n s m i t t e di np 2 pn e t w o r k i na d d i t i o n ,t h ep l a y e ro f f e r e db y j m fi su s e dt op l a yt h ec l a s s r o o mv i d e oi n f o r m a t i o no nt h eb a s i so f p e e r s k e yw o r d s :p 2 ps t r e a m i n gm e d i a , c l a s s r o o mv o ds y s t e m ,j x t a ,j m fr t p i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得宁夏大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示了谢意。 研究生签名: 怠 葺胱 i 时间:枷g 年r 月乙归 关于论文使用授权的说明 本人完全了解宁夏大学有关保留、使用学位论文的规定,即:学校有权保留送交 论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。同意宁夏大学可以用不同方式在不同媒体上发表、传播学位 论文的全部或部分内容。 ( 保密的学位论文在解密后应遵守此协议) 研究生签名:牟德 i 导师签名:j1v 时间:乙仍g 年,月山日 弘己p时间:洳乎年厂月咎日 宁夏大学硕 j 学位论文第一章绪论 曼曼曼曼曼! 曼曼曼量曼! 皇曼曼曼曼曼曼_ r a m ;m m = m li,h,11,|-, i i i i 皇曼鼍曼曼曼鼍曼曼曼曼曼皇曼曼曼曼曼曼曼曼皇! ! 曼曼曼曼曼曼曼 1 1 课题背景及意义 1 1 1 教育背景 第一章绪论 教育在国家发展中占有重要的地位,传统的教育模式和现代教育模式一直是相辅相成且又存 有矛盾的交替发展。一味的强调某一种模式的重要性,就会导致矛盾的产生。如果把教育目标确 定,在社会和技术不断发展的过程中,不断改进教学模式,让传统的教育模式与现代的教育模式 相结合,就能够更加符合社会发展对教育的要求。 目前,全国的高等教育都是以课堂教学为主,根据不同的课程内容加之教学辅助手段,以实 现最终的教学目标。在这样的大环境下,各个高校都在以自身的条件对教学进行改革,并且随着 计算机、网络、应用软件等高新技术的不断提升,引进新的教学辅助手段,尤其是以计算机网络 为代表的方式,已经被高校教师普遍接受。 因此,现代教育模式中新技术的不断引入,使得教学方式多样化,可以在课堂面对面进行, 也可以通过计算机网络在不同的地域获得同样的教育资源。这便扩大了教育的范围,使得更多的 人受益于这种现代模式的教育。同时,也使得传统教育模式得以扩充和加强。 在这样的背景中,不断加强新技术在教育领域的应用,成为当今高校教学改革中的一个热点。 从早期的c s 模式到现在的远程模式嘲,课堂教学的涉及面也由单一教室扩展到计算机领域,进 而延伸到i n t e z n e t ,在这条发展道路上计算机领域的新思想、新技术成为一个重要的推动因素, p 2 p 技术就是在这种要求下逐渐被引入教育领域的。 1 1 2 用新角度看待当今的网络 现今的网络绝大部分是以c s 或者b s 为主的模式运行。这种模式在它自身的优势占据网络 主导地位的同时,缺点也渐渐显露出来。主要原因是网络带宽的增加满足不了用户对网络带宽的 需求,导致网络负荷越来越重,网速越来越慢。p 2 p 技术的出现为解决这一问题提供了一个新思 路,让我们以全新的角度重新审视现代的计算机网络及其应用。p 2 p 网络放弃了c s 或b s ( b r o w s e r s e r v e r 模式中服务器和客户端的概念,它将网络上的每一台电脑看成是一个独立的自治体,并把 这些自治体称为对等节点( p e e r ) ,每个对等节点既可以完成服务器的功能也可以完成客户端的功 能。 。 在p 2 p 网络中,任意两个对等节点之问都可以直接通信,不必通过另外的服务器间接传输数 据。这种方式从本质上将集中式的网络应用转变为分布式的网络应用,解决了集中式网络中由于 服务器负担过重造成网络整体性能降低的问题。把网络中各个计算机对服务器的请求,转换到其 它各个对等节点上;也就是说网络上任意个对等节点都可以响应某一对等节点的请求,把对服 务器越来越多的网络带宽要求分散到整个网络上,使得在现有网络设备不变的情况下,从软件技 宁夏大学硕i :学位论文第一章绪论 术方面提高网络性能。对于目前各高校校园网来说,开发p 2 p 网络应用无疑是既经济又实惠的一 个发展方向。 1 1 3p 2 p 技术应用背景 当今互联网中随着用户的增加,音视频等多媒体信息的需求量增大。据美国的e l l a c o y a 网络 研究公司对北美地区的一百万宽带用户的调查结果显示,基于h t r p 协议的互联网流量已经占据 了全部流量的4 6 。排名第二的是p 2 p 应用的流量,其占据了3 7 的比例。排在后面的流量分别 属于新闻组( 9 ) 、非h t t p 协议的视频流媒体( 3 ) 、网络游戏( 2 ) ,以及v o i p 网络电话( 1 ) 。 在h t t p 流量的进一步细分中,数据显示,传统的囊括图片和文字的网页浏览占据了4 5 的h t r p 流量。视频流媒体占据了3 6 ,音频流媒体占据了5 。n ,从这些数据可以看出网络的大部分带宽 被多媒体信息所占据,这一现象在校园网中也同样出现。大量的与教学相关的视频,音频信息在 校园网传播的同时,降低了传输的速度和质量,失去了原本使片j 音视频信息的教学目的。本文研 究的目标就是通过使用p 2 p 技术,从软件的角度在一定程度上降低多媒体信息传输对现有校尉网 的影响,从而为今后大规模p 2 p 应用提供一个原型。 1 2 研究现状及发展动态 1 2 1 国外相关研究 自1 9 9 9 年以来,p 2 p 的研究得到了国内外学术界和商业组织的广泛关注,目前国外较为知名 的p 2 p 研究项目有s u n 公司的j x t a n 平台,美国国家科学基金会资助的i i u s 计划,以及斯坦 福大学的p 2 p 研究。 i r i s 不仅仅是一个文件共享系统,它还是独立于应用的平台,基于该平台可以方便地开发其 他分布式应用。i r i s 计划的核心技术是分布式散列表d h t ( d i s t r i b u t e dh a s ht a b l e s ) 棚技术,许 多大学都有相关的研究项目,目前基于d h t 的代表性的研究项目主要包括加州大学伯克利分校 的c a n 项目和t a p e s t r y 项目,麻省理工学院的c h o r d 项目、i r i s 项目,以及微软研究院的p a s t r y 项目等。资助i r i s 计划的目的是深入研究d h t 技术在对等网络中的应用,大规模地验证已有的 研究成果,最终建立安全的分布式网络。 斯坦福大学主要是对p 2 p 系统的搜索,资源分配和聚集,以及安全问题进行了研究。指出搜 索机制的关键性研究问题是要如何尽可能高效、高质地提供最优的表达力、复杂度和自组性。安 全方面的关键问题是要确保网络的有效性、可靠性、匿名性和访问控制。咖 s u n 公司的j x t a 项目现在已成为p 2 p 应用开发的最为广泛的标准。j x t a 提出的是一套 p 2 p 开发协议,它将p 2 p 网络的通用部分都归纳到自己的开发平台中,使得p 2 p 应用开发能够更 为快捷的实现,开发人员可以使用多种计算机语言( j a v a ,c h ,p y t h o n 等) 依据j x t a 标准进 行开发。 2 宁夏大学硕l j 学位论交第一章绪论 1 2 2 国内相关研究 国内研究p 2 p 系统也是十分火热,其中以北京大学,清华大学与华中科技大学为代表,都 有各自的p 2 p 研发项目。 北京大学的m a z e 是北大网络实验室开发的一个中心控制与对等连接相融合的对等计算文件 共享系统,在结构上类似n a p s t e r ,对等计算搜索方法类似于g n u t e l l a 。网络上的一台计算机,不 论是在内网还是外网,可以通过安装运行m a z e 客户端软件自由加入和退出m a z e 系统。每个节 点可以将自己的一个或多个目录下的文件共享给系统的其他成员,也可以分享其他成员的资源。 g r a n a r y 是清华大学自主研发的对等计算存储服务系统。它以对象格式存储数据。另外, g r a n a r y 设计了专门的结点信息收集算法p e e r w m d o w 的结构化覆盖网络路由协议t o u r i s t 。 a n y s e e 是华中科大设计研发的视频直播系统。它采用了一对多的服务模式,支持部分n a t 和防火墙的穿越,提高了视频直播系统的可扩展性;同时,它利用近播原则、分域调度的思想, 使用l a n d m a r k 路标算法直接建树的方式构建应用层上的组播树,克服了e s m 等一对多模式系统 由联接图的构造和维护带来的负载影响。枷 1 2 3p 2 p 市场产品 国内有关p 2 p 软件产品有很多,如p o c o 是中国最大的p 2 p 用户分享平台,是有安全、流量 控制力的,无中心服务器的第三代p 2 p 资源交换平台,也是世界范围内少有的盈利的p 2 p 平台。 目前已经形成了2 6 0 0 万海量用户,平均在线5 8 5 万,在线峰值突破7 l 万,并且全部是宽带用户 的用户群。成为中国地区第一的p 2 p 分享平台。 o p 又称为o p e :n e x tm e d i ad e s k t o p ,是一个网络娱乐内容平台,n a p s t e r 的后继者,它能以最 直接的方式找到您想要的音乐、影视、软件、游戏、图片、书籍以及各种文档,随时在线共享文 件容量数以亿计。o p 整合了i n t e m e te x p l o r e r 、w i n d o w sm e d i ap l a y e r 、r e a l o n ep l a y e r 和a c d s e e , 是国内的网络娱乐内容平台。 p p l i v e 是一款用于互联网上大规模视频直播的共享软件。它使用网状模型,有效解决了当前 网络视频点播服务的带宽和负载有限问题,实现用户越多,播放越流畅的特性,整体服务质量大 大提高。柳 国外也有许多成熟的p 2 p 产品如b t ,e m u l e ,n a p s t e r a 3 ,g n u t e l l a e 。这些产品都以文件共享 为主要目的。除了g n u t e l l a 是一个完全分布式的p 2 p 网络外,其余几个都是以一个或多个中心服 务器为拓扑结构的p 2 p 网络,虽然各自的服务器都有不同的功能,但从整体来开它们都和c s 结 构的网络有本质的不同。 1 3 论文主要研究内容 本文通过对当前宁夏大学的校园网应用的分析,并结合所申请的校级课题:( j a v a 程序设计 双语教学改革中的j a v a 课程网络辅助教学系统的研究。探索性的引入p 2 p 技术,将这一技术与 网络辅助教学结合,提出了一个p 2 p 网络课堂视频点播系统原型,以j x t a j a v a 版本为开发平台 3 宁夏人学硕i j 学1 征论文第一章绪论 曼舅曼! ! ! 曼舅曼曼量曼曼曼! 曼曼曼曼i i :_ l m i_i _i i,!曼曼曼蔓 予以实施。主要的研究工作有以下几点: 1 通过对j x t a 的详细研究,指出t a 平台下小型p 2 p 应用系统常规开发方法,并以本 论文所涉及的原型系统加以说明。 2 对j m fr t p 在网络中进行多媒体信息的发送、传输和接收进行详细的说明,并将其引入 p 2 p 网络,实现p 2 p 流媒体传输。 3 在设计课堂视频点播系统中,根据实际教学环境和实际的教学要求提出一个简单的点播 算法,这个算法适用于小型局域网。 4 对p 2 p 网络课堂视频点播系统中几个关键问题做了详细的分析,包括:本系统中多播和 单播消息的定义及处理方法;本系统设计中的相关接口的处理方法。着重从应用开发的角度说明 消息处理的一般方法,以及点播过程和j m fr t p 调用步骤。 5 对j x t a 开发课堂视频点播系统进行总结,提出不足的地方和今后要发展的方向。 4 宁夏久学硕i j 学化论文第一章j x t a 体系结构及j t 膨用 第二章j x t a 体系结构及其应用 j x t a 是为了构建p 2 p 网络而制定的一组独立于语言和网络的协议删。j x t a 技术提供了基础 性的机制,以解决当前分布计算应用中面临的问题,实现新一代统一、安全、互操作以及异构的 应用。m ,本章着重叙述了p 2 p 通用开发平台j x t a 的基本理论,并据此提出了j x t a 平台下的p 2 p 应用程序的开发步骤。 2 1j x t a 出现的背景 对等( p 2 p ) 网络与传统的客户机服务器( c s ) 或多层服务器网络不同,对等网络中的对 等机是彼此直接通信的。这种通信无需依赖集中式服务器或资源就可完成。在p 2 p 网络中,通过 对等机之间的交互操作就可以完成工作,共享信息。通过创建有潜力展示非常高的可用性和容错 能力的计算资源网络,p 2 p 体系结构使真正的分布式计算成为可能。 但是早期的p 2 p 应用领域都是“各自为政”,绝大多数p 2 p 系统本质上是专用且相互间是不 兼容的,它们把精力几乎全部放在互操作性的实现上,而忽略了开发可重用的稳定的平台。从这 一点上看,传统的客户机服务器和多层次体系结构已经是业界的识途老马,而采用p 2 p 体系结 构的系统则还只是初生牛犊。这个新生物便自然存在着诸多问题,尤其在p 2 p 应用开发中,不同 的项目会用到完全不同的平台实现,这对于现代软件开发来说是毁灭性的,面对软件开发的标准 化,可重用性,高效性等多方面因素来说,p 2 p 世界需要新的元素,以适应这个变化飞速的时代。 为了向构建跨平台、跨操作系统( o s ) 和跨编程语言的p 2 p 应用提供实用应用程序开发平 台,s u n 开始了一个名为j x t a 的项目。“j x t a 项目”即代表“j u x t a p o s e 项目”,是一个面向点 对点计算的研究项目。j x t a 致力于p 2 p 应用开发过程中的通用性,它为p 2 p 应用程序和服务提 供标准协议,其目的是提供一个简单而通用的p 2 p 平台来容纳任何种类的网络服务。j x t a 平台 定义了一套基于x m l 标准的协议,这套协议被设计用于提供以对等机形成的动态网络所需的通 用功能的支持。这套协议是独立于操作系统、开发语言、设备和网络传输协议的。 在实际开发中,j x t a 本质上是为p 2 p 应用程序提供一个功能强大的开发工具包。这个工具 包使得p 2 p 应用程序开发者将开发任务分隔开来,程序员则把与p 2 p 相关的底层功能交给j x t a 去完成,自己集中精力负责与业务有关的部分。随着j ) ( t a 子项目的不断扩充和发展,脚a 会 越来越完善,应用的领域会更加广泛。 2 2j x t a 体系结构 p 2 p 系统的一些应用程序如:n a p s t e r ,g n u t e l l a 和f r e e n e t ,显示了p 2 p 一些共有的特性,在 这样一个虚拟的网络中,也需要一个虚拟命名空间对系统中的各个节点进行寻址,通常是使用 p e e r i d 来完成的;实现系统中的节点对等,也就意味着虚拟网中的各个节点之间可以进行直接通 5 宁夏人学硕 j 学位论文第一:章j x t a 休系结构及其戍用 信;对等节点可以在虚拟网络中的任何地方出现;对等节点可以随时进入虚拟网络,也可以随时 退出虚拟网络;对等节点有较强的自治能力,可以对外提供资源也可以从其它节点获取资源。这 便构筑了p 2 p 系统的基本框架n n ,j x t a 将这些p 2 p 共性抽取并加以实现,形成了现在的一整套 p 2 p 开发标准,并不断的进行更新和发展。 j x t a 为p 2 p 应用程序构建三层结构,分别为核心层、服务层和应用层,如图2 1 所示。t i t ) j x t a 核心层提供了p 2 p 网络建设的基本工具,包括协议和支持同p 2 p 网络连接的基本部件, 这些部件包括资源检索、消息传输、安全性以及对等节点和对等节点组的创建,所有p 2 p 解决方 案都将共享这一层的所有元素。 j x t a 服务层为支持很多p 2 p 应用程序所需的通用服务提供接口,但并不是所有的p 2 p 应用 程序都会使用这些接口,这些接口包括资源检索、文件共享和对等节点认证等。 j x t a 应用程序层的作用是支持各种类型的应用程序,这些程序包括文件共享、分布式存储 以及实时应用程序等。这些应用程序之间的关系可能是一种“上下级”关系,也可能需要实现和 其他基于j x t a 内核开发的应用程序间的互操作性。 j x l a 应用层 j x l a 服务层 j ) ( 1 a 核心层 s u n 1 a第三方j x l as h e l l 应用应用p e e r 命令 2 3j x t a 基本概念 图2 - 1j x t a 体系结构“” j x t a 致力于满足使用p 2 p 语言的开发者的需求。j x t a 不是- f l 编程语言,它提供了一套支 持在p 2 p 环境中对等节点间实现互操作性的协议。虽然j x t a 提供了j a v a 的参考实现,但是开发 者可以采用任何语言来实现j x t a 中的协议,并且能与其它j x t a 应用程序互操作,不论这些j x t a 应用程序是由什么语言开发的,也不论它们是在什么操作系统之上运行。 j x t a 中有一系列的术语用来描述p 2 p 网络,了解它们有助于我们对p 2 p 的认识和p 2 p 应用 程序的开发。 2 - 3 1p e e r ( 对等机) p e e r 是p 2 p 虚拟网络中的基本组成单位。每个物理设备上可以有一个或多个对等机,也叫对 等节点。用户和对等节点不一样,一个用户可以有多个对等节点。为了能够在逻辑上清晰识别每 6 宁复大学碗学位比女第= 章f x t a 体系结构& 其用 个用户和对等节点,在课堂教学点播系统中指定每一个对等节点代表一个学生或一个教师,而 且每个学生和教师都有登录和撤销的功能。 对等节点上可虬实现多种r x t a 提供的服务,如集结点服务、路由雅务、网关服务等。这些 服务在建立p 2 p 网络对使用,对等节点根据宴际需求使用这些服务。 对等组是把若干个对菩节点组织起来的一种方式。p 2 p 系统中对等组可以被e 4 建、加入和坦 出。组成员可以加入对薄组,退出对等组和更新。出于安全的考虑对等组对组成员进行一些瑕 制。从应用的角度,对等组为有共同目标的群体而设立,比如:把对有爱好汽车的等点分成一组, 只有乍迷对等节点才能进入,并就相关话露进行讨论萼。其它想加入这个车迷组的对等节点可 以使用成员m 认证:没有这个i d 的对等节点不能加入这个车迷组。 y x t a 规范中,默认情况下,每个对等节点都是平台对昔节点纽( 有人称之为全局对等节 点组,或世界对等节点组,w o r l d p e e r g r o u p ) 的一千成员,并且所有豹对等口点引导起来之后都 蒋加入该对等竹点组。全局对等1 ,点组定义丁j x t a 基本协议的实现如成员身份协议和资源 检索协议等。对等岿点组形成了一个具有父子荚系的层次性结构。艰亲对等节点组中可用的所有 服务在子对等节点组中也是可用的。 233e n d p o i n t ( 端点) 在j ) c t :a 中卟端点就是实现了特定通信协议的对等节点的虚拟地址。一个对等节点可以有 多个端点,这样可以通过不同的协议来与其它对等节点通信,端点的一个典型例子就是一个m 地址加上一个端口。通过使用这些值,可队打开一个流并且与目标对等节点通信。在通信时端 点通常和管道( p i p e ) 结台在一起使用,这种抽象的好处在于不用关心对等节点的真正物理地址 和协议,降低了p 2 p 开发的复杂性。 圈2 r 2 对等节点中的螭点 另外,一个对等节点可以有多个端点并且每一个端点都可能使用了不同的髓络通信协议。 如图2 - 2 所示。这样,通过在一个对等节点中设置多个端点,j x r a 网络在面l 晦对等节点的状态 发生变换的情况下有了更大的处理旯活性。 宁夏人学硕l j 学位论文第二章j x t a 体系结构及j 应用 2 3 4p i p e ( 管道) 在j x t a 中两个对等节点之间通过管道进行通信。这种方式避免了某个端点的物理m 地址改 变所造成的影响,对于j x t a 网络这种变化,只是简单地调整路由信息就能够解决。每个管道都 将获得它们自己的j x t a 身份标识,而j x t a 系统也会将一个管道的端点解析为与该管道相关的 对等节点的物理口地址。 j x t a 提供了多种类型的管道,它们是: 单向异步这种管道只用来做单向通信,消息到达时不一定按照顺序方式排列。 同步请求厂应答一所有发出的信息都会收到一个应答消息,消息到达的顺序按照它们发 送的顺序排列。 成批发送用来发送大量数据。 流传送通过流可以更有效地传送诸如声音、视频等大量的数据。 双向是两个单向异步管道的组合。 单向同步所有发出的信息都会收到一个应答消息,消息到达的顺序按照它们发送的顺 序排列。 单向可靠安全的管道所有发出的信息都会收到一个应答消息,并且这些消息都是加密 的。 现有的j x t a 参考实现已经提供了单向异步管道、单向可靠安全管道和双向管道。啊 2 3 5a d v e r t i s e m e n t ( 广告) 一个广告就是一个x m u = ,文档,用来描述j x t a 的消息、对等节点、对等组或者服务等。广 告是j x t a 网络上信息交换的最主要的载体。一般情况下,使用x m l 格式的广告都包含了用于 描述某个资源的唯一的j x t a 身份标识、资源的所在位置、广告本身的到期时间等。j x t a 网络 中发现其它对等节点及其资源的问题就转换为发现描述各资源的广告的问题,只要找到对应的广 告,就相当于找到了该资源。 例如:一个对等节点创建了名为“m y c l a s s ”的对等组后,使用m 多播方式把广告发布到本 地的j x t a 网络,网络中的每一个对等节点、集合点都会收到一份广告。对等节点和集合点根据 广告中的x m l 信息实例化并加入到“m y c l a s s ”对等组中,之后便可以使用对等组中的服务了。 2 3 6m e s s a g e ( 消息) 消息传输本质上是对等节点之间的通信,但对于为进行通信或交换数据而在对等节点间传输 的简单的结构化信息而言,x m l 提供了一种独立于平台的数据格式。j x t a 中消息是用来传输数 据的,有两种格式来表示这些数据:一种是x m l 格式表示,所要传输的数据都放在x m l 包含 的文档中;另一种是使用二进制格式。通常情况下,x m l 格式的数据传输已经足够用,比如: 两个对等节点之间每一天传送一次天气预报。但是如果有大量消息要传输,那么x m l 格式的消 息会导致效率降低。这时,可以采用消息的二进制格式完成。二进制消息是一个紧凑的包,它用 来以紧凑的数据流的形式发送信息。 8 宁夏人学硕f :学位论文第:市j x t a 体系结构及其心用 2 3 7r e n d e z v o u sp e e r ( 集合点) 一个对等节点可以作为一个集合点使用,是一个能处理其它对等节点请求的特殊对等节点。 它拥有更多的资源,可以存储有关它周围对等节点的信息,能够在本地网络之外进行广告搜索, 并且可以作为搜索请求的传递者。多个集合点之间能够转发请求,转发过程中将自身的信息发布 给其它集合点。还有另外一种叫做网关( g a t e w a yp e e r ) 的对等节点,它也是一种有中继作用的 对等节点。与集合点不同的是,网关是用来在对等节点间传递消息的,而集合点是用来传递请求 的。 2 4j x t a 协议 j x t a 使用协议的方式来定义j x t a 虚拟网络的各种操作。本质上讲,协议就是用于支持某 种操作的协定形式。按照j x t a 目前给程序员提供的j a v a 版本的j x t a 实现来看,与p 2 p 相关的 协议都以j a v a a p i 的形式体现。程序员所要实现的p 2 p 网络就是通过这些a p i 完成的。j x t a 定 义了六个核心协议,如图2 3 ,但是对于一个对等节点加入j x t a 虚拟网络来说,它并不需要支 持全部协议才可以;反过来,一个对等节点支持的协议越多,那么该节点在j x t a 虚拟网上的行 为就越丰富。 团圆圆 圈 图2 - 3j x t a 核心协议 从实际使用的角度出发,本文将下面要叙述的j x t a 核心协议以实例化后的消息格式列举出 来,并加以说明。 2 4 1 对等发现协议( p e e rd i s c o v e r yp r o t o c o l p d p ) 对等发现协议定义了发布和获得对等节点信息的功能。这些信息包括对等节点广告、对等组 广告、服务广告、管道广告。p d p 协议的资源查询消息由以下三部分定义: 资源公告信息的类型 一个x m l 关键字或标签名 一个必须与x m l 关键字对应的值 实例化后的格式中有类似 的标签对,这些标签对就是消息的x m l 关键 字,标签对之间的值就是这个x m l 关键字对应的值。 p d p 协议中有两种消息形式: 9 宁夏人学硕l :学位论文第二章j x t a 体系结构及其应用 1 资源查询消息( d i s c o v e r yq u e r ym e s s a g e ) p e e r a d v :可选元素,表示对等节点的d ,如果设置为n u l l ,则转向对等节点所在 对等组。 t y p e :有三种类型,p e e r ( 0 ) ,g r o u p ( 1 ) ,a d v ( 2 ) 。 a t t r 和v a l u e :都是可选元素,规定响应中的广告需要满足的条件。前者指明广告中的元素 名,后者指明元素的值。只有满足这样的条件的广告才能作为该请求的响应。 t h r e s h o l d :也是个可选元素,该元素包括一个数字,指明最多可以接受多少数目的广 告。发出一个请求后,可能会有很多响应,指定了最多接受数目后,多余的会忽略掉。特殊 情况: 当t y p e 设为0 时,即请求获得p e e r a d v e r t i s e m e n t 时,将t h r e s h o l d 也设为0 ,发出这种请求 意味着请求方想获得所有的p e e r a d v e r t i s e m e n t 。这样收到请求的所有p e e r 都响应,提供自己的 p e e ra d v e r t i s e m e n t 。 如果a t t r 和v a l u e 的值没有设定,其他p e e r 响应时回复的是a d v e r t i s e m e n t 的随机集合,当 然前提是符合t y p e 指定的类型而且未超过t h r e s h o l d 元素规定的最大响应数目。 2 资源响应消息( d i s c o v e r yr e s p o n s em e s s a g e ) 为了回复资源查询消息,对等节点创建一个资源响应消息,其中包含符合请求中要求的 广告,如a t t r n a l u e 要求。 t y p e :与资源查询消息中的t y p e 元素一样,只有三种类型:p e e r ( o ) ,g r o u p ( 1 ) ,a d v ( 2 ) 。 l o 宁夏大学硕l 学位论文第二奇j x t a 体系结构及其愚用 liii|i ii i 曼! 蔓曼! 蔓曼曼曼鼍 c o u n t :一个包含i n t e g e r 值的可选元素,代表m e s s a g e 中响应元素的总数目。 a t t r n a l u e :一对可选元素,与资源查询消息中的值相同,指明此响应产生时对应的原始搜索 条件。 p e e r a d v :一个可选元素,包含提供响应的对等节点的p e e rm e s s a g e 。 r e s p o n s e :一个可选元素,包含符合资源查询消息中搜索要求的广告。每个资源响应消 息可以包含多个r e s p o n s e 元素,每个元素只包含一个广告。而r e s p o n s e 元素个数之和为c o u n t 的值。r e s p o n s e 元素中的e x p i r a t i o n 属性指明广告的有效时间长度,当然,这个时间以毫秒为单 位。 这两种格式在对等节点进行通信时,定义了相互发现对方所需的所有元素。p d p 协议所定义 的消息交换代表了j x t a 网络中最低层的资源检索机制。应用程序可在p d p 协议的基础上开发更 为高层的资源检索协议。 2 4 2 管道绑定协议( p i p eb m d m gp r o t o c o l p b p ) j x t a 中每个通信管道都有一个输入管道和一个输出管道,分别进行消息的接收和发送。管 道绑定协议定义了如何将管道的输入和输出与对等节点的端点绑定。关于管道的广告信息中有管 道名、身份标识和管道类型信息。 p b p 协议也定义了两种消息格式: 1 管道绑定请求消息( p 枷b i n d i n gq u e r ym e s s a g e ) 对等节点发出管道绑定请求消息是为了找到哪一个对等节点绑定到这个指定的管道输入端 上。格式如下: q u e r y m s g t y p e :一般为固定值q u e 巧,用来指明消息类别。 p i p e i d :指明请求方要解析的那个p i p e t y p e :用来设置p i p e 的类型,可有三个选择:j x t a u n i c a s t 、j x t a u n i c a s t s e e u r e 、 j x t a p r o p a g a t e 。 c a c h e d :表示请求方是否可以使用它本地缓存中的p i p e 来响应请求。如果没有这个 元素,表明允许使用缓存。 p e e r :指明哪一个对等节点来响应。 2 管道绑定响应消息( p i p eb i n d i n g a n s w e rm e s s a g e ) 管道绑定响应消息用来响应管道绑定请求消息。这种响应有可能有,也有可能没有, 宁夏人学硕 :学位论文第二章j x t a 体系结构及其f 训习 格式如下: a n s w e r 如果有响应,那么收到的响应只能用来更新本地对等节点缓存的一系列管道。需要说明 几个参数: m s g t y p e :是必需的,将其写成固定的名称a n s w e r 表示响应消息。 f o u n d :是一个可选元素,指明是否发现匹配的p i p ei d 。如果这个值为空,表明已经找到匹 配的p i p e i d 。 p e e r a d v :是一个可选元素,其中包含p i p ei d 的p e e r a d v e r t i s e m e n t ,如果没有找到匹配的对 等节点,这个属性就不出现。 有了管道的请求响应消息,就能在两个对等节点之间,进行可程序控制的数据通信。这是 p 2 p 应用程序开发必不可少的步骤。 2 4 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 ) 用于从已知的对等节点获得状态信息。该状态信息目前仅包括对等节点的上线时间和流量信 息。p i p 的功能就是监视远程对等节点并获得远程对等节点的当前状态信息,以便进一步处理。 2 4 4 对等节点解析协议( p e e rr e s o l v e rp r o t o c o l p r p ) 对等节点解析协议以及实现该协议的解析服务是用来处理更一般的请求和响应消息。在前面 p b p 的消息格式中,也能看到对等节点解析协议的底层支持功能。要使用这个协议,需要提供一 个查询的对等节点和一个x m l 请求消息。这个协议被用来支持j x t a 中的其它协议,包括p d p 、 p b p 和p i p ,而且支持传递查询( 也就是一个对等节点没有查到信息,就会转到另一个对等节点继 续查询) 。 2 4 5 端点路由协议( p e e re n d p o i n tp r o t o c o l p e p ) 对等节点通过这个协议获得一条路由通道。它使用对等节点间的网关来建立一条包含一个或 多个适合建立管道的管道协议组成的通路。端点路由协议还可以通过寻找网关来穿越防火墙等障 碍来建立连接。 1 2 宁夏大学硕 :学位论文第二章i x t a 体系结构及其应用 2 4 6 集合点协议( r e n d e z v o u sp r o t o c o l r v p ) 这个协议负责在j x t a 对等组内传播消息,它为对等节点在组内接收和发送消息并且控制消 息如何传播定义了一个基本的协议。 2 4 7j x t a 的协议小结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 衣物布料知识培训课件
- 科学纸的再生课件
- 项目管理任务拆分及进度管理表
- 个人信用卡交易保密协议
- 企业品牌推广活动策划综合评估工具
- 销售策略制定指南
- 人力资源招聘管理工具集
- 农业产业链协同发展协议书
- 药剂科应急知识培训课件
- 供应商信息与采购流程管理工具
- DB37-T 4382-2021 环保稳定型胶粉改性沥青及混合料施工技术规程
- 《当代中日关系》课件
- 大学生军事技能训练(同济大学)学习通测试及答案
- T-CSPSTC 72-2021 隧道衬砌脱空注浆治理技术规程
- 碳中和技术概论 课件 第1-3章 碳中和概述、太阳能、风能
- 2024年7月生化室内质控总结报告
- 危重症患者的血糖管理课件
- GB/T 19342-2024手动牙刷一般要求和检测方法
- 消防工程常用设施三维图解
- 选择性必修第一册人教A版2024-2025学年上学期期中高二数学模拟测试卷含答案
- 发电企业应急能力建设评估规范
评论
0/150
提交评论