移动互联网中一种移动学习方案的设计与原型实现*
2015-07-10丁亦喆魏刃佳吴振强
丁亦喆,魏刃佳,刘 博,吴振强
(陕西师范大学计算机科学学院,陕西 西安 710062)
1 引言
移动终端便携、网络接入多样、操作使用简单等特性,让移动终端快速普及并推动了移动应用和移动互联网的市场。2012年中国移动互联网市场规模就达到了549.7亿元,增长率为96.4%[1],手机应用已经成为中国互联网络的发展亮点[2]。手机应用高速发展对于手机教育应用的普及起促进作用。目前应用市场已经出现了一些教育类型应用,例如MOOC(Massive Open Online Courses)、网易公开课、新浪公开课、拓词、英语流利说等。越来越多教育应用的出现表明人们已经开始接受使用移动终端进行学习,逐渐转入学习型社会和教育信息化时代。
结合国家信息化发展整体战略[3],针对我国东西部教育资源不均衡[4]、精品课程和开放课程利用率低、运行质量差等问题[5],本文在现有的三方参与应用系统场景下,设计出一个能改善上述问题的移动教育应用实例。把移动互联网系统抽象为客户方、中间代理商(如移动运营商)和服务提供方(第三方增值业务提供商)。探讨了如何让中间代理商提供最佳的用户支持,使得不同系统平台的移动智能终端能享受到更高效、更多样的增值服务。
目前教育系统多通过用户上传以及网络爬虫等多种手段获取资源,并对系统内的资源进行分词整理后提供资源搜索功能[6],针对移动学习系统资源有限的情况,需要对资源进行进一步的格式转换和统一[7],同时需要考虑移动端资源播放的用户体验。针对目前国内移动终端厂商误操作专利无法避免资源浪费的情况[8~10],本移动学习系统通过改进的误操作行为判断算法,在用户界面处判断触摸操作是否为用户主观行为,并通过控制用户的请求(即只允许用户同一时刻请求一个资源)来节省通信和计算资源,提高用户体验度。同时,借鉴基于对象的行为模型[11],对系统采用确定型自动机理论DFA来进行建模和验证。经过测试表明,该方法可以有效地降低用户误操作次数,提高系统工作效率,能够明显改善用户体验。
2 学习系统的设计与实现
2.1 系统应用场景
在移动互联网环境下,学习者、移动学习系统、精品课程或开放课程网站分别对应了客户方、中间代理商和服务提供商,如图1所示。
Figure 1 System scenarios图1 系统应用场景
本系统整合了网络上现存的开放课程和精品课程资源,让学习者可以通过统一的在线播放器对多媒体资源进行点播,从而降低学习者操作难度,提高教育资源利用率,并改善用户体验。
2.2 系统功能设计
系统分为用户模块、资源模块、多媒体播放模块、多媒体转换模块,移动学习系统的具体功能如图2所示。
Figure 2 M-learning system图2 移动学习系统
2.3 移动学习系统实现
用户模块负责对用户信息进行存储和管理。新用户通过用户注册功能成为学习系统的学习者。系统管理员可以进行新用户注册,并且可以对已注册的用户进行资料修改和过期用户删除。
资源模块负责系统资源库的维护和管理。系统通过教师用户上传和改进的开源爬虫Heritrix下载两种方式获取学习资源[6]。使用开源的IKAnalyzer同时对网络上的资源名称和资源介绍进行分词处理,提取并比对相关信息,确定资源分类。使用开源的Lucene对系统中所有的资源建立索引,提供基本的站内资源搜索功能。教师管理员对于系统中现有的所有多媒体资源拥有更新、修改和删除的权限。教师用户对于自己上传的多媒体资源拥有更新、修改和删除的权限。
多媒体转换模块负责将资源进行转换。由于教师上传和爬虫下载的多媒体资源存在格式不一致的问题,同时考虑到移动终端的计算资源和存储资源受限,为了屏蔽该问题和降低多媒体播放模块的开发难度,对不符合播放标准的多媒体资源进行强制格式转换。对于视频资源和文本类型资源分别使用mencoder和Print2flash进行转换[7]。针对视频文本配套的多媒体资源,转换时引用了数据库“事务”的概念,保证视频文本转换前后的一致性[12]。
多媒体播放模块负责对转换成功或符合播放标准的资源进行播放。多媒体播放模块使用统一的播放界面来提高用户体验,让学习者不再关心资源在网络上的位置。对于视频资源和文本资源的播放分别使用jwplayer和Print2flash进行播放。
本移动学习系统除了具有整合网络资源、统一操作界面等特点外,系统各种服务模块具有松散耦合性,便于后期快速对系统进行功能升级和改进,进一步增强系统的灵活性和可用性。移动学习系统中的主要页面实现效果如图3所示。
2.4 误操作行为判断算法
由于移动智能终端的特殊性(即处理性能低、网络带宽小、用户输入介质单一、使用环境特殊等原因)引起的服务时延较长、输入准确度较低、用户体验度较差的情况,从而进一步导致用户误操作和重复操作现象的大量增加,以至于浪费了大量的通信资源和计算资源,尤其是在用户数目较多的情况下,系统整体的工作效率和用户体验度就更低。目前,国内防止移动终端误操作的专利主要有以下几种:
Figure 3 Search page and play page图3 搜索页面和播放页面效果图
(1)当触摸屏收到触摸信号时,随之启动移动终端的接近传感器,通过接近传感器检测附近是否有障碍物来减少误操作[8];
(2)当移动终端处于亮屏待解锁状态下收到触摸信号时,判断是否有物体接触移动终端摄像头,同时检测移动终端的震动值,若超过震动阈值则忽略触摸信号来减少误操作[9];
(3)当检测到触摸屏上的显示区域存在触摸点时,通过判定该触摸点是否位于设置的无效触摸区域内来减少误操作[10]。
可以看出,目前防止误操作的方法都是通过移动终端自身来完成的,对于如何避免因误操作引起的资源浪费现象未见报导。误操作行为通常是无意识的一次点击或者极短时间内的多次点击,所以将判断误操作行为分为两步:
(1)在人机交互界面判断用户误操作行为,使用HTML+JS技术判断单击、双击触摸屏来完成,其算法流程描述如下:
步骤1等待用户触摸操作;
步骤2判断用户是否双击屏幕指定区域,是则进入步骤3,否则返回步骤1;
步骤3发送用户请求并返回步骤1。
(2)通过在资源服务模块加入短时间内忽略重复请求的方法,解决用户因误操作或者代理服务模块因未知错误短时间内多次请求资源服务模块中的同一资源,这里以500 ms为例,算法流程描述如下:
步骤1等待接收请求;
步骤2判断当前请求和当前响应是否同一用户,不是同一用户则返回步骤1;
步骤3判断当前请求资源和当前响应资源是否相同,不是同一资源则返回步骤1;
步骤4判断当前请求及开始响应时间间隔是否超过500 ms,小于500 ms则返回步骤1;
步骤5处理请求,响应结果并返回步骤1。
通过对此部分代码加入日志记录功能,根据实验并观察日志记录,得出该方案可以有效阻止部分重复请求。
3 移动学习系统形式化描述与分析
(1)系统时序逻辑。
整个系统运行符合一般代理模式[13]的时序逻辑,加入误操作判断改进的系统时序逻辑如图4所示。
Figure 4 System timing图4 系统时序图
在学习者发送请求之前引入误操作判断第一步进行预处理,通过预处理之后才可以发送请求消息。请求消息通过代理服务模块到达资源服务模块后,引入误操作判断第二步对请求进行预处理,若同一用户两次请求同一资源的时间间隔过小则直接抛弃请求。
(2)自动机建模分析。
根据系统应用场景,整个过程有学习者、代理服务模块和资源服务模块三方参与。系统中只有学习者具有主动行为,因此本文从学习者角度使用确定型有限自动机(DFA)来进行建模分析[14]。三方之间的交互限于下列五种事件。
①学习者决定点播;
②学习者决定取消点播;
③代理服务模块向资源服务模块发出请求;
④代理服务模块向学习者播放资源;
⑤资源服务模块为代理服务模块获取指定资源。
为了表示方便,将系统中出现的行为用P(Play)、C(Cancel)、Req(Request)、O(Obtain)、Res(Response)分别表示点播、取消、请求、获取、响应。
学习者需要主动地在移动学习系统中寻找所需要的资源用于学习,对于学习者而言,存在可任何次序任意多次使用的点播资源和取消点播这两种主动行为,并每次行为之后都停留在单独的状态q0中,其转移函数δ(q0,P)==δ(q0,C)==q0,若用U(User)代表学习者 DFA的名称,则学习者DFA的形式化描述是:
U=({q0},{P,C},δ,q0,{q0})
其DFA转移图如图5a所示。
为了防止无关意外行为导致自动机死亡,将整个系统中存在的其他行为也附加给用户,这时DFA的完整形式化描述是:
U=({q0},{P,C,Req,O,Res},δ,q0,{q0})
其DFA转移过程如图5b所示。
Figure 5 DFA transition diagram of user behavior图5 用户行为DFA转移图
代理服务模块作为学习者和资源服务模块之间的代理,为防止学习者重复执行点播行为导致代理服务模块自动机死亡,给代理服务模块自动机除状态a以外所有状态都附加上点播标记环,若用A(Agent)表示代理服务模块DFA的名称,则代理服务模块DFA完整形式化描述是:
A=({a,b,c,d,e},
{P,C,Req,O,Res},δ,a,{e})
在状态a中,点播行为是用户主动行为。DFA转移过程如图6所示。
Figure 6 DFA transfer diagram of agent module behavior图6 代理模块行为DFA转移图
资源服务模块作为整个系统的基础,为了防止学习者在系统获取资源时取消点播而导致自动机死亡,同时如果代理服务模块因同一请求将资源获取两次,资源服务模块就应该正确地忽略第二次请求来降低服务器压力。因此,如图7将状态3和4加上带有取消和请求标记的环。若用S(Service)代表资源服务模块DFA名称,则资源服务模块DFA完整形式化描述是:
S=({1,2,3,4},
{P,C,Req,O,Res},δ,1,{2,4})
DFA转移过程如图7所示。
Figure 7 DFA transfer diagram of resource service module图7 资源服务模块DFA转移图
为了表现出各个服务模块在系统中的交互情况,用代理服务模块和资源服务模块DFA的乘积构造出来的自动机转移过程如图8所示。
Figure 8 Automaton transition diagram of agent service module and resource module product 图8 代理服务模块和资源服务模块乘积自动机转移图
图8中从初始可达的状态有七个,分别是(1,a)、(1,b)、(2,a)、(2,b)、(3,c)、(4,d)、(4,e)。对于初始不可达状态 (4,a),当代理服务模块自动机刚刚进入状态a准备进行点播时,资源服务模块自动机已经进入状态4完成了资源获取,这不符合一般系统时序逻辑,根据图4表示的时序逻辑,系统会自动忽略这一类状态。根据乘积自动机转移图和系统时序逻辑图可以得出,对于初始可达的状态,只有依次经过 (1,a)、(1,b)、(3,c)、(4,d)、(4,e)这5个状态才能完成一次用户响应,且每个状态上都需要能够正确识别出可能的误操作行为,保证自动机不会死亡。
判断用户操作是否是其主观行为,短时间内忽略重复请求,以及系统在任何状态下都能够正确进行状态转移的优点是:确保了资源从移动学习系统到移动智能终端之间的传输质量;降低了服务器工作压力并且提高了学习系统处理移动智能终端常见错误的能力。
4 结束语
本文针对移动学习的应用场景,实现了移动环境下,面向精品课程和开放课程的学习系统原型。其特点是可以将网络上现存的教学资源进行有效整合和转换,成为适合移动智能终端播放的资源,并且方便用户搜索和使用。本文采用DFA理论对一般情况下的行为(即用户的随意行为或系统的错误行为)对系统影响进行分析,结果显示不会因上述行为导致应用崩溃或服务性能降低,这表明本文设计的移动学习系统达到了预期效果。目前,原型系统为了降低开发难度,使用了B/S架构,由于该架构下学习者通过浏览器来使用学习系统,而浏览器与用户的交互能力有限,使得系统对于误操作判断的方法较为简单,因此下一步工作将随着移动智能终端应用的发展,将B/S架构更换为在客户端具有更强交互能力和控制能力的C/S架构。
[1] Wang Ying.China mobile Internet agora growth in 2012 [EB/OL]. [2013-01-25].http://wireless.iresearch.cn/app/20130125/192017.shtml. (in Chinese)
[2] CNNIC. The 32nd China Internet network development state statistic report [EB/OL].[2013-07-17].http://www.cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/201307/P020130717505343- 100851.pdf. (in Chinese)
[3] State Council. National medium and long-term plan for education reform and development (2010-2020)[EB/OL].[2010-07-29].http://www.moe.gov.cn/publicfiles/business/htmlfiles/moe/A01_zcwj/201008/xxgk_93785.html.(in Chinese)
[4] Gao Jun-hui.Differences and countermeasures research of eastern and western higher education resource allocation in China [D]. Shanxi:Shanxi University of Finance and Econmics, 2011. (in Chinese)
[5] Si Chuan-ping, Cao Ming-ping, Kong Fan-zhi, et al. The investigation and analysis on the construction of online teaching resources and learning environment of elaborate courses [J].China Higher Medical Education,2011(6):69-70. (in Chinese)
[6] Wei Ren-jia, Wu Zhen-qiang. Design and implementation of vertical search engine for education video resources [J].Computer Engineering and Applications,2014,50(15):113-116. (in Chinese)
[7] Huang Ya-jun, Wu Zhen-qiang, Zhang Xia-lei, et al. Design and implementation of current document type transfer component based on web service [J]. Computer Engineering and Applications, 2014,50(11):53-57. (in Chinese)
[8] Guangdong oppo mobile communication co., Ltd. China:A way to prevent misoperation method with a touch screen mobile terminal and system, 2012103953518[P].2013-2-13. (in Chinese)
[9] Guangdong oppo mobile communication co., Ltd. China:A mobile terminal to prevent misoperation method and mobile intelligent terminal, 2012104366060[P].2013-3-13. (in Chinese)
[10] Beijing millet Technology Co., Ltd. China:A touch screen and misoperation method, touch screen, and mobile terminal, 2012102956557[P].2012-12-19. (in Chinese)
[11] Fu Jian-ming,Tao Fen,Wang Dan, et al.Software behavior model based on system objects[J].Journal of Software,2011,22(11):2716-2728.(in Chinese)
[12] Xu Li-zhen,Jiang Ming-fei,Dong Yi-sheng.Transaction management of database in mobile computing environment[J]. Journal of Southeast University(Natural Science Edition),2002,32(6):884-886.(in Chinese)
[13] Ding Min-dou. Research and application of agent model[J]. Computer Knowledge and Technology,2011,7(36):60-62.(in Chinese)
[14] Hopcroft J E, Motwani R, Ullman J D, et al. Introduction to automata theory, languages, and computation[M].Beijing:China Machine Press,2007. (in Chinese)
附中文参考文献:
[1] 王影.2012年中国移动互联网市场高速增长[EB/OL].[2013-01-25]. http://wireless.iresearch.cn/app/20130125 /192017.shtml.
[2] 中国互联网络信息中心.第32次中国互联网络发展状况统计报告[EB/OL]. [2013-07-17]. http://www.cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/201307/P020130717505343100851.pdf.
[3] 国务院.国家中长期教育改革和发展规划纲要 (2010-2020年)[EB/OL].[2010-07-29]. http://www.moe.gov.cn/ publicfiles/business/htmlfiles/moe/A01_zcwj/201008/xxgk_93785.html.
[4] 高军慧.我国东西部高等教育资源配置差异及对策研究[D].山西:山西财经大学,2011.
[5] 司传平,曹明平,孔繁之,等.精品课程网络教学资源和网络学习环境建设的调查与分析[J].中国高等医学教育,2011(6):69-70.
[6] 魏刃佳,吴振强.面向教育视频资源的垂直搜索引擎的设计与实现[J].计算机工程与应用,2014,50(15):113-116.
[7] 黄亚军,吴振强,张夏蕾,等.基于Web服务的并发文件转换组件的设计与实现[J].计算机工程与应用,2014,50(11):53-57.
[8] 广东欧珀移动通信有限公司. 一种防止带触摸屏的移动终端误操作的方法及系统:中国, 2012103953518[P].2013-02-13.
[9] 广东欧珀移动通信有限公司. 一种防止移动终端误操作的方法及移动智能终端:中国, 2012104366060[P].2013-03-13.
[10] 北京小米科技有限责任公司. 一种触摸屏防误操作方法、触摸屏及移动终端:中国, 2012102956557[P].2012-12-19.
[11] 傅建明,陶芬,王丹,等. 基于对象的软件行为模型[J]. 软件学报,2011,22(11):2716-2728.
[12] 徐立臻,江明菲,董逸生.移动计算环境下的数据库事务管理[J]. 东南大学学报 (自然科学版), 2002, 32(6):884-888.
[13] 丁民豆. 代理模式的研究与使用[J]. 电脑知识与技术, 2011, 7(36):60-62.
[14] Hopcroft J E, Motwani R, Ullman J D.自动机理论、语言和计算导论[M].孙家骕,译.北京:机械工业出版社,2007.