术语表
Spring Batch 术语表
- 批处理
-
一段时间内累积的业务事务。
- 批处理应用程序风格
-
用于将批处理指定为独立的应用程序风格的术语,类似于在线、Web 或 SOA。它具有输入、验证、信息转换为业务模型、业务处理和输出的标准元素。此外,它还需要宏观级别的监控。
- 批处理
-
处理一段时间内(例如一小时、一天、一周、一个月或一年)累积的大量业务事务。它是将一个过程或一组过程以重复且可预测的方式应用于许多数据实体或对象,并且没有手动元素或有一个单独的手动元素用于错误处理。
- 批处理窗口
-
批处理作业必须完成的时间范围。这可能受到其他系统上线、其他依赖作业需要执行或批处理环境特有的其他因素的限制。
- 步骤 (Step)
-
主要的批处理任务或工作单元。它根据提交间隔设置和其他因素初始化业务逻辑并控制事务环境。
- Tasklet
-
由应用程序开发人员创建的组件,用于处理 Step 的业务逻辑。
- 批处理作业类型
-
作业类型描述了作业在特定类型处理中的应用。常见领域包括接口处理(通常是平面文件)、表单处理(用于在线 PDF 生成或打印格式)和报表处理。
- 驱动查询
-
驱动查询标识作业要执行的工作集。然后,作业将该工作分解为单个工作单元。例如,驱动查询可能是识别所有状态为“待传输”的财务事务并将它们发送到合作伙伴系统。驱动查询返回要处理的一组记录 ID。然后,每个记录 ID 都成为一个工作单元。驱动查询可能涉及连接(如果选择条件跨越两个或多个表)或它可能与单个表一起工作。
- 项目 (Item)
-
项目代表要处理的最小完整数据量。简单来说,这可能是文件中的行、数据库表中的行或 XML 文件中的特定元素。
- 逻辑工作单元 (LUW)
-
批处理作业迭代驱动查询(或其他输入源,例如文件)来执行作业必须完成的工作集。执行的每个工作迭代都是一个工作单元。
- 提交间隔
-
在单个事务中处理的一组 LUW。
- 分区
-
将作业拆分为多个线程,每个线程负责处理要处理的整体数据的一个子集。执行线程可能位于同一 JVM 中,也可能跨越支持工作负载平衡的集群环境中的 JVM。
- 暂存表
-
在处理过程中保存临时数据的表。
- 可重启的
-
可以再次执行的作业,并假定与最初运行时相同的标识。换句话说,它具有相同的作业实例 ID。
- 可重运行的
-
一个可重启的作业,它根据前一次运行的记录处理来管理自身状态。可重新运行步骤的一个示例是基于驱动查询的步骤。如果可以形成驱动查询以便在作业重启时限制已处理的行,则它是可重新运行的。这由应用程序逻辑管理。通常,会在
where
语句中添加一个条件,以使用类似于and processedFlag!= true
的逻辑来限制驱动查询返回的行。 - 重复
-
批处理最基本的单元之一,它通过重复调用一段代码直到完成并且没有错误来定义。通常,只要有输入,批处理过程就可以重复。
- 重试
-
简化具有重试语义的操作的执行,重试语义最常与处理事务输出异常相关联。重试与重复略有不同。重试不是持续调用代码块,而是有状态的,并持续调用相同的代码块和相同的输入,直到成功或超过某种类型的重试限制。它通常仅在操作的后续调用可能成功时才有用,因为环境中的某些内容有所改进。
- 恢复
-
恢复操作以能够继续重复处理的方式处理异常。
- 跳过
-
跳过是一种恢复策略,通常用于文件输入源,作为忽略失败验证的错误输入记录的策略。