複製鏈接
請複製以下鏈接發送給好友

分佈式軟件系統

鎖定
分佈式軟件系統(Distributed Software Systems),是支持分佈式處理軟件系統,是在由通信網絡互聯的多處理機體系結構上執行任務的系統。它包括分佈式操作系統、分佈式程序設計語言及其編譯(解釋)系統、分佈式文件系統分佈式數據庫系統等。
中文名
分佈式軟件系統
外文名
Distributed Software Systems
領    域
信息科學

分佈式軟件系統簡介

分佈式操作系統負責管理分佈式處理系統資源和控制分佈式程序運行。它和集中式操作系統的區別在於資源管理、進程通信和系統結構等方面。
分佈式程序設計語言用於編寫運行於分佈式計算機系統上的分佈式程序。一個分佈式程序由若干個可以獨立執行的程序模塊組成,它們分佈於一個分佈式處理系統的多台計算機上被同時執行。它與集中式的程序設計語言相比有三個特點:分佈性、通信性和穩健性。
分佈式文件系統具有執行遠程文件存取的能力,並以透明方式對分佈在網絡上的文件進行管理和存取。
分佈式數據庫系統由分佈於多個計算機結點上的若干個數據庫系統組成,它提供有效的存取手段來操縱這些結點上的子數據庫。分佈式數據庫在使用上可視為一個完整的數據庫,而實際上它是分佈在地理分散的各個結點上。當然,分佈在各個結點上的子數據庫在邏輯上是相關的。
分佈式數據庫系統是由若干個站集合而成。這些站又稱為節點,它們在通訊網絡中聯接在一起,每個節點都是一個獨立的數據庫系統,它們都擁有各自的數據庫、中央處理機、終端,以及各自的局部數據庫管理系統。因此分佈式數據庫系統可以看作是一系列集中式數據庫系統的聯合。它們在邏輯上屬於同一系統,但在物理結構上是分佈式的。 [1] 

分佈式軟件系統種類

操作系統
負責管理分佈式處理系統資源和控制分佈式程序運行。它和集中式操作系統的區別在於資源管理、進程通信和系統結構等方面。
程序設計語言
用於編寫運行於分佈式計算機系統上的分佈式程序。一個分佈式程序由若干個可以獨立執行的程序模塊組成,它們分佈於一個分佈式處理系統的多台計算機上被同時執行。它與集中式的程序設計語言相比有三個特點:分佈性、通信性和穩健性。
文件系統
具有執行遠程文件存取的能力,並以透明方式對分佈在網絡上的文件進行管理和存取。
數據庫系統
由分佈於多個計算機結點上的若干個數據庫系統組成,它提供有效的存取手段來操縱這些結點上的子數據庫。分佈式數據庫在使用上可視為一個完整的數據庫,而實際上它是分佈在地理分散的各個結點上。當然,分佈在各個結點上的子數據庫在邏輯上是相關的。
郵件系統
分佈式郵件系統的部署設計,即同一域名下,跨地域部署的郵件系統。適用 於在各地設有分部的政府機構或者大型集團,有效管理各地的人員結構,同時提高了郵件服務器應用效率。
分佈式郵件系統由多個數據中心組成,大量分支機構或較小的分散站點與數據中心的連接。分支機構需要建立自己的郵件服務器,來加快處理當地分支機構的郵件。承載相應的數據處理量。以提高郵件處理能力,郵件收發速度,郵件功能模塊化。

分佈式軟件系統發展原因

它可以解決組織機構分散而數據需要相互聯繫的問題。比如銀行系統,總行與各分行處於不同的城市或城市中的各個地區,在業務上它們需要處理各自的數據,也需要彼此之間的交換和處理,這就需要分佈式的系統。
如果一個組織機構需要增加新的相對自主的組織單位來擴充機構,則分佈式數據庫系統可以在對當前機構影響最小的情況下進行擴充。
均衡負載的需要。數據的分解採用使局部應用達到最大,這使得各處理機之間的相互干擾降到最低。負載在各處理機之間分擔,可以避免臨界瓶頸。
當現有機構中已存在幾個數據庫系統,而且實現全局應用的必要性增加時,就可以由這些數據庫自下而上構成分佈式數據庫系統
相等規模的分佈式數據庫系統在出現故障的幾率上不會比集中式數據庫系統低,但由於其故障的影響僅限於局部數據應用,因此就整個系統來講它的可靠性是比較高的。 [2] 

分佈式軟件系統特點

分佈式數據庫系統裏不強調集中控制概念,它具有一個以全局數據庫管理員為基礎的分層控制結構,但是每個局部數據庫管理員都具有高度的自主權。
分佈式數據庫系統中數據獨立性概念也同樣重要,然而增加了一個新的概念,就是分佈式透明性。所謂分佈式透明性就是在編寫程序時好像數據沒有被分佈一樣,因此把數據進行轉移不會影響程序的正確性。但程序的執行速度會有所降低。
與集中式數據庫系統不同的是,數據冗餘在分佈式系統中被看作是所需要的特性,其原因在於:首先,如果在需要的節點複製數據,則可以提高局部的應用性。其次,當某節點發生故障時,可以操作其它節點上的複製數據,因此這可以增加系統的有效性。當然,在分佈式系統中對最佳冗餘度的評價是很複雜的。

分佈式軟件系統類型

分佈式數據,但只有一個總數據庫,沒有局部數據庫。
分層式處理,每一層都有自己的數據庫。
充分分散的分佈式網絡,沒有中央控制部分,各節點之間的聯接方式又可以有多種,如鬆散的聯接,緊密的聯接,動態的聯接,廣播通知式聯接等。

分佈式軟件系統常見問題

NI LabVIEW 8的分佈式智能結合了相關的技術和工具,解決了分佈式系統開發會碰到的一些挑戰。更重要的是,NI LabVIEW 8的分佈式智能提供的解決方案不僅令這些挑戰迎刃而解,且易於實施。LabVIEW 8的分佈式智能具體包括:
可對分佈式系統中的所有結點編程——包括主機終端。尤為可貴的是,您可以利用LabVIEW圖形化編程方式,對大量不同類型的對象進行編程,如桌面處理器、實時系統、FPGA、PDA、嵌入式微處理器和DSP。
導航所有系統結點的查看系統——LabVIEW Project Explorer。您可使用Project Explorer查看、編輯、運行和調試運行於任何對象上的結點。
經簡化的數據共享編程界面——共享變量。使用共享變量,您可輕鬆地在系統間(甚至實時系統間)傳輸數據且不影響性能。無通信循環,無RT FIFO,無需低層次TCP函數。您可以利用簡單的對話完成共享變量的配置,從而將數據在各系統間傳輸或將數據連接到不同的數據源。您還可添加記錄、警報、事件等數據服務――一切僅需簡單的對話即可完成。
實現了遠程設備及系統內部或設備及系統之間的同步操作——定時和同步始終是定義高性能測量和控制系統的關鍵問題。利用基於NI技術的系統,探索設備內部並編寫其內部運行機制,從而取得比傳統儀器或PLC方式下更為靈活的解決方案。
在分佈式計算機操作系統支持下,互連的計算機可以互相協調工作,共同完成一項任務。
也可以這麼解釋:
一種計算機硬件的配置方式和相應的功能配置方式。它是一種多處理器的計算機系統,各處理器通過互連網絡構成統一的系統。系統採用分佈式計算結構,即把原來系統內中央處理器處理的任務分散給相應的處理器,實現不同功能的各個處理器相互協調,共享系統的外設與軟件。這樣就加快了系統的處理速度,簡化了主機的邏輯結構 [3] 

分佈式軟件系統分佈式系統

分佈式系統(distributed system)是建立在網絡之上的軟件系統。正是因為軟件的特性,所以分佈式系統具有高度的內聚性和透明性。因此,網絡和分佈式系統之間的區別更多的在於高層軟件(特別是操作系統),而不是硬件。

分佈式軟件系統應用標準

分佈式系統被用在許多不同類型的應用中。以下列出了一些應用。對這些應用而言,使用分佈式系統要比其他體系結構如處理機和共享存儲器多處理機更優越:
並行
原則上,並行應用也可以在共享存儲器多處理機上運行,但共享存儲器系統不能很好地擴大規模以包括大量的處理機。HPCC(高性能計算和通信)應用一般需要一個可伸縮的設計,這種設計取決於分佈式處理。
容錯應用
因為每個PE是自治的,所以分佈式系統更加可靠。一個單元或資源(軟件或硬件)的故障不影響其他資源的正常功能。
固有的應用
許多應用是固有分佈式的。這些應用是突發模式(burstmode)而非批量模式(bulk mode)。這方面的實例有事務處理和Internet Javad,程序。
這些應用的性能取決於吞吐量(事務響應時間或每秒完成的事務數)而不是一般多處理機所用的執行時間。
對於一組用户而言, 分佈式系統有一個特別的應用稱為計算機支持的協同工作(Computer Supported Cooperative Working,CSCW)或羣件(groupware), 支持用户協同工作。另一個應用是分佈式會議, 即通過物理的分佈式網絡進行電子會議。同樣,多媒體遠程教學也是一個類似的應用。
為了達到互操作性,用户需要一個標準的分佈式計算環境,在這個環境裏,所有系統和資源都可用。
DCE(分佈式計算環境)是OSF(開放系統基金會)開發的分佈式計算技術的工業標準集。它提供保護和控制對數據訪問的安全服務、容易尋找分佈式資源的名字服務、以及高度可伸縮的模型用於組織極為分散的用户、服務和數據。D C E可在所有主要的計算平台上運行, 並設計成支持異型硬件和軟件環境下的分佈式應用。
DCE已經被包括TRANSVARL在內的一些r一商實現。TRANSVARL是最早的多廠商組(multi vendor team)的成員之一,它提出的建議已成為DCE體系結構的基礎。在中可以找到利用DCE開發分佈式應用的指南。
一些其它標準基於一個特別的模型,比如CORBA(公用對象請求代理程序體系結構),它是由OMG (對象管理組)和多計算機廠商聯盟開發的一個標準。CORBA使用面向對象模型實現分佈式系統中的透明服務請求。
工業界有自己的標準,比如微軟的分佈式構件對象模型(DCOM)和Sun Microsystem公司的Java Beans。
參考資料
  • 1.    D.L.加利. 分佈式操作系統:原理與實踐[M]. 機械工業出版社, 2003.
  • 2.    劉東紅, 郭長國, 王懷民,等. 監控使能的分佈式軟件系統構造方法[J]. 軟件學報, 2011, 22(11):2610-2624.
  • 3.    石巖, 毛海岑, 張天序,等. 面向並行圖像處理的實時分佈式操作系統的設計與實現[J]. 小型微型計算機系統, 2005, 26(10):1821-1827.