什么是客户机/服务器计算
客户机/服务器计算定义一种体系结构,在该结构中,程序逻辑分布在客户机系统和服务器系统之间。客户机/服务器计算是20世纪80年代的各种趋势形成的结果,它使用通过LAN连接到后端数据库服务器或应用程序服务器的功能强大的计算机来装备台式计算机。设计这种模型是为了替换主机计算模型,在主机计算模型中所有的处理都是由一个集中式系统完成的。
客户机/服务器计算结构是一种基于信息的组合式结构,意在提高集中化的时间共享大型机计算。客户机被定义为一种服务请求器,服务器被定义为一种服务供应商。单个机器既可以作为客户机也可以作为服务器,这主要取决于软件配置及执行功能类型。
【资料图】
客户机/服务器计算依赖于分布应用程序,其前站(用户见到的部分)在工作站上运行,后端(完成大部分工作)在服务器上运行。例如,前端PC机请求后端服务器进行数据库搜索,服务器仅将搜索结果(而不是整个应用程序和数据集)送回给请求的PC机。与传统的文件服务器不同,客户机/服务器计算实际上是在服务器上运行应用程序,只把结果(不是原始数据)返给提出请求的PC机。
随着因特网的发展,客户机/服务器计算模型已经从一个双向关系(通常被称为两层模型)演变为三层或多层模型。在这些模型中,客户机与中间应用程序服务器或Web服务器进行通信,而应用程序服务器或Web服务器则与后端数据服务器和/或遗留系统进行通信。然后中间服务器将数据库查询结果返回到客户机。
目前,共有几种可能的客户机/服务器配置。在最基本的模型中,几个客户机访问单个服务器;不过,图C-l7中所示的分布式方法则更常用。分布式配置中的服务器可以互相通信以向客户机提供协调的服务。
在图C-18中,数据库被复制到一个远程系统以便远程站点的用户能够在本地站点而不是通过WAN(广域网)链路访问数据。两台服务器周期性地相互同步以确保用户使用的是最新信息。在图C-18的右边,企业的大量数据存储在“数据存储仓库”中。工作组访问中间层“升级系统”,而该中间层“升级系统”对常被访问的数据进行高速缓存或替客户机对后端系统进行查询。
这些讨论都假定客户机与服务器是软件兼容的,但事实并不总是这样。一个企业网络可能是部门LAN和应用程序及各个客户机的结合。C-19所示,中间设备帮助将这些不同类组件结合在一起,以便开发人员能够隐藏应用程序之间的差异并为各个客户机提供连接。中间设备还提供消息系统形式的通信系统或客户机与服务器之间的直接链接.
文件服务器、应用程序服务器、打印服务器、传真服务器、通信服务器等等都利用了客户机/服务器模型。这里“服务器”一词既指系统也指系统软件。系统中运行的服务器进程等待客户机的请求,可能是对文件的请求也可能是对开始一项复杂事务的请求。
在一个客户机/服务器应用中,客户端应用程序是针对一个小的、特定的数据集,如一个表的行来进行操作的,而不是像文件服务器那样针对整个文件进行,对某一条记录进行封锁,而不是对整个文件进行封锁,因此保证了系统的并发性,并使网络上传输的数据量减到最少,从而改善了系统的性能。客户机/服务器模型的优点主要在于系统的客户端应用程序和服务器部件分别运行在不同的计算机上,系统中每台服务器都可以适合各部件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。在客户机/服务器模型中,系统中的功能部件充分隔离,客户端用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用开发中都要对一个数据库进行编码。将大的应用处理任务分布到许多通用网络连接的低成本计算机上导致了费用的极大节约。
后端数据服务器运行DBMS(数据库管理系统)软件,客户机则通过SQL(结构化查询语言)语句查询这些系统。SQL作为LAN中客户机/服务器中间设备的一种形式,因为它在只选择和移动那些需要的记录方面效率很高,所以很受欢迎。而且它还可以直接在数据库服务器上运行存储的程序而不用先将数据移动到客户机然后在客户机运行程序。
因为服务器向许多客户机提供服务,所以为了性能的缘故,它们必须是功能强大的系统。在所谓的瘦客户机环境中,服务器完成大部分工作而客户机基本上只显示信息和接收用户的输入。许多瘦客户机甚至没有硬盘驱动器。在一个更加平衡的模型中,客户机和服务器(或多个服务器)共同工作。大多数瘦客户机模型都是基于Java小程序和应用程序的。
标签: