Jira附件迁移后如何核对文件数量和大小一致

Jira附件迁移完成后,核对文件数量和大小是否一致,核心做法是建立源端与目标端的同口径清单:按附件所属工作项、文件名、字节大小等字段分别导出,以“工作项键+文件名+字节大小”为匹配键逐条比对。数量核对看源端附件总数与目标端成功落库数之差,大小核对看逐条字节数是否相等以及总字节差额。核对过程涉及清单导出、差异记录与复核交接,ONES 的工作项与文档可以承载这套验收流程。



要点总览(TL;DR)


  • 核对Jira附件迁移完整性,先固定源端与目标端的导出时点,再以“工作项键+文件名+字节大小”为匹配键逐条比对,避免两端快照时间不同造成增量差异。
  • 数量核对看源端附件总数与目标端成功落库数之差,差额需逐条归类为失败、跳过、重名合并、未匹配,不能只报总数。
  • 大小核对分两层:逐条字节数是否相等,以及总字节差额;字节数一致仍需抽样打开文件验证可读性。
  • 分母为零、空附件、零字节文件、重名与多版本附件需事先约定口径,否则会把口径差异误判为迁移缺失。
  • 数量差额为零、逐条大小一致率100%且抽样验证通过,附件维度才算核对通过;单个指标不能代表迁移整体质量。


这次核对要回答什么问题


这次核对回答一个具体问题:迁移前存在于Jira中的附件,在目标系统中是否都能找到,且每个文件的字节大小与源端相同。核对对象是同一批工作项在迁移前后的附件集合,不涉及正文、评论或字段值的完整性,那些属于其他验收项。


通过标准分两层。第一层是数量一致:在约定的核对范围内,源端附件总数与目标端成功落库的附件数相等,且失败、跳过、重名合并的记录都已逐条说明去向。第二层是逐条大小一致:按匹配键能对上的附件,字节大小完全相等;对不上的记录单独列出,不能混入“已迁移”统计。


范围需要事先写清楚,至少包括三项:纳入核对的工作项范围(例如某项目全部工作项,或某时间窗内创建或更新的工作项)、纳入的附件类型(普通附件、内嵌图片、缩略图是否分别统计)、源端数据的时间窗与导出时点。范围一旦确定,两端清单都按同一范围取数,中途不扩大也不缩小。


迁移工具的日志和失败队列可以作为线索,用来解释差额出现在哪里,但不能作为核对结论的唯一证据。日志记录的是工具认为发生了什么,清单比对反映的是两端实际存在什么,两者不一致时以清单为准并追查原因。



数量与大小各用什么指标和口径


指标定义决定了结果能不能复算。下表给出本次核对使用的核心指标、公式与单位,所有计数以“条”为单位,大小以“字节”为单位,不使用KB或MB做四舍五入后再比较。


指标 定义与公式 单位 分母与处理规则
源端附件总数 核对范围内源端清单的记录条数 条 分母为零时,本次核对不计算一致率,直接记录“范围内无附件”并附导出条件
目标端成功落库数 目标端清单中能与源端建立匹配关系的记录条数 条 以源端总数为分母
数量差额 源端附件总数 − 目标端成功落库数 条 差额需逐条归类为失败、跳过、重名合并、未匹配,不允许只报总数
逐条大小一致率 字节大小相等的已匹配记录数 ÷ 已匹配记录总数 × 100% 百分比 分母为已匹配记录数;已匹配数为零时不计算该比率
总字节差额 源端附件字节总和 − 目标端对应附件字节总和 字节 只对已匹配记录求和,未匹配记录单独列示,避免差额被两类问题混算

匹配键采用“工作项键+文件名+字节大小”的组合。加入字节大小是为了在文件名重复时减少误配,但这也带来一个副作用:如果文件被截断或损坏,大小变化会导致匹配失败,此时该记录会同时出现在未匹配清单里,需要在定位阶段区分“没迁过来”和“迁过来但大小变了”。


重名与多版本附件要单独定义口径。同一工作项下存在同名文件时,建议在匹配键中追加源端附件ID或创建时间作为区分;Jira中同一附件存在多个版本时,需明确核对的是最新版本还是全部版本,两种口径的数量结果不同,选定后写入核对说明。空附件和零字节文件按正常记录参与计数,零字节文件的大小比对结果为相等,不能因为大小为0就从分母中剔除。



源端与目标端清单怎么取、证据怎么留


两端清单必须包含可对齐的字段,否则比对无法自动化。源端清单建议导出以下字段:工作项键、附件ID、文件名、字节大小、创建时间、上传人。目标端清单按相同语义取数,字段名称可以不同,但含义要一一对应。


源端字段 目标端对应字段 用途 缺失时的处理
工作项键 工作项编号或键 匹配键组成部分,定位所属工作项 缺失则无法逐条比对,需先补齐映射关系
附件ID 附件ID或文件标识 区分同名文件与多版本 目标端无对应ID时,用文件名+创建时间替代
文件名 文件名 匹配键组成部分 注意大小写与特殊字符是否被改写,改写需记录规则
字节大小 文件大小(字节) 匹配键组成部分,大小比对依据 目标端以KB显示时需换算为字节再比较
创建时间 创建时间或上传时间 区分版本、辅助定位 时区不一致时统一换算后再比较
上传人 创建人或上传人 辅助核对,不参与匹配键 账号映射缺失时标注,不作为不一致依据

导出时点要固定并记录。源端在迁移开始前导出一次作为基线,目标端在迁移完成后、且确认没有新的上传或删除操作时导出。两端导出时间写入核对记录,后续如发现差额,先确认差额是否来自导出时点之间的增量操作。原始导出文件保留不修改,比对在副本上进行,便于复算。


字段类型不一致是常见问题,例如目标端大小字段为文本、时间字段格式不同。处理方式是先做字段清洗并记录清洗规则,清洗后的清单另存一份,原始文件与清洗规则一并归档。迁移工具日志、失败队列、重试记录作为辅助证据附在核对记录后,用于解释差额成因。



比对怎么算:从总数到逐条的四步核对


比对从总量开始,逐步收敛到具体记录,每一步都有明确输出物,便于交接和复核。


第一步,总数比对。用源端附件总数减去目标端成功落库数得到数量差额,再把差额记录逐条归类:失败(工具报错未完成)、跳过(按规则未迁移,如超限或类型不支持)、重名合并(同名文件被合并处理)、未匹配(目标端找不到对应记录)。输出物是差额分类表,每类给出条数和记录清单。


第二步,逐条匹配。按“工作项键+文件名+字节大小”在两端清单间做匹配,输出未匹配记录清单,分为“源端有、目标端无”和“目标端有、源端无”两类。前者通常是漏迁,后者可能是迁移过程中新增的文件或重复导入,需要单独确认来源。


第三步,大小比对。对已匹配记录逐条比较字节大小,输出大小不等记录清单,列出两端数值和差值。同时计算逐条大小一致率和总字节差额,作为汇总指标。


第四步,抽样验证。从已匹配且大小相等的记录中按工作项类型、文件类型分层抽样,打开文件确认可读、内容与源端一致。抽样比例根据附件总量和风险承受度确定,抽样结果记录在核对报告中。这一步针对的是字节数相同但内容损坏或截断的情形,单靠大小指标无法发现。


每步的判定规则建议事先约定:数量差额为零且差额分类表为空,数量核对通过;逐条大小一致率为100%且大小不等清单为空,大小核对通过;抽样验证未发现不可读或内容不符的文件,抽样通过。任一步不通过,进入补迁或复核流程,补迁后重新执行对应步骤。



一个可复算的核对例子


以下为演示情景,数字用于说明计算过程。某项目迁移前源端导出附件清单共1,200条,迁移完成后目标端导出清单共1,186条。经第一步归类,差额14条中:失败3条(单文件超过目标端限制)、跳过2条(类型不在迁移范围)、重名合并6条(同名文件被合并为一条)、未匹配3条(目标端找不到对应工作项下的记录)。


数量核对结果:成功落库1,186条,数量差额14条,四类差额均有记录可查。若重名合并属于可接受的处理规则,则有效迁移数为1,186+6=1,192条,剩余8条需要补迁或确认豁免。


第二步按匹配键比对,1,186条成功落库记录中有1,181条与源端匹配,5条未匹配,其中3条为“源端有、目标端无”,2条为“目标端有、源端无”。第三步对1,181条已匹配记录比较大小,1,178条字节相等,3条不等,差值分别为2,048字节、1,024字节和512字节。逐条大小一致率=1,178÷1,181×100%≈99.75%。总字节差额为这3条差值之和,即3,584字节,未匹配记录不计入该差额。


结果转化为动作:3条失败记录确认是否可通过调整大小限制后补迁;3条“源端有、目标端无”记录按工作项键定位到具体工作项,核查是否属于迁移遗漏;3条大小不等记录打开文件确认是否截断,必要时从源端重新上传;2条“目标端有、源端无”记录确认是否为迁移期间新增。补迁完成后重新导出目标端清单,对受影响记录重跑第二、三步,更新一致率与差额。



结果怎么解读,哪些情况不能算不一致


差额出现时,先判断它属于口径差异还是真实缺失。同名文件被合并、附件多版本只迁最新版、缩略图与内嵌图片是否计入附件数,这些规则如果在两端定义不同,数量差异属于口径问题,应在核对说明中写明规则后再比较,不能直接记为迁移缺陷。


导出时点不同也会造成差异。源端基线导出后、目标端导出前,如果源工作项仍有新附件上传或删除,两端清单天然存在增量差。处理方式是冻结源端写入或记录增量操作清单,把增量部分从比对中剔除并单独说明。


字节大小相等不代表文件可用。传输截断、编码变化、存储异常都可能造成大小相同但内容损坏,因此抽样打开验证是必要步骤,抽样未覆盖的部分在报告中说明覆盖范围,不把抽样通过写成全量验证通过。


单个指标不能作为迁移整体质量的结论。数量一致率和大小一致率反映的是附件维度的情况,迁移验收还涉及工作项、字段、状态、评论等维度,附件核对通过只说明附件这一项达到标准。核对完成后,把两端原始清单、差额分类表、大小不等清单、抽样记录和补迁记录一并归档,形成可追溯的验收记录。在ONES承接迁移验收的场景中,附件迁移范围覆盖工作项附件,核对产生的差异清单和复核结论可以记录在工作项或验收文档中,便于逐条跟踪补迁状态和确认结果。



常见问题


源端和目标端的附件清单导出时点不同,差额怎么处理?


先确认差额是否来自导出时点之间的增量操作。建议源端在迁移开始前导出一次作为基线,目标端在迁移完成且确认没有新的上传或删除操作后导出,两端导出时间写入核对记录。如果源端基线导出后仍有新附件上传或删除,把这部分增量操作单独列成清单,从比对中剔除并说明,再比较剩余部分。差额无法用增量解释时,才进入逐条定位。


同一工作项下有同名文件或多个附件版本,数量核对按什么口径算?


同名文件建议在匹配键中追加源端附件ID或创建时间作为区分,避免误配。多版本附件要先明确核对最新版本还是全部版本,两种口径的数量结果不同,选定后写入核对说明。如果迁移过程对同名文件做了合并处理,合并条数应作为单独一类差额列出,并确认合并规则是否可接受,再决定是否计入有效迁移数。


字节大小完全一致,是否就可以判定附件迁移没有问题?


不能。传输截断、编码变化、存储异常都可能造成大小相同但内容损坏,字节数比对发现不了这类问题。需要在已匹配且大小相等的记录中按工作项类型、文件类型分层抽样,打开文件确认可读、内容与源端一致。抽样比例根据附件总量和风险承受度确定,抽样未覆盖的部分在报告中说明覆盖范围,不把抽样通过写成全量验证通过。


迁移工具日志显示全部成功,还需要做清单比对吗?


需要。日志记录的是工具认为发生了什么,清单比对反映的是两端实际存在什么,两者不一致时以清单为准并追查原因。日志和失败队列适合用来解释差额出现在哪里,作为辅助证据附在核对记录后,不能替代两端清单的逐条比对结论。


核对发现差额后,补迁完成要重新核对哪些步骤?


补迁完成后重新导出目标端清单,对受影响的记录重跑逐条匹配和大小比对两步,更新逐条大小一致率与总字节差额,并同步更新差额分类表中对应记录的状态。如果补迁涉及文件重新上传,对这批记录重新抽样打开验证。全部更新后把原始清单、差额分类表、大小不等清单、抽样记录和补迁记录一并归档,形成可追溯的验收记录。