当前位置:文档之家› 对几种典型分布式计算技术的比较

对几种典型分布式计算技术的比较

对几种典型分布式计算技术的比较分布式计算是一门计算机学科,它主要是研究如何把一个需要巨大计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多不同的计算机进行处理,最后把这些计算结果综合起来得到最终的结果。

本文还对分布式计算技术的工作原理和几种典型的分布式计算技术,如中间件技术、网格技术、移动Agent 技术、P2P技术以及Web Service技术进行了分析和比较,介绍了存储整合在分布式计算技术中的应用,指出了其存在的一些问题。

1 概述所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。

分布式计算研究主要集中在分布式操作系统和分布式计算环境研究两个方面。

但随着Internet技术的飞速发展,分布式计算的研究热点也从以分布式操作系统为中心的传统模式转换到以网络计算平台为中心实用分布式技术,并取得了较大的成功。

此外,在过去的20多年间也涌现出了大量的分布式计算技术,如中间件技术、网格技术、移动Agent技术、P2P技术以及Web Service技术。

它们在特定的范围内都得到了广泛的应用。

2 几种典型的分布式计算技术2.1中间件技术中间件(middleware)是一个基础性软件的一大类,属于可复用软件的范畴。

顾名思义,中间件处于操作系统软件与用户的应用软件的中间。

中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

中科院软件所研究员仲萃豪形象地把中间件定义为:平台+通信。

这个定义限定了只有用于分布式系统中的此类软件才能被称为中间件,同时此定义还可以把中间件与支撑软件和实用软件区分开来。

2.2 网格计算技术网格计算(Grid computing)通过利用大量异构计算机(通常为桌面)的未用资源(CPU 周期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。

网格计算的焦点放在支持跨管理域计算的能力,这使它与传统的计算机集群或传统的分布式计算相区别。

网格计算的设计目标是解决对于任何单一的超级计算机来说仍然大得难以解决的问题,并同时保持解决多个较小的问题的灵活性。

这样,网格计算就提供了一个多用户环境。

它的第二个目标就是:更好的利用可用计算机,迎合大型的计算练习断断续续的需求。

这隐含着使用安全的授权技术,以允许远程用户控制计算资源。

网格计算包括共享异构资源(基于不同的平台,硬件/软件体系结构,以及计算机语言),这些资源位于不同的地理位置,属于一个使用公开标准的网络上的不同的管理域。

简而言之,它包括虚拟化计算资源。

网格计算经常和集群计算相混淆。

二者主要的不同就是:集群是同构的,而网格是异构的;网格扩展包括用户桌面机,而集群一般局限于数据中心。

对于网格计算(Grid computing)这一术语有三重理解可供参考,如下:为万维网诞生起到关键性作用的欧洲核子研究组织(CERN,European Organization for Nuclear Research),其对网格计算是这样定义的:“网格计算就是通过互联网来共享强大的计算能力和数据储存能力”。

外部网络(External grids)。

事实上,网络计算对分布在世界各地的、非营利性质的研究机构颇有吸引力,进而造就了美国国家超级电脑应用中心计算生物学网格,如生物学和医学信息学研究网络。

内部网络(Internal grids)。

同样,网络计算对那些需要解决复杂计算问题的商业公司有着非同一般的吸引力,其目标是将企业内部的计算能力最大化。

2.3 移动Agent技术移动Agent的最初概念是在20世纪90年代初,由General移动Agentgic公司在推出商业系统Telescript时提出的。

它是一可执行的程序,分布式人工智能技术和网络技术发展的必然结果,能够携带其代码和状态自主地从网络中一个节点移动到另一个节点上运行,寻找合适的计算资源和信息资源,完成特定的任务。

移动Agent具有智能性和移动性,并根据服务需要协调多个Agent的行为,协作执行特定任务。

移动Agent是一种软件对象,它能携带执行代码、数据和运行状态,在复杂的网络中自治的、有目的迁移,并能响应外部事件,在迁移过程中能保持状态的一致性。

移动Agent 就是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可与其它Agent或资源交互的程序。

移动Agent技术是分布式技术和Agent技术相结合的产物,它结合了分布式计算机技术和人工智能技术,它除了具有智能Agent的最基本特性:自主能力、社交能力、适应能力和一致主动性,还具有移动能力、可靠性和安全性。

移动Agent不同于基于过程的RPC,也不同于面向对象的对象引用,其独特的对象传递思想和卓越的特性给分布式计算乃至开发系统带来了巨大的革新。

移动Agent技术在实际中得到了广泛的应用,主要应用于电子商务、分布式信息检索、无线通信服务、入侵检测和网络管理等方面。

2.4 P2P技术P2P技术起源于最初的联网通信方式,如在建筑物内PC通过局域网互联,不同建筑物间通过Modem远程拨号互联。

其中建立在TCP/IP协议之上的通信模式构成了今日互联网的基础,所以从基础技术角度看,P2P不是新技术,而是新的应用技术模式。

今天,P2P再一次被关注主要是由Napster以及ICQ类软件的出现,虽然在Napster之前P2P方式的研究也从未停止。

现在互联网是以S(Server)/B(Browser)或S/C(Client)结构的应用模式为主的,这样的应用必须在网络内设置一个服务器,信息通过服务器才可以传递。

信息或是先集中上传到服务器保存,然后再分别下载(如网站),或是信息按服务器上专有规则(软件)处理后才可在网络上传递流动(如邮件)。

如今拥有Napster及ICQ类软件的PC(或操作者)就可以选择同样拥有此类软件的另一PC(或操作者)形成互联(直接连接,不通过服务器),双方共享资源,协同完成某种行动。

而拥有同一P2P软件的设备和用户,还可以形成一个为其自己所有的在互联网上的P2P 专用网。

目前互联网主要技术模式是S/C方式,此方式要在互联网上设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,再将大量的数据集中存放在上面,并且要安装多样化的服务软件,在集中处理数据的同时可以对互联网上其他PC进行服务,提供或接收数据,提供处理能力及其他应用。

对于一台与服务器联机并接受服务的PC机来说,这台PC机就是客户机,其性能可以相对弱小。

而P2P技术的特征之一就是弱化了服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户机,即对等。

右面是P2P与S/C 方式的一些比较:S/C方式造成互联网络上的集中,无论信息资源还是成本资源均向同一方向集中,这样的模式符合一对多、强对弱的社会关系形式,如政府对个人、对企业,大企业对小企业,学校对学生,企业对职工等等关系。

所以S/C方式是符合市场需求的。

P2P方式将导致信息数量、成本资源都向互联网各点均匀分布,也就是所谓“边缘化“的趋势。

此模式符合“一对一”的特点,以及彼此相当的社会关系形式,如个人对个人,规模相当的企业之间,等等,这也是符合市场需求的(如ICQ)。

所以这两种方式会共存,有关P2P即将替代S/C模式的说法是不成立的。

P2P有其独特的市场空间,是现有互联网应用的补充,这一点应该是毫无疑问的。

P2P技术特性:1)既是S又是C,如何表现取决于用户的要求,网络应用由使用者自由驱动。

2)信息在网络设备间直接流动,高速及时,降低中转服务成本。

3)构成网络设备互动的基础和应用。

4)在使网络信息分散化的同时,相同特性的P2P设备可以构成存在于互联网这张大网中的子网,使信息按新方式又一次集中。

2.5WebService技术WebService使用标准技术,通过它,软件应用程序资源在各网络上均可用。

因为Web Service基于标准接口,所以即使是以不同的语言编写并且在不同的操作系统上运行,它们也可以进行通信。

因此,Web Service是生成必须适用于网络上不同系统的分布式应用程序的极好方法。

标准技术因为Web Service符合公认的标准,所以能够以这种通常可访问的方式来公开其资源。

Web Service使用的标准技术包括:通过WSDL文件公开描述其自身功能;通过XML消息(通常使用SOAP格式)与其他应用程序进行通信;使用标准网络协议,如HTTP等。

Web Service(在中央)、其客户端软件应用程序(在左侧)及其使用的资源(包括数据库、其他Web Service等)(在右侧)之间的关系(如图1)。

Web Service通过使用标准协议(如HTTP)交换XML消息来与客户端和各种资源进行通信。

在WebLogic Server上部署Web Service后,由WebLogic Server负责将传入的XML消息路由到您编写的Web Service 代码。

Web Service将导出WSDL文件,以描述其接口,其他开发人员可以使用此文件来编写访问此Web Service的组件。

2.6 几种技术的比较Web Service技术的体系结构与基于中间件分布式系统的体系结构相比,发现它们是非常相似的,可以把体系结构中的Web程序看作中间件。

从结构上来看,Web服务只是从侧面对中间件平台技术进行革新,虽然所有服务之间的通信都以XML格式的消息为基础,但调用服务的基本途径主要还是RPC,而且具体实现并没有提供一种全新的编程模式。

网格计算与基于中间件的分布式计算技术相比较,它依然以“中间件”为技术核心,在实现形式上并没有太大的改变。

然而经过一系列的技术革新,网格系统中的技术内涵已经发生了深刻的变化。

其一,基于中间件的分布式计算技术的资源主要是指数据和软件,而网格计算的资源已经延伸到所有用于共享的实体,包括硬件、软件,甚至分布式文件系统、缓冲池等;其二,在Internet上,网格中间件层提供了与Web服务一样优秀的扩展功能,打破了传统分布式技术C/S模式的局限。

网格计算、Web Service等技术在异构平台上构筑了一层通用的、与平台无关的信息和服务交换设施,从而屏蔽了Internet中千差万别的差异,使信息和服务畅通无阻地在计算机之间流动。

相关主题