專利名稱:基于云計算環(huán)境的業(yè)務流程管理方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及其企業(yè)管理信息技術,尤其涉及基于云計算環(huán)境的業(yè)務流程管理方法 和系統(tǒng)。
背景技術:
企業(yè)業(yè)務流程管理(Business Process Management,BPM)為企業(yè)應用提供了跨接 業(yè)務和IT的橋梁,企業(yè)可以根據(jù)業(yè)務目標的要求,將小顆粒度的業(yè)務服務組件組合成為較 大顆粒度的業(yè)務流程,并可以通過對企業(yè)組織內部及外部的服務進行編制和編排,形成端 到端的協(xié)同業(yè)務流程鏈。隨著企業(yè)業(yè)務和組織規(guī)模的快速擴張和變化,企業(yè)業(yè)務流程管理 也面對著業(yè)務流程跨組織、跨地域、業(yè)務并發(fā)量快速增長的挑戰(zhàn),要求企業(yè)BPM系統(tǒng)必須能 夠提供良好的伸縮性和靈活性,實現(xiàn)IT基礎設施和業(yè)務服務資源的靈活分配和按需使用, 并最終實現(xiàn)最佳總擁有成本(Total Cost Ownership, TCO)。業(yè)務、流程執(zhí)tii吾言(Business Process Execution Language, BPEL)為實現(xiàn) BPM 提供了一種描述業(yè)務流程語言,同時,還可以用來描述企業(yè)與合作伙伴、供應商、顧客等之 間的業(yè)務協(xié)作關系。為能夠更好地在技術上實現(xiàn)BPEL,可以將BPEL與Web服務技術相結 合,艮口 Business Process Execution Language for Web Service (BPEL4WS)技術。禾1J用 BPEL4WS技術,可以在BPEL文檔中定義一組活動來描述業(yè)務流程,同時可以調用相關業(yè)務 服務的Web服務組件,實現(xiàn)企業(yè)和供應商、顧客之間的業(yè)務協(xié)同。云計算是一種新的IT服務的提供、消費和交付模式,在互聯(lián)網(wǎng)上以“服務”的形式 交付應用程序;用戶可以通過Web瀏覽器方式訪問系統(tǒng)資源,而不必管它們的具體物理位 置在哪里,用戶可在任何地方連接到這些資源。云計算支持在眾多用戶中共享資源和分擔 成本,從而實現(xiàn)基礎設施的集中、低成本管理,滿足尖峰業(yè)務處理請求,實現(xiàn)資源的按需分 配,綜合提升資源整體效能。將企業(yè)BPM系統(tǒng)、BEPL4WS技術與云計算模式結合,可以有效解決業(yè)務流程的跨 地域協(xié)同、尖峰業(yè)務處理請求等問題,例如,企業(yè)訂單處理流程可以部署在云環(huán)境中,分布 在不同地域的企業(yè)下級組織、產(chǎn)業(yè)鏈上下游伙伴等,都可以便捷地加入到業(yè)務處理流程中。 當企業(yè)業(yè)務流程處理請求、業(yè)務數(shù)據(jù)量等驟增的時候,例如銷售旺季來臨的時候,云計算管 理平臺可以迅速提供所需要的計算資源、存儲資源等,滿足業(yè)務增長需求;而當業(yè)務流程處 理請求、業(yè)務數(shù)據(jù)量恢復到正常運營水平的時候,企業(yè)可以釋放不必要的云資源,以降低IT 成本。云計算資源并非免費提供,云服務運營商往往采用“購買即可使用”的付費方式, 企業(yè)如何有效管理和使用所申請購買的云服務資源,不僅決定了業(yè)務處理的響應速度和處 理效率,還直接關系到企業(yè)所花費的IT成本。如果企業(yè)BPM系統(tǒng)能夠有效識別業(yè)務流程所 需要花費的云計算資源,從而主動地進行資源申請和調度,避免產(chǎn)生資源被動局面,將有助 于提升業(yè)務處理的速度。此外,對于某些業(yè)務流程,如果出現(xiàn)大量等待或空閑狀態(tài)而資源被 占用、不能及時釋放的情形,將給企業(yè)帶來不必要的成本支出??傊枰髽I(yè)BPM系統(tǒng)能夠在云計算環(huán)境中對業(yè)務流程管理及云資源進行有效地監(jiān)控和主動式調度。在此情形下,傳統(tǒng)的業(yè)務流程管理(BPM)系統(tǒng)不能簡單地挪到云計算環(huán)境中,而 是必須提高對云資源的精細化控制和費用管理能力,這樣才能真正享受云計算模式所帶來 的好處。因此,需要一種基于云計算環(huán)境的業(yè)務流程管理方式,可以很好地根據(jù)業(yè)務流程 負荷的變化情況進行動態(tài)伸縮,對于云環(huán)境中的業(yè)務Web服務資源可以進行主動式申請和 調度,能夠智能地分析業(yè)務流程對云資源的需求和使用情況,實現(xiàn)云資源的經(jīng)濟性使用,最 大程度地發(fā)揮云資源的效能,降低企業(yè)TC0。
發(fā)明內容
鑒于以上, 本發(fā)明的技術方案所要解決的技術問題在于,提供一種基于云計算環(huán) 境的業(yè)務流程管理方法和系統(tǒng),可以很好地根據(jù)業(yè)務流程負荷的變化情況進行動態(tài)伸縮, 對于云環(huán)境中的業(yè)務Web服務資源可以進行主動式申請和調度,能夠智能地分析業(yè)務流程 對云資源的需求和使用情況,實現(xiàn)云資源的經(jīng)濟性使用,最大程度地發(fā)揮云資源的效能,降 低企業(yè)TC0。本發(fā)明提供了一種基于云計算環(huán)境的業(yè)務流程管理方法,將業(yè)務流程引擎管理器 和業(yè)務流程引擎設置在云端,所述業(yè)務流程引擎接收業(yè)務請求,并調用云資源以執(zhí)行所述 業(yè)務請求對應的業(yè)務流程,所述業(yè)務流程引擎管理器根據(jù)所述業(yè)務流程引擎的使用情況, 對所述業(yè)務流程弓I擎和所述云資源進行配置。通過該技術方案,可以通過業(yè)務流程弓I擎管 理器和業(yè)務流程引擎來智能地分析業(yè)務流程對云資源的需求和使用情況,實現(xiàn)云資源的經(jīng) 濟性使用,最大程度地發(fā)揮云資源的效能。在上述技術方案中,優(yōu)選地,所述業(yè)務流程引擎包括流程加載組件,根據(jù)所述業(yè) 務請求,從業(yè)務流程定義庫中讀取所述對應的業(yè)務流程,將所述對應的業(yè)務流程處理為業(yè) 務流程執(zhí)行語言文檔;業(yè)務流程執(zhí)行組件,根據(jù)所述業(yè)務流程執(zhí)行語言文檔,調用所述云資 源以執(zhí)行所述業(yè)務流程。在上述技術方案中,優(yōu)選地,所述業(yè)務流程引擎還包括預分析組件,分析從所述 流程加載組件獲得的所述業(yè)務流程執(zhí)行語言文檔,得到所述云資源的預計使用情況,并提 交至云資源效能分析庫;資源監(jiān)控組件,從所述業(yè)務流程執(zhí)行組件中獲得所述云資源的實 際使用情況,并提交至所述云資源效能分析庫。在上述技術方案中,優(yōu)選地,所述業(yè)務流程引擎管理器包括執(zhí)行監(jiān)控組件,訪問 所述云資源效能分析庫以獲得所述云資源的使用情況;引擎調度組件,根據(jù)所述云資源的 使用情況,通過資源配額及計費管理組件與云運營管理員交互,以對所述云資源進行調整; 所述資源配額及計費管理組件,向所述云運營管理員申請或取消。通過該技術方案,可以識 別出執(zhí)行頻繁的業(yè)務流程,先導性地為這些業(yè)務流程提供資源保障,并且可以避免盲目申 請過多的云資源,造成不必要的成本浪費。在上述技術方案中,優(yōu)選地,在存在空閑的業(yè)務流程引擎時,所述引擎調度組件將 所述空閑的業(yè)務流程引擎以及所述空閑的業(yè)務流程引擎相關的云資源釋放,在現(xiàn)有的業(yè)務 流程引擎的數(shù)量不能滿足現(xiàn)有的業(yè)務請求時,所述引擎調度組件實例化出新的業(yè)務流程引 擎。通過該技術方案,可以根據(jù)業(yè)務請求狀態(tài),調整業(yè)務流程引擎及云資源。
在上述技術方案中,優(yōu)選地,所述云資源包括云服務組件,在現(xiàn)有的云服務組件的 數(shù)量不能滿足現(xiàn)有的業(yè)務請求時,所述引擎調度組件在獲得所述云運營管理員的同意后, 對指定云服務組件實例化,產(chǎn)生新的云服務組件。通過該技術方案,可以根據(jù)業(yè)務請求狀 態(tài),調整云服務組件。本發(fā)明還提供了一種基于云計算環(huán)境的業(yè)務流程管理系統(tǒng),包括業(yè)務流程引擎 模塊,位于云端,接收業(yè)務請求,并調用云資源以執(zhí)行所述業(yè)務請求對應的業(yè)務流程; 業(yè)務 流程引擎管理模塊,位于云端,根據(jù)所述業(yè)務流程引擎模塊的使用情況,對所述業(yè)務流程引 擎模塊和所述云資源進行配置。通過該技術方案,可以通過業(yè)務流程引擎管理器和業(yè)務流 程引擎來智能地分析業(yè)務流程對云資源的需求和使用情況,實現(xiàn)云資源的經(jīng)濟性使用,最 大程度地發(fā)揮云資源的效能。在上述技術方案中,優(yōu)選地,所述業(yè)務流程引擎模塊包括流程加載模塊,根據(jù)所 述業(yè)務請求,從業(yè)務流程定義庫中讀取所述對應的業(yè)務流程,將所述對應的業(yè)務流程處理 為業(yè)務流程執(zhí)行語言文檔;業(yè)務流程執(zhí)行模塊,根據(jù)所述業(yè)務流程執(zhí)行語言文檔,調用所述 云資源以執(zhí)行所述業(yè)務流程。在上述技術方案中,優(yōu)選地,所述業(yè)務流程引擎模塊還包括預分析模塊,分析從 所述流程加載模塊獲得的所述業(yè)務流程執(zhí)行語言文檔,得到所述云資源的預計使用情況, 并提交至云資源效能分析庫;資源監(jiān)控模塊,從所述業(yè)務流程執(zhí)行模塊中獲得所述云資源 的實際使用情況,并提交至所述云資源效能分析庫。在上述技術方案中,優(yōu)選地,所述業(yè)務流程引擎管理模塊包括執(zhí)行監(jiān)控模塊,訪 問所述云資源效能分析庫以獲得所述云資源的使用情況;引擎調度模塊,根據(jù)所述云資源 的使用情況,通過資源配額及計費管理模塊與云運營管理員交互,以對所述云資源進行調 整;所述資源配額及計費管理模塊,向所述云運營管理員申請或取消。通過該技術方案,可 以識別出執(zhí)行頻繁的業(yè)務流程,先導性地為這些業(yè)務流程提供資源保障,并且可以避免盲 目申請過多的云資源,造成不必要的成本浪費。通過上述技術方案,能夠利用業(yè)務流程管理器和業(yè)務流程引擎對云端服務組件進 行動態(tài)伸縮和智能化的管理,監(jiān)控云資源使用情況,最大程度地發(fā)揮云資源的效能,降低企 業(yè)的TCO。
圖1是根據(jù)本發(fā)明的一個實施例的基于云計算環(huán)境的業(yè)務流程管理方法的流程 圖;圖2是根據(jù)本發(fā)明的一個實施例的基于云計算環(huán)境的業(yè)務流程管理系統(tǒng)的框圖;圖3是根據(jù)本發(fā)明的一個實施例的基于云計算環(huán)境的業(yè)務流程管理系統(tǒng)的示意 圖;圖4是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的業(yè)務流程引擎結構示意 圖;圖5是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的預分析組件和資源控制 組件對業(yè)務流程的靜態(tài)分析和動態(tài)監(jiān)控示意圖;圖6是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的業(yè)務流程引擎管理器的結構示意圖;圖7是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的業(yè)務流程引擎管理器的 基本處理流程圖;圖8是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的橫向收縮示意圖;以及圖9是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的云服務組件的伸縮示意 圖。
具體實施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和具體實 施方式對本發(fā)明進行進一步的詳細描述。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可 以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明并不限于下面公開的具體實 施例的限制圖1是根據(jù)本發(fā)明的一個實施例的基于云計算環(huán)境的業(yè)務流程管理方法的流程 圖。如圖1所示,根據(jù)本發(fā)明的實施例的基于云計算環(huán)境的業(yè)務流程管理方法步驟 102,將業(yè)務流程引擎管理器和業(yè)務流程引擎設置在云端,所述業(yè)務流程引擎接收業(yè)務請 求,并調用云資源以執(zhí)行所述業(yè)務請求對應的業(yè)務流程,所述業(yè)務流程引擎管理器根據(jù)所 述業(yè)務流程引擎的使用情況,對所述業(yè)務流程引擎和所述云資源進行配置。通過這樣的技 術方案,可以通過業(yè)務流程引擎管理器和業(yè)務流程引擎來智能地分析業(yè)務流程對云資源的 需求和使用情況,實現(xiàn)云資源的經(jīng)濟性使用,最大程度地發(fā)揮云資源的效能。在上述技術方案中,所述業(yè)務流程引擎包括流程加載組件,根據(jù)所述業(yè)務請求, 從業(yè)務流程定義庫中讀取所述對應的業(yè)務流程,將所述對應的業(yè)務流程處理為業(yè)務流程執(zhí) 行語言文檔;業(yè)務流程執(zhí)行組件,根據(jù)所述業(yè)務流程執(zhí)行語言文檔,調用所述云資源以執(zhí)行 所述業(yè)務流程。在上述技術方案中,所述業(yè)務流程引擎還包括預分析組件,分析從所述流程加載 組件獲得的所述業(yè)務流程執(zhí)行語言文檔,得到所述云資源的預計使用情況,并提交至云資 源效能分析庫;資源監(jiān)控組件,從所述業(yè)務流程執(zhí)行組件中獲得所述云資源的實際使用情 況,并提交至所述云資源效能分析庫。在上述技術方案中,所述業(yè)務流程引擎管理器包括執(zhí)行監(jiān)控組件,訪問所述云資 源效能分析庫以獲得所述云資源的使用情況;引擎調度組件,根據(jù)所述云資源的使用情況, 通過資源配額及計費管理組件與云運營管理員交互,以對所述云資源進行調整;所述資源 配額及計費管理組件,向所述云運營管理員申請或取消。因此,可以識別出執(zhí)行頻繁的業(yè)務 流程,先導性地為這些業(yè)務流程提供資源保障,并且可以避免盲目申請過多的云資源,造成 不必要的成本浪費。在上述技術方案中,在存在空閑的業(yè)務流程引擎時,所述引擎調度組件將所述空 閑的業(yè)務流程引擎以及所述空閑的業(yè)務流程引擎相關的云資源釋放,在現(xiàn)有的業(yè)務流程引 擎的數(shù)量不能滿足現(xiàn)有的業(yè)務請求時,所述引擎調度組件實例化出新的業(yè)務流程引擎。這 樣,就可以根據(jù)業(yè)務請求狀態(tài),調整業(yè)務流程引擎及云資源。
在上述技術方案中,所述云資源包括云服務組件,在現(xiàn)有的云服務組件的數(shù)量不 能滿足現(xiàn)有的業(yè)務請求時,所述引擎調度組件在獲得所述云運營管理員的同意后,對指定 云服務組件實例化,產(chǎn)生新的云服務組件。這樣,就可以根據(jù)業(yè)務請求狀態(tài),調整云服務組 件。圖2是根據(jù)本發(fā)明的一個實施例的基于云計算環(huán)境的業(yè)務流程管理系統(tǒng)的框圖。
如圖2所示,根據(jù)本發(fā)明的實施例的基于云計算環(huán)境的業(yè)務流程管理系統(tǒng)200包 括業(yè)務流程引擎模塊202,位于云端,接收業(yè)務請求,并調用云資源以執(zhí)行所述業(yè)務請求 對應的業(yè)務流程;業(yè)務流程引擎管理模塊204,位于云端,根據(jù)所述業(yè)務流程引擎模塊202 的使用情況,對所述業(yè)務流程引擎模塊202和所述云資源進行配置。通過這樣的技術方案, 可以通過業(yè)務流程引擎管理器和業(yè)務流程引擎來智能地分析業(yè)務流程對云資源的需求和 使用情況,實現(xiàn)云資源的經(jīng)濟性使用,最大程度地發(fā)揮云資源的效能。在上述技術方案中,所述業(yè)務流程引擎模塊202包括流程加載模塊,根據(jù)所述業(yè) 務請求,從業(yè)務流程定義庫中讀取所述對應的業(yè)務流程,將所述對應的業(yè)務流程處理為業(yè) 務流程執(zhí)行語言文檔;業(yè)務流程執(zhí)行模塊,根據(jù)所述業(yè)務流程執(zhí)行語言文檔,調用所述云資 源以執(zhí)行所述業(yè)務流程。在上述技術方案中,所述業(yè)務流程引擎模塊202還包括預分析模塊,分析從所述 流程加載模塊獲得的所述業(yè)務流程執(zhí)行語言文檔,得到所述云資源的預計使用情況,并提 交至云資源效能分析庫;資源監(jiān)控模塊,從所述業(yè)務流程執(zhí)行模塊中獲得所述云資源的實 際使用情況,并提交至所述云資源效能分析庫。在上述技術方案中,所述業(yè)務流程引擎管理模塊204包括執(zhí)行監(jiān)控模塊,訪問所 述云資源效能分析庫以獲得所述云資源的使用情況;引擎調度模塊,根據(jù)所述云資源的使 用情況,通過資源配額及計費管理模塊與云運營管理員交互,以對所述云資源進行調整;所 述資源配額及計費管理模塊,向所述云運營管理員申請或取消。因此,可以識別出執(zhí)行頻繁 的業(yè)務流程,先導性地為這些業(yè)務流程提供資源保障,并且可以避免盲目申請過多的云資 源,造成不必要的成本浪費。通過上述技術方案,能夠利用業(yè)務流程管理器和業(yè)務流程引擎對云端服務組件進 行動態(tài)伸縮和智能化的管理,監(jiān)控云資源使用情況,最大程度地發(fā)揮云資源的效能,降低企 業(yè)的TCO。圖3是根據(jù)本發(fā)明的一個實施例的基于云計算環(huán)境的業(yè)務流程管理系統(tǒng)的示意 圖,圖4是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的業(yè)務流程引擎結構示意圖,圖 5是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系統(tǒng)的預分析組件和資源控制組件對業(yè)務流 程的靜態(tài)分析和動態(tài)監(jiān)控示意圖以及圖6是根據(jù)本發(fā)明的一個實施例的業(yè)務流程管理系 統(tǒng)的業(yè)務流程引擎管理器的結構示意圖。如圖3所示,企業(yè)在將業(yè)務Web服務組件部署到云計算環(huán)境中的時候,可以由BPM 管理員將業(yè)務流程引擎(Business ProcessEngine, ΒΡΕ) 304 (對應于圖2實施例中的業(yè)務 流程引擎模塊)和業(yè)務流程引擎管理器(ΒΡΕ Manager) 302 (對應于圖2實施例中的業(yè)務流 程引擎管理模塊)同時部署在云端。業(yè)務流程引擎除可以組合、編制和編排云端Web服務 組件306之外,還可以集成企業(yè)現(xiàn)有的非云端Web服務組件308。此外,業(yè)務流程引擎304 可以與產(chǎn)業(yè)鏈上下游的供應商和顧客的現(xiàn)有業(yè)務應用系統(tǒng)、非云端Web服務組件308相協(xié)同,共同完成業(yè)務流程的要求。首先來詳細 說明圖3中的業(yè)務流程引擎304的具體功能結構,如圖4所示。業(yè)務流程引擎304根據(jù)用戶業(yè)務請求,執(zhí)行選定的已定義的業(yè)務流程,并將所調 用的云資源的效能情況收集并記錄下來,以便后續(xù)進行合理的資源調度和改進。業(yè)務流程 引擎304的功能結構如圖4所示,其中流程加載組件402從業(yè)務流程定義庫中讀取已定義 的業(yè)務流程并進行解析,將生成的可執(zhí)行的BPEL文檔提交業(yè)務流程執(zhí)行組件406 ;流程加 載組件402同時可以將BPEL文檔提交給預分析組件404,對業(yè)務流程中的活動、所調用的 Web服務組件、存儲等云資源的預期使用情況做分析。業(yè)務流程執(zhí)行組件406將業(yè)務活動等 執(zhí)行情況通過日志組件412記錄到日志庫中,同時,通過資源監(jiān)控組件408對云資源的關鍵 效能指標進行監(jiān)控,將收集的結果存入云資源效能分析庫中。用戶與權限組件410負責對 業(yè)務流程引擎及相關云資源的訪問提供安全保障。在這里,業(yè)務流程是一組相互協(xié)調的任務或活動,這些任務或活動可由用 戶或者業(yè)務系統(tǒng)、設備來完成。一個BPEL文檔定義了一個業(yè)務流程,包括伙伴鏈接 (PartnerLinks)、活動(Activities)、變量(Variables)、失敗處理(FaultHandlers)等內 容。其中伙伴鏈接定義了參與流程的組合服務和Web服務之間命名的關聯(lián),使用Web服務 描述語言WSDL和WS-Policy定義它們彼此的接口,從而可以實現(xiàn)企業(yè)和供應商、顧客之間 的關聯(lián);活動定義了服務的行為,實現(xiàn)了對伙伴Web服務的調用。最基本的活動可以是把消 息發(fā)送到伙伴,或從伙伴接收消息;此外,可以通過活動組合的方式,定義比較復雜的執(zhí)行 流程,例如順序流、分支、循環(huán)、事務補償?shù)取O旅娼Y合圖5來詳細說明BPE預分析組件404和資源監(jiān)控組件408對業(yè)務流程調 用情況進行靜態(tài)分析和動態(tài)監(jiān)控,將分析結果更新到云資源效能分析庫中。如圖5所示的 例子,根據(jù)用戶的業(yè)務請求,BPE流程加載組件402分別從業(yè)務流程定義庫中加載和實例化 業(yè)務流程BP-I和BP-2,在云資源效能分析庫中,BP-I和BP-2的調用次數(shù)將分別加1 ;后續(xù) 對云資源效能分析庫的分析,將可以識別出執(zhí)行頻繁度高的業(yè)務流程、最近執(zhí)行比較頻繁 的業(yè)務流程等,這些業(yè)務流程將可以獲得優(yōu)先的資源保障,例如對于執(zhí)行頻率不高的業(yè)務 流程,其云資源遞增比率可以設定為5%,而執(zhí)行頻率高的業(yè)務流程將按20%或更高來遞
+飽
+曰ο此外,BPE對業(yè)務流程中的活動及所調用的伙伴Web服務的情況進行進一步靜態(tài) 分析和動態(tài)監(jiān)控。如圖5所示的例子,企業(yè)云服務中WS A-UffS A-3分別被調用次數(shù)為2, WS A-2、WS A-4分別為1 ;而在伙伴服務中,WS B-2被調用次數(shù)為2,WS B-U WS B-4分別 為1。靜態(tài)分析結果將更新到云資源效能分析庫中,對于新定義的業(yè)務流程,將更新增加相 關被調用服務組件的預期調用次數(shù)。而在動態(tài)監(jiān)控中,每個被調用執(zhí)行的服務組件的調用 次數(shù)將加1。對于調用頻率比較高的服務組件,其執(zhí)行將獲得優(yōu)先資源保障和優(yōu)化,例如在 企業(yè)云服務中WS A-U WS A-3將比其他服務組件優(yōu)先獲得云存儲空間、CPU計算資源等保 障。另外,業(yè)務流程引擎部署在云計算環(huán)境中,對于企業(yè)及上下游伙伴的用戶而言,工 作流引擎位置是透明的,用戶可通過Web瀏覽器等方式訪問業(yè)務流程引擎,而不需要了解 業(yè)務流程引擎的具體物理位置,用戶可在任何地方連接到業(yè)務流程引擎服務,并且調用相 關云服務組件和其他Web服務組件。
業(yè)務流程引擎支持靈活的事務管理和狀態(tài)管理某些業(yè)務流程執(zhí)行時間可能比較長,業(yè)務之間協(xié)同通過異步消息等方式進行。業(yè)務流程引擎結合后臺數(shù)據(jù)庫等技術,將 業(yè)務流程狀態(tài)進行持久化的事務處理,盡可能實現(xiàn)業(yè)務流程引擎的狀態(tài)無關性;另一方 面,可以通過補償事務(Compensation)的機制,實現(xiàn)BPEL4WS的長事務(Long-Running Transactions, LRTs)處理。接下來詳細說明圖3中的業(yè)務流程引擎管理器302的具體功能結構,如圖6所示。業(yè)務流程引擎管理器302負責監(jiān)控業(yè)務流程的執(zhí)行情況,并由引擎調度組件604 動態(tài)協(xié)調各業(yè)務流程引擎304的運行,管理相關云資源的申請和使用。如圖6所示,執(zhí)行監(jiān) 控組件602定期或事件驅動地訪問云資源效能分析庫,對相關云資源的關鍵效能指標進行 分析,并將分析結果提交引擎調度組件604 ;引擎調度組件604負責進行統(tǒng)一協(xié)調和優(yōu)化, 通過資源配額及計費管理組件與云運營商管理員交互,可以實現(xiàn)云計算資源的動態(tài)地申請 或調整;BPM運營商通過資源配額及計費管理組件對各用戶進行合理的資源分配,用戶根 據(jù)資源配額及實際消費的云資源情況共擔BPM成本;此外,引擎調度組件604可以通過提醒 服務組件608,為BPM管理員提供預警等服務,便于及時掌握資源最新動向;引擎調度組件 604將相關操作信息通過日志組件610記錄到日志庫中。然后,詳細說明BPM業(yè)務流程引擎管理器302對所消費的云資源的管理及對業(yè)務 流程引擎304的調度的基本處理流程,如圖7所示。在步驟702,監(jiān)控BPM所占用的云資源情況。作為BPM運營管理方,企業(yè)需要負 責與云運營商簽訂云資源的配額及相關費用的協(xié)議,再由企業(yè)將配額動態(tài)分配給各相關用 戶,根據(jù)這些用戶的業(yè)務量來收取相關的流程引擎服務及云資源的費用。在步驟704,判斷目前資源使用量是否將超過總資源配額。BPM管理員可以為資源 配額設置警戒值,例如80%,當超過警戒值后,向BPM管理員進行預警。在步驟706,評估是否有空閑的業(yè)務流程引擎,如果有的話,則進入步驟708,沒有 則進入步驟710。在步驟708,考慮采用向下伸縮策略(Scale-Down),將空閑的BPE及相關云資源釋 放,實現(xiàn)在不改變總資源配額的情況下,滿足新業(yè)務的處理需求。在步驟710,判斷是否需要增加資源,如果必須增加資源才能滿足業(yè)務的處理要求 則進入步驟712。在步驟712,采用向上伸縮策略(Scale-Up),向云運營商提出新增資源申請??赏?過與云運營商事先約定方式自動進行申請的處理及伸縮,完成相關的計費處理。在步驟714,云計算資源到位后,調整相關各用戶的資源配額及計費標準。在步驟716,為用戶提供新增的BPE服務。這樣,對于已有的BPE但不能滿足業(yè)務數(shù)據(jù)量等驟增的情形,新增BPE服務提供了 橫向伸縮(Scale-Out)的策略支持,即實例化新的BPE來支持新增的業(yè)務請求。執(zhí)行監(jiān)控組件同時監(jiān)控各用戶云資源的占用情況。在步驟718,判斷用戶η資源是否超過配置額,超過時進入步驟720。在步驟720,當用戶η資源使用量將超過該用戶的資源配額的時候,判斷該用戶是 否需要通過新增資源配額才能滿足要求。如不需要,則將業(yè)務流程處理安排在現(xiàn)有BPE服 務上處理即可。如確需要增加該用戶資源配額,則進入步驟722。
在步驟722,確定需要調整資源的申請。該申請可以按照事先約定方式自動進行, 并完成相關的計費處理。在步驟724,調整用戶η資源配置。在步驟716,為用戶η提供新增的BPE服務。下面具體說明上面提到的新增BPE服務提供的橫向伸縮(Scale-Out)的策略?;?于業(yè)務流程引擎管理器的支撐,當企業(yè)業(yè)務流程處理請求、業(yè)務數(shù)據(jù)量等驟增的時候,業(yè)務 流程引擎可以進行動態(tài)伸縮。如圖8所示,當現(xiàn)有BPE不能滿足業(yè)務數(shù)據(jù)量等驟增的時候, 可以采用橫向收縮(Scale-Out)的策略,企業(yè)BPM管理器可以實例化新的業(yè)務流程引擎η 供用戶使用,該BPE共享訪問原有的云服務組件等云資源。
此外,收縮策略不僅僅限于業(yè)務流程引擎本身,也包括業(yè)務流程引擎所關聯(lián)調用 的云服務組件。當業(yè)務數(shù)據(jù)量顯著增加、現(xiàn)有云服務組件不能滿足業(yè)務處理需要的時候,業(yè) 務流程引擎管理器可以根據(jù)云資源效能監(jiān)測結果,向云運營商提出動態(tài)伸縮的申請,動態(tài) 對被調用的云服務組件進行伸縮,以滿足用戶的性能和可用性要求。如圖9所示,原有云服 務組件1和2因為訪問負荷過大,則業(yè)務流程引擎管理器或云運營商對該服務組件進行橫 向伸縮,實例化出新的資源供用戶使用。綜上,參考圖1至圖9詳細說明了本發(fā)明的實施例的技術方案,有效解決了在云計 算環(huán)境中,企業(yè)對業(yè)務流程進行動態(tài)伸縮、對相關云資源進行智能化調度管理的問題。云計算模式為軟件應用程序的伸縮性提供了底層技術支持,用戶可以不必為尖峰 業(yè)務量而承擔過高的硬件投入的成本,實現(xiàn)按需資源消費的模式。但云計算資源并非無償 使用,用戶需要為所花費的IT資源向云運營商付費,對于像BPM這樣涉及產(chǎn)業(yè)鏈上下游用 戶的情形,有些費用還應該由上游供應商或下游顧客來共同分擔。在此情形下,傳統(tǒng)的業(yè)務 流程管理(BPM)系統(tǒng)不能簡單地挪到云計算環(huán)境中,而是必須提高對云資源的精細化控制 和費用管理能力,這樣才能真正享受云計算模式所帶來的好處。根據(jù)本發(fā)明的技術方案,企業(yè)可以識別出執(zhí)行頻繁度高的業(yè)務流程,進一步識別 出關鍵業(yè)務流程和業(yè)務Web服務,先導性地為這些業(yè)務流程提供資源保障,從而實現(xiàn)業(yè)務 的連貫性和BPM系統(tǒng)的高可用性;同時,可以避免盲目申請過多的云資源,造成不必要的成 本浪費。此外,企業(yè)還可以作為BPM運營管理者,分別監(jiān)控各用戶對BPM云資源的占用情 況,并對各用戶進行資源配額管理,共擔云資源的消費成本,最終實現(xiàn)BPM各參與方(企業(yè) 各級組織用戶、上下游伙伴用戶)的整體經(jīng)濟性。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技 術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修 改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
一種基于云計算環(huán)境的業(yè)務流程管理方法,其特征在于,將業(yè)務流程引擎管理器和業(yè)務流程引擎設置在云端,所述業(yè)務流程引擎接收業(yè)務請求,并調用云資源以執(zhí)行所述業(yè)務請求對應的業(yè)務流程,所述業(yè)務流程引擎管理器根據(jù)所述業(yè)務流程引擎的使用情況,對所述業(yè)務流程引擎和所述云資源進行配置。
2.根據(jù)權利要求1所述的業(yè)務流程管理方法,其特征在于,所述業(yè)務流程引擎包括 流程加載組件,根據(jù)所述業(yè)務請求,從業(yè)務流程定義庫中讀取所述對應的業(yè)務流程,將所述對應的業(yè)務流程處理為業(yè)務流程執(zhí)行語言文檔;業(yè)務流程執(zhí)行組件,根據(jù)所述業(yè)務流程執(zhí)行語言文檔,調用所述云資源以執(zhí)行所述業(yè) 務流程。
3.根據(jù)權利要求2所述的業(yè)務流程管理方法,其特征在于,所述業(yè)務流程引擎還包括 預分析組件,分析從所述流程加載組件獲得的所述業(yè)務流程執(zhí)行語言文檔,得到所述云資源的預計使用情況,并提交至云資源效能分析庫;資源監(jiān)控組件,從所述業(yè)務流程執(zhí)行組件中獲得所述云資源的實際使用情況,并提交 至所述云資源效能分析庫。
4.根據(jù)權利要求3所述的業(yè)務流程管理方法,其特征在于,所述業(yè)務流程引擎管理器 包括執(zhí)行監(jiān)控組件,訪問所述云資源效能分析庫以獲得所述云資源的使用情況; 引擎調度組件,根據(jù)所述云資源的使用情況,通過資源配額及計費管理組件與云運營 管理員交互,以對所述云資源進行調整;所述資源配額及計費管理組件,向所述云運營管理員申請或取消。
5.根據(jù)權利要求4所述的業(yè)務流程管理方法,其特征在于,在存在空閑的業(yè)務流程引 擎時,所述引擎調度組件將所述空閑的業(yè)務流程引擎以及所述空閑的業(yè)務流程引擎相關的 云資源釋放,在現(xiàn)有的業(yè)務流程引擎的數(shù)量不能滿足現(xiàn)有的業(yè)務請求時,所述引擎調度組件實例化 出新的業(yè)務流程引擎。
6.根據(jù)權利要求5所述的業(yè)務流程管理方法,其特征在于,所述云資源包括云服務組件,在現(xiàn)有的云服務組件的數(shù)量不能滿足現(xiàn)有的業(yè)務請求時,所述引擎調度組件在獲得所 述云運營管理員的同意后,對指定云服務組件實例化,產(chǎn)生新的云服務組件。
7.一種基于云計算環(huán)境的業(yè)務流程管理系統(tǒng),其特征在于,包括業(yè)務流程引擎模塊,位于云端,接收業(yè)務請求,并調用云資源以執(zhí)行所述業(yè)務請求對應 的業(yè)務流程;業(yè)務流程引擎管理模塊,位于云端,根據(jù)所述業(yè)務流程引擎模塊的使用情況,對所述業(yè) 務流程引擎模塊和所述云資源進行配置。
8.根據(jù)權利要求7所述的業(yè)務流程管理系統(tǒng),其特征在于,所述業(yè)務流程引擎模塊包括流程加載模塊,根據(jù)所述業(yè)務請求,從業(yè)務流程定義庫中讀取所述對應的業(yè)務流程,將所述對應的業(yè)務流程處理為業(yè)務流程執(zhí)行語言文檔;業(yè)務流程執(zhí)行模塊,根據(jù)所述業(yè)務流程執(zhí)行語言文檔,調用所述云資源以執(zhí)行所述業(yè) 務流程。
9.根據(jù)權利引擎8所述的業(yè)務流程管理系統(tǒng),其特征在于,所述業(yè)務流程引擎模塊還 包括預分析模塊,分析從所述流程加載模塊獲得的所述業(yè)務流程執(zhí)行語言文檔,得到所述 云資源的預計使用情況,并提交至云資源效能分析庫;資源監(jiān)控模塊,從所述業(yè)務流程執(zhí)行模塊中獲得所述云資源的實際使用情況,并提交 至所述云資源效能分析庫。
10.根據(jù)權利要求9所述的業(yè)務流程管理系統(tǒng),其特征在于,所述業(yè)務流程引擎管理模 塊包括執(zhí)行監(jiān)控模塊,訪問所述云資源效能分析庫以獲得所述云資源的使用情況; 引擎調度模塊,根據(jù)所述云資源的使用情況,通過資源配額及計費管理模塊與云運營 管理員交互,以對所述云資源進行調整;所述資源配額及計費管理模塊,向所述云運營管理員申請或取消。
全文摘要
本發(fā)明提出了一種基于云計算環(huán)境的業(yè)務流程管理方法,將業(yè)務流程引擎管理器和業(yè)務流程引擎設置在云端,所述業(yè)務流程引擎接收業(yè)務請求,并調用云資源以執(zhí)行所述業(yè)務請求對應的業(yè)務流程,所述業(yè)務流程引擎管理器根據(jù)所述業(yè)務流程引擎的使用情況,對所述業(yè)務流程引擎和所述云資源進行配置。本發(fā)明還提出了一種基于云計算環(huán)境的業(yè)務流程管理系統(tǒng)。根據(jù)本發(fā)明的技術方案,能夠利用業(yè)務流程管理器和業(yè)務流程引擎對云端服務組件進行動態(tài)伸縮和智能化的管理,監(jiān)控云資源使用情況,最大程度地發(fā)揮云資源的效能,降低企業(yè)的TCO。
文檔編號G06Q10/00GK101968859SQ20101029979
公開日2011年2月9日 申請日期2010年9月29日 優(yōu)先權日2010年9月29日
發(fā)明者董乃文 申請人:用友軟件股份有限公司