崔明义
( mycui369@126.com)
计算机应用技术 2007级研究生
1,客户机 /服务器计算模式
2,客户机 /服务器模式的定位
3,客户机 /服务器模式的特性和优缺点
4,客户机 /服务器模式的远景展望
5,分布式数据与分布式访问
6,创建基于客户机 /服务器模式的数据库系统分布式数据库与客户机 /服务器模式第 8章
概念
– 客户机 /服务器概念最早用于软件体系结构
提出请求的应用程序
解答请求的服务程序
– 协作式处理方式
客户机和服务器都参与一个应用程序的处理
软件成分相互协作完成特定应用功能
– 请求 /服务模式
硬件资源提供软件成分相互协作的设施
– 客户机 /服务器模式
1.1 客户机 /服务器模式概念
1 客户机 /服务器计算模式客户机客户机客户机网络应用服务器通信服务器打印服务器文件服务器数据库服务器请求响应响应请求客户机 /服务器模式
1.1 客户机 /服务器模式概念
1 客户机 /服务器计算模式
C/S环境下应用成分的分布
– 一个典型的数据库应用程序可分解为 4部分
界面表示逻辑:与用户交互的代码,GUI
业务处理逻辑:使用输入数据来完成业务处理和规则的代码,使用 3GL或 4GL编写的
数据处理逻辑:负责处理数据的代码,一般使用
SQL语言或者嵌入式 SQL语言编写
数据库管理:由 DBMS完成实际数据处理的程序
– 通常放置方法
界面表示逻辑和业务处理逻辑放到客户端
数据处理逻辑和数据库管理功能放到服务端
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式应用程序界面表示逻辑业务处理逻辑数据处理逻辑数据库管理
GUI 3GL4GL SQL
ORACLE
SYBASE
DB2
DB
组成数据库应用程序的四个成分
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式数据处理逻辑界面表示逻辑业务处理逻辑数据管理功能
Client
应用程序 DBMS
Server
支持 C/S
结构的
DBMS
支持和不支持 C/S结构的 DBMS情形不支持
C/S结构的 DBMS
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式用户 客户机应用系统客户机数据库
API
连接软件网络协议客户机网络协议连接软件服务器软件服务器操作系统服务器数据库
SQL
结果网络客户机 /服务器模式的内部结构用户客户机用户客户机用户客户机文件服务 打印服务 数据库服务文件 打印机 DB
客户机中间件服务器客户机 /服务器模式体系结构示意图
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
服务器
– 提供高速大容量的存储能力,强大的数据处理和管理能力,运行多个进程能力
– 分类
文件服务器
数据库服务器
事务服务器
文档服务器
其他服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式文件
GUI
应用程序文件服务器客户机服务器文件服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
GUI
应用程序数据库服务器客户机服务器数据 SQL命令
DB
数据库服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
GUI
应用程序应用程序事务客户机服务器数据 应用程序专用事务
DB
事务处理服务器数据库服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
客户机
– 完成界面表示和一些业务逻辑功能
– 客户机类型
非图形化用户接口:条形码,扫描器,传真机,仿真终端等
图形化 (GUI)用户接口:基于 Windows的软件和设备
面向对象接口 (OOI):可视化、多媒体处理软件和设备
– 客户机软件类型
公共应用程序,字处理,报表编制,图形软件,项目管理软件等
数据库前端软件,Oracel PL/SQL plus
应用生成和开发软件,PowerBuilder,Dephi,VisualC++,Visual
Basic等
中间件
– 泛指客户机与服务器之间的软件
数据库连接中间件,事务处理中间件,组件中间件,对象中间件等
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
主机处理系统
– 所有程序在一个主机上运行
– 优点
集中式,安全性和海量数据存储设备管理能力
支持大量并发用户,IBM大型机上数据库支持
1000多用户
– 缺点
系统采购和维护费用大
特殊的支持设施等
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
Modem
Modem
Host CPU
DBMS
APPs
DB
主机远程终端 本地终端主机处理环境
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
文件处理系统
– 应用处理 (包括数据处理 )都发生在 PC工作站
– 服务器仅从硬盘查询所需要的文件通过网络发送给用户
– 缺点
用户计算能力局限于本地 PC工作站
多用户共享文件时,仍然需要分别发送到每个 PC
只满足小规模工作组应用需求
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
LAN
APPs
PC
APPs
PC
工作站
NOS
文件服务器打印机修改过的文件送回服务器数据文件送给 PC
文件共享处理环境
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
C/S处理系统
–,恰到好处的规模” (rightsizing)
Client/server将应用资源恰到好处地分配
降低了网络开销
– 典型应用是数据库技术
数据库应用程序运行在 client上
DBMS部分应用在 server上
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
LAN
APPs
PC
APPs
PC
APPs
PC
UNIX
DBMS
查询结果 查询请求
DB
客户机 /服务器处理环境服务器客户机
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
多处理器服务系统
– 存在两个或两个以上服务器的 C/S系统
– 如果本地 server发现没有相关数据,通过,S对 S的对话”向其他服务器发出请求
– 企业级大型应用平台
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
LAN / WAN
APPs
PC
客户机
APPs
PC
UNIX
DBMS
结果 请求
DB
多服务器处理环境
MVS
DBMS DB
网关 /网桥
NOS
文件服务器远程访问
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
对等处理系统
– C/S系统的最终归宿,是协作式分布式处理的极限
– 站点既是客户机又是服务器
– 站点要负责对自己资源的管理和访问,又有对任何其他站点上资源的同等访问权
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
APPs APPs
APPs APPs
DB
DB
DB
DB
对等处理环境
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
C/S模式系统是介于集中式与分布式之间
– 集中式 C/S处理环境
数据集中,处理分布
客户请求,服务器响应的协作方式
– 多服务器 C/S处理环境
数据与处理都分布
一个应用可涉及多个服务器数据
一个服务器数据可以被多个客户机访问
– 对等 C/S处理环境
数据与处理都分布
站点可以访问其他站点数据 (全局应用 ),也可以访问本地数据
(本地应用 )
2.2 客户机 /服务器模式的定位
2 客户机 /服务器模式的定位
有多个数据库服务器的 C/S处理环境
– 与分布式数据库系统相同的问题
站点自治性,透明性
数据独立
数据完整性
2.2 客户机 /服务器模式的定位
2 客户机 /服务器模式的定位网络DB
数据库服务器客户机 客户机 客户机…
用户客户机 客户机 客户机…
用户
DB
数据库服务器
DB
数据库服务器客户机 客户机 客户机… 用户每个站点是一个单数据库服务器 Client/Server结构的 DDBS
2.2 客户机 /服务器模式的定位
2 客户机 /服务器模式的定位
按功能划分
– 服务器是服务的提供者,客户机是消费者
共享资源
– 一个服务器可以在同一时刻对许多客户端提供服务,
并且可以协调他们对于共享资源的访问
不对称协议
– 客户机主动请求服务,服务器被动等待请求
定位透明性
– C/S软件在客户机方屏蔽服务器地址
混合与匹配
– C/S软件独立于硬件或 OS
3.1 客户机 /服务器模式的特性
3 客户机 /服务器模式的特性和优缺点
基于消息的交换
– 消息式服务,请求与响应的媒介
服务封装
– 服务器决定如何完成服务请求消息,消息接口不变,升级对客户没有影响
可扩展性
– 水平扩展:添加或移去工作站
– 垂直扩展:移植到更大更快的服务器或多服务器
完整性
– 集中式 C/S处理环境中,server代码和 server数据是集中维护的,带来的开销很少,保持了数据的完整性和独立性
3.1 客户机 /服务器模式的特性
3 客户机 /服务器模式的特性和优缺点
优点
– 提高了投资效率
– 使处理和被处理的数据更接近,减少了网络带宽和成本的需求
– 具有图形用户界面的 PC
– 支持和倡导标准化和开放系统
– 多个用户共享硬件资源
3.2 客户机 /服务器模式的优缺点
3 客户机 /服务器模式的特性和优缺点
不足之处
– 在集中式 C/S环境,如果应用逻辑的主要部分移到服务器上,服务器将成为瓶颈
– 多服务器应用系统的开发和设计复杂
3.2 客户机 /服务器模式的优缺点
3 客户机 /服务器模式的特性和优缺点
当前的主要模式
– C/S两层结构
肥客户机:所有的表示逻辑和应用逻辑放到客户机
瘦服务器:只负责响应用户请求,全局数据的访问和管理
– B/S三层结构
数据层
功能层
表示层
4.1 当前客户机 /服务器模式
4 客户机 /服务器模式的远景展望浏览器浏览器浏览器
Web
服务器 DB
数据库服务器产品实例
NetscapeN
avigator,
Macintosh
Microsoft IIS
Windows 2000
Oracle
UNIX
SQL
关系
Web页面客户代码数据功能
HTTP客户客户端脚本视图实例化
HTTP服务器服务器端脚本视图建立、检索、
更新和删除
SQL处理数据库管理三层客户机 /服务器模式结构及各层功能
HTTP
请求响应
ODBC
ADO
OLE/DB
JDBC
本地调用
4.1 当前客户机 /服务器模式
4 客户机 /服务器模式的远景展望
4.2 多层客户机 /服务器模式结构
4 客户机 /服务器模式的远景展望浏览器浏览器浏览器
Web
服务器视图处理器业务规则处理器
DB
数据库服务器
( a)多处理器用于视图和规则处理
DB1
数据库服务器 1
( b)多处理器用于分布式处理
DB2
数据库服务器 2
浏览器浏览器浏览器
Web
服务器分布式处理器
4.3 客户机 /服务器模式的展望
4 客户机 /服务器模式的远景展望
展望
– 服务器将更加强大,现在就可以是一台台式机,以后会更强大
– 服务器更加可靠和健壮,处理器和磁盘的成本将大幅下降
– 安全性更高,加密解密技术进一步发展
– 高带宽网络的发展,可以使得多层次结构的应用更加普及
从集中到分布数据的转移
– 将关键数据的多个副本置于不同站点,提高数据的可用性,避免“单站点失败”现象
– 高效的数据访问,改进数据管理性能
– 容易增加应用程序,用户数目和扩大规模
– 数据放在其产生和频繁使用位置,减少传输,提高效率
5.1 从集中式到分布式的转移
5 分布式数据与分布式访问
数据分布基本形式
– 复制数据 (Replicated Data)
– 子集数据 (Subset Data)
– 重新组织的数据 (Reorganized Data)
– 分区数据 (Partitioned Data)
– 独立模式数据 (Separate_Schema Data)
– 不相容数据 (Incompatible Data)
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络
DB
x
主机 DBx
1
DB
x2
x1和 x2为
x的副本复制的数据
S1
S2
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络
DB
ABC
主机 DBA
DB
C
子集数据
S1
S3
DB
BS2
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络
DB
R
主机 DBA
重新组织的数据
S1
DB
BS2
数据 R是由数据 A和 B
经过重新组织而获得的
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络地区 A
的记录主机 地区 B的记录分区数据地区 C
的记录各地区的记录具有相同模式主机主机
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络生产数据财务数据独立模式数据生产主机财务主机营销数据营销主机
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络公司 A
的记录主机 公司 B的记录不相容数据公司 C
的记录各公司的数据存在不相容主机主机
5.2 数据分布的基本形式
5 分布式数据与分布式访问
数据分布技术
– 人工抽取
– 快照
– 复制
– 分片
– 数据分布分析
5.3 数据分布的技术
5 分布式数据与分布式访问
SAVING
CUSTOMER
EXCHANGERATE
SAVING
CUSTOMER
EXCHANGERATE
SAVING
CUSTOMER
EXCHANGERATE
网络总行分行 1 分行 2
分布式数据的银行应用系统分行到总行抽取数据
数据分布分析
– 是一种统计方法
– 根据应用需求决定那些资源需要分布及存放位置
– 例子:银行应用系统
客户表存在中央银行 (CB)站点,分行 (PB)存有部分数据复制
假设 CB站点有 10000条记录,每天读 2000次,更新
500次
PB站点有 1000条记录,每天读 1000次,更新 100次
5.3 数据分布的技术
5 分布式数据与分布式访问
1000
100
2000
500
READ
UPDATE
PBCB
站点操作
1100
2500
600
N
Y
Y
Y
N
Y
1
2
3
PBCB 网络开销数据分布站点配制方法分布式数据库位置矩阵
5.3 数据分布的技术
5 分布式数据与分布式访问
该例子分析方法结论
分布式数据的位置取决于逻辑数据和处理 (读和更新 )模式,数量等特征
数据分布是降低整个分布式系统开销的有效措施
5.3 数据分布的技术
5 分布式数据与分布式访问
远程请求
远程事务
分布式事务
分布式请求
5.4 分布式数据的访问
5 分布式数据与分布式访问
远程请求
– 只涉及单个远程服务器的单个请求
Select * From Server1.BankDB.Customer
Where Server1.BankDB.Customer.City
= ‘Beijing’
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句
CLIENT PB
SERVER1
CUSTOMER
远程数据请求
5.4 分布式数据的访问
5 分布式数据与分布式访问
远程事务
– 允许一个事务中包含 多个 数据访问请求,这些请求都引用同一个远程服务器站点上的数据
Begin Work
Select * From Server1.BankDB.Customer
Where Server1.BankDB.Customer.City
= ‘Beijing’
Update Server1.BankDB.Branch
Set Posted_ind = ‘Yes’
Commit Work
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句 1
CLIENT B1
SERVER1
CUSTOMER
远程事务处理分 行
SQL语句 2
5.4 分布式数据的访问
5 分布式数据与分布式访问
分布式事务
一个事务包含多个数据请求,每个请求只能访问单个服务器
Begin Work
Select * From ServerB1.BankDB.Employee
Where ServerB1.BankDB.Employee.Edlevel=‘MBA’
Select * From ServerM.BankDB.Empl_MED
Where ServerM.BankDB.Empl_MED.Branch=‘PB’
Commit Work
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句 1
SERVER M
MEDICAL
分布式事务处理
SERVER B1
CUSTOMER
SQL语句 2
中央 CLIENT
BEGIN WORK
…
…
COMMIT WORK
5.4 分布式数据的访问
5 分布式数据与分布式访问
分布式请求
– 一个事务包含多个数据请求,每个请求都可以引用驻留于多个服务器站点数据
Begin Work
Select * From ServerB1.BankDB.Employee B1,
ServerM.BankDB.Empl_MED M
Where B1.Empl_ID = M,Empl_ID AND
B1,Edlevel = ‘MBA’
Update Server1.BankDB.Branch
Set Posted_ind = ‘Yes’
Where Server1.BankDB.Branch = ‘B1’
Commit Work
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句 1
SERVER M
EMPLOYEE
分布式数据请求
SERVER B1
SQL语句 2
CLIENT
BEGIN WORK
…
…
COMMIT WORK
EMPL_MED
BRANCH
SERVER 1
CASE工具
– ER Studio,PowerDesigner,Rational Rose,Visio等
可视化程序设计工具
– VB,VC++
– Visual Age,Eclipse,JBuilder
– Dephi,Powerbuilder
硬核程序设计工具
– C,C++,Cobol
套装应用程序
– MS Office,PerfectOffice,SmartOffice
测试工具
– Softbridge,SQA
版本控制工具
– SourceSafe,CMVC,Delta等
6.1 创建 C/S系统自动化设计工具
6 创建基于 C/S模式的数据库系统
6.2 异构数据源访问接口和方法
6 创建基于 C/S模式的数据库系统
ODBC的作用浏览器浏览器浏览器
Web
服务器数据库服务器本地接口
ODBC
关系数据库
Oracle,
IBM Db2,
Sybase,
SQLServer,
Access
非关系数据库文件处理器电子邮件图象、视频、
其他文档等
6.2 异构数据源访问接口和方法
6 创建基于 C/S模式的数据库系统驱动程序管理器连接语句结果集结果集元数据可调用语句预备语句实用程序
MySQL
驱动程序
OracleL
驱动程序JDBC-ODBC桥
ODBC
驱动程序
MySQL
数据库
Oracle
数据库
Oracle
数据库
SQL
数据库
JDBC的组成部件
6.3 基于 B/S模式系统的 Microsoft实现方案
6 创建基于 C/S模式的数据库系统浏览器 Web服务器 DB
数据库服务器软件产品
Inernet
explorer
IIS,ASP,
ISAPI,CGI,
Java,C++
Oracle,
Sybase,
IBM DB2,
SQLServer
SQL
关系
Web页面客户请求结果数据操作系统
Windows 2000
Windows XP
Windows 2003
Windows 2000
基于 B/S模式系统的 Microsoft实现方案
HTML,
DHTML,
XML
ODBC
ADO
OLE/DB
JDBC
Windows 2003
Windows 2000
1985年起提供用于 C/S和 S/S的 SQL*net
分布式体系结构组成
– SQL*Net
– SQL*Connect
– ORACLE Server
7.1 起源和组成
7 Orace支持客户机 /服务器模式
ORACLE在同构和异构网络环境中都支持 C/S和
S/S结构
C/S连接时,通过连接描述符实现
S/S之间的连接,或数据访问操作可以用 DB链路进行,
Create Database Link Boston Connect to Scott
Identified By Tigger Using ‘EducationDB’;
查询时用 Boston存取远程 Scott/Tigger用户的 EMP
表,
Select * From EMP@Boston;
7.2 Oracle分布式系统功能
7 Orace支持客户机 /服务器模式
UPI
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
OPI
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
Network Link
Client Server
Client
Application Oracle Server
7.3 C/S会话的组成
7 Orace支持客户机 /服务器模式
Oracle Server
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
Oracle Server
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
Network Link
Server Server
OPI OPI
7.4 S/S会话的组成
7 Orace支持客户机 /服务器模式
手工复制
– Export/Import
– Create Table 命令
– Copy命令,SQL*Plus中使用
快照
触发子复制
– 同步复制
– 例,本地 DB的一个 EMP表,需要在 sf数据库链所指定的远程 DB中复制改 EMP表,
7.5 表复制策略
7 Orace支持客户机 /服务器模式
Create Trigger Emp-Replica Before Insert or Update on Emp
For Each Row
Declare
Begin
If Inserting Then
If,new,flag is Null Then
Insert Into Emp@sf Values (:new.empno,:new,ename,…..,’B’)
:new.flag = ‘A’
Endif
Else /* Updating */
If,new.flag =,old.flag Then
Update Emp@sf Set ename =,new.ename,…..
Flag =,new.empno
Where empno =,new.empno;
If,old.flag = ‘A’ Then,new.flag = ‘B’ Else,new.flag = ‘A’ Endif
Endif
Endif
End
触发子复制表总 结
客户机 /服务器计算模式
客户机 /服务器模式的定位
客户机 /服务器模式的特性和优缺点
客户机 /服务器模式的远景展望
分布式数据与分布式访问
创建基于客户机 /服务器模式的数据库系统
( mycui369@126.com)
计算机应用技术 2007级研究生
1,客户机 /服务器计算模式
2,客户机 /服务器模式的定位
3,客户机 /服务器模式的特性和优缺点
4,客户机 /服务器模式的远景展望
5,分布式数据与分布式访问
6,创建基于客户机 /服务器模式的数据库系统分布式数据库与客户机 /服务器模式第 8章
概念
– 客户机 /服务器概念最早用于软件体系结构
提出请求的应用程序
解答请求的服务程序
– 协作式处理方式
客户机和服务器都参与一个应用程序的处理
软件成分相互协作完成特定应用功能
– 请求 /服务模式
硬件资源提供软件成分相互协作的设施
– 客户机 /服务器模式
1.1 客户机 /服务器模式概念
1 客户机 /服务器计算模式客户机客户机客户机网络应用服务器通信服务器打印服务器文件服务器数据库服务器请求响应响应请求客户机 /服务器模式
1.1 客户机 /服务器模式概念
1 客户机 /服务器计算模式
C/S环境下应用成分的分布
– 一个典型的数据库应用程序可分解为 4部分
界面表示逻辑:与用户交互的代码,GUI
业务处理逻辑:使用输入数据来完成业务处理和规则的代码,使用 3GL或 4GL编写的
数据处理逻辑:负责处理数据的代码,一般使用
SQL语言或者嵌入式 SQL语言编写
数据库管理:由 DBMS完成实际数据处理的程序
– 通常放置方法
界面表示逻辑和业务处理逻辑放到客户端
数据处理逻辑和数据库管理功能放到服务端
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式应用程序界面表示逻辑业务处理逻辑数据处理逻辑数据库管理
GUI 3GL4GL SQL
ORACLE
SYBASE
DB2
DB
组成数据库应用程序的四个成分
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式数据处理逻辑界面表示逻辑业务处理逻辑数据管理功能
Client
应用程序 DBMS
Server
支持 C/S
结构的
DBMS
支持和不支持 C/S结构的 DBMS情形不支持
C/S结构的 DBMS
1.2 C/S环境下应用成分的分布和开放性
1 客户机 /服务器计算模式用户 客户机应用系统客户机数据库
API
连接软件网络协议客户机网络协议连接软件服务器软件服务器操作系统服务器数据库
SQL
结果网络客户机 /服务器模式的内部结构用户客户机用户客户机用户客户机文件服务 打印服务 数据库服务文件 打印机 DB
客户机中间件服务器客户机 /服务器模式体系结构示意图
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
服务器
– 提供高速大容量的存储能力,强大的数据处理和管理能力,运行多个进程能力
– 分类
文件服务器
数据库服务器
事务服务器
文档服务器
其他服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式文件
GUI
应用程序文件服务器客户机服务器文件服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
GUI
应用程序数据库服务器客户机服务器数据 SQL命令
DB
数据库服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
GUI
应用程序应用程序事务客户机服务器数据 应用程序专用事务
DB
事务处理服务器数据库服务器
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
客户机
– 完成界面表示和一些业务逻辑功能
– 客户机类型
非图形化用户接口:条形码,扫描器,传真机,仿真终端等
图形化 (GUI)用户接口:基于 Windows的软件和设备
面向对象接口 (OOI):可视化、多媒体处理软件和设备
– 客户机软件类型
公共应用程序,字处理,报表编制,图形软件,项目管理软件等
数据库前端软件,Oracel PL/SQL plus
应用生成和开发软件,PowerBuilder,Dephi,VisualC++,Visual
Basic等
中间件
– 泛指客户机与服务器之间的软件
数据库连接中间件,事务处理中间件,组件中间件,对象中间件等
1.3 C/S模式的体系结构
1 客户机 /服务器计算模式
主机处理系统
– 所有程序在一个主机上运行
– 优点
集中式,安全性和海量数据存储设备管理能力
支持大量并发用户,IBM大型机上数据库支持
1000多用户
– 缺点
系统采购和维护费用大
特殊的支持设施等
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
Modem
Modem
Host CPU
DBMS
APPs
DB
主机远程终端 本地终端主机处理环境
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
文件处理系统
– 应用处理 (包括数据处理 )都发生在 PC工作站
– 服务器仅从硬盘查询所需要的文件通过网络发送给用户
– 缺点
用户计算能力局限于本地 PC工作站
多用户共享文件时,仍然需要分别发送到每个 PC
只满足小规模工作组应用需求
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
LAN
APPs
PC
APPs
PC
工作站
NOS
文件服务器打印机修改过的文件送回服务器数据文件送给 PC
文件共享处理环境
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
C/S处理系统
–,恰到好处的规模” (rightsizing)
Client/server将应用资源恰到好处地分配
降低了网络开销
– 典型应用是数据库技术
数据库应用程序运行在 client上
DBMS部分应用在 server上
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
LAN
APPs
PC
APPs
PC
APPs
PC
UNIX
DBMS
查询结果 查询请求
DB
客户机 /服务器处理环境服务器客户机
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
多处理器服务系统
– 存在两个或两个以上服务器的 C/S系统
– 如果本地 server发现没有相关数据,通过,S对 S的对话”向其他服务器发出请求
– 企业级大型应用平台
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
LAN / WAN
APPs
PC
客户机
APPs
PC
UNIX
DBMS
结果 请求
DB
多服务器处理环境
MVS
DBMS DB
网关 /网桥
NOS
文件服务器远程访问
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
对等处理系统
– C/S系统的最终归宿,是协作式分布式处理的极限
– 站点既是客户机又是服务器
– 站点要负责对自己资源的管理和访问,又有对任何其他站点上资源的同等访问权
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
APPs APPs
APPs APPs
DB
DB
DB
DB
对等处理环境
2.1 计算环境演变分析
2 客户机 /服务器模式的定位
C/S模式系统是介于集中式与分布式之间
– 集中式 C/S处理环境
数据集中,处理分布
客户请求,服务器响应的协作方式
– 多服务器 C/S处理环境
数据与处理都分布
一个应用可涉及多个服务器数据
一个服务器数据可以被多个客户机访问
– 对等 C/S处理环境
数据与处理都分布
站点可以访问其他站点数据 (全局应用 ),也可以访问本地数据
(本地应用 )
2.2 客户机 /服务器模式的定位
2 客户机 /服务器模式的定位
有多个数据库服务器的 C/S处理环境
– 与分布式数据库系统相同的问题
站点自治性,透明性
数据独立
数据完整性
2.2 客户机 /服务器模式的定位
2 客户机 /服务器模式的定位网络DB
数据库服务器客户机 客户机 客户机…
用户客户机 客户机 客户机…
用户
DB
数据库服务器
DB
数据库服务器客户机 客户机 客户机… 用户每个站点是一个单数据库服务器 Client/Server结构的 DDBS
2.2 客户机 /服务器模式的定位
2 客户机 /服务器模式的定位
按功能划分
– 服务器是服务的提供者,客户机是消费者
共享资源
– 一个服务器可以在同一时刻对许多客户端提供服务,
并且可以协调他们对于共享资源的访问
不对称协议
– 客户机主动请求服务,服务器被动等待请求
定位透明性
– C/S软件在客户机方屏蔽服务器地址
混合与匹配
– C/S软件独立于硬件或 OS
3.1 客户机 /服务器模式的特性
3 客户机 /服务器模式的特性和优缺点
基于消息的交换
– 消息式服务,请求与响应的媒介
服务封装
– 服务器决定如何完成服务请求消息,消息接口不变,升级对客户没有影响
可扩展性
– 水平扩展:添加或移去工作站
– 垂直扩展:移植到更大更快的服务器或多服务器
完整性
– 集中式 C/S处理环境中,server代码和 server数据是集中维护的,带来的开销很少,保持了数据的完整性和独立性
3.1 客户机 /服务器模式的特性
3 客户机 /服务器模式的特性和优缺点
优点
– 提高了投资效率
– 使处理和被处理的数据更接近,减少了网络带宽和成本的需求
– 具有图形用户界面的 PC
– 支持和倡导标准化和开放系统
– 多个用户共享硬件资源
3.2 客户机 /服务器模式的优缺点
3 客户机 /服务器模式的特性和优缺点
不足之处
– 在集中式 C/S环境,如果应用逻辑的主要部分移到服务器上,服务器将成为瓶颈
– 多服务器应用系统的开发和设计复杂
3.2 客户机 /服务器模式的优缺点
3 客户机 /服务器模式的特性和优缺点
当前的主要模式
– C/S两层结构
肥客户机:所有的表示逻辑和应用逻辑放到客户机
瘦服务器:只负责响应用户请求,全局数据的访问和管理
– B/S三层结构
数据层
功能层
表示层
4.1 当前客户机 /服务器模式
4 客户机 /服务器模式的远景展望浏览器浏览器浏览器
Web
服务器 DB
数据库服务器产品实例
NetscapeN
avigator,
Macintosh
Microsoft IIS
Windows 2000
Oracle
UNIX
SQL
关系
Web页面客户代码数据功能
HTTP客户客户端脚本视图实例化
HTTP服务器服务器端脚本视图建立、检索、
更新和删除
SQL处理数据库管理三层客户机 /服务器模式结构及各层功能
HTTP
请求响应
ODBC
ADO
OLE/DB
JDBC
本地调用
4.1 当前客户机 /服务器模式
4 客户机 /服务器模式的远景展望
4.2 多层客户机 /服务器模式结构
4 客户机 /服务器模式的远景展望浏览器浏览器浏览器
Web
服务器视图处理器业务规则处理器
DB
数据库服务器
( a)多处理器用于视图和规则处理
DB1
数据库服务器 1
( b)多处理器用于分布式处理
DB2
数据库服务器 2
浏览器浏览器浏览器
Web
服务器分布式处理器
4.3 客户机 /服务器模式的展望
4 客户机 /服务器模式的远景展望
展望
– 服务器将更加强大,现在就可以是一台台式机,以后会更强大
– 服务器更加可靠和健壮,处理器和磁盘的成本将大幅下降
– 安全性更高,加密解密技术进一步发展
– 高带宽网络的发展,可以使得多层次结构的应用更加普及
从集中到分布数据的转移
– 将关键数据的多个副本置于不同站点,提高数据的可用性,避免“单站点失败”现象
– 高效的数据访问,改进数据管理性能
– 容易增加应用程序,用户数目和扩大规模
– 数据放在其产生和频繁使用位置,减少传输,提高效率
5.1 从集中式到分布式的转移
5 分布式数据与分布式访问
数据分布基本形式
– 复制数据 (Replicated Data)
– 子集数据 (Subset Data)
– 重新组织的数据 (Reorganized Data)
– 分区数据 (Partitioned Data)
– 独立模式数据 (Separate_Schema Data)
– 不相容数据 (Incompatible Data)
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络
DB
x
主机 DBx
1
DB
x2
x1和 x2为
x的副本复制的数据
S1
S2
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络
DB
ABC
主机 DBA
DB
C
子集数据
S1
S3
DB
BS2
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络
DB
R
主机 DBA
重新组织的数据
S1
DB
BS2
数据 R是由数据 A和 B
经过重新组织而获得的
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络地区 A
的记录主机 地区 B的记录分区数据地区 C
的记录各地区的记录具有相同模式主机主机
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络生产数据财务数据独立模式数据生产主机财务主机营销数据营销主机
5.2 数据分布的基本形式
5 分布式数据与分布式访问网络公司 A
的记录主机 公司 B的记录不相容数据公司 C
的记录各公司的数据存在不相容主机主机
5.2 数据分布的基本形式
5 分布式数据与分布式访问
数据分布技术
– 人工抽取
– 快照
– 复制
– 分片
– 数据分布分析
5.3 数据分布的技术
5 分布式数据与分布式访问
SAVING
CUSTOMER
EXCHANGERATE
SAVING
CUSTOMER
EXCHANGERATE
SAVING
CUSTOMER
EXCHANGERATE
网络总行分行 1 分行 2
分布式数据的银行应用系统分行到总行抽取数据
数据分布分析
– 是一种统计方法
– 根据应用需求决定那些资源需要分布及存放位置
– 例子:银行应用系统
客户表存在中央银行 (CB)站点,分行 (PB)存有部分数据复制
假设 CB站点有 10000条记录,每天读 2000次,更新
500次
PB站点有 1000条记录,每天读 1000次,更新 100次
5.3 数据分布的技术
5 分布式数据与分布式访问
1000
100
2000
500
READ
UPDATE
PBCB
站点操作
1100
2500
600
N
Y
Y
Y
N
Y
1
2
3
PBCB 网络开销数据分布站点配制方法分布式数据库位置矩阵
5.3 数据分布的技术
5 分布式数据与分布式访问
该例子分析方法结论
分布式数据的位置取决于逻辑数据和处理 (读和更新 )模式,数量等特征
数据分布是降低整个分布式系统开销的有效措施
5.3 数据分布的技术
5 分布式数据与分布式访问
远程请求
远程事务
分布式事务
分布式请求
5.4 分布式数据的访问
5 分布式数据与分布式访问
远程请求
– 只涉及单个远程服务器的单个请求
Select * From Server1.BankDB.Customer
Where Server1.BankDB.Customer.City
= ‘Beijing’
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句
CLIENT PB
SERVER1
CUSTOMER
远程数据请求
5.4 分布式数据的访问
5 分布式数据与分布式访问
远程事务
– 允许一个事务中包含 多个 数据访问请求,这些请求都引用同一个远程服务器站点上的数据
Begin Work
Select * From Server1.BankDB.Customer
Where Server1.BankDB.Customer.City
= ‘Beijing’
Update Server1.BankDB.Branch
Set Posted_ind = ‘Yes’
Commit Work
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句 1
CLIENT B1
SERVER1
CUSTOMER
远程事务处理分 行
SQL语句 2
5.4 分布式数据的访问
5 分布式数据与分布式访问
分布式事务
一个事务包含多个数据请求,每个请求只能访问单个服务器
Begin Work
Select * From ServerB1.BankDB.Employee
Where ServerB1.BankDB.Employee.Edlevel=‘MBA’
Select * From ServerM.BankDB.Empl_MED
Where ServerM.BankDB.Empl_MED.Branch=‘PB’
Commit Work
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句 1
SERVER M
MEDICAL
分布式事务处理
SERVER B1
CUSTOMER
SQL语句 2
中央 CLIENT
BEGIN WORK
…
…
COMMIT WORK
5.4 分布式数据的访问
5 分布式数据与分布式访问
分布式请求
– 一个事务包含多个数据请求,每个请求都可以引用驻留于多个服务器站点数据
Begin Work
Select * From ServerB1.BankDB.Employee B1,
ServerM.BankDB.Empl_MED M
Where B1.Empl_ID = M,Empl_ID AND
B1,Edlevel = ‘MBA’
Update Server1.BankDB.Branch
Set Posted_ind = ‘Yes’
Where Server1.BankDB.Branch = ‘B1’
Commit Work
5.4 分布式数据的访问
5 分布式数据与分布式访问
SQL语句 1
SERVER M
EMPLOYEE
分布式数据请求
SERVER B1
SQL语句 2
CLIENT
BEGIN WORK
…
…
COMMIT WORK
EMPL_MED
BRANCH
SERVER 1
CASE工具
– ER Studio,PowerDesigner,Rational Rose,Visio等
可视化程序设计工具
– VB,VC++
– Visual Age,Eclipse,JBuilder
– Dephi,Powerbuilder
硬核程序设计工具
– C,C++,Cobol
套装应用程序
– MS Office,PerfectOffice,SmartOffice
测试工具
– Softbridge,SQA
版本控制工具
– SourceSafe,CMVC,Delta等
6.1 创建 C/S系统自动化设计工具
6 创建基于 C/S模式的数据库系统
6.2 异构数据源访问接口和方法
6 创建基于 C/S模式的数据库系统
ODBC的作用浏览器浏览器浏览器
Web
服务器数据库服务器本地接口
ODBC
关系数据库
Oracle,
IBM Db2,
Sybase,
SQLServer,
Access
非关系数据库文件处理器电子邮件图象、视频、
其他文档等
6.2 异构数据源访问接口和方法
6 创建基于 C/S模式的数据库系统驱动程序管理器连接语句结果集结果集元数据可调用语句预备语句实用程序
MySQL
驱动程序
OracleL
驱动程序JDBC-ODBC桥
ODBC
驱动程序
MySQL
数据库
Oracle
数据库
Oracle
数据库
SQL
数据库
JDBC的组成部件
6.3 基于 B/S模式系统的 Microsoft实现方案
6 创建基于 C/S模式的数据库系统浏览器 Web服务器 DB
数据库服务器软件产品
Inernet
explorer
IIS,ASP,
ISAPI,CGI,
Java,C++
Oracle,
Sybase,
IBM DB2,
SQLServer
SQL
关系
Web页面客户请求结果数据操作系统
Windows 2000
Windows XP
Windows 2003
Windows 2000
基于 B/S模式系统的 Microsoft实现方案
HTML,
DHTML,
XML
ODBC
ADO
OLE/DB
JDBC
Windows 2003
Windows 2000
1985年起提供用于 C/S和 S/S的 SQL*net
分布式体系结构组成
– SQL*Net
– SQL*Connect
– ORACLE Server
7.1 起源和组成
7 Orace支持客户机 /服务器模式
ORACLE在同构和异构网络环境中都支持 C/S和
S/S结构
C/S连接时,通过连接描述符实现
S/S之间的连接,或数据访问操作可以用 DB链路进行,
Create Database Link Boston Connect to Scott
Identified By Tigger Using ‘EducationDB’;
查询时用 Boston存取远程 Scott/Tigger用户的 EMP
表,
Select * From EMP@Boston;
7.2 Oracle分布式系统功能
7 Orace支持客户机 /服务器模式
UPI
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
OPI
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
Network Link
Client Server
Client
Application Oracle Server
7.3 C/S会话的组成
7 Orace支持客户机 /服务器模式
Oracle Server
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
Oracle Server
SQL*Net
Transparent
Network Substrate
Oracle Protocol
Adapter
Network
Software
Network Link
Server Server
OPI OPI
7.4 S/S会话的组成
7 Orace支持客户机 /服务器模式
手工复制
– Export/Import
– Create Table 命令
– Copy命令,SQL*Plus中使用
快照
触发子复制
– 同步复制
– 例,本地 DB的一个 EMP表,需要在 sf数据库链所指定的远程 DB中复制改 EMP表,
7.5 表复制策略
7 Orace支持客户机 /服务器模式
Create Trigger Emp-Replica Before Insert or Update on Emp
For Each Row
Declare
Begin
If Inserting Then
If,new,flag is Null Then
Insert Into Emp@sf Values (:new.empno,:new,ename,…..,’B’)
:new.flag = ‘A’
Endif
Else /* Updating */
If,new.flag =,old.flag Then
Update Emp@sf Set ename =,new.ename,…..
Flag =,new.empno
Where empno =,new.empno;
If,old.flag = ‘A’ Then,new.flag = ‘B’ Else,new.flag = ‘A’ Endif
Endif
Endif
End
触发子复制表总 结
客户机 /服务器计算模式
客户机 /服务器模式的定位
客户机 /服务器模式的特性和优缺点
客户机 /服务器模式的远景展望
分布式数据与分布式访问
创建基于客户机 /服务器模式的数据库系统