先看中断前最后一批结果是否已经落盘,再看扫描日志里最后成功处理的页面标识。如果两者一致,已覆盖范围可以按“最后成功标识”之前的全部记录估算;如果不一致,应把最后一批结果整体视为不完整,从该批次的起点重跑,而不是从断点继续。
判断依据不是扫描进度百分比,而是数据写入与任务推进是否同步。可以按下面两种条件区分。
选择依据是写入方式,不是工具名称。具体某个工具是逐条写还是整批写,需要在其导出文件或日志里核对,不能凭界面上的进度条推断。
中断后不要先看总数,先做三组对照。
这里有一个容易被误读的现象:结果数量突然归零,并不一定代表扫描失败。也可能是该批查询恰好没有匹配项、过滤条件临时收紧,或者写入被延迟。要区分这些解释,可以查看同一时间段的日志级别和过滤配置,而不是直接判定工具出错。
假设某次扫描计划处理一万个页面,中断时日志显示已处理六千二百个,结果文件里有六千一百五十条记录,且最后一条记录的页面标识与日志不一致。按前面的条件判断,这属于按批写入且尾批不完整的情况。实际动作是:删除标识大于等于第五千九百条对应页面之后的全部记录,从该位置重跑。结果是已覆盖范围收窄到五千九百个页面,但边界可信,后续去重和补跑都能对上账。如果直接按六千二百续跑,残缺批次会被跳过,缺口会一直留在最终结果里,直到下游统计出现异常才被发现。
为了让下一次中断仍可判断,重跑前应把以下内容写进任务记录:本次扫描的页面清单版本、过滤条件、写入方式、最后成功页面标识,以及中断时间点。这样下次中断时,判断依据是同一套字段,不需要重新推断。缺少其中任何一项,覆盖范围就只能靠抽样反推,可信度会下降。
还要注意一个例外:如果扫描对象本身在中断期间发生了变化,比如页面被删除或新增,那么即使边界标识正确,已覆盖范围也只是针对旧清单成立。此时应重新生成页面清单,再决定重跑范围,而不是沿用中断前的边界继续。
如果这次扫描只是用来做初步筛选,后续还有人工复核或第二轮精扫,那么把整个尾批重跑一遍的成本通常低于反复核对边界的成本。判断标准是:重跑一批的耗时是否明显小于核对与修补缺口的耗时。若两者接近,选择重跑更稳妥,因为它的结果边界天然清晰。反之,如果扫描量很大、单批耗时高,才值得花时间精确定位最后成功标识,做增量续跑。