1. 程式人生 > >跑批利器--批處理應用程序

跑批利器--批處理應用程序

導出數據 csdn 數據 統計 從數據 water 大量 left 直銷


目前筆者正在進行直銷銀行互聯網核心的設計和研發,在銀行相關系統中有一塊內容比較關鍵,那就是跑批.因此接觸到了SpringBatch的相關內容,作為學習和記錄,有必要將SpringBatch的相關技術點和實際項目中遇到的問題記錄下來,同時也跟各位來進行分享和學習.

首先先了解一下什麽是批處理應用程序.當然,根據名字我們基本上能夠知道它是要幹什麽的了,就是對程序進行批量處理.

現在舉例一個最常見的場景:批處理應用程序從一個文件系統中導出數據到另個系統,在導出的過程中進行相關的邏輯處理,這麽一個場景的場景就是它的提現

.

技術分享圖片

具體可以參照上圖,系統A從數據庫導出文件(一般為富文本文件),然後系統B去讀取這些文件,進過系統B自身的處理,將處理後的數據寫到系統B的數據庫中.整個過程就是批量處理程序在做的事情.

因為一個批應用程序它要自動去處理這些數據,所以它必須要是健壯的和可靠的.因為沒有人為的幹預從一個錯誤中恢復正常。因此批量應用程序處理的數據量越大,需要完成的時間也就越長。這也就是說,你必須考慮在你的批處理程序中的性能,因為它是往往限制在一個特定的時間段內執行。基於此描述,批處理應用程序的要求如下:

大數據量

批處理應用程序必須能夠處理大量的數據導入、導出或計算。

自動化

批處理應用程序必須運行在用戶交互除外嚴重問題解決。

健壯性

批處理應用程序必須在處理無效數據時沒有導致系統崩潰.

可靠性

批處理應用程序必須跟蹤錯誤是什麽時(記錄、通知)。

性能

批處理應用程序必須執行在專用的時間內處理完從而避免幹擾任何其他應用程序的正常運行.

通過以上的要求我們可以感覺到批處理應用程序算是一個挑戰吧,這也就是我們為什麽要用SpringBatch來進行跑批,因為SpringBatch本身的特點能夠讓我們更容易並且更有效可靠的完成一個批量任務.

小結

批量應用程序處理大量數據而無需人類幹預。讀者可以選擇使用批處理程序來計算每月的財務報表、計算統計和索引文件的數據等等。當然涉及到銀行系統中有很多業務都需要用到它

,例如計提,計息,切日,賬務匯總等等.

跑批利器--批處理應用程序