定义
批量上报(Batch Report)指物联网设备将多条采集数据(如多条遥测记录、多个事件、多台子设备数据)在本地缓存后,打包成一批(Batch)一次性通过 数据回传 至云平台或数据中心的传输方式。与单条实时上报相比,批量上报可减少连接建立次数、降低协议开销、提高传输效率,适合对实时性要求不高的 数据采集 场景。
批量上报通常与 差分上报、数据压缩 结合使用,进一步降低流量与成本。跨境场景下,批量上报可减少跨境数据传输频次,并支持弱网下的断点续传与重试。
技术特点与架构
批量上报架构包括:本地缓存——设备将数据写入本地存储(Flash、SD 卡等),按条数、时间或大小触发批量;打包与压缩——将多条数据序列化为 JSON、Protobuf 等格式,可选 数据压缩;传输——通过 HTTP/MQTT/CoAP 等协议一次性上传;平台解析——平台接收后解析批量、逐条入库。可配置批量大小、超时触发、失败重试等策略。
与 异常上报 配合:异常事件可实时上报,常规遥测采用批量上报,实现流量与时效的平衡。跨境部署时,批量上报需考虑数据合规与跨境传输限制。
在物联网与跨境场景中的应用
批量上报广泛应用于:智能表计——电表、水表将多日用量数据批量上报,降低抄表流量;工业采集——产线设备将多台设备、多参数数据批量上报;物流追踪——追踪器将轨迹点、状态变化批量上报,跨境物流可减少漫游流量;能源监控——多路电表、传感器数据批量上报。跨境充电桩、海外工厂等场景均可通过批量上报优化流量成本。
达希物联支持批量上报的灵活配置与平台对接,助力跨境物联网项目的成本优化与数据高效回传。
批次到达时间不是采样时间
批量上报是终端把多条已经产生的记录打成一个包再发送,用来减少建连次数和协议头开销。包里的每一条仍是独立记录,必须自带采样时间、序号和测点标识。平台拆包后按这些字段入库,而不是按整个包的到达时刻给每条记录盖同一个时间。国际漫游时,终端可能等信号恢复才把几个小时的记录一次送出,若入库时间被写成到达时间,曲线会在恢复联网的那一分钟堆成一根竖线,跨境对账和轨迹都会错位。
使用它的前提是业务容忍延迟。抄表、轨迹抽稀、能耗统计可以按条数或按时间封包;开盖、急停、支付结果不应等包凑满。封包条件要同时有条数上限、时间上限和体积上限,避免弱网下包大到一次传不完。终端侧队列满时要有明确策略:丢弃最旧的普通采样,还是拒绝新的采样,不能默默覆盖未发送的异常。重传必须带批次号,平台按批次号加记录序号去重,只重传失败的那一次,不能把已入库的记录再写一遍。漫游会话若经常在几十秒后被回收,单包应能在一次会话里传完,否则每个包都只成功一半。
安全事件被放进凑批队列
常见错误是所有数据共用一个凑批队列。防拆和断电要等满五十条才发送,现场已经结束,平台才看到事件。另一类错误是重传整个文件,平台没有去重,电量和轨迹被重复累计。还有一类是用上传时间排序,设备在隧道里积压的记录被画到出隧道之后,电子围栏因此误判。压缩或编码版本不写进包头,平台用旧解析器读新包,会把后半段当成噪声丢掉,表面像是设备漏报。
跨境时区还会让本地时间与世界时混在一个包里,相邻记录看起来回拨。批次成功只代表传输层收到,不代表每条都通过了校验;校验失败的记录若被整包丢弃,已经正确的记录也要重传。应把普通采样和紧急事件分成两条路径,紧急路径即时发送并等待ACK。包内时间戳要统一到世界时,并在跨境设备上核对与一卡多国切换前后的序号是否连续。
包头应写明记录条数、编码版本和时间标准,平台拆开后核对条数,不一致就整包拒绝并让终端保留副本。体积上限要按较差的漫游上行、在一次会话里能够传完来设定,不能按实验室带宽。紧急事件单独成包时也要占用序号,避免与普通批次撞号。平台的重复检查要跨包进行,因为终端可能把失败批次拆小后重发,同一记录号会出现在两个包里。