(计算机软件与理论专业论文)基于消息中间件的多维qos管理模型体系结构研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于消息中间件的多维qos管理模型体系结构研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于消息中间件的多维qos管理模型体系结构研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于消息中间件的多维qos管理模型体系结构研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于消息中间件的多维qos管理模型体系结构研究与实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机软件与理论专业论文)基于消息中间件的多维qos管理模型体系结构研究与实现.pdf.pdf 免费下载

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

文档简介

基于消息中间件的多维q o s 管理模型体系结构研究与实现 中文摘要 中文摘要 随着i n t e m e t 的发展,系统的组织结构由集中式良分布式转变,分布式系统开始 越来越多地应用于各行各业,尤其是一些关系经济命脉的重要部门。中间件是一种位 于系统软件和应用软件之间的中间层软件,用于解决分布式系统中的交互和集成问 题。霉前大多数中阀释产品主要关液予应用的功能性需求,对应用的服务质量( q o s ) 需求只提供“尽力而为 的服务,难以满足分布式交互在时间、空间、可靠性等方面 的q o s 需求。基于此,本文提出了一种基于消息中间件的多维q o s 管理模型,以符 合j m s 规范的消息中闻件为平台,对分布式交互的q o s 进行管理,以满足分布式交 互的q o s 需求。 基于中间件的分布式交互方式主要包括消息中间件和远程过程调用两种。其中, 消息中闻俘是一种用予消息传输的中间件,是分毒式交互的一j l 哮重要方式,遴过高效、 可靠的消息传输机制进行与平台无关的数据交换。 本文首先对中间件和q o s 的相关概念进行了介绍,接着对远程过程调用和消息 中闻件这涎种基于中阀锋的分布式交互技术进行了深入剖析,以执行时闻力标准对两 者进行了定量比较,证明了消息中间件更适合予实现分布式环境下的交互,为本文选 择消息中间件作为平台对分布式交互的q o s 进行管理提供了依据。随后,对传统的 q o s 管理模型和q o s 分类进行了研究,分析了它们的局限性,并在此基础上提出了 一种基于消息中间件的多维q o s 管理模型,设计了该模型的体系结构,用j a v a 语言 实现了该模型的核心模块。为了更加深入和细致地研究分布式交互的q o s 需求,在 模型中用多维q o s 来描述q o s 需求,并对各维q o s 闻的关系进行了深入分析。最后 通过一个应用实例进一步说明了基于消息中闻粹的多维q o s 管理模型如何在实际应 用中对分布式交互的q o s 进行管理。 关键词:消息中闻彳孛,多维q o s ,软件体系结构,q o s 管理 作者:李璐 指导教师:张广泉 a b s 仃a c t r e s e a r c ha n di m p l e m e n t a t i o no nt h ea r c h i t e c t u r eo fm u l t i - q o sm a n a g e m e n tm o d e lb a s e do nm e s s a g e - o r i e n t e dm i d d l e w a r e a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e r n e t , t h eo r g a n i z a t i o n a ls t r u c t u r eo ft h es y s t e mh a s c h a n g e df r o mc e n t r a l i z a t i o nt od i s t r i b u t i o n d i s t r i b u t e ds y s t e m sh a v eb e e nm o r ea n dm o r e u s e di ne v e r yw a l ko fl i f e ,e s p e c i a l l yi ns o m ei m p o r t a n te c o n o m i cd e p a r t m e n t s 。 m i d d l e w a r ei sam i d d l es o f t w a r ew h i c hi sb e t w e e ns y s t e ms o f t w a r ea n da p p l i c a t i o n s o f t w a r e i ti su s e dt or e s o l v et h e i n t e r a c t i o na n di n t e g r a t i o ni nd i s t r i b u t e ds y s t e m s c u r r e n t l y , m o s tm i d d l e w a r ep r o d u c t sp a ya t t e n t i o nt ot h ef u n c t i o n a l i t yr e q u i r e m e n to ft h e a p p l i c a t i o na n do n l yp r o v i d et h eb e s t e f f o r t s e r v i c et ot h eq o sr e q u i r e m e n to ft h e a p p l i c a t i o n t h e yc a l l tm e e tt h eq o sr e q u i r e m e n to ft h ed i s t r i b u t e di n t e r a c t i o na tt i m e , s p a c ea n dr e l i a b i l i t y s ot h i sp a p e rp r e s e n t sam u l t i q o sm a n a g e m e n tm o d e lb a s e do n m e s s a g e - o r i e n t e dm i d d l e w a r e i tu s e sm e s s a g e - o r i e n t e dm i d d l e w a r ew h i c ha c c o r d s 、析t h j m ss p e c i f i c a t i o na st h ep l a t f o r mt om a n a g eq o so ft h ed i s t r i b u t e di n t e r a c t i o na n dc a n m e e tt h eq o sr e q u i r e m e n to ft h ed i s t r i b u t e di n t e r a c t i o n t h e r ea r et w od i s t r i b u t e di n t e r a c t i v em o d e sb a s e do nm i d d l e w a r e o n ei sr e m o t e p r o c e d u r ec a l la n dt h eo t h e ro n ei sm e s s a g e - o r i e n t e dm i d d l e w a r e m e s s a g e - o r i e n t e d m i d d l e w a r ei sam i d d l e w a r ew h i c hi su s e dt ot r a n s m i tm e s s a g e s i ti sa ni m p o r t a n t d i s t r i b u t e di n t e r a c t i v em o d e d a t ae x c h a n g eb a s e do nm e s s a g e - o r i e n t e dm i d d l e w a r e a c c o r d i n gt o e f f i c i e n ta n dr e l i a b l e m e s s a g e t r a n s m i s s i o nm e c h a n i s mi s p l a t f o r m i n d e p e n d e n t t h i sp a p e rf i r s t l yi n t r o d u c e ss o m ec o n c e p t i o n so fm i d d l e w a r ea n dq o s ,t h e nr e m o t e p r o c e d u r ec a l la n dm e s s a g e o r i e n t e dm i d d l e w a r ew h i c ha r et w ok i n d so fd i s t r i b u t e d i n t e r a c t i v em o d e sb a s e do nm i d d l e w a r ea r ea n a l y z e dt h o r o u g h l y t h ee x e c u t i o nt i m ei s s e l e c t e da sas t a n d a r dt o q u a n t i t a t i v e l yc o m p a r e r e m o t e p r o c e d u r e c a l la n d m e s s a g e - o r i e n t e dm i d d l e w a r e i tp r o v e st h a tm e s s a g e o r i e n t e dm i d d l e w a r ei sf i t t e rf o rt h e i n t e r a c t i o ni nt h ed i s t r i b u t e de n v i r o n m e n t ,w h i c hp r o v i d e sr e f e r e n c ef o rs e l e c t i n g m e s s a g e - o r i e n t e dm i d d l e w a r ea st h ep l a t f o r mt om a n a g eq o so ft h ed i s t r i b u t e di n t e r a c t i o n t h et r a d i t i o n a lq o sm a n a g e m e n tm o d e la n dq o st a x o n o m ya r er e s e a r c h e da n dt h e i r l i m i t a t i o n sa r ea n a l y z e d a tt h eb a s i so ft h i s ,am u l t i - d i m e n s i o nq o sm a n a g e m e n tm o d e l b a s e do nm e s s a g e o r i e n t e dm i d d l e w a r ei sp r e s e n t e d t h ea r c h i t e c t u r eo ft h em o d e li s r e s e a r c ha n di m p l e r n e n t a t i o n o nt h e a r c h i t e c t u r e o f m u l t i - q o s m a n a g e m e n t m o d e 1 b a s e d o n m e s s a g e o r i e n t e d m i d d 1 e w a r e a b s 血 a c l d e s i g n e da n dc e n t r a lm o d u l e so ft h em o d e la r ei m p l e m e n t e dw i t hj a v a i no r d e rt or e s e a r c h t h eq o sr e q u i r e m e n to ft h ed i s t r i b u t e di n t e r a c t i o nt h o r o u g h l ya n dd e t a i l e d l y , t h i sp a p e r u s e sm u l t i d i m e n s i o nq o st od e s c r i b et h eq o sr e q u i r e m e n ta n da n a l y z e st h er e l a t i o n a m o n gq o sd i m e n s i o n st h o r o u g h l y a tl a s t ,t h i sp a p e ru s e sa na p p l i c a t i o ne x a m p l et o e x p l a i nh o wt h em u l t i d i m e n s i o nq o sm a n a g e m e n tm o d e lb a s e do nm e s s a g e o r i e n t e d m i d d l e w a r em a n a g e sq o so ft h ed i s t r i b u t e di n t e r a c t i o ni nt h e p r a c t i c a la p p l i c a t i o n k e yw o r d s :m e s s a g e o r i e n t e dm i d d l e w a r e ,m u l t i - d i m e n s i o nq o s ,s o f t w a r ea r c h i t e c t u r e , q o sm a n a g e m e n t l l i w r i t t e n b y l il u s u p e r v i s e db yz h a n gg u a n g q u a n 图表索弓 基于消息中间件的多维q o s 管理模型体系结构研究与实现 图表索引 图2 1 应用软件、中间件和系统软件。6 图2 2 中间俘的定义7 图2 3 中闻件的体系结构8 图3 1r p c 的工作流程1 9 图3 2 消息队列模式2 l 图3 。3 发布,订阕模式2 2 图3 。4r p c 和m o m 的通信流程2 4 图3 。5r p c 与m o m ( 消息队列模式) 的定量比较2 7 图3 6r p c 与m o m ( 发布订阅模式) 的定量比较2 8 匮4 1 传统的q o s 管理模型3 0 图4 。2 基于m o m 的多维o o s 管理模型的体系结构3 3 图4 3 基于m o m 的多维q o s 管理模型的工作流程3 5 图孓l 基于m o m 的多维q o s 管理模型的核心模块3 7 图s 2q o s 觏约模块3 8 图5 3q o s 映射模块3 8 图5 - 4q o s 执行模块3 9 图孓s 用户层q o s 类图。4 3 匿孓6 应用层q o s 类匿钳 图5 7m o m 层q o s 类图一4 6 图5 8q o s 评估流程5 0 图5 - 9j m s 公共接口关系5 4 匿昏lw e b l o g i cj m s 配置界面5 7 国每2 浏览功麓的q o s 管理过程5 9 图6 。3 浏览功能的q o s 管理结果6 0 图6 - 4 查询功能的o o s 管理过程6 0 匿5 查询功能的o o s 管理结果6 l 蚕& 6 买入卖出功能的q o s 管理过程6 2 图6 7 买入卖出功能的q o s 管理结果6 3 表3 1r p c 和m o m 的比较2 3 表5 1 用户层q o s 参数。4 3 表5 2 应用层q o s 参数4 4 表5 - 3m o m 层q o s 参数4 5 表5 4 用户层到应用层的q o s 映射4 7 表5 。5 多维资源的掇述k 4 9 表5 - 6 m s 盼主要接口5 4 i v 苏州大学学位论文独创性声明及使用授权的声明 学位论文独创性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进 行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏州大学 或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律 责任。 研究生签名: 彳、韶i 铋 日 期: 为咿砌 研究生签名: 孑弼隆 日 期: 为咿砌 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文 合作部、中国社科院文献信息情报中心有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本 人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文 外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分 内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 , 研究生签名:力么艮日期: 冽冒驴w 研究生签名:孑盼日期: 冽占妒w 导师签名: 日期:讼勺粤v , 基于消息中间件的多维q o s 管理模型体系结构研究与实现 第一章绪论 1 1 研究背景及意义 第一章绪论 随着i n t e m e t 的发展,系统的组织形式由集中式向分布式转变。与集中式系统相 比,分布式系统实现了多台计算机间的资源共享和相互协作,性能和效率都得到了大 幅度地提升,因而广泛应用于各行各业之中。然而,分布式系统也存在着诸多问题: 一方面,分布式系统中存在着p c 、服务器、嵌入式设备等多种硬件设备,这些硬件 设备上运行着不同的操作系统和应用软件,实现这些异构系统间可靠、便捷地交互是 一个十分复杂的问题;另一方面,分布式系统的广泛应用使得系统规模迅速扩大,导 致网络带宽等资源严重不足,难以满足分布式环境下的用户需求。 为了解决第一个问题,使分布式环境下的应用能够在一个统一的平台上进行交 互,人们提出了中间件的概念。中间件是一种位于系统软件和应用软件之间的分布式 软件;为分布式系统中不同组件之间的交互提供了支持【l 】。当前,中间件已广泛应用 于分布式系统中,为分布式环境下的通信和互操作提供着便利【2 j 。 为了解决第二个问题,缓解日益增长的用户需求与严重短缺的网络、系统资源间 的矛盾,人们提出了服务质量( q u a l i t yo fs e r v i c e ,q o s ) 的概念,希望通过对应用的q o s 进行管理来解决这一问题。为了满足分布式应用的端到端q o s 需求,q o s 管理需涉 及应用层、系统层、网络层等多个层次,是一个十分复杂的过程。 鉴于上述两点,以中间件为平台对分布式应用的q o s 进行管理,既能实现分布 式环境下简单、高效的交互,又能保障用户的q o s 需求,可以有效地解决分布式系 统中存在的问题。目前的中间件产品大多只关注于应用在功能方面的需求,对以q o s 为代表的非功能性需求只提供“尽力而为 的服务,难以满足分布式环境下的用户需 求【3 l o 基于中间件的q o s 管理通常可分为三个阶段:q o s 规约、q o s 映射和q o s 执行。 在q o s 规约阶段,针对特定的应用领域,确定用户可理解的q o s 参数;在q o s 映射 阶段,将具体应用领域的q o s 参数映射成底层支撑软件所理解的q o s 参数;在q o s 执行阶段,根据q o s 规约和q o s 映射指导、监控相关活动,并根据运行情况对q o s 进行降级或升级以使整个系统达到最优的运行质量1 4 j 。 基于以上分析,本文提出一种基于消息中间件( m e s s a g e o r i e n t e dm i d d l e w a r e , 第一章绪论 基于消息中间件的多维q o s 管理模型体系结构研究与实现 m o m ) 麴多维q o s 管理模型,以m o m 为平台对分布式交互的q o s 进行管理,将系 统层、网络层的q o s 管理集中到中间件层完成,并采用多维q o s 描述分布式交互过 程中的q o s 需求,对q o s 需求进行了细粒度地分析,有效地保证了分布式交互的q o s , 为满足分布式环境下的端至端q o s 需求奠定了基础。 1 2 国内外研究现状 根据所采用平台的不霹,基手巾问佟的q o s 研究主要分为两类:一类基于符合 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 ) 规范的平台,其中有代表性的主 要是q u o ( q u a l i t yo b j e c t s ) 【堋和t a o ( t h ea c eo r b ) t 8 搠;另一类基于符合j 2 e e 规范 的平台,这类研究相对较少,如中匿辩学院软件研究所的o n c e a s q 应用服务器醛磁。 下面分别对这些研究进行介绍: b b n 的q u o 设计了一个质量描述语言q d l ,它由契约描述语言c d l 、结构描 述语言s d l 帮资源描述语言r d l 组成,其中,c d l 用来描述客户和对象闯的q o s 契约;s d l 描述q u o 应用的结构;r d l 描述可获得的系统资源及其状态,q d l 与 c o r b a i d l 一起完整地描述了一个应用的各个方面1 5 】。q u o 中首次提出了q o s 开发 者的概念:q o s 开发者负责焉q d l 开发q u o 契约,开发系统对象来实现q o s 监测 和控制,并开发回调机制来实现当监测劭q o s 改交时采取的行动嘲。 w a s h i n g t o n 大学在q o s 方面的研究主要体现在a c e 中的a q o s a 以及t a o 中的 调度服务。a q o s a 在a c e 中提供了统一的q o sa p i 来屏蔽底层的不同q o s 协议和 接口。这些q o sa p i 既可以通过t a o 向应用提供,也可与高层的中闻件服务集成。 t a o 中的调度服务通过向应用开发者提供接口来指定对象操作的执行周期、最坏情 况执行时间、重要程度等q o s 参数,根据系统中所有操作的q o s 进行调度,并映射 为o r b 中的分发优先级 8 1 。文献【9 】在t a o 中给出了多种q o s 支持策略,关注于如 何选择合适的机锘! i 来保证端到端的q o s 需求。 中科院软件所黄涛博士等根据目前w e b 应用服务器大多只提供“尽力而为的 服务,对q o s 保障较为薄弱的现状,设计了面囊q o s 的w e b 应瘸服务器o n c e a s q 。 o n c e a s q 实现了一个q o s 保障框架,并提供了一组q o s 服务组件支持具有q o s 需 求的应用开发和运行,为不同应用提供了不回的q o s 保障能力【l o j 。黄涛博士等还提 出了一种q o s 获益驱动的调度框架,与曩前w e b 赢用服务器普遍采用的先到先褥式 调度框架相比,该框架包含了多个用于保障应用q o s 需求的组件,实现了基于q o s 2 熬于消息中间件的多维q o s 管理模型体系结构研究与实现第嚣绪论 获益的资源规划算法,提高了服务器对应震q o s 需求的保障施力,在过载时麓够更 好地保障应厢的q o s 需求剐。 马德里理工大学的d em i g u e l 对掰b 模型进行扩展,加入q o s c o n t e x t 、q o s b e a n 秘q o s n e g o t i a t i o n 接鼗,设计了一种支持q o s 熬e j b 容器,为e j b 构件提供了资源 预留、q o s 协商和资源竞争等机制的支持【1 2 1 。 与上述研究相比,c a r n e g i em e l l o n 大学的q 。r a m b 3 - 1 7 更细粒度地研究了q o s 和 瓷源。它关注于巍系统中具有多个应用且每个应用都有多方面酶q o s 需求糖互竞争 多种资源麴情况下,如何分配多种资源丽器重满足这些应用的q o s 需求,使褥整体的 q o s 最优。q r a m 提如了多维q o s 和多维资源的概念,并深入分橱了魏者闻的关系, 毽比较偏重予理论和数学模型,难以指导实际应用。 1 3 本文研究内容 在分奄式系统中,各缀髂之闻可靠、使捷地交互是保证整个系统良好运行麴关键, 中间件的出现为分布式系统中不同组件之间的交互提供了支持。基于中间件的分布式 交互方式主要包撬消息中闻静和远程过程调厢d e m o t ep r o c e d u r ec a l l ,r p c ) f 4 j ,晷蓠 虽都已有期关产燕,僵大多鼹关注子瘦月在功能方蕊的需求,对藏用韵q o s 霈求只 提供“尽力而为”的服务;少数产品虽然对q o s 提供了一定的支持,但仅局限于少 数几个单一的q o s 参数,没有对q o s 需求进行细粒度地研究,难以满足分布式环境 下不断变纯薛q o s 需求。针对这种现状,本文以符合j m s ( j a v am e s s a g es e r v i c e ) 规范 的m o m 为平台,用多维q o s 搐述q o s 需求,对分布式交互麓q o s 进行管理,以满 足分布式交互中用户对q o s 的各种需求。具体的研究内容如下: ( 1 ) 分析了分猫式系统中存在的主要润题,指出了中闻件和q o s 对解决这些闯题 所起得作用,并对基于中闻件的q o s 研究的相关研究现状进行了总结。 ( 2 ) 以执行时间为标准对r p c 和m o m 进行了定量比较,证隳了m o m 更适合于 实现分布式环境下的交互,梵本文选择m o m 作为平台对分布式交互靛q o s 进彳亍管 理提供了依据。 ( 3 ) 研究了传统的q o s 管理模型和q o s 分类,分析了它们的局限性,指出了以 中间件为平螽进行q o s 篱理的优势和将多维q o s 萼 入q o s 管理审的必要性。 并) 提蹬了一释基于m o m 静多维q o s 管理模型,以m o m 为平台对分蠢式交互 3 第一章绪论基于消息中间件的多维q o s 管理模型体系结构研究与实现 的q o s 进行管理,设计了该模型的体系结构,介缨了该模型的主要组成部分和工作 流程,分析了该模型的优点。 ( 5 ) 设计了基于m o m 的多维q o s 管理模型的核心模块,用j a v a 语言实现了这 些模块,深入研究了多维o o s 与多维资源在该模型中的应用。 ( 6 ) 通过一个应用实例分析了基于m o m 的多维q o s 管理模型如何在实际应用中 对分布式交互进行q o s 管理。 1 4 本文组织结构 本文以下各章内容组织如下: 第二章介绍了中间佟的定义、分类、主要技术栽范和各研究机构对q o s 的定义, 并对基予中问件的q o s 研究所面临的挑战和应对措施进行了探讨。 第三章、第四章、第五章、第六章是本文的主要研究工作。 第三章对r p c 秘m o m 这两种基予中间俘的分布式交互方式进行了介缨,以客 户端应用程序的执行时阕为标准对r p c 和m o m 进行了定量比较,为本文选择m o m 作为平台对分布式交互的q o s 进行管理提供了依据。 第四章分析了传统的q o s 管理模型和q o s 分类的局限性,在此基础上,提出了 一种基予m o m 的多维o o s 管理模型,设计了该模型的体系结构,介绍了该模型的 主要组成部分和工作流程,并对该模型的优点进行了分析。 第五章设计并实现了基于m o m 的多维q o s 管理模型的核心模块,对q o s 规约 模块、q o s 映射模块、q o s 执行模块进行了深入分析,研究了多维q o s 和多维资源 在模型中的应用,介绍了q o s 评估、q o s 协商、q o s 降级等q o s 管理策略,并对模 型所采用的交互平台进行了介绍。 第六章通过一个应用实铡介绍了基于m o m 的多维q o s 管理模型如何在实际应 用中对分布式交互的q o s 进行管理。 第七章总结了全文,对相关工作进行了比较,并对下一步工作进行了展望。 4 基于消息中间件的多维q o s 管理模型体系结构研究与实现第二章中间件和q o s 概述 2 1 中间件技术 第二章中间件和q o s 概述 2 1 1 中间件的起源 随着计算机软、硬件技术和i n t e r n e t 的飞速发展,分布式技术得到广泛应用,系 统的结构发生了重大变化。一方面,系统的规模越来越大,由集中式变为分布式,系 统的各个组件分布在不同的地理位置,彼此之间通过网络进行通信;另一方面,系统 组成由单一化向多元化转变,在一个系统中,包含着各种各样的硬件设备,包括p c 、 工作站、大型机、嵌入式设备、移动终端等,在这些硬件设备之上,又运行着不同的 操作系统和应用软件。这样的分布式异构系统具有以下些特点【1 8 】: ( 1 ) 远程性:分布式系统的组件可以在空间上分散地存在,组件之间的交互可以 是本地的,也可以是远程的。 ( 2 ) 并发性:分布式系统中的任意个组件都可能与其它组件并发执行。 0 ) 异步性:在分布式系统中,各组件的通信和处理活动不是豳单个全局性时钟 驱动的。 ( 4 ) 异质性:分布式系统的组成复杂,难以保证系统中的组件都是用同样的技术 构建,分布式系统需将这些分布在不同平台上,采用不同技术的组件集成在一起,协 同工俸。 ( 5 ) 联合性:个分布式系统可能包含多种类型的硬件和软件,为了实现一个功 能,这些不同类型的硬件和软件往往需要联合起来。 ( 6 ) 伸缩性:个分布式系统在规模上是可以伸缩的。 ( 7 ) 发展性:在系统的生命周期内,分布式系统必须面对很多变化,这些变化要 么是由于技术进步所导致,要么是由于耀户需求变更所导致。 ( 8 ) 移动性:信息源、处理结点、用户,乃至程序和数据都可能发生物理位置上 的移动。 因为分布异构系统有这样一些特点,所以要构建这样的系统并不容易,需要一个 统一的底层平台来处理各种不同类型组件间的交互和协作,这个平台就是中闻件瑟9 1 。 第二章中间件和q o s 概述基于消息中间件的多维q o s 管理模型体系结构研究与实现 2 1 。2 中间件的定义 中间件这一术语最早出现在2 0 世纪8 0 年代后期,是指一种位于系统软件和应用 软件之间敕中间层软件,它能使位予不同地理位置的软件协同工作,戮实现疲翔的分 布式处理,如图2 1 所示。 图2 - 1 应用软件、中间件和系统软件 最早具有中闻件愚想及功能的软件是i b m 的c i c s ,但由于c i c s 不是分布式环 境的产物,因此人们一般把t u x e d o 作为第一个严格意义上的中间件产品。t u x e d o 是 1 9 8 4 年在当时属于a t & t 的贝尔实验室开发完成的,但由于分稚式处理当时并没有 在商业应用上获得像今天一样酶成功,t u x e d o 在很长一段时期里只是实验窒产品, 后来被n o v e l l 收购,在经过n o v e l l 并不成功的商业推广之后,1 9 9 5 年被现在的b e a 公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近 l e 年之中。 随着网络技术的发展,中问件的概念日益普及,在学术界和产业界都得到了广泛 的研究与应用。虽然目前尚没有统一的中问件定义,但对中间件的意义与内涵各个研 究机构已有基本共识,并给出了各盘对中闻件酌定义: ( 1 ) 美国国家自然基金委员会认为,中间件建立在网络传输服务之上,辅助开发 新的应用和网络服务,是适用于多个应用的一种软件【2 们。 ( 2 ) i e e e 分布式系统专家组认为,中阕件在本质上是一个抽象了底层分布式环境 ( 网络、主机、操作系统、编程语言) 复杂性和异构性的分布式软件层或平台,它通 过提供简单、一致、集成的分布式编程环境来简化分布式应用的设计、编程和管理【2 1 1 。 ( 3 ) 对象管理组织o m g 认为,中间件是一种用于解决网络环境下互操作闯题的 软件,它同时还提供目录、事务、事件等其它基本服务 2 2 1 。 6 基于消息中间件的多维q o s 管理模型体系结构研究与实现 第二章中间件和q o s 概述 ( 4 ) c m u 软件工程研究所认为,中间件是一组支持软件连接的服务集合,它允许 在一个或多个主机上运行的多个过程通过网络进行交互。中间件将大型机应用移植到 客户服务器应用中且其有跨异构平台透信的基础机制,最初用于解决客户服务器体 系中的互操作闽题【2 3 1 。 。( 5 ) 北京大学梅宏教授等从狭义和广义两个层面对中间件的概念进行了研究,他 认为:从狭义角度,中间件指m i d d l e w a r e ,它表示网络环境下处于操作系统和应用软 件之间的一种起连接作用的分布式软件,以a p i 的形式提供一组软件服务,解决异构 嬲络环境下的互操作问题,使得网络环境下的若干进程、程序和应用可以方便地交互 与协同;从广义焦度,中闻件可理解为中闻层软件,它是处于系统软件和应用软件之 间的中间层次的软件,为应用软件的开发提供了更为直接和有效的平台支撑【4 1 。 由上述定义不难看出,中间件是一种位于系统软件和应用软件之间的分布式软 件,它屏蔽了分布式环境下的异构性和复杂性,使分布在多种硬件和不同操作系统平 台上的应用可以透明地交互和共享资源,如图2 2 新示。 l 上层应用 上层戚用上层应用 享 中闻件 l 扩一 n 一 芒 w 测一卜| 魄u x | -_ u n 玟 隧2 - 2 中间件的定义 中间件主要具有以下一些特点翻】: ( 1 ) 运行子多种硬件和操作系统平台之上; ( 2 ) 满足大量应溺豹需求; ( 3 ) 支持分南式计算; ( 4 ) 支持标准的接翻和协议; ( 5 ) 支持跨网络、硬件和操作系统平台的应用或服务阔的透明交互。 从软件体系结构的角度来看,中间件分为以下四层f 2 霹,如图2 - 3 所示。 ( 1 ) 基础设施层:在操作系统之上,提供系统级的a p i 来屏蔽硬件、操作系统和 网络协议麴异构性。 7 笙章中问件和q o s 概述基于消息中间件的多维q o s 管理模型体系结构研究与实现 ( 2 分布对象层:包括众多的远程对象和分蠢构件子层,逶过提供高层的编程抽 象使得对远程对象的操作如同本地搡作。 ( 3 ) 通用服务层:提供多种核心的基础服务,包括:通知服务、事务服务、命名 服务、容错服务、安全服务和事绎服务等。 ( 4 ) 领域服务层:面向不同的应用领域提供特定于领域的服务,如:电信应用、 金融应用、电力应厨、音频应用等。 2 1 3 中间件的分类 图2 - 3 中闻佟的体系缀梅 按照i d c ( i n t e m e td a t ac e n t e r ) 的分类方法,审问件可分为以下六类: ( 1 ) 终端仿真屏幕转换 这类中间件明以实现客户机的图形崩,二t 接口与采朋字符接豳方式的服务器应篇 程序之闻豹翼:搽貉,主要应爱于早期的大型飙系统,其功篷是将终蠛槐翁字符界两转 换为图形界洒。 ( 2 ) 交易中f h j 件 交易中闯件是一种专门针对联橇交易处理系统设计静孛阆件,主要用于餐行业务 系统、定票系统等。联机交易处理系统需要处理大量并发进程,涉及操作系统、文件 8 基于消息中间件的多维q o s 管理模型体系结构研究与实现第二章中间件和q o s 概述 系统、编程语言、数据通讯、数据库系统、系统管理、应用软件等多个部分,任务十 分艰巨。交易中间件是一组程序模块,用于减少开发一个联机交易处理系统所需的编 程量,它对应用声明和提交的交易进行管理,并通过诸如两段提交协议等方式保证分 布式交易的完整性和负载均衡。 目前,交易中间件在理论上相对成熟,对功能和性能方面的界定也十分清晰,但 基本上只应用于联机交易系统。 ( 3 ) 数据访问中间件 在分布式环境下,大量数据存放在数据服务器中,它们可能是关系型、复合文档 型、多媒体型,甚至是经过压缩或者加密后存放的,数据访问中间件就是在这种环境 下完成数据资源间的互操作以实现分布异构环境下的数据库或文件系统联接的中间 件。 数据访问中间件主要用于应用程序与数据源之间的互操作,客户端使用面向数据 库的a p i 直接访问和更新基于服务器的数据源,这些数据源可以是关系型、非关系型 和对象型的。数据访问中间件的一个典型例子是o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) , 它是一种m i c r o s o f t 提出的数据库访问接口标准。0 d b c 定义了访问数据库的a p i 规 范,这些a p i 独立于不同厂商的数据库管理系统,也独立于具体的编程语言,程序员 只需调用这些a p i 就可实现应用程序和数据库之间的通信。数据访问中间件大多基于 s q l 语句,采用同步通信方式,在广域网上使用时通信量过大,会带来严重的效率 问题。 ( 4 ) 对象中间件 传统的面向对象技术通过封装、继承和多态提供了良好的代码重用功能,但是这 些对象只存在于一个程序中,外面的世界并不知道它们的存在,也无法访问它们,因 此难以应用于分布式系统中。对象中间件很好地解决了这些问题,它提供了一个标准 的构件框架,使不同厂商的软件通过不同的地址空间、网络和操作系统相互访问。该 构件框架的具体实现、位置及所依附的操作系统对客户来说都是透明的。 对象中间件的主要标准有o m g ( o b j e e tm a n a g e m e n tc r r o u p ) 的c o r b a 2 6 j 、 m i c r o s o f t 的c o m 2 7 】和s u nm i c r o s y s t e m s 的e j b l 2 8 1 等。 ( 5 ) 远程过程调用中间件 远程过程调用是早期开发分布式应用时经常采用的一种同步式的请求应答方法。 程序员编写客户方的应用,在需要时可以使用远程过程调用来调用位于远端服务器上 9 第二章中间件和q o s 概述 基于消息中间件的多维q o s 管理模型体系结构研究与实现 的过程。远程过程调用扩展了过程语言中的“功麓调用7 结果返回孵祝制,使它可以 适用于远程环境。远程过程调用包括服务器和客户端两个部分,服务器提供一个或多 个远程过程,客户端向服务器发出远程调用,客户端和服务器既可位于同一台计算机 上,又可位于不同的计算机上。壶予远程过程调用是一种同步机制,只有当客户端和 服务器均能正常工作时才能很好地运行,任何一方不能正常工作都将导致远程过程调 用失败。在网络情况并不稳定的分布式环境下,这一要求显得过于苛刻。 ( 6 ) 消息中间件 消息中间件是一种以消息为载体进行信息交流的中间件,它简化了应用之间的数 据传输,屏蔽了底层平台的异构性,为分布式应用提供了透明的通信服务,确保了分 布式环境下可靠、高效、便捷的跨平台信息传输。消息中间件支持异步通信,盈与具 体平台无关,具有良好的可靠惶和灵活性,特别适用于逻辑关系松散的分布式环境【2 9 】。 虽然消息中间件作为一种主流的通信技术已出现多年,但一直没有一个统一的技 术标准,厂商依据各自的标准开发消息中间件产品,不同厂商的产品往往难以集成, 直到s u nm i c r o s y s t e m s 发布了j m s 规范后,这一状况才有所改善。j m s 规范只提供 了一组与具体实现无关的接口和相关语义,由各个厂商来提供具体实现【3 0 】。 随着中闻件技术的蓬勃发展,越来越多的新型中闻件产品不断涌现。除了上述六 种中闻件外,常见酶中闻件还包括反射中阊件、w e b 应用服务器、w e bs e r v i c e 、网格 中间件、工作流中间件、移动中间件、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 ) 问件和 e a i ( e n t e r p r i s e a p p l i c a t i o ni n t e g r a t i o n ) 中间件等。下面对反射中间件、w e b 应用服务器、 w e bs e r v i c e 这三种中间件进行简单介绍: ( 1 ) 反射中间件 软件工程的传统观点认为,系统的复杂性可以通过抽象的方式来处理,

温馨提示

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

评论

0/150

提交评论