《软件工程》 第3篇 设计 姜久雷 副教授 北方民族大学 计算机科学与技术系.

Slides:



Advertisements
Similar presentations
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
Advertisements

高校教师、高级项目经理 任铄 QQ : 第一章 操作系统引论 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS 结构设计.
会计从业资格 会计电算化 精讲班 主讲老师:黄德建.
计算机网络教程 任课教师:孙颖楷.
——Windows98与Office2000(第二版) 林卓然编著 中山大学出版社
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
初级会计电算化 (用友T3) 制作人:张爱红.
公务员管理子系统建设步骤 1、组建由局长直接领导的体制,制定公务员管理、工资管理、其他业务用户的管理权限,以及各业务间的协作流程。
实用操作系统概念 张惠娟 副教授 1.
2.3 网络域名及其管理.
UI(用户界面)集训班 Illustrator 高级班.
课程教师:安璐 副教授 武汉大学信息管理学院
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
MariaDB Spider分库分表引擎调研
第二讲 搭建Java Web开发环境 主讲人:孙娜
R in Enterprise Environment 企业环境中的R
从现在做起 彻底改变你自己 Sanjay Mirchandani EMC公司高级副总裁、首席信息官.
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
管理信息结构SMI.
SQL Injection.
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Visual Studio Team System 简介
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
ENS 10.1安装配置指南 王俊涛 | SE.
Windows 7 的系统设置.
DevDays ’99 The aim of this mission is knowledge..
任务1-3 使用Dreamweaver创建ASP网页
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
解决变化问题的自底向上 流程建模方法 严志民 徐玮.
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
第四章 团队音乐会序幕: 团队协作平台的快速创建
VisComposer 2019/4/17.
WPT MRC. WPT MRC 由题目引出的几个问题 1.做MRC-WPT的多了,与其他文章的区别是什么? 2.Charging Control的手段是什么? 3.Power Reigon是什么东西?
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
解决“最后1公里”问题.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
Touch Github = Touch the World
临界区问题的硬件指令解决方案 (Synchronization Hardware)
OpenStack vs CloudStack
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
Google的云计算 分布式锁服务Chubby.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
3.8 局域网应用实例 某省劳动和社会保障网络中心组网实例 会议中心的无线组网实例.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
1 Web基础知识 1.1 HTTP协议 1.2 Web服务器和浏览器 1.3 C/S模式与B/S模式 1.4 Web的访问原理
Presentation transcript:

《软件工程》 第3篇 设计 姜久雷 副教授 北方民族大学 计算机科学与技术系

第11章 分布式系统体系结构 11.1 多处理器体系结构 11.2 客户机/服务器体系结构

三种主要的计算机应用系统 个人计算系统 嵌入式系统 分布式系统 设计在个人计算机或工作站上使用,不是分布式的。这类系统的例子包括字处理器、电子表格和图形系统等。 嵌入式系统 运行于单处理器或一组处理器上。这种系统的例子包括家庭电器的控制系统和仪器的管理系统等。 分布式系统 系统软件运行于网络相连的一组松散的集成在一起的处理器上。这种系统的例子包括银行ATM系统、预订系统、groupware系统等。 Groupware n. 1. 【电脑】群体软件(指软件应用程序可容易地分享在文件和信息上的工作)

1.个人计算机系统 XXX信息系统 硬件 输入 输出 软件 人 规程 数据

2.嵌入式系统 嵌入式系统是由处理器、相关的外围设备和用于特定目的的软件所组成。嵌入式系统执行单独一项定义明确的任务。

分布式系统 ——不同组织间的网上协同工作。

一个典型的分布式系统 数据处理中心 旧金山医院 澳克兰医院医生和数据库 医学研究者 在线健康护理 图像试验 专业网络测试

分布式系统的6个重要特征 分布式系统的缺点: 1.复杂性 2.保密性 3.管理有效性 4.不可预见性 1.资源共享——允许硬件、软件资源的共享使用。 2.开放性——通过添加非私有资源来扩展自己的能力。 3.并发性——许多过程可以在网络的不同计算机上同时运行。 4.可伸缩性——通过增加新的资源来满足对系统的新的需求。 5.容错性——多台计算机及其信息复制能力意味着系统对硬件和软件错误具有相当的容错能力。 6.透明性——对用户隐藏了系统分布的存在。用户对资源的存取透明,无需了解系统资源的分布情况。 分布式系统的缺点: 1.复杂性 2.保密性 3.管理有效性 4.不可预见性

初识分布式系统 多台计算机为一个任务共同工作 通过网络互联 在该系统上工作的用户看来,只是一个系统(好像是一个集中的单机系统)。 ——从多台处理器开始

多处理器的抽象描述

11.1 多处理器体系结构 11.1 Multiprocessor architectures 如果单处理器无法令人满意地处理系统的工作负载,那么,使用多处理器是解决这个问题的一个方法 。 分布式系统的简单模型 多处理器系统——系统由许多不同进程组成,这些进程可以在不同的处理器上运行。 应用:大型实时系统——收集信息,并利用收集到的信息做出决策,然后发送信号给执行机构以改变系统的环境。 使用多处理器,能提高系统性能和增加系统的柔性。 进程,在处理器上的分配可以是预先确定的,也可以由分配器动态分配。

多处理器系统的例子(图11-1)——交通管制系统的简化模型。 三个独立的逻辑进程——传感器管理、控制室和交通信号灯控制。它们分别运行在单独的处理器上。 分布式传感器收集交通 流量信息并就地处理 显示流量信息,做出 决策,发送指令。 接收指令控制进程 图11-1多处理器交通管制系统

11.2 客户机/服务器体系结构 11.2 Client-server architectures 客户机/服务器体系结构的概念

客户端-服务器的演化 GroupWare 群件,基于Internet的协作。

客户机/服务器体系结构的概念 “服务器”和“客户机”,主要是指计算机系统的逻辑过程而不是指物理过程 我们谈论服务器、客户机,关注的是一种计算系统的体系结构,而不是具体的实现方式。 所谓“服务器”、“客户机”,本质上是指两种进程——服务器进程,专门响应客户机要求的进程。

客户-服务器体系结构的特点 一个应用程序建模成一组服务,这组服务由服务器提供,并由客户机来使用(得到服务)。 客户机需要知道这些服务器的存在,但通常不知道其他客户机的存在。服务器知道所有的客户机的存在。 客户机和服务器是不同的过程。 一个服务器也可以是另一服务器的客户机

客户机/服务器体系结构示例 图11-2 客户机/服务器体系结构

从网络环境看客户机/服务器系统 一个物理模型——图11-2中逻辑模型的一个具体实现。 图11-3 客户机/服务器网络中的计算机

客户机/服务器系统的设计描述 反映系统需要满足的应用逻辑结构 三层结构 最简单的客户机/服务器体系结构 采用层次描述,如三层结构(图l1-4 )。 用层次表现分布——每一层分布到不同的机器上,各个层次之间有明显的界限。 三层结构 表示层——服务器将信息表达给用户,同时,接收来自用户的消息。即交互 应用处理层——服务器实现应用逻辑,即执行服务的任务。 数据管理层——按照客户机的请求,执行关于数据库的所有操作。 最简单的客户机/服务器体系结构 二层客户机/服务器结构

二层的客户机/服务器体系结构的 两种形态 1.瘦客户机 2.胖客户机 改善胖/瘦 ——所有的应用处理和数据管理都是在服务器上执行,客户机只是负责表示部分。 2.胖客户机 ——服务器只负责对数据的管理,客户机上的软件实现应用逻辑和与系统用户的交互。 改善胖/瘦 可下载的Java小程序,使客户机/服务器体系结构发生了变化——介于胖客户机和瘦客户机之间的体系结构

图11-5 瘦客户机和胖客户机

两层客户机/服务器结构的缺陷 两层客户机/服务器体系结构的软件环境

系统数据的完整性与安全性难以维护 客户机程序修改/配置困难 每一台客户机都必须安装数据库驱动程序,数据库由众多客户程序直接访问。 客户端组件含有数据库访问功能,对软件系统的业务逻辑、数据库访问,甚至数据库本身的任何修改常常导致要求在所有客户机上重新部署客户端组件。

二层的客户机/服务器的体系结构设计问题 物理上的两层系统——与逻辑上的三个层次,如何统一? 表示层映射在客户计算机上,应用处理层和数据管理层映射到服务器计算机上 图11-7 三层客户机/服务器体系结构

三层客户机/服务器体系结构的软件环境

例:三层C/S结构——网络银行 图11-8 因特网银行系统的分布体系结构

应用服务器的引入——软件体系结构的发展

Internet上的智能终端(客户机/服务器)设计

客户机/服务器

多层服务器——在系统中添加服务器 把三层的客户机/服务器模型扩展成多层结构 增加体系结构的伸缩性——适应应用处理的可变、易变性。 应用程序需要到不同的数据库中存取数据。 解决方案——在应用服务器和数据库服务器之间增加一个集成服务器——这个集成服务器收集分布式数据并将其送给应用程序。

三层的客户机/服务器软件体系结构的好处 逻辑分层 一机多用 易于扩展 是逻辑上的三层,并非一定是三台计算机系统连到网络上。 一个单一服务器计算机可以作为一个逻辑服务器,既能运行应用处理又能运行应用数据管理。 易于扩展 可以将应用处理和数据管理分开来放到不同的处理器上运行。 客户端组件可以从系统中分离出来,减少系统变化对客户端的影响。 中间层可以运行在一个中立的机器上(不同于客户机或数据库服务器)——合理的任务划分与物理部署——使整个系统的工作负载更趋均衡。

由多个服务器提供的服务

不同的客户机/服务器体系结构的使用 ( 表11-2) 应用程序 两层瘦客户机C/S体系结构 是一种遗留系统的应用程序,该应用程序将处理过程和数据管理分离是不切合实际的 以计算为主的应用程序如编译器,很少或根本没有数据管理;以数据为主的应用程序如浏览和查询,很少或根本没有应用程序处理 两层胖客户机C/S体系结构 处理部分是在客户机上由COTS(如微软的Excel)提供的应用程序 需要密集的数据处理(如数据可视化)的应用程序 具有比较稳定的最终用户功能且这些功能使用在良好的系统管理环境中的应用程序 三层或多层C/S体系结构 具有成百上干个客户机大规模的应用程序 数据和应用都是易变的一类应用程序 数据是在多处经过集成而得的一类应用程序

作业 分布式系统的重要特征。 分布式系统的缺点. 客户机/服务器体系结构分为哪三层?瘦客户机和胖客户机的区别是什么?