什麼是批次處理?

批次處理是電腦用於定期完成大量、重複性資料任務的方法。某些資料處理任務 (如備份、篩選和排序) 可能會耗費大量運算,而且在個別資料交易上執行效率低下。相反,資料系統會以批次方式處理這類工作,通常會在非尖峰時段,當運算資源更常見時處理這類任務 (例如在一天結束時或隔夜)。例如,考慮全天接收訂單的電子商務系統。系統可能會在每天結束時收集所有訂單,並與訂單配送團隊共用一個批次,而不是在發生時處理所有訂單。

為什麼批次處理很重要?

組織使用批次處理,因為所需的人工互動最少,並讓重複性任務更高效地執行。您可以設定由數百萬筆記錄組成的批次任務,以便在運算能力最容易獲得時共同處理,從而減少對系統的壓力。現代批次處理所需的人工監督或管理也最少。如果出現問題,系統會自動通知相關團隊來解決。管理人員採取免動手方法,信任其批次處理軟體來完成其任務。批次處理的更多優勢如下。

批量處理的歷史是什麼?

批次處理已有一個多世紀的歷史,但其運作方式的技術性仍在不斷發展。批次處理的第一個執行個體可以追溯到 1890 年,當時使用電子製表機來記錄美國人口調查局的資訊。人口調查工作人員標記資料卡 (稱為打孔卡),並透過機電裝置對其進行批次處理。到了 20 世紀 60 年代,開發人員可在磁帶上排程批次處理程序,以便電腦全天按順序執行。隨著大型電腦的改進,並且變得更加強大和高效,批次任務也變得司空見慣。現代組織將以軟體為基礎的批次應用程式用於常見的業務程序,如產生報告、列印文件,或在一天結束時更新資訊。

批次處理可自動執行的任務範例有哪些?

批次處理系統用於處理各種類型的資料和請求。一些最常見的批次處理任務類型包括:

  • 每週/每月計費
  • 薪資
  • 庫存處理
  • 報告產生
  • 資料轉換
  • 訂閱週期
  • 供應鏈配送

批次處理系統有哪些使用案例?

批次處理系統有多種使用案例。主要範例如下。

金融服務

從敏捷的金融科技到傳統企業,金融服務組織一直在風險管理的高效能運算、日終交易處理,以及詐騙監控等領域使用批次處理。他們使用批次處理來最大限度地減少人為錯誤、提高速度和準確性,並透過自動化降低成本。

軟體即服務

提供軟體即服務 (SaaS) 應用程式的企業,在可擴展性方面通常會遇到問題。使用批次處理,您可以擴展客戶需求,同時自動化任務排程。建立容器化應用程式環境以擴展對大量處理的需求,這是可能需要數月甚至數年才能完成的專案,但批次處理系統可協助您在更短的時間範圍內達到相同的結果。

醫學研究

分析大量資料 (或大數據) 是研究領域常見的要求。您可以在資料分析應用程式中套用批次處理,如運算化學、臨床模擬、分子動力學以及基因體排序來進行測試與分析。例如,科學家使用批次處理來擷取更好的資料,開始藥物設計,並深入了解特定生化程序的作用。 

數位媒體

媒體與娛樂企業需要具備高度可擴展能力的批次處理系統,才能自動處理檔案、圖形和視覺效果等資料,以取得高解析度視訊內容。您可以使用批次處理來加速內容建立、動態擴展媒體封裝,以及自動化媒體工作負載。

批量處理如何運作?

雖然批次處理應用程式會根據需要完成的任務類型而有所差異,但任何批次任務的基本概念都保持不變。使用者可指定下列詳細資訊來執行批次任務:

  • 提交任務的人員姓名
  • 需要執行的批次處理程序或程式
  • 資料輸入的系統位置
  • 已處理資料輸出的系統位置
  • 應執行批次任務的時間或批次視窗

使用者還可指定批次大小,或者系統需要在一個完整的批次作業中處理的工作單位數目。一些批次大小範例包括: 

  • 要讀取和存放在資料庫中的批次檔案行數
  • 要從佇列讀取和處理的訊息數目
  • 要排序並傳送至下一個應用程式的交易數目

在批次視窗期間,批次處理系統會使用批次大小資訊,來配置高效執行批次任務所需的資源。現代系統可在內部部署或雲端執行數十萬個批次任務。

相依性

批次任務可按順序執行或同時執行。序列可能會有所不同,具體取決於先前的任務是否成功完成。相依項範例包括客戶在線上商店下訂單或支付帳單。還可以設定相依性來啟動任務處理週期。

Cron 命令

Cron 命令是定期執行的批次任務。您可以為批次任務設定週期模式,例如,在每月月底設定任務以開立訂閱發票。

如何監控批次處理?

雖然批次處理系統能夠以最少的人員輸入運作,但仍然需要一些監督。若要監控批次程序,您可以設定在批次任務成功、失敗或執行完成時傳送的提醒 (或例外狀況)。

監控器

批次程序中的監控器會尋找異常狀況,如任務所花費的時間超過應完成的時間。在這種情況下,將會從一開始就停止下一項任務,並通知相關人員該例外狀況。

後續處理分析

處理批次任務後,您可以檢視批次任務的歷史記錄。大多數批次程序都包含任務執行時記錄訊息的日誌檔案。

批次處理與串流處理有什麼區別?

批次系統會循序處理大量資料和請求,而串流處理則會持續分析流經系統或裝置間的資料。串流處理會監控即時資料,並在網路中持續傳遞資料。它需要更強的處理能力來監控大量資料。

當串流的資料大小未知或無限時,串流資料可能優於批次處理。因此,串流處理通常用於業務功能,如網路安全物聯網 (IoT)、個人化行銷服務日誌監控

鑑於其互補能力,某些企業已經實作了混合系統,其中包括其日常操作中的批次處理和串流處理。

AWS 如何協助進行批次處理?

使用 AWS Batch,您可以節省高達 90% 的全受管批次處理工作。AWS Batch 會動態佈建最佳數量和類型的運算資源 (如 CPU 或記憶體最佳化執行個體),無需安裝和管理批次處理系統基礎設施。您可以減少管理基礎設施的時間,而花更多時間分析結果和解決問題。

您還可以在 Amazon Elastic Compute Cloud (Amazon EC2) Spot 執行個體上執行批次工作負載。Amazon EC2 Spot 執行個體是您未使用的 Amazon EC2 容量,相較於隨需執行個體價格,最高可享有 90% 的折扣。Spot 執行個體非常適合批次處理應用程式,因為您可以執行超大規模的工作負載並大幅節省成本,也可以透過執行平行任務來加速工作負載。

建立 AWS 帳戶,開始使用批次處理。

AWS 上批次處理的後續步驟

查看額外的運算產品資源
進一步了解有關運算服務的資訊 
註冊免費帳戶

立即存取 AWS 免費方案。

建立免費帳戶 
開始在主控台進行建置

開始在 AWS 管理主控台使用 AWS Batch 進行建置。

登入