一種銀行數據加工作業調度系統及其方法與流程
2023-05-02 07:06:11 1
本發明屬於一種調度系統,尤其涉及一種銀行數據加工作業調度系統及其方法。
背景技術:
目前,銀行特別是大型銀行的業務系統經過多年的運行,積累了海量的業務數據。銀行利用這些業務數據構建數據倉庫或者數據集市,並開發數據分析應用、數據挖掘應用來支持和輔助銀行經營。
大型銀行擁有包括核心業務系統、銀行卡系統、理財系統、網上銀行系統、中間業務系統等諸多業務系統,所有業務系統的數據在批處理時生成數據文件,並由專門的數據下傳系統下傳到臨時存儲庫;由於各個業務系統的批處理時間不一,下傳的時間不一,數據文件多,數據量大,業務系統之間、數據文件之間存在加工邏輯,因此,在有限的時間窗口內,將這些到達時點不一的數據文件從臨時存儲庫加工到中間存儲庫明細層和中間存儲庫整合層,再從中間存儲庫加工到目標應用庫,整個加工邏輯和加工過程複雜、靈活、多樣。
現有數據加工系統無法滿足上述需求,無法將業務系統之間、數據文件之間、作業之間的加工邏輯規則化、參數化;無法將所有數據加工作業裝載在一個系統,實現作業調度的自動化、管理的可視化;也無法根據系統資源結合作業加工的數據量進行作業並行度的大小調節,以達到最大利用系統資源的目的,從而減少數據加工時間窗。
綜上所述,有必要研發一種銀行數據加工作業調度系統及其方法來彌補上述缺陷。
技術實現要素:
為解決上述缺陷,本發明提出一種銀行數據加工作業調度系統及其方法,其通過規則引擎實現加工邏輯規則化、參數化,通過作業調度引擎實現作業調度的自動化、管理的可視化、系統資源利用的合理化,能充分滿足銀行在數據加工方面的需求,還可以推廣至其它行業使用,且本發明系統管理和版本管理方便。
本發明的技術方案是這樣實現的:
一種銀行數據加工作業調度系統,其包括設置組件和運維組件,設置組件用於支持系統定義和維護所有參數,運維組件用於支持系統運行和維護;設置組件包括設置庫、設置模塊和規則引擎模塊一;設置庫用於保存系統的所有參數;設置模塊用於定義和維護所有參數;規則引擎模塊一用於驗證設置庫中的作業調度規則;運維組件包括運維模塊、運行庫、作業調度引擎模塊和規則引擎模塊二;運維模塊用於提供作業的監控、查詢、人工幹預和人工重跑作業;運行庫用於保存系統運作的所有數據,記錄作業在運行過程中的狀態、作業運行流水和系統產生的日誌;作業調度引擎模塊用於負責作業的運行、正常停止、異常停止、出錯控制和重跑,並全程監控作業的運行情況;規則引擎模塊二用於負責對某個作業的調度規則進行解析。
其中,設置庫中保存的所有參數包括系統本身用到的參數、作業本身的參數、作業相關的參數和作業調度規則。
其中,系統本身用到的參數包括用戶、權限以及文件的存放目錄;作業本身的參數包括作業基本信息、作業之間的關係、作業流程、作業並行度以及例外級別信息,作業相關的參數包括業務系統信息、數據文件組信息、數據文件信息和作業組信息;作業調度規則包括約定作業運行時間、作業運行先後順序、作業並發運行規則、作業重運行規則、作業前後依賴關係和運行流程。
其中,作業調度引擎模塊上設有多個通用接口。
其中,運維模塊上設有操作界面,且作業的監控、查詢、人工幹預和人工重跑作業通過統一的操作界面進行操作。
其中,該銀行數據加工作業調度系統進一步設有作業調度規則數據模型,其用於存儲作業調度規則,且作業調度規則數據模型同時發布至設置庫和運行庫。
其中,該銀行數據加工調度系統與銀行的數據加工系統連接,且數據加工系統與銀行的源資料庫、銀行的目標資料庫均連接。
其中,設置庫連接至運行庫。
本發明還公開一種銀行數據加工作業調度方法,其包括如下步驟:(S01)對設置組件進行設置,將系統的所有參數保存至設置庫中,並通過設置模塊定義和維護設置庫中的所有參數;(S02)通過設置模塊和規則引擎模塊一驗證所需的作業調度規則;(S03)設置庫將驗證後的參數和作業調度規則發布至運行庫;(S04)銀行數據加工作業調度系統根據驗證後的參數和作業調度規則運行數據加工系統的數據加工作業;(S05)在系統運行過程中,運行庫保存系統運行的所有數據,並記錄作業在運行過程中的狀態、作業運行流水和系統產生的日誌;(S06)運行庫通過數據接口將步驟(S05)中的所有數據提供給運維模塊,運維模塊通過統一的操作界面來監控、查詢、人工幹預或人工重跑作業;(S07)規則引擎模塊二對即將運行的數據對加工作業的調度規則進行解析;(S08)作業調度引擎模塊根據步驟(S07)的解析結果和系統資源情況,並結合作業加工的數據量決定運行一個或並發運行多個作業,並對作業存在的衝突進行管理;(S09)當某個作業在運行過程中拋出異常,作業調度引擎模塊自動捕獲該異常,並根據該作業的例外級別來決定停止運行該作業、或者停止運行該作業所在的作業組、或者停止運行餘下的所有作業;(S10)數據加工系統作業運行完畢後,源數據加工成目標數據,並儲存至目標資料庫中。
與現有技術相比,本發明具有如下優點:
本發明以作業調度規則數據模型為基礎,以規則引擎模塊一、規則引擎模塊二和作業調度引擎模塊為核心,充分考慮了銀行系統多、數據量大、業務規則複雜等特點,進行了針對性的設計和構建,將所有數據加工作業的調度規則裝載在本系統,通過本系統統一調度和運行作業,達到統一管理作業、最大化利用系統資源的目的。
本發明採用作業調度規則數據模型,以模型化、參數化來體現數據加工邏輯和數據處理流程,提供更客戶化、更靈活的作業流程定製來滿足業務的需要。
本發明通過規則引擎識別、解析各種作業調度規則,避免將作業調度規則寫在調度程序之中,提高了系統的通用性和可維護性。
本發明作業調度引擎模塊具有多個通用接口,支持不同種類的作業,無需根據不同的作業編寫專用的調用接口程序,實現作業調度的自動化。
本發明作業調度引擎模塊根據規則引擎模塊二的解析結果和系統資源情況來運行作業,並根據作業的運行情況進行處理,運維模塊提供監控界面,實現作業調度自動化和可視化,且可根據加工的數據量進行作業並行度的大小調節,從而有效利用系統資源、減少數據加工時間窗。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明銀行數據加工作業調度系統的結構框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
參照圖1,本發明公開一種銀行數據加工作業調度系統,其包括設置組件和運維組件,設置組件用於支持系統定義和維護所有參數,運維組件用於支持系統運行和維護;設置組件包括設置庫、設置模塊和規則引擎模塊一;設置庫用於保存系統的所有參數;設置模塊用於定義和維護所有參數,再經過設置模塊和規則引擎模塊一驗證之後,發布到運行庫;規則引擎模塊一主要作用是驗證設置庫中的作業調度規則,驗證規則設置是否合理、是否存在衝突、是否能按設置來正確執行。
運維組件包括運維模塊、運行庫、作業調度引擎模塊和規則引擎模塊二;運維模塊用於提供作業的監控、查詢、人工幹預和人工重跑作業;運行庫用於保存系統運作的所有數據,記錄作業在運行過程中的狀態、作業運行流水和系統產生的日誌,並通過數據接口提供給運維模塊來監控系統。本發明設置庫連接至運行庫,運行庫中的參數和作業調度規則來源於設置庫。
本發明作業調度引擎模塊用於負責作業的運行、正常停止、異常停止、出錯控制、重跑等,並全程監控作業的運行情況;其根據系統資源情況結合作業加工的數據量來決定運行一個或並發運行多個作業,並對作業可能存在的衝突進行管理;如果某個作業在運行過程中拋出異常,作業調度引擎模塊會自動捕獲該異常,並根據該作業的例外級別來決定停止運行該作業、或者停止運行該作業所在的作業組、或者停止運行餘下的所有作業。
本發明規則引擎模塊二負責對即將運行的某個作業的調度規則進行解析,作業調度引擎模塊根據規則引擎模塊二的解析結果並結合對系統資源情況的分析來決定是否運行該作業、如何運行該作業、是否和別的作業並發運行等。
本發明設置庫中保存的所有參數包括系統本身用到的參數、作業本身的參數、作業相關的參數和作業調度規則。其中,系統本身用到的參數包括用戶、權限以及文件的存放目錄等;作業本身的參數包括作業基本信息、作業之間的關係、作業流程、作業並行度以及例外級別信息等,作業相關的參數包括業務系統信息、數據文件組信息、數據文件信息和作業組信息;作業調度規則主要包括約定作業運行時間、哪些作業先運行、哪些作業可以並發運行、哪些作業可以重運行、作業的前後依賴關係、運行流程和運行順序等。
其中,作業調度引擎模塊上設有多個通用接口,其能支持多種不同作業,如Shell作業、Store Procedures 作業、ETL工具DataStage作業、C/Java語言開發的作業等,故無需根據不同的作業編寫專用的調用接口程序。
其中,運維模塊上設有操作界面,且作業的監控、查詢、人工幹預和人工重跑作業通過統一的操作界面進行操作。
其中,該銀行數據加工作業調度系統進一步設有作業調度規則數據模型,其用於存儲作業調度規則,且作業調度規則數據模型同時發布至設置庫和運行庫。本發明針對作業調度規則複雜、靈活多變等特點,專門構建了作業調度規則數據模型來存儲作業調度規則,並使用規範化和非規範化方法來優化數據模型,以滿足作業調度的需要。本發明作業調度規則數據模型同時發布到設置庫和運行庫。
其中,該銀行數據加工調度系統與銀行的數據加工系統連接,且數據加工系統與銀行的源資料庫、銀行的目標資料庫均連接。
本發明還公開一種銀行數據加工作業調度方法,其包括如下步驟:(S01)對設置組件進行設置,將系統的所有參數保存至設置庫中,並通過設置模塊定義和維護設置庫中的所有參數;(S02)通過設置模塊和規則引擎模塊一驗證所需的作業調度規則;(S03)設置庫將驗證後的參數和作業調度規則發布至運行庫;(S04)銀行數據加工作業調度系統根據驗證後的參數和作業調度規則運行數據加工系統的數據加工作業;(S05)在系統運行過程中,運行庫保存系統運行的所有數據,並記錄作業在運行過程中的狀態、作業運行流水和系統產生的日誌;(S06)運行庫通過數據接口將步驟(S05)中的所有數據提供給運維模塊,運維模塊通過統一的操作界面來監控、查詢、人工幹預或人工重跑作業;(S07)規則引擎模塊二對即將運行的數據對加工作業的調度規則進行解析;(S08)作業調度引擎模塊根據步驟(S07)的解析結果和系統資源情況,並結合作業加工的數據量決定運行一個或並發運行多個作業,並對作業存在的衝突進行管理;(S09)當某個作業在運行過程中拋出異常,作業調度引擎模塊自動捕獲該異常,並根據該作業的例外級別來決定停止運行該作業、或者停止運行該作業所在的作業組、或者停止運行餘下的所有作業;(S10)數據加工系統作業運行完畢後,源數據加工成目標數據,並儲存至目標資料庫中。
本發明以作業調度規則數據模型為基礎,以規則引擎模塊一、規則引擎模塊二和作業調度引擎模塊為核心,將所有數據加工作業的調度規則裝載在本系統,通過本系統統一調度和運行作業,實現作業調度的自動化和可視化,且可根據加工的數據量進行作業並行度的大小調節,從而有效利用系統資源、減少數據加工時間窗,且本發明可用於銀行大型數據集市或數據倉庫的數據加工作業調度。
以上所述僅為本發明的較佳實施例,並不用於限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。