甄一章(鷹潭市科技情報(bào)研究所,江西 鷹潭 335000)
?
Web信息系統(tǒng)的服務(wù)替換技術(shù)研究
甄一章
(鷹潭市科技情報(bào)研究所,江西鷹潭335000)
摘 要:本文對(duì)web信息系統(tǒng)服務(wù)替換技術(shù)進(jìn)行了歸納和總結(jié),簡(jiǎn)單地概括和闡述了服務(wù)替換的整個(gè)流程;最后介紹了服務(wù)替換技術(shù)的研究現(xiàn)狀,重點(diǎn)討論了幾種替換方法,指出了目前服務(wù)替換技術(shù)中需要解決的一些關(guān)鍵問(wèn)題。
關(guān)鍵詞:web信息系統(tǒng);服務(wù)組合;服務(wù)替換
隨著Web服務(wù)技術(shù)的不斷應(yīng)用與發(fā)展,特別是面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture, SOA)的日益成熟,越來(lái)越多的企業(yè)在Web服務(wù)整合傳統(tǒng)應(yīng)用的基礎(chǔ)上推出各式各樣的web服務(wù)。單個(gè)Web服務(wù)的功能有限,為適應(yīng)用戶不斷變化發(fā)展的新需求,通過(guò)采用服務(wù)組合技術(shù)組合多個(gè)Web服務(wù),實(shí)現(xiàn)服務(wù)增值和服務(wù)重用已經(jīng)成為一個(gè)趨勢(shì)。本文主要對(duì)服務(wù)替換技術(shù)目前取得的一些研究工作進(jìn)行了詳細(xì)的綜述和分析,重點(diǎn)介紹了幾種服務(wù)替換方法,最后指出了后續(xù)研究需要解決的一些關(guān)鍵性問(wèn)題。
在開(kāi)放、動(dòng)態(tài)、多變的Internet環(huán)境下,服務(wù)替換是保證面向服務(wù)的軟件系統(tǒng)持續(xù)可信的重要手段。對(duì)于服務(wù)替換的定義,目前尚未有統(tǒng)一的嚴(yán)格表述。Web服務(wù)替換問(wèn)題是指,在一個(gè)服務(wù)組合的上下文環(huán)境中,以新的候選服務(wù)替換掉應(yīng)用中某個(gè)組件服務(wù),同時(shí)還能保證替換后的服務(wù)保留系統(tǒng)原有屬性,可以實(shí)現(xiàn)特定的服務(wù)功能。當(dāng)Web服務(wù)組合系統(tǒng)中的關(guān)鍵服務(wù)遇到來(lái)自網(wǎng)絡(luò)的威脅或自身的軟硬件故障,不能繼續(xù)提供服務(wù)時(shí),需選取新的服務(wù)來(lái)替換,替換是否成功取決于替換之后的組合是否仍是正確的。在綜合以上觀點(diǎn)后,本文認(rèn)為服務(wù)替換是指在Web服務(wù)組合的系統(tǒng)中,當(dāng)單個(gè)或多個(gè)服務(wù)由于網(wǎng)絡(luò)環(huán)境、自身的軟硬件故障、版本更新等因素失效或者QoS退化,導(dǎo)致用戶需求無(wú)法滿足且服務(wù)組合無(wú)法繼續(xù)運(yùn)行時(shí),通過(guò)選擇新的更優(yōu)質(zhì)的Web服務(wù)來(lái)替換,確保替換后的服務(wù)組合能夠繼續(xù)正常運(yùn)行,提高動(dòng)態(tài)環(huán)境下服務(wù)組合可靠性、可用性的一種手段。
3.1基于服務(wù)復(fù)制的替換方法
最早的服務(wù)替換方法是當(dāng)服務(wù)失效時(shí),通過(guò)復(fù)制服務(wù)的方法,選擇備份服務(wù)進(jìn)行替換。通常是采用主動(dòng)復(fù)制和被動(dòng)復(fù)制這兩種復(fù)制算法。主動(dòng)復(fù)制算法的思想是:所有冗余副本在服務(wù)執(zhí)行過(guò)程中同時(shí)響應(yīng)客戶請(qǐng)求,當(dāng)有副本失效時(shí),系統(tǒng)將屏蔽該失效副本,其余副本并在失效副本缺席的情況下繼續(xù)正常工作。優(yōu)點(diǎn)是失效恢復(fù)時(shí)間短,不影響服務(wù)正常執(zhí)行;缺點(diǎn)是耗費(fèi)大量系統(tǒng)資源,并要求成員的狀態(tài)是確定的,而且也可能導(dǎo)致重復(fù)嵌套呼叫問(wèn)題。
被動(dòng)復(fù)制算法思想是:冗余副本分為主從兩種,在服務(wù)執(zhí)行過(guò)程中,只有主副本接收和處理用戶請(qǐng)求并實(shí)時(shí)更新從副本狀態(tài)。當(dāng)主副本出現(xiàn)失效時(shí),系統(tǒng)將從副本中的一個(gè)升級(jí)為主副本,以繼續(xù)提供服務(wù)。根據(jù)從副本狀態(tài)落后于主副本的程度,又分為冷備份和暖備份等模式。優(yōu)點(diǎn)是節(jié)約系統(tǒng)資源,并且不要求服務(wù)的狀態(tài)是否確定;缺點(diǎn)是失效恢復(fù)時(shí)間長(zhǎng),而且還帶來(lái)主副本與從副本的狀態(tài)一致性問(wèn)題,特別是當(dāng)主副本突然失效,此時(shí)從副本的狀態(tài)一致性很難維護(hù),處理不當(dāng)將可能產(chǎn)生嚴(yán)重后果。
這種早期的服務(wù)替換方法在初期服務(wù)資源比較匱乏的情況下還是能夠有效的解決服務(wù)失效的問(wèn)題,但隨著越來(lái)越多的Web服務(wù)應(yīng)用被開(kāi)發(fā),這種僅從服務(wù)提供者的角度出發(fā),采用簡(jiǎn)單復(fù)制的方法,在犧牲大量硬件資源的同時(shí),往往使得整個(gè)組合服務(wù)的性能質(zhì)量停滯不前。因此,越來(lái)越多的研究者開(kāi)始著眼于探索網(wǎng)絡(luò)中日益增多的Web服務(wù)資源,加大網(wǎng)絡(luò)資源地利用和Web服務(wù)地利用,通過(guò)搜索并調(diào)用較高更優(yōu)質(zhì)的的Web服務(wù),及時(shí)、經(jīng)濟(jì)、合理地替換失效服務(wù),實(shí)現(xiàn)恢復(fù)組合服務(wù)系統(tǒng)的運(yùn)行和功能。
3.2基于QoS的服務(wù)替換方法
在服務(wù)組合運(yùn)行過(guò)程中,若出現(xiàn)服務(wù)失效,導(dǎo)致流程無(wú)法執(zhí)行,最簡(jiǎn)單的方法是尋找一個(gè)功能與失效服務(wù)一樣的Web服務(wù)進(jìn)行替換。當(dāng)然這樣的服務(wù)替換方法通常假設(shè)服務(wù)之間可以進(jìn)行無(wú)縫的互操作。
隨著技術(shù)的進(jìn)步及服務(wù)提供商的加入,當(dāng)相同或更優(yōu)QoS指標(biāo)且功能等價(jià)Web服務(wù)的不斷出現(xiàn),為維持或者提升現(xiàn)有組合服務(wù)的整體QoS指標(biāo)提供了可能。服務(wù)替換的對(duì)象不再局限于失效的Web服務(wù),對(duì)于Qos退化或版本升級(jí)的服務(wù)同樣需要及時(shí)進(jìn)行替換更新。同樣,在選擇替換服務(wù)時(shí)需要考慮對(duì)現(xiàn)有組合服務(wù)整體QoS的維持或提升最優(yōu)的Web服務(wù)。
這種方法的基本思想是:當(dāng)被替換進(jìn)組合服務(wù)的新服務(wù)會(huì)影響該組合服務(wù)的整體QoS時(shí),為確保仍然達(dá)到或超出原來(lái)要求的指標(biāo),可以用QoS聚合方法來(lái)計(jì)算組合服務(wù)中的QoS,根據(jù)計(jì)算得出的QoS值來(lái)選擇最佳的替換服務(wù)。當(dāng)新服務(wù)數(shù)量較多或Web服務(wù)組合的規(guī)模較大時(shí),計(jì)算每個(gè)新服務(wù)代入服務(wù)組合后全局QoS引起的性能問(wèn)題
3.3基于行為一致性的服務(wù)可替換性分析
隨著服務(wù)組合方法的不斷應(yīng)用與推廣,網(wǎng)絡(luò)出現(xiàn)了大量的大粒度的服務(wù)。如果不考慮服務(wù)之間的交互特性,往往導(dǎo)致新的服務(wù)替換到原有的組合服務(wù)中后,會(huì)產(chǎn)生諸如消息傳遞不一致的情況。例如:電子商務(wù)中買家與賣家的Web服務(wù):一個(gè)是賣家服務(wù),有兩個(gè)調(diào)用接口,一個(gè)收錢,一個(gè)發(fā)貨,另外一個(gè)是買家服務(wù),也是兩個(gè)接口,一個(gè)付錢,一個(gè)收貨。賣家的行為順序是等待買家服務(wù)付錢以后,然后對(duì)其發(fā)貨,買家服務(wù)的行為順序是從賣家服務(wù)收到要購(gòu)買的貨物后,然后付錢??梢钥吹竭@兩個(gè)服務(wù)的接口是相容的,行為卻是不相容的,在實(shí)際應(yīng)用過(guò)程中,這兩個(gè)服務(wù)將無(wú)法合成。因此,若只以操作為粒度對(duì)服務(wù)進(jìn)行替換,將破壞操作間業(yè)務(wù)的關(guān)聯(lián)性,同時(shí)還需對(duì)服務(wù)的行為對(duì)象進(jìn)行分析。
目前對(duì)服務(wù)的可替換性分析主要基于服務(wù)組合相容性的基礎(chǔ)之上,首先借助某種形式化方法,主要有基于有限狀態(tài)機(jī)的方法、基于進(jìn)程代數(shù)(或PI-演算)的方法和基于Petri網(wǎng)的方法對(duì)Web服務(wù)流程進(jìn)行建模,然后對(duì)組合中的行為特征進(jìn)行推導(dǎo),分析由于異步交互對(duì)Web服務(wù)組合行為產(chǎn)生的影響。同時(shí)提出一致性關(guān)系驗(yàn)證的條件,若新服務(wù)與將要被替換的參與組合的服務(wù)之間存在這種關(guān)系,那么替換后的服務(wù)組合仍然是正確的,并且替換是上下文無(wú)關(guān)的。隨著參與組合服務(wù)數(shù)量的增加,Web服務(wù)組合驗(yàn)證需花費(fèi)的代價(jià)也在快速增長(zhǎng)。若頻繁替換,不斷重復(fù)的組合正確性驗(yàn)證必將會(huì)影響到系統(tǒng)運(yùn)行的效率。為避免上述情況的發(fā)生,服務(wù)替換需是上下文無(wú)關(guān)的。上下文指的是組合系統(tǒng)中與要被替換的服務(wù)交互的所有部件服務(wù)。因此,基于上下文無(wú)關(guān)的行為可替換性分析是當(dāng)前研究的熱點(diǎn)方向。
在研究服務(wù)替換的行為特性上,還有一些工作從其它方面對(duì)服務(wù)之間交互問(wèn)題進(jìn)行了探索。針對(duì)目前的BPEL規(guī)范只提供有限的服務(wù)替換功能,當(dāng)與伙伴服務(wù)的交互涉及到一系列有狀態(tài)的會(huì)話操作時(shí),服務(wù)替換就更加復(fù)雜。通過(guò)對(duì)面向方面的研究,提出面向BPEL語(yǔ)言的狀態(tài)方面擴(kuò)展。記錄與伙伴服務(wù)交互過(guò)程中產(chǎn)生的會(huì)話信息。在伙伴服務(wù)失效時(shí),通過(guò)替換服務(wù),使得與當(dāng)前的會(huì)話信息傳播到功能等價(jià)的另一個(gè)伙伴服務(wù)上,從而確保流程的正常執(zhí)行。
服務(wù)運(yùn)行過(guò)程中的可靠性和可用性,對(duì)于發(fā)揮企業(yè)信息系統(tǒng)的效能起著關(guān)鍵作用。如何有效地維護(hù)服務(wù)組合的運(yùn)行并保證組合服務(wù)穩(wěn)定性,是一個(gè)重要研究課題。服務(wù)替換是與Web服務(wù)組合密切相關(guān)的一個(gè)問(wèn)題,“是一個(gè)硬幣的兩面”。已有研究表明,服務(wù)替換技術(shù)能夠很好地保持和提升系統(tǒng)穩(wěn)定性。當(dāng)前對(duì)服務(wù)替換技術(shù)的研究都基于一定的假設(shè)前提,針對(duì)的對(duì)象也僅限與單個(gè)服務(wù)的替換問(wèn)題,存在一定的局限性。多數(shù)的研究基于服務(wù)已經(jīng)失效的前提下,缺乏高效準(zhǔn)確的對(duì)失效前服務(wù)的檢測(cè)機(jī)制。對(duì)于查找與失效服務(wù)匹配的替換服務(wù)時(shí),查全率和差準(zhǔn)率,以及自適應(yīng)、用戶無(wú)感知的替換都是目前企業(yè)web信息系統(tǒng)服務(wù)替換技術(shù)要求解決的難點(diǎn)問(wèn)題。此外,動(dòng)態(tài)環(huán)境中服務(wù)之間的交互問(wèn)題,其行為特性分析也是保證信息系統(tǒng)可用性和健壯性的關(guān)鍵性問(wèn)題。
參考文獻(xiàn):
[1]劉超(導(dǎo)師:楊金民).Web Services中基于服務(wù)替換的容錯(cuò)方法研究[J].湖南大學(xué)碩士論文,2009(05)
[2]印瑩,張斌,張錫哲.基于具體事務(wù)的補(bǔ)償支持服務(wù)替換QoS模型[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2010(01).
作者簡(jiǎn)介:甄一章(1979-),男,湖北黃岡人,本科,工程師,研究方向:信息技術(shù)。
DOI :10.16640/j.cnki.37-1222/t.2016.01.254