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