多层客户机服务器结构分析_第1页
多层客户机服务器结构分析_第2页
多层客户机服务器结构分析_第3页
多层客户机服务器结构分析_第4页
多层客户机服务器结构分析_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、协作计算模型网络计算经历了从基于宿主机的计C/S计算技术在信息产业中占有重要的地位 算模型到客户机/服务器计算模型的演变。在集中式计算技术时代广泛使用的大型机/小型机计算模型是通过一台物理上与 宿主机相连接的非智能终端来是实现宿主机上的应用程序。在多用户环境中,宿主机应用程序既负责与用户的交互, 又负责对数据的管理;宿主机上的应用程序 一般也分为与用户交互的前端和管理数据的后端,即数据库管理系统(DBMS)。集中式的系统使用户能共享贵重的硬件设备, 如磁盘机、打印机和调制解调器等。 但随着用户的增多,对宿主机能力的要求很高,而且开发者必须为每个新的应用 重新设计同样的数据管理部件。80年代以后

2、,集中式结构逐渐被以 PC为主的微机网络所取代。个人计算机和工 作站的采用,永远改变了协作计算摸型,从而导致了分散的个人计算模型的产生。 一方面,由于大型机系统固有的缺陷,如缺乏灵活性,无法适应信息量急剧增长 的需求,并为整个企业提供全面的解决方案等等。另一方面,由于微处理器的日 新月异,其强大的处理能力和低廉的价格使微机网络迅速发展,已不仅仅是简单的个人系统,这便形成了计算机界的向下规模化(Downsizing)。其主要优点是用 户可以选择适合自己需要的工作站、操作系统和应用程序;PC的应用程序非常丰富,且易于开发;工作站上的数据是属于个人自治的信息集合。网络/文件服务器计算模型的产生用以解

3、决个人 PC和工作站的数据和外部设备 共享问题。在一个局域网中共享数据,需要将文件存放在文件服务器上, 所有用 户都通过这个存储数据文件的中央节点访问数据文件。这个节点也是局域网 (LAN)中共享外部设备的中枢。但网络/文件服务器计算模型的内在设计,使得 它无法像大型机那样对多用户请求、共享数据的应用提供足够充分的服务。网络 /文件服务器计算模型不提供多用户应用要求的数据并发性,当某一用户封锁一 个文件便阻止了其它用户共享该文件;如果LAN中许多工作站请求和发送很多文 件,网络很快就达到信息传送的饱和状态,造成瓶颈,降低整个网络的性能。以PC机为主体的文件服务器并不能满足分布式计算的需求,而客

4、户机/服务器技术正是一种分布式计算模式,它集中了大中型系统及文件服务器的优点,并有良 好的系统开放性和可扩展性,即寻找一种适当规模化(Rightsiz ing)。客户机/服务器计算模式定义了台式机如何和服务器相连,以实现数据和应用的共享,并利用台式机的处理能力将数据和应用分布到多个处理机上。这种模式当时被用于工作组和部门的资源共享。客户机/服务器系统有三个主要部件:数据库服务器、 客户应用程序和网络。服务器负责有效地管理系统的资源,其任务集中于:数据库安全性的要求数据库访问并发性的控制*数据库前端的客户应用程序的全局数据完整性规则*数据库的备份与恢复客户端应用程序的的主要任务是:提供用户与数据

5、库交互的界面.向数据库服务器提交用户请求并接收来自数据库服务器的信息利用客户应用程序对存在于客户端的数据执行应用逻辑要求网络通信软件的主要作用是,完成数据库服务器和客户应用程序之间的数据传 输。传统C/S计算模型分析客户机/服务器系统比文件服务器系统能提供更高的性能,因为客户端和服务器 端将应用的处理要求分开,同时又共同实现其处理要求,对客户端程序的请求实 现“分布式应用处理”。服务器为多个客户端应用程序管理数据,而客户端程序 发送、请求和分析从服务器接收的数据,这是一种“胖客户机(Fat Client) ”,“瘦服务器(Thin Server) ”的网络计算模式。在一个客户机/服务器应用中,

6、客户端应用程序是针对一个小的、 特定的数据集, 如一个表的行来进行操作的,而不是像文件服务器那样针对整个文件进行,对某 一条记录进行封锁,而不是对整个文件进行封锁,因此保证了系统的并发性,并 使网络上传输的数据量减到最少,从而改善了系统的性能。客户机/服务器模型的优点主要在于系统的客户端应用程序和服务器部件分别运行在不同的计算机 上,系统中每台服务器都可以适合各部件的要求,这对于硬件和软件的变化显示 出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。在客户机/服务器模型中,系统中的功能部件充分隔离,客户端用程序的开发集中于数据的显示和 分析,而数据库服务器的开发则集中于数据的管理,不必在每

7、一个新的应用开发中都要对一个数据库进行编码。将大的应用处理任务分布到许多通用网络连接的 低成本计算机上导致了费用的极大节约。随着信息的全球化,区域的界限已经被打破,电子商务作为In ternet的强大的驱动力,迫使客户机/服务器模式从局域网(LAN)向广域网(WAN)延伸。如今, In ternet已经成为全球最大的网络互联环境,在In ternet的环境下实现数据的 客户机/服务器计算模型正是目前的流行趋势。在这种条件下产生的网络计算模 式实际上是对传统的C/S计算模式的扩充,用公式表示为:网络计算模式=多层C/S +动态计算多层C/S结构两层与三层C/S结构的区别应用程序从结构上一般分为四

8、层:形式逻辑、业务逻辑、数据逻辑和数据存储。 传统的C/S计算多是基于两级模式,如图1所示,在这种模式中,所有的形式逻 辑和业务逻辑均驻留在 Client 端,而 Server 则成为数据库服务器, 负责各种数 据的处理和维护。因此 Server 变得很“瘦”,被称为“瘦服务器 (Thin Server) ”。与之相反,这种模式需要在客户端运行庞大的应用程序,这就是所 谓的“胖客户机(Fat Client) ”。其数据流图如图2所示。图2两层C/S结构 的一般处理流程 用公式表示为:两层网络计算模式 =多Client+单/多Database Server + 动态计算 随着 C/S 结构应用范

9、围的不断扩大和计算机网络技术的发展, 这种结构带来的问 题日益明显,主要表现在以下几方面: 首先,系统的可靠性有所降低。一个客户机 /服务器系统是由各自独立开发、制 造和管理的各种硬件和软件的混合体, 其内在的可靠性不如单一的、 中央管理的 大型机或小型机,出现问题时,很难立即获得技术支持和帮助。其次,维护费用较高。 尽管这种应用模式在某种程度上提高了生产效率, 由于客 户端需要安装庞大而复杂的应用程序,当网络用户的规模达到一定的数量之后, 系统的维护量急剧增加,因而维护应用系统变得十分困难。第三,系统资源的浪费。 随着客户端的规模越来越大, 对客户机资源的要求也越 来越高。 尽管硬件不断更新

10、, 但新的操作系统和新的应用软件的不断出现, 使得 用户对硬件的更新仍然跟不上软件更新的速度。 客户不得不在本地硬盘上装入大 量的软件,但是使用的大都只是其中很少一部分(一般低于10)。在一个拥有众多的“胖客户机”的环境中,这无疑是一种巨大的浪费。最后,系统缺乏灵活性。客户机 /服务器需要对每一应用独立地开发应用程序, 消耗了大量的资源, 但胖客户机的计算模式却仍然满足不了日益增长的应用的需 要。在向广域网扩充(如 Internet )的过程中,由于信息量的迅速增大,专用 的客户端已经无法满足多功能的需求。网络计算模式从两层模式扩展到N层模式,并且结合动态计算,解决了这一问题。目前流行的三层网

11、络计算模式,用公式表示为: 三层网络计算模式 = 多浏览器 + 单 Web 服务器+多数据库服务器+ 动态计 如图3所示,在三层模式中,Web!务器既作为一个浏览服务器,又作为一个应 用服务器, 在这个中间服务器中, 可以将整个应用逻辑驻留其上, 而只有表示层 存在于客户机上。 这种结构被称之为“瘦客户机”。 这种结构中, 无论是应用的 HTM页还是Java Applet都是运行时刻动态下载的,只需随机地增加中间层的 服务 ( 应用服务器 ),即可满足扩充系统的需要。由此我们可以用较少的资源建 立起具有很强伸缩性的系统,这正是网络计算模式带来的重大改进。三层 C/S 模式的数据流图如图 4 所

12、示。三层 C/S 结构的实现 三层 C/S 结构是将应用功能分成表示层、 功能层和数据层三部分。 其解决方案是: 对这三层进行明确分割,并在逻辑上使其独立。原来的数据层作为DBMS已经独立 出来,所以关键是要将表示层和功能层分离成各自独立的程序, 并且还要使这两 层间的接口简洁明了。一般情况是只将表示层配置在客户机中,如图 5(1) 或图 5(2) 所示。如果象图 5(3) 所示的那样连功能层也放在客户机中,与二层 C/S 结 构相比,其程序的可维护性要好得多 , 但是其他问题并未得到解决。客户机的负 荷太重,其业务处理所需的数据要从服务器传给客户机 ,所以系统的性能容易变 坏。如果将功能层和

13、数据层分别放在不同的服务器中, 如图 5所示,则服务器和服务 器之间也要进行数据传送。但是 , 由于在这种形态中三层是分别放在各自不同的 硬件系统上的,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。 例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此 , 系统规 模越大这种形态的优点就越显著。值得注意的是 :三层 C/S 结构各层间的通信效率若不高 ,即使分配给各层的硬件 能力很强 , 其作为整体来说也达不到所要求的性能。 此外, 设计时必须慎重考虑三 层间的通信方法、通信频度及数据量。这和提高各层的独立性一样是三层 C/S 结构的关键问题。在三层 C/S 中,表示层是

14、应用的用户接口部分 ,它担负着用户与应用间的对话功 能。它用于检查用户从键盘等输入的数据 , 显示应用输出的数据。为使用户能直 观地进行操作, 一般要使用图形用户接口 (GUI) ,操作简单、 易学易用。 在变更 用户接口时, 只需改写显示控制和数据检查程序, 而不影响其他两层。 检查的内 容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。功能层相当于应用的本体, 它是将具体的业务处理逻辑地编入程序中。 表示层和 功能层之间的数据交往要尽可能简洁。数据层就是DBMS负责管理对数据库数据的读写。DBM必须能迅速执行大量数 据的更新和检索。现在的主流是关系数据库管理系统(RDBMS。因

15、此一般从功能 层传送到数据层的要求大都使用 SQL语言。在三层或N层C/S结构中,中间件(Middleware) 是最重要的部件。所谓中间件 是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件 管理框架。 它的功能是在客户机和服务器或者服务器和服务器之间传送数据, 实 现客户机群和服务器群之间的通信。其工作流程是 : 在客户机里的应用程序需要 驻留网络上某个服务器的数据或服务时, 搜索此数据的C/S应用程序需访问中间 件系统。该系统将查找数据源或服务,并在发送应用程序请求后重新打包响应 , 将其传送回应用程序。 随着网络计算模式的发展, 中间件日益成为软件领域的新 的热点。中间件在整个分布式系统中起数据总线的作用, 各种异构系统通过中间 件有机地结合成一个整体。每个 C/S环境,从最小的LAN环境到超级网络环境, 都使用某种形式的中间件。 无论客户机何时给服务器发送请求, 也无论它何时应用存取数据库文件,都有某种形式的中间件传递C/S链路,用以消除通信协议、数据库查询语言、应用逻辑与操作系统之间潜在的不兼容问题。结论和两层C/S结构相比,三层C/S结构具有更灵活的硬件系统构成, 对于各个层可 以选择与其处理负荷和处理特性相适应的硬件。合理地分割三层结构并使其独 立,可以使系统的结构变得简单清晰,这样就提高了程序的可维护性。三层C/S结构中,应用的各层

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论