一種批處理作業(yè)的處理方法和裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種斷點續(xù)處理機制的批處理作業(yè)的處理方法和裝置,無需在批處理作業(yè)前對相應的業(yè)務數據表進行備份,在批處理作業(yè)出現異常,需要重新提交批處理作業(yè)時,可以從上次出現異常的地方繼續(xù)執(zhí)行未處理的批處理作業(yè),避免整個業(yè)務數據表的重新處理。本發(fā)明實施例方法包括:在批處理作業(yè)過程中,對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息,其中,所述記錄標識信息可以對所述記錄進行唯一識別;在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據存儲的所述記錄標識信息確定出現異常時的斷點記錄信息;根據所述斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。
【專利說明】一種批處理作業(yè)的處理方法和裝置
【技術領域】
[0001]本發(fā)明涉及數據處理技術,尤其涉及一種批處理作業(yè)的處理方法和裝置。
【背景技術】
[0002]在銀行業(yè)務中,特別是數據量龐大的大型銀行系統(tǒng),往往需要通過批處理作業(yè)成批處理大量數據,例如工資代發(fā)業(yè)務,行業(yè)水電煤費用的代扣,日間業(yè)務的賬務匯總,客戶賬單批生成處理,賬務報表生成的過程處理等。
[0003]在上述批處理作業(yè)過程中,批處理程序需按照預設順序依次對業(yè)務數據表中動輒上萬條,甚至數十萬、百萬條的記錄進行處理。如果期間批處理作業(yè)出現異常,例如某條記錄異常、外部數據庫異常、或者是內存不足等不可以抗擊因素,在排除異常需要重新提交批處理作業(yè)時,需要考慮如何重新處理該批處理作業(yè)對應的業(yè)務數據表。目前,在業(yè)界較為普遍的方式是:在批處理作業(yè)提交前,對相應的業(yè)務數據表進行備份,若出現異常,需要重新提交批處理作業(yè),則根據該備份的業(yè)務數據表重新執(zhí)行批處理作業(yè)。
[0004]上述方式存在以下缺點:(1)、根據該備份的業(yè)務數據表重新執(zhí)行批處理作業(yè),無法保留上次批處理作業(yè)已經處理更新過的數據,業(yè)務數據表中的所有數據都得重新處理,在某些數據量龐大的批處理作業(yè)過程中,這種重新執(zhí)行的方式對系統(tǒng)的消耗極大且效率極低;(2)對業(yè)務數據表進行數據備份需要大量存儲空間及數據庫資源,造成資源的過渡消耗;(3)在批處理作業(yè)過程中,備份的業(yè)務數據表需要控制其他作業(yè)不對其進行更新,以保證備份數據的正確性,然而在銀行系統(tǒng)日間聯機過程中,大量的聯機作業(yè)在后臺不間斷運行,此控制往往較難實現。
【發(fā)明內容】
[0005]本發(fā)明實施例提供了一種斷點續(xù)處理機制的批處理作業(yè)的處理方法和裝置,無需在批處理作業(yè)前對相應的業(yè)務數據表進行備份,在批處理作業(yè)出現異常,需要重新提交批處理作業(yè)時,可以從上次出現異常的地方繼續(xù)執(zhí)行未處理的批處理作業(yè),避免整個業(yè)務數據表的重新處理。
[0006]本發(fā)明實施例的第一方面提供一種批處理作業(yè)的處理方法,包括:在批處理作業(yè)過程中,
[0007]對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息,其中,所述記錄標識信息可以對所述記錄進行唯一識別;
[0008]在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據存儲的所述記錄標識信息確定出現異常時的斷點記錄信息;
[0009]根據所述斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。
[0010]可選地,所述對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲具體包括:
[0011]創(chuàng)建斷點狀態(tài)表;
[0012]在每個當前待處理的記錄被處理前,將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中。
[0013]可選地,所述記錄標識信息包括所述記錄的鍵值信息;
[0014]若存在多個業(yè)務數據表,則所述記錄標識信息還包括業(yè)務數據表信息;
[0015]若存在一個業(yè)務數據表被多個批處理作業(yè)引用,則所述記錄標識信息還包括批處理作業(yè)信息。
[0016]可選地,所述記錄標識信息還包括批處理作業(yè)的運行時間信息;
[0017]所述方法還包括:
[0018]根據所述記錄標識信息確定批處理作業(yè)的運行狀態(tài)信息,所述運行狀態(tài)信息包括未運行狀態(tài)、運行失敗狀態(tài)以及運行完成狀態(tài);
[0019]將批處理作業(yè)的運行狀態(tài)信息寫入所述斷點狀態(tài)表。
[0020]可選地,所述方法還包括:
[0021]根據批處理作業(yè)的業(yè)務數據量確定斷點狀態(tài)表的寫入頻率;
[0022]所述將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中具體包括:
[0023]根據所述寫入頻率將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中。
[0024]本發(fā)明實施例第二方面提供了一種批處理作業(yè)的處理裝置,包括:
[0025]保存單元,用于在批處理作業(yè)過程中,對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,其中,所述記錄標識信息可以對所述記錄進行唯一識別;
[0026]第一確定單元,用于在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據存儲的所述記錄標識信息確定出現異常時的斷點記錄信息;
[0027]執(zhí)行單元,用于根據所述斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。
[0028]可選地,所述保存單元具體包括:
[0029]創(chuàng)建模塊,用于創(chuàng)建斷點狀態(tài)表;
[0030]寫入模塊,用于在每個當前待處理的記錄被處理前,將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息。[0031〕 可選地,所述記錄標識信息包括所述記錄的鍵值信息;
[0032]若存在多個業(yè)務數據表,則所述記錄標識信息還包括業(yè)務數據表信息;
[0033]若存在一個業(yè)務數據表被多個批處理作業(yè)引用,則所述記錄標識信息還包括批處理作業(yè)信息。
[0034]可選地,所述記錄標識信息還包括批處理作業(yè)的運行時間信息;所述裝置還包括:
[0035]第二確定單元,用于根據所述記錄標識信息確定批處理作業(yè)的運行狀態(tài)信息,所述運行狀態(tài)信息包括未運行狀態(tài)、運行失敗狀態(tài)以及運行完成狀態(tài);
[0036]所述寫入模塊,還用于將批處理作業(yè)的運行狀態(tài)信息寫入所述斷點狀態(tài)表。
[0037]可選地,所述保存單元還包括:
[0038]確定模塊,用于根據批處理作業(yè)的業(yè)務數據量確定斷點狀態(tài)表的寫入頻率;
[0039]所述寫入模塊,具體用于根據所述寫入頻率將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中。
[0040]本發(fā)明實施例提供的技術方案中,在批處理作業(yè)過程中,對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息,使得存儲的記錄標識信息保持為最新的當前待處理的記錄的記錄標識信息,其中,記錄標識信息可以對記錄進行唯一識別,在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),根據存儲的記錄標識信息可以對最新的當前待處理的記錄進行識別,以確定出現異常時的斷點記錄信息,該斷點記錄信息可以指示最新的當前待處理的記錄(即斷點),然后,根據該斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。因此相對于現有技術,本發(fā)明實施例無需在批處理作業(yè)前對相應的業(yè)務數據表進行備份,在批處理作業(yè)出現異常,需要重新提交批處理作業(yè)時,可以從上次出現異常的地方繼續(xù)執(zhí)行未處理的批處理作業(yè),避免整個業(yè)務數據表的重新處理。
【專利附圖】
【附圖說明】
[0041]圖1為本發(fā)明實施例中批處理作業(yè)的處理方法一個實施例示意圖;
[0042]圖2為本發(fā)明實施例中批處理作業(yè)的處理方法另一實施例示意圖;
[0043]圖3為本發(fā)明實施例中批處理作業(yè)的處理裝置一個實施例示意圖。
【具體實施方式】
[0044]本發(fā)明實施例提供了一種批處理作業(yè)的處理方法和裝置,無需在批處理作業(yè)前對相應的業(yè)務數據表進行備份,在批處理作業(yè)出現異常,需要重新提交批處理作業(yè)時,可以從上次出現異常的地方繼續(xù)執(zhí)行未處理的批處理作業(yè),避免整個業(yè)務數據表的重新處理,以下分別進行詳細說明。
[0045]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0046]本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三…第四”等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的實施例能夠以除了在這里圖示或描述的內容以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
[0047]需要說明的是,本發(fā)明實施例中的批處理作業(yè)的處理方法是對現有批處理作業(yè)邏輯框架的改進,如果現有批處理作業(yè)邏輯框架包括批處理作業(yè)輔助程序(例如,批處理作業(yè)中涉及的檢查操作或者其他預處理操作)以及批處理作業(yè)主程序(批處理作業(yè)的運行操作),則可以預先將批處理作業(yè)邏輯框架中的輔助程序分離開來,僅對主程序進行改進以保證批處理作業(yè)的單獨性,提高發(fā)明實施例中的斷點續(xù)處理的處理效果。
[0048]請參閱圖1,本發(fā)明實施例中批處理作業(yè)的處理方法一個實施例包括:
[0049]101、對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息;
[0050]在本實施例中,批處理程序以記錄為處理節(jié)點,按照預設的順序依次對業(yè)務數據表中的記錄進行處理,以對業(yè)務數據表中的記錄進行更新。在每一個記錄將要被處理時,批處理作業(yè)的處理裝置對當前待處理的記錄的記錄標識信息進行存儲,以將當前待處理的記錄的記錄標識信息保存下來。需要說明的是,當后一個記錄進入當前待處理狀態(tài)時,表明前一個記錄已經處理完畢,在存儲操作過程中,該后一個記錄的記錄標識信息更新該前一個記錄的記錄標識信息,使得存儲的記錄標識信息保持為最新的當前待處理的記錄的記錄標識信息,由此可知,在以記錄為處理節(jié)點的一個批處理作業(yè)中,存儲的記錄標識信息的數量始終為一個,且隨著預處理作業(yè)對記錄的依次處理而不斷更新。
[0051]需要說明的是,記錄標識信息可以對記錄進行唯一識別,以使得批處理作業(yè)的處理裝置根據該記錄標識信息在業(yè)務數據表中查詢到對應的記錄。
[0052]102、在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據存儲的記錄標識信息確定出現異常時的斷點記錄信息;
[0053]由于存儲的記錄標識信息為最新的當前待處理的記錄的記錄標識信息,因而可以根據存儲的記錄標識信息識別業(yè)務數據表哪個記錄為最新的當前待處理的記錄,在批處理作業(yè)出現異常后,存儲的記錄標識信息的記錄標識信息不再進行更新,其保留的記錄標識信息即為出現異常前最后的一個當前待處理的記錄的記錄標識信息,因此,在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),批處理作業(yè)的處理裝置根據存儲的記錄標識信息確定出現異常時的斷點記錄信息,該斷點記錄信息包括出現異常前最后的一個當前待處理的記錄(即斷點
[0054]103、根據斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè);
[0055]批處理作業(yè)的處理裝置通過讀取斷點記錄信息,得到斷點對應的記錄,并從斷點開始繼續(xù)執(zhí)行未處理的批處理作業(yè),從而實現批處理作業(yè)的斷點續(xù)處理。
[0056]本發(fā)明實施例提供的技術方案中,在批處理作業(yè)過程中,對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息,使得存儲的記錄標識信息保持為最新的當前待處理的記錄的記錄標識信息,其中,記錄標識信息可以對記錄進行唯一識別,在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),根據存儲的記錄標識信息可以對最新的當前待處理的記錄進行識別,以確定出現異常時的斷點記錄信息,該斷點記錄信息可以指示最新的當前待處理的記錄(即斷點),然后,根據該斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。因此相對于現有技術,本發(fā)明實施例無需在批處理作業(yè)前對相應的業(yè)務數據表進行備份,在批處理作業(yè)出現異常,需要重新提交批處理作業(yè)時,可以從上次出現異常的地方繼續(xù)執(zhí)行未處理的批處理作業(yè),避免整個業(yè)務數據表的重新處理。
[0057]下面在圖1所示實施例的基礎上,進一步說明如何對記錄標識信息進行存儲,具體請參閱圖2,本發(fā)明實施例中批處理作業(yè)的處理方法另一實施例包括:
[0058]201、創(chuàng)建斷點狀態(tài)表;
[0059]在本實施例中,為了方便對記錄標識信息的讀寫操作,可以構建一個斷點狀態(tài)表,斷點狀態(tài)表的關鍵字段可以根據記錄標識信息的內容來確定。
[0060]在本實施例中,記錄的記錄標識信息可以采用記錄的鍵值信息,以對記錄進行唯一識別,如果在實際應用過程中,僅涉及一個批處理作業(yè)以及一個業(yè)務數據表,則記錄標識信息僅需包含記錄的鍵值信息,便可以準確定位到對應的記錄;如果在實際應用過程中,考慮到存在多個業(yè)務數據表的情況,記錄標識信息還可以包括業(yè)務數據表信息,例如業(yè)務數據表名,從而通過業(yè)務數據表信息和鍵值信息準確定位到某個業(yè)務數據表中某個記錄;如果在實際應用過程中,考慮同一個業(yè)務數據表被多個批處理作業(yè)引用的情況,記錄標識信息還可以包括批處理作業(yè)信息,例如批處理作業(yè)名和程序名,從而通過批處理作業(yè)信息定位到某個批處理作業(yè)中的記錄。下面從考慮多個批處理作業(yè)以及多個業(yè)務數據表的情況出發(fā),對斷點狀態(tài)表的結構設計進行說明:設置斷點狀態(tài)表的關鍵字段,該關鍵字段包括批處理作業(yè)名了08」^12、程序名嫩12、業(yè)務數據表名以及鍵值詘⑶
[0061〕 在本實施例中,鍵值信息可以為記錄的主鍵值組合成一個長字符串。
[0062]202、在每個當前待處理的記錄被處理前,將記錄的記錄標識信息寫入斷點狀態(tài)表中;
[0063]在每一個記錄將要被處理時,批處理作業(yè)的處理裝置將該記錄的記錄標識信息寫入斷點狀態(tài)表中,需要說明的是,當前一個記錄已經處理完畢,后一個記錄進入當前待處理狀態(tài)時,在寫入過程中,該后一個記錄的記錄標識信息更新該前一個記錄的記錄標識信息,使得斷點狀態(tài)表中的記錄標識信息保持為最新的當前待處理的記錄的記錄標識信息,由此可知,在以記錄為處理節(jié)點的一個批處理作業(yè)中,存儲的記錄標識信息的數量始終為一個,且隨著預處理作業(yè)對記錄的依次處理而不斷更新。
[0064]在本實施例中,以記錄標識信息包括鍵值信息、批處理作業(yè)信息以及業(yè)務數據表信息為例,則批處理作業(yè)的處理裝置在每個當前待處理的記錄被處理前,需要將該記錄對應的批處理作業(yè)名和程序名、該記錄對應的業(yè)務數據表名、該記錄的鍵值分別寫入到斷點狀態(tài)表中,作為對應字段的取值,使得批處理作業(yè)的處理裝置通過讀取該斷點狀態(tài)表便可以根據表中的記錄標識信息準確定位到指定批處理作業(yè)中的指定業(yè)務數據表中的指定記錄。
[0065]可選地,在本實施例中,還可以對將記錄的記錄標識信息寫入斷點狀態(tài)表中的寫入頻率進行控制,以減低對數據庫的負荷,具體的:
[0066]根據批處理作業(yè)的業(yè)務數據量確定斷點狀態(tài)表的寫入頻率,并根據該寫入頻率將記錄的記錄標識信息寫入斷點狀態(tài)表中。
[0067]在本實施例中,批處理作業(yè)的處理裝置可以根據業(yè)務數據量來決定⑶臟丨丨的數據量以及⑶臟“頻率,以確定批處理作業(yè)過程中將記錄的記錄標識信息寫入斷點狀態(tài)表中的寫入頻率。例如每100條記錄處理完成就執(zhí)行數據庫的⑶臟丨丨操作,則在處理過程中,只需每100條記錄執(zhí)行一次對斷點狀態(tài)表的寫入操作。
[0068]203、在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據讀取的斷點狀態(tài)表確定出現異常時的斷點記錄信息;
[0069]由于斷點狀態(tài)表寫有最新的當前待處理的記錄的記錄標識信息,因而可以根據讀取的斷點狀態(tài)表識別業(yè)務數據表哪個記錄為最新的當前待處理的記錄,在批處理作業(yè)出現異常后,斷點狀態(tài)表中的記錄標識信息不再進行更新,其保留的記錄標識信息即為出現異常前最后的一個當前待處理的記錄的記錄標識信息,因此,在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),批處理作業(yè)的處理裝置根據存儲的記錄標識信息確定出現異常時的斷點記錄信息,該斷點記錄信息包括出現異常前最后的一個當前待處理的記錄(即斷點)。
[0070]204、根據斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè);
[0071]本實施例中的步驟204與圖1所示實施例中的步驟103過程相同,在此不再贅述。
[0072]在本實施例中,記錄標識信息還可以進一步包括批處理作業(yè)的運行時間信息,同樣地,該運行時間信息隨著預處理作業(yè)對記錄的依次處理而不斷更新,則在對斷點狀態(tài)表的結構設計中,關鍵字段還包括批處理作業(yè)運行日期即1^0八12和批處理作業(yè)運行時間
以記錄下批處理作業(yè)的運行時間信息,并在每個當前待處理的記錄被處理前,批處理作業(yè)的處理裝置將記錄對應的批處理作業(yè)的運行時間信息寫入斷點狀態(tài)表中,作為對應字段⑴?0^)412,的取值。
[0073]205、根據記錄標識信息確定批處理作業(yè)的運行狀態(tài)信息;
[0074]在本實施例中,在對斷點狀態(tài)表的結構設計中,關鍵字段還可以包括用于記錄批處理作業(yè)的運行狀態(tài)信息的字段:批處理作業(yè)運行狀態(tài)了08』1八1…,在斷點狀態(tài)表的未被更新前,批處理作業(yè)運行狀態(tài)默認為未運行狀態(tài),例如,了08』1八1舊的取值為空值時表示批處理作業(yè)運行狀態(tài)為未運行狀態(tài)。在批處理作業(yè)結束后,根據斷點狀態(tài)表中的記錄標識信息可以確定該批處理作業(yè)是否出現異常,具體的:若記錄標識信息與業(yè)務數據表中的待處理的最后一條記錄不對應,則可以判斷該批處理作業(yè)在運行過程中出現異常,并確定批處理作業(yè)的運行狀態(tài)為運行失敗狀態(tài),否則,可以判斷該批處理作業(yè)已成功運行,并確定批處理作業(yè)的運行狀態(tài)為運行完成狀態(tài)。
[0075]206、將批處理作業(yè)的運行狀態(tài)信息寫入斷點狀態(tài)表;
[0076]在確定批處理作業(yè)的運行狀態(tài)信息后,如果確定批處理作業(yè)的運行狀態(tài)為運行失敗狀態(tài),則將斷點狀態(tài)表中的批處理作業(yè)運行狀態(tài)更新為運行失敗狀態(tài),例如,108.81^X^8的取值為“?”時表示批處理作業(yè)運行狀態(tài)為運行失敗狀態(tài),將了08』1八1…的取值置為“?”;如果確定批處理作業(yè)的運行狀態(tài)為運行完成狀態(tài),則將斷點狀態(tài)表中的批處理作業(yè)運行狀態(tài)更新為運行完成狀態(tài),例如,108.81^X^8的取值為“0”時表示批處理作業(yè)運行狀態(tài)為運行完成狀態(tài),將了08』1八1…的取值置為“0”。
[0077]基于上述步驟205和步驟206可以對批處理作業(yè)的運行狀態(tài)進行標示,并將最后更新得到的斷點狀態(tài)表作為數據輸出。在實際應用過程中,在下一次需要執(zhí)行該批處理作業(yè)時,可以先調用上述斷點狀態(tài)表,并利用其中的運行狀態(tài)信息檢查該批處理作業(yè)的狀態(tài),若批處理作業(yè)運行狀態(tài)顯示為未運行狀態(tài),則從批處理作業(yè)對應的第一個記錄開始執(zhí)行步驟101以及后續(xù)步驟,若批處理作業(yè)運行狀態(tài)顯示為運行失敗狀態(tài),則批處理作業(yè)進入重新提交狀態(tài),利用該斷點狀態(tài)表中的記錄標識信息得到斷點記錄信息,并從斷點開始繼續(xù)執(zhí)行未處理的批處理作業(yè),若批處理作業(yè)運行狀態(tài)顯示為運行完成狀態(tài),則表明該批處理作業(yè)已經成功運行結束,退出此次批處理作業(yè),跳過處理,避免手誤重復提交。
[0078]上面對本發(fā)明實施例中的批處理作業(yè)的處理方法進行了描述,下面對本發(fā)明實施例中的批處理作業(yè)的處理裝置進行描述,請參閱圖3,本發(fā)明實施例中批處理作業(yè)的處理裝置一個實施例包括:
[0079]保存單元301,用于在批處理作業(yè)過程中,對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,其中,所述記錄標識信息可以對所述記錄進行唯一識別;
[0080]第一確定單元302,用于在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據存儲的所述記錄標識信息確定出現異常時的斷點記錄信息;
[0081]執(zhí)行單元303,用于根據所述斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。
[0082]為便于理解,下面以一具體應用場景為例,對本實施例中批處理作業(yè)的處理裝置內部運作流程進行描述:
[0083]在批處理作業(yè)過程中,保存單元301對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,其中,所述記錄標識信息可以對所述記錄進行唯一識別;在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則第一確定單元302根據存儲的所述記錄標識信息確定出現異常時的斷點記錄信息;執(zhí)行單元303根據所述斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。
[0084]可選地,在本實施例中,所述保存單元具體包括:
[0085]創(chuàng)建模塊3011,用于創(chuàng)建斷點狀態(tài)表;
[0086]寫入模塊3012,用于在每個當前待處理的記錄被處理前,將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信肩、0
[0087]可選地,在本實施例中,所述記錄標識信息包括所述記錄的鍵值信息;
[0088]若存在多個業(yè)務數據表,則所述記錄標識信息還包括業(yè)務數據表信息;
[0089]若存在一個業(yè)務數據表被多個批處理作業(yè)引用,則所述記錄標識信息還包括批處理作業(yè)信息。
[0090]可選地,在本實施例中,所述記錄標識信息還包括批處理作業(yè)的運行時間信息;所述保存單元還包括:
[0091]第二確定單元304,用于根據所述記錄標識信息確定批處理作業(yè)的運行狀態(tài)信息,所述運行狀態(tài)信息包括未運行狀態(tài)、運行失敗狀態(tài)以及運行完成狀態(tài);
[0092]所述寫入模塊3012,還用于將批處理作業(yè)的運行狀態(tài)信息寫入所述斷點狀態(tài)表。
[0093]可選地,在本實施例中,所述保存單元301還包括:
[0094]確定模塊3013,用于根據批處理作業(yè)的業(yè)務數據量確定斷點狀態(tài)表的寫入頻率;
[0095]所述寫入模塊3012,具體用于根據所述寫入頻率將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中。
[0096]本發(fā)明實施例提供的技術方案中,在批處理作業(yè)過程中,保存單元301對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息,使得存儲的記錄標識信息保持為最新的當前待處理的記錄的記錄標識信息,其中,記錄標識信息可以對記錄進行唯一識別,在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),第一確定單元302根據存儲的記錄標識信息可以對最新的當前待處理的記錄進行識別,以確定出現異常時的斷點記錄信息,該斷點記錄信息可以指示最新的當前待處理的記錄(即斷點),然后,執(zhí)行單元303根據該斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。因此相對于現有技術,本發(fā)明實施例無需在批處理作業(yè)前對相應的業(yè)務數據表進行備份,在批處理作業(yè)出現異常,需要重新提交批處理作業(yè)時,可以從上次出現異常的地方繼續(xù)執(zhí)行未處理的批處理作業(yè),避免整個業(yè)務數據表的重新處理。
[0097]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0098]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0099]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0100]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0101]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括山盤、移動硬盤、只讀存儲器
、隨機存取存儲器^00688、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0102]以上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
【權利要求】
1.一種批處理作業(yè)的處理方法,其特征在于,包括:在批處理作業(yè)過程中, 對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息,其中,所述記錄標識信息可以對所述記錄進行唯一識別; 在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據存儲的所述記錄標識信息確定出現異常時的斷點記錄信息; 根據所述斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。
2.如權利要求1所述的批處理作業(yè)的處理方法,其特征在于,所述對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲具體包括: 創(chuàng)建斷點狀態(tài)表; 在每個當前待處理的記錄被處理前,將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中。
3.如權利要求2所述的批處理作業(yè)的處理方法,其特征在于,所述記錄標識信息包括所述記錄的鍵值信息; 若存在多個業(yè)務數據表,則所述記錄標識信息還包括業(yè)務數據表信息; 若存在一個業(yè)務數據表被多個批處理作業(yè)引用,則所述記錄標識信息還包括批處理作業(yè)信息。
4.如權利要求3所述的批處理作業(yè)的處理方法,其特征在于,所述記錄標識信息還包括批處理作業(yè)的運行時間信息; 所述方法還包括: 根據所述記錄標識信息確定批處理作業(yè)的運行狀態(tài)信息,所述運行狀態(tài)信息包括未運行狀態(tài)、運行失敗狀態(tài)以及運行完成狀態(tài); 將批處理作業(yè)的運行狀態(tài)信息寫入所述斷點狀態(tài)表。
5.如權利要求2所述的批處理作業(yè)的處理方法,其特征在于,所述方法還包括: 根據批處理作業(yè)的業(yè)務數據量確定斷點狀態(tài)表的寫入頻率; 所述將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中具體包括: 根據所述寫入頻率將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中。
6.一種批處理作業(yè)的處理裝置,其特征在于,包括: 保存單元,用于在批處理作業(yè)過程中,對業(yè)務數據表中每個當前待處理的記錄的記錄標識信息進行存儲,其中,所述記錄標識信息可以對所述記錄進行唯一識別; 第一確定單元,用于在批處理作業(yè)出現異常后,若重新提交批處理作業(yè),則根據存儲的所述記錄標識信息確定出現異常時的斷點記錄信息; 執(zhí)行單元,用于根據所述斷點記錄信息繼續(xù)執(zhí)行未處理的批處理作業(yè)。
7.如權利要求6所述的批處理作業(yè)的處理裝置,其特征在于,所述保存單元具體包括: 創(chuàng)建模塊,用于創(chuàng)建斷點狀態(tài)表; 寫入模塊,用于在每個當前待處理的記錄被處理前,將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中,且后一個記錄的記錄標識信息更新前一個記錄的記錄標識信息。
8.如權利要求7所述的批處理作業(yè)的處理裝置,其特征在于,所述記錄標識信息包括所述記錄的鍵值信息; 若存在多個業(yè)務數據表,則所述記錄標識信息還包括業(yè)務數據表信息; 若存在一個業(yè)務數據表被多個批處理作業(yè)引用,則所述記錄標識信息還包括批處理作業(yè)信息。
9.如權利要求8所述的批處理作業(yè)的處理裝置,其特征在于,所述記錄標識信息還包括批處理作業(yè)的運行時間信息;所述裝置還包括: 第二確定單元,用于根據所述記錄標識信息確定批處理作業(yè)的運行狀態(tài)信息,所述運行狀態(tài)信息包括未運行狀態(tài)、運行失敗狀態(tài)以及運行完成狀態(tài); 所述寫入模塊,還用于將批處理作業(yè)的運行狀態(tài)信息寫入所述斷點狀態(tài)表。
10.如權利要求7所述的批處理作業(yè)的處理裝置,其特征在于,所述保存單元還包括: 確定模塊,用于根據批處理作業(yè)的業(yè)務數據量確定斷點狀態(tài)表的寫入頻率; 所述寫入模塊,具體用于根據所述寫入頻率將所述記錄的記錄標識信息寫入所述斷點狀態(tài)表中。
【文檔編號】G06F17/30GK104317960SQ201410647344
【公開日】2015年1月28日 申請日期:2014年11月14日 優(yōu)先權日:2014年11月14日
【發(fā)明者】黃海明, 王曉鵬, 羅燦年, 陳浩然, 李紅霞, 崔海波, 邱韜奮, 楊春喜, 熊敏, 戴大虎 申請人:中國建設銀行股份有限公司