心跳机制
一句话定义
心跳机制是设备按固定间隔向服务器发送在线信号,服务器据此判断设备是否在线、是否需要告警。
它解决什么问题
食堂里有几十台设备分布在各个窗口,管理员不可能一台台去看。心跳机制让设备主动报到:每隔一段时间发一个很小的数据包告诉服务器「我还在」。
服务器维护一张设备状态表,超过设定时间没收到心跳,就把这台设备标成离线并触发告警。这样网线被拔、设备断电、网络故障,都能在几分钟内被发现,而不是等到饭点排长队才有人报修。
心跳间隔怎么定
间隔太短:每台设备频繁发小包,网络和服务器的负担都被放大,几十台设备时问题不大,几百台时会明显。
间隔太长:设备真离线了也要等很久才发现,影响响应速度。
常见取值是 30 秒到 5 分钟。经验规则:
食堂高峰场景(设备多、不能停)—— 取 30 秒到 1 分钟,快速发现;
一般门禁点位 —— 取 1–3 分钟;
偏远低功耗点位 —— 可以放宽到 5 分钟以上,省流量。
另外,断网期间设备不会一直傻等,通常会自动缩短重连间隔(比如从 5 分钟缩短到 10 秒),尽快恢复连接。
告警阈值怎么设
不是一次心跳没收到就告警,要设一个容错次数,避免网络瞬时抖动造成误报。
常见做法:连续漏 3 次心跳才判离线。如果心跳间隔是 1 分钟,那就是连续 3 分钟收不到才告警。
更细的做法是分两级:
预警 —— 漏 2 次,先记录,不打扰人;
告警 —— 漏 3 次以上,推送微信/短信给运维。
恢复时也要做「恢复通知」,否则运维不知道问题已经解决了。
心跳能判断什么、不能判断什么
| 故障类型 | 心跳能否发现 | 说明 |
|---|---|---|
| 设备断电 | 能 | 心跳中断 |
| 网线被拔、网络故障 | 能 | 心跳中断 |
| 设备死机 | 能 | 心跳中断 |
| 读卡模块坏了 | 不能 | 心跳正常,但刷不了卡 |
| 屏幕坏了 | 不能 | 心跳正常,但看不见 |
| 语音不响 | 不能 | 心跳正常 |
所以心跳只是通讯层面的存活检测,不能替代现场巡查和业务层面的监控(比如「今天这台设备一笔消费都没有」这种异常判断)。
国万设备怎么用
国万消费机与门禁终端均支持心跳上报,管理平台可查看每台设备的在线状态、最后心跳时间、软件版本。
在此基础上还可叠加业务层告警:某台设备超过设定时长没有任何消费记录、连续出现多次读卡失败、脱网记账 条数异常增长 —— 这些都能作为运维信号,比单纯的心跳更有价值。