软件体系结构模式CS.ppt
《软件体系结构模式CS.ppt》由会员分享,可在线阅读,更多相关《软件体系结构模式CS.ppt(25页珍藏版)》请在三一办公上搜索。
1、现代软件工程九.软件体系结构模式2,中国传媒大学计算机软件学院研究生课程主讲教师:扈文峰,1.客户机/服务器结构(C/S),1.1 客户机/服务器概述一个软件系统整体被分为两个逻辑上分离的部分,每一部分充当不同的角色、完成不同的功能。一般地,客户机为完成特定工作向服务器发出请求,服务器的任务是处理客户的请求并返回结果。常见的例子有:操作系统的内核与外层之间、在通过网络连接的物理上分离的计算机之间等,都属于C/S结构。随着网络特别是国际互联网的发展,允许应用程序分布在多台计算机上共同完成统一任务的C/S结构获得了极大的应用。由开始单纯的“客户界面/数据库服务器”的两层结构,逐渐分离出应用逻辑服务
2、器、WWW服务器等,形成更为复杂的多层C/S结构。即使在两个服务器的连接之间,也是一个充当客户机,一个充当服务器。参见下图。,客户界面,数据服务器,两层C/S结构,客户界面,数据服务器,应用逻辑服务器,三层C/S结构,客户界面,应用逻辑服务器,数据服务器,WWW服务器,四层C/S结构,1.2 客户机/服务器的结构分析,1.2.1 客户机/服务器的组成客户机/服务器系统是两个独立的逻辑系统为完成特定任务而形成的单向协作关系。客户机通常由以下部分组成:用户交互界面(可选);请求表达;服务代理;通信。,服务器通常由以下部分组成:服务器接口;调度管理;事务处理计算;共享资源管理;通信。客户机和服务器之
3、间具有通讯连接机制,并遵循公共的通讯协议,包括:请求的表达;返回结果的表达;连接关系和连接状态的表达。,1.2.2 各个组成部分的责任 客户的用户界面:负责接受用户的输入、提交用户的操作请求、显示操作请求返回的结果。请求表达:把用户的操作请求转换为合乎通讯协议的表达形式。服务代理:是服务器在客户方的代理部件,客户通过它提出请求、获得返回信息、掌握服务器的工作状态。通信部件:负责建立和保持客户与服务器之间的连接。,共享资源管理:是服务器内部维持的内部公共信息和其他资源,它为操作请求的实现提供信息的资源。调度管理:根据客户的请求和内部的工作状态,管理刻画请求,调配系统资源,快速高效地完成操作请求处
4、理。服务器接口:体现了服务器所能够对外提供的操作服务,是客户与服务器连接的桥梁。事务处理计算:负责完成接口所描述的各种计算和处理。,1.2.3 客户机与服务器之间的通信如果客户机和服务器都配置在同一台计算机上,客户机与服务器之间的通信连接可以通过消息、共享存储区和信号量等方法实现。如果客户机和服务器分布在不同计算机上,它们之间的通信就需要通过网络了。网络间的进程通讯首先要解决的是“进程标识”!在同一台机器上,不同的进程可以用进程号作为唯一标识。但在网络间,各个机器独立分配的进程号就不能作为不同进程的区别标识了。要在网络的多台机器上区别进程,必须需要机器的网络地址和端口(Port)号的参与。,套
5、接字(Socket)是两个进程连接的端点。每个套接字都有相应的套结字地址,是由一个因特网地址和一个16位的整数端口组成,用“地址:端口”来表示。当客户发起一个连接请求时,客户端套接字地址中的端口是由内核自动分配的,称为临时端口。然而服务器套接字地址中的端口通常是某个知名的端口,是与服务对应的。例如,Web服务器通常使用端口80,而电子邮件服务器使用端口25,等。,所以网络间进程通信的全局唯一标识需要用一个三元组:(协议,本地网络地址,本地端口)这成为半相关。完整的网络间进程通信连接,由客户机和服务器组成,需要一个称为全相关的五元组来标识:(协议,本地网络地址,本地端口,远地网络地址,远地端口号
6、)以下以Unix中为例,说明客户机/服务器通过使用网络套接建立连接的时序关系:,socket(),bind(),listen(),accept(),read(),write(),socket(),connect(),write(),read(),服务器,客户机,等待服务请求,处理服务请求,建立连接,服务请求,服务响应,产生一个soket,标志着一个进程的产生,将本地soket地址(包括本地网络地址和本地端口)与创建的soket联系起来,即将本地的soket地址赋予soket,以指定半相关。,指示服务器进入等待接受状态,这一对系统调用合作完成客户机和服务器之间的通信连接,以缓冲方式发送待传送的信
7、息,以缓冲方式接受传送来的信息,1.3 客户机/服务器的连接,1.3.1 客户机与服务器连接的特征客户与服务器间的通信是通过定义的接口实现的。(2)客户对服务器的请求时通过特定的词法和语法形式表达的。(3)从客户到服务器是以请求信息为主;从服务器到客户时以返回信息和服务器状态信息为主。(4)客户的请求时在客户端经过打包后传送给服务器的;(5)在服务器端,对接受到的信息进行解包分析,取出有效的信息,形成对请求的服务调用。,1.3.2 连接发生的检测服务器不可能预测客户端何时发生连接请求。显然,服务器通过循环查询的方式检查连接的到来是不恰当的。应该通过类似中断请求的方式激发和控制连接。客户机/服务
8、器的连接是通过“进程等待”和“网络请求中断”来完成的。在服务器端有一个守护进程(Daemon),也称为服务器进程,它随系统启动而运行。当没有客户请求时,守护进程处于等待状态。每当有一个客户请求到达,服务器进程立即响应并产生资源分配和执行处理,然后回到等待状态,接受下一个请求。,1.3.3 连接机制客户和服务器之间的连接方式有两种:同步和异步!远程过程调用:位于两台计算机上的两个软件部件必须通过良好定义的接口进行通讯,这些接口可以是系统中的过程(函数),因而造成了可以调用其它机器上的函数的假象,这就是由“远程过程调用(RPC)”和其它机制实现的。同步请求:客户通过远程过程调用向服务器接口发出请求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 模式 CS
链接地址:https://www.31ppt.com/p-5634969.html