毕业论文(设计)基于JAVARMI的分布式计算.docVIP

毕业论文(设计)基于JAVARMI的分布式计算.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概 述 1.1 Java RMI 技术 在分布式应用开发中,Java提供了RMI(Remote Method Invocation 1所示。这样的通信不必一定得是单向的过程——远程对象不仅可以接受数据作为其参数,而且可以返回数据。这样RMI可以利用已存在的本地或远程对象,提供无缝的集成,实现分布式计算。 1.2 RMI 回调技术 通常意义下,在RMI机制中把提供远程对象方法的、运行在远程JVM上的应用程序称为服务器,而把调用远程对象方法的应用程序客户机。但在实际应用中,有时也存在服务器调用运行在客户端JVM上的对象方法的需求,也就是回调[1]。 在基于RMI的分布式并行计算应用中使用回调技术的基本思想是:提供实现分布式并行计算资源的工作站不需要周期性地主动(调用服务器上运行的远程方法)检查服务器是否有新的计算任务下达,相反地,当服务器需要完成客户请求完成的高计算量任务时,按该类任务的并行算法分解成可并行执行的子任务,然后服务器将远程调用(回调)各工作站上远程对象所提供的、具有完成子任务能力的方法,将各个子任务分配到各工作站并发执行。当然,各个提供计算资源的工作站事先必须在服务器注册表中注册。 1.3 RMI与分布式并行计算 Java RMI机制的引入给分布式并行计算的实现带来了新的特点:Java作为面向网络的跨平台语言,在移植性、网络应用和安全问题方面具有独到的优势,对于分布式计算问题,Java RMI在语义上提供了更为简洁清晰的描述,用Java来构造分布式计算系统,在实现上更符合网络计算的特点。 根据Java所起的作用可以分成两类:一类是基于Java的分布式并行计算环境,利用Java和Web的特点为网络上的并行计算的组织提供良好的用户界面和丰富、通用的开发工具;另一类是Java的并行程序设计,希望利用Java的跨平台特征,构造可以在网络中的异构机器上自由迁移和协同工作的程序。这两类存在密切的联系,二者还可以结合起来,构成完整的分布式并行解决方案。 运用Java的RMI机制,结合Java的多线程技术,可将一个具有并行计算特征的计算任务分解成多个可同时计算的子任务,每个提供计算资源的工作站承担一个或多个子任务,每个子任务由一个独立的子线程控制。由Java线程并发性,多个工作站可并发执行多个子线程。而服务器上的主线程负责控制、协调这些子线程,从而控制逐个并发计算过程,使之正确运行。 Java RMI 体系结构 设计RMI体系的目的是建立一个Java 分布式对象模型,很自然地,该模型与Java程序语言和面向对象模型结合。RMI体系已经成功地创建这样一个系统,并将Java体系的安全性和健壮性延伸至分布式计算机体系。 2.1 接口:RMI的核心 RMI体系是基于一个重要的原则:行为的定义和实现是两个不同的概念。RMI是允许行为定义的代码和行为实现的代码分开存放,并在不同的JVM上运行。这样很好地适应了分布式系统:客户关注服务的定义,服务器注重提供服务。 具体地说,用Java的一个接口编写远程服务的定义。这个Java的接口不包括行为实现的代码,而运行在服务器上的类是真正实现行为。运行在客户端的类作为一个远程服务的代理。远程方法的调用过程简单的叙述如下:客户程序在代理对象中调用方法,RMI 发送请求给远程JVM,接着远程JVM实现方法。由远程JVM实现的返回值送回到代理,然后代理将返回值给客户程序。 2.2 RMI体系的层次 RMI的实现本质上建立在三个抽象层上(如图3)。 第一层是存根和骨架层(Stub/Skeleton Layer也称代理层):它屏蔽了远程引用层和传输层的细节,提供了Java应用程序调用远程对象透明接口。存根也就是上面提到的代理。 第二层是远程引用层:解释和控制客户对远程服务对象的引用。 第三层是传输层:传输层连接基于TCP/IP协议网络中的机器。它提供基本的连接、管理,远程对象的追踪,还有一些防火墙功能。[2] RMI代理层提供了Java应用程序与RMI系统的接口,Stub是一个远程对象在客户端的代理,当客户调用远程对象方法时,Stub负责把调用的远程对象方法的方法名机器参数编组打包,并将该包向下由远程引用层、传输层转发给远程对象所在的服务器。通过RMI系统的RMI 注册表实现的简单服务器名字服务(2.3中具体说明),可定位远程对象所在的服务器。该包到达服务器后,向上经由远程引用层,被远程对象的Skeleton接收。此Skeleton解析客户包中的方法名及编组的参数后,在服务器端执行客户要调用的远程对象方法,然后将该方法的返回值(或产生的异常)打包后通过相反的路线返回给客户端,客户端的Stub将这些返回的结果解析后传递给客户程序。 远程引用层定义并提供RMI连接请求的语义。该层提供一个

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档