QDAirPortBackend0122/QWEN.md
2026-01-22 13:19:47 +08:00

4.9 KiB
Raw Permalink Blame History

QAUP-Management - 机场无人车冲突管理平台

项目概述

QAUP-Management 是一个机场无人车冲突管理平台,集成了机场冲突避免系统,提供完整的车辆管理、空间分析、实时监控等功能。该项目基于 RuoYi 框架构建,采用 Spring Boot 3.x 技术栈,使用 PostgreSQL + PostGIS 进行空间数据处理,并通过 WebSocket 实现实时通信。

核心功能特性

  1. 空间数据分析:基于 PostGIS 的空间计算和几何分析
  2. 实时车辆监控WebSocket 实时位置数据推送和展示
  3. 机场区域管理:跑道、滑行道、停机坪等区域配置和监控
  4. 冲突检测算法:实时检测车辆与飞机、车辆间的潜在冲突
  5. 数据适配器QuapDataAdapter 统一数据访问,避免重复 DAO 开发
  6. Redis 缓存:高性能数据缓存和会话管理

项目架构

这是一个采用 Maven 多模块架构的大型系统:

  • qaup-admin: Web 服务入口,集成所有模块
  • qaup-framework: 核心框架,提供通用功能
  • qaup-system: 系统管理模块,用户、角色、权限等
  • qaup-collision: 冲突避免系统模块提供空间分析、车辆监控、WebSocket 实时通信等功能
  • qaup-common: 公共工具类和基础组件
  • qaup-quartz: 定时任务调度
  • qaup-generator: 代码生成器

技术栈

  • 后端: Spring Boot 3.5.3 + Java 21 + MyBatis + JPA (Hibernate)
  • 数据库: PostgreSQL + PostGIS (空间数据扩展)
  • 缓存: Redis
  • 实时通信: WebSocket + STOMP
  • 空间计算: JTS + GeoTools + Hibernate Spatial
  • 构建工具: Maven 3.6+
  • 前端: Vue 2.6.12 + Element UI

构建和运行

开发环境准备

  1. 安装 Java 21
  2. 安装 Maven 3.6+
  3. 安装 PostgreSQL 并启用 PostGIS 扩展
  4. 安装 Redis

数据库配置

  1. 创建 PostgreSQL 数据库并启用 PostGIS 扩展
  2. 执行 SQL 初始化脚本:
    • sql/create_qaup_database.sql - 创建数据库
    • sql/create_sys_vehicle_info_table.sql - 车辆信息表
    • sql/create_sys_driver_info_table.sql - 司机信息表

环境变量配置

创建 .env 文件或设置环境变量:

POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=qaup
POSTGRES_USER=your_username
POSTGRES_PASSWORD=your_password
REDIS_HOST=localhost
REDIS_PORT=6379

编译和启动

# 清理并编译整个项目
mvn clean install

# 启动应用
cd qaup-admin
mvn spring-boot:run

# 或者运行打包后的 jar
java -jar target/qaup-admin.jar

访问系统

开发指南

核心组件说明

  • QuapDataAdapter: 数据访问适配器,连接若依系统数据
  • WebSocketConfig: WebSocket 配置,支持实时数据推送
  • VehicleLocationService: 车辆位置管理服务
  • GeopositionController: WebSocket 消息控制器
  • DataCollectorService: 数据收集服务(采集频率 250ms
  • DataProcessingService: 数据处理服务(处理频率 1000ms

服务间协作模式

QAUP-Management 采用服务完全分离的架构:

  • DataCollectorService (250ms): 只负责从外部 API 获取数据并缓存,不进行任何计算
  • DataProcessingService (1000ms): 专门负责数据处理、计算速度和方向、发送 WebSocket 消息、违规检测等

两个服务通过 activeMovingObjectsCache 共享数据,实现了采集与处理的频率分离。

空间数据处理

系统集成了完整的 PostGIS 支持:

  • 使用 JTS (Java Topology Suite) 进行空间几何操作
  • 使用 GeoTools 进行坐标转换和空间分析
  • 机场区域管理支持复杂的空间查询和冲突检测
  • 电子围栏功能支持区域准入控制和超速检测

WebSocket 消息系统

  • 位置更新消息:每秒推送车辆位置更新
  • 冲突检测消息:实时推送车辆间潜在冲突
  • 违规事件消息:推送违规行为通知
  • 消息格式统一采用 UniversalMessage 结构

版本管理

  • 当前版本: 1.0.1 (pom.xml)
  • 版本文件: VERSION.md (0.8.0)
  • 详细变更记录: CHANGELOG.md

测试和验证

  • 运行单元测试: mvn test
  • 运行集成测试: mvn verify
  • 通过 Swagger UI 验证 API 功能
  • 通过 WebSocket 客户端验证实时通信

部署配置

项目支持 Docker 部署,相关配置在 deploy/ 目录下,包含 Docker Compose 配置文件和部署脚本,支持生产环境的完全离线部署。

业务价值

  • 实时监控:提供机场车辆和航空器的实时位置监控
  • 冲突预防:通过智能算法提前检测和预警潜在冲突
  • 安全管理:电子围栏和违规检测保障机场运行安全
  • 数据驱动:提供丰富的数据支持运营决策
  • 系统集成:与机场现有系统无缝集成