

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 波浪计划管理 (WPM)
<a name="wave-planning-management"></a>

Wave Planning Management (WPM) 是一项功能，可帮助您以最佳方式组织和安排迁移工作负载。它允许您将大型迁移项目分解为可管理的 “浪潮”，同时考虑各种技术限制和业务需求。

## 重要概念
<a name="key-concepts"></a>
+  **资产**：任何需要迁移的组件，包括应用程序及其基础架构（服务器、数据库、存储等）。
+  **Move Group：一组**相关资产（例如应用程序和服务器），由于其技术依赖关系或业务需求而需要一起迁移。
+  **Wave**：一组将在同一事件中迁移的应用程序。这可能基于彼此之间的关联，或者任何其他原因。
+  **Wave Planning** Rules：一组预先配置的指南，可帮助您系统地组织迁移。这些规则会自动生成：
  + 根据应用程序的特征和对组织的重要性，确定应首先迁移哪些应用程序的优先顺序。
  + 将相关资产组合在一起，确保同时迁移依赖组件，从而在整个迁移过程中保持系统功能。
+  **Wave Planing Job**：一种用于组织迁移的结构化工作流程，通过三个关键分析来处理应用程序：优先级、依赖关系分组和波浪规划。您提供要迁移的应用程序列表，作业会根据预定义的波浪规划规则和其他与作业相关的设置（例如波浪服务器和存储容量）生成有组织的移动组和波浪。

## 创建波浪规划 Job
<a name="creating-wave-planning-job"></a>

要创建新作业，请从菜单中选择 **Wave Planning**，然后选择 Plannin **g Job** s，然后单击 “**添加**” 按钮。Wave Planning Job 向导将指导您完成以下四个步骤：

### 1. 创建作业
<a name="create-job"></a>

要启动任务，需要填充以下属性：
+  **Job Name**：你想称之为这个迁移作业。选择一个有意义的名字，以帮助你以后识别。
+  **Wave 服务器最大容量**：任何单波中可以包含的最大服务器数量。
+  **提名申请数量**：你想在这份工作中处理多少份计划外申请。例如，输入 “10” 将选择默认情况下尚未规划的前 10 个优先级应用程序。
+  **起始 Wave 服务器容量**：此任务的第一波要包含的服务器数量。
+  **Wave Server 容量增加**：在此任务的后续每个浪潮中要增加多少台服务器。
+  **Wave 存储容量**：每波允许的最大服务器总存储容量。

填写完表格后，单击 “**下一步**” 按钮。

### 2. 管理应用程序
<a name="manage-applications"></a>

在此步骤中，您将选择要包含在迁移任务中的应用程序。

根据您的**提名申请数量**（在步骤 1 中设置），向导会自动为您的职位选择申请。这些建议来自计划外应用程序库，并根据其优先级排名进行排序。建议的应用程序显示**在新作业中包含的应用程序**表中。

[如果你还没有，你可以点击右上角**的其他选项**（三点）图标，然后选择 “**重新计算应用程序排名**”，根据预定义的优先级规则计算所有应用程序的排名。](#prioritization-rules)

或者，您可以通过两种方式修改建议的列表：
+ 删除应用程序：要从作业中删除应用程序，请选择该应用程序，然后单击 “**从作业中删除**” 按钮。已删除的应用程序将返回到 “**未分配的应用程序**” 表中。
+ 添加其他应用程序：在 “**未分配的应用程序” 表中选择要包含的所有其他应用程序**，然后单击 “**添加到作业**” 按钮。添加的应用程序将显示**在新作业表中包含的应用程序**中。

完成应用程序选择后，单击 “**下一步**” 按钮。

### 3. 管理移动组
<a name="manage-move-groups"></a>

该任务会创建移动组请求。当后端根据[预定义的分组规则](#grouping-rules)处理请求时，向导会轮询进度并定期刷新页面。

成功处理请求后，自动创建的移动组将显示在 “**移动组**” 表格中。您可以选择一个组，在表格下方的选项卡中查看组的详细信息，例如包含的应用程序、服务器和数据库。在 “**实体可视化**” 选项卡下，一个图表可视化实体关系。

或者，您可以修改自动创建的移动组：
+ 选择移动组，然后单击 “**管理资产**” 按钮。
+ 弹出一个包含两个表格的对话框。上方的 “**选定移动组中的**资产” 表显示移动组中包含的资产，下方的**可用资产**表显示未分配给任何组的资产。
+ 要从移动组中移除一项或多项资产，请将其选中，然后单击 “**从移动组中移除**” 按钮。移除的资产将返回到 “**可用资产**” 表格。
+ 要向移动组中再添加一个可用资产，请从 “**可用资产**” 表格中将其选中，然后单击 “**添加到移动组**” 按钮。添加的资源将显示在 “**选定移动组中的资产**” 表格中。
+ 单击 “**确认” 按钮确认**更改，或单击 “**取消”** 放弃更改。对话框关闭，主屏幕将刷新以反映您对移动组所做的更改。

对移动组感到满意后，单击 “**下一步**” 按钮。

### 4. 管理波浪
<a name="manage-waves"></a>

该作业根据作业设置创建波浪，并在 Waves 表中显示自动创建的**波浪**。您可以选择一个波次来查看波浪的详细信息，例如包括的移动组、应用程序、服务器和数据库。在 “**实体可视化**” 选项卡下，一个图表可视化实体关系。

或者，您可以修改自动创建的波浪：
+ 选择波浪并单击 “**管理移动组**” 按钮。
+ 弹出一个包含两个表格的对话框。上方的 “**选定波浪中的**移动组” 表显示了移动组中包含的移动组，下方的 “**可用移动组**” 表格显示了未分配给任何波浪的移动组。
+ 要从波浪中移除一个或多个移动组，请选择它们并单击 “**从波浪中移除**” 按钮。移除的移动组将返回到 “**可用移动组**” 表格。
+ 要向波浪中再添加一个可用的移动组，请从 “**可用移动组**” 表格中将其选中，然后单击 “**添加到波形**” 按钮。添加的移动组将显示在**选定波浪中的移动组**表中。
+ 单击 “**确认” 按钮确认**更改，或单击 “**取消”** 放弃更改。对话框关闭，主屏幕刷新以反映您对波浪所做的更改。

对波浪感到满意后，单击 “**确认波浪计划**” 按钮返回到 Wave Planning Job 列表页面。

### 注意
<a name="notes"></a>
+ Job 向导会保留波浪规划进度，并单击对话框中的 “**下一步**” 按钮和 “**确认**” 按钮时对移动组和波浪所做的更改。
+ 您可以单击 “上一步” 按钮返回向导的**先**前步骤，但这些步骤处于只读模式，仅供您参考。
+ 如果您想对之前的步骤进行更改，则需要取消任务并重新开始。请参阅[取消/删除波浪计划作业](#cancelling-deleting-wave-planning-job)。

## 取消/删除波浪规划作业
<a name="cancelling-deleting-wave-planning-job"></a>
+ 要在创建作业向导中取消作业，请单击 “**取消**” 按钮。
+ 要删除已创建的作业，请从菜单中选择 **Wave** Plannin **g，然后选择 Planning Job** s，然后选择该作业并单击 “**删除**” 按钮。

这两个操作都将通过删除相关的移动组和波浪来恢复任务所做的波浪计划。

## 管理波浪规划规则
<a name="managing-wave-planning-rules"></a>

波浪规划规则是一组可配置的指导方针，用于控制波浪计划期间资产的处理方式。WPM 将最常用的规则列表预定义为默认规则。

这些规则包括两个主要类别：
+  **优先级规则** 
  +  **评分规则**：为 entity/attribute /值组合定义评分标准 (0-100)，以确定应用程序的优先级。例如，“生产” 环境可能得分 10，而 “开发” 环境的分数可能为 100，这表明应先迁移开发环境。
  +  **排序规则**：控制选择过程中应用程序的顺序，包括将同一应用程序的不同环境放在一起的选项。
+  **分组规则** 
  +  **加入者（包括）规则**：定义将资产合并到同一个移动组中的标准。默认规则包括对共享服务器、数据库、应用程序所有者等的应用程序进行分组。
  +  **拆分器（专用）规则**：定义将资产保存在单独组中的标准，通常基于环境、所有者或部门等属性。

默认分组规则对于波浪规划的正常运行至关重要，因此管理员只能启用或禁用这些规则。除此之外，管理员还可以创建新规则并修改现有规则，使其符合其组织的特定迁移要求。

### 查看波浪规划规则
<a name="viewing-wave-planning-rules"></a>

要查看现有的波浪计划规则，请从菜单中选择 “**管理**”，选择 “**波浪规划**”，然后单击 “**计划规则**” 选项卡。

系统分别在 “分组规则” 和 “优先排序规则” 表中显示**分组规则**和**优先级排序规则**。

### Enabling/disabling 规划规则
<a name="enabling-disabling-planning-rules"></a>

您不能修改默认分组规则，只能修改 enable/disable 它们。要禁用默认分组规则，请执行以下操作：
+ 勾选复选框选择一条状态为 “已启用” 的规则，然后单击 “**编辑**” 按钮。
+ 单击 “编辑**规则” 页面上的 “禁用**规则” 按钮。

您可以通过类似的操作来启用已禁用的分组规则。

要禁用默认的优先级排序规则，请执行以下操作：
+ 勾选复选框选择一条状态为 “已启用” 的规则，然后单击 “**编辑**” 按钮。
+ 在**规则 JSON** 字段中，将**状态**值从 “已启用” 更改为 “已禁用”，然后单击 “**更新规则**” 以保存更改。

您可以通过类似的操作来启用已禁用的优先级排序规则。

### 添加计划规则
<a name="adding-planning-rules"></a>

要添加新规则，请单击相应规则表顶部的**添加**按钮，然后在规则 JSON 字段中键入 JSO **N 格式的规则**。如果您复制并粘贴现有规则的值，而不是从头开始，则会容易得多。

如果您的部署区域中有 AWS Bedrock 和所需的 LLM 模型，则会出现**规则描述提示**部分，允许您用自然语言描述规则，Bedrock 将以 JSON 格式生成规则：
+ 在规则描述**提示下方的文本框中键入规则描述**。以下是评分规则的示例：

```
Score applications based on server storage size.
Less sizes means less app complexity scores.
```
+ 单击 Bedrock 的 “**生成规则**” 按钮，生成 JSON 格式的规则并填充**规则 JSON 字段**。
  + Bedrock 可能需要 30 秒甚至更长时间才能生成规则。
+ 您查看规则并单击 “**保存规则**” 按钮保存规则。

### 规则 JSON 属性
<a name="rule-json-properties"></a>

 **分组规则 JSON 属性** 


| 属性名称 | 必需 | Type | 允许的值 | 说明 | 
| --- | --- | --- | --- | --- | 
| 规则\_类型 | Y | 字符串 | 分组\_包含，分组\_独家 | 确定规则是合并资产（包括资产）还是将其分开（不包括） | 
| rule\_name | Y | 字符串 | 任何文本 | 规则的名称 | 
| 规则\_描述 | N | 字符串 | 任何文本 | 规则的可选描述 | 
| status | Y | 字符串 | 已启用、已禁用 | 规则是否处于活动状态 | 
| relationships | Y | array | 对象数组 | 资产关系清单 | 
| 关系 [] .asset\_type | Y | 字符串 | 有效的资产类型 | 关系的资产类型 | 
| 关系 [] .asset\_key | Y | 字符串 | 有效的资产密钥 | 关系的关键属性 | 

 **确定评分规则 JSON 属性的优先级** 


| 属性名称 | 必需 | Type | 允许的值 | 说明 | 
| --- | --- | --- | --- | --- | 
| 规则\_类型 | Y | 字符串 | 确定优先次序 | 必须 “确定优先级” | 
| rule\_name | Y | 字符串 | 任何文本 | 规则的名称 | 
| 规则\_描述 | N | 字符串 | 任何文本 | 规则的可选描述 | 
| sub\_type | Y | 字符串 | 得分 | 必须是 “得分” | 
| status | Y | 字符串 | 已启用、已禁用 | 规则是否处于活动状态 | 
| 资产类型 | Y | 字符串 | 有效的资产类型 | 要评分的资产类型 | 
| attr\_key | Y | 字符串 | 有效的非关系属性 | 基础评分所依据的属性 | 
| 评分标准 | Y | array | 评分对象数组 | 评分条件清单 | 
| 评分标准 [] .value | N | 字符串 | 任何文本 | 要匹配的值 | 
| 评分标准 [] .lower\_bound | N | 数字 | 任何数字 | 数值范围的下限 | 
| 评分标准 [] .upper\_bound | N | 数字 | 任何数字 | 数值范围的上限 | 
| 评分标准 [] .name | N | 字符串 | 任何文本 | 标准的名称 | 
| 评分标准 [] .pattern | N | 字符串 | 任何文本 | 要匹配的图案 | 
| 评分标准 [] .complexity\_score | Y | 数字 | 0-100 | 标准匹配时要分配的分数 | 

 **确定排序规则 JSON 属性的优先级** 


| 属性名称 | 必需 | Type | 允许的值 | 说明 | 
| --- | --- | --- | --- | --- | 
| 规则\_类型 | Y | 字符串 | 确定优先次序 | 必须 “确定优先级” | 
| rule\_name | Y | 字符串 | 任何文本 | 规则的名称 | 
| 规则\_描述 | N | 字符串 | 任何文本 | 规则的可选描述 | 
| sub\_type | Y | 字符串 | 排序 | 必须是 “排序” | 
| status | Y | 字符串 | 已启用、已禁用 | 规则是否处于活动状态 | 
| 资产类型 | Y | 字符串 | 有效的资产类型 | 要排序的资产类型 | 
| attr\_key | Y | 字符串 | 有效的非关系属性 | 要排序依据的属性 | 
| 排序顺序 | Y | 字符串 | ASC、DSC | 升序或降序排序 | 
| 排序级别 | Y | 数字 | 任何数字 | 同类优先级 | 
| 按值排序 | N | array | 字符串数组 | 要排序的特定值 | 

角色允许将一个或多个策略分配给一个或多个组。分配给角色的所有策略的组合可提供访问权限。可以根据项目或组织内的工作角色或职能来创建角色。

## 波次分配变更
<a name="wave-assignment-changes"></a>

启用 Wave Planning Manager (WPM) 功能后，通过用户界面将服务器分配给波浪已更新，以包含移动组，这对于组织需要一起迁移的相关资产至关重要。

主要变更：
+ 不再支持通过用户界面直接分配服务器到 Wave。
+ 需要将服务器分配给移动组，然后将其分配给波浪。

对于通过[旧版导入导入](metadata-management.md#importing-data)的服务器：
+ 现有的波浪任务将保持不变。
+ 要更改通过旧版导入导入的服务器的波动，请执行以下操作：

  1. 创建移动组并将其分配到波浪中

  1. 编辑服务器并将该服务器分配给移动组