基于Yii2框架的《正常人体功能》课程教育云平台的设计与实现
2019-05-23李琨贾立伟石晓明
李琨 贾立伟 石晓明
摘要:为了解决目前医学高专院校医学专业课学习中存在的问题,该文结合“互联网+教育”的教育模式理念,基于Yii2框架创建满足医学生学习需求的《正常人体功能》课程教育云平台,为积极探索“互联网+教育”模式的实践之路提供技术支持。
关键词:Yii2框架;正常人体功能;校园私有云
中图分类号:TP391.9 文献标识码:A
文章编号:1009-3044(2019)08-0051-03
1引言
由于医专院校专业课的学习普遍存在着时间紧、任务重、实验器材不足等问题,致使教学和学习效果难以达到“高水平医学技能型人才”的培养目标[1]。随着云计算、虚拟现实等计算机技术的发展和应用,为信息技术与教学模式的深度融合提供了技术支持,为实现“互联网+教育”模式的广泛应用提供了可行的解决方法。
近些年来,我国在教育云方面的研究与探索也在积极地实践着,但适用于医学专业学生学习的教育云平台产品比较少。因此,本文結合“互联网+教育”的教育模式理念,基于Yii2框架创建满足医学专业学生需求的《正常人体功能》课程教育云平台。
2 Yii2框架概述
目前使用PHP语言开发Web应用的主流开源框架有Laravel、Yii等。Yii框架相比于其他框架来说,具有更加高效、简单的开发流程。它是一个高性能、安全、专业的全栈开源Web开发框架,可以用于快速开发各种使用PHP语言构建的中大型Web应用。
Yii框架实现了MVC设计模式,每个应用都通过唯一的一个入口脚本web/index.php文件接受Web 请求并创建控制器实例,该控制器实例创建相应的动作实例,在该请求通过系统验证之后,则执行该动作实例。该动作实例再执行过程中会加载相应的数据模型并渲染相应的视图组件返回给相应的请求用户。Yii当前包括1.1和2.0这两个版本,本文采用2.0版本中的basic版本作为系统的开发框架。
3基于Yii2框架的正常人体功能课程教育云平台的设计
3.1教育云平台的基本需求
1)系统中拥有DBA、教师、学生三类用户。系统管理员是拥有最高操作权限的教师,可对数据库中的所有表进行CRUD操作。
2)教师用户拥有对开课学生信息和所开设的课程所有管理权限,如开课学生信息的CRUD操作、设置课程章节、发布课程章节教学视频和资源、回复学生提问、发送通知等功能。
3)学生用户除了可以学习课程内容以外,还拥有教学资源下载、收藏课程、发表课程评论和提问的权限。
4)由DBA承担此评论或问题审核功能任务。学生对课程发表的评论或问题先通过审核后才能发布。
3.2 教育云平台的功能模块设计
根据需求分析和对系统的整体设计,该教育平台主要可分为用户和权限管理、课程管理、评论/提问管理以及通知管理四个功能模块(如图1所示)。
1) 用户管理模块包括DBA信息管理、教师信息管理、学生信息管理和用户权限管理四个子模块。其中权限管理模块使用Yii2框架自身提供的基于角色的权限管理模块,通过给三类用户分配不同的操作角色来获得相应的操作权限。
2) 课程管理模块包括课程信息管理、课程章节管理、选课信息管理、开课信息管理以及课程资源管理等子模块。其中课程章节管理模块除可以对课程章节的组织结构进行管理以外,还包括在线学习视频或三维图形文件的CRUD操作。
3) 评论/提问管理模块包括评论/问题管理以及评论/问题回复管理两个管理子模块。其中DBA可对学生提交的课程问题或评论进行审核;而评论/问题回复管理是对教师针对评论/问题回复信息的管理。
4) 通知管理模块的主要功能是对教师所发布的通知进行集中管理的子模块,用以实施通知信息的CRUD操作。
3.3教育云平台的概念模型和逻辑模型设计
根据需求分析和功能模块的设计结果设计教育云平台的概念模型(如图2所示)。由于Yii2框架提供了基于角色的存取控制机制,只需配置参数后进行数据库的数据迁移即可自动生成权限管理的关系模型。根据教育云平台的概念模型,将其转换为对应的关系逻辑模型。本系统的关系逻辑模型设计如下(此处仅列出关键属性):
l学生(学生ID,姓名,密码,Email,添加时间,…)
l教师(教师ID,姓名,密码,职称,Email,添加时间,部门ID,…)
l课程(课程ID,课程名,课程信息,…)
l部门(部门ID,名称,描述,…)
l教学资源(资源ID,名称,存放地址,…,课程ID)
l章节(章节ID,名称,…,课程ID)
l媒体(媒体ID,名称,存放地址,…,章节ID)
l角色权限(角色权限名,类型,描述,…)
l授权(角色权限名,用户ID,创建时间,…)
l通知(通知ID,学生ID,教师ID,通知内容,是否已读,…)
l评论(评论ID,学生ID,课程ID,评论内容,是否审核,…)
l选课(学生ID,课程ID,选课时间,…)
l收藏(学生ID,课程ID,收藏时间,…)
l讲授(课程ID,教师ID,开课时间,…)
l提问(问题ID,学生ID,课程ID,教师ID,是否审核,问题内容,回复内容,…)
4 《正常人体功能》课程在教育云平台中的部署
4.1 WebGL技术在《正常人体功能》课程中的应用
由于各课程大部分都采用章节教学视频的方式来组织,故在进行数据库设计时,在“媒体”关系模式中仅使用“播放地址”字段来指明某一章节教学视频所存放的位置。可是对于《正常人体功能》这门课程来说,除了可以使用视频来组织教学以外,还可使用WebGL技术[2]所创建的三维人体虚拟模型进行教学,但此类教学资源需要用到3D模型文件、材质文件和贴图文件三类文件。所以为处理一个字段指明三类文件存放位置的问题,本平台在该类教学资源文件上传时,自动按章节将这三类文件存放在同一个目录中,并使用同一主文件名命名,利用文件扩展名区分各文件。在后台数据库中,“媒体”关系模式的“播放地址”字段存放的是3D模型文件的位置地址,浏览器在对模型文件渲染时首先找到对应的3D模型文件,再在该文件所在的目录中,根据文件名搜索其他两类文件,找到后完成3D模型文件在网页端的渲染显示任务。由于在网页端显示视频和3D模型文件这两类教学资源的方式不同,故前台课程学习页面要根据相应的文件资源类型进行判断。若文件类型是教学视频资源文件,则可利用播放器插件直接读取视频资源,否则按上述渲染三维虚拟人体模型的方法在网页中显示。
4.2 《正常人体功能》课程在教育云平台中的部署应用
此外,该教育平台是部署在基于OpenStack框架实现的私有云平台上的实例,为减轻重装系统给DBA所造成的麻烦。在该教育平台在部署上线之前,先为其制作操作系统环境镜像。本实例采用CentOS-7-x86_64-Minimal版操作系统、Apache服务器和Mariadb数据库的LAMP组合方案制作系统环境镜像。其手动制作系统镜像步骤如下:
1)下载CentOS-7-x86_64-Minimal镜像文件到OpenStack控制器节点中。
2)使用qemu-img命令创建一个格式为qcow2的空镜像文件。
3)使用virt-install命令并使用CentOS-7-x86_64-Minimal镜像文件启动虚拟机安装,通过设置name、disk、network、os-type、location等参数指明虚拟机系统名、磁盘类型、虚拟机网络、操作系统类型和CentOS-7-x86_64-Minimal.iso镜像文件位置。
4)按照CentOS操作系统的安装步骤依次完成网络服务配置、默认的LVM分区设置、root用户密码设置等内容,待系统安装完成后重启系统。在重启之后,在OpenStack控制器节点中运行virsh命令弹出磁盘镜像并再次重启系统。
5)为了使OpenStack管理程序能够重启或关闭实例,需在镜像主机中安装acpid服务并设置开机自启动。
6)一个实例在启动时必须与元数据进行交互才能启动执行多个任务(比如实例需要获取ssh公钥和用户的数据脚本),因此需要在镜像主机中安装cloud-init服务。
7)安装cloud-utils-growpart软件包以使得root分区可以调整到合适的大小。
8)为了使实例能够访问元数据服务,镜像主机必须使用“echo "NOZEROCONF=yes" >> /etc/sysconfig/network”命令禁用zeroconf路由,并将网卡设置为开机自启和动态分配IP地址。
9)为了能够让nova console-log命令在CentOS7上正常工作,需要在镜像主机上编辑/etc/default/grub文件,并对GRUB_CMDLINE_LINUX选项进行配置,然后运行“grub2-mkconfig -o /boot/grub2/grub.cfg”命令保存更改。
10)在镜像主机中使用virt-sysprep程序删除MAC地址引用,以保证每次镜像启动时,虚拟网卡都具有不同的MAC地址。
11)在镜像主机中安装httpd服务、mariadb服务器、php环境并设置它们开机自启,设置防火墙开启22、80端口并关闭selinux设置。
12)在取消定义libvirt域并关闭系统之后,使用virt-sparsify命令对镜像文件进行压缩后,即可将该镜像上传至glance服务的镜像服务中使用。
在系统环境镜像制作完成之后,使用该活动镜像创建虚拟机实例。使用FileZilla客户端通过22端口连接到虚拟机实例中,将教育平台上传至/var/www/html文件夹下并设置项目文件夹的使用权限,随后在mariadb服务器中导入数据库定义文件,即可完成教育云平台在私有云平台上的部署。
5总结
本项目基于Yii2的PHP开发框架创建满足医专院校学生学习需求的《正常人体功能》课程教育云平台,该平台是一套集备课、授课、资源分享、三维人体仿真于一体的教育云平台。目前该平台仍属实验阶段,待后期硬件设备采购完成之后,再将其进行大规模部署,真正实现线上、线下双学习的“互联网+教育”教育模式。
参考文献:
[1] 李琨, 贾立伟, 贾福运. “互联网+”时代下Web3D技术给医学高职高专教学改革带来的机遇与挑战[J]. 甘肃科技, 2017(20):48-50.
[2] 李琨, 贾立伟, 石晓明. 基于WebGL技术的医学虚拟实验室的设计与实现[J]. 电脑知识与技术, 2017(23).
【通聯编辑:光文玲】