移动云环境下自主学习系统的构建研究
2014-05-10汤跃明查宏波
□ 汤跃明 查宏波
移动云环境下自主学习系统的构建研究
□ 汤跃明 查宏波
随着移动互联网和云计算的不断发展,二者的结合是必然趋势。移动云计算集合了移动技术与云计算的优势,成为当前信息技术研究中的热点领域,也给教育信息化提供了新的发展思路。本文在分析了移动云计算的相关理论之后,结合自主学习理论,从模型、云平台和系统三个方面介绍了移动云环境下自主学习系统的构建过程,以期推动移动云计算在教育领域中的应用。
移动云计算;自主学习;移动学习;云计算;移动网络
一、移动云计算概述
随着手机处理器、RAM、显示屏等工艺的不断提升,手机终端的计算、存储和显示能力得到了飞速发展[1]。特别是移动终端中加入传感器(如重力传感器、光传感器、陀螺仪等)和蓝牙等技术,使其功能越来越丰富,对人们生活方式的影响也越来越深入。尽管如此,目前移动终端硬件设备的性能还远不及PC,难以支撑各种强大的运算和服务[2]。随着用户需求的不断提升,这一弱点越来越受到关注。基于互联网的云计算,通过虚拟化的方式,把计算和存储等资源集中起来,构建出强健的计算系统,并将用户端的计算转移到云端完成,大大减轻了用户终端的计算压力。这种模式很好地弥补了移动终端性能不足的缺点,给移动互联网的发展带来了积极的影响。
云计算和移动互联网的融合,带来了巨大的创新空间和经济价值,受到越来越多的关注。融合了移动计算和移动互联网的云计算,提供了基于移动终端的云服务,人们将这一新的模式称作移动云计算,可以将其定义为:“通过移动互联网以按需、易扩展的方式获得所需的基础设施、平台、软件或应用等的一种IT资源或信息服务的交付与使用模式。”[3]
(一)移动云计算的模式
香港理工大学的曹建农博士认为移动云计算应包括三种模式:通过移动设备接入云、微云和云端为移动设备增效[4]。
1.通过移动设备接入云是指移动设备通过移动网络接入到云端,从而享受云端提供的SaaS(软件即服务)。
2.微云是通过单一的、基于移动设备的自适应网络实现云计算的移动性,即基于移动设备资源构建移动的云端系统。
3.云端为移动设备增效是指将移动终端的计算和存储无缝地迁移到云端,以克服移动设备资源短缺的弱点。这种模式通常被视作IaaS(基础设施即服务)或者PaaS(平台即服务)。
本研究主要基于通过移动设备接入云和云端为移动设备增效这两种模式,不考虑微云模式。
(二)移动云计算的服务模型
移动云计算的服务模型一般由“端”、“管”、“云”三部分组成(如图1所示)。所谓的“端”是指能够接入到“云”的移动终端设备;“管”是指提供数据传输的通信网络;“云”是提供资源或服务的基础设施、平台和应用服务等,包含三个层次:软云(SaaS)、平云(PaaS)和基云(IaaS)。IaaS将硬件等基础设施资源采用托管的方式,作为服务提供给用户使用;PaaS为用户提供应用程序运行环境;SaaS将应用软件封装成服务,提供给用户使用[5]。
(三)移动云计算的优势
1.突破终端设备限制
在移动云计算模式下,所有的运算和处理都在云端完成,用户只需要获得处理结果。这就突破了传统模式下应用程序必须依赖终端设备的限制,从而实现了与移动终端设备的无关性[6],为用户提供高效的计算和存储服务。
图1 移动云计算的服务模型
2.高效处理
在移动云计算中,计算一般都在云端完成。云端可以集合强大的处理资源,提供稳健的处理能力,这样就保证了数据的高效处理。
3.降低成本
由于移动云计算与设备无关的特点,对移动终端设备的性能要求降低,从而大大降低用户的成本。
(四)移动云计算与自主学习
自主学习能力在现代教育受到普遍重视。自主学习强调学习动机的自我驱动和学习的独立性,要求学习者充分发挥学习积极性,独立自主地完成相关学习任务。许多学校和教育机构都将培养学生的自主学习能力作为教育目标的一个重要部分。
随着移动互联网的快速发展,移动学习开始兴起,移动设备的便携性让学习者可以选择适合自己的学习环境;移动设备的快捷交互性使得学习者可以便捷地与外界进行交互,以消除学习过程中的障碍,提高学习效率。移动学习中教师和学生的分离,使得学习者能够处于主导地位,独立自主地完成学习任务。
云计算的巨大影响引起了教育技术研究人员的关注,开始研究利用云计算来解决教育领域中问题的可能性。普遍认为,云计算有助于推动我国教育信息化,特别是有助于推动教育资源系统的优化和整合,实现数据共享,提高教育资源的利用率,促进教育的公平等,希望通过云计算解决教育信息化过程中出现的问题,比如信息孤岛、系统互联和资源共享等[7]。
技术的发展,推动了云计算、移动计算和移动网络的结合,促进了移动云计算的发展。基于移动云计算的新型学习模式,集成了移动学习和云计算的诸多优点,为数字化学习注入了新的活力,也为自主学习带来了广阔的空间。可以预见,随着技术的发展,移动云计算对教育的影响将越来越深入。
二、移动云环境下自主学习系统模型的构建
(一)自主学习活动的设计
美国著名自主学习研究者齐莫曼认为,自主学习应该是自我、行为和环境三者之间交互作用的过程,“自主学习者不仅能对内在学习过程作出主动控制和调节,而且能在外部反馈的基础上对学习的外在表现和学习环境作出主动监控和调节”[8]。自主学习是学习者不断调整自己的认知、情感状态和学习行为的过程,其内部心理过程可以划分为三个阶段:计划阶段、行为或意志控制阶段和自我反思阶段。根据齐莫曼自主学习的理论模型,本文构建了自主学习系统的学习活动(如图2所示)。
图2 移动云环境下学习者自主学习活动
首先,学习者应具备独立学习的态度和能力,通过移动终端设备进入到自主学习系统后,应先制订学习计划。根据学习者自身的条件,把准备学习的内容、时间安排和希望达到的效果写成计划书,以便学习者能够有步骤地完成学习任务。学习者制定完学习计划后,应根据该计划选择学习内容和学习策略,进行自主学习。在学习过程中遇到的任何问题都可以随时进行在线互动交流,请求别人的帮助。学习结束后可以进入在线测试部分,检验学习效果。最后,根据学习计划执行情况和学习中遇到的问题,对学习过程进行反思和总结,完成对学习的评价。
(二)系统模型设计
移动云环境下自主学习系统模型整体上符合“端”、“管”、“云”的服务模型,其结构如图3所示。
图3 移动云环境下自主学习系统模型
1.客户端
用户的手机、平板电脑等移动终端设备安装自主学习系统客户端,用以显示终端与云端的交互结果。
2.通信网络
可以是无线校园网、无线局域网,也可以是电信运营商提供的2G、3G网络等。用户可以自己选择网络,但最好选择性能稳定、带宽大的网络。
3.云端体系结构
云端体系结构可分为四层,自下而上依次为物理层、虚拟层、管理层和应用层。物理层主要为系统的运行提供物理设备支持,包括计算机、网络互联设备、存储设备等硬件;虚拟层主要通过虚拟化技术对硬件设备进行虚拟化,屏蔽底层系统的复杂性,为管理层提供计算、存储、网络等服务;管理层提供应用程序部署与管理服务,是应用程序开发和运行的环境,包括海量数据的计算和存储、任务和资源的调度和管理等[9];应用层提供各种应用服务接口,接受用户的服务请求和服务注册,为用户提供服务入口。运行于云端的自主学习系统根据用户发送的服务请求调用云平台提供的相应API,为用户提供云服务。
三、云平台的构建
目前,云计算平台种类繁多,大致可以分成两类:一类是商业运行的云平台,比如GoogleApp Engine、MicrosoftAzure和AmazonEC2等;另一类是开源云平台,如Hadoop、OpenStack等。表1是几种主要开源云平台的比较。
本文采用Apache基金会旗下的开源项目Cloud⁃Stack构建云平台。CloudStack是一个可用性高、易扩展的IaaS云计算平台,可以为服务提供商提供公共云、私有云和混合云服务解决方案。
CloudStack由Java语言编写,采用“框架+插件”的系统架构,提供了人性化的解决方案,包括大部分组织希望的IaaS、云“栈”、计算服务、网络即服务、用户账号管理、完全公开的原生API、资源核算和一流的用户界面等。它本身是一个虚拟化管理平台,通过CloudBridge提供了与AmazonEC2兼容的云管理接口,对外提供IaaS服务。CloudStack为用户提供了丰富的管理途径,如简单易用的Web界面、命令行,还有全功能的RESTfulAPI。此外,CloudStack还提供了一个兼容AWS的EC2和S3的API[10]。目前CloudStack有两个版本:开源版本和商业版本。一些著名的大公司,如塔塔集团、美国电信、诺基亚研究中心、韩国电信、中国移动、中国电信和国家电网等,都是CloudStack的用户。
为了构建移动云环境下的自主学习系统,本研究进行了最小化的CloudStack部署测试,用到的软硬件设施包括:笔记本电脑一台;一张CentOS6.2 x86_64minimalinstallCD以及CloudStack3.0.2 forRHEL和CentOS6.2的安装包。
表1 几种开源云平台的比较
安装和部署的步骤如下:①首先安装CentOS 6.2系统,选择默认选项即可。安装完成后,依次对系统的网络、主机名、SELinux和NTP进行配置。然后配置两个NFS共享目挂载点;②安装和配置MySQL数据库;③安装CloudStack;④配置系统模板;⑤安装和配置KVM;⑥配置云平台。通过用户界面进行配置,包括区域配置、提供点配置、集群配置、主存储配置以及次存储配置。具体的配置步骤和命令可参见ApacheCloudStack3.0运行手册[11]。
四、自主学习系统的构建
自主学习历来受到人们的重视,自主学习系统的研究也比较多,但大部分集中在传统的PC端,近年来也有涉及移动终端的自主学习系统,但大部分采用B/S模式,即利用移动终端的浏览器访问服务器资源,采用WAP(WirelessApplicationProtocol)技术构建WAP站点。由于WAP受浏览器限制、操作不友好、功能单一,已不能适应当前用户的需求。而运行于移动终端的App(应用)与操作系统相关,可以获得极佳的运行速度,达到良好的用户体验效果;可以调用底层操作系统提供的API,实现丰富的功能;同时,可以将部分数据缓存在本地,减少了网络流量。因此,采用C/S模式的App开发成为当前移动终端开发的主流。
本系统采用C/S模式,即客户端+服务器的模式。为了降低模块间的耦合度,便于系统的开发和维护,采用分层结构设计,依次为视图层、业务逻辑层和数据访问层。视图层,也叫表现层,主要用于显示用户界面和从服务器端返回的数据;业务逻辑层是系统的核心部分,主要完成系统的业务逻辑和请求;数据访问层负责与底层数据库进行交互。
(一)系统功能模块的设计
该系统主要由两大模块组成:学生模块和管理员模块。学生模块是系统的核心模块,包括学习计划、学习中心、互动交流、测评系统、总结评价和用户信息六个模块;管理员模块包括用户管理和系统管理两个模块。各个功能模块的结构如图4所示。
图4 系统功能模块结构图
1.学习计划
该模块帮助学习者制订学习计划,可以是长期的也可以是短期的,也可以按照系统推荐的格式填写。
2.学习中心
学习中心包括学习内容、学习策略和自主学习三个模块。学习内容模块要求学习者选择需要学习的课程内容;学习策略模块要求学习者选择相应的学习策略。学习者完成这两项操作后,系统将跳转到自主学习模块,根据学习者选择的信息,给出学习者学习的任务、目标和内容。
3.互动交流
该模块主要帮助学习者与其他同学或老师进行互动交流,消除学习中的疑问,增强对知识的理解。学习者在学习过程中遇到了问题,可以进入互动交流模块搜索问题,如果有相同的问题,则可查看别人的回答和解释;如果仍有问题则可继续追问;如果没有搜索到相同的问题,则可以提出问题,等待解答。
4.测评系统
该模块主要在学习者学完相应的课程之后随机生成对应的试题,要求学习者在规定的时间内完成。待学习者提交后,系统给出本次测评的分数。
5.总结评价
学习者学完相应的学习任务或完成测评后,进入此模块,针对学习过程进行反思并对学习过程进行总结评价,以便在以后的学习中提高学习效率。
6.用户信息
该模块包括学习评价、学习记录和学习成绩三个子模块。学习评价是学习者完成学习过程、经过分析和反思之后对自己学习过程的总结评价;学习记录是学习者操作的一些信息,包括选择的课程和策略、已经完成的课程等信息;学习成绩用于显示学习者的测试成绩。
7.用户管理
该模块主要是对学生用户的信息进行管理,包括用户权限的修改等。
8.系统管理
包括资源管理和策略管理,实现对学习资源和学习策略的更新、修改和删除。
(二)系统的开发和实现
运行于终端设备上的移动操作系统种类较多,但影响较大的主要有三种:Android系统、iOS系统和WindowsPhone系统。由于支持Android系统的设备较多,其市场占有率较高,且与CloudStack兼容性好,本系统基于Android平台,其开发语言和开发环境等信息如下:
开发语言:Java;开发环境:Window7;开发工具:Eclipse3.7.2+ADT4.2、MyEclipse10.0和CloudStack3.0.2;数据库:MySQL。
1.开发过程
系统开发首先要解决的问题是如何实现客户端与服务端的数据通信。首先要构建服务器和Cloud⁃Stack环境,具体步骤可参见参考文献[12]。服务器使用免费的ApacheTomcat,由Servlet负责数据处理,Servlet将处理完成后的数据按照一定的格式发布为公开接口;客户端通过网络接入服务器,并从服务器端读取数据。AndroidSDK提供了多种从网络读取数据的方法。客户端从服务器端读取相应数据后需要依据固定的格式对数据进行解析,以便客户端能正确处理这些数据。目前比较流行的数据传输格式是XML(ExtensibleMarkupLanguage)和JSON(Ja⁃vaScriptObjectNotation)。XML提供了很好的扩展性和可读性,使用较为广泛;JSON是一种轻量级的数据交换格式,采用键值对的方式存储数据,数据量较小,同时JSON的解析也相对简便。考虑到目前无线通信的传输速率较小,本系统采用JSON进行数据传输。客户端正确获得数据后,根据业务逻辑的需要,将数据简单处理后显示给用户。用户完成相应操作后,将数据回传给服务器端,完成数据的交互。
在Android操作系统中,每启动一个应用程序系统就会开启一个单独的进程,在此进程中默认维护着一个主线程,负责数据的处理(如读取数据、更新UI等)。然而,从网络上读取数据是比较耗时的操作,如果同时更新UI,则需要等待数据读取完成后才能更新,这样会增加用户等待的时间,影响用户的操作体验,所以,对于数据读取和解析这样比较耗时的操作,必须另起一个后台线程,将耗时的操作放在后台线程中完成。
Android系统中UI的操作必须在主线程中完成,子线程无法更新UI。当后台子线程从网络上读取数据并解析后,需要将得到的数据更新到应用程序的UI中,就会出现后台线程与主线程间的数据通信问题。AndroidSDK提供了几种不同的方法来实现子线程与主线程间的通信,例如提供了Handler类和AsyncTask类等。本研究采用了Handler类,通过覆写handleMessage方法,实现UI更新。Android SDK提供了丰富的UI控件和UI布局方式,同时提供了丰富的用户自定义控件和动态更改控件的方法。
在开发过程中采用Junit3进行单元测试,并选取NexusS、GalaxyNexus和小米M1三款机型进行了集成测试,基本保证了系统的稳定性。目前,系统基本功能已开发完成,在NexusS智能机上的运行效果如图5所示。
图5 系统部分功能运行效果
2.测试与总结
开发完成后,为了检验系统的使用效果,选取了120名基础相当的高中二年级学生作为试验对象,将他们随机分成三组,每组40人。其中一组采用传统的利用教材和书面资料的方式进行学习(传统组),一组利用其他基于移动设备的自主学习系统进行学习(其他组),另外一组采用本自主学习系统进行学习(本系统组)。实验开始前对每个人的历史知识进行了前测,作为参考。然后,根据实验要求,利用课余时间自主完成相同的学习任务——高中历史新课标人教版(必修三)《第三单元 古代中国的科学技术与文学艺术》。一周后,通过问卷对学习效果进行了调查。问卷从学习兴趣、学习的便捷性、学习时间的分配、学习中的自我管控、学习的成果和系统的友好性六个方面设计问题,要求学习者对本次学习的满意度给出评价,采用十分制。共发放问卷120份,收回120份,有效份数119份,相关数据的统计结果如图6所示。
图6 学习满意度得分统计表
调查问卷的结果显示,该系统在一定程度上提高了学习者的学习兴趣和学习效率,学习者对本系统的满意度较高,达到了预期效果。
本系统将教育云服务延伸到移动终端,对移动学习和云计算的结合作出了积极而有意义的尝试,在一定程度上克服了移动终端计算性能低的缺点,充分发挥了移动学习便捷性和灵活性的特点,对于移动学习的发展具有积极意义。移动云可以不受时间和地点的限制,充分利用自由时间,为学习者提供独立自主的空间和便捷高效的使用体验。
虽然本系统已经基本实现了模型设计中的功能,但在测试中也暴露出一些问题,如程序存在bug,需要进一步优化代码和部分操作逻辑,以便提高应用的稳定性和友好性。同时,学习内容还不够丰富,难以满足不同层次学习者的需求。另外,本系统也面临着目前移动云计算所面临的诸多问题,比如安全问题、隐私问题、无线通信网络的不稳定和低带宽等问题[13]。不过,展望未来,云计算必定会逐渐走向成熟,拥有高数据传输速率的4G时代即将到来,这些都将促进移动云计算的快速发展。
五、结束语
移动云计算可以帮助学校构建自己的私有云,将本校的学习资源整合起来,为学生和教师提供云服务,提高资源利用率,同时降低成本。云计算的可扩展性可以使学校与学校之间的私有云互通,从而实现更大范围内的资源共享。对于解决当前教育信息化过程中遇到的问题有着积极的作用。
伴随着移动互联网的不断发展,移动信息化已经受到多个领域的关注,并有成功的案例出现。教育移动信息化必然会是未来发展的一种趋势。移动学习和自主学习也必将是未来学习的一个重要组成部分。移动云计算在教育中的应用有着巨大的空间。
[1]陈平辉,郑健.移动云服务——移动终端能力扩展的重要手段[J].移动通信,2012,(19):80-81.
[2]吴华.改写互联网历史,移动云计算迎来黄金期[J].信息与电脑,2011,(8):71-72.
[3]赵华,王海阔.移动云计算综述[J].电脑知识与技术,2012,8(1):34-35.
[4]曹建农.移动云计算:模式与挑战[J].电子产品世界,2012,(7):22-23.
[5]马思佳.基于移动云计算的应用系统研究[A].中国通信学会无线及移动通信委员会.2012全国无线及移动通信学术大会论文集(下)[C].北京:人民邮电出版社,2012:322-323.
[6]朱承璋,张舸,杨红.浅析移动云计算技术研究现状[J].科技信息,2011,(34):304-304.
[7]张进宝,黄荣怀,张连刚.智慧教育云服务:教育信息化服务新模式[J].开放教育研究,2012,18(3):21-22.
[8]张勇,潘素萍.齐莫曼的自主学习模型理论与启示[J].高教发展与评估,2006,22(1):48-49.
[9]罗军舟,金嘉晖,宋爱波等.云计算:体系架构与关键技术[J].通信学报,2011,32(7):9-18.
[10]TheApacheSoftwareFoundation,WhatisCloudStack?[EB/OL]. http://cloudstack.apache.org.
[11]ApacheCloudStack,ApacheCloudStack3.0.运行手册[EB/OL]. http://www.cloudstack-china.org/materials
[12]SettingupCloudStackDevelopmentEnvironment[EB/OL].https:// cwiki.apache.org/confluence/display/CLOUDSTACK/Setting+up+ CloudStack+Development+Environment.
[13]邓茹月,覃川,谢显中.移动云计算的应用现状及存在问题分析[J].重庆邮电大学学报(自然科学版),2012,24(6):719-721.
责任编辑 日 新
G443
A
1009—458x(2014)01—0083—06
2013-07-25
汤跃明,教授,硕士生导师;查宏波,硕士研究生,河南师范大学教育技术系(453007)。