中断后不要先问“跑了多少条”,而要问“哪些范围留下了可复核的完成证据”。如果扫描工具只显示进度百分比,没有逐批完成标记,那么百分比归零、进度条停住或日志最后一行缺失,都不能单独证明未覆盖;合理的解释还包括进程被强制结束、输出缓冲未落盘、任务被拆成多个分片而只中断了其中一个。判断覆盖范围,应从最后一次完整落盘的结果倒推,而不是从断点位置正推。
把“全站”拆成能逐条核对的单位,例如按目录、按URL前缀、按参数模式或按页面模板分组。对读者手里已有的页面清单或站点地图,先做一次去重和规范化,得到一份基准清单。基准清单不需要和扫描工具的内部队列一致,但必须能回答:某个具体URL是否在清单里出现过。
假设一个站点有A、B、C三个目录,扫描中断时日志显示A处理完毕、B处理到一半、C未开始。此时能确认的覆盖范围只有A,且前提是A的完成标记与输出文件同时存在。如果只有“A完成”字样而输出文件为空,就不能把A计入覆盖。这个假设用于说明比较方法,不代表任何真实项目结果。
可用的完成证据通常有三类:逐批写入的结果文件、带时间戳且连续的处理日志、以及能对应到基准清单的记录数。三类证据要交叉验证,而不是只看其中一项。
如果三类证据指向不同边界,取最保守的那个作为已覆盖范围。保守不是悲观,而是为了让下一步补扫的起点明确。
多个角色对“扫了多少”有不同理解时,分歧往往来自各自看到的界面不同:有人看进度条,有人看导出文件,有人看数据库里的记录数。解决办法不是争论哪个数字对,而是把分歧拆成可核对的项目,让每个人指出自己依据的具体对象。
完成这一步后,下一步的动作会变得具体:补扫范围由差集决定,而不是由某个进度数字决定。如果差集仍然很大,说明基准清单本身可能需要先校准,而不是直接扩大扫描范围。
重扫全部内容成本高,且可能引入重复记录。决定重扫前,先确认:中断是否影响了输出写入、工具是否支持按已完成清单续跑、以及基准清单是否在中断后发生过变化。三项中任何一项不确定,都应先做小范围验证,再决定全量重扫还是增量补扫。
一个可操作的动作是:从“状态不明”里抽取少量页面,用同一工具单独处理,观察结果能否与已有记录对齐。如果对齐,说明边界判断可用,补扫可以按差集进行;如果对不齐,说明问题出在基准清单或去重规则,此时应先修正对照单位,再谈覆盖范围。这个动作的结果直接决定下一步是补扫还是先修清单。
最终要留下的不是一句“扫完了”或“没扫完”,而是一份覆盖说明:基准清单版本、已确认覆盖的范围、确认未覆盖的范围、状态不明的范围、以及每类的判断依据。这样即使换人接手,也能从同一份说明继续,而不必重新争论中断时到底跑到哪里。
覆盖说明里应避免使用“大概”“应该”这类词,凡是无法对应到具体URL或具体批次的,一律归入状态不明。状态不明不是失败,它只是提醒下一步需要验证,而不是直接当作已覆盖或未覆盖来处理。