分布式计算环境知识点汇总.docx
- 文档编号:23140312
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:21
- 大小:2.14MB
分布式计算环境知识点汇总.docx
《分布式计算环境知识点汇总.docx》由会员分享,可在线阅读,更多相关《分布式计算环境知识点汇总.docx(21页珍藏版)》请在冰豆网上搜索。
分布式计算环境知识点汇总
1什么是分布计算?
什么是分布式计算环境?
分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
定义:
分布式计算是一种把需要进行大量计算的工程数据(任务)分割成小块,由多台计算机分别计算,在上传运算结果后再统一合并得出数据结论的科学。
分布式计算环境是为分布式应用开发、集成、运行及管理、维护等提供支持的基础设施,以及编程模型、协作模型、程序库、框架等
②分布式计算环境与分布式操作系统的区别是什么?
视图不同,屏蔽的程度不同
分布式操作系统(松耦合硬件紧耦合软件)
单系统映像
•单一的全局的进程间通讯
•进程管理处处相同
•分布式文件系统
•相同的系统调用,各机器上系统内核相同如:
AmoebaMach等等
同步,事务,进程管理调度处理器的分配.分布式文件系统,分布式共享存储器.
网络操作系统(松耦合硬件紧耦合软件)
•高度自治
③简述分布计算技术的发展历程及标志性成果?
40-50年的历史
20世纪80年代
•研究为主,开始阶段
20世纪90年代
•高速发展阶段
现在
•蓬勃发展
•新的计算模式不断涌现:
普适计算、云计算、移动云计算
分布式计算技术经历了三个阶段:
面向过程、面向对象、面向服务
面向过程的分布式计算环境核心是远程过程(RPC)机制,称为DCE/RPC,其思想し把本地的过程调用扩展到分布式环境,当程序员调用一个远程过程时,实际执行的是一个代理函数,代理过程目的是编排输入函数,并传送到远程服务器,服务器进程包含占位模块(STUB),其作用是提取输入参数并传送给实际的远程过程,函数结果编排后又返给客户代理过程,在代理过程提取返回值给远程调用者。
面向对象组件技术,核心技术是ORB,如同一条总线把分布式对象系统中的各类对象和应用链接成相互作用的整体。
分布式对象技术本质是在分布式异构环境下建立一个应用系统框架,在该框架下,各种软件功能被封装为易于管理和使用的分布式对象组件,并可进行组装,主流技术为CORBA,DCOM,JAVARMI
面向服务的webservice,有效的基于internet的分布式计算体系结构,使得应用程序、业务过程按照前所未有的方式一起工作,真正做到跨网络、跨语言、跨平台。
异构平台间防火墙通信:
无语言相关性、无平台相关性、无对象相关性。
主流技术:
数据通信协议SOAP。
现存的分布式计算存在的公共问题包括:
标准问题、软件方法学问题、质量和可用性问题、异构问题
随着分布式计算技术研究的不断深入,许多研究者发现单个技术在技术手本身、应用领域等方面的局限性越来越明显,从而把目光投向多种现有分布式计算技术的综合,是未来分布式计算技术的发展趋势,例如OGSA是网格技术和WEBservice的综合结果,被称为下一代网格体系结构,在OGSA框架中,将一切都抽象为服务,包括计算机、程序、数据、仪器设备等。
这种观念,有利于通过统一的标准接口来管理和使用网格,OGSA在原来WebService服务概念的基础上,提出了“网格服务(GridService)”的概念,用于解决服务发现、动态服务创建、服务生命周期管理等与临时服务有关的问题。
④请给出如下缩略语的中英文全称
TCP/IP:
TransmissionControlProtocol/InternetProtocol、传输控制协议/互联网协议
NSF、
RPC:
RemoteProcedureCallprotocol、远程控制调用协议
DCE:
DistributedComputingEnvironment、分布式计算环境
CORBA:
CommonObjectRequestBrokerSpecification、公共对象请求代理体系结构
EJB、
JEE、
CCMCORBA:
ComponentModel、
SOA、
WSDL、
SAOP、
IIOP、
GIOP、
UUDI、
XML(ExtensibleMarkupLanguage、
CDR、
XDR:
eXternalDataRepresentation、
IDL:
InterfaceDefinitionLanguage
⑤什么是客户/服务器模型?
其特点是什么?
最简单、最流行、最经典的分布计算模型,由客户(Client)、服务器(Server)构成,技术特点为:
üServer扮演服务提供者,被动等待请求的到达,部署数据管理逻辑、事务处理逻辑
üClient扮演服务使用者,主动发送请求等待应答,部署表现逻辑
一个Server通常支持多个Client
ü由于双方的非对称角色,使得事件的同步被大大简化
⑥经典的分布式计算模型都有哪些?
针对3个典型的模型给出其含义及特
点描述。
消息传递模型:
分布式应用的最基本模型,核心要素:
消息M、发送者Sender
、接收者Receiver
消息传递模型所需要的基本操作SendReceiveConnect/Disconnect
§典型消息传递模型的例子üSocket
ü发送者将消息写入到socket接收者从socket中提取消息
客户-服务器模型:
最简单、最流行、最经典的分布计算模型,由客户(Client)、服务器(Server)构成,技术特点为:
üServer扮演服务提供者,被动等待请求的到达,部署数据管理逻辑、事务处理逻辑
üClient扮演服务使用者,主动发送请求等待应答,部署表现逻辑
一个Server通常支持多个Client
ü由于双方的非对称角色,使得事件的同步被大大简化
消息系统模型
▪信息系统构成要素:
发送者(Sender)、接收者(Receiver)、消息系统(MessageSystem)
▪消息系统充当一些相互独立的进程之间的中介,即充当进程间消息传递的一种交换开关
▪进程之间没有耦合关系,异步交换信息
•空间、时间、控制上解耦
进程过程调用模型
分布对象模型
构件-容器模型
面吐服务模型
Map/Reduce模型
对等计算模型:
P2P实际是Client/Server模型的扩展或者说是一种特例。
各参与进程地位平等,有相同的性能和责任;任何两个间可以互相发起请求和接收响应;适合即时消息、P2P文件传输、视频会议、协同工作等
⑦消息系统和消息传递模型有何区别?
构成要素不同:
消息系统模型发送者(Sender)、接收者(Receiver)、消息系统
(MessageSystem)消息系统充当一些相互独立的进程间的中介,即充当进程间消息传递的一种交换开关
消息传递模型:
消息M、发送者Sender和接收者Receiver
实现不同:
消息系统进程间没有耦合关系,异步交换信息,空间、时间、控制上解耦
消息传递模型:
所需要的基本操作SendReceiveConnect/Disconnect,发送者将消息写入到socket接收者从socket中提取消息
⑧RPC和消息传递模型有何区别?
进程过程调用(RPC)是一种象调用本地过程一样调用进程机器上的过程,而不需要了解网络细节的进程过程访问支持机制。
RPC采用客户机/服务器模式。
请求程序就是一个客户机,而服务提供程序就是一个服务器。
首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。
在服务器端,进程保持睡眠状态直到调用信息的到达为止。
当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
⑨RPC和远程对象有何区别?
过程和对象有何区别?
面向过程一种以事件为中心的编程思想,以功能(行为)为导向,按模块化的设计,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象一种以事物为中心的编程思想,以数据(属性)为导向,将具有相同一个或者多个属性的物体抽象为“类”,将他们包装起来;而有了这些数据(属性)之后,我们再考虑他们的行为(对这些属性进行什么样的操作),是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
作为服务的过程和作为服务的对象有何区别?
⑩构件-容器模型和远程对象有何区别?
构件-容器模型:
容器为构件提供更加抽象的运行环境
•基础服务支持
•生命周期管理
•维护构件间的关系
1.Socket的作用是什么?
什么是流式套接字?
什么是数据报套接字?
新型
§Socket支持面向连接TCP/IP(TransmissionControlProtocol)和无连接UDP(UserDatagramProtocol)、IPX(Inter-networkPacketExchange)的通信协议,它提供编程接口,是一种特殊的文件描述符(everythinginUnixisafile),并不仅限于TCP/IP
§流式套接字(SOCK_STREAM)
•提供了一个面向连接,可靠的数据传输服务,数据无差错,无重复地发送丏挄发送顺序接收.内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制FTP即用此
§数据报套接字(SOCK_DRAM)
•提供了一个无连接服务.数据包以独立包形式被发送,不提供无差错保证,数据可能丢失或重复,接受顺序无序网络文件系统NFS
2.请描述基于Socket的应用开发的基本流程,并用图示描述。
3.基于Socket编程具有哪些优缺点?
Socket编程优点:
实时持久?
原始的socketAPI局限性
位于不同机器上的软件互操作困难
•容易出错
•过于复杂SocketAPI通过一个接口来支持多个
oAPI将协议簇、通信/连接角色、通信优化、选项功能都结合到一个API中,其造成的结果复杂难以掌握。
•不可移植或不统一。
不透明性,专用性,缺乏通用性,每次都从头开始,浪费大量的资源,需要做太多雷同工作
重用性和互操作性差,不能与其他系统有机地集成,开发效率低!
4.基于Socket进行应用开发和基于RPC进行应用开发的区别是什么?
他们各
自具有什么样的优缺点?
开发基于SOCKET的网络软件非常复杂(如:
FTP、TELNET),位于不同机器上的软件互操作困难。
(优缺点同3题)
RPC优点:
隐藏(屏蔽)了进程过程访问的所有细节,实现了进程过程访问的透明性
缺点:
5.要实现远程过程调用需要解决哪两个关键问题?
SUNRPC是如何解决的?
6.请描述远程过程调用RPC的基本原理。
7.RPC机制中的Stub机制的作用是什么?
客户Stub
1)建立客户与服务器之间的连接
2)将客户的高层调用语句打包为一条底层的请求消息这一过程在RPC中被称为编码
3)等待服务器返回应答消息
4)将来自服务器底层的应答消息解析为可以返回的数据这一过程在RPC中被称为还原(unmarshal)
5)将返回值传送给客户程序需要特别处理:
编码、字节序等问题
服务器端Stub除了需要进行编码、还原外,还需要区分客户所请求的过程名,然后将客户的请求分派(dispatch)给正确的过程
8.什么是数据的内部表示?
什么是数据的外部表示?
外部表示:
网络传输的二进制流数据流是
内部表示:
每种体系结构的计算机对数据的内部存储格式
9.数据表示当中为什么要进行字节对齐?
各个硬件平台对存储空间的处理上有很大的不同
•一些平台对某些特定类型的数据只能从某些特定地址开始存取
•如果不挄照适合其平台要求对数据存放对齐,在存取效率上带来损失
•比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那举一个读周期就可以读出,而如果存放在奇地址开始的地方,就可能会需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该int数据
10.在分布式系统中为什么要引入外部数据表示?
每一种体系结构的机器都有自己的内部数据表示方式,N种体系结构的机器互相交互时,数据转换成N2级需要一种统一的外部数据表示:
灵活性,独立于体系结构
11.外部数据表示XDR的特点和作用是什么?
作用:
为编程者提供了一种在异构机器间传递数据的方式,不需编程者书写转换硬件数据表示的过程。
进行参数、结果的编解码,实现客户和服务器间参数和结果的传递
12.OSF的分布式计算环境DCE包括哪些内容?
13.请描述基于OSFDCE的应用开发过程。
14.请描述OSFDCE中客户与服务器的绑定过程,用图示描述。
1.网络计算环境具有哪些特点?
异构性:
网上资源广泛地存在着差异的特性
ü差异包括不同的计算机硬件、操作系统、程序设计语言、网络协议和应用模式,需要普适的集成能力。
操作系统:
Unix,Linux,MacOS,Windows,iOS,Android.....
程序语言:
C/C++/Objective-C/C#/Java/Perl/……
网络:
以太网,IP,USB,FireWire,WiFi,蓝牙,802.11b,HomeRF
§自治性:
网上资源局部自治、没有中央管理的特性
ü局部自治系统间需要有效的协同能力,从而联合起来共同完成大视模的复杂应用。
§成长性:
网上资源不断膨胀和更迭的特性
ü网上的资源及其相互关联关系不断发生变化,需要更灵活的管理机制,从而有效利用
资源。
§异构性严重阻碍了企业分布应用系统的开发。
但是我们又不能在硬件、操作系统、网络协议、程序设计语言“平台”的基础上达成一致我们只能在高层寻求解决解决办法
2.网络中间件(Networkmiddleware)是在什么样的背景下产生的?
软件重用:
应对软件复杂性的基本途径之一,使用网络中间件是软件重用的基本手段之一,可以实现从架构到代码的有效重用。
网络中间件=可重用类库+架构模式+运行时基础设施
•可重用类库:
封装可重用的公共代码(代码重用)
•架构模式:
确定可重用组件间的交互关系(架构重用)
在研究和实践过程中,人们逐渐认识到分布式应用不是单机应用的简单放大,不仅仅是把过程、对象、构件分散到多台机器上,需要各类公共服务实现分布协同,如交互模式、时间同步
3.网络中间件需要解决哪些核心问题?
4.什么是网络中间件?
网络中间件的作用是什么?
网络中间件是介于网络传输层不网络应用间的一种支持网络计算的支撑软件,其核心作用是为有效开发、部署和运行网络应用系统提供交互代理以及带共性的基础服务。
它是分布式软件系统共性部份的沉淀,位于操作系统之上、应用系统之下的一层可重用软件基础设施
作用:
中间件为分布式应用的开发、集成、运行、管理不维护提供基础设施和支持
ü支撑分布式软件架构,提供其所需的各类公共服务如交互服务;协同服务。
ü可以被有选择性的使用、覆写或是扩展
ü支持开发者快速、高质量地构造各类分布式软件系统
5.网络中间件都有哪些类型?
请至少对3种类型的中间件的含义和特
点进行描述。
过程中间件、事务管理中间件、消息传递中间件、分布的对象中间件、面向服务中间件、数据访问中间件
面向消息中间件使用消息队列程序设计抽象即广义的操作系统邮箱来方便客户和服务器间异步消息的交换。
面向对象中间件是基于面向对象程序设计范型和RPC结构的中间件,它提供了一种远程对象抽象机制,客户对远程对象中的方法激活就象客户在同一地址空间激活对象中的方法一样。
这种类型的中间件通常支持封装、继承以及多态等机制。
事务处理中间件支持运行在分布主机上的进程之间的事务处理。
本意上,这种类型的中间件面向的是异构数据库系统之间的交互。
其目标包括提供数据的完整性、高性能以及使用两阶段提交协议的可用性。
6,7,8题,面对过程,对象,消息中间件含义特点
基于远程过程调用(RemoteProcedureCall,RPC)的中间件,允许一个应用程序中的过程调用远程应用程序中的过程,就好像它们是本地调用一样,该中间件实现一个查找远程过程的链接机制并使调用方能够以透明方式使用这些过程。
基于对象请求代理(ObjectRequestBroker,ORB)的中间件,使应用程序的对象能够在异类网络之间分布和共享。
面向消息的中间件或基于(Message-OrientedMiddleware,MOM)的中间件,使分布式应用程序可以通过发送和接收消息来进行通信和交换数据。
所有这些模型都使一个软件组件可以通过网络影响另一个组件的行为。
它们的区别在于基于RPC和ORB的中间件会创建紧密耦合组件系统,而基于MOM的系统允许组件进行更松散的耦合。
在基于RPC或ORB的系统中,一个过程调用另一个过程时,必须等待调用的过程返回才能执行其他操作。
面向消息的中间件使用消息传送提供者来协调消息传送操作。
MOM系统的基本元素是客户端、消息和MOM提供者,后者包括API和管理工具。
MOM提供者使用不同的体系结构路由和传送消息:
它可以使用集中式消息服务器,也可以将路由和传送功能分布在每个客户端上。
9.简述网络中间件的发展历程并描述各个阶段的技术特点,以及典型技术体系/典型成果。
10.主流的分布对象中间件都有哪些?
它们各种具有什么样的特点?
11.简述J2EE中间件的体系架构及其特点。
12.简述Micorsoft的COM/DCOM技术的特点。
COM是个开放的组件标准,有很强的扩充和扩展能力。
COM应用有如下特点:
丰富的综合服务,包括事务、安全性、消息队列和数据存取,以支持最广泛的应用;组件间通过基于指针的API调用实现互操作,调用透明性好;对Windows依赖性强,其他操作系统的支持相对不足;供货商可使用多种开发语言开发,如VC、VB、C+ +Builder等;定制应用软件和可重用组件的广泛用户基础;可靠的重用性,充分利用用户和开发人员的现有投资。
DCOM是微软与其他业界厂商合作提出的一种分布组件对象模型,它是COM在分布计算方面的自然延续,为分布在网络不同节点的两个COM组件提供了互操作的基础结构。
DCOM增强COM的分布处理性能,支持多种通信协议,加强组件通信的安全保障,把基于认证Internet安全机制同基于WindowsNT的C2级安全机制集成在一起。
13.简述DCOM的工作原理。
没有答案,看图说话,参考RPC原理,
14.为什么需要网络中间件?
第四部分
1.分布对象中间件需要解决的问题是,CORBA是如何解决的?
需要解决的问题是:
像访问本地对象一样访问远程对象;访问异地对象的机制;对象在异构环境下的表示,组织和管理。
CORBA使用借口定义语言IDL和对象请求代理ORB的方式在操作系统和应用层之间构建一个软件总线,实现跨平台、跨语言、跨网络和夸厂商。
它用IDL使得不同的对象可以跨平台去访问软件总线上的其他所有任何对象。
它还提供众多的公共服务来实现对象的组织和管理,如时间服务,事件服务,名字服务等。
2.请你给出ORB的主要结构,并解释各部分的作用。
只看图不说话
3.请以静态请求调用为例,描述对象请求代理ORB的工作原理(即请求处理过程)。
看图说话,解释一下上面的图就好了。
4.什么是对象引用?
标准的互操作对象引用IOR(interoperabileObjectReference)由哪几部分构成?
每一部分的作用是什么?
对象引用是标识某个特定对象的对象名字。
有三部分组成,接口ID:
用来唯一标识对象接口信息的,使用于CORBA高级服务接口池;主机地址:
主机地址包含协议类型和具体的地址,对于TCP/IP,就是IP地址和端口号;对象关键字:
对象关键字包含POA标识和对象ID两项信息
5.CORBA中间件具有哪些特点?
平台无关,语言无关,厂商无关,网络无关,操作系统无关,提供高性能的互操作服务。
6.可移植对象适配器POA(portableObjectAdapter)的作用是什么?
POA是一个对象管理器,主要负责创建、激活、定位以及回收对象等操作,具体为:
创建对象引用;创建对象标识符;创建并注册伺服程序,伺服程序通过POA来实例化CORBA对象。
看下图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 计算 环境 知识点 汇总