首页 百科知识 分布式计算模式

分布式计算模式

时间:2022-06-20 百科知识 版权反馈
【摘要】:3.2 分布式计算模式网络中有许多计算机,这些计算机协同工作来实现一定的目标,那么这些计算机之间有什么关系?分布式处理则将所有的工作分给互相连接的个人计算机、中型计算机与大型主机来共同完成。根据这三个层次的应用在客户机和服务器端的不同分布,形成了5种类型的Client/Server计算模式,如图3-3所示。图3-3 5种类型的Client/Server计算模式那么,胖客户机系统和瘦客户机系统相比较各有何优缺点呢?

3.2 分布式计算模式

网络中有许多计算机,这些计算机协同工作来实现一定的目标,那么这些计算机之间有什么关系?是对等的还是有能力差别的?本节的网络计算模式将使我们对于这些问题有一个比较全面深刻的了解。

今天,大部分独立计算机的计算工作都被连上网络的计算机所取代,使用通信网络连接多部计算机对资源进行处理称为分布式处理(distributed processing),这与过去的集中式处理不同。所谓集中式处理是将所有的计算、数据存储等处理交由一部大型中央计算机完成,而终端只是“哑”终端,没有计算能力,所以是集中式的。分布式处理则将所有的工作分给互相连接的个人计算机、中型计算机与大型主机来共同完成。典型的分布式计算模式有两种,一种是客户机/服务器结构,另一种是点对点网络结构;前者计算机之间是有能力差别的,而后者计算机之间是对等的。

客户机/服务器结构的工作方式

客户机/服务器(Client/Server)结构,简称C/S结构,是一种基于网络的分布式应用模型。在C/S结构中,网络中的计算机被分成两个有机地联系起来的部分:客户机和服务器。客户机是由功能一般的计算机来担任,它向服务器发送访问网络资源的请求,通常(但不总是)是和用户交互的部分。服务器则是由计算能力较强的计算机来充当,它接收和响应来自多个客户机的请求,为客户提供应用所需的资源。

客户机/服务器结构提供了不同的计算设备共同工作的方式,每个设备都承担自己合适的角色,计算任务在客户机和服务器之间进行分配,由二者共同完成。客户机向服务器发出访问资源的请求,服务器对客户机的请求进行相应的处理,并将处理结果返回给客户机,其工作方式如图3-2所示。

图3-2 客户机/服务器架构的工作方式

需要注意的是,客户机/服务器模式不仅仅是硬件的分布,同时也是软件的分布,采用客户机/服务器模式的信息系统软件也分为客户机和服务器两个部分。所以,虽然术语客户机和服务器经常用来指计算机本身,但是实际上更多的是指运行在硬件之上,执行客户端处理和服务器端处理的客户机软件和服务器软件。而且,在同一台机器上运行几种类型的客户机和服务器软件是可能的,例如,你也许可以在你的计算机上同时运行Web浏览器和电子邮件客户软件。

为了更好地说明C/S的工作过程,我们看以下几个例子。比如在数据库服务中,桌面PC(即客户端)运行用户界面,进行格式化查询,向数据库服务器提出访问资源的请求并且显示查询结果;而数据库服务器则包含全部数据,运行查询请求、更新表并返回结果。又如ATM机的取款过程,ATM机是金融计算机网络上的客户机,供存款、取款、查询等使用,而服务器在银行的计算中心,是一台大型计算机,具有一个非常庞大的账目数据库。当进行取款操作时,ATM将用户身份信息发送到服务器,服务器检查是否为合法用户并给出提示,接着用户输入取款数,服务器检查是否在允许范围内,若允许,则记账并给ATM机发出命令,输出现款。

瘦客户机模式与胖客户机模式

也许到此,你的头脑中会萦绕着一个问题:在C/S架构中,到底有多少处理是在客户端上运行,有多少处理是在服务器上运行呢?为了弄清楚这个问题,我们首先要了解在C/S架构中,一个计算任务可以分为表示层、应用层和实际的数据管理三部分。其中,表示层部分是展示在使用者面前的应用界面;应用逻辑部分包含由企业营运规则所形成的处理逻辑(例如员工薪水以月薪来发放);数据管理部分包括程序所需的数据存储与管理。根据这三个层次的应用在客户机和服务器端的不同分布,形成了5种类型的Client/Server计算模式,如图3-3所示。

需要注意的是两端的两种极端情形:瘦客户机模式和胖客户机模式。在客户机/服务器计算架构中,有一种形式是客户机的处理与资料储存能力很小,在客户端仅需要执行一部分表示层的任务,其他的处理均在服务器端完成,这种结构被称为瘦客户机模式。浏览器/服务器(Browse/Server,简称B/S)结构就是一种典型的瘦客户机模式,它特指可以直接通过Internet访问服务器的结构。在B/S结构中,客户端是Web浏览器,仅执行部分界面显示的功能,而应用逻辑、数据存储等都在服务器端实现,WWW服务器可以接受安装有Web浏览器的Internet终端的访问。随着Internet技术的发展,B/S结构的信息系统是一种发展趋势,越来越多的信息系统采用了B/S结构。

与此相反,在胖客户机模式中,客户机是成熟的、独立的计算机,它们有辅助存储器以及独立于服务器使用的能力,客户机实现了应用层和表示层,且有一部分数据存储与处理,而服务器只需做少量工作。在胖客户模式中,客户端软件往往使用典型的图形界面组件,如菜单、工具栏等,用户可以很方便地与系统进行交互,这给终端用户提供了很高的可用性和效率。

图3-3 5种类型的Client/Server计算模式

那么,胖客户机系统和瘦客户机系统相比较各有何优缺点呢?胖客户机系统的主要优点是服务器只需做少量工作,有较少的网络流量;相比之下,瘦客户机系统的服务器却做了所有处理工作,可能很容易饱和,而且有潜在的较长的网络延迟。胖客户机系统的缺点主要是客户更复杂,需要安装专门的客户端软件,很难在不同平台移植,而且在服务器构架中的任何改变都可能需要在客户端进行相应变化;可瘦客户机系统却不同,其客户端不需要安装专门的软件,易于将客户移植到不同的架构,而且应用的改变对客户端的改变也不大。

3层客户机/服务器体系结构

当今,客户机/服务器模式普遍采用了3层客户机/服务器体系结构,名称的由来是因为这种模式涉及一台客户机和两台服务器,即客户机、应用程序服务器和数据库服务器,它们分别完成表示层、应用层与数据管理的任务。3层体系结构的工作过程如图3-4所示。用户将对数据或处理的请求首先从客户机发送到应用程序服务器,这个服务器将决定需要哪些数据,然后向数据库服务器发送一个检索这些数据的查询。数据库服务器将处理这个查询,然后将匹配的数据返回应用程序服务器,这个服务器再把数据处理成用户需要的形式。另外,随着Internet技术的发展,应用层还可以进一步分为Web服务器和应用服务器等。

图3-4 3层客户机/服务器体系结构

P2P网络

上面所讲的几种分布式计算结构中计算机的功能都是不对等的,还有一种分布式处理结构为对等结构(peer-to-peer),简称为P2P结构。在P2P结构中,所有的参与者既是资源(服务和内容)提供者(Server),又是资源(服务和内容)获取者(Client)。非中心化是这种结构的重要特征,即每台客户机都直接与其他的客户机共享文件或计算机资源(处理能力、存储能力、网络连接能力、打印机、文字处理软件等),而无需通过中心服务器。另外,P2P网络的可扩展性很强,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。

目前,P2P有着广泛的应用,许多常用的软件工具就是基于P2P技术的,例如,在文件内容共享和下载工具,如BT、eMule、eDonkey等;即时通信工具,如QQ、Yahoo Messenger、MSN Messenger等;P2P通信与信息共享,如网络电话Skype等;基于P2P技术的网络电视,如PPLive、QQLive等。此外,这种技术还支持计算能力和存储共享,例如网格计算(grid computing),它将问题分解成可以在不同计算机上执行的较小部分,在特殊软件的支持下,利用网络中诸多个人计算机闲置的计算能力来完成计算,这样就可以处理以往只有大型的、昂贵的服务器甚至是超级计算机才能执行的大型作业。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈