摘 要 本文对分布式计算技术的工作原理和几种典型的分布式计算技术,如中间件技术、网格技术、移动Agent技术、P2P技术以及最近推出的Web Service技术进行了分析和比较,介绍了存储整合在分布式计算技术中的应用,指出了其存在的一些问题。
关键词 分布式计算;中间件;网格;移动Agent; P2P;Web Service;存储整合
1 概述
不同的人对于分布式计算的理解是不同的,我们可以用不同的方式定义分布式计算的具体含义。其中一种较为普遍的定义就是,分布式计算就是利用网络把成千上万台计算机连接起来,组成一台虚拟的超级计算机,并利用它们的空闲时间和存储空间来完成单台计算机无法完成的超大规模计算事务的求解。分布式计算的最早形态出现在80年代末的Intel公司。随着Internet的迅速发展和普及,分布式计算的研究在90年代后达到了高潮。Internet技术实现了计算机硬件的连通,Web则实现了网页的连通,而分布式计算技术的目标就是实现Internet上所有资源的全面连通。它要把整个Internet整合成一台巨大的超级计算机,实现计算资源、通信资源、软件资源、信息资源、知识资源的全面共享,为现代信息技术开创一个新的纪元。
分布式计算研究主要集中在分布式操作系统和分布式计算环境研究两个方面。但随着Internet技术的飞速发展, 分布式计算的研究热点也从以分布式操作系统为中心的传统模式转换到以网络计算平台为中心的实用分布式技术, 并取得了较大的成功。此外,在过去的20 多年间也涌现出了大量的分布式计算技术,如中间件技术、网格技术、移动Agent技术、P2P技术以及最近推出的Web Service技术,它们在特定的范围内都得到了广泛的应用。但是,现有的分布式计算技术都存在着一些没有解决的问题,从而也影响了分布式计算技术的使用和普及。本文力争通过介绍分布式计算技术的工作原理,以及对几种典型的分布式计算技术的分析和比较,来发现它们共同面临的一些问题。除此之外,还简要介绍了一下存储整合对解决分布式计算中出现的一些问题所起到的作用。最后对分布式计算技术的发展方向进行了探讨。
下面就让我们来看一下分布式计算技术的工作原理。
2 分布式计算技术的工作原理
要想实现分布式计算,首先就要满足三方面的条件:
第一、计算机之间需要能彼此通信;
第二、需要有实施的“交通”规则(例如,决定谁第一个通过,第二个做什么,如果某事件失败会发生什么情况等);
第三、计算机之间需要能够彼此寻找。
只有满足了这三点,分布式计算才有可能实现。
目前,一个分布式网络体系结构包括了安装了超轻量软件代理客户端系统,以及一台或多台专用分布计算管理服务器。此外,还会不断有新的客户端申请加入分布式计算的行列。当代理程序探测到客户端的CPU处于空闲时,就会通知管理服务器此客户端可以加入运算行列,然后就会请求发送应用程序包。客户端接收到服务器发送的应用程序包之后,就会在机器的空闲时间里运行该程序,并且将结果返回给管理服务器。应用程序会以屏保程序,或者直接在后台运行的方式执行,不会影响用户的正常操作。当客户端需要运行本地应用程序的时候,CPU的控制权会立即返回给本地用户,而分布式计算的应用程序也会中止运行。
3 几种分布式计算技术
3.1 中间件技术
中间件是基础软件,是分布式系统中介于应用层和网络层的一个功能层次,它能够屏蔽操作系统(或网络协议)的差异,实现分布式异构系统之间的互操作。分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。它扩展了C/S结构,形成了一个包括客户端、中间件和服务器的多层结构。基于中间件分布式系统的体系结构如图1所示。
基于中间件的分布式计算技术以中间件为桥梁,通过把数据转移到计算之处的计算方式,把网络系统的所有组件集成为一个连贯的可操作的异构系统,从而达到网络“透明”的目的。
早期的中间件比较简单,仅具有消息通讯和事务管理功能。但随着需求的多样化,也产生了许多不同类别的中间件产品,如:消息中间件(MOM :Message-Oriented Middleware)、数据库中间件(Database Middleware)、远程过程调用中间件(RPC :Remote Process Call)、对象请求代理中间件(ORB :Object Request Broker)和事务处理中间件(TP Monitor:Transaction Process Monitor)。
图1 中间件技术