论文网

高职教学视频共享系统的应用与研究

更新时间:2020-03-05 10:35:05点击:

摘    要

随着计算机技术和通信技术的发展,网络和信息技术越来越多地进入到教育领域,对教育领域原有的教学工具、教学方法、尤其是课程教学方法的更新起到了极大地推进作用。高等院校的课程课程教学是学生教学管理工作的重要组成部分,目前我国高校的招生规模不断扩大,在校学生人数不断上升,课程教学任务日趋繁重,课程课程教学任务和教学资源之间的矛盾日益突出,极大地影响了课程教学的效果。

本课题所阐述的系统是采用SpringMVC框架开发的一款高职教学视频共享系统。论文首先对在线教育的研究现状作了分析研究,得知随着互联网技术的飞速发展,教育从线下教育转为线上教育是未来的趋势。接着对该系统进行了详细的需求分析,并运用UML建模技术绘制了相关用例图,为后续的系统详细设计理清了整体的思路。在清晰的明白了系统的功能需求之后,对系统的课程知识库管理、课程在线学习管理、课程在线考试管理、查询统计管理、学习中心和系统管理六个模块进行详细的设计。然后,根据系统各个模块功能的业务逻辑结构,对系统设计的各个功能进行编码实现,以期望达到原定的设计目标。最后,对高职教学视频共享系统进行了全方面的测试,从系统的各个方面的测试指标以及测试数据上来看的话,系统已经达到了预期的目的。

本课题的创新点有三处。其一,系统中采用Pick-KX负载均衡算法对用户的请求进行均衡处理,但Pick-KX负载均衡算法在请求接收时存在着接收能力有限的问题,并且该算法在转发请求时存在着负载计算开销过大,缓存利用率不高,节点的负载抖动现象过于严重等问题,因此本文将采用遗传算法对于Pick-KX负载均衡算法进行改进,并且将改进的Pick-KX负载均衡算法应用于高职教学视频共享系统之中。从两种算法的对比结果中得知,改进的 Pick-KX算法在连接数较大时,能明显加快用户请求的响应和提高系统的吞吐量。其二,把基于Prim的 K-Means聚类算法和基于用户的协同过滤推荐算法结合起来,个性化推荐符合学生自身学习状况的试题,通过学生的答题情况再进行反馈修正,从而可以客观地测评学生对该学科内容的接受程度,同时解决了新用户和新试题冷启动的问题。缩小了问题规模的同时,也减少了计算量,从而降低其算法时间复杂度。其三,系统设计的过程中严格遵循RBAC访问权限设计原则,严格控制好不同角色之间的系统访问操作权限以提高系统数据信息的整体安全性。除此之外,采用Nginx+Apache搭建集群服务器,配合Keepalived搭建 Web集群服务器,这种分布式主从服务器可以将故障点转移到备份服务器上,从而达到保障系统能够长久稳定运行的目的。


关键词:高职教学视频共享系统;SOA架构;SpringMVC框架;PICK-KX算法;基于PRIM的K-Means算法


论文类型:应用研究


 

 Abstract

With the development of computer technology and communication technology, network and information technology have become more and more into the field of education. It has greatly promoted the old teaching tools, teaching methods, and especially the updating of experimental teaching methods. The teaching of experimental courses in Colleges and universities is an important part of the students' teaching management. At present, the enrollment scale of colleges and universities in our country is expanding constantly, the number of students is rising, the task of experimental teaching is becoming more and more heavy, the contradiction between the teaching task and the teaching resources of the experimental course is outstanding, which greatly affects the experimental teaching. The effect.

The system described in this paper is an experimental teaching system based on SOA structure developed by SpringMVC framework. The paper first analyzes the current research status of online education. With the rapid development of Internet technology, it is the future trend of education from offline education to online education. Then the detailed requirement analysis of the system is carried out, and the use case diagram is drawn with the UML modeling technology to clarify the whole idea for the detailed design of the follow-up system. After a clear understanding of the functional requirements of the system, six modules, such as the management of the experimental knowledge base, the online learning and management of the experiment, the online test management of the experiment, the inquiry and statistics management, the learning center and the system management, are designed in detail. Then, according to the business logic structure of the function of each module of the system, each function of the system design is coded to achieve the original design goal. Finally, the experiment teaching system based on SOA architecture is tested in all aspects, and the system has reached the expected goal from the test indicators and the test data in all aspects of the system. 

There are three innovative points in this topic. First, the Pick-KX load balancing algorithm is used to balance the user's request, but the Pick-KX load balancing algorithm has a limited reception ability when the request is received, and the algorithm has too much load calculation overhead and low utilization rate of the load, and the load jitter of the node is too high. In this paper, the genetic algorithm is used to improve the Pick-KX load balancing algorithm, and the improved Pick-KX load balancing algorithm will be applied to the experimental teaching system. From the comparison of the two algorithms, it is found that the improved Pick-KX algorithm can significantly accelerate the response of the user and improve the throughput of the system when the number of connections is large. Secondly, combining the PRIM based K-Means clustering algorithm and the user based collaborative filtering recommendation algorithm, the individual recommends the test questions which conform to the student's own learning situation, and then revise the feedback through the student's answer situation, so as to objectively evaluate the students' acceptance of the subject content and solve the new use. The problem of the cold start of the household and the new test questions. While reducing the scale of the problem, it also reduces the amount of computation, thereby reducing the time complexity of the algorithm. Thirdly, in the process of designing, the system strictly follows the RBAC access authority design principle and strictly controls the system access operation rights between different roles in order to improve the overall security of the system data information. In addition, the cluster server is built with Nginx+Apache and the Web cluster server is built with Keepalived. This distributed master slave server can transfer the fault point to the backup server, so as to achieve the purpose of guaranteeing the system to run for a long time.


Key words:Experimental teaching system;SOA architecture;SpringMVC framework;Pick-KX algorithm; K-Means algorithm based on PRIM

 

目    录

摘    要 I

Abstract III

1 绪论 1

1.1 课题背景及意义 1

1.2 国内外研究现状及对比分析 1

1.2.1国外研究现状 1

1.2.2国内研究现状 2

1.2.3研究现状对比分析 3

1.3研究目标及研究内容 4

1.3.1研究目标 4

1.3.2研究内容 4

1.4 论文的组织结构 4

2 关键技术综述 6

2.1 JavaEE技术 6

2.2 Web服务技术 8

2.3 SpringMVC框架 9

2.4 XML技术 10

2.7数据库技术 12

2.8 Nginx服务器 13

2.9 Pick-KX负载均衡算法 13

2.10遗传算法 14

2.11改进的Pick-KX负载均衡算法 16

2.12 K-means聚类算法 18

2.13基于Prim改进的K-means聚类算法 19

3 需求分析 20

3.1 总体需求 20

3.2 业务流程梳理及分析 20

3.3 功能需求分析 23

3.3.1 课程知识库管理 24

3.3.2 课程在线学习管理 24

3.3.3 课程在线考试管理 25

3.3.4 课程成绩统计查询管理 25

3.3.5 学员中心管理 26

3.3.6 系统管理 26

3.4 非功能性需求分析 27

3.5 小结 27

4 系统设计 28

4.1 系统架构设计 28

4.2 系统功能设计 29

4.3 系统网络拓扑设计 30

5 系统设计与实现 32

5.1 系统功能模块实现 32

5.1.1课程知识库管理功能实现 32

5.1.2课程在线学习管理功能实现 33

5.1.3课程在线考试管理功能实现 34

5.1.4学员中心管理功能 36

5.1.5改进的Pick-KX负载均衡算法的应用 38

5.1.6基于Prim改进算法的应用 41

5.1.7冷启动问题的解决 44

5.2数据库设计 44

5.2.1数据库概念结构设计 44

5.2.2数据库表结构设计 45

5.3 小结 49

6 系统测试 50

6.1测试概述 50

6.2 测试目的 51

6.3测试工具及测试环境 51

6.3.1测试工具 51

6.3.2 测试环境 51

6.4 测试流程 52

6.5典型的测试用例 52

6.5.1在线学习功能测试用例 52

6.5.2课程在线考试管理功能测试用例 53

6.5.3学员管理功能测试用例 54

6.6 测试结果 55

6.7 测试结果分析 55

6.8 小结 56

结论与展望 57

论文总结 57

展望 58

参 考 文 献 59

致谢 61


 

1 绪论

1.1 课题背景及意义

由于现代科学技术的不断发展,尤其是在信息技术方面,新技术层出不穷,同时也衍生出非常多的教育学习方式,在这当中发展前景最大的是通过网络来完成学习,也就是在线学习。这是一种全新的学习模式,利用网络技术通过远程完成学习计划,并且随着网络技术的发展,互联网的普及,这种教育模式也彻底的改变了传统学习模式,不再有时间、地点的限制,学生可以在任何地方、任何时间,根据自己的需求,通过互联网学习自己想学的知识。同时也极大的丰富了教学资源,并且学习互动方式更加的灵活。随着在线学习的发展,各级学校也陆续搭建了自己的在线学习平台,建立数字图书馆以及其他相关的网络教育平台。这彻底的改变了人们的学习习惯,不再依赖课堂教育进行学习,学生通过网络终端,便能够轻松的找到自己想学习的知识,利用各类网络学习平台完成学习计划[1]。在线学习模式能够有效提升我国教育信息化的水平。因此组建一个高职教学视频共享系统对于提升高校学生的课程知识、素质和技能非常有必要。

高校为了对学生的课程知识、素质、技能进行提升,都已经开始拟定建设自身内部的在线教学平台,它的首要功能是满足高校学生平时的学习任务,帮助学生提升自身的课程技能素质和管理能力。几年来,在线教学综合服务平台紧紧围绕高校战略和业务发展,培养了大批管理和技术人才,伴随着在线教育的高速发展,满足教学信息化需求,致力于借助云计算技术和互联网技术打造一个可以让本校学生随时随地进行学习的平台已成为必要[2]。因此结合我工作实践,认为本课题是一个符合当今社会潮流趋势,具有一定的实际开发价值和使用价值。

1.2 国内外研究现状及对比分析

1.2.1国外研究现状

在线学习模式最早是诞生于美国,这种学习模式诞生后发展非常迅速,很快在美国境内便有接近70%的学校搭建了属于自己的在线学习系统,以此来帮助学生们提升自己的各项能力。到了2000年,在线学习模式已经不仅是美国国内流行,在世界各地都开始建设各类在线学习系统[3]。尤其是发达国家更是全力推动在线教育平台的发展,在消费了大量人力物力后,少部分国家取得了相当不错的成绩。以美国为例,全美有差不多四百所学校,有完善的在线教育系统,并且教学内容非常丰富,各类专业基本上都有涉及到。在欧洲,德国和英国比较早就开始对其进行研究,所以它们在在线教育领域也发展的较为领先,不仅国内已经基本实现成熟的在线教育,并且已经开始向国外拓展在线教育市场。通过在线教育模式,能够很好的帮助两国进行各方面的交流合作,并且还可以促进双方各自的教育水平合作发展。从最新的《经济合作与发展组织》报告中得知,目前全球的在线教育市场正以每年55%的速度飞速增长,正在酝酿一场教育革命[4]。

这些年,不仅国内,国外也在加速在线教育的研究工作,许多高校都在积极结合自身的教学特点和方式,逐步进行自己的在线教育系统建设。国内华中师范大学、美国斯坦福大学等高校都在积极推进在线教育建设研究工作[5]。现在,斯坦福大学正在建设网上课程教育系统,利用网络在线教育,帮助学生接受教育。通过这样的在线学习平台,学生能够和世界各地的同学一起学习,一起讨论问题,交换意见。并且斯坦福大学所有的在线教育资料都是免费的,全球各地的学生无需再额外支付费用,便可以轻松的获得这些优秀的学习资料,和斯坦福的老师、学生一起学习。卡内基梅隆大学是美国一间具有研究性质的私立大学[6]。学校规模并不大,开设的学科也不是很多,但是大部分学科的研究水平都达到了世界的顶级水平。同时它还是美国航天局指定的科研承接单位,也是将机器人引入教育领域的奠基人。在学院内的计算机系,有许多和云计算有关的课程。学生可以利用在线学习系统提前对上课内容进行预习,这样在上课时能够很快的融入进去,上课时可以及时的提出自己的疑问,课堂的活跃度很高,教学氛围更加浓厚。另外在使用在线学习系统的时候,可以将自身的学习情况通过系统进行反馈,这样任课老师就能通过系统收集的信息,非常清晰的知道每位学生的实际学习情况,这样就可以对教学计划进行及时修正[7]。

 1.2.2国内研究现状

现在国内的在线教育正在快速发展,随着国家推动“互联网+”教育的政策出台,资本市场更是呈现火热状态[8]。随着国内互联网的发展普及,以及线上教育技术的发展,线下教育模式将逐渐向线上转移[9]。就目前而言,我国在教育方面的支出总额所占全国经济总额的比值远远没有达到发达国家的比例,就连落后印度支出比例也比我们高,所以今后我国在线教育支出将有着非常大的提高空间[10]。

现在国内在线教育还没有全面普及,仍然有着巨大的发展空间。例如在K12、职业培训等教育细分领域,仍然有着非常多的需求没能得到满足,并且每年的需求量还在上升。由于移动互联网的迅速发展,人们利用移动互联网进行碎片化学习的情况越来越多,这意味着移动在线教育市场的用户基数非常庞大,并且还在不断增长[11]。

随着在线教育模式的发展,极大的推动了教育改革的进程,许多学校都在搭建自己的在线教育系统。人们的学习方式也变得更加丰富,不单单是通过以前课堂教学完成学习,利用联网的网络终端,可以很方便的利用在线学习平台,获得自己想要的学习资料。在线教育平台的发展促使我国在教育领域的信息化程度上升到更高的层次。由于在线教育平台中存放着众多学习资料,平台的重要性显而易见,它不但是负责呈现大量的学习资料,而且还必须对用户的各类请求进行处理。现阶段我国在线教育资源发展的并不是很均衡,教育资源没有得到很好的共享利用,有些教育平台的用户学习信息处理方式还很落后。教育资源分布不均,主要是由于我国人口基数非常大,国土面积非常辽阔,在教育资源分配方面会由于各地的经济等因素的差别,出现非常大的差距。一些资金雄厚的学校,可以顺利的搭建适合自己的在线教育系统,但是大多数地方的学校,由于资金不足,相关信息化设备都非常落后,无力进行更新改进。现在有许多高校都在依托自身的教学资源,搭建在线教育系统,这样一个院校一个教育系统,不仅建设成本高,教学资源也相对封闭,不能很好的发挥出在线教育的长处。

华中师范大学是国家教育部直接管理的重点培育高校。该校也搭建了自己的在线教育平台,目前平台上共有超过一百万的注册用户,并且它还和现在其它六十九所网络学校进行合作,共享教学资源[12]。在华中师范校内规定在校生必须要完成至少两门在线课程,并且学校还在开发自己的教育课程,从而方便更多学生通过在线教育平台进行学习。现在我国在线教育行业正处于上升阶段,未来将迎来行业发展的高峰期[13]。随着国内互联网的发展普及,以及线上教育技术的发展,线下教育模式将逐渐向线上转移。

1.2.3研究现状对比分析

国内的在线教育相比于国外而言起步比较慢,虽然国内的在线教育平台已经出现了十几年,在此期间也发展出许多在线教育平台,不过它们都有着非常多的缺陷,特别是和国外先进在线教育平台相比,还存在着非常大的差距[14]。

未来,在线教育模式将会获得更大的发展,也许在未来五到十年内,我国在线教育将进入发展高峰期。不过就现在的发展情况来说,还需要积极开拓在线教育市场,让用户适应在线教育的学习模式,它在国内的发展还非常的不成熟,还有待于相关工作人员共同努力创造更好的发展环境。

现在国内的在线教育平台还是起步阶段,有大量的教育资料正陆续被转移到在线教育平台上,相对于传统的线下教育机构,在线教育平台有非常多的优点,是未来教育发展的趋势。不过如果站在市场经济的角度来分析,在线教育的商业模式还要经过一段时间来验证。现在线下的教育机构模式都发展的非常完善,并且也有一定的规模,线上教育平台和其相比就差了很多。但是线下教育模式也并不是没有缺陷,教育工作者们也在积极的探索线下教育的改革方向,期望进一步的完善线下教育模式。从这一点上来看,这也是在线教育平台未来需要突破的方向[15] 。

1.3研究目标及研究内容

1.3.1研究目标

本课题研究目标是有效地利用计算技术和互联网技术,设计并实现一个基于SOA架构的高职教学视频共享系统应用到课程教学中去,创新课程教学的方式,解决教学任务和教学资源之间的矛盾,提升课程教学的质量,以达到高校为了对学生的课程知识、素质、技能进行提升的目的。

1.3.2研究内容

本课题主要研究内容包括如下:本课题采用SpringMVC框架设计并实现一个高职教学视频共享系统。对人力、物力进行重新管理,改善以往教育资源利用效率低的问题。为学生提供一个强大的技能知识提升平台。主要是从以下几个方面进行开发:

(1)知识库管理。系统的系统管理员需要先在系统上传相应的学习资料搭建出一个比较丰富的数据库,随后开放专业课程给学生使用。

(2)在线学习。系统学员结合自身的实际情况针对教师已经设置好的相关课程进行选课处理。然后按照教师设置好的课程上课时间准时上课。开课后学员可以进行自主的学习。

(3)在线考试。教师在上完相关课程之后,往往需要对学员的实际学习效果进行检测,以确保学员已经达到教师预期的培训目的,并为学员制定相应的学习计划。

(4)查询统计。系统管理员统计查询在线学习、在线考试过程中相关数据的情况,并且将该数据情况直接形成相应的学习报表,通过该报表所反应的内容对在线学习的基本内容以及考试内容进行调整。

1.4 论文的组织结构

本文的组织结构:

第一章为绪论,介绍了高职教学视频共享系统的课题来源,国内外研究现状以及本系统的研究内容。

第二章为需求分析,采用UML的方法对高职教学视频共享系统的功能需求和非功能需求进行分析,同时构建用例图。

第三章为系统总体设计,在需求分析的基础上,借助UML图对系统的主体功能,包括知识管理功能、在线学习功能、在线考试功能、查询统计功能等功能进行详细的功能设计。之后由用例图和系统实体类的分析进行数据库E-R图的构建,最后对数据库的表结构进行详细的设计。

第四章为系统详细设计与实现,依据MVC设计模式和面向对象的编程思想,对整个系统功能进行了全面的设计。以保证系统拥有较强的扩展性以及一定的鲁棒性。

第五章为系统测试,通过对系统的各个模块的功能进行测试,从而发现并修复系统里潜在的错误。

第六章为总结与展望,对于系统的研究工作进行总结,同时对软件的未来发展提出展望。

 

2 关键技术综述

2.1 JavaEE技术

JavaEE技术已经经过验证,适用于各类大量使用自动化智能化管理的公司的应用程序,因此证券公司就特别适合使用JavaEE架构。JavaBean的数据库访问组件技术也可以所需要开发的代码数量,提高开发效率。JavaBean技术简单容易操作。

JavaBean连接数据库是所采用的技术一般存在两种不同的形式,一种是JDBC连接技术。另一种是ODBC连接技术。理论上讲现有的数据库产品中都可以使用ODBC技术进行连接与调用。但是采用ODBC技术连接数据库是需要对数据库产品的数据源连接方式进行开发与调用,某种程度上存在着一定的不便。因此Java语言针对一些主流的数据库产品开发相应的JDBC驱动程序以支持JDBC数据连接技术。JDBC连接技术优化了传统的ODBC连接技术中所存在的缺陷,不仅开发起来变得更为简便,同时数据接口获取数据的方式也更为稳定。数据库操作组件的可以实现的功能分别是连接、插入、修改、查询、删除等。

高职教学视频共享系统采用Java程序设计语言开发一个JSP前台页面处理系统和一个功能完善的数据库访问组件,Java EE 是一种跨平台的互联网技术,它不是单独的一种技术,而是整套的技术体系。Java EE 大体上由 JDBC、S  JSP、JMS、Java  Mail 和 EJB 等这些技术分支所构成。Java EE应用程序包括客户层、Web 层、业务层以及企业信息系统层,实现系统通信、处理功能。高职教学视频共享系统能够顺利建成关键就在于JavaBean数据库各项技术的应用。在开发系统的时候,经常需要对数据库进行很多操作,如查询数据,并对其进行删除、插入和修改数据等,因此为了能够减少开发时间,Java程序用组件接口来方便程序员的操作,进一步对软件进行开发[22]。

软件系统的架构极其关键,相当于一座大厦的结构。如果一座大厦缺乏科学合理的结构设计,就可能会瞬间倒塌。即使各方面的装修都堪称完美,也会随着大厦的倒塌而化为乌有。高职教学视频共享系统的开发工作也是相同道理。在对管理系统进行总体设计时,必须优先重点设计好软件的结构,这样才能方便后期的软件维护以及升级,从而降低资金投入。以当下网络技术的发展方向为基础,系统通过B/S,WEB,SQL SERVER 2012和 Java进行开发和研究。

系统框架最大的优势就是能够多次利用。它由比较抽象的类和实例之间产生影响的方式构成。系统框架能够做到即插即用,性能十分稳定,这就方便了团队之间进行及时的交流与协作。 

JavaBean数据库有着相当复杂的多层结构,这就需要大型 JavaBean数据库项目必须对系统框架通过运行以及模式设计控制软件系统的品质。当下市场上出现了一些开源化和商业化的基于 JavaBean数据库的软件,其中多数软件框架技术有以下几类:以 MVC 模式为基础的Struts 框架、以 IoC 模式为基础的Spring 框架以及对象/关系这种映射框架Hibernate。

JavaBean组件的功能有:

1)连接数据库。

2)把海量数据信息批量导入到数据库中,并利用数据库事务对其进行数据处理。

3)对数据库的内容进行删除操作。

4)对数据库的一些操作进行修改。

5)对数据库进行查询。

在JavaEE的体系结构中,首先由客户端层来负责承载数据,进而与系统的用户进行交互。客户端层的代表有Web客户端、小应用程序(Applet)以及应用程序客户端等。

在JavaEE体系结构中,表示层通常由Servlet容器组成,该层主要是用来接收系统用户输入的数据信息,然后在输出界面上展示服务器端返回的结果数据,同时确保各层间的数据能够正常交流。

业务逻辑层通常是由EJB容器构成的,该容器中可能包含若干个EJB对象,主要进行系统与数据库之间的数据交互操作的工作,并将各类业务数据处理并存储到数据库当中。

除了这三层,其它还有企业信息系统层是专业用于处理公司数据和服务。

Java EE 是一种跨平台的互联网技术,它不是单独的一种技术,而是整套的技术体系。Java EE 大体上由 JDBC、S JSP、JMS、Java Mail 和 EJB 等这些技术分支所构成。Java EE应用程序包括客户层、Web 层、业务层以及企业信息系统层。高职教学视频共享系统能够顺利建成关键就在于Java EE 各项技术的应用。对 Java EE 技术进行进一步的研究,能够增强管理系统工作的产出效果。

本文所设计的高职教学视频共享系统在技术体系上选用JavaEE技术,结合高职教学视频共享系统项目工程应用系统的业务特点,应用系统的建设总体上采用Browser/WebServer/DataBaseServer三层结构的开发模式,实现系统客户端的零部署与维护。

高职教学视频共享系统在技术实现上,基于JavaEE技术路线,采用MVC(模型-视图-控制器设计模式),可以支持跨操作系统部署,支持Unix、Linux、Windows等多种操作系统。MVC三层架构是目前较为常见的一种软件设计模式。该模式的特点实则上就是将软件整体进行局部分层处理。通过将软件的功能以及数据层进行分层次划分,以达到将复杂化的软件结构进行局部简化,并将不同的系统业务功能设计到系统的子功能中,并且给每一个系统的业务功能层留有相应的拓展接口。通过这种设计模式可以有效地降低系统的整体开发难度,切实地提高系统的可拓展性。同时清晰合理的系统结构也使得该系统在后续的维护工作中可以更为简单便捷。目前MVC三层架构的设计从整体上可以划分为以下三种不同的软件层:(1)表现层;(2)业务逻辑层;(3)数据层。

软件系统的架构极其关键,相当于一座大厦的结构。如果一座大厦缺乏科学合理的结构设计,就可能会瞬间倒塌。即使各方面的装修都堪称完美,也会随着大厦的倒塌而化为乌有。客户管理系统的开发工作也是相同道理。在对管理系统进行总体设计时,必须优先重点设计好软件的结构,这样才能方便后期的软件维护以及升级,从而降低资金投入。以当下网络技术的发展方向为基础,系统在 Java EE 中开发各种大规模的软件。

系统框架最大的优势就是能够多次利用。它由比较抽象的类和实例之间产生影响的方式构成。系统框架能够做到即插即用,性能十分稳定,这就方便了团队之间进行及时的交流与协作。

Java EE 有着相当复杂的多层结构,这就需要大型 Java EE 项目必须对系统框架通过运行以及模式设计控制软件系统的品质。

2.2 Web服务技术

    高职教学视频共享系统运行过程中,各模块之间的业务逻辑调用十分频繁。本文通过利用 Web服务技术实现对系统的实际业务逻辑进行解析,并根据解析所获得的数据进行处理。最终将处理完成的数据给予基本的封装与查询等操作。

    Web服务技术与数据库的查找技术在很大程度上是不同的,但前者在技术层面对后者有所借鉴。对数据信息进行的挖掘并非简单意义上的查询,而是能够从大量的信息数据库挖掘有价值的潜在信息。这就需要对这些信息展开一些分析推理。由于信息化时代不断迅猛地推进,计算机技术日趋成熟,Web服务技术也广泛使用。Web服务技术是有针对性的,即此类信息数据不能杂乱无章,必须是经过规范化处理的格式或结构,否则分析起来会十分困难,甚至最终无法产生有意义和价值的数据。因此,Web服务技术的重要前提条件就是对信息进行规格化的处理。

    Web服务技术以初始数据样本为依据,通过对数据信息加以分析、汇总、整合等步骤,最终整理出所需数据的操作。通过高效便利的互联网技术,对用户所需要的终结性信息进行抽取。由于用户群体差别很大,采用的Web服务技术也多样化。

Web服务系统的组成 、动态 。负载分担是将新的请求转发到空闲服务器进行处理,减少用户等待响应的时间,主要功能是充分利用服务器资源。授权验证,是用户在对浏览器发送的请求进行授权校验。静态负载均衡算法和动态负载均衡算法是目前现有的负载均衡算法中最为常见的两种。这两种类型的算法各有各的优点与缺点,用户可以根据自己服务器自身的实际需求选择合适的负载均衡算法。其中静态的负载均衡算法往往只需要用户事前设定好相应的分配方案,然后将该方案应用于服务器中就可以被长时间稳定运行;这种类型的算法适合于一些较为稳定的商业业务。而动态的负载均衡算法则需要实时监测服务器的实际运行情况,然后根据实时负载情况进行动态调整。这种类型的算法适合于一些用户请求数量较大的商业行为。因为动态负载均衡需要调整分配策略,所以其能通过处理好每个一个节点负载均衡的方式,保证能完美的处理好用户请求问题。静态内容服务,是指一些预存且不会发生变化的静态内容。动态内容服务,是按照用户申请进行相关的业务逻辑处理。数据库,是数据储存,有关系型传统数据库系统和内存资料数据库。系统后台,专门用于系统的开发者和管理者对系统进行升级和维护。

    Web服务技术大部分是从web服务器直接连接的后台数据库里检索出用户所需要的相关信息数据。由于数据库中所有图表都是依据关系数据库相同的二维结构加以整理的,并对数据库中内容有特定格式的数据信息加以提取的。根据数据库中图表具有的字段结构,总体上包括了文字符串字段以及图像等对的媒体的字段。Web服务技术相互联系的数据加以分析、归纳、整合。由于涵盖到大量的信息,因此需要对这些信息过滤,筛除干扰信息,然后对信息进一步分类、归纳、汇总,为Web服务技术的运行预先做好准备工作。对Web各页面的浏览对象进行提取,可以获取其对各种网站的查看情况以及本身受到查询的记录。通过这种方式可以整合出网络用户对信息数据所关注的焦点,并从这些焦点中获取一些保证管理工作顺利进行的重要数据,准确定位信息的核心内容,从而及时进行处理。

总体而言,Web服务技术可以很好地提高系统的整体兼容性,提高系统服务的整体性能。以便系统更为合理有效地实现对系统数据信息与用户信息之间的信息整合,切实地提高系统的运行效果。

2.3 SpringMVC框架

    SpringMVC框架是一个建构式高性能的Web应用,为语言中众多框架之一,可以用于开发各种使用php的Web应用程序,由于使用良好的组件构架(component-based)以及先进的缓存支持(caching support),所以特别适合拿来开发大型网页应用,例如论坛、内容管理系统(CMS)、电子商务等。

    SpringMVC框架的开创,是从它的创始人Qiang Xue于2008年1月1日开始的SpringMVC框架 project以及维护Prado框架的心血结晶,为求满足Web 2.0的应用程序开发期望,经过近一年的发展于2008年12月3日SpringMVC框架的正式版1.0公开发布。于2014年的10月SpringMVC框架2正式发布,为了建立最先进的php框架而将过去版本完全重写来保持SpringMVC框架的原始简单性与可扩展性,采用了最新的技术与功能,使其变得更加美好。

SpringMVC框架主要有以下优点:

    (1) 与大多数的 framework一样,SpringMVC框架使用MVC构架模式,运行处理、建构都基于MVC模式。

    (2) SpringMVC框架的代码建立在一个简单而优雅的编写方式理念,SpringMVC框架遵循某些设计模式(design pattern)因此不会重复撰写相同的东西造成重复而杂乱。

    (3) SpringMVC框架是一款全端网页框架,提供开发者许多已经可以直接使用的函式、建立指令的ActiveRecord可以供传统的关联式数据库以及非关联式数据库、支持RESTful API开发、复数缓存等等。

    (4) SpringMVC框架拥有高可扩展性,你将可以客制化的对SpringMVC框架的核心档案做修改变化,或是建立一个基于SpringMVC框架的额外扩展应用高效能将会一直是SpringMVC框架所保证的主要目标。

SpringMVC框架目前有两个主要的版本分别为1.1和2.0,旧版1.1已不再开发但仍会持续做维护,新版2.0为完整重构翻新的SpringMVC框架,采用最新的技术与协议,包含Composer,PSR,namespaces,traits等等相关技术。

2.4 XML技术

    XML语言是一种类似于HTML语言的可拓展性语言。尽管这两种语言之间都被归属与同一种类别的语言,但是他们的用途与所适用的领域却不尽相同。HTML语言主要是应用于网页的建设中,倘若需要实现不同的网页界面效果就需要修改相应的HTML语言块以达到该目的。而XML语言则不同,XML语言主要是用于进行不同网络协议之间的数据传递。常见的网页并不能仅仅只是由简单的HTML组成相应的效果,往往还需要采用XML协议将用户的请求发送至服务端进行相应的处理之后再将结果传输到客户端进行显示。因此,需要深刻的意识到XML语言实则上是一个采用元数据模型进行弱规则定义与表示的计算机编程语言。同时也需要明白,尽管HTML语言与XML语言之间存在着较大的相似,但是它们之间的具体用途却存在着较大的不同,因此在使用的时候需要针对特定的用途使用不同的编程语言来达到不同的目的,切记不可将不同编程语言肆意进使用,否则即使是达到编程目的也会使程序的整体结构显得非常的杂乱,不利于后期的维护。

    XML语言之所以比HTML语言更加适合于数据的传输,究其原因就是XML语言自身是一种标准化的元标记语言。它比起像HTML这种常规的网页拓展性语言更具灵活性。比如国内在实际编程过程中往往会遇见这样一个问题就是,当系统比较复杂的时候,其数据的接收与传输模块往往需要长时间地进行大量重复数据的接收与发送。假如不对这些数据进行相应的处理,系统就容易因为重复性的数据传输过多而影响其性能的具体发挥。因为为了加快系统的数据传输速度,就需要将这些数据进行规则化结构定义,将数据中重复的部分采用DOT标识进行表示。如此一来数据传输过程中主要一开始就接受并缓存好DOT样本的具体数据内容之后,以后遇见相应的DOT标识就可以直接从缓存数据中取出相应的数据直接运用。与此同时,数据传输过程中可以直接采用DOT进行传输,通过这种短字义的传输不仅可以加快网络的传输数据,同时也可以提高系统的整体性能。 

    目前而言XML语言所描述的仅仅只是该语言的具体结构,而不包含数据的具体格式:

    (1) XML语言可以进行自定义的语言标识以及语言结构的扩展。这种特性就使得该语言受到广泛数据库厂商的支出。

    (2) XML语言具备跨平台特定,该语言可以实现在不同的系统之间转换与互通。同时该语言的结构简单,可以很容易地转换成其他格式的语言进行传输,具有较高的兼容性。

    (3) XML语言的传输内容与其具体的外观表现形式不存在直接的联系,可以根据不同的实际需求去展示其外观。

在很久以前,异构系统之间的数据交互往往是一个难以解决的问题。其主要原因就是异构系统之间无论是数据结构还是数据的传输格式的设计都不尽相同,使得数据在进行传输的过程中容易出现各式各样的问题。为了解决上述难题,计算机科学家提出一个专门用于不同系统之间进行数据传输的XML语言,并且规范了XML的数据传输协议与数据定义标准。目前XML技术经过这么多年的发展已经相当完善,国外还对XML技术进行以下几个方面的拓展:比如XML技术在Web程序上的轻应用、XML文档以及数据交换的规则化定义。国内引入XML技术的时间并不长,但是针对XML技术的相关研究却比较多。目前XML技术已经被广泛运用在不同的领域,但是大多数都是运用于规则化数据的处理与交换,针对于文档规则化处理的相关研究仍然存在着一定的研究前景。

2.7数据库技术

    在系统设计的初始阶段,对于用户操作行为进行收集,有着非常重要的意义,对于这些信息进行分析后,能够从中发现用户的行为,进而有针对性的制定营销方案,提升销量。现在的数据库技术已经非常发达,能够胜任项目中各种技术需求。不过不能将数据库当成简单的数据储存工具,在选择上还有许多需要考量的地方,具体如下:

第一,数据库的设计依然会出现很多不足之处,尤其是在设计之初,对于实际的情况没有很好的预估,很多细节方面的问题没有考虑清楚,只考虑到系统运行之初的情况,对于之后工作中可能遇到的问题,没有综合考量,这使得在运行过程中造成数据存储出现很多不合理的地方。

    第二,在运行一段时间后,会产生非常多的数据,其数据量会随着运行的时间越长,也越来越多。数据的累积而没有很好的管理办法,会严重拖累系统的运行效率。这种情况会随着运行时间越长,数据量越大,越来越严重。

    第三,现在的网络数据每时每刻都在发生着剧烈变化,这让数据的积累速度非常快,大量的数据会极大的阻碍系统性能的发挥,为了保证系统的正常运行以及数据的正确性,必须消除冗余数据,才能保证降低数据的错误率,发挥出系统原本的统计分析性能。

    第四,由于功能需求发生改变,系统也好及时改进,这就导致数据的收集与存储发生变化,产生数据的不一致性。

之所以有上述这些问题,大部分是由于数据库的设计,是基于事物处理关系进行设计的,没有将决策支持能力纳入设计范围,即使在设计之初有这方面考虑,也无法同时兼顾。所以本系统数据库是基于MySQL数据库进行设计的,这样才能改善上述缺陷,保证数据的统计分析能力。

MySQL属于一种中小型号的、可以互相关联的数据库方面的系统,能够将数据存储在数据库中,而不需要将它存放一个大的仓库中,这样就可以显著提高产品的灵活性。MySQL的SQL语言是一种最常见的标准化语言,其可以用于数据库访问。MySQL是一种多个用户以及多条线程的数据库方面的服务器,它同时是以客户机或者服务器的相关结构为基础来实现的。与另外的数据库管理系统相比之下,MySQL拥有体积小、功能权限和查询便利等优势,对于一些中小型的系统都完全能够胜任。同时,MySQL数据库属于一种开放源码,可以降低成本,结合本文的系统,考虑到系统功能和成本建设等多方面的因素,所以选择了MySQL这个数据库。

2.8 Nginx服务器

    Nginx服务器是一个可以承载高并发的开源服务器。设计该服务器的初衷在于人们使用Apache服务器时已经无法满足超量用户的访问而不得不使用C语言重写Apache的源码以祈求能够拥有更高的性能。由C语言编写的Nginx服务器果然不负望,其用户访问承载能力远远强于使用C++语言所开发的Apache服务器。因此Nginx服务器的开发者也大方地将其公布到开源社区,以期望能够让更多志同道合的人共同维护这个项目。于此同时,受到开源的影响也使得Nginx服务器的名气大大增加,并且完全盖过了老牌的Apache服务器。毫不夸张的说,目前超过半数的服务器都是采用Nginx进行搭建的,可见其影响力非同一般。

    一般来说,采用PHP编程语言设计的程序都会选择使用Nginx服务器作为网站的挂载服务器,PHP编程语言是一门开源的网页技术编程语言,它不需要编译即可动态生成相应的网页,而且语法简单,容易上手。

    PHP的调校方式大概分成两种,一种是耗费一些内存加挂一些外部程序来取代PHP原本内置的部分功能,减少花费在处理动态网页代码的时间。Zend Optimizer这个软件可以加速PHP代码在parse阶段的速度以及产生更有简洁的object code来执行,以提升效率。Turck MMCache则是以储存产生出来的object code的方式,在原本PHP档案没有改变的前提下,只要处理执行到相同的档案,就可以跳过parse和产生object code的两个步骤而直接以储存起来的object code来执行,有效的加快执行速度。另一种方式则是注意PHP代码的写法,不让PHP做多余的执行展开(runtime expression)动作,甚至可以改用别的PHP指令来得到同样的结果,在Byster.NET已经有一份以各种指令和语法,测试其执行时间的性能报告供参考。

2.9 Pick-KX负载均衡算法

目前计算机算法中存在着动态负载均衡算法以及静态负载均衡算法这两种完全不同类型的负载均衡算法。用户可以根据自己服务器自身的实际需求选择合适的负载均衡算法。其中静态的负载均衡算法往往只需要用户事前设定好相应的分配方案,然后将该方案应用于服务器中就可以被长时间稳定运行;这种类型的算法适合于一些较为稳定的商业业务。而动态的负载均衡算法则需要实时监测服务器的实际运行情况,然后根据其实时负载情况进行动态调整。这种类型的算法适合于一些用户请求数量较大的商业行为。因为动态负载均衡需要调整分配策略,所以其能通过处理好每个一个节点负载均衡的方式,保证能完美的处理好用户请求问题。Pick-KX 算法的基本原理是确保能够在一个更新周期T内,在任务出现时先从一组服务器   中任意选择 个服务器 ,再设定它们的负载,分别设为  ,则将当前请求以概率  分配给服务器  ,其中:

 

 

 

                                                        (2.1)

从上述公式(3.1)中不难得知,目前服务器所使用的是动态负载均衡算法,主要是通过  的概率来衡量服务器的负载能力,然后通过用户的实际请求数量来决定服务器的优先分配权[29]。Pick-KX 算法的主要优势在于一个集群服务器中,倘若该集群中的每台服务器的实际计算能力均处于均衡状态,那么可以根据算法计算出来一个合理的服务器资源分配权,然后将这些用户均衡地分配给不同的服务器进行处理。然而在实际操作中,集群中的服务器自身的计算能力往往存在着计算能力上的差异,这也使得Pick-KX 算法不能很好地均衡系统负载。如果在实际操作中直接使用Pick-KX 算法进行服务器资源的分配,往往会因为算法的分配不均而导致各台服务器节点负载不均衡的问题,这时我们就需要对该算法进行改进,下面我们提出了一种改进的 Pick-KX 算法,该算法在计算任务分配概率  时,综合考虑各服务器的当前负载和实际处理能力。

2.10遗传算法

遗传算法是根据自然界的遗传规律推演出来的一种计算机算法模型。在上世纪七十年代中被提出,并将其应用于对搜索算法的优化工作,考虑到遗传算法自身的特点,它的适用性非常强,并且较为简单易用,随后便在计算机智能研究中得到广泛应用,成功推动智能计算机的发展,并为其打下了坚实的基础。遗传算法最核心的部分便是对遗传规律进行模拟,通过将遗传过程中的各项变量参数化,将遗传信息的载体也就是染色体,当成处理问题的解决方案,在计算机中表现为二进制,根据遗传规律,将其进行不同方式组合。对组合的结果进行特定条件的筛选,筛选条件也是根据自然环境进行模拟,如此便是根据自然淘汰原理,将适合的结果保留下来。随后再次进行遗传组合,它的后代随机的获得父代的优秀基因,通过不断特定环境筛选,将适合的基因一直保留下去,而这些群体在不断繁衍的过程中,完成进化,不断的适应新的外界环境,适合外界生存的特征被保留下来,也就是说与之对应的染色体也被保留下来。最后得到最适合生存的染色体,得出对应的解[30]。虽然遗传算法是根据进化论演变而来,但进化论的正确与否,与遗传算法最终所获得的结果是否准确并未存在直接的联系。但由于遗传算法在设计的时候参考了生物遗传学的遗传经验,因此遗传算法的实现步骤与生物学的进化理论相似,其基本操作为:选择、交叉、变异。遗传算法的基本步骤是:将问题的解决方案看作是染色体,算法中的具体表现则是特定的二进制编码,将这些编码,或者说是“染色体”进行整合,随后便开始下一步遗传算法的计算。对这些“染色体”进行特定条件的筛选,挑选出其中适合生存的“染色体”,并对筛选出来的“染色体”进行再次繁殖,产出更适合生存环境的下一代,如此反复,最终得到一个具有所有使用特性的“染色体”,也就是最优答案。需要特别注意的是,遗传算法能够做到均衡搜索,可以对非常复杂的问题进行庖丁解牛式地分析,进而得到该问题的最优解。但是标准遗传算法不能做到全局最优收敛,需要在特定的条件下才能实现。遗传算法的实现过程如下:

假设变量 代表着遗传算法中的遗传第一代样本,那么第 代中的第 个体就可以使用变量 进行表示。此时假设遗传第一代样本在遗传过程中的第 代的种群样本 经过多次匹配之后获得成功的基因因子数量为 ,那么就可以使用变量 表示成功匹配的基因因子。因此在进行下一次群体个体选择时,遗传第一代的第 代中的第 个体 将会根据概率公式 进行筛选。根据遗传算法的基本原理假设遗传第一代样本的数量为 且遗传过程中不同个体之间所拥有的特性也不尽相同,那么根据上述遗传原理可以推算出第 代的样本的数量可以采用下述公式进行计算:

                                            (2.2)

上述公式中的变量  表示  时刻遗传样本序列的平均适值。此时假设遗传群体的平均适值为  ,根据上述公式可以推断出下式

                                          (2.3)

假设上述遗传模式中的遗传群体平均适用值为 则可以推断出下式

                             (2.4)

假设上述遗传模式中的遗传群体的遗传代数从  开始,上述公式中的 值为常值,则可以推断出下式

                                              (2.5)

目前模式  所产生的交叉点只有在。在简单交叉下 的生存概率 。由于不同群体之间的遗传交叉行为所发生的概念并不唯一,因此运用该模式进行遗传的生存概率下式所示

                                      (2.6)

在遗传的过程中,假设变量 ,那么上述模式 的变异生存概率将采用下述公式进行计算

                                          (2.7)

综合上述不难得知模式  的子代的样本数为

                        (2.8)

2.11改进的Pick-KX负载均衡算法

改进的Pick-KX 算法中对于异构服务器集群中的不同服务器存在着计算能力不同的情况进行深入的研究与分析,然后根据服务器不同计算能力拟定了一些资源分配方案,然后巧妙地运用遗传算法对于所有的服务器资源分配方案进行计算,最终获得资源分配的最优解,成功地解决了Pick-KX 算法在进行服务器资源的分配不均时所遇见的难题[31]。为了能够更好地解释改进的Pick-KX 算法的实现原理,此时需要引进两个新的概念:单位处理能力的负载和任务执行失败率。单位处理能力的负载主要指的是处理服务器当前负载与处理服务器的处理能力的比值。单位处理能力与服务器处理任务请求数量成反比。任务执行失败率主要指的是处理服务器执行失败的任务数占已处理任务总数的比值。任务执行失败率与服务器处理任务的能力成反比。改进的 Pick-KX 负载均衡算法应用模型如图2.1所示。


 

图2.1 改进的 Pick-KX 负载均衡算法应用模型


假设集群服务器中拥有  台服务器。此时将这些服务器定义为一个服务器集合 ,那么改进的Pick-KX 算法的实现原理实则上就是直接将不同处理服务器的心跳周期向主服务器 发送心跳包,主服务器根据心跳包提供的信息计算每台处理服务器的单位处理能力的负载 和任务执行失败率  ,然后直接根据下述公式计算任务分配概率  的值。

                                                   (2.9)

服务器运用改进的Pick-KX 算法之后实现过程如下所示:

(1) 主服务器需要先设定好预设的cpu 利用率和内存利用率的具体阀值为90%。当集群服务器中存在处理服务器的阀值超过预设阀值时,相应处理服务器的分配概率 设定为0。

(2) 不同处理服务器需要在一个固定的周期之内同时向主服务器发送心跳包。

(3) 主服务器接收到处理服务器发送的心跳包后,需要及时对心跳包进行解析,获取处理服务的实时情况。

(4) 通过心跳包中所获取的处理服务器的实时情况判断其阀值是否超过预设值,若超过则将该处理服务器的任务分配概率 设定为 0,系统不会为它分配任务。

(5) 根据负载信息和性能信息,按照公式(3.10)计算各台处理服务器的任务分配概率  。

(6) 根据各台处理服务器的任务分配概率 ,进行合理的任务分发。

系统负载均衡实现流程图如图2.2所示。


 

图2.2 系统负载均衡实现流程图

2.12 K-means聚类算法

    聚类算法在机器学习中主要是被运用于挖掘海量数据信息中所存在的关联数据信息。该算法的核心思想就是物以类聚,人以群分。因此根据不同应用场景,聚类算法也会对其计算规则进行相应的调整。目前机器学习中应用最为广泛的聚类算法为K-means聚类算法[32]。

从K-means聚类算法的计算原理实则上就是将彼此不同的 数据点按照 个分类进行划分。其划分的标准主要是通过计算这些数据点之间所存在的差异性。差异值比较小的点将会被划分到同一簇类之中。然后在划分好的簇类中选择一个中心点 ,再重复执行上述步骤对于不同的数据点进行分类处理。再多次迭代处理之后就可以得到一个较为合理的分类结果。由此可见,K-means聚类算法相比于其他类型的聚类算法而言,拥有着较高的准确性。这也是K-means聚类算法被广泛应用的重要原因之一。然而我们也不可忽视K-means聚类算法本身所存在的缺陷与不足,具体表现下以下几个方面:(1)K-means聚类算法的初始簇类中心在选取的过程中往往存在着较大的不确定性。这容易使得K-means聚类算法所获得的最终选择结果不是全局最优解。(2)K-means聚类算法的k值选取数量的确定缺乏统一的衡量标准。(3)K-means聚类算法在运行的过程中需要消耗大量的系统资源。这也就意味着当数据达到一定量级时,K-means聚类算法往往会耗费大量的运行时间。

2.13基于Prim改进的K-means聚类算法

    从上文的叙述中不难得知,尽管K-means聚类算法在日常生活以及工程建设中得以广泛应用。但是由于该算法本身固有的缺陷使得它所获得的最终计算结果并未能达到较高的精度要求。因此就必须采取有效的措施对K-means聚类算法的初始簇类中心进行准确地选取。本文将采用Prim最小生成树对K-means聚类算法进行改进,以进一步提高K-means聚类算法的初始簇类中心地准确选取,进而提高K-means聚类算法的计算结果的准确性,以达到对用户进行精确分类的目的。在对K-means聚类算法进行改进之前,首先需要假设存在着 名不同的用户。这些用户可以被分成 种类别。这些不同类别的用户的初始簇中心点采用变量 进行表示。则K-means聚类算法的改进具体步骤如下:(1)利用Prim最小生成树生成K-means聚类算法的初始簇中心点 的最小生成图。然后利用图论的思想计算出最小生成图的通道平均值做为初始簇中心[33]。(2)利用上一步计算出的初始簇中心对用户进行聚类处理。(3)重复上述步骤,直到存在着两个连续簇中心点的误差小于预设值时,算法才终止完成。

 

3 需求分析

本章节主要是根据高校的实际业务需求,对于高职教学视频共享系统的功能进行需求分析,内容主要包括系统的总体需求分析、系统的业务流程梳理以及优化、功能需求分析以及非功能性需求分析四大部分。

3.1 总体需求

高校目前正在构建在线教育网络培训系统,利用现代化新型技术搭建一个高职教学视频共享系统,让学生能够随时在平台上进行学习培训,交流心得等[16]。通过对高职教学视频共享系统需要的深入调研分析,问题主要集中在如下几个方面:

(1) 资源共享程度低

传统的高校培训学生是采用投入大量人力、物力实现线下培训。这种分散的教育信息化模式不仅造成信息化成本过高,也使得课程资源无法及时得到共享。

(2) 资源分布不均

高校学生众多,而学习的优秀教师资源却比较匮乏,因此搭建一个线上的高职教学视频共享系统有利于将优秀的教学资源进行均匀分配[17]。

(3) 网络计算方式落后

由于在线学习的人数越来越多,学习资料也越来越多,以前的存储系统已经不能很好应对这种数据处理量,以往的网络系统,已经不能满足新时期的数据处理量的要求[19]。

针对以上情况,搭建一个高职教学视频共享系统成为了解决这些核心功能问题的必需 [18]。

3.2 业务流程梳理及分析

高职教学视频共享系统的用户分为学生、教师、系统管理员三大类,针对这三类用户,该平台主要有以下业务流程。

(1) 教师知识管理业务流程

在不同的时期学校所要进行的学习内容也不尽相同,这就要求教师要实时更新课程教学内容。该流程一般都是由教师汇编好知识内容,然后提交给系统管理员进行审核,系统管理员审核通过后由教师将这些知识按照相应的分类编辑成知识地图根据学生自身的情况推荐给学生学习。学生通过审核教师推荐的知识地图是否能符合自身的学习期望并将相关意见反馈给系统管理员进行记录。教师知识管理业务流程图如图3.1所示。



 

图3.1教师知识管理业务流程图


(2) 学生在线学习业务流程

学生通过阅读教师所编写的学习资料以及观看教师录制的教学视频进行知识学习[20]。学员学习完相应课程之后,教师监控学习情况并且对其学习结果进行评定,然后提交给系统管理员进行审核并记录。学生在线学习业务流程图如图3.2所示。


 

图3.2 学生知识学习业务流程图


(3) 学生学习情况考核流程

为了考核学生的实际学习效果,教师需要制定相应的考试。学生参加考试,教师统计考试结果,然后提交给系统管理员进行审核,审核通过后做记录。系统管理员需要对学员的实际考核结构进行统计分析,并把学员的实际学习情况的统计报表进行记录,为调整所学课程和考试内容提供意见。学生学习情况考核流程图如图3.3所示。


 

图3.3 学生学习情况考核业务流程图


3.3 功能需求分析

软件需求分析是软件工程在设计与实现过程中的一座比较重要的桥梁。一般而言,先是有软件需求分析工程师对软件系统业务需求以及具体的功能需求进行分析,然后根据分析的结果采用UML模式建立起不同领域所对应的用例模型 [21]。需求分析的目的主要是为了达到对系统的实际功能以及实际需求进行准确的把握,确保系统在未来的设计过程中不会偏离预期目标。本课题拟采用SpringMVC框架研发一套高职教学视频共享系统,以解决高校学生线上学习的问题。该系统主要实现以下六大功能模块。

3.3.1 课程知识库管理

课程知识库管理功能模块主要是提供给教师使用。教师主要是通过使用该功能模块实现对高职教学视频共享系统的教学知识内容进行管理。其中包括知识内容管理、知识地图管理和知识推荐内容管理等,其用例图如图3.4所示。

 

图3.4 知识管理模块用例图


3.3.2 课程在线学习管理

课程在线学习管理功能模块主要是提供给教师使用。教师主要是通过使用该功能模块实现对高职教学视频共享系统学员的学习过程进行监控,然后实现对学员的学习结果进行合理化评价,其用例图如图3.5所示。

 

图3.5 在线学习模块用例图


3.3.3 课程在线考试管理

课程在线考试管理功能模块主要是提供给教师使用。该功能模块主要是实现对在线考试的具体内容进行管理。其中主要包括对试题内容以及考试结果进行管理,其用例图如图3.6所示。

 

图3.6 课程在线考试管理模块用例图


3.3.4 课程成绩统计查询管理

课程成绩统计查询管理功能模块主要是提供给教师使用。本功能模块主要是提供给教师针对学员的实际学习情况进行统计查询,其中包括学员的实际学习进度以及学习效果进行统计,其用例图如图3.7所示。

 

图3.7 课程成绩统计查询管理模块用例图


3.3.5 学员中心管理

学员中心管理功能模块主要是提供给学生使用。学员可以通过该功能模式实现对自己的学习计划以及课程学习情况进行管理,其用例图如图3.8所示。


 

图3.8 学员中心模块用例图


3.3.6 系统管理

系统管理功能模块主要是提供给系统管理员进行使用。系统管理员通过该功能模块可以实现对系统的主要功能模块以及系统的角色权限等进行管理,其用例图如图3.9所示。


 

图3.9 系统管理模块用例图

3.4 非功能性需求分析

高职教学视频共享系统除了要满足以上的功能需求之外,也要满足以下几个方面的非功能性需求。系统的非功能需求,是指为实现用户的业务需求而开发的系统,除了要求满足功能性需求以外,还应该侧重于考虑系统的性能及质量等非功能需求。因为非功能需求的满足是实现功能性需求的基础前提。必须要制定严格的非功能需求定义,充分考虑系统的性能,安全性,可靠性,健壮性,扩展和兼容性等要求,提升用户在应用该系统功能时的用户体验,保障功能性需求的实现:

(1) 可靠性,对于一个成熟的系统来说,它在使用的系统在稳定性和系统性能上有着苛刻得接近偏执的要求,需要满足以下几个方面的要求:① 系统需要满足用户高并发的实际需求[22]。因为系统的在线使用人数都比较多,因此若想系统能够稳定运行至少需要保证系统的实际并发用户数为100人,系统的评价相应时间不超过400ms。② 因为系统的在线使用人数都比较多,因此若想系统能够稳定运行至少需要保证系统可以实现7×24小时不间断运行的要求。③ 系统在并发用户数为100时进行文件上传下载时需要满足系统吞吐量不得低于5M/S。

(2) 易维护性,系统是基于B/S架构进行设计的,大部分业务逻辑处理都是在服务端进行的,浏览器端只需要显示服务器业务处理的结果。系统维护成本比较低。

(3) 容错性,系统在设计的时候,考虑到用户的操作输入可能多种多样,因此在程序里对添加了用户非法操作的检查功能。当用户输入非法操作时,系统可以进行温馨提醒并且引导用户进行正确的操作。使得用户不会因为不正确的操作而无法继续使用系统或者系统因为用户非法操作而直接崩溃。

(4) 专用性,对于高职教学视频共享系统来说,该系统的使用范围仅仅只是限制于高校用于学生课程技能的培养,属于学校内部专用学习系统。因此系统的专用性比较强。

(5) 高效性,由于高职教学视频共享系统的受众人群比较大,同时系统数据交互量也比较大,所以主要的技术难点是在如何保证系统时刻能够高效率运行,使得系统能够时刻快速响应用户的访问请求[23]。

(6) 扩展性,一个优秀的系统,它必须开放相应的功能模块接口。方便在未来业务增长时能够不断拓展新的功能,确保系统能够时刻适应时代发展的需求。

3.5 小结

本章节主要结合高校课程教学业务的特点,描述了高职教学视频共享系统的功能需求及业务流程梳理。针对这些现状和用户的实际业务需求,形成相应的业务需求模型并抽象为逻辑模型。

 

4 系统设计

4.1 系统架构设计

在开发的过程中系统的技术框架主要采用目前流行的SpringMVC框架进行开发,同时为了提高系统的整体数据的隐私安全性以及系统数据传输的可靠性,采用RSS加密算法针对系统的一些关键性数据进行加密传输。除此之外,系统的设计的过程中严格遵循RBAC(Role-Based Access Control)访问权限设计原则严格控制好不同角色之间的系统访问操作权限,确保系统在运行的过程中不同的用户角色之间所拥有的用户权限是不一样的,从而达到保护系统数据信息安全的根本目的。鉴于系统的数据内容比较庞大,因此需要提高站内数据搜索能力,鉴于此系统采用ElasticSearch搜索引擎。该搜索引擎是一个开源的站内精准全文搜索引擎,可以针对用户所提供的搜索关键字进行全文搜索,所得到的结果也比常见的模糊搜索要相对精确。从而达到为用户提供精准搜索的服务目的。除此之外,采用Nginx+Apache搭建集群服务器,配合Keepalived搭建 web集群服务器。除此之外,这种分布式主从服务器可以将故障点转移到备份服务器上,从而达到保障系统能够长久稳定运行的目的。系统逻辑架构是根据分层思想设计为三层的。这三层分别是业务逻辑层、数据访问层与表现层。细分来说,业务逻辑层起到逻辑处理用户相关业务操作的作用。数据访问层起到读取访问系统数据库的作用。而表现层则起到解决用户跟系统二者之间的相互操作问题的作用。本课题所设计的高职教学视频共享系统主要是采用基于MVC模式设计的高可配的SpringMVC框架进行设计。它设计的时候充分采用了面向对象的思想,使得该框架在使用的时候无需再像Spring框架那样需要经过中间层复杂的配置整合之后才能够使用[24]。SpringMVC框架相比于Spring框架最主要的优势在于它将框架里的模型、控制器和视图进行分离。使得开发人员可以更加集中他们的精力去对系统功能业务上的定制实现,而不是拘泥于框架那冗余复杂的配置。SpringMVC框架里最重要的部分就是Dispatcherservlet这个前端控制器,它主要将用户的相关请求进行转发,转发到系统相应的业务逻辑处理控制器上进行处理。框架的整体流程就是先是由用户在系统的前端界面对系统的操作发送相关请求,Dispatcherservlet这个框架的前端控制器收到用户的请求后调用框架的处映射器HandlerMapping根据用户请求的URL地址去寻找框架相对应的业务逻辑处理控制器;Controller,业务逻辑处理器对用户的相关请求进行处理。处理完成之后将处理的结果ModelAndView传给框架的视图解析器ViewReslover进行视图解析。视图解析完后传送给DispatcherServlet这个前端控制器进行视图渲染,并且将处理的结果呈现在浏览器的界面上。综上所述,一个系统如果使用SpringMVC框架进行开发可以极大地减少框架直接繁琐又麻烦的配置手续,同时也方便系统后期的维护甚至二次拓展开发[25]。高职教学视频共享系统的逻辑架构图如图4.1所示。

 

图4.1 系统逻辑架构图


4.2 系统功能设计

高职教学视频共享系统主要包括六大功能模块。系统的功能结构图如图4.2所示。


  图4.2 系统功能结构图


系统主要功能说明如下:

(1) 知识管理模块:课程知识库管理功能模块主要是提供给教师使用。教师主要是通过使用该功能模块实现对高职教学视频共享系统的教学知识内容进行管理。其中包括知识内容管理、知识地图管理和知识推荐内容管理等;

(2) 课程在线学习管理模块:课程在线学习管理功能模块主要是提供给教师使用。教师主要是通过使用该功能模块实现对高职教学视频共享系统学员的学习过程进行监控,然后实现对学员的学习结果进行合理化评价;

(3) 课程在线考试管理模块:课程在线考试管理功能模块主要是提供给教师使用。该功能模块主要是实现对在线考试的具体内容进行管理。其中主要包括对在线考试的试题内容以及考试结果进行管理;

(4) 课程成绩统计查询管理模块:课程成绩统计查询管理功能模块主要是提供给教师使用。本功能模块主要是提供给教师针对学员的实际学习情况进行统计查询,其中包括学员的实际学习进度以及学习效果进行统计;

(5) 学员信息管理模块:学员中心管理功能模块主要是提供给学生使用。学员可以通过该功能模式实现对自己的学习计划以及课程学习情况进行管理;

(6) 系统管理模块:系统管理功能模块主要是提供给系统管理员进行使用。系统管理员通过该功能模块可以实现对系统的主要功能模块以及系统的角色权限等进行管理。

4.3 系统网络拓扑设计

本系统的设计方案是依赖于MVC分层架构设计模式。为了实现Web系统的职能分工,该系统中采用了MVC模式(Model View Controller)。MVC分为三个层次,三个字母分别为三个单词的缩写,依次是Model层,View层,Control层[26]。系统网络拓扑结构图如图4.3所示。


 

图4.3 系统网络拓扑结构图

 

5 系统设计与实现

经过前面几章需求分析和设计。本章主要对高职教学视频共享系统进行详细的功能设计,主要包括代码的实现以及界面的设计。

5.1 系统功能模块实现

5.1.1课程知识库管理功能实现

课程知识库管理功能模块主要是提供给教师使用。教师主要是通过使用该功能模块实现对高职教学视频共享系统的教学知识内容进行管理。其中包括知识内容管理、知识地图管理和知识推荐内容管理等。课程知识库管理功能类图如图4.1所示。


 

图5.1 课程知识库管理功能类图


系统管理员在课程知识库管理界面可以直接读取高职教学视频共享系统数据库中进行存在的知识内容信息,该知识内容以文字列表以及图片瀑布流的形式显示。然后系统管理员可以进入知识内容编辑界面根据学院的实际需要更新编辑modifyOpera()知识目录、知识标签和知识内容。编辑完成之后系统将会将该知识内容形成知识地图并且推荐displayWorkFlow()给需要学习的学生,课程知识库管理功能界面如图5.2所示。


 

图5.2 课程知识库管理功能界面


5.1.2课程在线学习管理功能实现

课程在线学习管理功能模块主要是提供给教师使用。教师主要是通过使用该功能模块实现对高职教学视频共享系统学员的学习过程进行监控,然后实现对学员的学习结果进行合理化评价。课程在线学习管理功能类图如图4.3所示。


 

图4.3 课程在线学习管理功能类图


从上述的类图中我们可以看出,高职教学视频共享系统的课程在线学习管理功能主要有五大功能实体类UnitManager类、ExamWorkFlowManager类、DeptManager类、DeviceClassManager类以及WorkFlowManager类,分布对应着课程管理、测验管理、选课管理、学习过程监控和学习结果评定五大功能。而课程在线学习管理功能的主要用例为高校教师。教师用户在使用这些功能之前需要先输入自己的工号和密码登录到系统之后,首先可在个人界面里使用课程管理功能更新modifyUnit()相应的教学课程,然后使用选课管理功能编排addSubClass()自己的上课信息,安排好相应的上课时间之后,就可以使用测验管理功能发布Add()课后测验。完成该步骤的相关工作之后,教师的课程管理操作就基本完成。接下来教师需要使用学习过程监控对学生的学习过程进行监控,然后使用学习结果评定对学生的学习效果进行客观评定,课程知识库管理功能实现界面如图5.4所示。


 

图5.4 课程在线学习管理功能界面图


5.1.3课程在线考试管理功能实现

课程在线考试管理功能模块主要是提供给教师使用。该功能模块主要是实现对在线考试的具体内容进行管理。其中主要包括对在现考试的试题内容以及考试结果进行管理。课程在线考试管理功能类图如图5.5所示。


 

图5.5 课程在线考试管理功能类图


从上述的类图中我们可以看出,高职教学视频共享系统的课程在线考试管理功能主要有四大功能实体类QuestionMR类、PaperMR类、ExamMR类和ExaminationResult类,分布对应着题库管理、试卷管理、考试管理和考试结果五四功能。而课程在线学习管理功能的主要用例为高校教师。教师用户在使用这些功能之前需要先输入自己的工号和密码登录到系统之后,首先可在个人界面里使用课程管理功能发布相应的在线考试试题信息Submit(),并且对学生的考卷进行客观评分Save(),课程在线考试管理功能界面如图5.6所示。


 

图5.6 课程在线考试管理功能界面


5.1.4学员中心管理功能

学员中心管理功能模块主要是提供给学生使用。学员可以通过该功能模式实现对自己的学习计划以及课程学习情况进行管理。学员中心管理功能类图如图5.7所示,从图5.7中我们可以看出,高职教学视频共享系统的课程在线考试管理功能主要有四大功能实体类LearningCenter类、TestCenter类、KnowledgeCenter类和PersonalFile类,分布对应着学习中心、考试中心、知识中心和个人档案四个功能。该功能所涉及的用例主要为学生,其用例的交互顺序也比较简单,学生登录之后,进入学员中心管理界面,然后在学员中心管理界面选择Archive()相应的子功能进行操作,学员中心管理功能界面如图5.8所示。


 

图5.7 学员中心管理功能类图



 

图5.8 学员中心管理功能界面


5.1.5改进的Pick-KX负载均衡算法的应用

高职教学视频共享系统在设计之初主要是采用Pick-KX负载均衡算法对用户的请求进行均衡处理。然而在实践的过程中存在着以下问题:(1) Pick-KX负载均衡算法在请求接收时存在着接收能力有限的问题。因此在存在着大量用户请求的时候极其容易导致系统平均响应时间过长的情况出现。(2) Pick-KX负载均衡算法所占用的系统资源比较大,使得系统往往会因为算法较大的资源开销而降低服务器的运行性能。图5.9展示了服务器集群架构。


 

图5.9服务器集群架构图


基于上述原因,本文将采用遗传算法对于Pick-KX负载均衡算法进行改进。并且将改进的PICK-KX负载均衡算法应用于高职教学视频共享系统之中。为了能够更好地彰显出改进的Pick-KX负载均衡算法对于性能提高所起到的作用,下文通过将对系统在应用Pick-KX负载均衡算法和改进的Pick-KX负载均衡算法的平均延迟时间和系统吞吐量进行对比分析。

算法主要是应用在有四台PC 机组成的服务器集群环境中,1 台 PC 机充当主服务器节点,用以太网连接 3 台 PC 机作为后台服务器,每台 PC 机的配置参数如表 5.1 所示。


表5.1 每台 PC 机的配置参数表

设备名称 CPU 主频/GHZ 内存容量/GB 磁盘容量/GB

主服务器 2.83 4 500

教学资源服务器 2.2 4 500

数据库服务器 2.66 2 500

其他服务 2.66 2 500


应用过程中计算各台后台服务器的处理能力和当前负载的权值分别取[0.3,0.3,0.4]和[0.2,0.2,0.1,0.2,0.1,0.1,0.1]。考虑到该系统中最考验系统负载均衡性能的用户操作行为无外乎就是系统用户观看课程教学视频的行为,因此选取该行为作为改进的Pick-KX负载均衡算法的应用请求行为,如图5.10所示。


 

图5.10 学员观看教学视频界面图


通过不断增加用户请求数,测试用户请求的响应时间和传输的数据量,并记录每个用户请求的响应时间和所传输的数据量,测试网络拓扑图如图5.11 所示。


 

图5.11 测试网络拓扑图


(1) 平均响应时间

分别测试Pick-KX 算法的平均响应时间和改进的Pick-KX 算法响应时间, 课程过程中,我们分别建立 5 个、10 个、20 个、50 个、100 个线程同时向主服务器发送请求,并记录请求开始时间 start_time,当收到服务器响应时,记录响应时间 end_time,重复这个过程 3 次,计算平均响应时间,课程结果如图5.12 所示。


 

图 5.12 两种算法平均响应时间对比图


从上述结果可以知道,当连接数较少时,两种算法的平均响应时间相差不大, 随着连接数的增加,改进的 Pick-KX 算法的响应时间明显比 Pick-KX 算法要短, 连接数较大时,两种算法的平均响应时间差距明显增大,所以可以得出结论:改进的 Pick-KX算法在连接数较大时,能明显加快用户请求的响应。

(2) 系统吞吐量

分别测试Pick-KX 算法和改进的Pick-KX 算法在不同连接数下的吞吐量, 课程过程中,我们选择一个 1MB 的文件上传来测试系统的吞吐量,分别建立 5 个、10 个、20 个、50 个、100 个线程同时向主服务器发送文件上传请求,并记录文件上传开始时间 start_time 和文件上传结束的时间 end_time,通过文件大小除以上传结束时间与开始时间的差值得到系统吞吐量,课程结果中显示的吞吐量为所有线程总的吞吐量,如图5.13 所示。


 

图 5.13 两种算法吞吐量对比图


从图 5.13可以看出,当连接数较小时,两种算法的吞吐量相差不大,但是当连接数较大时,改进的 Pick-KX 算法能明显提高系统的吞吐量。

5.1.6基于Prim改进算法的应用

高校学生人数众多,教师无法对每一个学生知根知底,因此对于学生的真实工作能力的评估存在着一定的困难。为了解决该问题,高职教学视频共享系统将采用在线考试的方式对学生所学的知识进行考察与巩固。为了有效地提高在线考试功能的实际效果,高职教学视频共享系统引入Prim认知模型对在线考试功能中的试题挑选功能进行改进。使得在线考试模块可以根据学生的实际情况对试题进行动态调整,以确保学生的每次考试都可以达到巩固学习内容的目的。同时学生在做题过程中的反馈信息也会保存到系统的后台,通过数据分析可以对学生实际能力进行一个客观的评估,切实为人才的输出提供帮助。

基于上述实际需求,本文将采用Prim最小生成树对K-means聚类算法进行改进,以进一步提高K-means聚类算法的初始簇类中心地准确选取,进而提高K-means聚类算法的计算结果的准确性。并且将改进后的算法应用于高职教学视频共享系统的在线考试功能之中,以达到对用户进行精准聚类分析以及个性化推荐试题的效果。

假如存在着 位学生。这 位学生都拥有三种不同类型的特征向量Ux,Uy,Uz。这三种不同类型的特征相应分别表示该学生所有课程的成绩、该学生所推荐课程的成绩以及该学生与所推荐课程关联度最大的课程的成绩。这些课程之间存在着先修与后修的关系。此时就可以利用文中所提到的Prim最小生成树对K-means聚类算法提高个性化推荐效果。首先需要运用皮尔森方法算出将所有学生之间的综合相似度并按照降序的方式进行排列。学生之间的综合相似度可以使用上文所提到的公式(2.10)进行计算,学生之间的综合相似度与计算的结果的绝对值成正比关系。然后就需要计算这些学生在进行试题测试之前的估测得分。最后把估测评分较高试题组推荐给目标学生。倘若目标学生对于高职教学视频共享系统所推荐的试题所获得的得分比较高的话,就可以向目标学生推荐更高难度的试题。反之则推荐更为基础的试题。通过动态调整试题难度的方式以切实地提高学生对于课程知识的理解能力,以切实提高学生的学习成绩。

抽象化个性化推荐功能之后不难看出该功能主要是由以下步骤组成,首先是数据收集、其次是用户建模、再次是推荐算法、最后是推荐输出。图5.14为个性化推荐系统模型。


 

图5.14个性化推荐系统模型


(1) 数据收集

个性化推荐系模块的实现离不开海量用户行为数据的挖掘与分析。因此一开始需要对用户的行为特征以及兴趣偏好等数据进行收集。

(2) 用户建模

收集完数据后系统模块将对不同类型的用户进行用户模型建模,将用户的兴趣爱好、行为数据作为相关的依据建立起不同的用户模型,并且将用户进行分类,以便系统对不同类型的客户推荐不同类型的课程。图5.15为用户建模的过程。


 

图5.15用户建模的过程


(3) 推荐算法

不同类型的推荐算法会影响到用户的个性化推荐的效果。本系统使用的是基于用户的协同过滤推荐算法。它的基本思想就是人以类聚,物以群分。通过之前的数据收集,并且根据数据对不同用户的类型进行建模之后,将用户分成不同的类群,然后向同类的用户推荐类似的课程信息。图5.16为基于用户的协同过滤推荐算法推荐过程。


 

图5.16 基于用户的协同过滤推荐算法


(4) 推荐输出

推荐输出是指推荐算法智能分析得出相关的商品信息并且推荐给用户。

5.1.7冷启动问题的解决

值得注意的是,由于课程之间存在着先修与后修的关系。因此一些课程的试题无法被直接推荐给目标学生,导致系统在运行的过程中容易出现新用户冷启动问题。为此本系统将采用求学生的先修课平均成绩并在系统数据库中寻找相似特征向量的用户,并将该用户所推荐的试题推荐给目标学生以解决新用户冷启动问题。除了新用户冷启动问题之外,还存在着新试题冷启动问题。为此系统会根据试题上传的时间距离现实时间的间隔来改变试题的推荐权重。对于较新的试题其推荐权重会比较旧的试题要稍微高一些,以解决新试题冷启动问题。

5.2数据库设计

高职教学视频共享系统采用开源的关系型MySQL数据库进行设计。数据库设计阶段主要对数据的数据模型进行抽象归纳从而得出数据库的概念模型。

5.2.1数据库概念结构设计

数据库概念设计阶段主要对数据的数据模型进行抽象归纳从而得出数据库的概念模型。主要有以下两种设计方法:

(1) 集中式设计:这种数据库的设计方法主要通过一个统一的机构以及相关人员设计一个数据库的全局模式。然后根据该全部模式对数据库进行详细设计。这种数据库的设计方式比较简单,针对一些小型的系统可以直接采用该方式设计数据库。而对于一些大型的系统鉴于数据库结构比较复杂,则不适合采用该方法。

(2) 视图集设计:这种数据库的设计方法主要通过将数据库系统进行规范化分解成若干个数据库局部模块。通过对这些数据库局部模块进行模式设计,建立起相应的数据库局部视图,最终将这些局部视图组合起来形成整个数据库系统的全局模式。这种数据库的设计方式比较复杂,适合一些大型的系统。

本系统主要采用视图集设计法进行设计,显示将数据库进行规范化分解,然后针对分解的每一部分进行局部设计,最后将局部视图集成全局视图从而得到完整的数据库模型数据库E-R图模型如图5.17所示。


 

图5.17 数据库E-R图


5.2.2数据库表结构设计

系统数据库表众多,其中系统中主要的数据表有以下几个:教师信息表(OE_Trainer _Information)、角色信息表(OE_Role_Information)、学生信息表(OE_Student_Information)、考试信息表(OE_Exam_Information)、教学资源信息表(OE_Teaching_Resource)、公告信息表(OE_Training_Announcement)、答案信息表(OE_Answer_Information)。鉴于篇幅的原本,下面仅仅只是列出这几个数据表的字段、数据类型等信息。

(1) 教师信息表(OE_Admin _Information),主要包括教师编号,姓名、密码、学生编号、教程编号、手机、地址、试题编号等字段,如表5.2所示。


表5.2 教师信息表(OE_Trainer_Information)

字段名 数据类型 说明 是否主键 是否非空

TrainerId int(5) 教师编号 Yes Yes

TrainerName varchar(20) 姓名 No Yes

TrainerPassword varchar(10) 密码 NO Yes

StaffID varchar(20) 学生编号 Yes Yes

TutoriaID varchar(40) 教程编号 Yes Yes

Telephone varchar(23) 手机 No Yes

Address varchar(30) 地址 No Yes

TestID varchar(50) 试题编号 Yes Yes


(2) 角色信息表(OE_Role_Information)。主要字段有角色代号、角色名称、角色权限,如表5.3所示。


表5.3 角色信息表(OE_Role_Information)

字段名 数据类型 说明 是否主键 是否非空

RoleID int(5) 角色编号 Yes Yes

TutoriaID int(5) 教程编号 Yes Yes

StaffID int(5) 学生编号 Yes Yes

RoleName varchar(5) 角色名称 No Yes

RolePerm varchar (5) 角色权限 No Yes


(3) 学生信息表(OE_Student_Information)。主要字段有:学生编号、学生姓名、性别、民族、家庭住址,如表5.4所示。


表5.4 学生信息表(OE_Student_Information)

字段名 数据类型 说明 是否主键 是否非空

StaffID int(5) 学生编号 Yes Yes

TutoriaID int(5) 教程编号 Yes Yes

StaffName varchar 学生姓名 No Yes

StaffSex varchar 性别 No No

StaffNat varchar 民族 No No

StaffAdd varchar 家庭住址 No No

RoleID int(5) 角色编号 No Yes

Staffphone varchar(23) 手机 No Yes

StaffAdd varchar(30) 地址 No Yes


(4) 考试信息表(OE_Exam_Information)。主要字段有:试题编号、考试内容、考试时间、提交时间、负责教师编号,如表5.5所示。


表5.5 考试信息表(OE_Exam_Information)

字段名 数据类型 说明 是否主键 是否非空

TestID int 试题编号 Yes Yes

TrainerId int(5) 教师编号 Yes Yes

TutoriaID int(5) 教程编号 Yes Yes

StaffID int(5) 学生编号 Yes Yes

TestContent varchar 考试内容 No Yes

TestTime varchar 考试时间 No Yes

SubmissionTime date 提交时间 No Yes

TrainerID int 负责教师编号 No Yes


 (5) 教学资源信息表(OE_Teaching_Resource)。主要字段有:教程编号、资源名称、资源存放位置、上传日期、资源拓展名、资源大小、资源类型、备注信息等字段,如表5.6所示。


表5.6 教学资源信息表(OE_Teaching_Resource)

字段名 数据类型 说明 是否主键 是否非空

TutoriaID int(5) 教程编号 Yes Yes

StaffID int(5) 学生编号 Yes Yes

ResourceName varchar 资源名称 No Yes

ResourceLocation varchar 资源存放位置 No Yes

UploadDate date 上传日期 No Yes

ResourceExtension varchar 资源拓展名 No Yes

ResourceSize double 资源大小 No Yes

ResourceType varchar 资源类型 No Yes

NoteInformation varchar 备注信息 No No


 (6) 公告信息表(OE_Training_Announcement)。主要字段有:公告编号、教师编号、公告标题、公告内容、公告排列号等字段,如表5.7所示。


表5.7 公告信息表(OE_Training_Announcement)

字段名 数据类型 说明 是否主键 是否非空

AnnouncementID int(5) 教程编号 Yes Yes

TrainerID int(5) 教师编号 Yes Yes

AnnouncementTitle varchar 公告标题 No Yes

AnnouncementContent varchar 公告内容 No Yes

AnnouncementOrderNumber int(5) 公告排列号 No Yes


(7) 答案信息表(OE_Answer_Information)。主要字段有:答案编号、答案内容、提交时间等字段,如表5.8所示。


表5.8 答案信息表(OE_Answer_Information)

字段名 数据类型 说明 是否主键 是否非空

AnswerID int(5) 答案编号 Yes Yes

AnswerContent varchar 答案内容 No Yes

SubmitTime Date 提交时间 No Yes


5.3 小结

本章就本系统的总体架构进行设计,包括系统总体设计、各功能模块的功能设计、系统界面设计以及数据库设计。在数据库设计方面,从数据库的各实体关系及实体内容入手,设计实体间的逻辑关系,并深入到具体的数据表进行详细设计,完成对本系统数据库设计。

 

6 系统测试

一般而言软件开发的最后一个环境就是软件测试。该环节的主要工作是针对软件的整体功能选择相应的测试方法以及测试用例对软件的功能模块进行针对性的测试,并且在测试的过程中获取一些相关错误,从而修复这些错误,确保系统可以在相当长的一段时间之内都可以稳定运行。

6.1测试概述

系统测试的意思就是对已经设计好的系统进行测试,包括它所需的硬件环境、网络环境、外部设备、所支持的软件环境等都要进行测试。测试的目的就是在系统正式发布到网上使用之前,希望花费最小的代价发现存在的漏洞和错误。就是用户所要求的功能有没有全部实现,及时发现系统与用户需求不相符的地方或者有遗漏的地方,进而提出更合理的解决方案,来提高系统的使用质量。

我们在进行系统测试的时候,如果遇到该系统不能支持运行,或者该系统中某些功能还没有实现的情况,这会让我们及早发现该系统中存在的问题,并得到及时的处理。由此可见,在整个系统设计与实现的过中,测试人员需要针对系统在不同的阶段中不同的功能模块制定好相应的测试方案对其进行测试,只有这样做才能够有效地保证系统完成后整体的质量。通过系统测试,我们能发现系统中存在的诸多问题,但不是所有问题都会被发现,有些潜在的问题可能会在日后使用了一段时间之后才能被发现。因此,我们需要尽可能的做好系统测试,尽可能多的去发现系统中的不足。

下面将阐述在系统功能模块测试环节中所用到的几种测试方法[36]。

(1) 模块测试:这种测试方法是直接将系统的功能划分成几个主要的功能模块。然后根据不同的功能模块使用不同的测试方法进行测试。分模块测试可以确保系统的每个功能模块都能够得到具体的测试。而不会出现缺测漏测的情况。

(2) 联合测试:这种测试方法主要是将系统的所有功能模块按照一定的规则联系进行整合。整合完成后的各个功能模块之前会存在着一定的联系。然后从全局的角度上对系统的功能进行测试,收集测试过程中所出现的问题并加以解决。

(3) 验收测试:这种测试方法主要是根据系统验收标准中的相关参数对系统的功能进行测试。确保系统所实现的功能已经达到系统设计的要求。

(4) 黑盒测试:这种测试方法主要是在不了解系统代码的情况下,直接对该系统的各个功能模块进行测试,查看各个功能模块有没有实现,以及是否符合需求。

6.2 测试目的

软件测试是项目建设的重要环节之一,是对之前开发的代码进行一次全面而且完善的检测。通过对已经开发好的系统进行测试,可以发现代码现有的问题或者隐藏的问题,将发现的问题可以及时修复后,再进行回归测试。在一遍又一遍的测试中,让代码不断的健壮和稳定。

本文中所设计的高职教学视频共享系统主要使用黑盒测试法进行测试。测试在软件接口处进行,此种方式就是把被测对象当作黑盒子,程序内部的特征以及逻辑过程完全不需要考虑,只需要依据需求分析和系统设计来检查程序的设计功能是否圆满实现。黑盒的测试必须要能够量化,才能够真正保证系统上线后正常,稳定的运行。

6.3测试工具及测试环境

6.3.1测试工具

该项目的测试活动还将使用以下工具,测试所使用的工具详细信息如表5.1所示。


表6.1 测试工具

产品名称 产品制造商 版 本 备   注

Office2016 2016 2003 测试管理

Office2016 Microsoft 2016 缺陷管理

Cvs 2.5 配置管理

Loadrunner Mercury 9 测试工具


6.3.2 测试环境

本系统的测试环境如表6.2所示。


表6.2 测试环境

名称 服务端 客户端

系统测试硬件配置 CPU

内存

硬盘 Intel i7

8G

1024G Intel i7

18 G 

512G HD 

网络 100/1000M 100/1000M 

系统测试软件配置 操作系统 Ubuntu 16.04 Windows 10

数据库 MySQL5.7

WEB服务器 Nginx


6.4 测试流程

软件测试的目的主要指的就是在特定的环境下设计相应的测试方案对软件进行测试操作。在整个测试的流程中修复已经发现的错误,提高软件的质量并且在进行新一轮的软件质量评估的过程。值得注意的是,软件测试不仅仅只是单纯是一个发现错误的过程,软件测试最主要的目的就是实现对软件质量评估的具体职能。软件测试最开始的部分就是制定相应的测试计划,并且进行测试工作分工,开发人员对于基到测试线的功能进行测式,发现的问题通过缺陷管理工具进行反馈,开发人员对问题进行修复,然后,准备第二轮的功能测试[37]。

测试人员完成第一轮测试后,需要写测试结论,发到相关人员。然后对基线后的第二轮进行测试,第二轮会对第一轮中发现的问题进行重点回归,回归测试的目的主要是针对第一轮测试中存在问题的进行检测,确保问题已经成功解决而且没有出现新的错误。同时每次测试中所碰到的问题以及解决问题的相关步骤都必须完整的记录在测试的日志中,确保测试的整个过程都有据可依。  

6.5典型的测试用例

6.5.1在线学习功能测试用例

在线学习测试用例主要是检查系统的在线学习功能是否可以正常使用,具体测试内容如测试用例表6.3所示。


表6.3 在线学习测试用例表

系统名称 高职教学视频共享系统 模块名称 在线学习

功能名称 在线学习 功能描述 在线学习测试

功能编号 用例目的 检验在线学习功能是否符合系统规定

前置条件 以游客身份登陆平台

步骤编号 步骤描述 测试结果

1 用户浏览网站后,点击“立即登录”按钮。 打开高职教学视频共享系统的登录界面

2 用户输入自己的用户名和密码,点击“登录” 打开用户个人详细信息界面

3 点击“在线学习”按钮 跳转到在线教学课程选择界面

4 搜索相应的教学课程,点击“立即学习”按钮 打开教学课程的展示界面,播放教学视频

5 点击“退出”按钮 页面退回到首页。


目的 验证在线学习功能是否正常。

测试结果 正常。


6.5.2课程在线考试管理功能测试用例

课程在线考试管理功能测试用例是检验系统在线考试流程是否符合预期的要求,具体测试内容如表6.4所示。


表6.4 课程在线考试管理测试用例

系统名称 高职教学视频共享系统 模块名称 课程在线考试管理

功能名称 课程在线考试管理流程 功能描述 课程在线考试管理功能

功能编号 用例目的 验证课程在线考试管理流程中,各个环节的表单数据项输入规格、表单操作按钮、下一步路由配置等 是否符合需求

前置条件 以管理员用户登陆服务平台

步骤编号 步骤描述 测试结果

1. 系统管理员在登录界面输入好用户名和密码之后就可以登录系统。然后在系统的试卷管理界面上点击“新建试卷”的按钮,系统将会直接打开试卷新增对话框,通过在对话框中输入试卷的相关内容,点击“确定”按钮实现试卷的新建。 提示添加成功,右侧试卷列表出现刚才新建的试卷

2. 系统管理员在登录界面输入好用户名和密码之后就可以登录系统。然后在系统的试卷管理界面上点击“试卷维护”的按钮,系统将会直接打开试卷维护页面。在试卷维护界面中系统管理员在列表中点击需要维护的试卷,系统将会直接打开试卷维护对话框,通过在对话框中输入试卷维护的相关内容,点击“确定”按钮实现试卷的维护。 系统按照添加的规则自动生成相应试卷

3. 清单页面可以设置题目列表中某个

题目的具体分值。 可以查看试卷内容

4. 完成系统试卷生成之后,系统管理员可以点击“在线答题”按钮,系统将会赋予系统管理员相应的答题权限。此时系统管理员可以直接选择相应的试题进行作答。 可以对试卷的内容进行作答

目的 验证试卷生成流程中,各个环节的表单数据项输入规格、表单操作按钮、下一步路由配置等 是否符合需求

测试结果 测试符合需求定义


6.5.3学员管理功能测试用例

学员管理功能测试用例是检验系统学员管理流程是否符合预期的要求,具体测试内容如表6.5所示。


表6.5 学员管理测试用例

系统名称 高职教学视频共享系统 模块名称 学员管理

功能名称 学员管理流程 功能描述 学员管理功能

功能编号 用例目的 验证学员管理流程中,各个环节的表单数据项输入规格、表单操作按钮、下一步路由配置等 是否符合需求

前置条件 以管理员用户登陆服务平台

步骤编号 步骤描述 测试结果

1. 系统管理员在登录界面输入好用户名和密码之后就可以登录系统。然后在系统的学员管理界面上点击“学员管理”按钮,系统将会直接打开学员新增对话框,通过在对话框中输入学员的相关内容,点击“确定”按钮实现学员的新建。 系统接收到用户的请求指令,若用户名已经存在,则显示出“用户名已存在”;若密码不足6位,显示“密码长度不够”;否则,则显示创建用户成功,在用户列表中将显示刚创建的用户,

2. 系统管理员在登录界面输入好用户名和密码之后就可以登录系统。然后在系统的学员管理界面上选择相应的用户之后填写需要修改的相关信息,点击“确认修改”的按钮。 系统提示“保存成功”,页面刷新后,用户列表中将显示修改后的内容

3. 在用户列表中勾选需要删除的用户记录,点击“删除所选”按钮。 系统显示删除成功后,用户列表中的该用户将不再存在

目的 验证学员管理流程中,各个环节的表单数据项输入规格、表单操作按钮、下一步路由配置等 是否符合需求

测试结果 测试符合需求定义


6.6 测试结果

数据和数据库完整性测试、功能测试、用户界面测试、Web应用系统安全性测试进行了三轮测试,经与需求比对,测试结果如表6.6所示。


表6.6 测试结果

第一轮测试 起2016-8-17 至2016-12-28

测试用例总数(第一轮) 缺陷数 缺陷率 测试用时 备注

2000 162 8.1% 2200

第二轮测试 起2016-12-29 至2017-2-5

测试用例总数(第二轮) 缺陷数 缺陷率 测试用时 备注

501 76 15.2% 848

第三轮测试 起2017-3-6 至2017-3-17

测试用例总数(第三轮) 缺陷数 缺陷率 测试用时 备注

501 4 7.0% 204


在第一、二轮系统测试中,发现的问题主要有以下几方面:

(1) 程序中部分修改导致其他模块出现问题。

(2) 对于数据校验系统程序控制不严谨。

(3) 各个模块系统提示信息不统一。

在第三轮系统测试中,第一轮和第二轮系统测试遇到的问题基本上全部关闭。

6.7 测试结果分析

系统的测试结果显示系统可以在较长的一段时间以内实现稳定运行,并且也能在最短暂的时间内处理管理员的操作请求,具体表现在以下几个方面:

(1) 系统功能可靠。系统第三轮501个测试用例中,缺陷率为7%。系统主要功能都通过测试。系统基本上可以满足的并发用户数为100人,系统的评价响应时间不超过400ms,文件上传下载时需要满足系统吞吐量不得低于5M/S。可以达到7X24小时不间断运行的要求。

(2) 系统易维护。系统基于B/S架构设计,祛除冗余的功能,整体的维护成本要比C/S架构的软件要低。

(3) 系统容错性高。在系统典型功能测试用例中可以得知,当用户输入非法操作时,系统可以进行温馨提醒并且引导用户进行正确的操作。使得用户不会因为不正确的操作而无法继续使用系统或者系统因为用户非法操作而直接崩溃。

(4) 系统专用性强,对于高职教学视频共享系统来说,涉及的功能主要是针对高校的课程教学所设,因此系统的专用性比较强。

(5) 系统具有高效性,从系统的性能测试中可以看出,系统采用改进的 Pick-KX 算法后可以加快用户请求的响应。

(6) 系统扩展性强,高职教学视频共享系统在设计的过程中每个功能模块都设置好拓展接口。方便在未来业务增长时能够不断拓展新的功能,确保系统能够时刻适应时代发展的需求。

6.8 小结

本章介绍了高职教学视频共享系统开发结束后必须经历的各个测试,主要通过相应的测试方法对所开发的软件进行系统的测试,并且在测试的过程中获取一些相关错误,从而修复这些错误,以确保系统能够长时间稳定的运行。测试的方法主要采用黑盒测试法对系统的主要功能进行测试。测试结果表明系统符合预期设计的要求。

 

结论与展望

论文总结

高等院校的课程课程教学是学生教学管理工作的重要组成部分,目前我国高校的招生规模不断扩大,在校学生人数不断上升,课程教学任务日趋繁重,课程课程教学任务和教学资源之间的矛盾日益突出,极大地影响了课程教学的效果。同时由于现代科学技术的发展,尤其是在信息技术方面,衍生出非常多的教育学习方式,在这当中发展前景最大的是通过网络来完成学习,也就是在线学习。这是一种全新的学习模式,并且随着网络技术的发展,互联网的普及,这种教育模式也彻底的改变的传统学习模式,不再有时间、地点的限制,学生可以在任何地方、任何时间,根据自己的需求,通过互联网学习自己想学的知识。并且教学资源也更加丰富,学习的互动方式也更加的灵活。

面对这样的现状,本课题拟定研究开发一个高职教学视频共享系统,运用计算机技术和互联网技术,形成学生自主学习为主的教学模式,实现教学资源共享,提高课程教学质量,以达到高校为了对学生的课程知识、素质、技能进行提升的目的。本文首先通过多方调研分析系统的背景及意义,确定研究内容和研究目标,然后对系统进行需求分析,并根据需求分析进行了总体设计、功能模块设计、系统UI设计和数据库设计等工作,接下来通过开发工具,对系统进行了详细的设计和功能实现。最后,对本系统进行测试,包括了兼容性测试、性能测试、功能测试等,并对测试结果进行评估,推动系统上线运行。

本课题的创新点有三处。其一,系统中采用Pick-KX负载均衡算法对用户的请求进行均衡处理,但Pick-KX负载均衡算法在请求接收时存在着接收能力有限的问题,并且该算法在转发请求时存在着负载计算开销过大,缓存利用率不高,节点的负载抖动现象过于严重等问题,因此本文将采用遗传算法对于Pick-KX负载均衡算法进行改进,并且将改进的Pick-KX负载均衡算法应用于高职教学视频共享系统之中。从两种算法的对比结果中得知,改进的 Pick-KX算法在连接数较大时,能明显加快用户请求的响应和提高系统的吞吐量。其二,把基于Prim的 K-Means聚类算法和基于用户的协同过滤推荐算法结合起来,个性化推荐符合学生自身学习状况的试题,通过学生的答题情况再进行反馈修正,从而可以客观地测评学生对该学科内容的接受程度,同时解决了新用户和新试题冷启动的问题。缩小了问题规模的同时,也减少了计算量,从而降低其算法时间复杂度。其三,系统的设计的过程中严格遵循RBAC访问权限设计原则严格控制好不同角色之间的系统访问操作权限以提高系统数据信息的整体安全性。除此之外,采用Nginx+Apache搭建集群服务器,配合Keepalived搭建 Web集群服务器,这种分布式主从服务器可以将故障点转移到备份服务器上,从而达到保障系统能够长久稳定运行的目的。

展望

目前系统的功能还不是很完善,仍有进一步提高的空间。展望主要包括以下几点:

(1) 本系统的功能设计上仅仅只是实现了基本的功能,并未做到商业级别的应用。因此在未来的时间里,可以根据时代发展的实际需求进一步拓展其主要功能,同时结合现代飞速发展的物联网技术以及数据挖掘技术,实现更为智能化的高职教学视频共享系统。

(2) 本文中仅仅只是实现Pick-KX负载均衡算法的简单改进,就取得了不错的应用效果。因此在未来可以继续采用两种甚至两种以上的智能算法的优点对某种原始算法进行优化,以形成一种改进型的算法来提高算法解决问题的实际能力。这种做的优势既可以扬长避短,充分发挥各种智能算法的优点,同时也可以保证智能算法最终所获得的结果的整体质量。

(3) 高职教学视频共享系统的整体安全性是一个比较重要的参考因素,系统的整体框架中进行已经采用了隐私性较高的SpringMVC框架作为技术框架,与此同时也在设计的过程中严格地对用户的权限合理化设计,但是针对一些黑客常见的攻击手段,高职教学视频共享系统并未做好优化,因此在未来很长一段时间里还需要采用Kail系统进行渗透测试,并且针对已知漏洞进行修复。

 

参 考 文 献

[1] 李文仲,段朝玉等. 基于云操作系统的网络互动学习平台开发研究[M].北京:北京航空航天大学出版社,2014. 21(16):53-61.

[2] TheodoreS, Ramjee. 基于云计算的教学共享体系的研究与实现[M].北京:电子工业出版社,2014.7(25):32-37.

[3] 周昕.数据通信与网络技术,北京:清华大学出版社,2014.32(8):24-27.

[4] 王长清.课程在线学习管理系统的设汁与实现[M].北京:北京大学出版社,2015.14(8):59-61

[5] 黄智伟.基于Web的职业学校校园网课程学习管理系统设计与实现[M],北京:北京航空航天大学出版社,2014.5.17(4):3-6.

[6] Muhammad Irfan,Zhu Hong,Tauseef Qamer,Shariq Hussain,Usman Ali Qureshi,Requirement Analysis and Design of Service Level Integration Layer for Cloud Computing Services, to Meet Service Level Agreements and Quality of Service,Journal of computational and theoretical nanoscience,2014,11,3 [C].CCDC 2009,Guilin,China:Jun.2015:4451-4456.

[7] 湛浩昱,孙长嵩,吴珊. 基于云计算的高校网络教育平台探究[J]. 计算机工程与应用,2016,(24):181-183.

[8] Huang F, Bai Y, Jiang B, et al. Design and implementation of the nursing open experimental teaching management system based on access control system[J]. Wireless Internet Technology, 2017.

[9] 李筠,李源源. 基于云计算技术的数字图书馆云服务平台架构研究[N]. 常州工学院学报,2014,23(5):51-53.

[10] 付俊,陈俊杰.云计算平台系统运行模式设计研究[J].工况自动化,2015,(07):22-23.

[11] 宋金星,刘晓,王来源. 基于云计算的远程教学资源建设模式[N].河南理工大学学报(自然科学版),2016,28(2):150-152.

[12] 张智,张蔺. 云计算概念和影响力解析[J]. 企业技术开发,2015,29(3):47-48.

[13] 秦晓静. 基于云计算的远程教学资源建设模式[D]. 长春:长春理工大学,2012.12-13.

[14] 闫倩倩,许勇,夏海燕. 在线学习的现状与发展研究[J]. 计算机技术与发展,2015,19(12):59-61.

[15] Beth Rubin,Ron Fernandes,Maria D. Avgerinou.The effects of technology on the Community of Inquiry and satisfaction with online courses[J] . The Internet and Higher Education . 2013.

[16] 湛浩昱,孙长嵩,吴珊. 云计算支持的群体协作学习环境研究[J]. 计算机工程与应用,2016,(24):181-183.

[17] Hua-Wei X U. Design and implementation of colleges experimental teaching management system based on the concept of “Internet +”[J]. Laboratory Science, 2017.

[18] 王坤,林明星. 基于云计算的高校网络教育平台探究[J].计算机应用研究.2015,(8):21

[19] 王宇,刘勇. 基于移动云计算的远程教育模式研究[J].贵州工业大学学报.2015,(07):22-23

[20] 李文仲等编,基于网络的学习特点及模式[M].北京航空航天大学出版社,2013年1月第1版

[21] 张朋,基于云操作系统的网络互动学平台开发研究[M],信息技术,2014,10.

[22] 李筠,李源源. 基于云计算的教学共享体系的研究与实现[N]. 常州工学院学报,2014,23(5):51-53.

[23] 付俊,陈俊杰.课程在线学习管理系统的设汁与实现[J]. 工况自动化,2015,(07):22-23.

[24] 宋金星,刘晓,王来源. 基于Web的职业学校校园网课程学习管理系统设计与实现[N]. 河南理工大学学报(自然科学版),2014,28(2):150-152.

[25] Zhou S M. Design and Implementation of a Web-based Virtual Experiment Teaching Platform[J]. Value Engineering, 2017.

[26] 周志平.基于MVC架构高职教学视频共享系统的研究与实现,南京理工大学硕士学位论文.2013.

[27] Huang Xuhui,Zhu Wei,Lu Dongxin. Underground miners localization system based on SpringMVC and WebGIS[J].IEEE Computer Society,2014,(06):256-258.

[28] 陈康.基于SOA架构的高校自考招生管理系统的设计与实现[D],湖北工业大学.2017 .

[29] 毛国君等编著.数据挖掘原理与算法[M]. 清华大学出版社,2005.

[30] 王霜,修保新, 肖卫东.Web服务器集群的负载均衡算法研究[J].计算机工程与应用,2004(25):79-80.

[31] 吴启迪.自然计算导论[M].上海科学技术出版社,2010.

[32] 宋建林.K-means聚类算法的改进研究[D].安徽大学,2016.

[33] 程媛媛.基于Prim最小生成树算法的时间成本研究[J].河北北方学院学报(自然科学版, 2013(06).

[34] 毛麾民.高校计算机课程室教学辅助系统的设计与实现,西南交通大学硕士学位论文.2013.

[35] 边胜琴,王建萍,崔晓龙.计算机网络课程室建设与课程教学改革[J].课程室研究与探索,2017(02).

[36] 谢祥志,郭秀才.基于Google云汁算平台的Web应用系统设计及实现[J]. 煤炭工程,2014,(03):109-110.

[37] 李希建,林柏泉.在线学习平台中基于角色的访问控制应用[J].采矿与安全工程学报,2015,25(3):327-329.


推荐文章