1. 系统概述
高考志愿填报辅助系统是一个专为高考学生、教师和教育机构设计的综合性平台,旨在提供全面的高校招生信息查询、志愿填报分析、AI智能问答等功能,帮助学生科学合理地进行高考志愿填报决策。
系统主要面向以下用户群体:
- 高中学生:查询高校专业信息、进行志愿填报规划
- 高中教师:管理学生信息、为学生提供志愿填报指导
- 教育机构:进行数据分析、辅助决策支持
2. 系统架构
2.1 技术架构
本系统采用经典的Web应用四层架构设计:
- 表示层:基于Django模板系统实现,提供用户界面
- 业务逻辑层:Django视图函数和模型方法,处理核心业务逻辑
- 缓存层:基于Redis实现的高速缓存系统,缓存热点数据如高校信息、招生计划等,提升系统响应速度和用户体验
- 数据访问层:Django ORM框架,实现与数据库的交互
2.2 缓存策略
- 多级缓存架构:系统采用三级缓存架构(默认缓存、查询缓存、会话缓存),分别存储不同类型的数据
- 智能缓存过期:根据数据类型设置不同的过期时间(默认缓存1小时,查询缓存5分钟,会话缓存30分钟)
- 缓存一致性保障:基于Django信号机制,实现数据更新时自动清理相关缓存
- 缓存预热机制:提供缓存预热功能,提前加载常用数据到缓存,提升系统响应速度
- 缓存性能监控:提供缓存统计功能,监控缓存命中率和使用情况
2.3 目录结构
系统主要目录结构如下:
3. 核心功能模块
3.1 用户管理模块
用户管理模块负责系统用户的创建、认证、权限控制等功能。
- 管理员管理:支持管理员账户的增删改查、状态管理、密码重置
- 学生管理:支持学生信息的录入、编辑、查询和转班管理
- 认证与授权:基于Django的认证机制,支持登录、登出、验证码等功能
3.2 数据维护模块
数据维护模块提供系统核心数据的管理功能,包括:
- 招生计划管理:管理高校招生计划数据,支持搜索、筛选和Excel导出
- 高校信息管理:维护高校基本信息,包括院校类型、特色专业、联系方式等
- 一分一档数据:管理高考一分一档数据,支持物理类和历史类数据维护
- 投档信息管理:维护历年高校专业投档分数线数据
3.3 志愿查询与管理模块
志愿查询与管理模块是系统的核心功能,为用户提供高校专业信息查询和志愿填报管理:
- 综合查询:支持按院校名称、专业名称、省份、分数等条件查询高校信息(已优化为使用Redis缓存)
- 学生志愿管理:为每个学生维护志愿列表,支持志愿排序、级别设定(冲/稳/保)
- 志愿导入导出:支持将查询结果导入到学生志愿,以及将学生志愿导出为Excel
3.4 AI智能问答模块
AI智能问答模块集成了通义千问大模型,为用户提供智能问答服务:
- 智能咨询:回答关于高校、专业、志愿填报等相关问题
- 会话管理:记录用户与AI的对话历史,支持会话查看和管理
- 上下文理解:支持多轮对话,能够基于上下文提供连贯的回答
3.5 学生测试评估模块
学生测试评估模块提供性格测试和职业倾向评估功能:
- 性格测试:提供学生性格测试功能
- 结果导出:支持将测试结果导出为Word文档
- 数据分析:根据测试结果提供职业倾向分析
3.6 缓存管理模块(新增)
缓存管理模块是系统性能优化的核心,提供Redis缓存的全面管理功能:
- 缓存工具类:提供统一的缓存操作接口,包括缓存读写、清除和统计
- 缓存预热:支持手动触发缓存预热,提前加载常用数据到Redis
- 缓存一致性:通过Django信号机制确保数据变更时缓存的自动更新
- 性能监控:提供缓存命中率和使用情况的统计和监控
4. 数据模型设计
系统采用关系型数据库设计,核心数据模型包括:
- Admin:管理员用户模型
- student:学生信息模型
- Summary_data:招生计划与录取信息总表(已实现Redis缓存支持)
- EnrollmentPlan:招生计划数据模型
- UniversityInfo:高校详细信息模型(已实现批量缓存查询)
- ScoreRanking:一分一档数据模型
- AdmissionInfo:投档信息模型
- StudentVolunteer:学生志愿模型
- AIChatSession/AIChatHistory:AI对话会话和历史记录模型
5. 技术栈
5.1 后端技术
- 框架: Django 5.2(Python Web框架)
- 数据库: SQLite(默认)/ MySQL / PostgreSQL
- 缓存系统: Redis 6.0+(高性能内存数据库,用于系统缓存)
- 缓存客户端: Django-Redis(Django与Redis的集成)
- ORM: Django ORM
- 身份验证: Django内置认证系统
- 文件处理: Pillow(图像处理)、Openpyxl(Excel文件处理)
- 其他库: Requests(HTTP请求)、QRCode(二维码生成)、Pytz(时区处理)
5.2 前端技术
- HTML/CSS/JavaScript: 基础Web技术
- Bootstrap: 响应式布局框架
- jQuery: JavaScript库
- Ajax: 异步数据交互
5.3 第三方服务与API
- 通义千问API:提供AI智能问答功能
6. 系统特点
- 数据全面:整合了高校招生计划、录取分数线、一分一档等多维度数据
- 智能分析:提供志愿填报分析和AI智能问答功能
- 个性化服务:支持为每个学生提供个性化的志愿填报指导
- 灵活管理:提供完善的后台管理功能,支持数据导入导出
- 安全可靠:基于Django框架构建,具备完善的安全机制
- 高性能响应:通过Redis缓存机制,大幅提升系统数据查询响应速度,即使在高并发场景下也能保持良好性能
- 可扩展性:模块化设计,便于功能扩展和系统升级
- 数据一致性:通过缓存一致性机制,确保数据变更时缓存的及时更新
7. 应用场景
- 高考志愿填报辅导:教师为学生提供志愿填报指导
- 院校专业查询:学生查询感兴趣的院校和专业信息(享受缓存带来的高速响应)
- 志愿模拟填报:学生进行志愿模拟填报,评估录取概率
- 数据分析研究:教育机构进行招生数据分析和研究
本系统旨在成为高考志愿填报的一站式解决方案,通过整合丰富的高校招生数据、智能化的分析功能和高性能的缓存机制,帮助学生做出更科学、更合理的志愿填报决策。









