APP下载

基于大数据的在线教育平台的设计与实现

2021-04-29达泓宇田少卿杜美玲王聪

微型电脑应用 2021年4期
关键词:数据库模块用户

达泓宇, 田少卿, 杜美玲, 王聪

(哈尔滨商业大学 计算机与信息工程学院, 黑龙江 哈尔滨 150028)

0 引言

基于大数据时代互联网行业快速发展,用户的学习方式发生了极大的改变,通过黑板及书籍的学习形式逐步发展成为网络在线学习,通过便捷、贴心的在线学习,使学习能力显著提高。同时在线教育发展前景广阔, 已成功跃进大数据应用的最前端。然而,随着科技的不断进步,网络环境不断更新换代,用户需求不断增多,光靠提高学习服务质量很难得到大众认可,用户很难持续响应系统规定的教学任务。因此,网络在线教育应通过对大数据的分析来积极响应不同用户在不同时间段的学习诉求,开发人员通过每日获取的数据对用户的学习行为进行分析,对不同的用户提供个性化定制服务。本系统部分模块采用高性能的非关系型数据库 MongoDB对大量数据进行存储,使其在安全性、可靠性、扩展性和资源重复利用率上更胜一筹,为往后大数据研究与应用打下良好基础。

1 国内外研究现状

1.1 国内研究现状

据iiMedia Research公布的《2018中国在线教育行业白皮书》数据预测,中国在线教育用户将在2020年达到2.96亿。到时中国有望成为世界上参与在线教育行业人数最多的国家之一。据调查显示,有84.9%的被调查者认可O2O教育模式。近些年,移动互联网、VR、人工智能和大数据等技术得到了迅猛发展,线上教育具有资源习得性、丰富性、灵活性等优势,这些优势已逐渐补充了线下传统教育模式的缺陷。据有关人士预测,在2020年中国在线教育市场将达到4 330亿规模。“互联网+”教育市场正迎来新一轮的风口。

1.2 国外研究现状

在美国,在线教育所开设的学历、学位课程数已达到4.8万个,基本上涵盖了美国高等学校的所有学科和专业。近百万的学生通过在线教育学习来获取学历。美国的在线教育以技术创新为基础,正以较快的速度在规模、层次和水平上不断向前发展。通过对国外在线教育现状的研究,美国民众已经逐步认可在线教育的战略地位,并将此融入到美国高等教育中。无论是教学质量、发展速度、规模还是普及率方面,在线教育已经成为高等教育系统重要的一部分。

1.3 存在的不足

在国内,由于了解在线教育行业的人不多且信息采集渠道不够规范,大量的优质教育资源没有信息产业化,因此数据量并不大,还不能形成大数据分析基础。并且,国内在线教育的内容以及形式不够标准且普遍缺乏对教育资源的统一管理。人们受传统观念的影响,导致该类平台的推广并不顺畅。除此之外,已有的信息化教育资源无法相对集中,用户常常不能获取切实所需的资源,不利于自身的学习和分享。

2 系统功能需求分析

本系统角色主要分为两类:用户和管理人员。不同角色具有不同的职责,相互依存,协调配合,共同维持在线教育平台的信息化管理。

2.1 用户功能的用例分析

用户在初次注册该系统学习时,系统会对用户进行职业兴趣测试,分析出最适合用户从事的职业,并以此进行课程推荐。用户在购买学习资料后,可以随时查看订单号、订单名称和订单类别。在学习过程当中,用户可以随时查看学习进度,并对学习中碰到的疑难问题进行讨论。其功能用例图,如图1所示。

图1 用户用例

2.2 管理员功能的用例分析

系统管理员拥有较多的管理权限,其功能需求包括账号审核、用户信息查看、用户信息修改、筛选用户上传资料、管理第三方支付、数据统计分析和信息公告等。其功能用例图,如图2所示。

图2 管理员用例

3 系统设计与实现

3.1 系统设计原则

该系统的设计围绕以下几项基本原则。

(1) 经济性和实用性原则

开发人员应尽最大可能节省投资成本,设计出高性能、价格合理且具有较好性能价格比的在线教育平台。同时,设计时应该充分结合实际,注重实效,并坚持实用、经济的原则,通过对现有设备和信息渠道的充分利用,帮助用户节省资源。

(2) 先进性和资源共享性原则

我们必须利用先进的技术水平设计出合理的、符合国际发展趋势的在线教育平台。该系统的设计方案主要是通过网络教育信息资源的整合、传输和共享来实现。

(3) 安全性和可靠性原则

技术人员应提供多种检查和处理手段来保证系统数据的安全性及准确性。针对主机、数据库、网络和应用等各层次制定相应的安全策略,保障系统的安全性和可靠性。

(4) 用户操作方便的原则

系统功能全面,为每个用户群,包括客户提供一个高效、统一且易于交互的操作界面。

(5) 可扩展性和易维护性的原则

在设计系统时应具有一定的前沿性,在充分考虑系统更新换代、扩容维护的基础上,针对不同的操作系统提供多语言的代码设计。

3.2 系统体系结构设计

本平台将采用B/S结构(浏览器/服务器模式,Browser/Server)为用户进行服务,用户通过互联网进入系统,享受相应的功能服务。并采用C/S结构来对Web服务器和数据库服务器进行维护修改。形成“内外有别”“查改有别”模式,提高服务器的安全性,防止数据被破坏,如图3所示。

图3 系统体系结构示意图

3.3 技术架构设计

在技术架构方面,它采用了在功能上可扩展且接口相对来说更加安全开放的松耦合架构,以此来确保系统可以适用于各种不同的应用环境,且能在不同的应用环境中稳步运行。本系统运用基于三层架构以及MVC(模型、视图、控制)的一种模式,这种模式将数据、业务和展现三者进行了非常有效的分离。它们分工明确,JSP用于实现用户界面层(View);Servlet用于实现控制层(Control);JavaBean实现业务逻辑层(Model)。各层之间实现解耦的过程体现了系统设计的开闭原则,即通过依赖注入达到目标。该系统架构,如图4所示。

图4 系统架构示意图

3.4 网页前端设计

平台网页前端应用HTML、CSS、JavaScript、PHP等网页开发技术。

后端应用服务器端HTML嵌入式脚本语言PHP开发技术,用以处理用户与服务器之间的操作命令。数据库以MySQL为主,部分模块采用MongoDB。用以存储、处理相应数据,数据库服务器只能由数据库管理员进行操作,库内数据需满足以下规则。

(1) 实体完整性规则;

(2) 参照完整性规则。

3.5 系统主要功能设计与介绍

系统是在目前主流在线教育平台的基础上,开发的一套功能齐全的软件。通过每日获取的数据(用户连续学习时长、单次学习时间、每日学习次数等)对用户的学习行为进行分析,通过算法分析测试结果,向用户推荐更加合理的课程,并以此进行针对性的规划。该系统学习资源采用高性能的非关系型数据库MongoDB存储,高效率执行多用户并发访问,结合专业知识创建索引,提高查询准确度。信息管理模块包括系统信息和异常信息,系统每天都会产生大量的日志信息,为了对海量日志数据能够进行高效分析和存储,利用Mapreduce来发掘隐藏在日志数据中的用户访问规律和模式,如图5所示。

图5 数据获取

(1) 学习资源在线查询模块设计

用户可以通过知识库学习进行知识积累与管理,但面对大量的知识数据,如何对信息进行准确定位与检索变得尤为重要。本系统采用Lucene.Net全文检索开发包,它提供了完整的查询引擎和索引引擎,可以快速查询用户所需内容。底层采用MongoDB数据库,用来存储图片、音频、视频等大文件数据。在多用户并发查询时,能够高效、快速地返回结果,部分代码如下。

$conn = mysqli_connect('localhost','root','123456','root') or die("数据库连接失败!".mysqli_error());//用户连接相应数据库

mysqli_query($conn,"set names utf8");

?>

$insearch = $_POST["insearch"];//接受查询请求

$sqlstr = "select * from teach where username like '".$insearch."' or teachid like '".$insearch."' Or teachname like '".$insearch."' or kind like '".$insearch."'";//对所需信息进行模糊查询

$result = mysqli_query($conn,$sqlstr); //并返回相应结果

(2) 用户资源共享模块

用户可随时上传各领域学习资料并能对该部分资料设置相应的权限,如可阅览用户、可读、可下载和查阅期限等权限,用以保护该类资料的知识产权。同时,上传资料的用户会得到一定量的学习积分,用来浏览其他学习资料。使各类学习资料在共享中将其优势最大化。

(3) 个人职业测试模块

本项目借鉴霍兰德职业测试原理,在用户注册完成之后,首先使用霍兰德职业测试对用户性格等方面进行测试,分析出用户未来更适合从事的职业,从而推建更适合用户学习的课程。职业测试模块图,如图6所示。

图6 测试模块

(4) 用户管理中心

用户可以在个人主页查看和修改个人基本资料,个人主页记录了用户的全部学习记录以及网页通知等消息,部分代码如下。

if (!($id and $name and $age and $sex)){

echo "";

}else {

$sqlstr = "update users set name = '".$name."', age= '".$age."', sex = '".$sex."', where id = '".$id."'";

$result = mysqli_query($conn,$sqlstr);

if ($result){

echo "";

}else {

echo $sqlstr;

}

}

4 平台实践

本平台在灰度测试期间,在本院随机选取计算机院150人进行试用,为时半年(2019.03-2019.09)。在试用的过程中,通过分析3月和9月的相关数据,发现平台曝光量和点击率显著提高,用户上传数据量不断提升,使用户的学习资源得到相应的补充,极大的丰富了用户的学习生活。同时,通过一些用户访谈和调查问卷,约有78%的用户对该平台比较满意,除此之外,我们还另外抽取120位受众,其中约有96%用户平时有自主学习的习惯,这与平台设计初衷相符。平台相关指标,如图7所示。

图7 平台相关指标

5 总结

通过大数据,可以更深入地了解大量数据的本质,可以对传统的教学方式加以改善,也可以实现个性化学习。但与此同时,在线教育也面临着挑战—如何保证学习的质量及效果成了首要问题。首先,大数据具有海量性的特点,处理数据的方式会与传统方式不同,怎样改善处理数据的方式是一个问题。其次,虽然大数据技术在教育领域有着良好的发展前景,但是如何与各个跨学科领域的技术成果相结合仍然是大数据在线教育领域研究的重中之重。此外,我们还应该将数据安全以及所有权的问题作为我们关注的重点,严防数据安全隐患的同时保护用户的隐私。

猜你喜欢

数据库模块用户
28通道收发处理模块设计
“选修3—3”模块的复习备考
数据库
关注用户
关注用户
数据库
关注用户
数据库
数据库
如何获取一亿海外用户