课程教师:安璐 副教授 武汉大学信息管理学院 数据库系统原理 课程教师:安璐 副教授 武汉大学信息管理学院 2017/9/10
6.1 客户机/服务器一般概念 6.2 数据库应用系统结构的演变 6.3 两层与多层客户机/服务器结构 6.4 小结 第6章 客户机/服务器数据库环境 6.1 客户机/服务器一般概念 6.2 数据库应用系统结构的演变 6.3 两层与多层客户机/服务器结构 6.4 小结 2017/9/10
第6章 客户机/服务器数据库环境 开发一个数据库应用系统首先要确定系统的总体结 构。 目前,一般采用客户机/服务器(Client/Server) 软件体系结构,数据库管理系统作为服务器,应用 系统作为客户端。 客户端提供人机交互界面,处理用户的业务流程, 当需要存取数据时,向服务器端发送请求(一系列 SQL语句),服务器执行请求后把得到的数据传送 给客户端。 2017/9/10
6.1 客户机/服务器一般概念 客户机/服务器结构是将一个大的计算机应用分解 成多个子任务,由多台计算机协同完成。 客户机接收用户的数据和处理要求,执行应用程序, 把其中的服务请求发送给服务器,即向服务器提出 对某种信息或数据的服务请求,系统将选择最适宜 完成该任务的服务器完成处理,服务器将结果作为 服务响应返回客户机。 在这一过程中,多任务之间存在多种交互关系,即 “服务请求/服务响应”关系。 因此,客户机/服务器不应理解为一种硬件结构, 而是一种计算(处理)模式。 2017/9/10
***银行某个服务器可同时服务于多个储户所在的客户机 6.1 客户机/服务器一般概念 一、主要技术特征 客户机/服务器主要技术特征可归纳为以下几 方面: 服务:客户机/服务器是从服务的概念出发,提出 了对服务功能的明确划分。一个服务器可同时为 多个客户端提供服务,服务器具有对多个客户端 使用共享资源的协调能力。 ***银行某个服务器可同时服务于多个储户所在的客户机 2017/9/10
当你使用**银行的客户端时,你知道服务器在哪吗? 6.1 客户机/服务器一般概念 一、主要技术特征 位置透明性:客户端和服务器之间存在着多 对一或多对多的关系,客户机/服务器软件应 向客户提供服务器位置透明性服务。 也就是说,客户端的应用请求不必考虑 也不必知道服务器的位置,由哪个服务器或 何处的服务器提供服务对客户端是透明的。 当你使用**银行的客户端时,你知道服务器在哪吗? 2017/9/10
6.1 客户机/服务器一般概念 一、主要技术特征 可扩展性:客户机/服务器系统可进行横向扩 展与纵向扩展,如增加服务器个数,提高硬件 配置等,以扩大系统服务规模、增加服务器软 件功能、增加新的服务项目与提高服务性能等 等。 2017/9/10
6.1 客户机/服务器一般概念 二、基本构成 客户平台 基本的客户机/服务器系统由三部分组成:客 户平台、服务器平台、连接支持。 客户平台 客户机原则上可以是任何一种计算机,一般 选用微型计算机。客户机运行前端应用程序,提 供应用开发用的工具,同时还可以通过网络获得 服务器的服务,使用服务器上的共享资源。 2017/9/10
6.1 客户/服务器一般概念 客户平台 它需要具有适当的内存、联网功能。客户机运 行的操作系统可以是Windows、Linux或Unix等。 客户机应该具有较强的应用开发功能、直观友好 的用户界面和高效的处理能力。 2017/9/10
6.1 客户/服务器一般概念 服务器平台 服务器平台必须是多用户计算机系统。可以是PC服务 器、工作站、支持对称多处理器的超级服务器,也可以 是小型、中型或大型计算机。 2017/9/10
6.1 客户/服务器一般概念 连接支持 处于客户机与服务器之间,负责透明地连接 客户机与服务器,完成数据通信功能。 C/S系统是能把工作任务交给客户机和服务器 分担的系统,是把用户接口、事务处理、数据 管理等功能恰当地进行划分的一整套方法。 C/S涉及的软件方面就是把原来运行在大中 型、超小型机上的大型软件进行适当的划分, 在客户机和服务器之间进行合理分配。 2017/9/10
6.1 客户/服务器一般概念 三、服务器类型 根据提供服务的类型(即服务器的种类),有文件服务器、数 据库服务器、应用服务器,在Internet和Intranet环境下还有 Web服务器、电子邮件服务器等。 文件服务器:仿大中型机对文件共享的管理机制,实现用户帐户 管理,对用户口令、身份检验、用户的文件存取权限的管理,以 及共享文件的并发控制等。网络中不同用户可以存取文件服务器 中的共享文件。 数据库服务器:安装和执行DBMS功能的服务器。客户机将SQL语 句通过网络发送给数据库服务器,数据库服务器将SQL命令执行 后的结果通过网络回送给用户。 2017/9/10
6.1 客户/服务器一般概念 三、服务器类型 Web服务器:在Internet和Intranet环境下存储 和管理HTML和XML页面的服务器。更广泛地是 存储和管理Internet和Intranet中的各种信息, 包括文字、图形、图象、声音等多媒体信息的服 务器。 电子邮件服务器:在Internet和Intranet环境下 存储和管理电子邮件的服务器。 2017/9/10
6.1 客户机/服务器一般概念 6.2 数据库应用系统结构的演变 6.3 两层与多层客户机/服务器结构 6.4 小结 第6章 客户机/服务器数据库环境 6.1 客户机/服务器一般概念 6.2 数据库应用系统结构的演变 6.3 两层与多层客户机/服务器结构 6.4 小结 2017/9/10
6.2 数据库应用系统结构的演变 数据库系统体系结构的发展演变 单机时代 主/从式(主机/终端)结构 网络时代 分布式结构 客户机/服务器结构 Internet时代 浏览器/服务器(Browser/Server)结构等 数据库系统体系结构的发展演变 2017/9/10
6.2 数据库应用系统结构的演变 一、主/从式结构 主/从式结构数据库管理系统也称为主机/终 端结构,是指一个主机带多个终端的多用户数据 库管理系统结构,如图6.1所示。 2017/9/10
6.2 数据库应用系统结构的演变 这种体系结构是一种集中式计算结构,主机上安装的是集中式多用户数据库管理系统。 终端 主机 这种体系结构是一种集中式计算结构,主机上安装的是集中式多用户数据库管理系统。 主机 应用系统 OS DBMS DB 终端 图6.1 主/从式结构的数据库管理系统 2017/9/10
6.2 数据库应用系统结构的演变 一、主/从式结构 主/从式结构的优点是数据库管理系统和软件系统(包括 应用系统、DBMS、数据库和操作系统)都容易管理与维护。 缺点是终端用户数目受到主机规模的限制,不容易扩展。 而且当用户数增加到一定程度后,主机的任务会过分繁重,从 而使系统性能下降。另外当主机出现故障时,整个系统所有用 户都受到影响。 这一时期主要使用数据库厂商提供的开发环境,如,嵌入 式SQL、Oracle reporter、Informix 4GL等。 2017/9/10
6.2 数据库应用系统结构的演变 二、分布式结构 分布式结构的数据库管理系统也就是分布式 数据库管理系统。 分布式数据库由一组数据库组成。这组数据 库物理地分布在计算机网络的不同计算机上,但 是他们在逻辑上是一个整体,从用户的观点看好 象是一个集中式数据库。如图6.2所示。 2017/9/10
6.2 数据库应用系统结构的演变 网络 D-DBMS DB 网络中的每个结点都可以独立地处理本地数据库中的数据,执行局部应用;同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。 图6.2 分布式结构的数据库管理系统 2017/9/10
6.2 数据库应用系统结构的演变 三、客户机/服务器结构 在基于网络的数据处理中,客户机/服务器计算模 式具有里程碑的意义。 主从式数据库管理系统中的主机和分布式数据库 管理系统中的每个结点机都是一个通用计算机,既执 行DBMS功能又执行应用程序。 随着工作站功能的增强和广泛使用,人们开始把 DBMS功能和应用系统的处理功能适当分开,网络中 某个(些)节点上的计算机专门用于执行DBMS功能, 称为数据库服务器,其它节点上的计算机安装用户的 应用系统,称为客户机。客户机和服务器之间通过局 域网(LAN)或广域网(WAN)连接。这就是客户机 /服务器结构的数据库系统。 2017/9/10
6.2 数据库应用系统结构的演变 客户机/服务器数据库管理系统可以分为集中的服务器结构(图6.3)和分布的服务器结构(图6.4)。 客户机/服务器数据库管理系统可以分为集中的服务器结构(图6.3)和分布的服务器结构(图6.4)。 DBMS DB 客户机 数据库服务器 图6.3 集中的服务器结构 2017/9/10
6.2 数据库应用系统结构的演变 DBMS DB 分布式数据库服务器 客户机 图6.4 分布的服务器结构 2017/9/10
6.2 数据库应用系统结构的演变 与主从式结构相似,在集中的服务器结构中, 一个数据库服务器要为众多的客户服务,往往容 易成为瓶颈,制约系统的性能。 与分布式结构相似,在分布的服务器结构中, 数据分布在不同的服务器上,从而给数据的处理、 管理与维护带来困难。 2017/9/10
6.1 客户机/服务器一般概念 6.2 数据库应用系统结构的演变 6.3 两层与多层客户机/服务器结构 6.4 小结 第6章 客户机/服务器数据库环境 6.1 客户机/服务器一般概念 6.2 数据库应用系统结构的演变 6.3 两层与多层客户机/服务器结构 6.4 小结 2017/9/10
6.3 两层与多层客户机/服务器结构 一、两层结构 一个数据库应用系统可以划分为以下几个逻 辑功能,如图6.5所示。 事务逻辑指事务管理,包括事务定义、完整性定义、安全保密定义、完整性检查、安全性控制、事务并发控制和故障恢复等。 6.3 两层与多层客户机/服务器结构 数据存取则包括数据存储、组织、存取方法、存取路径的实现与维护。 一、两层结构 一个数据库应用系统可以划分为以下几个逻 辑功能,如图6.5所示。 用户界面(User interface) 应用逻辑(Application Logic) 事务逻辑(Transaction Logic 数据存取(Data Access) 用户界面 应用逻辑 事务逻辑 数据存取 客户机 服务器 应用逻辑是指运行在客户端的应用程序模块,用于完成特定任务的程序指令集。 图6.5 客户机/服务器结构的数据库管理系统的逻辑功能划分 2017/9/10
6.3 两层与多层客户/服务器结构 事务逻辑和数据存取是RDBMS核心层的主要功能。 客户机/服务器结构的数据库应用系统,通常是把事务逻辑、数据存取放在服务器一侧,把用户界面、应用逻辑放在客户机上。 用户界面、应用逻辑通常用若干工具软件来支持实现。 事务逻辑和数据存取是RDBMS核心层的主要功能。 客户/服务器结构的数据库软件产品,把网络环境中的软件划分为三个部分:客户软件、服务器软件及接口软件。 2017/9/10
6.3 两层与多层客户/服务器结构 二、两层结构的优点 1、 客户机/服务器结构的数据库管理系统充分 发挥了客户机的功能和处理能力。 2、客户机/服务器结构的数据库管理系统容易 扩充、灵活性和可扩展性好。 因此,客户/服务器结构获得了广泛的采用, 特别是中小规模的应用。 2017/9/10
6.3 两层与多层客户机/服务器结构 三、多层结构 两层客户/服务器结构出现了如下主要问题(教材 第111页): 1、服务器的负担问题 2、客户端负担问题 3、系统的安装和维护量大 4、系统的安全性差 胖客户! 2017/9/10
6.3 两层与多层客户/服务器结构 以上问题导致了三层结构的产生。 三层结构将数据处理过程分为三部分: 第一层是界面层,提供用户与系统的访问界面; 第二层是业务逻辑层,负责业务逻辑的实现, 也是界面层和数据层的桥梁,它响应界面层的用户 请求,从数据层抓取数据,执行业务处理,并将必 要的数据传送给界面层展示给用户; 第三层是数据(库)层,负责数据的存储、 存取、查询优化、事务管理、数据完整性和安全性 控制、故障恢复等等。 2017/9/10
图6.6 三层结构的数据库管理系统的逻辑功能划分 6.3 两层与多层客户/服务器结构 由于业务逻辑被提取到应用服务器,大大降低了客户端负担,因此也称为“瘦客户”(Thin Client)结构。 应用服务器 数据库服务器 DB 客户机 图6.6 三层结构的数据库管理系统的逻辑功能划分 2017/9/10
6.3 两层与多层客户/服务器结构 三层结构在传统的两层结构的基础上增加了 应用(业务)逻辑层,将应用逻辑单独进行处理, 从而使得用户界面层与应用逻辑层分层而立,两 者之间的通信协议可由系统自行定义。 三层结构具有如下的优越性(教材第112页): 1、降低了信息系统开发和维护的成本 2、安全性强 3、扩展性好 4、前瞻性好 2017/9/10
6.3 两层与多层客户/服务器结构 图6.7 多层结构示意图 DB 应用服务器 WEB服务器 数据库服务器 浏览器 应用服务器 图6.7 多层结构示意图 2017/9/10
6.3 两层与多层客户机/服务器结构 随着Internet技术的发展,出现了浏览器/服 务器(Browser/Server, B/S)结构。 浏览器/服务器结构是客户/服务器模型的继承 和发展。浏览器/服务器多层结构广泛地用于 Internet、Intranet环境下,显示了如下的优点: 1.在该结构中,客户端任何计算机只要安装了 浏览器就可以访问应用程序。浏览器的界面是统 一的,广大用户容易掌握,从而大大减少了培训 时间与费用。 2017/9/10
6.3 两层与多层客户机/服务器结构 2.客户端的硬件与操作系统具有更长的使用寿 命,因为它们只要能够支持浏览器软件即可,而 浏览器软件相比原来的用户界面和应用模块要小 得多。 3.由于应用系统的维护与升级工作都是在服务 器上执行,因此不必安装、维护或升级客户端应 用代码,大大减少了系统开发和维护代价。这种 结构能够支持数万甚至更多的用户。 2017/9/10
6.4 小结 开发一个数据库应用系统首先要确定系统的 总体结构。本章介绍了数据库管理系统主要的三 种体系结构,重点讲解了客户机/服务器结构的数 据库管理系统,包括客户机/服务器的一般概念, 客户机/服务器结构的数据库管理系统的逻辑功能 划分。讨论比较了二层、三(多)层客户机/服 务器结构的优点和局限性。读者应重点掌握客户 机/服务器的概念。 2017/9/10
6.4 小结 1. 数据库管理系统的结构随着应用需求的 变化以及软硬件技术水平的发展而变化。经历了 主/从式结构,分布式结构和客户/服务器结构的 发展阶段。这三种结构目前仍然都在使用,但在 Internet环境下,客户机/服务器结构得到了广 泛的应用。 2. 客户机/服务器是一种计算模式。它将一 项应用分解为多个任务,多任务之间存在多种交 互关系,即“服务请求/服务响应”关系。客户方 发出服务请求,服务器方给予服务响应。 2017/9/10
6.4 小结 3. 常见的服务器有文件服务器、电子邮件 服务器、WEB服务器、应用服务器和数据库服务 器。 4. 早期的客户/服务器是两层结构,只有客 户方和服务器方,客户方负责界面展示和应用逻 辑处理,服务器方运行DBMS。该结构简单易行, 但存在着一些缺陷,如,服务器计算任务重,客 户方维护困难,安全性比较差。这种结构一般叫 做C/S结构,俗称“胖客户”。 2017/9/10
6.4 小结 5. WEB环境下的两层客户机/服务器结构有了一 些变化,通用的浏览器作为客户方,WEB服务器和数 据库服务器作为服务器方。这种结构叫做B/S结构, 也称为“瘦客户”,由于浏览器安装和维护方便,部 分的克服了“胖客户”的缺陷。 6. 三层客户/服务器结构在二层结构的基础上, 引入了一个中间层,应用服务器层。这种结构中,客 户方只负责应用的界面,应用逻辑处理从“胖客户” 转移到了应用服务器,“胖客户”变成了“瘦客户”, 克服了维护困难和安全性差的缺点。 2017/9/10
6.4 小结 7. 三层体系结构并非是对两层结构的完全排斥。对于 一些局域网环境下联机并发用户数不是很多的数据库应用 系统,特别是用户群比较单一、网络环境比较稳健、数据 安全性要求不高、业务逻辑比较固定的企业应用,二层结 构的设计方案是适宜的;但即使是采用两层体系结构的应 用系统,也应该按照三层(N层)的理念进行设计,即将 前台展现与业务处理、数据库访问适当分离,以减轻软件 维护工作量,延长软件生命周期。 2017/9/10
教师联系信箱:anlu97@163.com 2017/9/10