项目介绍: 本项目是一款基于 Spring Boot + Redis + Chat GLM + Vue3 + Vite + RxJava + SSE的AI答题应用平台。它提供了快速生成题目和制作应用的功能,用户可以在线答题,并得到基于多种评分算法或AI的回答总结。管理员可以对整站内容进行集中管理,进行统计分析。 1. 库表设计:根据业务需求设计了用户表、应用表、题目表、评分结果表和用户答题表等库表。其中,题目表采用JSON存储复杂的嵌套题目和选项,以便于维护扩展,并通过给题目表添加appId索引来提升检索性能。 2. 评分模块:利用策略模式实现了多种用户回答评分算法,如统计得分、AI评分等。全局执行器会扫描策略类上的自定义注解并选取相应的策略,相较于if-else判断逻辑,提高了系统的可扩展性。 3. 基于RxJava的操作符链式调用处理AI异步数据流:通过使用map操作符获取并处理字符串,filter操作符过滤空值,flatMap操作符映射串为单个字符,并利用括号平衡算法准确拼接出单道题目,使得逻辑简单清晰。 4. 实现了幂等设计:为了防止用户多次提交重复答案,针对每次答题分配了唯一id,采用雪花算法生成,并通过数据库主键实现了幂等设计,避免了重复的脏数据。 5. 数据库表的分片处理:为了应对用户答题数的增长,通过配置Sharding JDBC,采用取模分片算法,根据应用id对用户答题记录进行分表处理,提高了单表查询性能和可扩展性。声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论