本發明涉及軟件開發技術領域,更具體地說,涉及一種批量作業續跑方法及裝置。
背景技術:
銀行系統在日終時,會以批量形式統一對日間聯機業務進行業務處理。在批量應用程序運行過程中,可能會由于系統資源限制或者問題業務數據等故障導致應用程序中斷。
目前,當運行維護人員排除完故障重新觸發批量應用程序時,批量應用程序會將之前生成的數據全部清除并重新進行業務處理,而往往出錯的數據只是小部分,這樣就會給銀行系統帶來不必要的負擔,從而降低執行效率。
技術實現要素:
有鑒于此,本發明提供一種批量作業續跑方法及裝置,以解決現有的技術方案中批量應用程序重新作業導致執行效率低的問題。技術方案如下:
一種批量作業續跑方法,包括:
當接收到批量作業續跑請求時,調取預先構建的至少一個狀態任務表,其中,所述狀態任務表存儲有相應數據庫的標志位以及所述數據庫中的至少一個數據表的作業標識,所述標志位用于表征所述數據庫的運行狀態,所述運行狀態包括數據表全部處理或數據表未全部處理,所述作業標識用于表征數據表的作業狀態,所述作業狀態包括處理未完成或處理完成;
針對每一個所述狀態任務表,解析其中存儲的所述標志位,確定相應所述數據庫的運行狀態;
針對運行狀態為數據表未全部處理的每一個所述數據庫,獲取對應的所述狀態任務表中存儲的至少一個所述數據表的作業標識,依據所述作業標識確定各個所述數據表的作業狀態,并對作業狀態為處理未完成的各個所述數據表進行處理。
優選的,還包括:
當對作業狀態為處理未完成的各個所述數據表處理成功之后,對處理成功的各個所述數據表的作業標識進行更新。
優選的,還包括:
針對運行狀態為數據表未全部處理的每一個所述數據庫,當對所述數據庫中作業狀態為處理未完成的各個所述數據表全部處理成功之后,對所述數據庫的標志位進行更新。
優選的,所述預先構建至少一個狀態任務表的過程,包括:
從目標數據源處獲取待處理數據;
對所述待處理數據進行分庫分表處理,得到至少一個數據庫,所述數據庫中包含至少一個數據表;
為每一個所述數據表分配一個狀態任務表。
一種批量作業續跑裝置,包括:狀態任務表調取模塊、運行狀態確定模塊和數據處理模塊,所述狀態任務表調取模塊中包括狀態任務表構建單元;
所述狀態任務表構建單元,用于預先構建至少一個狀態任務表;
所述狀態任務表調取模塊,用于當接收到批量作業續跑請求時,調取預先構建的至少一個狀態任務表,其中,所述狀態任務表存儲有相應數據庫的標志位以及所述數據庫中的至少一個數據表的作業標識,所述標志位用于表征所述數據庫的運行狀態,所述運行狀態包括數據表全部處理或數據表未全部處理,所述作業標識用于表征數據表的作業狀態,所述作業狀態包括處理未完成或處理完成;
所述運行狀態確定模塊,用于針對每一個所述狀態任務表,解析其中存儲的所述標志位,確定相應所述數據庫的運行狀態;
所述數據處理模塊,用于針對運行狀態為數據表未全部處理的每一個所述數據庫,獲取對應的所述狀態任務表中存儲的至少一個所述數據表的作業標識,依據所述作業標識確定各個所述數據表的作業狀態,并對作業狀態為處理未完成的各個所述數據表進行處理。
優選的,還包括:作業標識更新模塊;
所述作業標識更新模塊,用于當對作業狀態為處理未完成的各個所述數據表處理成功之后,對處理成功的各個所述數據表的作業標識進行更新。
優選的,標志位更新模塊;
所述標志位更新模塊,用于針對運行狀態為數據表未全部處理的每一個所述數據庫,當對所述數據庫中作業狀態為處理未完成的各個所述數據表全部處理成功之后,對所述數據庫的標志位進行更新。
優選的,狀態任務表構建單元包括:待處理數據獲取子單元、分庫分表子單元和狀態任務表分配子單元;
所述待處理數據獲取子單元,用于從目標數據源處獲取待處理數據;
所述分庫分表子單元,用于對所述待處理數據進行分庫分表處理,得到至少一個數據庫,所述數據庫中包含至少一個數據表;
所述狀態任務表分配子單元,用于為每一個所述數據表分配一個狀態任務表。
相較于現有技術,本發明實現的有益效果為:
以上本發明提供的一種批量作業續跑方法及裝置,該方法預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理。基于本發明公開的方法,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明實施例一公開的一種批量作業續跑方法流程圖;
圖2為本發明實施例二公開的一種批量作業續跑方法流程圖;
圖3為本發明實施例二公開的另一種批量作業續跑方法流程圖;
圖4為本發明實施例三公開的一種批量作業續跑方法部分流程圖;
圖5為本發明實施例四公開的一種批量作業續跑裝置結構示意圖;
圖6為本發明實施例五公開的一種批量作業續跑裝置結構示意圖;
圖7為本發明實施例五公開的另一種批量作業續跑裝置結構示意圖;
圖8為本發明實施例六公開的一種批量作業續跑裝置部分結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
批處理,指的是利用營業結束后集中對當日業務進行批量處理,通常安排在晚間進行,包括代收代付、利息結算、批量還款、更新總賬、備份、清理等操作,是銀行業務完整性的一個必要環節。
批量作業,指的是組合調用多個批處理服務的程序單元。
續跑,指的是批量作業遇到異常情況停止的場景下,排除問題之后重啟批量作業,從上次出錯的位置繼續處理。
分庫分表,指的是將原來存儲有大量數據的數據源,按照某種規則,拆分成多個小數據量的表,并存儲在多個數據庫中。
實施例一
本發明實施例一公開了一種批量作業續跑方法,該方法應用于批量作業續跑裝置,方法流程圖如圖1所示,包括如下步驟:
S101,當接收到批量作業續跑請求時,調取預先構建的至少一個狀態任務表,其中,狀態任務表存儲有相應數據庫的標志位以及數據庫中的至少一個數據表的作業標識,標志位用于表征數據庫的運行狀態,運行狀態包括數據表全部處理或數據表未全部處理,作業標識用于表征數據表的作業狀態,作業狀態包括處理未完成或處理完成;
在執行步驟S101的過程中,預先對目標數據源的數據按照預設規則進行處理,得到包含至少一個數據表的數據庫,數據庫為一個或多個,并為每個數據庫分配一個狀態任務表,狀態任務表以標志位的方式表示數據庫的運行狀態,以作業標識的方式表示該數據庫中各個數據表的作業狀態;
例如,將數據源的1000條數據平均存儲到100個數據表中,并將這100個數據表分配到5個數據庫,也就是說每個數據表中存儲有10條數據,每個數據庫中存儲有20個數據表;為上述每個數據庫分配一個對應的狀態任務表,該狀態任務表是用來記錄該數據庫中20個數據表的作業狀態,并且,對于每個數據庫來說,可利用狀態任務表的標志位來表示運行狀態,例如,標志位0表示數據表未全部處理,標志位1表示數據表全部處理。
S102,針對每一個狀態任務表,解析其中存儲的標志位,確定相應數據庫的運行狀態;
在執行步驟S102的過程中,對于每一個狀態任務表來說,其中存儲的標志位可表示對應數據庫的運行狀態,例如,數據庫A對應的狀態任務表的標志位為0,表示該數據庫A中的數據表未全部處理。
S103,針對運行狀態為數據表未全部處理的每一個數據庫,獲取對應的狀態任務表中存儲的至少一個數據表的作業標識,依據作業標識確定各個數據表的作業狀態,并對作業狀態為處理未完成的各個數據表進行處理;
在執行步驟S103的過程中,例如,數據庫A中包含20個數據表,數據庫A的狀態任務表的標志位為0,即該數據庫A中的數據表未全部處理,然后根據數據庫A的狀態任務表中20個數據表的作業標識,即可確定20個數據表中哪個是處理完成的,哪個是未處理完成的,最后對未處理完成的數據表繼續處理,例如,作業標識D表示數據表處理未完成,作業標識R標識數據表處理完成。
本發明實施例公開的批量作業續跑方法,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理。基于本發明公開的方法,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
實施例二
結合上述實施例一公開的批量作業續跑方法和附圖1,本發明實施例二還提供一種批量作業續跑方法,方法流程圖如圖2所示,包括如下步驟:
S101,當接收到批量作業續跑請求時,調取預先構建的至少一個狀態任務表,其中,狀態任務表存儲有相應數據庫的標志位以及數據庫中的至少一個數據表的作業標識,標志位用于表征數據庫的運行狀態,運行狀態包括數據表全部處理或數據表未全部處理,作業標識用于表征數據表的作業狀態,作業狀態包括處理未完成或處理完成;
S102,針對每一個狀態任務表,解析其中存儲的標志位,確定相應數據庫的運行狀態;
S103,針對運行狀態為數據表未全部處理的每一個數據庫,獲取對應的狀態任務表中存儲的至少一個數據表的作業標識,依據作業標識確定各個數據表的作業狀態,并對作業狀態為處理未完成的各個數據表進行處理;
S104,當對作業狀態為處理未完成的各個數據表處理成功之后,對處理成功的各個數據表的作業標識進行更新。
在執行步驟S104的過程中,例如,作業標識D表示數據表處理未完成,作業標識R標識數據表處理完成,當根據作業標識D對相應數據表處理成功之后,在狀態任務表中將該數據表的作業標識由D改為R。
需要說明的是,本發明實施例二提供的批量作業續跑方法中,步驟S101~步驟S103的具體執行過程與上述實施例一公開的步驟S101~步驟S103一致,在此不再贅述,請參見本發明實施例一公開的部分。
本發明實施例公開的批量作業續跑方法,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理,并對處理成功的數據表的作業標識進行更新。基于本發明公開的方法,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
結合上述實施例一公開的批量作業續跑方法和附圖1,本發明實施例二還提供一種批量作業續跑方法,方法流程圖如圖3所示,包括如下步驟:
S101,當接收到批量作業續跑請求時,調取預先構建的至少一個狀態任務表,其中,狀態任務表存儲有相應數據庫的標志位以及數據庫中的至少一個數據表的作業標識,標志位用于表征數據庫的運行狀態,運行狀態包括數據表全部處理或數據表未全部處理,作業標識用于表征數據表的作業狀態,作業狀態包括處理未完成或處理完成;
S102,針對每一個狀態任務表,解析其中存儲的標志位,確定相應數據庫的運行狀態;
S103,針對運行狀態為數據表未全部處理的每一個數據庫,獲取對應的狀態任務表中存儲的至少一個數據表的作業標識,依據作業標識確定各個數據表的作業狀態,并對作業狀態為處理未完成的各個數據表進行處理;
S105,針對運行狀態為數據表未全部處理的每一個數據庫,當對數據庫中作業狀態為處理未完成的各個數據表全部處理成功之后,對數據庫的標志位進行更新;
在執行步驟S105的過程中,例如,標志位0表示數據表未全部處理,標志位1表示數據表全部處理,當根據標志位0對該數據庫中的作業狀態為處理未完成的各個數據表全部處理成功之后,在狀態任務表中將該數據表的標志位由0改為1。
需要說明的是,本發明實施例二提供的批量作業續跑方法中,步驟S101~步驟S103的具體執行過程與上述實施例一公開的步驟S101~步驟S103一致,在此不再贅述,請參見本發明實施例一公開的部分。
本發明實施例公開的批量作業續跑方法,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理,并對數據表全部處理成功的數據庫的標志位進行更新。基于本發明公開的方法,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
實施例三
結合上述實施例一和實施例二公開的批量作業續跑方法,如圖1至圖3所示出的步驟S101中,預先構建至少一個狀態任務表的具體執行過程,如圖4所示,包括如下步驟:
S201,從目標數據源處獲取待處理數據;
S202,對待處理數據進行分庫分表處理,得到至少一個數據庫,數據庫中包含至少一個數據表;
S203,為每一個數據表分配一個狀態任務表。
本發明實施例公開的批量作業續跑方法,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理。基于本發明公開的方法,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
實施例四
基于上述各實施例提供的批量作業續跑方法,本發明實施例四則對應公開執行上述批量作業續跑方法的裝置,其結構示意圖如圖5所示,批量作業續跑裝置100包括:狀態任務表調取模塊101、運行狀態確定模塊102和數據處理模塊103,狀態任務表調取模塊101中包括狀態任務表構建單元1011;
狀態任務表構建單元1011,用于預先構建至少一個狀態任務表;
狀態任務表調取模塊101,用于當接收到批量作業續跑請求時,調取預先構建的至少一個狀態任務表,其中,狀態任務表存儲有相應數據庫的標志位以及數據庫中的至少一個數據表的作業標識,標志位用于表征數據庫的運行狀態,運行狀態包括數據表全部處理或數據表未全部處理,作業標識用于表征數據表的作業狀態,作業狀態包括處理未完成或處理完成;
運行狀態確定模塊102,用于針對每一個狀態任務表,解析其中存儲的標志位,確定相應數據庫的運行狀態;
數據處理模塊103,用于針對運行狀態為數據表未全部處理的每一個數據庫,獲取對應的狀態任務表中存儲的至少一個數據表的作業標識,依據作業標識確定各個數據表的作業狀態,并對作業狀態為處理未完成的各個數據表進行處理。
本發明實施例公開的批量作業續跑裝置,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理。基于本發明公開的裝置,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
實施例五
結合上述實施例四公開的批量作業續跑裝置和圖5,本發明實施例五還提供一種批量作業續跑裝置,其結構示意圖如圖6所示,批量作業續跑裝置100還包括:作業標識更新模塊104;
作業標識更新模塊104,用于當對作業狀態為處理未完成的各個數據表處理成功之后,對處理成功的各個數據表的作業標識進行更新。
本發明實施例公開的批量作業續跑裝置,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理,并對處理成功的數據表的作業標識進行更新。基于本發明公開的裝置,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
結合上述實施例四公開的批量作業續跑裝置和圖5,本發明實施例五還提供一種批量作業續跑裝置,其結構示意圖如圖7所示,批量作業續跑裝置100還包括:標志位更新模塊105;
標志位更新模塊105,用于針對運行狀態為數據表未全部處理的每一個數據庫,當對數據庫中作業狀態為處理未完成的各個數據表全部處理成功之后,對數據庫的標志位進行更新。
本發明實施例公開的批量作業續跑裝置,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理,并對數據表全部處理成功的數據庫的標志位進行更新。基于本發明公開的裝置,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
實施例六
結合上述實施例四和實施例五公開的批量作業續跑裝置,如圖5至圖7所示出的狀態任務表構建單元1011,其結構示意如圖8所示,包括:待處理數據獲取子單元201、分庫分表子單元202和狀態任務表分配子單元203;
待處理數據獲取子單元201,用于從目標數據源處獲取待處理數據;
分庫分表子單元202,用于對待處理數據進行分庫分表處理,得到至少一個數據庫,數據庫中包含至少一個數據表;
狀態任務表分配子單元203,用于為每一個數據表分配一個狀態任務表。
本發明實施例公開的批量作業續跑裝置,通過預先為各數據庫構建一個狀態任務表來記錄數據庫中所有數據表的作業狀態,當接收到批量作業續跑請求時,通過查詢各個狀態任務表即可確定各數據庫的運行狀態以及各數據庫中所有數據表的作業狀態,從而實現對未處理完成的各個數據表繼續處理。基于本發明公開的裝置,通過斷點續跑減少了銀行系統的負擔,從而提高了執行效率。
以上對本發明所提供的一種批量作業續跑方法及裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備所固有的要素,或者是還包括為這些過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。