毕业设计在线答辩系统设计与实现
2021-12-24刘洪通邱胜海董莺陈腊梅
刘洪通 邱胜海 董莺 陈腊梅
摘要:特殊时期,倡导保持社交距离和保护师生健康,这给学生的学习带来了极大的影响,各级政府及学校对在线实践教学及考核非常重视。随着互联网、云计算及大数据等技术的日益成熟,易于构建实践类课程的在线答辩考核。探讨了毕业设计在线答辩系统构建的现状,分析设计了在线答辩系统的功能、数据模型,设计了融合Bootstrap、Springboot、MyBatis等多项技术的分布式软件架构体系,描述了应用于该系统的关键技术,最后以该系统的在线视频答辩模块的开发为例,详细描述了系统的开发过程。实践证明,该系统具有易用性、高性能、可扩展性及用户体验良好等优点,能够提高实践类课程的答辩管理效率,有助于实现教学信息资源共享,能更快、更好地实现教学配套服务。
关键词:在线答辩;Springboot;毕业设计;概念数据模型;持久层框架;分布式系统
中图分类号:TP391,TP311 文献标识码:A
文章编号:1009-3044(2021)29-0070-03
Design and Implementation of Online Completion Course Defense System Based on Distributed Environment
LIU Hong-tong, QIU Sheng-hai, DONG Ying, CHEN La-mei
(Department of Mechanical Engineering, Nanjing Institute of Technology, Nanjing 211167, China)
Abstract: In special times, it is recommended to keep a social distance and protect the health of teachers and students, that has had a great impact on students' learning. Governments and schools at all levels paid great attention to online practical teaching and assessment. With the increasing maturity of technologies such as the Internet, cloud computing, and big data, it is easy to construct online defense assessments for practical courses. Discussed the current status of the graduation design online defense system, analyzed and designed the function and data model of the online defense system, designed a distributed software architecture system integrating Bootstrap, Springboot, MyBatis and other technologies, and described the key to the system technology. Finally, taking the development of the online video defense module of the system as an example, the development process of the system is de⁃ scribed in detail. Practice has proved that the system has the advantages of ease of use, high performance, scalability and good us⁃ er experience, which can improve the efficiency of the defense management of practical courses, help realize the sharing of teaching information resources, and achieve faster and better realization teaching supporting services.
Key words: online defense; Springboot; graduation project; conceptual data model; persistence layer framework; Distributed System
1背景
互聯网的快速发展已经改变了我们的世界,数字化、信息化在不断地改变我们的生活。“互联网+创业”也已经成为国家级的主题,由于要保持社交距离和保护师生健康的原因,对人们的工作、生活、学生的上课、毕业设计、课程设计、实验与实习等教学活动在线下实现受到较大的影响,这对于学校、教师和学生都是非常大的挑战[1]。与此同时,钉钉、腾讯会议等在线会议视频平台逐渐进入了教师和学生的学习中,已成为学生学习、课设等教学活动的最好途径。目前国内线上实践类课程的答辩等考核环节大多采用腾讯会议或是其他第三方的软件,这些软件可以解决教师和学生的线上答辩的需求[2-4]。但由于这些软件没有基础数据库的支持,在答辩的过程中仍有着很多不便。同时,这些平台有着版权的限制和广告的影响,并不能充分满足教学活动,如何构建适合本专业学生毕业设计、实验在内的在线答辩系统显得非常迫切。
WebRTC是一个开源的项目,得到 Google,Mozilla 和 Opera 等公司的支持,已成为事实上的实时通信行业的标准。WebRTC技术是目前视频开发的主流技术,其通信功能和媒体功能为业内最先进的,主要包括先进的音视频编解码器、强制加密协议和网络地址转换器等,具有延时低,互动效果好,支持跨平台,容易二次开发,用 Html5网页就能调用等优点,适合An⁃ droid、iOS及Windows等多种平台[5-9]。
2 OVDS 系统分析
2.1 OVDS 系统的功能分析
在线视频答辩系统(Online Video Defense System,OVDS)主要应用 WebRTC 技术,通过与自行开发的数据库管理系统进行集成,具有在线视频活动创建、上传文件、消息发布、学生管理、教师管理、会议管理、毕设课题管理和答辩安排管理等功能,教师可以查看学生课题、答辩安排、在线答辩等功能,学生可以查看答辩安排和答辩视频回放的功能。
根据对毕业设计答辩在内的实践类课程考核情况进行调研及分析,得到 OVDS 系统的功能需求,按照 OVDS 系统的教师、学生、管理员和游客四个应用角色,主要功能描述如下:
1)学院管理:用于学院信息的管理,根据学校的院系安排,管理员可以录入学院名称、学院地址、学院联系方式等信息,也可以删除学院信息。
2)专业管理:管理员进行专业信息的录入,也可查询专业信息。
3)教师管理:管理员进行教师工号、职务、职称、所在学院等信息录入,也可以查询教师的信息。
4)学生管理:管理员可审核学生注册的信息,也可以录入学生的学号、姓名、年龄,学院、专业和班级信息,也可根据查询和修改学生信息。
5)课题管理:教师可以将自己所带课题登录系统,如课题名称、学生姓名、课题性质、课题来源等,也可以修改和删除课题信息。
6)答辩安排:系主任将答辩安排信息,如答辩时间、地点、所在小组、答辩老师等信息发布到系统中,也可以根据答辩安排的变化修改答辩安排信息。
7)答辩活动:管理员或教师创建一个答辩活动,包括答辩时间、答辩安排、开始时间和结束时间等信息,学生可以查询答辩活动的信息,确定自己的答辩时间和答辩安排等。
8)在线答辩:在规定的答辩时间,老师、学生均可以登录答辩系统,学生可以选择答辩小组、开启摄像头、调用麦克风,进行答辩,且答辩过程的视频将作为重要的答辩资料进行保存,供教师、学生和专家等人员下载观看。
2.2 OVDS 系统的数据库分析
根据OVDS系统的功能描述及数据分析,提取出系统的数据实体如下:学院、专业、学生、教师、课题和答辩安排。其中,学院与专业的关系为一对多,一个学院对应多个专业;学院与教师的关系为一对多,一个学院对应多个教师;专业与学生的关系为一对多;学生与课题的关系为一对一,每个学生对应多个课题;课题和答辩安排的关系为一对多;指导教师与课题的关系为多对多,即一个课题可以有多个教师指导,一个教师也会指导多个课题。这些实体包含多个字段,设计 OVDS概念模型(E-R 图),如图1 所示,限于篇幅,图中省去了实体的属性。学院(学院编号,学院名称,学院地址,联系方式等)、学生(学号,学生姓名,性别,联系方式等)、指导教师(工号,姓名,所在部门,职务,年龄,联系方式等)、答辩安排(序号,答辩小组,答辩日期等)、课题表(课题编号,课题名称,学号等)、专业(专业编号,专业名称等)。
3 OVDS 系统的架构设计
OVDS 系统采用分布式多层次架构体系,整体架构从下往上分为数据库层、模型层、业务逻辑层,控制层和表示层五层,该架构使控制器、分派器以及模型对象相互分离,很大程度上降低了系统的开发难度[10-13]。每层的功能描述如下:
数据库层采用的是MySQL关系型数据库,该数据库技术成熟、易扩展,具有较好事务处理能力;
模型层包括实体类和数据访问类对象,该层也称为数据持久层,该层是连接数据库,并且对数据库进行数据持久化的操作;
业务逻辑层也称为服务层,主要是实现业务逻辑的应用,通过设计接口和实现的类来完成,通过调用数据访问层定义的接口,实现业务逻辑层具体的功能;
控制层负责具体的业务模块流程的控制,调用服务层的接口来控制业务流程;
表示层采用 Bootstrap 开源框架,基于 HTML、CSS、JavaS⁃cript技术的客户端架构技术,该技术简洁方便、布局美观、响应速度快,用户体验良好。由于OVDS系统采用了灵活的轻量级架构体系,具有工作量小,开发效率较高,部署简单等优点, OVDS系统的总体架构如图2所示。
4 OVDS 系统应用的相关技术
OVDS 系统采用的技术包括MyBatis技术、Bootstrap技术、 WebSocket技术、云服务器技术及Redis缓存数据库技术,描述如下:
1)MyBatis技术 OVDS 系统的持久层采用的框架为MyBa⁃ tis,通过配置文件和实体类的mapper 进行相关联,在mapper文件中设计数据库所需的sql语句映射,该技术封装数据库的 CRUD操作。
2)SpringBoot技术该技术的核心是 Spring 中的 Controller 类,主要负责表示层与服务层的数据交换及控制转发,将用户请求通过HandlerMapping去匹配Controller,再执行所需要的操作,应用了 MVC设计思想的轻量级Web框架,对Web层进行解耦。
3)前端框架技術前端框架采用Bootstrap,目前Bootstrap 已成为最受欢迎的前端框架之一,多用于开发响应式布局项目,开发的界面美观、简洁。
4)云服务器平台技术云服务器平台是一种计算服务,可以实现软硬件解耦,通常部署在虚拟化平台上,其优点包括:系统运行稳定、数据可靠性高、安全性好,并可以自由配置CPU、内存、带宽等环境;安全性好,云服务器免费提供DDoS 防护、木马查杀、防暴力破解等服务;易用性高,拥有丰富的操作系统和应用软件,部署简单,轻松扩展等优点[14-15]。
5)Redis缓存数据库技术 OVDS 系统采用 MySQL关系型数据库,其中整机及配件表存放了大量的数据记录,由于系统使用的用户数量较多,频繁的访问数据库将给系统的性能带来较大的影响,因此采用Redis缓存框架来减少对数据库表的访问,减轻数据库压力。
6)WebSocket技术 WebSocket 技术使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,浏览器和服务器只需要完成一次握手,就直接可以创建持久性的连接,并进行双向数据传输。
5在线视频答辩功能实现
以 OVDS 系统在线视频答辩功能为例,教师可以创建会议,老师与学生加入会议,详细操作如下:
1)以教师和学生的账号登录该系统,登录成功后,系统会跳转到系统的在线答辩视频界面。
2)用户可以根据自己的需求加入会议,加入后进入视频答辩界面。
3)在答辩界面中,浏览器调用摄像头和麦克风,进行视频答辩,学生可以点击右边的共享白板,发送白板上的内容。在信息文本框中输入发送的信息,点击发送信息按钮,发送给在线答辩老师,点击选择文件,在本地选择符合类型的文件,发送给在线答辩老师,以供下载。视频会议界面如图3所示。
采用WebSocket技术实现的步骤如下:
1)判断当前浏览器是否支持WebSocket,参数为协议、本地
IP地址,判断是否可以建立握手连接。
2)对视频流的格式进行配置,一般为:352*320,帧率最高10帧。
3)判断浏览器是否兼容并获取摄像头。4)将流媒体绑定到video上。
5)建立流通道的兼容方法。
6)用户登录后,浏览器主动建立连接方式,以确保用户具有使用浏览器实现视频功能。
6结束语
OVDS 开发运用了成熟的 WebRTC 技术,通过 WebSocket 协议,使浏览器与服务器建立握手连接,交换数据,实现了在线视频答辩的主要功能,学生和教师不用安装任何插件和软件,只需要通过浏览器就可以在任何地方进行毕业设计在线视频答辩,也不受版权和广告的限制和影响。相比于目前普遍应用的腾讯会议和钉钉等视频软件,本系统提供的功能相对简单、视频的清晰度不高、用户在线数量和响应性等相对较小,由于本系统有自己的专用答辩数据库管理系统,如答辩安排、课题查询等功能,基本满足了目前高校毕业设计答辩的需求,后续经过改善后,将具有较好的市场应用价值。
参考文献:
[1]郭巍,杨建新,井平安,等.基于“雨课堂+腾讯会议”线上混合教学的课程设计与开发[J].电子世界,2020(22):32-33.
[2]蒋建军,张荣鉴,杨爽.基于WebRTC 的交互式视频教学平台的设计与实现[J].信息技术与信息化,2020(12):190-192.
[3]张戈.WebRTC在视频直播教学领域的应用研究[J].电脑编程技巧与维护,2018(11):144-146.
[4]赵永明.基于WebRTC 的音视频实时教学系统建设探究[J].数字通信世界,2020(8):279-280.
[5]石芮,成洪豪,孙立民.基于WebRTC 的视频会议系统开发[J].智能计算机与应用,2019,9(6):132-137.
[6] Nurrohman A, Abdurohman M. High performance streaming based on H264 and real time messaging protocol (RTMP)[C]//20186th International Conference on Information and Commu?nication Technology (ICoICT). Bandung, Indonesia. IEEE, 2018:174-177.
[6] Santos H,RosárioD,CerqueiraE,etal.A comparative analysis of H.264 and H.265 with different bitrates for on demand vid⁃eo streaming[C]//Proceedings of the 9th Latin America Net⁃ working Conference.ValparaisoChile.NewYork,NY,USA:ACM, 2016:53-58.
[7] AlomanA,Ispas A I,CiotirnaeP,etal.Performance evaluation of video streaming using MPEG DASH, RTSP, and RTMP in mobile networks[C]//20158th IFIP Wireless and Mobile Net⁃ working Conference (WMNC). Munich, Germany. IEEE, 2015:144-151.
[8]杨振宇.基于WebRTC 的会议服务的研究与实现[D].北京:北京邮电大学,2017.
[9]姚强.基于WebRTC 的视频通信系统的研究与实现[D].西安: 西安理工大学,2018.
[11] 蔡硕,李毅超,刘辛彤,等.视频会议系统关键技术及应用研究[J].科技视界,2020(31):25-26.
[12] 刘晨昱 . 关于高清视频会议系统技术分析[J]. 电子测试,2020(9):33,135-136.
[13] 罗进.多功能视频会议系统设计与实现[D].西安:西安电子科技大学,2019.
[14] 李峰.基于云平台搭建视频会议系统[J].电子技术与软件工程,2020(24):193-194.
[15] 郭亚冬.5G时代的云视频会议系统[J].通讯世界,2020,27(5):99,101.
【通联编辑:谢媛媛】