(武漢理工大學計算機學院 武漢 430063)
校園網(wǎng)是學校教學、科研及管理的重要基礎(chǔ)平臺.但由于現(xiàn)有網(wǎng)絡(luò)的異構(gòu)性、資源地理分布性、動態(tài)性和系統(tǒng)權(quán)限等諸多原因,各種教學資源不能充分共享和利用,重復開發(fā)現(xiàn)象比較嚴重.從目前來看,現(xiàn)有的校園網(wǎng)存在的問題有:異構(gòu)系統(tǒng)間的數(shù)據(jù)共享和互操作性;異構(gòu)資源的有效管理;某些地方資源閑置造成浪費而其他基礎(chǔ)設(shè)施較差的地方確有缺乏這種資源.網(wǎng)格技術(shù)的出現(xiàn)極大的改善了這種狀況.
隨著網(wǎng)格服務逐漸滲透到社會的各個行業(yè),網(wǎng)格也已經(jīng)從最初的五層沙漏模型發(fā)展到開放網(wǎng)格服務體系(OGSA),再到 Web服務資源框架(WSRF),網(wǎng)格的研究走向了面向服務的軌道.本文通過對 WSRF的研究,提出了基于 WSRF的教學資源共享的體系結(jié)構(gòu).
Ian Foster等人首先提出的是五層沙漏模型[1],建立在互聯(lián)網(wǎng)協(xié)議之上,強調(diào)協(xié)議在網(wǎng)格的資源共享和互操作中的地位,側(cè)重于對網(wǎng)格各部分功能的定性描述.這種結(jié)構(gòu)雖然簡單,但是在許多情況下,復雜的服務和應用很難分解成標準而低級的基本協(xié)議,而且人們在解決問題時不習慣按照協(xié)議的方式來進行.
全球網(wǎng)格論壇組織GGF提出的開放網(wǎng)格服務體系結(jié)構(gòu)OGSA(open grid services architecture),它以服務為中心,充分利用現(xiàn)有的解決方案,遵循現(xiàn)有的 Web服務框架,利用諸如XML(extensible markup language)、SOAP(simple object access protocol)、UDDI與 WSDL(web service describe language)同等現(xiàn)有的 Web service機制,并具有良好的擴展性,可以更好地支持臨時服務[2].OGSA提出后,GGF開始著手研究開放網(wǎng)格服務基礎(chǔ)設(shè)施OGSI草案,但是Web服務支持者認為OGSI有如下4個不利于其發(fā)展的弊?。海?)在一個協(xié)議中包含了過多的內(nèi)容,協(xié)議對不同內(nèi)容的規(guī)定詳細程度也各不相同,使得協(xié)議的實現(xiàn)難于搭建;(2)由于過多的使用XML Schema及其擴展,OGSI與現(xiàn)有的 Web服務和XML工具不能很好的聯(lián)系起來;(3)在編程模式的設(shè)計上過于面向?qū)ο蠡?,要求Web Service對象一樣能夠支持實例內(nèi)部狀態(tài)的維護,這一點得不到Web服務技術(shù)擁護者的支持,同時也難于在基于HTTP的 Web上實現(xiàn);(4)對 WSDL做了過多的擴展,使得OGSI難以無縫集成到以WSDL為基礎(chǔ)的Web服務協(xié)議棧之中,使OGSI與Web服務不能很好地結(jié)合在一起[3].為了解決OGSI和 Web服務之間存在的矛盾,2004年1月,IBM,Globus和HP共同提出了WSRF協(xié)議.WSRF采用了與網(wǎng)格服務完全不同的定義,它規(guī)定了資源是有狀態(tài)的,服務時無狀態(tài)的.
WSRF的規(guī)范是針對OGSI規(guī)范的主要接口和操作而定義的,它保留了OGSI中規(guī)定的所有基本功能,只是改變了某些語法,并且使用了不同的術(shù)語進行表達,WSRF定義了使用Web服務來訪問有狀態(tài)資源的一系列規(guī)范,包括Web服務資源生命周期(WS-ResourceLifetime)、Web服務資源屬性(WS-ResourceProperties)、Web服務服務組(WSServiceGroup)和 Web服 務 基 本 錯 誤 (WS-Base-Faults)規(guī)范.基于 WSRF的網(wǎng)格環(huán)境見圖1[4].
圖1 基于WSRF的網(wǎng)格環(huán)境
信息處理器負責與外界的信息交換,Web服務將自身提供的功能通過 WSDL(Web service description language)定義成一組操作的集合,這些操作可以被分布式系統(tǒng)中的其他組件(服務請求者)調(diào)用.WSRF的目的是使資源成為 Web服務框架下的有狀態(tài)資源,WSRF框架見圖2.
WS基本錯誤定義了被WSRF服務拋出的SOAP格式的錯誤,WS服務組指定了如何聚合WS資源,WS資源屬性定義了同WS資源進行交互的方式,WS資源生命周期定義了如何管理和銷毀WS資源,WS可更新引用在端點引用無效的時候來檢索所需要的更新版本.
圖2 WSRF框架
模型的設(shè)計面向的是多個學科之間甚至是不同地域的多個學校之間,因此對各種資源的封裝非常重要,模型的設(shè)計思路如下:(1)采用一種有效的方法進行資源的封裝,屏蔽資源內(nèi)部的方法和機制,使異構(gòu)分布的資源能夠以統(tǒng)一的方式調(diào)用和管理,實現(xiàn)底層模型對用戶的透明性;(2)采用已用的或可用的標準化規(guī)范,這樣有利于模型的推廣,在模型升級和替換的過程中不受非標準的約束,能夠完全兼容其他的產(chǎn)品;(3)采用基于QoS的資源調(diào)度算法,提高資源調(diào)度的效率和可靠性.使得服務請求者能準確的獲得自己所需要的各種資源并整合起來;(4)系統(tǒng)能夠充分提高資源的利用率,通過該模型設(shè)計的系統(tǒng)應該能充分發(fā)揮閑置資源的作用,這些資源主要是指一些特殊的物理資源,使一些基礎(chǔ)設(shè)施條件較差的部門能使用這些資源,有效提高資源的利用率.
基于上述的設(shè)計思路,設(shè)計的模型應能達到如下目標:
1)對教學資源有統(tǒng)一的描述和傳輸標準,能夠?qū)崿F(xiàn)異構(gòu)資源標準集成,對用戶使用標準的、開放的和通用的協(xié)議與接口,提供統(tǒng)一的方式供用戶進行訪問.
2)根據(jù)QoS的要求,基于該模型的系統(tǒng)必須能夠提供無縫透明的服務質(zhì)量.首先,用戶可以在任何時間、地點訪問各種網(wǎng)格教學資源,網(wǎng)格計算能力可以通過網(wǎng)格系統(tǒng)輸送到任何角落,即資源隨處可得.支持大量訪問及并發(fā)訪問.并且操作界面友好,便于交互操作.
3)支持主體之間的安全通信,防止主體假冒和數(shù)據(jù)泄密;需要支持跨虛擬組織VO邊界的安全,應避免采用傳統(tǒng)的集中管理安全系統(tǒng);需要支持網(wǎng)格用戶的“單一登錄”,包括跨多個資源和站點的計算所進行的信任委托和信任轉(zhuǎn)移等.安全性是實現(xiàn)服務質(zhì)量的基礎(chǔ).
該共享模型的體系結(jié)構(gòu)見圖3.主要由3部分組成,最底層為網(wǎng)格資源層,中間層為網(wǎng)格服務層,最上層為網(wǎng)格應用層.該模型最底層提供網(wǎng)格的各種物理和邏輯資源,它是教學資源共享平臺的基礎(chǔ),這里的物理資源指的是教學的一些硬件資源,包括多媒體資源、網(wǎng)絡(luò)教室資源、大型計算資源、存儲資源、實驗儀器、服務器及其他一些基礎(chǔ)設(shè)施資源.邏輯資源主要指軟件資源,如應用軟件和系統(tǒng)軟件.這些資源率屬于不同的學院或者學校,分布在不同的區(qū)域但必須通過網(wǎng)絡(luò)設(shè)備連接起來,即物理上是連通的.
圖3 基于WSRF的教學資源共享模型
網(wǎng)格服務層整合底層資源并向用戶提供應用接口.由于網(wǎng)格資源具有很強的動態(tài)性,它們可能隨時加入或離開網(wǎng)格系統(tǒng),而且,它們可能存在于不同的操作系統(tǒng)中,即資源之間的異構(gòu)性很強,因此需要將資源通過Web服務定義語言來描述,使其成為一種虛擬化資源,從而屏蔽資源的異構(gòu)性.虛擬化的資源就可以經(jīng)由網(wǎng)格中間件統(tǒng)一調(diào)度和管理.信息服務包括資源信息收集,將動態(tài)資源存儲到資源數(shù)據(jù)庫中;周期性更改資源信息;資源發(fā)現(xiàn)等內(nèi)容,資源是這個系統(tǒng)的基礎(chǔ),需要網(wǎng)格節(jié)點自治管理,又需要這個共享環(huán)境系統(tǒng)對資源進行統(tǒng)一管理,因此必須提供通用的資源管理機制.網(wǎng)絡(luò)監(jiān)控和QoS約束模塊對各類資源進行實時的性能監(jiān)控并獲得狀態(tài)數(shù)據(jù),為系統(tǒng)管理及資源調(diào)度提供依據(jù),由于網(wǎng)格環(huán)境中基礎(chǔ)設(shè)施個體差異較大,分布地域廣,所以數(shù)據(jù)傳輸中的錯誤及系統(tǒng)故障在所難免,另外資源所有者隨意開關(guān)機等都會嚴重降低系統(tǒng)可用性.資源調(diào)度模塊包括資源查找、資源定位、統(tǒng)一調(diào)度和資源分配,在統(tǒng)一調(diào)度的過程中結(jié)合QoS約束,為用戶提供可靠精確的服務.目錄服務是基于網(wǎng)格計算環(huán)境的信息服務框架,主要完成信息的發(fā)現(xiàn)、注冊、查詢、修改等工作,允許虛擬組織參加者通過輕量目錄管理協(xié)議[5](lightweight directory access protocol,LDAP)在由LDAP服務器組合構(gòu)成的分布目錄中對信息/數(shù)據(jù)進行訪問和存儲.
網(wǎng)格應用層是面向用戶的核心部分,該層為用戶設(shè)計透明、安全的應用程序和服務,用戶不需要知道這些服務時怎么實現(xiàn)的.他們只需要通過用戶注冊成為合法的網(wǎng)格用戶,然后通過網(wǎng)格服務注冊中心搜索所需的網(wǎng)格服務,獲得該服務的調(diào)度方式,就可以使用所需的資源.
1)資源的QoS屬性包括資源費用、完成時間、帶寬、完成率等,這里我們考慮資源費用和完成時間兩個因素.QoS的屬性向量可以表示為Q={q1,q2,…,ql},由此統(tǒng)一描述資源,完成資源調(diào)度的時間表示為FTij(表示第i個任務對第j個資源的調(diào)度時間),任務i使用的資源j的花費表示為RCij.
2)用效用函數(shù)[7]表示用戶從完成任務中獲得的QoS滿意程度,效用函數(shù)用ui表示,任務集中所有的任務總效用為系統(tǒng)目標是最大化總效用,即能夠達到.式中:t為用戶規(guī)定的完成時間.3)用T= (t1,t2,…,tn)表示所要完成的調(diào)度任務,R = (r1,r2,…,rm)為網(wǎng)格資源,則任務與資源的綁定可以用矩陣來表示.式中:amn為任務tm使用資源rn的數(shù)量.決策矩陣用B= (ajk)m*d表示.式中:d為用戶關(guān)心的資源的QoS屬性維數(shù),這里d=2.
4)完成時間屬于成本型屬性,數(shù)值越小越好,資源花費也屬于成本屬性,數(shù)值越小越好.我們對可用決策矩陣B進行規(guī)范化就可以得到規(guī)范化矩陣R.
用戶的滿意度和完成時間、資源花費2個因素的關(guān)系見圖4.
圖4 用戶的滿意度和完成時間、資源花費的關(guān)系
根據(jù)以上對資源的描述,給出一種基于QoS的資源調(diào)度的算法描述:
1)遍歷任務T,對于每個ti再遍歷資源庫R,判定是否為所需資源,若是,令資源任務矩陣A的aij為1,否則為0.
2)若矩陣A的第i行全部為0,說明任務ti沒有符合的資源,程序結(jié)束.
這位導事,在念誦《指路經(jīng)》(死者入棺時念誦)之后,就不再參與儀式的其他環(huán)節(jié)。剩下的祭奠活動,交給其他的人完成。
3)若aij≠0,則將資源rj加入資源隊列R.
4)用戶輸入自己的資源屬性權(quán)重,并給出完成時間約束.
5)遍歷資源R,對rj請求QoS指標,即資源rj能提供的QoS值,根據(jù)完成時間約束,不符合條件的資源從資源隊列中移除.
6)根據(jù)資源效用函數(shù),對資源隊列中的資源進行排序,計算出每個資源節(jié)點的綜合效用,根據(jù)節(jié)點的最大綜合效用,得出任務的決策矩陣.
7)給擁有最大綜合效用的資源節(jié)點分配任務,執(zhí)行任務調(diào)度,直至整個任務結(jié)束.
算法的偽代碼如下:
MQResSche(T,w)
{
While任務隊列非空
for(每個等待調(diào)度的任務ti)
f
or(每個可供調(diào)度資源rj)
then aij++,生成可用矩陣A
end for
if(矩陣A的第i行都為零)
將ti從任務隊列中刪除,標記ti調(diào)度失敗
else
根據(jù)效用函數(shù)進行排序得到資源隊列rj
將其加入到資源-任務隊列RT(資源任務對)
end if
end for
從資源-任務隊列找出選出最大的綜合效用U
將資源rj分配給任務ti
……
將ti從任務隊列中刪除,標記ti調(diào)度成功,清空資源任務隊列
endwhile
}
該算法需要用戶輸入任務T和QoS權(quán)重w,然后為用戶生成可用資源矩陣,根據(jù)可用矩陣得到最大綜合效用的資源任務隊列.
分析了當前教學資源共享的現(xiàn)狀,針對教育資源存在的異構(gòu)性和分布性方面的難題,提出了一種基于WSRF的教學資源共享模型,通過對資源的描述,屏蔽資源的異構(gòu)性,分布性等問題.通過基于QoS的資源調(diào)度算法,有效實現(xiàn)對資源的全局調(diào)度.本文還存在以下問題有待進一步提高:(1)對資源的封裝沒有給出具體的模型,在 WSRF模型中,資源是有狀態(tài)的,因此它與傳統(tǒng)的基于無狀態(tài)的資源封裝會有很大的差別;(2)共享模型中用戶處于一種自主管理的模式,如何對用戶行為和操作進行約束是需要解決的問題;(3)資源調(diào)度算法中僅僅考慮完成時間和資源花費兩個QoS屬性,這在實際應用中還有所欠缺,如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]劉會斌,都志輝.網(wǎng)格與 Web服務的融合-WSRF和WS-Notification[J].計算機科學,2005,32(2):76-79.
[3]吳 雷.基于WSRF的服務網(wǎng)格實現(xiàn)框架及其應用的研究[D].合肥:合肥工業(yè)大學,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)格計算中基于QoS的資源調(diào)度優(yōu)化[J].武漢理工大學學報:交通科學與工程版,2008,32(2):199-202.
[7]王 進,解 福.基于效益函數(shù)驅(qū)動的網(wǎng)格資源調(diào)度算法研究[J].計算機工程與設(shè)計,2009,30(23):5311-5313.