趙秋云, 魏 樂, 舒紅平
(成都信息工程學(xué)院計(jì)算機(jī)學(xué)院,四川 成都 610225)
云制造環(huán)境下制造設(shè)備云服務(wù)異常處理模型
趙秋云, 魏樂, 舒紅平
(成都信息工程學(xué)院計(jì)算機(jī)學(xué)院,四川 成都 610225)
保障云制造環(huán)境下制造活動的順利開展,提高云服務(wù)的質(zhì)量,提出一種制造設(shè)備云服務(wù)異常處理模型。該模型在對制造設(shè)備云服務(wù)可能產(chǎn)生的異常進(jìn)行分類和抽象的基礎(chǔ)上,通過監(jiān)控邏輯監(jiān)控和捕獲產(chǎn)生的異常,通過處理邏輯對異常進(jìn)行處理;給出了 7種異常的處理流程,設(shè)計(jì)了仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果驗(yàn)證了模型的可用性和有效性。
云制造;制造設(shè)備云服務(wù);異常處理模型;服務(wù)質(zhì)量
云制造是一種利用網(wǎng)絡(luò)和云制造服務(wù)平臺,按用戶需求組織網(wǎng)上制造資源(制造云),為用戶提供各類按需制造服務(wù)的一種網(wǎng)絡(luò)化制造新模式[1]。云制造將各類制造資源和制造能力虛擬化、服務(wù)化,進(jìn)行集中的智能化管理和經(jīng)營[2],用戶可根據(jù)自身的需要,選擇合適的云服務(wù),并通過一定的規(guī)則和邏輯順序構(gòu)成組合云服務(wù),以支持制造活動的開展。然而,在動態(tài)開放的云制造環(huán)境中存在大量不可預(yù)知的異常事件(如服務(wù)的退出、故障、服務(wù)質(zhì)量(quality of service, QoS)無法滿足要求、任務(wù)需求變化等),這就需要將異常處理機(jī)制納入云服務(wù)管理的范疇,以確保發(fā)生異常時(shí)用戶的制造活動依然可以順利進(jìn)行。
作為一個新概念,對云制造的研究主要集中在概念、體系架構(gòu)、關(guān)鍵技術(shù)、服務(wù)描述、服務(wù)發(fā)現(xiàn)和服務(wù)組合等方面[3-7],在云服務(wù)的異常處理方面鮮有研究。文獻(xiàn)[8]提出了云服務(wù)組合柔性管理的概念,分析了影響云服務(wù)組合柔性的異常因素,給出了云服務(wù)組合柔性管理的具體研究內(nèi)容。文獻(xiàn)[9]提出一種組合服務(wù)動態(tài)調(diào)整方法,該方法通過建立的三類服務(wù)異常模型反映不同類別異常的內(nèi)在原因和外在表現(xiàn),以模型為基礎(chǔ)對異常進(jìn)行監(jiān)控,并給出了組合服務(wù)替換范圍確定算法和調(diào)整方案生成啟發(fā)式算法,以保證組合服務(wù)動態(tài)調(diào)整的效率。文獻(xiàn)[10]以普適服務(wù)為對象,分析了服務(wù)失效的概念及類型,并提出服務(wù)組合的調(diào)整及重構(gòu)策略。
上述研究存在針對性不強(qiáng)、對影響云服務(wù)質(zhì)量的因素分析不夠透徹、缺乏異常處理策略等不足。因此,在前期研究的基礎(chǔ)上,以云制造中的一類重要服務(wù)——制造設(shè)備云服務(wù)為研究對象,對影響制造設(shè)備云服務(wù)質(zhì)量的因素進(jìn)行了更為深入地分析,并進(jìn)行形式化描述,在此基礎(chǔ)上提出云服務(wù)異常處理模型,模型從技術(shù)角度解決了異常監(jiān)控、異常處理等問題。
云制造環(huán)境中存在著大量的云服務(wù),這些云服務(wù)對應(yīng)著各種各樣的資源[11](制造資源如制造設(shè)備、計(jì)算設(shè)備、物料、軟件、數(shù)據(jù)和知識等),不同類型云服務(wù)的屬性、使用方式具有一定差異,為便于描述問題,本文相關(guān)研究從制造執(zhí)行的角度展開,即主要涉及制造設(shè)備云服務(wù)。云制造環(huán)境下影響制造設(shè)備云服務(wù)執(zhí)行的因素有多種,可以利用異常來描述這些因素,文獻(xiàn)[8]將與制造設(shè)備云服務(wù)相關(guān)的異常分為3種:①與云服務(wù)狀態(tài)相關(guān)的異常,主要包括服務(wù)過載、服務(wù)退出和服務(wù)故障;②與任務(wù)相關(guān)的異常,主要包括任務(wù)需求改變、任務(wù)掛起和任務(wù)取消;③與服務(wù)QoS相關(guān)的異常,主要包括執(zhí)行時(shí)間改變、成本改變、可用性改變、可靠性改變和信譽(yù)度改變。異常發(fā)生后,云制造系統(tǒng)需要捕獲這些異常,對其進(jìn)行分析,并采取合適的動作,保障制造活動的順利進(jìn)行。為了更加清晰地描述問題,給出相關(guān)定義如下。
定義1.制造設(shè)備云服務(wù)。制造設(shè)備云服務(wù)S抽象為一個五元組S=(SID, BAttribute, Status, Function, QoS),其中:
(1) SID是制造設(shè)備云服務(wù)的唯一標(biāo)識。
(2) BAttribute是制造設(shè)備云服務(wù)的基本屬性,BAttribute=(Name, Type, Provider, Location, ContactInfo),分別表示設(shè)備名稱、類型、提供者、物理位置和聯(lián)系方式。
(3) Status是制造設(shè)備云服務(wù)的狀態(tài),Status=(SAttribute, TaskList),SAttribute表示狀態(tài)屬性,取值為空閑、忙、維修、失效和超負(fù)荷;TaskList為處理任務(wù)列表,每一列表項(xiàng)表示一項(xiàng)任務(wù)Taski=(TaskID, FRequire, ItemID, ItemName, ItemNum, Material, Craft, ξC, ξT, State, RemainNum, ProcessID, ProcessName, ProcessStart, ProcessEnd),分別表示任務(wù)標(biāo)識、功能需求、零件標(biāo)識、零件名稱、加工零件數(shù)量、物料、工藝、價(jià)格閾值、時(shí)間閾值、任務(wù)狀態(tài)、未加工的數(shù)量、工序標(biāo)識、工序名稱、工序計(jì)劃/實(shí)際開工日期和工序計(jì)劃/實(shí)際完工日期,任務(wù)狀態(tài)State有完成Done、等待Wait和進(jìn)行中WIP。
(4) Function表示制造設(shè)備云服務(wù)的能力,F(xiàn)unction=(In, Ability, Out)包括了輸入In、輸出Out和能力Ability;In=(TaskID, Process, InMaterl, InSize, InPrecision,…),包括任務(wù)、工藝路線、材料、尺寸特征、精度特征等;Ability=(Object, MaterlFeat, GeomFeat, SizeFeat, PrecisionFeat, Cost, Time, QStandard, MTTR,…),包括生產(chǎn)對象、對象材料特征、對象形狀特征、對象尺寸特征、加工精度特征、單件成本、單件加工時(shí)間、質(zhì)量標(biāo)準(zhǔn)、平均故障修復(fù)時(shí)間等;Out=(OutObject, OutMaterl, OutSize, OutPrecision,…),包括輸出對象、輸出對象材料特征、輸出對象尺寸特征、輸出對象精度特征等[12]。
(5) QoS=(R, A, T, C, B)表示制造設(shè)備云服務(wù)的質(zhì)量描述,包括可靠性R、可用性A、時(shí)間T、價(jià)格C和信譽(yù)B,可根據(jù)一定的算法計(jì)算得到。
定義2.異常(Exception)。其抽象為一個六元組Exception=(ID, Type, Reason, Source, Stamp, Priority),ID是異常的唯一標(biāo)識;Type表示異常類型,有云服務(wù)狀態(tài)異常、任務(wù)異常和QoS異常3種;Reason表示異常產(chǎn)生的具體原因,如任務(wù)交貨期提前、服務(wù)退出、服務(wù)故障等,用來為異常處理提供依據(jù);Source表示異常源,用來實(shí)現(xiàn)異常的定位并攜帶相關(guān)異常數(shù)據(jù),Source=(SourceID, SourceData);Stamp表示異常發(fā)生的時(shí)間;Priority表示異常的優(yōu)先級,當(dāng)有多個異常發(fā)生時(shí),云制造系統(tǒng)從異常隊(duì)列中選擇優(yōu)先級最高的異常進(jìn)行處理。
定義3.邏輯云服務(wù)集。將同一類別,功能相似,但質(zhì)量參數(shù)不同的云服務(wù)構(gòu)成的集合,稱為邏輯云服務(wù)集,記為LSSet={S1, S2,…, Sn};通過引入邏輯云服務(wù)集,將服務(wù)中心中的云服務(wù)在邏輯上按類別進(jìn)行組織,提高了云服務(wù)匹配和選擇的效率。
2.1處理模型
為了實(shí)現(xiàn)異常處理,需要首先捕獲云制造平臺產(chǎn)生的各類異常,并對其進(jìn)行分析,隨后根據(jù)分析結(jié)果按照一定的處理算法進(jìn)行處理,因此可以給出異常處理模型如圖1所示。監(jiān)控邏輯監(jiān)控用戶需求的變化和流程實(shí)例的運(yùn)行,捕獲云制造系統(tǒng)產(chǎn)生的各類異常,并將異常按照優(yōu)先級進(jìn)行排隊(duì)送異常隊(duì)列;異常隊(duì)列隊(duì)頭的異常送往分析邏輯,分析其產(chǎn)生的原因,定位異常源,并取出相關(guān)異常數(shù)據(jù),將分析結(jié)果送往異常處理邏輯;異常處理邏輯根據(jù)預(yù)設(shè)的異常處理策略進(jìn)行處理,在處理時(shí)需要訪問相關(guān)的信息,如云服務(wù)中心中的服務(wù)描述信息、現(xiàn)行流程信息、任務(wù)執(zhí)行情況、現(xiàn)行云服務(wù)信息等;將處理結(jié)果送往評估邏輯進(jìn)行評估,若評估未通過則重新進(jìn)行處理,評估通過則處理結(jié)果送流程實(shí)例,流程實(shí)例重新運(yùn)行。
圖1 異常處理模型
2.2異常處理流程
在進(jìn)行異常處理時(shí),主要基于以下幾點(diǎn)基礎(chǔ):
基礎(chǔ) 1.一個任務(wù)在某一制造設(shè)備云服務(wù)中處理時(shí),必須等待該任務(wù)全部處理完畢,才能調(diào)用下一個制造設(shè)備云服務(wù),即不采用流水線的方式進(jìn)行制造活動。
基礎(chǔ) 2.制造設(shè)備云服務(wù)“超負(fù)荷”是指該服務(wù)上無法滿足任務(wù)時(shí)間約束條件的任務(wù)數(shù)量大于指定的閾值ξL。
基礎(chǔ) 3.為任務(wù)分配新的云服務(wù)時(shí),盡量選擇和原服務(wù)物理位置距離不遠(yuǎn)的制造設(shè)備云服務(wù)。
基礎(chǔ) 4.對執(zhí)行中的任務(wù)盡量不遷移;若需遷移,則遷移條件是對服務(wù)提供者而言,遷移該任務(wù)的損失比遷移其他任務(wù)的損失要小。
基礎(chǔ) 5.時(shí)間和價(jià)格的計(jì)算僅考慮制造服務(wù)本身,不考慮物流和物料因素。
基礎(chǔ) 6.制造設(shè)備云服務(wù)按照順序的方式執(zhí)行任務(wù),即任意一個時(shí)刻只能有一個正在被處理的任務(wù),任務(wù)執(zhí)行時(shí)間不重疊。
為了更好地說明異常處理的過程,首先給出任務(wù)總體遷移和任務(wù)與制造設(shè)備云服務(wù)匹配的定義如下:
定義 4.任務(wù)總體遷移。設(shè)制造設(shè)備云服務(wù) Si上未處理完的任務(wù)構(gòu)成的集合為{Task1, Task2, …,Taskn},對集合中的每個任務(wù) Taskj,若存在制造設(shè)備云服務(wù) Sk與 Si屬于同一個邏輯云服務(wù)集,且滿足:
(1) Sk.Function.Ability.Cost≤Si.Function.Ability. Cost;
(2) Sk.Function.Ability.Time≤Si.Function.Ability. Time;
(3) Sk.Status.SAttribute≠“超負(fù)荷”;
(4) dis(Si, Sk)<ξ;
(5) WTime+Sk.Function.Ability.Time*Taskj. ItemNum≤Taskj.ξT。
則稱 Si上的任務(wù)可以總體遷移至 Sk。其中dis(Si,Sk)表示Si和Sk的物理距離,ξ為設(shè)置的距離閾值,主要是考慮到制造任務(wù)存在物理上的運(yùn)輸環(huán)節(jié),在ξ范圍內(nèi)的物流服務(wù)不會引起運(yùn)輸成本和運(yùn)輸時(shí)間的增加。WTime表示服務(wù)Sk可以開始Si上任務(wù)的時(shí)間,當(dāng) Sk.Status.SAttribute=“忙”時(shí),WTime=max(Sk.Status.TaskList.Taskm.ProcessEnd),即最大計(jì)劃完工日期;當(dāng) Sk.Status.SAttribute=“維修 ”時(shí) , WTime=Sk.Function.Ability.MTTR+max (Sk.Status.TaskList.Taskm.ProcessEnd);當(dāng) Sk.Status. SAttribute=“空閑”時(shí)WTime=0;當(dāng)Sk.Status. SAttribute=“失效或超負(fù)荷”時(shí),WTime=∞。
定義 5.任務(wù)與制造設(shè)備云服務(wù)匹配。設(shè)存在制造任務(wù)Taskj及制造設(shè)備云服務(wù)Sk,Sk滿足Taskj的功能需求,若存在
(1) Sk.Function.Ability.Cost*Taskj.ItemNum≤Taskj.ξC;
(2) WTime+Sk.Function.Ability.Time*Taskj.ItemNum≤Taskj.ξT;
(3) Sk.Status.SAttribute≠“超負(fù)荷”。
則稱Taskj與Sk匹配。
制造設(shè)備云服務(wù)產(chǎn)生的異常主要有服務(wù)退出、服務(wù)故障、服務(wù)過載、任務(wù)需求改變、任務(wù)掛起、任務(wù)取消和服務(wù)QoS異常7種,其中服務(wù)退出、服務(wù)故障、任務(wù)需求改變、任務(wù)掛起和服務(wù)QoS異常的處理較為復(fù)雜,為使問題描述更為清晰,分別給出服務(wù)退出、服務(wù)故障、任務(wù)需求改變、任務(wù)掛起和服務(wù)QoS異常的處理算法如下。
算法1.服務(wù)退出異常處理算法。
步驟1.處理邏輯獲取退出服務(wù)Si在業(yè)務(wù)流程中的執(zhí)行信息,懸掛Si.TaskList中所有State≠Done的任務(wù)所在的業(yè)務(wù)流程。
步驟2. 若Si.Status.TaskList.length=0,即此時(shí)在所有相關(guān)業(yè)務(wù)流程中,Si上任務(wù)均已處理完,沒有任務(wù)要處理,進(jìn)入步驟4;否則進(jìn)入步驟3。
步驟 3.若 Si.Status.TaskList.length≠0,對 Si. Status.TaskList中 State≠Done的任務(wù)構(gòu)成的集合{Task1, Task2,…,Taskn}中的任務(wù)Taskj(j=1,2,…,n),根據(jù) Taskj的任務(wù)需求重新選擇一個或若干個制造設(shè)備云服務(wù):
(1) 若Taskj.State=WIP,執(zhí)行Taskj.ItemNum= Taskj.RemainNum,Taskj.ProcessStart=now,now表示當(dāng)前時(shí)間。
(2) 盡量將Si上所有未完成的任務(wù)整體遷移到另外一個云服務(wù)上。置 WS=Φ,根據(jù)定義 4在 Si所屬LSSet中選擇可實(shí)現(xiàn)任務(wù)總體遷移的云服務(wù)Sk加入WS;對WS中的制造云服務(wù)按照QoS大小降序排列;若WS=Φ,進(jìn)入(3),否則將Si上所有未完成的任務(wù)遷移到WS中QoS最大的制造云服務(wù)上,轉(zhuǎn)步驟4。
(3) 根據(jù)定義5在Si所屬LSSet中選擇與Taskj匹配的云服務(wù)Sk加入WS;對WS中的制造云服務(wù)按照QoS大小降序排列,將任務(wù)Taskj分配給WS中 QoS最大的制造設(shè)備云服務(wù),Taskj從Si.Status.TaskList中刪除。
步驟4.設(shè)置Si.Status.SAttribute=“失效”,Si退出,算法結(jié)束。
算法2.服務(wù)故障異常處理算法。
步驟1.處理邏輯獲取故障服務(wù)Si在業(yè)務(wù)流程中的執(zhí)行信息,懸掛Si.TaskList中所有State≠Done的任務(wù)所在的業(yè)務(wù)流程。
步驟2.若Si.Status.TaskList.length=0,即此時(shí)在所有相關(guān)業(yè)務(wù)流程中,Si上任務(wù)均已處理完,沒有任務(wù)要處理,轉(zhuǎn)步驟5。
步驟 3.若 Si.Status.TaskList.length≠0,對 Si. Status.TaskList中 State≠Done的任務(wù)構(gòu)成的集合{Task1, Task2,…,Taskn}中的任務(wù)Taskj(j=1,2,…,n),若滿足 Si.Function.Ability.MTTR+Taskj.ProcessEnd≤Taskj.ξT,轉(zhuǎn)步驟5,否則進(jìn)入步驟4。
步驟4.置WS=Φ,根據(jù)定義5在Si所屬LSSet中選擇與Taskj匹配的云服務(wù)Sk加入WS;對WS中的制造云服務(wù)按照 QoS大小降序排列,將任務(wù)Taskj分配給WS中QoS最大的制造設(shè)備云服務(wù),同時(shí)將Taskj從Si.Status.TaskList中刪除。
步驟5.設(shè)置Si.Status.SAttribute=“維修”,算法結(jié)束。
算法3.任務(wù)需求改變異常處理算法。
步驟1.處理邏輯獲取執(zhí)行該任務(wù)Taskj的云服務(wù)Si及其所在業(yè)務(wù)流程中的相關(guān)信息,懸掛Si所在的業(yè)務(wù)流程。
步驟2.若Taskj.State=Done,則給出錯誤提示,算法結(jié)束,否則轉(zhuǎn)步驟3。
步驟3.根據(jù)Exception.Reason.SourceData中的需求改變信息,修改 Taskj中對應(yīng)內(nèi)容(包括執(zhí)行Taskj.ItemNum=Taskj.RemainNum)。
(1) 若 Si.Function.Ability.Cost*Taskj.ItemNum≤Taskj.ξC,進(jìn)入(2),否則置 WS=Φ,根據(jù)定義 5在Si所屬LSSet中選擇與Taskj匹配的云服務(wù)Sk加入WS;對WS中的制造云服務(wù)按照QoS大小降序排列,將任務(wù)Taskj分配給WS中QoS最大的制造設(shè)備云服務(wù),算法結(jié)束。
(2) 置 WTS=Φ,WS=Φ,當(dāng) Taskj.State=Wait時(shí)進(jìn)入(3),當(dāng) Taskj.State=WIP時(shí),①若 now+ Si.Function.Ability.Time*Taskj.ItemNum≤Taskj.ξT不成立,根據(jù)定義5在Si所屬LSSet中選擇與Taskj匹配的云服務(wù)Sk加入WS;對WS中的制造云服務(wù)按照QoS大小降序排列,將任務(wù)Taskj分配給WS中QoS最大的制造設(shè)備云服務(wù),算法結(jié)束。否則進(jìn)入②;②對Si上所有狀態(tài)為Wait的任務(wù)構(gòu)成集合TS中的每一個 Taskm,判斷 Taskm.ProcessEnd+ (Si.Function.Ability.Time*Taskj.ItemNum-Taskj.Proc essEnd)≤Taskm.ξT是否滿足,若不滿足,則將Taskm加入WTS。
若 WTS=Φ,則修改 TS中每一個 Taskm的ProcessEnd和 ProcessStart,即 Taskm.ProcessEnd =Taskm.ProcessEnd+(Si.Function.Ability.Time*Taskj. ItemNum-Taskj.ProcessEnd),Taskm. ProcessStart= Taskm.ProcessStart+(Si.Function.Ability.Time*Taskj. ItemNum-Taskj.ProcessEnd),算法結(jié)束。
ItemNum*si.Function. Ability.Cost≥Si.Function.Ability.Cost*Taskj.ItemNum,|WTS|表示集合WTS中元素的個數(shù),根據(jù)定義5將任務(wù) Taskj分配給合適的制造設(shè)備云服務(wù),算法結(jié)束。否則對WTS中的每個任務(wù)Taskn,根據(jù)定義5將Taskn分配給合適的制造設(shè)備云服務(wù);修改Si的相關(guān)信息,算法結(jié)束。
(3) 若Taskj.ProcessEnd+Si.Function.Ability. Time*Taskj.ItemNum≤Taskj.ξT不成立,根據(jù)定義5將任務(wù) Taskj分配給合適的制造設(shè)備云服務(wù),算法結(jié)束;否則算法直接結(jié)束。
算法4.任務(wù)掛起異常處理算法。
步驟1.處理邏輯獲取執(zhí)行該任務(wù)Taskj的云服務(wù)Si的相關(guān)信息,懸掛服務(wù)Si所在的業(yè)務(wù)流程,對Taskj置掛起標(biāo)識。
若Taskj.State=WIP,執(zhí)行Taskj.ItemNum=Taskj. RemainNum,對所有狀態(tài)為Wait的任務(wù)Taskm,執(zhí)行Taskm.ProcessEnd=Taskm.ProcessEnd-(Taskj. ProcessEnd-now), Taskm.ProcessStart=Taskm. ProcessStart-(Taskj.ProcessEnd-now);置Taskj.State =Wait。
若Taskj.State=Wait,對所有Taskm.ProcessEnd>Taskj.ProcessEnd 的任務(wù)Taskm,執(zhí)行Taskm. ProcessEnd=Taskm.ProcessEnd-(Taskj.ProcessEnd-T askj.ProcessStart),Taskm.ProcessStart=Taskm.ProcessStart -(Taskj.ProcessEnd-Taskj.ProcessStart),轉(zhuǎn)步驟2。
步驟2.當(dāng)掛起因素消除后,根據(jù)定義5,判斷Si能否滿足 Taskj的需求,若可以算法結(jié)束;若不能滿足,則選擇其他的服務(wù),算法結(jié)束。
算法5.服務(wù)QoS異常處理算法。
步驟1.處理邏輯獲取QoS異常云服務(wù)Si的相關(guān)信息,懸掛Si.TaskList中所有State≠Done的任務(wù)所在的業(yè)務(wù)流程。
步驟2.對Si.Status.TaskList中State≠Done的任務(wù)構(gòu)成集合{Task1,Task2,…,Taskn}中的任務(wù)Taskj(j=1,2,…,n),若 Taskj.State=WIP,執(zhí)行 Taskj. ItemNum=Taskj.RemainNum,Taskj.ProcessStart=now。
步驟3.置WTS=Φ,若不滿足Si.Function.Ability. Cost*Taskj.ItemNum≤Taskj.ξC和WTime+Si.Function. Ability.Time*Taskj.ItemNum≤Taskj.ξT,WTime含義同前,則將Taskj加入WTS。
步驟4.若WTS=Φ,算法結(jié)束;否則對WTS中的所有任務(wù)Taskm,根據(jù)定義5為Taskm選擇合適的服務(wù),算法結(jié)束。
結(jié)合以上算法,制造設(shè)備云服務(wù)異常處理總體流程如圖2所示。
步驟1.監(jiān)控邏輯捕獲云制造系統(tǒng)產(chǎn)生的異常,并按照優(yōu)先級送入異常隊(duì)列進(jìn)行排隊(duì),取出隊(duì)列頭部優(yōu)先級最高的異常 Exception送分析邏輯,分析邏輯對異常進(jìn)行分析,根據(jù)分析結(jié)果進(jìn)行不同的處理。
步驟2.
(1) 若 Exception.Reason=“服務(wù)退出”,根據(jù)算法1進(jìn)行處理。
(2) 若 Exception.Reason=“服務(wù)故障”,根據(jù)算法2進(jìn)行處理。
(3) 若 Exception.Reason=“服務(wù)過載”,處理邏輯獲取過載云服務(wù) Si及其所在業(yè)務(wù)流程中的相關(guān)信息,懸掛服務(wù)Si所在的業(yè)務(wù)流程,對Si.Status.TaskList中State≠Done且ProcessEnd≤ξT的任務(wù)構(gòu)成集合{Task1,Task2,…,Taskn}中的任務(wù)Taskj(j=1,2,…,n), 若Taskj.State=WIP, 執(zhí) 行Taskj.ItemNum=Taskj.RemainNum;對所有的 Taskj根據(jù)定義5為其選擇合適的服務(wù),并進(jìn)行遷移。
(4) 若 Exception.Reason=“任務(wù)需求改變”,根據(jù)算法3進(jìn)行處理。
(5) 若 Exception.Reason=“任務(wù)掛起”,根據(jù)算法4進(jìn)行處理。
(6) 若 Exception.Reason=“任務(wù)取消”,處理邏輯獲取執(zhí)行該任務(wù)Taskj的云服務(wù)Si及相關(guān)信息,懸掛服務(wù)Si所在的業(yè)務(wù)流程,對云服務(wù)Si上所有狀態(tài)為 wait,且 Taskm.ProcessEnd>Taskj.ProcessEnd的任務(wù)Taskm,執(zhí)行Taskm.ProcessEnd=Taskm. ProcessEnd-(Taskj.ProcessEnd-Taskj.ProcessStart),Taskm.ProcessStart=Taskm.ProcessStart-(Taskj.Proces sEnd-Taskj.ProcessStart),將Taskj從Si的TaskList中刪除。
(7) Exception.Reason=“服務(wù)QoS異?!保鶕?jù)算法5進(jìn)行處理。
步驟 3.更新相關(guān)云服務(wù)的狀態(tài)信息、能力信息和QoS信息,修改與相關(guān)設(shè)備云服務(wù)相關(guān)的業(yè)務(wù)流程,對處理結(jié)果進(jìn)行評估,若評估通過進(jìn)入步驟4,評估未通過則主要為選擇的服務(wù)不當(dāng),重新進(jìn)行選擇即可。
步驟4. 所有懸掛的業(yè)務(wù)流程繼續(xù)執(zhí)行。
2.3仿真實(shí)驗(yàn)
為了評價(jià)異常處理模型對制造活動的影響,需設(shè)計(jì)仿真實(shí)驗(yàn)。實(shí)驗(yàn)?zāi)M了服務(wù)退出、服務(wù)故障、服務(wù)過載、任務(wù)需求變更和服務(wù)QoS改變5種異常發(fā)生時(shí)的處理結(jié)果和對任務(wù)執(zhí)行的影響。仿真程序假設(shè)某一制造云服務(wù) S的部分?jǐn)?shù)據(jù)為(Cost=1.50元,Time=0.02 h/件,MTTR=3 h),程序隨機(jī)生成了7個任務(wù),依次用Task1~Task7表示,各任務(wù)部分相關(guān)數(shù)據(jù)如表1所示。程序模擬了4個候選服務(wù),因?yàn)閷顟B(tài)為失效和超負(fù)荷的云服務(wù),任何選擇方法均將其排除在外,故4個候選服務(wù)的狀態(tài)取空閑、忙和維修,所有云服務(wù)的部分相關(guān)數(shù)據(jù)如表2所示。同時(shí)為了計(jì)算方便,時(shí)間以當(dāng)前為基準(zhǔn),并以小時(shí)為單位。
當(dāng)異常發(fā)生時(shí),采用本文提出的異常處理方法對任務(wù)執(zhí)行情況的影響分析如表3所示。其中當(dāng)任務(wù)需求變更異常中,假設(shè)任務(wù)Task1追加了2000件零件,且將時(shí)間閾值調(diào)整為30;服務(wù)QoS改變異常中,假設(shè)S的價(jià)格變?yōu)?.55元。
圖2 制造設(shè)備云服務(wù)異常處理總體流程
表1 任務(wù)部分相關(guān)數(shù)據(jù)
表2 S及候選云服務(wù)部分相關(guān)數(shù)據(jù)
仿真實(shí)驗(yàn)表明,本文提出的異常處理方法可以有效地保證用戶制造活動的開展,提高云制造系統(tǒng)的服務(wù)質(zhì)量。
表3 仿真結(jié)果及分析
本文從保障制造活動順利開展的角度出發(fā),探討了云制造環(huán)境下制造設(shè)備云服務(wù)異常處理的方法。給出了制造設(shè)備云服務(wù)和異常的形式化定義,分析了云制造系統(tǒng)產(chǎn)生的7種異常,建立了異常處理模型,在6點(diǎn)基礎(chǔ)上,研究了7種異常具體的處理方法;仿真實(shí)驗(yàn)表明,異常處理模型能夠有效地解決云制造系統(tǒng)出現(xiàn)的異常,從而可以為應(yīng)用提供更好的服務(wù)質(zhì)量。下一步任務(wù)是將學(xué)習(xí)機(jī)制引入異常處理,以進(jìn)一步加強(qiáng)異常處理的適應(yīng)性,并綜合考慮物料、物流等因素對異常處理帶來的影響。
[1]李伯虎, 張霖, 王時(shí)龍, 陶飛, 曹軍威, 姜曉丹,宋曉, 柴旭東. 云制造—— 面向服務(wù)的網(wǎng)絡(luò)化制造新模式[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2010, 16(1): 1-7.
[2]張霖, 羅永亮, 陶飛, 任磊, 郭華. 制造云構(gòu)建關(guān)鍵技術(shù)研究[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2010, 16(11): 2510-2520.
[3]李伯虎, 張霖, 任磊, 柴旭東, 陶飛, 羅永亮,王勇智, 尹超, 黃剛, 趙欣培. 再論云制造[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2011, 17(3): 449-457.
[4]李伯虎, 張霖, 任磊, 柴旭東, 陶飛, 王勇智,尹超, 黃培, 趙欣培, 周祖德. 云制造典型特征、關(guān)鍵技術(shù)與應(yīng)用[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2012, 18(7): 1345-1356.
[5]李春泉, 尚玉玲, 胡春楊. 云制造的體系結(jié)構(gòu)及其關(guān)鍵技術(shù)研究[J]. 組合機(jī)床與自動化加工技術(shù), 2011, (7): 104-107, 112.
[6]高一聰, 馮毅雄, 譚建榮, 鄭浩, 魏喆. 面向多學(xué)科設(shè)計(jì)的多域遞歸制造服務(wù)資源組建方法[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2012,18(7): 1406-1414.
[7]尹超, 張?jiān)? 鐘婷. 面向新產(chǎn)品開發(fā)的云制造服務(wù)資源組合優(yōu)選模型[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2012, 18(7): 1368-1378.
[8]陶飛, 張霖, 郭華, 羅永亮, 任磊. 云制造特征及云服務(wù)組合關(guān)鍵問題研究[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2011, 17(3): 477-486.
[9]楊雷, 代鈺, 劉福凱, 張斌. 面向自適應(yīng)的組合服務(wù)動態(tài)調(diào)整方法[J]. 東南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2011, 41(3): 453-457.
[10] 呂慶聰. 普適計(jì)算語義服務(wù)發(fā)現(xiàn)與服務(wù)組合研究[D].上海: 東華大學(xué), 2009.
[11] 胡安瑞, 張霖, 陶飛, 羅永亮. 基于知識的云制造資源服務(wù)管理[J]. 同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2012, 40(7): 1094-1101.
[12] 曹嘯博, 許承東, 胡春生. 云制造環(huán)境中的虛擬制造單元[J]. 計(jì)算機(jī)集成制造系統(tǒng), 2012, 18(7): 1415-1425.
Exception Handling Model of Manufacturing Equipment Cloud Service for Cloud Manufacturing Environment
Zhao Qiuyun,Wei Le,Shu Hongping
(School of Computer, Chengdu University of Information Technology, Chengdu Sichuan 610225, China)
In order to improve quality of cloud services and make the manufacturing progresses go on smoothly for cloud manufacturing environment, an exception handling model was proposed about manufacturing equipment cloud services. Using this model, possible exceptions from manufacturing equipment cloud services are classified and abstracted; exceptions are also monitored and captured by a monitoring logic and handled by a handling logic. Handling procedures are designed for seven kinds of exceptions. The usability and effectiveness of the model were demonstrated by a real example.
cloud manufacturing; manufacturing equipment cloud service; exception handling model; quality of service
TP 391
A
2095-302X(2014)06-0840-07
2014-07-01;定稿日期:2014-07-12
四川省應(yīng)用基礎(chǔ)研究計(jì)劃資助項(xiàng)目(2012JY0112);四川省軟科學(xué)研究計(jì)劃資助項(xiàng)目(2012ZR0116);四川省教育廳青年基金資項(xiàng)目(12ZB199、13ZB0081);成都市高校院所應(yīng)用基礎(chǔ)與成果轉(zhuǎn)化資助項(xiàng)目(12DXYB100JH-002)
趙秋云(1979-),女,河南漯河人,講師,碩士。主要研究方向?yàn)樵朴?jì)算和企業(yè)信息化。E-mail:zqyuen@cuit.edu.cn