多层客户机服务器结构分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
协作计算模型
C/S计算技术在信息产业中占有重要的地位。网络计算经历了从基于宿主机的计算模型到客户机/服务器计算模型的演变。
在集中式计算技术时代广泛使用的大型机/小型机计算模型是通过一台物理上与宿主机相连接的非智能终端来是实现宿主机上的应用程序。在多用户环境中,宿主机应用程序既负责与用户的交互,又负责对数据的管理;宿主机上的应用程序一般也分为与用户交互的前端和管理数据的后端,即数据库管理系统 (DBMS)。集中式的系统使用户能共享贵重的硬件设备,如磁盘机、打印机和调制解调器等。但随着用户的增多,对宿主机能力的要求很高,而且开发者必须为每个新的应用重新设计同样的数据管理部件。
80年代以后,集中式结构逐渐被以PC为主的微机网络所取代。个人计算机和工作站的采用,永远改变了协作计算摸型,从而导致了分散的个人计算模型的产生。一方面,由于大型机系统固有的缺陷,如缺乏灵活性,无法适应信息量急剧增长的需求,并为整个企业提供全面的解决方案等等。另一方面,由于微处理器的日新月异,其强大的处理能力和低廉的价格使微机网络迅速发展,已不仅仅是简单的个人系统,这便形成了计算机界的向下规模化(Downsizing)。其主要优点是用户可以选择适合自己需要的工作站、操作系统和应用程序;PC的应用程序非常丰富,且易于开发;工作站上的数据是属于个人自治的信息集合。
网络/文件服务器计算模型的产生用以解决个人PC和工作站的数据和外部设备
共享问题。在一个局域网中共享数据,需要将文件存放在文件服务器上,所有用户都通过这个存储数据文件的中央节点访问数据文件。这个节点也是局域网(LAN) 中共享外部设备的中枢。但网络/文件服务器计算模型的内在设计,使得它无法像大型机那样对多用户请求、共享数据的应用提供足够充分的服务。网络/文件服务器计算模型不提供多用户应用要求的数据并发性,当某一用户封锁一个文件便阻止了其它用户共享该文件;如果LAN中许多工作站请求和发送很多文件,网络很快就达到信息传送的饱和状态,造成瓶颈,降低整个网络的性能。
以PC机为主体的文件服务器并不能满足分布式计算的需求,而客户机/服务器技术正是一种分布式计算模式,它集中了大中型系统及文件服务器的优点,并有良好的系统开放性和可扩展性,即寻找一种适当规模化 (Rightsizing)。客户机/服务器计算模式定义了台式机如何和服务器相连,以实现数据和应用的共享,并利用台式机的处理能力将数据和应用分布到多个处理机上。这种模式当时被用于工作组和部门的资源共享。客户机/服务器系统有三个主要部件:数据库服务器、客户应用程序和网络。服务器负责有效地管理系统的资源,其任务集中于:
∙数据库安全性的要求
∙数据库访问并发性的控制
∙数据库前端的客户应用程序的全局数据完整性规则
∙数据库的备份与恢复
客户端应用程序的的主要任务是:
∙提供用户与数据库交互的界面
∙向数据库服务器提交用户请求并接收来自数据库服务器的信息
∙利用客户应用程序对存在于客户端的数据执行应用逻辑要求
网络通信软件的主要作用是,完成数据库服务器和客户应用程序之间的数据传输。
传统C/S计算模型分析
客户机/服务器系统比文件服务器系统能提供更高的性能,因为客户端和服务器端将应用的处理要求分开,同时又共同实现其处理要求,对客户端程序的请求实现“分布式应用处理”。服务器为多个客户端应用程序管理数据,而客户端程序发送、请求和分析从服务器接收的数据,这是一种“胖客户机(Fat Client)”,“瘦服务器(Thin Server)”的网络计算模式。
在一个客户机/服务器应用中,客户端应用程序是针对一个小的、特定的数据集,如一个表的行来进行操作的,而不是像文件服务器那样针对整个文件进行,对某一条记录进行封锁,而不是对整个文件进行封锁,因此保证了系统的并发性,并使网络上传输的数据量减到最少,从而改善了系统的性能。客户机/服务器模型的优点主要在于系统的客户端应用程序和服务器部件分别运行在不同的计算机上,系统中每台服务器都可以适合各部件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。在客户机/服务器模型中,系统中的功能部件充分隔离,客户端用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用开发中都要对一个数据库进行编码。将大的应用处理任务分布到许多通用网络连接的低成本计算机上导致了费用的极大节约。
随着信息的全球化,区域的界限已经被打破,电子商务作为Internet的强大的驱动力,迫使客户机/服务器模式从局域网 (LAN) 向广域网 (WAN) 延伸。如今,Internet已经成为全球最大的网络互联环境,在Internet的环境下实现数据的客户机/服务器计算模型正是目前的流行趋势。在这种条件下产生的网络计算模式实际上是对传统的C/S计算模式的扩充,用公式表示为:
网络计算模式 = 多层C/S +动态计算
多层C/S结构
两层与三层C/S结构的区别
应用程序从结构上一般分为四层:形式逻辑、业务逻辑、数据逻辑和数据存储。传统的C/S计算多是基于两级模式,如图1所示,在这种模式中,所有的形式逻
辑和业务逻辑均驻留在Client端,而Server则成为数据库服务器,负责各种数据的处理和维护。因此Server变得很“瘦”,被称为“瘦服务器 (Thin Server)”。与之相反,这种模式需要在客户端运行庞大的应用程序,这就是所谓的“胖客户机(Fat Client)”。其数据流图如图2所示。图2 两层C/S结构的一般处理流程
用公式表示为:
两层网络计算模式 = 多Client +单/多Database Server +动态计算
随着C/S结构应用范围的不断扩大和计算机网络技术的发展,这种结构带来的问题日益明显,主要表现在以下几方面:
首先,系统的可靠性有所降低。一个客户机/服务器系统是由各自独立开发、制造和管理的各种硬件和软件的混合体,其内在的可靠性不如单一的、中央管理的大型机或小型机,出现问题时,很难立即获得技术支持和帮助。
其次,维护费用较高。尽管这种应用模式在某种程度上提高了生产效率,由于客户端需要安装庞大而复杂的应用程序,当网络用户的规模达到一定的数量之后,系统的维护量急剧增加,因而维护应用系统变得十分困难。
第三,系统资源的浪费。随着客户端的规模越来越大,对客户机资源的要求也越来越高。尽管硬件不断更新,但新的操作系统和新的应用软件的不断出现,使得用户对硬件的更新仍然跟不上软件更新的速度。客户不得不在本地硬盘上装入大量的软件,但是使用的大都只是其中很少一部分(一般低于10%)。在一个拥有众多的“胖客户机”的环境中,这无疑是一种巨大的浪费。
最后,系统缺乏灵活性。客户机/服务器需要对每一应用独立地开发应用程序,消耗了大量的资源,但胖客户机的计算模式却仍然满足不了日益增长的应用的需要。在向广域网扩充(如Internet)的过程中,由于信息量的迅速增大,专用的客户端已经无法满足多功能的需求。网络计算模式从两层模式扩展到N层模式,并且结合动态计算,解决了这一问题。
目前流行的三层网络计算模式,用公式表示为:
三层网络计算模式 = 多浏览器+单Web 服务器+多数据库服务器+动态计算
如图3所示,在三层模式中,Web服务器既作为一个浏览服务器,又作为一个应用服务器,在这个中间服务器中,可以将整个应用逻辑驻留其上,而只有表示层存在于客户机上。这种结构被称之为“瘦客户机”。这种结构中,无论是应用的HTML页还是Java Applet都是运行时刻动态下载的,只需随机地增加中间层的服务 (应用服务器),即可满足扩充系统的需要。由此我们可以用较少的资源建立起具有很强伸缩性的系统,这正是网络计算模式带来的重大改进。三层C/S
模式的数据流图如图4所示。