对几种典型分布式计算技术的比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对几种典型分布式计算技术的比较
分布式计算是一门计算机学科,它主要是研究如何把一个需要巨大计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多不同的计算机进行处理,最后把这些计算结果综合起来得到最终的结果。本文还对分布式计算技术的工作原理和几种典型的分布式计算技术,如中间件技术、网格技术、移动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 专用网。