# xgrid **Repository Path**: jcokee/xgrid ## Basic Information - **Project Name**: xgrid - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-31 - **Last Updated**: 2026-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 网格通数据任务项目文档 ## 项目概述 本项目是一个基于 Django 框架开发的网格通数据任务管理系统。该系统旨在提供高效的网格数据处理、分析和可视化功能,帮助用户更好地管理和利用网格通信数据。 ## 系统功能 1. **数据采集**:支持多种来源的网格通信数据采集 2. **数据处理**:提供数据清洗、转换和标准化功能 3. **任务管理**:支持创建、分配、监控和管理数据处理任务 4. **数据分析**:内置多种数据分析工具和算法 5. **可视化展示**:直观展示数据分析结果和网格状态 6. **用户权限管理**:多级用户权限控制 ## 技术架构 - **后端框架**:Django - **数据库**:PostgreSQL/MySQL - **前端技术**:HTML, CSS, JavaScript, Vue.js - **数据处理**:Pandas, NumPy - **可视化**:Matplotlib, Echarts ## 项目结构 ``` myproject/ ├── manage.py # Django 项目管理脚本 ├── mysite/ # 项目配置目录 │ ├── __init__.py │ ├── asgi.py # ASGI 配置 │ ├── settings.py # 项目设置 │ ├── urls.py # 主 URL 配置 │ └── wsgi.py # WSGI 配置 ├── grid_data/ # 网格数据应用 │ ├── __init__.py │ ├── admin.py # 管理界面配置 │ ├── apps.py # 应用配置 │ ├── migrations/ # 数据库迁移文件 │ ├── models.py # 数据模型 │ ├── tasks.py # 异步任务 │ ├── tests.py # 测试 │ ├── urls.py # 应用 URL 配置 │ └── views.py # 视图函数 ├── task_manager/ # 任务管理应用 │ ├── ... ├── user_auth/ # 用户认证应用 │ ├── ... └── templates/ # HTML 模板 ├── base.html ├── dashboard.html └── ... ``` ## 数据模型设计 ### 网格数据模型 (GridData) - 网格 ID - 时间戳 - 位置信息 - 数据类型 - 数据值 - 状态 ### 任务模型 (Task) - 任务 ID - 任务名称 - 任务类型 - 创建时间 - 开始时间 - 结束时间 - 状态 - 优先级 - 关联用户 ### 用户模型 (User) - 用户 ID - 用户名 - 密码 - 角色 - 权限 ## 安装与部署 1. 克隆项目代码 2. 创建并激活虚拟环境 3. 安装依赖:`pip install -r requirements.txt` 4. 配置数据库连接 5. 执行数据库迁移:`python manage.py migrate` 6. 创建超级用户:`python manage.py createsuperuser` 7. 启动开发服务器:`python manage.py runserver` ## API 接口 ### 数据接口 - `GET /api/grid-data/` - 获取网格数据列表 - `POST /api/grid-data/` - 创建新的网格数据 - `GET /api/grid-data//` - 获取指定网格数据详情 - `GET /api/grid-data/page/` - 获取网格分页数据 - `PUT /api/grid-data//` - 更新指定网格数据 - `DELETE /api/grid-data//` - 删除指定网格数据 ### 任务接口 - `GET /api/tasks/` - 获取任务列表 - `POST /api/tasks/` - 创建新任务 - `GET /api/tasks//` - 获取特定任务详情 - `PUT /api/tasks//` - 更新特定任务 - `DELETE /api/tasks//` - 删除特定任务 ## 使用指南 1. 登录系统 2. 在仪表盘查看概览信息 3. 创建新的数据处理任务 4. 监控任务执行状态 5. 查看和导出数据分析结果 ## 开发计划 1. 第一阶段:基础功能开发(数据模型、用户认证) 2. 第二阶段:任务管理系统开发 3. 第三阶段:数据分析和可视化功能开发 4. 第四阶段:系统优化和性能提升 5. 第五阶段:移动端适配和 API 完善 ## 联系方式 如有任何问题或建议,请联系项目管理员。 ## 启动服务器 ### 方法一:使用启动脚本 运行以下命令启动服务器,并监听所有网络接口(0.0.0.0): ```bash # 启动服务器,默认端口8000 python start_server.py # 或指定端口 python start_server.py 8080 ``` ### 方法二:直接使用Django命令 ```bash # 启动服务器并监听所有网络接口,端口8000 python manage.py runserver 0.0.0.0:8000 # 或指定其他端口 python manage.py runserver 0.0.0.0:8080 ``` ### 方法三:后台运行(推荐) 在Windows系统上,您可以使用提供的批处理文件在后台运行服务器: ```bash # 在后台启动服务器,日志将保存到logs目录 start_server.bat # 停止后台运行的服务器 stop_server.bat ``` ### 方法四:安装为Windows系统服务(需要管理员权限) 如果您希望服务器开机自启动并始终在后台运行,可以将其安装为Windows系统服务: 1. 下载安装NSSM工具:http://nssm.cc/download 2. 将nssm.exe添加到系统PATH环境变量 3. 以管理员身份运行`install_as_service.bat` 服务安装后,可以通过以下命令管理: ```bash # 启动服务 net start DjangoXGridServer # 停止服务 net stop DjangoXGridServer # 卸载服务 nssm remove DjangoXGridServer ``` 服务器启动后,可以通过以下地址访问: - 本机访问:http://localhost:8000/xgrid/ - 局域网访问:http://<您的IP地址>:8000/xgrid/ # 网格服务器启动和端口管理工具 本工具集用于解决服务器启动时可能遇到的端口占用问题,并提供便捷的启动方式。所有脚本文件已整理到`scripts`文件夹中,使项目结构更加清晰。 ## 文件结构 - `start.bat` - 快捷启动脚本,位于主目录,用于启动服务器管理菜单 - `scripts/` - 包含所有服务器管理脚本的文件夹 - `start_menu.bat` - 图形化启动菜单,集成所有功能 - `start.vbs` - 主启动脚本,会自动进行环境清理并启动服务器 - `start_auto.vbs` - 全自动启动脚本,自动检测并释放端口,无需用户交互 - `auto_start.bat` - 自动检测并释放端口的批处理脚本,然后启动服务器 - `start_server.bat` - 服务器启动批处理文件,包含端口检查功能 - `cleanup.bat` - 全面的系统清理工具,可终止占用端口的进程和Python进程 - `check_port.vbs` - 交互式端口检查工具,可手动检查并清理端口 - `debug_vbs.vbs` - 系统诊断工具,用于排查脚本执行问题 - `free_port.bat` - 用于快速释放被占用端口的工具 - `show_server_info.bat` - 显示服务器信息的工具 - `clean_logs.bat` - 清理日志和Python缓存文件的工具 ## 使用方法 ### 快速启动(最简单) 双击主目录中的`start.bat`文件,将自动启动服务器管理菜单。 ### 使用图形化启动菜单(推荐) 1. 双击`scripts`文件夹中的`start_menu.bat`运行图形化启动菜单 2. 在菜单中选择所需功能: - **全自动启动服务器** - 自动检测并释放端口,然后启动服务器 - **常规启动服务器** - 启动前清理环境 - **检查并释放端口** - 仅释放被占用的端口 - **全面清理系统** - 终止所有Python进程和端口占用 - **系统诊断** - 检查系统环境并显示详细信息 - **查看日志** - 打开日志目录 - **清理日志和临时文件** - 删除日志和Python缓存文件 - **退出** - 退出菜单 启动菜单提供了所有功能的集中访问点,操作简单直观,是最推荐的使用方式。 ### 自动启动服务器 双击下面任一文件即可自动检测端口占用,释放端口,并启动服务器: 1. `scripts/start_auto.vbs` - VBS脚本版本,完全自动,无需用户交互 - 自动检测端口占用并终止相关进程 - 如果端口仍被占用,会自动尝试终止所有Python进程 - 自动启动Django服务器并打开浏览器 2. `scripts/auto_start.bat` - 批处理文件版本,支持完全自动化处理 - 自动检测并终止占用端口8000的进程 - 如果清理失败,会自动尝试终止所有Python进程 - 自动启动Django服务器并打开浏览器 ### 常规启动服务器 双击`scripts/start.vbs`文件,会提供更多信息并需要一些用户确认: 1. 清理环境(终止占用端口的进程和残留的Python进程) 2. 启动Django服务器 3. 自动打开浏览器访问服务器 ### 端口占用问题处理 如果服务器无法启动,报告端口已被占用,可以: 1. 双击`scripts/cleanup.bat`自动终止所有占用端口8000的进程和Python进程 2. 或双击`scripts/check_port.vbs`交互式查看并选择要终止的进程 3. 或使用`scripts/free_port.bat`快速释放指定端口(默认8000),支持命令行参数指定其他端口 ### 系统信息和诊断 1. `scripts/show_server_info.bat` - 显示系统环境和服务器状态信息 - 检查Python和Django版本 - 显示网络信息和IP地址 - 检查端口占用状态 - 提供服务器访问URL - 将所有信息保存到日志文件 2. `scripts/debug_vbs.vbs` - 系统诊断工具 - 检查系统环境和脚本状态 - 诊断脚本执行问题 - 提供详细的错误信息和系统状态 ### 清理工具 1. `scripts/clean_logs.bat` - 清理日志和Python缓存文件 - 删除所有`logs`目录下的日志文件 - 清理Python缓存文件(`.pyc`文件和`__pycache__`目录) - 递归清理所有子目录中的缓存文件 - 提供操作确认和执行结果反馈 2. `scripts/cleanup.bat` - 全面清理系统进程 - 终止占用端口的进程 - 终止残留的Python进程 - 清理临时文件 ## 日志文件 所有操作日志保存在`logs`目录下: - `server.log` - 服务器运行日志 - `cleanup.log` - 清理操作日志 - `port_check.log` - 端口检查日志 - `start_vbs.log` - 启动脚本执行日志 - `start_auto.log` - 自动启动脚本日志 - `auto_start.log` - 自动启动批处理日志 - `free_port.log` - 端口释放工具日志 - `server_info.log` - 服务器信息导出日志 ## 常见问题排除 1. **脚本无法执行** - 确保系统允许执行VBS脚本 - 尝试右键点击脚本,选择"以管理员身份运行" - 运行`scripts/debug_vbs.vbs`获取详细的诊断信息 2. **端口仍被占用** - 使用图形化菜单中的"全面清理系统"选项 - 运行`scripts/free_port.bat`释放指定端口 - 使用`scripts/auto_start.bat`或`scripts/start_auto.vbs`进行全自动清理 - 如果仍有问题,运行`scripts/cleanup.bat`进行更彻底的清理 - 使用任务管理器手动终止占用端口的进程 - 重启计算机 3. **Python未找到** - 确保Python已安装并添加到系统PATH - 检查`python --version`命令是否能在命令提示符中正常执行 - 运行`scripts/show_server_info.bat`检查Python环境 4. **找不到manage.py** - 确保在正确的项目目录中运行脚本 - 检查manage.py文件是否存在 - 运行`scripts/debug_vbs.vbs`诊断文件路径问题 5. **日志和缓存文件占用空间过大** - 运行`scripts/clean_logs.bat`清理日志和缓存文件 - 定期清理`logs`目录下的日志文件 ## 高级配置 如需修改默认端口(默认为8000),请编辑以下文件: - `scripts/start_server.bat`中的`PORT=8000`变量 - `scripts/cleanup.bat`中的`PORT=8000`变量 - `scripts/check_port.vbs`中的`PORT_TO_CHECK = "8000"`常量 - `scripts/auto_start.bat`中的`PORT=8000`变量 - `scripts/start_auto.vbs`中的`PORT_TO_CHECK = "8000"`常量 - `scripts/free_port.bat`中的`PORT=8000`变量 ## 技术支持 如有问题,请运行诊断工具`scripts/debug_vbs.vbs`或`scripts/show_server_info.bat`,查看生成的日志文件,然后联系系统管理员。