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

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

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

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

現在舉例一個最常見的場景:批處理應用程式從一個檔案系統中匯出資料到另個系統,在匯出的過程中進行相關的邏輯處理,這麼一個場景的場景就是它的提現.

計算機生成了可選文字:System A Exports Reads System B I writes

具體可以參照上圖,系統A從資料庫匯出檔案(一般為富文字檔案

),然後系統B去讀取這些檔案,進過系統B自身的處理,將處理後的資料寫到系統B的資料庫中.整個過程就是批量處理程式在做的事情.

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

    ■大資料量

批處理應用程式必須能夠處理大量的資料匯入、匯出或計算。

    ■自動化

批處理應用程式必須執行在使用者互動除外嚴重問題解決。

    ■健壯性

批處理應用程式必須在處理無效資料時沒有導致系統崩潰

.

    ■可靠性

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

    ■效能

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

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

小結

批量應用程式處理大量資料而無需人類干預。讀者可以選擇使用批處理程式來計算每月的財務報表、計算統計和索引檔案的資料等等。當然涉及到銀行系統中有很多業務都需要用到它,例如計提,計息,切日,賬務彙總等等.