1 概述
所謂分布式計算就是在兩個或多個軟件互相共享信息,這些軟件既可以在同一臺計算機上運行,也可以在通過網絡連接起來的多臺計算機上運行。分布式計算研究主要集中在分布式操作系統和分布式計算環境研究兩個方面。但隨著Internet技術的飛速發展,分布式計算的研究熱點也從以分布式操作系統為中心的傳統模式轉換到以網絡計算平臺為中心實用分布式技術,并取得了較大的成功。此外,在過去的20多年間也涌現出了大量的分布式計算技術,如中間件技術、網格技術、移動Agent技術、P2P技術以及Web Service技術。它們在特定的范圍內都得到了廣泛的應用。
2 幾種典型的分布式計算技術
2.1中間件技術
中間件(middleware)是一個基礎性軟件的一大類,屬于可復用軟件的范疇。顧名思義,中間件處于操作系統軟件與用戶的應用軟件的中間。中間件在操作系統、網絡和數據庫之上,應用軟件的下層,總的作用是為處于自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟件。
在眾多關于中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。
中科院軟件所研究員仲萃豪形象地把中間件定義為:平臺+通信。這個定義限定了只有用于分布式系統中的此類軟件才能被稱為中間件,同時此定義還可以把中間件與支撐軟件和實用軟件區分開來。
2.2 網格計算技術
網格計算(Grid computing)通過利用大量異構計算機(通常為桌面)的未用資源(CPU 周期和磁盤存儲),將其作為嵌入在分布式電信基礎設施中的一個虛擬的計算機集群,為解決大規模的計算問題提供了一個模型。網格計算的焦點放在支持跨管理域計算的能力,這使它與傳統的計算機集群或傳統的分布式計算相區別。
網格計算的設計目標是解決對于任何單一的超級計算機來說仍然大得難以解決的問題,并同時保持解決多個較小的問題的靈活性。這樣,網格計算就提供了一個多用戶環境。它的第二個目標就是:更好的利用可用計算機,迎合大型的計算練習斷斷續續的需求。這隱含著使用安全的授權技術,以允許遠程用戶控制計算資源。
網格計算包括共享異構資源(基于不同的平臺,硬件/軟件體系結構,以及計算機語言),這些資源位于不同的地理位置,屬于一個使用公開標準的網絡上的不同的管理域。簡而言之,它包括虛擬化計算資源。網格計算經常和集群計算相混淆。二者主要的不同就是:集群是同構的,而網格是異構的;網格擴展包括用戶桌面機,而集群一般局限于數據中心。對于網格計算(Grid computing)這一術語有三重理解可供參考,如下:
為萬維網誕生起到關鍵性作用的歐洲核子研究組織(CERN,European Organization for Nuclear Research),其對網格計算是這樣定義的:“網格計算就是通過互聯網來共享強大的計算能力和數據儲存能力”。外部網絡(External grids)。事實上,網絡計算對分布在世界各地的、非營利性質的研究機構頗有吸引力,進而造就了美國國家超級電腦應用中心計算生物學網格,如生物學和醫學信息學研究網絡。內部網絡(Internal grids)。同樣,網絡計算對那些需要解決復雜計算問題的商業公司有著非同一般的吸引力,其目標是將企業內部的計算能力最大化。
2.3 移動Agent技術
移動Agent的最初概念是在20世紀90年代初,由General移動Agentgic公司在推出商業系統Telescript時提出的。它是一可執行的程序,分布式人工智能技術和網絡技術發展的必然結果,能夠攜帶其代碼和狀態自主地從網絡中一個節點移動到另一個節點上運行,尋找合適的計算資源和信息資源,完成特定的任務。移動Agent具有智能性和移動性,并根據服務需要協調多個Agent的行為,協作執行特定任務。
移動Agent是一種軟件對象,它能攜帶執行代碼、數據和運行狀態,在復雜的網絡中自治的、有目的遷移,并能響應外部事件,在遷移過程中能保持狀態的一致性。移動Agent就是一個能在異構網絡中自主地從一臺主機遷移到另一臺主機,并可與其它Agent或資源交互的程序。
移動Agent技術是分布式技術和Agent技術相結合的產物,它結合了分布式計算機技術和人工智能技術,它除了具有智能Agent的最基本特性:自主能力、社交能力、適應能力和一致主動性,還具有移動能力、可靠性和安全性。移動Agent不同于基于過程的RPC,也不同于面向對象的對象引用,其獨特的對象傳遞思想和卓越的特性給分布式計算乃至開發系統帶來了巨大的革新。移動Agent技術在實際中得到了廣泛的應用,主要應用于電子商務、分布式信息檢索、無線通信服務、入侵檢測和網絡管理等方面。
2.4 P2P技術
P2P技術起源于最初的聯網通信方式,如在建筑物內PC通過局域網互聯,不同建筑物間通過Modem遠程撥號互聯。其中建立在TCP/IP協議之上的通信模式構成了今日互聯網的基礎,所以從基礎技術角度看,P2P不是新技術,而是新的應用技術模式。今天,P2P再一次被關注主要是由Napster以及ICQ類軟件的出現,雖然在Napster之前P2P方式的研究也從未停止�,F在互聯網是以S(Server)/B(Browser)或S/C(Client)結構的應用模式為主的,這樣的應用必須在網絡內設置一個服務器,信息通過服務器才可以傳遞。信息或是先集中上傳到服務器保存,然后再分別下載(如網站),或是信息按服務器上專有規則(軟件)處理后才可在網絡上傳遞流動(如郵件)。
如今擁有Napster及ICQ類軟件的PC(或操作者)就可以選擇同樣擁有此類軟件的另一PC(或操作者)形成互聯(直接連接,不通過服務器),雙方共享資源,協同完成某種行動。而擁有同一P2P軟件的設備和用戶,還可以形成一個為其自己所有的在互聯網上的P2P專用網。
目前互聯網主要技術模式是S/C方式,此方式要在互聯網上設置擁有強大處理能力和大帶寬的高性能計算機,配合高檔的服務器軟件,再將大量的數據集中存放在上面,并且要安裝多樣化的服務軟件,在集中處理數據的同時可以對互聯網上其他PC進行服務,提供或接收數據,提供處理能力及其他應用。對于一臺與服務器聯機并接受服務的PC機來說,這臺PC機就是客戶機,其性能可以相對弱小。而P2P技術的特征之一就是弱化了服務器的作用,甚至取消服務器,任意兩臺PC互為服務器,同時又是客戶機,即對等。右面是P2P與S/C方式的一些比較:
S/C方式造成互聯網絡上的集中,無論信息資源還是成本資源均向同一方向集中,這樣的模式符合一對多、強對弱的社會關系形式,如政府對個人、對企業,大企業對小企業,學校對學生,企業對職工等等關系。所以S/C方式是符合市場需求的。P2P方式將導致信息數量、成本資源都向互聯網各點均勻分布,也就是所謂“邊緣化“的趨勢。此模式符合“一對一”的特點,以及彼此相當的社會關系形式,如個人對個人,規模相當的企業之間,等等,這也是符合市場需求的(如ICQ)。所以這兩種方式會共存,有關P2P即將替代S/C模式的說法是不成立的。P2P有其獨特的市場空間,是現有互聯網應用的補充,這一點應該是毫無疑問的。
P2P技術特性:
1)既是S又是C,如何表現取決于用戶的要求,網絡應用由使用者自由驅動。
2)信息在網絡設備間直接流動,高速及時,降低中轉服務成本。
3)構成網絡設備互動的基礎和應用。
4)在使網絡信息分散化的同時,相同特性的P2P設備可以構成存在于互聯網這張大網中的子網,使信息按新方式又一次集中。
2.5WebService技術
WebService使用標準技術,通過它,軟件應用程序資源在各網絡上均可用。因為Web Service基于標準接口,所以即使是以不同的語言編寫并且在不同的操作系統上運行,它們也可以進行通信。因此,Web Service是生成必須適用于網絡上不同系統的分布式應用程序的極好方法。
標準技術因為Web Service符合公認的標準,所以能夠以這種通�?稍L問的方式來公開其資源。
Web Service使用的標準技術包括:通過WSDL文件公開描述其自身功能;通過XML消息(通常使用SOAP格式)與其他應用程序進行通信;使用標準網絡協議,如HTTP等。
Web Service(在中央)、其客戶端軟件應用程序(在左側)及其使用的資源(包括數據庫、其他Web Service等)(在右側)之間的關系(如圖1)。Web Service通過使用標準協議(如HTTP)交換XML消息來與客戶端和各種資源進行通信。在WebLogic Server上部署Web Service后,由WebLogic Server負責將傳入的XML消息路由到您編寫的Web Service代碼。Web Service將導出WSDL文件,以描述其接口,其他開發人員可以使用此文件來編寫訪問此Web Service的組件。
2.6 幾種技術的比較
Web Service技術的體系結構與基于中間件分布式系統的體系結構相比,發現它們是非常相似的,可以把體系結構中的Web程序看作中間件。從結構上來看,Web服務只是從側面對中間件平臺技術進行革新,雖然所有服務之間的通信都以XML格式的消息為基礎,但調用服務的基本途徑主要還是RPC,而且具體實現并沒有提供一種全新的編程模式。
網格計算與基于中間件的分布式計算技術相比較,它依然以“中間件”為技術核心,在實現形式上并沒有太大的改變。然而經過一系列的技術革新,網格系統中的技術內涵已經發生了深刻的變化。其一,基于中間件的分布式計算技術的資源主要是指數據和軟件,而網格計算的資源已經延伸到所有用于共享的實體,包括硬件、軟件,甚至分布式文件系統、緩沖池等;其二,在Internet上,網格中間件層提供了與Web服務一樣優秀的擴展功能,打破了傳統分布式技術C/S模式的局限。
網格計算、Web Service等技術在異構平臺上構筑了一層通用的、與平臺無關的信息和服務交換設施,從而屏蔽了Internet中千差萬別的差異,使信息和服務暢通無阻地在計算機之間流動。網格計算與Web Service技術的共同載體是Internet。但兩者的不同之處在于,網格系統連接物理上分散的硬件資源,形成虛擬計算組織,從而使計算資源得到充分共享。而Web服務則是以商務應用為背景,是基于網格系統之上的。網格系統為Web服務提供一個與硬件無關的虛擬計算機;而Web服務是架構在虛擬計算機平臺上,與環境、語言無關的應用集成平臺。
盡管各種分布式計算技術在理念、規范和實現等方面有較大的差異,但它們之間并不矛盾,而是一種承上啟下的關系,有時甚至是融合的。因此,各種分布式計算技術可以共同存在,它們的相互結合也是非常有意義和現實的。
3 存儲整合
因為分布式計算模式的核心常常是每個部門選擇各自不同的電腦系統,這樣就會造成由于數據格式的不統一所導致的管理困難,其次管理分布式計算中所用的大量存儲設備所需的費用也是一筆龐大的開支。這些都有悖于分布式計算技術的初衷。所以,存儲整合對分布式計算技術的發展起著不可低估的作用。
存儲整合是指多個異構型主機共享集中式存儲。針對不同的環境和要求,有許多不同的整合方法,但主要有以下三種形式:
1)從存儲在多個服務器上轉變為存儲在單個服務器上。此模式可以降低管理工作的復雜性和對數據中心占地面積的要求;
2)直接將多個異構型服務器附加到一個存儲設備上。此模式極大降低了存儲成本,同時也可以簡化管理;
3)整合到存儲局域網上(SAN)。此模式既有利于提高工作效率,降低管理工作的復雜性,同時還可以提高可擴展性,可用性和數據可訪問性。
所以,在分布式計算技術越來越得到廣泛應用的今天,存儲整合技術也顯示出它重要的地位。
4 共同存在的問題
通過上面對幾種技術的分析與比較,我們不難發現它們均存在著一些共同的問題。
1)標準問題
目前,幾乎所有的分布式計算技術都沒有完整的統一的標準,雖然已開始這方面的工作,標準的缺乏使得分布式計算技術研究分散,很難形成穩定的研究方向,從而在很大程度上制約了分布式計算技術的發展。
2)軟件方法問題
軟件方法學是軟件能夠進行工業化生產的前提。但缺乏可行的軟件方法學使得分布式計算軟件的質量、開發進度等很難得到保證,沒有工業化生產方式,分布式計算系統的普及將十分困難。
3)異構問題
現在的網絡是一個異構的環境,分布式計算技術首先需要解決異構環境的互操作問題。而要解決異構環境的互操作問題,首要的任務是如何互相識別。目前,既不可能要求所有的資源用同一種方式描述,又沒有方法可智能地識別這些資源,這就導致任何一種分布式計算技術只能在一定的范圍內使用。
4)安全性問題
分布式計算技術面臨的最大挑戰就是不斷增長的網絡規模,整個平臺的安全性方面的問題就會極為嚴重。
5 展望
隨著Internet上的硬件、軟件、數據庫等資源急速膨脹,其關聯關系不斷發生變化,但是到目前為止,所有這些資源的共享和社會化程度還很低,基本上是各自為政,相互間缺乏有效的交互、協作與協同能力。因此要創建大型的、松散的、健壯的分布式系統還必須以先進技術和大量勞動為基礎,除了各種資源本身的技術和管理之外,關鍵的因素是標準的建立,從底層信號的傳輸到復雜業務的流程等各種不同的層次都要形成統一的標準。此外到目前為止,所有的分布式計算技術都或多或少存在沒有解決的問題,還沒有哪一種技術被所有的研究者認同為分布式計算技術研究的方向,也沒有哪一種技術能實現完全意義上的分布式計算,滿足所有分布式計算的需求。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:對幾種典型分布式計算技術的比較