跳转到内容

数据模型

PushGo 的核心优势在于它支持三种不同的数据模型,每种模型都针对不同的通知和状态同步需求进行了优化。

Message 是最简单的模型,设计用于那些不代表持久状态的一次性通知。

  • 使用场景: 警报、聊天消息、简单的推送通知。
  • 行为: 存储在按时间顺序排列的日志中。一旦送达并查看,通常被认为是瞬态的。
  • 关键字段: title, body, priority (优先级)。

Event 代表在特定时间点发生的有状态事件或转换。

  • 使用场景: “灯已打开”、“检测到运动”、“任务已完成”。
  • 行为: 事件可以是状态的增量更新(patches)。网关和客户端可以合并事件增量来确定实体的当前状态。
  • 关键字段: event_type (事件类型), payload (负载), timestamp (时间戳), thing_id (可选的实体 ID)。

Thing 代表一个持久化的实体,例如一个物理设备、一个房间或一个逻辑任务。

  • 使用场景: 智能家居设备、服务器节点、项目任务。
  • 行为: 实体具有持久的生命周期(Active 活跃, Archived 已归档, Deleted 已删除)。它们作为事件和当前状态 (attrs) 的容器。
  • 关键字段: thing_type (实体类型), state (状态), attrs (属性,JSON 对象)。

通过选择正确的模型,你可以使用 PushGo 构建复杂的监控和通知工作流。