大鱼升学
大鱼升学(原名”锦城志愿”)是一款面向高考生及家长的志愿填报辅助平台。系统基于学生考试成绩,智能推荐匹配院校并估算录取概率,同时提供互动社区、志愿咨询、高级会员服务等功能,帮助用户科学决策。
项目背景
每年高考季,数百万考生面临志愿填报难题。传统方式依赖人工咨询或简单查询,信息不对称、决策效率低。我们开发这款平台,利用数据分析与算法推荐,帮助考生精准匹配院校、合理填报志愿。
系统架构
基于 ThinkPHP 6.x 构建单体应用,采用经典 MVC 架构:
- 业务层:处理院校推荐、概率计算、社区内容、支付逻辑
- 数据层:MySQL 存储业务数据,Redis 缓存热点数据,Elasticsearch 支撑搜索
- 接口层:RESTful API 对接前端(Web + 小程序)
核心功能
1. 智能院校推荐
基于考生分数、位次、省份、科类等维度,结合历年录取数据,推荐匹配院校。推荐算法综合考虑:
- 分数匹配度(历年录取线 vs 考生成绩)
- 位次波动分析(近三年录取位次趋势)
- 院校热度(报考人数、关注度)
2. 录取概率估算
基于历史数据训练概率模型,估算考生被各院校录取的概率。模型考虑:
- 历年录取分数线与考生分数差值
- 位次排名变化趋势
- 招生计划增减情况
3. 多维度综合搜索
基于 Elasticsearch 构建院校搜索引擎,支持:
- 全文检索(院校名称、专业名称)
- 多维度筛选(地区、类型、层次、特色)
- 自定义排序(按分数、位次、热度)
搜索响应时间 < 200ms。
4. 社区内容推荐
构建互动社区,用户可发布经验帖、提问、评论。基于用户行为数据(浏览、点赞、收藏)实现个性化内容推送,用户活跃度提升 35%。
5. 微信支付系统
对接微信支付 API,实现会员购买、咨询服务付费等场景。支付成功率达 99.9%,支持退款、订单查询等功能。
技术难点与优化
高考高峰期并发应对
高考志愿填报期间(6 月下旬),系统日访问量峰值达 25 万,面临短时间内大量并发查询。
解决方案:
- 引入 Redis 多级缓存:热点院校数据缓存、用户查询结果缓存
- 优化 Elasticsearch 查询结构,减少深度分页
- 数据库读写分离,主库写、从库读
接口性能优化
部分接口因复杂计算(如概率估算)导致响应缓慢。
优化措施:
- 重构业务代码,将复杂计算拆解为可缓存单元
- 引入异步任务队列,非实时计算结果异步生成
- 部分接口访问时间平均缩短 50%
项目规模
- 注册用户:2 万+
- 日均访问量:10,000+
- 高考高峰期日访问量:25 万(峰值)
项目成果
- 完成产品从 0 到 1 的架构设计与开发落地
- 智能推荐算法帮助用户科学决策,提升志愿填报效率
- 社区功能增强用户粘性,活跃度提升 35%
- 支付系统稳定运行,支付成功率 99.9%
技术栈
ThinkPHP 6.x, MySQL 5.7-8.0, Elasticsearch 7.x, Redis 6.x, 微信支付 API