| | |
| | | /** 心跳行按来源唯一,用 upsert 覆盖接收时间:它承载"取数程序还在推"这一条事实。 */ |
| | | int upsertHeartbeat(TDeviceIngestRecord record); |
| | | |
| | | /** |
| | | * 拓扑行是**声明**而不是设备事实,按来源通道唯一并刷新声明内容: |
| | | * 重复上报补上来源自己的通道号时不追加新行,也不需要把已声明过的通道清掉重来。 |
| | | * 设备数据行(SAMPLE)仍然只追加、不改写。 |
| | | */ |
| | | int upsertTopology(TDeviceIngestRecord record); |
| | | |
| | | /** 返回该来源行已落库的内容摘要(小写十六进制);没有这一行时为空。 */ |
| | | String selectIngestRecordHashByKey(@Param("adapterCode") String adapterCode, |
| | | @Param("payloadKind") String payloadKind, @Param("recordKey") String recordKey); |
| | |
| | | @Param("devtype") int devtype, @Param("devid") int devid, @Param("subdevid") int subdevid, |
| | | @Param("chlid") int chlid); |
| | | |
| | | /** |
| | | * 某个来源库(厂商侧一次测试)在该通道上的全部采样行,按 (设备时间, 协议序号) 升序。 |
| | | * |
| | | * <p>推式来源没有设备侧工步层,工步与循环由这些采样行按「来源库 + 循环号 + 工步号」分段推导 |
| | | * (ADR-0067);读取范围限于一个来源库,也就是一次厂商测试,不随落地表无限增长。 |
| | | */ |
| | | List<TDeviceIngestRecord> selectSamplesOfSource(@Param("adapterCode") String adapterCode, |
| | | @Param("devtype") int devtype, @Param("devid") int devid, @Param("subdevid") int subdevid, |
| | | @Param("chlid") int chlid, @Param("sourceRef") String sourceRef); |
| | | |
| | | /** 严格晚于 (设备时间, 协议序号) 的采样行,按二元组升序;水位为空表示不取数据。 */ |
| | | List<TDeviceIngestRecord> selectSamplesSince(@Param("adapterCode") String adapterCode, |
| | | @Param("devtype") int devtype, @Param("devid") int devid, @Param("subdevid") int subdevid, |