波次分配

波次处理可能很耗时,并且大部分处理时间都花费在分配步骤和工作创建步骤中。

现在可以并行运行其中每个步骤,这可以提高波次处理的性能,并允许在同一仓库中实现更大的波次吞吐量。 本文说明如何设置波次分配方法以并行运行。 有关如何设置工作创建以并行运行的详细信息,请参阅在波次期间计划工作创建

以前,一次只能在一个仓库中分配一个波次。 此约束已删除并替换为新约束,即仅锁定在预留层次结构中库位上方的物料和维度。 库位上方的维度始终包括产品维度。 例如,如果使用颜色配置物料,则可以并行处理的变量。

这意味着,如果按一个波次分配具有库位上方相同维度的同一物料,其他波次将必须等待获取对相同物料和维度的锁定。 如果无法及时获取锁定,将发生错误,并且波次处理将失败。

为了利用并行处理,必须批量运行波次。

性能改进

并行处理的性能优势可分为两类:

  • 提高吞吐量 - 即使未配置并行处理,波次的吞吐量通常也会提高,特别是对于波次内项目没有重叠的场景。
  • 改进单波次 分配 - 客户数据测试表明,切换到并行分配后,性能提升了近 50%。 并行处理根据库位上方的物料和维度完成,因此改进取决于波次包含多少个不同的物料、可用的基础结构以及分配的持续时间与工作创建的持续时间。

配置并行分配

仓库管理参数

若要使用并行分配处理,请转到仓库管理 > 设置 > 仓库管理参数,打开波次处理选项卡,然后进行以下设置:

  • 波次处理批处理组 - 选择波次初始处理应使用的批处理组。 可以使用不同的批处理组来完成分配的后续处理。
  • 批量 处理波次 - 将本项设置为 ”以使用并行处理。
  • 等待锁定(毫秒) - 输入分配步骤将等待被其他分配步骤锁定的系统资源的时间(毫秒)。 当超过该时间,将不处理波次,并且显示错误消息。 我们建议您至少等待几秒钟,以允许完成一个逻辑单元的分配。

有关这些选项以及仓库管理参数页面上的其他波次处理选项的信息,请参阅用于波次处理的仓库参数

波次处理方法

若要设置并行处理:

  1. 转到仓库管理 > 设置 > 波次 > 波次处理方法
  2. 在网格中选择 allocateWave 方法。
  3. 在操作窗格上,选择任务配置
  4. 波次过帐方法任务配置页面将打开。 该网格列出配置了 allocateWave 方法的每个仓库。 并行处理将仅用于列出的仓库。 根据需要使用“操作窗格”按钮从网格中添加或删除仓库。
  5. 对于每个仓库,进行以下设置:
    • 最大批处理任务 数 - 指定应用于所选仓库分配的批处理任务数。 批处理任务的最佳数量取决于可用的基础结构以及服务器上正在处理的其他批处理作业。 在专用于波次处理的四个核心环境上完成的测试表明,使用八个任务可以产生良好的结果。
    • 波次处理批处理组 - 特定的批处理组可用于不同的仓库,以便为每个仓库扩展分配处理。

我们建议您设置 allocateWave 方法以在所有法人中并行运行,因为这有助于提高波次处理的性能。 从 Supply Chain Management 版本 10.0.17 开始,在默认情况下,为所有新的和更新的安装启用分配波次方法的波次并行化功能,并且无法再次关闭该功能。 启用此功能后,将发生以下情况:

  • 将更新 allocateWave 方法以包括任务配置设置,该设置使您可以使用波次处理方法页面定义将同时运行的任务数,这等于并行处理的数量。 因此,按大约等于任务数的系数减少了在分配波次步骤上使用的时间(通常为总处理时间的 30% 到 60%)。 也可以选择要分配以处理这些任务的批次。 请务必注意,将所有法人配置为批量处理波次。 对于已配置为批量处理波次的仓库,以及对于已配置为并行使用 allocateWave 方法的仓库,将保留现有配置。
  • 默认情况下,所有新的法人都配置为批量处理波次。 启用了仓库管理流程选项的所有新仓库都将allocateWave 方法配置为在默认情况下并行运行。
  • 仓库管理参数页面上,批量处理波次设置为等待锁定(毫秒)设置为默认的 15 秒。 这意味着将批量执行所有波次。 当波次运行时,它会在分配步骤中获取对库位上方的物料和维度的锁定。 当其他波次处理任务尝试为同一记录获取相同锁定时,它将被阻止,直到完成当前流程。 等待锁定(毫秒)设置确定释放锁定之前系统将等待的最长时间。

并行分配处理需要批量运行波次处理。 因此,如果您关闭分批处理波次功能,将降低波次处理性能,尤其是在波次处理使用如相关波次方法的任务配置定义的并行处理时。

如有必要,您可以撤销在为您的实例自动启用分配波次方法的波次并行化功能时默认进行的每个设置。 若要实现此操作:

  • 转到仓库管理 > 设置 > 仓库管理参数。 在波次处理选项卡上,应用分批处理波次等待锁定(毫秒)的首选值。
  • 转到仓库管理 > 设置 > 波次 > 波次处理方法。 选择 allocateWave 方法。 在操作窗格上,选择任务配置以打开一个页面,其中列出了将方法设置为并行运行的每个仓库。 根据需要修改或删除每个列出的仓库的批处理任务数和分配的波次组。

故障排除

使用操作中心故障排除

因为使用了批处理框架,波次处理过程中发生的错误将在每个批处理作业生成的操作中心消息中捕获。 若要读取与波次相关的批处理作业:

  1. 转到仓库管理 > 出站波次 > 装运波次 > 所有波次
  2. 选择要检查的波次。
  3. 在操作窗格上,打开波次选项卡,然后从波次组中,选择批处理作业

波次处理将自动更正,因此应该使用操作中心报告在处理期间检测到的所有错误。

与并行处理有关的一个典型错误可能是两个波次尝试同时分配相同的物料,一个波次未完成,因此另一个波次无法在指定时间内获取锁定。 如果发生这种情况,批处理作业日志将包含说明无法获取该物料的锁定的信息,在这种情况下,必须再次处理失败的波次。

因为并行进行处理,因此必须在不同的表中维护数据以跟踪处理的状态。 这意味着批处理作业的日志可能包含错误,例如重复键错误。

批处理任务中的错误也是批处理作业日志的一部分。 最重要的信息通常位于底部。

在极少数情况下,例如,如果 SQL 连接结束,则波次处理可能会以不一致的状态结束,在该状态下批处理作业似乎正在运行,但处理已停止。 波次无法处理此类错误,因此在下一个波次运行时尝试完成清理失败的波次。 或者,如果当前波次处于不一致状态,请执行以下步骤:

  1. 转到仓库管理 > 出站波次 > 装运波次 > 所有波次
  2. 选择需要清理的波次。
  3. 在操作窗格上,打开波次选项卡,然后在波次组中,选择清理波次数据

使用波次进度日志进行故障排除

如果在仓库管理参数页面上启用了创建波次进度日志选项,则在每次开始和结束分配物料及其维度时创建日志记录。 仅应在需要时(例如,在初始测试或故障排除期间)启用此日志。 启用此选项后,可以通过执行以下步骤查看日志:

  1. 转到仓库管理 > 出站波次 > 装运波次 > 所有波次
  2. 选择要检查的波次。
  3. 在操作窗格上,打开波次选项卡,然后在波次组中,选择进度