大鱼升学


大鱼升学(原名”锦城志愿”)是一款面向高考生及家长的志愿填报辅助平台。系统基于学生考试成绩,智能推荐匹配院校并估算录取概率,同时提供互动社区、志愿咨询、高级会员服务等功能,帮助用户科学决策。

项目背景

每年高考季,数百万考生面临志愿填报难题。传统方式依赖人工咨询或简单查询,信息不对称、决策效率低。我们开发这款平台,利用数据分析与算法推荐,帮助考生精准匹配院校、合理填报志愿。

系统架构

基于 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