術語表
Spring Batch 術語表
- 批處理 (Batch)
-
一段時間內累積的業務事務集合。
- 批處理應用風格
-
一個術語,用於將批處理指定為一種獨立的應用風格,類似於線上、Web 或 SOA。它包含輸入、驗證、資訊轉換為業務模型、業務處理和輸出等標準要素。此外,它還需要在宏觀層面進行監控。
- 批處理
-
處理一段時間(如一小時、一天、一週、一個月或一年)內累積的大量業務事務。它是一種重複且可預測的方式,將一個或一組流程應用於大量資料實體或物件,且不包含人工干預或為錯誤處理設定單獨的人工干預部分。
- 批處理視窗
-
批處理 Job 必須完成的時間範圍。這可能受到其他系統上線、其他依賴 Job 需要執行或批處理環境特有的其他因素的限制。
- Step
-
主要的批處理任務或工作單元。它初始化業務邏輯並根據提交間隔設定和其他因素控制事務環境。
- Tasklet
-
由應用開發者建立的一個元件,用於處理 Step 的業務邏輯。
- 批處理 Job 型別
-
Job 型別描述了 Job 在特定型別處理中的應用。常見領域包括介面處理(通常是平面檔案)、表單處理(用於線上生成 PDF 或列印格式)和報表處理。
- 驅動查詢
-
驅動查詢識別 Job 需要完成的工作集。Job 隨後將該工作分解為獨立的工作單元。例如,驅動查詢可能是識別所有狀態為“待傳輸”的財務事務並將其傳送到合作伙伴系統。驅動查詢返回一組要處理的記錄 ID。每個記錄 ID 隨後成為一個工作單元。驅動查詢可能涉及連線(如果選擇條件跨越兩個或多個表)或僅涉及單個表。
- Item
-
Item 表示待處理的最小完整資料量。簡單來說,它可能是檔案中的一行、資料庫表中的一行或 XML 檔案中的一個特定元素。
- 邏輯工作單元 (LUW)
-
批處理 Job 透過驅動查詢(或其他輸入源,如檔案)進行迭代,以完成 Job 必須實現的整套工作。每次執行的工作迭代都是一個工作單元。
- 提交間隔
-
在單個事務中處理的一組 LUW。
- 分割槽
-
將一個 Job 拆分成多個執行緒,每個執行緒負責處理總資料的一個子集。執行執行緒可以在同一個 JVM 內,也可以跨越支援工作負載均衡的叢集環境中的多個 JVM。
- 暫存表
-
用於在處理過程中存放臨時資料的表。
- 可重啟的 (Restartable)
-
可以再次執行並假定與初次執行時相同身份的 Job。換句話說,它具有相同的 Job 例項 ID。
- 可重跑的 (Rerunnable)
-
一個可重啟且能管理其自身狀態(基於先前執行的記錄處理情況)的 Job。可重跑 Step 的一個例子是基於驅動查詢的 Step。如果驅動查詢可以被構造,使其在 Job 重啟時限制已處理的行,那麼它就是可重跑的。這由應用邏輯管理。通常,會在
where
語句中新增一個條件,使用類似於and processedFlag != true
的邏輯來限制驅動查詢返回的行。 - 重複
-
重複 (Repeat)
- 重試
-
重試 (Retry)
- 恢復 (Recover)
-
恢復操作以一種方式處理異常,使得重複過程能夠繼續。
- 跳過 (Skip)
-
跳過是一種恢復策略,常用於檔案輸入源,作為忽略未透過驗證的錯誤輸入記錄的策略。