分布式計算環境chapter1緒論課件_第1頁
分布式計算環境chapter1緒論課件_第2頁
分布式計算環境chapter1緒論課件_第3頁
分布式計算環境chapter1緒論課件_第4頁
分布式計算環境chapter1緒論課件_第5頁
已閱讀5頁,還剩71頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、分布計算環境鄒華 北京郵電大學網絡技術研究院 2012.9 Chapter 1 Introduction主要內容 分布式系統及其挑戰 什么是分布式計算?什么是分布計算環境? 分布計算技術的發展歷程 課程簡介主要內容 分布式系統及其挑戰 什么是分布式計算?什么是分布計算環境 分布計算技術的發展歷程 課程簡介分布式系統舉例 分布式系統到處可見校園的圖書管理系統、行政辦公系統、智能網系統、ATM系統、Web、PSTN、GSM甚至畢設參與開發的系統不同的系統會在多個方面有差別,如從規模上:LAN、WAN從行業上:銀行網絡(ATM) 電信網絡(IP Phone)從技術上:WWW、WAP、寬帶網從邊界上:

2、 Internet、Intranet從協議上:TCP/IP在IT領域,目前特別關注以IP為核心實現的網絡環境、互聯網環境、Web環境分布式系統的主要特征包含任意個數的系統進程和用戶進程體系結構模塊化,它由數目可變的多個處理部件組成通過共享通信結構上的報文傳遞進行通信,進程之間的報文傳送存在延遲且延遲時間可變實行某種全系統范圍的控制,以便提供動態的進程間的合作和運行時間的管理不同系統有著不同的控制程度資源共享一旦授權,可以訪問環境中的任何資源:硬件(e.g. printer, scanner, camera)、軟件(服務)、數據(file, database, web page)相關技術例:資源

3、管理器控制資源的訪問 提供命名機制 控制并發訪問開放性新共享資源添加并被各種客戶程序使用的程度支持異構資源的添加和使用相關技術例提供統一的通信機制發布訪問共享資源的接口虛擬化技術并發性分布系統中的各個組成部分可以在并發的過程中被執行,如:多個用戶同時訪問應用程序多個服務進程同時運行,相互協作分布系統中的各個進程可以并發訪問、更新共享的資源 相關技術例并發控制可伸縮性在資源和用戶數較大增長的情況下,系統性能仍能維持原狀。利用網絡環境可以為更多的用戶服務、而且響應更快通常通過增加 更多/更快的處理器、更可靠、更完善的服務實現當環境增長時,系統組成部分不必改變,所設計的各個組成部分應當便于系統的伸縮

4、模塊化Scaling Techniques (1)The difference between letting:a server ora client check forms as they are being filled1.5An example of dividing the DNS name space into zones.Scaling Techniques (2)透明性網絡環境對于用戶和應用程序而言,應該是一個整體,而不是一個互相協作的簡單的構件集合Sun:Network is computer透明性具有多重的內容訪問透明性位置透明性并發透明性副本透明性 故障透明性 遷移透明性性

5、能透明性伸縮透明性 。相關技術繁多 連接不同的系統、不同的機構團體通過互連和互操作提高系統的協作能力通過并行處理、負載平衡等提高系統的性能通過復制技術提高系統的可靠性和可用性通過模塊化技術提高系統的可伸縮性通過動態配置和重新配置功能提高系統的可擴展性通過資源共享提高系統的性能價格比.分布式系統的優勢 小結Distributed systems are everywhere Internet, intranet, wireless networks.Resource sharing is the main motivating factor for constructing distribute

6、 systems.分布式系統比想象的要復雜: 異構環境下的應用互操作問題 系統管理問題 系統安全問題透明性支持問題主要內容 分布式系統及其挑戰 什么是分布式計算?什么是分布計算環境 分布計算技術的發展歷程 課程簡介什么是分布式計算?簡單地說,分布式計算是兩個或多個軟件共享信息、協同工作(的過程)。這些軟件既可以在同一臺計算機上運行,也可在通過網絡連起來的幾臺不同機器上運行。多個進程兩種典型的應用途徑將分布式軟件系統看作直接反映了現實世界中的分布性 用于改進某些應用程序的運行性能分布計算技術是構造分布式系統的基礎并行計算和分布計算 并行計算突出的是時間上的同步性:同時進行計算分布計算突出的是空間

7、上的分布性:計算在不同的位置進行分布式計算在很多情況下也是并行計算:在網絡的不同位置同時進行兩者之間有交叉的技術,如單一系統映像、容錯、網絡技術。 分布系統也可以用來做粗粒度的并行計算主要內容 分布式系統及其挑戰 什么是分布式計算?什么是分布計算環境 分布計算技術的發展歷程 課程簡介分布計算環境分布計算環境提供了不同軟、硬件平臺資源共享和互操作的有效手段,使得分布式計算可以比較方便地得以實現,從而分布式系統可以比較方便地得以構造方便分布式系統的構建:設計、實現、部署、維護分布式計算環境本身實際上也是分布式系統分布式計算環境構造技術基礎分布在網絡上的程序之間的互操作技術目錄技術、負載平衡技術、容

8、錯技術、事務管理技術、安全技術 技術路線(2)現實的技術路線(90年代工業界普遍遵守的路線)在網絡計算平臺上部署分布計算環境提供開發工具和公共服務支持分布式應用資源共享和協同工作Distributed Computing Environment多類分布計算環境面向不同的軟件實現技術或目標應用場合,有不同的分布計算環境過程調用:DCE (RPC)面向對象:CORBA、DCOM、EJB、ICE、Spring面向服務:Web ServiceWeb環境下:Web 1.0、Web 2.0面向資源整合:網格計算、云計算、P2P分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的

9、分布計算技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布計算技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術C/S模式的基本形式強調客戶端與服務端的分離廣義上來講,函數的調用與實現也屬于Client/Server關系客戶/服務器模式的層概念 傳統兩層C/S模式 三層C/S模式 N層 C/S 模式傳統兩層C/S模式兩層模式的特點特點 請求應答方式 以消息交換作為通信方式 服務集中于特定Server客

10、戶端與服務端分離帶來的好處數據獨立性(客戶端)平臺無關性一定程度上的可擴充性、安全性、可靠性等2層 =3層 =N層結構2層結構存在很多缺陷:客戶端的負擔仍比較重仍然需要客戶端進行較復雜的數據處理客戶端的可移植性不好處理復雜必然牽涉更多的移植性問題每個客戶端上都要安裝數據庫驅動程序系統的可維護性不好客戶端包含過多的商業邏輯商業邏輯與人機交互界面交織在一起數據的安全性需求:需要更合理的工作分配3層或多層結構三層C/S結構 層的概念(TIERS): 在客戶/服務器意義上,一個層就代表一個具有定義好的特定功能平臺, 一個平臺是一個計算機軟件和硬件的組合本圖實際上是一個B/S 結構三層(多層)結構的主要

11、優點 更合理的分配任務,層次清晰,管理和維護相對簡單。使“胖客戶”變成“瘦”客戶;客戶端只需把精力集中在人機界面上。 前例的瀏覽器是純粹意義上的“瘦”客戶,也叫做B/S模式中間業務邏輯層包含了大量的供客戶端程序調用的業務邏輯規則(被用戶共享),可隨具體業務的變化而改變,大大提高系統的可伸縮性。三層(多層)結構的主要優點(續) 使中間層的業務邏輯處理與數據層的業務數據緊密結合在一起,可以提高系統的性能。數據服務層主要提供對數據庫進行各種操作的方法,系統的安全性提高。大量的中間層分布計算環境提供豐富的系統級服務,使得開發人員可以以更少的工作量開發出更復雜、可靠、高效的軟件系統。N層結構在3層結構中

12、,客戶層和數據層已被嚴格定義,但中間層并未明確定義。中間層可以包括所有與應用程序的界面和持久數據存儲無關的處理。假定將中間層劃分成許多服務程序是符合邏輯的,那么將每一主要服務都視為獨立的層,則3層結構就成為N層結構。例如,中間層可以分為實現界面呈現的Web服務器層和實現實際商業邏輯的EJB層。J2EE架構中的多層結構因為分布式軟件跨越了多臺計算機,所以需要一種類似于TCP/IP這樣的網絡基礎設施來連接應用程序的各節點。需要抽象層次更高、更方便實用的通信機制。在兩層結構中,對網絡協議的抽象是比較容易的: 數據庫驅動程序 嵌入式SQL ODBC/JDBC等。多層結構需要更復雜基礎設施以實現跨網絡的

13、通信。相應的分布計算環境會進行支撐層間通信分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布計算技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術面向過程的遠程過程調用 沿用用戶熟悉的編程模式,調用遠端過程并將結果返回。通信一般采用同步方式(Request-Wait-Reply)。遠程過程調用機制(RPC) 在發送方的地址空間里創建一個遠程組件(如過程)的代理,在接收方的地址空間里創建一個樁(Stub)。發送方與代理通信,代理再和接收方側的Stub通信。 在這種體系結構下,組件間的遠程通信封裝在代理Stu

14、b通信中,它是由建立在中間件API基礎上的IDL編譯器生成的。發送方只和本地代理通信,接收方從本地Stub得到所有的請求。 調用過程接收方代理遠程過程Stub進程邊界遠程過程調用機制(續1)分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布計算技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術面向對象的分布計算技術 近20年來,面向對象技術已成為軟件系統構造的基本技術OO的精髓在于對象維護自身的狀態并通過消息進行通信,這對于分布式計算環境是非常理想的分布對象技術核心內容在于分布對象之間的互操作,尤其是異構

15、環境中的互操作問題典型的面向對象的分布計算環境 CORBA:Common Object Request Broker Architecture DCOM:Distributed Component Object Model EJB:Enterprise Java BeanCORBA分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布對象技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術面向構件的分布計算技術基于對象的應用程序-通過重用類庫中的對象達到代碼重用真正實現了信息隱藏和數據抽象的承諾各種應用程序分享

16、細顆粒的對象(類庫)對象仍然是被動的,仍然需要一種結構(控制流)將它們連接到一起不能把握將對象拼裝在一起所需的邏輯聯系 = 不能提供高度的代碼重用機制大量的應用程序,特別是同一領域中的應用程序,分享相似的結構。這些結構并沒有經過通常的面向對象技術而得到重用。解決方法:軟件構件體系結構框架、構件、對象總線軟件構件體系結構的應用模型對象總線總線服務命名生命周期安全性.用戶接口任務管理醫療金融.水平功能 垂直功能C框架CCC總成CCCC構件應用程序總線功能分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布對象技術 面向構件的分布計算技術 基于人工智能的代理技術 面向

17、Web的分布計算技術 面向資源整合的分布計算技術背景 Internet和Web技術的飛速發展和普及,對代理技術提出了很大的需求信息爆炸工作生活安排日益復雜軟件之間的協作日益復雜人工智能技術的成果,對代理技術有了較好的支撐什么是代理 廣義的代理:人類、物理世界中的移動機器人和信息世界中的軟件機器人狹義的代理:信息世界中的軟件實體。具有一定程度的智能,其智能化的程度可以從簡單的預定義規則到復雜的自學習人工智能推理機。代理可代表其它實體如人、系統資源或其它程序自主地運行,并常常是事件或時間驅動的。它可與用戶、系統資源或其它代理進行通信以執行自己的任務。更先進的代理可與其它代理合作承擔單個代理無法完成

18、的任務。移動代理還可根據需要從一個系統移到另一個系統上運行。移動代理和移動代理環境分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布計算技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術面向Web的分布式計算 Internet和Web技術的飛速發展和普及,對信息共享和應用協同提出了更高的要求信息共享Web 1.0Web 2.0廣域網絡環境下,異構應用程序的互操作Web ServiceWeb 1.0 以數據為核心,將以前沒有放在網上的人類知識,通過商業的力量,放到網上去 通過WEB,互聯網上的資源,可以在一

19、個網頁里比較直觀的表示出來;而且資源之間,在網頁上可以鏈來鏈去 手工瀏覽互相鏈接的文檔通過手工操作處理采購等商業事務下載文件支持Web 1.0 的分布計算環境的主要組成及支撐技術瀏覽器、Web服務器搜索引擎、門戶網站HTTP、HTML靜態網頁技術、動態網頁技術Web 2.0 以人為出發點,讓所有的人都忙起來,全民織網,然后用軟件,機器的力量使這些信息更容易被需要的人找到和瀏覽。用戶:貢獻內容,傳播內容,提供內容之間的鏈接關系和瀏覽路徑 支持Web 2.0的主要組成及支撐技術支持 Wed 1.0的相關組成和技術Blog: 用戶織網,發表新知識,和其他用戶內容鏈接,進而非常自然的組織這些內容。 R

20、SS: 用戶產生內容自動分發,定閱 Podcasting: 個人視頻/聲頻的發布/定閱 SNS: blog+人和人之間的鏈接 WIKI: 用戶共同建設一個大百科全書 .Web Service 傳統的的Web技術解決的問題是如何讓人來使用Web應用所提供的服務,而Web Service則要解決如何讓計算機系統來使用Web應用所提供的服務。目標:在現有的各種異構平臺的基礎上,構筑一個通用的,與應用無關、語言無關的技術層,各種不同平臺之上的應用依靠這個技術層來實施彼此的連接和集成完全基于XML以及其他相關的Internet標準什么是一個Web服務? 一個能夠使用XML消息通過網絡來訪問的Interf

21、ace, 這個Interface描述了一組可訪問的操作。通過對Web服務的集成,可以提供豐富的方便Web用戶訪問的應用面向服務的計算技術分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布計算技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術面向資源整合的分布式計算 隨著Internet技術的飛速發展和普及,網絡上分布著浩瀚的資源計算、存儲、設備、服務、信息另一方面,很多應用面臨的問題越來越復雜,需要的資源越來越多如何有效地整合資源資源共享、資源管理、協調工作典型研究,大多以虛擬化技術作為基礎網格計算云計算

22、網格計算把整個網絡整合成一臺巨大的超級計算機,實現計算資源、存儲資源、數據資源、信息資源、知識資源等的全面共享要解決的主要問題包括:如何共享各類資源,資源虛擬化技術然后在資源共享的基礎上,通過各個資源的協作來完成各種任務提供透明的,方便的使用這些功能的接口云計算云計算是一種新興的共享基礎架構的方法,它可以將巨大的系統池連接在一起以提供各種IT服務(IBM)使計算能力、存儲能力、網絡能力、各種軟件服務能力等可以向電能一樣提供給客戶P2P計算P2P 是一種分布式網絡,網絡的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網絡連接能力等)和軟件資源或者數據資源,這些共享資源能被其它對等節點

23、(Peer)直接訪問而無需經過中間實體。在此網絡中的參與者既是資源提供者(Server),又是資源獲取者(Client)分布計算技術的發展歷程 經典的C/S技術 面向過程的遠程過程調用技術 面向對象的分布對象技術 面向構件的分布計算技術 基于人工智能的代理技術 面向Web的分布計算技術 面向資源整合的分布計算技術分布計算技術發展歷程:多說幾句在計算技術和網絡技術發展不同的階段,有相應的分布計算技術和對應的支撐環境,這是需求和技術雙向驅動的大多技術的發展階段有交疊大多技術之間有著千絲萬縷的聯系有的技術基于其他一些技術發展如:ORB學習了RPC的技術如:網格服務基于Web服務有的技術可出現在系統的不同層次中如:Web服務的內部實現可基于CORBA或者EJB技術分布計算技術發展歷程:多說幾句(續)新的技術不一定能完全取代舊的技術新的技術不一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論