RFID 中间件架构:设备层与业务逻辑的分界线画在哪
RFID 中间件架构:设备层与业务逻辑的分界线画在哪
架构设计

RFID 中间件架构:设备层与业务逻辑的分界线画在哪

中间件的职责,是把一串读取事件变成可供业务采信的记录。架构分层、缓冲、过滤、去重与回放,决定了 ERP 看到的是真相还是一团拥堵。

9 min· By SpidersRFID Editorial Team

读写器和 ERP 之间有一层没人愿意认领的东西:中间件。它每分钟接收成千上万条原始读取事件,其中大多是重复的,却必须产出少数几条财务与运营都能采信的业务事实。

架构做错,症状会伪装成硬件故障——重复的库存移动、过期的数量、乱序到达的事件,或者「平时好好的,网络一抖就崩」的通道门。

中间件到底该干什么?

五件事,其中只有第一件跟读写器通信有关。

  • 设备抽象:跨厂商管理读写器、天线、功率、Session 与固件。
  • 事件规范化:把厂商私有读数转成统一结构,含读写器、天线、时间戳、RSSI 与 EPC。
  • 过滤与去重:把同一区域同一标签的重复读取合并成一个逻辑事件。
  • 业务增强:附加库位、方向、单据或托盘上下文。
  • 可靠投递:缓冲、重试、回放,让 ERP 永远看不到残缺画面。

不属于这五件事的,都是业务逻辑,属于应用层,不属于中间件。

四个层次怎么分?

可行的划分是设备层、边缘层、业务层、集成层。名字不重要,边界才重要。

  • 设备层:LLRP 或厂商 SDK、读写器配置、天线清单、固件状态。
  • 边缘层:部署在现场,本地缓冲,执行区域规则,扛住断网。
  • 业务层:去重窗口、会话逻辑、方向推断、异常规则。
  • 集成层:ERP/WMS 适配器、幂等 API、映射表、审计日志。

最常见的架构错误是把去重放在集成层。它因此跑在缓冲之后,一次回放就会产生重复的业务单据。

LLRP 在哪里有用,在哪里反而碍事?

LLRP 是读写器配置与标签上报的标准协议,多厂商环境下是正确的抽象:一个驱动、一套数据模型、一条配置路径。

但它不是万能答案。某些厂商特性——高级天线切换、读写器端过滤、自定义标签数据——只通过私有 SDK 暴露。混合设计很正常:用 LLRP 覆盖标准的那 80%,用厂商 SDK 处理特定的 20%,两者藏在同一内部接口之后。

  • 配置、盘存控制与标准标签上报走 LLRP。
  • LLRP 表达不了的能力走厂商 SDK。
  • 绝不能让厂商 SDK 泄进业务层,必须包起来。

缓冲与离线该怎么设计?

网络会断。一个断连 30 秒的通道门,不能丢掉 500 条读取。

边缘层需要带持久化的本地队列,容量至少覆盖一个班次,并明确写清「队列满时怎么办」:丢最旧、丢最新,还是阻塞产线。阻塞产线通常不可接受,所以要显式定义,而不是等它发生。

  • 持久化本地队列,静态加密。
  • 容量规划:峰值每小时读取数 × 自治小时数。
  • 溢出策略显式化,并有文档、有测试。
  • 回放时用幂等键,避免重复创建单据。

实际用到哪些过滤与去重规则?

三条规则覆盖多数现场,而且应当可配置,而不是写死在代码里。

时间窗去重:同一 EPC 在同一区域 N 秒内只算一次。方向去重:一个 EPC 在窗口内先出现在入口天线、后出现在出口天线,就合并为一次移动,而不是两条独立读取。状态抑制:如果 ERP 中该物品已在目标库位,这条读取就是空操作。

  • 窗口长度取决于流程:通道门 2–5 秒,货架扫读 30–60 秒。
  • 方向推断需要天线级 RSSI 或时序,不能只看时间戳。
  • 被抑制的事件要留审计,不要静默丢弃。

中间件需要哪些监控?

中间件是你最早能看到真相的地方,所以要埋点。

追踪每支天线的读取率、从读取到 ERP 落账的事件延迟、队列深度、重试次数与去重抑制比。按趋势告警,而不只是按故障告警:队列深度缓慢上升,往往是磁盘将坏或积压在增长,比宕机早好几个月。

  • 每支天线的读取率与漏读率时间序列。
  • 端到端延迟 p95,不是平均值。
  • 队列深度与回放次数。
  • 读写器固件与配置漂移。

结论

中间件存在的意义是把噪声变成事实:抽象设备、规范化事件、过滤去重、业务增强、可靠投递。把去重放在缓冲之前,把厂商代码关进接口之后,在网络来考验你之前就定义好离线行为,并把这一层埋好点——让劣化在「修起来还便宜」的时候就被看见。

Odoo RFID 集成一站式方案

我们使用 Cookie 来提升您的浏览体验、分析网站流量并个性化内容。点击“接受全部”即表示您同意我们使用所有 Cookie,您也可以选择“仅必要 Cookie”。详情请参阅我们的 隐私政策 以了解更多详情。