chap4网络数据库系统体系结构课件.ppt
《chap4网络数据库系统体系结构课件.ppt》由会员分享,可在线阅读,更多相关《chap4网络数据库系统体系结构课件.ppt(99页珍藏版)》请在三一办公上搜索。
1、第四章 网络数据库系统的体系结构,4.1 概述4.2 基于C/S模式的数据库系统4.3 基于B/S模式的数据库系统4.4 两种模式的网络数据库系统的应用实例分析,本章摘要,目前网络数据库系统主要是按照客户机/服务器(C/S)模式或者浏览器/服务器(B/S)模式来建立的。本章将介绍C/S体系结构和B/S体系结构的工作原理和技术特点,以及基于C/S模式和B/S模式的网络数据库的基本概念、工作过程和关键技术。 通过本章的学习,大家应该对基于C/S模式和基于B/S模式的网络数据库系统的基本概念、组成结构、实现技术和技术特点有一个比较全面的了解。,4.1.1 二层结构的C/S系统,所谓的C/S体系结构是
2、指由一个或多个客户机和一个或多个服务器与底层的操作系统及通讯系统一起形成的一个允许分布式计算、分析和表示的复合系统。 其中的一个或多个计算机提供服务,称为服务器(Server);其他的计算机则接受服务,称为客户机(Client)。C/S结构模式经历了两个阶段:即两层结构的C/S系统和多层结构的C/S系统。,4.1概述,C/S结构模式将用户界面逻辑和应用处理逻辑通过前端开发工具融合在一起,将一个复杂的计算机应用任务分解成多个不同的子任务,把它们分配到具有前端(客户机)和后端(服务器)的分布式计算机环境中,在前端客户机上运行应用程序,而后端服务器则提供某些特定服务。服务器提供的服务有数据库服务、文
3、件服务和通信服务等。 工作过程一般是:客户机提出数据服务请求,服务器把按照请求处理后的数据传送给客户。,1 二层结构的C/S系统结构,客户机通过向服务器请求数据服务,做必要的处理,将结果显示给用户,是一个面向用户的接口或应用程序;而服务器负责监听客户的数据服务请求,为客户的请求提供所要求的服务,包括数据存取、数据加工和处理 。,C/S体系结构的特点体现在以下方面:(1) 数据库安装在服务器一端,数据库的完整性和一致性有了结构上的保证;(2)客户机为应用提供图形接口,而应用的数据处理部分由服务器完成。这样,一个应用分成了两个部分,分布于网络上,便于充分发挥客户机和服务器的处理能力; (3)网上仅
4、仅传输记录而非文件,与集中式系统相比系统整体性能有了质的飞跃,网络吞吐能力也大为增强;(4)系统升级容易,可塑性好,能保护已有的投资。,尽管两层结构的C/S系统实现了功能的分布,但它仅能在各自的客户机和数据服务器之间使用,功能分布还不均匀,系统的性能、可伸缩性和可扩展性较差,使得系统难于维护,不能支持大量用户的访问和高容量事务处理的应用。为此,人们引入了三层的C/S结构模式,即在客户端和数据库服务器之间增加一个应用服务器。,4.1.2 三层结构的C/S系统,在三层C/S结构中,服务器端被分为两部分:即应用服务器和数据库服务器,形成“客户机应用服务器数据库服务器”模式。,客户机主要提供用户登陆界
5、面,负责用户与应用程序之间的对话; 应用服务器包括了从客户端划分出来的一部分应用和从原来数据库服务器中划分过来的一部分工作,主要实施商业和应用逻辑,并基于商业规则确认从客户端得到的数据,响应客户端的请求,完成业务处理或复杂计算;数据库服务器执行存储数据和处理数据的功能,它分析功能服务器送来的SQL命令,实现对数据库的读写等操作,并将结果返给功能服务器,再传给客户端。,三层体系结构的优势在于:(1)在应用服务器中封装了商业规则,不同的客户程序可以共享同一中间层,不必由每个客户程序单独实现商业逻辑。(2)可以把一些敏感的功能放在有严密保护措施的应用程序服务器层上,不至于使用户界面变得复杂。(3)实
6、现了分布式数据处理。即可以把一个应用程序分布在几个机器上运行,这样就可以提高应用程序的性能。同时,通过冗余配置还可以保证不会因为局部故障而导致整个应用程序崩溃,有利于网络系统的安全。,三层体系结构的数据库系统优势在于: (1) 系统可根据需要把各个服务分别或重复地分布在不同的计算机上,使整个系统的工作量平衡分配到网络中,从而实现最佳的性能;(2) 由应用服务器统一管理数据库连接、数据接收、数据同步、事务处理和线程调度等工作,因此可最大限度地保障了数据的统一、完整和准确性能;(3) 对系统的修改或升级可简化到只对某个特定部件的更换,使系统的维护和升级更加容易;,(4) 适用范围广且支持Intra
7、net/ Internet,并具有很强的开放性; (5) 实现大用户量、大吞吐量下的负载平衡。三层结构将应用纵向均匀分布在客户端、应用服务器和数据库服务器上,横向分布在多个应用服务器和数据库服务器上,应用的分布实现了负载的平衡。因此,在大用户量、大吞吐量情况下,仍能迅速响应每个客户端的需求。,C/S结构的弱点: 第一,C/S结构的计算能力过于分散,网络中服务器和客户机的数目正发生“细胞”分裂,使得系统的管理费用以几何级数的方式增长; 第二,C/S结构中数据库信息的使用一般只限于局域网的范围内,无法利用Internet的网络资源; 第三,在C/S结构中,无论多小的企业都必须安装自己的服务器,而服
8、务器和服务器软件的管理和维护都是非常复杂的工作,需要专门人员负责,小企业往往无力购买高性能的服务器和聘任专门的技术人员,因此C/S结构的网络数据库系统不利于小企业计算机应用的发展。,4.1.3 B/S模式及其工作原理,目前Web技术与数据库管理系统(DBMS)相互融合领域的研究已成为热点方向之一,数据库厂家和WEB公司也纷纷推出各自的产品和中间件支持Web技术和DBMS的融合,将两者取长补短,发挥各自的优势,使用户可以在Web浏览器上方便地检索数据库的内容。 所谓Web数据库管理系统是指基于Web模式的DBMS的信息服务,充分发挥DBMS高效的数据存储和管理能力,以Web这种浏览器/服务器(B
9、/S)模式为平台,将客户端融入统一的Web浏览器,为Internet用户提供使用简便、内容丰富的服务。Web数据库管理系统必将成为Internet和Intranet提供的核心服务,为Internet上的电子商务提供技术支持。,B/S结构是一种全新的软件系统构造技术,它主要是利用了比较成熟的WWW浏览器技术,结合浏览器的多种Script语言(如VBScript,JavaScript等等)和ActiveX技术,通过浏览器实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本。,(1) B/S结构模式,基于B/S的网络数据库应用系统通常采用三层或多层结构。下图给出的是“浏览器Web服务器数据库
10、服务器”三层结构,用户完全通过WWW浏览器登录,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。,图4.4给出的是“浏览器Web服务器中间件数据库服务器”多层结构,这一结构中的中间件通常通过定义统一的数据模型来解决不同数据库之间的数据转化问题,确保客户机和服务器之间信息查询和结果返回的顺畅性。目前流行的B/S结构多采用多层结构。,B/S结构模式下的工作过程大致如下:当浏览器向某一Web服务器提出服务请求后,Web服务器首先对用户身份进行验证,然后用文本传输协议(HTTP)把所需的文件资料传给客户机;客户机接收传来的文件资料,并按照HTTP格式把它显示在Web浏览器上。Web服务器既是
11、一个浏览服务器,又是一个应用服务器,整个应用逻辑和商业规则都可驻留其上,所以它是整个结构的核心。多层B/S结构实际上引入了中间件,将业务处理交给中间件处理。这些中间件都是一些常用的数据库处理技术,如CGI,API,ASP,JDBC等,其中CGI是目前的标准接口。,(2) B/S模式的工作原理,在下图中,客户机的Web浏览器通过使用URL来指定所需要的HTML文件的惟一地址,解释HTML文件,并展示给用户。当用户通过浏览器输入URL文件请求时,Web服务器通过采用的HTTP协议获得用户输入的数据,如果不要访问数据库则按下图方向运行;如果用户请求访问数据库,则按方向运行。,HTML文件,HTML文
12、件,HTML文件,返回数据,SQL语句,B/S结构模式和C/S结构模式都是以请求/问题方式来执行的,但传统的C/S模式需在客户端集中了大量应用软件,而B/S模式则是一种基于Web的三级或多级C/S结构,客户端只需有统一的浏览器软件。总体上说,B/S体系结构具有以下优势: 1)统一的浏览器访问界面。 2)开发效率高。 3)具有极强的伸缩性。 4)开放性。 5)减少了客户端维护工作量。,4.2 基于C/S模式的数据库系统,基于C/S模式的网络数据库系统以数据库服务器为中心,不仅要对数据库进行查询,还要对数据库进行大量更新,同时还要保证多个并发用户工作时的响应速度和数据完整性。本节将介绍基于C/S模
13、式的网络数据库系统的需求、功能划分、系统结构和主要关键技术。,4.2.1 基于C/S模式的数据库系统的需求,(1)联机事务处理(OLTP)的需求 :要求系统的吞吐量要高,响应时间要短,能够均衡地分配负载,减少网络传输量。对数据的完整性和可用性也有很高要求。 (2)企业管理模式的改变 :从集中式走向分布式,由孤立的系统走向集成的系统,由总站级管理走向企业的全局性管理。 (3)高端商用市场的客户对系统的可扩展性、可管理性、安全性和高可用性的需求。 (4)对数据和服务的集成要求 (5)开放的系统结构要求 (6)信息的处理、获取、发布、存储等高的性能要求。,4.2.2 基于C/S模式的数据库管理系统的
14、功能划分,在C/S模式的数据库系统中,客户机最基本的功能是向服务器发出请求数据服务,在做一些必要的处理后,最后将结果显示给用户。服务器中一般运行有网络操作系统,及数据库管理系统软件,主要功能是建立进程和网络服务地址,监听用户的调用,处理用户的请求。并不是所有的系统中客户机、服务器的功能划分仅其基本功能。在一个单服务器的系统环境下,客户机、服务器的功能划分可以有三种不同的划分方案,它们是CS结构、RU结构、EWS结构。,(1) CS结构:应用的处理(包括实现用户界面与表示逻辑)由客户端完成,数据访问和事务处理由服务器完成。(2) RU结构:客户机执行了部分DBMS的功能。主要完成查询优化和查询处
15、理。(3) EWS结构:每个客户都可通过对查询结果进行缓存建立其局部数据库,而且在客户端都有一个功能完整的数据库系统。减少了网络传输和服务器端的数据输入/输出。,4.2.3 单服务器系统和多服务器系统,C/S模式的数据库系统可以分成单服务器结构和多服务器结构。这种划分方法是按照将不同任务分布到客户平台和服务器平台的形式。它们的区别体现为单个客户请求得到服务响应过程中所涉及的客户和服务器数目不同。单服务器结构在网络中只有一台数据库服务器,有多台客户机;多服务器结构是在网络中具有多台数据库服务器和多台客户机。,(1)单服务器系统模式 数据集中于一台数据库服务器中,客户机向这台服务器提出请求,并收到
16、响应。所有数据由一个服务器管理,因此显得简单、方便、有效。 因为只有一台数据库服务器,它需要处理大量数据并能支持许多并发用户访问,所以这一服务器通常是大型机。建立这样一个系统一次性投资较大,且由于数据处理相对集中,所有用户都要通过网络来访问一个服务器,不仅容易造成瓶颈,而且数据传输的开销较大,对主机的要求也比较高。,(2)多服务器系统模式 随着数据库应用的不断发展,规模的不断扩大,有时客户机也保留数据的备份以减少网络传输量。渐渐就形成了数据分散存储的方法,把数据库分成多个,建立在多台计算机上,就形成了多服务器系统模式。多服务器模式是指在执行单独一个或多个客户请求中,多个服务器以对客户透明方式参
17、与完成,即:客户调用某个服务器操作,在该服务器执行操作过程中,又调用其它服务器一起操作,为之提供服务。,在多服务器系统中,数据分布在多个服务器中,多个用户共享多个服务器中的数据。多个服务器之间协同合作,共同完成客户对数据的透明访问要求。具有多个服务器的系统的数据处理机制较为复杂,基本可以采取分布式数据库中所采取的技术处理,以保证用户不用考虑数据的存放方式和在哪里存放。,与单服务器系统模式相比,多服务器系统模式具有以下特点:1)物理分布性 数据存储在计算机网络的多个场地上;2)逻辑整体性 数据物理上分布,但逻辑上是一个整体,被所有用户所共享,由一个数据库管理系统来统一管理;3)场地自治性 各场地
18、上的数据由本地的数据库管理系统管理,具有自治处理能力,能完成本场地的局部应用;4)场地之间存在协作性 各场地虽然具有高度的自治性,但是又是相互协作构成一个整体。,多服务器系统模式存在的问题:1) 由于数据源的非唯一性,客户应用就必须考虑采用适当的应用程序设计接口或访问策略来达到目的。2) 存在多个并发的事务处理时,应保证多个服务器中的数据一致性。3) 系统开销尤其是通信部分的开销较大,在远程网情况下,传输速度不高时,响应的速度显著变慢。,4.2.4 基于C/S模式的数据库系统的一些关键技术,(1) 开放数据库互连ODBC ODBC是目前数据库互连访问的一个强有力的解决方案。ODBC的基本思想是
19、提供独立程序来提取数据信息,并具有向应用程序输入数据的方法。ODBC为应用程序和驱动模块提供了一种满足各自需要的应用程序设计接口(API),并且保持了与结构化查询语言(SQL)标准的一致性。客户通过ODBC标准函数向数据库服务器发出SQL请求,由ODBC数据库驱动程序完成向后端数据库提交SQL请求并将处理结果传送返回给应用程序。在服务器端则可采用不同的技术来实现对数据源的透明访问、支持多种网络协议和多种数据库平台。,ODBC接口的优势之一是互操作性,程序设计员可以在不指定特定数据源情况下创建ODBC应用程序。为保证标准性和开放性,ODBC结构分为以下四层:1)应用程序。2)驱动程序管理器。3)
20、驱动程序。4)数据源。,(2)JDBC(Java Database Connectivity) JDBC是SUN公司针对Java语言提出的与数据库连接的API标准,在不同的数据库功能模块的层次上提供一个统一的用户界面。与ODBC类似,JDBC是特殊类型的API,这些API支持对数据库的连接和基本的SQL功能,包括建立数据库连接、执行SQL语句、处理返回结果等。JDBC的结构同样有一个JDBC驱动程序管理器作为Java应用程序与数据库的中介,它把对数据库的访问请求转换和传送给下层的JDBC,或者转换为对数据库的固有调用。更多的实现方式是通过JDBC-ODBC桥接驱动程序,再转化为一个ODBC调用
21、,进行对数据库的操作。,(3) 存储过程技术 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数来执行它。存储过程与一般的程序过程一样,能够接受输入数据并返回结果值,返回操作成功与否的状态值等。一个存储过程所涉及的任何客体一旦被修改,都会自动导致该过程利用新的信息重新作编译。存储过程既可被重用又可被共享。,采用存储过程技术有以下好处:1)高性能 存储过程将完成一定功能的一组SQL语句存储在服务器中,而不是客户端,这样,在网络上传输的只是一个远程调用和最终的执行结果,大大减少了网络上的传输量,提高了系统的
22、性能。2)共享性 存储过程可以被多个用户共享使用,而且使用时可存放在磁盘缓冲区内,即多个用户可以使用同一个存储过程。3)提高应用开发效率 存储过程把用户和应用程序与数据源、网络和存取路径细节隔离开,使得非专业人员对于数据库服务器上的数据访问变得更加方便。,(4) 分布数据管理技术 在多个数据库服务器的C/S模式数据库系统中,数据分布在多个服务器上,为多个客户所共享,因此数据的管理比较复杂。通常采用的技术包括数据复制技术和两阶段提交协议。 1)数据复制和分布 支持某一服务器上的某些表中的数据复制和分布到其他远程数据库服务器结点上。 2)两阶段提交协议 用来协调参与分布式事务的多个服务器的活动,以
23、防止可能发生的数据不一致性。采用两阶段提交协议后,当系统发生故障时,各服务器利用各自有关的日志便可以进行恢复工作。,4.3基于浏览器/服务器模式的数据库系统,基于B/S模式的数据库系统以基于Web的B/S模式为平台,将客户端融入统一的Web浏览器中,为Internet用户提供使用简便、内容丰富的服务。因此这种在Web上使用的数据库也称为Web数据库。与平常的数据库相似,Web数据库不论是小型数据库(如Access, dBase等)还是大型数据库(如Oracle, Sybase, SQL Server等)均可被Web访问。客户可使用浏览器通过Internet或Intranet访问网络数据库,进行
24、数据的读出、写入、删除和修改等操作。,基于B/S模式的数据库系统要解决的关键问题是数据传递的安全性和事务性,因为HTTP本质上是一个无状态的连接,所以事务处理就变得非常重要,同时又因为整个事务是基于全球网络体系结构的,所以安全性也变成一个值得关注的问题。,4.3.1基于B/S模式的数据库系统体系结构,基于B/S模式的数据库系统具有三层或多层的体系结构,第一层为用户层,第二层为应用层,第三层为数据库层。,(1) 用户层 用户层负责处理用户的输入和向用户的输出,但不负责解释其含义(出于效率的考虑,它可能在向上传输用户输入前进行合法性验证)。这一层不需要安装什么设备与软件,只需要安装一个Web浏览器
25、,负责显示应用服务器端的运行结果,并借助于Java Applet、VBScript、JavaScript、ActiveX等技术进行一些简单的客户端事务处理。,(2) 应用层 该层就是Web应用服务器,是上下两层的纽带,建立实际的数据库连接。它负责接受远程或本地的页面请求,根据用户的请求生成SQL语句检索或更新数据库,然后运行服务器端脚本,借助于CGI、ADO等中间部件把数据请求发送到数据库服务器上以获取相关数据,然后把结果数据转化成HTML及各种脚本传回客户端的Web浏览器。 所有的应用系统、应用逻辑、控制都在应用层,系统的复杂性也主要体现在这一层。,(3) 数据库层 该层为数据库服务器,它存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- chap4 网络 数据库 系统 体系结构 课件
链接地址:https://www.31ppt.com/p-1480300.html