分布式计算环境chapter1绪论.ppt

上传人:牧羊曲112 文档编号:6094367 上传时间:2023-09-23 格式:PPT 页数:76 大小:649.50KB
返回 下载 相关 举报
分布式计算环境chapter1绪论.ppt_第1页
第1页 / 共76页
分布式计算环境chapter1绪论.ppt_第2页
第2页 / 共76页
分布式计算环境chapter1绪论.ppt_第3页
第3页 / 共76页
分布式计算环境chapter1绪论.ppt_第4页
第4页 / 共76页
分布式计算环境chapter1绪论.ppt_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《分布式计算环境chapter1绪论.ppt》由会员分享,可在线阅读,更多相关《分布式计算环境chapter1绪论.ppt(76页珍藏版)》请在三一办公上搜索。

1、分布计算环境,邹华 北京邮电大学网络技术研究院 2012.9,Chapter 1 Introduction,主要内容,分布式系统及其挑战 什么是分布式计算?什么是分布计算环境?分布计算技术的发展历程 课程简介,主要内容,分布式系统及其挑战 什么是分布式计算?什么是分布计算环境 分布计算技术的发展历程 课程简介,什么是分布式系统?,A collection of independent computers that appears to its users as a single coherent system.A collection of autonomous computers linke

2、d by a network,with software designed to produce an integrated computing facility.the system software runs on a loosely integrated group of cooperating processors linked by a network.在 网 络 计 算 平台 上 开 发、部 署、管 理 和 维 护 以 资 源 共 享 和 协 同 工 作 为 主 要 应 用 目 标 的 分 布 式 应 用 系 统。,分布式系统举例,分布式系统到处可见校园的图书管理系统、行政办公系统

3、、智能网系统、ATM系统、Web、PSTN、GSM甚至毕设参与开发的系统不同的系统会在多个方面有差别,如从规模上:LAN、WAN从行业上:银行网络(ATM)电信网络(IP Phone)从技术上:WWW、WAP、宽带网从边界上:Internet、Intranet从协议上:TCP/IP在IT领域,目前特别关注以IP为核心实现的网络环境、互联网环境、Web环境,分布式系统的主要特征,包含任意个数的系统进程和用户进程体系结构模块化,它由数目可变的多个处理部件组成通过共享通信结构上的报文传递进行通信,进程之间的报文传送存在延迟且延迟时间可变实行某种全系统范围的控制,以便提供动态的进程间的合作和运行时间的

4、管理不同系统有着不同的控制程度,分布式系统的挑战,一般,分布式系统需要支持以下特性资源共享开放性并发性可伸缩性容错性透明性,资源共享,一旦授权,可以访问环境中的任何资源:硬件(e.g.printer,scanner,camera)、软件(服务)、数据(file,database,web page)相关技术例:资源管理器控制资源的访问 提供命名机制 控制并发访问,开放性,新共享资源添加并被各种客户程序使用的程度支持异构资源的添加和使用相关技术例提供统一的通信机制发布访问共享资源的接口虚拟化技术,并发性,分布系统中的各个组成部分可以在并发的过程中被执行,如:多个用户同时访问应用程序多个服务进程同时

5、运行,相互协作分布系统中的各个进程可以并发访问、更新共享的资源 相关技术例并发控制,可伸缩性,在资源和用户数较大增长的情况下,系统性能仍能维持原状。利用网络环境可以为更多的用户服务、而且响应更快通常通过增加 更多/更快的处理器、更可靠、更完善的服务实现当环境增长时,系统组成部分不必改变,所设计的各个组成部分应当便于系统的伸缩模块化,Scaling Techniques(1),The difference between letting:a server ora client check forms as they are being filled,1.5,An example of divid

6、ing the DNS name space into zones.,Scaling Techniques(2),容错性,错误发生时,系统能够继续工作的能力硬件、软件、网络发生错误的不可避免性相关技术恢复 Recovery如:数据库的Roll back冗余 Redundancy如:IP route,replicated name table of DNS,透明性,网络环境对于用户和应用程序而言,应该是一个整体,而不是一个互相协作的简单的构件集合Sun:Network is computer透明性具有多重的内容访问透明性位置透明性并发透明性副本透明性 故障透明性 迁移透明性性能透明性伸缩透明性。

7、相关技术繁多,连接不同的系统、不同的机构团体通过互连和互操作提高系统的协作能力通过并行处理、负载平衡等提高系统的性能通过复制技术提高系统的可靠性和可用性通过模块化技术提高系统的可伸缩性通过动态配置和重新配置功能提高系统的可扩展性通过资源共享提高系统的性能价格比.,分布式系统的优势,分布式系统的(潜在)问题,软件需求:适合的操作系统、分布计算环境、程序设计语言及应用设计方法 通信网络:信息丢失、恢复、网络过载.安全问题 数据共享 vs 数据保密,小结,Distributed systems are everywhere Internet,intranet,wireless networks.Re

8、source sharing is the main motivating factor for constructing distribute systems.分布式系统比想象的要复杂:异构环境下的应用互操作问题 系统管理问题 系统安全问题透明性支持问题,主要内容,分布式系统及其挑战 什么是分布式计算?什么是分布计算环境 分布计算技术的发展历程 课程简介,什么是分布式计算?,简单地说,分布式计算是两个或多个软件共享信息、协同工作(的过程)。这些软件既可以在同一台计算机上运行,也可在通过网络连起来的几台不同机器上运行。多个进程两种典型的应用途径将分布式软件系统看作直接反映了现实世界中的分布性

9、用于改进某些应用程序的运行性能分布计算技术是构造分布式系统的基础,并行计算和分布计算,并行计算突出的是时间上的同步性:同时进行计算分布计算突出的是空间上的分布性:计算在不同的位置进行分布式计算在很多情况下也是并行计算:在网络的不同位置同时进行两者之间有交叉的技术,如单一系统映像、容错、网络技术。分布系统也可以用来做粗粒度的并行计算,主要内容,分布式系统及其挑战 什么是分布式计算?什么是分布计算环境 分布计算技术的发展历程 课程简介,分布计算环境,分布计算环境提供了不同软、硬件平台资源共享和互操作的有效手段,使得分布式计算可以比较方便地得以实现,从而分布式系统可以比较方便地得以构造方便分布式系统

10、的构建:设计、实现、部署、维护分布式计算环境本身实际上也是分布式系统分布式计算环境构造技术基础分布在网络上的程序之间的互操作技术目录技术、负载平衡技术、容错技术、事务管理技术、安全技术,技术路线(1),理想的技术路线(80年代学术界普遍追求的目标)试图在互连的计算机硬件上部署全新的分布式操作系统,全面管理系统中各自独立的计算机,呈现给用户单一的系统视图。,技术路线(2),现实的技术路线(90年代工业界普遍遵守的路线)在网络计算平台上部署分布计算环境提供开发工具和公共服务支持分布式应用资源共享和协同工作,Distributed Computing Environment,多类分布计算环境,面向不

11、同的软件实现技术或目标应用场合,有不同的分布计算环境过程调用:DCE(RPC)面向对象:CORBA、DCOM、EJB、ICE、Spring面向服务:Web ServiceWeb环境下:Web 1.0、Web 2.0面向资源整合:网格计算、云计算、P2P,主要内容,分布式系统及其挑战 什么是分布式计算?什么是分布计算环境 分布计算技术的发展历程 课程简介,分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布计算技术 面向构件的分布计算技术 基于人工智能的代理技术 面向Web的分布计算技术 面向资源整合的分布计算技术,分布计算技术的发展历程,经典的C/S技术 面向过

12、程的远程过程调用技术 面向对象的分布计算技术 面向构件的分布计算技术 基于人工智能的代理技术 面向Web的分布计算技术 面向资源整合的分布计算技术,C/S模式的基本形式,强调客户端与服务端的分离广义上来讲,函数的调用与实现也属于Client/Server关系,客户/服务器模式的层概念,传统两层C/S模式 三层C/S模式 N层 C/S 模式,传统两层C/S模式,两层模式的特点,特点 请求应答方式 以消息交换作为通信方式 服务集中于特定Server客户端与服务端分离带来的好处数据独立性(客户端)平台无关性一定程度上的可扩充性、安全性、可靠性等,2层=3层=N层结构,2层结构存在很多缺陷:客户端的负

13、担仍比较重仍然需要客户端进行较复杂的数据处理客户端的可移植性不好处理复杂必然牵涉更多的移植性问题每个客户端上都要安装数据库驱动程序系统的可维护性不好客户端包含过多的商业逻辑商业逻辑与人机交互界面交织在一起数据的安全性需求:需要更合理的工作分配3层或多层结构,三层C/S结构,层的概念(TIERS):在客户/服务器意义上,一个层就代表一个具有定义好的特定功能平台,一个平台是一个计算机软件和硬件的组合,本图实际上是一个B/S 结构,三层(多层)结构的主要优点,更合理的分配任务,层次清晰,管理和维护相对简单。使“胖客户”变成“瘦”客户;客户端只需把精力集中在人机界面上。前例的浏览器是纯粹意义上的“瘦”

14、客户,也叫做B/S模式中间业务逻辑层包含了大量的供客户端程序调用的业务逻辑规则(被用户共享),可随具体业务的变化而改变,大大提高系统的可伸缩性。,三层(多层)结构的主要优点(续),使中间层的业务逻辑处理与数据层的业务数据紧密结合在一起,可以提高系统的性能。数据服务层主要提供对数据库进行各种操作的方法,系统的安全性提高。大量的中间层分布计算环境提供丰富的系统级服务,使得开发人员可以以更少的工作量开发出更复杂、可靠、高效的软件系统。,N层结构,在3层结构中,客户层和数据层已被严格定义,但中间层并未明确定义。中间层可以包括所有与应用程序的界面和持久数据存储无关的处理。假定将中间层划分成许多服务程序是

15、符合逻辑的,那么将每一主要服务都视为独立的层,则3层结构就成为N层结构。例如,中间层可以分为实现界面呈现的Web服务器层和实现实际商业逻辑的EJB层。,J2EE架构中的多层结构,因为分布式软件跨越了多台计算机,所以需要一种类似于TCP/IP这样的网络基础设施来连接应用程序的各节点。需要抽象层次更高、更方便实用的通信机制。在两层结构中,对网络协议的抽象是比较容易的:数据库驱动程序 嵌入式SQL ODBC/JDBC等。多层结构需要更复杂基础设施以实现跨网络的通信。相应的分布计算环境会进行支撑,层间通信,分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布计算技术 面

16、向构件的分布计算技术 基于人工智能的代理技术 面向Web的分布计算技术 面向资源整合的分布计算技术,面向过程的远程过程调用,沿用用户熟悉的编程模式,调用远端过程并将结果返回。通信一般采用同步方式(Request-Wait-Reply)。,远程过程调用机制(RPC),在发送方的地址空间里创建一个远程组件(如过程)的代理,在接收方的地址空间里创建一个桩(Stub)。发送方与代理通信,代理再和接收方侧的Stub通信。在这种体系结构下,组件间的远程通信封装在代理Stub通信中,它是由建立在中间件API基础上的IDL编译器生成的。发送方只和本地代理通信,接收方从本地Stub得到所有的请求。,远程过程调用

17、机制(续1),分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布计算技术 面向构件的分布计算技术 基于人工智能的代理技术 面向Web的分布计算技术 面向资源整合的分布计算技术,面向对象的分布计算技术,近20年来,面向对象技术已成为软件系统构造的基本技术OO的精髓在于对象维护自身的状态并通过消息进行通信,这对于分布式计算环境是非常理想的分布对象技术核心内容在于分布对象之间的互操作,尤其是异构环境中的互操作问题,典型的面向对象的分布计算环境,CORBA:Common Object Request Broker Architecture DCOM:Distribut

18、ed Component Object Model EJB:Enterprise Java Bean,CORBA,分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布对象技术 面向构件的分布计算技术 基于人工智能的代理技术 面向Web的分布计算技术 面向资源整合的分布计算技术,面向构件的分布计算技术,基于对象的应用程序-通过重用类库中的对象达到代码重用真正实现了信息隐藏和数据抽象的承诺各种应用程序分享细颗粒的对象(类库)对象仍然是被动的,仍然需要一种结构(控制流)将它们连接到一起不能把握将对象拼装在一起所需的逻辑联系=不能提供高度的代码重用机制大量的应用程序,特

19、别是同一领域中的应用程序,分享相似的结构。这些结构并没有经过通常的面向对象技术而得到重用。解决方法:软件构件体系结构框架、构件、对象总线,软件构件体系结构的应用模型,分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布对象技术 面向构件的分布计算技术 基于人工智能的代理技术 面向Web的分布计算技术 面向资源整合的分布计算技术,背景,Internet和Web技术的飞速发展和普及,对代理技术提出了很大的需求信息爆炸工作生活安排日益复杂软件之间的协作日益复杂人工智能技术的成果,对代理技术有了较好的支撑,什么是代理,广义的代理:人类、物理世界中的移动机器人和信息世界中

20、的软件机器人狭义的代理:信息世界中的软件实体。具有一定程度的智能,其智能化的程度可以从简单的预定义规则到复杂的自学习人工智能推理机。代理可代表其它实体如人、系统资源或其它程序自主地运行,并常常是事件或时间驱动的。它可与用户、系统资源或其它代理进行通信以执行自己的任务。更先进的代理可与其它代理合作承担单个代理无法完成的任务。移动代理还可根据需要从一个系统移到另一个系统上运行。,移动代理和移动代理环境,分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布计算技术 面向构件的分布计算技术 基于人工智能的代理技术 面向Web的分布计算技术 面向资源整合的分布计算技术,面

21、向Web的分布式计算,Internet和Web技术的飞速发展和普及,对信息共享和应用协同提出了更高的要求信息共享Web 1.0Web 2.0广域网络环境下,异构应用程序的互操作Web Service,Web 1.0,以数据为核心,将以前没有放在网上的人类知识,通过商业的力量,放到网上去 通过WEB,互联网上的资源,可以在一个网页里比较直观的表示出来;而且资源之间,在网页上可以链来链去 手工浏览互相链接的文档通过手工操作处理采购等商业事务下载文件支持Web 1.0 的分布计算环境的主要组成及支撑技术浏览器、Web服务器搜索引擎、门户网站HTTP、HTML静态网页技术、动态网页技术,Web 2.0

22、,以人为出发点,让所有的人都忙起来,全民织网,然后用软件,机器的力量使这些信息更容易被需要的人找到和浏览。用户:贡献内容,传播内容,提供内容之间的链接关系和浏览路径 支持Web 2.0的主要组成及支撑技术支持 Wed 1.0的相关组成和技术Blog:用户织网,发表新知识,和其他用户内容链接,进而非常自然的组织这些内容。RSS:用户产生内容自动分发,定阅 Podcasting:个人视频/声频的发布/定阅 SNS:blog+人和人之间的链接 WIKI:用户共同建设一个大百科全书.,Web Service,传统的的Web技术解决的问题是如何让人来使用Web应用所提供的服务,而Web Service则

23、要解决如何让计算机系统来使用Web应用所提供的服务。目标:在现有的各种异构平台的基础上,构筑一个通用的,与应用无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成,完全基于XML以及其他相关的Internet标准,什么是一个Web服务?,一个能够使用XML消息通过网络来访问的Interface,这个Interface描述了一组可访问的操作。通过对Web服务的集成,可以提供丰富的方便Web用户访问的应用面向服务的计算技术,分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布计算技术 面向构件的分布计算技术 基于人工智能的代理技术 面向

24、Web的分布计算技术 面向资源整合的分布计算技术,面向资源整合的分布式计算,随着Internet技术的飞速发展和普及,网络上分布着浩瀚的资源计算、存储、设备、服务、信息另一方面,很多应用面临的问题越来越复杂,需要的资源越来越多如何有效地整合资源资源共享、资源管理、协调工作典型研究,大多以虚拟化技术作为基础网格计算云计算,网格计算,把整个网络整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源等的全面共享要解决的主要问题包括:如何共享各类资源,资源虚拟化技术然后在资源共享的基础上,通过各个资源的协作来完成各种任务提供透明的,方便的使用这些功能的接口,云计算,云计算是一

25、种新兴的共享基础架构的方法,它可以将巨大的系统池连接在一起以提供各种IT服务(IBM)使计算能力、存储能力、网络能力、各种软件服务能力等可以向电能一样提供给客户,P2P计算,P2P 是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力等)和软件资源或者数据资源,这些共享资源能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源提供者(Server),又是资源获取者(Client),分布计算技术的发展历程,经典的C/S技术 面向过程的远程过程调用技术 面向对象的分布对象技术 面向构件的分布计算技术 基于人工智能的代理技术 面向

26、Web的分布计算技术 面向资源整合的分布计算技术,分布计算技术发展历程:多说几句,在计算技术和网络技术发展不同的阶段,有相应的分布计算技术和对应的支撑环境,这是需求和技术双向驱动的大多技术的发展阶段有交叠大多技术之间有着千丝万缕的联系有的技术基于其他一些技术发展如:ORB学习了RPC的技术如:网格服务基于Web服务有的技术可出现在系统的不同层次中如:Web服务的内部实现可基于CORBA或者EJB技术,分布计算技术发展历程:多说几句(续),新的技术不一定能完全取代旧的技术新的技术不一定能够完全克服旧技术遇到的问题由于遗留系统、市场占有率、面向的应用角度、新技术的成熟度等问题,新旧技术常常在很长一

27、段时间内并存,主要内容,分布式系统及其挑战 什么是分布式计算?什么是分布计算环境 分布计算技术的发展历程 课程简介,主要内容,构造基于网络环境的大型软件系统时将遇到什么样的问题?现有的分布计算技术及支撑环境概述绪论 通过实例来讲述解决这些问题的原理和技术ODP、CORBA 软件构件体系结构、EJB、轻量级框架 XML,Web 2.0,Web Service,SOA 网格、P2P、云计算Agent,参考资料(目前没有特别合适的教材)分布计算环境 王柏,王红熳,邹华 北京邮电大学出版社,2000.8分布式软件体系结构(电子版)李文军、周晓聪、李师贤等,中山大学计算机系参考国际国内相关领域的规范、著

28、作、学术论文和其它网上资料等Assessment作业:20 Final Exam-80%,说明,邹华:新科研楼519 61198133,联系方式,说明,课程特点内容比较分散原理性和实践性都比较强几点建议每次课后对课件进行复习,并与前面介绍的进行比较掌握各种分布计算环境的基础思想从技术出现的背景出发,多问自己:为什么这个技术出现了?它主要想解决什么问题?它为什么是这样的一种架构?主要特点是什么?带着比较的观点学习,分析各种技术的相同点和不同点尽可能作实验,学会初步使用,再多说几句,本课程的很多概念没有完全确定的定义不同的定义在思想上大体相同,但在细节上或者在出发点上等,有着差异应该去比较,而不是试图找出一个完全正确的来相关技术的分类方式也不统一基于的分类标准不一样要学会思考,形成自己的理解此类专业课没有精准、完善的理论体系大多依赖讲授者自身的理解很多的东西,从不同的角度去看,得到的视图是不一样的,而且理解也可能是不一样的,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号