什么是批处理?

批处理是指计算机用来周期性地完成大量重复数据作业的方法。某些数据处理任务(如备份、筛选和排序)可能需要大量计算,而且在单个数据事务上运行效率很低。相反,数据系统通常可以在计算资源更普遍可用的非高峰时间批量处理这些任务,例如一天结束时或夜间。例如,考虑一个全天接收订单的电子商务系统。系统可能会在每天结束时收集所有订单,并用一个批处理与订单履行团队共享,而不是在发生时处理每个订单。

为什么批处理很重要?

组织使用批处理的原因在于只需要最少的人工交互,并使重复任务更高效地运行。您可以设置由数百万条记录组成的批处理作业,以便在计算能力最可用时一起完成,从而减轻系统的压力。现代批处理还只需要最少的人工监督或管理。如果出现问题,系统会自动通知相关团队解决。管理人员可以采取不干涉的方法,相信其批处理软件能够完成工作。批处理还有更多好处。

批处理的历史是什么样的?

批处理已有一个多世纪的历史,但其工作原理的技术细节在不断发展。批处理的第一个实例可追溯到 1890 年,当时美国人口调查局使用了电子制表器记录信息。人口调查工作人员对称为穿孔卡的数据卡进行了标记,并通过机电设备分批处理。到了 1960 年代,开发人员可以在磁带上安排批处理程序,让计算机全天候按顺序运行。随着大型机计算机的改进,批处理作业变得更加强大和高效,也变得更加普遍。现代组织将基于软件的批处理应用程序用于常见的业务流程,如生成报告、打印文档或在一天结束时更新信息。

可以自动化批处理的作业示例有哪些?

批处理系统用于处理各种类型的数据和请求。一些最常见的批处理作业类型包括:

  • 每周/每月账单
  • 工资单
  • 库存处理
  • 生成报告
  • 数据转换
  • 订阅周期
  • 供应链履行

批处理系统的使用案例有哪些?

批处理系统有多个使用案例。以下是一些关键的示例。

金融服务

从敏捷金融技术到传统企业的金融服务机构一直在高性能计算等领域使用批处理来进行风险管理、日终交易处理和欺诈监控。这些机构使用批处理来最小化人为错误,提高速度和准确性,并通过自动化降低成本。

软件即服务

提供软件即服务 (SaaS) 应用程序的企业经常遇到可扩展性方面的问题。通过使用批处理,您可以在自动化作业调度的同时扩展客户需求。创建容器化应用程序环境以扩展对大容量处理的需求是一个可能需要数月甚至数年才能完成的项目,但批处理系统可以帮助您在更短的时间内实现相同的结果。

医学研究

分析大量数据(也称为大数据)是研究领域的常见要求。您可在计算化学、临床建模、分子动力学、基因组测序测试和分析等数据分析应用领域应用批处理。例如,科学家可以使用批处理来获取更好的数据,以开始药物设计,并对特定生化过程的作用有深入的了解。 

数字媒体

媒体和娱乐企业需要高度可扩展的批处理系统来自动处理高分辨率视频内容的数据,如文件、图形和视觉效果。您可以使用批处理来加速内容创建、动态扩展媒体打包能力并自动化媒体工作负载。

批处理的工作原理是什么?

尽管批处理应用程序根据需要完成的任务类型而有所不同,但任何批处理作业的基础都相同。用户可以通过指定以下详细信息来运行批处理作业:

  • 提交作业的人员姓名
  • 需要运行的批处理进程或程序
  • 数据输入的系统位置
  • 处理后数据输出的系统位置
  • 应运行批处理作业的时间或批处理时间窗口

用户还需指定批大小,或系统在一个完整的批处理操作中需要处理的工作单元数。批大小的一些示例包括: 

  • 要读取和存储在数据库中的批处理文件行数
  • 要从队列中读取和处理的消息数
  • 要排序并发送到下一个应用程序的事务数

在批处理时间窗口期间,批处理系统会使用批大小信息来分配高效运行批处理作业所需的资源。现代系统可以在本地或云端运行数十万批处理作业。

依赖项

批处理作业任务可以顺序或同时运行。根据是否成功完成前期任务,顺序可能有所不同。依赖项的示例包括客户在在线商店下订单或支付账单。还可以设置依赖项以启动作业处理周期。

Cron 命令

cron 命令是指定期运行的批处理作业。您可以为批处理作业设置定期模式—例如,将作业设置为在每月月底为订阅开具发票。

如何监控批处理?

虽然批处理系统的工作很少需要工作人员干预,但仍需要一些监督。要监控批处理过程,您可以设置在批处理作业成功、失败或运行结束时发送提醒或异常。

监控器

在批处理过程中,监控器将寻找异常情况,如完成作业花费的时间超过了其应有的完成时间。在这种情况下,它将阻止下一项作业开始,并将异常情况通知相关员工。

后处理分析

您可以在批处理作业完成处理后查看其历史记录。大多数批处理过程都包括日志文件,用于在作业运行时记录消息。

批处理与流处理之间有什么区别?

批处理系统按顺序处理大量数据和请求,而流处理则持续分析流经系统或设备之间的数据。流处理监控实时数据,并在网络中持续传递这些数据。流处理需要更多的处理能力来监控大量数据。

当流式传输的数据大小未知或无限大时,流式传输数据可能比批处理更可取。因此,流处理通常用于网络安全物联网 (IoT)、个性化营销服务日志监控等业务功能。

鉴于它们的互补能力,一些企业在其日常运营中实施了混合系统,包括批处理和流处理。

AWS 如何帮助进行批处理?

借助 AWS Batch,您可以在进行完全托管批处理时节省高达 90% 的费用。AWS Batch 可以动态预置计算资源(如 CPU 或内存优化型实例)的最佳数量和类型,并且无需安装和管理批处理系统基础设施。您可以花更少的时间管理基础设施,而将更多时间用于分析结果和解决问题。

您还可以在 Amazon Elastic Compute Cloud (Amazon EC2) 竞价型实例上运行批处理工作负载。Amazon EC2 竞价型实例是您未使用的 Amazon EC2 容量,与按需实例价格相比,可享受高达 90% 的折扣。竞价型实例是批处理应用程序的理想选择,因为您可以运行超大规模工作负载同时显著节约成本,也可以通过运行并行任务来加速工作负载。

通过创建 AWS 账户开始使用批处理。

在 AWS 上使用批处理的后续步骤

查看其他计算产品资源
了解更多关于计算服务的信息 
注册免费账户

立即享受 AWS 免费套餐。

创建免费账户 
开始在控制台中构建

在 AWS 管理控制台中,使用 AWS Batch 开始构建。

登录