分布式计算环境课程总结.pptx
- 文档编号:10273233
- 上传时间:2023-05-24
- 格式:PPTX
- 页数:123
- 大小:2.11MB
分布式计算环境课程总结.pptx
《分布式计算环境课程总结.pptx》由会员分享,可在线阅读,更多相关《分布式计算环境课程总结.pptx(123页珍藏版)》请在冰点文库上搜索。
分布计算环境课程总结,主要内容,第一章绪论第二章分布式系统的基本原理第三章面向对象的分布计算环境第四章面向构件的分布计算环境第五章面向Web的分布计算环境第六章面向资源整合的分布计算环境第七章基于人工智能的分布计算环境,绪论,分布式系统在网络计算平台上开发、部署、管理和维护以资源共享和协同工作为主要应用目标的分布式应用系统分布计算简单地说,分布式计算是两个或多个软件共享信息、协同工作。
这些软件既可以在同一台计算机上运行,也可在通过网络连起来的几台不同机器上运行。
分布计算技术是构成分布式系统的基础,分布计算环境,分布计算环境:
分布计算环境提供了网络环境下不同软、硬件平台资源共享和互操作的有效手段,使得分布式计算可以比较方便地得以实现,从而分布式系统可以比较方便地得以构造方便分布式系统的构建:
设计、实现、部署、维护分布式计算环境本身实际上也是分布式系统,DistributedComputingEnvironment,分布计算环境的技术基础,分布式计算环境构造技术基础分布在网络上的程序之间的互操作技术目录技术、负载平衡技术、容错技术、事务管理技术、安全技术面向对象的分布计算环境简化面向对象的分布式系统的设计与实现面向构件的分布计算环境简化基于构件的分布式系统的设计与实现面向的分布计算环境,主要内容,第一章绪论第二章分布式系统的基本原理第三章面向对象的分布计算环境第四章面向构件的分布计算环境第五章面向Web的分布计算环境第六章面向资源整合的分布计算环境第七章基于人工智能的分布计算环境,分布式系统的基本原理,体系结构进程通信命名一致性和复制容错安全,分布式系统体系结构样式,1、分层体系结构2、对象的体系结构3、以数据为中心的体系结构4、基于事件的体系结构,系统体系结构,系统体系结构:
软件体系结构的具体实例。
确定了软件组件、这些组件的交互以及它们的位置(部署)就是软件体系结构的一个实例。
主要讨论1、集中式体系结构2、非集中式体系结构,如P2P3、混合体系结构,C/S集中式的各种各样的分层方式,如何分层取决于应用系统的具体情况,混合型体系结构,将客户/服务器结构与非集中式结构相结合如:
边界服务器系统(edgeserver),C/S,P2P,进程,分布式系统中,进程是基本部分,它们构成了不同机器间通信的基础;分布式系统中的线程对于执行阻塞性I/O操作时继续使用CPU是非常有用的,如采用多线程方式,可以构建更高效的服务器;客户进程一般实现用户接口;通过隐藏与服务器通信的细节,获得更好的分布透明性;客户进程可以是多线程的;服务器进程可以实现一种服务也可以实现多种服务,可以是状态无关的也可以是状态相关的;服务器进程常是多线程实现的;很多服务器组织成集群,通常需隐藏集群内部细节,使用单访问点将请求消息转发给服务器。
服务器的有状态和无状态,无状态服务器:
服务器不保存客户程序的状态例如,Web服务器有状态服务器:
保存客户程序的状态例如,NFS文件服务器文件使用表(客户,文件,可更新否)服务器重启时:
恢复故障前状态无状态服务器也可以实现有状态的服务如Web服务器使用Cookie,通信,传统的分布式系统通过基于传输层提供的低层消息来进行通信,如TCP/IP套接字分布计算环境(中间件)提供更高层次的通信支持RPC、RMI基于消息的通信RPC、RMI等主要提供同步通信功能但在一些应用场合,面向消息的异步通信更方便一些瞬时和持久,同步和异步:
这些性质可以组合,如:
通信持久性和同步性的组合,(a)持久异步通信(b)持久同步通信,通信,面向流的通信服务质量QoS数据传输要求的比特率创建会话的最大延时端到端最大延时最大往返延时误码率丢包率流的同步多播通信从发送方到多个接收方,命名,名称在所有计算机系统中都起着非常重要的作用名称可用来表示实体,基本有3种类型的名称:
地址、标识符、用户友好的名称命名系统的主要功能是把名称解析为它所标识的实体简单地,命名系统中可以有一个名称到地址的绑定表如(Name,address)表大型分布式系统,资源众多,一个表可能无法满足要求分布式系统中,命名系统的实现本身通常是分布在多台计算机上的其分布机制对命名系统的效率和可靠性起着关键的作用,分布式系统常见的三类命名系统,无结构命名名称中不包含任何有关如何定位其相关实体的访问点的信息:
广播多播、分布式散列表结构化命名简单的、人类可理解名称;名称通常组成名字空间:
根节点、目录节点、叶节点DNS基于属性的命名常用(属性、值)来描述实体;基于属性的命名系统称为目录服务。
LDAP,分布式系统常见的三类命名系统,复制与一致性,进行复制的主要原因:
可靠性:
一个副本被破坏,可以切换到另外的副本,保护数据,不影响应用的运行。
性能:
并行性、可伸缩性,(服务器数量、地域)可均衡负载,提高访问性能地域扩展,就近访问,提高性能。
复制是有代价的,副本间要有一致性保证紧密一致性很难达到松驰一致性:
一致性放宽的程度主要取决于复制数据的访问和更新模式,同时还取决于这些数据的用途,常见的一致性模型,以数据为中心的一致性模型:
假设并发进程可能并发读写数据存储以用户为中心的一致性模型:
保证一个客户对数据存储的访问是一致的,容错:
失效(失败)模型,可靠的客户服务器通信,RPC失效5种失效情况,进程的容错,复制进程,用一个容错的进程组来代替一个脆弱的进程需要多少复制?
取决于失效类型故障系统的协定:
在有限的步骤内,所有非故障进程达成某个一致意见如果通信是不可靠的,无法达成协定两军问题如果通信是可靠的,什么情况下可达成协定?
拜占庭将军问题,可靠的分组通信,可靠多播:
发送到一个进程组的消息被传递到该组的每个成员基本的可靠多播方法:
假定所有的接收者已知而且假定不会失败的简单可靠多播方法反馈抑制技术虚拟同步可靠多播:
发送方在多播期间崩溃,也保证可靠多播原子多播:
提供了全序消息传送的虚拟同步可靠多播。
分布式提交,分布式提交:
具有原子性:
要使一个操作被进程组中每一个进程都执行或都不执行。
通常使用协调者两阶段提交,恢复处理,目的:
使系统从错误状态到正确状态类型:
向后恢复向前恢复检查点技术(checkpoint)分布式快照,多米诺效应消息日志技术(logging)基于发送者也可基于接收者写日志,安全:
基本概念,一个安全的计算机系统,必须具有以下两个属性:
机密性(Confidentiality):
指计算机系统的一种属性,系统凭借此属性使得信息只向授权用户公开。
完整性(Integrity):
指对系统资源的变更只能以授权的方式进行。
不适当的变更应该是可以察觉的并可以恢复的。
安全威胁:
窃听、中断、篡改、伪造安全机制:
加密、认证、授权、审计,核心基础:
加密,对称加密系统:
使用相同的密钥进行一个消息的加密和解密非对称加密系统(也叫公钥系统):
加密和解密所使用的密钥不同,但两个密钥一起构成唯一的一对:
符号定义,安全通道,安全通道保护发送者和接收者之间的安全通信通信方必须正确正确:
身份认证通信的数据保持机密性和完整性机密性:
使用加密技术,常使用会话密钥完整性:
数字签名,身份认证,数字签名和消息摘要,使用公钥密码对一个消息进行数字签名,Kerberos的身份认证和安全通道建立,访问控制矩阵和权能,在保护对象上ACL和权能的比较,使用ACL,使用capabilities.,密钥的分发:
公钥证书,公钥分发可通过使用公钥证书实现。
公钥证书由一个公钥与一个标识该公钥所关联的实体的字符串共同组成该公钥和标识符共同由认证机构签发,因此此签名也置于该证书上。
主要内容,第一章绪论第二章分布式系统的基本原理第三章面向对象的分布计算环境第四章面向构件的分布计算环境第五章面向Web的分布计算环境第六章面向资源整合的分布计算环境第七章基于人工智能的分布计算环境,面向对象的分布计算环境,分布式系统中的面向对象技术分布对封装性、继承性和对象引用的影响开放分布式处理ODPODP是为了解决什么问题而提出来的?
主要内容:
视点、透明性、功能CORBA技术OMA体系结构、IDL、ORB面向对象的远程方法调用是如何实现的?
OpenDistributedProcessing,ISO和ITU-T的开放分布处理模型(ODP-RM)为面向对象的分布式处理提供一个通用的体系结构框架,将开放式思想引入分布式处理,以解决异构系统间各种相关机制的一致性问题ODP-RM能够协调和指导不同应用领域的ODP标准的开发。
即它是一种框架,在其上可实现不同的”分布计算环境”。
ODP的主要内容,主要包含三部分:
视点:
为清晰地描述复杂的系统,把对ODP系统的说明细化为五个视点(即从五个不同的角度来观察),以及用于表达这五个视点的语言。
透明性:
开放式分布处理系统应该提供的八个透明性。
功能:
定义开放式分布处理平台应该具有的功能。
ODP的视点,ODP的分布透明性,ODP的分布透明性访问透明性、位置透明性、重置透明性、持久透明性、迁移透明性、复制透明性、故障透明性、事务透明性,CORBA,CommonObjectRequestBrokerArchitecture:
OMG组织制定的一个工业规范,是一个体系结构和一组规范定义了一系列API、通信协议、组件/服务信息模型,使得异质应用程序能够互相操作,这些应用程序用不同的程序语言编写,运行在不同的平台上。
目的:
在分布式环境下实现应用的集成,使基于对象的软件成员,在分布的、异构的环境下可重用、可移植、可互操作。
方法:
提供一个框架,如果符合这一框架,就可以在主要的硬件平台和操作系统上建立一个异质的分布式应用。
CORBA的OMA,对象管理体系结构OMA:
描述了OMG规范所遵循的概念化的基础结构,CORBA的IDL,仅定义接口,不定义实现分隔“对象作什麽(WHAT)”与“如何做(HOW)”,CORBA的ORB,对象请求代理ORB(ObjectRequestBroker):
定义异构环境下对象透明地发送请求和接收响应的基本机制。
ORB为客户隐藏:
对象位置对象实现方式对象执行状态对象通信机制为什么在异构环境下能够透明地发送请求和接收响应?
存储允许ORB的定位和激活对象实现的信息,如Server支持的类、实例化对象、这些对象的ID等运行时信息。
对象引用的生成、维护,方法调用、对象的激活与终止、对象定位等功能。
BOA:
BasicObjectAdapterPOA:
PortableObjectAdapter,DII在Server方的对应。
DSI从进入的消息找出调用的目标对象及相应的方法,并提供运行时的连接机制。
允许动态地构造对象调用。
客户机可推迟到运行时选择对象的实现接口和操作。
静态IDL存根在Server侧的对应。
由IDL编译程序自动生成。
服务的静态接口。
由IDL编译程序自动生成。
在客户端,如同一本地调用,是远程SERVER对象的代理。
访问某个对象实现所提供的服务的程序。
根据其接口了解其逻辑结构,并通过调用掌握对象的行为,所定义的IDL接口的真正实现。
可用语言:
C,C+,Java,Smalltalk,Ada,是ORB最关键的部分,负责请求的通信设施:
对象的定位编组与解组启动初始服务屏蔽底层网络细节提供接口库和其它的API,ORB的组成,对象的IDL接口定义的存储、分布和管理。
客户对象可以在运行时查阅接口仓库的内容,获得对象实现的IDL接口信息,从而向对象实现发出请求。
当客户程序要调用远程对象上的方法时,首先要得到这个远程对象的引用,之后就可以像调用本地方法一样调用远程对象的方法。
当发出一个调用时,实际上ORB会截取这个调用(通过客户Stub完成),因为客户和服务器可能在不同的网络、不同的操作系统上甚至用不同的语言实现,ORB还要负责将调用的名字、参数等编码成标准的方式(称Marshaling)通过网络传输到服务器方(有时在同一台机器上也如此),并通过将参数Unmarshaling的过程,传到正确的对象上(这整个过程叫重定向,Redirecting),服务器对象完成处理后,ORB通过同样的Marshaling/Unmarshaling方式将结果返回给客户。
ORB内核提供的服务对象接口,同时为客户方和对象实现方所见,可直接为应用程序所使用。
CORBA服务,CORBA服务:
系统级的对象框架。
这些服务扩展了基本的CORBA体系结构。
CORBA服务代表了一组预先实现的,软件开发商通常需要的分布式对象,如:
命名服务事务服务OMG为每个服务定义了标准API。
实现厂商提供支持这些API的具体产品,它们的实现方法可能不同,但接口是一致的。
用户购买、部署需要的服务产品。
在程序中使用时,首先获取服务中相应对象的IOR,然后调用它的操作即可。
基于CORBA的软件开发,主要内容,第一章绪论第二章分布式系统的基本原理第三章面向对象的分布计算环境第四章面向构件的分布计算环境第五章面向Web的分布计算环境第六章面向资源整合的分布计算环境第七章基于人工智能的分布计算环境,面向构件的分布计算环境,软件构件结构框架、构件、对象总线构件模型EJB和J2EE各类EJB及其相应的生命周期函数EJB容器JavaEE轻量级框架和EJB3.0,软件构件结构,软件构件体系结构:
本课中对基于构件的软件体系结构的简称框架对问题的部分解决,是让用户集成构件的架构构件(组件)构件是软件的基本单元,既足够小,以便于维护,又应足够大,以使之具有功能,可以被打包和使用。
构件的集成构成软件应用。
对象总线是一种机制,使得构件和框架能够调用分布式环境中的另一构件或框架的服务。
构件模型,构件模型:
定义构件的基本的体系结构,制定它的接口的结构,及它与它的容器及另外的组件交互的机制。
现在常用的框架一词,如Spring框架中的框架,可以理解为是一种构件模型构件模型构件容器此处容器相当于前面介绍的“框架+对象总线”当前主流的几种构件模型:
CORBA、DCOM、EJB、SPRING,EJB,EJB:
Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。
应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。
EJB2.X的三个关键构件EJBHome接口EJBObject接口EJB实现类,EJB的调用,客户端利用JNDI查找EJBHome。
客户端利用EJBHome的create方法创建一个sessionEJB。
本地EJBHome通知容器创建一个远程EJB构件。
容器向客户端返回EJBObjectstub。
客户端调用EJBObject上的方法,调用被转发到远程的EJB完成。
EJB的分类,EJB的分类实体bean会话Bean消息驱动BeanEJB的生命周期方法,Statelessbean的生命周期,Statefulbean的生命周期,BMPbean的生命周期状态,EJB的容器,远程连接管理生命周期管理事务管理容器管理的事务Bean管理的事务安全管理声明性的授权可编程的授权资源管理,J2EE,JavaEE,轻量级框架,典型代表:
Spring以依赖注入(DependencyInjection)为代表的解耦合模式,可以让组件不去依赖容器(运行环境)的API轻量级容器通过反向控制(InversionofControl)让容器具有主动权,去管理插进来的组件,只要组件是符合标准的,就可以被轻量级容器管理组件以POJO(PlainOldJavaObject)的形式存在,只要你有Java.exe就可以运行它,不需要容器就可以实现测试行为基于轻量级框架进行系统开发的时候非常迅速,但对分布系统的实现支持相对较弱。
轻量级框架:
量级主要由容器的依赖性所决定,依赖性越小,越轻量。
SSH架构,Spring核心的主要功能,Spring核心提供了以下支持:
支持“控制反转/依赖注入”的容器控制反转:
InversionofControl依赖注入:
DependencyInjection,byMartinFowlerAOP框架AOP:
Aspect-OrientedProgramming服务抽象层以统一的方式来集成不同的标准接口和第三方API这些功能使程序员可以使用POJO来编写功能强大并且伸缩性好的应用,控制反转与依赖注入,当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。
但在轻量级容器里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由容器来完成,然后注入调用者,因此称为依赖注入。
颠覆了“使用一个对象之前,必须先创建它”这一编程理念。
依赖注入,IoCContainer,依赖注入就是由容器负责查找被依赖的对象,并注入到依赖bean中,而bean本身不再需要进行JNDI或者context查询。
此外,依赖注入发生在任何业务方法被调用之前,而且支持setter方法注入和域注入两种方式。
AOP:
将横切面(Aspect)独立考虑,基于重用的原则,可以将这些“横切面”的处理逻辑抽象出来,作为一个“Aspect”单独开发Aspect可以类比为一个特殊的“类(Class)”开发完成后可以再次应用在所有具有此需求的流程上,横切面关注点,应用领域上的关注点,轻量级框架和EJB3.0,简化EJBEJB3.0规范中主要涉及两个方面的改变:
一套以标注为基础的EJB编程模型取消或最小化了很多(以前这些是必须实现)回调方法的实现EJB只是一个加了适当标注的简单Java对象(POJO)新的实体Bean持久化模型降低了实体Bean及O/R映射模型的复杂性,EJB3.0Programmingmodel,主要内容,第一章绪论第二章分布式系统的基本原理第三章面向对象的分布计算环境第四章面向构件的分布计算环境第五章面向Web的分布计算环境第六章面向资源整合的分布计算环境第七章基于人工智能的分布计算环境,基于Web的分布计算技术,XML语义Web为解决什么问题而提出的?
Web2.0特点包含哪些主要技术WebService,XML,由万维网联合组织(W3C:
WorldWideWebConsortium)制定的最新页面描述语言标准。
元语言。
用来对信息进行自我描述。
关注于怎样描述数据内容的组织和结构,以便数据在网络上进行交流和处理。
被标记的各个数据是保持其含义的,因此系统间交换数据的可能性极大提高。
WhereDoesXMLfitin?
HTML=UniversalRenderingJava=UniversalCodeXML=UniversalData,XMLSchema,XMLschema本身是规范的XML文档,支持的数据类型包括数字型、布尔型、整型、日期时间、URI、十进制数等。
而且它还支持由这些简单的类型生成更复杂的类型。
XSL和XSLT,DOM和SAX,XML,XML的基础标准之间的相互关系,78,语义Web,每个资源有ID和清晰的定义,如软件,文件,人,地点概念之间的关系有清晰的定义,如软件产生文件,软件依赖于软件,文件的版本,文件具有主题,人所在地点,产生,依赖于,依赖于,是的版本,主题,作者,位于,SemanticWeb-Layers,RDF的图模型,RDF的概念模型是图模型:
可把RDF声明表示为有向、带标签的图。
椭圆节点表示用URI指代的主体和客体方框节点表示文字类型的客体有向弧标签则表示用URI指代的谓词,资源/主体,客体,谓词,RaymondLau,创建者,81,RDFSchema,RDF只是定义了一种描述资源的框架,并没有定义可以使用哪些词汇对资源进行描述RDFSchema(简称RDFS)实现对RDF的扩展,可用于描述和定义于特定应用相关的类和属性,从而可创建自定义的词汇表字典表述语言RDFS的作用:
定义资源以及属性的类别;定义属性所应用的资源类以及属性值的类型;定义上述类别声明的语法;申明一些由其它机构或组织定义的元数据标准的属性类。
82,WhatisOntology.,Anontologyisaformal,explicitspecificationofasharedconceptualizationGruber:
共享概念模型的明确的规范说明Conceptualization指通过抽象出客观世界中一些现象的相关概念而得到的模型Explicit指所使用的概念及使用这些概念的约束都有明确的定义Formal指Ontology是计算机可读的Shared指Ontology中体现的是共同认可的知识,反映的是相关领域中公认的概念集,Web2.0的定义,无统一定义定义1:
Web2.0是一个作为平台的网络,跨越了所有连接的设备;Web2.0的这些应用构成了这个平台的优势所在:
发布软件成为一个持续更新的服务,并使更多的人更好的使用这种服务;获取并重组那些包括其他个人用户在内的各种来源的数据,并对其他人提供自己的数据与服务以便他们以同样的方式使用;通过一种共享网络架构的方式高效的创建网络,并提供比Web1.0更丰富的用户体验”WhatisWeb2.0,TimOReilly,2005年10月一种以用户为中心的网络技术与服务以用户参与、用户互动为典型特征的万维网,互联网作为平台,Web2.0的典型应用和技术,BLOGSNS微博社会书签维基百科Wiki内容聚合RSSMashupAjax,WebService,目标:
在现有的各种异构平台的基础上,构筑一个通用的,与应用无关、语言无关的技术层,各种不同平台之上的应用依靠这各技术层来实施彼此的连接和集成;能够在一个分布式的计算环境中动态地描述、发布、发现和调用有利于应用的集成HTTP+XML,最通用的访问方式基于规范协议的访问接口,可支持所有平台和应用仅使用WebService作为访问界面,使得所有接入模块的编写变得容易,XMLWebService,什么是一个WebService:
一个能够使用XML消息通过网络来访问的服务,这个服务的Interface描述了一组可访问的操作。
由SOAP+WSDL包装的Object适应松散耦合的网络环境,可通过Web访问,手段是SOAPMessage服务的行为、输入/输出都可使用WSDL描述,WebService体系结构,WebService体系结构,ServiceProvider,ServiceBroker,ServiceRequester,Find/UDDI/WSDL,Bind/Invoke,Publish/UDDI/WSDL,UDDIRegistry,WebService,ClientApplication,SOAP,SOAP协议,SOAP信封:
“装”消息请求和消息数据的编码规则RPC调用规范SOAP绑定SOAP是基于平台独立的选择简单的XML格式可以在任意平台采用任意技术可以使用开放源代码资源可采用HTTP承载,方便在Internet范围内传送,WSDL,WSDLWhat:
WebService做什么Where:
WebService位于哪里How:
怎样调用WSDL结构types:
描述将会使用的数据类型message:
定义传入传出的消息格式portType:
定义了一个入口的类型(使用了怎样的request/response消息对):
单请求、单响应、请求/响应、响应/请求binding:
确定portType将会使用何种传输协议(SOAP/HTTP-POST/)port:
定义了一个关联某个binding的服务入口service:
一组port组成的WebService,RESTfulWebService,是指使用HTTP的语法和语义将其功能作为一组可寻址资源提供的Web服务。
使用URI来标识唯一对应的资源使用HTTP作为其应用协议使用HTTP的统一方法作为操作资源的抽象方法方法信息(methodinf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 计算 环境 课程 总结