《十三章节客户机服务器模式与分布式数据库.ppt》由会员分享,可在线阅读,更多相关《十三章节客户机服务器模式与分布式数据库.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、十三章节客户机服务器模式与分布式数据库 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望C/S计算模式概念客户机/服务器概念最早用于软件体系结构提出请求的应用程序服务应用的服务程序协作式处理方式客户机和服务器都参与一个应用程序的处理软件成分相互协作完成特定应用功能 请求/服务模式硬件资源提供软件成分相互协作的设施 客户机/服务器模式客户机客户机客户机网络应用服务器通信服务器打印服务器文件服务器数据库服务器请求响应响应请求客户机/服务器模式C/S环境下应用成分的分布4
2、部分界面表示逻辑业务处理逻辑数据处理逻辑数据库管理应用程序界面表示逻辑业务处理逻辑数据处理逻辑数据库管理GUI3GL4GLSQLORACLESYBASEDB2DB组成应用程序的四个成分C/S模式的体系结构(1)服务器提供高速大容量的存储能力,强大的数据处理和管理能力,运行多个进程能力文件服务器数据库服务器事务服务器文档服务器用户客户机用户客户机用户客户机文件服务打印服务数据库服务文件打印机DB客户机中间件服务器客户机/服务器模式体系结构示意图文件GUI应用程序文件服务器客户机服务器文件服务器GUI应用程序数据库服务器客户机服务器数据SQL命令DB数据库服务器GUI应用程序应用程序事务客户机服务
3、器数据应用程序专用事务DB事务处理服务器数据库服务器C/S模式的体系结构(2)客户机完成界面表示和一些业务逻辑功能,非图形化/图形化(GUI)用户接口面向对象接口(OOI)公共应用程序 字处理,报表编制,图形软件等数据库前端软件应用生成和开发软件 PowerBuilder,VisualC+等中间件泛指客户机与服务器之间的软件数据库,事务处理,组件,对象中间件等C/S模式定位C/S模式系统是介于集中式与分布式之间集中式C/S处理环境 数据集中,处理分布客户请求,服务器响应的协作方式多服务器C/S处理环境 数据与处理都分布一个应用可涉及多个服务器数据一个服务器数据可以被多个客户机访问 对等C/S处
4、理环境 数据与处理都分布站点可以访问其他站点数据(全局应用),也可以访问本地数据(本地应用)网络DB数据库服务器客户机客户机客户机用户客户机客户机客户机用户DB数据库服务器DB数据库服务器客户机客户机客户机用户每个站点是一个单数据库服务器Client/Server结构的DDBSC/S模式的特点(1)按功能划分服务器是服务的提供者,客户机是消费者共享资源不对称协议客户机主动请求服务,服务器被动等待请求定位透明性C/S软件在客户机方屏蔽服务器地址混合与匹配C/S软件独立于硬件或OSC/S模式的特点(2)基于消息的交换消息式服务请求与响应的媒介服务封装服务器决定如何完成服务请求消息,消息接口不变,升
5、级对客户没有影响可扩展性水平扩展 添加或移去工作站垂直扩展 移植到更大更快的服务器或多服务器完整性C/S模式的优缺点(1)优点提高了投资效率使处理和被处理的数据更接近,减少了网络带宽和成本的需求具有图形用户界面的PC支持和倡导标准化和开放系统多个用户共享硬件资源C/S模式的优缺点(2)不足之处在集中式C/S环境,服务器将成为瓶颈多服务器应用系统的开发和设计复杂分布式数据(1)从集中到分布数据的转移将关键数据的多个副本置于不同站点,提高数据的可用性,避免“单站点失败”现象高效的数据访问,改进数据管理性能容易增加应用程序,用户数目和扩大规模数据放在其产生和频繁使用位置,减少传输,提高效率分布式数据
6、(2)数据分布基本形式复制数据(Replicated Data)子集数据(Subset Data)重新组织的数据(Reorganized Data)分区数据(Partitioned Data)独立模式数据(Separate_Schema Data)不相容数据(Incompatible Data)网络DBx主机DBx1DBx2x1和x2为x的副本 复制的数据S1S2网络DBABC主机DBADBC子集数据S1S3DBBS2网络DBR主机DBA重新组织的数据S1DBBS2数据R是由数据A和B经过重新组织而获得的网络地区A的记录主机地区B的记录分区数据地区C的记录各地区的记录具有相同模式主机主机网络生
7、产数据财务数据独立模式数据生产主机财务主机营销数据营销主机网络公司A的记录主机公司B的记录不相容数据公司C的记录各地区的记录具有相同模式主机主机分布式数据(3)数据分布技术人工抽取快照复制分片数据分布分析SAVINGCUSTOMEREXCHANGERATESAVINGCUSTOMEREXCHANGERATESAVINGCUSTOMEREXCHANGERATE网络总行分行1分行2分布式数据的银行应用系统分行到总行抽取数据分布式数据(4)数据分布分析统计方法 根据应用需求决定那些资源需要分布及存放位置例子 银行应用系统客户表存在中央银行(CB)站点,分行(PB)存有部分数据复制假设CB站点有100
8、00条记录,每天读2000次,更新500次PB站点有1000条记录,每天读1000次,更新100次10001002000500READUPDATEPBCB站点操作11002500600NYYYNY123PBCB网络开销数据分布站点配制方法分布式数据库位置矩阵分布式数据(5)该例子分析方法结论分布式数据的位置取决于逻辑数据和处理(读和更新)模式,数量等特征数据分布是降低整个分布式系统开销的有效措施分布式数据的访问(1)远程请求远程事务分布式事务分布式请求分布式数据的访问(2)远程请求只涉及单个远程服务器的单个请求Select *From Server1.BankDB.Customer Where
9、 Server1.BankDB.Customer.City =Beijing SQL语句CLIENT PBSERVER1CUSTOMER 远程数据请求分布式数据的访问(3)远程事务允许一个事务中包含多个应用同一个远程服务器站点的数据访问请求Begin Work Select *From Server1.BankDB.Customer Where Server1.BankDB.Customer.City =Beijing Update Server1.BankDB.Branch Set Posted_ind=YesCommit WorkSQL语句1CLIENT B1SERVER1CUSTOMER
10、 远程事务处理分 行SQL语句2分布式数据的访问(4)分布式事务一个事务包含多个数据请求,每个请求只能访问单个服务器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 WorkSQL语句1SERVER MMEDICAL 分布式事务处理SERVER B1CUSTOMERSQL语句2中央CLIENTBE
11、GIN WORK COMMIT WORK分布式数据的访问(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=B1Commit WorkSQL语句1SERVER MEM
12、PLOYEE分布式数据请求SERVER B1SQL语句2CLIENTBEGIN WORK COMMIT WORKEMPL_MEDBRANCHSERVER 1ORACLE分布DB(1)1985年起提供用于C/S和S/S的SQL*net分布式体系结构组成SQL*NetSQL*ConnectORACLE ServerORACLE Net 联网协议Oracle8 之前称 SQL Net协议,Oracle8/8i 称Net8协议,Oracle9i称Net协议UPISQL*NetTransparent Network SubstrateOracle Protocol AdapterNetwork Soft
13、wareOPISQL*NetTransparentNetwork SubstrateOracle ProtocolAdapterNetwork SoftwareNetwork LinkServerClient ApplicationOracle ServerClientUPISQL*NetTransparent Network SubstrateOracle Protocol AdapterNetwork SoftwareOPISQL*NetTransparentNetwork SubstrateOracle ProtocolAdapterNetwork SoftwareNetwork Lin
14、kServerClient ApplicationOracle ServerORACLE分布DB(2)UPI代码包括分析SQL语句,语法检验为SQL打开一个游标将Client应用程序变量连接到共享Server内存根据Server数据字典信息描述返回域的内容在游标空间中执行SQL语句给Client应用程序取一条或多条记录关闭游标OPI有完整功能与UPI对应ORACLE分布DB(3)SQL*Net的任务是建立和保持Client程序与Server DB间的连接,并完成两者之间的信息转换TNS从网络应用程序中接受请求,并将控制传递给DB服务器ClientOCITTCNETOPA网络协议OPITTCNE
15、TOPA网络协议ServerNPI网络协议OCI Oracle 调用接口层 客户机通过调用OCI完成所有SQL处理TTC 实现与OSI网络协议模型中的表示层一样的功能,完成客户机与服务器之间不同字符集和数据类型格式的转换NET net层很多子层的集合,相当于OSI中的会话层,建立、维护客户机应用程序和服务器之间的联结和通信NI 网络接口层 为客户机、服务器和其他外部程序提供对Net的接口访问,处理中断请求NR 网络路由子层NN 网络命名子层NA 网络认证子层NS 网络会话子层OPA 网络协议适配层,负责与具体网络协议通信网络协议 具体的网络传输协议,如TCP/IPOPI 与客户机上的OCI层对
16、应的Oracle编程接口层NPI 网络程序接口层,负责服务器之间的连接作为ORACLE联网的基本组件,安装时已自动安装Oracle ServerSQL*NetTransparent Network SubstrateOracle Protocol AdapterNetwork SoftwareOracle ServerSQL*NetTransparentNetwork SubstrateOracle ProtocolAdapterNetwork SoftwareNetwork LinkServerServerOPIOPIC/S网络应用解决方案(1)结构组成数据库服务器 专门硬件服务器,安装OR
17、ACLE9i Database管理工作站 安装管理客户端工具,管理员在此执行对数据库的日常管理维护客户机 安装连接工具及客户应用程序,执行业务处理主要用于基于局域网的应用,如银行储蓄业务、电信收费业务等C/S网络应用解决方案(1)-续连接方法客户机配置文件 tnsnames.ora,存放服务器连接信息,TCP/IP地址、主机名、采用的协议和使用的端口等MYORACLE=(DESCRITION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mynetserver)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=myoracle
18、.mynet)服务器后台进程(监听器),配置参数在listener.ora文件中(SID_DESC=(GLOBAL_DBNAME=myoracle.mynet)(ORACLE_HOME=C:oracleora90)(SID_NAME=myoracle)方案评价配置简单,但是服务器的地址信息变化需重新对每台客户机配置C/S网络应用解决方案(2)基于名字服务器的方案方案结构组成数据库服务器 专门的硬件,装ORACLE9i Database,需在名字服务器上完成注册名字服务器 集中管理网络环境中所有的数据库服务器的注册信息,为客户机提供网络名解析服务客户机管理工作站C/S网络应用解决方案(2)-续连
19、接方法客户机上指定名字服务器解析网络服务名的方式,向名字服务器获取数据库服务器的连接信息后,直接通过网络向数据库服务器发出连接请求数据库服务器每次修改配置,需要在名字服务器上注册名字服务器上保存全局数据库名称及其地址、其他名字服务器的名称及地址方案评价在大型Oracle Net网络的规划设计中,优先考虑。用户数大时,名字服务器是瓶颈C/S网络应用解决方案(3)基于目录服务器的方案结构组成数据库服务器 安装后要向目录服务器注册目录服务器 采用专门协议LDAP(轻型目录访问协议,定义、存储和检索目录信息的标准)客户机 管理工作站C/S网络应用解决方案(3)-续连接方案客户机上指定连接到特定目录服务
20、器数据库服务器修改配置,要在目录服务器注册目录服务器保存全局数据库名称和地址评价客户机配置简单,是与大型应用,取代名字服务器C/S网络应用解决方案(4)基于连接管理器方案结构组成数据库服务器 运行在共享服务器模式下连接管理器 提供3个扩展功能的中间件。包括:多路复用技术,将多个客户机连接组合在一起,以单个网络连接发送给数据库服务器,以减少网络传输和数据库服务器需要处理的连接数量。网络访问控制技术,可根据IP地址来接受或决绝客户机对数据库服务器的访问,以限制客户局与服务器的连接协议转换技术,使用不同的网络协议的客户机最后转换为数据库服务器能够处理的协议后进行连接名字服务器客户机C/S网络应用解决
21、方案(4)-续连接方法客户机上指定连接到特定连接服务器连接管理器管理客户机和服务器的后台通信。两个进程CMGW 网关进程,负责向CMADMIN进程注册,监听从客户机来的连接请求CMADMIN 管理进程,负责处理CMGW进程提出的注册,定位到特定的名字服务器进行解析,并向数据库服务其提交请求评价解决网络中存在多种网络协议、连接用户量大,以及需要限制客户机对数据库服务器的访问型应用C/S网络应用解决方案(5)Web应用结构组成数据库服务器Web应用服务器,可选用Oracle9i Application Server或者第三方的服务器软件,如IIS或Apache等客户机C/S网络应用解决方案(5)-续连接方法客户机上浏览器向应用服务器通过HTTP协议发出Web请求应用服务器上配置Oracle Net组件,处理来自客户机的Web请求,通过Oracle Net连接数据库服务器数据库服务器处理来自应用服务器的请求,返回或提交结果评价用于构建瘦客户机应用客户机通过Java Servlet可以直接访问数据库服务器的两层结构,服务器通过配置,支持HTTP和专用的Internet Inter ORB(IIOP)协议来处理客户机的连接请求
限制150内