(武漢理工大學(xué)計(jì)算機(jī)學(xué)院 武漢 430063)
校園網(wǎng)是學(xué)校教學(xué)、科研及管理的重要基礎(chǔ)平臺(tái).但由于現(xiàn)有網(wǎng)絡(luò)的異構(gòu)性、資源地理分布性、動(dòng)態(tài)性和系統(tǒng)權(quán)限等諸多原因,各種教學(xué)資源不能充分共享和利用,重復(fù)開(kāi)發(fā)現(xiàn)象比較嚴(yán)重.從目前來(lái)看,現(xiàn)有的校園網(wǎng)存在的問(wèn)題有:異構(gòu)系統(tǒng)間的數(shù)據(jù)共享和互操作性;異構(gòu)資源的有效管理;某些地方資源閑置造成浪費(fèi)而其他基礎(chǔ)設(shè)施較差的地方確有缺乏這種資源.網(wǎng)格技術(shù)的出現(xiàn)極大的改善了這種狀況.
隨著網(wǎng)格服務(wù)逐漸滲透到社會(huì)的各個(gè)行業(yè),網(wǎng)格也已經(jīng)從最初的五層沙漏模型發(fā)展到開(kāi)放網(wǎng)格服務(wù)體系(OGSA),再到 Web服務(wù)資源框架(WSRF),網(wǎng)格的研究走向了面向服務(wù)的軌道.本文通過(guò)對(duì) WSRF的研究,提出了基于 WSRF的教學(xué)資源共享的體系結(jié)構(gòu).
Ian Foster等人首先提出的是五層沙漏模型[1],建立在互聯(lián)網(wǎng)協(xié)議之上,強(qiáng)調(diào)協(xié)議在網(wǎng)格的資源共享和互操作中的地位,側(cè)重于對(duì)網(wǎng)格各部分功能的定性描述.這種結(jié)構(gòu)雖然簡(jiǎn)單,但是在許多情況下,復(fù)雜的服務(wù)和應(yīng)用很難分解成標(biāo)準(zhǔn)而低級(jí)的基本協(xié)議,而且人們?cè)诮鉀Q問(wèn)題時(shí)不習(xí)慣按照協(xié)議的方式來(lái)進(jìn)行.
全球網(wǎng)格論壇組織GGF提出的開(kāi)放網(wǎng)格服務(wù)體系結(jié)構(gòu)OGSA(open grid services architecture),它以服務(wù)為中心,充分利用現(xiàn)有的解決方案,遵循現(xiàn)有的 Web服務(wù)框架,利用諸如XML(extensible markup language)、SOAP(simple object access protocol)、UDDI與 WSDL(web service describe language)同等現(xiàn)有的 Web service機(jī)制,并具有良好的擴(kuò)展性,可以更好地支持臨時(shí)服務(wù)[2].OGSA提出后,GGF開(kāi)始著手研究開(kāi)放網(wǎng)格服務(wù)基礎(chǔ)設(shè)施OGSI草案,但是Web服務(wù)支持者認(rèn)為OGSI有如下4個(gè)不利于其發(fā)展的弊病:(1)在一個(gè)協(xié)議中包含了過(guò)多的內(nèi)容,協(xié)議對(duì)不同內(nèi)容的規(guī)定詳細(xì)程度也各不相同,使得協(xié)議的實(shí)現(xiàn)難于搭建;(2)由于過(guò)多的使用XML Schema及其擴(kuò)展,OGSI與現(xiàn)有的 Web服務(wù)和XML工具不能很好的聯(lián)系起來(lái);(3)在編程模式的設(shè)計(jì)上過(guò)于面向?qū)ο蠡骔eb Service對(duì)象一樣能夠支持實(shí)例內(nèi)部狀態(tài)的維護(hù),這一點(diǎn)得不到Web服務(wù)技術(shù)擁護(hù)者的支持,同時(shí)也難于在基于HTTP的 Web上實(shí)現(xiàn);(4)對(duì) WSDL做了過(guò)多的擴(kuò)展,使得OGSI難以無(wú)縫集成到以WSDL為基礎(chǔ)的Web服務(wù)協(xié)議棧之中,使OGSI與Web服務(wù)不能很好地結(jié)合在一起[3].為了解決OGSI和 Web服務(wù)之間存在的矛盾,2004年1月,IBM,Globus和HP共同提出了WSRF協(xié)議.WSRF采用了與網(wǎng)格服務(wù)完全不同的定義,它規(guī)定了資源是有狀態(tài)的,服務(wù)時(shí)無(wú)狀態(tài)的.
WSRF的規(guī)范是針對(duì)OGSI規(guī)范的主要接口和操作而定義的,它保留了OGSI中規(guī)定的所有基本功能,只是改變了某些語(yǔ)法,并且使用了不同的術(shù)語(yǔ)進(jìn)行表達(dá),WSRF定義了使用Web服務(wù)來(lái)訪問(wèn)有狀態(tài)資源的一系列規(guī)范,包括Web服務(wù)資源生命周期(WS-ResourceLifetime)、Web服務(wù)資源屬性(WS-ResourceProperties)、Web服務(wù)服務(wù)組(WSServiceGroup)和 Web服 務(wù) 基 本 錯(cuò) 誤 (WS-Base-Faults)規(guī)范.基于 WSRF的網(wǎng)格環(huán)境見(jiàn)圖1[4].

圖1 基于WSRF的網(wǎng)格環(huán)境
信息處理器負(fù)責(zé)與外界的信息交換,Web服務(wù)將自身提供的功能通過(guò) WSDL(Web service description language)定義成一組操作的集合,這些操作可以被分布式系統(tǒng)中的其他組件(服務(wù)請(qǐng)求者)調(diào)用.WSRF的目的是使資源成為 Web服務(wù)框架下的有狀態(tài)資源,WSRF框架見(jiàn)圖2.
WS基本錯(cuò)誤定義了被WSRF服務(wù)拋出的SOAP格式的錯(cuò)誤,WS服務(wù)組指定了如何聚合WS資源,WS資源屬性定義了同WS資源進(jìn)行交互的方式,WS資源生命周期定義了如何管理和銷(xiāo)毀WS資源,WS可更新引用在端點(diǎn)引用無(wú)效的時(shí)候來(lái)檢索所需要的更新版本.

圖2 WSRF框架
模型的設(shè)計(jì)面向的是多個(gè)學(xué)科之間甚至是不同地域的多個(gè)學(xué)校之間,因此對(duì)各種資源的封裝非常重要,模型的設(shè)計(jì)思路如下:(1)采用一種有效的方法進(jìn)行資源的封裝,屏蔽資源內(nèi)部的方法和機(jī)制,使異構(gòu)分布的資源能夠以統(tǒng)一的方式調(diào)用和管理,實(shí)現(xiàn)底層模型對(duì)用戶的透明性;(2)采用已用的或可用的標(biāo)準(zhǔn)化規(guī)范,這樣有利于模型的推廣,在模型升級(jí)和替換的過(guò)程中不受非標(biāo)準(zhǔn)的約束,能夠完全兼容其他的產(chǎn)品;(3)采用基于QoS的資源調(diào)度算法,提高資源調(diào)度的效率和可靠性.使得服務(wù)請(qǐng)求者能準(zhǔn)確的獲得自己所需要的各種資源并整合起來(lái);(4)系統(tǒng)能夠充分提高資源的利用率,通過(guò)該模型設(shè)計(jì)的系統(tǒng)應(yīng)該能充分發(fā)揮閑置資源的作用,這些資源主要是指一些特殊的物理資源,使一些基礎(chǔ)設(shè)施條件較差的部門(mén)能使用這些資源,有效提高資源的利用率.
基于上述的設(shè)計(jì)思路,設(shè)計(jì)的模型應(yīng)能達(dá)到如下目標(biāo):
1)對(duì)教學(xué)資源有統(tǒng)一的描述和傳輸標(biāo)準(zhǔn),能夠?qū)崿F(xiàn)異構(gòu)資源標(biāo)準(zhǔn)集成,對(duì)用戶使用標(biāo)準(zhǔn)的、開(kāi)放的和通用的協(xié)議與接口,提供統(tǒng)一的方式供用戶進(jìn)行訪問(wèn).
2)根據(jù)QoS的要求,基于該模型的系統(tǒng)必須能夠提供無(wú)縫透明的服務(wù)質(zhì)量.首先,用戶可以在任何時(shí)間、地點(diǎn)訪問(wèn)各種網(wǎng)格教學(xué)資源,網(wǎng)格計(jì)算能力可以通過(guò)網(wǎng)格系統(tǒng)輸送到任何角落,即資源隨處可得.支持大量訪問(wèn)及并發(fā)訪問(wèn).并且操作界面友好,便于交互操作.
3)支持主體之間的安全通信,防止主體假冒和數(shù)據(jù)泄密;需要支持跨虛擬組織VO邊界的安全,應(yīng)避免采用傳統(tǒng)的集中管理安全系統(tǒng);需要支持網(wǎng)格用戶的“單一登錄”,包括跨多個(gè)資源和站點(diǎn)的計(jì)算所進(jìn)行的信任委托和信任轉(zhuǎn)移等.安全性是實(shí)現(xiàn)服務(wù)質(zhì)量的基礎(chǔ).
該共享模型的體系結(jié)構(gòu)見(jiàn)圖3.主要由3部分組成,最底層為網(wǎng)格資源層,中間層為網(wǎng)格服務(wù)層,最上層為網(wǎng)格應(yīng)用層.該模型最底層提供網(wǎng)格的各種物理和邏輯資源,它是教學(xué)資源共享平臺(tái)的基礎(chǔ),這里的物理資源指的是教學(xué)的一些硬件資源,包括多媒體資源、網(wǎng)絡(luò)教室資源、大型計(jì)算資源、存儲(chǔ)資源、實(shí)驗(yàn)儀器、服務(wù)器及其他一些基礎(chǔ)設(shè)施資源.邏輯資源主要指軟件資源,如應(yīng)用軟件和系統(tǒng)軟件.這些資源率屬于不同的學(xué)院或者學(xué)校,分布在不同的區(qū)域但必須通過(guò)網(wǎng)絡(luò)設(shè)備連接起來(lái),即物理上是連通的.

圖3 基于WSRF的教學(xué)資源共享模型
網(wǎng)格服務(wù)層整合底層資源并向用戶提供應(yīng)用接口.由于網(wǎng)格資源具有很強(qiáng)的動(dòng)態(tài)性,它們可能隨時(shí)加入或離開(kāi)網(wǎng)格系統(tǒng),而且,它們可能存在于不同的操作系統(tǒng)中,即資源之間的異構(gòu)性很強(qiáng),因此需要將資源通過(guò)Web服務(wù)定義語(yǔ)言來(lái)描述,使其成為一種虛擬化資源,從而屏蔽資源的異構(gòu)性.虛擬化的資源就可以經(jīng)由網(wǎng)格中間件統(tǒng)一調(diào)度和管理.信息服務(wù)包括資源信息收集,將動(dòng)態(tài)資源存儲(chǔ)到資源數(shù)據(jù)庫(kù)中;周期性更改資源信息;資源發(fā)現(xiàn)等內(nèi)容,資源是這個(gè)系統(tǒng)的基礎(chǔ),需要網(wǎng)格節(jié)點(diǎn)自治管理,又需要這個(gè)共享環(huán)境系統(tǒng)對(duì)資源進(jìn)行統(tǒng)一管理,因此必須提供通用的資源管理機(jī)制.網(wǎng)絡(luò)監(jiān)控和QoS約束模塊對(duì)各類資源進(jìn)行實(shí)時(shí)的性能監(jiān)控并獲得狀態(tài)數(shù)據(jù),為系統(tǒng)管理及資源調(diào)度提供依據(jù),由于網(wǎng)格環(huán)境中基礎(chǔ)設(shè)施個(gè)體差異較大,分布地域廣,所以數(shù)據(jù)傳輸中的錯(cuò)誤及系統(tǒng)故障在所難免,另外資源所有者隨意開(kāi)關(guān)機(jī)等都會(huì)嚴(yán)重降低系統(tǒng)可用性.資源調(diào)度模塊包括資源查找、資源定位、統(tǒng)一調(diào)度和資源分配,在統(tǒng)一調(diào)度的過(guò)程中結(jié)合QoS約束,為用戶提供可靠精確的服務(wù).目錄服務(wù)是基于網(wǎng)格計(jì)算環(huán)境的信息服務(wù)框架,主要完成信息的發(fā)現(xiàn)、注冊(cè)、查詢、修改等工作,允許虛擬組織參加者通過(guò)輕量目錄管理協(xié)議[5](lightweight directory access protocol,LDAP)在由LDAP服務(wù)器組合構(gòu)成的分布目錄中對(duì)信息/數(shù)據(jù)進(jìn)行訪問(wèn)和存儲(chǔ).
網(wǎng)格應(yīng)用層是面向用戶的核心部分,該層為用戶設(shè)計(jì)透明、安全的應(yīng)用程序和服務(wù),用戶不需要知道這些服務(wù)時(shí)怎么實(shí)現(xiàn)的.他們只需要通過(guò)用戶注冊(cè)成為合法的網(wǎng)格用戶,然后通過(guò)網(wǎng)格服務(wù)注冊(cè)中心搜索所需的網(wǎng)格服務(wù),獲得該服務(wù)的調(diào)度方式,就可以使用所需的資源.
1)資源的QoS屬性包括資源費(fèi)用、完成時(shí)間、帶寬、完成率等,這里我們考慮資源費(fèi)用和完成時(shí)間兩個(gè)因素.QoS的屬性向量可以表示為Q={q1,q2,…,ql},由此統(tǒng)一描述資源,完成資源調(diào)度的時(shí)間表示為FTij(表示第i個(gè)任務(wù)對(duì)第j個(gè)資源的調(diào)度時(shí)間),任務(wù)i使用的資源j的花費(fèi)表示為RCij.
2)用效用函數(shù)[7]表示用戶從完成任務(wù)中獲得的QoS滿意程度,效用函數(shù)用ui表示,任務(wù)集中所有的任務(wù)總效用為系統(tǒng)目標(biāo)是最大化總效用,即能夠達(dá)到.式中:t為用戶規(guī)定的完成時(shí)間.3)用T= (t1,t2,…,tn)表示所要完成的調(diào)度任務(wù),R = (r1,r2,…,rm)為網(wǎng)格資源,則任務(wù)與資源的綁定可以用矩陣來(lái)表示.式中:amn為任務(wù)tm使用資源rn的數(shù)量.決策矩陣用B= (ajk)m*d表示.式中:d為用戶關(guān)心的資源的QoS屬性維數(shù),這里d=2.
4)完成時(shí)間屬于成本型屬性,數(shù)值越小越好,資源花費(fèi)也屬于成本屬性,數(shù)值越小越好.我們對(duì)可用決策矩陣B進(jìn)行規(guī)范化就可以得到規(guī)范化矩陣R.

用戶的滿意度和完成時(shí)間、資源花費(fèi)2個(gè)因素的關(guān)系見(jiàn)圖4.

圖4 用戶的滿意度和完成時(shí)間、資源花費(fèi)的關(guān)系
根據(jù)以上對(duì)資源的描述,給出一種基于QoS的資源調(diào)度的算法描述:
1)遍歷任務(wù)T,對(duì)于每個(gè)ti再遍歷資源庫(kù)R,判定是否為所需資源,若是,令資源任務(wù)矩陣A的aij為1,否則為0.
2)若矩陣A的第i行全部為0,說(shuō)明任務(wù)ti沒(méi)有符合的資源,程序結(jié)束.
這位導(dǎo)事,在念誦《指路經(jīng)》(死者入棺時(shí)念誦)之后,就不再參與儀式的其他環(huán)節(jié)。剩下的祭奠活動(dòng),交給其他的人完成。
3)若aij≠0,則將資源rj加入資源隊(duì)列R.
4)用戶輸入自己的資源屬性權(quán)重,并給出完成時(shí)間約束.
5)遍歷資源R,對(duì)rj請(qǐng)求QoS指標(biāo),即資源rj能提供的QoS值,根據(jù)完成時(shí)間約束,不符合條件的資源從資源隊(duì)列中移除.
6)根據(jù)資源效用函數(shù),對(duì)資源隊(duì)列中的資源進(jìn)行排序,計(jì)算出每個(gè)資源節(jié)點(diǎn)的綜合效用,根據(jù)節(jié)點(diǎn)的最大綜合效用,得出任務(wù)的決策矩陣.
7)給擁有最大綜合效用的資源節(jié)點(diǎn)分配任務(wù),執(zhí)行任務(wù)調(diào)度,直至整個(gè)任務(wù)結(jié)束.
算法的偽代碼如下:
MQResSche(T,w)
{
While任務(wù)隊(duì)列非空
for(每個(gè)等待調(diào)度的任務(wù)ti)
f
or(每個(gè)可供調(diào)度資源rj)

then aij++,生成可用矩陣A
end for
if(矩陣A的第i行都為零)
將ti從任務(wù)隊(duì)列中刪除,標(biāo)記ti調(diào)度失敗
else
根據(jù)效用函數(shù)進(jìn)行排序得到資源隊(duì)列rj
將其加入到資源-任務(wù)隊(duì)列RT(資源任務(wù)對(duì))
end if
end for
從資源-任務(wù)隊(duì)列找出選出最大的綜合效用U
將資源rj分配給任務(wù)ti
……
將ti從任務(wù)隊(duì)列中刪除,標(biāo)記ti調(diào)度成功,清空資源任務(wù)隊(duì)列
endwhile
}
該算法需要用戶輸入任務(wù)T和QoS權(quán)重w,然后為用戶生成可用資源矩陣,根據(jù)可用矩陣得到最大綜合效用的資源任務(wù)隊(duì)列.
分析了當(dāng)前教學(xué)資源共享的現(xiàn)狀,針對(duì)教育資源存在的異構(gòu)性和分布性方面的難題,提出了一種基于WSRF的教學(xué)資源共享模型,通過(guò)對(duì)資源的描述,屏蔽資源的異構(gòu)性,分布性等問(wèn)題.通過(guò)基于QoS的資源調(diào)度算法,有效實(shí)現(xiàn)對(duì)資源的全局調(diào)度.本文還存在以下問(wèn)題有待進(jìn)一步提高:(1)對(duì)資源的封裝沒(méi)有給出具體的模型,在 WSRF模型中,資源是有狀態(tài)的,因此它與傳統(tǒng)的基于無(wú)狀態(tài)的資源封裝會(huì)有很大的差別;(2)共享模型中用戶處于一種自主管理的模式,如何對(duì)用戶行為和操作進(jìn)行約束是需要解決的問(wèn)題;(3)資源調(diào)度算法中僅僅考慮完成時(shí)間和資源花費(fèi)兩個(gè)QoS屬性,這在實(shí)際應(yīng)用中還有所欠缺,如CPU、網(wǎng)絡(luò)帶寬和完成率等因素.
[1]FOSTER I,KESSELMAN S,TUECKE S.The anatomy of the grid:enabling scalable virtual organizations[J].International J.Supercomputer Applications,2001,15(3):5-6.
[2]劉會(huì)斌,都志輝.網(wǎng)格與 Web服務(wù)的融合-WSRF和WS-Notification[J].計(jì)算機(jī)科學(xué),2005,32(2):76-79.
[3]吳 雷.基于WSRF的服務(wù)網(wǎng)格實(shí)現(xiàn)框架及其應(yīng)用的研究[D].合肥:合肥工業(yè)大學(xué),2006.
[4]沈 彬,劉麗蘭,俞濤.制造網(wǎng)格中基于 WSRF的資源共享架構(gòu)的研究[J].管理技術(shù),2005(2):99-102.
[5]JAMHOUR E.Distribute security management using LDAP directories[C]∥Los Alamitors:IEEE Com-puter Society Press,2001:144-153.
[6]李春林,鄭 輝.網(wǎng)格計(jì)算中基于QoS的資源調(diào)度優(yōu)化[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2008,32(2):199-202.
[7]王 進(jìn),解 福.基于效益函數(shù)驅(qū)動(dòng)的網(wǎng)格資源調(diào)度算法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(23):5311-5313.