專利名稱:一種增強(qiáng)soa可生存性的降級(jí)服務(wù)替換驗(yàn)證方法
技術(shù)領(lǐng)域:
本發(fā)明屬于SOA技術(shù)領(lǐng)域,具體涉及一種SOA降級(jí)服務(wù)替換正確性驗(yàn)證的方法。
背景技術(shù):
任何系統(tǒng)都不可避免地會(huì)發(fā)生故障。面向服務(wù)的架構(gòu)SOA (Service Oriented Architecture)的軟件(服務(wù))系統(tǒng)也不例外。眾所周知,以備用的候選服務(wù)替代產(chǎn)生故障的服務(wù)或系統(tǒng),是一種性質(zhì)有效的系統(tǒng)可用性增強(qiáng)方法。系統(tǒng)從發(fā)生故障到恢復(fù)正常工作的這個(gè)緊急修復(fù)時(shí)間內(nèi),成功實(shí)施服務(wù)替換面臨的最大挑戰(zhàn)是迅速找到可用的候選服務(wù)。作為一種特例,迅速找到與被替換服務(wù)完全等價(jià)的候選服務(wù)。實(shí)踐中,對(duì)于一個(gè)關(guān)鍵任務(wù)(Mission-Critical)系統(tǒng),在其故障修復(fù)期間內(nèi),既無(wú)法期望系統(tǒng)立即恢復(fù)工作(因?yàn)楣收?,又不容忍整個(gè)系統(tǒng)徹底失效(因?yàn)槌袚?dān)著關(guān)鍵任務(wù))。所能選擇的,是一個(gè)具有可生存性的系統(tǒng)。即,系統(tǒng)不必工作在正常狀態(tài),但仍然能夠繼續(xù)提供有限的功能的服務(wù),尤其是提供核心服務(wù)。在這種緊急情況下,允許降級(jí)服務(wù)替換是主要應(yīng)急措施之一。在這種可生存性環(huán)境中,降級(jí)服務(wù)替換面臨的關(guān)鍵問(wèn)題,是采取什么替換關(guān)系理論可保證實(shí)施替換后的系統(tǒng)仍可保持服務(wù)相容性。中國(guó)專利申請(qǐng)(申請(qǐng)?zhí)?00710025615. X,公開(kāi)號(hào)101130402)給出了一種基于行為
一致的服務(wù)替換方法。該方法要求,服務(wù)提供者在注冊(cè)服務(wù)時(shí)須提供服務(wù)的行為描述,即合法操作序列。服務(wù)使用者在實(shí)施替換時(shí)檢查候選服務(wù)與原始被替換服務(wù)的行為一致性。在服務(wù)替換時(shí),行為一致性通過(guò)行為觀察一致性規(guī)則來(lái)驗(yàn)證。另一中國(guó)專利申請(qǐng)(申請(qǐng)?zhí)?01110058676. 2,公開(kāi)號(hào)102082737A)給出了一種基于服務(wù)優(yōu)先級(jí)的替換方法。該方法分析了組合服務(wù)的非功能屬性,即服務(wù)質(zhì)量QoS(Quality of krvices),并以此定義服務(wù)優(yōu)先級(jí)。專利申請(qǐng)201110058676. 2不具備降級(jí)替換的能力和相應(yīng)的驗(yàn)證技術(shù)。上述兩項(xiàng)中國(guó)專利申請(qǐng),分別從功能屬性和非功能屬性方面僅保證了等價(jià)(或升級(jí))服務(wù)替換的正確性,而不能完成降級(jí)服務(wù)可替換性的驗(yàn)證。在可生存性環(huán)境中的緊急修復(fù)時(shí)間內(nèi),往往難以迅速找到與被替換服務(wù)完全等價(jià)的候選服務(wù)。此外,在愈來(lái)愈普及的云計(jì)算環(huán)境中,為了降低運(yùn)維成本,服務(wù)消費(fèi)者通常會(huì)主動(dòng)采用降級(jí)服務(wù)。因此,研究降級(jí)服務(wù)的可替換性驗(yàn)證技術(shù)很有必要。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種SOA降級(jí)服務(wù)替換正確性驗(yàn)證的方法,以解決現(xiàn)有技術(shù)只能從功能屬性和非功能屬性方面保證等價(jià)(或升級(jí))服務(wù)替換的正確性,而不能完成降級(jí)服務(wù)可替換性的驗(yàn)證問(wèn)題。本發(fā)明是針對(duì)具有交互協(xié)議、流程形式服務(wù)的降級(jí)替換驗(yàn)證。一種典型的對(duì)象是國(guó)際工業(yè)標(biāo)準(zhǔn) WS-BPEL (Web Services - Business Process Execution Language)組合流程服務(wù)。對(duì)于替換服務(wù)和候選服務(wù),以及服務(wù)組合和替換的上下文環(huán)境,其服務(wù)接口、接口上的消息操作以及消息交互協(xié)議均為已知。任何軟件系統(tǒng)都不可避免發(fā)生故障,系統(tǒng)從發(fā)生故障到恢復(fù)正常工作的緊急修復(fù)時(shí)間內(nèi),成功實(shí)施服務(wù)替換面臨的最大挑戰(zhàn)是迅速找到可用的候選服務(wù)。尤其是,很難迅速找到與被替換服務(wù)完全等價(jià)的候選服務(wù)。本發(fā)明針對(duì)不同結(jié)構(gòu)的候選服務(wù),驗(yàn)證服務(wù)替換的正確性,特別地,驗(yàn)證降級(jí)服務(wù)替換的正確性,并滿足如下要求
確認(rèn)實(shí)施替換后不影響系統(tǒng)相容性的降級(jí)服務(wù)替換; 確認(rèn)實(shí)施替換后的系統(tǒng)能滿足用戶要求。本發(fā)明提出的SOA降級(jí)服務(wù)替換正確性驗(yàn)證方法,其流程如附
圖1,具體步驟為 步驟一、采用進(jìn)程代數(shù)形式化建模WS-BPEL描述文件所體現(xiàn)的組合服務(wù)交互協(xié)議國(guó)際工業(yè)標(biāo)準(zhǔn)WS-BPEL是最為廣泛使用的組合服務(wù)描述方式。本發(fā)明利用進(jìn)程代數(shù)這
一形式化工具對(duì)服務(wù)及其組合環(huán)境進(jìn)行形式化建模,如附圖1中1. 1所示。其中,成員服務(wù)及組合服務(wù)的系統(tǒng)模型表示為服務(wù)契約。服務(wù)契約用以描述服務(wù)外部可觀測(cè)的消息行為; 由于WS-BPEL提供了參與組合的服務(wù)集合、服務(wù)的調(diào)用關(guān)系和消息的往來(lái)信息,這里便可采用白盒策略描述WS-BPEL流程形式的替換服務(wù)和候選服務(wù)以及服務(wù)組合和替換的上下文環(huán)境(附圖1中1.2)。采用π演算描述一個(gè)WS-BPEL流程服務(wù)(即服務(wù)契約)C,具體語(yǔ)法如下
這里,χ表示流程服務(wù)的一個(gè)接口。K(m)表示發(fā)送消息操作,即沿接口 x發(fā)出消息m ;:f(m)表示接收消息操作,即沿接口ι接收消息m ;τ表示沒(méi)有消息交互的內(nèi)部操作。
權(quán)利要求
1. 一種增強(qiáng)SOA可生存性的降級(jí)服務(wù)替換驗(yàn)證方法,其特征在于具體步驟為 步驟一、采用進(jìn)程代數(shù)形式化建模WS-BPEL描述文件所體現(xiàn)的組合服務(wù)交互協(xié)議利用進(jìn)程代數(shù)這一形式化工具對(duì)服務(wù)及其組合環(huán)境進(jìn)行形式化建模,其中,成員服務(wù)及組合服務(wù)的系統(tǒng)模型表示為服務(wù)契約;所述服務(wù)契約用以描述服務(wù)外部可觀測(cè)的消息行為;由于WS-BPEL提供了參與組合的服務(wù)集合、服務(wù)的調(diào)用關(guān)系和消息的往來(lái)信息,這里采用白盒策略描述WS-BPEL流程形式的替換服務(wù)和候選服務(wù)以及服務(wù)組合和替換的上下文環(huán)境;采用π演算描述一個(gè)WS-BPEL流程服務(wù)即服務(wù)契約C,具體語(yǔ)法如下這里,\表示流程服務(wù)的一個(gè)接口,表示發(fā)送消息操作,即沿接.發(fā)出消息·;ifm)表示接收消息操作,即沿接 接收消息tn ;τ表示沒(méi)有消息交互的內(nèi)部操作;根據(jù)服務(wù)契約的操作語(yǔ)義規(guī)則,C d c表示服務(wù)契約c執(zhí)行操作ι后演化為cf,(\t表示隱藏操作,意味著在C中的消息操作χ變?yōu)閞,即,當(dāng)多個(gè)服務(wù)組合成一個(gè)服務(wù)系統(tǒng)時(shí),某些服務(wù)可能僅提供部分接口,并且某些接口及其相關(guān)消息操作變成了內(nèi)部不可觀察的;步驟二、建立流程決策點(diǎn),分析WS-BPEL流程形式服務(wù)的消息交互行為在WS-BPEL流程服務(wù)交互環(huán)境中,區(qū)分三類服務(wù)契約的決策點(diǎn)(1)僅有發(fā)送消息操作的決策點(diǎn);(2)僅有接受消息操作的決策點(diǎn);(3)同時(shí)包括發(fā)送消息操作和接受消息操作的決策點(diǎn);其中,第三類流程決策點(diǎn)是指同一服務(wù)接口的發(fā)送消息操作和接受消息操作; 步驟三、建立服務(wù)替換正確性準(zhǔn)則,定義服務(wù)相容性包括兩大部分其一,是在所有計(jì)算路徑上完成屬性;其二,在部分計(jì)算路徑上的“測(cè)試成功”;設(shè)一組WS-BPEL流程服務(wù)£T5(ie〖1..η〗〕組合,記為系統(tǒng)P = (C1 1 C2 I!…Il CJ ; 系統(tǒng)P滿足完成相容屬性,記為P Il,如果下列條件之一成立(1)如果P是自包含系統(tǒng),對(duì)于任意F以致P^ P^P ^ 0 (2)如果ρ是開(kāi)放系統(tǒng),對(duì)于任意11)以致ρ:ρ 存在/以致ρ 二 ο ; 步驟四、降級(jí)服務(wù)替換正確性驗(yàn)證包括兩部分其一,服務(wù)子契約以較少的可交換消息集保持了所有計(jì)算路徑上的服務(wù)相容性;其二,服務(wù)契約的測(cè)試精化,在部分計(jì)算路徑上保持了服務(wù)相容性;一個(gè)WS-BPEL流程服務(wù)契約C2是另一服務(wù)契約Ci的子契約,記為<2 C1 ’如果下列條件成立(1)如果C1是一個(gè)決策點(diǎn)即頂層操作是一個(gè)選擇,那么。也是一個(gè)和C1具有相同類型的決策點(diǎn);(2)對(duì)于每個(gè)接收消息操作^^吣以致q二^ ,存在&,〔》以致C2(3)對(duì)于每個(gè)發(fā)送消息操作Pir^以致廣!^r‘,存在Sr 以致如果,WS-BPEL流程服務(wù)契約C2是^的子契約,那么,對(duì)于相同的運(yùn)行環(huán)境ρ, Cz替換 Ci后不改變系統(tǒng)原有的完成屬性,即如果C2 鱒 C1,那么,VPKC1 II f) H (C, I F) 41 ; 在使用子契約實(shí)施替換后,一個(gè)系統(tǒng)仍保持系統(tǒng)原有的相容性; 然而,由于使用子契約實(shí)施的替換是不等價(jià)替換,所以,系統(tǒng)的某些服務(wù)行為可能會(huì)受到影響,這個(gè)影響分為兩方面第一,如果子契約提供了更多的消息接收能力,并且具有相同的發(fā)送消息非決定性選擇,那么,這個(gè)替換不影響系統(tǒng)的運(yùn)行,并且系統(tǒng)將具有更多的服務(wù)能力;第二,如果子契約提供了更多的消息接收能力,但是發(fā)送消息的非決定性選擇減少,即發(fā)送更少的消息,那么,替換會(huì)對(duì)系統(tǒng)的全局行為產(chǎn)生兩個(gè)方面的影響,即(1)較少的消息交換集合;(2)較少的可完成計(jì)算路徑;最后,實(shí)現(xiàn)增強(qiáng)SOA系統(tǒng)可生存性的降級(jí)服務(wù)替換;這里,用保留的服務(wù)契約來(lái)描述降級(jí)服務(wù)替換后用戶期望保留的系統(tǒng)功能,記為 prs'/(P);其中,P是WS-BPEL流程服務(wù)系統(tǒng);依據(jù)正確服務(wù)替換的要求,實(shí)施服務(wù)替換后必須滿足 prsv(P) 0 ;令P = (C1 1 C2 …Il Cn),其中,Cs是ws-BPEL流程服務(wù)契約,且P 4 O ,PI-SV(P) 0 ;對(duì)于任意i e [L.e], prsv(P[C/C])功0如果下列條件成立 (1) Clf^Cl ;⑵對(duì)于每個(gè)消息發(fā)送操作鞏泔)以致χ ε F(C) Π FfprsviP)),在C/中也存在
全文摘要
本發(fā)明屬于SOA技術(shù)領(lǐng)域,具體為增強(qiáng)SOA可生存性的降級(jí)服務(wù)替換驗(yàn)證方法。主要步驟1.采用進(jìn)程代數(shù)形式化建模WS-BPEL描述文件所體現(xiàn)的組合服務(wù)交互協(xié)議,包括服務(wù)契約,成員服務(wù)可允許的消息交互;2.流程決策點(diǎn),分析流程形式服務(wù)的消息操作(即發(fā)送、接受消息)選擇。采用白盒策略描述WS-BPEL流程形式的替換服務(wù)和候選服務(wù)、以及服務(wù)組合和替換的上下文環(huán)境。3.將服務(wù)替換準(zhǔn)則確定為服務(wù)相容性被定義為組合系統(tǒng)的可執(zhí)行完成屬性。在此基礎(chǔ)上,4.驗(yàn)證實(shí)施替換后不影響系統(tǒng)相容性的降級(jí)服務(wù)替換,以及實(shí)施替換后的降級(jí)系統(tǒng)是否滿足用戶需求。本發(fā)明解決了現(xiàn)有技術(shù)無(wú)法驗(yàn)證降級(jí)服務(wù)替換正確性的問(wèn)題。
文檔編號(hào)H04L29/08GK102571789SQ20111045769
公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者張亮, 楊勇 申請(qǐng)人:復(fù)旦大學(xué)