專利名稱:一種基于集合的資源狀態(tài)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于集合的資源狀態(tài)處理機(jī)制的實(shí)現(xiàn)方法。
背景技術(shù):
隨著大規(guī)模網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是網(wǎng)格計(jì)算技術(shù)的興起,極大地?cái)U(kuò)大了分布式系 統(tǒng)的規(guī)模。網(wǎng)格是近年來逐漸興起的構(gòu)建在Internet之上的一種新的計(jì)算模式,其目標(biāo) 是在分布式、異構(gòu)、自治的網(wǎng)絡(luò)資源環(huán)境之上動(dòng)態(tài)的構(gòu)建虛擬組織,并在其內(nèi)部實(shí)現(xiàn)跨 自治域的資源共享與協(xié)作,滿足當(dāng)前復(fù)雜應(yīng)用對(duì)大規(guī)模計(jì)算能力和海量數(shù)據(jù)處理等需 求。因此,如何在分布式計(jì)算環(huán)境(特別是網(wǎng)格計(jì)算環(huán)境)下對(duì)異構(gòu)資源進(jìn)行共享和管理, 是一個(gè)亟待解決的問題。
Web服務(wù)可以很好的解決異構(gòu)系統(tǒng)之間的互操作和集成問題,但傳統(tǒng)的Web服務(wù)實(shí)現(xiàn) 是無狀態(tài)的,客戶端發(fā)出請(qǐng)求并得到響應(yīng),然后斷開連接。然而在很多系統(tǒng)中,如機(jī)票 預(yù)定系統(tǒng)、CPU管理系統(tǒng)和工作流系統(tǒng),有一個(gè)共同的特點(diǎn)就是它們都需要提供一種方 式,使得客戶端能夠訪問到系統(tǒng)內(nèi)部的有狀態(tài)實(shí)體,獲取實(shí)體的屬性并管理它們的生命 周期。這些需求促使了0GSI(0pen Grid Services Infrastructure)的誕生,它把在網(wǎng) 格計(jì)算環(huán)境下對(duì)狀態(tài)的建模和管理作為自己的首要目標(biāo)。
Web服務(wù)資源框架(Web Services Resource Framework, WSRF)是對(duì)0GSI的重構(gòu)與發(fā) 展,它保留了OGSI的所有核心功能,并克服了OGSI的一些弊病在一個(gè)規(guī)范中定義的 內(nèi)容太多、不能和現(xiàn)存的Web服務(wù)和XML工具很好的工作等等。WSRF將OGSI定義的功 能劃分進(jìn)四個(gè)不同的協(xié)議中,這些協(xié)議共同解決了在Web服務(wù)框架中表示、抽象及管理 資源狀態(tài)的問題。OGSI技術(shù)在一個(gè)規(guī)范中定義的內(nèi)容非常復(fù)雜,資源狀態(tài)處理過程沒有 很好地與Web服務(wù)結(jié)合起來,效率比較低,也不符合流行的Web服務(wù)要求。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種基于集合的資源狀態(tài)處理 方法,簡(jiǎn)化了資源狀態(tài)處理流程,提高了狀態(tài)操作效率。
為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案 一種基于集合的資源狀態(tài)處理方法, 步驟如下
(1) 將資源狀態(tài)封裝成一種可以解析、操作XML的基于集合論與對(duì)象結(jié)構(gòu)Metaset;
(2) 將用戶對(duì)資源的訪問轉(zhuǎn)換成對(duì)所述步驟(1)中的Metaset封裝對(duì)象結(jié)構(gòu)的操作;
(3)通過對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作產(chǎn)生返回的S0AP響應(yīng)報(bào)文。 所述的步驟(1)將資源狀態(tài)封裝成一種可以解析、操作XML的基于集合論與對(duì)象 結(jié)構(gòu)Metaset的方法為將資源的狀態(tài)表示成資源屬性文檔,每一個(gè)資源屬性文檔都可 被表示成一個(gè)XML文檔,將XML文檔封裝成Metaset對(duì)象結(jié)構(gòu),即完成了對(duì)資源狀態(tài)的 封裝。
所述步驟(2)中將用戶對(duì)資源的訪問轉(zhuǎn)換成對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作的方 法,包括兩個(gè)部分
(a) 資源狀態(tài)獲取算法,通過對(duì)Metaset對(duì)象的操作得到資源的一個(gè)或者多個(gè)屬 性的算法;
(b) 資源狀態(tài)修改算法,通過對(duì)Metaset對(duì)象的操作來刪除、插入和更新資源的屬性。
所述的步驟(3)通過對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作產(chǎn)生返回的SOAP響應(yīng)報(bào)文的 方法如下
(a) 根據(jù)要返回的報(bào)文格式,組成相應(yīng)的Metaset對(duì)象。
(b) 在容器的消息層,將這個(gè)Metaset對(duì)象結(jié)構(gòu)變成文本形式發(fā)送給請(qǐng)求方。 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于本發(fā)明通過使用Metaset來表示和描述Web服
務(wù)資源屬性文檔,使用上述定義的操作對(duì)其進(jìn)行統(tǒng)一的處理,避免了在引擎內(nèi)部進(jìn)行繁 雜的對(duì)象強(qiáng)制轉(zhuǎn)換過程,可以使用統(tǒng)一的算法處理各種類型的資源狀態(tài),從而簡(jiǎn)化了整 個(gè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),縮短了整個(gè)系統(tǒng)的開發(fā)周期,簡(jiǎn)化了資源狀態(tài)處理流程,提高了 狀態(tài)操作效率。
圖1為本發(fā)明采用的Metaset的結(jié)構(gòu)圖; 圖2為本發(fā)明方法的處理示意圖。
具體實(shí)施例方式
在闡述本發(fā)明實(shí)現(xiàn)方法之前,先介紹一下Metaset。
Metaset是由北京航空航天大學(xué)計(jì)算機(jī)學(xué)院ACT實(shí)驗(yàn)室提出的一個(gè)以集合論和數(shù)學(xué) 邏輯理論為工具、以Services集為對(duì)象、以元操作為運(yùn)算符的理論體系,用以構(gòu)造網(wǎng) 格計(jì)算環(huán)境下的數(shù)學(xué)模型。如圖1所示Metaset的結(jié)構(gòu)圖類似于D0M,將XML變成一種 樹形的結(jié)構(gòu),便于操作,和對(duì)問題的形式化描述。該數(shù)學(xué)模型將服務(wù)的資源屬性文檔定義為五元組<formula>formula see original document page 5</formula>。
其中&"是資源屬性文檔元素名集合,是資源屬性文檔元素值的集合,"^"是資源屬
性文檔那個(gè)屬性名集合,S"是資源屬性文檔屬性值的集合,^^是XML語言表示的資 源屬性文檔的描述集合,其元素是Services集。上述定義將資源屬性文檔表示成為一 個(gè)集合,文檔中的每個(gè)子句都是集合中的元素,以Services集的形式存在。下面給出 Services集幾個(gè)關(guān)鍵元操作的定義。
定義1 Services集合的濾波函數(shù)是多態(tài)函數(shù),其值為集合,集合的元素為 Services集。Services集的濾波函數(shù)有三種形式, 一種是僅有路徑最為參數(shù),另一種 是以路徑和路徑的最后一個(gè)屬性名作為參數(shù),再一種是以路徑和路徑最后一個(gè)屬性名和 屬性值作為參數(shù)。濾波函數(shù)返回值是一個(gè)集合,其集合元素是在路徑上最后一個(gè)元素的 Services集。
<formula>formula see original document page 5</formula>Filter函數(shù)用^&^^W表示,它的功能是獲取請(qǐng)求路徑上滿足某種指定條件的 Metaset元素的集合。
定義2 Services集的選擇函數(shù)Selector的返回值為屬性值,選擇函數(shù)Selectors 的返回值是屬性集合。
<formula>formula see original document page 5</formula>Selector函數(shù)用^&^"^)表示,它的功能是獲取指定路徑上滿足特定條件的屬性值。
定義3 Services集的Add函數(shù)表示向其中插入一個(gè)元素或一個(gè)Services集,其 結(jié)果仍為Services集。
<formula>formula see original document page 5</formula>Add函數(shù)用+(S,^"A)表示,它的功能是增加一個(gè)Metaset子元素或添加一個(gè)屬性。 定義4 Services集的Remove函數(shù)表示從Services集中移處一個(gè)元素或一個(gè)子 Services集,其結(jié)果仍為Services集o
膽歸(S,, ; , < e , at , ar* >) — {Ss Ie戶—,一 =e 。 \ enl \…W朋, & 2 & ) 〕 &s)〕…:d S (e ), & ( )-{< e朋,, OTyt >}}
訓(xùn)歸(&,&,e +1) 4 I p e Sp ,; = e0 \... \ e A 2 & O0) 〕 & (e,)〕…〕S> ),
Remove函數(shù)用—(&^art),它的功能是刪除特定路徑上的Metaset子元素。 定義5 Services集的Car函數(shù)表示選擇其第一個(gè)元素,其結(jié)果仍為Services集。 — &,&=""&, ,&},它的功能是獲取當(dāng)前Metaset元素的第一個(gè)子元素。
定義6 push函數(shù)用氺(&P"叫表示,pop函數(shù)用;(&戸叫表示。 通過使用Metaset來表示和描述Web服務(wù)資源屬性文檔,使用上述定義的操作對(duì)其 進(jìn)行統(tǒng)一的處理,避免了在引擎內(nèi)部進(jìn)行繁雜的對(duì)象強(qiáng)制轉(zhuǎn)換過程,可以使用統(tǒng)一的算 法處理各種類型的資源狀態(tài),從而簡(jiǎn)化了整個(gè)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),縮短了整個(gè)系統(tǒng)的開 發(fā)周期。
如圖2所示,本發(fā)明的具體實(shí)施步驟為 第一步將資源狀態(tài)封裝成一種可以解析、操作XML的基于集合論與對(duì)象結(jié)構(gòu) Metaset;
資源的狀態(tài)被表示成資源屬性文檔,每一個(gè)資源屬性文檔都可被表示成一個(gè)XML文 檔,XML文檔可以被封裝成Metaset對(duì)象,將資源屬性文檔表示成Metaset對(duì)象就完成 了對(duì)資源狀態(tài)的封裝,對(duì)資源狀態(tài)的封裝簡(jiǎn)化了資源狀態(tài)的各項(xiàng)維護(hù)工作。
第二步將用戶對(duì)資源的訪問轉(zhuǎn)換成對(duì)使用Metaset描述的對(duì)象的操作包括兩部分
(1)資源狀態(tài)獲取算法 資源狀態(tài)獲取算法負(fù)責(zé)根據(jù)用戶的SOAP請(qǐng)求在系統(tǒng)內(nèi)部査找ACT-Resource的屬性 值??梢砸淮沃徊檎矣袪顟B(tài)資源一個(gè)屬性的值,也可以一次查找有狀態(tài)資源多個(gè)屬性的 值。下面給出具體的獲取單個(gè)資源屬性的算法。對(duì)于一次獲取多個(gè)資源屬性的算法,在 此不再贅述。
假設(shè)S為資源屬性文檔,^為路徑集合,x為待查找路徑,則使用Metaset表示該 算法的形式語義如下所示當(dāng)收到來自客戶端的請(qǐng)求之后,首先從中解析出其請(qǐng)求的有狀態(tài)資源的屬性名稱, 如果該過程無誤,則可進(jìn)行下一步,如果出錯(cuò)則表示請(qǐng)求報(bào)文有問題或被損壞,構(gòu)造并 發(fā)送一個(gè)出錯(cuò)報(bào)文返回給用戶。如果名稱解析無誤,則根據(jù)用戶的請(qǐng)求創(chuàng)建一個(gè)資源上 下文,并從中解析出資源的標(biāo)識(shí)符。然后根據(jù)該資源標(biāo)識(shí)符定位到系統(tǒng)中的資源實(shí)例, 獲取其資源屬性文檔。將資源屬型文檔中的每一個(gè)屬性名稱與用于請(qǐng)求的名稱進(jìn)行匹 配,如果成功則返回該屬性的值,如果全部失敗則構(gòu)造出錯(cuò)報(bào)文返回給用戶。下面給出 具體的資源狀態(tài)獲取算法。
資源狀態(tài)獲取算法中,資源狀態(tài)的獲取流程如下所示
a. 解析請(qǐng)求SOAP報(bào)文;
b. 獲取對(duì)應(yīng)資源管理器,若為空則返回錯(cuò)誤信息
c. 從資源管理器中獲取資源實(shí)例,若為空則返回錯(cuò)誤信息
d. 從獲得的資源對(duì)象里查詢請(qǐng)求的資源狀態(tài)并包裝成SOAP返 回給客戶。
(2)資源狀態(tài)修改算法如下所示-對(duì)資源屬性的修改操作主要有三種刪除、插入和更新。刪除表示刪除資源實(shí)例的
一個(gè)或多個(gè)屬性,插入表示向資源屬性文檔中插入新的屬性,更新則表示修改某個(gè)或多 個(gè)資源屬性的值。
設(shè)S為資源屬性文檔,^為路徑集合,^W加/j是待査找路徑,^竿M'是請(qǐng)求報(bào)文, 則使用Metaset表示該算法的形式語義如下所示。
<formula>formula see original document page 7</formula>當(dāng)收到來自客戶端的請(qǐng)求之后,首先從中解析出請(qǐng)求的具體操作,如果是Delete 則執(zhí)行相應(yīng)的刪除操作,是Insert則執(zhí)行相應(yīng)的插入操作,是Update則執(zhí)行相應(yīng)的修 改操作。對(duì)于Delete操作,首先解析出要?jiǎng)h除的屬性名稱,然后將對(duì)應(yīng)的屬性從資源 屬性文檔中刪除;對(duì)于Insert操作,則直接將待插入的屬性名及值插入到資源屬性文 檔中;對(duì)于Update操作,首先解析出待修改的屬性名及值,然后根據(jù)其更新資源屬性 文檔。最后將執(zhí)行的結(jié)果返回給客戶端,通知客戶此次操作執(zhí)行成功或失敗。
資源狀態(tài)修改算法中,具體的資源狀態(tài)修改流程如下-
a. 解析請(qǐng)求SOAP報(bào)文
b. 獲取對(duì)應(yīng)資源管理器,若為空則返回錯(cuò)誤信息
c. 從資源管理器中獲取資源實(shí)例,若為空則返回錯(cuò)誤信息
d. 分析請(qǐng)求的操作如果是更新操作則創(chuàng)建對(duì)應(yīng)的操作適配器對(duì) 資源實(shí)例進(jìn)行更新處理,如果是銷毀操作則創(chuàng)建對(duì)應(yīng)的銷毀操作適配器對(duì)資源實(shí)例進(jìn)行 銷毀處理,其他的操作流程類似。
e. 將對(duì)資源實(shí)例的處理數(shù)據(jù)包裝成SOAP報(bào)文,返回給請(qǐng)求者。
第三步驟,通過對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作產(chǎn)生返回的SOAP響應(yīng)報(bào)文,即根據(jù) 要返回的報(bào)文格式,組成相應(yīng)的Metaset對(duì)象;在容器的消息層,將這個(gè)Metaset對(duì)象 變成文本形式發(fā)送給請(qǐng)求方。
權(quán)利要求
1. 一種基于集合的資源狀態(tài)處理方法,其特征在于包含以下步驟(1)將資源狀態(tài)封裝成一種可以解析、操作XML的基于集合論與對(duì)象結(jié)構(gòu)Metaset;(2)將用戶對(duì)資源的訪問轉(zhuǎn)換成對(duì)所述步驟(1)中的Metaset封裝對(duì)象結(jié)構(gòu)的操作;(3)通過對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作產(chǎn)生返回的SOAP響應(yīng)報(bào)文。
2、 根據(jù)權(quán)利要求1所述的基于集合的資源狀態(tài)處理方法,其特征在于所述的步 驟(1)將資源狀態(tài)封裝成一種可以解析、操作XML的基于集合論與對(duì)象結(jié)構(gòu)Metaset 的方法為將資源的狀態(tài)表示成資源屬性文檔,每一個(gè)資源屬性文檔都可被表示成一個(gè) XML文檔,將XML文檔封裝成Metaset對(duì)象結(jié)構(gòu),即完成了對(duì)資源狀態(tài)的封裝。
3、 根據(jù)權(quán)利要求l所述的基于集合的資源狀態(tài)處理方法,其特征在于 所述步驟(2)中將用戶對(duì)資源的訪問轉(zhuǎn)換成對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作的方法, 包括兩個(gè)部分(1) 資源狀態(tài)獲取算法,通過對(duì)Metaset對(duì)象的操作得到資源的一個(gè)或者多個(gè)屬 性的算法;(2) 資源狀態(tài)修改算法,通過對(duì)Metaset對(duì)象的操作來刪除、插入和更新資源的屬性。
4、 根據(jù)權(quán)利要求1所述的基于集合的資源狀態(tài)處理方法,其特征在于所述的步 驟(3)通過對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作產(chǎn)生返回的SOAP響應(yīng)報(bào)文的方法如下(1)根據(jù)要返回的報(bào)文格式,組成相應(yīng)的Metaset對(duì)象; (2)在容器的消息層,將這個(gè)Metaset對(duì)象結(jié)構(gòu)變成文本形式發(fā)送給請(qǐng)求方。
全文摘要
一種基于集合的資源狀態(tài)處理方法,其步驟為(1)將資源狀態(tài)封裝成一種可以解析、操作XML的基于集合論與對(duì)象結(jié)構(gòu)Metaset;(2)將用戶對(duì)資源的訪問轉(zhuǎn)換成對(duì)所述步驟(1)中的Metaset封裝對(duì)象結(jié)構(gòu)的操作;(3)通過對(duì)Metaset封裝對(duì)象結(jié)構(gòu)的操作產(chǎn)生返回的SOAP響應(yīng)報(bào)文。本發(fā)明簡(jiǎn)化了資源狀態(tài)處理流程,提高了狀態(tài)操作效率。
文檔編號(hào)H04L29/02GK101291344SQ20081011229
公開日2008年10月22日 申請(qǐng)日期2008年5月22日 優(yōu)先權(quán)日2008年5月22日
發(fā)明者建 劉, 磊 徐, 穎 李, 李竹青, 胡春明, 馬殿富 申請(qǐng)人:北京航空航天大學(xué)