实现 Ticket04:采集器辅助测量与登记入口,拆除开发模拟器
采集器辅助测量与登记(真实设备下可用)
- 推式来源的辅助测量改由来源实例 source_config.auxiliaryMetrics 声明:
列名、指标编码、单位与采集器通道都写在配置里,适配器只按声明从落地行的
原始载荷取值,交出携带该行自己设备时间的扩展测量。没有声明就返回空值——
22 所环境量列的语义与量纲尚未现场确认,生产配置里默认没有这一项,
未确认前不按列名推断语义(已记入现场清单与缺口台账)。
- 采集器登记不再要求发现候选(唯一生产者是开发模拟器),改为手工登记
设备编码与名称并链接所属来源实例,IP/MAC 可留空;在线状态改由所链接
来源实例的连接结果派生(ADR-0063 的同一口径),登记表的存储列不再是该事实来源。
- 直连来源如实反映「无辅助数据」:来源可达而没有辅助测量时标注
auxiliaryDataAvailable=false,不再把采集器来源恒显示为离线并持续报离线异常。
- 候选机制整体拆除:DeviceDiscoveryCandidateStore 去掉采集器候选、快照与
替换方法,删除 ICollectorDiscoveryService、DiscoveredCollectorVo、候选端点与
两个只服务候选的 Mapper 方法;Redis 存储读到历史 collectors 字段只忽略不回写。
- 补端到端断言:采集器辅助测量落成自己的轮询槽位行,柜端身份与设备时间为空,
不与检测柜记录伪造配对。
拆除开发模拟器
- 删除 battery-device-simulator 模块、dev-simulator profile 的全部装配与调度、
控制入口(控制器、WebConfig、控制页面)、两个 pom 里的 simulator 相关 profile;
默认 profile 说明与调度器注释同步更正,无来源时用无设备实现启动。
- 依赖模拟器的测试删除或改用替身;DevelopmentSimulatorProfileContractTest 因不再
与模拟器相关而改名为 DefaultSpringProfileContractTest。
- 新增 scripts/clear-simulator-development-data.sql:按定点身份先查引用后删设备行,
并给出 Redis 键清单;脚本尚未执行(业务库与 Redis 不在本机),已在缺口台账写明。
跨来源查询纪律核对(当场补齐两条)
- NewareMysqlAdapter 的唯一查询入口给每条语句设 setQueryTimeout,原本只有
JDBC URL 里的 socketTimeout(只管单次读)。
- ReadOnlyVendorDataSource 增加加锁子句拦截:加锁读以 select 开头原本会被当成
查询转发,而它真的会阻塞厂商写入。
- 另开单两条并记入缺口台账:samplesSince 按无索引列排序、新增来源的纪律没有
默认落点(需把只读防线与厂商连接构造器上移到 battery-device-api)。
验证:后端全量 mvn clean test 328 项通过(api 7、business 22、bts 25、neware 27、
ruoyi-admin 247 含 4 跳过),0 失败。