一種基于分層的云服務組合失效的恢復系統和方法
【專利摘要】本發明公開一種基于分層的云服務組合失效的恢復系統和方法,系統包括基礎設施層、平臺層和應用層,三個云層通過數據收集器收集數據,然后分析診斷模塊對數據進行失效分析,選擇相應的失效恢復策略。方法針對云計算中基礎設施層、平臺層、軟件層三個云層的特性,根據云環境下可能導致服務組合失效的原因將失效進行分類,并提出五種主要的恢復方法,針對不同云層的失效采用不同的恢復方法。本發明的系統和方法的配合使用,能夠針對不同云層的失效進行恢復,實現了云環境下服務組合的自治愈功能。
【專利說明】—種基于分層的云服務組合失效的恢復系統和方法
【技術領域】
[0001]本發明涉及一種web服務容錯技術,尤其涉及一種基于分層的云計算環境下服務組合失效的恢復系統,屬于信息【技術領域】。
【背景技術】
[0002]云計算范式已經逐漸成為多個領域包括效用計算、分布式計算、網格計算、Web服務以及面向服務體系結構SOA的自然演變和集成,它使得用戶可以通過網絡在任何時間與地點獲取計算服務能力。云計算的主要價值和獨創性來源于它能夠以一種經濟的、可擴展的、靈活的方式打包和提供資源,而這對于IT客戶和技術投資者來說是能夠承受的并且有足夠的吸引力。云計算的主要特點是支持虛擬化、高可靠性和可用性、自治性和快速彈性等。根據“一切皆為服務”的觀點,我們可以把云計算環境中的服務總結為三類:基礎設施即服務(Infrastructure as a Service, IaaS),它將硬件設施基礎資源(服務器、存儲、網絡和其他設備等)作為一種服務提供給消費者;平臺即服務(Platform as a Service, PaaS),它將整個開發平臺和提供資源與存儲的開發環境托管在云中,作為一種服務提供給消費者;軟件即服務(Software as a Service, SaaS),它將某些特定應用軟件功能封裝成通過Internet或者分布式環境的服務。
[0003]云計算由于其支持虛擬化、提供服務質量保證、高可靠性可用性、自治性與快速彈性等特點,使得云服務可以有效的進行資源配置,適應互聯網的動態需求,但鑒于云服務本身的異構性、自治性和動態性等特點引發的不確定因素影響了云計算環境下服務組合的正確性、可靠性和可用性,特別是當云服務組合中失效發生時,使系統不受失效的影響繼續工作下去就顯得十分重要。因此,如何在已經監控到系統失效的情況下對失效的原因進行分析并建立相應的恢復機制,成為保障云服務組合服務質量的關鍵問題。
[0004]現有的服務組合恢復技術主要針對普通環境下的失效恢復,已有的云計算環境下的服務組合失效恢復也多為針對特定云層的恢復或者針對特定錯誤(如物理錯誤)引起的失效恢復,并沒有系統的對整個云計算環境下可能出現的錯誤做出羅列,另外云計算的特殊環境也需要針對不同云層的失效采取不同的恢復策略,所以現有的服務組合容錯機制已經不能滿足云計算環境下服務組合失效恢復的需求。
【發明內容】
[0005]發明目的:針對現有技術中存在的問題與不足,為提高云計算環境下Web服務組合的可靠性和安全性,本發明提供一種基于分層的云服務組合失效的恢復系統和方法,在系統運行時有效判斷失效來自哪一層并采取相應恢復措施的機制。
[0006]技術方案:一種基于分層的云服務組合失效的恢復系統,包括基礎設施層、平臺層和應用層;
[0007]基礎設施層(IaaS):基礎設施層(IaaS)主要收集與硬件資源相關的數據,如CPU使用、網絡和存儲數據等。[0008]平臺層(PaaS):平臺層(PaaS)主要收集云服務組合業務流程的數據,另外,PaaS層中還設立了一個總的數據中心,用于匯總IaaS、PaaS、SaaS層中數據收集器收集到的數據。應用層(SaaS):應用層(SaaS)主要收集應用程序執行相關的數據。在不同的時間間隔內,數據中心中數據的值會根據單個云服務粒度大小的不同而更新,數據中心將收集的云計算環境下服務組合的數據提交給分析診斷模塊;
[0009]分析診斷模塊進行失效分析,選擇相應的失效恢復策略,具體過程如下:在IaaS層監控到無響應失效,那么可能是服務不可用或者超時,這兩種故障都可以采用重定位或者不需要撤銷的替代來解決;如果監控到結果錯誤失效,那么就是超時;監控到服務緩慢,可能是服務不可用、超時和順序不正確,順序不正確采用需要撤銷的替代或者重新組合策略。在PaaS層監控到無響應或者服務緩慢都是由于服務器問題導致的服務不可用,應采用重定位或者不需要撤銷的替代進行恢復。在SaaS層監控到的無響應失效由接口改變、工作流不一致、行為流不正規和QoS導致的,接口改變需要撤銷的替代、QoS采用重新組合策略;結果錯誤失效是由接口改變、工作流不一致、參數不匹配、不正確的服務、行為流不正規、不理解行為和QoS導致的,參數不匹配采用需要撤銷的替代,不正確的服務采用撤銷;輸出不唯一失效是由行為不確定導致的;結果雜亂失效是由接口改變、工作流不一致、行為不確定、響應錯誤、SLA和QoS問題導致的,響應錯誤用重定位和需要撤銷的替換解決;服務緩慢失效是由SLA和QoS導致的;結果過時失效是由SLA和QoS問題導致的,應采用重新組合策略。
[0010]一種基于分層的云服務組合失效的恢復方法,包括以下步驟:
[0011]步驟1:構建失效分類,首先根據故障(fault)導致失效(failure)發生的特征,列出所有可能發生的故障,在服務組合過程中,由于服務組件、環境設備自身存在的缺陷導致了故障的發生,故障可分為物理故障、開發故障和交互故障三種類型,一共有服務不可用、接口改變、QoS等13種典型的錯誤,再根據導致故障發生的原因,將該故障可能引起的失效歸類到不同的云層中,例如服務不可用可能是由網絡連接問題和服務器問題,網絡連接屬于硬件設施問題,很明顯是處于IaaS基礎設施層的原因,所以服務不可用這種錯誤導致的兩種失效無響應和服務緩慢都屬于IaaS層;
[0012]步驟2:數據收集,在基礎設施層IaaS,平臺層PaaS,應用層SaaS分別設計數據收集器,收集不同云層的相關數據。其中基礎設施層(IaaS)主要收集與硬件資源相關的數據,如CPU使用、網絡和存儲數據等;平臺層(PaaS)主要收集云服務組合業務流程的數據以及收集基礎設施層(IaaS)和應用層(SaaS)提交的數據;應用層(SaaS)主要收集應用程序執行相關的數據。在不同的時間間隔內,數據中心中數據的值會根據單個云服務粒度大小的不同而更新,數據中心將收集的云計算環境下服務組合的數據提交給分析診斷模塊進行失效分析,選擇相應的失效恢復策略;雖然每個云層都有數據收集器,但是PaaS層除了收集本層的數據,還需要匯總基礎設施層IaaS和應用層SaaS數據收集器提交的數據,起到了數據收集中心的作用,并向分析診斷模塊提供收集到的所有數據。
[0013]步驟3:分析診斷,先分析收集到的數據是由哪一層的數據收集器收集到的,再根據該層收集到的失效確定引起失效的原因,選擇具體的恢復策略;
[0014]步驟4:自動恢復,根據步驟三選擇的恢復策略進行恢復,使服務組合在失效發生的情況下自動恢復,繼續運行。[0015]所述的根據引起失效的故障,主要有以下十三種:服務不可用、接口改變、工作流不一致、參數不匹配、行為不確定、順序不正確、超時、不正確的服務、行為流不正規、不理解行為。根據導致故障發生的原因可以確定每種故障會出現在哪些層,例如服務不可用的原因有網絡連接和服務器問題,網絡連接屬于基礎設施層,服務器問題處于平臺層,因此服務不可用導致的失效無響應即可能發生在基礎設施層又可能發生在平臺層,依次分析無響應失效下其他的故障類型,可以推斷,無響應失效可能發生在平臺層(PaaS)、基礎設施層(IaaS)、應用層(SaaS)。同理,結果失效可能發生在基礎設施層(IaaS)、應用層(SaaS);輸出不唯一發生在應用層(SaaS);結果雜亂發生在應用層(SaaS);服務緩慢發生在平臺層(PaaS)、基礎設施層(IaaS)、應用層(SaaS);結果過時發生在應用層(SaaS)。
[0016]所述的數據收集器雖然每個云層都有,但是平臺層(PaaS)除了收集本層的數據,還需要收集基礎設施層(IaaS)和應用層(SaaS)的數據,起到了數據收集中心的作用,向分析診斷模塊提供收集到的所有數據。
[0017]所述的恢復方法主要有五種,分別是重做(re-do)、撤銷、需要撤銷的替換、不需要撤銷的替換和重新組合。
[0018]重做(re-do)主要是指當一個服務在某個資源上運行失敗時,例如由于服務器問題導致的服務緩慢失效,找到能夠代替的新服務器,這個找到合適資源并將服務遷移到資源上的過程就是重做。
[0019]撤銷是指當關鍵錯誤發生時,清除所有失敗動作產生的不正確的數據,通常情況下,該進程將被恢復到先前的一致狀態,恢復的過程通常是用補償的方式。
[0020]需要撤銷的替換主要采取服務副本的思想來保證服務的可用性,假設恢復模塊中
有一個單獨的Replacement模塊專門用來存儲服務的副本,為了避免副本在Replacement
中占用過多的資源,僅將服務狀態為doubt的成員復制到R印Iacement模塊的緩存中,當檢
測到失效的發生需要調用!^placement模塊時,副本就進入run狀態,撤銷原服務的影響,
代替原服務進行工作,在替換策略中,需要定期淘汰服務副本以保證R印Iacement模塊中
服務副本的高質量和不占用內存,如果不定期淘汰,可能會導致R印Iacement模塊內存溢
出,此外,定期的更新服務副本也可以提高服務的替換速度。服務χ的淘汰率El(X)的計算
方法如下:
【權利要求】
1.一種基于分層的云服務組合失效的恢復系統,其特征在于:包括基礎設施層、平臺層和應用層; 基礎設施層:基礎設施層通過數據收集器收集與硬件資源相關的數據,并將收集到的數據存儲到應用層的數據中心; 平臺層:平臺層通過數據收集器收集云服務組合業務流程的數據以及收集IaaS層和SaaS層提交的數據,并將收集到的數據存儲到應用層的數據中心; 應用層:應用層通過數據收集器收集應用程序執行相關的數據,并將收集到的數據存儲到數據中心;在不同的時間間隔內,數據中心中數據的值根據單個云服務粒度大小的不同而更新,數據中心將收集的數據提交給分析診斷模塊; 分析診斷模塊進行失效分析,選擇相應的失效恢復策略。
2.如權利要求1所述的基于分層的云服務組合失效的恢復系統,其特征在于:分析診斷模塊進行失效分析,選擇相應的失效恢復策略,具體過程如下:對IaaS層收集的數據進行監控,如果監控到無響應失效,那么可能是服務不可用或者超時,這兩種故障都可以采用重定位或者不需要撤銷的替代來解決;如果監控到結果錯誤失效,那么就是超時;監控到服務緩慢,可能是服務不可用、超時和順序不正確,順序不正確采用需要撤銷的替代或者重新組合策略;對PaaS層收集到的數據進行監控,如果在PaaS層監控到無響應或者服務緩慢都是由于服務器問題導致的服務不可用,應采用重定位或者不需要撤銷的替代進行恢復;對SaaS層收集到的數據進行監控,在SaaS層監控到的無響應失效由接口改變、工作流不一致、行為流不正規和QoS導致的,接口改變需要撤銷的替代、QoS采用重新組合策略;結果錯誤失效是由接口改變、工作流不一致、參數不匹配、不正確的服務、行為流不正規、不理解行為和QoS導致的,參數不匹配采用需要撤銷的替代,不正確的服務采用撤銷;輸出不唯一失效是由行為不確定導致的;結 果雜亂失效是由接口改變、工作流不一致、行為不確定、響應錯誤、SLA和QoS問題導致的,響應錯誤用重定位和需要撤銷的替換解決;服務緩慢失效是由SLA和QoS導致的;結果過時失效是由SLA和QoS問題導致的,應采用重新組合策略。
3.一種基于分層的云服務組合失效的恢復方法,其特征在于,包括以下步驟: 步驟1:構建失效分類,首先根據故障導致失效發生的特征,列出所有可能發生的故障,在服務組合過程中,由于服務組件、環境設備自身存在的缺陷導致了故障的發生,錯誤可分為物理故障、開發故障和交互故障三種類型,再根據導致故障發生的原因,將該故障可能引起的失效歸類到不同的云層中; 步驟2:數據收集,在基礎設施層IaaS、平臺層PaaS、應用層SaaS分別設計數據收集器,收集不同云層的相關數據;其中基礎設施層主要收集與硬件資源相關的數據;平臺層主要收集云服務組合業務流程的數據以及收集基礎設施層和應用層提交的數據;應用層主要收集應用程序執行相關的數據;在不同的時間間隔內,數據收集中心中數據的值會根據單個云服務粒度大小的不同而更新,數據中心將收集的云計算環境下服務組合的數據提交給分析診斷模塊進行失效分析,選擇相應的失效恢復策略; 步驟3:分析診斷,先分析收集到的數據是由哪一層的數據收集器收集到的,再根據該層收集到的失效確定引起失效的原因,選擇具體的恢復策略; 步驟4:自動恢復,根據步驟三選擇的恢復策略進行恢復,使服務組合在失效發生的情況下自動恢復,繼續運行。
4.如權利要求3所述的基于分層的云服務組合失效的恢復方法,其特征在于:步驟I中列出的故障,根據引起故障的原因,主要有以下十三種:服務不可用、接口改變、工作流不一致、參數不匹配、行為不確定、順序不正確、超時、不正確的服務、行為流不正規、不理解行為。
5.如權利要求3所述的基于分層的云服務組合失效的恢復方法,其特征在于:步驟4中的恢復方法主要有五種,分別是重做、撤銷、需要撤銷的替換、不需要撤銷的替換和重新組合。
6.如權利要求5所述的基于分層的云服務組合失效的恢復方法,其特征在于:所述的重做是指當一個服務在某個資源上運行失敗時,找到能夠代替的新服務器,這個找到合適資源并將服務遷移到資源上的過程就是重做。
7.如權利要求5所述的基于分層的云服務組合失效的恢復方法,其特征在于:所述的撤銷是指當關鍵錯誤發生時,清除所有失敗動作產生的不正確的數據,通常情況下,該進程將被恢復到先前的一致狀態,恢復的過程通常是用補償的方式。
8.如權利要求5所述的基于分層的云服務組合失效的恢復方法和系統,其特征在于:所述的需要撤銷的替換主要采取服務副本的思想來保證服務的可用性,假設恢復模塊中有一個單獨的Replacement模塊專門用來存儲服務的副本,為了避免副本在Replacement中占用過多的資源,僅將服務狀態為doubt的成員復制到R印Iacement模塊的緩存中,當檢測到失效的發生需要調用Replacement模塊時,副本就進入run狀態,撤銷原服務的影響,代替原服務進行工作,在替換策略中,需要定期淘汰服務副本以保證R印Iacement模塊中服務副本的高質量和不占用內存,如果不定期淘汰,可能會導致R印Iacement模塊內存溢出,此外,定期的更新服務副本也可以提高服務的替換速度;服務X的淘汰率El(X)的計算方法如下:.
9.如權利要求5所述的基于分層的云服務組合失效的恢復方法,其特征在于:所述的不需要撤銷的替換,采取的方法是直接在候選服務中選擇相應的替代服務,當候選服務不止一個時,需要對這一組候選服務進行排名選取名詞最高的服務來替代原來的服務,其中候選服務a對候選服務b的優先是通過計算所有的QoS屬性得來的,服務a對b的優先值η是通過如下方法計算的:
10.如權利要求5所述的基于分層的云服務組合失效的恢復方法和系統,其特征在于:所述的重新組合方法為局部 重組,全局重組從起點開始重新組合,當故障點在整個BPEL流程的最后時,所耗用的時間長,費用高,性價比非常低,局部重組直接從故障點開始重組,資源消耗率和時間都比較低,每一個服務都應該有滿足相同功能需求的候選服務,這些相同功能的服務組成了候選服務組合WS,定義候選服務組合為WS=〈S,F,P,I,O,Q>,其中,S表示該服務組合的狀態,F表示完成功能集,P表示所有操作,I和O表示輸入輸出,Q是服務的效用值,某個候選服務k的QoS效用值Q (k)計算如下:
【文檔編號】H04L29/08GK103490938SQ201310481208
【公開日】2014年1月1日 申請日期:2013年10月15日 優先權日:2013年10月15日
【發明者】張鵬程, 成艷, 郭學俊 申請人:河海大學