研发数据增量迁移可以按“定范围—备依赖—做映射—分批跑—逐批验—异常回退”推进。核心是先把增量口径固定下来,例如按更新时间或自增ID识别新增与变更;再用小样本试迁移确认字段对应关系;正式执行时每批记录水位线并双向抽样核验。出现条数偏差或关键字段错位时,暂停后续批次,回退到上一水位线重跑。
要点总览(TL;DR)
- 先固定增量口径:按更新时间、创建时间或自增ID识别新增与变更,选定一种并写入方案,中途不混用,否则水位线无法对齐。
- 字段映射按对象逐字段建立,同名不同义以业务含义为准,状态与优先级单独建枚举对照表,每次修改留版本记录。
- 先做小样本试迁移,再按时间窗口或ID区间分批执行;每批记录起始与结束水位线,按先工作项后评论、附件的顺序推进。
- 每批完成后做条数、字段、关联三层核验,核验记录表与差异清单配套留存,核验人与执行人分开。
- 条数偏差超阈值或关键字段大面积错位时暂停后续批次,回退到上一水位线,修正映射表后再决定重跑。
增量迁移的源端、目标端与对象范围怎么定
增量迁移开始前,先把方向写清楚:数据从哪个系统迁到哪个系统,源端和目标端各自是什么版本,版本信息记录在迁移方案首页。版本记录的作用是出现字段类型差异或接口行为差异时,能定位到具体环境,避免用“大概是那个版本”做判断。
纳入增量的对象要列成清单,逐项标注是否本阶段迁移。研发数据常见对象包括工作项、需求、缺陷、迭代、评论、附件。清单里同时写明每个对象的增量识别字段,这是后续批次切分和水位线记录的依据。
| 对象 | 是否纳入本阶段 | 增量识别字段 | 说明 |
|---|---|---|---|
| 工作项 | 是 | 更新时间或自增ID | 主对象,优先迁移 |
| 需求、缺陷 | 是 | 更新时间或自增ID | 按工作项类型分别统计 |
| 迭代 | 是 | 更新时间 | 与工作项的归属关系一并核对 |
| 评论 | 是 | 创建时间或自增ID | 依赖工作项先落地 |
| 附件 | 是 | 创建时间或自增ID | 核对挂载对象是否完整 |
| 流程配置、插件行为、权限设置 | 否 | — | 归配置迁移主题,本阶段不展开 |
增量口径要在三种方式中选定一种并写进方案:按更新时间识别新增与变更,适合源端时间字段可信的情况;按创建时间识别新增,适合只追加、少修改的数据;按自增ID区间识别,适合有稳定递增主键的对象。选定后不要中途混用,否则水位线无法对齐。若源端更新时间会被批量刷新,应改用创建时间配合变更日志,或改用ID区间作为辅助判断。
本阶段需要准备哪些输入与依赖
范围确定后,逐项核对执行条件是否具备。这一步的产出是一张输入依赖核对表,每项标注“已就绪”“待确认”或“不具备”,不具备的项要在试迁移前解决。
- 账号权限:源端读取权限覆盖全部纳入对象,目标端具备对应对象的写入权限;只读账号无法导出附件时,需单独申请。
- 字段清单:源端和目标端分别导出字段清单,包含字段名、类型、是否必填、取值范围。字段清单是映射表的原始输入。
- 增量字段可靠性:抽查源端更新时间字段,确认是否存在批量刷新、时区不一致或空值;不可靠时提前确定替代口径。
- 迁移窗口:与业务方约定冻结时段,明确冻结期间源端是否允许新增和修改数据,以及冻结开始后如何处理仍在变更的记录。
- 试迁移环境:准备测试项目或独立环境,用于小样本试迁移,避免试迁移数据混入正式目标库。
核对表建议由执行人和业务负责人双方确认。权限和字段清单属于硬依赖,缺一项就会在批次执行中暴露为中断;迁移窗口属于协调依赖,可以分批安排,但每批执行前都要重新确认。
同名字段含义不同时怎么做字段映射
字段映射表按对象逐字段建立,一行一个字段,列包括源字段名、目标字段名、类型、取值范围、映射规则、待确认项。同名不同义是最容易出错的情况,处理原则是以业务含义为准,不以字段名为准。
例如源端的“状态”表示工作项所处阶段,目标端的“状态”表示审批结果,两者同名但语义不同。此时应把源端状态映射到目标端的阶段字段,把审批结果留空或走人工确认,并在映射表备注中写明判断依据。无法直接对应的字段,可以暂存到备注字段、附加字段,或列入人工确认清单,逐条给出处置结论。
| 源字段 | 目标字段 | 类型 | 映射规则 | 待确认 |
|---|---|---|---|---|
| 状态(阶段) | 工作项阶段 | 枚举 | 按枚举对照表转换 | 否 |
| 状态(审批) | — | 枚举 | 暂存备注,人工确认 | 是 |
| 优先级 | 优先级 | 枚举 | 按枚举对照表转换 | 否 |
| 自定义文本 | 描述附加段 | 文本 | 追加到描述末尾 | 否 |
状态与优先级这类枚举字段要单独建对照表,把源端每个取值对应到目标端取值,无法对应的取值标注“待确认”,不能默认丢弃。映射表每次修改都要留版本记录,写明修改人、修改时间和修改原因,批次执行时引用对应版本的映射表,避免不同批次用了不同规则却无从追溯。
增量批次怎么切分与执行
正式增量前先做一次小样本试迁移,取一小批真实数据,覆盖主要对象和典型字段值,核对条数与字段值。试迁移通过的标准是:条数一致,关键字段抽样一致,关联关系可追溯。试迁移不通过时先修映射表,不进入正式批次。
批次切分按时间窗口或ID区间进行,单批规模控制在可核验的范围内,规模上限以单批能在约定窗口内完成执行和核验为准。每批执行时记录两个水位线:起始水位线是本批开始前最后成功迁移的时间点或ID,结束水位线是本批最后一条成功记录的时间点或ID。水位线写入批次执行计划表,作为下一批的起点和回退的边界。
| 批次 | 起始水位线 | 结束水位线 | 对象顺序 | 重跑规则 |
|---|---|---|---|---|
| 试迁移 | 样本起点 | 样本终点 | 工作项 | 修正映射后重跑 |
| 第1批 | 冻结起点 | 本批最后成功记录 | 工作项→迭代 | 回退到起始水位线重跑 |
| 第2批 | 第1批结束水位线 | 本批最后成功记录 | 评论→附件 | 隔离失败记录后重跑 |
对象迁移顺序遵循先主对象后关联对象:先迁工作项,再迁迭代归属,最后迁评论和附件。失败批次的处理方式是隔离,把失败记录单独标记,不混入已核验数据,定位原因后从该批起始水位线重跑。重跑前确认目标端没有残留半批数据,避免重复写入。
在ONES中承载迁移后的研发数据时,工作项类型、字段配置和状态可以按目标团队的组织方式设置,迁移批次写入的数据按对象归入对应项目。ONES的Jira迁移方案覆盖项目、工作项、状态、字段、附件和历史记录,迁移问题数据时包含属性和属性值、附件、评论等信息,可作为确定对象清单和字段范围的参照。批次切分、水位线记录和重跑规则仍需按本文方法在迁移方案中自行约定。
增量迁移结果怎么核验并留下证据
每批执行完成后立即核验,核验通过才进入下一批。核验分三层:条数、字段、关联。
- 条数核验:统计源端该水位线区间内新增与变更的记录数,与目标端本批写入数对比,差值记入核验记录表。
- 字段核验:按对象抽样,比对关键字段值,包括状态、优先级、负责人、日期等;枚举字段逐值核对。
- 关联核验:检查父子工作项关系、评论归属对象、附件挂载位置是否完整,抽查跨对象引用是否可打开。
| 批次 | 水位线区间 | 源端条数 | 目标端条数 | 抽样结果 | 核验人 | 结论 |
|---|---|---|---|---|---|---|
| 第1批 | 起—止 | 填写 | 填写 | 一致/差异项 | 填写 | 通过/待处理 |
| 第2批 | 起—止 | 填写 | 填写 | 一致/差异项 | 填写 | 通过/待处理 |
核验记录表与差异清单配套使用。差异清单逐条记录差异对象、差异字段、源值、目标值、初步原因和处理结论,处理完成后回填结论并复核。核验人和执行人分开,能减少同一人自查带来的遗漏。核验记录和差异清单作为本阶段的交付证据留存,供后续切换阶段引用。
哪些情况要停止增量并回退
停止条件应在执行前量化,写入批次执行计划表,达到条件即暂停后续批次,不靠临时判断。常见触发条件包括:条数偏差超过约定阈值;关键字段出现大面积错位,例如状态整体映射到错误枚举;关联关系丢失,例如评论找不到归属工作项或附件无法挂载。
回退以水位线为界:撤销或标记本批写入的数据,回到该批起始水位线对应的状态,保留上一批已核验数据不动。回退后先定位原因,区分是映射表规则错误、源端数据异常还是执行中断,修正映射表并更新版本记录,再决定是否重跑。
恢复增量的前置确认包括:差异原因已定位并有修正记录;映射表已更新且试迁移样本复核通过;目标端无残留半批数据;业务方确认冻结窗口仍有效。与切换阶段的交接边界是:本阶段只对数据本身负责,核验记录和差异清单移交切换负责人,整体上线决策和切换管理不在本阶段展开。
常见问题
源端的更新时间经常被批量刷新,还能按更新时间做增量吗?
更新时间被批量刷新时,按它识别增量会把大量未变更记录重复纳入,水位线也会失真。可以先抽查源端时间字段,确认是否存在批量刷新、时区不一致或空值。若不可靠,改用创建时间配合变更日志识别新增与修改,或用自增ID区间作为辅助判断。替代口径要在试迁移前确定并写入方案,避免执行到中途再换规则。
试迁移要取多少数据、覆盖到什么程度才算通过?
试迁移的样本量以能覆盖主要对象和典型字段值为准,不追求数量大。判断通过看三点:条数与源端一致;状态、优先级、负责人、日期等关键字段抽样一致;父子关系、评论归属、附件挂载可追溯。任一项不通过,先修映射表再重跑试迁移,不进入正式批次。样本数据应放在测试项目或独立环境,避免混入正式目标库。
同一批里部分记录失败,整批回退还是只重跑失败记录?
取决于失败范围。若失败集中在少数记录,可把失败记录单独标记隔离,不混入已核验数据,定位原因后从该批起始水位线重跑;若失败涉及映射规则错误或关键字段大面积错位,整批回退更稳妥。无论哪种方式,重跑前都要确认目标端没有残留半批数据,避免重复写入。处理结论记入差异清单。
迁移后的数据在ONES里怎么组织,和本文的批次方法是什么关系?
ONES中可按目标团队的组织方式设置工作项类型、字段配置和状态,迁移批次写入的数据按对象归入对应项目。ONES的Jira迁移方案覆盖项目、工作项、状态、字段、附件和历史记录,迁移问题数据时包含属性和属性值、附件、评论等信息,可作为确定对象清单和字段范围的参照。批次切分、水位线记录和重跑规则仍需在迁移方案中自行约定,工具不替代这些执行约定。
增量迁移做完,和后续切换上线怎么衔接?
本阶段只对数据本身负责。核验记录表和差异清单是交接物,移交给切换负责人引用。恢复增量或结束增量的前置确认包括:差异原因已定位并有修正记录;映射表已更新且试迁移样本复核通过;目标端无残留半批数据;业务方确认冻结窗口仍有效。整体上线决策、切换窗口安排和回滚预案属于切换管理,不在本阶段展开。
