|
|
|
|
移动端

3.1.3 传统的两层客户-服务器结构

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第3章数据库的结构与Web,本章我们首先考察一些目前已投入使用的不同系统的结构,然后讨论有关Web服务和面向服务的结构(SOA)的进展。本节为大家介绍传统的两层客户-服务器结构。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-28 14:20

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


3.1.3 传统的两层客户-服务器结构

为了克服前面两种方法的缺点并且适应日益分散的业务环境,人们提出了客户-服务器结构。客户-服务器指的是软组件相互作用形成系统的一种方式。顾名思义,此方法中存在一个请求资源的客户进程和一个提供资源的服务器。但并不要求客户和服务器同处一台机器。实际常见的情况是,服务器放在局域网的一个站点,而客户在另外一些站点。图3-3说明了客户-服务器结构,图3-4给出各种可能的客户-服务器拓扑结构。

数据密集型的业务应用程序一般由四个主要部分组成:数据库、事务逻辑、业务及数据应用逻辑和用户界面。传统的两层客户-服务器结构提供了基本的任务划分。客户端(第1层)主要负责针对用户的数据表示,服务器端(第2层)主要负责为客户端提供数据服务。图3-5显示了这种结构。表示服务负责处理用户交互活动和主要的业务及数据应用逻辑。数据服务负责提供有限的业务应用逻辑、客户端由于缺乏信息通常不能执行的验证,以及对与其位置无关的请求数据的访问。数据可以来自于关系DBMS、对象关系DBMS、面向对象DBMS、历史遗留的DBMS以及专有的数据访问系统。通常客户端运行在终端用户的桌面上,通过网络与中心数据库服务器通信。

客户端和服务器之间交互的典型过程是,客户端接收用户的请求,检查语法并产生用SQL或其他某种适于应用程序逻辑的数据库语言表达的数据库请求。然后将请求消息传递给服务器,等待回答。得到回答后再将其格式化并传递给终端用户。服务器接收和处理数据库请求,并将结果回传给客户端。这个过程包括检查权限、确保完整性、维护系统目录,以及执行查询和更新操作。另外,它还提供并发和恢复控制。在表3-1中总结了客户端和服务器的操作。

表3-1 客户-服务器功能总结

这种结构有许多优点,例如:

广泛支持对现存数据库的访问。

增强性能:如果客户端和服务器在不同的计算机上,则不同的CPU可以并行处理应用程序。如果服务器的任务仅是执行数据库处理,调优其性能则较容易。

降低硬件费用:只要求服务器有足够的存储空间和处理能力来存储和管理数据库。

降低通信费用:应用程序在客户端运行了一部分操作,只有数据库访问请求需要通过网络传递,因此在网络中只需要传递很少的数据。

增强一致性:服务器可以处理完整性检查,因此只需要在一个位置定义和验证约束,而无需每个应用程序都自行检查。

能很自然地映射到开放系统结构上。

某些数据库供应商会把这种结构说成是提供分布式数据库的能力,也就是多个逻辑上相互关联的分布在计算机网络上的数据库。然而,尽管客户-服务器结构可用于实现分布式DBMS,但它本身并不构成一个分布式DBMS。3.3节将讨论分布式DBMS,第24和25章还将更完整地进行讨论。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

.NET for Flash动态网站开发手札

本书深入浅出地说明了如何利用.NET、Flash及XML来辅助Flash富媒体应用程序的开发。 本书首先介绍了Flash影片应用程序与.NET应用程序结合的...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊