终身在线学习平台的架构及数据库设计研究
2019-09-10尹飞
尹飞
摘 要:终身在线学习平台设计是利用计算机技术、通讯技术和网络技术,搭建一套开放扩展性强、功能完备、设置更加灵活、性能更加优越、平台间可实现无缝对接的一体化教育教务管理平台,实现教学、管理、服务一体化。本文重点分析了内蒙古终身在线学习平台的系统架构和数据库设计,试图为终身在线学习平台提出现实的设计开发技术路径,为其他项目实践提供帮助。
关键词:终身在线学习平台;系统架构;数据库设计
1.引言
教育部《教育信息化十年发展规划(2011-2020年)》提出推进信息技术与教学融合,利用信息技术开展启发式、探究式、讨论式、参与式教学,鼓励发展性评价。在线学习平台可同时开展学历教育、非学历继续教育,形成多层次、多类型、多学科的办学系列,实现学历教育与非学历教育的并举,满足多样化的学习需求,是实现“人人皆学、时时可学、处处能学”的终身学习理念的大型学习资源超市,是一所能够为一切学习者提升学历、提高素养、训练技术、提高能力的在线虚拟大学。平台始终以终身学习为内涵,可实现随时随地学习,满足教育终身学习宗旨,实现不同类型学习成果的互认和衔接,搭建终身学习“立交桥”。
2.总体设计
2.1系统架构设计的策略与原则
本系统采用前后端分离的方法,利用.net MVC开发模式,搭载kiss 框架实现开发。前后端分离使前端不再需要向后台提供模板或是后台在前端html中嵌入后台代码,通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
通过目前主流的前端MVC框架,我们可以非常快速的定位及发现问题的所在,客户端的问题不再需要后台人员参与及调试,代码重构及可维护性增强。原则上系统需要设计成业务流程清晰,运行效率高,速度快,安全性高。
2.2设计思想
根据对内蒙古终身学习平台的分析,它是一个比较综合的在线学习网平台,可以分为管理员、老师、学生三个大的角色模块,这样分层可以使用户体验三种完全不能身份的操作,使流程更加结构化,分工明确,最大限度体验系统的功能。
在开发的设计上使用“前后端分离”的模式实现开发,前后端分离具有以下几个优点:彻底解放前端;提高工作效率,分工更加明确;局部性能提升;降低维护成本。
2.3 架构体系
根据架构分析和设计思想设计出如下系统的架构图:
2.4后台管理模块划分
2.4.1 管理员模块
后台管理,其中站点管理主要有基础数据,资源管理,培训管理,财务管理,统计管理,考核管理,论文管理,成绩管理等功能。
站点管理,其中站点管理主要有站点管理,菜单管理,新闻栏目,新闻管理,用户管理,审核管理,图片管理,子站管理,友情链接,帮助中心,问卷调查等功能。
2.4.2 老师模块
老师模块可以分为我的首页,主持课程,论文计划等三个模块:
我的首页:主要介绍老师教学的相关信息,如:主持课程数,辅导课程数,学校首页,论文计划,主持课程等。
主持课程:主要介绍老师的主持课程信息,点击课程名称,可以进行课程的详细设计。
2.4.3 学生模块
学生模块可以分为三种角色:学历学生,非学历学生,随学随考学生。
非学历学生:我的首页,我的课程,我的班级,个人信息,我的收藏,我的购物车,我的订单。
学历学生:我的首页,个人信息,考核管理,论文管理
随学随考学生:我的首页,个人信息,考核管理,
3.运行设计
3.1前台客户端
1、同步请求/应答方式:客户端向服务器端发送服務请求,客户端阻塞等待服务器端返回处理结果;
2、异步请求/应答方式:客户端向服务器端发送服务请求,与同步方式不同的是,在此方式下,服务器端处理请求时,客户端继续运行;当服务器端处理结束时返回处理结果。
3.2后台系统
后台通过在App_Data里kiss.config文件配置数据库的连接而来连接数据库,然后在相关文件里配置需要查询的数据库操作来查询所需的数据,将它们处理成json数据返回至前台页面显示。
4.数据库设计
数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,
构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。通过数据建库的命名、结构、建库过程及安全性措施等几个技术方面进行约定,目的就是提供一套规范、合理、科学的建库技术体系,应用系统提供建库技术参考。
在数据库应用的设计过程中,开发者需要解决的主要问题是设计出的数据库和系统可以在多大程度上满足用户的需求。在整个开发过程中,数据库的设计主要分四个阶段:需求阶段、概念阶段、逻辑阶段及物理设计阶段。
目前在常见系统开发中,普遍使用的数据库有Oracle数据库、MySql数据库以及Sql Server数据库。此次开发中所使用的数据库在前文中提到过,就是Sql Server数据库,下面平台中使用的部分数据库设计。
4.1 数据库模型
5.系统特性设计
5.1 性能分析与实现
本系统通过利用nginx反向代理服务器,实现前后端分离,使得系统前后端互不干扰,大大降低了系统资源的消耗,并且其所占内存小,并发性高,可以同时供大量用户使用。
5.2 可靠性与安全性
5.2.1 数据传输部分
数据从前台通过异步访问方式,以json数据形式发送到后端,一些重要数据是从后台处理的,另外财务管理模块都是采用支付宝和微信提供的接口,通过后台传输数据,大大增强了数据安全性。
5.2.2 身份验证部分
用户登录的密码都是采用MD5加密。
5.3 可维护性
系统利用ngnix的反向代理服务器的优点,在7×24小时不间断服务的前提下,可以升级Nginx的可执行文件。
6.结束语
终身在线教育平台是综合使用计算机技术、互联网应用技术及多媒体实用技术为学习者提供的一套完整的在线学习平台,我们只有对他的架构及数据库进行合理的设计,才能打造出性能、安全性、易用性各方面都很优秀的终身教育平台。随着这类平台的不断开发,其功能性和使用范围也变得越来越广。在这样的发展趋势下,要求技术人员在系统开发过程中对平台架构设计以及数据库设计的重视程度提升到一个新的层次。
基金项目:内蒙古自治区教育厅自然科学项目《基于Moolde系统的在线学习平台搭建研究——以XXXXXXX大学为例》的阶段性成果,课题编号:NJZY288;内蒙古广播电视大学应用研究项目《基于统一信息化网络学习平台的整合与应用研究》的阶段性成果,课题编号:IMRTVU-ISR1613。
参考文献
[1]程志.关于软件开发中数据库测试技术的若干研究[J].科技展望,2016.2.
[2]江雍,李伟松.基于虚拟化的OpenedX慕课平台架构研究[J].软件导刊.2016.10.
[3] 侯慧玲.基于Moodle的网络协作学习平台设计[J].电脑开发与应用.2013.1.