您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 分布式系统与WEB服务(1)
南京理工大学计算机学院分布式系统与WEB服务宋斌计算机学院电话:13814017756邮箱:bin_s163@163.com分布式系统南京理工大学计算机学院分布式系统与WEB服务课程参考书分布式操作系统陆丽娜等译电子工业出版社分布式系统设计高传善译机械工业出版社分布计算系统徐高潮等译高等教育出版社WEB技术导论郝兴伟编清华大学出版社WEB服务实用技术教程励志编清华大学出版社WEB工程理论与实践霍秋艳编清华大学出版社CORBA企业解决方案李师贤译机械工业出版社CORBA原理及应用朱其亮编北京邮电大学出版社南京理工大学计算机学院分布式系统与WEB服务第一章概述南京理工大学计算机学院分布式系统与WEB服务1.1什么是分布式系统分布式系统是由多个相互连接的处理资源组成的计算机系统,这些资源可以合作执行一个共同的任务,最少依赖于集中的程序、数据和硬件等资源。其具有以下特点:(1)分布式系统是由多个处理机或多个计算机组成(2)这些计算机或处理机可以物理相邻,也可在地理上分散,用计算机网络互连。(3)这些计算机或处理机组成一个整体,对用户是透明的(4)一个程序可分散到多个计算机或处理机上运行(5)系统的表现与单一系统一样南京理工大学计算机学院分布式系统与WEB服务分布式系统的发展简史系统名称组织机构网络要求计算机研制日期CM*卡内基.·梅隆大学层次总线PDP1975CambridgeDCS剑桥大学剑桥环LSI-41979Locus加州大学洛杉矶分校以太网PC1980VSystem斯坦佛大学以太网Sun1982Mach卡内基.·梅隆大学以太网Sun,PC1985CORBAOMG互联网任何机器1990DistributedCOM微软公司互联网PC1996JINISunMicrosystems互联网任何机器2000南京理工大学计算机学院分布式系统与WEB服务1.2硬件观点1.按体系结构分类:1)单指令流多数据流(SIMD):它由一个指令部件取得指令,然后将指令同时发往多个数据操作部件并行操作.典型的结构:阵列处理机2)多指令流多数据流(MIMD):由独立的处理机执行各自得到的指令对各自的数据进行操作。我们讨论的分布式系统均属于此类系统(MIMD),其又分为紧耦合系统和松耦合系统.其中:紧耦合是主要为共享主存;松耦合相反主要通过通信和协调南京理工大学计算机学院分布式系统与WEB服务并行与分布计算机(MIMD)多计算机(分布主存)多处理机(共享主存)基于总线基于交换基于总线基于交换紧耦合松耦合分布式计算机系统的分类南京理工大学计算机学院分布式系统与WEB服务3)两类分布式系统又分为基于总线的结构和基于交换的结构总线:有共享的总线;交换:CPU之间有专用的数据通路4)具体有四种形式基于总线的多处理机:每个CPU都与总线直接相连;存储器也是如此基于交换的多处理机:采用不同的组织方法来连接CPU和存储器基于总线的多计算机:通过局域网互连基于交换的多计算机:要保持CPU只与特定的局部存储器相连南京理工大学计算机学院分布式系统与WEB服务CUPCACHECUPCACHECUPCACHECUPCACHE基于总线的多处理机南京理工大学计算机学院分布式系统与WEB服务MMMMCCCC交叉开关MMMMCCCC2×2开关(A)交叉开关(B)Omegea开关网络基于交换的多处理机南京理工大学计算机学院分布式系统与WEB服务局部存储器CPUCPUCPUCPU局部存储器局部存储器局部存储器工作站工作站工作站工作站网络由局域网和工作站组成的多计算机南京理工大学计算机学院分布式系统与WEB服务(A)栅格结构(B)超立方体结构基于交换的多计算机南京理工大学计算机学院分布式系统与WEB服务1.3软件观点软件观点分两类:紧耦合的软件系统:独立工作松耦合的软件系统:合作完成任务理论上软硬结合共有八种系统,但只有四种有实际意义,因为多处理机硬件无论使用总线还是交换开关都只能配备紧耦合的软件系统.南京理工大学计算机学院分布式系统与WEB服务常见的软硬件的组织形式:1.网络操作系统是一种典型的松耦合的软件与松耦合的硬件相结合形成的系统。网络操作系统的特点就是系统中的每台机器高度自治。它给用户的支持是最低级.2.分布式操作系统可提供进程间的通信机理;要具有全局性的保护机制,进程管理;文件系统表现一致;各机器间必需保持相同的操作顺序.建立统一的视图南京理工大学计算机学院分布式系统与WEB服务3.处理机分时系统是一种典型的紧耦合的软件与紧耦合的硬件相结合形成的系统。其主要特征是存在一个运行队列,表示系统中的一组逻辑上无阻塞的,准备运行的进程。它与前面两种系统的主要不同在于文件系统的组织进程A运行CACHECUP3CACHECACHE进程B运行进程C运行CUP1CUP2E(就绪)D(就绪)C(就绪)B(就绪)A(就绪)运行队列(D,E)操作系统磁盘拥有一个运行队列的多处理机系统南京理工大学计算机学院分布式系统与WEB服务1.4关键特征注意:不一定每个分步式系统都具有以下特征,它们只是评价系统大依据,是分布式系统追求的目标.部件的分布是分布式系统的内在特征通常按以下五个方面讨论分布式系统的主要特征:1)资源共享两种方法:A)客户/服务器模型,注意:客户机和服务器本身并不一定需是计算机,可为各种处理进程B)面向对象模型,注意:将独立存在的资源作为对象处理.南京理工大学计算机学院分布式系统与WEB服务2)开放性①可伸缩性:删除系统中的某些软件或硬件单元,系统仍可正常工作.②可移植性:软件上可用多种版本,硬件即插即用.③互操作性:数据格式可互换.3)并发性并发性和并行性在分布式系统中是一种内在的特征。4)容错性容错的基本方法为:硬件冗余和软件恢复.表现为故障不显性,分布式系统的冗余颗粒较小,不必进行大系统的备份注意:分布式系统的基础是网络,但网络是没有冗余,因而系统必须有等待故障的修复.南京理工大学计算机学院分布式系统与WEB服务5)透明性美国国家标准协会(ANSA)定义了八种透明性:①访问透明性②位置透明性⑧并发透明性④副本透明性⑤故障透明性⑥迁移透明性⑦性能透明性⑧规模透明性其中最重要的是访问透明和位置透明,直接影响到分布式系统的表现,前述网络操作系统就没有支持这两种透明性。电子邮件系统支持这两种透明性南京理工大学计算机学院分布式系统与WEB服务1.5用户需求1)功能:不仅要完成集中式系统的功能,还必须能完成一些分布式的功能。可通过鉴定改造,革新和演变来实现从集中式系统到分布式系统2)可重构性:主要有两种重构需求,一是短期调整,一是中长期改动。3)服务质量与传统的评价不同,分布式系统从以下角度:①性能②可靠性和可用性③安全性④一致性南京理工大学计算机学院分布式系统与WEB服务1.6分布式系统的优缺点与集中式系统相比主要具有一下几方面优点1)经济:具有较高的性价比与大型机相比2)速度:较快的平均响应时间,3)内在的分布式:支持新型应用,如计算机协同工作(CSCW)4)可扩充性:5)系统的可靠性南京理工大学计算机学院分布式系统与WEB服务与分散的工作站和个人机相比具有一下几方面优点:1)资源共享:分布式系统的目标2)通信得到加强:合作方便3)可扩充能力:提高运行效率主要具有一下几方面缺点:1)分配处理和存储资源时灵活性不足,2)性能和可靠性依赖于网络3)安全保密性不足4)软件不足南京理工大学计算机学院分布式系统与WEB服务以计算为主的问题(分布式计算):数学计算,环境模拟,生物和仿生,经济和财政模型,气象预报,动画制作,…以数据为主的问题(分布式数据):数据挖掘,信息检索,保险分析,图像处理,…以通信为主的问题(网络应用):事务处理,电子商务,远程文件交换,电子信件,…1.7分布式系统的应用南京理工大学计算机学院分布式系统与WEB服务标准系统:网络文件系统ATM(银行自动取款机)分布式数据库(万维网)全球定位系统自动售货终端机航空管制系统网络拍卖系统……南京理工大学计算机学院分布式系统与WEB服务第二章RPC与组通信南京理工大学计算机学院分布式系统与WEB服务分布式系统和单处理机系统的最重要的区别是进程间的通信,单处理机系统的通信可利用共享存储器当然要完成进程间通信就必须遵循规则即协议协议的发展:OSI模型、ATM模式、客户-服务器模型、RPC(远程过程调用)、WEB服务南京理工大学计算机学院分布式系统与WEB服务分布模型南京理工大学计算机学院分布式系统与WEB服务表达逻辑表达逻辑是应用中直接面向用户的部分,主要完成应用的前端界面的处理,如屏幕格式、对话管理、窗口管理等涉及人机交互的工作。表达功能的划分存在两种风格:1)分布表达:应用代码的表达部分在两个或多个网络节点之间被划分,由前端和后端组成南京理工大学计算机学院分布式系统与WEB服务2)远程表达:应用代码的表达部分被完整地放在一节点上,而应用的其余部分位于另一节点上时,则称此表达为远程表达。远程表达处理是各表达功能和其他应用功能之间的合作处理,通过RPC(RemoteProcedureCall)进行。南京理工大学计算机学院分布式系统与WEB服务2.1概述尽管客户-服务器模式为分布式系统提供了一种便利的方法,但它存在无法克服的缺陷:其所有的通信是建立的基础都是输入/输出,以它为基础构建分布式会产生应用问题。RPC(RemoteProcedureCall)是一种分布式系统的构造技术,RPC操作一般在本地进程进行过程调用,而在异地计算机上执行调用。采用RPC技术简化了分布式程序的设计,设计者可不必考虑程序间的通信问题,只须考虑程序单元间的同步和出错等问题。南京理工大学计算机学院分布式系统与WEB服务2.2RPC的设计问题RPC的基本原理为:让本地计算机中的某个过程调用远地计算机的另外一个过程.其执行过程是:本地过程通过消息传递机制将过程调用请求消息传送到远程的一个进程,该过程收到此调用消息,执行被调用过程,然后通过应答消息返回执行结果给调用过程。与传统的过程调用不同的是参数调用;原因是两台机器的操作系统管理自己不同的地址空间.见图示南京理工大学计算机学院分布式系统与WEB服务客户程序客户存根局部调用绑定请求接收绑定参数集结发送消息接收消息结果还原返回结果服务器存根服务器过程执行过程返回结果接收消息参数还原局部调用结果集结发送结果绑定服务器接收消息注册/查询返回结果(1)(0)(2)(5)(3)(4)(7)(6)(8)RPC远程过程调用南京理工大学计算机学院分布式系统与WEB服务计算机A客户机进程度调用过程(挂起)唤醒计算机B服务器进程度被调用过程(执行)返回请求消息应答消息远程过程调用RPC南京理工大学计算机学院分布式系统与WEB服务1)RPC的参数传递输入参数被放在请求消息中,输出参数置于应答消息中。2)参数与结果的装配。3)动态联接动态联接的三方面的工作:①服务器定位:客户机须指明执行远程过程所在的服务器②类型一致性检查:通过使用通用RPC界面解决③保证版本的一致性:因客户机程序和服务器程序是分别编译的处理①③的办法是使用联接器。联接器是一个程序。南京理工大学计算机学院分布式系统与WEB服务4)RPC调用的语义可能导致RPC的失败:①服务器找不到②请求消息丢失③应答消息丢失④服务器崩溃并重新启动⑤客户机崩溃并重新启动RPC的目的就是隐藏机器之间的通信注意:至少一次调用语义;最多一次调用语义追求的目的:恰好一次调用语义南京理工大学计算机学院分布式系统与WEB服务5)RPC的透明性RPC虽与本地过程调用相似,但RPC比本地过程调用更易出错。因此需要透明性6)异常处理其异常处理与传统操作系统中的异常处理是一致的。具有异常处理机制,包括异常产生、异常处理。南京理工大学计算机学院分布式系统与WEB服务2.3RPC界面一个RPC界面是客户机可见的由服务器提供过程的特征,包括过程名及参数类型,参数需注明输入输出以便使RPC软件将参数装配形成消息。既其主要作用就是作为stub生成器(也叫界面编译器)的输入。1.RPC界面设计的基本原理RPC界面定义
本文标题:分布式系统与WEB服务(1)
链接地址:https://www.777doc.com/doc-1586198 .html