事務處理方法及裝置的制造方法
【專利摘要】本申請公開了一種事務處理方法,包括:獲取待處理事務的第一請求,第一請求為預處理請求;判斷所述待處理事務的第二請求是否符合預設條件,第二請求為回滾請求;若是,結束所述第一請求;若否,執(zhí)行所述第一請求。本申請還公開了一種應用該事務處理方法的事務處理裝置。與現(xiàn)有技術相比,本申請所提供的事務處理方法和裝置,根據(jù)第二請求是否符合預設條件來決定是否結束剛獲取到的第一請求,無論第一請求是預處理請求還是回滾請求,均能實現(xiàn)回滾請求被執(zhí)行后預處理請求不會被執(zhí)行,預處理請求被執(zhí)行后回滾請求才會執(zhí)行;避免預處理請求在回滾請求后完成來破壞事務的一致性,保證了數(shù)據(jù)庫內(nèi)關于該事務的數(shù)據(jù)的正確性。
【專利說明】
事務處理方法及裝置
技術領域
[0001]本申請涉及計算機技術領域,尤其涉及一種事務處理方法及裝置?!颈尘凹夹g】
[0002]事務是計算機技術領域中一個廣泛使用的概念,是恢復和并發(fā)控制的基本單位, 由計算機所處理的多個任務組成,隨著計算機性能的快速發(fā)展,事務處理需求也越來越多; 事務具有一致性,一致性要求如果事務中某個任務發(fā)生處理異常,數(shù)據(jù)庫中關于該事務的所有數(shù)據(jù)均需返回至事務處理前的狀態(tài),以保證數(shù)據(jù)庫內(nèi)數(shù)據(jù)與事務的處理進程保持一致。
[0003]現(xiàn)有技術中,通過使用兩階段提交協(xié)議來進行事務的處理,該協(xié)議具體包括:1) 預處理階段,事務協(xié)調(diào)器發(fā)送預處理請求給事務處理中涉及的參與者,通知它們準備提交數(shù)據(jù);2)回滾階段,如果事務協(xié)調(diào)器一直未收到某一參與者的響應或有任一參與者做出否定響應,即表示該參與者準備失敗,則將一個回滾請求發(fā)送給所有參與者,使得數(shù)據(jù)庫中關于該事務的所有數(shù)據(jù)恢復至事務處理前狀態(tài)。
[0004]然而,該現(xiàn)有技術中,若有參與者由于事務處理能力較差或網(wǎng)絡抖動等原因,一直未能完成預處理請求,而在完成回滾請求并發(fā)出回滾請求完成響應后,才完成預處理請求, 則會導致后續(xù)該參與者一直處于準備狀態(tài),而事務協(xié)調(diào)器則因收到了參與者的回滾完成響應后,誤認為參與者均回滾完成,使得事務的一致性被破壞,導致數(shù)據(jù)庫內(nèi)關于該事務的數(shù)據(jù)將會一片混亂而不可預測,造成數(shù)據(jù)庫無法正常使用。
[0005]綜上,現(xiàn)有技術中的事務處理存在著事務一致性難以保證的問題。
[0006]申請內(nèi)容
[0007]本申請實施例提供一種事務處理方法及裝置,解決了現(xiàn)有技術中事務處理過程中一致性難以保證的技術問題。
[0008]本申請實施例還提供一種事務處理方法,其包括:
[0009]獲取待處理事務的第一請求,所述第一請求為預處理請求;
[0010]判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求為回滾請求;
[0011]若是,結束所述第一請求;若否,執(zhí)行所述第一請求。
[0012]本申請實施例還提供一種事務處理方法,其包括:
[0013]獲取待處理事務的第一請求,所述第一請求為回滾請求;
[0014]判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求為預處理請求;
[0015]若是,結束所述第一請求;若否,執(zhí)行所述第一請求。
[0016]本申請實施例還提供一種事務處理裝置,其包括:
[0017]獲取模塊,用于獲取待處理事務的第一請求,所述第一請求為預處理請求;
[0018]判斷模塊,用于判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求為回滾請求;
[0019]執(zhí)行模塊,若所述第二請求符合預設條件,用于結束所述第一請求,若所述第二請求不符合預設條件,用于執(zhí)行所述第一請求。
[0020]本申請實施例還提供一種事務處理裝置,其包括:
[0021]獲取模塊,用于獲取待處理事務的第一請求,所述第一請求為回滾請求;
[0022]判斷模塊,用于判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求為預處理請求;
[0023]執(zhí)行模塊,若所述第二請求符合預設條件,用于結束所述第一請求,若所述第二請求不符合預設條件,用于執(zhí)行所述第一請求。
[0024]本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
[0025]本申請實施例中,根據(jù)第二請求是否符合預設條件來決定是否結束剛獲取到的第一請求,無論第一請求是預處理請求還是回滾請求,均能實現(xiàn)回滾請求被執(zhí)行后預處理請求不會被執(zhí)行,預處理請求被執(zhí)行后回滾請求才會執(zhí)行;避免預處理請求在回滾請求后完成來破壞事務的一致性,保證了數(shù)據(jù)庫內(nèi)關于該事務的數(shù)據(jù)的正確性?!靖綀D說明】
[0026]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0027]圖1為本申請實施例提供的事務處理方法的過程。
[0028]圖2為本申請實施例提供的事務處理方法中判斷待處理事務的第二請求是否符合預設條件的具體過程,此時,第一請求為預處理請求,第二請求為回滾請求。
[0029]圖3為本申請另一實施例提供的事務處理方法中判斷待處理事務的第二請求是否符合預設條件的具體過程,此時,第一請求為回滾請求,第二請求為預處理請求。
[0030]圖4為本申請實施例提供的事務處理裝置的結構示意圖?!揪唧w實施方式】
[0031]為使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0032]在事務在處理過程中,可能存在預處理請求在回滾請求完成后才結束導致事務一致性被破壞的情形,為保證事務的一致性,本申請實施例提供一種事務處理方法,以下結合附圖詳細介紹本方法。
[0033]圖1為本申請實施例提供的事務處理方法的過程,包括如下步驟:
[0034]S10、獲取待處理事務的第一請求。
[0035]本申請的實施例中,第一請求是指事務的預處理請求,用于通知參與者準備提交數(shù)據(jù)。
[0036]通常提交數(shù)據(jù)的動作均伴隨著事務相關數(shù)據(jù)的轉(zhuǎn)移,例如,通過網(wǎng)上銀行內(nèi)余額賬戶來進行網(wǎng)購貨款支付,該支付過程即為一事務。首先,買家的網(wǎng)上銀行余額賬戶獲取預處理請求后,將貨款轉(zhuǎn)至托管賬戶,在貨款成功存入托管賬戶后,視為余額賬戶完成了預處理請求;后續(xù),貨款再從托管賬戶提交至賣家賬戶,從而完成整個貨款支付。
[0037]S20、判斷該待處理事務的第二請求是否符合預設條件,若是,執(zhí)行步驟S30;若否,執(zhí)行步驟S40。
[0038]其中,第二請求為回滾請求,該預設條件為:第二請求(回滾請求)在處理中或已經(jīng)處理完。
[0039]S30、結束該第一請求,并對管理事務處理的事務協(xié)調(diào)器發(fā)送預處理請求失敗響應。
[0040]S40、執(zhí)行該第一請求。
[0041]同樣以網(wǎng)上銀行內(nèi)余額賬戶來進行網(wǎng)購貨款支付為例,余額賬戶獲取預處理請求后,若余額賬戶事務處理能力和網(wǎng)絡傳輸能力均正常時,余額賬戶執(zhí)行預處理請求時,回滾請求并未生成,自然回滾請求也不符合其預設條件,此時,繼續(xù)執(zhí)行第一請求,以推動整個事務處理進程。
[0042]然而,在余額賬戶處理能力較差或網(wǎng)絡抖動較大時,余額賬戶在后續(xù)收到回滾請求后,開始執(zhí)行回滾請求甚至完成回滾請求時,才獲取到預處理請求;此時,因回滾請求符合預設條件,直接結束預處理請求,避免繼續(xù)執(zhí)行預處理請求導致的事務一致性問題,保證了數(shù)據(jù)庫內(nèi)關于該事務的數(shù)據(jù)的正確性。
[0043]圖2為本申請實施例提供事務處理方法中判斷待處理事務的回滾請求是否符合預設條件的具體過程圖,該步驟S20包括:
[0044]S21a、生成待處理事務的事務信息,事務信息包括事務標識和事務狀態(tài)。
[0045]本申請的實施例中,每次獲取事務處理請求,無論該事務處理請求是預處理請求還是回滾請求,均會生成待處理事務的事務信息。
[0046]事務信息中事務標識可通過事務內(nèi)容、事務參與者以及事務發(fā)起時間等多個因素來定義,與事務請求的類型無關,使得每個事務處理的過程中,該事務的事務信息具有唯一的事務標識。
[0047]事務信息中事務狀態(tài)為正?;蚧貪L,在獲取預處理請求時,事務狀態(tài)則標為正常; 獲取回滾請求時,事務狀態(tài)則標為回滾。
[0048]S22a、判斷已記載事務信息的事務信息總表內(nèi)是否存在與待處理事務的事務標識相同的事務彳目息,若否,執(zhí)行S23a,若是,執(zhí)行S24a。
[0049]本申請的實施例中,提供一事務彳目息總表,每次生成事務彳目息后,均將該事務的事務信息存入事務信息總表內(nèi)。事務信息總表對事務標識做數(shù)據(jù)完整性約束,使得每次事務處理均只會有唯一的事務信息。
[0050]在獲取待處理事務的事務處理請求后,將待處理事務的事務信息插入事務信息總表,根據(jù)能夠成功插入來判定是否存在與待處理事務的事務標識相同的事務信息。
[0051]若出現(xiàn)插入失敗,則判定事務信息總表內(nèi)存在與待處理事務的事務標識相同的事務信息,反之,則判定事務信息總表內(nèi)不存在事務標識相同的事務信息,同時待處理事務的事務信息被插入事務信息總表內(nèi),完成對事務信息總表的更新。
[0052]當然,本申請的其他實施例中,還可通過提取待處理事務的事務標識,查詢事務信息總表,判斷該事務標識是否存在于其中,以實現(xiàn)事務信息總表內(nèi)是否存在與待處理事務的事務標識相同的事務信息,在此不做贅述。
[0053]S23a、判定存在相同的事務信息,即回滾請求不符合預設條件。
[0054]在事務信息總表內(nèi)不存在與待處理事務的事務標識相同的事務信息時,表明本次待處理事務的預處理請求為首次請求,可繼續(xù)執(zhí)行該預處理請求。
[0055]S24a、判斷存于事務信息總表內(nèi)的事務信息的事務狀態(tài)是否為回滾,若否,執(zhí)行 S25a,若是,執(zhí)行S26a。
[0056]若事務信息總表內(nèi)存在與待處理事務的事務標識相同的事務信息,表明本次事務處理請求并非該事務的首次處理請求,通過判斷記載于事務信息總表內(nèi)事務信息的事務狀態(tài)是否為回滾,來明確該事務的當前處理進度。
[0057]在事務信息總表內(nèi)事務信息的事務狀態(tài)為回滾時,表明該事務處理已經(jīng)到了回滾階段,此時,判定該事務的回滾請求正在處理或已處理完;反之,若在事務信息總表內(nèi)事務信息的事務狀態(tài)為正常,表明該事務處理還處于預處理階段,通常為單個事務請求參與者做多次預處理請求,可繼續(xù)執(zhí)行當前的預處理請求。
[0058]S25a、判定回滾請求不符合預設條件。
[0059]S26a、判定回滾請求在處理中或已經(jīng)處理完,即回滾請求符合預設條件。
[0060]本申請的實施例中,事務處理方法還包括:在待處理事務提交成功時,刪除該待處理事務的事務信息,降低事務信息總表占用空間,同時也提高事務標識查詢效率。
[0061]本申請另一實施例提供的事務處理方法的過程,與前述實施例中事務處理方法的過程相比,區(qū)別在于:第一請求為回滾請求,第二請求為預處理請求,預設條件為:預處理請求在處理中。
[0062]圖3為本申請另一實施例提供事務處理方法中判斷待處理事務的回滾請求是否符合預設條件的具體過程圖,步驟S20包括:
[0063]S2 lb、生成待處理事務的事務信息,事務信息包括事務標識和事務狀態(tài)。
[0064]S22b、判斷已記載事務信息的事務信息總表內(nèi)是否存在與待處理事務的事務標識相同的事務信息,若是,執(zhí)行S23b,若否,執(zhí)行S24b。
[0065]S23b、判定存在相同的事務信息,即預處理請求不符合預設條件。
[0066]S24b、判斷是否能夠?qū)⒋幚硎聞盏氖聞蔗苣肯⒉迦胫潦聞蔗苣肯⒖偙?,若是,?zhí)行 S25b,若否,執(zhí)彳丁 S26b。
[0067]在事務彳目息總表內(nèi)并不存在與待處理事務相同事務標識的事務彳目息存在,且待處理事務的事務信息也無法插入事務信息總表時,表明之前事務參與者將獲取預處理請求時所生成的事務信息插入事務信息總表的動作仍然在進行中。
[0068]此時,使得事務彳目息總表內(nèi)不存在相同該事物標識的事務彳目息,事務參與者無法將獲取回滾請求時所生成的事務信息也插入事務信息總表內(nèi),進而獲得預處理請求在處理中的結論。
[0069]S25b、判定事務信息插入失敗,即預處理請求不符合預設條件。
[0070]S26b、判定預處理請求在處理中,即預設處理請求符合預設條件。
[0071]通過設定預處理請求當預處理請求在處理中時,結束回滾請求,并對管理事務處理的事務協(xié)調(diào)器發(fā)送回滾請求失敗響應。事務協(xié)調(diào)器等待預設延時后,再向事務參與者發(fā)送回滾請求,事務參與者重復前述執(zhí)行步驟S21b_S26b,直至得到預處理請求已處理完或處理出錯為止。
[0072]由于在完成預處理請求后,才能執(zhí)行回滾請求;避免了預處理請求在回滾請求結束后才完成,保證了數(shù)據(jù)庫內(nèi)關于該事務的數(shù)據(jù)的正確性。
[0073]本申請的實施例中,事務處理方法還包括:在待處理事務回滾成功時,將待處理事務的事務狀態(tài)更新為回滾。
[0074]若在回滾請求執(zhí)行前,已經(jīng)執(zhí)行了該事務的預處理請求或執(zhí)行預處理請求異常, 在事務信息總表內(nèi)已經(jīng)存有該待處理事務的事務信息,且存于事務信息總表內(nèi)的待處理事務的事務信息的事務狀態(tài)為正常,則在回滾完成后,將該事務狀態(tài)由正常改為回滾。
[0075]若在回滾請求執(zhí)行前,該事務的預處理請求未執(zhí)行,則將回滾請求時所生成的事務信息的事務狀態(tài)直接更新為回滾。
[0076]圖4為本申請實施例提供的事務處理裝置的機構示意圖,本申請實施例所提供的事務處理裝置基于以上事務處理方法,故該裝置的具體細節(jié)可參照以上處理方法,本文不再予以贅述。該事務處理裝置包括:
[0077]獲取模塊10,用于獲取待處理事務的第一請求。
[0078]判斷模塊20,用于判斷待處理事務的第二請求是否符合預設條件。
[0079]執(zhí)行模塊30,若第二請求符合預設條件,用于結束第一請求,若第二請求不符合預設條件,用于執(zhí)行第一請求。
[0080]本申請實施例中,第一請求是預處理請求,第二請求是回滾請求;預設條件為:回滾請求在處理中或已經(jīng)處理完。[0081 ] 本申請實施例中,判斷模塊20具體包括:
[0082]信息生成單元,生成待處理事務的事務信息,事務信息包括事務標識和事務狀態(tài)。
[0083]標識判斷單元,用于判斷事務信息總表內(nèi)是否存在與待處理事務的事務標識相同的事務信息。
[0084]狀態(tài)判斷單元,若存在事務標識相同的事務信息,用于判斷存于事務信息總表內(nèi)的事務信息的事務狀態(tài)是否為回滾,若事務狀態(tài)是回滾,判定第二請求在處理中或已經(jīng)處理完。
[0085]本申請實施例中,標識判斷單元具體用于:
[0086]將待處理事務的事務信息插入事務信息總表。
[0087]判斷是否有事務標識重復異常,若否,判定存在與待處理事務的事務標識相同的事務信息。
[0088]本申請實施例中,事務處理裝置還包括:
[0089]信息刪除模塊,用于在待處理事務提交成功時,刪除該待處理事務的事務信息。
[0090]本申請實施例中,第一請求是回滾請求,第二請求是預處理請求;預設條件為:第二請求在處理中。[0091 ] 本申請實施例中,判斷模塊20具體包括:
[0092]信息生成單元,用于生成待處理事務的事務信息,事務信息包括事務標識和事務狀態(tài)。
[0093]標識判斷單元,用于判斷事務信息總表內(nèi)是否存在與待處理事務的事務標識相同的事務信息。
[0094]插入判斷單元,若不存在事務標識相同的事務信息,用于判斷是否能夠?qū)⒋幚硎聞盏氖聞招畔⒉迦胫潦聞招畔⒖偙?,若事務信息插入失敗,判定第二請求在處理中?br>[0095]本申請實施例中,插入判斷單元具體用于:
[0096]將待處理事務的事務信息插入事務信息總表。
[0097]判斷是否有事務標識重復異常,若否,判定存在與待處理事務的事務標識相同的事務信息。
[0098]本申請實施例中,事務處理裝置還包括:
[0099]回滾更新模塊,用于在待處理事務回滾成功時,將待處理事務的事務狀態(tài)更新為回滾。
[0100]本申請實施例中,事務處理裝置還包括響應發(fā)送模塊,用于發(fā)送第一請求失敗響應。
[0101]本申請實施例所提供的事務處理裝置,根據(jù)第二請求是否符合預設條件來決定是否結束剛獲取到的第一請求,無論第一請求是預處理請求還是回滾請求,均能實現(xiàn)回滾請求被執(zhí)行后預處理請求不會被執(zhí)行,預處理請求被執(zhí)行后回滾請求才會執(zhí)行;避免預處理請求在回滾請求后完成來破壞事務的一致性,保證了數(shù)據(jù)庫內(nèi)關于該事務的數(shù)據(jù)的正確性。
[0102]需要說明的是,本申請的實施例所提供事務處理方法的各步驟的執(zhí)行主體均可以是同一設備,或者,該方法也由不同設備作為執(zhí)行主體。比如,步驟21和步驟22的執(zhí)行主體可以為設備1,步驟23的執(zhí)行主體可以為設備2 ;又比如,步驟21的執(zhí)行主體可以為設備 1,步驟22和步驟23的執(zhí)行主體可以為設備2。
[0103]本領域內(nèi)的技術人員應明白,本申請的實施例可提供為方法、裝置、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0104]本申請是參照根據(jù)本申請實施例的方法、設備(裝置)、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程事務處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程事務處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0105]這些計算機程序指令也可存儲在能引導計算機或其他可編程事務處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0106]這些計算機程序指令也可裝載到計算機或其他可編程事務處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0107]在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、 網(wǎng)絡接口和內(nèi)存。
[0108]內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/ 或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
[0109]計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、事務結構、程序的模塊或其他事務。 計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、 動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPR0M)、快閃記憶體或其他內(nèi)存技術、只讀光盤只讀存儲器 (CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的事務信號和載波。
[0110]還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
[0111]本領域技術人員應明白,本申請的實施例可提供為方法、裝置或計算機程序產(chǎn)品。 因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0112]以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內(nèi)。
【主權項】
1.一種事務處理方法,其特征在于,包括:獲取待處理事務的第一請求,所述第一請求是預處理請求;判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求是回滾請求;若是,結束所述第一請求;若否,執(zhí)行所述第一請求。2.如權利要求1所述的事務處理方法,其特征在于,所述預設條件為:所述第二請求在 處理中或已經(jīng)處理完。3.如權利要求2所述的事務處理方法,其特征在于,判斷所述待處理事務的第二請求 是否符合預設條件,具體包括:生成待處理事務的事務彳目息,所述事務彳目息包括事務標識和事務狀態(tài);判斷已記載事務信息的事務信息總表內(nèi)是否存在與所述待處理事務的事務標識相同 的事務信息;若存在事務標識相同的事務信息,判斷存于所述事務信息總表內(nèi)的所述事務信息的事 務狀態(tài)是否為回滾;若所述事務狀態(tài)是回滾,判定所述第二請求在處理中或已經(jīng)處理完。4.如權利要求3所述的事務處理方法,其特征在于,判斷是否存在與所述待處理事務 的事務標識相同的事務彳目息,具體包括:將所述待處理事務的事務信息插入所述事務信息總表;判斷是否有事務標識重復,若是,判定存在與所述待處理事務的事務標識相同的事務 fg息。5.如權利要求3所述的事務處理方法,其特征在于,事務處理方法還包括:在待處理事務提交成功時,刪除該待處理事務的事務彳目息。6.如權利要求1所述的事務處理方法,其特征在于,在結束所述第一請求之后還包括 如下步驟:發(fā)送第一請求的失敗響應。7.—種事務處理方法,其特征在于,包括:獲取待處理事務的第一請求,所述第一請求是回滾請求;判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求是預處理請求;若是,結束所述第一請求;若否,執(zhí)行所述第一請求。8.如權利要求7所述的事務處理方法,其特征在于,所述預設條件為:所述第二請求在 處理中。9.如權利要求8所述的事務處理方法,其特征在于,判斷所述待處理事務的第二請求 是否符合預設條件,具體包括:生成待處理事務的事務彳目息,所述事務彳目息包括事務標識和事務狀態(tài);判斷已記載事務信息的事務信息總表內(nèi)是否存在與所述待處理事務的事務標識相同 的事務信息;若不存在事務標識相同的事務信息,判斷是否能夠?qū)⒋幚硎聞盏氖聞招畔⒉迦胫潦?務信息總表;若所述事務信息插入失敗,判定所述第二請求在處理中。10.如權利要求9所述的事務處理方法,其特征在于,判斷是否能夠?qū)⒋幚硎聞盏氖聞招畔⒉迦胫潦聞招畔⒖偙?,具體包括:將所述待處理事務的事務信息插入所述事務信息總表;判斷是否有事務標識重復,若是,判定所述事務彳目息插入失敗。11.如權利要求9所述的事務處理方法,其特征在于,事務處理方法還包括:在待處理事務回滾成功時,將待處理事務的事務狀態(tài)更新為回滾。12.如權利要求7所述的事務處理方法,其特征在于,在結束所述第一請求之后還包括 如下步驟:發(fā)送第一請求的失敗響應。13.—種事務處理裝置,其特征在于,包括:獲取模塊,用于獲取待處理事務的第一請求,所述第一請求是預處理請求;判斷模塊,用于判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求是 回滾請求;執(zhí)行模塊,若所述第二請求符合預設條件,用于結束所述第一請求,若所述第二請求不 符合預設條件,用于執(zhí)行所述第一請求。14.如權利要求13所述的事務處理裝置,其特征在于所述預設條件為:所述回滾請求 在處理中或已處理完。15.—種事務處理裝置,其特征在于,包括:獲取模塊,用于獲取待處理事務的第一請求,所述第一請求是回滾請求;判斷模塊,用于判斷所述待處理事務的第二請求是否符合預設條件,所述第二請求是 預處理請求;執(zhí)行模塊,若所述第二請求符合預設條件,用于結束所述第一請求,若所述第二請求不 符合預設條件,用于執(zhí)行所述第一請求。16.如權利要求15所述的事務處理裝置,其特征在于,所述預設條件為:第二請求在處理中。
【文檔編號】G06F17/30GK105989133SQ201510087926
【公開日】2016年10月5日
【申請日】2015年2月25日
【發(fā)明人】胡紅梅
【申請人】阿里巴巴集團控股有限公司