亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

適于集成非同類過(guò)程的數(shù)據(jù)處理系統(tǒng)的制作方法

文檔序號(hào):6416393閱讀:449來(lái)源:國(guó)知局
專利名稱:適于集成非同類過(guò)程的數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及數(shù)據(jù)處理系統(tǒng),并特別涉及在系統(tǒng)中運(yùn)行的過(guò)程需要根據(jù)提交/撤回協(xié)議(commit/backout protocol)協(xié)調(diào)的數(shù)據(jù)處理系統(tǒng),例如事務(wù)(transaction)處理系統(tǒng)。具體來(lái)說(shuō),本發(fā)明涉及適用于集成非同類(non-homogeneous)過(guò)程的數(shù)據(jù)處理系統(tǒng),所述非同類過(guò)程即服從(compliant)提交/撤回協(xié)議的過(guò)程以及不服從這樣的協(xié)議的過(guò)程。
背景技術(shù)
在現(xiàn)有數(shù)據(jù)處理環(huán)境中引入新的應(yīng)用(例如程序、事務(wù)處理、類別、對(duì)象或方法)造成幾個(gè)問(wèn)題。由于快速的技術(shù)進(jìn)步,和現(xiàn)有應(yīng)用相比,新的應(yīng)用一般基于不同的體系結(jié)構(gòu);使得新應(yīng)用能夠與現(xiàn)有應(yīng)用交互作用可能是真正的挑戰(zhàn)。
在今天尤其感受到了這個(gè)問(wèn)題,因?yàn)槌霈F(xiàn)了新的基于因特網(wǎng)的服務(wù),例如用于實(shí)施電子商務(wù)功能。這些新的服務(wù)需要在公司數(shù)據(jù)處理系統(tǒng)內(nèi)和例如傳統(tǒng)應(yīng)用的已有商務(wù)功能交互作用。
當(dāng)已經(jīng)存在的部件需要合作以實(shí)施新的服務(wù)時(shí),可能會(huì)遇到類似的問(wèn)題。
為了把新的應(yīng)用集成在現(xiàn)有非同類(heterogeneous)應(yīng)用的框架內(nèi),或者使得現(xiàn)有非同類應(yīng)用交互作用以獲取新的功能,需要考慮幾個(gè)關(guān)鍵因素,既有技術(shù)的也有應(yīng)用的。信息技術(shù)領(lǐng)域的多個(gè)不同技術(shù)被涉及到,成本和時(shí)間隨之增加。
可以區(qū)分為四種可能的手段。
第一種辦法試圖最大程度地利用現(xiàn)有過(guò)程;為了使新的過(guò)程能夠和現(xiàn)有過(guò)程交互作用,創(chuàng)建了接口層,它能夠解釋(interpreting)并把來(lái)自商務(wù)流程的請(qǐng)求恰當(dāng)?shù)胤g成服務(wù)和相關(guān)的一致控制(coherence control)。用這種方法就保護(hù)了用于開(kāi)發(fā)已經(jīng)存在的應(yīng)用所做的投資。
根據(jù)第二種辦法,開(kāi)發(fā)冗余的功能。實(shí)行新的商務(wù)流程所必需的功能,盡管已經(jīng)存在于現(xiàn)有環(huán)境中,但還是在新的環(huán)境中被復(fù)制。結(jié)果是功能和數(shù)據(jù)的重復(fù),導(dǎo)致增大的開(kāi)發(fā)和管理的時(shí)間和成本。此外,還可能出現(xiàn)復(fù)制的數(shù)據(jù)的一致性的問(wèn)題。
按照第三種辦法,已經(jīng)存在的功能被修改,以適于要被實(shí)施的新的商務(wù)流程的要求。這涉及對(duì)現(xiàn)有功能和環(huán)境的高度準(zhǔn)確的了解和專業(yè)技術(shù)的可用性,專業(yè)技術(shù)可能并非很容易獲得。因此,成本可能會(huì)很高。
最后,第四種辦法提供用于開(kāi)發(fā)新的應(yīng)用,新的應(yīng)用既包括新的商務(wù)流程還包括已經(jīng)在生產(chǎn)中的商務(wù)流程。除了成本以外,還需要相當(dāng)長(zhǎng)的時(shí)間來(lái)把新的過(guò)程投入生產(chǎn),對(duì)公司核心商務(wù)有負(fù)面影響。

發(fā)明內(nèi)容
考慮到前面所概括的技術(shù)的狀態(tài),本發(fā)明的一個(gè)目的就是提供能夠支持不同類型(etherogeneous)應(yīng)用的數(shù)據(jù)處理系統(tǒng)。
根據(jù)本發(fā)明,采用如所附權(quán)利要求1中所描述的數(shù)據(jù)處理系統(tǒng),已達(dá)到此目的和其他目的。
簡(jiǎn)單地說(shuō),該數(shù)據(jù)處理系統(tǒng)包含至少一個(gè)資源管理器和資源管理器協(xié)調(diào)器,資源管理器用于依照提交/撤回協(xié)議管理對(duì)各個(gè)系統(tǒng)資源的改變,資源管理器協(xié)調(diào)器用于協(xié)調(diào)該至少一個(gè)資源管理器的提交/撤回行為。
提供了過(guò)程資源管理器,由資源管理器協(xié)調(diào)器根據(jù)提交/撤回協(xié)議協(xié)調(diào),用于管理不服從提交/撤回協(xié)議的非服從過(guò)程的執(zhí)行。在接收到撤回請(qǐng)求后,過(guò)程資源管理器自動(dòng)地確定一系列要被執(zhí)行的補(bǔ)償操作,以撤回在非服從過(guò)程的執(zhí)行期間所執(zhí)行的操作。


通過(guò)下面參考附圖以非限制性的例子的方式對(duì)本發(fā)明的一個(gè)實(shí)施例的詳細(xì)描述,將使得本發(fā)明的特點(diǎn)和優(yōu)點(diǎn)更加清晰,其中圖1是根據(jù)本發(fā)明的實(shí)施例的事務(wù)處理管理系統(tǒng)的主要部件的原理框圖;圖2A和圖2B示意性地示出圖1的事務(wù)處理管理系統(tǒng)的資源管理器協(xié)調(diào)器對(duì)工作單位的管理;圖3示意性地示出圖1的事務(wù)處理管理系統(tǒng)的服務(wù)提供器子系統(tǒng)所提供的服務(wù);
圖4示意性地示出由服務(wù)提供器子系統(tǒng)所提供的商務(wù)請(qǐng)求編目(cataloging)服務(wù)所擁有的商務(wù)請(qǐng)求欄目;圖5示意性地示出由服務(wù)提供器子系統(tǒng)所提供的目錄(directory)服務(wù)所擁有的對(duì)應(yīng)(counterpart)系統(tǒng)目錄;圖6示意性地示出由服務(wù)提供器子系統(tǒng)所提供的系統(tǒng)恢復(fù)服務(wù)所實(shí)施的系統(tǒng)恢復(fù)過(guò)程;圖7示意性地示出事務(wù)處理管理系統(tǒng)的工作。
具體實(shí)施例方式
參考附圖,圖1按照功能塊,示意性地示出根據(jù)本發(fā)明的實(shí)施例的事務(wù)處理管理系統(tǒng)的主要部件。
事務(wù)處理系統(tǒng)包含數(shù)據(jù)處理系統(tǒng)SYS,內(nèi)含(hosting)事務(wù)處理管理器系統(tǒng)TM,事務(wù)處理管理器系統(tǒng)在下面被簡(jiǎn)稱為事務(wù)處理管理器。
事務(wù)處理管理器TM管理由應(yīng)用所發(fā)出的商務(wù)服務(wù)請(qǐng)求BR(在下面被稱為商務(wù)請(qǐng)求),所述應(yīng)用或者是對(duì)于內(nèi)含事務(wù)處理管理器TM的數(shù)據(jù)處理系統(tǒng)SYS來(lái)說(shuō)在本地運(yùn)行,如所示例子中的應(yīng)用APP,或者是在遠(yuǎn)程數(shù)據(jù)處理系統(tǒng)中運(yùn)行,例如在通過(guò)因特網(wǎng)連接到企業(yè)的數(shù)據(jù)處理系統(tǒng)的客戶端計(jì)算機(jī)上運(yùn)行。舉例來(lái)說(shuō),數(shù)據(jù)處理系統(tǒng)SYS是銀行代理的前端服務(wù)器,接收銀行ATM的商務(wù)服務(wù)請(qǐng)求。
數(shù)據(jù)處理系統(tǒng)SYS被連接到一個(gè)或多個(gè)獨(dú)立的數(shù)據(jù)處理系統(tǒng),例如在圖中所示、在下面被稱為對(duì)應(yīng)系統(tǒng)的兩個(gè)數(shù)據(jù)處理系統(tǒng)C_SYS1和C_SYS2。數(shù)據(jù)處理系統(tǒng)SYS可以和對(duì)應(yīng)系統(tǒng)C_SYS1、C_SYS2交互作用,用于為商務(wù)請(qǐng)求服務(wù)。系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)C_SYS1、C_SYS2可以通過(guò)LAN、系統(tǒng)綜合體(SYSPLEX)、集群(CLUSTER)、WAN、因特網(wǎng)連接。系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)C_SYS1、C_SYS2可以形成本地?cái)?shù)據(jù)處理系統(tǒng)組,例如系統(tǒng)綜合體或集群,并且本地系統(tǒng)組可以被連接到一個(gè)或多個(gè)地理上的遠(yuǎn)程數(shù)據(jù)處理系統(tǒng)或系統(tǒng)組。回到前面引用的例子,系統(tǒng)SYS(前端銀行代理服務(wù)器)被連接到銀行代理主服務(wù)器,主服務(wù)器轉(zhuǎn)而又連接到不同銀行代理中的其他主服務(wù)器的網(wǎng)絡(luò)。
數(shù)據(jù)處理系統(tǒng)SYS內(nèi)含資源管理器協(xié)調(diào)器RMC,控制和協(xié)調(diào)多個(gè)資源管理器RM的行為(activity)。每一個(gè)資源管理器負(fù)責(zé)管理各自的系統(tǒng)資源(未在圖中示出),例如數(shù)據(jù)庫(kù)、檔案文件、數(shù)據(jù)表格、文檔、數(shù)據(jù)記錄等。每一個(gè)資源管理器RM管理由在事務(wù)處理管理器TM的控制下運(yùn)行的通用任務(wù)所請(qǐng)求的對(duì)各自資源的改變。
事務(wù)處理處理系統(tǒng)的被稱為原子性(atomicity)的一個(gè)特征是對(duì)系統(tǒng)資源的訪問(wèn)和更新一般是通過(guò)執(zhí)行也被稱為工作單位(unit of work,此后的UOW)的離散事務(wù)處理而被實(shí)行。UOW是在系統(tǒng)資源上的一系列協(xié)調(diào)操作,以便所有的改變都生效或者全都無(wú)效。這些操作一般是對(duì)事務(wù)處理處理系統(tǒng)的儲(chǔ)存器內(nèi)所保存的數(shù)據(jù)做出的改變。以這種方法防止了系統(tǒng)資源彼此不一致。如果更新操作組其中之一失敗了,則其他的也必須不能生效。然后,UOW把系統(tǒng)資源的一致?tīng)顟B(tài)變換為另一種一致?tīng)顟B(tài),但不需要保持所有中間步驟的一致性。
依靠一般被稱為提交過(guò)程的事務(wù)處理同步過(guò)程來(lái)保持事務(wù)處理的原子性質(zhì)。在事務(wù)處理執(zhí)行中,資源改變被同步的一致性的邏輯點(diǎn)被稱為提交點(diǎn);一旦到達(dá)提交點(diǎn),UOW被聲明提交的任務(wù)關(guān)閉,或者當(dāng)任務(wù)終止時(shí)UOW被關(guān)閉。
事務(wù)處理的原子性通過(guò)資源更新來(lái)獲得,所述資源更新在事務(wù)處理中進(jìn)行,被保持存疑(未提交)直到完成事務(wù)處理后聲明提交為止。如果事務(wù)處理成功,則使事務(wù)處理的結(jié)果為永久性的(被提交);如果事務(wù)處理失敗,則所述不成功的事務(wù)處理的所有作用均被拒絕(被撤回或者被退回重來(lái))。即,使得資源更新對(duì)任務(wù)是永久性的和可見(jiàn)的,但是不包括下述任務(wù)在此任務(wù)下,資源更新僅僅在成功的完成之后被實(shí)行;在每個(gè)工作單元的執(zhí)行期間,所有此時(shí)被更新的資源必須被鎖定,以防止進(jìn)一步的更新訪問(wèn)。反之,當(dāng)事務(wù)處理撤銷時(shí),資源被恢復(fù)到事務(wù)處理開(kāi)始之前存在的一致?tīng)顟B(tài)。
由一個(gè)任務(wù)所請(qǐng)求的對(duì)由通用資源管理器RM管理的系統(tǒng)資源的改變被那個(gè)資源管理器以這樣的方式來(lái)管理在單步(single-phase)或雙步(two-phase)提交協(xié)議下,在接收到資源管理器協(xié)調(diào)器RMC的提交請(qǐng)求后,依據(jù)任務(wù)的結(jié)果,允許所述改變的推遲提交。對(duì)系統(tǒng)資源的改變的確定或者拒絕可以由提交或撤回命令顯式地(explicitly)觸發(fā),或者可以由任務(wù)的成功或不成功的終止而隱式地(implicitly)觸發(fā)。資源管理器協(xié)調(diào)器RMC接收顯式的提交或撤回命令,或任務(wù)成功或不成功的終止的指示,并把提交或撤回請(qǐng)求傳播到資源管理器RM,該資源管理器RM負(fù)責(zé)管理在改變中所涉及到的系統(tǒng)資源。
事務(wù)處理管理器TM包括商務(wù)請(qǐng)求管理器子系統(tǒng)BRM、擴(kuò)展資源管理器子系統(tǒng)ERM和服務(wù)提供器子系統(tǒng)SER,為商務(wù)請(qǐng)求管理器子系統(tǒng)BRM和擴(kuò)展資源管理器子系統(tǒng)ERM都提供服務(wù)。
每當(dāng)接收到商務(wù)請(qǐng)求BR時(shí),商務(wù)請(qǐng)求管理器BRM被事務(wù)處理管理器TM激活。事務(wù)處理管理器TM檢測(cè)進(jìn)入商務(wù)請(qǐng)求,并激活商務(wù)請(qǐng)求管理器BRM。進(jìn)入商務(wù)請(qǐng)求BR被商務(wù)請(qǐng)求管理器BRM作為指向通用事務(wù)處理或者應(yīng)用的服務(wù)請(qǐng)求來(lái)管理;服務(wù)請(qǐng)求由任務(wù)T1處理,涉及一個(gè)或多個(gè)UOW。
像下文中將要詳細(xì)地說(shuō)明的那樣,商務(wù)請(qǐng)求管理器BRM在任務(wù)T1開(kāi)始之后被事務(wù)處理管理器TM激活,被啟動(dòng)用于處理商務(wù)請(qǐng)求BR,商務(wù)請(qǐng)求管理器BRM利用服務(wù)提供器子系統(tǒng)SER所提供的服務(wù),用于控制任務(wù)執(zhí)行。
具體來(lái)說(shuō),商務(wù)請(qǐng)求管理器BRM實(shí)施商務(wù)請(qǐng)求分類方案,并依據(jù)進(jìn)入商務(wù)請(qǐng)求BR所屬的商務(wù)請(qǐng)求類別,利用服務(wù)提供器SER所提供的不同服務(wù)。
總的來(lái)說(shuō),依據(jù)商務(wù)流程,在為處理進(jìn)入商務(wù)請(qǐng)求BR而開(kāi)始的任務(wù)T1的執(zhí)行期間,可以產(chǎn)生一個(gè)或多個(gè)服務(wù)請(qǐng)求,這些服務(wù)請(qǐng)求指向不同程序或者事務(wù)處理,它們?cè)趦?nèi)含事務(wù)處理管理器TM的同一系統(tǒng)SYS內(nèi)運(yùn)行,或者在一個(gè)或多個(gè)對(duì)應(yīng)系統(tǒng)C_SYS1、C_SYS2中運(yùn)行,例如圖1中所示的服務(wù)請(qǐng)求OBR1和OBR2,并且此后被稱為輸出商務(wù)請(qǐng)求,或縮寫為OBR(outboundbusiness request,輸出商務(wù)請(qǐng)求)。這些服務(wù)請(qǐng)求被和進(jìn)入商務(wù)請(qǐng)求BR類似地對(duì)待,這些服務(wù)請(qǐng)求導(dǎo)致在OBR所指向的各個(gè)對(duì)應(yīng)系統(tǒng)C_SYS1、C_SYS2中開(kāi)始了任務(wù)T21、T22,并且這些服務(wù)請(qǐng)求被擴(kuò)展資源管理器ERM管理。
可以看到,在本說(shuō)明的上下文中,OBR不僅僅是相應(yīng)于系統(tǒng)SYS的對(duì)應(yīng)系統(tǒng)發(fā)出的商務(wù)請(qǐng)求,還是相應(yīng)于系統(tǒng)SYS的部件,例如一個(gè)應(yīng)用所發(fā)出的商務(wù)請(qǐng)求,該部件的特點(diǎn)是具有較弱的鏈接,即是一個(gè)不能服從提交/撤回協(xié)議的部件。
不服從提交協(xié)議的接口過(guò)程,即其UOW在撤銷階段沒(méi)有被資源管理器協(xié)調(diào)器同樣地協(xié)調(diào)的過(guò)程,使得有必要運(yùn)用一個(gè)補(bǔ)償行為(隱式或顯式的),所述補(bǔ)償行為專用于使得系統(tǒng)向動(dòng)態(tài)確定的一致?tīng)顟B(tài)收斂。這由錯(cuò)誤操作或者顯式的撤回請(qǐng)求來(lái)觸發(fā),并由擴(kuò)展資源管理器ERM通過(guò)顯式的激活補(bǔ)償部件(XBR和/或XOBR,稍后詳細(xì)描述)來(lái)管理,或通過(guò)取回先前由服務(wù)提供器子系統(tǒng)SER所提供的日志服務(wù)所記錄的內(nèi)容來(lái)管理。在前面確立階段(可能包括先前的補(bǔ)償企圖)期間由日志服務(wù)所記錄的信息的基礎(chǔ)上,補(bǔ)償行為所必需的信息被動(dòng)態(tài)地確定。
具體來(lái)說(shuō),擴(kuò)展資源管理器ERM被事務(wù)處理管理器TM看作資源管理器RM之一。每一次OBR,例如ORB1和OBR2被發(fā)出時(shí),事務(wù)處理管理器TM激活擴(kuò)展資源管理器ERM;像稍后將要說(shuō)明的那樣,OBR可以顯式地調(diào)用擴(kuò)展資源管理器ERM,或者后者可以被隱式地調(diào)用。簡(jiǎn)單地說(shuō),擴(kuò)展資源管理器ERM監(jiān)督OBR的執(zhí)行,并確保它們即使在異常的情況下仍然能被正確地執(zhí)行,所述異常的情況例如在OBR的處理中所涉及的UOW的執(zhí)行期間可能出現(xiàn)的存疑(in-doubt)狀況。從資源管理器協(xié)調(diào)器RMC的觀點(diǎn),擴(kuò)展資源管理器ERM以與資源管理器RM管理各個(gè)系統(tǒng)資源相類似的方式管理OBR和在對(duì)應(yīng)系統(tǒng)上運(yùn)行的用于為OBR服務(wù)的過(guò)程,使得能夠?qū)嵤┰趯?duì)應(yīng)系統(tǒng)上運(yùn)行的過(guò)程的單步或兩步提交/撤回協(xié)議。
具體來(lái)說(shuō),擴(kuò)展資源管理器ERM標(biāo)識(shí)、激活和監(jiān)視次級(jí)過(guò)程(secondaryprocess)(例子中的任務(wù)T21和T22),次級(jí)過(guò)程被初級(jí)過(guò)程(primary process)(T1)調(diào)用,并被商務(wù)請(qǐng)求管理器BRM激活。雖然對(duì)由資源管理器RM所管理的系統(tǒng)資源所做的改變可以被撤銷,并且系統(tǒng)資源被帶回到施加這樣的改變之前所處的狀態(tài),但是總的來(lái)說(shuō),對(duì)于由次級(jí)過(guò)程所導(dǎo)致的改變,這是不可能的。在系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)之間的通信協(xié)議、后者的行為等的問(wèn)題,在此上下文中被統(tǒng)稱為不穩(wěn)定(labile)鏈接問(wèn)題,這些問(wèn)題使得無(wú)法使對(duì)應(yīng)系統(tǒng)回到它們?cè)诖渭?jí)過(guò)程開(kāi)始前所處的狀態(tài)??偟膩?lái)說(shuō),擴(kuò)展資源管理器ERM運(yùn)用對(duì)次級(jí)過(guò)程所做的改變的補(bǔ)償行為,來(lái)替代真正的撤銷。
在通用任務(wù)的生存周期期間,幾個(gè)UOW可以被順序地實(shí)例化,并被提交或撤銷。每一個(gè)UOW都由用于管理UOW的單意標(biāo)識(shí)碼(UOWID)所標(biāo)識(shí)。UOW的提交或撤銷導(dǎo)致在執(zhí)行中的UOW的自動(dòng)結(jié)束,并且如果商務(wù)邏輯需要,有可能實(shí)例化一個(gè)新的UOW。
在任務(wù)T1執(zhí)行期間,可以請(qǐng)求對(duì)由不同的資源管理器RM所管理的系統(tǒng)資源做出的改變。在這種情況下,多個(gè)相關(guān)的UOW被同時(shí)實(shí)例化;所有這些相關(guān)的UOW均從屬于(subordinate)由資源管理器協(xié)調(diào)器RMC管理的主UOW,主UOW在下面將被稱為協(xié)調(diào)UOW(coordination UOW,COO-UOW)。這種狀況被在圖2A中示意性地示出,其中UOW1、UOW2、和UOW3是相關(guān)的,并由資源管理器協(xié)調(diào)器RMC作為協(xié)調(diào)UOW COO-UOW管理。
類似地,在任務(wù)T1(主任務(wù))執(zhí)行期間,相關(guān)的任務(wù)T21、T22(次級(jí)任務(wù))可以被在不同的對(duì)應(yīng)系統(tǒng)C_SYS1、C_SYS2上開(kāi)始;這樣,幾個(gè)潛在地彼此相關(guān)的UOW可以被同時(shí)地在邏輯上和主任務(wù)T1相關(guān)聯(lián);還是在這種情況下,所有這些UOW從屬于由資源管理器協(xié)調(diào)器RMC管理的COO-UOW。這種狀況被示意性地在圖2B中繪出。
在此第二種情況下,并假設(shè)在系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)之間的鏈接很強(qiáng)(即并非不穩(wěn)定的,使得能夠?qū)嵤┨峤?撤銷協(xié)議),則在對(duì)應(yīng)系統(tǒng)中的資源管理器,例如圖2B中所示的對(duì)應(yīng)系統(tǒng)C_SYS1中的資源管理器C-RMC1,可以由系統(tǒng)SYS的資源管理器協(xié)調(diào)器RMC來(lái)協(xié)調(diào),或者,它們可以由本地資源管理器協(xié)調(diào)器來(lái)協(xié)調(diào),轉(zhuǎn)而由系統(tǒng)SYS中的資源管理器協(xié)調(diào)器來(lái)協(xié)調(diào)。在任何情況下,所有被實(shí)例化的UOW從屬于唯一的COO-UOW。
反之,如果在系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)之間的鏈接是不穩(wěn)定的,則將建立幾個(gè)COO-UOW,每一個(gè)均由各自的資源管理器協(xié)調(diào)器管理,這些COO-UOW彼此不進(jìn)行協(xié)調(diào)。這樣的COO-UOW,例如圖2B中的COO-UOW1和COO-UOW2,由擴(kuò)展資源管理器ERM作為在下面被稱為EXT-UOW的擴(kuò)展UOW EXT-UOW(extend UOW,EXT-UOW)來(lái)處理。
通常,由每一個(gè)任務(wù)所請(qǐng)求的對(duì)數(shù)據(jù)所做的改變被分組為UOW,由資源管理器RM來(lái)管理,而該資源管理器RM由資源管理器協(xié)調(diào)器RMC來(lái)協(xié)調(diào),這樣以便允許更多的任務(wù)同時(shí)作用在共享的檔案文件上。只有在相關(guān)聯(lián)的UOW提交之后,才使由通用任務(wù)所請(qǐng)求的改變對(duì)其他的任務(wù)公開(kāi)和可用的;如果該UOW被撤銷,則改變不被確定,并使檔案文件中的數(shù)據(jù)以未被改變的形式對(duì)其他的任務(wù)公開(kāi)。這樣,可以確保不同的任務(wù)訪問(wèn)一致的數(shù)據(jù),而不受其他任務(wù)所做的部分的改變的影響。管理被程序或事務(wù)處理使用的邏輯上一致的數(shù)據(jù)組的事務(wù)處理(transaction)處理系統(tǒng)的能力被稱為參考完整性。
但是,由COO-UOW協(xié)調(diào)的UOW可以既包括服從提交/撤銷協(xié)議的UOW(服從UOW),也包括由于所涉及的過(guò)程或資源的性質(zhì)而不支持提交/撤銷協(xié)議的UOW(所謂的非服從UOW)。在這種情況下的COO-UOW被稱為擴(kuò)展UOW(extended UOW,EXT-UOW)。
和COO-UOW由服從UOW所組成的情況不同,在EXT-UOW的情況下,非服從UOW的存在妨礙了保障正常的數(shù)據(jù)完整性方案,至少對(duì)于在非服從UOW中所發(fā)生的那部分改變來(lái)說(shuō)如此。在服從UOW的執(zhí)行期間對(duì)系統(tǒng)資源所做那些的改變的確定被推遲,并從屬于主任務(wù)的結(jié)果;在非服從UOW的執(zhí)行期間對(duì)系統(tǒng)資源所做的剩下的改變,或者可以視其執(zhí)行情況而確定,或者可以在相關(guān)聯(lián)的次級(jí)任務(wù)結(jié)束時(shí)被確定。和EXT-UOW相關(guān)聯(lián)的主任務(wù)的成功完成不會(huì)造成問(wèn)題,因?yàn)樗械母淖兙淮_認(rèn)在服從UOW中所做的改變被確定,而在非服從UOW中所做的改變已經(jīng)被確定,無(wú)須被撤銷。不同的是,可能的撤銷請(qǐng)求(或者是應(yīng)用的,或者是基礎(chǔ)設(shè)施的)產(chǎn)生了所涉及的資源的失調(diào)尚沒(méi)有被提交的改變可以被撤銷并被撤銷,而已經(jīng)被確定的改變因?yàn)椴皇芴峤粎f(xié)議支配,故無(wú)法被撤銷,而沒(méi)有被撤銷。在這種情況下,整個(gè)系統(tǒng)的狀態(tài)(系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)C_SYS1和C_SYS2)不能被帶回到做出改變前的狀態(tài);因?yàn)橄到y(tǒng)不能被帶回到初始狀態(tài),而需要執(zhí)行特定的補(bǔ)償行為,用于使得整個(gè)系統(tǒng)向著動(dòng)態(tài)確定的一致?tīng)顟B(tài)收斂。
這涉及兩個(gè)層次的系統(tǒng)注釋。在提交服從UOW中所帶的改變的情況下,由于使被改變的數(shù)據(jù)對(duì)不同的任務(wù)公開(kāi)的時(shí)刻不同,產(chǎn)生一個(gè)第一層的注釋。由于撤銷由任務(wù)所帶來(lái)的改變,并由于系統(tǒng)為撤銷請(qǐng)求所做的服務(wù)的不同,產(chǎn)生一個(gè)第二層的注釋,系統(tǒng)所做的服務(wù)的不同在于在服從UOW內(nèi)所做的改變被立刻撤銷,而在非服從UOW內(nèi)所做的改變被補(bǔ)償,并且,補(bǔ)償甚至可以被推遲。暫時(shí)地失調(diào)會(huì)使得邏輯上相關(guān)的數(shù)據(jù)在不同的時(shí)間以及以不確定的形式公開(kāi)。
參考圖3,示意性地示出了在本發(fā)明的一個(gè)實(shí)施例中,由服務(wù)提供器子系統(tǒng)SER所實(shí)施的服務(wù)。服務(wù)提供器子系統(tǒng)SER所提供的一些服務(wù)被商務(wù)請(qǐng)求管理器BRM利用,其他的服務(wù)被擴(kuò)展資源管理器ERM利用,并且一些服務(wù)既被商務(wù)請(qǐng)求管理器BRM利用,也被擴(kuò)展資源管理器ERM利用。特別是,服務(wù)的子集一般被提供給商務(wù)請(qǐng)求管理器BRM所開(kāi)始的每一個(gè)任務(wù),無(wú)論它是和分類的商務(wù)請(qǐng)求相關(guān)聯(lián)的任務(wù)還是和非分類的商務(wù)請(qǐng)求相關(guān)聯(lián)的任務(wù)。服務(wù)提供器子系統(tǒng)SER所提供的服務(wù)的列表包括商務(wù)請(qǐng)求編目服務(wù)CATS(cataloging Service,CATS)、目錄服務(wù)DIRS(directory service,DIRS)、任務(wù)恢復(fù)服務(wù)TSR(task recovery service,TSR)、系統(tǒng)恢復(fù)服務(wù)SYSR(systemrecovery service,SYSR)、連接服務(wù)CNCT(connectivity service,CNCT)、日志服務(wù)LOG(log service,LOG)、監(jiān)視服務(wù)MON(monitor service,MON)、UOW保護(hù)服務(wù)UOW-P(UOW protection service,UOW-P)、錯(cuò)誤恢復(fù)服務(wù)ERR(error recovery service,ERR)、商務(wù)請(qǐng)求保護(hù)服務(wù)BRPR(business requestprotection service,BRPR)、商務(wù)請(qǐng)求驗(yàn)證服務(wù)BRVR(business request verifyservice,BRVR)。
一般被提供給分類的和非分類的商務(wù)請(qǐng)求的服務(wù)包括日志服務(wù)LOG、監(jiān)視服務(wù)MON、UOW保護(hù)服務(wù)UOW-P和錯(cuò)誤恢復(fù)服務(wù)ERR。
除了公共服務(wù)之外,針對(duì)分類的商務(wù)請(qǐng)求的特定服務(wù)包括編目服務(wù)CATS、商務(wù)請(qǐng)求保護(hù)服務(wù)BRPR和商務(wù)請(qǐng)求驗(yàn)證服務(wù)BRVR。
商務(wù)請(qǐng)求管理器BRM所利用的服務(wù)包括商務(wù)請(qǐng)求保護(hù)服務(wù)BRPR、錯(cuò)誤恢復(fù)服務(wù)ERR、UOW保護(hù)服務(wù)UOW-P、商務(wù)請(qǐng)求驗(yàn)證服務(wù)BRVR、監(jiān)視服務(wù)MON、日志服務(wù)LOG和編目服務(wù)CATS。
擴(kuò)展資源管理器ERM所利用的服務(wù)包括編碼服務(wù)CATS、日志服務(wù)LOG、UOW保護(hù)服務(wù)UOW_P、監(jiān)視服務(wù)MON、錯(cuò)誤恢復(fù)服務(wù)ERR、連接服務(wù)CNCT、目錄服務(wù)DIRS、任務(wù)恢復(fù)服務(wù)TSR和系統(tǒng)恢復(fù)服務(wù)SYSR。
商務(wù)請(qǐng)求管理器BRM所實(shí)施的商務(wù)請(qǐng)求分類方案依靠商務(wù)請(qǐng)求編目服務(wù)CATS,以便把進(jìn)入商務(wù)請(qǐng)求分類為分類的商務(wù)請(qǐng)求CBR或非分類的商務(wù)請(qǐng)求NCBR,所述分類的商務(wù)請(qǐng)求CBR被列出在由編目服務(wù)CATS所擁有的商務(wù)請(qǐng)求欄目中,而非分類的商務(wù)請(qǐng)求NCBR在所述欄目中不存在。
稍后將詳細(xì)地描述服務(wù)提供器子系統(tǒng)SER所實(shí)施的服務(wù)。
在工作中,考慮到服務(wù)請(qǐng)求所指向的部件的性質(zhì)(應(yīng)用程序、事務(wù)處理、底層服務(wù),例如連接器),以及與其相關(guān)聯(lián)的過(guò)程的邏輯狀態(tài)(運(yùn)行、撤銷、未決、存疑等),商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM對(duì)服務(wù)請(qǐng)求進(jìn)行分類,無(wú)論它們是對(duì)事務(wù)處理處理系統(tǒng)的進(jìn)入商務(wù)請(qǐng)求,還是在先前接收的商務(wù)請(qǐng)求的處理期間所產(chǎn)生的服務(wù)請(qǐng)求。
商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM的行為依賴于發(fā)出服務(wù)請(qǐng)求的實(shí)體的狀態(tài)、依賴于被發(fā)出的服務(wù)請(qǐng)求的種類,以及依賴于服務(wù)請(qǐng)求所指向的部件的狀態(tài)。
來(lái)自系統(tǒng)SYS外部,或在為已接收到的商務(wù)請(qǐng)求服務(wù)時(shí)所產(chǎn)生的每一個(gè)服務(wù)請(qǐng)求,均被商務(wù)請(qǐng)求管理器BRM分析。服務(wù)請(qǐng)求可以包括顯式的指示,指明該服務(wù)請(qǐng)求指向商務(wù)請(qǐng)求管理器BRM或擴(kuò)展資源管理器ERM(顯式服務(wù)請(qǐng)求)在這種情況下,商務(wù)請(qǐng)求管理器BRM或者直接處理服務(wù)請(qǐng)求、或者調(diào)用擴(kuò)展資源管理器ERM。如果服務(wù)請(qǐng)求不包括這樣的顯式指示(隱式服務(wù)請(qǐng)求),則服務(wù)請(qǐng)求被監(jiān)視服務(wù)MON攔截,并被傳遞到商務(wù)請(qǐng)求管理器BRM。商務(wù)請(qǐng)求管理器BRM利用編目服務(wù)CATS確定服務(wù)請(qǐng)求的種類。如果服務(wù)請(qǐng)求是分類的,則它將被商務(wù)請(qǐng)求管理器BRM或者擴(kuò)展資源管理器ERM處理。反之,如果服務(wù)請(qǐng)求結(jié)果是非分類的,則它將被路由回到事務(wù)處理管理器TM,并由事務(wù)處理管理器TM服務(wù)。
在本發(fā)明的實(shí)施例中,下面的可能的服務(wù)請(qǐng)求分類方案被采用。
非分類的商務(wù)請(qǐng)求(Non-classified business request,在下面被稱為NCBR)是相應(yīng)于由事務(wù)處理管理器TM所管理的事務(wù)處理或程序而發(fā)出的通用服務(wù)請(qǐng)求,商務(wù)請(qǐng)求管理器BRM無(wú)法將NCBR與在編目服務(wù)CATS所擁有的商務(wù)請(qǐng)求欄目中列出的任何服務(wù)請(qǐng)求相關(guān)聯(lián);商務(wù)請(qǐng)求管理器BRM提供給NCBR的服務(wù)僅僅是屬于公共服務(wù)的子集的那些。NCBR可以發(fā)出任何類型的商務(wù)請(qǐng)求,顯式的或隱式的,分類的或非分類的;以及訪問(wèn)可恢復(fù)的或不可恢復(fù)的系統(tǒng)資源。
分類的商務(wù)請(qǐng)求(Classified business request,在下面被稱為CBR)是商務(wù)請(qǐng)求管理器BRM可以將其與在編目服務(wù)CATS所擁有的欄目中列出的服務(wù)請(qǐng)求之一相關(guān)聯(lián)的服務(wù)請(qǐng)求。
在CBR類別中,額外地定義了下列種類的商務(wù)請(qǐng)求。
非受保護(hù)分類的商務(wù)請(qǐng)求(Non-protected classified business request,在下面被稱為NPCBR)是商務(wù)請(qǐng)求管理器BRM為其提供所有的公共服務(wù)、以及編目服務(wù)CATS和驗(yàn)證服務(wù)VER的CBR。在NPCBR的處理沒(méi)有完成的情況下,由于錯(cuò)誤或者異常,商務(wù)請(qǐng)求管理器BRM不采取任何涉及商務(wù)請(qǐng)求的自動(dòng)再激活的操作,把這個(gè)負(fù)擔(dān)留給該服務(wù)最初的請(qǐng)求者。NPCBR可以發(fā)出任何類型的商務(wù)請(qǐng)求,顯式的或隱式的,分類的或非分類的;以及訪問(wèn)系統(tǒng)資源,可恢復(fù)的或不可恢復(fù)的。
受保護(hù)分類的商務(wù)請(qǐng)求(Protected classified business request,在下面被稱為PCBR)是從所有由商務(wù)請(qǐng)求管理器BRM所實(shí)施的服務(wù),包括保護(hù)服務(wù)BRPR受益的CBR。和NPCBR不同,如果由于錯(cuò)誤或者異常未完成PCBR的處理,則商務(wù)請(qǐng)求管理器BRM利用商務(wù)請(qǐng)求保護(hù)服務(wù),自動(dòng)地管理商務(wù)請(qǐng)求的再激活,以便保證其處理和完成,可能有所推遲。PCBR可以發(fā)出任何種類的商務(wù)請(qǐng)求,顯式的或隱式的,分類的或非分類的;以及訪問(wèn)系統(tǒng)資源,可恢復(fù)的或不可恢復(fù)的。假如一個(gè)PCBR(主PCBR)發(fā)出另一個(gè)PCBR(次級(jí)PCBR),則保護(hù)服務(wù)僅被提供給主PCBR,而不提供給次級(jí)PCBR,以避免次級(jí)PCBR的多次再激活??梢钥吹?,沒(méi)有給NPCBR或NCBR所發(fā)出的次級(jí)PCBR提供保護(hù)服務(wù),這些次級(jí)PCBR也沒(méi)有被自動(dòng)地再激活;換句話說(shuō),只有主PCBR被再激活。
補(bǔ)償商務(wù)請(qǐng)求(Compensation business request,在下面被稱為XBR)是特殊種類的PCBR,被激活用于實(shí)行撤銷行為,或者更一般地說(shuō),補(bǔ)償行為。XBR指向在系統(tǒng)SYS內(nèi)運(yùn)行的程序或事務(wù)處理,系統(tǒng)SYS內(nèi)含事務(wù)處理管理器TM。具體來(lái)說(shuō),當(dāng)資源管理器協(xié)調(diào)器RMC通知擴(kuò)展資源管理器ERM有關(guān)于錯(cuò)誤或撤銷請(qǐng)求時(shí),XBR被擴(kuò)展資源管理器ERM自動(dòng)地激活。在商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM的控制之下工作的XBR可以發(fā)出補(bǔ)償輸出商務(wù)請(qǐng)求(compensation outbound business request,XOBR,稍后描述)、NCBR和CBR,以及訪問(wèn)可恢復(fù)的或不可恢復(fù)的系統(tǒng)資源。作為一種特殊類型的PCBR,XBR受益于保護(hù)服務(wù),并被自動(dòng)地再激活。
有關(guān)于OBR,定義了下列種類。
不可恢復(fù)輸出商務(wù)請(qǐng)求(Non-recoverable outbound business requests,在下面被稱為NROBR)是被NCBR或CBR(NPCBR或PCBR或XBR)顯式地或隱式地發(fā)出的服務(wù)請(qǐng)求,并指向在對(duì)應(yīng)系統(tǒng)C_SYS1或C_SYS2中運(yùn)行的程序或事務(wù)處理,對(duì)系統(tǒng)SYS來(lái)說(shuō),對(duì)應(yīng)系統(tǒng)C_SYS1或C_SYS2是本地的或遠(yuǎn)程的;或者,NROBR指向系統(tǒng)SYS的部件,但是該部件與系統(tǒng)SYS鏈接較弱。為了處理NROBR,ERM利用編目服務(wù)CAT、目錄服務(wù)DIR、任務(wù)恢復(fù)服務(wù)TSR、系統(tǒng)恢復(fù)服務(wù)SYS_R和連接服務(wù)CNCT。當(dāng)異?;虺蜂N請(qǐng)求發(fā)生時(shí),擴(kuò)展資源管理器ERM不嘗試恢復(fù)輸出商務(wù)請(qǐng)求。NROBR可以訪問(wèn)可恢復(fù)或不可恢復(fù)的系統(tǒng)資源,并根據(jù)其去往的對(duì)應(yīng)系統(tǒng)的特征和商務(wù)邏輯,發(fā)出任何種類的服務(wù)請(qǐng)求。
顯式補(bǔ)償、可恢復(fù)輸出商務(wù)請(qǐng)求(Explicit-compensation,recoverableoutbound business request,在下面被稱為EROBR)是NCBR或CBR發(fā)出的服務(wù)請(qǐng)求,指向在對(duì)應(yīng)系統(tǒng)C_SYS1或C_SYS2中運(yùn)行的程序或事務(wù)處理,或者指向系統(tǒng)SYS的部件,但是該部件與系統(tǒng)SYS鏈接較弱。當(dāng)異?;虺蜂N請(qǐng)求發(fā)生時(shí),擴(kuò)展資源管理器ERM直接開(kāi)始用于EROBR的顯式補(bǔ)償?shù)男袨?;或者為了達(dá)到此目的,利用由服務(wù)提供器子系統(tǒng)SER所提供的服務(wù),特別是日志服務(wù)LOG、UOW保護(hù)服務(wù)UOW_P、連接服務(wù)CNCT、監(jiān)視服務(wù)MON和錯(cuò)誤恢復(fù)服務(wù)ERR。EROBR可以訪問(wèn)可恢復(fù)或不可恢復(fù)的系統(tǒng)資源,并根據(jù)其指向的對(duì)應(yīng)系統(tǒng)的特征和商務(wù)邏輯,發(fā)出任何種類的服務(wù)請(qǐng)求。
隱式補(bǔ)償,可恢復(fù)輸出商務(wù)請(qǐng)求(Implicit-compensation,recoverableoutbound business request,在下面被稱為IROBR)是NCBR或CBR發(fā)出的服務(wù)請(qǐng)求,指向在對(duì)應(yīng)系統(tǒng)中運(yùn)行的程序或事務(wù)處理,或者指向系統(tǒng)SYS的部件,但是該部件與系統(tǒng)SYS鏈接較弱。當(dāng)異?;虺蜂N請(qǐng)求發(fā)生時(shí),擴(kuò)展資源管理器ERM不直接開(kāi)始用于IROBR的補(bǔ)償?shù)男袨?;相反,補(bǔ)償被隱式地實(shí)行,這意味著推遲到IROBR重新執(zhí)行的時(shí)候;如果IROBR被PCBR調(diào)用,則這樣的重新執(zhí)行被商務(wù)請(qǐng)求管理器BRM自動(dòng)管理,或者,在IROBR由NPCBR發(fā)出的情況下,重新執(zhí)行由服務(wù)請(qǐng)求者激活。擴(kuò)展資源管理器ERM利用服務(wù)提供器子系統(tǒng)SER提供的服務(wù),特別是日志服務(wù)LOG、工作單位保護(hù)服務(wù)UOW_P、連接服務(wù)CNCT、監(jiān)視服務(wù)MON和錯(cuò)誤恢復(fù)服務(wù)ERR。IROBR可以訪問(wèn)可恢復(fù)的或不可恢復(fù)的系統(tǒng)資源。
補(bǔ)償輸出商務(wù)請(qǐng)求(Compensation outbound business request,在下面被稱為XOBR)是特殊類型的IROBR,并且是由在特定任務(wù)內(nèi)運(yùn)行的XBR所發(fā)出的服務(wù)請(qǐng)求,受擴(kuò)展資源管理器ERM的支配,擴(kuò)展資源管理器ERM支持先前發(fā)出的EROBR,這些EROBR需要被補(bǔ)償或者由于錯(cuò)誤或撤銷請(qǐng)求還未被補(bǔ)償。XOBR也可以在任務(wù)恢復(fù)階段(稍后描述)中被底層服務(wù)激活。XOBR指向在對(duì)應(yīng)系統(tǒng)中運(yùn)行的程序或事務(wù)處理,或者指向系統(tǒng)SYS的部件,但是該部件與系統(tǒng)SYS鏈接較弱。當(dāng)異常發(fā)生時(shí),XOBR不被自動(dòng)地激活只有被擴(kuò)展資源管理器ERM發(fā)出的XBR能夠激活XOBR。XOBR可以訪問(wèn)可恢復(fù)的或不可恢復(fù)的系統(tǒng)資源。XBR和XOBR的激活由ERM處理,不給請(qǐng)求者應(yīng)用添加負(fù)擔(dān),請(qǐng)求者應(yīng)用可能正在等待任務(wù)恢復(fù)階段的完成代碼,或者,在導(dǎo)致超時(shí)的情況下,已經(jīng)被通知有關(guān)于由擴(kuò)展資源管理器ERM所負(fù)責(zé)的恢復(fù)操作的發(fā)生。
任何商務(wù)請(qǐng)求,或者是非分類的(NCBR),或者是分類的(CBR),并且,如果是分類的,則或者是受保護(hù)的(PCBR),或者是不受保護(hù)的(NPCBR),都可以(顯式地或隱式地)發(fā)出一個(gè)或多個(gè)OBR(NROBR、EROBR或IROBR)。
上述服務(wù)請(qǐng)求的分類要在新應(yīng)用的開(kāi)發(fā)中被采用,以便正確地標(biāo)識(shí)實(shí)施所需商務(wù)流程必需的部件,在錯(cuò)誤、異常事件或撤銷請(qǐng)求的情況下,由事務(wù)處理管理器TM通過(guò)資源管理器協(xié)調(diào)器RMC協(xié)調(diào),上述服務(wù)請(qǐng)求的分類確保為了管理任何補(bǔ)償而激活的適當(dāng)?shù)膽?yīng)用或底層部件被一直進(jìn)行到在EXT-UOW中所涉及的數(shù)據(jù)的時(shí)刻。這樣就確保了在錯(cuò)誤、異常事件或應(yīng)用撤銷請(qǐng)求的情況下,依靠自動(dòng)的顯式補(bǔ)償或推遲的隱式補(bǔ)償,在EXT-UOW中所涉及的資源的狀態(tài)向一致最終狀態(tài)收斂,所述補(bǔ)償受商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM支配。
具體來(lái)說(shuō),在涉及EXT-UOW的任務(wù)的不成功完成的情況下,商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM能夠標(biāo)識(shí)并自動(dòng)激活使得整個(gè)系統(tǒng)(即所涉及的資源)在可能時(shí)向著初始狀態(tài)收斂,或者向動(dòng)態(tài)確定的一致?tīng)顟B(tài)收斂的過(guò)程,所述一致?tīng)顟B(tài)由商務(wù)請(qǐng)求管理器BRM、擴(kuò)展資源管理器ERM和可能嵌入在XBR/XOBR中的應(yīng)用商務(wù)邏輯動(dòng)態(tài)確定。盡管可以開(kāi)發(fā)任何種類的XBR,但是缺省的XBR實(shí)施補(bǔ)償階段,以相反次序發(fā)出與每一個(gè)EROBR相關(guān)的XOBR,在對(duì)連接服務(wù)CNCT的調(diào)用的結(jié)果和每一個(gè)被調(diào)用的XOBR的結(jié)果的基礎(chǔ)上發(fā)揮作用。
下面將詳細(xì)地描述商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM所實(shí)施的服務(wù)。
編目服務(wù)CATS編目服務(wù)CATS允許根據(jù)前面所描述的分類方案對(duì)商務(wù)請(qǐng)求進(jìn)行分類。
編目服務(wù)CATS在欄目CAT的基礎(chǔ)上運(yùn)行,在圖4中示意性地繪出了欄目CAT的例子。欄目CAT是具有多條記錄的表格。每一條欄目記錄包括多個(gè)字段BRID/CLID、BRCLS、ASSCMP、STUPSTAT、IN-FLGT STAT、C-SYS、SUB C-SYS、HEADER、TRAILER、ASSBR、XBR/XOBR、USAUT/ACC、MSGFRMT、OTHER INFO。
字段BRID/CLID包含標(biāo)識(shí)分類的商務(wù)請(qǐng)求的商務(wù)請(qǐng)求標(biāo)識(shí)符(A、B、C...),或者標(biāo)識(shí)商務(wù)請(qǐng)求類別的商務(wù)請(qǐng)求類別標(biāo)識(shí)符(例如NPCBR、NCBR...)。字段BRID/CLID是欄目CAT的輸入鍵(entry key)。
字段BRCLS包含商務(wù)請(qǐng)求類別標(biāo)識(shí)符(例如NPCBR、PCBR、OBR、XBR、XOBR),商務(wù)請(qǐng)求類別標(biāo)識(shí)符指定在相關(guān)聯(lián)的字段BRID/CLID中標(biāo)識(shí)的商務(wù)請(qǐng)求的類別。
字段ASSCMP包含與在相關(guān)聯(lián)的字段BRID/CLID中標(biāo)識(shí)的商務(wù)請(qǐng)求相關(guān)聯(lián)的部件(程序,或商務(wù)處理,或兩者皆有)的指示。例如,對(duì)于被標(biāo)識(shí)為A的商務(wù)請(qǐng)求,在欄目中沒(méi)有指定相關(guān)聯(lián)的程序或者事務(wù)處理當(dāng)商務(wù)請(qǐng)求A被接收到時(shí),被激活的部件是A自身;不同的是,對(duì)于被標(biāo)識(shí)為P的商務(wù)請(qǐng)求,程序PGh和事務(wù)處理Trk被指定,意味著當(dāng)商務(wù)請(qǐng)求P被接收到時(shí),事務(wù)處理Trk內(nèi)的程序PGh將被激活。
字段STUPSTAT定義了在系統(tǒng)啟動(dòng)(稍后描述)時(shí)要給予商務(wù)請(qǐng)求的狀態(tài)(開(kāi)或關(guān))。字段IN-FLGT STAT包含商務(wù)請(qǐng)求未定(in flight)時(shí)對(duì)其當(dāng)前狀態(tài)的指示。
字段C-SYS為OBR定義了它們所指向的對(duì)應(yīng)系統(tǒng)。在對(duì)應(yīng)系統(tǒng)具有一個(gè)或多個(gè)與其相關(guān)聯(lián)的子系統(tǒng)的情況下,字段SUB C-SYS指定了OBR指向字段C-SYS中所定義的對(duì)應(yīng)系統(tǒng)的哪一個(gè)子系統(tǒng)。儲(chǔ)存在字段C-SYS和SUB-C SYS中的信息形成了對(duì)欄目服務(wù)的訪問(wèn)鍵。
字段HEADER和TRAILER定義了商務(wù)請(qǐng)求,這些商務(wù)請(qǐng)求分別被在為在相關(guān)聯(lián)的字段BRID/CLID中標(biāo)識(shí)的商務(wù)請(qǐng)求服務(wù)之前和之后發(fā)出。在所示的例子中,當(dāng)接收到被標(biāo)識(shí)為A的商務(wù)請(qǐng)求時(shí),在為其服務(wù)之前和之后,分別為商務(wù)請(qǐng)求E和F服務(wù)。
字段ASSBR定義了商務(wù)請(qǐng)求,這些商務(wù)請(qǐng)求可以在為在相關(guān)聯(lián)的字段BRID/CLID中標(biāo)識(shí)的商務(wù)請(qǐng)求服務(wù)的同時(shí)被發(fā)出。再次參考所示的例子,當(dāng)接收到被標(biāo)識(shí)為A的當(dāng)商務(wù)請(qǐng)求時(shí)(并且在已經(jīng)服務(wù)了頭商務(wù)請(qǐng)求(headerbusiness request)E之后),服務(wù)商務(wù)請(qǐng)求G和H(跟著是尾商務(wù)請(qǐng)求(trailerbusiness request)F)。
字段XBR/XOBR(對(duì)EROBR是強(qiáng)制性的)定義了補(bǔ)償商務(wù)請(qǐng)求(XBR或XOBR),要執(zhí)行所述補(bǔ)償商務(wù)請(qǐng)求,用于補(bǔ)償由在相關(guān)聯(lián)的字段BRID/CLID中所標(biāo)識(shí)的商務(wù)請(qǐng)求所執(zhí)行的操作。在所示的例子中,為了補(bǔ)償在為商務(wù)請(qǐng)求A服務(wù)時(shí)所執(zhí)行的操作,發(fā)出了XBR J(XBR J反過(guò)來(lái)對(duì)應(yīng)于XOBR次序L和M)。如果對(duì)于給定的商務(wù)請(qǐng)求沒(méi)有指定特定的XBR,則將調(diào)用缺省的XBR,用于補(bǔ)償在商務(wù)請(qǐng)求內(nèi)所發(fā)出的OBR所執(zhí)行的操作;擴(kuò)展資源管理器ERM將在服務(wù)LOG所提供的信息的基礎(chǔ)上,確定補(bǔ)償操作??梢钥吹剑瑳](méi)有補(bǔ)償商務(wù)請(qǐng)求可以與XBR和XOBR相關(guān)聯(lián),因?yàn)樗鼈兪请[式的補(bǔ)償商務(wù)請(qǐng)求,其補(bǔ)償在由服務(wù)LOG所提供的信息(指示已經(jīng)被執(zhí)行的行為和那些要被執(zhí)行的行為)的基礎(chǔ)上實(shí)行。
總而言之,有關(guān)于商務(wù)請(qǐng)求A,儲(chǔ)存在欄目CAT內(nèi)的信息提供了在接收到商務(wù)請(qǐng)求A時(shí),商務(wù)請(qǐng)求序列E->G->H->F被實(shí)際發(fā)出和服務(wù);在出錯(cuò)的情況下,XBR J實(shí)行所執(zhí)行的操作的補(bǔ)償,XBR J反過(guò)來(lái)和XOBR序列L->M對(duì)應(yīng)。關(guān)于商務(wù)請(qǐng)求B,它是商務(wù)請(qǐng)求P的別名。在發(fā)出OBR G和H之后發(fā)生的故障事件中,缺省XBR被擴(kuò)展資源管理器ERM調(diào)用,并且涉及XOBRL和M的逆序列(reverse sequence)被自動(dòng)地實(shí)施。
字段USAUT/ACC定義了用于在相關(guān)聯(lián)的字段BRID/CLID中所標(biāo)識(shí)的商務(wù)請(qǐng)求的執(zhí)行允許的用戶權(quán)限等級(jí)和帳號(hào)。
字段MSGFRMT定義了在相關(guān)聯(lián)的字段BRID/CLID中所標(biāo)識(shí)的商務(wù)請(qǐng)求的調(diào)用消息的格式(指定了用于解釋的一組規(guī)則)。
字段OTHER INFO用于指示額外的信息可以被儲(chǔ)存在欄目CAT中。
除了用于特定商務(wù)請(qǐng)求(例如圖4中被標(biāo)識(shí)為A、B、C等的記錄)的記錄以外,欄目CAT還可以包括提供用于商務(wù)請(qǐng)求的類別的缺省信息的記錄,例如被標(biāo)識(shí)為NPCBR的記錄(用于所有類別NPCBR的商務(wù)請(qǐng)求)。當(dāng)接收到在列表A、B、C等中找不到、但是被標(biāo)識(shí)為NPCBR的商務(wù)請(qǐng)求時(shí),儲(chǔ)存在欄目的記錄NPCBR中的信息被應(yīng)用。在所示的例子中,為類別NPCBR指定的缺省信息包括開(kāi)(ON)狀態(tài)和XBR Z,所述開(kāi)(ON)狀態(tài)要在系統(tǒng)啟動(dòng)時(shí)被分配給每一個(gè)NPCBR,所述XBR Z在錯(cuò)誤的情況下或用于補(bǔ)償在NPCBR中發(fā)出的一個(gè)或多個(gè)OBR所執(zhí)行的操作的撤銷請(qǐng)求的情況下被調(diào)用。
此外,欄目CAT還可以包括指定關(guān)于NCBR的缺省信息的記錄,例如在所示例子中的記錄NCBR,要被給予任何非分類的商務(wù)請(qǐng)求。
最后,欄目CAT可以包括定義用于特定類別商務(wù)請(qǐng)求的重載信息(override information)的記錄(例如在所示例子中的記錄NPCBR)。
從欄目CAT取回的信息對(duì)商務(wù)請(qǐng)求的執(zhí)行上下文(execution context)的定義有貢獻(xiàn)。具體來(lái)說(shuō),編目過(guò)程,或者用于定義商務(wù)請(qǐng)求的執(zhí)行上下文的過(guò)程如下當(dāng)商務(wù)請(qǐng)求被發(fā)出時(shí),可以提供定義商務(wù)請(qǐng)求的執(zhí)行上下文的信息。在商務(wù)請(qǐng)求被顯式地調(diào)用的情況下,該信息可以被顯式地提供;或者在隱式的調(diào)用的情況下,該信息被從商務(wù)請(qǐng)求的調(diào)用的上下文推導(dǎo)出。通常,商務(wù)請(qǐng)求的顯式調(diào)用具有形式
a)APPcallBRM(BR,inpData,[XBR],[CTXT/ANNL data],[tran],[user]);b)BRcallERM(OBR,inpData,[C-SYS],[SUBC-SYS],[XOBR],[CTXT/ANNL data],[tran],[user]);c)XBRcallERM(XOBR,OBRinp/out/CTXT/ANNLdata,[C-SYS],[SUBC-SYS],[tran],[user],[previous XOBR in/reply/outcome])其中,a)代表應(yīng)用APP發(fā)出被編目或未被編目的商務(wù)請(qǐng)求的情況;b)代表商務(wù)請(qǐng)求(被編目或未被編目)發(fā)出OBR的情況;和c)代表在補(bǔ)償階段期間,XBR調(diào)用XOBR的情況。方括號(hào)內(nèi)的信息是可選的。具體來(lái)說(shuō),BR是被調(diào)用的商務(wù)請(qǐng)求的標(biāo)識(shí)符;inpData是在調(diào)用時(shí)所提供的輸入消息;C-SYS、SUBC-SYS是對(duì)應(yīng)系統(tǒng)和子系統(tǒng)的標(biāo)識(shí)符;XBR是補(bǔ)償商務(wù)請(qǐng)求的標(biāo)識(shí)符,在有必要進(jìn)行補(bǔ)償時(shí),系統(tǒng)將激活所述補(bǔ)償商務(wù)請(qǐng)求;XOBR是輸出補(bǔ)償商務(wù)請(qǐng)求的標(biāo)識(shí)符;CTXT/ANNL數(shù)據(jù)代表在調(diào)用時(shí)間所提供、可以在補(bǔ)償階段由系統(tǒng)使用的信息;tran和user定義了上下文(權(quán)限等級(jí)、事務(wù)處理等),被調(diào)用的商務(wù)請(qǐng)求在該上下文中被執(zhí)行。在調(diào)用XOBR(情況c)時(shí)所提供的信息可以包括與要被補(bǔ)償?shù)腛BR相關(guān)聯(lián)的信息,包括OBR的結(jié)果/回復(fù)消息。
此信息與儲(chǔ)存在欄目中的信息集成在一起。不同的優(yōu)先權(quán)等級(jí)被分配給不同的信息源;特別是,與商務(wù)請(qǐng)求的調(diào)用一起提供的信息具有超過(guò)在欄目中為該商務(wù)請(qǐng)求指定的信息的優(yōu)先權(quán),在欄目中為該商務(wù)請(qǐng)求指定的信息轉(zhuǎn)而具有超過(guò)在欄目中為該類別商務(wù)請(qǐng)求指定的缺省信息的優(yōu)先權(quán)。在欄目中為該類別商務(wù)請(qǐng)求指定的重載信息如果存在的話,具有最高的優(yōu)先權(quán)。
將要看到,可以提供兩個(gè)獨(dú)立的欄目而非單個(gè)欄目,一個(gè)用于商務(wù)請(qǐng)求管理器BRM,而另一個(gè)用于擴(kuò)展資源管理器ERM。可以在多于一個(gè)表中構(gòu)建一個(gè)或幾個(gè)欄目。
系統(tǒng)SYS的專用部件(配置部件)使得能夠配置系統(tǒng),特別是欄目CAT。
目錄服務(wù)DIRS目錄服務(wù)DIRS提供了定義OBR的執(zhí)行上下文的信息。
目錄服務(wù)DIRS在目錄DIR的基礎(chǔ)上工作,圖5中示意性地繪出了它的一個(gè)例子。目錄DIR是具有多條記錄的表。每一條欄目記錄包括多個(gè)字段C-SYS、SUB C-SYS、ASSCMP、C-SYS ST-UP STAT、C-SYS IN-FLGT STAT、CNCT ID、CNCT ATTR、SIGN-ON、IN-DOUBT、BACKOUT、VER、SYS RECMODE、TO、USAUT/ACC、MSGFRMT。
字段C-SYS、SUB C-SYS是目錄DIR的輸入鍵。當(dāng)OBR被調(diào)用時(shí),從上面所描述的編目過(guò)程導(dǎo)出此信息。
字段ASSCMP和在欄目CAT中的字段ASSCMP類似,包含對(duì)與OBR相關(guān)聯(lián)的部件(程序,或事務(wù)處理,或兩者皆有)的指示。在目錄的這個(gè)字段中指定的信息重載從上面所描述的編目過(guò)程導(dǎo)出的那個(gè);如果在這個(gè)目錄字段中沒(méi)有指定相關(guān)聯(lián)的部件,則從編目過(guò)程導(dǎo)出的信息保持有效。參考所示例子,每一次調(diào)用指向?qū)?yīng)系統(tǒng)C-SYS2的OBR,將執(zhí)行遠(yuǎn)程事務(wù)處理RMTRq內(nèi)的遠(yuǎn)程程序RMPGp。
字段C-SYS ST-UP STAT定義了在系統(tǒng)SYS啟動(dòng)時(shí)對(duì)應(yīng)系統(tǒng)的狀態(tài);如果這個(gè)字段被設(shè)置為開(kāi)(ON),則在系統(tǒng)SYS啟動(dòng)時(shí)不需要執(zhí)行用于對(duì)應(yīng)系統(tǒng)的系統(tǒng)恢復(fù)過(guò)程。字段C-SYS IN-FLGT STAT定義了對(duì)應(yīng)系統(tǒng)的當(dāng)前狀態(tài)如果被設(shè)置為開(kāi)(ON),則此字段指示對(duì)應(yīng)系統(tǒng)是可用的。
字段CNCT ID提供了擴(kuò)展資源管理器ERM調(diào)用的連接器的標(biāo)識(shí)符,用于和對(duì)應(yīng)系統(tǒng)建立連接。連接器是負(fù)責(zé)連接系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)的部件,OBR指向所述對(duì)應(yīng)系統(tǒng)。期望連接包括處理在邏輯層和物理層的通信協(xié)議。對(duì)于每一個(gè)對(duì)應(yīng)系統(tǒng),可以定義一個(gè)或多個(gè)連接器,給定連接器的選擇依賴于通信問(wèn)題的考慮,依賴于采用的通信范例,以及依賴于OBR的性質(zhì)。每一個(gè)連接器最好被設(shè)計(jì)成能夠一次支持與一個(gè)或多個(gè)對(duì)應(yīng)系統(tǒng)的多個(gè)會(huì)話(指向一個(gè)或多個(gè)對(duì)應(yīng)系統(tǒng)的OBR)。連接器輔助擴(kuò)展資源管理器ERM實(shí)行OBR主張、OBR補(bǔ)償(XOBR)、系統(tǒng)開(kāi)始(sign-on)和驗(yàn)證階段、存疑狀況的解決行為中的任何一個(gè)。
當(dāng)開(kāi)發(fā)了新的OBR時(shí),要與其相關(guān)聯(lián)的連接器需要被標(biāo)識(shí);如果可用的連接器中無(wú)一合適,則需要根據(jù)新的OBR的應(yīng)用協(xié)議和擴(kuò)展資源管理器ERM的激活協(xié)議,開(kāi)發(fā)新的連接器。
字段CNCT ATTR指定了用于連接器的信息,例如要被建立的連接的屬性,定義了通信的類型以及建立連接要利用的資源。此信息重載了連接器的缺省信息。
字段SIGN-ON、IN-DOUBT、BACKOUT和VER分別指定了開(kāi)始過(guò)程、存疑過(guò)程、撤銷過(guò)程和驗(yàn)證過(guò)程,這些過(guò)程在系統(tǒng)恢復(fù)階段(稍后描述)被激活。如果在這些字段中沒(méi)有標(biāo)識(shí)特定的過(guò)程,則利用由擴(kuò)展資源管理器ERM所實(shí)施的缺省過(guò)程;反之,如果指定了特定的過(guò)程,則激活這些過(guò)程以替代缺省過(guò)程。
字段SYS REC MODE指定了商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM將采用的系統(tǒng)恢復(fù)/任務(wù)恢復(fù)逐步升級(jí)(escalation)范例(稍后描述),用于對(duì)對(duì)應(yīng)系統(tǒng)的錯(cuò)誤操作或不可用性(unavailability)做出反應(yīng)。還是在這種情況下,可以定義缺省范例,如果在欄目中沒(méi)有提供特定的信息,則采用該缺省范例。
字段TO指定了超時(shí)時(shí)間,即連接器(和擴(kuò)展資源管理器ERM)被授權(quán)等待來(lái)自對(duì)應(yīng)系統(tǒng)的回復(fù)的最大時(shí)間;如果經(jīng)過(guò)了超時(shí)時(shí)間而未接收到回復(fù),則該操作被分類為存疑。
字段USAUT/ACC和MSGFRMT包含和在欄目CAT的對(duì)應(yīng)字段中包含的類似的信息;特別是,字段USAUT/ACC指定了用戶和相關(guān)聯(lián)的特權(quán),用以為商務(wù)請(qǐng)求服務(wù)。字段MSGFRMT標(biāo)識(shí)了與OBR的調(diào)用一起提供的數(shù)據(jù)的格式。
當(dāng)OBR被發(fā)出時(shí),從目錄DIR(通過(guò)在欄目CAT的字段C-SYS和SUBC-SYS中指定的訪問(wèn)鍵訪問(wèn))取回的信息完成從編目過(guò)程導(dǎo)出的執(zhí)行上下文信息。當(dāng)被擴(kuò)展資源管理器ERM調(diào)用時(shí),幾條信息(特別是與OBR相關(guān)聯(lián)的遠(yuǎn)程程序/事務(wù)處理、連接屬性、超時(shí)時(shí)間、用戶和消息格式)被提供給連接器;擴(kuò)展資源管理器ERM直接利用有關(guān)對(duì)應(yīng)系統(tǒng)狀態(tài)、開(kāi)始、存疑、撤銷和驗(yàn)證過(guò)程,以及逐步升級(jí)范例的信息。
依靠系統(tǒng)配置部件,可以配置目錄DIR。
日志服務(wù)LOG日志服務(wù)LOG專門用于在專用檔案文件(日志檔案文件)中儲(chǔ)存涉及系統(tǒng)SYS的行為的綜合和詳細(xì)的信息,包括資源管理器協(xié)調(diào)器RMC和資源管理器RM、商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM所執(zhí)行的操作。被儲(chǔ)存的信息提供了所發(fā)生的事件在邏輯上一致的視圖,當(dāng)需要補(bǔ)償行為時(shí)可以使用所述視圖。
儲(chǔ)存在日志檔案文件中的信息由商務(wù)請(qǐng)求管理器BRM或擴(kuò)展資源管理器ERM在涉及到的不同底層部件的商務(wù)請(qǐng)求的處理和/或補(bǔ)償期間,顯式地提供。
日志服務(wù)LOG作為資源管理器,在資源管理器協(xié)調(diào)器RMC的協(xié)調(diào)之下工作。數(shù)據(jù)被商務(wù)請(qǐng)求管理器或擴(kuò)展資源管理器提供給日志服務(wù);資源管理器協(xié)調(diào)器協(xié)調(diào)日志服務(wù),與其他的資源管理器類似。日志服務(wù)確定商務(wù)請(qǐng)求管理器或擴(kuò)展資源管理器接收到的信息相應(yīng)于任何UOW要被如何處置如果給定的UOW被提交,則相應(yīng)于該UOW儲(chǔ)存在日志檔案文件的信息被固定;如果UOW被撤回,則相應(yīng)于該UOW儲(chǔ)存在日志檔案文件的信息對(duì)于可能的補(bǔ)償行為是可用的。商務(wù)請(qǐng)求管理器或擴(kuò)展資源管理器所提供的信息被用涉及到上下文的信息(例如工作單元、狀態(tài)信息、工作單元完成代碼)完成,在該上下文中執(zhí)行UOW。
為了允許對(duì)儲(chǔ)存在日志檔案文件中的信息的快速訪問(wèn),日志服務(wù)邏輯地組織儲(chǔ)存在日志檔案文件中的信息。具體來(lái)說(shuō),信息按照EXT-UOW、EXT-UOW的UOW、實(shí)施UOW的任務(wù)、商務(wù)請(qǐng)求、在商務(wù)請(qǐng)求中調(diào)用的OBR和OBR指向的對(duì)應(yīng)系統(tǒng)來(lái)組織。利用了EXT-UOW、UOW、任務(wù)、商務(wù)請(qǐng)求、OBR和對(duì)應(yīng)系統(tǒng)的標(biāo)識(shí)符代碼。
當(dāng)接收到商務(wù)請(qǐng)求時(shí),事務(wù)處理管理器TM激活由程序?qū)嵤┑娜蝿?wù),事務(wù)處理在任務(wù)中運(yùn)行。事務(wù)處理管理器把UOW與任務(wù)相關(guān)聯(lián),給其分配單意標(biāo)識(shí)符代碼。如果商務(wù)請(qǐng)求被商務(wù)請(qǐng)求管理器攔截,則為其分配單意標(biāo)識(shí)符代碼。如果在商務(wù)請(qǐng)求內(nèi)發(fā)出了OBR,則為其分配單意標(biāo)識(shí)符代碼。所有這些單意標(biāo)識(shí)符代碼被提供給日志服務(wù)。
依靠日志服務(wù),每一個(gè)服務(wù)請(qǐng)求的詳細(xì)的歷史(完成的、因?yàn)槲炊ɑ虮谎舆t而還未完成的)可以被確定,包括顯式或隱式的補(bǔ)償行為。
在為服務(wù)請(qǐng)求服務(wù)期間的錯(cuò)誤或存疑狀況的情況下,上下文信息(或者由擴(kuò)展資源管理器提供,和/或由日志服務(wù)直接收集)被儲(chǔ)存在日志檔案文件中,要被用于后續(xù)的細(xì)化和/或評(píng)估任務(wù)/系統(tǒng)恢復(fù)服務(wù)。
轉(zhuǎn)向前面所列出的調(diào)用格式,在OBR被調(diào)用的時(shí)間,單個(gè)OBR請(qǐng)求能夠被特定用戶數(shù)據(jù)ANNL伴隨,也能夠被日志(LOG)服務(wù)儲(chǔ)存。變成了OBR調(diào)用上下文的一部分的這些用戶數(shù)據(jù)也可以被用于后續(xù)的、由任務(wù)恢復(fù)服務(wù)和系統(tǒng)恢復(fù)服務(wù)進(jìn)行的細(xì)化和/或評(píng)估,對(duì)于XBR過(guò)程可用,或被直接地提供給連接服務(wù)CNCT。
日志服務(wù)處理錨定點(diǎn)(anchor point),用于標(biāo)識(shí)EXT-UOW、UOW、任務(wù)還未完成。當(dāng)EXT-UOW被完成時(shí),在EXT-UOW的執(zhí)行期間帶給資源的改變被提交之后,或在補(bǔ)償操作以后,達(dá)到一種狀況,涉及那個(gè)EXT-UOW的錨定點(diǎn)被刪除;以這種方式,有可能在任何時(shí)間,很容易地確定哪一個(gè)行為正被執(zhí)行、被暫?;虻却煌瓿?。
在補(bǔ)償階段,被接收或捕獲、并且儲(chǔ)存在日志檔案文件中的信息使得能夠如期地確定用于達(dá)到動(dòng)態(tài)確定的一致?tīng)顟B(tài)所需的操作序列。這時(shí),此信息還可以被XBR部件或被連接服務(wù)CNCT混合和/或重新安排,以便組成XOBR輸入消息。缺省時(shí),不存在加給所涉及的XBR或連接器的任何商務(wù)邏輯,由缺省XBR建立的XOBR輸入消息可以是下列(由儲(chǔ)存在欄目和/或欄目中的信息導(dǎo)出)其中之一-原始OBR輸入消息;-OBR回復(fù)消息;-在OBR調(diào)用時(shí)間提供的數(shù)據(jù)CTXT/ANNL;-包括數(shù)據(jù)IN/OUT/CTXT/ANNL的多段數(shù)據(jù)。
更具體地,儲(chǔ)存在日志檔案文件中的數(shù)據(jù)依賴于所涉及的部件和商務(wù)請(qǐng)求的性質(zhì),如下表所述



錯(cuò)誤恢復(fù)服務(wù)ERR錯(cuò)誤恢復(fù)服務(wù)ERR專門用于控制由于在應(yīng)用或底層中的錯(cuò)誤操作所致的錯(cuò)誤狀況。在系統(tǒng)啟動(dòng)時(shí),以及在指向事務(wù)處理或程序的服務(wù)請(qǐng)求的執(zhí)行期間發(fā)生錯(cuò)誤的時(shí)候,此服務(wù)由事務(wù)處理管理器TM激活。
在激活錯(cuò)誤恢復(fù)服務(wù)ERR之前,涉及到的所有應(yīng)用或底層部件試圖自發(fā)地處理錯(cuò)誤狀況,以便解決它,或者發(fā)出適當(dāng)?shù)男盘?hào)??偟膩?lái)說(shuō),不需要向事務(wù)處理管理器TM聲明任何錯(cuò)誤;錯(cuò)誤狀況可用被降級(jí)為應(yīng)用錯(cuò)誤,并由各個(gè)應(yīng)用來(lái)處理。
如果錯(cuò)誤狀況持續(xù)(或者是因?yàn)閼?yīng)用不能處理錯(cuò)誤狀況,或者是因?yàn)殄e(cuò)誤狀況不能被降級(jí)),則事務(wù)處理管理器TM激活錯(cuò)誤恢復(fù)服務(wù)ERR。錯(cuò)誤恢復(fù)服務(wù)ERR,在導(dǎo)致該錯(cuò)誤狀況的任務(wù)的UOW內(nèi),分類并處理該錯(cuò)誤狀況;上下文信息被日志服務(wù)LOG存檔在日志檔案文件中;此信息對(duì)任務(wù)恢復(fù)服務(wù)TR和商務(wù)請(qǐng)求保護(hù)服務(wù)PR可能是有用的。
具體來(lái)說(shuō),所獲得的信息涉及商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM的邏輯狀態(tài)(確定錯(cuò)誤狀況的處理)、在執(zhí)行中的行為的種類(正常處理、撤銷、補(bǔ)償、存疑解決、系統(tǒng)恢復(fù)、任務(wù)恢復(fù))、涉及到的部件的類型、錯(cuò)誤的種類以及它是如何被產(chǎn)生的。
錯(cuò)誤恢復(fù)服務(wù)ERR確定要執(zhí)行的操作,采取下列操作之一a) 確認(rèn)錯(cuò)誤狀況,并把控制返回給事務(wù)處理管理器TM;事務(wù)處理管理器自動(dòng)地激活撤銷過(guò)程,該撤銷過(guò)程由資源管理器協(xié)調(diào)器RMC管理;b) 任務(wù)恢復(fù)服務(wù)TRS激活任務(wù)恢復(fù)過(guò)程,用于收集和組織擴(kuò)展資源管理器ERM將要使用的信息;然后,控制被返回給事務(wù)處理控制器TM,其自動(dòng)地激活撤銷過(guò)程,該撤銷過(guò)程由資源管理器協(xié)調(diào)器RMC管理;然后,資源管理器協(xié)調(diào)器將調(diào)用擴(kuò)展資源管理器ERM,其將執(zhí)行支持可能的補(bǔ)償行為的操作;c) 任務(wù)恢復(fù)服務(wù)TRS激活任務(wù)恢復(fù)過(guò)程,并阻止錯(cuò)誤處理過(guò)程;控制被返回給事務(wù)處理管理器TM,用于自動(dòng)地激活由資源管理器協(xié)調(diào)器RMC管理的提交過(guò)程;這樣,錯(cuò)誤狀況不被事務(wù)處理管理器處理。
錯(cuò)誤恢復(fù)服務(wù)ERR不直接成為隱式或顯式補(bǔ)償階段的一部分;這些活動(dòng)由擴(kuò)展資源管理器ERM管理,和其他的資源管理器RM類似,在服務(wù)請(qǐng)求的執(zhí)行期間所發(fā)生的改變的撤銷階段,由資源管理器協(xié)調(diào)器RMC激活。
在a)和b)情況中,將執(zhí)行撤銷;撤銷可能涉及到補(bǔ)償過(guò)程,其可能先于補(bǔ)償過(guò)程。
對(duì)于情況b)和c),為了保證即使在應(yīng)用或底層錯(cuò)誤操作的情況下,負(fù)責(zé)管理推遲的補(bǔ)償行為的商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM也被適當(dāng)?shù)丶せ?,錯(cuò)誤恢復(fù)服務(wù)ERR總是在存在PCBR、XBR和XOBR時(shí),激活任務(wù)恢復(fù)服務(wù)TRS。
UOW保護(hù)服務(wù)UOW-P此服務(wù)確保UOW的完整性,在此條件下,在服務(wù)請(qǐng)求的處理中運(yùn)行一個(gè)或多個(gè)應(yīng)用程序。利用日志服務(wù)LOG,UOW保護(hù)服務(wù)UOW-P攔截由在商務(wù)請(qǐng)求的處理中涉及的應(yīng)用發(fā)出的顯式的提交和撤銷請(qǐng)求,阻止提交命令的執(zhí)行;撤銷命令被執(zhí)行,并通知給商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM,并被使得對(duì)任何其他的應(yīng)用或部件可用,以便允許可能的失調(diào)導(dǎo)致的推遲處理。
具體來(lái)說(shuō),UOW保護(hù)服務(wù)防止顯式的提交命令在COO-UOW或EXT-UOW的情況下被執(zhí)行,從而避免了它的分裂(fragmentation);在撤銷命令的情況下,該命令被執(zhí)行,并且UOW保護(hù)服務(wù)通知商務(wù)請(qǐng)求管理器和擴(kuò)展資源管理器。這樣,UOW保護(hù)服務(wù)保護(hù)了COO-UOW和EXT-UOW的完整性,保障所有為服務(wù)請(qǐng)求所執(zhí)行的操作僅受到一致的和不分裂的UOW的支配。這樣,僅僅在處理結(jié)束,在輸入消息獲取、消息處理、回復(fù)輸出消息產(chǎn)生階段完成之后,每一個(gè)行為才被隱式地視為完成。
感謝UOW保護(hù)服務(wù),商務(wù)請(qǐng)求管理器BRM保證每一個(gè)服務(wù)請(qǐng)求被單意地處理,并產(chǎn)生單意的回復(fù),避免了輸入/輸出消息的丟失,和/或產(chǎn)生多個(gè)回復(fù)消息。
在這種情景中,當(dāng)部件(與商務(wù)請(qǐng)求管理器和擴(kuò)展資源管理器不同)發(fā)出顯式的提交請(qǐng)求后,處理被攔截,并且錯(cuò)誤狀況被通知給事務(wù)處理管理器;錯(cuò)誤狀況被錯(cuò)誤恢復(fù)服務(wù)攔截,錯(cuò)誤恢復(fù)服務(wù)將如前面所描述的那樣,處理錯(cuò)誤狀況。當(dāng)部件發(fā)出顯式的撤銷請(qǐng)求時(shí),該命令被執(zhí)行,但是UOW保護(hù)服務(wù)向商務(wù)請(qǐng)求管理器和擴(kuò)展資源管理器通知撤銷事件,以便該事件被在任務(wù)終結(jié)階段期間被后續(xù)處理。
任務(wù)恢復(fù)服務(wù)TSR此服務(wù)負(fù)責(zé)處理任務(wù)恢復(fù)過(guò)程。
在用于處理商務(wù)請(qǐng)求的通用任務(wù)(未定的任務(wù))的執(zhí)行期間,可能發(fā)生被錯(cuò)誤恢復(fù)服務(wù)ERR處理的錯(cuò)誤,或者是被資源管理器協(xié)調(diào)器RMC協(xié)調(diào)的撤銷請(qǐng)求。在這兩種情況中,都激活任務(wù)恢復(fù)過(guò)程在第一種情況下,如前面所描述的那樣,由錯(cuò)誤恢復(fù)服務(wù)ERR,在第二種情況下,由擴(kuò)展資源管理器ERM,依次由資源管理器協(xié)調(diào)器RMC激活。
任務(wù)恢復(fù)過(guò)程還在系統(tǒng)故障或關(guān)閉之后的系統(tǒng)恢復(fù)過(guò)程(稍后描述)中的系統(tǒng)SYS啟動(dòng)時(shí)被激活,以允許標(biāo)識(shí)商務(wù)請(qǐng)求的商務(wù)請(qǐng)求管理器和擴(kuò)展資源管理器被激活或被再激活。特別是,商務(wù)請(qǐng)求管理器標(biāo)識(shí)和啟動(dòng)/重新啟動(dòng)先前未定的或在等待的PCBR,而擴(kuò)展資源管理器標(biāo)識(shí)和啟動(dòng)/重新啟動(dòng)先前未定的或在等待的補(bǔ)償商務(wù)請(qǐng)求(XBR)。為達(dá)到此目的,任務(wù)恢復(fù)服務(wù)把從日志服務(wù)LOG獲取的信息與資源管理器協(xié)調(diào)器RMC提供的信息(用于未定的任務(wù)和用于未決補(bǔ)償任務(wù))合并,以收集(為每一個(gè)單個(gè)任務(wù))恢復(fù)階段必需的信息,在恢復(fù)階段中,將涉及到擴(kuò)展資源管理器。
在任務(wù)恢復(fù)過(guò)程期間,儲(chǔ)存在日志檔案文件中的數(shù)據(jù)被分析,以便為每一個(gè)單個(gè)任務(wù)標(biāo)識(shí)當(dāng)前的UOW,以及為每一個(gè)被標(biāo)識(shí)的UOW標(biāo)識(shí)相關(guān)的狀態(tài)和涉及到的資源。
在此操作后,獲得了先前未定的或未決的PCBR的完整列表,這些PCBR必須由商務(wù)請(qǐng)求管理器再激活,并且,對(duì)于擴(kuò)展資源管理器,獲得了用于補(bǔ)償任何先前未定的商務(wù)請(qǐng)求的XBR/XOBR的完整列表和補(bǔ)償未決商務(wù)請(qǐng)求的列表。
PCBR立刻由商務(wù)請(qǐng)求管理器再激活;EROBR的激活則被推遲到補(bǔ)償階段(如果有的話)完成之后。
擴(kuò)展資源管理器依據(jù)編目服務(wù)CAT和目錄服務(wù)DIR所提供的信息,或者在單個(gè)UOW的層次上激活補(bǔ)償任務(wù),或者在單個(gè)對(duì)應(yīng)系統(tǒng)的層次上彼此連續(xù)地激活補(bǔ)償任務(wù)。
系統(tǒng)恢復(fù)服務(wù)SYS-R此服務(wù)處理系統(tǒng)恢復(fù)過(guò)程(示意性地在圖6中示出),該系統(tǒng)恢復(fù)過(guò)程在系統(tǒng)SYS啟動(dòng)時(shí),針對(duì)目錄服務(wù)DIRS所擁有的表DIR中定義的每一個(gè)對(duì)應(yīng)系統(tǒng)被實(shí)行。在系統(tǒng)恢復(fù)過(guò)程中,主要涉及擴(kuò)展資源管理器,盡管只要與PCBR有關(guān),商務(wù)請(qǐng)求管理器也被部分地涉及到。
系統(tǒng)恢復(fù)過(guò)程允許在系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)之間,例如系統(tǒng)C-SYS1、C-SYS2之間,建立單意同步點(diǎn),從該點(diǎn)開(kāi)始進(jìn)行后續(xù)的服務(wù)請(qǐng)求的執(zhí)行。
此外,當(dāng)異常事件與一個(gè)或多個(gè)對(duì)應(yīng)系統(tǒng)有關(guān)聯(lián)地發(fā)生時(shí),系統(tǒng)恢復(fù)服務(wù)還激活系統(tǒng)恢復(fù)過(guò)程;這樣的異常事件,或者被應(yīng)用部件攔截,或者被底層服務(wù)(擴(kuò)展資源管理器)攔截,可能使得有必要將系統(tǒng)SYS與對(duì)應(yīng)系統(tǒng)重新調(diào)校(re-align),以建立一致點(diǎn)。在這種情況下,系統(tǒng)恢復(fù)過(guò)程被僅僅相應(yīng)于其中發(fā)生了異常事件的對(duì)應(yīng)系統(tǒng)選擇性地實(shí)行。
系統(tǒng)恢復(fù)過(guò)程的目標(biāo)是使對(duì)應(yīng)系統(tǒng)的邏輯狀態(tài)(根據(jù)目錄DIR中的字段C-SYS、ST-UP STAT和SYS IN-FLGT STAT,對(duì)系統(tǒng)SYS來(lái)說(shuō)是已知的)進(jìn)入開(kāi)(ON),指示對(duì)應(yīng)系統(tǒng)是可操作的,按照預(yù)定的步驟序列;為實(shí)現(xiàn)它,如果有必要,可以由擴(kuò)展資源管理器將系統(tǒng)和應(yīng)用功能都激活。
具體來(lái)說(shuō),系統(tǒng)恢復(fù)過(guò)程包括下列步驟對(duì)應(yīng)系統(tǒng)沉寂(counterpartsystem quiesce,在下面被簡(jiǎn)稱為C-SYS QUIESCE),對(duì)應(yīng)系統(tǒng)停止(counterpartsystem stop,C-SYS STOP),對(duì)應(yīng)系統(tǒng)開(kāi)始(counterpart system sign-on,C-SYSSIGN-ON),對(duì)應(yīng)系統(tǒng)存疑(counterpart system in-doubt,C-SYS IN-DOUBT),對(duì)應(yīng)系統(tǒng)撤回(counterpart system backout,C-SYS BACKOUT),對(duì)應(yīng)系統(tǒng)驗(yàn)證(counterpart system verify,C-SYS VERIFY),對(duì)應(yīng)系統(tǒng)就緒(counterpartsystem ready,C-SYS READY)。下面將先詳細(xì)地討論這些步驟。
在C-SYS QUIESCE步驟,擴(kuò)展資源管理器ERM在邏輯上廢能對(duì)應(yīng)系統(tǒng),把目錄DIR中的各個(gè)狀態(tài)設(shè)置為QUIESCE。以這種方式,指向?qū)?yīng)系統(tǒng)的任何可能的新的商務(wù)請(qǐng)求被拒絕(如果是非受保護(hù)的)或推遲(如果是受保護(hù)的),直到對(duì)應(yīng)系統(tǒng)被擴(kuò)展資源管理器返回到就緒(開(kāi),ON)狀態(tài)為止。然后,等待由商務(wù)請(qǐng)求管理器或擴(kuò)展資源管理器管理的、涉及對(duì)應(yīng)系統(tǒng)的任何未定的操作的完成。
如果此步驟不能被成功地完成(例如,因?yàn)榇嬖谏婕暗綄?duì)應(yīng)系統(tǒng)的未定的事務(wù)處理,所以不能被完成),則整個(gè)系統(tǒng)恢復(fù)過(guò)程被推遲一個(gè)時(shí)間間隔,該時(shí)間間隔在目錄DIR中定義(在超時(shí)時(shí)間字段TO)。在該時(shí)間間隔已經(jīng)過(guò)去后,系統(tǒng)恢復(fù)過(guò)程被再次激活。
在C-SYS STOP步驟,在C-SYS QUIESCE步驟的成功結(jié)果的情況下進(jìn)入此步驟,擴(kuò)展資源管理器強(qiáng)迫對(duì)應(yīng)系統(tǒng)的狀態(tài)為目錄DIR中指定的STOP。當(dāng)對(duì)應(yīng)系統(tǒng)的狀態(tài)為STOP時(shí),保證沒(méi)有涉及該對(duì)應(yīng)系統(tǒng)的行為正在系統(tǒng)SYS中運(yùn)行;STOP狀態(tài)還聲明,對(duì)應(yīng)系統(tǒng)不能用于處理服務(wù)請(qǐng)求。UOW的補(bǔ)償被中斷,并被推遲到后續(xù)的C-SYS BACKOUT步驟。對(duì)應(yīng)系統(tǒng)的狀態(tài)被自動(dòng)地強(qiáng)迫為SIGN-ON。
對(duì)應(yīng)系統(tǒng)還可以被系統(tǒng)SYS的系統(tǒng)管理器部件的命令強(qiáng)迫到STOP狀態(tài);在這種情況下,對(duì)應(yīng)系統(tǒng)仍處于STOP狀態(tài),直到系統(tǒng)恢復(fù)過(guò)程被成功地再激活。
在C-SYS SIGN-ON步驟,系統(tǒng)SYS建立到對(duì)應(yīng)系統(tǒng)的邏輯鏈接和/或與對(duì)應(yīng)系統(tǒng)的一致點(diǎn)?;谀夸汥IR中的信息(字段SIGN-ON),預(yù)期用于為該對(duì)應(yīng)系統(tǒng)管理此行為的預(yù)定開(kāi)始過(guò)程被標(biāo)識(shí),并被激活。如果在針對(duì)該對(duì)應(yīng)系統(tǒng)的目錄中沒(méi)有特定的開(kāi)始過(guò)程被聲明,則擴(kuò)展資源管理器執(zhí)行缺省動(dòng)作,由連接服務(wù)(即連接器部件)實(shí)施。被標(biāo)識(shí)的開(kāi)始過(guò)程可以要求對(duì)擴(kuò)展資源管理器ERM的服務(wù);這些具有NROBR形式的服務(wù)實(shí)行了下列階段使得系統(tǒng)SYS被對(duì)應(yīng)系統(tǒng)標(biāo)識(shí)(利用保護(hù)在目錄字段USAUT/ACC中的信息),協(xié)商對(duì)應(yīng)系統(tǒng)資源,對(duì)應(yīng)系統(tǒng)將必須分配這些資源,用于支持來(lái)自系統(tǒng)SYS的服務(wù)請(qǐng)求,獲取/協(xié)商將來(lái)的OBR的標(biāo)識(shí)代碼。OBR標(biāo)識(shí)代碼可以仍在應(yīng)用域(即,它們僅在連接器層已知),或被向擴(kuò)展資源管理器聲明,以便隨后被自動(dòng)地與將來(lái)的OBR相關(guān)(在日志檔案文件層),將來(lái)的OBR指向?qū)?yīng)系統(tǒng);對(duì)于每一個(gè)OBR,調(diào)用服務(wù)的應(yīng)用從而能夠向擴(kuò)展資源管理器ERM聲明與被調(diào)用的服務(wù)請(qǐng)求相關(guān)聯(lián)的標(biāo)識(shí)符代碼,并向接收到的回復(fù)聲明,以便允許激活消息、回復(fù)消息和在對(duì)應(yīng)系統(tǒng)上執(zhí)行的任務(wù)之間的自動(dòng)相關(guān)。
C-SYS SIGN-ON步驟的成功結(jié)果涉及到在目錄DIR中指定的對(duì)應(yīng)系統(tǒng)的狀態(tài)的自動(dòng)轉(zhuǎn)換(從SIGN-ON到IN-DOUBT)。在不成功的結(jié)果的條件下,整個(gè)系統(tǒng)恢復(fù)過(guò)程被推遲了一個(gè)時(shí)間間隔,該時(shí)間間隔在目錄DIR中的超時(shí)字段TO中定義。
在C-SYS IN-DOUBT步驟,從對(duì)應(yīng)系統(tǒng)中出現(xiàn)的可能的存疑狀況被檢測(cè)到并被解決。存疑狀況是擴(kuò)展資源管理器還不能獲取或單意地解決相應(yīng)于對(duì)應(yīng)系統(tǒng)所發(fā)出的通用OBR/XOBR的結(jié)果的那些狀況。存疑狀況的解決對(duì)成功的C-SYS BACKOUT步驟是必不可少的,在C-SYS BACKOUT步驟期間,未被解決的或暫停的UOW將被分析和細(xì)化,這些UOW與產(chǎn)生過(guò)錯(cuò)誤的可恢復(fù)OBR相關(guān)聯(lián)。例如,如果對(duì)應(yīng)系統(tǒng)關(guān)閉,或到其的通信鏈接在OBR的執(zhí)行期間斷開(kāi),則擴(kuò)展資源管理器將OBR看作存疑,直到對(duì)應(yīng)系統(tǒng)的狀態(tài)被確定為止(在C-SYS SIGN-ON步驟)。
存疑狀況的解決為確定異常狀況中所涉及的每一個(gè)OBR/XOBR的結(jié)果,以及獲取依據(jù)上下文產(chǎn)生的回復(fù)消息(如果有的話)作了準(zhǔn)備。通過(guò)異常狀況,期望防止擴(kuò)展資源管理器獲取回復(fù)消息的任何事件異常狀況可能是在OBR/XOBR的處理中的故障所致,或是由對(duì)應(yīng)系統(tǒng)引起的通用錯(cuò)誤所致。
在目錄DIR中存在的信息的基礎(chǔ)上,用于管理存疑狀況的解決的特定過(guò)程被標(biāo)識(shí)和激活;如果沒(méi)有標(biāo)識(shí)特定的過(guò)程,則擴(kuò)展資源管理器執(zhí)行由連接服務(wù)所提供的缺省動(dòng)作。為了存疑狀況的解決,可用利用在C-SYS SIGN-ON步驟所協(xié)商的OBR/XOBR標(biāo)識(shí)代碼。
如果擴(kuò)展資源管理器在日志檔案文件中存在的信息的基礎(chǔ)上能夠確定,操作是否已經(jīng)在對(duì)應(yīng)系統(tǒng)上被執(zhí)行,哪一個(gè)是結(jié)果,以及哪一個(gè)回復(fù)消息已經(jīng)被產(chǎn)生,則認(rèn)為存疑狀況被解決。依據(jù)負(fù)責(zé)管理與對(duì)應(yīng)系統(tǒng)的連接的連接器(例如在目錄字段CNCT ID中指定),為擴(kuò)展資源管理器提供了用于解決存疑狀況的不同模式;例如,使用OBR/XOBR標(biāo)識(shí)符代碼,連接器可以詢問(wèn)對(duì)應(yīng)系統(tǒng),以便知道對(duì)應(yīng)系統(tǒng)所執(zhí)行的最后操作,或者,如果OBR/XOBR已經(jīng)被執(zhí)行,當(dāng)顯式請(qǐng)求時(shí),對(duì)應(yīng)系統(tǒng)可能能夠回復(fù)“完成”或“未完成”。
C-SYS IN-DOUBT步驟的成功結(jié)果引起對(duì)應(yīng)系統(tǒng)的狀態(tài)從IN-DOUBT自動(dòng)改變到BACKOUT。在不成功的結(jié)果的情況下,整個(gè)系統(tǒng)恢復(fù)過(guò)程被推遲一個(gè)時(shí)間間隔,該時(shí)間間隔在目錄中定義。當(dāng)系統(tǒng)恢復(fù)過(guò)程被在所有的對(duì)應(yīng)系統(tǒng)上執(zhí)行時(shí),并且存疑狀況僅能針對(duì)一些對(duì)應(yīng)系統(tǒng)被解決時(shí),這些前進(jìn)到下一步。
在C-SYS BACKOUT步驟,擴(kuò)展資源管理器標(biāo)識(shí)未決或未解決的UOW,這些UOW涉及相應(yīng)于對(duì)應(yīng)系統(tǒng)所發(fā)出的OBR。一旦這些UOW被標(biāo)識(shí),則嘗試或不嘗試其補(bǔ)償,取決于編目服務(wù)CATS和目錄服務(wù)DIRS所提供的信息。具體來(lái)說(shuō),對(duì)EROBR嘗試補(bǔ)償,而對(duì)于IROBR,不嘗試補(bǔ)償;此外,在欄目字段ST-UP STAT、IN-FLGT STAT中定義的XOBR的狀態(tài)被驗(yàn)證如果狀態(tài)是關(guān)(OFF),則不發(fā)出XOBR。
補(bǔ)償任務(wù)的激活在任務(wù)恢復(fù)過(guò)程中發(fā)生,由任務(wù)恢復(fù)服務(wù)TSR管理。
每一個(gè)UOW被補(bǔ)償?shù)姆绞皆谙铝凶兞康幕A(chǔ)上確定-系統(tǒng)恢復(fù)過(guò)程激活的原因(系統(tǒng)SYS啟動(dòng),或異?;虼嬉蔂顩r的發(fā)生);這從系統(tǒng)SYS和調(diào)用系統(tǒng)恢復(fù)過(guò)程的部件的狀態(tài)確定;-系統(tǒng)SYS的重啟動(dòng)模式(冷或熱);-在UOW中涉及到的每一個(gè)OBR的補(bǔ)償形態(tài)(隱式的或顯式的);-在任何單個(gè)UOW中涉及到的對(duì)應(yīng)系統(tǒng),以及處理恢復(fù)操作和問(wèn)題逐步升級(jí)范例(ASYS、SSYS等)的各個(gè)形態(tài);-清除UOW/OBR的可能的單邊命令,通過(guò)系統(tǒng)管理器部件發(fā)出;-OBR的每一個(gè)補(bǔ)償步驟的結(jié)果依據(jù)先前的補(bǔ)償步驟的結(jié)果,補(bǔ)償行為可以繼續(xù)、稍后被暫停和繼續(xù)、被中斷或被提早完成。
這些變量被分等級(jí)的獲取每一個(gè)OBR的屬性(在欄目CAT中指定)從屬于對(duì)應(yīng)系統(tǒng)的屬性(在目錄DIR中指定),并且,最高優(yōu)先權(quán)被分配給通過(guò)系統(tǒng)管理器部件所強(qiáng)迫的所有內(nèi)容。以這種方式,補(bǔ)償過(guò)程被處理的方式可以被區(qū)分開(kāi)來(lái),以便使能較寬范圍的行為,這些行為涉及控制和/或克服異常事件。
UOW可以包括NROBR、EROBR、和IROBR。通常,NROBR是查詢服務(wù)請(qǐng)求,而不受顯式補(bǔ)償。
只要關(guān)于只具有EROBR的UOW,當(dāng)所有的EROBR已經(jīng)被補(bǔ)償時(shí)(依靠XOBR),認(rèn)為它們被補(bǔ)償過(guò)了。提供了下列補(bǔ)償形態(tài)-ASYS形態(tài)UOW的所有未決的OBR被以和原始執(zhí)行次序相反的次序進(jìn)行補(bǔ)償;每一個(gè)補(bǔ)償步驟受前一個(gè)補(bǔ)償步驟的應(yīng)用結(jié)果的影響。當(dāng)由擴(kuò)展資源管理器動(dòng)態(tài)確定的序列被成功的完成時(shí),聲明UOW被解決。當(dāng)所有相關(guān)的UOW被解決時(shí),對(duì)應(yīng)系統(tǒng)從BACKOUT狀態(tài)變到VERIFY狀態(tài)。在這個(gè)階段檢測(cè)到的不成功的結(jié)果或錯(cuò)誤狀況引起補(bǔ)償過(guò)程暫停或中斷;在這種情況下,UOW中涉及到的對(duì)應(yīng)系統(tǒng)被聲明出錯(cuò),并且不能通過(guò)C-SYSBACKOUT步驟,除非發(fā)生了通過(guò)系統(tǒng)管理器部件的干涉,或者問(wèn)題逐步升級(jí)序列被定義在目錄DIR中(引起進(jìn)入“SSYS”、“BSYS”或“BERR”形態(tài),在后面描述)。
-“SSYS”形態(tài)(在系統(tǒng)重啟動(dòng)時(shí)間施加的缺省形態(tài))根據(jù)OBR指向的對(duì)應(yīng)系統(tǒng),對(duì)UOW的未決OBR進(jìn)行分組;每一組OBR都以和原始執(zhí)行次序相比相反的次序經(jīng)受補(bǔ)償,從屬于每一個(gè)操作的結(jié)果。在由擴(kuò)展資源管理器動(dòng)態(tài)確定的序列成功地完成后,認(rèn)為每一組OBR被解決。當(dāng)所有組的OBR被成功地完成后,聲明UOW被解決。然后,對(duì)應(yīng)系統(tǒng)轉(zhuǎn)到C-SYS VERIFY步驟。在這個(gè)階段檢測(cè)到的不成功的結(jié)果或錯(cuò)誤狀況引起補(bǔ)償序列暫停或中斷;在這種情況下,對(duì)應(yīng)系統(tǒng)被聲明出錯(cuò),并且不能通過(guò)C-SYS BACKOUT步驟,除非發(fā)生了通過(guò)系統(tǒng)管理器部件的干涉,或者問(wèn)題逐步升級(jí)序列被定義在目錄中,導(dǎo)致轉(zhuǎn)到“BERR”形態(tài)。
-“BSYS”形態(tài)UOW的所有的未決OBR被以和原始執(zhí)行次序相比相反的次序進(jìn)行補(bǔ)償,并且每一個(gè)補(bǔ)償步驟從屬于前一個(gè)補(bǔ)償步驟的應(yīng)用結(jié)果。當(dāng)由擴(kuò)展資源管理器動(dòng)態(tài)確定的序列成功地完成時(shí),聲明UOW被解決。如果不成功的結(jié)果或異常事件發(fā)生,則序列被修改,以便推遲所有指向和引起不成功的結(jié)果的OBR相同的對(duì)應(yīng)系統(tǒng)的OBR的補(bǔ)償;這樣的對(duì)應(yīng)系統(tǒng)被聲明出錯(cuò),并且不能通過(guò)C-SYS BACKOUT步驟,除非發(fā)生了通過(guò)系統(tǒng)管理器部件的干涉。沒(méi)有被聲明出錯(cuò)的對(duì)應(yīng)系統(tǒng)可以轉(zhuǎn)到下面的C-SYS VERIFY步驟。
-“BERR”形態(tài)在此形態(tài)中,補(bǔ)償按單個(gè)操作進(jìn)行,而不是按單個(gè)對(duì)應(yīng)系統(tǒng)進(jìn)行。UOW的所有未決OBR被以和原始執(zhí)行次序相比相反的次序補(bǔ)償,并且,每一個(gè)補(bǔ)償步驟被獨(dú)立于前一個(gè)補(bǔ)償步驟的結(jié)果執(zhí)行。當(dāng)由擴(kuò)展資源管理器動(dòng)態(tài)確定的補(bǔ)償步驟的序列成功地完成時(shí),聲明UOW被解決。如果一個(gè)補(bǔ)償步驟給出了不成功的結(jié)果,或者發(fā)生了異常事件,則所涉及的OBR的補(bǔ)償被推遲,并且,序列中下面的OBR得到了補(bǔ)償。與出錯(cuò)的OBR相關(guān)聯(lián)的對(duì)應(yīng)系統(tǒng)被聲明為出錯(cuò),并且不能通過(guò)C-SYS BACKOUT步驟,除非發(fā)生了通過(guò)系統(tǒng)管理器部件的干涉;否則,對(duì)應(yīng)系統(tǒng)轉(zhuǎn)到下面的C-SYS VERIFY步驟。
對(duì)只包括IROBR的UOW,不采取直接的補(bǔ)償操作;補(bǔ)償被推遲到發(fā)出了NROBR或IROBR的商務(wù)請(qǐng)求的后續(xù)再激活。所有相關(guān)聯(lián)的UOW被暫停。所涉及的對(duì)應(yīng)系統(tǒng)可以轉(zhuǎn)到下面的C-SYS VERIFY步驟。
只要關(guān)于EROBR,包括EROBR也包括IROBR的UOW經(jīng)受前面描述的補(bǔ)償?shù)挠绊?,而?duì)于IROBR,不采取直接的補(bǔ)償操作。如果所有的EROBR被成功地解決,則聲明UOW被補(bǔ)償或被暫停;在發(fā)生嚴(yán)重的異常的情況下,UOW被聲明為錯(cuò)誤。如果沒(méi)有發(fā)生錯(cuò)誤,IROBR的補(bǔ)償被推遲到發(fā)出它們的商務(wù)請(qǐng)求的下一次再激活,如上面討論的那樣;所涉及的對(duì)應(yīng)系統(tǒng)可以轉(zhuǎn)到C-SYSTEM VERIFY步驟。出錯(cuò)的EROBR的存在使得補(bǔ)償操作被推遲,并且相關(guān)聯(lián)的對(duì)應(yīng)系統(tǒng)不能轉(zhuǎn)到C-SYS BACKOUT步驟,除非發(fā)生了通過(guò)系統(tǒng)管理器部件的干涉。
當(dāng)所有的撤銷操作被完成時(shí),即,所有的未決UOW被解決或被系統(tǒng)管理器的干涉強(qiáng)迫,或者,如果不存在具有未決的OBR的未決UOW,這些未決的OBR的顯式補(bǔ)償要由對(duì)應(yīng)系統(tǒng)執(zhí)行,則對(duì)應(yīng)系統(tǒng)可以轉(zhuǎn)到C-SYSVERIFY步驟。不能轉(zhuǎn)到C-SYS VERIFY步驟的對(duì)應(yīng)系統(tǒng)受到C-SYSBACKOUT步驟的推遲的再激活的影響;如果再次產(chǎn)生了不成功的結(jié)果,則整個(gè)系統(tǒng)恢復(fù)過(guò)程被推遲一個(gè)時(shí)間間隔,該時(shí)間間隔在目錄字段TO中定義。
在C-SYS VERIFY步驟,系統(tǒng)SYS驗(yàn)證相應(yīng)于對(duì)應(yīng)系統(tǒng)或OBR指向的系統(tǒng)被執(zhí)行的操作的邏輯一致性。在儲(chǔ)存在目錄字段VER中的信息的基礎(chǔ)上,用于管理C-SYS VERIFY步驟的特定過(guò)程(驗(yàn)證過(guò)程)被標(biāo)識(shí)和激活。驗(yàn)證過(guò)程可以要求對(duì)擴(kuò)展資源管理器的服務(wù)(具有NROBR的形式),用于實(shí)行驗(yàn)證操作;這些操作可以包括獲取/協(xié)商指向?qū)?yīng)系統(tǒng)的OBR的標(biāo)識(shí)符代碼,和把獲取到/協(xié)商的標(biāo)識(shí)符代碼和在C-SYS SIGN-ON步驟獲取到/協(xié)商的標(biāo)識(shí)符代碼進(jìn)行比較,以驗(yàn)證系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)仍是調(diào)校的(aligned)?;蛘?,OBR標(biāo)識(shí)符代碼的獲取/協(xié)商可以不在C-SYS SIGN-ON步驟實(shí)行,而僅在此步驟執(zhí)行。每一個(gè)OBR可以向擴(kuò)展資源管理器聲明與請(qǐng)求和/或接收到的回復(fù)相關(guān)聯(lián)的標(biāo)識(shí)符代碼,以便使能帶有BRID的標(biāo)識(shí)符代碼的自動(dòng)關(guān)聯(lián),或者接受由擴(kuò)展資源管理器所實(shí)行的自動(dòng)關(guān)聯(lián)。如果在目錄DIR中沒(méi)有聲明特定的過(guò)程,則擴(kuò)展資源管理器進(jìn)行缺省的操作,這些缺省操作由連接服務(wù)實(shí)施。
C-SYS VERIFY步驟的成功結(jié)果確定了對(duì)應(yīng)系統(tǒng)的狀態(tài)的自動(dòng)轉(zhuǎn)換,從VERIFY狀態(tài)轉(zhuǎn)換到READY(開(kāi),ON)狀態(tài)。在不成功的結(jié)果的情況下,整個(gè)系統(tǒng)恢復(fù)過(guò)程被推遲預(yù)定的時(shí)間間隔,該時(shí)間間隔在目錄字段TO中指定。
在已經(jīng)確定了用于管理應(yīng)用業(yè)務(wù)的對(duì)應(yīng)系統(tǒng)的可用性之后,進(jìn)入C-SYSREADY階段,應(yīng)用業(yè)務(wù)由通用OBR和XOBR形成。當(dāng)達(dá)到READY狀態(tài)后,對(duì)應(yīng)系統(tǒng)的目錄字段C-SYS IN-FLGT STAT被設(shè)置為開(kāi)(ON),并且對(duì)應(yīng)系統(tǒng)處理全部新發(fā)出的OBR和任何等待被執(zhí)行(因?yàn)橄惹氨煌七t,現(xiàn)在被擴(kuò)展資源管理器再次請(qǐng)求)的內(nèi)容;擴(kuò)展資源管理器重新開(kāi)始PCBR,這些PCBR仍在等待,或者因?qū)?yīng)系統(tǒng)的不可用性而在先前被推遲了。具體來(lái)說(shuō),OBR被擴(kuò)展資源管理器ERM轉(zhuǎn)向到與對(duì)應(yīng)系統(tǒng)相關(guān)聯(lián)的連接器(在目錄字段CNCT ID中指定),并被監(jiān)視器和日志服務(wù)監(jiān)視。在錯(cuò)誤的情況下,擴(kuò)展資源管理器處理可能的補(bǔ)償行為,該擴(kuò)展資源管理器由資源管理器協(xié)調(diào)器RMC協(xié)調(diào)。對(duì)應(yīng)系統(tǒng)仍處于READY狀態(tài),直到系統(tǒng)恢復(fù)過(guò)程的再激活,或者直到對(duì)應(yīng)系統(tǒng)被通過(guò)系統(tǒng)管理器部件強(qiáng)迫到STOP狀態(tài)為止,系統(tǒng)恢復(fù)過(guò)程的再激活由嚴(yán)重的錯(cuò)誤操作、存疑情況、對(duì)應(yīng)系統(tǒng)的不可用(例如因?qū)?yīng)系統(tǒng)/鏈接故障所致)觸發(fā)。
商務(wù)請(qǐng)求保護(hù)服務(wù)BRPR商務(wù)請(qǐng)求管理器BRM利用此服務(wù),用于自動(dòng)地再激活PCBR。具體來(lái)說(shuō),此服務(wù)管理商務(wù)請(qǐng)求排隊(duì)。
商務(wù)請(qǐng)求驗(yàn)證服務(wù)BRVR商務(wù)請(qǐng)求管理器BRM利用此服務(wù)驗(yàn)證沒(méi)有在無(wú)意中對(duì)同一個(gè)商務(wù)請(qǐng)求響應(yīng)一次或多次,該商務(wù)請(qǐng)求與還未完成的PCBR不同。在編目服務(wù)CAT提供的信息的基礎(chǔ)上,此服務(wù)能使能任何情況下商務(wù)請(qǐng)求的處理(缺省狀況);中斷商務(wù)請(qǐng)求的處理;如果因通用錯(cuò)誤狀況所致,先前的嘗試被中斷,則使能商務(wù)請(qǐng)求的處理;響應(yīng)商務(wù)請(qǐng)求,返回先前的結(jié)果/回復(fù)消息。商務(wù)請(qǐng)求的標(biāo)識(shí)可以是對(duì)上下文敏感的(輸入消息數(shù)據(jù)),或者是基于一個(gè)唯一的用戶標(biāo)識(shí)符,該用戶標(biāo)識(shí)符在商務(wù)請(qǐng)求被發(fā)出時(shí)與其相關(guān)聯(lián)。
擴(kuò)展資源管理器ERM也利用商務(wù)請(qǐng)求驗(yàn)證服務(wù),用于在IROBR被再激活時(shí)管理它們。
連接服務(wù)CNCT此服務(wù)包括多個(gè)連接器部件,擴(kuò)展資源管理器ERM利用這些部件,用于和所需對(duì)應(yīng)系統(tǒng)建立連接鏈路。在儲(chǔ)存在欄目CAT和目錄DIR中的信息的基礎(chǔ)上,不時(shí)地確定合適的連接器。連接器執(zhí)行幾個(gè)功能,特別是管理系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)之間的通信;連接器還可以執(zhí)行通信協(xié)議和消息格式的轉(zhuǎn)換。
具體來(lái)說(shuō),連接器輸入和輸出信息為a) OBR調(diào)用的情況(導(dǎo)致連接器激活的操作序列是BRcall->ERM>CNCT->OBRAPPLexec)連接器輸入目錄數(shù)據(jù)、OBR ID、[OBR標(biāo)識(shí)符/計(jì)數(shù)器]、[CTXT數(shù)據(jù)]連接器輸出OBR回復(fù)消息、物理/邏輯結(jié)果、[OBR標(biāo)識(shí)符/計(jì)數(shù)器];b) XOBR調(diào)用的情況(導(dǎo)致連接器激活的操作序列是ERMcall->XBRcall->ERM->CNCT->XOBRAPPLexec)連接器輸入目錄數(shù)據(jù)、XOBR ID、XOBR輸入數(shù)據(jù)、OBR輸入/回復(fù)/結(jié)果數(shù)據(jù)、[OBR CTXT/ANNL數(shù)據(jù)]、[XOBR/OBR標(biāo)識(shí)符/計(jì)數(shù)器]、[先前XOBR輸入/回復(fù)/結(jié)果]連接器輸出XOBR回復(fù)消息、XOBR物理/邏輯結(jié)果、[XOBR標(biāo)識(shí)符/計(jì)數(shù)器];c) 在系統(tǒng)恢復(fù)過(guò)程的C-SYS SIGN-ON、IN-DOUBT和VERIFY步驟中的調(diào)用的情況(導(dǎo)致連接器激活的操作序列是ERMcall->[目錄中的UserProg->]CNCT>[OBRAPPLexec])對(duì)于在C-SYS SIGN-ON和VERIFY步驟中的調(diào)用連接器輸入目錄數(shù)據(jù)、[本地OBR/XOBR標(biāo)識(shí)符/計(jì)數(shù)器]連接器輸出物理/邏輯結(jié)果、[協(xié)商的OBR/XOBR標(biāo)識(shí)符/計(jì)數(shù)器]對(duì)于在C-SYS IN-DOUBT步驟中的調(diào)用連接器輸入目錄數(shù)據(jù)、OBR/XOBR輸入數(shù)據(jù)、[標(biāo)識(shí)符/計(jì)數(shù)器]、[CTXT/ANNL數(shù)據(jù)],連接器輸出OBR/XOBR物理/邏輯結(jié)果、[回復(fù)消息]、[標(biāo)識(shí)符/計(jì)數(shù)器]其中,方括號(hào)中的數(shù)據(jù)是可選的。
監(jiān)視器服務(wù)MON此服務(wù)攔截向事務(wù)處理器管理器發(fā)出的命令,并把命令路由到商務(wù)請(qǐng)求管理器;商務(wù)請(qǐng)求管理器BRM利用編目服務(wù)CAT來(lái)確定哪一個(gè)底層部件(商務(wù)請(qǐng)求管理器自身、用于OBR的擴(kuò)展資源管理器,或者用于NCBR的事務(wù)處理器管理器)將處理此命令。
下面將討論事務(wù)處理器管理器TM的操作。
當(dāng)系統(tǒng)SYS被啟動(dòng)時(shí),開(kāi)始系統(tǒng)啟動(dòng)過(guò)程。系統(tǒng)啟動(dòng)過(guò)程激活商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM,并通知事務(wù)處理管理器TM和資源管理器協(xié)調(diào)器RMC關(guān)于這些底層部件的可用性;服務(wù)提供器子系統(tǒng)SER也被激活。
啟動(dòng)過(guò)程還從資源管理器協(xié)調(diào)器RMC獲取信息,特別是未決UOW的列表。在此列表的基礎(chǔ)上,擴(kuò)展資源管理器ERM掃描日志檔案文件,并產(chǎn)生一個(gè)矩陣,其中,對(duì)于每一個(gè)未決的UOW,所涉及的XOBR和對(duì)應(yīng)系統(tǒng)被指示。系統(tǒng)恢復(fù)服務(wù)SYS-R被調(diào)用對(duì)于在矩陣中找到的每一個(gè)對(duì)應(yīng)系統(tǒng),激活一個(gè)系統(tǒng)恢復(fù)過(guò)程,該過(guò)程將在目錄DIR中指定的信息的基礎(chǔ)上被實(shí)行。一旦針對(duì)每一個(gè)對(duì)應(yīng)系統(tǒng)實(shí)行上文所描述的預(yù)定次序的步驟,則系統(tǒng)恢復(fù)過(guò)程被完成。
任務(wù)恢復(fù)服務(wù)TSR被調(diào)用對(duì)于在矩陣中的每一個(gè)UOW,激活一個(gè)系統(tǒng)恢復(fù)過(guò)程;但是,任務(wù)恢復(fù)過(guò)程被推遲到在UOW中涉及到的對(duì)應(yīng)系統(tǒng)到達(dá)狀態(tài)BACKOUT(如果UOW還涉及到EROBR)或狀態(tài)READY(如果UOW涉及IROBR)的時(shí)間。
利用任務(wù)恢復(fù)服務(wù)TSR,用于再激活未決的任務(wù);任務(wù)恢復(fù)服務(wù)實(shí)行的任務(wù)恢復(fù)過(guò)程使得商務(wù)請(qǐng)求管理器BRM能夠在儲(chǔ)存在日志服務(wù)LOG的檔案文件中的信息的基礎(chǔ)上,標(biāo)識(shí)還未完成的PCBR,這些PCBR需要被再激活。
事務(wù)處理管理器TM可以以兩種模式中的任意一種啟動(dòng),這兩種模式傳統(tǒng)上被稱為冷或熱。在冷模式中,與熱模式不同,在先前的系統(tǒng)關(guān)閉之后仍未決的任務(wù)不被處理,因而不被補(bǔ)償;系統(tǒng)恢復(fù)過(guò)程的C-SYS BACKOUT步驟不相應(yīng)于EROBR執(zhí)行。
在熱啟動(dòng)的情況下,商務(wù)請(qǐng)求管理器BRM重啟動(dòng)PCBR,這些PCBR在先前系統(tǒng)關(guān)閉時(shí)還沒(méi)有被完成或被排隊(duì)(延遲)。擴(kuò)展資源管理器ERM管理在系統(tǒng)關(guān)閉時(shí)還沒(méi)有被完成或解決的(即存疑)OBR。
一旦系統(tǒng)恢復(fù)過(guò)程被完成,則系統(tǒng)SYS和對(duì)應(yīng)系統(tǒng)C-SYS1、C-SYS2被同步,并且未決的商務(wù)請(qǐng)求可以被重新發(fā)出,而且新的商務(wù)請(qǐng)求可以被接受。
在系統(tǒng)SYS關(guān)閉時(shí),事務(wù)處理管理器TM向商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM通知此關(guān)閉。商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM或者可以拒絕新的服務(wù)請(qǐng)求,或者把其放入商務(wù)請(qǐng)求保護(hù)服務(wù)BRPS管理的隊(duì)列中;如果新的商務(wù)請(qǐng)求是PCBR,則它被接受,被放入商務(wù)請(qǐng)求隊(duì)列,并盡快地被服務(wù);如果商務(wù)請(qǐng)求是NPCBR,則它被拒絕。
商務(wù)請(qǐng)求管理器BRM等待處理中的事務(wù)處理被完成。擴(kuò)展資源管理器ERM等待可能的補(bǔ)償行為的完成,補(bǔ)償行為涉及先前出錯(cuò)或被撤銷的UOW。
如果目錄DIR中對(duì)應(yīng)系統(tǒng)的超時(shí)時(shí)間過(guò)去了,或者在系統(tǒng)SYS被強(qiáng)迫關(guān)閉的情況下,并且,在處理中的事務(wù)處理,或先前出錯(cuò)或被撤銷的UOW的補(bǔ)償行為不能被完成,在系統(tǒng)SYS下一次啟動(dòng)時(shí),系統(tǒng)恢復(fù)過(guò)程和任務(wù)恢復(fù)過(guò)程被重新執(zhí)行,以使商務(wù)請(qǐng)求管理器BRM和擴(kuò)展資源管理器ERM能夠重新啟動(dòng)PCBR和未決的UOW(假設(shè)事務(wù)處理管理器TM被以熱模式啟動(dòng))。
在系統(tǒng)SYS運(yùn)行期間,如果擴(kuò)展資源管理器ERM不獲取和在日志檔案文件中儲(chǔ)存由通用OBR所產(chǎn)生的回復(fù)/結(jié)果消息,則建立起存疑狀況。在任何其他行為之前,要解決存疑狀況。為了取回涉及導(dǎo)致存疑的每一個(gè)OBR的激活和完成的信息,擴(kuò)展資源管理器ERM激活與該OBR相關(guān)聯(lián)的連接器(在目錄DIR中指定)。
具體來(lái)說(shuō),擴(kuò)展資源管理器ERM利用OBR的標(biāo)識(shí)符代碼來(lái)實(shí)行下列檢查首先,擴(kuò)展資源管理器確定OBR已經(jīng)被激活;在反面情況下(例如,作為上述排隊(duì)機(jī)制的后果),OBR被認(rèn)為沒(méi)有被執(zhí)行,并且激活消息(如果有的話)被刪除。這樣就解決了存疑狀況,使得系統(tǒng)在必要時(shí)能夠執(zhí)行補(bǔ)償行為;如果存疑OBR是EXT-UOW內(nèi)的唯一OBR,則補(bǔ)償行為將甚至是不必要的。
反之,如果確定OBR已經(jīng)被激活,則擴(kuò)展資源管理器確定OBR是否仍在執(zhí)行中;這在發(fā)出OBR的基本任務(wù)必須遵守一個(gè)超時(shí)時(shí)間時(shí)可能發(fā)生。在這種情況下,有可能等待OBR的完成和回復(fù)消息/結(jié)果的獲取,或者,OBR可以被放棄,并被聲明出錯(cuò),以便取消撤銷階段的OBR的結(jié)果。這樣就解決了存疑狀況,使得系統(tǒng)能夠執(zhí)行補(bǔ)償行為,在被強(qiáng)迫放棄的OBR使用不可恢復(fù)的資源的情況下,需要補(bǔ)償操作。
在擴(kuò)展資源管理器等待OBR的完成的情況下,其邏輯結(jié)果被驗(yàn)證。OBR回復(fù)消息/結(jié)果可以是可用的或是不可用的,取決于為OBR的補(bǔ)償采用的協(xié)議的性質(zhì)。回復(fù)消息/結(jié)果的獲取對(duì)簡(jiǎn)化補(bǔ)償行為的確定是有用的。
如果缺少回復(fù)消息/結(jié)果,盡管OBR正式地導(dǎo)致被正確地執(zhí)行,但是沒(méi)有關(guān)于處理邏輯結(jié)果和關(guān)于處理已經(jīng)如何被對(duì)應(yīng)系統(tǒng)進(jìn)行分類的信息;此信息一般被包括在回復(fù)消息中?;貜?fù)消息/結(jié)果的獲取允許在應(yīng)用或底層內(nèi)部編碼的基礎(chǔ)上,確定服務(wù)請(qǐng)求的邏輯結(jié)果,邏輯結(jié)果被涉及到的連接器或XBR直接攔截。在該結(jié)果的基礎(chǔ)上,可以確定OBR是否產(chǎn)生了期望的結(jié)果,因而需要補(bǔ)償階段,或在故障事件或撤銷請(qǐng)求中,不需要補(bǔ)償行為。
如果不能獲取回復(fù)消息/結(jié)果,則OBR自動(dòng)地得到補(bǔ)償,或者開(kāi)始系統(tǒng)恢復(fù)過(guò)程。
如果OBR被放棄,并且僅涉及到可恢復(fù)資源,則不需要補(bǔ)償階段。不同的是,如果OBR使用了不可恢復(fù)的資源,則存疑狀況僅被部分地解決,因?yàn)镺BR所操作的改變(甚至是部分的)可能存在。在這種情況下補(bǔ)償階段是必需的,在它之前可以有一個(gè)初步的驗(yàn)證,驗(yàn)證被放棄之前由OBR部分地完成的內(nèi)容。在激活與XOBR相關(guān)聯(lián)的連接器之后,此狀況被擴(kuò)展資源管理器通知。
通過(guò)激活系統(tǒng)恢復(fù)過(guò)程,可用獲得對(duì)存疑狀況的解決的間接支持,系統(tǒng)回復(fù)過(guò)程包括初步的C-SYS SIGN-ON步驟和最終的C-SYS VERIFY步驟,在這些步驟期間,有可能為每一個(gè)對(duì)應(yīng)系統(tǒng)處理對(duì)應(yīng)系統(tǒng)和系統(tǒng)SYS之間的重新調(diào)校。以這種方式,指向該對(duì)應(yīng)系統(tǒng)的OBR的標(biāo)識(shí)符代碼被獲取到/協(xié)商;利用獲取到/協(xié)商的標(biāo)識(shí)符代碼,有可能從對(duì)應(yīng)系統(tǒng)獲取到有關(guān)指向其/完成的最后的操作的信息,從而自動(dòng)地在從對(duì)應(yīng)系統(tǒng)取回的信息的基礎(chǔ)上,解決存疑情況。
在存疑狀況不能被自動(dòng)地解決的情況下,通用用戶/系統(tǒng)管理器可以被直接涉及,通用用戶/系統(tǒng)管理器在已經(jīng)實(shí)行了必要的檢驗(yàn)后,提供對(duì)每一個(gè)存疑狀況要被系統(tǒng)如何處置的指示,即因?yàn)镺BR沒(méi)有導(dǎo)致被執(zhí)行,所以存疑狀況要被視為被解決了,并且不需要補(bǔ)償,或者,因?yàn)镺BR甚至僅導(dǎo)致了部分地被執(zhí)行,存疑狀況要被視為被解決了,并且需要補(bǔ)償。
盡管存疑狀況被解決的方式對(duì)不同類型的OBR是相同的,但是每一個(gè)OBR的不同的性質(zhì)影響了在后續(xù)補(bǔ)償階段(如果需要這樣的階段)中的系統(tǒng)行為。在已經(jīng)確定了OBR的執(zhí)行及其結(jié)果之后,補(bǔ)償操作如下-NROBR這些OBR,一般和查詢服務(wù)請(qǐng)求相關(guān)聯(lián),不受到任何補(bǔ)償操作。可能的存疑狀況的解決是可選的;它可能對(duì)驗(yàn)證整個(gè)系統(tǒng)的正確運(yùn)行有用,但是OBR執(zhí)行的檢驗(yàn),以及如果可用的話,回復(fù)消息/結(jié)果的獲取不觸發(fā)任何后續(xù)的細(xì)化(elaboration)。
-IROBR這些OBR與查詢和修改服務(wù)請(qǐng)求都相關(guān)聯(lián);在后者情況下,可能的存疑狀況的解決是強(qiáng)制性的。不采取直接的補(bǔ)償操作。重新細(xì)化(re-elaboration),被發(fā)出OBR的商務(wù)請(qǐng)求的可能的重新細(xì)化觸發(fā),涉及擴(kuò)展資源管理器在回復(fù)消息/結(jié)果的獲取階段期間所記錄(logged)的所有內(nèi)容的獲取,或者該OBR的直接激活,被對(duì)應(yīng)系統(tǒng)指向其重新細(xì)化,以及這樣的重新細(xì)化的回復(fù)消息/結(jié)果的管理。
-EROBR這些OBR一般涉及對(duì)資源的改變。可能的存疑狀況的解決是強(qiáng)制性的。補(bǔ)償行為在相關(guān)聯(lián)的XOBR的直接激活中,或者相關(guān)聯(lián)的XBR的激活中一致。
-XOBR這些OBR由涉及到的XBR發(fā)出,并由系統(tǒng)像IROBR那樣處置。能的存疑狀況的解決是強(qiáng)制性的。在XOBR的執(zhí)行期間產(chǎn)生的錯(cuò)誤被擴(kuò)展資源管理器ERM隱式地補(bǔ)償,或者,在XOBR或XBR的細(xì)化流(elaborationflow)中的中斷被擴(kuò)展資源管理器ERM自動(dòng)地處理和再激活。先前被成功地終止的XOBR被認(rèn)為被執(zhí)行了,而各個(gè)回復(fù)消息/結(jié)果被用于確定后續(xù)的補(bǔ)償操作。未執(zhí)行的XOBR被再激活,以使對(duì)應(yīng)系統(tǒng)能夠細(xì)化它們,并產(chǎn)生期望的回復(fù)消息/結(jié)果。XBR的激活被要被補(bǔ)償?shù)腛BR通知和先前被請(qǐng)求/被執(zhí)行的內(nèi)容的通知,以及相關(guān)的回復(fù)消息/結(jié)果伴隨著。XBR可以通過(guò)特定操作的直接或被推遲的執(zhí)行前進(jìn)到補(bǔ)償階段,這些特定操作指向檔案文件或過(guò)程。
EXT-UOW的正確管理要求與在傳統(tǒng)的事務(wù)處理管理系統(tǒng)中所采用的標(biāo)準(zhǔn)不同的系統(tǒng)資源分配標(biāo)準(zhǔn)。
為了減少在EXT-UOW情況下完整性的問(wèn)題,連接服務(wù)CNCT實(shí)施對(duì)行為的排隊(duì),專門用于不時(shí)地串行化定義在每一個(gè)任務(wù)的層次上的邏輯資源。依據(jù)排隊(duì)的類型和其持續(xù)時(shí)間,任務(wù)能夠獲取對(duì)邏輯上相關(guān)的資源的控制,并保持這樣的控制,直到該任務(wù)被完成為止,或者,如果是這個(gè)情況,直到補(bǔ)償階段被完成為止。
具體來(lái)說(shuō),商務(wù)請(qǐng)求管理器和擴(kuò)展資源管理器允許定義邏輯實(shí)體,并管理對(duì)其的訪問(wèn)。一旦被定義,每一個(gè)邏輯實(shí)體可以在每一個(gè)任務(wù)所請(qǐng)求的訪問(wèn)的類型的基礎(chǔ)上,被一個(gè)或多個(gè)任務(wù)獲取。依據(jù)邏輯實(shí)體的類型,并依據(jù)被請(qǐng)求的訪問(wèn)的類型,下列排他/非排他使用權(quán)(LOCK)可用被分配給任務(wù)-分配給一個(gè)任務(wù)的排他訪問(wèn)權(quán),以及其他任務(wù)的排隊(duì);例如,該排隊(duì)是“先進(jìn)先出”的類型;-分配給一個(gè)任務(wù)的在修改的排他訪問(wèn)權(quán),還有被分配給其他的任務(wù)的讀訪問(wèn)權(quán),和任何請(qǐng)求改變的其他任務(wù)的排隊(duì)(例如FIFO)。
每一個(gè)LOCK有效的時(shí)間可以根據(jù)邏輯實(shí)體的類型和請(qǐng)求服務(wù)的任務(wù)的性質(zhì)改變。具體來(lái)說(shuō),提供了下列時(shí)間窗-TASK時(shí)間窗任務(wù)對(duì)邏輯實(shí)體的使用權(quán),從請(qǐng)求被發(fā)出的時(shí)間直到任務(wù)的末尾保持活動(dòng);-UOW時(shí)間窗從請(qǐng)求被發(fā)出的時(shí)間直到特定UOW的完成是活動(dòng)的;-EXT-UOW時(shí)間窗從請(qǐng)求被發(fā)出的時(shí)間直到所有被涉及到的UOW的完成是活動(dòng)的,包括可能的補(bǔ)償階段。值得指出的是,擴(kuò)展資源管理器ERM把構(gòu)成由系統(tǒng)在商務(wù)請(qǐng)求的處理期間實(shí)施的EXT-UOW的UOW相關(guān),即使每一個(gè)UOW作為服從單步或兩步提交協(xié)議的UOW被事務(wù)處理管理器TM和資源管理器協(xié)調(diào)器RMC已知,但是不同的UOW不被直接相關(guān);-系統(tǒng)時(shí)間窗從請(qǐng)求被發(fā)出的時(shí)間直到特定遠(yuǎn)程系統(tǒng)的被檢測(cè)到的可用性為止是活動(dòng)的,包括指向這樣的系統(tǒng)的所有可能的補(bǔ)償行為的完成;-通用時(shí)間窗從請(qǐng)求被發(fā)出的時(shí)間直到顯式的解除排隊(duì)命令被發(fā)出為止是活動(dòng)的。
事務(wù)處理處理系統(tǒng)的操作的例子在圖7中被示意性地繪出。假設(shè)事務(wù)處理管理系統(tǒng)TM接收到事務(wù)請(qǐng)求BR,BR在欄目中作為分類的商務(wù)請(qǐng)求CBR被列出。用于為該商務(wù)請(qǐng)求服務(wù)的任務(wù)T1被激活,涉及工作單元UOW1(UOW UOW1)。在任務(wù)T1的處理期間,輸出商務(wù)請(qǐng)求OBR1被首先發(fā)出,指向?qū)?yīng)系統(tǒng)C-SYS1、C-SYS2其中之一;用于為輸出商務(wù)請(qǐng)求OBR1服務(wù)的任務(wù)T2在對(duì)應(yīng)系統(tǒng)中被激活,涉及工作單元UOW2。當(dāng)任務(wù)T2成功地終止時(shí),工作單元UOW2被提交。然后,任務(wù)T1發(fā)出第二個(gè)OBR OBR2,指向同一個(gè)或另一個(gè)對(duì)應(yīng)系統(tǒng)。在該對(duì)應(yīng)系統(tǒng)中,任務(wù)T3被啟動(dòng),處理工作單元UOW3內(nèi)的服務(wù)請(qǐng)求。當(dāng)任務(wù)3被成功地完成時(shí),工作單元UOW3被提交。
假設(shè)此時(shí),資源管理器協(xié)調(diào)器RMC接收到仍未定的工作單元UOW1的撤銷請(qǐng)求。資源管理器協(xié)調(diào)器RMC調(diào)用擴(kuò)展資源管理器ERM,其將管理撤銷或補(bǔ)償操作,用于把系統(tǒng)帶回到初始狀態(tài),如果有可能,或者把系統(tǒng)帶到另一個(gè)一致?tīng)顟B(tài)。還假設(shè)事務(wù)處理管理器TM接收到的商務(wù)請(qǐng)求在欄目中具有相關(guān)聯(lián)的補(bǔ)償商務(wù)請(qǐng)求XBR。補(bǔ)償商務(wù)請(qǐng)求XBR被調(diào)用,使得任務(wù)T4被激活,T4與工作單元UOW4相關(guān)聯(lián)。為了實(shí)行對(duì)工作單元UOW2和UOW3的補(bǔ)償,先前執(zhí)行的操作被以相反的次序?qū)嵭?。XOBR OBR-2和OBR-1被依次發(fā)出,使得在對(duì)應(yīng)系統(tǒng)中激活各個(gè)任務(wù)T5和T6;任務(wù)T5和T6的處理涉及補(bǔ)償U(kuò)OW XUOW5和XUOW6。當(dāng)任務(wù)T5和T6都被成功地完成時(shí),從而XUOW5和XUOW6被提交;工作單元UOW2和UOW3已經(jīng)被補(bǔ)償(在這個(gè)階段出現(xiàn)的任何錯(cuò)誤狀況強(qiáng)迫補(bǔ)償階段的中斷,等待的任務(wù)T1可以被積極地推遲,或被通知該事件,或被異常終止。只有補(bǔ)償行為將被推遲,新的XBR將被實(shí)例化,失敗的XOBR被啟動(dòng),被系統(tǒng)像IROBR那樣處置)。這樣,直到目前為止還未定的工作單元UOW1已經(jīng)被撤銷,并被終止。
任務(wù)T1繼續(xù)處理商務(wù)請(qǐng)求BR,進(jìn)入新的工作單元UOW7。在工作單元UOW7期間,新的輸出商務(wù)請(qǐng)求OBR3被任務(wù)T1發(fā)出,指向?qū)?yīng)系統(tǒng)其中之一;在該對(duì)應(yīng)系統(tǒng)中,開(kāi)始任務(wù)T7,用于為工作單元UOW8內(nèi)的輸出商務(wù)請(qǐng)求OBR7服務(wù)。當(dāng)任務(wù)T7被成功地終止時(shí),工作單元UOW8和UOW7被提交。這樣,商務(wù)請(qǐng)求BR已經(jīng)被服務(wù),并且,回復(fù)消息被返回到發(fā)出商務(wù)請(qǐng)求BR的應(yīng)用。
概括地說(shuō),本發(fā)明提供了用于開(kāi)發(fā)和管理新的商務(wù)流程的方法和系統(tǒng),新的商務(wù)流程服從提交/撤銷協(xié)議,允許利用已經(jīng)存在的過(guò)程,這些過(guò)程單獨(dú)地服從或不服從提交/撤銷協(xié)議。具體來(lái)說(shuō),在新的商務(wù)流程的開(kāi)發(fā)中,新的商務(wù)流程的部件應(yīng)該被標(biāo)識(shí)(商務(wù)請(qǐng)求、OBR、XBR、XOBR和連接器)。商務(wù)邏輯應(yīng)該被放置在商務(wù)請(qǐng)求層;補(bǔ)償商務(wù)邏輯(如果被指定)應(yīng)該被放置在XBR層或連接器層;綜合邏輯應(yīng)該放置在連接器層;或者,它要被分散在XBR和商務(wù)請(qǐng)求層;數(shù)據(jù)分析(parse)應(yīng)該被放置在商務(wù)請(qǐng)求層,或者,如果可能,放置在連接器層;在網(wǎng)絡(luò)底層的通信結(jié)果應(yīng)該被連接器處理;并且,商務(wù)請(qǐng)求的邏輯結(jié)果應(yīng)該由商務(wù)請(qǐng)求、XBR或連接器產(chǎn)生。
盡管已經(jīng)通過(guò)實(shí)施例的方式公開(kāi)了本發(fā)明,但是,對(duì)本領(lǐng)域熟練技術(shù)人員來(lái)說(shuō)很清楚,不偏離在所附權(quán)利要求中所定義的本發(fā)明的范圍,對(duì)所描述的實(shí)施例以及本發(fā)明的其他實(shí)施例的幾個(gè)修改是可能的。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),包含至少一個(gè)資源管理器(RM),用于依照提交/撤銷協(xié)議,管理對(duì)各個(gè)系統(tǒng)資源的改變,和資源管理器協(xié)調(diào)器(RMC),用于協(xié)調(diào)至少一個(gè)資源管理器的提交/撤銷行為,特征在于包含過(guò)程資源管理器(ERM),用于管理不服從提交/撤銷協(xié)議的非服從過(guò)程的執(zhí)行,過(guò)程資源管理器根據(jù)述提交/撤銷協(xié)議由資源管理器協(xié)調(diào)器協(xié)調(diào),并在接收到撤銷請(qǐng)求后,自動(dòng)地確定要被執(zhí)行的補(bǔ)償操作的序列,以撤銷在非服從過(guò)程的執(zhí)行期間執(zhí)行的操作,并管理所述補(bǔ)償操作的執(zhí)行。
2.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,所述補(bǔ)償操作的序列由一系列逆操作構(gòu)成,每一個(gè)逆操作都是在非服從過(guò)程的執(zhí)行期間所執(zhí)行的各個(gè)操作的逆操作。
3.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,在接收到撤銷請(qǐng)求后,補(bǔ)償操作與資源管理器的撤銷行為并行執(zhí)行,由資源管理器協(xié)調(diào)器協(xié)調(diào)。
4.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,在接收到撤銷請(qǐng)求后,補(bǔ)償操作被相對(duì)于資源管理器的撤銷行為而推遲。
5.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,過(guò)程資源管理器依靠至少一個(gè)任務(wù)來(lái)管理非服從過(guò)程的執(zhí)行和補(bǔ)償操作的執(zhí)行,所述至少一個(gè)任務(wù)與一個(gè)工作單元相關(guān)聯(lián)或與多個(gè)相關(guān)的工作單元相關(guān)聯(lián)。
6.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),包含信息記錄服務(wù)(LOG),用于記錄有關(guān)于在至少一個(gè)非服從過(guò)程的執(zhí)行期間所執(zhí)行的操作的信息,過(guò)程資源管理器在由信息記錄服務(wù)所記錄的信息的基礎(chǔ)上,自動(dòng)地確定補(bǔ)償操作的序列。
7.如權(quán)利要求6所述的數(shù)據(jù)處理系統(tǒng),其中,所述補(bǔ)償操作的序列使數(shù)據(jù)處理系統(tǒng)進(jìn)入第一系統(tǒng)狀態(tài)和第二系統(tǒng)狀態(tài)其中的一個(gè),所述第一系統(tǒng)狀態(tài)和在由非服從過(guò)程所執(zhí)行的操作之前的系統(tǒng)的初始狀態(tài)相對(duì)應(yīng),而所述第二系統(tǒng)狀態(tài)與初始系統(tǒng)狀態(tài)不同,所述第二系統(tǒng)狀態(tài)由過(guò)程資源管理器在由信息記錄服務(wù)所記錄的信息的基礎(chǔ)上確定。
8.如權(quán)利要求7所述的數(shù)據(jù)處理系統(tǒng),包含過(guò)程分類服務(wù)(CATS、CAT、BRM),用于對(duì)要被執(zhí)行的過(guò)程進(jìn)行分類,以及用于確定過(guò)程是否是非服從過(guò)程。
9.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中,所述分類服務(wù)包含過(guò)程欄目(CAT),所述過(guò)程欄目提供了過(guò)程類型的欄目,并且對(duì)于在欄目中的過(guò)程類型,提供用于使得過(guò)程資源管理器能夠在被記錄的信息的基礎(chǔ)上,自動(dòng)地確定補(bǔ)償操作的序列的信息。
10.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中,所述過(guò)程類型包括第一過(guò)程類型,對(duì)于第一過(guò)程類型,在接收到撤銷請(qǐng)求后,過(guò)程資源管理器不直接激活補(bǔ)償操作的序列,而是等待后續(xù)的過(guò)程的重新開(kāi)始。
11.如權(quán)利要求6所述的數(shù)據(jù)處理系統(tǒng),包含過(guò)程恢復(fù)服務(wù)(TSR),所述過(guò)程恢復(fù)服務(wù)實(shí)施了過(guò)程恢復(fù)過(guò)程,用于管理在過(guò)程的執(zhí)行期間發(fā)出的撤銷請(qǐng)求。
12.如權(quán)利要求6所述的數(shù)據(jù)處理系統(tǒng),包含錯(cuò)誤恢復(fù)服務(wù)(ERR),所述錯(cuò)誤恢復(fù)服務(wù)實(shí)施例了錯(cuò)誤恢復(fù)過(guò)程,用于管理在過(guò)程執(zhí)行期間發(fā)生的錯(cuò)誤狀況。
13.如權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中,所述錯(cuò)誤恢復(fù)過(guò)程依賴于由信息記錄服務(wù)所提供的信息。
14.如權(quán)利要求13所述的數(shù)據(jù)處理系統(tǒng),其中,所述錯(cuò)誤恢復(fù)過(guò)程包含執(zhí)行過(guò)程恢復(fù)過(guò)程。
15.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其中,非服從過(guò)程包含下列過(guò)程中的至少一個(gè)在至少一個(gè)不同的數(shù)據(jù)處理系統(tǒng)(C-SYS1、C-SYS2)上運(yùn)行的過(guò)程,和在數(shù)據(jù)處理系統(tǒng)上運(yùn)行,但是不服從提交/撤銷協(xié)議的過(guò)程。
16.如權(quán)利要求15所述的數(shù)據(jù)處理系統(tǒng),包含系統(tǒng)恢復(fù)服務(wù)(SYSR),所述系統(tǒng)恢復(fù)服務(wù)實(shí)施了系統(tǒng)恢復(fù)過(guò)程,用于在數(shù)據(jù)處理系統(tǒng)和至少一個(gè)不同的數(shù)據(jù)處理系統(tǒng)之間建立同步點(diǎn)。
17.如權(quán)利要求16所述的數(shù)據(jù)處理系統(tǒng),其中,所述系統(tǒng)恢復(fù)過(guò)程被過(guò)程資源管理器調(diào)用。
18.如權(quán)利要求17所述的數(shù)據(jù)處理系統(tǒng),其中,所述系統(tǒng)恢復(fù)過(guò)程在數(shù)據(jù)處理系統(tǒng)的啟動(dòng)時(shí)被調(diào)用。
19.如權(quán)利要求16所述的數(shù)據(jù)處理系統(tǒng),其中,所述系統(tǒng)恢復(fù)過(guò)程包括在數(shù)據(jù)處理系統(tǒng)和至少一個(gè)不同的數(shù)據(jù)處理系統(tǒng)之間的協(xié)商階段,所述協(xié)商階段包含協(xié)商指向不同的數(shù)據(jù)處理系統(tǒng)的過(guò)程的標(biāo)識(shí)信息。
20.如權(quán)利要求15所述的數(shù)據(jù)處理系統(tǒng),包含由過(guò)程資源管理器利用的連接服務(wù)(CNCT),用于管理在數(shù)據(jù)處理系統(tǒng)和至少一個(gè)不同的數(shù)據(jù)處理系統(tǒng)之間的通信。
21.如權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),包含用于管理過(guò)程的自動(dòng)重新執(zhí)行的服務(wù)。
22.如上面權(quán)利要求中的任何一個(gè)所述的數(shù)據(jù)處理系統(tǒng),包含事務(wù)處理管理器系統(tǒng)(TM),用于管理事務(wù)處理。
23.一種用于管理事務(wù)處理的數(shù)據(jù)處理系統(tǒng),該系統(tǒng)包含第一事務(wù)處理管理系統(tǒng),包含多個(gè)資源管理器,每一個(gè)負(fù)責(zé)根據(jù)提交/撤銷協(xié)議,管理各個(gè)系統(tǒng)資源;資源管理器協(xié)調(diào)器,用于協(xié)調(diào)資源管理器的提交/撤銷行為;特征在于包含過(guò)程資源管理器,起到資源管理器的作用,并且由資源管理器協(xié)調(diào)器相應(yīng)于要被不同于第一系統(tǒng)的至少一個(gè)第二事務(wù)處理管理系統(tǒng)實(shí)行的事務(wù)處理來(lái)協(xié)調(diào),過(guò)程資源管理器管理被至少一個(gè)第二系統(tǒng)實(shí)行的事務(wù)處理的撤銷行為。
24.一種把服從提交/撤銷協(xié)議的服從過(guò)程與不服從提交/撤銷協(xié)議的非服從過(guò)程集成在一起的方法,包含提供至少一個(gè)資源管理器(RM),用于依照提交/撤銷協(xié)議,管理對(duì)各個(gè)系統(tǒng)資源的改變,和提供資源管理器協(xié)調(diào)器(RMC),用于協(xié)調(diào)至少一個(gè)資源管理器的提交/撤銷行為,特征在于包含提供過(guò)程資源管理器(ERM),用于管理非服從過(guò)程的執(zhí)行,所述過(guò)程資源管理器根據(jù)述提交/撤銷協(xié)議由資源管理器協(xié)調(diào)器協(xié)調(diào),在接收到撤銷請(qǐng)求后,所述過(guò)程資源管理器自動(dòng)地確定要被執(zhí)行的補(bǔ)償操作的序列,以便撤銷在非服從過(guò)程的執(zhí)行期間執(zhí)行的操作,并管理所述補(bǔ)償操作的執(zhí)行。
全文摘要
一種數(shù)據(jù)處理系統(tǒng),包含至少一個(gè)資源管理器(RM),用于依照提交/撤銷協(xié)議管理對(duì)各個(gè)系統(tǒng)資源的改變,和資源管理器協(xié)調(diào)器(RMC),用于協(xié)調(diào)所述至少一個(gè)資源管理器的提交/撤銷操作。提供了根據(jù)提交/撤銷協(xié)議由資源管理器協(xié)調(diào)器協(xié)調(diào)的過(guò)程資源管理器(ERM),用于管理不服從提交/撤銷協(xié)議的非服從過(guò)程的執(zhí)行。過(guò)程資源管理器在接收到撤銷請(qǐng)求后,自動(dòng)地確定要被執(zhí)行的一系列補(bǔ)償操作,以撤銷在次級(jí)非服從過(guò)程的執(zhí)行期間被執(zhí)行的操作,并管理所述補(bǔ)償操作的執(zhí)行。
文檔編號(hào)G06F9/40GK1682191SQ03821621
公開(kāi)日2005年10月12日 申請(qǐng)日期2003年8月13日 優(yōu)先權(quán)日2002年9月12日
發(fā)明者莫羅·A·賈科梅洛 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1