已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 i n t e m e t 的服务模式正由传统的数据通信与信息浏览向电子交易与服务转 变,w e b 服务器系统作为支持电子商务的核心设施,需要对不同的用户或h t t p 请求提供区分服务和性能保证,因此必须具备建立和支持服务质量( q u a l i t yo f s e r v i c e ,q o s ) 控制的机制与策略。w e b q o s 属于应用层q o s ,它量度的是用户 在与w e b 站点进行交互时所感受到的服务性能。现阶段提供w e b q o s 控制的方 法不能实时的对q o s 参数进行调整,缺乏灵活性。随着分布式处理、实时处理、 移动计算等的出现以及传统应用环境的改变,应用系统需要根据运行环境的改变 而动态地改变对象自身的状态,因此需要更灵活的自适应软件系统。 反射中间件作为下一代的中间件体系结构正能提供这样的灵活性和自适应 性。目前,基于j 2 e e 架构的反射中间件没有解决网络的w e b q o s 控制问题。就 此,本文指出运用反射能够解决这个问题。本文先分析了反射中间件的原理,接 着设计了一个提供w e b q o s 控制的反射中间件的原型( i - i h r m ) ,然后分析了 这个原型的体系结构。因为该原型之所以能够提供w e b q o s 控制在于它的重配 置机制,所以本文先从重配置的一般理论出发,分析了重配置的一致性问题,接 着分析了h h r m 的重配置机制。该原型在利用反射技术保证了网络的服务质量, 使得基于j 2 e e 架构的反射中间件系统更加完善。 关键词:中间件,反射,网络服务质量,h h r m ,j 2 e e ,重配置 a b s t r a c t w i t ht h ee v o l v e m e n to ft h ee c o m m e r c e ,i n t e r a c ti su n d e r g o i n gs u b s t a n t i a l c h a n g e sf r o mac o m m u n i c a t i o na n db r o w s i n g i n f r a s t r u c t u r et oam e d i u mf o r c o n d u c t i n gb u s i n e s sa n ds e l l i n gs e r v i c e s t h e s ec h a n g e sp l a c et h ew e bs e r v e ra tt h e c e n t e ro f t h ee - - c o m m e r c ei n f r a s t r u c t u r e 谢t l li n c r e a s i n gr e q u i r e m e n t sf o rp r o v i d i n g s e r v i c ed i f f e r e n t i a t i o na n dp e r f o r m a n c ea s s u r a n c e w e b q o sb e l o n g st ot h ea p p l i c a t i o n l e v e lo fq o s n o w a d a y s ,w e b q o sc o n t r o lc a n n o tp r o v i d er e c o n f i g u r a t i o no ft h eq o s p a r a m e t e r s ,a n dr u ns h o r tf o rf l e x i b i l i t y w i t ht h ea p p e a r a n c eo fd i s t r i b u t e dp r o c e s s i n g , r e a l t i m ep r o c e s s i n g ,m o b i l ec o m p u t i n ga n dt h ec h a n g eo ft r a d i t i o n a la p p l i c a t i o n e n v i r o n m e n t s ,a p p l i c a t i o ns y s t e m sh a v et ob ea d a p t a b l et of r e q u e n tv a r i a t i o n si nt h e c o n t e x to fe x e c u t i o n a sac o n s e q u e n c e ,w en e e dm o r ef l e x i b l ea n ds e l f - a d a p t a b l e s o f l v d a r e r e f l e c t i v ea p p r o a c hh e l p ss y s t e mt oc h e c ka n da d a p ti t sb e h a v i o n t h u s ,r e f l e c t i v em i d d l e w a r ec o n s i d e r e dt or e s o l v et h ep r o b l e mb e c o m e so n eo f h o tt o p i c si nt h er e s e a r c ho nn e x tg e n e r a t i o nm i d d l e w a r e b u t ,m o s tr e f l e c t i v e m i d d l e w a r eb a s e do nj 2 e ec a n n o tp r o v i d eq o s ( q u a l i t yo fs e r v i c e ) c o n t r o l ,a p r o t o t y p e h h r mw h i c hi m p l e m e n t sq o sc o n t r o l i sp r e s e n t e d b e c a u s et h e r e c o n f i g u r a t i o nm e c h a n i s mo fh h k m i st h er e a s o nt h a ti tc a np r o v i d eq o sc o n t r o l , w ea n a l y z et h er e c o n f l g u r a t i o nm e c h a n i s mo fh h r m h h r mc a np r o v i d ew e b q o s c o n t r o lu s i n gr e f l e c t i o nt e c h n o l o g y , a n di tm a k ej 2 e ea r c h i t e c t u r es t r o n g e r k e yw o r d s :m i d d l e w a r e ,r e f l e c t i v e ,q o s ,i - i h r m ,j 2 e e ,r e c o n f i g u r a t i o n 4 河海大学硕士研究生论文 重配置机制研究一一反射在w e b q o s 控制中的应用 1 1 问题的提出 第一章引言 传统的软件工程中面向对象分析和建模方法主要针对软件系统的功能即从 应用领域角度进行分析,而很少考虑系统非功能性的需求如容错,分布式,性 能,安全等等。这样系统很难适应外部变化。随着新的应用形式( 如分布式处 理、实时处理、移动计算等) 的出现以及传统应用环境的改变,传统的软件工 程方法面临着一些新的挑战。这些应用系统都具有一个共同的特点,它们都需 要适应运行环境的改变,需要灵活的自适应软件机制。反射是指系统推理和作 用于自身的一种能力。采用反射技术可以使系统具备检查和调整自身行为的能 力。在系统设计阶段引入反射建立反射的系统元模型可以在运行时改变系统 的行为,增加软件的灵活性。而这样的灵活性能够解决文中所描述的诸如 w e b q o s 控制的问题,就此我们提出了用反射解决w e b q o s 控制的解决方案。 1 1 1w e b 上的网络服务质量 计算机网络的服务质量( q o s ) 体现着消费者对服务者所提供服务的满意程 度,是对服务者服务水平的一种度量和评价【4 】。q o s ( q u a l i t yo fs e r v i c e ) 控制 的目标是为i n t c r n e t 应用提供服务区分和性能保证。在i n t e r n e t 这样的全球网络 中提供q o s 控制并非易事,它需要自顶向下所有的网络层以及端到端的所有网 络元素整体的协作。目前基于j 2 e e 架构的反射中闯件并没有提供q o s 控制,例 如反射式的j 2 e e 应用服务器p k u a s 5 】:而与c o r b a 兼容的反射中间件 d y n a m i c t a o 2 5 ,o p e n c o r b a 2 6 ,o p e n o r b 3 2 虽然提供了有限的q o s 控制, 但它并不是基于j 2 e e 架构的。因为基于j 2 e e 的w e b q o s 控制存在如下难点: w e b q o s 的重要的参数是随环境的改变而改变的,而要对w e b q o s 进行控制就一 定要适应环境的变化,即对不同的参数进行运行时刻的重新配置从而使得软件本 生能够不断变化的w e b 环境。 1 1 2 软件系统的适应性问题 传统软件系统很难做到适应外部变化。当系统外部条件变化时,必须重新 进行编码和测试,甚至可能影响到详细设计、总体设计和需求分析。对系统的 修改涉及到生命周期中的较高层次,因此需要操作员、程序员、设计人员甚至 河海大学硕士研究生论文重配置机制研究反射在w e b o o s 控制中的应用 需求分析人员的参与。 而自适应性软件系统能很快适应外部的变化。提高软件系统的自适应性可 以从以下两方面入手。 1 ) 提高软件的通用性 软件设计依据来源于业务需求,但又不能仅满足于当时的需求,而应具备 一定的通用性。即在系统设计阶段要尽可能多的考虑到运行中可能遇到的各种 变化。外部条件一旦发生变化,系统应能较好的适应并稳定运行。 2 ) 提高软件的自描述性 系统具备一定的自我描述能力,能将外界各种条件的变化尽可能多地用参数 形式来描述。当某一条件变化时只需调整其对应的参数,而不至于要大面积地修 改软件。反射技术即提供了自描述以及自适应的一种机制。中间件适应性是指中 间件根据操作系统、网络环境、应用需求的变化进行相应变化的能力。如果中间 件发现变化并进行调整的过程中没有人的参与,则该中间件具有自适应性。如果 中间件的适应策略( 描述哪些变化发生时如何进行调整) 在中间件构造过程中确 定,在运行过程中无法增加、删除或修改,则称之为封闭式适应,如果适应策略 在运行过程中可以增加、删除或修改,则称为开放式适应。可见,由于i n t e m e t 环境的开放、动态和多变,软件在线维护与演化、自治计算对中间件提出的挑战, 本质上是要求中间件具有开放的适应性。而传统软件中间件难以满足这一要求, 原因在于其一贯秉承的“黑盒复用”思想。从软件复用的角度看,传统中间件提 供了一种“黑盒复用”的方式,使得上层应用无需关心中间件内部细节,降低了 应用开发的复杂度。但是,这种“黑盒”中间件也屏蔽底层运行环境以及中间件 自身、甚至上层应用的变化。首先。中间件屏蔽了操作系统、网络环境、数据库 管理系统等底层运行环境,用户只能通过中间件间接使用运行环境的功能,同样, 也只能通过中间件观测或调整底层的运行环境;其次,中间件自身封装了分布应 用的许多共性问题的解决机制,这些机制直接影响整个系统的变化以及相应的调 整:其三,上层应用的变化往往表现为构件的增加、删除和替换,这些都需要作 为构件部署与运行平台的中间件的支持。因此,必须改变中间件纯粹的“黑盒复 用”的方式,用以观测和控制基于中间件的软件系统的运行状态和行为。而反 射中间件( r e f l e c t i v em i d d l e w a r e ,反射式中间件) 正是解决这一问题的主流途径。 1 2 发展与现状 1 2 1w e b q o s 研究现状 服务质量( q u a l i t yo fs e r v i c e ,q o s ) 控制技术作为下一代网络的核心技术之 河海大学硕士研究生论文 重配置机制研究反射在w e b q o s 控常l 中的应用 一,近年来一直是计算机网络研究与开发的热点 4 】【6 。一般情况下,q o s 是指网 络在传输数据流时要求满足的一系列服务请求强调端到端( e n d - - t o - - e n d ) 或 网络边界到边界的整体性,具体可以量化为带宽、延迟、延迟抖动、丢失率、吞 吐量等性能指标,q o s 控制的基本目标是为i n t e m e t 应用提供性能保证和区分服 务目前i e t f 已提出了两种不同的i n t e m e tq o s 体系结构:综合服务( i n t e g r a t e d s e r v i c e s ,i n t s e r v ) 2 7 和区分服务( d i f f e r e n t i a t e ds e r v i c e s ,d i f f s e r v ) 2 8 1 。然而,仅 靠网络q o s 机制并不能完全解决端到端的q o s 控制问题。w e b 服务器作为端 到端网络中不可缺少的一个重要环节,同样必须具备建立和支持q o s 的机制与 策略。 w e bq o s 属于应用层的q o s ,它量度的是用户在与w e b 站点进行交互时所 感受到的服务性能。例如,下载时间、交易时间( 如银行结算、股票交易、网上 购物) 、服务器的可用性、遇到的错误( 如失败的连接、丢失的页面或组件、中 断的链路、交易失败) 等。由于w e b 基础设施的复杂性,影响w e b q o s 的因素很 多。实际上,w e bq o s 控制涉及到构成w e b 的每一个元素,从网络技术和协议, 到w e b 服务器( 以及代理服务器) 的硬件、软件( 包括服务器应用软件、操作系 统以及中间件) 体系结构。由于大多数w e b 基础设施的组件通常都无法轻易进 行控制,所以实现w e b q o s 并非易事。相对而言。网络通信公司对其主干网具 有完全的控制能力,因而能够向其客户提供基于网络可用性和保证网络响应时间 的服务水平协议;而w e b 服务供应商则无法提供类似的服务保证契约,因为他 们只能对w e b 基础设施的一小部分进行处理和操作。概括地讲,w 曲服务供 应商可以实施的w e b 系统解决方案可以分为以下两类:( 1 ) 有区分的w e b 服务 机制与策略。它是通过定义用户或请求的类别,确定优先级,利用基于优先级的请 求分配策略和资源监控与调度机制来保证不同的服务水平协议。( 2 ) w e b 服务器 系统的体系结构设计。t 它的目的是确定能够向所有w e b 用户或请求提供服务水 平协议保证的正确体系结构。 目前,w e b q o s 控制的研究已经越来越受到国外学界和业界的重视:许多网 络及w e b 领域的著名国际会议都已把w e b q o s 作为一个重要的议题;制造网络 负载均衡设备的c i s e o 公司已经和生产w e b q o s 服务质量软件的h p 公司结为战 略同盟【1 1 】,联手推出下一代w e b q o s 整体解决方案;此外,i b m 1 2 以及许多 其它生产第七层交换机的公司都不断推出支持w e bq o s 的软硬件产品。但是, 目前国内还很少见到这方面的研究论文以及相关产品。本文重点讨论基于中间件 的w e bq o s 控制机制以及如何运用反射提供w e bq o s 控制等。 河海大学硕士研究生论文 重配置机制研究一反射在w e b q o s 控制中的应用 1 2 2 主流反射中间件系统 绝大多数反射式中间件研究之所以集中于c o r b a ,是因为c o r b a 是目前 主流、开放的中间件标准之一,还提供了较丰富的反射机制。 1 2 2 1d y n a m i c t a o d y n a m i c t a o 是实时c o r b a 系统t a o 的升级,主要解决t a o 无法在线 配置的不足【2 5 。如图卜l 所示,dy n a m i c t a o 通过配置器( c o n f i g u r a t o r ) 来 表示构件之间的依赖关系,其中,s e r v a n t c o n f i g u r a t o r 表示o r b ( o b j e c tr e q u e s t b r o k e r ) 与应用构件( 即s e r v a n t ) 之间的依赖关系,而t a o c o n f i g u r a t o r 则表示 o r b 内部构件之间的依赖关系。用户可继承实现自己的配置器,以满足特殊的 需求。如果需要替换某个构件,用户可首先通过相应的配置器分析该构件与其他 构件的依赖关系,在确保不会产生副作用的前提下替换构件。而d y n a m i c t a o 可 自动分析内置的并发服务、调度服务、安全服务和监测服务之间的依赖关系,并 保证相关配置的正确性。d y n a m i c t a o 提供了一个元接口,允许在线装载和卸 载构件、以及察看或改变o r b 的配置状态。此外,d y n a m i e t a o 支持通过截取 图1 - 1d y n a m i c t a o 反射体系结构 器监测和调整远程调用。 1 2 2 2o p e n c o r b a o p e n c o r b a 是法国t ! c o l ed e sm i n e sd en a n t e s 大学采用反射式语言 4 河海大学硕士研究生论文 重配置机制研究一反射在w e b q o s 控制中的应用 n e o c l a s s t a l k 实现的反射式c o r b a 2 6 1 。n e o c l a s s t a l k 是s m a l l t a l k 语言的扩展, 通过m o p 实现了对象的类定义、以及类的元类的动态替换。基于该m o p , o p e n c o r b a 实现了动态修改i d l 接口行为的反射机制。客户端代理( s t u b ) 是 远程服务器对象在本地的映像,负责创建并发送调用请求、接收应答。在 o p e n c o r b a 中,i d l 编译器自动生成的客户端代理仅仅是i d l 接口的 s m a l l t a l k 描述,不包含任何实现代码。o p e n c o r b a 服务器端的元类与c o r b a 截取器类似,但是,前者可在运行时增加、删除或替换,后者在运行时无法定制。 此外,o p c n c o r b a 的元类作用于单个i d l 接口,而截取器作用于服务器端的 所有接口。 1 2 2 3o p e n o r b l a n c a s t e r 3 2 大学的研究者在为构造开放的多媒体平台而开发通用的反射结 构( o p e n o r b 等项目) 。中间件平台的基层被看作它所提供的一组服务。这些服 务包括:对象之间的交互通信及所涉及的活动( 消息的编码、分派、优先权机制、 资源分配等) ;支持性的服务( 名字的解析和定位、界面引用的管理、分布式对象 生命周期的管理等) :以及其它通用的服务( 如:安全、事务处理、容错、交易服 务等) 。这些服务通常以对象的形式建模和实现,而平台维护了这些对象的配置。 元层包含了具体化这些服务配置的编程结构,并允许反射计算。o p e n o r b 中的 元层被细化为四个独立的元模型,即e n c a p s u l a t i o n 、c o m p o s i t i o n 、e n v i r o n m e n t 和r e s o u r c e 元模型。每一个元模型代表了平台的不同方面,并可以进行递归细 化。 1 2 2 4p k u a s p k u a s 是一个符合j 2 e e 规范的构件运行支撑平台,支持3 种标准e j b 容 器,包括无态会话容器、有态会话容器和实体容器,并支持远程接口和本地接口, 提供i i o p ,j r m p ,s o a p 以及e j b l o c a l 互操作机制,内置命名服务、安全服务、 事务服务、日志服务、数据库连接服务;通过了j 2 e e 蓝图程序j p sv 1 1 的测试。 为能够明确标识、访问和操纵系统中的计算实体,反射式中间件必须具备构件化 的基础设施体系 5 。 1 3 现有的研究工作存在的不足 在现有的反射中间件的研究当中,反射中间件系统对q o s 控制不够,大部 河海大学硕士研究生论文重配置机制研竞一一反射在w e b q o s 控制中的应用 分中间件系统都没有提供这样的功能,或者把这些工作交给了上层应用的开发人 员,从而导致浪费了很多的人力和物力【l 】。而对于q o s 的控制又是下一代网络 研究的热点,特别是w e b q o s ,需要反射中间件系统提供w e b q o s 控制的功能。 而且,对于反射中间件的研究来说,我们认为国内的研究所处的位置相对较 高,例如从体系结构的角度对这个问题加以分析【6 】。而对它的内部机制的研究 的较少,比如反射中间件的自表示的研究,以及重配置的研究,这方面的研究不 够。 1 4 问题的解决 本文先描述了w e b q o s 这个问题域,然后分析了对该问题的多种解决方案, 分析了这些方案的不足。接着提出了如何运用反射解决w e b q o s 控制问题的。 就此,本文提出了一个基于j 2 e e 架构的提供q o s 控制的反射中间件原型, 该原型与当前的主流反射中间件最大的区别在于他们的重配置机制。本文先描述 了这个中间件系统,然后分析了重配置的理论基础,指出重配置需要保证的一致 性问题,接着从重配置的角度对该原型进行的深入的分析。该原型在利用反射技 术解决动态性问题的同时保证了网络的服务质量,使得基于j 2 e e 架构的反射中 间件系统更加完善。 1 5 本文的组织 第二章w e b q o s 与反射中间件系统:在这章中先提出了w e b q o s 这个问题, 给出了多种解决方案,并说明了这些方案的不足,指出应用反射能够解决这一闯 题。 第三章反射中间件原理分析:详细分析了反射的原理和中间件原理。为本文 的理论基础。 第四章一个提供w e b q o s 控制的反射中间件原型h h r m :在该章中提出了 我提出的反射中间件原型h h r m ,分析了它的体系结构。 第五章h h r m 与重配置机制:该章中先提出了重配置的一般理论,得出了 重配置过程中的一般类型,以及重配置机制所需要保证的一致性问题。然后分析 了h h r m 中的重配置机制,分析了它能够提供w e b q o s 控制的原因。 第六章总结与展望了w e b q o s 以及反射中间件的发展前景以及以后的研究 方向。 河海大学硕士研究生论文 重配置机制研究一反射在w e b q o s 控制中的应用 第二章w e b q o s 与反射中间件系统 2 1q o s 概述 服务质量是日常生活中人们熟悉的字眼。顾名思义,服务质量体现了消费者 对服务者所提供服务的满意程度,是对服务者服务水平的一种度量和评价。计算 机系统,特别是计算机网络系统,所谓计算和信息等服务的提供者,同样存在着 服务质量优劣问题。 2 1 1q o s 的定义和标准 i s o 最早开始计算机网络的q o s 问题的研究。针对o s i 参考模型的七层协 议,i s o 组织要求每层协议都向高层提供相应服务的同时,提供如表2 1 所示 的服务质量 3 3 】。 参数含义 传输延迟从数据传输请求开始到数据传输完成确认为止的时间间隔 吞吐量单位时间内在一个连接上传输的最大字节数 出错率 数据单元错传、丢失或重传的概率 建立连接延迟从请求建立连接开始到建立连接确认为止的时间间隔 连接失败率建立连接失败的概率 重置率在给定时间内服务提供者释放连接或重置连接的概率 传输失败率传输失败的概率 释放延迟从释放请求开始到释放确认为止的时间延迟 释放失败率释放连接时失败的概率 表2 一l 如上表所示,o s i 参考模型中的服务质量( q o s ) 用参数方式进行定义。即 当高层协议要求低层协议提供相应的服务质量时,高层协议向低层协议放送包含 q o s 参数值的服务数据单元( 分组) 。 参数含义 访问权限防止非法用户访问 优先级包括传输优先级和使用优先级 成本 信息传输时所消耗的资源 表2 2 另外,i s o 还定义了于协议功能本身无关的安全性、成本与传输优先级等q o s 7 河海大学硕士研究生论文重配置机制研究反射在w e b o o s 控制中的应用 参数,如表2 2 。 2 1 2q o s 的重要参数分析 由于q o s 的控制最关键的就是传输延迟、和吞吐量,这两个参数就是大体 的表达一个网络连接的q o s 质量,一般对于q o s 的评价标准中只对于这两个参 数进行分析,所以本文对这两个参数进行了分析。对于其他的q o s 参数的分析 将作为后续的工作。 2 1 2 1 延迟 延迟指的是客户从发出请求到收到回复所经历的时间。图2 - 1 是一个简单的 调用的时序图,对于一个简单调用所需要的时间为t 4 一t l 。其中中间件系统又调 用服务器端的服务。比如在j 2 e e 架构中,客户程序调用处在不同结点的e j b , 中间件系统可能是个容器,可能是b e a 的w e b l o g i c ,i b m 的w e b s p h e r e ,等等。 匡国叵囤 t 1 时间 山t 4 请求l 7 l 请求2 t 2 卜 回复2h 服务器端进行相应的计算l , 回复1 l r ;t 3 图2 1 对于一个简单调用所需的时间 对于一个复杂调用所需要的时间的例子如图2 2 ,其中c 2 为c 1 的提供服务,c 3 又为c 2 提供服务。根据上面的例子,结点2 和结点3 是两个不同的e j b ,可能 处于不同的位置,而两个e j b 之间又存在着调用。 2 1 2 2 吞吐量 吞吐量就是单位时间在一个连接上传递的最大字节数。相当于平时说的带 河海大学硕士研究生论文重配置机制研究一一反射在w e b q o s 控制中的应用 宽,由于本文所考虑的中间件系统需要进行对多个连接进行控制,由于总的带宽 是有上限的,所以这里的带宽的合理分配,实时的对带宽进行重新分配就是我们 需要解决的问题之一。 匾画囤匡习 2 2w e b q o s 控制概述 图2 - - 2 对于一个嵌套调用所需的时间 i n t e m e t 上的w e b 应用和哪请求的爆炸性增长,使得目前许多热门的 w e b 站点都经常面临服务器超载的问题,为此,如何对各类w e b 用户提供满意 的服务性能和质量保证已成为迫切需要解决的问题。另一方面,随着电子商务应 用的兴起:i n t e m e t 的服务模式正由传统的数据通信于信息浏览向电子交易与服 务转变,w e b 服务器系统作为支持电子商务的核心设施,迫切需要对不同类型的 用户或服务请求进行区分优先级别的处理,从而提供区分的服务性能。 近年来,网络传输的q o s 控制技术研究已十分活跃,但是目前通用的w e b 服务器尚无w e bq o s 控制机制,无法为w e b 应用提供服务区分和性能保证。因 此,如何在w e b 服务器及其集群系统中引入和实现q o s 控制的机制和策略,已 经成为下一代网络q o s 控制技术不可或缺的关键环节。 河海大学硕士研究生论文重配置机制研究一反射在w e b o o s 控制中的应用 目前,w e b 流量在i n t e m e t 总流量中所占的比例已经超过6 0 ,成为i n t e m e t 上信息传输的主流。通常,人们期望的w e b 站点的理想响应时间为1 秒,这与 人类的响应时间大体相当。美国h p 实验室的b o u c h 等人对用户感知的q o s 及 其影响进行了研究,发现普通的w e b 用户通常不会忍受超过8 1 0 秒的等待时间 【1 0 。而根据z o n a 研究中心的统计,一个电子商务网站必须保证用户在7 秒内 得到响应,否则将损失3 0 或者更多的客户 1 3 】。例如,在服务器过载的情况下, 具备端到端q o s 保证的高级流可能仍然会遭到服务拒绝,后者w e b 服务的平均 响应时间比用户的期望高出多个数量级,从而导致事实上的“拒绝服务”效果。 据估计,仅在美国的电子商务市场,慢的通信速度、延迟的响应时间、频繁的连 接中断等问题已经导致了每年4 0 0 亿美元的销售损失。与传统的t c p i p 和h t t p 服务的平均主义哲学不同,电子商务应用通常要求对用户或服务进行区分优先级 别的处理,这是因为所有的w e b 事务不可能对客户或服务其而言都等同重要。 例如,对客户而言,在线进行股票投资交易的h t t p 请求显然要眈简单的浏览后 下载的请求更加要紧,因此需要更加严格的实时保证;对w e b 服务器而言,它 需要对付费的用户更好的服务级别。随着w e b 应用资源需求的不断增加,电子 商务类增值服务迫切要求为其提供基于利润收益的有竞争力的区分服务,而不应 该在遵循尽力丽为( b e s t - - e f f o r t ) 的服务规范。 总之,w e bq o s 概念的提出反映了当今w e b 应用和电子商务应用对于q o s 控制的迫切需求,可以说,w e bq o s 技术的出现是w e b 应用和电子商务应用飞 速发展的必然结果。如何在w e b 服务器及其系统中引入和实现q o s 控制的机制 和策略,从而满足不断增加的w e b 性能要求,为不同类型的用户或请求提供服 务区分和性能保证,这是目前w 曲发展所迫切需要解决的问题,也是实现下一 代网络q o s 控制不可或缺的关键环节。 2 3 解决问题的方案 目前,通用的w e b 服务器尚无w e bq o s 支持机制,无法为w e b 应用提供服 务区分和性能保证。现代w e b 服务器都是根据i n t c r n e t 尽力而为的服务模型平等 地处理所有到来的请求;大多u n i x 内核的w e b 服务器采用f i f o ( f i r s t - - i n - - f i r s t o u t ) 的调度策略,在超载的情况下不加区别地丢弃高优先级的请求分组。因 此,仅靠网络q o s 机制并不能完全解决端到端的q o s 控制问题,w e b 服务器作 为端到端的网络中不可缺少的一个重要环节,必须同样具备建立和支持q o s 的 机制和策略。 从网络分层的角度而言,w e bq o s 属于应用层的q o s ,它度量的是用户在与 w e b 站点进行交互是所感受到的服务性能。例如,下载时间、交易时间( 如银行 河海大学硕士研究生论文重配置机制研究反射在w e b q o s 控制中的应用 结算、股票交易、网上购物等) 、服务器的可用性、遇到的错误( 如失败的连接、 丢失的页面或组件、中断的链路、交易失败) ,等等。 由于w e b 基础设旌的复杂性,影响w e b q o s 的因素有很多。实际上,w e b q o s 控制涉及到构成w e b 的每一个元素,从网络技术和协议,到w e b 服务器( 以及 代理服务器) 的硬件、软件体系结构,等等。由于大多数w e b 基础设施的组件 通常都无法轻易进行控制,因此w e bq o s 的实现并非一件容易的事情。 本文重点介绍了两种w e bq o s 控制机制。 2 3 1 操作系统的w e bq o s 控制机制 操作系统和w 曲服务器软件处理每个请求的工作流程如图所示。从中可以 看出,由于客户请求中很重要的一部分处理是在操作系统的内核中完成的,因此, 缺少了这一层次上的服务区分会导致对这部分处理的计算不准确。例如,在操作 系统内核中缺少服务区分会导致某些服务类占有比其应得的份额更多的系统资 源。为了实现区分的w e bq o s 控制,w e b 服务提供者要求操作系统的内核能对 不同请求类别所消耗的系统资源进行有效的计量和控制,从而实现在w e b 服务 器中为不同的请求提供基于类别的区分的性能。 l h 卸请求 t 应答分组j n i c 缓冲 网卡 tp i p 堆 s o c k e t 缓冲 s 内核 文件系统 a c t c e p t r e i a dw t r i t e 。降 r j 一 服务器中分配的缓冲区 w e b 服务器 图2 3 操作系统对请求的工作过程 另外一个问题关系到当多个进程或线程对某一服务类进行处理时的应用层 资源调动。大多数传统的操作系统将每个进程或进程中的线程既作为调度的实 1l 河海太学硕士研究生论文 重配置机制研究一反射在w e b q o s 控制中的应用 体,也作为资源分配和管理的单元( 或称资源代理r e s o u r c ep r i n c i p a l s ) ,并且在 这些代理之间多路复用系统资源。在这种以进程为中心的操作系统中,进程是组 成一个服务类的基本单元。在需要进行服务区分的w e b 服务器中,当多个进程 与一个单一的服务类相关联时,对分配给多个进程的资源进行控制时是很困难 的,从而很难对该服务类实现期望的资源分配。例如,如果该服务类的某些进程 没有完全用尽所分得的资源,操作系统就会将这些剩余的资源分给所有竞争资源 代理,而不是仅分给与该服务类相关联的进程。 操作系统的研究者们已经意识到了操作系统内核机制对于支持服务区分和 实现w e bq o s 的重要性。b a n g a 等人提出了“资源容器( r e s o u r c ec o n t a i n e r ) ”的 抽象的概念,将资源代理与进程的概念从原来的一体化中分离开来,为操作系统 中精细粒度的资源管理提供了支持【2 2 】。 2 3 2 中间件的w e bq o s 的控制机制 前面讨论了操作系统的w e b q o s 的控制机制,为了向不同类型的客户提供 区分的w e b q o s ,这些机制通常要求对操作系统进行根本上的修改,使之具备特 有的体系几个以实现对w e b q o s 控制的支持。然而,这类修改在具体实现上具有 一定的难度,而且改进后的系统也存在灵活性、通用性和可扩展性等方面的问题。 目前,中间件( m i d d l e w a r e ) 技术已经用来为w e b 服务器提供q o s 支持。 基于中间件的w e b q o s 控制不存在上述的问题。无需对本身进行重大的修改就能 提供w e b q o s 的控制。 中间件是基础软件的一个大类,属于可复用软件的范畴。顾名思义,中间件 处于操作系统软件与用户应用软件的中间。中间件在操作系统、网络和数据库之 上,在应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发 的环境,帮助用户灵活、高效地开发和集成复杂地应用软件。 在众多关于中间件的定义中,普遍接受的是美国i d c 公司的表述:“中间件 是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术 之间共享资源,中间件位于客户机服务器的操作系统之上,负责管理计算资源 和网络通信”。该定义表明,中间件是一类软件,而非一种软件;中间件不仅实 现互连,还要实现应用之间的互操作;中间件是基于分布处理的软件,最突出的 特点是他的网络通信功能。 在众多的研究中,h p 实验室的b h o j 等人设计和实现的w e b 2 k 服务器是一 个典型的例子 1 5 。它的结构如图。 这个中间件的主要部件如下。 1 ) 接收器 河海大学硕士研究生论文重配置机制研究一一反射在w e b q o s 控制中的应用 w e b 2 k 的接收器组件与服务器的t c p i p 堆栈对接。接受器对服务器的t c p 端口( 通常是端口8 0 或者4 4 3 ) 进行监听,并负责接受新到的连接。对于到达 连接上的每个请求,接收器首先执行会话管理( s e s s i o n m a n a g e m e n t ) ,以确定该 请求是否属于一个已经存在的会话。一个会话是由某一用户在一个预先规定的时 间段内发出的一系列请求。为了维护会话信息,w e b 2 k 服务器的中间件在返回给 客户的每个h t t p 响应头部引入一个特殊的c o o k i e 。给c o o k i e 能够帮助接收器 区分到来的请求是否属于已有的会话还是新建的会话。 在会话管理之后,接受器负责对请求进行分类。每个会话与一个类相关联。 为了确定一个会话所属的类,接受器可以使用多种分类准则。 w e b 2 k 中间件 优先级队歹0 e b 服务 器 接受器 一高级队列卜 翅1 ,7 会话管理 , 分类 乍面两、7 接纳控制 1 ,一。一, 图2 - - 4w e b 2 k 中间件体系结构 2 ) q o s 库 w e b 2 k 服务器中间件层通过q o s 库与w e b 服务器对接。w e b 2 k 服务器通过 一个称为“q o s i f i c a t i o n ”的进程将w e b 服务器的t c ps o c k e t 调用映射成对q o s 函数库的相应的调用。w e b 服务器在个t c ps o c k e t 上执行的每一个操作( 如 a c c e p t ,r e a d ,s e n d ,c l o s e 等) ,q o s 库都有一个相应的内部函数与之对应。这些 函数使w e b 服务器从优先级队列中而不是从t c ps o c k e t 库中接受新到的h t t p 请求。 这类基于中间件的方法可以在w e b 服务器中实现透明的负载监测、过载保 护、q o s 隔离和服务区分,无需修改服务器软件代码、下层协议、操作系统的调 度及通信资源的管理机制。因此,这种方法无需对客户和服务器进行修改,可以 直接应用于目前的i n t e m e t 环境,具有很强的实用性和应用前景。 河海大学硕士研究生论文重配置机制研究一反射在w e b q o s 控制中的应用 2 4 运用反射 如上所述:目前,有很多种方法可以提供q o s 控制,但它们同样存在着问 题。问题如下:他们都认为整个系统的q o s 参数是不改变的,就是说,没有考 虑到环境参数的变化。对于一个连接,基于中间件的方法只是根据它接受到的那 时刻的q o s 参数,并根据这个参数进行q o s 控制。这样它就不能动态的适应 不断变化的环境,例如不断改变的延迟,不断改变的吞吐量。 反射本身并不是一个新概念,它可能会使我们联想到光学中的反射概念,但 计算机科学赋予了反射概念新的含义。 计算机世界中有了反射这个概念,如果中间件供了反射的能力,那么这样的 中间件系统就能够解决上述问题。反射相关的概念如下:计算系统对现实世界中 的一些部分进行推理并执行相应的动作它的处理对象称作系统的处理域 ( d o m a i n so f t h es y s t e m ) 。原因连接( c a u s a l l y - c o n n e c t e d ) :计算系统和它的处理 域是原因连接的,这意味着“内部结构及其所代表的域具有这样一种联系,即无 论二者中的哪一个发生变化,都会导致另外一个相应的变化”。元系统也是一个 计算系统,不过它的处理域是另一个计算系统,该计算系统被称为对象系统。元 系统将它的对象系统表示为它的处理数据。元系统的程序规定了关于它的对象系 统的元计算,因此被称为元程序。反射是对自身进行推理和操作的过程。 下面的章节将详细阐述中间件以及反射的理论。 河海太学硕士研究生论文 重配置机制研究反射在w e b q o s 控制中的应用 第三章反射中间件原理分析 3 1 中间件系统概述 中间件在学术界和产业界均得到长期、广泛的研究与实践,尽管目前尚没有 统一的中间件定义,但对于中间件的意义与内涵已有基本共识。如,i e e e 的分 布系统专家组认为“中间件通过提供简单、一致、集成的分布编程环境,简化分 布应用的设计、编程和管理。本质上。中间件是一个分布软件层( 或平台) 。抽 象了底层分布环境( 网络、主机、操作系统、编程语言) 的复杂性和异构性”【1 6 : 美国国家自然基金委员会认为“中间件是建立在网络传输服务之上、辅助开发新 应用与网络服务、适用于多个应用的种软件” 1 7 1 ;对象管理组织o m g 图3 1 一般中间件的三层结构 认为“中间件就是解决网络环境下互操作问题的软件,它同时还提供事务、目录、 事件等其它基本服务”1 8 ;c m u 软件工程研究所认为“中间件是组支持软 件连接的服务的集合,允许在一个或多个主机上运行的多个过程通过网络进行交 互【1 9 】。中间件是将大型机应用移植到客户朋酲务器应用、以及跨异构平台通信的 基础机制,最初用于解决客户朋臣务器体系的互操作问题( 2 0 世纪9 0 年代) ” 不难看出,这些定义从不同角度、采用不同字眼所描述的中间件具有相同的目标 解决分布应用开发中诸如互操作等共性问题,以及相同的内涵提供这些 共性问题的具有普适性的支持机制。目前的主流中间件可以分为五类: 数据访问中间件允许应用程序和本地或者异地的数据库进行通信,并 提供系列的应用程序接口。该类中间件技术上最成熟,但局限于与数据库相关 的应用。远程过程调用中间件通过这种远程过程调用机制,程序员编写的 客户方应用在需要时可以调用远端服务器上的过程。该类中间件解决了平台异构 的问题,但编程复杂且不支持异步操作。事务中间件是在分布、异构环境 下提供保证事务完整性和数据完整性的一种平台。其优
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论