(1.西南交通大學(xué)CAD工程中心, 成都 610031; 2.鐵道部經(jīng)濟(jì)規(guī)劃研究院,北京 100038 )
摘 要:
針對軟件資源共享需求,給出了軟件資源共享模型;比較了軟件資源共享與網(wǎng)格的相似特點(diǎn),設(shè)計(jì)了基于OGSA的軟件資源共享系統(tǒng),詳細(xì)介紹了系統(tǒng)的體系結(jié)構(gòu)和系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)??紤]到影響軟件資源共享服務(wù)器性能參數(shù)的動態(tài)不穩(wěn)定性和不可公度性,運(yùn)用模糊多目標(biāo)格序決策的方法對滿足SRSR的軟件資源服務(wù)器進(jìn)行了優(yōu)選。
關(guān)鍵詞:網(wǎng)格; 開放式網(wǎng)格服務(wù)體系結(jié)構(gòu); 軟件資源實(shí)體; 軟件資源服務(wù)實(shí)體; 軟件資源服務(wù)請求; 格序
中圖分類號:TP393 文獻(xiàn)標(biāo)志碼:A
文章編號:10013695(2008)12379703
Research on OGSAbased technologies for software resource sharing
CHEN Jing1, SUN Linfu1, HAO Guang2
(1.CAD Engineering Center, Southwest Jiaotong University, Chengdu 610031, China; 2.Economic Planning Resarch Institute of Ministry of Railways, Beijing 100038, China)
Abstract:This paper put forward software resources sharing model aimed at soft resourcessharing request, compared to similar characteristic of softwareresourcessharing and grid designed, softwareresources sharing system based on OGSA introducded system architecture and key technologiesof softwareresourcessharing system detailedly. Considered commensurability and dynamic instability of parameter affecting performance of softwareresources sharing server, chosed softwareresources server meeting softwareresourcesservice request(SRSR)by method of fussy multiobjective latticeorder decision
Key words:grid; open grid service architecture(OGSA); soft resource entity(SRE); soft resource service entity(SRSE); soft resource service request(SRSR); latticeorder
隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展及企業(yè)信息化的要求,軟件資源逐漸成為現(xiàn)代企業(yè)進(jìn)行生產(chǎn)、經(jīng)營和管理的重要工具資源。在對我國制造業(yè)企業(yè)調(diào)查時發(fā)現(xiàn),軟件資源分布極不平衡。一些大型國有企業(yè)經(jīng)過企業(yè)長期積累以及國家的持續(xù)投入,擁有大量的貴重軟件資源,但這些資源并未得到充分利用;而一些中小企業(yè)由于資金問題,無法承擔(dān)一些貴重軟件資源費(fèi)用,在一定程度上限制了企業(yè)發(fā)展。如果能構(gòu)建一服務(wù)平臺,使缺乏軟件資源的企業(yè)能夠通過Internet利用其他企業(yè)空閑的軟件資源,不僅滿足了這些企業(yè)的軟件資源需求,而且也提高了企業(yè)軟件資源利用率,為企業(yè)帶來新的經(jīng)濟(jì)增長點(diǎn)。因此,軟件資源共享技術(shù)的研究具有十分重要的意義。
1 網(wǎng)格技術(shù)
網(wǎng)格[1]的概念和技術(shù)最初是為實(shí)現(xiàn)科研協(xié)作中的資源共享而提出來的,是一個集成的計(jì)算與資源環(huán)境,或者說是一個計(jì)算資源池。有人形象地將網(wǎng)格描述為“把整個因特網(wǎng)整合成一臺巨大的超級計(jì)算機(jī),實(shí)現(xiàn)計(jì)算資源、存儲資源、信息資源、知識資源、專家資源的全面共享的應(yīng)用系統(tǒng)”。網(wǎng)格是計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)用戶訪問地理位置分布、異構(gòu)的計(jì)算機(jī)系統(tǒng)資源的一種通用應(yīng)用服務(wù)平臺。
軟件資源共享系統(tǒng)和網(wǎng)格均具有分布性、異構(gòu)性、動態(tài)性等特征,因此可以將網(wǎng)格技術(shù)應(yīng)用于構(gòu)建軟件資源共享服務(wù)平臺。
2 基于OGSA的軟件資源共享系統(tǒng)體系結(jié)構(gòu)
2. 1 開放式網(wǎng)格服務(wù)體體系結(jié)構(gòu)(OGSA)[1]
開放式體系結(jié)構(gòu)是Global Grid Forum 4的重要標(biāo)準(zhǔn)建議,是目前最新的一種網(wǎng)格體系結(jié)構(gòu),被稱為是下一代的網(wǎng)格結(jié)構(gòu)。
OGSA是以服務(wù)為中心的服務(wù)結(jié)構(gòu),在OGSA中,包括各種計(jì)算資源、存儲資源、程序、數(shù)據(jù)庫等一切均被看成服務(wù),實(shí)現(xiàn)的是服務(wù)共享。為了使服務(wù)的思想更加明確和具體,OGSA定義了網(wǎng)格服務(wù)(grid service)的概念。網(wǎng)格服務(wù)是一種Web services,該服務(wù)定義了一組接口,這些接口的定義明確并且遵守特定的慣例,解決服務(wù)發(fā)現(xiàn)、動態(tài)服務(wù)創(chuàng)建、生命周期管理、通知等問題。
2. 2 軟件資源共享模型
由于軟件資源的可復(fù)制性,網(wǎng)絡(luò)中軟件資源必須能正確標(biāo)志,這樣軟件資源共享平臺才能正確調(diào)度軟件資源。下面給出軟件資源實(shí)體、軟件資源服務(wù)實(shí)體、軟件資源服務(wù)請求及軟件資源服務(wù)過程的形式定義。
定義1 軟件資源實(shí)體(SRE)是一個三元組(SREID,L,P(t))。其中:L代表軟件資源實(shí)體SRE所處的位置,用軟件資源所在服務(wù)器的IP地址表示;P(t)表示軟件資源實(shí)體的性能參數(shù),性能參數(shù)是時間的變量,表示軟件資源實(shí)體SRE的性能參數(shù)值是動態(tài)的,是隨時間變化的,如P(t) (CPU(t),mem(t),disk(t),…)。
在實(shí)際的軟件運(yùn)行環(huán)境中,同一臺服務(wù)器上可以運(yùn)行多個軟件。本文將一臺服務(wù)器上的每一個共享軟件資源稱為一個軟件資源服務(wù)實(shí)體。一個軟件資源實(shí)體包含多個軟件資源服務(wù)實(shí)體。
定義2 軟件資源服務(wù)實(shí)體(SRSE)可以表示為一個二元組(SRSE_Name,SRE)。其中:SRSE_Name為軟件資源服務(wù)實(shí)體名;SRE為軟件資源實(shí)體。
定義3 軟件資源服務(wù)請求(SRSR)為軟件資源需求者的服務(wù)請求,軟件資源請求可以表示為(SRS_Name,p,c,…)。其中:SRS_Name為要請求的軟件資源服務(wù)名;p,c…為該次請求的參數(shù),包括性能要求、費(fèi)用要求等。
軟件資源共享從某種意義上講和顧客、商場、商家之間的關(guān)系相一致,商家提供顧客需要的商品,而商場作為顧客和商家之間的橋梁,為顧客和商家提供交易平臺,因此筆者可以借助顧客→商場→商家這種模式開構(gòu)建本文的軟件共享模型,如圖1所示。本文將軟件服務(wù)請求→軟件資源共享平臺→軟件資源服務(wù)實(shí)體稱為軟件資源服務(wù)過程。
定義4 稱(SRSR,U,F(xiàn))是軟件資源服務(wù)過程。其中:SRSR為軟件資源服務(wù)請求集, 即
SRSR = {SRSR1,SRSR2,…,SRSRn}
U為軟件資源服務(wù)實(shí)體集,即
U={SRSE1,SRSE2,…,SRSEn}
F為SRR與U之間的關(guān)系集,即
F = {fi:SRR→U }
2. 3 基于OGSA的軟件資源共享系統(tǒng)體系結(jié)構(gòu)
根據(jù)軟件資源共享模型及網(wǎng)格技術(shù)特點(diǎn),給出如圖2所示的軟件資源共享系統(tǒng)體系結(jié)構(gòu)。軟件資源共享系統(tǒng)為四層結(jié)構(gòu),由上到下分別為應(yīng)用層、網(wǎng)格核心服務(wù)層、資源服務(wù)表示層、資源層。
a)資源層,包括物理資源和邏輯資源。在本系統(tǒng)中,物理資源指的是裝有共享軟件的服務(wù)器,即SRE。物理資源之上是邏輯資源,在本系統(tǒng)中指的是共享的軟件資源,即SRSE。在物理網(wǎng)格之上提供這些抽象服務(wù)。
b)資源服務(wù)表示層。所有網(wǎng)格資源(邏輯的與物理的)在這一層均被建模為服務(wù)。使用WSDL(Web service description language)描述服務(wù),包括接口和訪問的方法,提供動態(tài)的、有狀態(tài)的和可管理的Web服務(wù)的能力。
c)網(wǎng)格核心服務(wù)層。該服務(wù)層對應(yīng)于OGSA體系結(jié)構(gòu)中的grid infrastructure,提供OGSA的核心服務(wù)。這些核心網(wǎng)格服務(wù)包括SRSE的注冊與撤銷、SRSE的查找、SRSE資源調(diào)度、SRE資源監(jiān)控、支付管理、安全機(jī)制等。
d)網(wǎng)格應(yīng)用層。它提供網(wǎng)格門戶網(wǎng)站,為用戶訪問軟件資源共享系統(tǒng)提供統(tǒng)一的訪問方式,方便用戶透明地訪問軟件共享資源。
3 基于OGSA的軟件資源共享系統(tǒng)實(shí)現(xiàn)
3. 1 基于OGSA的軟件資源共享系統(tǒng)設(shè)計(jì)
建造OGSA的兩大支撐技術(shù)是網(wǎng)格技術(shù)(如Globus軟件包)和Web service。Globus是已經(jīng)被科學(xué)工程計(jì)算領(lǐng)域廣泛接受的網(wǎng)格技術(shù)解決方案,Web service是一種標(biāo)準(zhǔn)的存取網(wǎng)絡(luò)應(yīng)用的框架。本系統(tǒng)使用Globus聯(lián)盟推出的遵循WSRF(Web service resource framework)的GT4(Global ToolKit 4)開發(fā)工具進(jìn)行系統(tǒng)開發(fā)。
系統(tǒng)由網(wǎng)格門戶、網(wǎng)格平臺和許多網(wǎng)格節(jié)點(diǎn)(每臺軟件資源共享服務(wù)器是一個網(wǎng)格節(jié)點(diǎn))構(gòu)成。使用GT4構(gòu)建一個網(wǎng)格平臺,共享軟件資源服務(wù)器作為網(wǎng)格平臺的節(jié)點(diǎn)被集成到網(wǎng)格中,由網(wǎng)格平臺進(jìn)行管理。用戶通過網(wǎng)格門戶提出使用共享軟件服務(wù)需求,由網(wǎng)格平臺完成SRSE的查找、調(diào)度及管理功能。
網(wǎng)格平臺主要實(shí)現(xiàn)安全認(rèn)證、SRSE管理、資源調(diào)度、支付管理功能,因此筆者在網(wǎng)格平臺上部署認(rèn)證服務(wù)器、UDDI(universal description,discovery and integration)服務(wù)器來完成這些功能。在軟件資源服務(wù)器上部署Web service,用來實(shí)現(xiàn)軟件資源實(shí)體SRE與UDDI服務(wù)器之間的通信,包括服務(wù)信息、服務(wù)器性能信息等。
安全認(rèn)證服務(wù)器用來保證只有合法的用戶才能享受網(wǎng)格中的軟件服務(wù),每個用戶和服務(wù)均需要認(rèn)證證書來驗(yàn)明正身。本文采用OGSI提供的編程接口和認(rèn)證證書來實(shí)現(xiàn)安全認(rèn)證功能。
UDDI服務(wù)器用來實(shí)現(xiàn)軟件資源的注冊與撤銷、發(fā)布、查詢、調(diào)度等功能,通過部署在網(wǎng)格上的UDDI服務(wù)器及部署在軟件共享資源服務(wù)器上的Web service來實(shí)現(xiàn)SRSE的管理。軟件資源服務(wù)器中所有的共享軟件均通過部署在其上的Web service將其轉(zhuǎn)換為SRSE,并在UDDI上注冊,同樣當(dāng)軟件資源服務(wù)器上的軟件停止共享服務(wù)時,其上的Web service會將對應(yīng)的SRSE在UDDI服務(wù)器上撤銷。當(dāng)有軟件資源共享服務(wù)要求時,UDDI服務(wù)器會查找在其上注冊的SRSE,通過資源調(diào)度功能將當(dāng)前滿足要求的最優(yōu)軟件資源共享服務(wù)器分配給需求者。
3. 2 共享軟件資源遠(yuǎn)程操作分析
目前實(shí)現(xiàn)軟件遠(yuǎn)程操作共有四種技術(shù)[2],即遠(yuǎn)程桌面共享技術(shù)、遠(yuǎn)程調(diào)用技術(shù)、遠(yuǎn)程登錄技術(shù)及基于CORBA封裝的軟件共享技術(shù)。近幾年出現(xiàn)的Web services技術(shù)為軟件封裝提供了新的途徑,但目前還基本處于功能模塊的遠(yuǎn)程調(diào)用階段。
遠(yuǎn)程桌面共享技術(shù)具有較強(qiáng)的通用性,對所需共享的軟件基本沒有要求,是實(shí)現(xiàn)共享軟件資源遠(yuǎn)程操作的重要手段。本文采用遠(yuǎn)程桌面共享技術(shù),結(jié)合軟件資源共享服務(wù)器上的Web service實(shí)現(xiàn)共享軟件遠(yuǎn)程操作。
3. 3 共享軟件資源服務(wù)器調(diào)度算法
同一個軟件資源可能安裝在不同的軟件資源服務(wù)器上,而不同的用戶需要使用的軟件資源服務(wù)SRSE具有獨(dú)立性,只存在競爭關(guān)系。因此,為了使用戶以獲得最大利益方式使用軟件資源共享服務(wù),本文采用類似隊(duì)列模型,服務(wù)請求取滿足SRSR需求的當(dāng)前服務(wù)器集中最優(yōu)服務(wù),當(dāng)前沒有SRSE滿足SRSR需求的,只有等待使用者釋放SRSE,才能使用。因此,共享軟件資源服務(wù)器調(diào)度的關(guān)鍵是如何在滿足SRSR需求的服務(wù)器集中選擇最優(yōu)的。
3. 3. 1 共享軟件資源服務(wù)器調(diào)度算法模型
將滿足SRSR需求的服務(wù)器集看做方案集,即S={SREi}(i=1,2,…,m),對于每個SREi,考慮的決策指標(biāo)有CPU的剩余處理能力(P)、空閑內(nèi)存(M)、可用磁盤空間(D)、收費(fèi)標(biāo)準(zhǔn)(C)。令O={Oj}(j=1,2,…,m)。其中Oj=(Pj,Mj,Dj,Cj),每個目標(biāo)的權(quán)集為W={Wj},j=1,2,…,m。
顯然,這是個多目標(biāo)決策的問題。每個方案S具有兩個顯著特點(diǎn),即不可公度性和矛盾性。不可公度性是指各個目標(biāo)沒有統(tǒng)一度量標(biāo)準(zhǔn)(否則就可以轉(zhuǎn)換為單目標(biāo)決策問題),因而難以進(jìn)行直接比較。矛盾性是指用某種方案改變某個目標(biāo)的取值,可能會使另外的目標(biāo)的取值變壞。本文運(yùn)用模糊多目標(biāo)格序[4]決策的方法對滿足SRSR需求的服務(wù)器進(jìn)行優(yōu)選。
模糊指標(biāo)矩陣和模糊權(quán)重進(jìn)行歸一化方法如下:
a)收益類模糊指標(biāo)值的歸一化。設(shè)有m個模糊指標(biāo)值xi( i=1,2,…,m),令(#8226;)maxi=maxi{(#8226;)}。記xi=(ai,bi,ci),則歸一化的模糊指標(biāo)值ri(i=1,2,…,m)可寫為
ri=(ai/cmaxi, bi/bmaxi,ci/amaxi∧1)
b)成本類模糊指標(biāo)值的歸一化。設(shè)有m個模糊指標(biāo)值xi(i=1,2,…,m),令(#8226;)mini=mini{(#8226;)}。記xi=(ai,bi,ci),則歸一化的模糊指標(biāo)值ri(i=1,2,…,m),可寫為
ri(amini/ci, bmini/bi,cmini/ai∧1)
c)適中型模糊指標(biāo)值的歸一化方法如下:
設(shè)E(Ci)為目標(biāo)Ci的期望值,當(dāng)bi>E(Ci)時,
ri=(E(Ci)/ci,E(Ci)/bi, E(Ci)/ai∧1)
當(dāng)bi<E(Ci)時
ri=(ai/E(CI),bi/E(Ci), ci/E(Ci)∧1)
d)模糊權(quán)重矢量W歸一化采用如下方式:
Wi=Wi/∑nj=1Wj
顯然,對于CPU處理能力(P)、空閑內(nèi)存(M)、可用磁盤空間(D)來說,指標(biāo)值越大越好,屬于收益類指標(biāo);而對于C來說,指標(biāo)值越小越好,屬于成本類指標(biāo)。
3. 3. 2 共享軟件資源服務(wù)器調(diào)度算法
若被選方案能形成有限格,則其頂元素自然就是最優(yōu)方案。若不能形成有限格,則將模糊正理想解(PIS)和模糊負(fù)理想解(NIS)作為虛擬方案,分別看做是頂元素和底元素,構(gòu)造一個格,通過比較每個方案與正理想解以及負(fù)理想解的接近程度判斷最優(yōu)解或滿意解。決策的原則是方案與模糊正理想解的距離越小越好,而與模糊負(fù)理想解的距離越大越好,即方案與模糊理想解的綜合差異越大越好。
a)以模糊正理想解為頂元素,以模糊負(fù)理想解為底元素,考察方案間的關(guān)系,繪出Hasse圖。
b)只考慮作為模糊正理想解下鄰的那些較優(yōu)的方案,依次設(shè)為S′1,S′2,…,S′k(1≤k≤m),得模糊指標(biāo)矩陣F以及模糊權(quán)重矢量W;
c)分別對F和W進(jìn)行歸一化處理;
d)建立模糊加權(quán)決策矩陣D=(rij)k×n。其中:rij=wjxij,i,j。
e)各目標(biāo)模糊加權(quán)指標(biāo)值所對應(yīng)的模糊極大集Mi構(gòu)成
M+=(M1,M2,…,Mn)
確定方案S′i(i=1,2,…,k)與模糊正理想解M+之間的差異為:
D+i=∑nj=1[d(rij, M+j)]2
f)各目標(biāo)模糊加權(quán)指標(biāo)值所對應(yīng)的模糊極小集mi構(gòu)成
M-=(m1,m2,…,mn)
確定方案S′i(i=1,2,…,k)與模糊負(fù)理想解M-之間的差異為
D-i=∑nj=1[d(rij,M-j)]2
g)確定方案S′i(i=1,2,…,k)的綜合差異為
Di=qD-i/D+(1-q)(1-D+i/D); i=1,2,…,k
其中:D為模糊正理想解M+與模糊負(fù)理想解M-之間的差異,q為樂觀系數(shù)。
h)根據(jù)Di=(i=1,2,…,k)的大小,選出最優(yōu)方案(或滿意方案)。
4 結(jié)束語
本文利用軟件資源共享和網(wǎng)格的共同具有的一些特點(diǎn),利用網(wǎng)格技術(shù)實(shí)現(xiàn)軟件資源共享問題,從理論和實(shí)踐上均是可行的。筆者在考慮SRE決策時,沒有考慮網(wǎng)絡(luò)性能的影響,而在實(shí)際運(yùn)行環(huán)境中,網(wǎng)絡(luò)性能因素的影響是不可避免的,下一步將對該問題進(jìn)行深入的研究。
參考文獻(xiàn):
[1]都志輝,陳渝,劉鵬. 網(wǎng)格計(jì)算[M].北京:清華大學(xué)出版社,2002:366.
[2]王淑營,殷成鳳,趙慧娟,等.軟件資源共享及其在網(wǎng)絡(luò)化制造系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)集成制造系統(tǒng),2003,9(7):608612.
[3]居文軍,孫林夫.制造資源共享技術(shù)研究[J].計(jì)算機(jī)集成制造系統(tǒng),2007,13(7):13361343.
[4]郝光,牟奇峰,張殿業(yè),等.基于格序偏好的模糊多目標(biāo)決策方法[J].西南交通大學(xué)學(xué)報(bào),2006,41(4):517521.