(计算机应用技术专业论文)基于组件的实时信息发布系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于组件的实时信息发布系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于组件的实时信息发布系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于组件的实时信息发布系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于组件的实时信息发布系统的研究与实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)基于组件的实时信息发布系统的研究与实现.pdf.pdf 免费下载

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

文档简介

华北电力大学硕士学位论文摘要 摘要 实时信息发布系统属于局域网内的信息发布系统,它采用丰富的交流方式, 不但加快了各种信息流转速度,提高了工作人员的效率;而且扩大了知识共享 范围,提高了工作人员的技能。 本文研究了组件技术,探讨了实时信息发布技术,包括各种传输协议、设 计平台和发布方式,设计了基于组件技术的实时信息发布系统体系模型和功能 模型,结合具体实例,开发了一个基于n e t 组件技术的局域网内实时信息发布 系统,实现了局域网内信息发布的基本功能。 关键词:n e t 组件,实时,信息发布 a b s t r a c t t h er e a l t i m ei n f o r m a t i o np u b li c a t i o n s y s t e mb e l o n g s t ol a n s i n f o r m a t i o np u b l i c a t i o ns y s t e m ,i ts e l e c t sr i c he x c h a n g em e t h o d s ,n o to n l y s p e e d su pe a c hk i n do fi n f o r m a t i o np a s t i n gs p e e d ,e n h a n c e ss t a f ft e c h n i q u e ;b u t a l s oe x p a n d sk n o w l e d g es h a r i n gs c o p e ,e n h a n c e ss t a f fs k i l l t h i sp a p e ra n a l y s i sc o m p o n e n tt e c h n o l o g y ,d i s c u s sr e a l t i m ei n f o r m a t i o n r e l e a s et e c h n o l o g y ,i n c l u d ek i n d so ft r a n s p o r t a t i o np r o t o c o l s ,p l a t f o r ma n d p u b l i c a t i o nm e t h o d s ,d e s i g nr e a l - t i m ei n f o r m a t i o ns y s t e mm o d e lb a s e do n c o m p o n e n tt e c h n o l o g y i m p l e m e n tt h ef u n c t i o no fk i n d so fp u b l i c a t i o nt y p eo f r e a l t i m ei n f o r m a t i o ns y s t e m l i uh u i y i n g d i r e c t e db yp r o f z h a n gy u m i n g k e y w o r d s :c o m p o n e n tb a s e d ,n e t ,r e a l - t i m e ,i n f o r m a t i o nr e l e a s e 声明 本人郑重声明:此处所提交的硕士学位论文基于组件的实时信息发 布系统的研究与实现,是本人在华北电力大学攻读硕士学位期间,在导 师指导下进行的研究工作和取得的研究成果。据本人所知,除了文中特 别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研 究成果,也不包含为获得华北电力大学或其他教育机构的学位或证二5 而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示了谢意。 学位论文作者签名:4 盘虹一曰期:一2 c 曲垃 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校 有权保管、并向有关部门送交学位论文的原件与复印件:学校可以采用影印、 缩印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借 阅;学校可以学术交流为目的,复制赠送和交换学位论文:同意学校可以用 不同方式在不同媒体上发表、传播学位硷文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名鱼谴j l 导师签名:墨脚 l e t 期:坠堕尘王 翻朔允力1 己九 华北电力大学硕士学位论文 1 1 论文的选题背景 第一章绪论 1 1 1 研究实时信息发布系统的意义 随着以电子计算机和数据通讯为标志的信息革命的到来,各项技术不断完善, 信息工作的方方面面也发生了巨大的变化,特别是信息手段走上了自动化的道路, 极大地提高了信息工作的效率和准确性。计算机网络作为一科;重要的信息手段, 将分布在不同地理位置的计算机联系起来,实现了信息的收集、加工、存贮、传 递等各个环节的自动化、高速化、标准化。通过计算机网络进行信息发布,能大 大提高信息工作的准确性和时效性。 实时信息发布系统属于局域网内的信息发布系统,它采用丰富的交流方式, 不但加快了各种信息流转速度,提高了工作人员的效率;而且扩大了知识共享范 围,提高了工作人员的技能。目前局域网内的信息发布已经广泛地应用到网络故 障报警、办公自动化、即时通信中,使单位工作协同高效、信息透明,实现了信 息统一、沟通统一、管理统一。 1 1 2 传统的实时信息发布系统开发存在的问题 在实时信息发布系统开发过程中,传统的方法一般是经过需求分析和总体设 计,把实时信息发布的各种功能和特性以固定的方式结合在一起,往往形成一个 独立的整体系统,在其发布之前就集成了使用特性,但其中的许多特性不能独立 地被删除、升级或者替代。对于其它应用软件,即使是使用同一种编程语言,在 同一台机器上运行,也难以共享程序的数据和功能。用传统的技术开发实时信息 发布系统周期长,维护费用也高,并且不同的软件系统无法真正地复用。 1 2 研究课题的提出 基于组件的软件设计是继结构化设计、面向对象设计技术之后的又一方兴未 艾的技术,它通过组装现有的组件来建造大型的软件系统,这种方法可以增强系 统的灵活性、重用性、可移植性和可维护性,提高了软件生产率,减轻了软件开 华北电力大学硕二 学位论文 发的负担。 实时信息发布系统在系统开发过程中可依据实时信息发布系统的功能需求将 其划分为不同的组件设计,最后集成实现。这样实现软件复用,减轻了设计的复 杂度,并随着今后技术的发展可以增加其他现如今未能实现功能的组件。本系统 可单独做为一个系统,也可以以组件的方式集成到任意其他系统中,作为其他系 统的实时信息发布模块。 1 3 课题在国内外研究的状况 作为微软的下一代组件技术,n e t 的出现同时掀起了一场新的组件技术的革 命,n e tf r a m e w o r k s 从多种角度简化了开发过程,并提供交互性的编程语言。 从形式上看,n e t 组件是一个用任何n e t 语言以插件形式开发的可互换的软件 部件,它可以与其他应用程序实现互操作。基于n e t 组件技术的很多应用系统现 已经投入了使用阶段。 局域网内的实时信息发布系统实现的功能是企业级即时通信软件功能的一部 分。近几年来,企业级即时通讯软件e i m ( e n t e r p r i s ei n s t a n tm e s s e n g e r ) 的发展突 飞猛进,其中的即时消息传递技术,能实现快速人机交流、数据共享,从而提高 效率和生产力。 美国c i m 领域巨头先后推出了e i m 。2 0 0 2 年1 0 月,雅虎正式推出y a h o o b u s i n e s sm e s s e n g e r ,一个月之后,a o l 也推出了自己的e n t e r p r i s ea i m ,这些软 件可让企业自行建立内部i m 。2 0 0 3 年1 0 月,微软推出了代表着微软e i m 技术 的l i v ec o m m u n i c a t i o ns e r v e r2 0 0 3 。 国内,2 0 0 2 年初,腾讯公司发布了企业可免费下载的e i m 产品b q q ,2 0 0 3 年9 月,腾讯公司正式推出企业级实时通信软件腾讯通( r t x ,r e a l t i m ee x p e r t ) , 2 0 0 3 年1 1 月,腾讯还推出了包含有i b m 实时技术q u i c k p l a c e 的r t x 实时协作 版。r t x 注重企业所需要的安全性、可管理性和高效性,同时强调了高实用性和 易用性。r t x 包含了即时消息、语音视频会议、双向手机短信等应用,未来更 规划了包括企业客服交流( b 2 c ) 、企业间商务交流( b 2 b ) 以及基于i m 技术的乎叫 中心等功能。为方便广大自主开发团体和以及个人的需求,r t x 提供丰富的二次 开发接口s d k ,通过简单的二次开发,可以实现与其他应用系统的无缝集成,实 现r t x 的功能。 1 4 本文的主要工作 华北电力大学硕二 :学位论文 本文通过分析软件设计方展的新趋势组件技术,结合对实时信息发布系统 所需技术、平台和各种发布方式的深入研究,提出基于组件技术的实时信息发布 系统体系结构模型和功能结构模型,并将其应用到具体开发过程,学位论文的主 要工作如下: ( 1 )阐述本文课题提出的背景及意义,分析当前组件技术和实时信息发布技术 发展热点。 ( 2 )研究分析组件技术的各种实现平台。 ( 3 )探讨实时信息发布的相关协议、平台和发布方式。 ( 4 )对各种发布信息进行分析、分类,确定各种信息的发布类型。 ( 5 )提出基于组件的实时信息发布系统的体系结构模型和功能结构模型,并具 体分析总体功能结构中各部分的功能。 ( 6 )以本文提出的模型为参考,开发一个基于组件的实时信息发柿系统,采用 多种方式完成对实时信息的发布。 1 5 小结 本章介绍了选题的背景,论述了组件技术、即时通信软件昀国内外发展,提 出了本文的研究课题,阐述了本文的主要工作。 华北电力大学硕士学位论文 第二章基于组件的实时信息发布技术的研究与分析 2 1 组件技术及组件平台 组件技术是继结构化设计、面向对象设计技术之后的又一方兴未艾的技术。 基于组件的开发技术 2 】也称作基于组件的软件工程。它通过组装现有的组件来建 造大型的软件系统,这种方法可以增强系统的灵活性、重用性、可移植性和可维 护性,提高了软件生产率,减轻了软件开发的负担【3 1 。组件技术的运用,必将推 动应用软件的开发向着高质量、规范化、可复用的方向发展。 2 1 1 组件技术 关于组件的定义比较多,目前还没有一个公认的标准定义。一般认为,组件 是具有一定功能、能够独立工作或同其他组件组合起来协调工作的程序体,一经 产生,就与它具体的实现语言无关,因此被认为是一段二进制代码或数据段。 组件技术来源于面向对象的技术,但组件和对象又是不同的。一个对象是一 部分源代码,对象可以实现源代码级的复用,对外是不可见的。而组件不一定是 需要经过编译才能使用的一部分源代码,可以是能实际运行的软件模块,组件的 范围小到图形界面中的按钮,大到一个具有相当功能的文本编辑器,一个在应用 程序中的组件对于用户可以是可见的,也可以是不可见的。它通过提供开放的接 口来实现二进制级的复用,独立于开发组件的语言,而面向应用程序,只规定了 外在表现形式,而不关心其内部实现方法。 组件技术的基本思想【4 】【5 】是软件开发与设计不是从头做起,重复过去的工作, 而是挑选由开发商编制好的一系列易于理解和应用的组件。这些组件具有可靠、 模块化、可复用、可扩展等特点,然后用这些组件来组合新的应用软件。 组件技术的核心内容是组件模型,组件模型是对组件本质特征的抽象描述。 现有的组件模型一般认为组件由组件接口和组件内容两部分组成,组件接口是为 成功复用该软件实体需要而提供给外界的所有信息i 包括组件向外提供和请求的 服务、组件的自述信息和定制信息、组件的初始化、实例化和永久化方法以及组 件对目标复用环境的依赖和组件组装信息等。组件内容就是用于直接复用的软件 实体,它可以具有源代码、二进制码、文档、分析设计模型和脚本等不同的物理 形态,并遵从一定的格式标准。 华北电力大学硕士学位论文 组件技术与传统的软件技术相比,具有以下显著优点: ( 1 ) 适应网络环境下的生存,组成应用程序的组件可以分布在网络上的各台计 算机,充分发挥网络功能。 ( 2 ) 平台无关性。 ( 3 ) 可构架。非常适于应用程序的快速开发,所有的组件被封装到统一的组件 库中,开发人员从某个组件库中取出所需的组件并将其快速地组装到一块以构造 所需的应用程序。 ( 4 ) 具有最好的可升级特性,随着功能的提升,不在需要软件的重复删除和安 装操作,同一种软件版本间顺利实现平滑升级。 2 1 2 三种传统的组件平台 现如今有三种传统的组件平台( c o m p o n e n tp l a t f o r m ) 6 1 ,分别是m i c r o s o f t 的 c o m ( c o m p o n e n to b j e c tm o d e l 组件对象模型) 、o m g ( o b j e c tm a n a g e m e n tg r o u p 对象管理组织) 的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 通用对象 请求代理) 和s u n 的e j b ( e n t e r p r i s ej a v ab e a n s ) ,分别介绍这三种组件平台: ( 1 ) m i c r o s o f t 的c o m ( c o m p o n e n to b j e c tm o d e l 组件对象模型) 这是微软的组件系统,它由两个关键元素构成: c o m 接口 在c o m 接口之间传递消息的方法 c o m 接口用微软m i d l ( m i c r o s o f ti n t e r f a c ed e f i n i t i o nl a n g u a g e 接1 5 1 定义语 言) 编写代码,但开始由开发者用c + + 或v b 编程语言写出,然后编译成一个m i d l 接口。c o m 对象只是一个c o m 接口的集成,在这个接口里边包含指向其它接 口实现的指针、该接口的实现或者两者兼而有之。所有c o m 对象都编译成二进 制对象以便它们对在其编译的体系结构上是专用的。接口和组件都被全局唯一标 识器( g u i d s ) 所识别。对于给定的指向一个方法的指针,c o m 指定怎样用专门 的参数去调用自身和按照什么顺序调用。 ( 2 ) o m g ( o b j e c tm a n a g e m e n tg r o u p 对象管理组织) 的c o r b a 7 】( c o m m o n o 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 通用对象请求代理) c o r b a 是为方便分布式对象系统开发的面向对象的体系结构。它允许应用 之间彼此通信,而不论它们处在什么地方或者它们是被谁设计的。在c o r b a 中, 不同对象能通过用接口定义语言( i d l ) 注册其方法来进行通信,每一个接口构成 华北电力大学硕:卜学位论文 如f : 对象名称 它的属性信息 一个或多个署名( 一个方法名加上它所要求的数据类型) 因此,如果一个对象包含三个方法,那么其接口就包含三个署名j 每个署名 对应一个使用中的方法。为每一个方法编写署名的作用是描述任何对象的中间语 言方式能够被发现。如果一个对象用c + + 创建而另一个用v b 创建,那么通过用 i d l 传递信息就可实现它们之间通信。就如为对象互相通信来定义个i d l 一样, c o r b a 也要创建一个容器,在那里每一个接1 3 描述被存储,这就允许一个客户 对象来决定另一个对象的位置以及处理消息传递的通信协议。 ( 3 ) s u n 的e j b ( e n t e r p r i s ej a v ab e a n s ) e j b 6 】是用于开发和部署多层结构的、分布式的、面向对象的j a v a 应用系统 的、跨平台的组件体系结构。使用e j b 结构编写的应用程序具有可扩展性、交互 性以及多用户安全特性。这些应用只需写一次,就可以发布到支持e j b 规范的服 务器平台上,随着需求的改变,应用系统可以不加修改地迁移到其它功能更强、 更复杂的服务器上。 e j b 是服务器端的组件模型,它简化了使用j a v a 创建企业级分布式组件应用 的过程。采用e j b 可以使开发商业应用系统变得容易,应用系统可以在一个支持 e j b 的环境中开发,开发完之后部署在其它环境中。 e j b 组件框架构成元素如下: e j b 客户:使用j n d i ( j a v an a m ea n dd i r e c t o r yi n t e r f a c e ) 查找本地接1 5 1 引 用,通过本地e j b 接口与远程e j b 接口充分利用所有的基于e j b 的功 能 e j b 本地接口:为客户创建、删除、查找e j b 远程接口对象的句柄提供相 应的操作 e j b 实现:由开发者所实现的e j b 应用组件,用来提供特定业务方法的激 发、创建、删除、查找、激活、钝化、数据存储与加载逻辑 容器e j b 实现( s k e l e t o n 与代理) :容器管理分布式通信s k e l e t o n ,实现 容器为组件应用提供的服务 e j b 组件有3 种类型:会话b e a n 、实体b e a n 和消息驱动b e a n 。其中会话 b e a n 分为有状态和无状态两种,实体b e a n 分为b e a n 管理持久性和容器管理持久 性两种。 华北电力大学硕士学位论文 一般来说,开发一个e j b 组件,e j b 开发者必须提供以下4 个文件:e j bh o m e 接口,该接口定义了一些方法供e j b 客户端创建、移动和查找e j b 对象;e j b r e m o t e 接口,该接口定义了e j b 的业务方法,这样才能被客户端访问;e j b 类, e j b 开发者在e j b 类中实现在e j br e m o t e 接口中定义的业务方法;e j b j a r x m l 包含该e j b 组件的配置信息。e j b 部署者使用应用服务器提供者提供的部署工具 将一个开发完整的e j b 组件部署到应用服务器中。 2 1 3 三种传统组件平台的缺点 然而,三种传统的组件平台却各有缺点。 c o m 自开发以来,就具有很多难以解决的问题【7 1 。首先,c o m 组件并不容 易编写,它提供的功能取决于编写它所使用的语言;其次,c o m 的部署比较困难, 新旧版本必须保持兼容,否则在安装引用了新版本的c o m 组件的新应用程序时, 会导致失败,也就是所谓的动态链接库( d l l ) h e l l 。 c o r b a 作为i b m 、h p 、s u n 等超过8 4 0 家o m g 成员联合推出的标准,实 现了平台、语言无关,但只定义了框架和内核,各种实现相差较大,以至于c o r b a 标准目前还没有形成第三方的组件市场,用户采用c o r b a 往往选择一家供应商 的全套方案。 e j b 出现较c o m 与c o r b a 晚,发展迅速,广泛应用于大型电子商务系统 开发,但它只适用于j a v a 语言环境和j v m ( j a v av i r t u a lm a c h i n e ,j a v a 虚拟机) , 未能实现程序设计语言无关性,而且运行效率低,对j 2 e e 服务器配置要求高。 2 1 4m i c r o s o f t n e t 平台 n e t 框架是一种新的计算平台,它简化了在高度分布式i n t e r n e t 环境中的应 用程序开发。n e t 的出现同时掀起了一场新的组件技术的革命,作为微软的下一 代组件技术,n e tf r a m e w o r k s 从多种角度简化了开发过程,并提供交互性的编 程语言。从形式上看,n e t 组件是一个用任何n e t 语言以插件形式开发的可互 换的软件部件,它可以与其他应用程序实现互操作。在n e t 平台的组件层中,组 件是以a s s e m b l i e s 的形式创建的,在其概念模式下,软件系统可以被视为相互协 同工作的对象集合,其中每个对象会提供特定的服务,发出特定的消息,以便其 他对象调用 8 1 。基于以上优点,本文所设计的实时信息发布系统在组件平台的选 择上拟采用n e t 平台。 2 1 4 1 n e t 的发展 华北电力大学硕士学位论文 在2 0 0 0 年之前,v i s u a ls t u d i o n e t b e t a1 就可以免费获得。v i s u a ls t u d i o n e t b e t a1 一改v i s u a ls t u d i 0 6 0 的分散性,它把v b 6 0 升级为v b n e t ,同时开发一种 新语言c # ,并且统一这二种语言。可分别用这二种语言开发出w i n d o w 应用程序 和w e b 程序,且完全是面向对象的语言。 在2 0 0 2 年正式发布v i s u a ls t u d i o n e t 时,已经在金融、航空、制造等许多 项目实施,这使v i s u a ls t u d i o n e t 更加符合用户的要求。2 0 0 3 年,微软公司推出 v i s u a ls t u d i o n e t2 0 0 3 ,v i s u a ls t u d i o n e t2 0 0 3 提供三个版本:v i s u a l s t u d i o n e t2 0 0 3e n t e r p r i s e a r c h i t e c t 允许软件架构师和高级开发人员为基础架构 开发构建大规模的应用程序;v i s u a ls t u d i o n e t2 0 0 3e n t e r p r i s ed e v e l o p e r 允许开 发团队为任意设备快速地构建基于x m l 的网络服务和企业应用软件;v i s u a l s t u d i o n e t2 0 0 3p r o f e s s i o n a l 允许开发人员为任意i n t e r n e t 设备快速构建基于 x m l 的网络服务和下一代应用软件。 现如今,v s n e t2 0 0 5b e t a2 已经成功的发稚,较之v i s u a ls t u d i o n e t 2 0 0 3 , 2 0 0 5 版各个方面都有了很大的进步。 2 1 4 2m i c r o s o f t n e t 简介 n e t 框架具有两个主要组件:公共语言运行库和n e t 框架类库。公共语言 运行库是n e t 框架的基础,可以将运行库看作一个在执行时管理代码的代理,它 提供核心服务( 如内存管理、线程管理和远程处理) ,而且还强制实施严格的类型 安全以及可确保安全性和可靠性的其他形式的代码准确性;n e t 框架的另个主 要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它丌发 包含从传统命令行或图形用户界面( g u i ) 应用程序到基于a s r n e t 所提供的最新 创新的应用程序f 如w e b 窗体和x m lw e bs e r v i c e s ) 在内的应用程序。 21 4 3 n e t 组件 当n e t 类符合组件交互标准时,它就成为n e t 组件。此标准通过i c o m p o n c n t 接口提供。任何实现i c o m p o n e n t 接口的类都是组件。这样的标准允许开发人员 将组件快速插接在一起以创建较大的程序。公共语言规范( c l s ) 描述了为公共语言 运行库创作的组件可以如何交互。 n e t 框架提供了i c o m p o n e n t 接1 1 1 和c o m p o n e n t 基类,使创作适合设计环境 的组件更为容易;还提供了u s e r c o n t r o l 和c o n t r o l 类,使创作可视组件也更加容 易。c o m p o n e n t 类是i c o m p o n e n t 的默认实现,是公共语言运行库中按引用封装的 所有组件的基类。 r 华北电力大学硕士学位论文 2 1 4 4 n e t 组件与其它组件之间的通讯 m i c r o s o f t n e t 远程处理为在不同的a p p d o m a i n s 、不同的进程和不同的计 算机中活动的对象提供了丰富而广泛的框架,使其相互之间能够进行畅通无阻的 通讯。n e t 远程处理提供了使得这些交互变得透明的既非常强大又十分简单的编 程模型和运行库支持。n e t 远程处理方案如表2 1 所示。 表2 一1 n e t 远程处理方案 2 2 实时信息传输协议分析 实时信息传输协议是实时信息传输技术的基础,实时信息传输技术的研究不 能离开实时信息传输协议的研究。实时信息传输协议有多种,包括t c p i p 层的 t c p 协议和u d p 协议、w w w 服务的支撑协议h t t p 、用于传送e m a i l 的s m t p 协议和p o p 3 协议、为多媒体数据的实时传输而设计r t p 协议、用于实现一对多 发送方式的i p 组播协议等。 2 2 1t c p 协议和u d p 协议 t c p ( t r a n s m i s s i o nc o n t r o lp r o t o c o l 传输控制协议) 一j 和u d p ( u s e rd a t a g r a m p r o t o c o l 用户数据报协议) 是t c p i p 的运输层的两个不同的协议。这两个协议是 各种信息,例如文本信息、声音信息等的传送基础,各种发布方式都需要用到其 中的种或两种协议。 t c p 是一个通用的处理数据流( s t r e a m ) 的协议,t c p 建立在无可靠性保证的 i p 基础之上,为用户应用程序提供可靠的数据流传送服务的统一接e l 。t c p 把连 接信息加到数据包上,该协议允许程序在两个网络设备之间建立端到端的连接, 因而给数据的传播提供了一条可靠的路径。t c p 保证数据会可靠地传递到目的设 , 华北电力大学硕士学位论文 备,如果没有到达,则发送器就会收到网络出现错误的指示。由于这一特点,t c p 又被称作一个面向连接的( c o n n e c t i o n o r i e n t e d ) 协议。每一个t c p 连接都包括一 定数量的包丌销,用于建立两个设备之间的连接。一旦建立起这种连接,就可以 在两个设备之间传输数据,不需要应用程序检查丢失或错位的数据。 u d p 协议也是建立在i p 的基础之上,直接使用i p 的数据报进行传送。与t c p 不同的是,u d p 不提供可靠性服务,没有响应信息反馈至发送端,也没有流量控 制和排序功能,与t c p 相比,u d p 就像是一个快照。u d p 在传输数据的网络设 备之间提供了一个无连接的路径,这样就不需要建立标志和连接状态的所有会话 开销。每个u d p “会话”只不过是在一个方向上传输的个包。u d p 只提供信口, 使得数据报在信e l 之间传送,所以u d p 的工作很简单,它适用于可靠性要求不 高的场合。 u d p 有两个字段:数据字段和首部字段。首部字段很简单,只有8 个字节, 由4 个字段组成,每个字段都是两个字节。各字段意义如下: 源端口字段源端口号 目的端口字段目的端口号 长度字段u d p 数据报的长度 检验和字段防止u d p 数据报在传输中出错 t c p 协议是面向连接的协议,因而运输连接的建立和释放是每一次面向连接 的通信中必不可少的过程,另外,该协议还采用了复杂的拥塞控制自适应重传等 机制来保证通信的可靠性,因此时间延迟比较大;u d p 协议比t c p 协议实现起 来简单,它省去建立连接和拆除连接的过程,取消重发检验机制,能够达到较高 的通信速率,交换次数不多,因而从实时性方面比较,u d p 协议优于t c p 协议。 另外,在所有的t c p i p 协议中,u d p 具有最大的灵活性,被大量地应用在 w i n d o w s 操作系统中。 实时信息发布系统对信息发布的实时性要求高,因此设计过程中涉及到这两 个协议的选择时,拟选取u d p 协议进行设计。 2 2 2h t t p 协议 h t t p ( h y p t e r t e x tt r a n s f e rp r o t o c 0 1 超文本传输协议) 1 0 1 是w w w 服务的支 撑协议,h t t p 协议工作在t c p 协议之上。任何通过w w w 方式发布的信息都需 要用到该协议,例如b b s 、邮件浏览等。 h t t p 协议的工作过程是典型的客户n 务器( c l i e n t s e r v e r ) 模式,客户端就是 l o 华北电力大学硕士学位论文 分布在w w w 各个计算机上的浏览器,而服务器就是分布在网络上提供着w w w 服务的主机。h t t p 协议通过请求信息块和应答信息块来实现服务器客户与服务 器间的信息交换的,其请求是通过七种不同的方法来完成的。h t t p 协议的信息 传输方式主要有两种:第一种就是点对点方式,是一种最简单的传输方式,在访 问内部网络中主机时使用的就是这种方式,这种方式服务器的向应速度快,在实 际中使用比较少;第二种就是端到端的数据传输即借助中间服务器的传输方式, 这也是现在使用最为广泛的一种方式,各大内部网访问i n t e r n e t 时都是通过网关 的,现在很多h t t p 传输都是通过这种方式完成的。 h t t p 会话过程如下: ( 1 ) 客户计算机与w e b 服务器建立t c p 连接 ( 2 ) w e b 浏览器向w e b 服务器发送请求命令 ( 3 ) w e b 浏览器向w e b 服务器发送请求头信息 ( 4 ) w e b 服务器发送应答码 ( 5 ) w e b 服务器发送应答头信息 ( 6 ) w e b 服务器向浏览器发送数据 ( 7 ) w e b 服务器关闭t c p 连接 2 2 3s m t p 协议和p o p 3 协议 实时信息发布的一种方式是电子邮件方式,电子邮件是通过电子邮件协议工 作的。目前最重要的电子邮件协议有s m t p 、p o p 3 等,s m t p 是简单邮件传输协 议,当用户在互联网上收发邮件时,是s m t p 在维护传输秩序,它规定邮件服务 器之间进行哪些工作;p o p 3 是互联网电子邮件协议标准,用来传送及接收电子 邮件。 2 2 3 1 s m t p 协议 s m t p ( s i m p l em a i lt r a n s f e rp r o t o c o l 简单邮件传输协议) 【l l 】【1 2 】主要用于与远 程邮件服务器建立连接,i n t e r n e t 上不同的主机系统可以通过这个标准协议所实现 的通用通信技术传递邮件。它是i n t e r n e t 上传输电子邮件的标准协议,用于提交 和传送电子邮件,规定了主机之间传输电子邮件的标准交换格式和邮件在链路层 上的传输机制。s m t p 通常用于把电子邮件从客户机传输到服务器,以及从某一 服务器传输到另一个服务器。 s m t p 协议通讯模型 华北电力大:学硕二f = 学位论文 s m t p 协议是t c p i p 协议族中的一员,其通信模型并不复杂,适合于工作在 嵌入式系统的环境下。它的主要工作集中在发送s m t p 和接收s m t p 上:首先针 对用户发出的邮件请求,由发送s m t p 建立一条连接到接收s m t p 的双工通讯链 路,这里的接收s m t p 是相对于发送s m t p 而言的,实际上它既可以是最终的接 收者,也可以是中间传送者。发送s m t p 负责向接收s m t p 发送s m t p 命令, 而接收s m t p 则负责接收并反馈应答。协议通讯模型如图2 1 所示。 用户 c 今发送端接收端 s m t p文件系统 l 文件毒统 、r 图2 1s m t p 协议通讯模型 s m t p 协议的命令和应答 从通讯模型可以看出,s m t p 协议在发送s m t p 和接收s m t p 之问的会话 是靠发送s m t p 的s m t p 命令和接收s m t p 反馈的应答来完成的。在通讯链路建 立后,s m t p 客户端发送m a i l 命令指令邮件发送者,若s m t p 服务器此时可以 接收邮件,则作出o k 的应答,然后s m t p 客户端继续发出r c p t 命令以确认 邮件是否收到,如果接收到s m t p 服务器端就作出o k 的应答,否则就发出拒绝 接收应答,但这并不会对整个邮件操作造成影响。双方如此反复多次,直至邮件 处理完毕。 s m t p 协议共包含1 0 个s m t p 命令,主要命令有h e l l o 、m a i lf r o m 、 r c p tt o 、d a t 、q u i t 等,它们用来完成服务器端和客户端在进行数据传输正 式开始前需要进行的同步。 2 2 3 2 p o p 3 协议 p o p 3 ( p o s to f f i c ep r o t o c o l 邮局协议) 1 3 】,因为是第三版,所以简称p o p 3 。 它是i n t e r n e t 上传输电子邮件的第一个标准协议,也是一个离线协议。它提供信 息存储功能,负责为用户保存收到的电子邮件,并且从邮件服务器上下载取回这 些邮件,p o p 3 为客户机提供了发送信任状( 用户名和口令) ,这样就可以规范对 电子邮件的访问。一旦客户机与服务器建立一个连接,就发出简单文本命令,并 且服务器以恰当的信息来响应。必须知道使用的命令是什么,以什么样的顺序发 出,才能正确的从服务器上收取信件。p o p 3 服务监听t c p 的1 10 端口是否有人 尝试连接。当一个新的连接建立起来,p o p 3 服务器会发送一个欢迎消息并且等 待客户机发送命令。 p o p 3 协议规定的命令有:u s e r 、p a s s 、s t a t 、l i s t 、r e t r 、d e l e 、n o o p 、 华北电力大学硕士学位论文 r s e t 、q u i t 、t o p 、u i d l 、a p o p 共1 2 条。 2 2 4r t p 协议 实时信息还可以通过音视频的方式进行发布,这就需要用到实时传输协议。 实时传输协议r t p h 】是由i e t f ( i n 特网工程任务组) 为多媒体数据的实时传输而设 计的传输协议。它位于t c p 和u d p 协议之上,通常是利用低层的u d p 协议对实 时音视频数据进行多播或单播,从而实现多点或单点音视频数据的传输。但是, 它并不依赖于u d p ,也可以在其他传输层协议( 如t c p ) 之上运行。它本身并不提 供任何传输可靠性的保证和流量的拥塞控制机制,具体实现依靠开发者来完成。 r t p 协议由两个相关的协议组成: 实时传输协议r t p ( r e a l t i m et r a n s p o r tp r o t o c o l ,简称r t p ) 负责传输数据 实时传输控制协议r t c p ( r e a l t i m et r a n s p o r tc o n t r o lp r o t o c o l ,简称r t c p ) 负责监视传输的服务质量,并提供有关会话的信息 。 r t p 报文由报文头和数据部分组成,主要用于视频数据的封装和传输;r t c p 是r t p 的控制协议,它用于监视服务质量,并向正在进行会议的与会者传递信息, 它单独运行在传输层协议( 如u d p ) 上。根据协议规定,r t p 和r t c p 选用不同的 网络端口号,若r t p 选择一个偶数位的端口号,则r t c p 选用下一个奇数位的端 口号。r t c p 周期性地向同一个多播组内的所有成员发送报文,r t c p 报文共有五 类:s r ( 发送报告) 、r r ( 接收报告) 、s d e s ( 源描述项) 、b y e ( 离开标示) 、a p p ( 应 用特定函数) 。类似于r t p 数据包,每个r t c p 包以固定部分开始,紧接着是可 变长结构元素。r t c p 包可堆叠,且不需要插人任何分隔符,在传输时用低层协 议以单一包的形式发送出去。 r t c p 的主要功能如下: 对数据传输的质量提供反馈 提供不同媒体间的同步 在会话的用户界面上显示会话参与者的标识 r t p 己在因特网上得到了广泛使用【”j ,如r e a ln e t w o r k 公司的r e a l p l a y e r , a p p l e 公司的q u i c kt i m e 和m i c r o s o f t 的n e t m e e t i n g 等。r t p 最常见的一些应用 是音视频流媒体服务和视频会议,如i p 电话所采用的协议h 3 2 3 和会话发起协议 ( s e s s i o ni n i t i a t i o np r o t o c o l ,s i p ) 都是采用r t p 来传输实时的语音数据。 2 2 5i p 组播协议 华北电力大学硕士学位论文 实时信息发布的另一种方式是组播方式。i p 组播技术【1 6 】【17 】有效地解决了单点 发送多点接收、多点发送多点接收的问题,实现了i p 网络中点到多点的高效数据 传送,能够有效地节约网络带宽、降低网络负载。i p 组播技术已在实时数据传送 方面有较大的应用。 组播( m u l t i c a s t ) 是指通过使用特定的组播地址,按照最大投递的原则,将数据包 传输给一个组播组( m u l t i c a s tg r o u p ) 的所有主机。它的基本方法是,当发送者向一组 接收者发送数据时,不必将数据向每个接收者都发送,只需将数据发送到一个特 定的预约的组地址,所有加入该组的人均可以收到相同的数据拷贝,而不属于该组 的主机则不能接收该数据拷贝。 组播协议【1 8 】分为主机一一路由器之间的组成员关系协议和路由器一一路由 器之间的组播路由协议。组成员关系协议包括i g m p ( 互连网组管理协议) ;组播 路由协议分为域内组播路由协议和域间组播路由协议,域内组播路由协议包括 p i m d m ( p r o t o c o li n d e p e n d e n tm u l t i c a s t d e n s em o d e 密集模式协议无关组播) 、 d v m r p ( d i s t a n c ev e c t o rm u l t i c a s tr o u t i n gp r o t o c o1 距离向量组播路由协议) 、 p i m s m ( p r o t o c o li n d e p e n d e n tm u l t i c a s t s p a r s em o d e 稀疏模式协议无关组播) 等协 议,域间组播路由协议包括m b g p ( 组播边缘网关协议) 、m s d p ( 组播信源发现协 议) 等协议。同时为了有效抑制组播数据在链路层的扩散,引入了i g m ps n o o p i n g 、 c g m p 等二层组播协议。 i g m p 建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议 根据i g m p 维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播 分发树进行组播数据包转发。 p i m d m 和d v m r p 都属于密集模式组播路由协议,密集模式忉、议运行于组 播源和组播接收端位于同一个区域的环境中,比如局域网l a n 在这种方式下, 还假定有足够的带宽。p i m d m 和d v m r p 协议的主要区别是p i m d m 是与协议 无关的组播,它可以采用任何一种i p 路由协议( 如r i p 、i g r p 、o s p f 等) ,而d v m r p 使用的是内建的r i p 路由协议。 p i m s m 与p i m d m 相似,两者都是与协议无关的组播,但p i m s m 属于稀 疏模式组播路由协议,稀疏模式协议运行于组播源和组播接收端相隔较远的环境 中,比如在w a n 中使用更有效,现在各大运营商的主要采用组播路由协议是 p i m s m 。 域间组播目前仍然处于一个研究阶段。目前比较成型的解决方案是下面二个 协议的组合:m b g p ( 组播边缘网关协议) ,用于在自治域间交换组播路由信息; m s d p ( 组播信源发现协议) ,用于在i s p 之间交换组播信源信息。 14 华北电力大学硕士学位论文 2 3 实时信息发布平台分析 2 3 1 n e t 平台 在本文的2 1 4 中曾经给出了n e t 平台的简单介绍,当时是将其作为组件平 台介绍的,n e t 也可以为实时信息发布提供平台,下面详细介绍一下n e t 平台 的框架结构。 n e t 平台是包括微软各种操作系统( 从w i n c e 到w i n d o w sm e 再到w i n d o w s 2 0 0 0 、

温馨提示

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

评论

0/150

提交评论