(通信与信息系统专业论文)多媒体通信系统中间件平台的研究与实现.pdf_第1页
(通信与信息系统专业论文)多媒体通信系统中间件平台的研究与实现.pdf_第2页
(通信与信息系统专业论文)多媒体通信系统中间件平台的研究与实现.pdf_第3页
(通信与信息系统专业论文)多媒体通信系统中间件平台的研究与实现.pdf_第4页
(通信与信息系统专业论文)多媒体通信系统中间件平台的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(通信与信息系统专业论文)多媒体通信系统中间件平台的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 中间件是分布式应用系统中非常重要的结构元素,起到了简化系统结构,控 制系统实现复杂度,并在高层进行系统构建的作用。随着i p 多媒体通信技术与分 布式应用的融合,将中间件平台技术应用于多媒体通信系统是其中非常重要的一 个方面。而其核心问题是,中问件平台需要支持多媒体通信从单一数据通信服务 向多媒体通信服务扩展,以及从有线通信环境向普适通信环境扩展。 论文以数据、话音和视频多媒体业务为应用背景,无线有线i p 网络为运行环 境,广泛讨论了多媒体通信对中问件平台的潜在需求,深入分析了构建多媒体中 间件平台的相关技术,包括x m l 协议、u d t 协议、x m p p 协议、x m l 解析和压 缩、重叠网络等。论文根据i n s t l i n k 多媒体通信系统的应用需求,引入消息中 间件建立了基于c s 的信令消息服务框架,采用u d t 技术增强对无线通信环境的 支持并提供可靠的数据服务。通过将p 2 p 模式纳入系统的媒体通信服务框架,扩 展了系统对实时媒体通信的支持,从而建立了面向多媒体业务的中间件模型。 论文实现了一个提供尽力传送、实时通信、可靠交付等多种通信服务的中间 件平台,可在无线和有线环境中支持数据、语音、视频等通信应用的开发。该平 台已应用到i n s i l i n k 通信系统并上网运行。论文最后还对该平台如何构建重叠通 信网络进行了探讨。 关键字:消息中间件x m p px m l 压缩u d p 可靠传输 a b s t r a c t m i d d l e w a r ep l a y sa ni m p o r t a n tr o l ei nd i s t r i b u t e ds y s t e m ,w h i c hs i m p l i f i e st h e s y s t e m sa r c h i t e c t u r e ,c o n t r o l st h ec o m p l e x i t yo ft h es y s t e m ,a n dm a k e st h es y t e m c o n s t r u c t e da th i g hl e v e l w i t ht h ec o n v e r g e n c eo ft h em u l t i m e d i ac o m m u n i c a t i o n t e c h n o l o g yb a s e di pa n dd i s t r i b u t e da p p l i c a t i o n ,o n eo ft h em o s ti m p o r t a n ta s p e c ti st o a p p l yt h em i d d l e w a r et e c h n o l o g yt om u l t i m e d i ac o m m u n i c a t i o ns y s t e m t h ee s s e n t i a l q u e s t i o no ft h em i d d l e w a r ei st oe x t e n dd a t as e r v i c et om u l t i m e d i as e r v i c e ,a n da l s ot o e x t e n dw i r e dn e t w o r k st ou b i q u i t o u sn e t w o r k s u n d e rt h eb a c k g r o u n do fm u l t i m e d i aa p p l i c a t i o na n dw i r e d w i r e l e s si pn e t w o r k s , t h i st h e s i sd i s c u s s e st h ep o t e n c i a ld e m a n do ft h em u l t i m e d i as y s t e mt om i d d l e w a r e , a n a l y z e st h er e l a t i v et e c h n o l o g i e su s e dt oc o n s t r u c tm i d d l e w a r e ,i n c l u d i n gx m l p r o t o c o l ,u d tp r o t o c o la n dx m p pp r o t o c o l ,x m lp a r s i n ga n dc o m p r e s s i o n ,o v e r l a y n e t w o r k b a s e do nt h ea p p l i c a t i o nr e q u i r e m e n t so ft h em u l t i m e d i ac o m m u n i c a t i o n s y s t e mn a m e di n s t l i n k ,t h et h e s i si m p o r t st h em e s s a g e o r i e n t e dm i d d l e w a r e ( m o m ) t ob u i l das i g n a l l i n gm e s s a g es e r v i c e sf r a m e w o r k ,a n da l s ou s e st h eu d t p r o t o c o lt o s u p p o r tw i r e l e s se n v i r o n m e n ta n dr e l i a b l et r a n s p o r t v i ai m p o r t i n gt h ep 2 pm o d ei n t o t h em u l t i m e d i ac o m m u n i c a t i o ns e r v i c e sf r a m e w o r k ,t h i ss y s t e mc a np r o v i d er e a l t i m e m e d i ac o m m u n i c a t i o n i nc o n c l u s i o n ,w ec r e a t eam i d d l e w a r em o d e lf a c e dt o m u l t i m e d i ac o m m u n i c a t i o n t h i st h e s i si m p l e m e n t sam u l t i m e d i am i d d l e w a r et h a tc a n p r o v i d er e a l t i m e , r e l i a b l e a n do f f - l i n et r a n s p o r t ,a n dm a n ya p p l i c a t i o n s ,s u c h 嬲d a t a , a u d i o ,v i d e oc a l lb e d e v e l o p e du p o nt h i sp l a t f o r m a tl a s t , w ea p p l yt h em u l t i m e d i am i d d l e w a r ep l a t f o r mt o t h ei n s t l i n kc o m m u n i c a t i o ns y s t e m w ea l s od i s s c u s st h ec o n s t r u c t i o no fo v e r l a y n e t w o r ko nt h em u l t i m e d i am i d d l e w a r e k e y w o r d :m o m x m p px m l c o m p r e s s i o nu d t 创新性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了i 勇 意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 只期: 矽f 一,乡,少 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密在年解密后适用本授权书。 本人签名: 翩繇拉 日期: 沙,j 罗,i t 日期:岁, 第一章绪论 第一章绪论 1 1 研究的背景和意义 随着计算机网络技术的飞速发展,i p ( i n t e m e tp r o t o c 0 1 ) 已变成全球通用的传输 协议,将话音、视频等传统业务向i p 迁移是大势所趋。同时v o i p ( v o i c eo v e r i n t e m e tp r o t o c 0 1 ) 、e m a i l 、电子商务、以及基于i p 的多媒体会议技术的成熟,也 不断推动着数据传输业务的发展。因而,将多样化的媒体和数据应用集中到一个 统一的平台之上,也变得越来越为迫切和重要,建立统一的通信软件平台已经成 为了下一代通信的发展趋势。 而在分仃式应用迅速普及的背景下,针对软件的应用,又出现了新的问题, 如可扩展性可移动性差、网络环境复杂多变、数据的分散处理等,为了解决这些 问题,更好地开发和应用能够运行在异构平台上的软件,中问件技术就应运而生。 将应用从客户端服务器模型向客户端中问件月艮务器三层模型进行转移己成为用 户的迫切需求,也是当今计算机技术发展的一个主流趋势。三层模型的中间件是 位于硬件、操作系统平台和应用程序之间的通用服务,具有标准的程序接口和协 议,可实现不同硬件和操作系统平台上的数据共享和应用互操作。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成 为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络 服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不 管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持 中间件对外的接口定义不变,应用软件几乎不需任何修改。另外,中间件能屏蔽 低层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少 程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软 件上的移植而重复工作,从而大大减少了技术上的负担【l 】。 目前已经存在有大量的通信软件,如m s n 、s k y p e t 2 1 、f r e e p p 、q q 等,他们 都是基于某一特定的协议,如果需要实现互通,则又需要添加额外的网关,增加 了网络的复杂性。并且大部分都面向普通用户,有的应用扩展开发困难。针对媒 体业务和数据业务目前也已形成了多种通信协议和标准,如t 1 2 0 、s i p ( s e s s i o n i n i t i a t i o np r o t o c 0 1 ) 3 1 、i a x ( i n t e r - a s t e r i s ke x c h a n g e ) 、s i m p l e ( s i pf o ri n s t a n t m e s s a g i n ga n dp r e s e n c el e v e r a g i n ge x t e n s i o n s ) 、x m p p ( e x t e n s i b l em e s s a g i n ga n d p r e s e n c ep r o t o c 0 1 ) 等。其中x m p p 作为g o o g l e t a l k 的通信协议,是目前最为先进以 及最具发展潜力的通信协议,它是基于x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 规范的, 2 i n s t l i n k 系统中间件平台的研究与实现 具有良好的扩展性和兼容性,并且其相关扩展协议也在不断的完善发展当中。因 此我们也选择了x m p p 作为所丌发通信系统( i n s t l i n k 系统) 的标准协议,如 此不但可以利用其扩展协议更为方便的添加应用,也可以很方便的与其他通信软 件进行互联互通,关于x m p p 协议的介绍将在3 1 2 节进行介绍。 虽然已有的中间件在数据应用等方面都有良好的基础,但是都不能满足多媒 体通信及无线环境应用的特殊要求,针对通信系统还没有较好的中问件产品,论 文的主要工作就是设计适合多媒体通信系统的中间件。 1 2 发展和研究现状 最早的中间件为t u x e d o ,实质上它是一个交易中间件。1 9 9 8 年国际数据公司 ( i d c ,i n t e r n a t i o n a ld a t ac o r p ) 公司对于中问件有一个定义,并根据用途将其划分为 六个类别,如今所保留下来的只有消息中间件和交易中间件,同时对反射中i 、口j 件 的研究也开始展开【4 j 。 2 0 0 0 年前后,互联网盛行起来,随之产生了应用服务器。实际上,交易中间 件也属于应用服务器,人们将传统的交易中间件称为分布式交易中问件,因为它 主要应用在分布式环境下,而将新的应用服务器称为j 2 e e 中问件【5 】。 到2 0 0 5 年,此时分布式模型可以定义为一套处理分布式应用的机制,如分布 式计算,远程过程调用( r p c ,r e m o t ep r o c e d u r ec a l l ) ,消息传递等。中间件规范, 如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 ) 、j m s ( j a v am e s s a g i n g s e r v i c e ) ,已经对这些机制提供了相应的a p i 及协议支持。但是随着分布式应用范 围的加大,对分布式系统的要求也随之而来,用户需要对分布式模型进行扩展或 者限制,同时特定的应用也需要新的机制支持,如对象保持、事务请求处理、轻 量级运行时间等。此时,已存在的中间件需要进行部分的重新设计从而满足额外 的应用需求,同时对此后的中间件提出了新的要求,那就是足够的通用来适应不 同分布式模型的额外需求,依赖于特定分布式模型的中间件组件应当被限制为应 用层或者协议层组件【6 】。 到2 0 0 7 年为止,中间件技术已经被应用于关键字查询,全球v o i p 互联,服 务发现渗透【,带宽自适应分发等领域中【8 】。从2 0 0 8 年开始,中间件又向自动化 发展,开发者从应用需求中构建中间件,通过分析系统的架构描述,设计更为细 致的中间件组件,进而避免对通用中间件的配置 9 1f 1 0 1 。 现在,随着网络领域的技术发展,新的设备和网络,新的应用领域以及他们 之间复杂的关系,正在建立一个开放的移动网络环境,如3 g p p ( 3 r dg e n e r a t i o n p a r t n e r s h i pp r o j e c t ) 。在这样多变不可预测的环境下,又出现了新的挑战,如不 同移动设备间的无缝接入,在动态环境中维持连接,动态的发现节点和资源,低 第一章绪论 c p u 速率,低功耗,低内存等【l 引。同时有待解决的关键技术还包括上下文的识别, 开放灵活的协同模型,普遍的交互性等。 中问件几乎在所有的软件领域都得到了广泛的应用,如医疗【l3 1 、无线传感、 智能传输系统( i t s ,i n t e l l i g e n tt r a n s p o r ts y s t e m ) 、嵌入式【1 4 】等。中间件技术的诞生 是为了用自身的复杂换取应用开发的简单,但目前的中间件技术本身已经有过于 复杂和过于通用的倾向,使得用户在选择和使用时遇到很多麻烦。因此,如何使 中间件技术能更简便、明确的针对应用的需要,将成为中i 日j 件技术的一个发展方 向。一方面,中间件需要提供满足个性化应用的解决方案,形成一种特别适用的 支撑环境;另一方面,中间件需要整合,使应用只需面对个可以解决问题的软 件平台。 通过对中间件的研究现状分析可得,虽然已有的中间件在数据应用等方面都 比较成熟,但是在多媒体综合通信领域还没有很好的产品,同时在无线环境下的 媒体数据应用研究也不够深入,因此本文对中i 日j 件在多媒体通信以及无线环境下 的应用进行了深入研究。 1 3 论文的主要工作 鉴于通信系统的特殊性,为其设计开发一个简便有针对性的多媒体通信中间 件平台是本次工作的重点。本人主要负责中间件平台的框架设计以及部分功能模 块的实现。该平台的主要特点在于,将已有的集中式消息中问件技术在系统中进 行应用,使其满足通信系统中消息传输的需求;对消息中间件进行扩展,添加可 配置的信令压缩和加密功能;结合p 2 p ( p e e r - t o p e e r ) 以及r t p ( r e a l t i m et r a n s p o r t p r o t o c 0 1 ) 技术,为系统提供针对p 2 p 的媒体及数据传输中间件,最终形成一个混合 式的多媒体通信中间件平台。本人主要工作包括,分析x m p p 协议,以及已有的 x m l 解析器,实现x m p p 协议的解析功能模块;在已有的解析模块之上,通过分 析已有的压缩原理和压缩工具,进一步实现对信令的压缩功能;对于p 2 p 数据传 输,分析已有的u d t ( u d p b a s e dd a t at r a n s f e rp r o t o c 0 1 ) 协议和源码,进而在网络 传输层上实现u d p ( u s e rd a t a g r a mp r o t o c 0 1 ) 的可靠传输;在可靠p 2 p 传输模块的基 础上,扩展服务器功能,从而使其支持u d p 连接的建立和维持,实现u d p 链路 之上的客户端服务器问的信令交互;最后还对该通信系统中重叠网络的构建进行 了研究。 i 4 论文的内容安排 本文主要研究了中间件平台的相关理论,x m l 相关的理论,以及u d t 协议 4 i n s t l i n k 系统中间件平台的研究与实现 等。设计了通信系统中间件平台的框架,并实现了部分功能模块。 第一章,介绍中间件平台的研究背景和发展现状,以及本次论文的主要工作。 第二章,对中间件的相关理论进行了详细介绍,同时对所设计中间件平台中 所用到的x m l 规范以及相关知识、u d t 协议、重叠网络等做了具体介绍。 第三章,分析多媒体通信需求,提出多媒体中间件模型,并对模型中的主要 功能模块按需求进行构建。 第四章,这罩详细介绍了中间件平台整体框架以及内部具体的模块设计。 第五章,对部分模块的实现进行了详细介绍。实现将以功能模块为单位,各 自独立进行介绍。 第六章,总结本文的主要内容和贡献,并在此基础上给出对下一步工作的展 望。 第二章相关理论5 第二章相关理论 多媒体通信系统的中间件平台所涉及的技术综合性很强,论文首先对中间件 的定义以及目前中间件的主要应用进行了讨论,同时对中间件在通信系统中的应 用进行了分析。 在多媒体通信系统中,从横向看,中间件平台对应用提供的服务可划分为信 令控制和媒体传输两个部分。现代通信系统中节点间信令的交互大多是基于x m l 描述的,因此x m l 技术是中间件平台的核心技术之一。而在无线环境下,为了提 高带宽效率,论文研究了x m l 压缩技术。对于媒体的传输,为了提供高效的媒体 广播和多播,论文研究了重叠网络技术,同时对其在系统中的应用进行了分析。 从纵向看,中间件平台在分布式系统中起着承上启下的作用,掩盖传输网络 的差异,向上层应用提供透明的多种服务质量的网络服务,因而需要对网络传输 层的技术进行研究。u d t 协议是基于u d p 的提供高效可靠的数据传输的协议,所 以该协议可以对无线与有线环境下的可靠数据传输提供保证,在中间件平台中具 有重要地位,下文也将对其进行分析。 2 1 中间件技术 中间件( m i d d l e w a r e ) 是基础软件的一大类,属于可复用软件的范畴。它介于系 统软件和用户的应用软件之间,使用系统软件所提供的基础服务,衔接网络上应 用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。也就是 说,中间件在操作系统、网络和数据库之上,应用软件的下层,其作用是为处于 自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成 复杂的应用软件。 2 1 1 中问件定义 由于中间件技术正处于发展过程之中,尚不能对它进行精确的定义。目前普 遍能接受的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件 借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统 之上,管理计算资源和网络通信。 从中间件的定义可以看出,中间件是一类软件,而非一种软件。中间件不仅 仅实现互连,还要实现应用之间的互操作,是基于分布式处理的软件。中间件在 分布式系统中的位置如图2 1 所示。 6 i n s t l i n k 系统中间件平台的研究与实现 幽2 1 中间1 i ,l :f 台分布图 按照i d c 的分类方法,中间件可分为六类:终端仿真屏幕转换中间件、数据 访问中间件、远程过程调用中问件、消息中问件、交易中间件、对象中i 口j 件。 当然,i d c 的分类并不能包含目前所有的中间件产品,比较流行的还有:w e b 服务器中间件、安全中间件、特殊领域中间件等。中间件的分类是随着技术的进 步而不断变化和发展的,其还会不断的丰富。 2 1 2 中问件应用 目前已有的中间件应用涵盖了非常广泛的领域,比较热门的应用领域有: r f i d ( r a d i of r e q u e n c yi d e n t i f i c a t i o n ) 中间件 该中间件应用于无线射频识别领域,扮演r f i d 标签和应用程序之间的中介角 色,应用程序端使用中间件提供的通用应用程序接口,就能连到r f i d 读写器,读 取r f i d 标签数据。这样一来,即使存储r f i d 标签情报的数据库软件或后端应用 程序增加或改由其他软件取代,或者读写r f i d 读写器种类增加等情况发生时,应 用端不需修改也能处理,省去多对多连接维护的复杂性问题【l 5 1 。 无线传感网络中间件 在传感器网络中,针对不同的应用环境,其硬件平台、软件系统和网络协议 差别都很大。传感器网络中间件的主要目的就是支持基于传感器的应用程序的开 发、维护、配置和运行,包括形成复杂的高层任务,完成该任务与网络的通信, 协调参与任务的节点,并把任务进行拆分后分配给单个节点,然后进行必要的数 据融合把单个数据合成为一个高层的结果,并找到合适的路由将结果传送给任务 发起者,同时针对网络的异构性提供必要的抽象机制。无线传感器网络中间件的 设计原则为:以数据为中心,嵌入应用程序知识,可调的保真度算法,自动配置 和纠错机制,时间和位置信息管理等【l 引。 移动中间件 随着各种以移动为特征的新技术的大量兴起,使得基于这些新技术之上的移 动计算得到了迅速的发展。而这些在移动环境下以移动为特征的计算范型,使得 传统中间件在静态网络上对所有类型的应用操作抽象为统一的分布式应用的基本 第二章相关理论7 假设将不再有效。目前移动中间件的主要研究方向大致可以分为如下几类:基于 传统中间件的扩展来支持移动计算的中间件;基于数据共享的移动中间件;基于 元组空间的协调中间件;上下文感知的移动中问件;动态自适应的中问件等【l 。”。 在移动计算中,应用行为需要根据基础设施的动态改变而改变,因此与传统中间 件相比,有以下特性:动态重配置、自适应性、环境感知、异步范型、轻量级等【i 8 1 。 以上仅仅对目自i 较为热门的中间件应用领域进行了介绍,其实中间件所覆盖 的领域远不止于此,并且随着中问件技术的发展,以及中间件重要性的凸显,其 应用领域还将不断扩大。 2 1 3 应用分析 上面介绍的几类中间件都针对某一应用领域,虽然在其领域内具有良好的适 用性,但是都没有很好的解决多媒体通信的相关问题。因而,我们需要从中问件 技术的基本原理出发,构架符合多媒体通信需求的中间件。中间件的通信机制主 要包括:远程方法调用( 分为同步方法调用模式、延迟同步调用模式及单向调用 模式) 、异步回调模式、异步轮询模式、时间无关激活、基于中间代理的异步等。 在通信系统中,考虑到通信双方同时在线的情况,采用了异步回调来实现流程解 耦;同时考虑到通信一方不在线的情况,又引入了时间无关激活,从而对通信双 方进行了时间解耦,此时引入的软件路由代理就为服务器。考虑到无线移动环境 下的应用,我们还需要使系统中的中间件具有动态配置、自适应等多项特性 2 2x m l 相关技术 x m l 可扩展标记语言是由w 3 c 组织于1 9 9 8 年2 月制定的一种通用语言规范, 是s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 的一个简化子集。它以一种开放的 自我描述方式定义数据结构,在描述数据内容的同时能突出对结构的描述,从而 体现出数据之间的关系。因此,目前正在迅速成为网络资料交换的标准。 x m l 的主要特性为:x m l 是一种元标记语言,只定义了一套元句法,具有 很强的可扩展性;x m l 描述的是数据的结构和语义,而不是格式,即x m l 有效 地实现了数据与格式的分离;x m l 使用独立于平台与语言的文本格式来表示数据, 这便使得它成为在不同的应用间交换数据的理想格式。 由于x m l 具有的诸多特点,现正被广泛应用于三个主要领域:简单的数据表 示与交换、面向消息的计算以及和用户界面相关、表示相关的应用。 i n s t l i n k 系统中间什平台的研究与实现 2 2 1x m l 解析 以x m l 格式进行数据存储或者传输的软件,都需要x m l 解析器的支持。解 析器从x m l 文档中提取有效数据,然后创建一系列的事件或者是新的数据结构。 解析器也能够检查文档是否是格式有效的,也就是说是否严格的遵守了x m l 规 范,而这是处理x m l 文档之前就必须进行的工作。另外,如果该文档有一个 d t d ( d o c u m e n tt y p ed e f i n i t i o n ) s c h e m a ,解析器还应该能够判断一个文档是否遵守 该d t d s c h e m a 标准。 解析器的不同不仅在于它们是否支持完整性检查和文档表现形式转化,而且 还在于它处理文档的方式。这里主要分为两类: 第一种为基于事件的解析器,它通过串行的方式来处理文档,也就是说当它 遇到一个丌始或者结束标记的时候,它向应用程序发送消息,由应用程序决定如 何进行处理。s a x ( s i m p l ea p if o rx m l ) 就是这样的一个a p i 集合,其优点是分析 能够立即开始,而不是等待所有的数据被处理;由于应用程序只是在读取数据时 检查数据,因此不需要将数据存储在内存中。 第二种方法为根据文档的内容建立一个层次的数据结构,这是 d o m ( d o c u m e n to b j e c tm o d e l ) a p i 的工作方式。d o m 是用与平台和语言无关的方 式表示x m l 文档的官方w 3 c 标准,它是以层次结构组织的节点或信息片断的 集合,这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加 载整个文档和构造层次结构,然后才能做其他工作。由于它是基于信息层次的, 因而d o m 被认为是基于树或基于对象的。 2 2 2x m l 压缩 由于x m l 本身结构和标签的冗余性,导致其在带宽资源有限的环境中无法得 到很好的应用,因此针对这一情况,x m l 相关的压缩技术和压缩工具也就随之发 展起来。 分类 压缩所使用的方法可以分为三类:基于冗余的压缩方法、基于s c h e m a 的压缩 方法以及混合的压缩方法。基于冗余的压缩方法通过对源文件中的字符串进行替 换来实现压缩;基于s c h e m a 的压缩方法则利用了结构的知识;混合的压缩方法将 前面两种方法结合起来使用。 1 ) 基于冗余的压缩方法 基于冗余的压缩方法已经相当成熟,并且早就得到应用。其工作原理是在字 符层次上消除冗余。同时假设对文档的结构和内容一无所知,仅对源文件中数据 第二章相关理论9 统计上的冗余字符串进行替换,如哈夫曼编码。对冗余字符串的替换是基于字典 的,而该字典的编码与冗余字符串的索引码相匹配,如l e m p e l z i v l z 7 7 。总而言 之,基于冗余的压缩方法在大文件上实现了良好的压缩结果,但是随着文件大小 的减小,其性能也随之降低,如w i n z i p 。 2 ) 基于s c h e m a 的压缩方法 针对x m l 的基于s c h e m a 的方法是在过去的几年出现的。该方法的工作原理 是,基于源文件的内容和结构的设计知识对文件进行编码。在基于s c h e m a 的压缩 中,压缩数据中的整个x m l 标签不被表示,并且可以通过设计知识来进行重构。 通过权衡设计知识,可以得到更好的压缩效率。另外,在不对整个文件进行解压 的情况下,该方法也允许接收端将x m l 标签和内容从压缩文件中恢复。因此基于 s c h e m a 方法的一个优点就是,允许在不恢复原始x m l 文件的情况下,对压缩数 据进行共享,如b i m 。 3 ) 混合的压缩方法 混合压缩方法同时应用了基于冗余和基于s c h e m a 的两种压缩方法,从而进一 步降低数据的大小【l9 1 。为了达到较好的压缩效率,本文所设计和实现的方法就是 基于该思想的。 已有算法 1 ) x m i l l x m i l l 是第一个针对x m l 的压缩方法,它的基本思路是将结构信息与数据项 分离并在利用g z i p 压缩工具进行数据压缩之前对文档进行预压缩。为了达到优化 x m l 文档压缩的目的,预压缩需要完成两个主要的目的:从文档数据中分离出结 构信息;将具有相关语义的数据项划分到同一个组别中。x m i l l 算法具有很好的 压缩性能,但用户访问被压缩的x m l 文档前必须解压缩整个文档;而且为了达到 很好的压缩效果需要用户的干预,这也增加了其使用的难度。因此该算法并没有 得到广泛的应用,但其思想却影响了其后的一些x m l 压缩算法【2 0 1 。 2 ) x g r i n d x g r i n d 为可查询的x m l 压缩算法,它采用了一种所谓的同构转换策略,也 就是说由它压缩的x m l 文档在结构上与原来的x m l 文档是相同的。x g r i n d 算 法的编码方法沿用x m i l l 算法将表示文档结构的数据分离出来单独进行编码,编 码方式也与i l l 方式一样,而对于数据项由于要考虑到可查询性而采用了非自 适应上下文无关的哈夫曼编码并且在编码序列的最后字节会进行补足从而达到字 节对齐的效果。虽然x g r i n d 算法具有支持查询的优点,但其在压缩率上的表现却 不如x m i l l 算法,而且由于其需要进行两次文档解析使得它的压缩时间也变得很 长【2 1 1 。 3 ) x m l p p m 1 0 i n s t l l n k 系统中间件平台的研究与实现 类似于x m i l l 算法,x m l p p m 算法也采用了两步压缩的策略。首先它采用了 基于s a x 编码的多层次模型方法将x m l 文档中的标签、属性以及数据项进行分 类。考虑到跨模型数据之间的相关性,该步骤引入了一种被称为嵌套标志索引的 方法使得具有嵌套关系的跨模型数据之间的上下文关系更加清晰。在第二步中, 算法采用p p m ( p r e d i c t i o nb yp a r t i a lm a t c h ) 编码方式对各个模型中的数掘进行压缩 编码。p p m 编码方式是根据对已编码数据的统计来预测接下来的数据,并根据这 个预测概率对接下来的数掘进行编码。x m l p p m 算法可以无需用户干预就获得高 于x m i l l 算法( 默认模式) 的压缩率,同时它还支持s a x 技术的x m l 文档处理, 但由于p p m 编码方式是一种相对较慢的压缩技术而使得该算法需较长的压缩时间 2 2 1 o 4 ) x p r e s s x p r e s s 算法采用了与x g r i n d 算法相似的同构转换策略以保持在语义和结 构上与原来的x m l 文档相同,从而能支持x m l 压缩文档的直接查询。但x p r e s s 采用了一种特殊而新颖的编码方式,即一种被称为倒装算术编码的编码方式。因 为x m l 文档的结构可以看成是一个树结构,而这种编码方式就是为了对x m l 文 档中元素的树路径进行编码而设计的。它的思路就是让每一个树路径都对应一个 实数区间,而这些实数区间都落在( o 0 ,0 1 ) 这个区间中,在压缩过程中就用这些 实数区间来对树路径进行编码。一个树路径对应的实数区间会被该路径的后缀路 径所对应的实数区间包含。最后该算法对不同数据项的压缩采用了不同的上下文 无关的压缩编码方式【2 3 】。 5 ) c o m p r e x a t c ( a r c h i t e c t u r et e c h n o l o g yc o r p o r a t i o n ) 开发的用于x m l 压缩的模块化的方 法,允许开发不同方面的压缩处理,同时在它们组成完整的系统之前,对其单独 进行优化。主要集中在三个方面:用于处理x m ls c h e m a 知识的二进制编码;专 门针对x m l 的压缩算法;嵌入文档的冗余压缩的处理过程。这些工作结合起来构 成一个整体,其中一步的输出将是下一步的输入,因而其压缩结果是累积的【2 4 1 。 6 ) x s b c x s b c ( e x t e n s i b l es c h e m a - b a s e db i n a r yc o m p r e s s i o n ) 将一个由s c h e m a 描述的 x m l 文档转换成更小的二进制文档。用户可以选择将标记的数据以无损还是有损 的方式进行压缩。它使用一张包括元素和属性的名字及类型的信息表格,在二进 制文件中使用数字标记来替代文本文件中的字符串。x s b c 压缩得到的二进制文件 没有其他的一些压缩实现那样高的压缩率,但是它非常简单,并且是对x m l 文件 的直接模拟【2 卯。 除上面介绍的几类压缩方法之外,文献【2 6 】介绍的依赖于上下文的压缩,文酬2 7 】 介绍的基于模式的压缩,文献【2 8 】介绍的基于类型的压缩,文献例介绍的非对称压 第二章相关理论 缩,都是在其基础之上进行了一定的优化。 2 2 3 应用分析 已有的解析器针对的是x m l 规范的整个集合,因而需要考虑的情况要复杂的 多,解析器的实现也比较复杂。如果只考虑x m p p 协议内部的x m l 子集,则可 以大大简化解析器的处理。另外,在解析思想上,这罩分为采用建树访问x m l 文 档的模型和基于事件的模型,从协议解析的特性出发,这里的实现将采用后者, 从而提高了实时解析的效率,也减少了空间的消耗。 另外,对以上的压缩方法分析可得,其主要是针对文件存储的压缩,以及互 联网上的x m l 消息压缩,为了尽可能适用所有的x m l 流,适用的算法必然具有 普遍性,应用到特定的系统中,缺乏针对性。因而需要针对我们自己的通信协议, 设计相关的压缩算法,从而得到更好的压缩效率,为无线环境下的应用做好准备。 2 3u d t 协议 u d t 位于u d p 之上,为面向连接的应用层协议,能够同时实现相对较高的吞 吐量和传输速率。u d t 的主要目标是效率、公平、稳定。u d t 是双工的,每个 u d t 实体有两个部分:发送和接收。发送端根据流量控制和速率控制来发送应用 程序数据,接收端接收数据包和控制包,并根据接收到的包发送控制包。发送和 接收程序共享同一个u d p 端口来发送和接收。接收端也负责触发和处理所有的控 制事件,包括拥塞控制、可靠性控制和他们的相对机制,例如i 册估计、带宽估 计、应答和重传。u d t 拥塞控制算法将速率控制和窗口( 流量控制) 合并起来, 前者调整包的发送周期,后者限制最大的未被应答的包数。 2 3 1 协议分析 协议中主要包括以下几个概念: 1 ) 包:分为数据包和控制包,通过包头的第一位来区分。一个包的最大负载 是固定的,通常为最大传输单元。 2 ) u d t 套接字:为了将u d t 连接与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 0 1 ) 连接 统一起来,这里也使用了套接字的概念,该套接字对u d t 之上的应用进行了区分。 3 ) u d p 多路混合器:用于处理多个u d t 连接使用同一u d p 端口的情况。 同时对接收到的u d t 包向上进行数据分发。混合器维护两个队列:发送队列,接 收队列。 4 ) 发送队列:包含了所有的u d t 套接字( 每一个u d t 套接字上至少有一个 1 2i n s t l i n k 系统中间件平台的研究与实现 将要发送的数据包) ,这些u d t 套接字以下一个数据包的发送时间在队列中进行 排序。 5 ) 接收队列:与发送队列相同,该接收队列也维护了一个等待接收数据的 u d t 套接字列表。底层获取端口上的数据包,分发给接收队列中相应的u d t 套接 字,如果u d t 套接字描述符为0 ,则该包将被分发给监听的u d t 套接字。 6 ) 计时器:u d t 使用了四个计时器来触发不同的事件。他们都将系统时间作 为时间源。四个计时器分别为a c k 、n a k 、e x p 、s n d 。s n d 在发送端使用,用 于发送基于速率的包,而其他三种都只用于接收端,分别进行周期性的丢失数据 包列表反馈,u d t 套接字超时检查,确认包应答。 7 ) u d t 实体:支持u d t 功能的用户代理,典型的,就是一个包含u d t 模块 的应用程序。一个u d t 实体可以同时作为客户端和服务端。 协议的交互过程主要包括以下几个动作: 连接的建立 u d t 支持两种建立连接的方法:c 2 s 模型,r e n d e z v o u s 模型。在c 2 s 模型下, 一个u d t 实体启动作为服务端,服务端接收并处理进入的连接请求,并为每个新 的连接创建新的u d t 套接字:一个u d t 实体作为客户端,它向所要建立连接的 u d t 实体发起连接请求( h a n d s h a k e 事件) 。建立连接过程中需要进行四次握 手;在r e n d e z v o u s 模式下,两个客户端同时向对方发送连接请求。 连接的关闭 如果已建立连接的u d t 实体一方正在关闭其中一个u d t 套接字,那么他就 向对等端发送一个关闭连接的消息( s h u t d o w n 事件) 。本端在发出该关闭消息 后,等待发送缓冲区中的数据发送完毕后,关闭该u d t 套接字;对等端接收到该 消息后,则立即被动关闭该u d t 套接字,至此一个u d t 连接被关闭。 数据的发送和接收 发送方根据流量控制和拥塞控制来发送数据。接收方接收数据包和控制包, 并根据接收到的包和本地计时器发送相应的控制包。接收方负责触发和处理所有 的控制事件,包括拥塞控制和可靠性控制等。 o 鬻骖麓 u d pc h a n n d 。麓笺缌褰 l _ - - - - 一 r 1 4 。1 l a c kl s e q n o l 广r 幽一地堕1 0 图2 2 u d t 协议交互 如上图所示,除数据包外,这里为了保证数据传输的可靠性,以及对流量和 第二章相关理论 拥塞进行控制,还包括以下控制事件: 1 ) a c k 事件:返回已接收数据包的最大序列号,更新发送端丢失列表,用于 计算包到达速率,并进行流量控制等。 2 ) a c k 2 事件:数据发送端定期返回接收到的a c k 的确认序号,用于更新 往返时延。 3 ) n a k 事件:搜索接收端的丢失列表,获取丢失包序列号,返回给数据包的 发送端。这晕对丢失包序号进行了压缩处理。 4 ) k e e p a l i v e 事件:在没有数据进行传输时,用于维持u d t 连接。 通过以上控制事件的协m - r 作,最终实现了u d p 的高效可靠的数据传输【3 0 1 。 2 3 2 应用分析 u d t 协议借鉴了t c p 协议中的技术,并对其传输过程中的流量控制及拥塞控 制等进行了优化,从而得到了基于u d p 的更为高效的传输性能。u d t 已经被广泛 应用于高性能计算领域,用于提供光网络上的高速传输,如g r i d f t p ;另外在商业 领域,u d t 也被应用于各类商业产品当中,进而提供广域网上的快速文件传输。 综合以上的考虑,本系统中间件平台中p 2 p 链路上的数据可靠性由该协议进行保 证。 2 4 重叠网络 p 2 p 技术主要指由硬件形成网络连接后的信息控制技术,主要代表形

温馨提示

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

评论

0/150

提交评论