迁移完整性校验要回答的核心问题是:源系统里应迁的数据是否全部到达目标系统,并且能够正常使用。做法是先划定校验对象和时间窗,再为每类对象定义分子、分母、单位和缺失值规则,用全量或抽样比对算出完整率,并对差异逐条归因,判断是否阻断切换。本文聚焦迁移结果验证与切换风险,数据映射设计不在讨论范围内。
要点总览(TL;DR)
- 完整性校验先拆问题再算指标:工作项、字段值、附件、评论、状态历史、关联关系、用户与权限各对应一个可判定的验收问题,避免笼统问“迁全了没有”。
- 分母取源端约定时间窗内应迁对象数,分子取目标端实际到达且可识别的对象数,单位统一为条、个或字段数;源端本身为空的不计入分母,源端有值而目标端为空的记为缺失。
- 对象级完整率按到达数除以应迁数计算,字段级拆成非空到达率与取值一致率两个指标;差异逐条归入未迁移、迁移失败、映射丢失、源端本身缺失四类。
- 完整率高不等于迁移成功,需与准确性、可用性并列解读;通过标准由业务方按对象重要性分级设定,关键对象要求全量到达,抽样部分注明覆盖风险。
- 校验通过后切换前仍要保留回退方案与复核安排,包括源系统只读保留期限、差异跟踪责任人和回退触发条件。
迁移完整性校验要回答什么问题
完整性校验的目标是确认“应迁数据是否全部到达并可正常使用”。这个目标需要拆成一组可判定的问题,每个问题对应一类对象、一个明确的是非结论,而不是笼统地问“迁全了没有”。例如:源端约定时间窗内的工作项,目标端是否都能按原编号或映射关系找到;附件是否可下载且大小一致;评论是否保留作者与时间;状态与流转历史是否连续;关联关系两端是否都存在。问题写得越具体,后面的分母和证据就越容易固定。
完整性、准确性、可用性是三类不同的验收问题,需要分开评估。完整性回答“该来的有没有来”,关注对象是否存在、数量是否对得上;准确性回答“来了的值对不对”,关注字段取值、格式、编码是否与源端一致;可用性回答“迁移后能不能正常用”,关注权限是否可访问、流程是否可流转、页面是否可打开。三者混在一个百分比里,会出现“数据都在但打不开”或“能打开但关键字段为空”却仍被判为通过的情况。
基于这个区分,可以先产出一份校验目标清单,每类对象对应一个可判定的验收问题,作为后续范围划定和口径定义的输入。
| 对象类型 | 对应的验收问题 | 验收维度 |
|---|---|---|
| 工作项 | 源端时间窗内的工作项,目标端是否都能找到 | 完整性 |
| 字段值 | 关键字段是否非空,取值是否与源端一致 | 完整性 + 准确性 |
| 附件 | 附件是否到达、可下载、大小一致 | 完整性 + 可用性 |
| 评论 | 评论条数、作者、时间是否保留 | 完整性 + 准确性 |
| 状态与流转历史 | 历史记录是否连续、时间顺序是否正确 | 完整性 + 准确性 |
| 关联关系 | 关联两端是否都存在且指向正确 | 完整性 |
| 用户与权限 | 用户是否可登录,权限结构是否可访问 | 可用性 |
校验对象、范围与时间窗怎么划定
范围划定的作用是固定分母来源。建议按对象类型逐项列出:工作项、字段值、附件、评论、状态与流转历史、关联关系、用户与权限。每类对象都要写明源端取数范围、目标端取数范围、时间窗以及是否纳入本次校验。范围表一旦确认,后续计算不再临时增删对象,否则完整率前后不可比。
时间窗要对齐,而不是各取各的。常见做法是以源端某个截止时刻为基准,取该时刻之前创建或更新的对象作为应迁集合,目标端按同一业务时间字段取数,并预留迁移执行的时间差。如果源端按“创建时间”取数、目标端按“迁移完成时间”取数,两个集合天然不一致,完整率会失真。时间窗还应在报告中写明起止时刻和时区,便于复算。
不纳入校验的对象要写明原因,常见情况包括:源端已归档且业务确认不再使用的历史项目、测试环境产生的脏数据、迁移前已明确废弃的自定义字段、按合规要求不迁移的敏感信息。排除项需要业务方确认并留痕,避免事后被理解为漏迁。
| 对象类型 | 源端范围 | 目标端范围 | 时间窗 | 是否纳入 |
|---|---|---|---|---|
| 工作项 | 指定项目全部工作项 | 对应项目全部工作项 | 截至迁移基准时刻 | 是 |
| 字段值 | 关键字段清单内的字段 | 同清单字段 | 同上 | 是 |
| 附件 | 工作项与页面附件 | 对应附件 | 同上 | 是 |
| 评论 | 工作项评论 | 对应评论 | 同上 | 是 |
| 状态与历史 | 状态变更记录 | 对应历史记录 | 同上 | 是 |
| 关联关系 | 工作项间关联 | 对应关联 | 同上 | 是 |
| 用户与权限 | 项目成员与角色 | 对应成员与权限 | 迁移时点快照 | 是 |
| 已归档项目 | 历史归档数据 | — | — | 否,业务确认不再使用 |
数据口径与证据:分子、分母和缺失值
口径定义要细到可以复算。每类对象都要写明分子、分母、单位和缺失值规则。分母统一取源端在约定时间窗内应迁的对象数,分子取目标端实际到达且可识别的对象数,单位统一为条、个或字段数,同一指标内不混用。字段级校验的单位是“字段数”,即被校验的字段实例总数,而不是工作项条数。
缺失值需要单独定义,不能默认算作未迁移。空值、源端本身为空的字段、迁移中被规则清空的字段、已删除数据,处理方式各不相同。建议规则是:源端本身为空的不计入分母;源端有值而目标端为空的计入分母并记为缺失;迁移前已删除且有删除记录的不纳入应迁集合;无法判断来源的异常值单列为待核查项,不直接计入分子或分母。
证据形式决定结果能否被复核。每类对象至少保留四类材料:源端导出清单、目标端导出清单、比对结果文件、差异记录表。差异记录表应包含对象标识、差异类型、归因结论、责任人和处理状态。导出清单要带导出时间与筛选条件,否则后续无法重现同一口径。
分母为零或源端数据无法导出时,不能简单写“完整率100%”。分母为零应标注“不适用”并说明原因;源端无法导出时,改用可获得的替代证据,例如源端页面截图加人工计数、系统日志统计,并在报告中注明证据强度低于导出比对,结论按“待确认”处理。
| 对象 | 分子 | 分母 | 单位 | 缺失值规则 | 证据来源 |
|---|---|---|---|---|---|
| 工作项 | 目标端可识别的工作项数 | 源端应迁工作项数 | 条 | 源端已删除且有记录的不计入分母 | 两端导出清单 |
| 关键字段 | 目标端非空且取值一致的字段实例数 | 源端有值的字段实例数 | 字段数 | 源端为空不计入分母 | 字段级导出比对 |
| 附件 | 可下载且大小一致的附件数 | 源端附件数 | 个 | 源端已失效链接单列待核查 | 附件清单与校验值 |
| 评论 | 目标端评论数 | 源端评论数 | 条 | 系统自动生成的通知类评论按规则排除并注明 | 评论导出清单 |
| 状态历史 | 目标端历史记录数 | 源端历史记录数 | 条 | 合并状态产生的记录差异单独归因 | 历史记录导出 |
| 关联关系 | 两端均存在且指向正确的关联数 | 源端关联数 | 条 | 一端对象被排除时该关联同步排除 | 关联清单比对 |
完整性校验的计算与执行步骤
对象级完整率按“到达条数 ÷ 应迁条数”计算,结果保留两位小数并以百分比呈现,同时附上分子分母原始数值,避免只给百分比无法复算。字段级校验要拆成两个指标:非空字段到达率,即目标端非空字段实例数除以源端有值字段实例数;取值一致率,即目标端取值与源端一致的字段实例数除以目标端非空字段实例数。两个指标分开统计,才能区分“字段没过来”和“过来了但值不对”。
执行顺序建议如下:
- 锁定源端与目标端导出清单,记录导出时间、筛选条件和时区。
- 按对象类型建立映射键,工作项用原编号或映射表,附件用所属对象加文件名,评论用所属对象加作者加时间。
- 先做对象级全量比对,得到每类对象的到达数与缺失数。
- 对关键字段做字段级比对,分别统计到达率与一致率。
- 对差异逐条归因,填入差异记录表。
- 汇总各对象完整率,形成校验报告,标注未覆盖项与待核查项。
全量与抽样的适用条件不同。工作项、附件、关联关系这类对象数量可控、标识明确的,建议全量比对;评论、历史记录数量很大且结构同质的,可以在说明抽样比例和抽样方法的前提下抽样,但关键项目、关键工作项仍应全量覆盖。抽样结论只能代表抽样范围,报告中要写明覆盖风险。
差异归因建议固定为四类:未迁移,即源端存在但目标端完全没有对应记录;迁移失败,即有迁移记录但执行报错或中断;映射丢失,即对象到达但关联键或字段映射缺失导致无法对应;源端本身缺失,即源端数据在迁移前已不存在或为空。归因结论要落到具体条目,不能只给类别汇总。
一个可复算的校验示例
以下数值为假设,仅用于演示计算方法。某项目迁移前,源端在约定时间窗内应迁工作项1200条,目标端按同一映射键找到1176条,对象级完整率为1176 ÷ 1200 = 98.00%。缺失24条,逐条核查后归因:未迁移9条,迁移失败6条,映射丢失5条,源端本身缺失4条。其中源端本身缺失的4条经业务确认迁移前已删除,按口径应从分母中剔除,修正后完整率为1176 ÷ 1196 = 98.33%。
字段级校验以“负责人”和“优先级”两个关键字段为例。源端有值字段实例共2400个,目标端非空2388个,非空字段到达率为2388 ÷ 2400 = 99.50%。在2388个非空实例中,取值与源端一致的有2361个,取值一致率为2361 ÷ 2388 = 98.87%。剩余27个不一致实例中,19个属于优先级枚举值映射差异,8个属于负责人账号未匹配,分别记录并交由业务确认是否可接受。
阻断判定按对象重要性分级。示例中,未迁移的9条工作项属于核心项目范围,判定为阻断项,需在切换前补齐或由业务方书面确认放弃;迁移失败的6条要求重试并复核;映射丢失的5条需修正映射后重新比对;字段级27个不一致实例中,负责人未匹配的8条影响权限与通知,列为切换前必须处理项,优先级映射差异19条列为切换后限期修正项。这样处理的结果是:完整率数字接近达标,但仍有阻断项,不能直接放行。
| 校验项 | 分子 | 分母 | 结果 | 处理结论 |
|---|---|---|---|---|
| 工作项完整率(修正前) | 1176 | 1200 | 98.00% | 存在缺失,需归因 |
| 工作项完整率(剔除源端缺失后) | 1176 | 1196 | 98.33% | 仍有阻断项 |
| 非空字段到达率 | 2388 | 2400 | 99.50% | — |
| 字段取值一致率 | 2361 | 2388 | 98.87% | 27条不一致需分类处理 |
结果怎么解读,以及校验的局限
完整率高不等于迁移成功。完整率只回答对象是否到达,字段取值是否正确要看一致率,迁移后能否正常打开、流转、授权要看可用性验证。一个98%的完整率背后可能藏着关键项目的缺失,也可能字段全部到达但权限配置错误导致团队无法使用。解读时应把对象级完整率、字段级到达率与一致率、可用性抽测结果并列呈现,再给出是否具备切换条件的判断。
通过标准应由业务方按对象重要性分级设定,不宜套用统一达标线。可以按对象分级:核心项目的工作项、附件、权限要求全量到达,任何缺失都需逐条确认;一般项目允许存在少量差异,但需在切换前完成归因并登记处理计划;历史评论、非关键自定义字段可设定较宽的容忍范围。标准要写明适用对象、差异类型和确认人,避免用一句“完整率不低于某数值”覆盖所有情况。
抽样校验存在覆盖风险。抽样比例、抽样方法和抽样单元都会影响结论,未抽中的差异在切换后才会暴露。降低风险的做法是:关键对象全量比对,抽样部分注明覆盖范围和残余差异的处理安排,切换后设置观察期继续复核。校验通过后、正式切换前,仍应保留回退方案和复核安排,包括源系统只读保留期限、差异条目的跟踪责任人和回退触发条件。
在工具层面,校验过程依赖工作项、字段、附件、评论、状态历史与关联关系的可导出和可比对。ONES 的 Jira 与 Confluence 替换方案把数据完整、业务连续和系统稳定作为迁移目标,迁移范围覆盖项目、工作项、状态、字段、流程、附件和历史记录,Confluence 侧可迁移空间、页面、附件和权限结构。这些范围可以直接对应到本文的范围表,作为划定校验对象的起点;具体完整率口径、达标线和差异处理方式仍需按项目实际情况定义并逐项核对。
常见问题
源端数据无法完整导出时,完整性校验还能做吗?
可以做,但要降低结论强度。可改用源端页面截图加人工计数、系统日志统计等替代证据,并在报告中注明证据强度低于导出比对,相关结论按“待确认”处理。分母为零时应标注“不适用”并说明原因,避免写成完整率100%。
抽样校验发现差异后,是否需要回头做全量比对?
取决于差异性质和对象重要性。如果抽样差异集中在核心项目或关键字段,建议对同类对象扩大范围甚至全量比对;如果差异只出现在历史评论等容忍度较高的对象上,可登记处理计划后在切换后观察期继续复核。抽样结论只代表抽样范围,报告中要写明覆盖风险。
迁移前已删除的数据,应该算进分母吗?
按本文口径不计入分母。源端本身为空或迁移前已删除且有删除记录的对象,应从应迁集合中剔除,并在差异记录中注明剔除依据和确认人。这样修正后的完整率才反映真实迁移结果,避免把源端缺失误判为迁移遗漏。
完整率达到多少才算可以切换?
没有通用达标线。建议按对象重要性分级设定:核心项目的工作项、附件、权限要求全量到达,任何缺失逐条确认;一般项目允许少量差异但需完成归因并登记处理计划;历史评论、非关键字段可设较宽容忍范围。标准要写明适用对象、差异类型和确认人。
ONES 的迁移方案能直接提供完整性校验报表吗?
现有公开资料说明 ONES 的 Jira 与 Confluence 替换方案以数据完整、业务连续和系统稳定为目标,迁移范围覆盖项目、工作项、状态、字段、流程、附件和历史记录,Confluence 侧可迁移空间、页面、附件和权限结构。资料未提及内置的完整性校验报表或完整率指标,具体校验口径和达标线仍需按项目实际情况定义并逐项核对。
