(计算机应用技术专业论文)超立方体网络模拟实验平台和容错路由算法研究.pdf_第1页
(计算机应用技术专业论文)超立方体网络模拟实验平台和容错路由算法研究.pdf_第2页
(计算机应用技术专业论文)超立方体网络模拟实验平台和容错路由算法研究.pdf_第3页
(计算机应用技术专业论文)超立方体网络模拟实验平台和容错路由算法研究.pdf_第4页
(计算机应用技术专业论文)超立方体网络模拟实验平台和容错路由算法研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)超立方体网络模拟实验平台和容错路由算法研究.pdf.pdf 免费下载

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

文档简介

_ ;, 摘要 超立方体网络是迄今为止最为重要和最具吸引力的网络拓扑结构之一。随着 面向大型科学计算的网络容错计算模型的发展,模拟实验平台作为将网络容错计 算模型引入到i i l t e m e t 的一个重要组成部分,其研究具有重要的价值 本文首先介绍我们研究与开发的模拟实验平台的设计目标和体系结构,然后 探讨实现平台扩充性和路由算法并行计算等关键技术。该模拟实验平台采用基于 构件的设计方法,使用r m i ( 远程方法调用) 技术实现平台的分布式计算。包括 w 曲服务器层和w 曲用户界面层,数据层和应用逻辑层的设计与实现。 该模拟实验平台具有以下特点:动态引入和创建实验对象、按用户需要加载 相关的执行文件和资源文件;采用伪远程线程技术提高执行效率;采用基于组件 的方式开发,提高了开发效率,实现了软件重用,并且实验平台的功能易于扩充: 用j a v a 语言实现,具有平台无关性,安全性,健壮性等优点:采用实现本地接口 类和利用反射机制两种方法实现平台的可扩充性。 本文还通过实验分析基于局部维子立方体连通性容错模型的单播和并行容 错路由算法的容错性和效率,然后通过实验分析肛3 且有多达2 5 0 和1 2 5 的错 误结点的特殊情况下的单播和并行容错路由算法的容错性和效率。 本文还对基于局部连通性网络容错模型设计了高可扩展和强容错的多播路 由算法。探讨了将局部女维子立方体连通的盯维超立方体划分为2 “个七维子立 方体的方法,使得包容所有目的结点的予立方体集合的子立方体的个数研尽量 的小;设计了两种不同的选择要到达的子立方体的路径的路由算法,并且加以分 析比较;设计了j 维子立方体嵌套生成树算法,可以允许新加入结点在可扩展的 子立方体内路由。 关键词:超立方体网络,远程方法调用,伪远程线程技术,反射,容错路由算 法,模拟实验平台 第l l i 贝 t i a b s t r a c t h y p e r c u b cn e t 、v o r ki so 鹏o f t l l em o s ti m p o n 棚t 卸da n r a c t v en e t 、o r kt o p o l o g i e s f h w i t ht h ed e v e i o p m e n to f c o m p u t i n gm o d e l nt t i ef a u l tt o i e m n c en e t 、v o r kf o rl a r g cs c i e n c e c o m p u t i n 舀ti sv e f yi m p o 栅t t 0s i l j d yt t i es i m u l a t i o np l a m ) 肌,w h i c hi sak e yp a r to f t h i sk i n do f s t u d 弘 t h i sp a p e ra t6 r s ti n t r o d u c 髓t h ed e s j g ng o a i 扣da r c h i t c c t u mo f o u rs - m u l a t i o np l a t f o n n ,t h e n d e s c r i b e st 、v ok e yi m p l e m e n 协t i o n 妣h n o l o g i 鹤o fp l a d 0 肿e x p a i l d a b i i t y 卸dp a r a e ic o m p u t i n g o f t h e u t i n ga j g o r i t h m s t h es i m u l 砒i o np l a i f o 舢j sd e s i g n e dw i t ht l l ec o m p o n e n tt e c h n o i o g i 豁1 t 僧a i z e dd i s t r i b u t e d c o m p u t i n gb yr m it e c h n o l o 肼i tc o n t a i n st l l ed e s i g n 卸di m p i 伽e mo fw e b 辩r v i c el a y e lw e b i n t e r f k ei a y e 印p i i c a t i o nl o g i ci a y e ra n dd a t ai a y e l , s o m ei m p c 删f e a t u f e so f o u rs i m u i a t i o np l a t f o r ma r e 镐f o i l o w s :“i 删u c e sa n dc r e a t e s t h eo b j e c to fe x p e r i m e n 扭ip r o c 髂s 嚣d y n 踟i c a l l y 彻dd o w n l o a d s 佗i a t i v ei m p l e m e n 诅t i o n d o c u m e n 协a 1 1 d 佗s o u r c ed o c u m e n 协t ot h cc i i e n tw h e nn e c e s s a r y :i t 峭e sp s e u d or c m o t et h r e a d s t c c h n i q u e st oi m p v em et i m ee 衔c i e n c y ;ta d o p t st h ec o m p o n e n t | e c h n o l o g i e st 0i m p r o v et h e d e v e l o p m e n te f f i c i e n c y t or e u 辩t h e f h v a 陀,卸dt oc x p a l l dt h ef h n c t i o no f s i m u l a t i o nl a b o r a t o r y p l a 怕r n le 器i e r i tu s e sj a v a 。s o ti si n d e p e n d e n to fp i a t f o m ,s ma n ds t r o n g ;“u s e sj m p i e m e n t m e t h o d so f l o c a ii n t e r f a c ea | 1 d 佗n e c t i o nm e c h a n i s mt or e a i i z ee x t c n s i o no f s i m u l a t i o np a t f b m l w l t he x p e r i m e n t a l 陀s u l 戗w eh a v e 锄a i y z e dt h ef a u l tt o l e r a n c e 锄de f f b c t i v e n e s sa n d e 币c i e n c yo f o u rp a r a i l e if a u l tt o l e 啪tr o u t i n ga i g o r i t h mb a 辩do nb o t hi o c a i i y 矗s u b c u b e - c o n n e c t e df a u l tt o i e r a n tm o d e ia n dl o c a i l y3 - s u b c u b e c o n 呻c t e df a u i tt o i e r a mm o d e l w i t hu pt o2 5 o 卸d1 2 5 f 扎l qn o d e s 、d e v e i o ph i g h l ys c a i a b i ea n ds t r o n g l yf a u l tt o l e r a n tm u i t i c a s t u t i n ga i g o r i t h m so nl o c a “y c o n n e c t e dh y p e r c u b en e t w o r k s w “hal a r g en u m b e ro ff a u l t yn o d e s w ed i s c u 嚣t h em e t h o do f d i v i d n gi o c a j l y 拓s u b c u b e c o n n e c t e d 以- d i m e n s i o n a ih y p e r c u b en e t w o r ki n t o 七- s u b c u b 髂 w h i c hm a i ( et h ev a i u eo f 埘w h i c hm e a n st h en u m b e ro f 乒s u b c u b e si n c i u d i n ga l l t h ed e s l i n a t i o n d 圆弱s m a 鹤p o s s i b l e ,ea 】s od e s i g n 卸dc o m p a r et w oa i g o r i t h m s ,w h i c hs e l e c tt h ep a t ho f d e s t i n a t i o ns u b c u b e s w ep r 髓朗ta na l g o r j t h mt oe m b e ds p a n n i n gt r si n t 0 缸s u b c u b e 。w h i c h p e n n i 协t h en e w j o i n i n gn o d e s u t e nt 1 1 es c a i a b l es u b c u b e k e y w o r d s :h y p e 枷b cn 吐w o 呶r e m o t em e t h o di n v 0 c a t i o n ,p s e u d or e m o t e1 1 1 嘲d s 。 r e f l t j o n ,f a u l t1 o l e m n tr d u t i n ga l g o f i t h m s , s i m u l a t i o np l a t f o r m 第1 v 虹 t f r r 中南大学硕士论文 第1 章绪论 本章首先介绍模拟实验平台的国内外研究现状,然后介绍本课题的研究意 义,然后介绍本课题的研究内容,最后是本文的组织结构。 1 1 国内外研究现状与研究意义 近年来国内外有很多组织都已经开展了模拟实验系统的研究和开发工作,特 别是在国外一些著名的大学,已有较多建好并投入使用的模拟实验系统,如牛津 大学,c 锄e 西em e l l o n 大学,已经开发了他们的模拟实验室。一些原型模拟实验 室已经通过国际互连网对用户开放,在牛津大学新建的化学信息产业中心,允许 学生通过国际互连网在模拟实验室进行交互式化学实验。国外对使用虚拟现实技 术创建网络远程实验室系统的研究已经逐渐成熟,以德国r u h r 大学网络模拟实 验室为例,该实验室是一个有关控制工程的学习系统,它通过直观的三维实验场 景视觉效果,依赖各虚拟实验设备的仿真特性,实现对虚拟实验的交互式操作【l 】 例如美国巴尔的摩( b a l t i m o r e ) 约翰霍普金斯大学的化学工程系的卡尔威教授 ( p r i f e s s i r n u c h l k a n e t ) 在电脑网络上建立了一个“虚拟实验室”,在电脑上模 拟各种实验,让工程系的学生可以通过电脑网络来做实验,尝试解决工程上遇到 的各种问题。而网络虚拟实验室系统区别于单机虚拟实验室系统在于网络虚拟实 验室系统允许多用户同时使用该系统,共同协作完成某项工作。多用户之间如何 进行通信、连接和交互以及远程终端用户如何访问等都是网络虚拟实验室系统的 关键问题【2 1 。虚拟系统实验室( v i s u a ls y s t e m sl a b o r a t o 现简称v s l ) ,始建于l 9 8 9 年,由g e 劬m f l o r i d a 大学教育训练研究院建立,其目标旨在提高计算机图形 的艺术表现力以及改进仿真过程中的人机接口设计。目前,该实验室正在开展多 项与虚拟实验相关的支撑技术研究,如虚拟实验环境中的网络及并行计算技术、 复杂实验环境的实时物理仿真技术、低价图形仿真技术等:已取得了大量的研究 成果,如设计并开发了第一例实时动态虚拟环境、第一例l3 dc a d 虚拟设计 系统等虚拟化学工程实验室( 巾擒lr e a l 时i i lc h e m i c a l e n 西n c 而gl a b o m t o 啦 简称v 黜c h e l ) 实验室,由美国m i c i l i g 姐大学化学工程系创建,主要用来探索 和开发虚拟现实技术在化学工程领域的应用。v 慰c 髓l 实验室目前所完成的虚 拟实验项目有:( 1 ) c h c r l 是一个对现代化学工厂的虚拟仿真,其目标是用来展示 催化剂的分解过程以及解决催化剂分解问题所使用的各种不同方法。( 2 ) c h e r 2 是另外一个虚拟化学工厂仿真环境,其目标是展示化学活动中的非等温效果以及 化学反应堆的设计。( 3 ) s a f e t ) ,也是一个虚拟化学工厂仿真环境,它是一个非功能 化的世界,其中不存在任何操作控制面板,并且具有相当逼真的细节,因为它是 第t 页 中南大学硕士论文 基于从实际的化学生产设备所摄制的影像数据来设计完成的【3 1 。国内在模拟实验 方面开展的工作也有一些,如华中理工大学歼发的基于w 曲的光纤通信虚拟实 验平台提出一种构建虚拟实验远程教育平台的方案,综合运用a c t i v e x 技术和 v 州l ( v i m “r e a l i t y m o d e l i n g l a n g u a g e ) 技术,在因特网上实现光纤通信虚拟实 验【4 1 。 近年来在科研和工业界中已设计和生产了研究用和商用的以超立方体网络 为模型的并行计算机系统【5 】。在将超立方体网络中很好的研究成果引入到 i m e m e t i n 仃锄e t 计算环境的模拟实验平台的研究中,一个成功例子是美国的 h y p e 疋a s t 项目,该项目的目标是要研究、分析和实现i n t e m e t 上的高可扩展性 的m u h i c a s t 通信,其核心技术是用具有高对称性拓扑结构的超立方体网络来组 织m u l t i c a s t 组的成员【6 】。另一个成功的例子是v i m l a l c u b e 分御式计算环境项目, 该项目是台湾t 埘g l l a iu n i v e r s i t y 和美国f o r d h 锄u n i v e r s i t y 的一个合作研究项 目,其目标是要支持以太网互联的同构工作站机群( c l u s t e r s o f w 6 r k s 诅t i o n s ) 上 的任意大规模的超立方体计算【7 j 。 国内外现已对各种主要的并行计算机互联网络拓扑结构如砌n g ( 环) ,t r e e ( 树) ,s t a r ( 星型) ,m e s h ( 网格) ,t o m s ( 环绕) ,c c c ( 带环立方体) 和h y p e r c u b e ( 超立方体) 等进行了大量研究,并且对其中的一些拓扑结构已研制出了相应的 商用和研究用的并行计算机系统。研究表明,超立方体网络拓扑结构由于其正规 性、对称性、强容错性、直径短、可嵌入性和网络通信能力的可扩展性等优点, 深受研究者和实践者的欢迎【s 】。 现有的一些模拟实验平台在交互性、扩充性和软件重用性方面都存在不足, 如用户无法将新丌发的路由算法加入到平台中,平台提供的可模拟路由的网络拓 扑结构单一等。针对这些问题,本文研究与丌发的网络模拟平台能够实现平台的 扩充性,具备良好的能够满足科学计算和泛计算的功能,满足提高算法效率,提 高网络传输效率和数掘图形化输出等功能。在网络容错计算模型及其相关问题的 研究方面我们已经取得了许多国内外同行承认的研究成果【9 i 叭。 1 2 课题的主要研究内容 本课题主要从两个方面进行了研究。第一个方面是对超立方体网络模拟实验 平台的研究,第二个方面是对超立方体网络中的容错路由算法和性能指标进行分 析研究。 ( 1 ) 超立方体网络模拟实验平台的研究。模拟实验平台的设计与丌发,旨在 能够实现基于超立方体网络的高度可扩展的模拟实验平台,让所有感兴趣的人不 仅可以看到基于多种通讯协议和基于超立方体网络拓扑结构的容错路由算法的 模拟网络路出动态图形和各种具有通用意义的参数结果,还可以让用户自己构造 第2 撕 中南大学硕士论文 网络容错路由算法,进行上述可选参数的模拟试验。 通过数据接口和程序接口,将输入参数和输出参数设计得足够通用,其他的 算法及其程序通过程序接口,进行相应设置后即可通过数据接口进行比较。 c ,) 超立方体网络中的容错路由算法和性能指标进行分析研究。基于超立方 体网络的局部| i 维子立方体连通性容错模型提出全新的多播路由算法,改进和实 现超立方体具有大量错误结点的超立方体网络中的单播、广播、并行等路由算法, 包括各种改进和优化的路由算法,并与现在的算法的概率分析进行比较,并对路 由算法性能评价指标进行研究。 1 3 文章结构 论文共分6 章。第l 章是论文的绪论部分,第2 章到第5 章是论文的主体部 分,第6 章是论文的结束语部分 第2 章首先详细的阐述了模拟实验平台的基本设计目标。然后详细的阐述了 研究与开发的模拟实验平台的体系结构。该平台基于现今十分流行的j 2 e e 平台 规范进行开发,采用四层体系结构:即数据层,应用逻辑层,w 曲服务器层和 w 曲用户界面层。 第3 章的主要内容是平台结构的总体设计与实现。3 1 节阐述的是模拟实验平 台采用的基于构件的设计方法。构件是一块独立可重用的二进制代码,它具有特 定功能,支持灵活的即插即用,可以方便地插入到网络、语言、应用、工具、操 作系统中工作。j a v ab e a n s 是一种用j a v a 语言开发的可移植的平台独立的构件模 型。本文研究的模拟实验平台是基于这种构件模型。3 2 节阐述的主要内容是如 何利用鼬舡实现平台的分布式计算。主要包括硒m 的运行机制、对象序列化、分 布式应用的实现和运行步骤和动态类加载等内容。3 3 节阐述的是w 曲服务器层和 w 曲用户界面层的设计与实现。具体的阐述了用调度员方式对w e b 服务器层和 w 曲用户界面层的设计与实现。3 4 节阐述的是应用逻辑层的设计与实现。主要包 括超立方体网络结构的描述和路由算法性能测试的模拟3 5 节阐述的是利用 j d b c 与数据库进行连接的设计与实现。 第4 章阐述的是模拟实验平台设计与实现中的关键技术的研究其中一个关 键技术是实现了平台扩充性,其基本步骤是从网络拓扑信息库中提取网络拓扑信 息和初始状态信息,根据以上基本信息构建基于某种拓扑结构的路由算法,然后 利用实现本地接口类或利用内省机制的两种方法引入、加载用户自定义的类资源 文件或j a r 文件,最后在网络模拟器上运行路由算法,并生成可验证数据信息, 反馈至用户。本章阐述的另一个关键技术是用利用j a v a 线程和j a v a 远程方法 调用( 跳i ) ,即伪远程线程来实现路由算法的机群并行计算因为大型科学计算 和泛计算经常有较大的运算量,每一个基于疗维超立方体模型的算法的时间复杂 第3 页 中南人学硕十论文 性可能要达到d ( 2 j i ) ,所以基于j a v a 的并行计算在大型科学计算和泛计算中将 有着广泛的应用前景。最后给出用可重用的f o r m u l a0 n ej a v a b e a n 组件实现数 掘图形化输出的详细步骤,提高了开发效率。 第5 章主要是对网络容错路由算法进行了理论方面的研究。5 1 节对路由算 法性能评价指标的研究,所提出的参数能够对可扩展网络模拟实现的目标所提出 的要求测试的内容进行评价,并且具有良好的通用性。5 2 节首先给出基于局部 詹维子立方体连通性容错模型的单播容错路由算法的容错性和效率,并对实验结 果进行分析和研究,然后指出肛3 和错误结点比例多达1 2 5 和2 5 0 这一特殊 情况下的单播容错路由算法的容错性和效率:最后给出模拟实验结果并对其进行 分析。5 3 节首先给出基于局部七维子立方体连通性容错模型的并行容错路由算 法的一个定理:然后指出肛3 和错误结点比例多达1 2 5 和2 5 ,0 这一特殊情况下 的并行容错路由算法的容错性和效率:最后给出模拟实验结果并对其进行分析。 5 4 节基于局部七维子立方体连通性的超立方体网络容错模型提出了高可扩展和 强容错多播路由算法,该算法能够分别在d ( y 肋女( u 后,r ,) ) 2 ) 和 冒 d ( 朋2 ( m i n ( 肋一t ( 1 ,r ) ,肋一七( u 一后,r ) ) ) 2 ) 的时间复杂性下实现多播路 忙i 由。有待进一步研究多播路由算法中使所取得更小值的方法。 第6 章是结束语。在结束语中对本文的研究工作进行了总结,并对进一步的 研究工作进行了展望。 第4 贞 中南大学硕士论文 第2 章设计目标与体系结构 本章主要阐述了模拟实验平台的基本设计目标,这些目标已经基本实现。然 后阐述的是模拟实验平台的体系结构。 2 1 设计目标 研究与开发的模拟实验平台具有下述几个基本设计目标,这些目标现已基本 实现。 能够测试现已提出的后维子立方体容错模型和子立方体容错模型的容错性, 并与所做的概率分析进行比较: 能够测试现已提出的基于超立方体网络的多播、单播、广播、并行路由算法 的性能,并很容易扩展到将来可能提出的其它路由算法,如选播等,当然也包括 各种改进的路由算法,还要求与所做的概率分析进行比较; 能够测试现已提出的两种错误概率分布情况,并很容易扩展到其它的错误概 率分布情况; 现在研究的是结点容错模型,该平台应考虑为边容错模型提供接口,即如果 今后研究边容错模型,该平台应很容易扩展到边容错模型上去; 能够放到i n t e m e t i m r a n e t 上供所有感兴趣的人使用。 2 2 体系结构 研究与开发的模拟实验平台基于现今十分流行的j 2 e e 平台规范进行丌发, 采用四层体系结构:即数据层,应用逻辑层,w e b 服务器层和w 曲用户界面层。 数据层用于存放两类数据:一类是系统运行过程中不断累积起来的运行结果 数据,供最终用户查询使用( 不需要运行非常耗时的计算) ;一类是描述性数据, 即有关数据的数据,这里是指本系统当i ; 能做何种工作的描述信息,如支持的超 立方体维数的范围,支持的路由算法,支持的错误概率分布等信息。 j a v a 使用称为j a v a 数据库连接( j a v ad a t a b a s ec o n n e c t i v i t y ) 的一组类和 接口来与数据库交互。j d b c 是一种可用于执行s q l 语句的j a v a a p i ( a p p l i c a t i o n p r o g r 硼m i n g i n t e r f a c e 应用程序设计接口) 。j d b c 为数据库应用丌发人员、数 据库i j 台工具开发人员提供了一种标准的应用程序设计接口,使丌发人员可以用 纯j a v a 语言编写完整的数据库应用程序。j d b c 一0 d b c 桥使0 d b c 驱动程序可被 用作j d b c 驱动程序。 第5 虹 中南人学硕+ 论文 j d b ca p i 三层模型中,命令先是被发送到服务的“中日j 层”,然后由它将 s q l 语句发送给数掘库。数据库对s q l 语句进行处理并将结果送回到中日j 层, 中间层再将结果送回给用户 应用逻辑层用于执行容错模型的容错性测试和路由算法的性能测试等。应用 逻辑层主要包括基于各种网络拓扑结构的容错模型的的广播、并行、单播和多播 等路由算法性能测试的模拟,还包括各种改进和优化的路由算法性能测试的模 拟。应用逻辑层还包括平台扩充性实现、算法并行计算和数掘图形化输出实现等 模块。 w e b 服务器层用于接收w e b 用户界面层的请求,通过调用应用逻辑层的功能, 生成相应的w 曲页面并返回给w e b 用户界面层。 w e b 用户界面层负责接收用户的输入,并通过请求w e b 服务器以响应用户的 请求而输出结果。 b 用户界血层和w e b 服务器层府用逻辑层数据层 h t m u x m l lj s p 路由箅法忡能测试 酞,结果返【口l 用芦 容器 j l 数据库连接实现广 f算数 j i 弁法据 l回f i r m l 扩 并 幽 广 充行 彤 性计化 实算输 现 m 图2 1 模拟实验平台实现模块的体系结构 第6 血 中南火学硕士论文 2 3 本章小结 本章节首先详细的阐述了模拟实验平台具有的几个基本设计目标,能够对已 经取得得研究成果进行测试。本章节接下来详细的阐述了研究与丌发的模拟实验 平台的体系结构。该平台基于现今十分流行的j 2 e e 平台规范进行开发,采用四 层体系结构:即数据层,应用逻辑层,w e b 服务器层和w 曲用户界面层。 第7 贝 中南人学硕士论文 第3 章模拟实验平台的的设计与实现 本章首先阐述的是模拟实验平台设计与实现中所采用的基于构件的设计方 法。然后从r m i ( 远程方法调用) 运行机制、对象序列化和分布式应用的实现和运 行步骤来阐述利用l t 实现模拟实验平台的分布式计算。然后阐述的是w 曲服 务器层和w 曲应用界面层、应用逻辑层和数据层的设计与实现。 3 1 基于构件的设计方法 为了实现将超立方体网络中很好的研究成果引入导i n t 鲫e t ,i n t 啪t 计算环境 的模拟实验平台,平台的是设计与实现采用分布式计算。分布式计算环境是在具 有多地址空间的多计算机系统上进行计算和信息处理的软件环境。它为分布计算 提供各种服务和工具,以实现资源共享、并行计算和高可重用性l 。模拟实验平 台要实现例如超立方体网络的研究成果资源共享,路由算法的并行计算,所以要 在分布式计算环境中实现。伴随着i n t e m e t 的发展,采用公丌的、标准的,与平 台无关的h t m l 语占以及免费的浏览器软件为用户提供了方便、友好的界面, 使用户能方便地查询和传递各种类型的信息,因此i n t e m e t 也可以被看作一种分 布式计算环境1 1 2 l 。 为了实现分布式计算环境中的软件资源共享,在软件工程领域继过程性模型 和面向对象模型之后,产生了下一代逻辑模型软件构件结构1 1 3 l 。 由于在本模拟实验平台的应用逻辑层重的设计与实现中,即对路由算法性能 测试的模拟程序,实现与数据库的连接的程序,实现平台扩充性,路由算法并行 计算和实现数据图形化输出等模块的程序都有相似的结构。如果使用不同的技术 去把握和实现这些相似的结构,结果这些结构并没有经过面向对象技术而被重用 【1 4 1 而软件构件结构通过对象总线,使跨越不同操作系统、硬件架构、编程语言 和编译程序的分布式环境上的应用程序丌发成为可能【1 5 j 。同时,框架将代码重用 的概念,通过为构件提供结构,又向i i 推进了一步。构件被安插到框架,框架和 构件通过对象总线和别的框架和构件连接。构件、框架和对象总线组成了软件应 用程序【1 6 】。 构件是一块独立可重用的二进制代码它具有特定功能支持灵活的即插即 用可以方便地插入到网络、语言、应用、工具、操作系统中工作【o t 墙j 。l a t o u r 等人提出了3c 模型是学术界普遍认同的一个具有指导性作用的构件模型【1 9 l 。 ;f ;8 血 中南大学硕士论文 它认为一个理想的构件的描述应当涵盖以下3 个方面概念( c o n c e p t ) 、内容 ( c o n t e n t ) 、语境( c o n t e x t ) 。其中,概念是关于“构件做什么”的抽象描述,可以 通过概念去理解构件的功能;内容是概念的具体实现。描述构件如何完成概念 所刻画的功能:语境是描述构件和外围环境在概念级和内容级的关系,语境刻 画构件的应用环境,为构件的选用和适应性修改提供指导信息【1 9 1 。 d c o m ,c o m + 、j a v ab e a l l ,e n t e 叫s e j a v ab e 觚和c o r b a 构件模型三足鼎 立,构成了实现级构件模型工业标准的竞争与互操作并存的格局f 2 ”1 2 2 1 。模拟实 验平台充分利用j a v ab e a n s 这种构件模型的特点来进行设计与实现: ( 1 ) ja _ v ab e a l l s 是一种用j a v a 语言丌发的可移植的平台独立的构件模型【捌。 因为j a v a 语言的平台无关性,开发者可以一次编写可重用构件,到处运行。 这一特点满足了系统对于可移植平台独立性的要求。 ( 2 ) 支持方法,j a v ab e a n s 中的方法就是通常的j a v a 方法,它可以从其他构 件或应用程序中调用。j a v ab e a i l s 构件通过设计模式显式或隐式地输出其方法。 框架可以把j a v ab e a i l s 构件激活的事件与别的j a v ab e a n s 构件中的方法联系起 来,这样,j a v a b e a n s 构件激活的事件使另一j a v a b e a n s 构件中的方法运行。例 如在实现平台的w e b 服务器层和w e b 用户界面层时,操纵应用程序流程逻辑和业 务逻辑求值的一类j s p 文件h y p e r s u b j s p 利用 标记,定位了一 个名为h y p e r c u b e c 越t b e a i l 的j a v a b e a l l s 组件,并调用了这个b e a i l 的方法o n o k 和s e t 刖1 y p e m 等方法。在3 3 2 节中对这一本分的设计与实现有详细的描述。 ( 3 ) 支持内省,内省是在运行时发现j a v ab e a i l s 构件的属性、方法和事件的 过程,这样构造器才能分析j a v a b e a f l s 是如何工作的。在4 1 节中对如何利用内省 实现平台的扩充性这一部分有详细的描述。 ( 4 ) 支持多线程,在多线程环境中,多于一个执行线程可以调用j a v ab e 孤s 构件的方法或设置它的属性。所以,j “ab e a n s 构件的实现者必须保证其j a v a b e a n s 构件是线程安全的。在4 2 节中对如何利用多线程实现平台的并行计算这一 部分有详细的描述。 ( 5 ) 支持定制,这样用户才能使用应用程序构造工具定制j a v ab e a 眦的外 观和行为。 ( 6 ) 支持安全性,j a v ab e a l l s 构件和它的容器运行在相同的j a v a 虚拟机上, 所以,它与容器一样受到相同的安全性限制。 j a v ab e a n s 的规格说明提供三种对象总线:远程调用( r m i ) 、对象关系i m e m e t i m e 幻r b 协议( i i o p ) 和j “a 数掘库连接( j d b c ) 【2 犯卯。 r m i 为j a v a 客户机引入分布式编程机制以调用远程j “a 服务器的服务。模拟 实验平台中利用r m i 实现分布式计算。 j d b c 是一种不针对某个特定数据源的数掘库应用程序丌发的规格说明。在 运行时,j d b c 应用程序确定它所需装入的驱动程序,以便连接到特定的数据源。 第91 i 【 中南大学硕十论文 j a v ab e a n s 构件可以用j d b c 把自己连接到数掘源上,这种数掘源可以在j a v a b e a i l s 构件运行的相同机器上或者可以在网络的某个地方【2 6 l 。模拟实验平台是利 用j d b c 实现与数据库的连接的,见3 5 节。 一个j a v ab e a i l s 构件通常需要多于一个文件用于其定义,可能包括有一映像 文件、一定制文件、一帮助文件以及一个包含j a v ab e a r i s 构件动作的文件。因此 需要把与一个j a v ab e a i l s 构件相关的所有文件打包成单个档案库文件,以便方便 地传送。j a v aa r c h i v e ( j a r ) 是用来对j a v ab e a i l s 构件打包的实用程序。j a r 文 件具有z i p 格式且可以包含描述j a r 文件内容的清单文件【2 7 】。模拟实验平台在实 现平台扩充性时可以调用u r l 地址有一个j a r 档案,程序直接调用这个档案中的类 或者程序,见4 1 3 节。 3 2 利用r m i 实现平台的分布式计算 3 2 1 r m i 运行机制 j a v ar m i ( r e m o t e m e t h o di n v o c a t i o n 远程方法调用) 是用j a v a 在j d k l 1 中实现的,它增强了j a v a 开发分布式应用的能力i z ”。j a v a 肼1 支持存储于不同 地址空b j 的程序级对象之间彼此进行通信,实现远程对象之日j 的无缝远程调用。 r m i 目前使用j a v a 远程消息交换协议j r m p ( j a v ar e m o t em e s s a g i n gp r o t o c 0 1 ) 进行通信。j 跚p 是专为j a v a 的远程对象制定的协议。因此,j a v a 跳i 具有j a v a 的”w r i t eo n c e ,r u na n y w h e r e ”的优点,是分布式应用系统的百分之百纯j a v a 解 决方案。用j a v ar i 丌发的应用系统可以部署在任何支持j r e ( j a v ar u n e n v i r o n m e n tj a v a ,运行环境) 的平台上。 r m i 应用程序通常包括两个独立的程序:服务器程序和客户机程序。典型的 服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客 户机调用这些远程对象的方法【2 们。而典型的客户机程序则从服务器中得到一个或 多个远程对象的引用,然后调用远程对象的方法。r m i 为服务器和客户机进行通 信和信息传递提供了一种机制。 在与远程对象的通信过程中,r i 使用标准机制:s t u b 和s k e l e t o n 。远程 对象的s t u b 担当远程对象的客户本地代表或代理人角色。调用程序将调用本地 s t u b 的方法,而本地s t u b 将负责执行对远程对象的方法调用。在r i 中,远程 对象的s t u b 与该远程对象所实现的远程接口集相同。调用s t u b 的方法时将执行 下列操作:( 1 ) 初始化与包含远程对象的远程虚拟机的连接;( 2 ) 对远程虚拟机 的参数进行编组( 写入并传输) ;( 3 ) 等待方法调用结果;( 4 ) 解编( 读取) 返 回值或返回的异常:( 5 ) 将值返回给调用程序。为了向调用程序展示比较简单的 第l o “ 中南大学硕士论文 调用机制,s t u b 将参数的序列化和网络级通信等细节隐藏了起来。在远程虚拟 机中,每个远程对象都可以有相应的s k e l e t o n ( 在j d k l 2 环境中无需使用 s k e l e t o n ) s k e l e t o n 负责将调用分配给实际的远程对象实现。它在接收方法 调用时执行下列操作:( 1 ) 解编( 读取) 远程方法的参数;( 2 ) 调用实际远程对 象实现上的方法:( 3 ) 将结果( 返回值或异常) 编组( 写入并传输) 给调用程序。 s t u b 和s k e l e t o n 由r m i c 编译器生成。 利用r m i 编写分布式对象应用程序需要完成以下工作:( 1 ) 定位远程对象。 应用程序可使用两种机制中的一种得到对远程对象的引用。它既可用r m i 的简单 命名工具r m i r e g i s t r y 来注册它的远程对象,也可以将远程对象引用作为常规操 作的一部分来进行传递和返回。( 2 ) 与远程对象通信。远程对象闻通信的细节 由r m i 处理,对于程序员来说,远程通信看起来就像标准的j a v a 方法调用。( 3 ) 给作为参数或返回值传递的对象加载类字节码。因为跳i 允许调用程序将纯j a v a 对象传给远程对象,所以,肌i 将提供必要的机制,既可以加载对象的代码又可 以传输对象的数据p 0 1 。在r m l 分布式应用程序运行时,服务器调用注册服务程序 以使名字与远程对象相关联1 3 ”。客户机在服务器上的注册服务程序中用远程对象 的名字查找该远程对象,然后调用它的方法口2 1 。 3 2 2 分布式应用的实现和运行步骤 ( 1 ) 将远程类的功能定义为j a v a 接口。在j a v a 中,远程对象是实现远程接口 的类的实例。在远程接口中声明每个要远程调用的方法。远程接口具有如下特点: 1 ) 远程接口必须声明为p u b l i c 。如果不这样,则除非客户端与远程接口在同一 个包内,否则当试图装入实现该远程接口的远程对象时会得到错误结果。2 ) 远 程对象扩展j a v a r m i r e m o t e 接口。3 ) 除了所有应用程序特定的例外之外,每 个方法还必须抛出j a v a 瑚i r e m o t e e x c e p t i o n 例外。4 ) 任何作为参数或返回值 传送的远程对象的数掘类型必须声明为远程接口类型,而不是实现类。 ( 2 ) 编写和实现服务器类。该类是实现( 1 ) 中定义的远程接口。所以在该类中至 少要声明实现一个远程接口,并且必须具有构造方法。在该类中还要实现远程接 口中所声明的各个远程方法。 ( 3 ) 编写使用远程服务的客户机程序。在该类中使用j a v a 硼i n a j i l i n g 中的 l o o k u p ( ) 方法获得对远程对象的引用,依掘需要调用该引用的远程方法,其调用 方式和对本地对象方法的调用相同。 实现了服务器和客户机的程序后,就是编译和运行该r m i 系统。其步骤是: ( 1 ) 使用j a v a c 编译远程接口类,远程接口实现类和客户机程序。 ( 2 ) 使用姗i c 编译器生成实现类的s t u b 和s k e l e t o n 。 ( 3 ) 启动r m i 注册服务程序r m i r e g i s t r y 。 第l i 贝 中南人学硕+ 论文 ( 4 ) 启动服务器端程序。 ( 5 ) 启动客户机程序。 砌订1 分布式应用系统其功能是让w 曲服务器层和应用逻辑层把w 曲用户界 面层发出的数据库查询请求传送到数据库服务器,数据库服务器再把数据库查询 操作的结果送回w 曲服务器层和应用逻辑层,然后送到客户端显示。整个系统 包括服务器端和客户端程序,但这只是逻辑上的划分,其实它们都位于同一个机 器上,即w 曲服务器。在客户端是一个a p p l e t ,通过它获得远程对象的引用, 并调用远程对象的方法。而应用服务器上的程序其主要的功能是完成对数据库连 接的配置、数据库的查询操作和把查询结果转换成可序列化的r e c s e t 对象,当 客户端调用远程对象的远程方法时就把它作为参数或返回值传递给客户端,实现 服务器与客户机的通信。客户端得到查询结果后把它显示出来。在应用逻辑层和 数据库服务器之间是通过j a v a 的j d b c 来连接的。 3 3w e b 服务器层和w e b 用户界面层的设计与实现 使用以页面为中心( p a g e - c e n t r i c ) 的丌发方式,客户机和服务器端都有一 个应用程序。s e r v l e t 或者j s p 在服务器端截获客户的请求,直接的访问数据库 等资源。这个结构的优点就是编程简单,允许页面的设计者根掘资源的状态动态 的生成页面的内容。但是,这样的结构不适合多个客户同时访问资源,这样同时 会有大量的请求需要服务端来处理。每个请求都会建立一个连接,消耗一定的资 源。这样,需要让这些连接共享一些资源。其中最明显的例子就是用j d b c 连接 数据库中用到的连接池( c o n n e c t i o np o o l s ) 。对结构使用不适当的话,会导致 j s p 中出现大量的j a v a 代码,大量的代码分散在j s p 中,不利于维护和修改。 在本模拟实验平台中,采用的是多级结构的体系结构。在这种结构下,用一 个s e r v i e t 或者j s p 当作主要的控制器。将所有的客户请求分配给其它的j s p 、 j a v a b e a l l 或者e j b 。 第1 2 “ 中南大学硕士论文 第l 级 图3 1 多级结构的体系结构 这种方式以一个j s p 或者s e r v l e t 做为一个基本的控制器,又它把请求分给 j s p 页面或者j a v a b e a n 。在本系统中,应用系统是一个多层结构的,中问层的 j s p 通过其它的对象j a v a b e a n 来访问后台资源。e j b 服务器和e j b 提供访问访 问资源的方法,支持事务,支持安全管理。 在模拟实验平台采用多级结构的丌发方式应用设计的第一步,是明确系统涉 及的对象和他们之间的关系,也就是首先要确定对象模式。 第二步是区分j s p 和s e r v l e t ,根掘其所起的作用分成两类,日u 端的j s p 和 s e r v l e t 操纵应用程序流程逻辑和业务逻辑求值,为应用程序提供单一的子程序 入口,使得应用程序的状态更易于维持。表述性的j s p 生成h t 虬或x m l ,对动态 内容进行表述。 采用的是多级结构的体系结构,使得系统各不同部分之间的耦合度降低,尽

温馨提示

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

评论

0/150

提交评论