專利名稱:一種主機批量的回退方法以及系統(tǒng)的制作方法
技術領域:
本發(fā)明是關于批量處理技術領域,特別是關于批量狀態(tài)異常的處理技術,具體的講是一種主機批量的回退方法以及系統(tǒng)。
背景技術:
銀行的數(shù)據(jù)處理主要包括如下兩種模式:聯(lián)機模式和批量模式。聯(lián)機處理模式主要用于處理交互式的實時數(shù)據(jù),比如存取款時的數(shù)據(jù)處理流程、銀行卡消費時對應的數(shù)據(jù)處理流程、帳務查詢時對應的數(shù)據(jù)處理流程等。批量處理模式主要用于處理大數(shù)據(jù)量的非實時數(shù)據(jù),比如代發(fā)工資時對應的批量處理流程、中間業(yè)務處理流程和報表統(tǒng)計對應的數(shù)據(jù)處理流程等。批量模式一般固定在系統(tǒng)資源相對空閑的時間運行,比如每天00:00到06:00,目標是減少對聯(lián)機的影響,均衡使用主機資源和提高海量數(shù)據(jù)處理效率。批量處理流程是一個比較完整的系統(tǒng)流程,構成批量的基本單元是作業(yè)(也可稱之為任務),這些作業(yè)并不是孤立存在的,而是通過前后項關系設置,首尾相連,形成了一張關系錯綜復雜的有向無環(huán)圖。各個作業(yè)按照此前后關系運行,調用相關的批量程序(一般一個作業(yè)由若干步驟組成 ,一個作業(yè)完成一個或多個獨立的功能),最終完成復雜的多功能數(shù)據(jù)處理流程。為了適應銀行的數(shù)據(jù)龐大性和復雜性,綜合批量系統(tǒng)具有相當大的作業(yè)總量(規(guī)模超過十五萬個)和相當高的并發(fā)處理能力(同一時間并行運行的作業(yè)數(shù)量),批量高峰期并發(fā)度達到上千甚至幾千個作業(yè),它為海量數(shù)據(jù)高效處理提供了有力的技術支撐。目前,對于批量系統(tǒng)的管理運行完全依賴批量排程工具。因批量模式由眾多事務單元組成,各事務單元間邏輯關系錯綜復雜,且批量工具不支持批量逆運行,所以無法簡單回退。主機系統(tǒng)異常、批量系統(tǒng)異常、批量系統(tǒng)文件損毀或者災難發(fā)生、甚至人為原因都可能導致非常規(guī)情形的發(fā)生,即批量運行狀態(tài)全部或部分丟失,應用批量處理流程將被迫中斷,且無法繼續(xù)運行。由于批量的固有特性使得其難以在短時間內經(jīng)人工處理后恢復運行,將會嚴重影響數(shù)據(jù)的正常處理,導致銀行被迫停止提供對外服務,造成重大損失。因此,鑒于應用批量作業(yè)數(shù)量龐大、邏輯架構復雜,批量在運行過程中產(chǎn)生排程異常后,如何實現(xiàn)讓批量狀態(tài)恢復到之前的某個時間點一直是困擾業(yè)界的一個難題。
發(fā)明內容
為了克服了現(xiàn)有技術中由于應用批量作業(yè)數(shù)量龐大、邏輯架構復雜,批量在運行過程中產(chǎn)生排程異常后,無法讓批量狀態(tài)盡快恢復到之前的某個時間點的技術難題,本發(fā)明實施例提供了一種主機批量的回退方法以及系統(tǒng),在異常發(fā)生的情況下避免了損失,有效地保障數(shù)據(jù)的完整性和數(shù)據(jù)流程的連續(xù)性。本發(fā)明的目的之一是,提供一種主機批量的回退方法,所述的方法包括根據(jù)備份頻度將所述的主機上正在運行的批量進行備份;采集所述的批量發(fā)生異常時的時間點;確定所述的時間點之前最近一次的備份時間;恢復批量狀態(tài)至所述的最近一次的備份時間;從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息;根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至發(fā)生異常時的時間點。本發(fā)明的目的之一是,提供一種主機批量的回退方法,所述的方法包括:根據(jù)備份頻度將所述的主機上正在運行的批量進行備份;采集用戶輸入的批量回退命令;根據(jù)所述的批量回退命令確定批量回退的時間點;確定所述的時間點之前最近一次的備份時間;恢復批量狀態(tài)至所述的最近一次的備份時間;從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息;根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至所述的時間點。本發(fā)明的目的之一是,提供一種主機批量的回退系統(tǒng),所述的回退系統(tǒng)包括:數(shù)據(jù)備份裝置,用于根據(jù)備份頻度將所述的主機上正在運行的批量進行備份;時間點采集裝置,用于采集所述的批量發(fā)生異常時的時間點,或采集用戶輸入的批量回退命令,根據(jù)所述的批量回退命令確定批量回退的時間點;備份時間確定裝置,用于確定所述的時間點之前最近一次的備份時間;第一狀態(tài)恢復裝置,用于恢復批量狀態(tài)至所述的最近一次的備份時間;運行信息采集裝置,用于從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息;第二狀態(tài)恢復裝置,用于根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至所述的時間點。本發(fā)明的有益效果在于,提供了一種主機批量的回退方法以及系統(tǒng),克服了現(xiàn)有技術中由于應用批量作業(yè)數(shù)量龐大、邏輯架構復雜,批量在運行過程中產(chǎn)生排程異常后,無法讓批量狀態(tài)盡快恢復到之前的某個時間點的技術難題,一旦遇到異常情況,用戶可以快速完整地將批量狀態(tài)恢復至異常前的任意指定時刻,并使批量繼續(xù)健康運行,為保障批量穩(wěn)定運行、業(yè)務數(shù)據(jù)連續(xù)性完整性提供了有力支撐,提高了批量系統(tǒng)的穩(wěn)定性和抵御風險的能力。
為了更清楚地說明 本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的第一種主機批量的回退方法的實施方式一的具體流程圖;圖2為圖1中的步驟S106的具體流程圖;圖3為本發(fā)明實施例提供的第一種主機批量的回退方法的實施方式二的具體流程圖;圖4為本發(fā)明實施例提供的另一種主機批量的回退方法的實施方式一的具體流程圖;圖5為本發(fā)明實施例提供的另一種主機批量的回退方法的實施方式二的具體流程圖;圖6為本發(fā)明提供的一種主機批量的回退方法的具體實施例的流程圖;圖7為本發(fā)明實施例提供的一種主機批量的回退系統(tǒng)的實施方式一的結構框圖8為本發(fā)明實施例提供的一種主機批量的回退系統(tǒng)中第二狀態(tài)恢復裝置的結構框圖;圖9為本發(fā)明實施例提供的一種主機批量的回退系統(tǒng)的實施方式二的結構框圖;圖10是步驟S105在單個作業(yè)狀態(tài)時對應的流程圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明實施例提供的第一種主機批量的回退方法的實施方式一的具體流程圖,由圖1可知,所述的方法包括:SlOl:根據(jù)備份頻度將所述的主機上正在運行的批量進行備份。即該步驟提供了一種完備的批量文件備份機制,將所述的主機上正在運行的批量狀態(tài)信息進行備份,用戶可以根據(jù)實際需要,預先設定備份頻度,比如,在銀行批量高峰期00:00-04:00每半小時進行一次備份,其他時間每2 小時進行一次備份。備份頻度越高,批量回退所需時間越短,相應的備份裝置所消耗的系統(tǒng)資源越多;備份頻度越低,批量回退所需時間越長,相應的系統(tǒng)消耗也越少。用戶可以根據(jù)自身批量系統(tǒng)的特性來設定備份頻度。S102:采集所述的批量發(fā)生異常時的時間點。在實際的使用過程中,主機的異常、批量系統(tǒng)異常、批量系統(tǒng)文件損毀或者災難發(fā)生,甚至人為原因都可能導致非常規(guī)情形的發(fā)生,即批量運行狀態(tài)全部或部分丟失,應用批量將被迫中斷,且無法繼續(xù)運行,批量發(fā)生異常時,批量狀態(tài)已被破壞,且沒有任何作業(yè)在運行(即批量處于一種靜止狀態(tài))。發(fā)生故障異常的時刻即為該步驟提及的時間點,即要把批量狀態(tài)恢復到哪個時間點,比如A日E時。S103:確定所述的時間點之前最近一次的備份時間。由于步驟SlOl在異常發(fā)生之前均按照備份頻度進行批量的備份,因此發(fā)生異常時首先確定異常發(fā)生的時間點之前最近一次的備份時間,比如A日D時。S104:恢復批量狀態(tài)至所述的最近一次的備份時間。在具體的實施方式中,若異常發(fā)生后,如果發(fā)現(xiàn)24小時之內沒有批量自身的文件備份,則從外部導入最近一次的應用版本定義。應用版本定義導入后,重新制定批量計劃(后續(xù)再將批量狀態(tài)從最開始狀態(tài)恢復到異常發(fā)生前的指定時間點)。S105:從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息。在具體的實施方式中,可讀取主機系統(tǒng)中作業(yè)輸出隊列信息,抓取指定時間段內指定用戶名提交的作業(yè)運行信息,采集的運行信息包括:作業(yè)名、作業(yè)號、返回碼、結束日期、結束時間點。所述的排程信息包括所述的批量對應的各個作業(yè)遵循的運行規(guī)則。也即排程信息是指組成批量的各作業(yè)必須遵循一定的運行規(guī)則,比如前后項關系、定時運行、特殊資源控制運行或者計劃外調度運行等。只有作業(yè)所有的運行規(guī)則均已滿足時,才能被提交運行。每個作業(yè)都有其最高返回碼,它是標志作業(yè)運行是否正常判定條件,當某作業(yè)運行完畢后,其實際返回碼若小于等于定義的最高返回碼,則視為此作業(yè)正常結束,否則視為異常結束。S106:根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至發(fā)生異常時的時間點。圖10是步驟S105在單個作業(yè)狀態(tài)時對應的流程圖,其中未運行的作業(yè)狀態(tài)用W表示(批量開始前所有作業(yè)都是),正在運行的作業(yè)狀態(tài)用S表示,運行中報錯的作業(yè)狀態(tài)用E表示,運行正常結束的作業(yè)狀態(tài)用C表示。Sll:收集作業(yè)JOBA的運行信息。S12:判定JOBA是否運行完畢,若未執(zhí)行完畢,則跳到步驟S13,若執(zhí)行完畢,則跳到步驟S14。S13:將JOBA的狀態(tài)置位為S。S14:收集JOBA排程定信息。S15:判斷JOBA實際返回碼是否大于其排程定義的最高返回碼,若判斷為否,則跳到步驟S17,否則跳到 步驟S16。S16:將JOBA的狀態(tài)置位為E。S17:將JOBA的狀態(tài)置位為C。圖2為圖1中的步驟S106的具體流程圖,由圖2可知,步驟S106具體包括:S201:根據(jù)所述的運行信息以及所述的排程信息確定所述的批量對應的各個作業(yè)的拓撲關系圖。在具體的實施方式中,先將組成批量的海量作業(yè)運行信息進行篩查排序,生成備份點與還原點之間的批量作業(yè)運行信息,并將結果按時間順序排序。根據(jù)組成批量的各個作業(yè)間前后項(各作業(yè)間執(zhí)行順序限制關系)關系生成拓撲排序圖(此圖是個復雜的有向無環(huán)圖,也是邏輯順序圖表),批量作業(yè)遵循拓撲排序圖所示的順序執(zhí)行。S202:根據(jù)所述的運行信息、所述的排程信息以及所述的拓撲關系圖對所述的批量從所述的備份時間至所述的時間點之間的作業(yè)進行智能運算置位,得到所述的批量從所述的備份時間至所述的時間點之間的作業(yè)清單。在具體的實施方式中,根據(jù)運行信息和排程信息對備份點與還原點之間的批量作業(yè)的執(zhí)行結果進行智能運算,更新最新狀態(tài)到批量排程工具中。諸如對收集到的執(zhí)行信息進行處理,得到D時與E時之間已執(zhí)行完成的作業(yè)清單。S203:根據(jù)所述的作業(yè)清單補齊所述的批量從所述的備份時間至所述的時間點之間的狀態(tài)差異,即根據(jù)D時與E時之間已執(zhí)行完成的作業(yè)清單,補齊D時與E時之間的狀態(tài)差。S204:根據(jù)所述的狀態(tài)差異將所述的批量狀態(tài)恢復至發(fā)生異常時的時間點。在批量發(fā)生異常的情況下,或者應特殊需求需要進行批量回退的情況下,恢復批量狀態(tài)到指定時間點。在具體的實施方式中,步驟S104將批量狀態(tài)恢復至最近一次的備份時間,步驟S203將備份時間至所述的時間點之間的狀態(tài)差異補齊,因此可將批量狀態(tài)恢復至異常發(fā)生前的任意指定時刻,并使批量繼續(xù)健康運行,從而做到批量狀態(tài)的零丟失。圖3為本發(fā)明實施例提供的第一種主機批量的回退方法的實施方式二的具體流程圖,由圖3可知,在實施方式二中,該方法還包括:S307:從所述的主機上采集批量對應的全量運行結果;
S308:將所述恢復的批量狀態(tài)對應的運行信息與所述的全量運行結果進行比對,得到比對結果。也即實施方式二中,將批量狀態(tài)恢復至異常發(fā)生時刻后,對批量狀態(tài)回退結果進行檢查,確保批量回退結果正確。將主機系統(tǒng)中記錄的批量作業(yè)全量運行結果與重置后的批量排程工具作業(yè)運行信息進行比對,確保二者數(shù)據(jù)一致。以上本發(fā)明實施例提供的第一種主機批量的回退方法,通過建立一套完備的備份恢復機制,在發(fā)生異常的情況下,能迅速恢復批量狀態(tài)到發(fā)生異常前的最近一次備份時間點;然后收集批量作業(yè)從備份時間點到異常時間點之間的運行信息,再根據(jù)全批量作業(yè)間前后項關系生成拓撲排序圖,最后依據(jù)此圖結合作業(yè)實際運行信息對作業(yè)狀態(tài)進行智能運算置位,補齊備份時間點到災難時間點的狀態(tài)差異,從而做到批量狀態(tài)零丟失,在異常發(fā)生的情況下避免了損失,有效地保障數(shù)據(jù)的完整性和數(shù)據(jù)流程的連續(xù)性。圖4為本發(fā)明實施例提供的另一種主機批量的回退方法的實施方式一的具體流程圖,由圖4可知,該方法具體包括:S401:根據(jù)備份頻度將所述的主機上正在運行的批量進行備份。該步驟提供了一種完備的批量文件備份機制,用戶可以根據(jù)實際需要,預先設定備份頻度,比如,在銀行批量高峰期00:00-04:00每半小時進行一次備份,其他時間每2小時進行一次備份。備份頻度越高,批量回退所需時間越短,相應的備份裝置所消耗的系統(tǒng)資源越多;備份頻度越低,批量回退所需時間越長,相應的系統(tǒng)消耗也越少。用戶可以根據(jù)自身批量系統(tǒng)的特性來設定備份頻度。S402:采集用戶輸入的批量回退命令;S403:根據(jù)所述的批量回退命令確定批量回退的時間點。用戶可以主動發(fā)起批量回退命令,并可指定回退時間點,即要把批量狀態(tài)恢復到哪個時間點,比如A日E時。S404:確定所述 的時間點之前最近一次的備份時間。由于步驟S401在采集到用戶的批量回退命令之前均按照備份頻度進行批量的備份,因此首先確定接收到批量回退命令之前最近一次的備份時間,比如A日D時。S405:恢復批量狀態(tài)至所述的最近一次的備份時間。在具體的實施方式中,若接收到用戶輸入的批量回退命令后,發(fā)現(xiàn)24小時之內沒有批量自身的文件備份,則從外部導入最近一次的應用版本定義。應用版本定義導入后,重新制定批量計劃(后續(xù)再將批量狀態(tài)從最開始狀態(tài)恢復到回退命令接收前的指定時間點)。S406:從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息。在具體的實施方式中,可讀取主機系統(tǒng)中作業(yè)輸出隊列信息,抓取指定時間段內指定用戶名提交的作業(yè)運行信息,采集的運行信息包括:作業(yè)名、作業(yè)號、返回碼、結束日期、結束時間點。所述的排程信息包括所述的批量對應的各個作業(yè)遵循的運行規(guī)則。也即排程信息是指組成批量的各作業(yè)必須遵循一定的運行規(guī)則,比如前后項關系、定時運行、特殊資源控制運行或者計劃外調度運行等。只有作業(yè)所有的運行規(guī)則均已滿足時,才能被提交運行。每個作業(yè)都有其最高返回碼,它是標志作業(yè)運行是否正常判定條件,當某作業(yè)運行完畢后,其實際返回碼若小于等于定義的最高返回碼,則視為此作業(yè)正常結束,否則視為異常結束。
S407:根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至所述的時間點。圖10是圖4中的步驟S406在單個作業(yè)狀態(tài)時對應的流程圖,圖2為圖4中的步驟S407的具體流程圖,對這兩個步驟的具體描述此處不在贅述,可參見第一種主機批量的回退方法的相關描述。圖5為本發(fā)明實施例提供的另一種主機批量的回退方法的實施方式二的具體流程圖,由圖5可知,在實施方式二中,該方法還包括:S508:從所述的主機上采集批量對應的全量運行結果;S509:將所述恢復的批量狀態(tài)對應的運行信息與所述的全量運行結果進行比對,得到比對結果。也即實施方式二中,將批量狀態(tài)恢復至異常發(fā)生時刻后,對批量狀態(tài)回退結果進行檢查,確保批量回退結果正確。將主機系統(tǒng)中記錄的批量作業(yè)全量運行結果與重置后的批量排程工具作業(yè)運行信息進行比對,確保二者數(shù)據(jù)一致。以上本發(fā)明實施例提供的另一種主機批量的回退方法,通過建立一套完備的備份恢復機制,在用戶主動發(fā)起批量回退的情況下,能迅速恢復批量狀態(tài)到發(fā)起回退命令前的最近一次備份時間點;然后收集批量作業(yè)從備份時間點到回退命令時間點之間的運行信息,再根據(jù)全批量作業(yè)間前后項關系生成拓撲排序圖,最后依據(jù)此圖結合作業(yè)實際運行信息對作業(yè)狀態(tài)進行智能運算置位,補齊備份時間點到災難時間點的狀態(tài)差異,從而做到批量狀態(tài)零丟失,有效地保障數(shù)據(jù)的完整性和數(shù)據(jù)流程的連續(xù)性。圖7為本發(fā)明實施例提供的一種主機批量的回退系統(tǒng)的實施方式一的結構框圖,由圖7可知,該回退系統(tǒng)具體包括:數(shù)據(jù)備份裝 置100,用于根據(jù)備份頻度將所述的主機上正在運行的批量進行備份。該裝置提供了一種完備的批量文件備份機制,用戶可以根據(jù)實際需要,預先設定備份頻度,t匕如,在銀行批量高峰期00:00-04:00每半小時進行一次備份,其他時間每2小時進行一次備份。備份頻度越高,批量回退所需時間越短,相應的備份裝置所消耗的系統(tǒng)資源越多;備份頻度越低,批量回退所需時間越長,相應的系統(tǒng)消耗也越少。用戶可以根據(jù)自身批量系統(tǒng)的特性來設定備份頻度。時間點采集裝置200,用于采集所述的批量發(fā)生異常時的時間點,或采集用戶輸入的批量回退命令,根據(jù)所述的批量回退命令確定批量回退的時間點;時間點有如下兩種采集方式:(I)在實際的使用過程中,主機的異常、批量系統(tǒng)異常、批量系統(tǒng)文件損毀或者災難發(fā)生,甚至人為原因都可能導致非常規(guī)情形的發(fā)生,即批量運行狀態(tài)全部或部分丟失,應用批量將被迫中斷,且無法繼續(xù)運行,批量發(fā)生異常時,批量狀態(tài)已被破壞,且沒有任何作業(yè)在運行(即批量處于一種靜止狀態(tài))。發(fā)生故障異常的時刻即為此處提及的時間點,即要把批量狀態(tài)恢復到哪個時間點,比如A日E時。(2)用戶可以主動發(fā)起批量回退命令,并可指定回退時間點,即要把批量狀態(tài)恢復至IJ哪個時間點,比如A日E時。備份時間確定裝置300,用于確定所述的時間點之前最近一次的備份時間。由于時間點采集裝置在異常發(fā)生之前或采集到回退命令之前均按照備份頻度進行批量的備份,因此首先確定時間點之前最近一次的備份時間,比如A日D時。第一狀態(tài)恢復裝置400,用于恢復批量狀態(tài)至所述的最近一次的備份時間。在具體的實施方式中,如果發(fā)現(xiàn)24小時之內沒有批量自身的文件備份,則從外部導入最近一次的應用版本定義。應用版本定義導入后,重新制定批量計劃(后續(xù)再將批量狀態(tài)從最開始狀態(tài)恢復到異常發(fā)生前的指定時間點)。運行信息采集裝置500,用于從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息。圖10是運行信 息采集裝置在單個作業(yè)狀態(tài)時對應的流程圖,對這個流程圖的具體描述此處不在贅述,可參見一種主機批量的回退方法的相關描述。在具體的實施方式中,可讀取主機系統(tǒng)中作業(yè)輸出隊列信息,抓取指定時間段內指定用戶名提交的作業(yè)運行信息,采集的運行信息包括:作業(yè)名、作業(yè)號、返回碼、結束日期、結束時間點。所述的排程信息包括所述的批量對應的各個作業(yè)遵循的運行規(guī)則。也即排程信息是指組成批量的各作業(yè)必須遵循一定的運行規(guī)則,比如前后項關系、定時運行、特殊資源控制運行或者計劃外調度運行等。只有作業(yè)所有的運行規(guī)則均已滿足時,才能被提交運行。每個作業(yè)都有其最高返回碼,它是標志作業(yè)運行是否正常判定條件,當某作業(yè)運行完畢后,其實際返回碼若小于等于定義的最高返回碼,則視為此作業(yè)正常結束,否則視為異常結束。第二狀態(tài)恢復裝置600,用于根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至所述的時間點。本發(fā)明實施例的主機批量的回退系統(tǒng)中,各個裝置之間是松耦合關系。圖8為圖7中的第二狀態(tài)恢復裝置600的結構框圖,由圖8可知,該裝置具體包括:拓撲關系確定單元601,用于根據(jù)所述的運行信息以及所述的排程信息確定所述的批量對應的各個作業(yè)的拓撲關系圖;在具體的實施方式中,先將組成批量的海量作業(yè)運行信息進行篩查排序,生成備份點與還原點之間的批量作業(yè)運行信息,并將結果按時間順序排序。根據(jù)組成批量的各個作業(yè)間前后項(各作業(yè)間執(zhí)行順序限制關系)關系生成拓撲排序圖(此圖是個復雜的有向無環(huán)圖,也是邏輯順序圖表),批量作業(yè)遵循拓撲排序圖所示的順序執(zhí)行。作業(yè)清單確定單元602,用于根據(jù)所述的運行信息、所述的排程信息以及所述的拓撲關系圖對所述的批量從所述的備份時間至所述的時間點之間的作業(yè)進行智能運算置位,得到所述的批量從所述的備份時間至所述的時間點之間的作業(yè)清單;在具體的實施方式中,根據(jù)運行信息和排程信息對備份點與還原點之間的批量作業(yè)的執(zhí)行結果進行智能運算,更新最新狀態(tài)到批量排程工具中。諸如對收集到的執(zhí)行信息進行處理,得到D時與E時之間已執(zhí)行完成的作業(yè)清單。狀態(tài)差異補齊單元603,用于根據(jù)所述的作業(yè)清單補齊所述的批量從所述的備份時間至所述的時間點之間的狀態(tài)差異,即根據(jù)D時與E時之間已執(zhí)行完成的作業(yè)清單,補齊D時與E時之間的狀態(tài)差;狀態(tài)恢復單元604,用于根據(jù)所述的狀態(tài)差異將所述的批量狀態(tài)恢復至所述的時間點。在批量發(fā)生異常的情況下,或者應特殊需求需要進行批量回退的情況下,恢復批量狀態(tài)到指定時間點。在具體的實施方式中,第一狀態(tài)恢復裝置400將批量狀態(tài)恢復至最近一次的備份時間,狀態(tài)差異補齊單元將備份時間至所述的時間點之間的狀態(tài)差異補齊,因此可將批量狀態(tài)恢復至異常發(fā)生前的任意指定時刻,并使批量繼續(xù)健康運行,從而做到批量狀態(tài)的零丟失。圖9為本發(fā)明實施例提供的一種主機批量的回退系統(tǒng)的實施方式二的結構框圖,由圖9可知,在實施方式二中,回退系統(tǒng)還包括:全量運行結果采集裝置700,用于從所述的主機上采集批量對應的全量運行結果;比對裝置800,用于將所述恢復的批量狀態(tài)對應的運行信息與所述的全量運行結果進行比對,得到比對結果。也即實施方式二中,將批量狀態(tài)恢復至異常發(fā)生時刻后,對批量狀態(tài)回退結果進行檢查,確保批量回退結果正確。將主機系統(tǒng)中記錄的批量作業(yè)全量運行結果與重置后的批量排程工具作業(yè)運行信息進行比對,確保二者數(shù)據(jù)一致。以上本發(fā)明實施例提供的一種主機批量的回退系統(tǒng),通過建立一套完備的備份恢復機制,在發(fā)生異常的情況或用戶發(fā)出回退命令時,能迅速恢復批量狀態(tài)到最近一次備份時間點;然后收集批量作業(yè)從備份時間點到時間點之間的運行信息,再根據(jù)全批量作業(yè)間前后項關系生成拓撲排序圖,最后依據(jù)此圖結合作業(yè)實際運行信息對作業(yè)狀態(tài)進行智能運算置位,補齊備份時間點到時間點的狀態(tài)差異,從而做到批量狀態(tài)零丟失,有效地保障數(shù)據(jù)的完整性和數(shù)據(jù)流程的連續(xù)性。下面結合具體的實施例,詳細介紹本發(fā)明的方案。圖6為本發(fā)明提供的一種主機批量的回退方法的具體實施例的流程圖,具體包括:S1:因主觀或客觀原因,批量發(fā)生異常,需要進行應急處理。S2:判斷24小時之內是否存在批量系統(tǒng)自身的文件備份,當判斷為是時,執(zhí)行步驟S5,否則執(zhí)行步驟S3 ;S3:從外部導入最近一次的應用版本定義;S4:應用版本定義導入后,重新制定批量計劃(后續(xù)再將批量狀態(tài)從最開始狀態(tài)恢復到異常發(fā)生前的指定時間點)。S5:恢復異常發(fā)生前最近的備份,這時批量狀態(tài)也同時恢復到了該備份的時間點(后續(xù)再將批量狀態(tài)從最開始狀態(tài)恢復到異常發(fā)生前的指定時間點)。S6:從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息。收集的作業(yè)運行信息包括:作業(yè)名、作業(yè)號、返回碼、結束日期、結束時間點。S7:根據(jù)所述的運行信息以及所述的排程信息確定所述的批量對應的各個作業(yè)的拓撲關系圖。S8:根據(jù)S6、S7步驟的輸出,以及批量計劃當前狀態(tài),逐一將作業(yè)狀態(tài)恢復至某一個時間點。S9:恢復完成后,再針對結果進行檢查,確?;謴蜔o誤。綜上所述,本發(fā)明提供了一種主機批量的回退方法以及系統(tǒng),能在災難情況下快速恢復批量狀態(tài), 避免了因批量無法及時恢復而導致的數(shù)據(jù)異常,有力保障了數(shù)據(jù)處理的連續(xù)性,其優(yōu)勢在于:1、可以高效、無縫地恢復批量狀態(tài)到任意歷史時間點,特別適用于以下情況使用:(I)批量排程系統(tǒng)自身異常的情況下恢復批量運行狀態(tài)至異常前。(2)批量運行狀態(tài)整體丟失情況下恢復批量運行狀態(tài)。(3)異地系統(tǒng)間平滑接管批量運行。(4)根據(jù)需求恢復批量運行狀態(tài)到任意指定時間點。2、增強了抵御批量狀態(tài)被破壞及批量排程邏輯故障等問題的能力,有效降低了運營風險,能有效保障主機批量系統(tǒng)穩(wěn)定性,大大提升了批量穩(wěn)定運行的技術服務質量、提高了災難應對水平。3、極大降低了批量的恢復時間,將批量恢復時間從2至3天縮短至2小時以內,縮短了 96% 至 97%。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,可以通過計算機程序來指令相關 的硬件來完成,所述的程序可存儲于一般計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。本領域技術人員還可以了解到本發(fā)明實施例列出的各種功能是通過硬件還是軟件來實現(xiàn)取決于特定的應用和整個系統(tǒng)的設計要求。本領域技術人員可以對于每種特定的應用,可以使用各種方法實現(xiàn)所述的功能,但這種實現(xiàn)不應被理解為超出本發(fā)明實施例保護的范圍。本發(fā)明中應用了具體實施例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種主機批量的回退方法,其特征是,所述的方法包括: 根據(jù)備份頻度將所述的主機上正在運行的批量進行備份; 采集所述的批量發(fā)生異常時的時間點; 確定所述的時間點之前最近一次的備份時間; 恢復批量狀態(tài)至所述的最近一次的備份時間; 從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息; 根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至發(fā)生異常時的時間點。
2.根據(jù)權利要求1所述的方法,其特征是,所述的運行信息包括作業(yè)名、作業(yè)號、返回碼、結束日期以及結束時間點。
3.根據(jù)權利要求1所述的方法,其特征是,所述的排程信息包括所述的批量對應的各個作業(yè)遵循的運行規(guī)則。
4.根據(jù)權利要求1或2或3所述的方法,其特征是,根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至發(fā)生異常時的時間點具體包括: 根據(jù)所述的運行信息以及所述的排程信息確定所述的批量對應的各個作業(yè)的拓撲關系圖; 根據(jù)所述的運行信息、所述的排程信息以及所述的拓撲關系圖對所述的批量從所述的備份時間至所述的時間點之間的作業(yè)進行智能運算置位,得到所述的批量從所述的備份時間至所述的時間點之間的作業(yè)清單; 根據(jù)所述的作業(yè)清單補齊所述的批量從所述的備份時間至所述的時間點之間的狀態(tài)差異; 根據(jù)所述的狀態(tài)差異將所述的批量狀態(tài)恢復至發(fā)生異常時的時間點。
5.根據(jù)權利要求4所述的方法,其特征是,所述的方法還包括: 從所述的主機上采集批量對應的全量運行結果; 將所述恢復的批量狀態(tài)對應的運行信息與所述的全量運行結果進行比對,得到比對結果O
6.一種主機批量的回退方法,其特征是,所述的方法包括: 根據(jù)備份頻度將所述的主機上正在運行的批量進行備份; 采集用戶輸入的批量回退命令; 根據(jù)所述的批量回退命令確定批量回退的時間點; 確定所述的時間點之前最近一次的備份時間; 恢復批量狀態(tài)至所述的最近一次的備份時間; 從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息; 根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至批量回退的時間點。
7.根據(jù)權利要求6所述的方法,其特征是,所述的運行信息包括作業(yè)名、作業(yè)號、返回碼、結束日期以及結束時間點。
8.根據(jù)權利要求6所述的方法,其特征是,所述的排程信息包括所述的批量對應的各個作業(yè)遵循的運行規(guī)則。
9.根據(jù)權利要求6或7或8所述的方法,其特征是,根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至批量回退的時間點具體包括: 根據(jù)所述的運行信息以及所述的排程信息確定所述的批量對應的各個作業(yè)的拓撲關系圖; 根據(jù)所述的運行信息、所述的排程信息以及所述的拓撲關系圖對所述的批量從所述的備份時間至所述的時間點之間的作業(yè)進行智能運算置位,得到所述的批量從所述的備份時間至所述的時間點之間的作業(yè)清單; 根據(jù)所述的作業(yè)清單補齊所述的批量從所述的備份時間至所述的時間點之間的狀態(tài)差異; 根據(jù)所述的狀態(tài)差異將所述的批量狀態(tài)恢復至批量回退的時間點。
10.根據(jù)權利要求9所述的方法,其特征是,所述的方法還包括: 從所述的主機上采集批量對應的全量運行結果; 將所述恢復的批量狀態(tài)對應的運行信息與所述的全量運行結果進行比對,得到比對結果O
11.一種主機批量的回退系統(tǒng),其特征是,所述的回退系統(tǒng)包括: 數(shù)據(jù)備份裝置,用于根據(jù)備份頻度將所述的主機上正在運行的批量進行備份; 時間點采集裝置,用于采集所述的批量發(fā)生異常時的時間點,或采集用戶輸入的批量回退命令,根據(jù)所述的批量回退命令確定批量回退的時間點; 備份時間確定裝置,用于確定所述的時間點之前最近一次的備份時間; 第一狀態(tài)恢復裝置,用于恢復批量狀態(tài)至所述的最近一次的備份時間; 運行信息采集裝置,用于從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息; 第二狀態(tài)恢復裝置,用于根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至所述的時間點。
12.根據(jù)權利要求11所述的回退系統(tǒng),其特征是,所述的運行信息包括作業(yè)名、作業(yè)號、返回碼、結束日期以及結束時間點。
13.根據(jù)權利要求11所述的回退系統(tǒng),其特征是,所述的排程信息包括所述的批量對應的各個作業(yè)遵循的運行規(guī)則。
14.根據(jù)權利要求11或12或13所述的回退系統(tǒng),其特征是,所述的第二狀態(tài)恢復裝置具體包括: 拓撲關系確定單元,用于根據(jù)所述的運行信息以及所述的排程信息確定所述的批量對應的各個作業(yè)的拓撲關系圖; 作業(yè)清單確定單元,用于根據(jù)所述的運行信息、所述的排程信息以及所述的拓撲關系圖對所述的批量從所述的備份時間至所述的時間點之間的作業(yè)進行智能運算置位,得到所述的批量從所述的備份時間至所述的時間點之間的作業(yè)清單; 狀態(tài)差異補齊單元,用于根據(jù)所述的作業(yè)清單補齊所述的批量從所述的備份時間至所述的時間點之間的狀態(tài)差異; 狀態(tài)恢復單元,用于根據(jù)所述的狀態(tài)差異將所述的批量狀態(tài)恢復至所述的時間點。
15.根據(jù)權利要求14所述的回退系統(tǒng),其特征是,所述的回退系統(tǒng)還包括: 全量運行結果采集裝置,用于從所述的主機上采集批量對應的全量運行結果; 比對裝置,用于將所述恢復的批量狀態(tài)對應的運行信息與所述的全量運行結果進行比對,得到比對結果。
全文摘要
本發(fā)明提供一種主機批量的回退方法及系統(tǒng),所述方法包括根據(jù)備份頻度將所述的主機上正在運行的批量狀態(tài)信息進行備份;采集用戶輸入的批量回退命令;根據(jù)所述的批量回退命令確定批量回退的時間點;確定所述的時間點之前最近一次的備份時間;恢復批量狀態(tài)至所述的最近一次的備份時間;從所述的主機上采集所述的批量從所述的備份時間至所述的時間點之間的運行信息以及排程信息;根據(jù)所述的運行信息、所述的排程信息將所述的批量狀態(tài)恢復至發(fā)生異常時的時間點??朔爽F(xiàn)有技術中由于應用批量處理規(guī)模龐大、邏輯架構復雜,批量在運行過程中產(chǎn)生排程執(zhí)行異常后,無法讓批量狀態(tài)盡快恢復到之前的某個時間點的技術難題。
文檔編號G06F9/46GK103218256SQ20131013600
公開日2013年7月24日 申請日期2013年4月18日 優(yōu)先權日2013年4月18日
發(fā)明者丁潔, 陳立偉, 李朋樂, 陳鵬, 于興華, 陳佳慧 申請人:中國工商銀行股份有限公司