迁移完整性校验怎么做:指标、口径与验收方法

迁移完整性校验要回答的核心问题是:源系统里应迁的数据是否全部到达目标系统,并且能够正常使用。做法是先划定校验对象和时间窗,再为每类对象定义分子、分母、单位和缺失值规则,用全量或抽样比对算出完整率,并对差异逐条归因,判断是否阻断切换。本文聚焦迁移结果验证与切换风险,数据映射设计不在讨论范围内。



要点总览(TL;DR)


  • 完整性校验先拆问题再算指标:工作项、字段值、附件、评论、状态历史、关联关系、用户与权限各对应一个可判定的验收问题,避免笼统问“迁全了没有”。
  • 分母取源端约定时间窗内应迁对象数,分子取目标端实际到达且可识别的对象数,单位统一为条、个或字段数;源端本身为空的不计入分母,源端有值而目标端为空的记为缺失。
  • 对象级完整率按到达数除以应迁数计算,字段级拆成非空到达率与取值一致率两个指标;差异逐条归入未迁移、迁移失败、映射丢失、源端本身缺失四类。
  • 完整率高不等于迁移成功,需与准确性、可用性并列解读;通过标准由业务方按对象重要性分级设定,关键对象要求全量到达,抽样部分注明覆盖风险。
  • 校验通过后切换前仍要保留回退方案与复核安排,包括源系统只读保留期限、差异跟踪责任人和回退触发条件。


迁移完整性校验要回答什么问题


完整性校验的目标是确认“应迁数据是否全部到达并可正常使用”。这个目标需要拆成一组可判定的问题,每个问题对应一类对象、一个明确的是非结论,而不是笼统地问“迁全了没有”。例如:源端约定时间窗内的工作项,目标端是否都能按原编号或映射关系找到;附件是否可下载且大小一致;评论是否保留作者与时间;状态与流转历史是否连续;关联关系两端是否都存在。问题写得越具体,后面的分母和证据就越容易固定。


完整性、准确性、可用性是三类不同的验收问题,需要分开评估。完整性回答“该来的有没有来”,关注对象是否存在、数量是否对得上;准确性回答“来了的值对不对”,关注字段取值、格式、编码是否与源端一致;可用性回答“迁移后能不能正常用”,关注权限是否可访问、流程是否可流转、页面是否可打开。三者混在一个百分比里,会出现“数据都在但打不开”或“能打开但关键字段为空”却仍被判为通过的情况。


基于这个区分,可以先产出一份校验目标清单,每类对象对应一个可判定的验收问题,作为后续范围划定和口径定义的输入。


对象类型 对应的验收问题 验收维度
工作项 源端时间窗内的工作项,目标端是否都能找到 完整性
字段值 关键字段是否非空,取值是否与源端一致 完整性 + 准确性
附件 附件是否到达、可下载、大小一致 完整性 + 可用性
评论 评论条数、作者、时间是否保留 完整性 + 准确性
状态与流转历史 历史记录是否连续、时间顺序是否正确 完整性 + 准确性
关联关系 关联两端是否都存在且指向正确 完整性
用户与权限 用户是否可登录,权限结构是否可访问 可用性


校验对象、范围与时间窗怎么划定


范围划定的作用是固定分母来源。建议按对象类型逐项列出:工作项、字段值、附件、评论、状态与流转历史、关联关系、用户与权限。每类对象都要写明源端取数范围、目标端取数范围、时间窗以及是否纳入本次校验。范围表一旦确认,后续计算不再临时增删对象,否则完整率前后不可比。


时间窗要对齐,而不是各取各的。常见做法是以源端某个截止时刻为基准,取该时刻之前创建或更新的对象作为应迁集合,目标端按同一业务时间字段取数,并预留迁移执行的时间差。如果源端按“创建时间”取数、目标端按“迁移完成时间”取数,两个集合天然不一致,完整率会失真。时间窗还应在报告中写明起止时刻和时区,便于复算。


不纳入校验的对象要写明原因,常见情况包括:源端已归档且业务确认不再使用的历史项目、测试环境产生的脏数据、迁移前已明确废弃的自定义字段、按合规要求不迁移的敏感信息。排除项需要业务方确认并留痕,避免事后被理解为漏迁。


对象类型 源端范围 目标端范围 时间窗 是否纳入
工作项 指定项目全部工作项 对应项目全部工作项 截至迁移基准时刻 是
字段值 关键字段清单内的字段 同清单字段 同上 是
附件 工作项与页面附件 对应附件 同上 是
评论 工作项评论 对应评论 同上 是
状态与历史 状态变更记录 对应历史记录 同上 是
关联关系 工作项间关联 对应关联 同上 是
用户与权限 项目成员与角色 对应成员与权限 迁移时点快照 是
已归档项目 历史归档数据 — — 否,业务确认不再使用


数据口径与证据:分子、分母和缺失值


口径定义要细到可以复算。每类对象都要写明分子、分母、单位和缺失值规则。分母统一取源端在约定时间窗内应迁的对象数,分子取目标端实际到达且可识别的对象数,单位统一为条、个或字段数,同一指标内不混用。字段级校验的单位是“字段数”,即被校验的字段实例总数,而不是工作项条数。


缺失值需要单独定义,不能默认算作未迁移。空值、源端本身为空的字段、迁移中被规则清空的字段、已删除数据,处理方式各不相同。建议规则是:源端本身为空的不计入分母;源端有值而目标端为空的计入分母并记为缺失;迁移前已删除且有删除记录的不纳入应迁集合;无法判断来源的异常值单列为待核查项,不直接计入分子或分母。


证据形式决定结果能否被复核。每类对象至少保留四类材料:源端导出清单、目标端导出清单、比对结果文件、差异记录表。差异记录表应包含对象标识、差异类型、归因结论、责任人和处理状态。导出清单要带导出时间与筛选条件,否则后续无法重现同一口径。


分母为零或源端数据无法导出时,不能简单写“完整率100%”。分母为零应标注“不适用”并说明原因;源端无法导出时,改用可获得的替代证据,例如源端页面截图加人工计数、系统日志统计,并在报告中注明证据强度低于导出比对,结论按“待确认”处理。


对象 分子 分母 单位 缺失值规则 证据来源
工作项 目标端可识别的工作项数 源端应迁工作项数 条 源端已删除且有记录的不计入分母 两端导出清单
关键字段 目标端非空且取值一致的字段实例数 源端有值的字段实例数 字段数 源端为空不计入分母 字段级导出比对
附件 可下载且大小一致的附件数 源端附件数 个 源端已失效链接单列待核查 附件清单与校验值
评论 目标端评论数 源端评论数 条 系统自动生成的通知类评论按规则排除并注明 评论导出清单
状态历史 目标端历史记录数 源端历史记录数 条 合并状态产生的记录差异单独归因 历史记录导出
关联关系 两端均存在且指向正确的关联数 源端关联数 条 一端对象被排除时该关联同步排除 关联清单比对


完整性校验的计算与执行步骤


对象级完整率按“到达条数 ÷ 应迁条数”计算,结果保留两位小数并以百分比呈现,同时附上分子分母原始数值,避免只给百分比无法复算。字段级校验要拆成两个指标:非空字段到达率,即目标端非空字段实例数除以源端有值字段实例数;取值一致率,即目标端取值与源端一致的字段实例数除以目标端非空字段实例数。两个指标分开统计,才能区分“字段没过来”和“过来了但值不对”。


执行顺序建议如下:


  1. 锁定源端与目标端导出清单,记录导出时间、筛选条件和时区。
  2. 按对象类型建立映射键,工作项用原编号或映射表,附件用所属对象加文件名,评论用所属对象加作者加时间。
  3. 先做对象级全量比对,得到每类对象的到达数与缺失数。
  4. 对关键字段做字段级比对,分别统计到达率与一致率。
  5. 对差异逐条归因,填入差异记录表。
  6. 汇总各对象完整率,形成校验报告,标注未覆盖项与待核查项。

全量与抽样的适用条件不同。工作项、附件、关联关系这类对象数量可控、标识明确的,建议全量比对;评论、历史记录数量很大且结构同质的,可以在说明抽样比例和抽样方法的前提下抽样,但关键项目、关键工作项仍应全量覆盖。抽样结论只能代表抽样范围,报告中要写明覆盖风险。


差异归因建议固定为四类:未迁移,即源端存在但目标端完全没有对应记录;迁移失败,即有迁移记录但执行报错或中断;映射丢失,即对象到达但关联键或字段映射缺失导致无法对应;源端本身缺失,即源端数据在迁移前已不存在或为空。归因结论要落到具体条目,不能只给类别汇总。



一个可复算的校验示例


以下数值为假设,仅用于演示计算方法。某项目迁移前,源端在约定时间窗内应迁工作项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 侧可迁移空间、页面、附件和权限结构。资料未提及内置的完整性校验报表或完整率指标,具体校验口径和达标线仍需按项目实际情况定义并逐项核对。