物模型存表
此页面用于把产品的物模型数据与「数据表设计」里的某张表关联起来,平台收到设备数据后会按映射规则自动写入数据库。
核心概念
一条映射 = 一个产品 + 一张目标表
一个产品可以同时配置多条映射(写到多张表),但每条映射只对应一张表。
写入模式:
实时:监听设备上报事件,按批量缓冲入库,对应高 QPS 实时存储场景。
定时:按 cron 周期从设备最新数据缓存中拉取并入库,对应固定频率快照场景。
页面入口
菜单:存储管理 → 物模型存表

列表说明
| 列 | 说明 |
|---|---|
| 名称 | 映射配置名称,自定义 |
| 产品 | 关联的产品 SN |
| 模式 | 实时 / 定时 |
| Cron | 定时模式专用,cron 表达式 |
| 设备范围 | 全部 / 指定 |
| 批量大小 | 实时模式专用,达到该阈值触发一次批量写入 |
| 状态 | 启停开关,支持直接拨动,无需进入编辑 |
顶部操作
新增映射:进入编辑对话框新建。
刷新缓存:手动重建运行时路由表(修改外部依赖如设备列表后可触发)。
新增映射
操作步骤
1、点击 新增映射,进入对话框。
2、填写名称、选择产品 → 系统会自动加载该产品的物模型属性和设备列表。
3、选择目标表 → 系统会自动加载该表的字段。
4、选择存表模式和设备范围。
5、配置字段映射(推荐先点击 按字段名自动匹配物模型属性 一键填充)。
6、检查无误后点击 确定 保存。新建后默认是停用状态,需要在列表里手动开启。

基础字段说明
| 字段 | 说明 |
|---|---|
| 名称 | 映射名称,建议带产品名 + 用途,便于识别 |
| 产品 | 必选;物模型字段下拉来源 |
| 目标表 | 必选;表字段下拉来源 |
| 存表模式 | 实时 / 定时 |
| Cron 表达式 | 定时模式必填,例如每 5 分钟:0 0/5 * * * ? |
| 批量大小 | 实时模式累积多少条后触发一次写入,默认 1000 |
| flush 间隔ms | 实时模式定时 flush 周期,默认 1000ms |
| 设备范围 | 全部=该产品下所有设备;指定=只对勾选的设备生效 |
| 备注 | 可选 |
存表模式
实时模式(推荐高频上报场景)
1、监听 device.up 事件总线,命中映射的设备数据进入内存缓冲队列。
2、达到 批量大小 阈值或 flush 间隔 到时,按映射独立批量 INSERT。
3、写入失败丢弃 + 打日志(不阻塞设备上报)。
4、修改配置后无需重启,路由缓存会自动刷新。
定时模式(推荐固定快照场景)
1、按 cron 表达式 调度,到点从设备最新数据缓存中拉取数据。
2、对范围内的每个设备各生成一行,一次性批量写入。
3、行操作里的 立即执行 按钮可手动触发一次(仅启用状态可见)。

Cron 表达式示例
| 表达式 | 含义 |
|---|---|
0 0/5 * * * ? | 每 5 分钟 |
0 0 * * * ? | 每小时整点 |
0 0 0 * * ? | 每天 0 点 |
0 30 8 * * ? | 每天 8:30 |
设备范围
全部:该产品下所有设备的上报都会进入这条映射。
指定:弹出多选框,勾选具体设备 SN。只勾选的设备会入库,其他设备数据被跳过。
修改设备列表后会自动刷新路由缓存,几秒内生效。
字段映射
总规则
1、以表字段为准:表里有的字段才会写入;数据里多出来的字段直接丢弃。
2、表字段没匹配上的列留 NULL(除非设了默认值)。
3、带「内置含义」的列由平台自动填充,不需要在这里再配映射(也可以配,会被覆盖)。
取值来源
| 来源 | 取值规则 |
|---|---|
| 物模型属性 PROPERTY | 从设备上报的 properties 中按物模型 identifier 取值 |
| 内置字段 BUILT_IN | 选择 ID / DEVICE_SN / DEVICE_NAME / PRODUCT_SN / REPORT_TIME / CREATE_TIME |
| 常量 CONST | 任意固定字符串/数字,所有行都写入这个值 |