Commit Graph

  • 180dea1845 去掉不必要的Websocket消息缓存,完善数据库初始化脚本 develop Tian jianyong 2025-06-27 17:17:19 +0800
  • cbfb56127f 将路径和包名规范化;消除循环依赖; Tian jianyong 2025-06-13 13:43:34 +0800
  • e4b7bdb8fc 实现了规则引擎、电子围栏、违规事件处理、WebSocket事件发布等核心功能 Tian jianyong 2025-06-12 22:46:30 +0800
  • a38e22553e 增加websocket消息系统 Tian jianyong 2025-06-11 18:21:43 +0800
  • 8cb36c6e11 修改 mock_server,增加无人车位置上报和信息接口; 修改无人车的位置数据获取和处理;增加机场车辆权限管理;增加机场车辆子类型; Tian jianyong 2025-06-11 16:30:25 +0800
  • 27cdf88b50 Merge pull request 'develop' (#4) from develop into main main tian 2025-06-11 03:42:30 +0000
  • 99c0865a13 创建V002迁移文件,修改测试架构和错误代码 Tian jianyong 2025-06-11 10:58:28 +0800
  • 007731b633 完善无人车位置和命令接口的实现,集成测试运行成功。 Tian jianyong 2025-06-11 10:09:54 +0800
  • 05e080cb30 1. 创建车辆位置PostGIS实体类(VehicleLocation、Aircraft、VehicleTrajectory) 2. 创建机场区域PostGIS实体类(AirportArea) 3. 创建数据库迁移脚本(表结构、索引、分区) 4. 实现车辆位置Repository接口 5. 实现机场区域Repository接口 6. 创建PostGIS车辆服务(PostGISVehicleService) 7. 创建PostGIS区域服务(PostGISAreaService) 8. 创建统一空间查询服务(SpatialQueryService) 9. 实现区域配置导入工具(YAML到数据库) 10. 重构DataCollectorService(移除内存存储) 11. 重构AirportAreaService(基于数据库查询) 12. 移除MovingObjectRepository和相关内存存储代码 13. 移除AirportAreasProperties和YAML配置加载 14. 实现Redis缓存策略 15. 数据库连接池和性能优化配置 16. 创建单元测试和集成测试 Tian jianyong 2025-06-10 18:45:54 +0800
  • 2dab04e2b9 修改了一些代码的警告错误,增加2个参考设计方案 Tian jianyong 2025-06-06 16:15:39 +0800
  • f9238e18d1 增加了基础信息管理设计方案,包括车辆、司机管理 Tian jianyong 2025-05-01 16:16:27 +0800
  • b72bdba7c0 Merge pull request 'develop' (#3) from develop into main tian 2025-04-30 06:45:39 +0000
  • 3a551f69b9 系统存在以下关键设计问题导致测试超时: 无限阻塞线程设计: 数据处理器使用 BlockingQueue.take() 方法无限期阻塞线程 缺少超时机制导致线程永远不会退出 生命周期管理不当: 使用 @PostConstruct 启动线程但没有相应的 @PreDestroy 清理机制 缺少应用程序关闭钩子,导致资源无法正确释放 线程池配置不合理: 线程池配置过大(核心10线程,最大100线程) 没有设置优雅关闭参数,导致应用关闭时线程不会终止 测试隔离不充分: 测试运行时仍尝试连接外部资源(数据库、Kafka、数据采集API) 测试配置未完全禁用不必要的服务 解决方案 我们实施了以下改进措施: 优化线程池配置: 减小线程池大小(核心5线程,最大10线程) 添加 setWaitForTasksToCompleteOnShutdown(true) 和 setAwaitTerminationSeconds(5) 配置 优化队列容量,减少内存占用 添加优雅关闭机制: 在主类添加 JVM 关闭钩子,确保资源正确释放 为服务组件添加 @PreDestroy 方法,实现自定义关闭逻辑 引入状态标志(AtomicBoolean running)控制后台线程循环 防止无限阻塞: 修改 MovingObjectRepository,添加非阻塞的 pollUpdate() 方法替代 takeUpdate() 在数据处理循环中添加超时检查,避免无限等待 优化异常处理,防止线程崩溃或 CPU 使用率飙升 完善测试环境配置: 在测试配置中完全禁用数据采集和处理服务 配置 data.collector.disabled=true 和 data.processor.enabled=false 使用 @ActiveProfiles("test") 确保测试使用正确的配置文件 添加错误处理和日志: 包装所有关键操作在 try-catch 块中,防止错误传播 添加详细日志,便于诊断问题 实现错误恢复机制,确保系统稳定性 Tian jianyong 2025-04-30 12:16:06 +0800
  • 574dfc8b40 修改了测试框架和测试用例,解决超时问题 Tian jianyong 2025-04-30 11:55:14 +0800
  • c91692a7bf Merge pull request 'develop' (#2) from develop into main tian 2025-04-30 01:33:12 +0000
  • a0d3564f84 增加了机场区域服务设计方案和基本功能框架 Tian jianyong 2025-04-29 16:49:28 +0800
  • 8357a38156 保存一些文档修改 Tian jianyong 2025-04-29 14:33:04 +0800
  • cb526cc84b 增加一些文档 Tian jianyong 2025-04-29 14:30:24 +0800
  • a534bb1012 增加了道路服务的集成测试 Tian jianyong 2025-04-21 17:25:11 +0800
  • 4a40694354 增加了道路服务的集成测试 Tian jianyong 2025-04-21 17:25:11 +0800
  • 55b1909e93 增加了道路网络设置和服务;修改了doc目录结构,增加了设计文档和说明文档;修改了版本号 Tian jianyong 2025-04-21 15:53:40 +0800
  • 08d25a6eee 更新 development_log.md 2210088963 2025-03-31 09:44:15 +0000
  • 8ff439c85d 更新 change_log.md 2210088963 2025-03-31 09:22:23 +0000
  • ce2d50130e 4 2210088963 2025-03-31 14:34:02 +0800
  • 799d748cba Merge remote-tracking branch 'origin/main' 2210088963 2025-03-31 14:32:19 +0800
  • 807b9f77db 1.重新优化了数据采集的逻辑(原逻辑存在数据不一致的问题,优化后的方案使用生产者消费者方式) 2.优化了MovingObject的数据结构 3.Websocket配置成功 2210088963 2025-03-13 10:39:05 +0800
  • a58f9fd50e 1.完成数据接入以及数据封装逻辑,但是暂未完成坐标转化逻辑。 2210088963 2025-03-13 10:39:05 +0800
  • cd4c0125a1 1.完成数据接入以及数据封装逻辑,但是暂未完成坐标转化逻辑。 2210088963 2025-03-13 10:35:48 +0800
  • 8a27fe5fa9 添加 VERSION.txt data-collecter 2210088963 2025-03-06 02:21:08 +0000
  • df7a30d061 Update change log 2210088963 2025-03-05 06:57:49 +0000
  • 7c88977428 添加 development_log.md 2210088963 2025-03-05 06:55:33 +0000
  • 4a2f1289f8 Initial commit 2210088963 2025-03-05 06:43:31 +0000