野外种植等行业外业调查中,数据采集周期长、手工采集空间拓扑关系极易出错、外业巡检过程难监管等痛点,平台旨在建立一套“外业精准采集、智能空间拓扑校验、移动端低功耗高频上报、大屏端效能监控”的全生命周期数字化闭环监管系统。
【核心功能模块】
图斑在线编辑与空间联动模块:支持外业人员在线拆分、挖洞、合并图斑,利用 PostGIS 空间数据库实现相邻要素共边界的拓扑自适应级联更新(Topology Linked),防止边界重叠缝隙。
外业实时定位与轨迹回放模块:支持万人并发下的移动端高频定位上报、离在线状态自动判定以及历史轨迹的高性能平滑回放。
空间越界实时预警模块:基于责任网格机制,自动判定外业人员是否跨区作业并实时通过红色闪烁报警高亮提示。
效能全景大盘:提供多维度数据透视,直观展示实时在线率、审批办结态势与街乡工作效率排行。
【业务流程与路径】 移动端定位点通过 MQTT 轻量长连接高频发布 -> EMQX 中间件转发 -> 后端 Redis 缓存实时位置并异步分批持久化至 PG -> 空间拓扑引擎实时使用空间算子比对边界 -> 前端可视化大屏(Web 页面)以 10 秒为周期轮询最新位置和越界状态
【整体架构与技术栈】
后端基于JDK 21虚拟线程与Spring Boot 3。调优HikariCP连接池参数(最大连接80,5s超时快速失败)。采用PostgreSQL 18 + PostGIS空间扩展支持空间计算,EMQX承载MQTT协议进行高并发终端定位异步解耦,并引入Redis Hash缓存人员最新坐标与在线哨兵。
【我负责的模块与量化结果】
1.读优化:针对大屏高频轮询,在Spring中设计基于volatile的30秒本地用户信息缓存快照。阻断了对用户表的全表扫描,使数据库物理查询频次直降90%以上,吞吐量提升5倍。
2.写优化:针对海量点位频繁写入,设计内存攒批结转机制。后端异步消费并攒批,在SQL数据库端直接调用ST_SetSRID(ST_MakePoint(lng,lat),4490)批量写入,降低80%数据库交互次数。
【踩过的技术难点与解决方案】
1.非核心业务异常导致主空间事务崩溃:图斑拆分(挖洞)中,照片迁移或Flowable流程启动超时报错会引起主事务物理回滚。解法:利用TransactionSynchronizationManager将非核心业务延迟到主事务commit后的afterCommit阶段执行,实现事务解耦。
2.高频定位更新与自动清理时的竞态误删:清理线程与定位上报多线程竞态,常规map.remove误删状态引发内存虚高。解法:改用computeIfPresent双重原子校验清除机制,比对最新时间戳,消除了线程竞态与内存泄露。
3.高并发空间越界判断(Point-in-Polygon)拖垮CPU:高频ST_Contains计算极耗CPU。解法:在SQL中利用(qxmc||xzqmc)做非空间字段粗筛,缩减比对范围,同时对geom字段建立GIST二维空间索引,使越界计算响应时间由百毫秒压缩至5毫秒以内。