Indice dei documenti

晚归那晚谁会被惊动

本文说明晚归当晚系统的响应机制:考勤日历产出迟归与未归状态,通知按本人、宿舍长、宿管、辅导员、院系五层逐级触发,连续未归、作息突变、同寝连带三检测器按阈值判定。

  • 晚归是迟归与未归的通俗说法,五类状态按人员业务日唯一
  • 通知链分本人、宿舍长、宿管、辅导员、院系五层
  • 默认单次迟归不告警辅导员,避免噪音淹没真异常
  • 三检测器:连续未归、作息突变、同寝连带
  • 异常按规则+学生+房间+业务日四元组去重

明·如归 · 宿舍管理白皮书 | 第五篇 旅程篇

周五晚上,李洋和室友去看了一场电影,回到学校已经 23:47。跑进 3 栋大厅时,王师傅从窗口抬起眼——不是"你怎么这么晚",是"我今晚到底要不要给你辅导员打电话"。王师傅的犹豫要讲的就是这件事:晚归那晚,系统的哪一根神经会被触动、触动之后会传导到哪里

26.1 晚归不是一条状态,是一组判定

系统里"晚归"不是"过点没睡"这么笼统。考勤日历在时间窗结束时按每个人的实际动作算,产生一组状态

  • 在寝:按时打卡 / 门禁记录显示按时进入;
  • 迟归:打卡时刻晚于时间窗结束但在"迟归容忍段"内(学校自己配的分钟数,一般 30-60 分钟);
  • 未归:既无打卡也无门禁,且没有请假 / 暂不考勤覆盖;
  • 请假:审批通过的请假单覆盖当日;
  • 暂不考勤:显式有效期覆盖当日。

"晚归"是这一组状态里"迟归 + 未归"的通俗说法。系统对两者的处理不同:迟归一般是"记一笔、不打扰别人"、未归会走通知与预警链路。

关键的一条:这五个状态在同一天的同一个人身上不会重复出现——(人员, 业务日) 唯一约束保证这一点。所有五路来源(移动自助 / 宿舍长 / 宿管 / 门禁 / 自动)都往这一条记录里合并,不新增。

26.2 谁先被惊动:五层通知链

李洋 23:47 迟归——这一刻系统里发生的事按学校配置而定。典型的一份配置是:

  • 第一层:本人。移动端立刻收到一条"你已迟归 17 分钟"的推送——不是骂他、是告诉他"数据到手了"。这一层是最不打扰人的一层;
  • 第二层:宿舍长。宿舍长手机上出现一条"512 有 1 人未归"的提醒——宿舍长是"要不要现在敲一敲那个还没睡的室友问一下"的那个人
  • 第三层:本楼栋宿管。王师傅的平板上"5 层未打卡 1 人"变成"5 层迟归 1 人"——王师傅今晚不需要爬楼了
  • 第四层:辅导员。连续迟归 3 天或累计 5 次以上,触发一次给辅导员的合并通知——不是一天一条把人淹了
  • 第五层:院系副书记 / 学工部。仅当出现"连续未归 ≥ N 天"这种真异常时——走的是下一章讲的三检测器之一。

这五层是"通知链配置"里的具体项——每一层能不能通知、什么条件下通知、通知走哪个通道(站内 / 企业微信 / 邮件 / 小程序),都是批次表与消息模板里的字段。

这套系统的克制之处:默认配置下,一次迟归不惊动第四第五层——因为学生偶尔一次晚归不值得让辅导员被叫起来。学校可以调整这个阈值,但默认值定在"不骚扰"比定在"什么都通知"更符合学生利益

26.3 王师傅在窗口的那三秒在想什么

王师傅看到 23:47 冲进来的李洋——他的犹豫就是三秒:"要不要给他辅导员打个电话?"

这三秒在系统里被翻译成一个具体问题:"李洋这个人 + 今天这一晚 + 迟归这个状态,触发不触发对第四层的告警?"。系统的答案是"不触发"——因为按当前批次配置,迟归单次不告警辅导员

这一条不是给王师傅减负、是给王师傅"授权":他可以在窗口里对着李洋点一下头、回去继续看他的平板;不用打电话、也不用担心"如果我不打、出了事算谁的"。因为系统里已经留下了完整记录——"某某时刻迟归 17 分钟、王师傅看到、无异常"。这条记录就是"如果后面真出事,回溯到今晚,王师傅已经做了他该做的事"的证据。

这套系统对基层工作人员的最大价值不是"替他做决定"、是"给他的决定留下凭据"

26.4 连续三天不回:三检测器什么时候会亮

李洋有一次周末连三天不回宿舍——"连续未归"是归寝异常检测器之一。它的规则是:

  • 时间窗口:近 N 个考勤日(默认 3 天);
  • 判定条件:连续 N 天全部为"未归"(不是迟归、是未归),且都没有请假 / 暂不考勤覆盖;
  • 排除:学期范围外不算、调休假日不算;
  • 去重键:(规则 = 连续未归, 学生, 房间, 业务日)——同一天同一学生同一房间不会重复产生异常。

触发之后走第五层通知:院系副书记、学工部、保卫处各收到一条合并告警——不再是"某某同学昨晚未归"、是"某某同学已连续 3 天未归、期间没有任何请假记录、需要联动核查"

这条通知的分量不一样——它是那种"辅导员会立刻放下手头的事打电话给家长"的通知。系统对这件事的把握是:不轻发,一次发就是真该发的

26.5 作息突变:那条更细的神经

李洋平时 22:20 到寝、23:00 前一定打卡。某个星期他突然连续四天都在 24:00 之后回来——没有一天算"未归"(时间窗内还是打了卡),但作息完全变了

这就是归寝异常检测器之二:"作息突变"。规则是:

  • 基线:个人过去 14 天有效打卡的中位数时刻;
  • 判定:当晚打卡时刻与基线偏差 > 90 分钟;
  • 门槛:至少 5 条有效基线样本;不满足则不判定。

注意它用的是"打卡更新时刻"而不是"门禁时间"——因为门禁可能因设备问题不准,打卡是学生自己按的、更能反映"他意识到自己回到宿舍"的那一秒。这一条是这套系统对细节的诚实:它不承诺"知道你几点进的门",它承诺"知道你以为自己几点回来了"。

触发之后走第三第四层通知(宿管 + 辅导员),不走第五层——因为作息突变不等于危险,但值得关注。它是那种"辅导员这周找理由跟他聊两句"的信号,不是那种"打电话给家长"的信号。

26.6 同寝连带:三个人一起不回

归寝异常检测器之三:"同寝连带"。规则:

  • 同一房间当天未归人数 ≥ K(默认 2);
  • 排除:请假 / 暂不考勤覆盖的人不算未归;
  • 触发条件:"三个室友一起不回"是常见信号——他们可能一起出去玩了、也可能一起出事了。

这条检测器的价值不在"发现异常"、在"降低误报"。三个学生各自连续未归 3 天是三条告警;同一间房三个人同时未归是"一起出去玩了"、不是"三个人同时出事"。系统对后一种场景的处理是"合并成一条同寝连带",不重复触发个人的连续未归告警。

26.7 三检测器共用的三条纪律

  • 四元组去重:(规则 + 学生 + 房间 + 业务日) 唯一,重复触发不新增;
  • 优先级合并:同一天同一学生同一房间,如果同时命中"连续未归"与"同寝连带",走优先级更高的那条;
  • 手动执行入口:所有检测器都可以"立即执行一次"——不用等定时;这一条给管理员留出兜底路径。

26.8 给学校的一件事

学期中段,问你的辅导员:"上个月你收到几条迟归告警?几条真去找过学生?"

如果他答"上百条、没找过几个"——你的通知阈值配得太敏感、把辅导员训练成不看消息了。这是最糟糕的状态:真出事的那一条也埋在噪音里

如果他答"一条都没有、也没自动告警"——要么你的检测器阈值配得太松、要么根本没接上数据源。这一样糟糕。

健康的状态是:辅导员每月收到 5-10 条告警、每一条都对应一次他真实去找过学生的动作。这个数字不是系统能给的、是学校自己调出来的——系统给了每一个可配置的旋钮,学校要拧到自己那所学校的舒适位

晚归那晚真正被惊动的应该不是王师傅、不是辅导员的手机——是那条被认真处理的数据记录。因为它意味着:所有该发生的事都发生了、所有该留痕的都留痕了、第二天太阳升起来时没有人需要"猜"昨晚发生了什么。