基于SSM框架的视频在线播放系统_第1页
基于SSM框架的视频在线播放系统_第2页
基于SSM框架的视频在线播放系统_第3页
基于SSM框架的视频在线播放系统_第4页
基于SSM框架的视频在线播放系统_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要本论文研究的是一种后台基于Spring、SpringMVC、MyBatis框架设计,使用SpringBoot进行快速构建,前台基于Vue进行开发的视频在线播放系统。本系统采用的是B/S架构,使用的开发工具是IntellijIdea和VisualStudioCode,使用的数据库版本为MySql5.7,后台使用FastDFS分布式文件系统对图片文件以及视频文件进行管理,使用Linux系统对文件进行保存。系统的前台使用基于Vue的Element-UI桌面端组件库进行构建开发,并且使用百度的WebUploader上传组件对视频文件分片上传。文中重点介绍了系统实现的整个过程,整个系统分为两个部分,包括前台用户使用以及后台管理员。前台客户的主要操作包括:观看视频、评论视频、收藏视频、点赞视频、举报评论信息等功能。后台管理员的功能包括:管理员账号管理、新增管理员、删除管理员、修改管理员信息、禁用管理员、用户账号管理、禁用用户、权限管理、查看角色列表、添加角色、删除角色、为角色分配权限、为管理员分配权限、查看权限、视频分类管理、评论管理、启动评论、禁用评论内容、视频上传等功能。关键词:Spring分布式FastDFSElement-UIAbstractThispaperstudiesabackgroundbasedonSpring,SpringMVC,MyBatisframeworkdesign,usingSpringBootforrapidconstruction,thefrontdeskbasedonVuetodevelopvideoonlineplaybacksystem.ThesystemusesaB/Sarchitecture,usingthedevelopmenttoolsofIntellijIdeaandVisualStudioCode,usingthedatabaseversionofMySql5.7,thebackgroundusingFastDFSdistributedfilesystemtomanagepicturefilesandvideofiles,usingLinuxsystemtosavefiles.Thesystem'sforegroundisbuiltanddevelopedusingtheVue2.0-basedElement-UIdesktopcomponentlibrary,andthevideofileisshardedusingBaidu'sWebUploaderuploadcomponent.Thispaperfocusesonthewholeprocessofsystemimplementation,thewholesystemisdividedintotwoparts,includingforegroundusersandbackgroundadministrators.Themainactionsoffrontdeskcustomersinclude:watchingvideos,commentingvideos,favoritevideos,likevideos,reportingcomments,andmore.Thefeaturesofthebackgroundadministratorinclude:administratoraccountmanagement,newadministrator,deletionofadministrator,modificationofadministratorinformation,disablingadministrator,useraccountmanagement,disablinguser,rightsmanagement,viewingrolelist,addingrole,removingrole,assigningpermissionstoroles,assigningpermissionstoadministrators,viewingpermissions,videoclassificationmanagement,Commentmanagement,launchcomments,disablecommentcontent,videoupload,andmore.Keywords:SpringDistributedFastDFSElement-UI广东东软学院本科生毕业设计(论文)目录1. 绪论 11.1开发背景 11.1.1网络视频平台的发展 11.1.2网络视频平台的现状 11.2开发目标 11.3开发意义 22. 技术与工具平台 32.1前端使用技术 32.1.1HTML 32.1.2CSS 32.1.3JavaScript 32.1.4Vue 32.2后端涉及相关技术 32.2.1Spring 32.2.2FastDFS 42.3项目架构 42.4开发环境 42.4.1开发工具 42.4.2硬件环境 53. 系统分析 63.1系统需求分析 63.1.1系统可行性 63.1.2可行性分析结论 63.2系统总体分析 63.3功能介绍 83.3.1总体功能 83.3.2用户功能模块 93.3.3管理员功能模块 144. 系统详细设计 234.1系统总体设计 234.2功能模块设计 264.2.1普通用户使用功能模块 264.2.2管理员使用功能模块 305. 数据库设计 365.1数据库概念设计 365.1.1管理员表 375.1.2用户表 375.1.3权限表 385.1.4分类表 385.1.5角色表 395.1.6视频表 395.1.7评论表 395.2实体属性 405.2.1管理员 405.2.2用户 405.2.3权限 405.2.4分类 405.2.5角色 405.2.6视频 405.2.7评论 405.3数据库的逻辑结构 415.3.1数据库表之间的关系 415.3.2数据库表物理结构 416. 系统实现 446.1用户使用 446.1.1用户注册 446.1.2用户登录 456.1.3视频观看功能 466.1.4用户评论功能 476.1.5点赞功能 496.1.6收藏功能 516.1.7举报功能 536.2管理员使用 546.2.1管理员登录 546.2.2新增管理员 556.2.3获取管理员列表 586.2.4修改管理员信息 606.2.5删除管理员 616.2.6为管理员分配角色 626.2.7权限列表获取 636.2.8获取角色列表信息 646.2.9新增角色 666.2.10为角色分配权限 676.2.11获取视频分类 696.2.12新增视频分类 716.2.13删除视频分类 726.2.14视频上传 746.2.15视频分配分类 757. 系统测试 777.1系统功能测试 777.1.1用户使用功能模块测试 777.1.2管理员使用功能模块测试 798. 总结 86参考文献 87致谢 88绪论开发背景1.1.1网络视频平台的发展2004年11月,我国出现了第一家视频网站,乐视网正式上线,以此看作我国网络视频发展起点的话。这16年间,中国视频网站群体逐步扩大,在线观看视频被越来越多的人当作是一种主流的娱乐方式之一。网络视频自诞生以来,就成为一个竞争白热化的领域。而到了2006年,由于YouTube被Google天价收购,而这一重磅新闻也毫无疑问的被中国的企业家捕捉,所以中国许多的企业家在这时都朝着这一方面发展。很多人看准了视频网站中所蕴含的巨大商机,一时间国内视频网站爆炸式发展,各种类型的视频网站层出不穷。在这段时间内,虽然只有短短的两年时间内,其它网络视频平台看中其中的巨大利益,所以也在这个时间段内纷纷浮出水面,网络视频平台之间的竞争愈发激烈。他们的主要模式便是视频分享,在短时间内聚集了大量的人气和流量。1.1.2网络视频平台的现状目前,各种视频手机应用层出不穷,每种应用都宣传着自己的特点,为每个不同需求的用户,提供不同的功能,由于这种应用高强调性的出现,导致现在用户的手机上,需要同时装载几种不同的视频应用,导致存储空间占用过多的情况出现,所以用户对于手机的存储空间容量需求也急剧增高。而使用在线视频网站进行视频播放,则解决了的目前用户存储空间不足的问题。但是,又有新的问题出现,当用户需要观看高清视频时,所带来的网络带宽问题,又面临着另一个挑战。开发目标目前由于5G网络的逐渐发展,网络的传输速度也有了进一步的飞跃,视频的在线播放所带来的网络带宽问题也就迎刃而解,直接在视频网站中播放视频而不需要特地下载视频应用,减少存储空间占用过多的问题,也因为5G的发展,也能够直接观看超高清的直播内容,实现电影“秒下”,对于在线的数据传输也提供了有效的保障,在5G网络普及之后,我觉得一定是视频网站极大程度上的取代应用播放,以后只需要保存播放地址,直接访问即可,而无需特地下载应用。开发意义我相信在未来的几年内,会因为5G技术的全面覆盖而产生从使用APP的观看体验逐渐转换为使用网页端进行观看,所以,这以后是一种使用范围较为广泛的使用习惯,所以,开发这一个在线视频播放系统,所看到的不仅仅的当前的市场情况,而是将目光放在将来,提前做好准备。技术与工具平台前端使用技术HTML超文本标记语言,是用来构建网页的一种使用最广泛的标准标记语言。是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。CSS层叠样式表,是一种用来为结构化HTML的语言,可以调整HTML标签的样式信息,修改字体大小、颜色、位置情况的结构化文档,解决内容与表现分离问题的一种处理方式。JavaScriptJavaScript是一种高级的、解释型的编程语言,即脚本语言。其主要作用就是在不与服务器交互的情况下,修改HTML的内容信息,甚至修改CSS样式信息,还可以通过Ajax使HTML页面通过JavaScript,在不重新加载页面的情况下从服务器上获取数据并显示,提高用户体验。VueVue是一个用于创建用户界面的开源JavaScript框架,也是一个创建单页应用的Web应用框架,用其框架,能够快速的开发出一个前台页面,减少开发时间。后端涉及相关技术SpringSpring框架是Java平台的一个开源的全栈应用程序框架和控制反转容器实现,一般被直接称为Spring。而使用当前框架,目的是因为Spring有着一站式的框架,既有SpringBoot的快速构建框架,减少项目配置所耗费的时间,也有着SpringCloud来处理分布式系统问题,还能与其它主流框架简单的合并使用,所以当需要修改项目具体框架时,无需对项目改动过大,有着非常多的优点。FastDFSFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,使用Nginx解决了大容量存储和负载均衡的问题。所以使用它来对文件进行管理,能够简化文件管理的难度,只需要使用调用其提供的API,即可快速简单的使用,而且配置等方式也十分方便,减少因为管理文件而花费的开发时间,简化开发流程。项目架构该项目前台采用Vue构建页面信息,请求后台数据,后台使用SSM框架,从数据库中拿到数据,返回到前台中,以及拿到对应的文件路径,到Linux系统中的FastDFS拿到文件数据信息,最后返回将数据返回给前台。图1-1项目架构图开发环境开发工具表2-1软件基本信息表序号名称版本备注1Windows7旗舰版操作系统2MySql5.7数据库3JDK1.8开发环境4IntelliJIDEA2018.2.4代码开发工具5NavicatPremium12数据库可视化工具6VisualStudioCode1.42.1代码开发工具7VMwareWorkstation12虚拟机8LinuxCentOS6操作系统硬件环境表2-2硬件信息表序号名称配置备注1CPU酷睿i7-6700HCPU@2.60GHZ中央处理器2内存12G内存运行内存3存储空间1024G机械硬盘+256G固态硬盘存储空间系统分析系统需求分析系统可行性在技术上,该系统使用目前主流流行的Java语言,Java是一种跨平台语言,以及有着对多线程的支持,该系统一大重要功能就是需要上传功能,这对于系统的访问量有着极大的要求,使用多线程,能过有效的提高用户的上传速度,提高程序的运行效率。并且对于Java语言,有着很多流行框架的扩展,对于开发系统的效率有极大的提高,能过有效减少开发的代码量。不仅如此,因为Java语言作为目前使用人数最多的开发语言,一些开发时出现的问题也能很容易的找到解决方式。并且对于该系统之后的功能扩展都有着极大的方便之处。其次是经济可行性上,由于该系统开发软件都是免费开源的,并且由我一人单独开发,开发成本基本为零。可行性分析结论作为一个视频播放网站,需要处理的即是庞大的访问量,对于单独的单机系统性能要求极高,而使用Java语言,能够很容易的实现分布式系统,采用分布式系统,通过部署程序到多台机器上运行,能够有效处理高访问量问题。根据以上的详细分析,得出结论,该方案是可行的。系统总体分析系统供前台用户使用以及后台管理员使用。用户在未登录情况下,可以以游客的身份对视频进行观看,并且可以查看视频基本信息,以及查看评论信息。但必须在注册登录,在登录之后才能对视频进行评论,以及对违规评论进行举报,收藏视频,点赞视频等。而后台管理员在登录之后,可以对管理员进行管理,也能对用户进行管理,启用用户,禁用用户评论功能,或者禁用违规用户登录功能;也能查看权限列表,为角色分配权限,删除角色,新增角色,为管理员分配角色;还有查看评论列表,禁用评论内容;为视频分配分类,上传视频,下架视频等功能。用户功能如图3-1所示,后台管理员功能如图3-2所示:图3-1用户功能图3-2管理员功能功能介绍总体功能(1)总体功能模块图3-3系统总体功能(2)用例总表表3-1用例总表总用例表编号参与者用例名称用例说明A01用户登录注册用户通过注册以及登录表单进行注册或者登录。A02信息浏览模块用户可以通过点击视频链接查看视频内容,以及视频的其它信息,包括评论信息等。A03评论模块用户通过对视频下方的评论文本框输入数据内容,点击评论之后,对视频进行评论。A04点赞模块用户对喜欢的视频进行点赞。A05收藏模块用户对喜欢或者感兴趣的视频进行收藏。B01管理员管理员管理超级管理员可以对其它权限较低的管理员进行管理。B02用户管理管理员可以对用户进行操作,设置用户所能够使用的功能。B03权限管理模块管理员可以查看权限,并对角色分配权限,为每个不同的角色分配不同的权限。B04角色管理管理员可以新增、删除、修改、查询角色。B05视频管理管理员可以视频进行上传、删除等操作。B06评论管理管理员可以对违评论进行禁用,将违规评论进行隐藏。B07分类管理管理员可以添加、删除、查询视频的分类信息。用户功能模块(1)登录注册模块用户可以进行注册登录,登录完成之后拥有没有登录前的其它功能,包括视频收藏,视频评论等。图3-4登录注册用例图用例名称:登录注册用例标识号:A01参与者:用户简要说明:用户通过账号登录/注册前置条件:无基本事件流:打开视频网站用户点击登录/注册按钮系统弹出登录/注册表单用户填入表单信息之后,点击确认系统验证完成信息之后,用户登录/注册成功用例终止其他事件流:在按确认按钮之前,用户可以点击取消按钮异常事件流:返回错误提示信息,用户确认后重新进入对应界面后置条件:如果用户成功登录,则重新进入网站首页如果用户注册账号成功,则可使用该账号进行登录补充说明:无(2)浏览信息模块用户在未登录情况下,可以以游客的身份对视频进行观看,并且可以查看视频基本信息,以及查看评论信息。图3-5信息浏览用例图用例名称:信息浏览用例标识号:A02参与者:用户简要说明:用户通过点击视频进入视频页面前置条件:无基本事件流:用户进入网站首页点击对应的视频封面系统进入到对应的视频播放页面系统获取到视频内容信息,展示封面用户点击视频播放按钮视频开始播放用例结束其他事件流:无异常事件流:返回错误提示信息,提示用户系统出现问题后置条件:无补充说明:无(3)评论功能模块用户在登录完成的情况下,可以对视频进行评论,和其他观看视频的用户进行互动,以及查看评论信息。图3-6评论用例图用例名称:评论用例标识号:A03参与者:用户简要说明:用户通过对视频内容进行评论前置条件:用户需要注册登录基本事件流:用户在评论文本框中输入评论内容输入完成之后点击评论按钮系统对评论信息进行验证验证通过之后对评论内容进行保存,并提示评论成功信息将评论列表进行刷新,获取到信息评论内容用例结束其他事件流:无异常事件流:返回错误提示信息,提示用户评论失败原因后置条件:如果用户评论成功,则刷新评论列表,失败则提示失败原因补充说明:无(4)点赞功能模块用户在登录完成的情况下,可以对感兴趣的视频进行点赞,用于展示视频的受欢迎程度。图3-7点赞用例图用例名称:点赞用例标识号:A04参与者:用户简要说明:用户通过对视频进行点赞前置条件:用户需要注册登录基本事件流:用户进入视频播放页面用户对喜欢的视频进行点赞系统对用户的点赞信息进行验证,改变按钮状态提示点赞信息用例结束其他事件流:无异常事件流:返回错误提示信息,提示用户点赞失败原因后置条件:如果用户点赞成功,则将按钮状态改变补充说明:无(5)收藏功能模块用户在登录完成的情况下,可以对感兴趣视频进行收藏,以便之后能够迅速定位到视频的播放位置。图3-8收藏用例图用例名称:收藏用例标识号:A04参与者:用户简要说明:用户通过对视频进行收藏前置条件:用户需要注册登录基本事件流:用户进入视频播放页面用户对感兴趣的视频进行收藏系统对用户的收藏信息进行验证,改变按钮状态提示收藏信息收藏完成之后用户可以在收藏夹中找到收藏内容用例结束其他事件流:无异常事件流:返回错误提示信息,提示用户收藏失败原因后置条件:如果用户收藏成功,则将按钮状态改变补充说明:无管理员功能模块(1)管理员管理模块权限高的管理员可以对权限低的管理员功能进行禁用,也能新增其它管理员,修改管理员信息,为管理员分配角色。图3-9管理员管理用例图用例名称:管理员管理用例标识号:B01参与者:管理员简要说明:管理员对其它管理员进行管理前置条件:管理员需要登录基本事件流:管理员先填入登录信息系统验证成功之后,将入到后台管理首页点击管理员管理,进入管理员管理页面管理员可以新增,也可以为其它管理员分配角色管理员禁用其它管理员用例结束其他事件流:登录信息错误时,提示管理员重新登录异常事件流:返回错误提示信息,提示管理员登录失败原因后置条件:管理员先对角色分配权限补充说明:无(2)用户管理模块管理员可以用户的功能进行禁用与启用,也能新增用户账号。图3-10用户管理用例图用例名称:用户管理用例标识号:B02参与者:管理员简要说明:管理员对用户进行管理前置条件:管理员需要登录基本事件流:点击用户管理,进入用户管理页面管理员对用户进行管理管理员可以禁用/启用用户管理员可以查看用户评论信息用例结束其他事件流:无异常事件流:返回错误提示信息,提示管理员用户管理失败原因后置条件:无补充说明:无(3)权限管理模块管理员可以获取到权限列表。图3-11权限管理用例图用例名称:权限管理用例标识号:B03参与者:管理员简要说明:管理员对权限列表进行获取前置条件:管理员需要登录基本事件流:点击权限管理,进入权限管理页面管理员可以查看权限列表信息用例结束其他事件流:无异常事件流:返回错误提示信息,提示管理员权限列表获取失败原因后置条件:无补充说明:无(4)角色管理模块管理员可以新增角色信息,删除角色信息,修改角色信息,为角色分配权限功能。图3-12角色管理用例图用例名称:角色管理用例标识号:B04参与者:管理员简要说明:管理员对角色进行管理前置条件:管理员需要登录基本事件流:点击角色管理,进入角色管理页面点击新增角色,弹出新增角色表单点击分配权限按钮,弹出为角色分配权限弹窗点击删除角色按钮,删除角色信息用例结束其他事件流:获取权限列表异常事件流:返回错误提示信息,提示管理员权限列表获取失败原因后置条件:无补充说明:无(5)视频管理模块管理员能对视频进行上传,对视频进行删除,为视频进行分类,对视频的基本信息进行修改,如视频名、视频描述等。图3-13视频管理用例图用例名称:视频管理用例标识号:B05参与者:管理员简要说明:管理员对视频进行管理前置条件:管理员需要登录基本事件流:点击视频管理,进入视频管理页面点击视频上传按钮,弹出视频选择弹窗选择要上传的视频文件,点击确定显示视频上传进度,上传完成之后,提示管理员完成视频上传,重新获取上传列表信息用例结束其他事件流:获取已上传视频列表异常事件流:返回错误提示信息,提示管理员失败原因后置条件:无补充说明:无(6)评论管理模块管理员能对违规评论内容进行隐藏,禁用或者删除等操作,之后再视频评论页面不显示违规评论内容。图3-14评论管理用例图用例名称:评论管理用例标识号:B06参与者:管理员简要说明:管理员对评论内容进行管理前置条件:管理员需要登录基本事件流:点击评论管理,进入评论管理页面点击评论内容,查看评论被举报原因点击审批完成,填入审批表单,是否隐藏评论信息点击确认之后,系统进行处理处理完成之后返回处理结果,提示管理员用例结束其他事件流:获取评论列表信息获取用户信息异常事件流:返回错误提示信息,提示失败原因后置条件:无补充说明:无(7)分类管理模块管理员能新增分类信息,删除分类信息,为之后视频分类提供分类信息。图3-15分类管理用例图用例名称:分类管理用例标识号:B07参与者:管理员简要说明:管理员对视频分类进行管理前置条件:管理员需要登录基本事件流:点击分类管理,进入分类管理页面点击新增分类,弹出新增分类表单点击删除按钮,弹出删除确认框对新增的视频分类进行验证完成之后提示信息用例结束其他事件流:获取已经上传的视频列表异常事件流:返回错误提示信息,提示失败原因后置条件:无补充说明:无系统详细设计系统总体设计由图5-1可知,视频在线播放系统分为两种使用情况:一种为普通用户进行使用,用户在未登录情况下,可以以游客的身份对视频进行观看,并且可以查看视频基本信息,以及查看评论信息。但必须在注册登录之后才能对视频进行评论,以及对违规评论进行举报,收藏视频,点赞视频等;一种是管理员进行使用,高权限的管理员可以对其它管理员进行管理,也能对用户进行管理,启用用户,禁用用户评论功能,或者禁用违规用户登录功能;也能查看权限列表,为角色分配权限,删除角色,新增角色,为管理员分配角色;还有查看评论列表,禁用评论内容;为视频分配分类,上传视频,下架视频等功能。图4-1系统结构图图4-2视频在线播放平台模块划分图图4-3普通用户使用功能模块图图4-4管理员使用功能模块图图4-5管理员使用功能模块图(附)图4-6在线播放系统类图功能模块设计普通用户使用功能模块(1)用户注册模块用户点击注册按钮跳转到注册页面,填入对应的注册信息之后,后台接口对信息进行验证,没有错误则进行注册,注册完成之后跳转到登录页面进行登录。图4-7用户注册流程图图4-8用户注册状态图(2)用户登录模块用户点击登录按钮跳转到登录页面,填入对应的登录信息之后,后台接口对信息进行验证,没有错误则进行登录,保存数据,返回用户登录的token数据。图4-9用户登录流程图图4-10用户登录状态图(3)用户评论模块用户登录完成之后,可以在评论输入框中输入评论内容,之后点击提交按钮,经前台以及后台验证之后,验证成功,评论内容符合社会主义价值观,刷新评论列表,重新获取评论内容。图4-11用户评论流程图图4-12用户评论状态图(4)用户举报模块用户登录完成之后,对一些违规评论内容进行举报,点击举报按钮之后,弹出举报表弹窗,选择举报原因,填入其它举报内容信息,通过后台验证之后,内容无误,则举报成功,将对应评论的举报数量加1。图4-13用户举报流程图图4-14用户举报状态图管理员使用功能模块(1)管理员登录模块管理员点击进入后台登录页面,填入对应的登录信息之后,后台接口对信息进行验证,没有错误则进行登录,保存数据,返回管理员登录的token数据。图4-15管理员登录流程图图4-16管理员登录状态图(2)管理员注册模块管理员注册需要先登录有新增管理员权限的管理员账号,再对管理员信息进行注册,注册成功之后返回注册成功信息,并在管理员列表中列出新的管理员信息。图4-17管理员注册流程图图4-18管理员注册状态图(3)管理员权限管理模块先登录管理员账号,之后新增角色,或者可以选择已有角色,为管理员分配角色信息。如需要新增角色信息,则需要填入新增角色信息表单,填入表单数据之后,对角色进行保存,保存之后,为新增的角色分配权限,分配完成权限之后,再为管理员分配角色,使管理员有对应的权限。图4-19管理员权限管理流程图图4-20管理员权限管理状态图(4)管理员视频管理模块先登录管理员账号,之后选择需要上传的视频,因为系统之后上传方式一般都是远程进行上传,所以后台处理需要使用远程上传的方式,在上传完视频之后,再对上传成功的视频进行分类,选择已经新增的分类信息之后,对视频进行分类,为视频分类成功之后返回成功信息。图4-21管理员视频管理流程图图4-22管理员视频管理状态图(5)管理员分类管理模块先登录管理员账号,之后选择已经上传完成的视频,点击分类按钮,弹出分类弹框,选择已经存在的分类信息,点击确定之后,为当前视频进行分类,再重新从数据库中获取新的数据信息。图4-23管理员分类管理流程图图4-24管理员分类管理状态图数据库设计数据库概念设计图5-1总体E-R图管理员表图5-2管理员实体E-R图用户表图5-3用户实体E-R图权限表图5-4权限实体E-R图分类表图5-5分类实体E-R图角色表图5-6角色实体E-R图视频表图5-7视频实体E-R图评论表图5-8评论实体E-R图实体属性管理员管理员:管理员包括管理员ID、管理员账号、管理员密码、管理员名称、管理员状态、管理员头像存放地址。用户用户:用户包括用户ID、用户账号、用户密码、用户名称、用户状态、用户存放地址。权限权限:权限包括权限ID、权限名称、权限等级、父级权限ID、权限可访问地址。分类分类:分类包括分类ID、分类等级、父级分类ID。角色角色:角色包括角色ID、角色名称、角色备注。视频视频:视频包括视频ID、视频标题、视频上传名、视频点击量、视频存放地址、视频海报存放地址、视频大小、加密验证信息。评论评论:评论包括评论ID、评论内容、评论被举报次数。数据库的逻辑结构数据库表之间的关系图5-9数据库表之间的关系图数据库表物理结构(1)管理员信息表(tb_manager)表5-1管理员信息表字段含义类型长度是否为空manager_id管理员主键varchar(48)48NOmanager_account管理员账号varchar(20)20NOmanager_password管理员密码varchar(128)128NOmanager_name管理员名称varchar(20)20NOstatus0为false,1为truetinyint(1)NOmanager_role_id角色外键varchar(48)48YESimg_url头像的存放地址varchar(250)250YES(2)用户信息表(tb_user)表5-2用户信息表字段含义类型长度是否为空user_id用户主键char(32)32NOuser_name用户名称varchar(12)12NOuser_account用户账号varchar(256)256NOuser_password用户密码varchar(128)128NOis_forbiden0为false,1为truetinyint(4)4NOimg_url角色外键varchar(256)256YES(3)权限信息表(tb_right)表5-3权限信息表字段含义类型长度是否为空right_id权限主键varchar(48)48NOright_name权限名称varchar(20)20YESright_level权限等级varchar(30)30YESright_parent_id权限父外键varchar(255)255YESurl访问路径varchar(255)255YES(4)分类信息表(tb_classify)表5-4权限信息表字段含义类型长度是否为空classify_id分类主键varchar(48)48NOclassify_name分类名varchar(20)20NOclassify_parent_id分类父外键,如果没有,则为0varchar(48)48YESclassify_level分类等级varchar(30)30YES(5)角色信息表(tb_role)表5-5角色信息表字段含义类型长度是否为空role_id角色主键varchar(48)48NOrole_name角色名称varchar(20)20NOrole_remark角色描述varchar(20)20NO(6)视频信息表(tb_video)表5-6视频信息表字段含义类型长度是否为空video_id视频主键bigint(48)48NOvideo_title显示在客户端的视频标题(如叶问)varchar(40)40YESvideo_name上传的视频名varchar(40)40NOvideo_hit视频点击量bigint(48)48NOvideo_url视频存放地址varchar(256)256NOvideo_img视频海报存放地址varchar(256)256YESvideo_size视频大小varchar(256)256YESvideo_md5加密验证信息varchar(48)48YESmanager_id管理员外键varchar(48)48YESclassify_id分类外键int(4)4YES(7)评论信息表(tb_comment)表5-7评论信息表字段含义类型长度是否为空comment_id评论主键bigint(48)48NOcomment_content评论内容varchar(500)500NOcomment_report被举报次数varchar(200)200YEScomment_report_reason被举报原因varchar(50)50YESuser_id用户外键bigint(48)48NOvideo_id视频外键bigint(48)48NO系统实现用户使用用户注册用户点击登录按钮之后,如果没有注册账号,则点击注册链接,弹出注册弹窗进行用户注册。点击确定之后,前台访问/user/register,并且传入注册表单对象,后台使用@RequestMapping映射到请求地址,请求到后台接口地址为/user/register的接口,对请求信息进行注册保存。图6-1用户注册图6-2控制层图6-3业务逻辑层用户登录用户点击登录按钮之后,弹出登录弹窗,填入登录信息。点击确定之后,前台访问/user/login,并且传入登录表单对象,后台使用@RequestMapping映射到请求地址,请求到后台接口地址为/user/login的接口,对请求信息进行登录保存,保存到redis内存数据库中,以加快数据获取速度,并且返回用户登录的userToken数据。图6-4用户注册图6-5控制层图6-6业务逻辑层视频观看功能用户进入主页之后,点击对应的视频封面或者播放地址,跳转到对应的播放页面,点击视频播放,即可播放视频。在视频播放页面进入前,于视频首页时,已经从后台获取到展示的视频数据,进入视频播放页面时,传入对应的视频播放地址。请求到后台接口地址为/video/getVideoList的接口。图6-7视频播放图6-8控制层图6-9业务逻辑层用户评论功能用户进入视频播放页面之后,由于父页面传入对应的视频id,所以可以从后台拿到对应的评论信息,拿到评论信息之后,将数据展示在前台中,并附上评论输入弹框,输入评论信息,然后前台以及后台对其进行验证,验证通过,则新增评论信息。首先是评论列表的获取,请求后台接口地址/comment/getCommentList/{videoId},获取到该视频对应的评论内容。图6-10评论列表图6-11控制层图6-12业务逻辑层然后用户进行评论,在评论框中输入评论内容,点击去评论之后,请求后台接口地址/comment/addComment,并传入评论对象,最后由后台接口对数据进行保存。图6-13评论内容图6-14控制层图6-15业务逻辑层点赞功能用户进入视频播放页面之后,如果之前没有对该视频进行点赞,则显示点赞按钮为灰色,点赞后调用接口。一开始进入视频页面时,调用接口/user/getThumb,查看视频是否已经被点赞,如果没有,则显示按钮为灰色,如果有,则显示按钮为黄色。如果视频已经被当前登录用户点赞,再进行点击则取消点赞,显示为灰色。图6-16点赞图6-17控制层图6-18业务逻辑层收藏功能与点赞功能处理逻辑基本一致,到后面用户可以在自己的个人中心中查看收藏的视频,如果之前没有对该视频进行收藏,则显示收藏按钮为灰色,收藏后调用接口。一开始进入视频页面时,调用接口/user/getCollection,查看视频是否已经被收藏,如果没有,则显示按钮为灰色,如果有,则显示按钮为黄色。图6-19收藏图6-20控制层图6-21业务逻辑层举报功能当用户查看到某些违规或者不合适的评论内容时,可以点击举报按钮,弹出举报弹窗,选择举报信息,或者填入举报说明。然后请求后台接口地址/comment/report/{ids}/{commentId},后台接收到请求之后,进行处理,将评论的举报次数添加,最后交给管理员进行处理。图6-22举报弹窗图6-23控制层图6-24业务逻辑层管理员使用管理员登录点击管理员登录标签,跳转到管理员登录页面,登录完成之后,将后台返回的token数据保存在前台sessionStorage中,并跳转到管理平台页面。前台访问后台的/manager/login接口,后台通过@RequestMapping将请求分发到对应的接口中,处理请求信息,最后返回token数据。图6-25管理员登录图6-26控制层图6-27业务逻辑层新增管理员管理员登录之后,如果有添加管理员权限,则可以点击添加管理员按钮,显示管理员添加弹窗,填入表单值,请求后台接口。前台请求接口/manager/register,添加新的管理员,添加完成之后,将新添加的管理员信息获取并显示在前台页面中。图6-28新增管理员图6-29控制层图6-30业务逻辑层图6-31业务逻辑层(附)获取管理员列表管理员登录之后,如果有获取管理员列表权限,则可以从后台获取管理员列表信息,请求后台接口。前台请求接口/manager/getManagerList,并传入分页信息,获取到管理员列表信息,接收完成之后,显示在前台页面中。图6-32获取管理员列表图6-33控制层图6-34业务逻辑层修改管理员信息管理员登录之后,如果有修改管理员的权限,则可以从对管理员信息进行修改,默认超级管理员的信息不能被修改,当请求修改超级管理员信息时,提示无法被修改。前台请求接口/manager/edit,并传入修改的表单信息,传入到后台,后台接口数据之后对数据进行修改,修改完成之后前台重新获取管理员列表数据,重新显示新的数据于前台页面。图6-35超级管理员无法被修改图6-36修改管理员信息图6-37控制层图6-38业务逻辑层删除管理员管理员登录之后,如果有删除管理员的权限,则可以从对管理员信息进行删除,默认超级管理员的信息不能被删除,当请求删除超级管理员信息时,提示无法被删除。前台请求接口/manager/delete,并传入要删除的管理员id,传入到后台,后台接口数据之后对数据进行删除,删除完成之后前台重新获取管理员列表数据,重新显示新的数据于前台页面。图6-39删除管理员图6-40控制层图6-41业务逻辑层为管理员分配角色管理员登录之后,如果有为管理员分配管理员的权限,则可以从对管理员的角色进行设置,默认超级管理员的角色为主管,不能被重新设置,当请求设置超级管理员角色时,提示无法被修改。前台请求接口/manager/setManagerRole,并传入要设置的管理员id以及角色id,传入到后台,后台接口数据之后对数据进行设置,设置完成之后前台重新获取管理员列表数据,重新显示新的数据于前台页面。图6-42为管理员分配权限图6-43控制层图6-44业务逻辑层权限列表获取管理员登录之后可以对权限列表进行查看,默认不能修改,因为权限目前已经设定为无法修改的状态,只能获取权限列表信息。前台请求接口/rights/list,获取到所有权限列表,对权限列表进行查看。图6-45获取权限列表图6-46控制层图6-47业务逻辑层获取角色列表信息管理员登录之后可以对角色列表进行查看,主管角色默认不能修改,也不能删除,拥有最高权限。获取角色列表的同时获取到角色所拥有的权限,因为之后分配权限时需要查看该角色拥有哪些权限。前台请求接口/role/getRoles,获取到所有角色列表还有角色所拥有的权限。图6-48业务逻辑层图6-49业务逻辑层图6-50业务逻辑层新增角色点击添加角色按钮,弹出添加角色表单,点击确定,向后台接口发送请求数据。前台请求接口/role/addRole,获取到添加表单中的表单数据发送到后台接口。图6-51添加角色图6-52控制层图6-53业务逻辑层为角色分配权限点击分配权限按钮,弹出权限分配表单,选择完权限之后,点击确定,向后台接口发送请求数据,为角色分配权限。前台请求接口/right/setRights,获取到权限分配表单中的表单数据发送到后台接口。图6-54分配权限图6-55控制层图6-56业务逻辑层图6-57业务逻辑层(附)获取视频分类点击视频分类管理,进入视频分类管理页面,获取到视频分类信息。前台请求接口/classify/getClassifyList,获取到视频分类信息。图6-58获取分类图6-59控制层图6-60业务逻辑层新增视频分类点击添加分类按钮,弹出添加分类表单,填入表单信息,向后台发送添加视频分类请求。前台请求接口/classify/addClassify,后台获取到要新增的视频分类信息。图6-61添加分类图6-62控制层图6-63业务逻辑层删除视频分类点击分类标签右边的删除按钮,弹出删除确认弹窗,点击确认,则请求后台删除对应的数据,点击取消,则隐藏弹窗。前台请求接口/classify/deleteClassify,后台获取到要删除的视频分类信息。图6-64删除确认图6-65控制层图6-66业务逻辑层图6-67业务逻辑层(附)视频上传点击视频上传进入到视频上传页面,点击选择文件,选择视频类型文件,确认之后自动上传视频文件,并且将要上传的视频文件进行切割分片,使用分片进行上传。前台请求接口/video/upload,后台获取到要上传的视频分片信息,先将每一个分片保存,当视频文件上传完整之后,再将整个文件进行合并,最后再删除临时分片文件,并将文件上传到Linux系统中,由FastDFS分布式文件系统进行管理。图6-68视频文件上传图6-69控制层图6-70业务逻辑层视频分配分类进入视频分类页面,获取到所有视频信息,将未分配分类的视频显示在顶部,已分配分类的文件放与底部,点击分类或者重新分类之后,弹出分类弹框,将分类信息填入表单中,点击确认,将分配分类信息请求发送到后台。前台请求接口/video/classify,后台获取分配分类信息,将数据保存到数据库中。图6-71视频分类分配图6-72控制层图6-73业务逻辑层系统测试系统功能测试用户使用功能模块测试(1)用户注册模块测试表7-1用户注册功能模块测试用例描述测试步骤预期结果实际结果测试是否通过能否正常输入账号点击账号输入框,随意输入字符字符输入正常字符输入正常是能否正常输入密码点击密码输入框,随意输入字符,不能超过指定位数字符输入正常字符输入正常是能否正常输入昵称点击昵称输入框,随意输入字符,指定位数之内字符输入正常字符输入正常是用户注册文本框输入正确信息后,点击注册账号注册成功,跳转到登录弹窗注册成功,跳转到登录弹窗是用户注册文本框输入错误信息后,点击注册账号注册失败,回显错误信息注册失败,回显错误信息是(2)用户登录模块测试表7-2用户登录功能模块测试用例描述测试步骤预期结果实际结果测试是否通过能否正常输入账号点击账号输入框,随意输入字符,指定位数之内字符输入正常字符输入正常是能否正常输入密码点击密码输入框,随意输入字符,不能超过指定位数字符输入正常字符输入正常是用户登录文本框输入信息登录成功跳转到原页面是用户登录文本框输入信息登录失败回显失败原因是(3)视频观看功能测试表7-3视频观看功能测试用例描述测试步骤预期结果实际结果测试是否通过能否正常打开视频观看点击播放按钮视频进行播放视频进行播放是(4)用户评论功能测试表7-4用户评论功能测试用例描述测试步骤预期结果实际结果测试是否通过能否正常向评论文本框输入信息点击文本输入框,输入内容正常输入内容正常输入内容是能否正常评论,以及获取到评论数据输入评论信息,进行点击评论按钮进行评论显示评论成功提示框,并获取到评论内容显示评论成功提示框,并获取到评论内容是(5)点赞功能测试表7-5点赞能测试用例描述测试步骤预期结果实际结果测试是否通过点击点赞按钮点击视频的点赞按钮提示点赞成功或者取消点赞成功提示点赞成功或者取消点赞成功是(6)收藏功能测试表7-6收藏能测试用例描述测试步骤预期结果实际结果测试是否通过点击收藏按钮点击视频的收藏按钮提示收藏成功或者取消收藏成功提示收藏成功或者取消收藏成功是(7)举报功能测试表7-7举报功能测试用例描述测试步骤预期结果实际结果测试是否通过点击举报按钮,弹出举报弹窗点击举报按钮,弹出举报弹窗弹出举报弹窗,并且获取到举报原因弹出举报弹窗,并且获取到举报原因是点击举报选择举报原因之后,点击举报按钮举报成功,弹出提示信息举报成功,弹出提示信息是点击举报选择举报原因之后,点击举报按钮举报失败,弹出提示信息举报失败,弹出提示信息是管理员使用功能模块测试(1)管理员登录模块测试表7-8管理员登录模块测试用例描述测试步骤预期结果实际结果测试是否通过能否正常输入账号点击账号输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是能否正常输入密码点击密码输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是管理员登录文本框输入正确信息后,点击登录按钮登录成功,跳转到登录管理员首页登录成功,跳转到登录管理员首页是管理员登录文本框输入正确信息后,点击登录按钮登录失败,回显错误信息登录失败,回显错误信息是(2)新增管理员测试表7-9管理员新增测试用例描述测试步骤预期结果实际结果测试是否通过能否正常输入账号点击账号输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是能否正常输入密码点击密码输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是能否正常输入昵称点击昵称输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是能否正常上传头像点击头像上传头像上传成功头像上传成功是管理员新增文本框输入正确信息后,点击确认按钮新增管理员,重新获取到管理员列表新增管理员,重新获取到管理员列表是管理员新增文本框输入正确信息后,点击确认按钮新增失败,回显错误信息新增失败,回显错误信息是(3)获取管理员列表测试表7-10管理员列表获取测试用例描述测试步骤预期结果实际结果测试是否通过能否正常获取管理员列表管理员管理标签,进入管理员管理页面正常获取到管理员列表信息正常获取到管理员列表信息是(4)修改管理员信息测试表7-11管理员信息修改测试用例描述测试步骤预期结果实际结果测试是否通过能否正常输入密码点击密码输入框,随意输入字符,在指定位数范围之内正常输入字符正常输入字符是能否正常获取账号信息进入管理员修改页面时,自动填入管理员账号信息正常获取到管理员账号信息,并填入输入框正常获取到管理员账号信息,并填入输入框是否能能够正常输入昵称点击昵称输入框,随意输入字符,在指定位数范围之内正常输入字符正常输入字符是修改管理员信息文本框输入正确信息后,点击确认按钮修改成功,提示信息修改成功,提示信息是修改管理员信息文本框输入正确信息后,点击确认按钮修改失败,提示信息修改失败,提示信息是(5)删除管理员测试表7-12删除管理员测试用例描述测试步骤预期结果实际结果测试是否通过能否正常弹出提示框点击删除按钮弹出删除确认提示框弹出删除确认提示框是能否正常删除管理员删除确认弹窗点击确认删除成功,提示删除成功信息删除成功,提示删除成功信息是能否正常删除管理员删除确认弹窗点击确认删除失败,提示信息删除失败,提示信息是(6)为管理员分配角色测试表7-13为管理员分配角色测试用例描述测试步骤预期结果实际结果测试是否通过能否正常弹出弹窗点击分配角色按钮弹出分配角色弹窗弹出分配角色弹窗是能否正常获取到管理员昵称以及当前角色点击分配角色按钮,弹出分配角色弹窗正确获取到数据正确获取到数据是获取到可以分配的角色列表信息点击分配角色按钮,弹出分配角色弹窗正确获取到数据正确获取到数据是能否正常分配角色点击分配角色按钮,弹出分配角色弹窗,点击确认分配角色成功,弹出提示信息分配角色成功,弹出提示信息是能否正常分配角色点击分配角色按钮,弹出分配角色弹窗,点击确认分配角色失败,弹出提示信息分配角色失败,弹出提示信息是(7)权限列表获取测试表7-14权限列表获取测试用例描述测试步骤预期结果实际结果测试是否通过能否正常获取权限列表点击权限管理标签,进入权限列表页面正常获取到权限列表信息正常获取到权限列表信息是(8)角色获取测试表7-15角色列表获取测试用例描述测试步骤预期结果实际结果测试是否通过能否正常获取角色列表点击角色管理标签,进入角色列表页面正常获取到角色列表信息正常获取到角色列表信息是(9)新增角色测试表7-16新增角色测试用例描述测试步骤预期结果实际结果测试是否通过能否正常输入角色名点击角色名输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是能否正常输入角色描述点击角色描述输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是角色新增文本框输入正确信息后,点击确认按钮新增角色,重新获取到角色列表新增角色,重新获取到角色列表是角色新增文本框输入正确信息后,点击确认按钮新增失败,回显错误信息新增失败,回显错误信息是(10)为角色分配权限测试表7-17为角色分配权限测试用例描述测试步骤预期结果实际结果测试是否通过能否正常弹出弹窗点击分配权限按钮弹出分配权限弹窗弹出分配权限弹窗是获取到可以分配的权限树信息点击分配权限按钮,弹出分配权限弹窗正确获取到数据正确获取到数据是能否正常分配权限点击分配权限按钮,弹出分配角色弹窗,点击确认分配权限权限成功,弹出提示信息分配权限成功,弹出提示信息是能否正常分配权限点击分配角色按钮,弹出分配角色弹窗,点击确认分配权限失败,弹出提示信息分配权限失败,弹出提示信息是(11)获取视频分类测试表7-18获取视频分类测试用例描述测试步骤预期结果实际结果测试是否通过能否正常获取视频分类树点击视频分类管理标签,进入视频分类列表页面正常获取到视频分类树信息正常获取到视频分类树信息是(12)新增视频分类测试表7-19新增视频分类测试用例描述测试步骤预期结果实际结果测试是否通过能否正常获取父级分类名点击新增视频分类按钮,弹出添加视频分类弹窗正常获取数据正常获取数据是能否正常输入分类名点击新增分类名输入框,随意输入字符,在指定位数范围之内字符输入正常字符输入正常是分类新增文本框输入正确信息后,点击确认按钮新增分类,重新获取到分类树新增分类,重新获取到分类树是分类新增文本框输入正确信息后,点击确认按钮新增分类,重新获取到分类树新增失败,回显错误信息是(13)删除视频分类测试表7-20删除视频分类测试用例描述测试步骤预期结果实际结果测试是否通过能否正常弹出删除确认弹窗点击删除视频分类按钮,弹出删除确认弹窗弹出删除分类确认弹窗弹出删除分类确认弹窗是分类删除点击确认删除按钮分类删除成功,重新获取分类树分类删除成功,重新获取分类树是分类删除点击确认删除按钮分类删除失败,提示信息分类删除失败,提示信息是(14)视频上传测试表7-21上传视频测试用例描述测试步骤预期结果实际结果测试是否通过能否正常上传视频点击视频上传按钮,选择要上传的视频在页面中显示要上传的文件信息,以及文件上传进度信息在页面中显示要上传的文件信息,以及文件上传进度信息是文件能否正常分片点击视频上传按钮,选择要上传的视频查看控制台输出内容,输出内容为分片信息查看控制台输出内容,输出内容为分片信息是上传点击上传按钮,再点击开始上传上传文件成功,提示上传成功信息上传文件成功,提示上传成功信息是上传点击上传按钮,再点击开始上传上传文件失败,提示上传失败信息上传文件失败,提示上传失败信息是(15)视频分类分配测试表7-22视频分类分配测试用例描述测试步骤预期结果实际结果测试是否通过能否正常获取可以分配分类的分类名点击视频分配分类按钮,弹出分类弹窗正常获取到视频分类信息正常获取到视频分类信息是能否正常输入视频名随意输入字符,在指定位数范围之内字符输入正常字符输入正常是确认分类点击确认按钮视频分类成功,提示分类成功信息视频分类成功,提示分类成功信息是确认分类点击确认按钮视频分类失败,提示分类失败信息视频分类失败,提示分类失败信息是总结经过这一段时间的项目开发过程中,使我学到了很多新的东西,同时也巩固了之前的基础知识,但是在开发过程中,我也意识到了自己在知识上的一些不足之处。在经过一边开发一边学习的过程中,我学习到了很多之前从未接触过的新知识,之前我擅长的领域都是偏向于后台开发为主,而忽略了前台开发的学习,当需要个人单独完成整个项目时,则必须再花时间学习前端的知识内容,也了解的前端开发的一些基本处理逻辑的开发方式,还有一些比较流行的开发组件。其次是后台的Java内容,经过此次项目,收获最大的就是对于Java知识的掌握更加巩固,我对于Java的一些基础知识有了更进一步的了解,以及一些进阶知识的掌握。就比如在开发上传视频过程中所遇到的一系列问题。首先是开发时上传单个大文件,后台接收到一个超2G的大文件时,无法对文件进行接收,因为Java的虚拟机内存分配无法直接分配2G的内存空间,所以会抛出内存超出异常。而处理需要对应处理的方式则是将文件进行切割,分为多个小文件分批次进行上传,从而解决内存空间不足的问题。而随之而来的就是单线程上传文件所带来的阻塞问题,最开始采用的是阻塞式单线程的IO流来进行传输,因为最原始的JavaIO流是阻塞的流,而对于一个系统来说,同时只能处理一个用户的上传文件请求,这明显是完全不合理的,所以之后使用Java的NIO非阻塞流进行文件上传,经过一段时间的学习,发现上传文件的NIO上传文件流,内部也是阻塞的,而且只适用于本机上传,不适合远程接收上传,所以需要另一种实现方式。那就是采用多线程的处理方式,将每一个用户上传文件请求都分配一个线程,通过多线程的方式,对分片文件进行处理,解决同时系统同时只能上传单个文件的问题。不过目前的流还是阻塞的,所以在最后再对系统进行优化,继续使用NIO非阻塞处理,但不采用NIO的文件上传流,而是使用字节流进行传输,将阻塞流改为非阻塞流。我觉得这个项目中,我对于多线程以及Java的流有了很深入的理解。但是目前项目中,还可以再继续进行优化,比如NIO上传时,因为其的内部实现原因,有可能会出现EpollBug问题,可能会导致CPU到达100%的使用情况,目前最好的解决方式是采用第三方Netty网络通讯框架进行开发。目前由于时间等因素问题,还无法使用Netty对其进行开发,最后,如果时间允许,我会尝试使用Netty网络通讯框架,将系统进行优化。参考文献郭喆,张诗蒂.中国视频播客网站现状探析[D],上海交通大学,2011,36-41.姜丽秋.视频网站传播模式及发展策略研究[D],湖南师范大学,2015,15-22.郝爽,张浩达.主流视频分享网站的商业化运营研究[D],河北大学,2016,21-22.罗好.视频网站弹幕视频传播影响因素研究[D],哈尔滨工业大学,2017,10-15.吴国勇.网络视频流媒体技术与应用[M],北京邮电大学出版社,2001,16-22.来宾,付晨朴.网站规划建设与管理维护[M],冶金工业出版社,2003,66-70.沙行勉.面向同驻虚拟机的高效共享内存文件系统[J],计算机学报,2019.10-11.陈益,王佩.基于同步机制解决多线程安全问题的应用[J],软件导刊,2018,11-12.邓一贵.基于文本内容的敏感词决策树信息过滤算法[J],计算机工业,2014,04-08.施瓦茨.高性能MySQL[M],电子工业出版社,2013,56-70.致谢时光荏苒,日月如梭,转眼间四年的大学生活已经快要结束,而我也将面对新的征程,踏上社会。而在此之前,我需要感谢哪些对我的毕业设计提供过帮助的人。首先,在这里要感谢我的毕业论文指导老师唐广花唐老师,在论文撰写过程中,我遇到了很多困难和疑惑,但是唐老师给了我很多指导性的意见,帮助我在项目中解决难题,并且指出项目中的不足之处,让我得以改进完善项目功能内容。同时,我还要感谢刘晓瀚同学,他在我的毕业设计期间,帮助我找到前台视频上传分片问题说出现的原因,在我不熟悉前端的情况下,帮助我理解前端控件的代码逻辑,并一同修改控件源码,最终帮助我实现项目中的一个最重要同时也是最复杂的功能。如果没有他的帮助,那这个项目的某些功能实现还需要再花很长的时间。同时,也要感谢毕业论文小组的同学,在我们一起的互帮互助下,才能将我的毕业项目以及毕业论文完成并将其完善。最后,我要感谢东软,感谢我的大学,他给我带来了许多兴趣相投的同学,还有同家人一般的舍友,还有诲人不倦的老师。愿这个港湾承载我们的梦想与希望,与我们一起扬帆远航!

电脑故障检测卡代码表

1、特殊代码"00"和"ff"及其它起始码有三种情况出现:

①已由一系列其它代码之后再出现:"00"或"ff",则主板ok。

②如果将cmos中设置无错误,则不严重的故障不会影响bios自检的继续,而最终出现"00"或"ff"。

③一开机就出现"00"或"ff"或其它起始代码并且不变化则为主板没有运行起来。

2、本表是按代码值从小到大排序,卡中出码顺序不定。

3、未定义的代码表中未列出。

4、对于不同bios(常用ami、award、phoenix)用同一代码代表的意义不同,因此应弄清您所检测的电脑是属于哪一种类型的bios,您可查阅您的电脑使用手册,或从主板上的bios芯片上直接查看,也可以在启动屏幕时直接看到。

5、有少数主板的pci槽只有一部分代码出现,但isa槽有完整自检代码输出。且目前已发现有极个别原装机主板的isa槽无代码输出,而pci槽则有完整代码输出,故建议您在查看代码不成功时,将本双槽卡换到另一种插槽试一下。另外,同一块主板的不同pci槽,有的槽有完整代码送出,如dell810主板只有靠近cpu的一个pci槽有完整代码显示,一直变化到"00"或"ff",而其它pci槽走到"38"后则不继续变化。

6、复位信号所需时间isa与pci不一定同步,故有可能isa开始出代码,但pci的复位灯还不熄,故pci代码停要起始代码上。

代码对照表

00.已显示系统的配置;即将控制INI19引导装入。

01处理器测试1,处理器状态核实,如果测试失败,循环是无限的。处理器寄存器的测试即将开始,不可屏蔽中断即将停用。CPU寄存器测试正在进行或者失败。

02确定诊断的类型(正常或者制造)。如果键盘缓冲器含有数据就会失效。停用不可屏蔽中断;通过延迟开始。CMOS写入/读出正在进行或者失灵。

03清除8042键盘控制器,发出TESTKBRD命令(AAH)通电延迟已完成。ROMBIOS检查部件正在进行或失灵。

04使8042键盘控制器复位,核实TESTKBRD。键盘控制器软复位/通电测试。可编程间隔计时器的测试正在进行或失灵。

05如果不断重复制造测试1至5,可获得8042控制状态。已确定软复位/通电;即将启动ROM。DMA初如准备正在进行或者失灵。

06使电路片作初始准备,停用视频、奇偶性、DMA电路片,以及清除DMA电路片,所有页面寄存器和CMOS停机字节。已启动ROM计算ROMBIOS检查总和,以及检查键盘缓冲器是否清除。DMA初始页面寄存器读/写测试正在进行或失灵。

07处理器测试2,核实CPU寄存器的工作。ROMBIOS检查总和正常,键盘缓冲器已清除,向键盘发出BAT(基本保证测试)命令。.

08使CMOS计时器作初始准备,正常的更新计时器的循环。已向键盘发出BAT命令,即将写入BAT命令。RAM更新检验正在进行或失灵。

09EPROM检查总和且必须等于零才通过。核实键盘的基本保证测试,接着核实键盘命令字节。第一个64KRAM测试正在进行。

0A使视频接口作初始准备。发出键盘命令字节代码,即将写入命令字节数据。第一个64KRAM芯片或数据线失灵,移位。

0B测试8254通道0。写入键盘控制器命令字节,即将发出引脚23和24的封锁/解锁命令。第一个64KRAM奇/偶逻辑失灵。

0C测试8254通道1。键盘控制器引脚23、24已封锁/解锁;已发出NOP命令。第一个64KRAN的地址线故障。

0D1、检查CPU速度是否与系统时钟相匹配。2、检查控制芯片已编程值是否符合初设置。3、视频通道测试,如果失败,则鸣喇叭。已处理NOP命令;接着测试CMOS停开寄存器。第一个64KRAM的奇偶性失灵

0E测试CMOS停机字节。CMOS停开寄存器读/写测试;将计算CMOS检查总和。初始化输入/输出端口地址。

0F测试扩展的CMOS。已计算CMOS检查总和写入诊断字节;CMOS开始初始准备。.

10测试DMA通道0。CMOS已作初始准备,CMOS状态寄存器即将为日期和时间作初始准备。第一个64KRAM第0位故障。

11测试DMA通道1。CMOS状态寄存器已作初始准备,即将停用DMA和中断控制器。第一个64DKRAM第1位故障。

12测试DMA页面寄存器。停用DMA控制器1以及中断控制器1和2;即将视频显示器并使端口B作初始准备。第一个64DKRAM第2位故障。

13测试8741键盘控制器接口。视频显示器已停用,端口B已作初始准备;即将开始电路片初始化/存储器自动检测。第一个64DKRAM第3位故障。

14测试存储器更新触发电路。电路片初始化/存储器处自动检测结束;8254计时器测试即将开始。第一个64DKRAM第4位故障。

15测试开头64K的系统存储器。第2通道计时器测试了一半;8254第2通道计时器即将完成测试。第一个64DKRAM第5位故障。

16建立8259所用的中断矢量表。第2通道计时器测试结束;8254第1通道计时器即将完成测试。第一个64DKRAM第6位故障。

17调准视频输入/输出工作,若装有视频BIOS则启用。第1通道计时器测试结束;8254第0通道计时器即将完成测试。第一个64DKRAM第7位故障。

18测试视频存储器,如果安装选用的视频BIOS通过,由可绕过。第0通道计时器测试结束;即将开始更新存储器。第一个64DKRAM第8位故障。

19测试第1通道的中断控制器(8259)屏蔽位。已开始更新存储器,接着将完成存储器的更新。第一个64DKRAM第9位故障。

1A测试第2通道的中断控制器(8259)屏蔽位。正在触发存储器更新线路,即将检查15微秒通/断时间。第一个64DKRAM第10位故障。

1B测试CMOS电池电平。完成存储器更新时间30微秒测试;即将开始基本的64K存储器测试。第一个64DKRAM第11位故障。

1C测试CMOS检查总和。.第一个64DKRAM第12位故障。

1D调定CMOS配置。.第一个64DKRAM第13位故障。

1E测定系统存储器的大小,并且把它和CMOS值比较。.第一个64DKRAM第14位故障。

1F测试64K存储器至最高640K。.第一个64DKRAM第15位故障。

20测量固定的8259中断位。开始基本的64K存储器测试;即将测试地址线。从属DMA寄存器测试正在进行或失灵。

21维持不可屏蔽中断(NMI)位(奇偶性或输入/输出通道的检查)。通过地址线测试;即将触发奇偶性。主DMA寄存器测试正在进行或失灵。

22测试8259的中断功能。结束触发奇偶性;将开始串行数据读/写测试。主中断屏蔽寄存器测试正在进行或失灵。

23测试保护方式8086虚拟方式和8086页面方式。基本的64K串行数据读/写测试正常;即将开始中断矢量初始化之前的任何调节。从属中断屏蔽存器测试正在进行或失灵。

24测定1MB以上的扩展存储器。矢量初始化之前的任何调节完成,即将开始中断矢量的初始准备。设置ES段地址寄存器注册表到内存高端。

25测试除头一个64K之后的所有存储器。完成中断矢量初始准备;将为旋转式断续开始读出8042的输入/输出端口。装入中断矢量正在进行或失灵。

26测试保护方式的例外情况。读出8042的输入/输出端口;即将为旋转式断续开始使全局数据作初始准备。开启A20地址线;使之参入寻址。

27确定超高速缓冲存储器的控制或屏蔽RAM。全1数据初始准备结束;接着将进行中断矢量之后的任何初始准备。键盘控制器测试正在进行或失灵。

28确定超高速缓冲存储器的控制或者特别的8042键盘控制器。完成中断矢量之后的初始准备;即将调定单色方式。CMOS电源故障/检查总和计算正在进行。

29.已调定单色方式,即将调定彩色方式。CMOS配置有效性的检查正在进行。

2A使键盘控制器作初始准备。已调定彩色方式,即将进行ROM测试前的触发奇偶性。置空64K基本内存。

2B使磁碟驱动器和控制器作初始准备。触发奇偶性结束;即将控制任选的视频ROM检查前所需的任何调节。屏幕存储器测试正在进行或失灵。

2C检查串行端口,并使之作初始准备。完成视频ROM控制之前的处理;即将查看任选的视频ROM并加以控制。屏幕初始准备正在进行或失灵。

2D检测并行端口,并使之作初始准备。已完成任选的视频ROM控制,即将进行视频ROM回复控制之后任何其他处理的控制。屏幕回扫测试正在进行或失灵。

2E使硬磁盘驱动器和控制器作初始准备。从视频ROM控制之后的处理复原;如果没有发现EGA/VGA就要进行显示器存储器读/写测试。检测视频ROM正在进行。

2F检测数学协处理器,并使之作初始准备。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论