什么是分布式计算机网络 分布式计算机网络由多个相互连接在一起的客户机和服务器组成,并且其中的任一系统都可能与另一个系统进行通信。在这种网络中,不存在一个处理和控制中心,网络中任一结点都至少和另外两个结点相连接,信息从一个结点到达另一结点时,可能有多条路径。同时,网络中各个结点均以平等地位相互协调工作和交换信息,并可共同完成一个大型任务。分组交换网、网状形网属于分布式网络。这种网具有信息处理的分布性、可靠性、可扩充性及灵活性等一系列优点。因此,它是网络发展的方向。 分布式系统的平台已经成为一个链接某个组织的各个工作组、部门、分支机构和各个分部的企业网络。数据不是在一台服务器上,而是在许多台服务器上;这些服务器可能位于多个不同的地理区域,并用WAN链路相连接。 图D-26说明了从昂贵的集中式系统向可大批量安装的低成本的分布式系统发展的趋势。在20世纪80年代末、90年代初,分布式系统由数量庞大的桌面计算机组成,而如今,因特网和Web技术已经大大扩展了分布式系统的概念。根据3Com论文的说法,Web是一个“大规模分布的系统集合”,它由数不胜数的节点组成,这些节点范围从服务器到便携式计算机和无线PDA,更不用说那些无需人工干预基本上就能够彼此对话的嵌入式系统了。 分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 由IBM的Simon Phipps撰写的一篇论文探讨了分布式计算系统是如何消除在该计算环境中的依赖性的,如下所述: TCP/IP提供了一个网络无关的传输层。 Web客户机和服务器消除了对平台和操作系统的依赖性。 组件软件(Java、ActiveX)消除了与购买和安装软件相关的争论。 XML使数据独立于软件。 用Web技术构建的网络(如内联网和因特网)是真正的高级分布式计算网络。Web技术为分布式计算添加了一个新的维度。Web服务器为具有Web浏览器的任何一台客户机提供了通用的访问方法。计算平台和操作系统的类型变得无关紧要,而无限制的通信和信息交换却占据了主导地位。 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。 分布式环境具有一些很有趣的特征。它利用了客户机/服务器计算技术和多层体系结构。它可将处理工作分布在多个不很昂贵的系统上,从而减轻了服务器处理许多任务的工作量。数据可以通过有线或无线网络从许多不同的站点上进行访问。可以将数据复制到其他系统以提供容错功能,并使其更接近于用户。对数据进行分布可以使数据免遭本地灾害的破坏。 分布式环境需要下列组件: 支持多供应商产品和通信协议的网络平台。TCP/IP成为实际使用的标准协议。 用于在客户机和服务器之间交换信息的应用程序接口,如RPC(远程过程调用)、消息传递系统或Web协议。 用来跟踪资源和信息及其所处位置的目录命名服务。 可支持分区和复制以便对数据进行分布并确保数据的可用性、可靠性和保护的文件系统和数据库。 用于使信息更接近于用户并使通过远距离链路传输信息所需时间最小化的高速缓存方案。 安全功能(如身份验证和授权)以及不同位置的系统之间的信任关系。 如前所述,Web是最基本的分布式计算机系统。您可以访问全世界的Web服务器,这些服务器提供了近乎无限的丰富内容。您可以利用目录服务来查找站点。搜索引擎对整个Web上的信息进行分类,并使您可以对其进行查询。高速缓存技术和“内容分布”正在使信息与用户的距离越来越近。 大规模分布系统 3Com有一篇论文,名为“Massively Distributed Systems”,是由Dan Nessett撰写的。该论文谈到了从高成本的集中式系统向低成本分布式的高单元容量的产品发展的趋势,向大规模分布的系统发展的趋势,这些大规模分布系统无处不在并且其运行常常超出人们的正常的知识范围。对于那些想了解分布式计算发展趋势的人们,建议最好阅读一下这篇论文。 Nessett探讨了两种分布式处理方法。一种方法是将数据移到边缘处理器,正如Web和基于Web的文件系统那样。另一种方法是先有处理过程再接收数据,正如活动联网和Java应用小程序那样(如对象在分布式系统中移动,同时携带代码和数据)。如果对象主要包含数据,则它会更接近于再进行处理。如果对象主要包含代码,则它更接近于先有处理过程再接收数据。然而,另一种方法是利用瘦客户机,这种方法是用户在与服务器连接的图形终端进行工作,这些服务器执行所有处理工作并存储用户的数据。 万维网是由欧洲粒子物理实验室(CERN)研制的基于Internet的信息服务系统。WWW以超文本技术为基础,用面向文件的阅览方式替代通常的菜单的列表方式,提供具有一定格式的文本、图形、声音、动画等。它是一个充满着对象的大规模分布的系统,其中各个Web站点所包含的文档都同时包含有对象和对其他对象的索引。 Nessett谈到了要使大规模分布的对象呈现给缺乏技术的用户为何需要新的接口。一个例子是在用户可浏览的虚拟空间中表示这些对象,就好像在三维世界中漫游一样。 分布式和并行处理 分布式计算技术的一个方面是能够在多台计算机上并行运行若干个程序。以分布式计算技术为基础,基于构件的系统体系结构将逐渐取代模块化的系统体系结构。现在主要有两种分布式计算技术的标准,一个是以OMG组织为核心的CORBA标准,另一个是以微软为代表的基于DCOM的ActiveX标准。近年来,OMG组织在CORBA 标准的制定和推广方面付出了巨大的努力,同时许多CORBA标准的产品也在逐渐成熟和发展;同时由于微软在操作系统方面的绝对统治地位,ActiveX标准在Windows系列平台上显得更加实用,相应的工具也更加成熟。 分布式并行处理技术是最适合于在通过LAN或因特网连接的计算机之间发生的多道处理技术;而专用并行处理则是最适合于在本地通过高速接口挂接的系统上发生的多道处理技术。 多个计算机系统间的分布式并行处理需要有一个权威性的调度程序,用来决定何时何地运行程序的一些部分。任务分布可以实时进行,也可以按比较缓和的任务安排来进行。例如,分布式处理已经在破译加密消息上得以使用。Distributed.net项目就是雇用数千名用户和他们的计算机来破译密码的。用户收到一个小程序,该程序可与Distributed.net的主系统进行通信,该系统向用户分布要解决的部分问题。当用户的计算机空闲时该程序即会运行。然后在完成后将其结果返回给主计算机。最后,主计算机对所有计算机提交的全部结果进行编译。Distributed.net宣称,它的用户网拥有“世界上最快的计算机”。 HTC(高吞吐量计算)环境是由许多工作站组成的大集合环境,通常称之为“网格环境”。Globus项目就是一个HTC项目,它可以帮助科研人员利用工作站和超级计算机池中的空闲周期。这一系统是以Condor为基础的,Condor是一个经过证实的系统,已经在控制LAN上的空闲工作站时间上得以应用。 |