專案背景
數字金融是數字經濟的重要支撐和驅動力。近年來,我國針對數字金融的發展政策頻頻出臺,《金融科技發展規劃 (2022-2025年)》、《“十四五”數字經濟發展規劃》、《關於銀行業保險業數字化轉型的指導意見》、《金融標準化“十 四五”發展規劃》等相繼釋出,頂層設計逐步完善。
2024年,政府工作報告也提出要大力發展科技金融、綠色金融、 普惠金融、養老金融、數字金融,未來數字金融是我國金融發展重點之一。
我國金融業正在步入數字化轉型的關鍵階段,同時在發展中面臨著諸多挑戰與難點,如數字基礎設施建設不足、數字安全保障機制不健全等。
某國有銀行地區性分行(以下簡稱“銀行”)主動融入數字經濟新浪潮,搶抓機遇、乘勢而上,不斷深化數字化轉型升級,積極加快金融產品融合創新,但是在發展中仍面臨顯著困難。
痛點與挑戰
具體到業務上,銀行需要對總行分發的資料進行載入和轉換,每日任務約 3000。隨著新業務不斷增加,任務總量在 1 萬左右。銀行的業務場景涉及到接收上游系統提供的檔案資料,並將資料匯入到 GreenPlum 等分析資料庫中進行資料分析。此前,銀行使用自研的排程系統來進行任務的排程,但隨著資料量急劇增長和全新業務場景的出現,這個排程系統陳舊、效能不夠的缺點暴露出來。
總的來說,銀行在資料排程上面臨著以下痛點問題:
- 前期自研系統系統靈活性較差,系統維護工作量巨大,跑批出現問題時對業務正常開展產生影響的風險較大,且對於新支援新增業務的需求,需要投入研發人員定製開發;
- 不支援分散式系統,擴充套件效能差,面對急劇增長的資料量無法快速完成擴容;
- 業務方涉及不同部門,對程式理解不同,使用習慣也不同,難以滿足所有業務部門的使用需求;
- 上游檔案數量多,來源廣,並且到達時間不定,需要隨時監控資料到達情況,並在發生異常情況時及時發出告警;
- 跨部門使用場景多,需要跨專案依賴和準確的影響分析查詢,便於追溯完整的上下游關係;
- 多業務部門使用排程時,無法高效複用已有排程,並限制相關許可權;
- 銀行對於信創環境支援的需求越來越緊迫,但苦於原系統無法進行改造以支援信創作業系統、信創伺服器、信創資料庫等信創環境。
專案需求
銀行將緊跟總行的企架各批次分行特色系統建設計劃,推進信創化建設,併發揮科技賦能作用。目標是滿足公司資料體系建設中資料處理任務的統一排程和監控需求,同時推動建設信創下的統一排程管理平臺。
為了實現這一目標,銀行將建立每日流水線任務的集中定義和集中控制機制,允許使用者靈活地配置多種型別的作業任務,並統一排程和監控運維。這個統一排程管理平臺需要具備高效能、高可靠性,同時易於擴充套件的特點,以滿足銀行在多樣化功能上的開發需求。
最重要的是,流水線任務統一排程管理平臺使銀行能夠全面監控和跟蹤管理各資料加工節點的處理過程,幫助銀行更有效地管理資料處理任務,實現對任務的全面掌控。
針對這些需求,排程系統需要滿足以下要求:
-
支援分散式的架構及資源控制等方法,實現高可靠性,高處理效能。
-
支援多種豐富的任務型別,包括Shell、MR、Spark等。
-
具有良好的管理介面,易於管理,達到簡單易用,使得使用者有流暢的產品體驗。
-
提供強大的任務執行功能,支援指定任務的執行、空跑測試功能等能力。
-
提供引數管理和資料來源的統一維護能力及日曆管理能力和工作流配置管理能力。
-
提供完善的監控和告警能力,支援工作流和任務的執行情況統計和監控、任務日誌線上檢視、伺服器資源監控、資料質量檢測和告警。
-
提供監控和統計以及許可權管理功能,支援統一的資料監控、運維服務需求等。
除此之外,排程系統還需要支援使用者的個性化需求,比如透過產品的多樣化結構配置,滿足對接銀行行內登入、許可權元件、簡訊介面、行信介面、個性化展示頁面,以及20條存量工作流遷移等工作需求。
WhaleScheduler解決方案
白鯨開源自主研發的WhaleScheduler國產信創化排程平臺可支援銀行在資料體系建設中不同場景的任務排程需求,滿足金融行業企業級使用者對系統的穩定性、可靠性、合規性、高效能、支援信創環境等要求。WhaleScheduler為銀行批處理任務制定統一的開發規範、運維方法,對各系統的批次任務進行統一管理、排程和監控,符合銀行不同業務應用環境的效能需求,並提供了私有化部署和開發支援。
01 無中心化架構設計
白鯨開源WhaleScheduler採用先進的無中心架構的設計思想,透過註冊中心發現服務,服務之間可以互為備份,保證了系統的高可靠性的同時,也可以做到水平擴充套件服務數量,以保持銀行業務的穩定性,很好地支援千萬級別的任務數量。
WhaleScheduler 架構圖
02 分散式部署
WhaleScheduler為銀行提供的所有服務均採用分散式部署,支援高穩定性、高效能和高容錯性,保證提供可持續使用的服務。
叢集部署架構圖
03 多種任務型別
WhaleScheduler支援包括Shell、MR、Spark、SQL(MySQL、PostgreSQL、Hive、SparkSQL)、Python、Sub_Process、Procedure等任務型別,同時具備跨專案依賴和補數功能。
04 全模式DAG開發能力
系統採用全“所見即所得”設計模式,使用者可以透過拖拽,快速生成複雜的DAG任務工作流,而無需掌握大量程式碼和大資料底層知識。
05 強大的任務執行功能
支援指定任務的執行、空跑測試功能,支援日期引數的輸入,支援多個前置任務狀態的邏輯判斷或前置任務的輸出引數判斷,支援SSH遠端登入目標伺服器並在其上執行任務等能力。
06 豐富的工作流配置管理能力
支援工作流Excel檔案的匯入匯出、模板與例項分離、多種環境執行任務、靈活的引數定義和傳參功能,以及工作流詳情展示和多種執行策略。
07 監控本地/遠端伺服器檔案
系統透過Trigger任務型別支援監控本地/遠端伺服器檔案到達事件、資料庫條件成立事件,並提供全域性Dashboard,專案Dashboard,支援工作流和任務的執行情況統計和監控、任務日誌線上檢視、伺服器資源監控,資料質量檢測,以及郵件、釘釘、企業微信、HTTP、指令碼等十餘種告警方式,自定義告警型別也可以輕鬆做到。
08 多樣化的日曆功能
WhaleScheduler提供強大的日曆管理功能,支援不同專案配置獨立的日曆。視覺化日曆配置和模板匯入匯出的維護方式對於銀行工作人員的使用者體驗來說也是非常友好的,建立、編輯、刪除、匯入匯出等操作方式一目瞭然。如果有需要,使用者還可以按日曆進行排程,也可以基於日曆或翻牌任務獲取日期資料。
09 任務級血緣分析
銀行跨部門的使用場景需要跨專案依賴和準確的影響分析查詢,這一點非常重要。對此,WhaleScheduler提供了完善的系統影響分析功能,可以分析任務級的血緣,血緣分析包括工作流、任務,工作中的子流程,以及子流程中巢狀的依賴等,讓使用者可以檢視完整的任務上下游關係。
10 資料質量檢測
銀行的上游資料型別多,來源複雜,資料質量檢測是重要的一環。WhaleScheduler支援資料質量檢測,檢測規則包括不限於空值檢測、列舉值檢測、錶行數校驗、兩表值比對校驗等檢測規則。如果檢測錯誤的資料條數超過閾值,需要告警出來或者工作流失敗停止,使用者可以設定超過閾值告警或讓工作流失敗。
11 使用者角色選單許可權管控
支援使用者操作審計,設定使用者、角色、資源、許可權來設計不同部門的功能許可權,滿足銀行對安全與許可權的特殊需求。
12 高可伸縮性支援
排程叢集能夠隨任務量的增加及時增加資源,持續提供服務。
13 任務維護人員配置
系統設計有完整的使用者管理體系,可以進行任務維護人員的新增、修改和刪除等配置圖片
同時,針對銀行提出的個性化功能開發,包括對接行內登入、許可權元件、簡訊介面、行信介面、個性化展示頁面以及20條存量工作流遷移等工作和現場安裝、除錯等工作,白鯨開源派出專案經驗豐富的團隊,採用符合PMI標準的專案管理制度,以滿足銀行不同業務應用環境對效能的需求。
白鯨開源WhaleScheduler為銀行提供了高可靠性、高效能、多場景支援、支援全站華部署執行的強大排程功能,不但可以到銀行各規模、各層次的高可靠性、高安全性、可擴充套件性和可管理性的要求,還充分考慮到銀行未來3-5年的發展需要,可適應銀行不斷髮展的業務和管理需求。
白鯨開源
白鯨開源科技是一家由多名 Apache Software Foundation Member, Apache DolphinScheduler 和 Apache SeaTunnel 核心成員組建的公司。我們致力於打造下一代雲原生 DataOps 平臺,助力企業在大資料和雲時代,智慧化地完成海量資料的處理、排程和治理,以提高企業解決資料問題的效率,提升企業分析洞察能力和決策能力。
本文由 白鯨開源 提供釋出支援!