
教育学习网站
🏦 场景与客户
某职业教育机构,从线下培训转到线上,招生靠公众号与渠道,学员以在职考证人群为主。原来的做法是:课程视频挂在第三方平台上,题库用另一个工具,答疑在微信群里,三处数据互不相通。
卡点很直接:学员数据拿不回来,谁学到第几章、哪道题错得多,运营只能靠问。促销期集中报名,第三方平台限流,报名页打不开。客户要的是把课程、进度、题库收回到自己手里,并且扛得住招生高峰。
📅 实施节奏
- 第 1–2 周:梳理课程结构与学员旅程(选课—支付—学习—测验—结业)
- 第 3–5 周:搭课程、题库、学习进度三块核心模型
- 第 6–7 周:视频播放、防盗链、断点续传联调
- 第 8 周:历史学员与学习记录迁移,小流量灰度切流
- 第 9 周起:交付运营后台与看板,进入迭代
🗝️ 方案要点
- 课程分三层:课程—章节—课时,学习进度以课时为最小单位。课程换版本时,已学进度不被打断
- 视频不落本站:走对象存储 + 签名地址,播放器只拿短时效链接,源文件不可直链下载
- 进度上报做节流:播放中定时上报,暂停、切页、关闭三个时机强制补报,避免掉线丢进度
- 题库与错题本同源:一次作答同时写答题记录与错题本,不维护两套数据
- 看课权限按「已购 + 有效期」判定,不按账号标签,避免运营改标签导致误放行
⚖️ 选型与权衡
| 选择点 | 方案 | 权衡 |
|---|---|---|
| 视频托管 | 对象存储 + CDN 签名地址 | 带宽成本可控、能防盗链;接入比直传复杂,要处理链接过期重签 |
| 页面渲染 | 静态生成 + 局部水合 | 首屏快、利于收录;写交互要单独拆客户端组件,开发约束多 |
| 进度上报 | 定时心跳 + 事件补报 | 数据准;请求量上去,需要合并写入 |
| 历史迁移 | 脚本搬迁 + 双写过渡 | 切换平滑;双写窗口期要每天对账 |
🚧 实施难点与排查
- 进度丢失:学员反馈「看到一半回来从头开始」。根因是心跳只在播放中触发,暂停后不报。改成暂停、切页、关闭三处强制补报后消失
- 报名打挂数据库:集中报名把库存行锁死。改为先预占、异步落账,失败回补
- 视频首帧慢:初期直连源站,跨省学员要等几秒。切 CDN 后明显改善
- 迁移对不上:老平台按章节记进度,新系统按课时,粒度不同。做了粒度映射表按比例折算
💵 成本与收益
- 成本结构:一次性开发约 1 人 × 8 周量级;视频存储与流量是主要持续成本,按量计费
- 收益侧:报名与学习数据回到自己手里,续费提醒能按完课情况分层触达
- 隐性收益:不再受第三方平台限流与抽成,活动节奏自己定
🛡️ 风险与保障
- 内容安全:课程视频与题库加密存储,播放地址短时效、可吊销
- 数据合规:学员手机号、支付信息分表存储,批量导出留审计日志
- 容量:报名与考试期做排队与限流,宁可慢也不整站不可用
- 备份:学习进度每日备份,误删可按时间点回溯
♾️ 可复用与演进
- 「课程—进度—题库」这套模型可平移到企业内训、认证考试、员工培训
- 演进方向:接直播与作业批改,把「学—练—测」闭环补齐
- 再进一步:按错题分布自动生成复习路径,把数据变成教学动作













































































































