欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種工作流異常處理方法和系統(tǒng)的制作方法

文檔序號:6353810閱讀:156來源:國知局
專利名稱:一種工作流異常處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及工作流技術(shù)領(lǐng)域,更具體的說是涉及一種工作流異常處理方法和系 統(tǒng)。
背景技術(shù)
工作流就是指業(yè)務過程的部分或整體在計算機應用環(huán)境下的自動化,表現(xiàn)為多個 參與者之間按照某種預定義的規(guī)則傳遞文檔、信息或任務的過程自動進行,從而實現(xiàn)某個 預期的業(yè)務目標,或者促使此目標的實現(xiàn)。簡而言之,工作流就是一系列相互銜接,自動進 行的業(yè)務活動或任務。由于大規(guī)模、分布式信息系統(tǒng)的復雜性增強,業(yè)務過程的動態(tài)變化等因素導致工 作流在執(zhí)行時經(jīng)常會出現(xiàn)各種錯誤和異常,嚴重影響了工作流的業(yè)務系統(tǒng)運行質(zhì)量。為 了保證工作流的業(yè)務系統(tǒng)運行效果,不僅要求系統(tǒng)在正常情況下能夠順利運行工作流的流 程,而且要求在出現(xiàn)異常的情況下,系統(tǒng)能采取異常處理措施處理異常情況,恢復數(shù)據(jù)并保 持數(shù)據(jù)的一致性?,F(xiàn)有的工作流系統(tǒng)異常處理方式對所有的異常情況均采取相同的措施,不能針對 異常的具體原因采取相應的措施,因此不能達到較好的異常處理效果。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種工作流異常處理方法和系統(tǒng),能提高工作流異常處理 的效果。為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案一種工作流異常處理方法,包括對工作流流程應用接口接收的信息進行異常檢測;當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定的異常體系,確定異常 類型;查詢預先設(shè)置的異常類型與異常處理規(guī)則的對應關(guān)系,確定所述異常類型的異常 處理規(guī)則,并執(zhí)行。優(yōu)選的,所述異常信息包括異常產(chǎn)生的環(huán)境、流程分支、所述流程分支的執(zhí)行狀 態(tài)、時間和原因的信息。優(yōu)選的,當確定異常類型為非業(yè)務異常時,執(zhí)行所述異常處理規(guī)則具體為對導致 非業(yè)務異常的操作進行系統(tǒng)回滾。優(yōu)選的,所述當確定異常的類型為業(yè)務異常時,執(zhí)行所述異常處理規(guī)則具體為依據(jù)異常信息對業(yè)務異常對應的流程分支進行業(yè)務數(shù)據(jù)重組。優(yōu)選的,在進行業(yè)務數(shù)據(jù)重組之前,還包括當異常的類型為業(yè)務異常時,將業(yè)務異常對應的流程分支的異常信息進行持久 化。優(yōu)選的,所述流程分支為一條或多條流程分支;
所述當異常的類型為業(yè)務異常時,將業(yè)務異常對應的流程分支的異常信息進行持 久化,包括當異常的類型為業(yè)務異常時,停止該業(yè)務異常對應的流程分支的執(zhí)行,將所述流 程分支異常信息存入異常收集器中,對異常信息進行持久化,并繼續(xù)運行沒有出現(xiàn)異常的 流程分支;所述查詢預先設(shè)置的業(yè)務異常與異常 處理規(guī)則的對應關(guān)系,并依據(jù)異常信息對業(yè) 務異常對應的流程分支進行數(shù)據(jù)重組,包括檢測異常收集器中的業(yè)務異常,將業(yè)務異常對應的流程分支標注為異常狀態(tài),并 根據(jù)所述異常信息,對處于異常狀態(tài)的流程分支對應的業(yè)務數(shù)據(jù)進行重組。優(yōu)選的,在進行業(yè)務數(shù)據(jù)重組之后,還包括運行所述對業(yè)務數(shù)據(jù)進行重組的流程分支,檢測該流程分支是否還存在所述業(yè)務 異常,如果是,則重新對所述流程分支對應的業(yè)務數(shù)據(jù)進行重組;如果否,則將該流程分支 標注為正常狀態(tài)。本發(fā)明還提供了一種工作流異常處理系統(tǒng),包括異常檢測單元,用于對工作流流程應用接口接收的信息進行異常檢測;類型確定單元,用于當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定的 異常體系,確定異常類型;異常處理單元,用于查詢預先設(shè)置的異常類型與異常處理規(guī)則的對應關(guān)系,確定 該異常類型的異常處理規(guī)則,并執(zhí)行。優(yōu)選的,所述異常處理單元包括第一處理單元,用于當類型確定單元確定異常的類型為非業(yè)務異常時,查詢預先 設(shè)置的非業(yè)務異常與異常處理規(guī)則的對應關(guān)系,對導致業(yè)務異常操作進行系統(tǒng)回滾,并執(zhí) 行回滾操作。優(yōu)選的,所述異常處理單元包括第二處理單元,用于當類型確定單元確定異常的類型為業(yè)務異常時查詢預先設(shè)置 的業(yè)務異常與異常處理規(guī)則的對應關(guān)系,并依據(jù)異常信息對業(yè)務異常對應的流程分支進行 業(yè)務數(shù)據(jù)重組。優(yōu)選的,該系統(tǒng)還包括異常記錄單元,用于當異常的類型為業(yè)務異常時,將業(yè)務 異常對應的流程分支的異常信息進行持久化記錄。優(yōu)選的,所述流程分支為一條或多條流程分支;所述異常記錄單元包括異常保存單元,用于當異常的類型為業(yè)務異常時,停止該業(yè)務異常對應的流程分 支的執(zhí)行,將業(yè)務異常對應的流程分支的異常信息存入異常收集器中;異常記錄子單元,用于對異常收集器中的異常信息進行持久化記錄;所述第二處理單元包括收集器檢測單元,用于檢測異常收集器中的業(yè)務異常,將業(yè)務異常對應的流程分 支標注為異常狀態(tài);數(shù)據(jù)重組單元,用于根據(jù)異常處理子單元中記錄的所述異常信息,對處于異常狀 態(tài)的流程分支對應的業(yè)務數(shù)據(jù)進行重組。
優(yōu)選的,該系統(tǒng)還包括
運行測試單元,用于運行所述對業(yè)務數(shù)據(jù)進行重組的流程分支,檢測該流程分支 是否還存在所述業(yè)務異常,如果是,則重新對所述流程分支對應的業(yè)務數(shù)據(jù)進行重組;如果 否,則將該流程分支標注為正常狀態(tài)。
經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明公開提供了一種工作流異常 處理方法和系統(tǒng),該方法在流程應用接口處檢測系統(tǒng)中所出現(xiàn)的異常信息,并依據(jù)預先制 定的異常分類體系以及該異常信息,確定異常的類型,根據(jù)預先制定的異常處理規(guī)則,查詢 該類型的異常的處理方法,執(zhí)行該處理方法,解決系統(tǒng)異常。該方法針對不同異常類型采取 不同的處理方法,能提高異常處理的效果。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例一種工作流異常處理方法的步驟流程圖2為工作流的流程調(diào)用過程的示意圖3為本發(fā)明預先設(shè)定的異常體系的結(jié)構(gòu)示意圖4為本發(fā)明另一實施例的一種工作流異常處理方法的步驟流程圖5為本發(fā)明實施例一種工作流異常處理系統(tǒng)的結(jié)構(gòu)示意圖6為本發(fā)明另一實施例一種工作流異常處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
本申請可用于眾多通用或?qū)S玫挠嬎阊b置環(huán)境或配置中。例如個人計算機、Web 服務器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器裝置、包括以上任何裝置或 設(shè)備的分布式計算環(huán)境等等。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序 模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組 件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由 通過通信網(wǎng)絡(luò)而被連接的遠程處理設(shè)備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以 位于包括存儲設(shè)備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
參見圖1,為本發(fā)明實施例的一種工作流異常處理方法的步驟流程圖,該方法包 括
步驟SlOl 對工作流流程應用接口接收的信息進行異常檢測;
其中,工作流的異常,是指任何對已有的協(xié)同處理過程的偏移,或沒有人工干預計6算機就不能正確處理業(yè)務的情況。 流程應用接口是應用工作流客戶端與工作流引擎以及被工作流引擎調(diào)用的 應用委托代碼的唯一交互面,因此本發(fā)明采用面向方面編程(AOP,Aspect-Oriented Programming)技術(shù)將流程應用接口作為異常處理的“橫切關(guān)注點”。為了更清楚的描述采用流程應用接口作為異常檢測的“橫切關(guān)注點”的好處,參見 圖2,為工作流流程調(diào)用的示意圖,工作流流程調(diào)用的具體步驟包括步驟A 工作流流程應用接口接收工作流客戶端的請求;步驟B 工作流流程應用接口根據(jù)該請求調(diào)用工作流引擎,以便工作流引擎執(zhí)行 與該請求相應的應用委托代碼;步驟C 工作流流程應用接口將工作流引擎返回的執(zhí)行結(jié)果返回客戶端。由以上的步驟流程可以看出在工作流進行業(yè)務流程處理過程中,流程應用接口會 接收請求,并將請求發(fā)送給工作流引擎,最后工作流引擎根據(jù)該請求執(zhí)行對應的應用委托 代碼后得到的執(zhí)行結(jié)果仍會通過流程應用接口返回給客戶端。這樣無論是工作流引擎出現(xiàn) 的異常情況還是應用委托代碼執(zhí)行過程中出現(xiàn)的異常能在流程應用接口處檢測到。因此, 通過對工作流流程應用接口接收的信息進行異常檢測,就可以獲取工作流流程主線,以及 各個流程分支出現(xiàn)的異常情況,并獲取其異常信息。步驟S102 當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定的異常體 系,確定異常類型;當出現(xiàn)異常時,可以檢測到異常的異常信息,其中異常信息可以包括異常產(chǎn)生的 環(huán)境,異常發(fā)生在哪個具體的流程分支、所述流程分支的執(zhí)行狀態(tài)、異常產(chǎn)生的時間和異常 產(chǎn)生的原因信息。還可以包括異常的相關(guān)主體和客體信息,比如,導致流程異常的操作人信 息、被提交的任務信息等信息,還可以包括導致異常操作的原因等相關(guān)信息。本發(fā)明參考異常的出現(xiàn)的原因、來源、場景、影響等信息,并依據(jù)流程異常的業(yè)務 性質(zhì)制定了流程異常的異常體系,參見圖3,為本發(fā)明中設(shè)計的異常體系中包含的異常情 況,如,流程應用異常、流程回調(diào)異常、XML序列化異常、工作流持久化異常、節(jié)點業(yè)務異常、 空分配業(yè)務異常、未找到處置Bean異常(Bean是Enterprise Java Bean的縮寫,即描述 Jave的軟件組件模型)和為找到節(jié)點異常等異常情況。本發(fā)明依據(jù)異常的業(yè)務性質(zhì)將異常體系中的業(yè)務異常最終劃分為兩大類型,即業(yè) 務異常和非業(yè)務異常。其中,業(yè)務異常,是指在工作流進行正常的業(yè)務處理時,由于工作流流程中某些業(yè) 務的特殊要求導致業(yè)務處理過程不能正常進行所出現(xiàn)的異常。也可以說由于工作流系統(tǒng)的 業(yè)務數(shù)據(jù)配置不合理,不能滿足正常的業(yè)務流程運行。如,工作流的流程運行到某個環(huán)節(jié)的 時,根據(jù)業(yè)務需求,需要“審批崗位”的人員來進行審批,但是在這種情況下恰好這個“審批 崗位”的所有人員被調(diào)離或者是不在崗不能完成該環(huán)節(jié)的審批操作,即系統(tǒng)在該環(huán)節(jié)配置 的人員不能滿足正常的業(yè)務流程所需,因此導致工作流的流程無法繼續(xù)運轉(zhuǎn)下去,此時即 需要通過調(diào)整“審批崗位”的人員數(shù)據(jù),增加審批崗位的人員,再將流程繼續(xù)運行。其中,非業(yè)務異常,是指出業(yè)務異常以外的其他異常狀況。如,技術(shù)層面的異常情 況,例如,非法運算的“除零異?!?、“數(shù)據(jù)越界”和“空指針”等異常情況。在圖3的業(yè)務異常體系中工作流業(yè)務異常、節(jié)點業(yè)務異常和空分配業(yè)務異常均屬于業(yè)務異常(圖中灰色部分的異常為業(yè)務異常),其余的異常均屬于非業(yè)務異常。
根據(jù)檢測到的異常信息,獲取到異常產(chǎn)生的環(huán)境、時間等相關(guān)信息,分析該異常, 查詢該異常對應與異常體系中的哪個或哪些異常情況,并根據(jù)該異常對應的異常體系中的 異常情況歸屬的類型,判斷該異常屬于業(yè)務異常還是非業(yè)務異常。
在具體的判斷過程中,由于不能直接獲取該異常歸屬于異常體系中的異常情況, 因此可能需要根據(jù)異常信息進行一些轉(zhuǎn)換,找到該異常對應于異常體系中的哪些異常情 況。還可能在異常信息中獲取出異常產(chǎn)生的環(huán)境、時間、原因等異常數(shù)據(jù)信息,并將該數(shù)據(jù) 信息進行封裝,以便進行異常處理可以依據(jù)該異常數(shù)據(jù)信息,處理異常情況。
步驟S103 查詢預先設(shè)置的異常類型與異常處理規(guī)則的對應關(guān)系,確定該異常類 型的異常處理規(guī)則,并執(zhí)行。
需要說明的是,本發(fā)明針對不同的異常類型預先設(shè)置了不同的異常處理規(guī)則,即, 對于某種異常類型有與其對應的異常處理規(guī)則。
當確定了異常類型后,查詢該異常類型與異常處理規(guī)則的對應關(guān)系,可以知道該 異常類型的異常處理規(guī)則,系統(tǒng)將執(zhí)行該異常處理規(guī)則執(zhí)行該異常類型對應的異常。
具體進行異常處理時,當確定異常類型為非業(yè)務異常時,所述查詢預先設(shè)置的異 常類型與異常處理規(guī)則的對應關(guān)系,確定該異常類型的異常處理規(guī)則,并執(zhí)行,可以為查 詢預先設(shè)置的非業(yè)務異常與異常處理規(guī)則的對應關(guān)系,對導致非業(yè)務異常的操作進行系統(tǒng) 回滾,并執(zhí)行回滾操作。也就是說,當異常類型為非業(yè)務異常時,將導致該非業(yè)務異常的系 統(tǒng)執(zhí)行的操作,回滾到操作前的狀態(tài)。其中,回滾是指程序更新失敗,返回上一次正確狀態(tài) 的行為,或者說刪除由一個或多個部分完成的事務執(zhí)行的更新。一般在應用程序、數(shù)據(jù)庫或 系統(tǒng)錯誤后還原數(shù)據(jù)庫的完整性,需要使用回滾。
當確定異常類型為業(yè)務異常時,所述查詢預先設(shè)置的異常類型與異常處理規(guī)則的 對應關(guān)系,確定該異常類型的異常處理規(guī)則,并執(zhí)行,可以為查詢預先設(shè)置的業(yè)務異常與 異常處理規(guī)則的對應關(guān)系,并依據(jù)異常信息對業(yè)務異常對應的流程分支進行業(yè)務數(shù)據(jù)重 組。也就是說,對于業(yè)務異常引起的工作流的流程異常,系統(tǒng)需要根據(jù)獲取到的異常信息, 確定導致業(yè)務異常的原因,并重新組織業(yè)務數(shù)據(jù),以便解決系統(tǒng)異常恢復工作流流程的執(zhí) 行。其中。業(yè)務數(shù)據(jù)重組就是重新組織業(yè)務數(shù)據(jù),是一種業(yè)務操作方法,如在工作流流程運 行的時候,某個操作員的信息被誤刪除了,那么重新組織數(shù)據(jù)即為把這個操作員的數(shù)據(jù)重 新配置好。
當異常類型為業(yè)務異常,為了能根據(jù)異常信息對業(yè)務異常對應的流程的業(yè)務數(shù)據(jù) 進行重新組織,在查詢預先設(shè)置的業(yè)務異常與異常處理規(guī)則的對應關(guān)系,并依據(jù)異常信息 對業(yè)務異常對應的流程分支進行數(shù)據(jù)重組之前,還包括當異常的類型為業(yè)務異常時,將業(yè) 務異常對應的流程分支的異常信息進行持久化記錄。其中,持久化是指把數(shù)據(jù)(如內(nèi)存中 的對象)保存到可永久保存的存儲設(shè)備中(如磁盤)。持久化的主要應用是將內(nèi)存中的對 象存儲在關(guān)系型的數(shù)據(jù)庫中,當然也可以存儲在磁盤文件中、XML數(shù)據(jù)文件中等等。這樣對 異常信息進行持久化,當需要對業(yè)務異常的流程進行處理時,就可以依據(jù)異常信息對業(yè)務 數(shù)據(jù)進行重新組織。
其中,工作流的流程主線可能會分裂為多個并行的流程分支,因此出現(xiàn)業(yè)務異常 的流程分支可以為一條或多條流程分支。8
現(xiàn)有技術(shù)中對于工作流中同時運行多個流程分支時,只要其中的一條流程分支出 現(xiàn)異常,系統(tǒng)將停止所有的流程分支的運行。本發(fā)明為了更好的處理并行流程分支的異常, 對于工作流中同時運行多個流程分支時,當出現(xiàn)業(yè)務異常時,可以為停止該業(yè)務異常對應 的流程分支的執(zhí)行,將所述流程分支異常信息存入異常收集器中,對異常信息進行持久化, 并繼續(xù)運行沒有出現(xiàn)異常的流程分支。也就是說,當有多條并行的流程分支同時運行時,當 其中的一條或多條流程分支出現(xiàn)業(yè)務異常,僅停止出 現(xiàn)業(yè)務異常的流程分支的運行,而其 他正常的流程分支將繼續(xù)執(zhí)行操作。這樣當需要對異常進行處理時,可以為檢測異常收集器中的業(yè)務異常,將業(yè)務異 常對應的流程分支標注為異常狀態(tài),并根據(jù)所述異常信息,對處于異常狀態(tài)的流程分支對 應的業(yè)務數(shù)據(jù)進行重組。其中,異常收集器相當于一個容器,用于存放工作流流程運行時的 所有業(yè)務異常,當對異常進行處理時,就可以檢測異常收集器中是否有異常信息,當存在異 常信息時,將該異常信息對應的流程分支標注為異常狀態(tài),并根據(jù)異常信息進行業(yè)務數(shù)據(jù) 的重組。進一步的,當根據(jù)異常的類型為業(yè)務異常時,為了保證處于異常狀態(tài)的流程分支, 經(jīng)過數(shù)據(jù)重組后能恢復到正常的運行狀態(tài),在查詢預先設(shè)置的業(yè)務異常與異常處理規(guī)則的 對應關(guān)系,并依據(jù)異常信息對業(yè)務異常對應的流程分支進行數(shù)據(jù)重組之后,還可以包括運 行處于所述業(yè)務異常對應的流程分支,檢測該流程分支是否還存在所述業(yè)務異常,如果是, 則重新對所述流程分支對應的業(yè)務數(shù)據(jù)進行重組;如果否,則將該流程分支標注為正常狀 態(tài)。也就是說,當對業(yè)務異常對應的流程分支進行業(yè)務數(shù)據(jù)重組后,為了保證出現(xiàn)異常的流 程分支已能恢復到正常狀態(tài),需要運行業(yè)務數(shù)據(jù)重組后的流程分支,測試針對該業(yè)務異常 進行業(yè)務數(shù)據(jù)重組后,該流程分支是否還會出現(xiàn)該業(yè)務異常,如果是則需要重新組織業(yè)務 數(shù)據(jù),如果否,則說明該業(yè)務異常已經(jīng)解決,將該流程分支標注為正常狀態(tài)。在實際應用中一條流程分支可能出現(xiàn)多個業(yè)務異常,需要在運行該流程分支時, 根據(jù)該流程分支的所有異常信息記錄,查詢該流程分支的異常情況列表,找出最后一條具 體的業(yè)務異常,檢測是否最后一條業(yè)務異常已經(jīng)解決,如果解決,則繼續(xù)解決倒數(shù)第二條業(yè) 務異常,直至該流程分支的所有異常均已解決,將該流程分支標注為正常狀態(tài)。另外,在對業(yè)務數(shù)據(jù)重組后的流程分支進行運行監(jiān)測的過程中,仍有可能出現(xiàn)其 他的異常情況,因此在運行業(yè)務數(shù)據(jù)重組后的流程分支的過程中,仍需在流程應用接口檢 測是否還存在其他異常信息,并依據(jù)相應的處理規(guī)則進行業(yè)務處理。為了能更清楚的描述本發(fā)明的異常處理方法,參見圖4,為本發(fā)明另一實施例的一 種工作流異常處理方法的步驟流程圖,該方法包括步驟S401 對工作流流程應用接口接收的信息進行異常檢測;步驟S402 當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定的異常體 系,確定該異常對應所述異常體系中的異常情況,判斷該異常情況的業(yè)務類型,當異常類型 為非業(yè)務異常時,進入步驟S406 當異常類型為業(yè)務異常時,進入步驟S403 ;步驟S403 當異常的類型為業(yè)務異常時,停止業(yè)務異常對應的流程分支運行并將 該流程分支標注為異常狀態(tài),將所述流程分支的異常信息存入異常收集器中,并將異常信 息進行持久化;步驟S404 檢測異常收集器中是否存在異常信息,當異常收集器中存在異常信息時,將異常狀態(tài)的流程分支的業(yè)務數(shù)據(jù)進行重組;
步驟S405 運行該業(yè)務數(shù)據(jù)重組后的流程分支,檢測該流程分支是否還存在所述 業(yè)務異常,如果是,則重新對所述流程分支對應的業(yè)務數(shù)據(jù)進行重組;如果否,則將該流程 分支標注為正常狀態(tài);
步驟S406 當異常類型為非業(yè)務異常時,對導致非業(yè)務異常的操作進行系統(tǒng)回 滾,并執(zhí)行回滾操作。
其中,在步驟S401中,如果運行該業(yè)務數(shù)據(jù)重組后的流程分支的過程中,可能還 會有其他的異常情況出現(xiàn),因此,在運行該業(yè)務數(shù)據(jù)重組后的流程分支的過程中,也會進行 步驟S401中進行異常檢測的操作,當檢測到其他異常信息時,仍按照步驟S402進行相應處理。
對應本發(fā)明的方法,本發(fā)明還提供了一種工作流異常處理系統(tǒng),參見圖5為本發(fā) 明的實施例所提供的系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括
異常檢測單元501,用于對工作流流程應用接口接收的信息進行異常檢測;
類型確定單元502,用于當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定 的異常體系,確定異常類型;
異常處理單元503,用于查詢預先設(shè)置的異常類型與異常處理規(guī)則的對應關(guān)系,確 定該異常類型的異常處理規(guī)則,并執(zhí)行。
其中,異常檢測模塊檢測到的異常信息包括異常產(chǎn)生的環(huán)境、流程分支、所述流 程分支的執(zhí)行狀態(tài)、時間和原因的信息。
根據(jù)異常類型的不同,異常處理單元進行的操作不同,因此異常處理單元進行的 操作不同,參見圖6,異常處理單元630包括
第一處理單元631,用于當類型確定單元確定異常的類型為非業(yè)務異常時,查詢預 先設(shè)置的非業(yè)務異常與異常處理規(guī)則的對應關(guān)系,對業(yè)務異常進行系統(tǒng)回滾,并執(zhí)行回滾 操作。
第二處理單元632,用于當類型確定單元確定異常的類型為業(yè)務異常時查詢預先 設(shè)置的業(yè)務異常與異常處理規(guī)則的對應關(guān)系,并依據(jù)異常信息對業(yè)務異常對應的流程分支 進行業(yè)務數(shù)據(jù)重組。
進一步的,為了當異常類型為業(yè)務異常時,能依據(jù)異常信息進行業(yè)務重組,該系統(tǒng) 還包括
異常記錄單元640,用于當異常的類型為業(yè)務異常時,將業(yè)務異常對應的流程分支 的異常信息進行持久化記錄。
其中,異常記錄單元640,可以記錄一條或多條流程分支發(fā)生的業(yè)務異常信息。
優(yōu)選的,所述異常記錄單元640包括異常保存單元641,用于當異常的類型為業(yè) 務異常時,停止該業(yè)務異常對應的流程分支的執(zhí)行,將業(yè)務異常對應的流程分支的異常信 息存入異常收集器中;
異常記錄子單元642,用于對異常收集器中的異常信息進行持久化記錄;
對應的,該第二處理單元632包括
收集器檢測單元6321,用于檢測異常收集器中的業(yè)務異常,將業(yè)務異常對應的流 程分支標注為異常狀態(tài);10
數(shù)據(jù)重組單元6322,用于根據(jù)異常處理子單元中記錄的所述異常信息,對處于異 常狀態(tài)的流程分支對應的業(yè)務數(shù)據(jù)進行重組。進 一步的,為了保證經(jīng)過業(yè)務數(shù)據(jù)重組后的流程分支已恢復正常狀態(tài),該系統(tǒng)還 包括運行測試單元650,用于運行所述業(yè)務數(shù)據(jù)重組后的流程分支,檢測該流程分支 是否還存在所述業(yè)務異常,如果是,則重新對所述流程分支對應的業(yè)務數(shù)據(jù)進行重組;如果 否,則將該流程分支標注為正常狀態(tài)。另外,運行測試單元650,在運行所述業(yè)務數(shù)據(jù)重組后的流程分支,檢測該流程分 支是否還存在所述業(yè)務異常過程中,可能還會發(fā)生其他的異常情況,在運行測試單元運行 的過程中仍調(diào)用異常檢測單元610和類型確定單元620,當有其他異常時,將進行異常處理 單元630的操作。其中,圖6中的異常檢測單元610和類型確定單元620的作用分別和圖5中的異 常檢測單元501和類型確定單元620的作用相同。本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他 實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的系統(tǒng) 而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關(guān)之處參見方法部分說 明即可。對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的 一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明 將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一 致的最寬的范圍。
權(quán)利要求
1.一種工作流異常處理方法,其特征在于,包括 對工作流流程應用接口接收的信息進行異常檢測;當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定的異常體系,確定異常類型;查詢預先設(shè)置的異常類型與異常處理規(guī)則的對應關(guān)系,確定所述異常類型的異常處理 規(guī)則,并執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述異常信息包括異常產(chǎn)生的環(huán)境、流程分支、所述流程分支的執(zhí)行狀態(tài)、時間和原因的信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,當確定異常類型為非業(yè)務異常時,執(zhí)行所 述異常處理規(guī)則具體為對導致非業(yè)務異常的操作進行系統(tǒng)回滾。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述當確定異常的類型為業(yè)務異常時,執(zhí) 行所述異常處理規(guī)則具體為依據(jù)異常信息對業(yè)務異常對應的流程分支進行業(yè)務數(shù)據(jù)重組。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在進行業(yè)務數(shù)據(jù)重組之前,還包括 當異常的類型為業(yè)務異常時,將業(yè)務異常對應的流程分支的異常信息進行持久化。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述流程分支為一條或多條流程分支; 所述當異常的類型為業(yè)務異常時,將業(yè)務異常對應的流程分支的異常信息進行持久化,包括當異常的類型為業(yè)務異常時,停止該業(yè)務異常對應的流程分支的執(zhí)行,將所述流程分 支異常信息存入異常收集器中,對異常信息進行持久化,并繼續(xù)運行沒有出現(xiàn)異常的流程 分支;所述查詢預先設(shè)置的業(yè)務異常與異常處理規(guī)則的對應關(guān)系,并依據(jù)異常信息對業(yè)務異 常對應的流程分支進行數(shù)據(jù)重組,包括檢測異常收集器中的業(yè)務異常,將業(yè)務異常對應的流程分支標注為異常狀態(tài),并根據(jù) 所述異常信息,對處于異常狀態(tài)的流程分支對應的業(yè)務數(shù)據(jù)進行重組。
7.根據(jù)權(quán)利要求4-6任一項所述的方法,其特征在于,在進行業(yè)務數(shù)據(jù)重組之后,還包括運行所述對業(yè)務數(shù)據(jù)進行重組的流程分支,檢測該流程分支是否還存在所述業(yè)務異 常,如果是,則重新對所述流程分支對應的業(yè)務數(shù)據(jù)進行重組;如果否,則將該流程分支標 注為正常狀態(tài)。
8.一種工作流異常處理系統(tǒng),其特征在于,包括異常檢測單元,用于對工作流流程應用接口接收的信息進行異常檢測; 類型確定單元,用于當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定的異常 體系,確定異常類型;異常處理單元,用于查詢預先設(shè)置的異常類型與異常處理規(guī)則的對應關(guān)系,確定該異 常類型的異常處理規(guī)則,并執(zhí)行。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述異常處理單元包括第一處理單元,用于當類型確定單元確定異常的類型為非業(yè)務異常時,查詢預先設(shè)置的非業(yè)務異常與異常處理規(guī)則的對應關(guān)系,對導致業(yè)務異常操作進行系統(tǒng)回滾,并執(zhí)行回 滾操作。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述異常處理單元包括第二處理單元,用于當類型確定單元確定異常的類型為業(yè)務異常時查詢預先設(shè)置的業(yè) 務異常與異常處理規(guī)則的對應關(guān)系,并依據(jù)異常信息對業(yè)務異常對應的流程分支進行業(yè)務 數(shù)據(jù)重組。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,還包括異常記錄單元,用于當異常的類型為業(yè)務異常時,將業(yè)務異常對應的流程分支的異常 信息進行持久化記錄。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述流程分支為一條或多條流程分支;所述異常記錄單元包括異常保存單元,用于當異常的類型為業(yè)務異常時,停止該業(yè)務異常對應的流程分支的 執(zhí)行,將業(yè)務異常對應的流程分支的異常信息存入異常收集器中;異常記錄子單元,用于對異常收集器中的異常信息進行持久化記錄;所述第二處理單元包括收集器檢測單元,用于檢測異常收集器中的業(yè)務異常,將業(yè)務異常對應的流程分支標 注為異常狀態(tài);數(shù)據(jù)重組單元,用于根據(jù)異常處理子單元中記錄的所述異常信息,對處于異常狀態(tài)的 流程分支對應的業(yè)務數(shù)據(jù)進行重組。
13.根據(jù)權(quán)利要求10-12任一項所述的系統(tǒng),其特征在于,還包括運行測試單元,用于運行所述對業(yè)務數(shù)據(jù)進行重組的流程分支,檢測該流程分支是否 還存在所述業(yè)務異常,如果是,則重新對所述流程分支對應的業(yè)務數(shù)據(jù)進行重組;如果否, 則將該流程分支標注為正常狀態(tài)。
全文摘要
本發(fā)明公開了一種工作流異常處理方法和系統(tǒng),該方法包括對工作流流程應用接口接收的信息進行異常檢測;當檢測到異常信息時,參考預先根據(jù)異常的業(yè)務性質(zhì)設(shè)定的異常體系,確定異常類型;查詢預先設(shè)置的異常類型與異常處理規(guī)則的對應關(guān)系,確定該異常類型的異常處理規(guī)則,并執(zhí)行。本發(fā)明的方法針對不同異常類型采取不同的處理方法,能提高異常處理的效果。
文檔編號G06Q10/00GK102043682SQ20111002954
公開日2011年5月4日 申請日期2011年1月27日 優(yōu)先權(quán)日2011年1月27日
發(fā)明者劉旭, 溫良, 牛志嘉 申請人:中國農(nóng)業(yè)銀行股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
镇远县| 静宁县| 宁河县| 江门市| 大荔县| 满城县| 汉沽区| 柳州市| 枣阳市| 杭州市| 仙居县| 瑞丽市| 武川县| 江门市| 霍邱县| 文成县| 三门峡市| 太仆寺旗| 若羌县| 当阳市| 井冈山市| 和政县| 苏州市| 响水县| 香格里拉县| 东方市| 景洪市| 兴安盟| 西畴县| 苍梧县| 玛多县| 峨山| 定陶县| 青阳县| 苗栗市| 岳西县| 绥棱县| 时尚| 湖口县| 礼泉县| 都江堰市|