(计算机应用技术专业论文)面向rmi应用的集群中间件的研究与实现.pdf_第1页
(计算机应用技术专业论文)面向rmi应用的集群中间件的研究与实现.pdf_第2页
(计算机应用技术专业论文)面向rmi应用的集群中间件的研究与实现.pdf_第3页
(计算机应用技术专业论文)面向rmi应用的集群中间件的研究与实现.pdf_第4页
(计算机应用技术专业论文)面向rmi应用的集群中间件的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)面向rmi应用的集群中间件的研究与实现.pdf.pdf 免费下载

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

文档简介

型型兰兰型型兰垫望鱼兰一 【! ! ! 堕! 塑坐! 旦堕壅! ! ! 塑生塑婴堑- ! 兰塑 摘要 随着近年来i n t e r n e t 的迅速发展,支持高负载和负载递增的高性能计算领 域备受注目。其中利用多台廉价p c 来实现甚至超过昂贵的大型计算机能力的集 群技术成为目前并行处理发展的主流。 j a v a 作为一种凤靡一时的网络开发语言,其巨大的威力就体现在它强大的 开发分布式网络应用的能力上,而r m i 就是开发纯j a v a 的网络分布式应用系统 的核心解决方案之一。现在很多应用系统采用r m i 技术,随着处理的数据量的增 长,单一的应用服务器很难满足要求,因此实现这类应用系统的集群服务被提到 日程上来。 中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软 件,集群中间件是一个软件层面向r m i 应用实现集群功能的软件设施,本文在分 析面向r m i 的集群中间件特点的基础上,研究并实现一个可提供负载均衡机制、 可扩展、灵活性高、易实施和易管理的通用的r m i 应用集群服务平台。 论文在简要介绍了j m x ( j a v am a n a g e m e n te x t e n si o n s ) 、i g r o u p 等相关技术 的基础上,提出了平台主要架构:整个系统采用j m x 管理框架和j g r o u p 通信机 制,在此基础上实现了事件调用和匹配服务、内存数据共享服务、复制和恢复管 理机制、高可用r m i 注册和管理机制以及应用的检测部署机制,并简要介绍了各 个部分的功能。 文章的第二部分详细介绍平台的内存共享服务、复制与恢复管理、高可用 r m i 管理这几个关键部分,内存数据共享服务分为节点相关数据共享和全局数据 共享两部分,提供内存数据的本地缓存,通过该服务访问在各结点间共享的数据 就像访问本地数据一样;复制扣恢复服务就是在集群内实现节点的多个副本的维 护,在节点失效后提供有效地机制将失效节点的工作环境恢复到可用节点上去; 高可用r m i 管理主要负责处理s t u b 的获取,负载平衡机制的选择实现,请求的 分发等_ t - 作。接着根据平台的要求封装了r m i 开发的事件引擎,部署到该平台上, 并分析比较其运行数据。最后指出系统的不足之处,提出以后工作的目标。 关键词:集群、中间件、h a r m i 、复制 塑:! 二i 燮! ! 型兰 墅l ! ! 竺! 坐望塑墨壁生i 翼丛塑型壅! ! 茎些 a b s t r a c t t h er e c e n te x p l o s i v eg r o w t ho ft h ei n t e m e th a sb r o u g h tw i t hi tan e e dt o s u p p o r to v e r l o a d a n dr a p i d l o a d - e x p a n s i o n o v e rt h en e t w o r k t h a tas e to fl o w - c o s t i n d e p e n d e n tc o m p u t e r s i n t e r c o n n e c t e db yan e l w o r kc a r la c h i e v eo re v e ns u r p a s st h ea b i l i t yo ft h ec o s t l ys u p e rc o m p u t e r i sr e g a r d e da st h em a i n s t r e a mi nt h ec u r r e n tp a r a l l e lp r o c e s s i n gf i e l d j a v ai sap o p u l a rn e t w o r kd e v e l o p m e n tl a n g u a g e i ti s p o w e r f u lo nd e v e l o p i n gd i s t r i b u t e d n e t w o r ka p p l i c a t i o n ,1 a v ar e m o t em e t h o di n v o c a t i o ni so n eo ft h em o s ti m p o r l a n ts o l u t i o n sf o r d e v e l o p i n gn e t w o r ka p p l i c a t i o nt h a ti sp r o g r a m m e db y ,l a v a n o wt h e r ea r eal o to fa p p l i c a t i o n s b a s e do nr m i ,w h e nt h ed a t aw es h o u l dp r o c e s s e di sv e r yl a r g e ,o b es e r v e rw i l lf a i l s ow es h o u l d d e v e l o p ac l u s t e rs e r v i c ef o rr m i a p p l i c a t i o n s m i d d l e w a r eb a s e do nc o m p u t e rh a r d w a r ea n do p e r a t i n gs y s t e m ,i ss y s t e ms o f t w a r eo l lw h i c h w ec a l ld e v e l o pa n dr u na p p l i c a t i o n ,t h i sp a p e ra n a l y z e dt h ec h a r a c t e r so fc l u s t e rm i d d l e w a r eb a s e o nr m l ,r e s e a r c h e da n di m p l e m e n t e dal o a db a l a n c e ,s c a l a b l e ,m a n a g e a b l ea n dt r a n s p a r e n tc l u s t e r s e r v i c ef o rr m i a p p l i c a t i o n s a f t e ri n t r o d u c e ds o m ei m p o r t a n tt e c h n o l o g ys u c ha sj m x ,j g r o u p ,t h i sp a p e rg i v e st h e m a i n f r a m eo fc l u s t e rm i d d l e w a r e t h ec l u s t e rm i d d l e w a r eu s e sj m xf r a m e w o r ka n dj g r o u pf o r c o m m u n i c a t i n gi tp r o v i d e ss o m es e r v i c es u c ha si n v o c a t i o na n de v e n td i s p a t c hs e w i c e ,r e p l i c a a n dr e c o v e r ys e r v i c e ,i n m e m o r yd a t as h a r i n gs e r v i c e ,h a r m is e r v i c ea n da p p l i c a t i o nf a r m i n g s e r v i c e i nt h es e c o n dp a n 、t h i sp a p e ri n t r o d u c e dr e p l i c aa n dr e c o v e r ys e r v i c e ,i n m e m o r yd a t a s h a r i n gs e r v i c e ,h a r m is e r v i c e i n - m e m o r yd a t as h a r i n g s e r v i c ei sc o m p o s e do fn o d e r e l a t e d d a t as h a r i n ga n dg l o b a ld a t as h a r i n gi tp r o v i d e st h el o c a lc o p yo fd a t at n m e m o r y , a n dw e c i l i a v i s i tt h es h a r e dd a t ai nc l u s t e ra sv i s i t i n gl o c a lo n e s r e p l i c as e r v i c em a n a g e st h a to n em e m b e r o f t 1 1 ec l u s t e rs a v e si t sc o p i e so nt h eo t h e rm e m b e r s w h e no n en o d eo ft h ec l u s t e rc r a s h e s ,t h e r e c o v e r ys e r v i c ec a nc o p yi t sr u n n i n ge n v i r o n m e n tt oo t h e rn o d e s h a r m ic h a r g e so fh o wt o o b t a i nas t u b ,h o wt oc h o o s et h el o a db a l a n c ep o l i c y a n dd i s p a t c h i n gt h er e q u e s t s l a s t ,w e m o d i f yt h ee v e n te n g i n e ,a n dd e v e l o pi t o nt h ec l u s t e rm i d d l e w a r e k e y w o r d s :c l u s t e r ,m i d d l e w a r e ,h a r v i i ,r e p l i c a t i o n 2 浙汀人学坝i 学位论文 i 血i a lr m i 施j i j 的攘群中间仆的埘究+ ,实现 引言 第一章绪论 当前,大型企业计算、企业应用和t n t e r n e t 公共服务的。个突出问题是在并 发业务的高峰时,负载常常超过计算平台的承受力,从而造成服务质量下降吏甚 至服务中断、崩溃;某项服务往往会要求在短期内将负载提升剑极高的水甲,而 同时还必须保持连续的可用性。目前比较通用的处理方法有两种:足提高币机 的性能,即超级计算机;一是使用多台计算机米分担整个系统的负载,这样就有 可能利用多台廉价的汁算机来达到甚至超过昂贵的超级计算机的能力。这是集群 技术存在和发展的基础。 目前有两种主流的解决方案:大规模并行处理机m p p ( m a s s i v e l yp a r a l 1e 1 p r o c e s s o r ) 和集群( c l u s te r ) 技术。m p p 具有极高的整体性能,但价格昂贵,可扩 充能力有限。集群,特别是近来备受关注的普通p c 的集群技术,虽然在带宽和延 迟方面至少比m p p 差两个数量级,但随着p c 整体性能的提高、高速局域网络技术 的发展、分布式计算技术的成熟,其价格优势、灵活的可伸缩性以及丰富的软件 资源使之成为优选的高性能、高可用计算平台。 集群是一个本地计算系统,它由一组独立的计算机经过网络互连而成。所渭 集群的本地性是指所有成员子系统都处在单一的管理域内。集群中的每个节点都 可独立进行操作并可单独配嚣、用以承担普通主机负载和应用的个人计算机。集 群是构造i n te l - n e t 服务的一个优越平台,每一个集群节点代表一个独立的失败边 界,这意味着可以通过复制数据来提供容错。集群允许递增伸缩性,因为可以通 过增加节点米增加容量。通过与高性能系统局域网紧密结合,集群使用相对较低 的成本或得极高的性能,而且给予集群的分布式服务体系结构以通用方式满足巨 量数掘吞吐率和呵用性需求,同时有助于服务构造。 1 1 集群系统 集群足一组物理上通过高速互连嘲连接在一起的计算机的集合,通过附加的 集群系统软件互相协作,作为一个整体对外提供服务,其中每个计算机称为一个 节j _ 。目前,集群系统朝两个方向发展:高性能计算( h i g hp e r f o r m a n c e ) 和高可 用计算( h g ha v a i l a b i l i t y ) 。科学计算的应用侧重集群的高性能和可扩展性方 面,而商务计算的应用侧重集群的高可用性力面。 集群系统有如下重要特征: 向向r m i 应用的集群中间件的州究o 实m 集群的每个节点都是。个完整的计算机,既可以是对称多处理机型 ( s m p ) ,可以是一台p c 。 节点通过廉价的商用网络连接,如以太刚、f i ) d i 、f i b e r c h a n n e l a r r m 交换网等,有时也可使用专用网络。 节点之间是通过t o 总线连接的松耦合关系,这有别于大规模并行处州 机,m p p 通过内存总线连接的紧祸合关系。 节点拥有本地磁盘也使集群与m p p 不同,m p p 是共享磁盘的。 完整的操作系统驻留在每个集群节点上,而m p p 的节点仪运行微内核系 统。 集群系统具有许多其它并行系统无法比拟的优点:集群系统主要由廉价的商 用系统组成,凶此在性价比上要l | = p v p 超级计算机并1 3 m p p 系统岛:集群的每个节点 都是一个传统的计算机平台,用户能够在其熟悉日威熟的环境卜开发并运行自己 的程序:集群系统能够很容易地通过添加节点的方式来达到计算性能的提高,可 扩展性较好:集群系统能够方便地通过冗余的廉价商用部件为用户提供高可用 性。在拥有这些优点的同时,集群系统也面临着巨大的挑战,要解决的主要问题 包括:单一系统映像、高效通信、复制恢复管理、高可用性等。 1 2 中间件技术简介 中间件是在计算机硬件和操作系统之卜,支持应用软件丌发和运行的系统软 件,它能够使应用软件相对独啦! = 计算机硬件和操作系统平台,为当今的大型分 布式应用搭起了一个标准的平台,把人型企业分散的系统和技术组合存- 起,实 现大型企业应用软件系统的集成。 中剧件作为存在于系统软件与应用之闻的特殊层次,屏蔽了网络硬件甲台的 差异性和操作系统与网络曲、议的异构性,抽象了典型的应用模式,从而使应用软 件制造者可以更多地将思路放在业务逻辑中,并荜于标准的形式进行开发,这样 就使软件框架化成为可能,并且应用软件能够比较平滑地运行于不同平台上,真 f 实现企_ k 跨平台分御式应用。同时中间件在负载平衡、连接管理和调度方面起 了很大的作用,使企业级应用的性能得到大i 憾提升,满足了关键业务的需求。 些工业标准的推出,进一步使中间件成为可复用组件的运行框架,加速了软件复 用的现实化进程。 最早具有中间件技术思想及功能的软件是i b m 的c i c s ,但山于c i c s 0 是分布 式环境的产物,因此人们一般把t u x e d o 作为第一个严格意义上的中间件,。品。 t u x e d o 是1 9 8 4 年在当时属于a t & 3 、的贝尔实验窀丌芨完成的,但由于分粕式处理当 时并没有在商业应用上获得像今天一样的成功,t u x e d o 在很长段时期里只是实 验审产品,后来被n o v e l l 收购,在经过n o v e 1 并不成功的商、f k 推广之后,1 9 9 5 年被现在的b e a 公司收购。此后b e a 公司j 成为一个真l r 的中间件厂商,i b m 的中 州件m q s e r i e s 也是9 0 年代的产品,其它许多中间件产品也都是最近几年才成熟起 来。国内在中间件领域的起步阶段正是整个世界范周内中间件的初创时期。东方 通科技早在1 9 9 2 年就开始中间件的研究与开发,1 9 9 3 年推出篇一个产品 t o n g l i n k q 。 当前世界上巾间件产品虽然复杂多样,但我们认为总的来讲中问件产品大致 可咀分为两大类:基础t i ,削件和应用层中间件。基础r l t 问件研发现状,基础中问 件产品是面向分布式计算环境而提供的各种系统服务的支撑容器,它提供中间件 的各类运行环境,包括e j b ( e n t e r p r i s ej a v a b e a n s ) 容器、j m sj a v am e s s a g e s e r v i e e ) 消息中间件、i t s ( , l a v at r a n s a c t i o ns e r v ic e ) 服务等。分布式计算存 在j 2 e e 和d o tn e t 两大类,因此这类产品也分为微软的d o tn e t 及j 2 e e 系列产品。 高层中间件研发现状,在单一或基础应用系统已经逐渐成熟的行业应用领 域,如制造、f k 、服务业等,应用热点逐渐转移到对应用系统的整合,进而实现决 策分析、增值业务等功能,使企业能够进一步挖掘信息和对外提供多元化的服务。 在电子商务、电子政务领域,由于具有业务种类繁多、变化快、机构庞杂等特点, 使得电予政务虽然不像电信、金融系统那样对系统效率、可靠性等要求甚高,但 由于其业务及流程的复杂程度以及变化速度更甚于金融、电信等应用,对中间件 软件的功能提m 了新的要求。这类中p h t 通常构建在消息传输、事务处理、流程 整合、构件化、应用服务器等底层中间件技术的基础之上,这些都构成了高层中 间件。 高层中间件产品是构筑在基础中间件平台之上、面向行业的中问件集合。它 可分为面向各类企业信息系统提供关键共性服务的关键共性服务层中间件和面 向某类具体企业信息系统应用的应用层中间件两个层次。目前,关键共性层中间 件的研究,1 :发全面铺”,产品包括c a 中问件产品,如n a g r 、i r d e t o 等: a a & ( a u t h e n i c a t j o n a c c o u n t - - a u t h o r iz a t i o n ) 中间件产品,如c s c o 公司的 s e c u r ea c s 、a a as e c u r i t ys o l u t i o n s 公司的a a a i r 等;f i 志中问件产品,如 j a v a 的l 0 9 4 j ;工作流管理中阳j 件,j t 1 f i l e n e t 公司的f i l e n e t 、柯达公司的 e a s t m a n 、美国佐治亚大学的m e t e r 、i b m 的f l o w m a r k 、浙江大学的w j d e f l o w 等: 报表中间件,如华力公司的华表中间件、c r y s t a l d e c is i o n s 公司的c r y s t a l r e p o r t s ;e a i 中问件,如m jc r o s o f t 的b i z t a l k 、o p e ns o u r c e 组织的o p e n a d a p t e r 、 i c a 技术等。而向某类具体企业信息系统应用的中俺j 件产品的研究与开发也已开 始起步,已有的产品包括庸i 向移动业务疗勺中阃付产品( s y b a s e 子公司i a n y m h e r e 塑塑兰兰竺坠竺型兰堡墨一 堕塑! ! ! 坐旦堕堡壁生塑堡塑塑生:! 茎型 s o l l j t i o n s ) ,面向呼叫中,c , 群j h h l 白j 件产品( n e x u s ( 余科科技) 、三友亚星、加拿大 e l i x ) 、面向e r p 系统的中问件平台( o _ r a c l e 、s a p 等) 、_ 自i 向s c m 系统的中1 1 叫什、l 台、数据挖掘r 1 i 问件等。 1 3r m i 应用 j a v ar m i ( r e m o t em e t h o d i n v o c a t o n 远程方法训用) 是用j a v a 在j d k i 1 叶 实现的,它大人增强了、j a v a jj :发分布式应用的能力。j a v a 作为一种风靡一时的 例络开发语言,其巨大的威力就体现在它强大的开发分向式酬络应用的能力上, 而r m i 就是丌发纯j a v a 的网络分布武应用系统的核心解决方案之一。用l j a v ar m i 升发的应用系统可以部署在任何支持j r e ( j a v ar u ne n v i r o n m e n tj a v a 运行环 境) 的平台上。目前用r m i 技术丌发的应用系统有很多,例如些文件传输系统, 分布式计算系统,e a t 、事件引擎等。 r m i 的主要优点如下“。: 面向对象:r m i 可将完整的对象作为参数和返回值进行传递,而不仅仅 是预定义的数据类型。也就是说,您盯以将类似j a v a 哈希表这样的复 杂类型作为一个参数进行传递。 可移动属性:r m i 可将属性( 类实现程序) 从客户机移动到服务器,或者 从服务器移到客户机。 安全:r m 使用j a v a 内置的安全机制保证卜载执行程序时用户系统的安 全。r m i 使用专门为保护系统免遭恶意小应用程序侵害而设计的安全管 理程序,可保护您的系统和删络免遭潜在的恶意下载程序的破坏。在 情况严重时,服务器可拒绝r 载任何执行程序。 便于编写和使用:r m i 使得j a v a 远程服务程序和访问这些服务程序的 j a v a 客户程序的编写上作变得轻松、简单。 可连接现有原有的系统:r m i 可通过j a v a 的本机方法接口j n l 与现有系 统进行交互。 分和式垃圾收集:r m l 采用其分布式垃圾收集功能收集不再被网络中任 何客户程序所引用的远程服务对象。 并行计算:r m i 采用多线挥处理方法,可使您的服务器利用这些j a v a 线 程更好地并行处理客户端的请求。 浙江人学倾l j 学位论义 1 4 本文的研究内容 随着r m i 系统的广泛应用,单一服务器的处理能力不能满足海量数据处王甲问 题r | 益暴露在丌发者而前,而引埘某个应用系统实现的集群系统,只能满足单个 应用,为每个应用开发集群系统是一件非常浪费资源的事情,所咀开发一个通用 的r m i 集群平台被提到h 程卜来。我们在这个背景下研究开发了集群中阳j 件平台, 它是一个面向r m i 应用实现集群功能的软件设施,本文在分析面向r m l 的集群中间 件特点的基础上,研究实现个可提供负载均衡机制、可扩展、灵活性高、易实 施、易管理的通用的r m i 应用集群服务平台。 论文的研究内容及组织结构如下: 1 ) 研究大型企业应用和业务高峰期的海量数据处理时,服务器负载的提升 和连续可用行的要求,制定出通用的集群中f 目件平台的设计f 标。研究相关中问 件产品的功能及体系结构,提出本系统的架构及各组成部分的主要功能( 第二 章) 。 2 ) 根据架构中各个层次功能,主要研究i 个相关部分的实现,分别是内存 数据共事、复制和恢复管理、高可用性管理。论文分析了软件级内存数据共享的 多种实现技术及数据致性模型,根据平台本身的特点有针列性的实现r 节点寺日 关数据共享和全局数据共享( 第i 章) 。为提高系统的可用性和容错性,我们分析 了系统的复制恢复需求,选择了复制模型,实现自己的复制数据结构及关键算法 ( 第四章) 。然后,针对r 斟i 应用的特殊性,总结刚i 应用系统的共同之处,实现对 其进行高效的管理服务( 第五章) 。 3 ) 将已有的跚l 应用系统部署到中间件平台上,给出性能分析,提出不足之 处和以后需做的改进( 第六、七章) 。 1 5 本章小结 本章简要介绍了集群系统定义、组成及其优缺点,r m i 应用系统开发的年日关 信息,同时也介绍了中间件技术定义、特点及国内外的研究现状,为提出在r m i 应用基础上实现集群中问件做好准备,然后介绍了本文的研究内容。 【( 【i 向r m l 心用的集群中间件的1 i i f 究j 宴脱 第二章系统架构 集群是一个本地计算系统,它的每一个节点都是可以独市进行操作并i u 单独 配置,用以承担普通主机负载和应用的个人计算机,其系统性能具有递增的可扩 充性。中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统 软件,集群中间件是一个软件层实现集群功能的中间件平台,同时这个平台是而 向r m i 应用的,这一特点就决定了它的架构与实现特殊性,下面的部分会根据我 们的研究和所进行的丁作详细介绍。 2 1 系统的设计目标 为了满足大型企业应用和业务高峰期的海量数据处理需求,服务器负载的提 升和连续可用行的需求,本文提出一个通用的集群中问件平台,该平台采用分层 体系设计,为上层应用服务屏蔽底层通讯细节,并没计多种系统服务将米自集群 外部的多种请求根据负载均衡策略转发到集群内部中的某一台实际服务器上执 行。该平台满足如下的特性与功能需求: 负载均衡:集群中的所有节点都呵以运行某一应用服务的实例,系统会 根据指定的负载均衡策略进行服务访问的重定向。系统自动将用户的请 求均衡地分配集群中的每一个节点上,比如将最新的请求分配给总负载 囡子小的服务器l ( 当然,这需要高技术的计算) 。这样令资源的利用 最大化。尤其适用在高峰值期间资源的合理利用。同时也避免了突发的 高峰值造成系统的瘫痪。 可伸缩性:集群的可伸缩性来自内部节点的可伸缩性,就是说集群的节 点可以动态增加、删除。用户可以根据业务的变化增加或减少集群i = j 的 节点,这种扩展是在保持业务不f 叫断的情况下完成的,并且用户也无须 考虑增加的服务器是否要与集群中的节点的操作系统型号品牌等一 致。 灵活性:系统易于配置和管理,可以灵活的动态配置系统的各种参数, 可以实时的监控系统的各组成的服务状态。 高可用性:系统运行稳定、可靠,故障时间短,提供给用户持缕可用的 服务,单个节点的失效不会引起整个系统的瘫痪。采用内存复制技术, 通过高技术的精密计算,将运行期状态复制到集群域中的某些节点匕, 在发生故障时,通过这些复制节点来实现容错,从而在增加可靠性的同 时也保证了更好的可用性。 向向r m i 应用的集群中间什的研究,实m 透明性:包括服务对象位嚣的透明性,访问透明阡( 对奉地和远程资源 用同一种方式调用) ,失效透明性( 某个节点的失效对用,、透明) ,伸缩 透明性( 系统规模的变化不影响用户 _ 作) 。 易实施性:基于r m i 的应用仅需要经过简单的更改和封装就可以很容易 的应用到该中间件平台上,并且仅需要拷贝到某一节点的应用部署f 录 下,就可以自动部署本节点和集群内其他节点应用。 易管理性:采用集群系统,完全不会增加系统的管理难度。冈为,我们 还是可以通过单一的管理界面实现集群内所有应用服务器的管理,就像 是单独划每一台应用服务器实施管理一样。 2 2 技术介绍 2 2 1j ( 介绍6 1 i m x ( j a v am a n a g e m e n te x t e n s i 0 1 3 8 ) 是一个为应用程序植入管理功能的框架。 j m x 是一套标准的代理和服务,j m x 致力于解决分布式系统管理的问题,因此,能 够适合丁各种不同的环境是非常重要的。为了能够利用功能强大的j a v a 计算环境 解决这一的问题,s u n 公司扩充了j a v a 基础类库,开发了专用的管理类库。j m x 是一种应用编程接口,可扩充对象利方法的集合体,可以用于跨越一系列4 i 同的 异构操作系统平台、系统体系结构和网络传输咖议,灵活的开发无缝集成的系统、 网络和服务管理应用它提供了用户界面指导、j a v a 类和开发集成系统、网络及网 络管理应用的规范。 管理对象是j m x 应用程序的核心。j m x 结构包括:支持j a v a 的w e b 浏览器用户 接口,管理运行模块a r m ( a d m i nr u n t i m em o d u l e ) 利应用。这三个部件之n 1 j 通过 r m i 进行通信。用户接口用来发布管理操作,这些操作可以间接的通过浏览器或 通过单独的应用程序来激发。管理运行模块用束给应用提供实例化的管理对象, 它包括a g e n t 对象接口,通知接口和被管数据接口。应用指的是那些被管设备荦 兀。 j m x 是个完整的网络管理应用程序开发环境,它同时提供r 厂商需要收集 的完整的特性清单、可生成资源清单表格、图形化的用户接口、访问s n m p 的网络 a p i 、主机问远程过程调用、数据库访问方法。j m x 这轻型的管理基础结构,价 值在丁列被管理资源的服务实现了抽象,提供了低层的基本类集合,开发人员在 保汪火多数的公共管理类的完整性和一致性的前提下,进行扩展以满足特定网络 管理应用的需要。 鲨塑兰量兰生坚型兰堡兰一 塑塑! 竺! 坐望堕塞壁! 塑竺塑婴丝l ! 壅型 2 2 1 1j m x 体系架构 、j m x 体系结构( 如图21 ) ” 图2 - 1 :j m x 体系结构 1 ) 蹬备层( i n s t r u m e n t a t i o nl e v e l ) :手要定义了信息模型。在j m x 中,各种 管理划象以管理构件的形式存在,需要管理时,向m b e a n 服务器进行注册。该层 还定义了通知机制以及一些辅助元数据类。 2 ) 代理层( a g e n tl e v e l ) :主要定义了各种服务以及通信模型。该层的核心是 一个m b e a n 服务器,所有的管理构件都需要向它注册才能被管理。汴册在m b e a n 服务器上管理构件并不真接和远程应用程序进行通信,它们通过协议适配器和连 接器进行通信。而协汉适配器和连接器也以管理构件的形式向m b e a , f l 服务器汴册 才能提供桐应的服务。 3 ) 分伟服务层( d i s t r i b u t e ds e r v ic el e v e l ) :主要定义了能对代理层进行操 作的管理接口和构佴:,这样管理者就可以操作代理。然而,当前的埘x 规范并没 有给出这层的具体规范。 d ) 附加管理协t 5 l a p i :定义的a p i 主要用来支持当前已经存在的网络管理协 议,如s n m p ,t o ,c i m w b e m 等。 2 2 1 2 设备层 该层定义了如何实现j m x 管理资源的规范。一个j m x 管理资源可以是一个j 8 v 8 应用、一个服务或一个设备,它们可以用j a w i j f 发,或者至少能用j a v a 进行包装, 并且能被置a j m x 框架中,从而成为j m x 的一个管理构件( m a n a g e d b e a n ) ,简称 m b e a n 。管理构件可以是标准的,也可以是动态的,标准的管理构件遵从j a v a b e a n s 构件的设计模式:动态的管理构件遵从特定的接口,提供了更大的灵活性。该层 还定义了通知机制以及实现管理构件的辅助元数据类。 管理构件( m g e a n ) 在j m x 舰范中,管理构件定义为:它是个能代表管理资源的j a v a 对象,遵从 一定的设计模式,还需实现该规范定义的特定的接n 。该定义了保证了所有的管 理构件以一种标准的方式来表示被管理资源。管理接口就是被管理资源暴露出的 一些信息,通过对这些信息的修改就能控制被管理资源。一个管理构件的管理接 n 包括:1 ) 能被接触的属性值;2 ) 能够执行的操作;3 ) 能发出的通知事件;4 ) 管 理构件的构建器。 管理构件通过公共的方法以及遵从特定的设计模式封装了属性和操作,以便 暴露给管理应用程序。n x 定义了四种管理构件:标准、动态、丌放和模型管理构 件。每一种管理构件可以根据不同的环境需要进行制定。模型管理构件具有以下 新的特点:1 ) 持久性,定义了持久机制,可以利用j a v a 的序列化或j d b c 柬存储模 型n e a n 的状态;2 ) 通知和目志功能,能记录每个发出的通知,并能自动发出属 性变化通知。3 ) 属性值缓存,具有缓存属性值的能力。 通知模型 一个管理构件提供的管理接u 允 :代理对其管理资源进行控制和配韫。然 而,对管理复杂的分布式系统来说,这螳接i j j 是提供了一部分功能。通常,管 理应用程序需要对状念变化或者当特别情况发t 三变化时做出反映。为此,j u x 定 义了通知模型。通知模型仅仅涉及了在同一个3 m x 代理中的管理构件之间的事件 传播。 辅助元数据类 辅助元数据类用来描述管理构件。辅助元数据类卅i 仅被用来内省标准管理构 件,也被动态管理构件用来进行自我描述。这些类根据属性、操作、构建器和通 告描述了管理接口。j m x 代理通过这些元数据类管理所有管理构件,而不管这些 管理构件的类型。 型型2 兰型生上兰羔塑生 堕i ! :! 垦竺! 坐旦塑笙壁塑丛堕。! f 壅! ! 兰丝 2 2 1 3 代理层 代理层是个运行在j a v a 虚拟机上的管理实体,它活跃在管理资源和管理者 之i j ,用来直接管理资源,并使这些资源可以被远程的管理程序所控制。代理层 由个m b e a n 月e 务器和一系列处理被管理资源的服务所组成。 m b e a n 服务器 m b e a n h e 务器是代理层的核心,设备层的所有管理构件都在它卜面注册,管 理者只有通过它刁能访问管理构件。管理构件可以通过以下三种方法实例化和注 册:1 ) 通过另个管理构件;2 ) 管理代理本身;3 ) 远程应用程序。注册一个管理 构件时,必须提供一个唯一的对象名。管理应用程序用这个别象名来标t 管理构 件并对其操作。这些操作包括:1 ) 发现管理构件的管理接口;2 ) 读写属性值;3 ) 执行管理构件中定义的操作;4 ) 获得管理构件发出的通告;5 ) 基于对象名和属 性值来查洵管理构件。 协议适配器和连接器 m b e a n 月e 务器依赖于协议适配器和连接器来和运行该代理的j a v a 虚拟机之外 的管理应用程序进行通信。协议适配器通过特定的协议提供了一张注册在m b e a n 服务器的管理构件的视图。例如,一个h t m l 适配器可以将所有注册过的管理构件 显示在w e b 页面上。不同的协议,提供不同的视图。连接器还必须提供管理应用 一方的接口以使代理和管理应用程序进行通信,即针对不同的协议,连接器必须 提供同样的远程接口来封装通信过程。当远程应用程序使用这个接口时,就可以 通过网络透明的和代理进行交互,而忽略协议本身。 适配器和连接器使m b e a n 服务器与管理应用程序能进行通信。斟此,一个代 理要被管理,它必须提供至少一个协汉适配器或者连接器。面临多种管理应用时, 代理町以包含各种不同的协议适配器和连接器。当前已经实现和将要实现的协议 适配器和连接器包括:r m i 连接器、s n m p 协议适配器、i i o p 协议适配器、i _ i t m l 协议 适配器、h t l 、p 连接器。 代理服务 代理服务可以对注册的管理构件执行管理功能。通过引入智能管理,j m x r _ j + 以帮助我们建立强:有力的管理解决方案。代理服务本身也是作为管理构件丽存 在,也可以被m b e a n 月e 务器控制。 x 规范定义了代理服务有: 1 ) 动态类装载一通过管理小程序服务i u 以获得并实例化新的类,还可以使 位于网络上的类库本地化。 2 ) 监视服务一监视管理构件的属性值变化,并将这些变化通知给所有的监 浙江入学 砸i 学位论文 听者。 3 ) h 、j 问服务一定时发送一个消息或作为一个调度器使用。 4 ) 关系服务一定义并维持管理构件之问的十同互关系。 2 2 1 4 分布服务层 泼层规定了实现丁m x 应用管理平台的接口。这一层定义了能对代理层进行操 作的管理接口和组件。这些组件有如下功能: 为管理应用程序提t j i 一个接口,以便它通过一卜连接器能透明和代理层 或者j m x 管理资源进行交互。 通过各种协议的映射( _ f n s n m p 、i | 1 m l 等) ,提供了一个j m x 代理和所有 可管理组件的视图。 分布管理信息,以便构造个分布式系统,也就是将高层管理平台的管 理信息向其下众多的j m x 代理发布。 收集多个x 代理端的管理信息并根据管理终端用户的需要筛选用户 感兴趣的信息并形成逻辑视图送给相应的终端片 户。 提供了安令保证。 通过管理应用层和另一管理代理以及他的设备层的联合,就可以为我们提供 一个完整的网络管理的解决方案。这个解决方案为我们带来了独一无二的一些优 点:轻便、根据需要部署、动态服务、还有安全性。 2 2 i 5 附加管理协议a p i 该层提供了一些a p i 来支持当前已经存在的一些管理协议。这些附加的协议 a p i 并没有定义管理应用的功能,或者管理平台的体系结构,他们仅仅定义了标 准的t a r aa p i 和现存的刚络管理技术通信,例如s n m p 。网络管i 里平台和应用的开 发者可以用这些”i 束和他们的管理环境进行交互,并将这个交互过程封装在一 个j ) 1 x 管删资源中。例如,通过s n m p 可以埘一个运行有s n m p 代理的交换机进行管 理,并将这些管理接口封装成为个管理构件。在动态网络管理中,可以随时更 换这些管理构件以适应需求。这些a p l 可以帮助丌发者根据最通常的工业标准来 部署他们的管理平台和应用。新的网络管理的解决方案可以和现存的基础结构合 为一体,这样,现存的网络管理也能很好的利用基于j a v a 技术的网络管理应用。 浙江人学坝l 学化论史 2 2 2 j g r o u p 介绍 2 2 2 1 概述 j g r o u p 工具包集成了对象集群技术和基丁r m i 的分布式对象,在j g r o u p 中客 户端通过e g m i ( e x t e r n a lg r o u pm e t h o di n v o c a t i 0 1 3 ) 与一个实现某种服务的对象 集群相互作用,j g r o u p 向用户隐藏了服务是由集群实现还是由单一服务器实现 这细节,这样客,o 端通过e g m i 使用服务就不需要再改写程序,大大简化了应用 服务开发者的工作。j gr o u p 中包含很多具有创新型特色,这些特色使得j g r o u p 成为一个有趣的基本现代网络服务丌发丁具。主要有以下儿点“: 它向应用暴露网络的影响,这样应用就可以很正确的处理他们。j g r o u p 一个重要的特点是为每个对象提供它所在的同一分割中的所有其它对 象的一致视图。 j g r o u p 中,组内对象相互作用实现某些服务或者外部的服务请求都是基 丁一个机制r m i 。j g r o u p 提供统面向对象的服务端和客户端的程 序接口,这一方面是特有的。 j g r o u p 中有一个状态合并服务,它作为分割问的引用部署的系统支持, 在分割合并时协调复制状态是丌发部署在分割系统上的应用的最困难 的问题之一,原因足存在由冲突更新引起的不同分割中的服务状态差异 的可能性。 自治的复制管理框架简化了创建分布式应用复制的复杂性。甚至在没有 错误出现时,都通过一个复制管理来保证维持一个详细的复制级别。 j g r o u p 工具包由三个集成工具组成:分割级组成员关系服务( g m s ) 、组方法 调用服务( 6 m d 和状态合并服务( s m s ) 。下面简要介绍各个l 具的功能。 2 2 2 2g m s 服务 集群是一个服务对象的集合,他们协同工作,提供分布式服务。为丁增加灵 活性,集群的组成可以动态的改变,直u 服务节点的加入、己存在节点的删除等。 服务节点希望通过加入集群来增强分布式服务的可用性,同样节点也有可能决定 离丌集群终止服务。在任何时候,集群中节点关系是指那些可操作的、已经加入 集群还没有离开的节点之问的关系。系统的异步性和存在失败可能性导致集群内 的每个成员对当前集群的成员关系都有不同的理解。p g m s 的任务不仅是跟踪成员 关系的自动变化,也要管理凶为失败弓| 起的非自动变化以及服务节点的修改和通 讯连接。各种成员关系的变更通过视图装置报告给各个成员,安装试图包括具确 啦一视图标识符的成员关系列表、并f l 与集群当前纽成协调,这螳协调可以被视 图内部成员感知。 s l s 2 s 3 躺 i 黧露 j o i n l 勰盎 目 蒌雷l雾址审 幽2 - 2 :节点崩溃时g m s 如1 口j i 一忤 一个有用的p g m s 必须考虑多发射。首先,服务必须精确的跟踪组内成员关 系变化,并且安装视图必须及时的传递集群各分割当前组成信息;其次,我们要 求只有当这个视图那的所有服务节点组成达成一致时试图才能被安装;最后 p g 滁必须保证两个不同霄点安装的两个不同视图要有相同的顺序。最后两点特性 x , l 象服务节点必须要满足的,这样能够根据本地的单一复制信息来推断全局信 息,因此就火大简化了他们的实现。注意我们为j g r o u p 定义的p g m s 允许当前视图 的协刊存在,每个都与不同的通讯网络分割咖调一敛,这样就使它适用于分割级 应用。 2 2 2 3g m i 服务 j g r o u p 与现有的几种集群系统的不同之处是它的通信接门是完全建立在集 群力法调用上的。客户端和服务端以相同的方式通过远程方法调用作用于集群。 这样面向对象的抽象、封装、继承这些优点被扩

温馨提示

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

评论

0/150

提交评论