1.一種基于客戶端-云端模式的支持大規(guī)模實(shí)例密集型應(yīng)用的云工作流管理系統(tǒng),其特征是在云計(jì)算環(huán)境下實(shí)現(xiàn)一個(gè)云工作流管理系統(tǒng)支持大規(guī)模實(shí)例密集型應(yīng)用,其構(gòu)成組件包括云工作流管理系統(tǒng)的基本組件和伴隨組件;基本組件包括基本工具和基本服務(wù),基本組件包括:
(1)、流程定義工具,其特征在于根據(jù)用戶的業(yè)務(wù)需求目標(biāo)定義工作流流程模型,包括定義流程結(jié)構(gòu)(順序、選擇、并行、循環(huán)結(jié)構(gòu))、流程內(nèi)部全局變量、訪問外部API或服務(wù)的輸入輸出參數(shù)和等待時(shí)限、執(zhí)行異常處理規(guī)則、在工作流執(zhí)行服務(wù)中的啟動(dòng)時(shí)間、啟動(dòng)數(shù)量和結(jié)束時(shí)間等;
(2)、監(jiān)控工具,其特征在于能實(shí)時(shí)查找、監(jiān)控、跟蹤在云工作流中所有工作流執(zhí)行服務(wù)中正在運(yùn)行的工作流實(shí)例;
(3)、待辦事項(xiàng)列表,其特征在于是云工作流執(zhí)行者參與執(zhí)行工作流的交互工具;
基本服務(wù)包括:
工作流執(zhí)行服務(wù),其特征在于,包含一個(gè)或多個(gè)工作流執(zhí)行引擎,調(diào)度和控制每個(gè)引擎啟動(dòng)、初始化、執(zhí)行、暫停、異常終止、結(jié)束一個(gè)工作流流程實(shí)例,引擎控制工作流實(shí)例一步一步地由起始任務(wù)執(zhí)行到終止任務(wù);云工作流中包含一個(gè)或多個(gè)工作流執(zhí)行服務(wù),這些服務(wù)均由工作流執(zhí)行服務(wù)克隆服務(wù)根據(jù)自動(dòng)伸縮服務(wù)的需求創(chuàng)建;自動(dòng)伸縮服務(wù)還可以根據(jù)系統(tǒng)需求關(guān)閉(釋放)工作流執(zhí)行服務(wù);
云工作流伴隨組件包括伴隨工具和服務(wù),伴隨工具包括:
(1)、伴隨服務(wù)定義工具,其特征在于,為云端伴隨服務(wù)提供定義工具,設(shè)計(jì)伴隨服務(wù)的系統(tǒng)資源配置、定義伴隨服務(wù)中執(zhí)行的規(guī)則和策略、定義伴隨服務(wù)中的數(shù)據(jù)模板和系統(tǒng)模板;
(2)、伴隨服務(wù)監(jiān)控工具,其特征在于監(jiān)視云端伴隨服務(wù)的工作狀態(tài),為手工干預(yù)或控制伴隨服務(wù)執(zhí)行提供工具;
伴隨服務(wù)包括:
(1)、負(fù)載均衡服務(wù),其特征在于它是云工作流中云端服務(wù)的入口,所有來自客戶端工具(基本工具和伴隨工具)的操作請(qǐng)求以及返回給客戶端的相應(yīng)均經(jīng)過此服務(wù);
(2)、預(yù)警服務(wù),其特征在于,負(fù)責(zé)綜合評(píng)估工作流執(zhí)行服務(wù)中的系統(tǒng)資源使用,并在系統(tǒng)空閑或超載狀態(tài)時(shí)發(fā)出預(yù)警;
(3)、自動(dòng)伸縮服務(wù),其特征在于通過工作流執(zhí)行服務(wù)組件克隆服務(wù)創(chuàng)建出更多新的云工作流執(zhí)行服務(wù)來處理操作請(qǐng)求;它可關(guān)閉(釋放)一個(gè)或多個(gè)空閑的工作流執(zhí)行服務(wù),以節(jié)約系統(tǒng)資源;
(4)、工作流執(zhí)行服務(wù)組件克隆服務(wù),其特征在于負(fù)責(zé)接收自動(dòng)伸縮服務(wù)發(fā)來的創(chuàng)建工作流執(zhí)行服務(wù)組件的請(qǐng)求,根據(jù)請(qǐng)求來創(chuàng)建出云工作流執(zhí)行服務(wù)組件加入到系統(tǒng)中;
(5)、計(jì)費(fèi)服務(wù),其特征在于根據(jù)云工作流的計(jì)費(fèi)規(guī)則或方案對(duì)系統(tǒng)中的工作流實(shí)例進(jìn)行統(tǒng)計(jì)和計(jì)費(fèi)。
2.根據(jù)權(quán)利要求1所述的云工作流的基本組件和伴隨組件,其協(xié)同工作原理,特征在于:
過程定義工具根據(jù)業(yè)務(wù)需求建模工作流流程,傳輸模型到工作流執(zhí)行服務(wù)中準(zhǔn)備執(zhí)行;監(jiān)控工具實(shí)時(shí)監(jiān)控云工作流各組件的運(yùn)行,能夠?qū)ο到y(tǒng)任何異常發(fā)出預(yù)警;
客戶端向云端服務(wù)發(fā)出操作請(qǐng)求,負(fù)載均衡服務(wù)首先接到請(qǐng)求,根據(jù)請(qǐng)求內(nèi)容將請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)去處理;如果是非工作流實(shí)例操作請(qǐng)求,發(fā)送到相應(yīng)的服務(wù)處理;如果是工作流實(shí)例操作請(qǐng)求,該服務(wù)需要先從預(yù)警服務(wù)中查詢獲知每個(gè)工作流執(zhí)行服務(wù)組件的工作狀態(tài)或負(fù)載程度,然后將請(qǐng)求轉(zhuǎn)發(fā)到最低負(fù)載的工作流執(zhí)行服務(wù)中處理;
工作流執(zhí)行服務(wù)負(fù)責(zé)執(zhí)行工作流執(zhí)行并處理來處理工作流實(shí)例操作請(qǐng)求,請(qǐng)求處理完畢,處理結(jié)果發(fā)送給負(fù)載均衡服務(wù),由該服務(wù)響應(yīng)給客戶端;
預(yù)警服務(wù)采集系統(tǒng)中工作流執(zhí)行服務(wù)信息,監(jiān)視工作流執(zhí)行服務(wù)狀態(tài)并計(jì)算全系統(tǒng)狀態(tài),實(shí)時(shí)預(yù)測(cè)云工作流系統(tǒng)狀態(tài)的未來轉(zhuǎn)換趨勢(shì);如果監(jiān)測(cè)到系統(tǒng)未來將出現(xiàn)空閑,預(yù)警服務(wù)將發(fā)送空閑預(yù)警消息通知自動(dòng)伸縮服務(wù),自動(dòng)伸縮服務(wù)根據(jù)空閑預(yù)警消息關(guān)閉并釋放空閑的工 作流執(zhí)行服務(wù);如果監(jiān)測(cè)到系統(tǒng)未來將出現(xiàn)超負(fù)荷,該服務(wù)將發(fā)送超載預(yù)警消息給自動(dòng)伸縮服務(wù),自動(dòng)伸縮服務(wù)根據(jù)超載預(yù)警消息計(jì)算擴(kuò)展需求,并發(fā)送擴(kuò)展消息給工作流執(zhí)行服務(wù)組件克隆服務(wù)創(chuàng)建新的工作流執(zhí)行服務(wù)加入系統(tǒng);
計(jì)費(fèi)服務(wù)統(tǒng)計(jì)系統(tǒng)中所有工作流執(zhí)行服務(wù)中的工作流實(shí)例數(shù)量,計(jì)算每個(gè)實(shí)例所耗費(fèi)的系統(tǒng)資源以及發(fā)生的費(fèi)用。