版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录基于SpringBoot框架的面向医疗会议的在线直播系统设计摘要2020年初新冠疫情的爆发使传统的线下会议几近停摆。许多专业性的学术会议面临挑战,医疗会议就是其中之一。医疗类学术会议作为各级医护人员开展学术交流,进而获取继续教育学分的主要途径,在某种程度上,可以看作医疗从业人员的刚需。现实的需求促使中华医学会鼓励各类医疗学术会议从线下会议转为线上会议。作为专业类的学会会议,医疗线上会议不同于普通的视频直播,带有鲜明的行业特色,例如参会人员需预注册;视频直播需观看累计到一定时长才能参加考试,进而获得学分。并且该类会议在一定程度上带有医疗药品或器械的介绍推广职能,因此要开发线上展厅功能以展示会议赞助商的产品。本毕业设计基于医疗行业特征,研发一款适用于该行业的在线会议直播系统。解决特殊时期医疗行业的会议开展问题。本次开发的面向医疗会议的在线直播系统前端是基于Vue框架,后端基于SpringBoot框架,数据库采用MySQL。系统主要功能包括注册签到,议程管理,视频直播,观看时长累计,线上展厅等。系统完成后在数个医疗会议上得到了试用,取得了较好的效果。为疫情期间医疗会议的顺利开展提供了有效的工具。关键词:在线直播;议程管理;用户注册目录19664第1章引言 1298521.1研究背景及意义 1318551.2主要研究内容 181931.2.1国内外问题及现状研究 166771.2.2论文的组织结构 131662第2章技术背景 1114832.1B/S架构 118182.2前后端框架 181822.2.1Springboot框架 1193972.2.2Vue框架 1239672.3MySQL数据库 1161132.4云直播 14687第3章功能需求分析 2159733.1整体分析 2253483.2功能模块分析 3266793.2.1登录注册模块分析 3302983.2.2直播间模块分析 3199463.2.3会议管理模块分析 4286083.2.4直播回放模块分析 417757第4章系统设计 6135924.1功能概述 6282604.2数据库设计 6231614.2.1数据库E-R图 6312364.2.2相关表设计 7115074.3系统总流程设计 12267884.4子模块功能设计 12236854.4.1登录注册模块 12242454.4.2直播间模块 1316974.4.3会议管理模块 14275434.4.4直播回放模块 15117644.5模块接口设计 16155704.5.1登录注册模块 16208114.5.2直播间模块 17183874.5.3会议管理模块 1789124.5.4直播回放模块 181740第5章系统实现与测试 19107355.1系统开发环境 1924165.1.1开发语言 19116835.1.2Maven 19247275.1.3前端开发 19291875.1.4后端开发 20256255.2系统模块实现 20274505.2.1登录注册模块实现 2031635.2.2直播间模块实现 21228755.2.3会议管理模块实现 2395705.2.4直播回放模块实现 2670815.3系统功能测试 2839495.3.1登录注册模块测试 28162045.3.2直播间模块测试 2985405.3.3会议管理模块测试 29114075.3.4直播回放模块测试 309085第6章结论与展望 31120506.1结论 31198166.2展望 3114491参考文献 3218449 33第1章引言1引言研究背景及意义2020年初新冠疫情在全球的流行,线下会议几乎全部停办,许多传统线下召开的会议迁移到线上,这为线上会议直播行业带来巨大的生机。目前国内被普遍采用的线上会议系统主要为钉钉会议,腾讯会议,微赞等。这些系统因其功能简捷,收费低廉而广受欢迎。然而,上述系统也存在许多不足,还远远不能满足大部分专业性会议的功能需求。基于此,针对特定客户群体开发一款集成的线上会议直播解决系统必将具有巨大的市场前景。经调查,福建省医疗协会每年需开800余场医疗相关会议。全省医生每年都需参加相关会议以获得继续教育学分,作为其职称晋升材料的重要组成部分。简而言之,医疗会议对该行业从业者而言是刚需,因此,该类产品具有广泛的市场前景。这是本系统将其作为研究课题的主要原因之一。另一方面,大部分的医疗会议都获得药商的赞助,资金较为充沛,比较有能力及意愿为优质的会议服务付出费用。第三方面,由于疫情的影响,中华医学会规定今年全国所有的医疗会议必须线上举行,间接造成医疗会议线上直播的井喷。经对会务组织者的调研和交流,线上直播作为医疗会议的重要补充,今后必将长期存在,未来的医疗会议将是线上线下一体化的开展模式。这意味着该产品具有较为长久的生命力。主要研究内容国内外问题及现状研究新冠病毒肆虐全球,线下会议几乎全部停办,但线上的非接触会议却大行其道兴盛起来,甚至被人们称作“未来社会的提前到来”[1]。线上会议形式的变化是技术潮流变化的缩影,而突如其来的新冠疫情加速了这种变化的到来。在全球疫情发展尚不明朗的情况下,线上线下结合的会议模式未来必将大行其道[2]。近年来随着卫生医疗事业水平的高速发展,对于医生专业技术方面的要求也在日益更新和提高,如何为医生提供良好的学习平台去应对发展的需求,可谓是为继续医学教育提供了新的要求。开展医学继续教育的必要性便凸显而出,而其对于每一位医师提升自身的综合素质具有重要的推动及引导作用。继续医学教育类的医疗会议,要第1章引言2求会议直播系统必须具有教授及交流的功能,以便与会者利用会议直播系统开展技术讲座、远程培训,能够远程播放PPT、Word文档等。除此之外其对音、视频质量和通讯的可靠性、稳定性,并发性也提出了较高要求。尤其对于大型会议,在线上参会者众多的情况下如何保证音视频质量和播放流畅度是该类系统开发者面临的挑战。目前广泛流行的线上会议直播系统国内有QQ,腾讯会议,腾讯课堂,微赞,国外有Zoom、MicrosoftTeams、Skype等。作为流行产品,他们旨在满足广大用户的公共需求,功能较为单一,且各产品同质化严重。面对特定领域的客户需求,在功能层面上较为简单,无法满足特定需求,因此需在此基础上进行二次开发。QQ作为主要的社交工具之一,虽然其也有会议直播方面的功能,但其侧重点还是在交流互动,文件共享方面等。在会议直播方面QQ最大的缺点是麦控问题,并且不能进行大规模的会议,并发不高且没办法回放[3]。腾讯会议是腾讯公司基于21年音视频通讯经验,为满足企业远程沟通的线上会议需求而开发的通讯软件,于2020年1月24日到疫情解除控制期间免费开放[4],虽然具有线上实时分享屏幕、支持在线文档协作、启动摄像头和自由开闭麦的功能外,还具有背景虚拟、识别语音和表达表情等多种功能[5]。但是其最大的不足就是只能提供300人在线会议,无法面对超过300人的大型会议。且如果客户需要定制功能的话需要二次开发。腾讯课堂有个优势是会全程自动录播,录播视频可供学生下载或回放,有利于学生再次学习,功能也比如上两个平台系统更加全面详细,但是其明显的不足就是腾讯课堂比QQ和腾讯会议的网络要求较高,白天上班时间延迟厉害,可能是用户较多的原因,也可能是功能多对网络要求更高[3]。至于国内其他的直播软件,微赞没有提供二次开发的接口,且功能较为简单,不能满足特定领域的应用。国外的Zoom在线会议系统是目前在公司、企业等行业应用广泛的网络视频会议系统,它将移动协作系统、多方云视频交互系统、在线会议系统三者进行无缝融合,具有丰富的功能、很高的稳定性和极佳的平台兼容性[7]。首先,Zoom在线会议系统能够开展实时的多方语音交流和文字聊天,具有很好的互动性。其次,Zoom在线会议系统具有各种丰富的共享系统[6]。但是Zoom在线会议系统仅可以同时支持上百人的会议交流,虽然面对小会议或者教学方面可以很好地满足,还远远不能满足大型医疗会议的上线人数需求。Zoho是一款是最适合基本远程支持,团队协作和基于应用程序的演示的工具。ZohoMeeting使用WebRTC技术构建,无需任何安装即可在浏览器上完全运行。这也仅仅面向于屏幕共享和Web演示,在其他功能,例如白板,录制和社交共享等功能3还不尽完善。该工具会议计划的参与者人数固定为100,视频框的分辨率很低,无法自定义,放大或缩小。因此,在医疗会议的背景下,无法满足需求。MicrosoftTeams是微软于2017年引入的Office365中组件之一,提供完整的联机会议解决方案。它是一个强大的团队工作中心,它能够将聊天、会议、呼叫、文件和应用整合到一个统一的共享工作区中。但是该工具运行起来占据的内存并不小,且在国内并不稳定。微软的另一个流行产品Skype提供另一种视频聊天体验。该平台免费支持仅达50位参与者,时长不受限制,因此只很适合小型会议。该平台拥有任何成员均可使用的通话录制功能,允许用户保存和共享记录长达一个月。然而,用户必须已下载Skype应用软件。对于大型会议来说不如网页版的便捷。医疗行业的在线会议除了人数多,并发度高等现有流行直播软件所不能满足的特征,还有其他显著的功能特色。主要有以下几点:(1)参会用户需要注册签到,因此需要设计复杂的表单采集参会人员信息。(2)需要对用户视频观看时长进行统计,时长满足设定阈值的参会人员才被允许进行考试。(3)系统主界面需根据主办方需求进行定制。(4)需满足主办方其他特殊的功能需求。上述几点决定了现有的QQ、腾迅,微赞等视频直播产品无法满足,需进行二次开发。综上所述,本毕设基于SpringBoot+Vue框架,开发一款能够满足医疗行业线上会议需求的线上直播系统,主要功能包括注册签到,议程管理,视频直播,观看时长累计,线上展厅等。从而为医疗从业人员开展线上交流提供有效工具。论文的组织结构本文分为六个章节,分别为:第1章引言。主要阐述面向医疗会议的线上直播系统发展的背景及是市场前景,并且介绍了国内外现有线上会议系统的优缺点及未来发展趋势,最后介绍本毕设的主要研究开发内容。第2章技术背景。简要介绍系统开发所使用的前后端开发框架,并对所采用的数据库进行简单介绍。第3章功能需求分析。从用户角度对详细分析了系统需求,确定了各功能模块。第4章系统设计。详细阐述面向医疗会议的在线直播系统的功能模块和接口设计。第5章系统实现与测试。详细介绍系统主要功能模块的实现并进行了相应的测试。第6章总结和展望。对整个系统进行总结分析并指出进一步的改进方向。第2章技术背景4技术背景B/S架构B/S架构即浏览器和服务器架构模式,是随着Internet技术的兴起,对C/S架构的一种变化或者改进模式。随着互联网的发展,B/S,一种浏览器和服务器组合在一起的架构模式随之兴起,它是C/S架构的升级版REF_Ref5284\r\h[8]。由于网络的快速发展,B/S结构的功能越来越强大。B/S框架主要分为三层:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)REF_Ref5284\r\h[9]。这种结构可以进行信息分布式处理,可以有效降低资源成本,提高系统性能。B/S架构具有更广的应用范围,在处理模式上极大简化了客户端,在B/S框架下,用户只需要通过PC或移动设备中的浏览器来访问Web服务器,是一种全新的软件系统构造技术,目前处于主流地位的Web资源应用模式,图2.1为B/S框架的业务逻辑结构REF_Ref5284\r\h[10]。图2.SEQ图表\*ARABIC\s11B/S框架的业务逻辑结构在软件的通用性上,B/S架构的客户端具有更好的通用性,对应用环境的依赖性较小,同时因为客户端使用浏览器,在开发维护上更加便利,可以减少系统开发和维护的成本。面向未来,连排级单位可通过掌上电脑(安卓系统),在训练场、演习场等环境下访问并使用该系统。因此本系统采用B/S架构使得管理人员能够在任意一台计算机上通过浏览器访问该系统REF_Ref5627\r\h[11],对直播间进行信息管理和维护,降低运维成本,提高了效率和便捷度。前后端框架SpringBoot框架SpringMVC是Spring提供的一个实现了WebMVC设计模式的轻量级Web框架REF_Ref5627\r\h[15],采用了MVC架构思想,将Web层进行职责解耦,基于请求驱动可以有效地解决5应用程序开发的复杂问题。该框架主要由Model(模型)、Controll(控制器)、View(视图)三部分组成,能够实现业务数据处理和业务数据显示(视图)间的解耦REF_Ref5627\r\h[16]。其虽然使用简单学习成本低,很容易写出性能优秀的程序,但是太过于细分,开发效率低。SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。是大量开发框架的整合,Spring框架的一个升华版,不仅继承了Spring框架原有的优秀特性,简化了Spring大量繁杂的配置工作,使得开发人员在开发过程中注重功能的实现而不需要花费大量的时间和精力在配置上,而且内嵌了Tomcat服务,支持jar/war项目打包方式,可以实现项目快速部署,是一些相关库文件的集合,具有开箱即用、约定优于配置的特征REF_Ref5627\r\h[12-13]。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决REF_Ref5627\r\h[14]。因此基于SpringBoot的易于开发使用的特点,选择了该框架作为本系统的后端框架。与SpringMVC相比,SpringBoot的特点如图2.2所示:图2.2SpringBoot特点Vue框架Vue.js是一套数据驱动的用于构建用户界面的,可以自底向上逐层应用的渐进式前端框架,也是一个轻巧、高性能、可组件化的MVVM库。Vue.js具有以下优点:响应式编程,组件化,模块化。使用Vue.js可以去除繁琐的DOM操作,只需要关注数据的源头,而不用担心DOM元素变化之后的绑定变化REF_Ref9085\r\h[17]。而数据绑定方面,Vue的优点在于能将数据和DOM结合在一起来构建数据与DOM之间的联系,使页面中的元素变为响应式的元素REF_Ref9085\r\h[18]。Vue是由许多不同的组件拼接而成的,每个组件都是一个特定的功能模块,所以我们可以在不同页面重复调用同一组件,从而大大提高开发效率,6减少代码的冗余。Vue.js响应式框架结构原理如图2.3所示。图2.3Vue.js响应式工作原理相比于其他主流的JavaScript框架例如AngularJS或React等,Vue.js具有运行效率高、语法简洁、自身占用空间小、上手容易等特点REF_Ref5627\r\h[19]。在前端开发中,应用ElementUI组件进行页面的快速开发。ElementUI是一套采用Vue2.0作为基础框架实现的组件库,能帮助网站页面快速成型REF_Ref5627\r\h[20]。总而言之,Vue.js作为渐进式框架,不仅可以构建数据驱动的web界面,而且可以利用尽可能简单的API来实现响应数据绑定和组合的视图组件REF_Ref9085\r\h[21]。其核心其实就是一个响应的数据绑定系统。MySQL数据库MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。因体积小、运行速度快、免费开源、支持用结构化查询语句(SQL),为多种语言连接操作提供接口,多线程编程,系统资源利用率高,具有完整的控制措施,系统安全、稳定,所以被广泛应用于各类系统。本系统采用MySQL作为系统开发数据库REF_Ref9085\r\h[22]。云直播云直播(CloudStreamingServices)提供极速、稳定、专业的直播云端处理服务,根据业务中不同直播场景的需求,云直播提供标准直播、慢直播、快直播和云导播台服务,分别针对大规模实时观看、高并发推流录制及超低延时的直播场景,配合移动7直播SDK,提供一站式的音视频直播解决方案。标准直播:依托腾讯深耕多年的音视频技术平台,以及腾讯云全球海量加速节点和领先的音视频AI技术,提供专业稳定快速的直播接入和分发服务。适用于秀场直播、游戏直播、广电媒体、商业直播。快直播:专门为大规模的音视频并发上行场景定制的音视频解决方案。慢直播针对高并发推流进行优化,结合视频AI技术、云点播等能力。适用于交通监控、校园安防、门店热区追踪等。慢直播:标准直播在超低延迟播放场景下的延伸,比传统直播协议延迟更低,为观众提供毫秒级的直播观看体验。适用于体育赛事、直播竞猜、在线教育、直播拍卖。云导播台:依托腾讯云强大的视频直播能力,在云端实现直播流的切换,多画面的混流播出等。云导播台支持自定义画面布局、电流垫片、音视频同步切换等功能,省去了沉重的传统导播台的硬件设备,让您方便快捷的使用导播服务,丰富线上业务场景。适用于游戏电竞、电商直播、在线教育、活动直播。第3章功能需求分析8功能需求分析整体分析本系统主要针对两类人员,系统管理员及普通用户。管理员是后台的维护管理人员,主要是对会议直播间进行管理。用户分为直播用户和参会用户。直播用户是一类特殊的用户,是拥有会议直播权限的人员,可进行直播。参会人员则是基础类用户,数量大,主要是参会嘉宾及学员。本系统是针对医疗会议的直播系统,参会用户可在线进行会议的实时直播与观看,直播用户在直播的过程中也可以选择录制,由后台管理员进行上传,参会人员可以进行会议直播的回看。后台管理员还可以对会议及直播间进行录入、增加、删除、更新等操作,以此来实现对会议直播间的信息化管理,更高的服务参会人员。整体功能结构如图3.1所示。图3.1整体功能结构9功能模块分析登录注册模块分析系统首先根据人员进行分类:管理员和用户。系统最基本的功能就是登录和注册。登录注册模块如图3.2.1、图3.2.2所示。图3.2.1管理员登录模块用例图图3.2.2用户登录注测模块用例图直播间模块分析管理人员可以对直播间进行直播查询等常规操作,并且在可以对直播间进行推流管理,同时拥有是否在直播时打开聊天室的权限,同时在直播过程中还对碎片化观看直播时间进行了累计处理,保证了用户的观看体验。直播间模块如图3.3所示。10图3.3直播间模块用例图会议管理模块分析会议管理模块是对会议和直播间的管理,其中包括增加、修改、删除、查询等基本内容,包括议程导出。会议管理模块如图3.4所示。图3.4会议管理模块用例图直播回放模块分析在会议直播时可以进行直播录制,管理员可以对录制的直播进行上传、下载,也可以直接从云端拉取,经过设置播放地址后就可以进行回看,注册学院可无限次进行回看。直播回放模块如图3.5所示。11图3.5直播回放模块用例图第4章系统设计12系统设计功能概述本系统主要针对参与会议的参会人员在线观看直播操作,后台管理人员可以通过系统对直播管理系统进行管理操作,直播间在线播放功能主要是基于腾讯云直播进行二次开发以及OBSStudio的第三方软件进行推流。在登录注册模块中点击登录,填入手机号,对手机号发送验证码实现登录与注册,并在进入会议之前选择参与会议类型。在直播间模块中,管理员点击推流管理,选择推流时间,在推流时间内,用户进入会议选择该直播间进行直播观看;当管理员把聊天室打开时,在直播中用户才可以观看聊天。在会议管理模块中,会议管理由后台管理员管理,点击对应按钮可以对直播间进行增删改查等。在直播回访模块中,点击回放页面可以观看已直播完的直播。数据库设计数据库E-R图本系统的数据库E-R图如下图4.1所示。图4.1E-R图13相关表设计系统使用的所有表,如表4.1所示:表4.SEQ表格\*ARABIC\s11系统所使用的表序列表名表类型表说明1sys_user基础信息表用户表2ppt_conference_room直播间管理表直播信息表3ppt_conference_schedule基础信息表日程信息表4ppt_conference_topic基础信息表主题详情表5ppt_conference_topic_attend基础管理表签到信息表6ppt_schedule_speaker基础信息表直播人信息表以下为部分数据表设计:系统用户表,用来存储用户的信息,如表4.2所示。表4.2sys_user表序列字段名数据类型说明1user_idbigint主键id2usernamevarchar用户名3passwordvarchar密码4saltvarchar加密5emailvarchar邮箱6mobilevarchar手机号7statustinyint状态8create_user_idbigint创建者id9create_timedatetime创建时间10company_idbigint公司id直播信息表,用来存储直播的信息,如表4.3所示。表4.3ppt_conference_room表序列字段名数据类型说明1idbigint主键2conference_idbigint会议ID3namevarchar房间号,4create_bybigint创建人5create_ondatetime创建时间6update_bybigint修改人147update_ondatetime修改时间8is_liveint是否直播(0-否,1-是)9live_timedatetime直播时间10push_keyvarchar推流秘钥11push_expired_timedatetime推流过期时间12push_urlvarchar推流地址13obs_push_urlvarcharOBS推流地址14obs_push_secret_keyvarcharOBS推流秘钥15push_statusint推流状态,0-未,1-推16play_urlvarchar直播地址(HLS)17play_statusint直播状态:0-未,1-直18play_rtmp_urlvarchar直播地址(RTMP)19play_flv_urlvarchar直播地址(FLV)20play_udp_urlvarchar直播地址(UDP)21online_countint在线人数22play_countint播放量23heatint热度24covervarchar直播封面25im_group_idvarchar直播间id26mix_stream_styleint混流id27mix_stream_uservarchar混流对象28mix_stream_uuidvarchar混流唯一id29mix_stream_statusint混流状态30noticemediumtext参会须知31contentmediumtext详细介绍32file_idvarchar点播fileID,在点播平台可以唯一定位一个点播视频文件33file_formatvarcharflv,hls,mp4,aac34start_timeint录制文件起始时间戳35end_timeint录制文件结束时间戳36durationint录制文件时长,单位秒37file_sizeint录制文件大小,单位字节1538stream_paramvarchar用户推流URL所带参数39video_urltext录制文件文件下载URL40customize_onemediumtext自定义tab141customize_twomediumtext自定义tab242advicevarchar直播间通知43total_fluxdouble流量日程信息表,用来存储议程的信息,如表4.4所示。表4.4ppt_conference_schedule表序列字段名数据类型说明1idbigint主键2conference_idbigint会议ID3namevarchar名称4start_ondatetime开始时间5end_ondatetime结束时间6topic_idbigint主题ID7create_bybigint创建人8create_ondatetime创建时间9update_bybigint修改人10update_ondatetime修改时间11laowufeidecimal劳务费主题详情表,用来存储直播主题的详细信息,如表4.5所示。表4.5ppt_conference_topic表序列字段名数据类型说明1idbigint主键2conference_idbigint会议ID3room_idbigint场地ID4titlevarchar标题5publishertext出品人6is_fen_huitinyint是否是分会0:否,1:是7is_bao_mingtinyint是否需要报名0:否,1:是8is_freetinyint是否收费0:收费,1:免费9pricedouble价格10contentmediumtext详细介绍1611create_bybigint创建人12create_ondatetime创建时间13update_bybigint修改人14update_ondatetime修改时间15is_liveint是否直播(0-否,1-是)16live_timedatetime直播时间17push_keyvarchar推流秘钥18push_expired_timedatetime推流过期时间19push_urlvarchar推流地址20obs_push_urlvarcharOBS推流地址21obs_push_secret_keyvarcharOBS推流秘钥22push_statusint推流状态,0-未,1-推流中23play_urlvarchar直播地址(HLS).m3u824play_statusint直播状态:0-未,1-直播中25play_rtmp_urlvarchar直播地址(RTMP)26play_flv_urlvarchar直播地址(FLV)27play_udp_urlvarchar直播地址(UDP)28file_idvarchar点播fileID,在点播平台可以唯一定位一个点播视频文件29file_formatvarcharflv,hls,mp4,aac30start_timeint录制文件起始时间戳31end_timeint录制文件结束时间戳32durationint录制文件时长,单位秒33file_sizeint录制文件大小,单位字节34stream_paramvarchar用户推流URL所带参数35video_urlvarchar录制文件文件下载URL36online_countint在线人数37play_countint播放量38heatint热度39covervarchar直播封面40im_group_idvarchar直播间id41mix_stream_styleint混流id1742mix_stream_uservarchar混流对象43mix_stream_uuidvarchar混流唯一id44mix_stream_statusint混流状态45noticemediumtext参会须知46laowufeidecimal劳务费47presidenttext主席签到信息表,用来存储会议参会人员是否签到,如表4.6所示。表4.6ppt_conference_topic_attend表序列字段名数据类型说明1idbigint主键2user_activity_idbigint用户ID3ppt_conference_topic_idbigint会议主题ID4statustinyint状态0:未,1:已报名5is_qian_daotinyint是否签到0:未,1:已签到6qian_dao_timedatetime签到时间7create_bybigint创建人8create_ondatetime创建时间9update_bybigint修改人10update_ondatetime修改时间直播人信息表,用来存储演讲人信息,如表4.7所示。表4.7ppt_schedule_speaker表序列字段名数据类型说明1idbigint主键2schedule_idbigint日程ID3user_activity_idbigint用户活动ID4create_bybigint创建人5create_ondatetime创建时间6update_bybigint修改人7update_ondatetime修改时间8order_ondatetime排序更新时间9orderint排序序列号越小越靠前1810is_bindint系统总流程设计系统总设计流程如下图4.2所示。图4.2系统运行过程示意图子模块功能设计登录注册模块(1)登录:用户登录系统。(2)注册:用户填写手机号,验证码验证,进入系统,填入信息,选择参会类型。登陆注册功能流程图如图4.3所示。19图4.3登陆注册模块流程图直播间模块(1)查询直播间:点击页面左上角,输入场地名称,进行查询。(2)推流管理:点击推流管理,跳出信息框,开启推流,选择推流过期时间,添加OBS推流地址和OBS推流名称,点击确定即推流成功,可以进行直播。(3)管理聊天室:点击开启聊天室,该直播间的聊天室开启,在直播间可以聊天交流。(4)累计记录时长:在观看的过程中,如果用户有事退出,那么重新回到直播间时,会将前期观看时长自动累计,极大方便了参会者。直播间功能流程图如图4.4所示。20图4.4直播间模块流程图会议管理模块(1)新增直播间:点击新增,即在该会议下新增直播间,根据跳出来的信息框,填入信息,当选择不直播时,将没有直播权限,反之亦然,点击确定,直播间信息新增完成。(2)查询直播间:点击页面左上角,输入场地名称,进行查询。(3)删除直播间:删除包括单条删除和批量删除。在直播间列表的操作栏里点击删除按钮或者在左侧选中多个直播间后点击批量删除按钮后点击确定即可删除直播间。(4)修改直播间:点击直播间列表中修改,跳出信息框,在信息框里重新编辑后点击保存即可成功修改参会人信息。(5)导出议程:点击导出可导出会议议程的详细信息会议管理功能流程图如图4.5所示。21图4.5会议管理模块流程图直播回放模块(1)拉取云端视频:点击按钮,重新加载云端视频。(2)上传回放视频:点击上传按钮,选择本地直播视频,上传即可。(3)下载回放视频:点击下载,回放直播视频就会下载到本地。(4)删除回放视频:删除包括单条删除和批量删除。在文件列表的操作栏里点击删除按钮或者在左侧选中多个文件后点击批量删除按钮后点击确定即可删除直播间。(5)设置回访地址:选择单个文件,点击设置回访地址。(6)查询直播间:在页面上方有直播间一个下拉选择框,可以通过下拉选择方22式选择一个进行查询,也可以直接通过输入直播间名称进行查询。(7)截取配置:选择单个文件截取配置,在里面进行增删改查,也可以设置视频帧率,点击返回可以返回到上一界面。直播回放功能流程图如图4.6所示。图4.6直播回放模块流程图模块接口设计登录注册模块表4.8登陆注册模块接口设计模块名称登陆注册模块23模块地址/conference_admin_test/#/login接口号接口名称接口地址接口类型接口描述Interface1用户登录/sys/loginpost账号密码登录Interface2发送短信/sys/verifyLoginpost短信验证登录Interface3密码重置/sys/retrievePwdpost密码重置直播间模块表4.9直播间模块接口设计模块名称直播间模块模块地址/conference_admin_test/#/online-live-admin接口号接口名称接口地址接口类型接口描述Interface1直播间列表/listget展示直播间列表Interface2开启推流/openPushpost设置推流地址Interface3关闭推流/closePushpost关闭推流Interface4开启聊天室/open-im-grouppost开启聊天室Interface5关闭聊天室/close-im-grouppost关闭聊天室会议管理模块表4.10会议管理模块接口设计模块名称会议管理模块模块地址/conference_admin_test/#/ppt-room接口号接口名称接口地址接口类型接口描述Interface1列表/listget直播间列表展示24Interface2会议厅信息/info/{id}/{conferenceId}get会议厅信息Interface3查看会议信息/topicStatsget\post根据会议ID查询会议主题统计信息Interface4保存会议信息/savepost保存会议厅信息Interface5修改会议信息/updatepost修改会议厅信息Interface6删除会议信息/deletepost删除会议厅信息直播回放模块表4.11直播回放模块接口设计模块名称直播回放模块模块地址/conference_admin_test/#/ppt-live-video接口号接口名称接口地址接口类型接口描述Interface1拉取腾讯云视频/pullpost拉取腾讯云视频Interface2文件列表/listget展示视频文件列表Interface3下载文件/downloadVideoget将视频文件下载到本地Interface4删除文件/deleteVideodelect删除视频文件第5章系统实现与测试25系统实现与测试系统开发环境开发语言Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。本系统采用Java1.8版本。MavenMaven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件目标的逻辑。本系统采用Maven4.0.0版本。前端开发VisualStudioCode(简称“VSCode”)是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于MacOSX、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如C++,C#,Java,Python,PHP,Go)和运行时(例如.NET和Unity)扩展的生态系统。本系统采用Vue.js2.0版本。26后端开发IDEA全称IntelliJIDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。IDEA的优点最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。其次,需要动态Evaluate一个表达式的值。最后,在多线程调试的情况下,Logonconsole的功能可以帮你检查多线程执行的情况。本系统采用SpringBoot2.0版本。系统模块实现登录注册模块实现管理员可以手机发送验证码登录,也可以账号密码登录,登陆界面如图5.1所示。图5.1管理员登录界面用户通过微信扫描进入,当微信非首次登陆时,可以自动登录,首次登录时需要注册。用户登录系统界面如图5.2所示27图5.2用户登录注册系统界面点击忘记密码,可以通过手机发送验证码重新生成一个密码,忘记密码界面如图5.3所示。图5.3忘记密码界面直播间模块实现通过直播间模块界面,可以对直播间进行操作,可以查询直播间的直播状态和聊天室的开关状态。直播间模块整体界面如图5.4所示。28图5.4直播间后台管理界面(1)推流管理:点击推流管理可以对直播间的推流进行具体操作和详细信息编辑。推流管理界面如图5.5所示。图5.5推流管理界面(2)聊天室管理:点击聊天室的开启或者关闭即可。聊天室管理界面如图5.6所示。图5.6聊天室管理界面(3)直播间查询:输入想要查询的直播间名称,点击查询。直播间查询如图5.7所示。图5.7直播间查询界面(4)用户直播间界面:用户扫面二维码进入直播间进行观看,如果聊天室打开,则可以进行在线聊天,还可以进行全屏扩展,播放加速、减速,展示在线观看人数等。用户直播间界面如图5.8所示。29图5.8用户直播间界面会议管理模块实现会议管理模块主要是对会议里面的直播间进行增删改查的基础操作。会议管理整体界面如图5.9所示。图5.9会议管理整体界面30(1)增加直播间:点击新增按钮,可以自行增加会议直播间,输入直播间的名称,观看人数,选择是否直播等,点击确定,新增直播间就展示在直播间列表里。新增直播间界面如图5.10所示。图5.10新增直播间界面(2)修改直播间:点击修改,跳出直播间详细页面,将要修改的信息重新输入,点击确定,即可修改成功。修改直播间界面如图5.11所示。图5.11修改直播间界面31(3)查询直播间:输入想要查询的直播间名称,点击查询,并且该查询不分大小写。查询直播间界面如图5.12所示。图5.12查询直播间界面(4)删除直播间:在直播列表中点击删除按钮,可以进行单个直播间删除,会弹出提示是否删除,防止误删,点击确定,直播间将会被删除。也可以选择多个直播间,点击批量删除,进行删除操作。删除直播间界面如图5.13所示图5.13删除直播间界面(5)导出议程:在直播间列表里可选中直播间,点击导出议程,将该会议直播信息以excel文件形式进行导出。以下以一号厅议程表信息为例,如图5.14所示图5.14导出议程信息样式32直播回放模块实现通过直播回放模块界面,用户可以在直播时进行录屏,并将回播视频进行上传,也可以对已存在的视频进行下载,还可以从云端拉取视频。回播过程中,对视频文件进行回播地址设置。直播回放界面如图5.15所示。图5.15直播回放整体界面(1)查询直播间:点击下拉框选择想要查询的直播间名称,点击查询,直播列表展示。查询直播间界面如图5.16所示。图5.16查询直播间界面(2)上传视频:点击上传按钮,跳出上传页面,点击上传页面的点击上传,会展示出本地路径,在本地选择你要上传的视频即可。上传视频界面如图5.17所示。33图5.17上传视频界面(3)删除视频文件:在文件列表中点击删除按钮,可以进行单个视频文件删除,会弹出提示是否删除,防止误删,点击确定,视频文件将会被删除。也可以选择多个视频文件,点击批量删除,进行删除操作。删除视频文件界面如图5.18所示。图5.18删除视频文件界面(4)设置回放地址:在文件列表中选择一个文件,点击设置回访地址按钮,可以设置视频回放的播放地址和排序编号。设置回放地址界面如图5.19所示。34图5.19设置回放地址界面(5)截取配置:点击截取配置按钮,转跳到截取配置界面,可以通过嘉宾姓名进行查询,也可以尽心单条或者批量删除,设置视频帧率。截取配置界面如图5.20所示。图5.20截取配置界面系统功能测试软件测试使根据软件开发各阶段的规格说明和程序内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。软件测试就是在软件投入运行前,对软件的需求分析、设计规格说明书和编码实现的最终审查,他是软件质量保证的关键步骤。登录注册模块测试登录注册模块测试用例如表5.1所示:表5.1登录注册模块测试用例测试ID功能测试步骤输出测试结果35Info1账号密码登录输入正确的账号和密码进入主页面成功Info2账号密码登录输入错误的账号或密码账号或密码不正确成功Info3手机短信验证登录输入手机号手机收到验证密码成功Info4手机短信验证登录输入错误手机号格式显示手机号格式错误成功Info5手机短信验证登录输入错取得验证码提示验证码错误成功Info6忘记密码输入手机号获取验证码、输入两次不一样的密码无提示失败直播间模块测试直播间模块测试用例如表5.2所示:表5.2直播间模块测试用例测试ID功能测试步骤输出测试结果Info1查看直播间信息输入直播间名称,点击查询显示查询直播间的信息,包括会议名称、场地名称、修改时间等成功Info2推流管理选择直播间,点击推流管理按钮,跳出推流管理详细信息,点击开启推流,点击确定移动端系统上会显示该直播正在直播成功Info3管理聊天室选中直播间,点击开启聊天室移动端系统直播间会显示聊天室开启并可以使用成功会议管理模块测试会议管理模块测试用例如表5.3所示:表5.3会议管理模块测试用例测试ID功能测试步骤输出测试结果Info1查看直播间信息输入直播间名称,点击查询显示查询直播间的信息,包括会议名称、场地名称、修改时间等成功36Info2添加直播间点击新增,将跳出的新增直播间信息填写好,点击确定提示操作成功,并且直播间列表增加一行新增直播间信息成功Info3删除直播间选中直播间,点击删除,跳出的提示框点击确认删除直播间列表选中的直播间信息已删除成功Info4批量删除直播间选中多个直播间,点击删除,跳出的提示框点击确认删除直播间列表选中的直播间信息已删除成功Info5修改直播间信息选中直播间点击修改,更改相关的信息并进行保存提示操作成功,刷新后直播间相关信息已修改成功Info6导出选中直播间点击导出成功下载文件,打开的excel文件显示该会议的所有直播间信息成功直播回放模块测试直播回放模块测试用例如表5.3所示:表5.3直播回放管理模块测试用例测试ID功能测试步骤输出测试结果Info1查看直播间信息点击下拉框,选择直播间名称,点击查询显示查询直播间的信息,包括文件名称、URL、大小、创建时间、修改时间等成功Info2上传文件视频点击上传,跳出的新文件上传信息框、点击信息框,在本地选择要上传的文件,点击确定上传进度条加载为100%、提示操作成功,并且文件列表增加一行新增文件信息失败Info3下载文件视频选中文件,点击下载成功下载文件,打开MP4文件观看回放成功Info4删除文件选中文件,点击删除,跳出的提示框点击确认删除文件列表选中的文件信息已删除成功Info5批量删除文件选中多个文件,点击删除,跳出的提示框点击确认删除文件列表选中的文件信息已删除成功37Info6设置回放地址选中文件点击设置回放地址,编辑排序编号显示操作成功成功Info7截取配置选择文件,点击截取配置展示截取配置页面成功第6章结论与展望37结论与展望结论在这段时间毕业设计时间里,我学到了很多。以前所学的很多课程及编程语言,虽然通过学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全先进班组主要事迹培训课件
- 2025年教育装备与课程内容的协同研发机制
- 智能驾驶行业市场前景及投资研究报告:AI应用重要阵地Robotaxi
- 安全保卫班管理制度培训课件
- 货品抵款协议书
- 狼疮性肺炎护理查房
- 《机械工厂安全性评价标准》对班组安全建设工作的评价要求培训课件
- 拉斯穆森综合征护理查房
- 125MW光伏治沙项目可行性研究报告
- 骨软骨发育不良护理查房
- 2026中国中医药出版社招聘10人笔试参考试题及答案详解
- 2026年广东广州市高三二模高考语文试卷试题(含答案详解)
- 2026年上海市徐汇区初三语文二模试卷及答案(详解版)
- 2026年眉山小升初招生考试冲刺题库
- 一次性除颤电极片院内使用中国专家共识2026
- 2026中航西安飞机工业集团股份有限公司校园招聘笔试历年难易错考点试卷带答案解析
- 2026届黑龙江省齐齐哈尔市中考押题化学预测卷(含答案解析)
- 司法鉴定内部复核制度
- 普通高中语文课程标准2025年版解读
- 新22J01 工程做法图集
- 三合一体系程序文件
评论
0/150
提交评论