




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,探讨:分布式系统、异步传输原理及应用,1、分布式计算系统概念2、分布式系统结构3、分布式系统架构的应用4、Web异步通信(Ajax),主要内容:,了解分布式计算WhatisDistributedComputing?,定义:分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。,了解分布式计算WhatisDistributedComputing?,所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。,进行分布式计算的现实需求,分布式计算是利用互联网上的计算机的CPU的闲置处理能力来解决大型计算问题的一种计算科学。首先,要发现一个需要非常巨大的计算能力才能解决的问题。这类问题一般是跨学科的、极富挑战性的、人类急待解决的科研课题。其中较为著名的是:1.解决较为复杂的数学问题。2.研究寻找最为安全的密码系统(密码破解)。3.生物病理研究(研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。4.各种各样疾病的药物研究。5.信号处理(在家寻找地外文明)。,进行分布式计算的现实需求,从这些实际的例子可以看出,这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。在以前,这些问题都应该由超级计算机来解决。但是,超级计算机的造价和维护非常的昂贵,这不是一个普通的科研组织所能承受的。随着科学的发展,一种廉价的、高效的、维护方便的计算方法应运而生分布式计算!,进行分布式计算的现实需求,随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下CPU的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现,使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。,进行分布式计算的现实需求,随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下CPU的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现,使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。,分布式系统运行机制,那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用服务端和客户端。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。,分布式计算算法优越性,分布式计算比起其它算法具有以下几个优点:1、稀有资源可以共享、资源分享2、通过分布式计算可以在多台计算机上平衡计算负载3、可以把程序放在最适合运行它的计算机上,其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。,分布式计算算法优越性,实际上,网格计算就是分布式计算的一种。如果我们说某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个计算机网络,显然这种“蚂蚁搬山”的方式将具有很强的数据处理能力。网格计算的实质就是组合与共享资源并确保系统安全。,分布式系统应用举例,所谓分布式就是指数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的数据库操作为研究对象的一种理论计算模型。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS中存在的数据异构、数据共享、运算复杂等问题,是地理信息系统技术的一大进步。,分布式系统应用举例,传统的集中式GIS起码对两大类地理信息系统难以适用,需用分布式计算模型。第一类是大范围的专业地理信息系统、专题地理信息系统或区域地理信息系统。这些信息系统的时空数据来源、类型、结构多种多样,只有靠分布式才能实现数据资源共享和数据处理的分工合作。,分布式系统应用举例,比如综合市政地下管网系统,自来水、燃气、污水的数据都分布在各自的管理机构,要对这些数据进行采集、编辑、入库、提取、分析等计算处理就必须采用分布式,让这些工作都在各自机构中进行,并建立各自的管理系统作为综合系统的子系统去完成管理工作。而传统的集中式提供不了这种工作上的必要性的分工。,分布式系统应用举例,第二类是在一个范围内的综合信息管理系统。城市地理信息系统就是这种系统中一个很有代表性的例子。世界各国管理工作城市市政管理占很大比例,城市信息的分布特性及城市信息管理部门在地域上的分散性决定了多层次、多成份、多内容的城市信息必须采用分布式的处理模式。,分布式系统应用举例,很明显,传统的集中式地理信息系统不能满足分工明确的现代社会的需求,分布式地理信息系统的进一步发展具有不可阻挡的势头。而且,分布式GIS与网络GIS、客户/服务器GIS计算模型、WWW计算模型的关系都很密切。分布式GIS是实现网络GIS的途径,是实现NGIS的一种重要计算模型;CIS模型实际上是分布式GIS可供采用的一种具体化计算模型;WWW模型实际上也是分布式GIS模型可采用的一种具体化模型,而且也是具有相当发展前途的分布式GIS模型。分布式GIS与当今主导地理信息系统发展方向的技术的紧密联系使分布式GIS相应地成为地理信息系统的主要发展趋势。,分布式系统结构与特征,分布式系统是一个软件系统,分布式系统(distributedsystem)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。与顺序计算相比、并行的、并发的和分布式的计算包括多个PE间的集体协同动作。,一个分布式系统是一个对用户看起来像普通系统,然而运行在一系列自治处理单元(PE)上的系统,每个PE有各自的物理存储器空间并且信息传输延迟不能忽略不计。在这些PE间有紧密的合作。系统必须支持任意数量的进程和PE的动态扩展。,“分布式的”意味着计算的成本或性能取决于数据和控制的通信。,Enslow建议分布式系统可以用硬件、控制、数据这三个维度加以检验。,Adistributedsystemorganizedasmiddleware.Notethatthenmiddlewarelayerextendsovermulitplemachines.,AnexampleofdividingtheDNSnamespaceintozones,分布式系统与计算机网络,共同点:多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。,分布式系统与计算机网络,二者区别:设计思想和网络操作系统是不同的,这决定了他们在结构、工作方式和功能上也不同。网络操作系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个共享文件时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;,分布式系统与计算机网络,二者区别:分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。当用户提交一个作业时,分布式操作系统能够根据需要在系统中选择最合适的处理器,将用户的作业提交到该处理程序,在处理器完成作业后,将结果传给用户。在这个过程中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器一样。,分布式系统组成,分布式软件系统(DistributedSoftwareSystems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括:分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统分布式数据库系统等。,分布式系统组成,分布式操作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。,分布式系统组成,分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。分布式数据库系统它是由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。,分布式系统架构的应用,提到分布式计算技术的应用和工具,目前成熟的技术包括J2EE,CORBA和.NET(DCOM),这些技术牵扯的内容非常广,相关的书籍也非常多,我们不讨论这些技术的内容,也没有涉及这些技术的细节,只是从各种分布式系统平台产生的背景和在软件开发中应用的情况来探讨它们的主要异同。,一、分布式计算技术的形成,CORBA(CommonObjectRequestBrokerArchitecture)是在1992年由OMG(OpenManagementGroup)组织提出的。那时的分布式应用环境都采用Client/Server架构,CORBA的应用很大程度的提高了分布式应用软件的开发效率。,当时的另一种分布式系统开发工具是Microsoft的DCOM(DistributedCommonObjectModel)。Microsoft为了使在Windows平台上开发的各种应用软件产品的功能能够在运行时(Runtime)相互调用(比如在MicrosoftWord中直接编辑Excel文件),实现了OLE(LinkedandEmbeddedObject)技术,后来这个技术衍生为COM(CommonObjectModel)。随着Internet的普及和网络服务(WebServices)的广泛应用,Browser/Server架构的模式逐渐体现出它的优势。于是,Sun公司在其Java技术的基础上推出了应用于B/S架构的J2EE的开发和应用平台;Microsoft也在其DCOM技术的基础上推出了主要面向B/S应用的.NET开发和应用平台。,二、使用的协议,.NET中涵盖的DCOM技术和CORBA一样,在网络传输层都采用TCP/IP协议;也都有自己的IDL规范。所不同的是,在TCP/IP之上,CORBA采用GIOP/IIOP协议,所有CORBA服务器以IIOP通信,形成了ORB软件通道;J2EE的RMI曾经采用独立的通信协议,目前已经改为RMI/IIOP,体现了J2EE的开放性;DCOM也有自己的通信协议(TCP在135端口的服务),但微软没有公开这个协议的规范;同样,CORBA的IDL采用类C+的定义,是公开的规范;DCOM的IDL的文件虽然是文本形式的,微软没有正式公布它的规范,在使用中,.NET的IDL是由开发工具生成的。,三、应用环境,关于.NET,比尔盖茨这样说:“简单地说,.NET是以微软的各种产品为开发工具和应用平台,实现基于XML的网络服务。”由此也可以看出,.NET在Microsoft的世界里功能强大,但对于Unix和Linux这些在服务器市场占主要份额的系统,.NET显得束手无策。,因此,J2EE显示了它跨平台的优势,为网络服务商提供了很好的面向前端(front-end)的开发和应用平台,随着网络服务进一步广泛应用和服务集成度的提高,在网络服务提供商的后台会形成越来越庞大的分布式计算环境,CORBA模块结构更适合后台(back-end)的多种服务,例如网络服务的计费程序等.因此可以看出,J2EE和CORBA技术在网络服务(WebServices)这片蓝天下,各自有自己的海洋和陆地。如果在前端(front-end)使用了.NET开发平台,那么在后端(back-end)的分布式结构中,DCOM就是理想的选择。J2EE是纯Java技术,很多测试显示RMI(Java)服务器的响应速度远远低于非Java的CORBA服务器。因此,在一些对数据处理速度和响应时间要求较高的系统开发中,要对RMI和CORBA的性能进行测试对比后再做选择。,四、应用软件的开发和维护,从应用软件的开发过程的角度看,J2EE是完全开放式的平台,体现为既面向设计人员,也面向开发人员的规范;CORBA也是一种规范,但更多体现为中间产品,CORBA产品的提供商才是这种规范的真正执行者,对应用开发的程序员而言,只要了解IDL语言的规范,不必详细知道ORB/GIOP/IIOP的协议细节。.NET作为Microsoft在网络环境的主打,体现为一系列产品化的开发工具,比如C#,C+,等。这些开发工具是直接针对应用开发人员的。其实Sun公司提供的J2EE也是由许多软件包(应用API)来面对开发人员的。从软件开发成本与周期以及软件的维护角度看,J2EE比CORBA有以上优势。,五、应用前景,对于分布式计算技术的架构,不能绝对地说哪一个更好,只能说哪一个更合适。针对不同的软件项目需求,具体分析才是明智的选择。从宏观市场看,CORBA产品的销售并没有想象那样给CORBA产品提供商带来可观的利润;而J2EE的呼声也高于.NET;随着J2EE中RMI/IIOP与CORBA接口的完善,再加上开发费用的考虑和使用的方便性,J2EE一揽子开放的环境会是人们首先考虑的选择;但CORBA标准,分布式系统完毕!,基于Ajax的Web异步传输,Web同步数据传输,Browser,Server,Request,Response,Waiting,Waiting,Request,Response,Web同步数据传输,Browser,Server,AjaxXmlRequest,Request,Response,Request,Response,我们可以看见客户端的等待时间将减少,Web2.0,听到Web2.0这个词的时候,应该首先问一问“Web1.0是什么?”虽然很少听人提到Web1.0,实际上它指的就是具有完全不同的请求和响应模型的传统Web。,Web2.0,比如,到A网站上点击一个按钮或者输入搜索项。就会对服务器发送一个请求,然后响应再返回到浏览器。该请求不仅仅是图书和书目列表,而是另一个完整的HTML页面。因此当Web浏览器用新的HTML页面重绘时,可能会看到闪烁或抖动。事实上,通过看到的每个新页面可以清晰地看到请求和响应。,Web2.0,Web2.0(在很大程度上)消除了这种看得见的往复交互。比如访问GoogleMaps或Flickr这样的站点。比如在GoogleMaps上,您可以拖动地图,放大和缩小,只有很少的重绘操作。当然这里仍然有请求和响应,只不过都藏到了幕后。作为用户,体验更加舒适,感觉很像桌面应用程序。这种新的感受和范型就是当有人提到Web2.0时您所体会到的。,Web2.0,需要关心的是如何使这些新的交互成为可能。显然,仍然需要发出请求和接收响应,但正是针对每次请求/响应交互的HTML重绘造成了缓慢、笨拙的Web交互的感受。因此很清楚,我们需要一种方法使发送的请求和接收的响应只包含需要的数据而不是整个HTML页面。惟一需要获得整个新HTML页面的时候就是希望用户看到新页面的时候。,Web2.0,但多数交互都是在已有页面上增加细节、修改主体文本或者覆盖原有数据。这些情况下,Ajax和Web2.0方法允许在不更新整个HTML页面的情况下发送和接收数据。对于那些经常上网的人,这种能力可以让您的应用程序感觉更快、响应更及时,让他们不时地光顾您的网站。,XMLHttpRequest,XMLHttpRequest提供客户端同HTTP服务器异步通信的协议通过这个协议,AJAX可以使页面象桌面程序一样同服务器端进行数据层面的交换,而不必每次都刷新页面,也不用每次都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 强化训练自考专业(小学教育)试题含答案(模拟题)
- 火电电力职业鉴定考前冲刺练习试题带答案详解(预热题)
- 2026届云南省巍山县化学九年级第一学期期末综合测试模拟试题含解析
- 星兴蓝天安全培训课件
- 2026届上海市文来中学化学九上期末监测试题含解析
- 口腔健康主题活动讲解
- 2026届四川省达州市开江县化学九年级第一学期期中经典模拟试题含解析
- 2026届抚顺市重点中学化学九上期中学业水平测试模拟试题含解析
- 高效煤粉锅炉安装指南
- 2026届莆田市重点中学九年级化学第一学期期中达标检测试题含解析
- 燃料电池催化剂研究报告
- 湖北省华大新高考联盟2026届高三上学期9月教学质量测评语文试题(含答案)
- 2025年化妆品代理合同范本模板
- 2025年江苏省农垦集团有限公司人员招聘笔试备考及参考答案详解
- 2025至2030年中国粗杂粮及粗杂粮加工行业市场调研分析及投资战略咨询报告
- 军用无人机讲解课件
- 2025年中国移动校园招聘笔试试题解析及答题技巧
- 长宏国际安全知识培训课件
- 2025-2026学年地质版(2024)小学体育与健康三年级(全一册)教学设计(附目录P123)
- 项目四旅游电子商务网络营销92课件
- 电缆桥架设备知识培训课件
评论
0/150
提交评论