1主要技术
随着网络服务的广泛应用,J2EE的分布式计算技术已经逐渐体现它的优势,它只是一个Java环境,Rmi、Jini和JavaSpaces技术是实现异构分布式计算环境。JavaSpaces在Jini的基础上,为计算机环境中的应用程序提供共享数据。
1.1Jini
Sun公司的BillJoy推出了Jini这项技术,是Java结构的一种,由基础编程、编程模式和服务三个部分构成,通过执行操作系统把功能扩展到整个网络。Jini在分布式环境中主要有寻找、注册、租借等功能。实现支持快速配置的分布计算环境是Jini技术的核心理念。通过用一个简易的模型,以此来随时改变设备和软件的配置。它是一个相应似的、主动的分布式基础结构,也是Corba、Dcom等分布式基础结构的一种。通过Jini使用各种服务的网络计算环境是富有弹性和容易管理的。
1.2Rmi
Rmi是由框架层、远程应用层和传输层三个部分构成,是通过调用远程接口的方法行为的一种语法。Rmi的相互通信,必须分布在不同主机以及不同地址空间上的计算机之间。Rmi通过远程对象的方法被不同宿主机上的Java虚拟机调用来实现Java同构环境下的分布式对象系统。
1.3云技术
云计算是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。透过这项技术,网络服务提供者可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大效能的网络服务。
2分布式计算环境
2.1并行任务分解
将一个求解任务分解变成多个子求解任务,对于这个过程任务的求解归结为多个子任务的并行求解的过程就是并行任务分解。整个环境的任务由控制任务、前处理任务、后处理任务和分析求解任务这四部分组成。除了分析求解任务必须进行并行分布式多进程处理之外,其余的任务都可以通过用单进程模式来完成。单进程模式并不代表着在系统运行中任务只存在单进程。譬如,系统可以由不同的人在不同的计算机上运行后处理任务。所有的进程都是通过JavaSpaces空间实现信息共享和同步控制,促进与JavaSpaces空间的直接联系。
2.2同步与通信
由计算机任务的写作求解,分布式环境通过各个进程中进行执行同步和数据通信来实现。在同步机制中,同步机制和通信机制是并行求解的重要组成内容。JavaSpaces主要运用了synchronized同步机制、信号量和空间初始化等同步技术。Java的临界资源是通过syn-chronized关键字来定义的。不管在某一时刻,临界资源只允许一个线程进入,其余的必须排队等待。为了确保某一时刻只能有一个线程进入到临界资源,每一个Java都有一个相关联的监视器,用其监视临界资源。信号量的实现一般是作为一个共享的整数值,代表可使用的资源,以一种结构化的方式管理有限资源的方式。多进程之间,无论是消息通信还是数据通信,JavaSpaces空间和JavaSpaces服务都必须使用。
2.3计算模式
在分布式网络计算环境中,如何使多台计算机,甚至多个不同的计算程序协调解决同一个问题,是一个新的难题和挑战。分布式计算资源的组织和管理也是众多问题里面非常关键的一个。首先要明确哪几台计算机或哪几个进程参与求解,才能协同求解一个具体的问题。就是说,计算机任务会用到哪些计算资源以及如何使用这些资源,就某个进程而言,首先要通过Jini的功能获取JavaSpaces空间,观察空间里面是否存在有指定计算任务的任务表。若没有任务表,创建任务表之后,同时把自己加入到资源列表。若任务表已经创立,只要把自己加入到资源列表即可。JavaSpaces空间的资源列表的共享作用,使各进程懂得相互之间的资源定位,这样就能够了解有哪些资源能够协作求解。Java分布式的计算模式中,有一个或多个进程同时并发执行和处理的系统存在着。串行计算模式可以不用Rmi技术和JavaSpaces技术,只需要使用文件╱数据库。其它的计算模式必须使用Rmi、Jini、JavaSpaces以及Client程序技术。Server程序主要用于控制Client程序,共同完成分析求解。需要时,网络上的多台计算机运行JavaSpaces空间时,可以相互之间联合和共享,相同命名的空间也能够自动联合,使JavaSpaces空间更大、更复杂。
3应用实例
众多技术与应用系统构建起来的虚拟城市系统就是城市数字。海量数据存储、空间数据操作、高速并行计算与数据挖掘等大计算量的问题都能通过分布式计算技术得到解决。在空间数据操作的应用中,按照一定的方案,通过运用Server进行任务分解和数据划分进行任务。Sever程序准备好JavaSpaces空间,读数据文件以及发送数据对象,将MwssageEntry、DataEetry填入JavaSpaces空间,创建求解问题,等待控制程序发送计算命令之后,与Client共同进行求解分析。
4结语
分布式计算环境是近些年来影响计算机技术发展非常活跃的因素。Java是随着互联网的发展孕育而生的。它的安全性平台独立性等很多特点满足了当前社会发展计算机环境的迫切需求。Java使分布式变成变得更加简单,更加容易运行,Java技术已经逐渐成为分布式计算的首选语言。
作者:何宇 单位:电子科技大学