描述:项目目的
在过程化考核平台已经成型并且上线使用的情况下,在我任职期间,解决老师向我反馈到的关于平台的问题,在理解平台源码的情况下将新增的平台需求在短时间内实现;或者学生考试过程中若出现紧急情况如服务器崩溃能够及时的处理。
项目的创新之处
在针对教师提出的希望平台有可以自动编译sql题目的需求时,我想因为 SQL 语句的特殊性,难以以输出值直接断言被测试语句的正确性,所以大多数的 SQL 判题系统都是采用人工批阅的方式来处理答案。所以我利用 Docker 虚拟技术,将查询与更新型语句分隔编译,并在更新型语句编译结束后初始化相应image和container,使得不同语句间,不同用户间不会相互影响。然后利用 Spring Cloud Sleuth 与 zipkin 实现Distributed Architecture中客户端的追踪绑定,通过调用链来追溯客户端,将被测试客户端与服务器中相应容器绑定,实现一个用户绑定一个服务,避免出现互相混杂的情况。最后当被测试者将数据推送给服务器相应容器处理后,被测试者无法主动获取测试结果,此时利用 WebSocket,当处理完成时,服务器将测试结果