您好,欢迎访问三七文档
分布式系统系统模型(SystemModels)结构模型(Architecturalmodel)基础模型(Fundamentalmodel)结构模型(Architecturalmodel)★分布式系统的结构模型是关于其各部分的布局及其相互间关系,它定义了系统的各组件之间相互交互的方式以及它们映射到下面的计算机网络的方式。Client/server模型对等进程(peerprocess)模型客户/服务器模型的扩展*在(多个)协作的服务器上划分(partition)和复制数据;*由代理服务器(proxyservers)和客户进行数据缓存(caching);*使用移动代码和移动代理;*以方便的方式添加和删除移动设备。基础模型(Fundamentalmodel)★基础模型是对所有结构模型中公共属性的更形式化的描述。交互模型(Interactionmodel)交互模型处理分布式系统中性能以及设置时间限制的困难,例如对于消息传递(messagedelivery)。反映了进程交互的方式。故障模型(failuremodel)故障模型试图给出可能由进程和通信通道呈现出来的故障的一个精确的规格说明(specification)。它定义可靠的通信和正确的进程。安全模型(securitymodel)安全模型讨论对于进程和通信通道可能存在的威胁,它引入了安全通道的概念,以抵御这些威胁。结构模型系统的结构是关于其各个独立指定的组件的结构。建筑物的结构设计有类似的方面:不仅要确定它的外观,而且要确定它的总体结构和结构风格(哥特式,新古典主义,现代的)。我们围绕着进程和对象的概念构建我们的结构模型。分布式系统的结构模型首先简化和抽象分布式系统各个组件的功能,然后它考虑:•放置组件在一个计算机网络上,寻找定义数据和工作负载分布的有用的模式。•组件之间的相互关系,即它们的功能角色以及它们之间的通信模式。进程分类服务器进程提供服务客户进程请求服务对等进程指这样的一类进程,它们以一种对称的方式协作和通信,以执行一个任务。客户/服务器模型的变种☆某些更动态的系统可以构造为客户/服务器模型的变种:*从一个进程到另一个进程移动代码的可能性允许一个进程委托任务到另一个进程。例如,客户可以从服务器下载代码在本地运行它。对象和存取它们的代码能够被移动以减少访问延迟和最小化通信量。*某些分布式系统被设计以使计算机和其它移动设备能无缝地添加或删除,允许它们发现可用的服务并向其它设备提供它们的服务。☆在一个计算机网络中实际的放置(布局、分布)组成分布式系统的进程可能受到性能、可靠性、安全性和费用的影响。软件层(软件结构)原来在单一计算机中,软件结构是指把软件结构化为层或模块;而近来则是用位于相同或不同的计算机里的进程之间提供和请求的服务来定义。分布式系统中软件硬件服务层:Middleware-basedSystemsGeneralstructureofadistributedsystemasmiddleware.☆Middleware提供部分DistributedOperatingSystem服务。1-22中间件(Middleware)从中间件提出的初始动因来看,是指网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构网络环境下分布式应用软件的互连与互操作问题,它可屏蔽实现细节,提高应用系统的易移植性.从广义的角度看,中间件代表了处于系统软件和应用软件之间的中间层次的软件,其主要目的是对应用软件的开发和运行提供更为直接和高效的支撑.中间件(续)中间件是一个软件层,它的目的是屏蔽异构性并向应用程序员提供一个方便的编程模型。中间件通过在一组计算机里的进程或对象来表达,它们相互交互以为分布式应用实现通信和资源共享支持。中间件技术已成为软件技术的研究热点.主要中间件包括:数据访问中间件、远程过程调用中间件、事务中间件、消息中间件和面向对象中间件等;远程过程调用包(例如SunRPC)和组通信系统(例如Isis)是最早、当前最广泛使用的中间件的实例。☆TheBEATuxedosystemisamiddlewareproductthatdistributesapplicationsacrossmultipleplatforms,databases,andoperatingsystemsusingmessage-basedcommunicationsand,ifdesired,distributedtransactionprocessing.面向对象中间件面向对象中间件是对象技术和分布式汁算发展的产物,它提供—种通讯机制,透明地在异构的分布计算环境中传递对象请求.目前主要的面向对象中间件产品和标准有OMG的CORBA、微软的DCOM和Sun公司的JavaRMI/EJB。它们的异构性和开放性各有不同,适用于异构环境、开放的CORBA是Internet与企业应用事实上的工业标准,而特定于Windows平台、专有的COM则是桌面系统的首选.EJB则兼具二者之优势.中间件也提供了供应用程序使用的服务,它们被紧密地绑定到由中间件提供的分布式编程模型。例如,CORBA提供了naming,security,transactions,persistentstorage和eventnotification等服务。WebServices随着软件产业模式从以产品为中心的制造业转变为以客户为中心的服务业,从两层体系转变为三层体系,分布计算中间件从Intranet扩展到Internet,上述中间件技术已不能适应这些发展需求,因而导致新型中间件技术--WebServices的产生。WebServices以XML、SOAP、WSDL和UDDl为核心,致力于软件在应用层的互操作问题.WebServices不仅屏蔽了异构的操作系统、网络和编程语言,还屏蔽了传统中间件之间的异构性,并支持开放、动态的互操作模式,增强了服务动态发布,查找和使用的能力.因此,WebServices获得了产业界广泛的支持和学术界的重视。(发布服务的wsdl信息)(根据wsdl,生成访问服务的SOAP消息)系统结构Client-server模型这是分布式系统最经常被引用的体系结构,下图阐述了这种简单的结构:客户进程与各服务器进程(在分离的主计算机上)交互以访问它们所管理的共享资源。由多个服务器提供的服务•服务可以被实现为在分离的主计算机上的多个服务器进程,它们按需要交互来向客户进程提供一个服务。这些服务器可以划分(partition)该服务所基于的对象集合,并在它们之间分布它们,或者在若干个主机上维护这些对象的复制副本。代理服务器和缓存(Proxyserversandcaches)•Cache是近期使用了的数据对象的存储,它比对象本身更近。当一个新的对象被接收到,它被添加到cache存储中,如果需要的话,替换某个现有对象。当客户进程需要一个一个对象的时候,caching服务首先检查cache,如果最新的拷贝是可用的,则从那里提供该对象。否则,去获取一个最新的拷贝。Cache可以布置在每一个客户端,或位于代理服务器上,以便能够被多个客户共享。对等进程(peerprocesses)•在这种结构中,所有进程扮演类似的角色,作为对等者协同交互,在没有任何客户与服务器差别的情况下执行一个分布式活动或计算。在这种模型中,对等进程中的代码维护应用级(层)资源的一致性并按需要同步应用级的行为(actions)。通常,n个对等进程可以相互交互,其通信模式取决于应用需求。协调代码Instructor’sGuideforCoulouris,DollimoreandKindbergDistributedSystems:ConceptsandDesignEdn.4©PearsonEducation2005Figure2.3AdistributedapplicationbasedonpeerprocessesApplicationApplicationApplicationPeer1Peer2Peer3Peers5....NSharableobjectsApplicationPeer4应用由大量的运行在不同的计算机上的对等进程组成对等计算技术P2P系统去掉了客户/服务器的不对称性,客户机也可以充当服务器。P2P网络的分类•P2P网络根据节点信息存储和资源查找的方式主要可以分为3种类型:(1)集中式P2P网络,利用中心索引服务器存储数据的元数据信息,例如Napster[1]。(2)非结构化P2P网络,借助泛洪广播查询请求,例如Gnutella[2]。这两种方案由于设计之初并没有考虑运行在大规模网络环境下,因此扩展能力有限。(3)结构化P2P网络,利用分布式哈希表(distributedhashtable,DHT)技术来进行资源定位,例如Chord[3],CAN[4],Pastry[5]和Tapestry[6]。结构化P2P网络因其高效快速的资源定位方式成为P2P网络发展的方向。Napster文件共享系统允许用户在其他Napster用户的硬盘上搜索、下载音乐文件。(Index)Filelocationrequest6.IndexupdatepeersFilerequestFiledeliveredpeers洪泛:搜索请求被广播到所有的邻居及邻居的邻居上网格计算技术•网格俗称下一代因特网、国际互联网2、下一代万维网。网格计算系统具有高度的异构性:其硬件、操作系统、网络、管理域和安全策略等都不尽相同。•网格是把地理位置上分散的资源集成起来的一种基础设施,它是构筑在互联网上的的一组新兴技术。通过这种基础设施,用户不需要了解这个基础设施上资源的具体细节就可以使用自己需要的资源。网格上的资源包括计算机、集群、计算机池、仪器、设备、传感器、存储设施、数据、软件等。网格计算技术•网格把用通信手段连接起来的资源无缝集成为一个有机的整体。他给用户提供一种基于国际互联网的新型计算平台,在这个平台上对来自客户的请求和提供资源的能力之间进行合理的匹配,为用户的请求选择合适的资源服务,可实现广域范围的资源共享。•网格把分布的资源集成为一台能力巨大的超级计算机,提供计算资源、存储资源、数据资源、信息资源、知识资源、专家资源、设备资源的全面共享。资源共享是网格的根本特征,消除资源孤岛是网格的奋斗目标。网格分层体系结构应用层汇聚层构造层资源层连接层网格分层体系结构•构造层:面对具体的物理资源,其基本功能是控制局部的资源,并向上提供访问这些资源的接口。•连接层:其基本功能是实现资源的相互通信,为下层的物理资源提供安全的数据通信能力。该层定义了核心的通信和认证协议,用于网格中的事务处理。网格分层体系结构•资源层:负责管理单个资源,实现对单个资源的共享。它使用由连接层提供的功能,直接调用对构造层可用的接口。•汇聚层:该层负责处理对多个资源的访问,通常由资源分派、把任务分配和调度到多个资源以及数据复制等服务组成。•应用层:由应用程序组成,这些应用程序在虚拟组织中运行,它们可以充分利用网格计算环境。开放网格服务体系结构OGSAOGSA是新一代的网格体系结构以服务为中心•如果说分层体系结构是以协议为中心的“协议结构”,则OGSA就是以服务为中心的“服务结构”。在OGSA中,服务的概念更广,包括各种计算资源、存储资源、网络、程序、数据库等,一切都是服务。分层体系结构强调资源共享,而OGSA强调服务共享。•OGSA定义了“网格服务”(GridService)的概念,网格服务是一种WebService,该服务提供了一组定义明确的接口,且遵守特定的惯例,解决服务发现,动态服务创建,生命周期管理和通知等问题。由于在OGSA中,一切都是网格服务,因此网格就是可扩展的网格服务的集合。开放网格服务体系结构OGSA采用统一的WebService框架•一个WebService就是一个可以被URL识别的软件应用,它的接口和绑定可以被XML
本文标题:分布式系统模型
链接地址:https://www.777doc.com/doc-5181921 .html