# 数据迁移服务功能场景化描述 ## Create / Start Task 在界面上创建并开始任务。 流程如下 - 点击 `创建任务` - 填写源端配置 - 填写源端类型 - 填写源端配置(根据类型不同,配置项也不同) - 填写目的端配置 - 填写目的端类型 - 填写目的端端配置 - 展示任务的详情 - 点击 `完成` 创建任务 - 点击 `启动` 以正式开始任务 ## Stop / Resume / Update Task 在界面上暂停/恢复/修改任务。 - 该能力需要后端支持后才能支持。 - 任务本质上是不支持修改的,这里提供的修改功能是 “创建新任务并删除原来的任务” ## Task Progress and Logs 在界面上看到任务进度与日志。 用户可以在任务列表中点击任务进入到任务的详情界面,此时用户应该能看到任务的进度信息与实时的日志。 进度信息包括总文件数量,总数据大小,已迁移文件数量,已迁移文件大小,其中总文件数量,总数据大小会存在两种状态: - 未知:迁移服务还不知道源端有多少数据需要迁移,需要持续一段时间才能知道整体的数据量 - 已知:迁移服务能够准确的展示源端的总数据量与总文件数量 实时日志会展示来自数据迁移服务底层的纯文本日志信息,类似 <https://github.com/aos-dev/go-storage/runs/2137378623> ## Agent Management 在界面上进行 Agent 管理。 用户可以在界面上看到已注册/链接至服务器的 Agent,用户应能看到如下信息: - Agent 上报的 ID,IP,此时的状态(Online / Offline) - Agent 此时正在执行的任务(可能不止一个) 用户可以在界面上手动断开指定 Agent 的链接(这将拒绝这个 Agent 再次链接过来)。 ## Parallel Data Migration 并行任务迁移在前端的体现主要在于: 在创建任务的流程中,填写完源端与目的端的信息后,用户可以选择指定的 Agent 来执行数据迁移。 在支持该功能前,执行任务的 Agent 默认是当前节点,而在支持该功能后,用户可以选择所有已经注册过来的 Agent 参与迁移。 ## Endpoint Management 界面上支持 Endpoint 管理。 功能上的体现是: - 支持绑定一个或多个云服务帐号/API Key - 支持在创建任务流程中,填写源端/目的端信息的时候,能够直接选择已有的 Endpoint - 创建任务的流程中,如果源端/目的端选择了已有的 Endpoint,支持列出所有可用的资源 ## Incremental Data Migration 支持创建增量迁移任务。 在创建任务时要求选择类型:一次性任务还是增量迁移任务(具体给用户的名称还要再确定) 其余的工作都是后端完成的。 ## Data Verification 支持迁移数据校验。 在创建任务的流程中增加一步任务的配置,用户可以在此处勾选启用数据校验。 - 需要提示启用数据校验后,迁移任务完成时间可能会相对延长。 ## Ignore Existing File 支持忽略已存在的文件。 支持的条件如下: - 当目的地文件已存在时忽略 - 当目的地文件更新时间比源端时间更新时忽略 - 当目的地文件校验值一致时忽略