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