1. 课程导入与农业物联网数据全景
在智慧农业系统中,数据并不是凭空产生的,而是由分布在田间的各类感知与执行设备持续“写入”的。理解农业物联网的数据全景,是设计存储方案与查询策略的起点。本节先建立一张“数据地图”:数据从哪里来、长什么样、有多少、变化有多快,以及这些特征会给存储与查询带来哪些现实挑战。
一、四类数据来源与它们的数据形态
农业物联网的数据来源大致可以归为四类,它们的数据形态差异极大,直接决定了后续存储选型。
- 传感器:土壤温湿度、pH、电导率、空气温湿度、光照、CO₂浓度等。典型特征是高频、小体积、强时序,例如一个土壤墒情节点每 10 分钟上报一次,一天就是 144 条记录。
- 执行器:水泵、电磁阀、卷帘机、风机、补光灯。它们产生的是状态与动作记录,如“阀门 A 于 09:15 开启、09:42 关闭”,数据量小但业务含义重,是溯源与能耗分析的关键。
- 摄像头:可见光与红外图像、定时抓拍或视频流。特征是大体积、非结构化,一张 1080P 抓拍图约 200KB~1MB,若每 15 分钟抓拍一次,单路摄像头一天约 100~200MB。
- 气象站:风速风向、降雨量、辐射、气压等。介于传感器与专业观测之间,通常分钟级采样、需长期留存,用于农事决策与灾害回溯。
除上述四类,还有一类容易被忽视但贯穿全局的数据——元数据:设备编号、地块编号、作物品种、传感器安装深度、标定系数、采集时间戳与质量标记。元数据本身很小,却是把海量原始数据“解释清楚”的钥匙。没有元数据,一条 25.3 的湿度读数毫无意义;有了“地块 B3、20cm 深度、2024-06-01 08:00、质量正常”,它才成为可用信息。
二、数据量级:先算一笔账
存储方案不能凭感觉选,先做容量估算。假设一个 500 亩的园区,部署 60 个土壤墒情节点(每节点 3 层深度、每层 3 个参数)、8 个气象站、20 路摄像头、30 台执行器。
- 传感器:60 节点 × 3 层 × 3 参数 = 540 个测点,每 10 分钟一条,单条按 60 字节计,日增约 540 × 144 × 60 B ≈ 4.7 MB,年增约 1.7 GB。
- 气象站:8 站 × 12 参数 × 每分钟一条,日增约 8 × 1440 × 12 × 60 B ≈ 83 MB,年增约 30 GB。
- 摄像头:20 路 × 每 15 分钟一张 × 300KB,日增约 20 × 96 × 300KB ≈ 576 MB,年增约 210 GB。
- 执行器与日志:量级很小,年增通常在百 MB 级。
可以看到,数值型时序数据其实很“轻”,图像才是容量主力。这一结论直接影响架构决策:时序库可以放心长期保留原始精度,而图像必须做生命周期管理(如近 30 天热存、之后转低频存储或按事件保留)。以上数字为教学示例假设,实际项目应按真实采样频率与设备数量重算。
三、从数据特征推导存储与查询目标
把上面的特征归纳起来,本节要建立的四个目标是:
- 写得住:面对持续、并发、可能乱序到达的上报,写入不能丢、不能阻塞。弱网环境下设备会缓存后补传,存储层需支持按“设备号 + 时间戳”幂等去重。
- 查得快:农业查询几乎都带时间范围和空间范围,例如“查 B3 地块近 7 天 20cm 深度土壤湿度,按小时平均”。这要求数据按时间分区、按地块/设备建索引。
- 存得省:冷热分层 + 降采样归档。原始分钟数据保留 90 天,之后聚合为小时均值长期保存,既满足回溯又控制成本。
- 可追溯:每条数据要能回答“谁、在哪、何时、什么条件下”产生。元数据与质量标记必须与数据同生命周期保存,不能事后补录。
一个实用的判断原则:先问“这条数据将来会被谁、以什么条件查”,再决定存哪、存多久、存多细。查询模式决定存储结构,而不是反过来。