先别急着怀疑数据出错。账号权限不同导致结果不同,通常不是系统算错,而是两个账号能看到的对象范围本身就不一样。核对范围的第一步,是拿同一个查询对象分别用两个账号跑一遍,把差异落到具体行、具体字段上,而不是比较总数。如果差异只出现在某些站点、某些项目或某些时间区间,说明问题在数据可见范围;如果同一对象同一字段也出现数值差异,才需要继续查配置或数据源。
核对范围不能凭印象。建议选一个你手头已有的页面或项目,要求它同时满足三个条件:两个账号都能进入同一功能入口、都能看到同一条记录、查询时间区间一致。假设你选的是某个站点下的一个栏目页,查询近 30 天的收录与点击数据。这一步的关键是让两个账号面对完全相同的输入,否则后面所有比较都失去意义。
固定对象后,记录三样东西:账号 A 能看到的数据行数、账号 B 能看到的数据行数、两者都看不到或只有一方能看到的行。不要先看汇总数字,先看行级差异。行级差异才是权限范围的直接证据。实际操作中,你可以把两个账号的结果分别导出或截图,逐行比对。
差异出现的位置本身就携带信息。常见的三种情况对应不同的权限边界:
把差异位置列成清单后,下一步不是改权限,而是确认这个边界是否符合预期。如果账号 B 本来就只应负责部分站点,那么看不到其他站点是正常的,不需要处理;如果账号 B 应当看到全部站点却只看到一部分,才需要进入权限配置核对。
确认差异后,通常有两种做法,选择取决于你的目标。
路径一:扩权限。适用条件是账号承担的工作确实需要看到更大范围,且扩大可见范围不会带来数据泄露或误操作风险。代价是权限变更通常需要管理员操作,并可能影响该账号在其他模块的行为。动作上,先列出需要新增的站点或模块,再逐项授权,授权后立刻用同一查询对象复跑一次,确认新增范围与预期一致。如果复跑后差异消失,说明边界已对齐;如果差异仍在,说明授权没有生效或还有第二层限制。
路径二:缩查询。适用条件是账号职责本身有限,不需要看到全部数据,只是当前查询对象选得过大。代价是你需要重新定义查询范围,并让所有协作者使用同一口径。动作上,把查询对象限定到该账号有权限的站点或时间区间,再对比两个账号在交集范围内的结果。如果交集范围内结果一致,说明系统本身没有问题,差异纯粹来自范围。
选择的关键不是哪个更省事,而是哪个更符合账号的实际职责。职责边界清晰时,缩查询往往更快;职责确实需要扩大时,扩权限才是正解。
第一,用汇总数对汇总数。两个账号的总数不同,可能只是各自可见行数不同,不能说明任何一方数据错误。第二,忽略时间区间。一个账号查 7 天,另一个查 30 天,结果自然不同,这跟权限无关。第三,把权限差异当成数据源差异。权限差异表现为可见行不同,数据源差异表现为同一行数值不同,两者要分开处理。
还有一个容易被忽略的点:某些统计归零或抓取量下降,不能单独证明权限处理正确。归零可能来自查询区间内确实没有数据、筛选条件过严、任务未执行,也可能来自权限被收回。要区分这些原因,需要回到行级差异和任务记录,而不是只看一个总数。
完成一轮比对后,你会得到一份差异清单。根据清单决定下一步:如果差异全部落在预期边界内,记录当前权限配置作为基线,后续再出现不一致时可以直接对照;如果差异超出预期,先确认是哪一层权限导致,再决定扩权限还是缩查询。无论选哪条路,处理完都要用同一个查询对象复跑一次,确认差异消失或收敛到已知边界。这样核对范围才形成闭环,而不是每次遇到不一致都从头猜一遍。