先给结论:中断后的覆盖范围不能靠“扫到哪一页”来判断,而要靠任务日志里的边界记录。如果软件在中断前写入了可续跑的检查点,你就能精确知道覆盖到哪里;如果只留下进度百分比或最后访问时间,覆盖范围只能估算,且必须重新抽样验证。两种情况下后续动作完全不同,下面分开说。
支持断点续跑的自动化宣传软件,通常会在扫描过程中把已完成的单元写入一个持久化记录,比如已处理的URL清单、已抓取的页面指纹或分片编号。中断后重新打开任务,如果软件能显示“已完成N项、待处理M项”,并且这个N与日志中的最后一条完成记录一致,那么覆盖范围就是确定的。
判断依据不是进度条,而是三个可核对的证据:
三个条件都成立,才可以把已完成部分当作有效覆盖。此时的实际动作是:只对未完成部分重新发起扫描,不要全量重跑。这样做的影响是,后续比对结果不会被重复数据污染,同时节省的等待时间可以用于人工抽查已完成部分的边界样本。
假设总清单有1200个页面,日志显示已完成到第740项,检查点文件记录的最后一项是第740项对应的URL。重新扫描时从第741项开始,完成后把两段结果合并。合并前先抽查第735到745项,确认第740项前后没有遗漏或重复。如果抽查发现第740项实际未被处理,说明检查点写入有延迟,覆盖范围要向前回退到最后一个确认完成的项。
很多工具在中断后只保留一个百分比或“最后运行时间”。这种情况下,百分比本身不能作为覆盖依据,因为它可能按页面数、字节数或任务步骤计算,中断瞬间的显示值往往不是已完成量。你需要换一种方式确定范围。
可用的替代证据包括:
如果抽样发现未标记项中有一部分实际已被处理,说明中间结果不完整,覆盖范围被低估;如果已标记项中有内容缺失,说明覆盖范围被高估。两种偏差都会影响后续判断,所以抽样至少要覆盖清单的首、中、尾三段。
如果这次扫描只用于发现明显异常,比如失效链接或标题重复,估算加抽样通常够用。如果扫描结果要用于对外报告或批量修改,估算不够,必须回到有检查点的模式重跑,或者把任务拆成更小的批次,每批完成后立即落盘。这里的取舍是时间与可信度:接受估算意味着后续要花时间验证,追求确定则要在任务配置上做调整。
运营、技术、内容几个角色对“扫了多少”常有不同理解:运营看的是界面上显示的进度,技术看的是日志文件,内容看的是导出的结果条数。分歧本身不说明谁对,只说明大家引用了不同的证据源。处理方式是把每个角色的说法转成一条可核对的断言。
例如:
每条断言指定一个证据来源和核对人,核对完成后分歧自然收敛。实际动作是先冻结当前输出文件,再逐条核对,避免核对过程中任务被重启导致证据变化。核对结果决定下一步是补扫、重扫还是直接使用。
以上判断成立的前提是:原始输入清单在中断前后没有被人为修改,且输出文件的写入没有被其他任务覆盖。如果清单在中断期间被增删,覆盖范围要按修改后的清单重新计算。如果输出目录被其他批次写入,需要先按任务标识或时间戳分离数据,再判断覆盖。
另外,抓取量或处理量归零不一定代表覆盖为零,可能是输出路径变更、权限问题或任务被调度器暂停。遇到这类现象时,先检查任务状态和输出目录,再下结论。必要时应联系工具提供方确认其检查点机制的具体行为,因为不同工具的落盘时机和粒度并不相同。
最终判断标准只有一个:能否用可核对的记录复现“哪些项已完成”。能复现,覆盖范围就是确定的;不能复现,就只能估算,并把验证成本计入下一步计划。