基于android平台移动学习系统设计与实现

基于android平台移动学习系统设计与实现

ID:33181944

大小:1.30 MB

页数:72页

时间:2019-02-21

上传者:U-22107
基于android平台移动学习系统设计与实现_第1页
基于android平台移动学习系统设计与实现_第2页
基于android平台移动学习系统设计与实现_第3页
基于android平台移动学习系统设计与实现_第4页
基于android平台移动学习系统设计与实现_第5页
资源描述:

《基于android平台移动学习系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

论文题目基于Android平台移动学习系统设计与实现专业学位类别工程硕士学号200992232513作者姓名蓝欣指导教师桑楠教授 分类号密级注1UDC学位论文基于Android平台移动学习系统设计与实现(题名和副题名)蓝欣(作者姓名)指导教师桑楠教授电子科技大学成都刘清宇高工广东工贸学院广州(姓名、职称、单位名称)申请学位级别硕士专业学位类别工程硕士工程领域名称软件工程提交论文日期2014.3.25论文答辩日期2014.6.4学位授予单位和日期电子科技大学2014年6月25日答辩委员会主席评阅人注1:注明《国际十进分类法UDC》的类号。 DESIGNANDIMPLEMENTATIONOFMOBILELEARNINGPLATFORMBASEDONANDROIDAMasterThesisSubmittedtoUniversityofElectronicScienceandTechnologyofChinaMajor:MasterofEngineeringAuthor:LanXinAdvisor:SangNanSchool:SchoolofInformationandSoftwareEngineering 独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。作者签名:日期:年月日论文使用授权本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)作者签名:导师签名:日期:年月日 ABSTRACT摘要目前计算机技术和网络技术迅速发展,在很多的领域都进行,对于移动学习信息来说也是如此,结合现代学习信息管理实际,针对移动学习的需要,提出一个基于安卓的移动学习系统,提高学习的工作效率。移动学习系统采取安卓开发技术和MicrosoftSQLServer2008数据库技术设计和实现。在这个过程中,首先是进行移动学习系统需求分析,包括了系统的功能需求分析、性能需求分析和数据流程的分析,然后进行系统体系结构的设计,采取基于安卓的三层结构模式,然后进行功能的设计,根据前面的需求划分为几个功能模块。在数据库的设计中采取第三范式进行概念模型和数据表的设计。通过对前面设计基础上进行系统的实现,本系统采取改进的运动估计算法进行研究,并且给出了改进的视频编码的运动估计的算法,经过对比,该算法对视频质量和编码时间方面有一定的改善与提高。对于H.264视频数据的封装的策略进行了全面的分析,设计了通过RTP的封装流程和策略,根据RTP封装H.264视频流数据对传输过程中的差错控制设计了一个Qos解决方案本课题实现的移动学习客户端界面友好、操作方便、系统可靠稳定,把信息技术、移动设备应用于教育和培训就成为一项具有巨大发展潜力的工作,充分体现了教育行业发展移动学习的必要性,同时也为今后开发类似的系统提供了借鉴和帮助。关键词:移动学习安卓面向对象建模I 摘要ABSTRACTAtpresent,thecomputertechnologyandthenetworktechnologyrapiddevelopment,promoteinformationinvariousindustries,thesameistrueformobilelearninginformation,combiningmodernlearninginformationmanagement,accordingtotheneedsofmobilelearning,mobilelearningsystembasedonAndroid,improvelearningefficiency.MobilelearningsystemandrealizetheAndroiddevelopmenttechnologyandMicrosoftSQLServer2008databasedesigntechnology.Inthisprocess,firstofallisthemobilelearningsystemneedsanalysis,includingtheanalysisofthefunctionalrequirementsofthesystemperformanceanalysis,demandanalysisanddataprocess,thenthesystemdesign,adoptthreelayerstructuremodeforAndroid,thenthesystemfunctionmodules,thesystemcanbedividedintothreemainthemoduleincludesseveralmodules,inthedatabasedesigntotakethethirdparadigmdesignconceptmodelanddatatable.Basedontheabovedesignwasrealized,includingtherealizationofthemainfunctionmoduleofthesystem,somesysteminterface,implementationofmobilelearning.Finallyhascarriedonthesystemfunctiontest,performancetestandsafetytest,andmakethesystemdesignisadjustedaccordingtotheresultsofthetest,finallyreachedthesystemrequirementsandtheeffectoftheinitialestimated.Themobilelearningclientfriendlyinterface,convenientoperation,reliableandstablesystem,theapplicationofinformationtechnology,themobiledevicetotheeducationandtraininghasbecomeagreatdevelopmentpotentialofthework,fullyembodiesthenecessityoftheeducationindustrydevelopmentofmobilelearning,butalsoforthedevelopmentofsimilarsystemsforfuturereferenceandhelp..Keywords:Mobilelearning,Videocoding,Objectorientedmodeling,MotionestimationalgorithmII 目录目录第一章绪论..................................................................................................................11.1研究工作的背景与意义....................................................................................11.2国内外研究与现状............................................................................................11.3本文的主要内容................................................................................................41.4本论文的结构安排............................................................................................5第二章相关技术介绍....................................................................................................72.1三层架构技术....................................................................................................72.2流媒体技术........................................................................................................82.3移动数据库技术................................................................................................92.5本章小结..........................................................................................................10第三章系统需求分析..................................................................................................113.1功能需求分析...................................................................................................113.2性能需求分析..................................................................................................133.3本章小结..........................................................................................................14第四章系统总体设计..................................................................................................154.1系统总体框架设计..........................................................................................154.2系统服务器端功能模块设计..........................................................................174.2.1视频后台管理模块功能设计................................................................184.2.2视频编码模块功能设计........................................................................194.2.3视频传输模块功能设计........................................................................194.3系统客户端功能模块设计..............................................................................204.4数据库设计......................................................................................................214.5本章小结..........................................................................................................23第五章移动在线学习系统的视频编码与传输算法..................................................245.1视频编码算法设计..........................................................................................245.1.1视频编码中运动估计算法....................................................................245.1.2算法优化................................................................................................265.1.3算法测试................................................................................................285.2视频传输算法的设计......................................................................................315.2.1视频传输模块传输结构........................................................................34III 目录5.2.2RTP封装H.264视频媒体数据...........................................................355.2.3Qos控制策略.........................................................................................375.3本章小结..........................................................................................................39第六章移动在线学习系统的实现与测试..................................................................416.1系统开发环境..................................................................................................416.2系统主要功能模块的设计实现......................................................................416.2.1教务管理模块........................................................................................426.2.2移动客户端模块实现............................................................................486.2.3服务端模块实现....................................................................................506.3系统测试..........................................................................................................526.3.1系统实验数据........................................................................................526.3.2系统的测试结果....................................................................................536.4本章小结..........................................................................................................54第七章全文总结与展望..............................................................................................557.1全文总结..........................................................................................................557.2后续工作展望..................................................................................................55致谢............................................................................................................................57参考文献........................................................................................................................58IV 第一章绪论第一章绪论1.1研究工作的背景与意义基于问题的情境学习,在这种的学习当中主要是通过对问题的假设,然后对问题进行理解,将学习者设置到问题的环境当中,在这个环境或情景当中可以进行合作学习,一起研究问题,使得问题得到有效的解决,在这个基础上能够分解复杂的学习以及问题,学习者还可以学习到相关的进行问题解决的方法,并最后[2]形成自己学习能力。这种方式充分技能利用用户的零碎的时间,进行片段化的学习,通过试验具有比较好的效果。这样的话就可以通过移动终端来进行有针对性的学习,改变用户的使用习惯,能够进一步的增强用户学习的黏性,此外,移动终端不仅仅用于用户的社交,还可进行移动环境下的学习,进一步的增强非正式学习的途径,因此可以说,移动学习是自主化学习的延伸,具有很好的应用效果。[3]可以发挥独特的优势。智能手机、掌上电脑等移动设备使用的普及和其性能配置不断增强,为移动学习奠定了坚实硬件基础。3G移动通信技术和网络技术的发展,满足人们在任何[4]时间、任何地点接入互联网,利用移动设备进行学习,终身学习将变成现实。稳定成熟的3G移动技术保障开展移动学习和访问学习资料的顺利进行,使得人们的[5]学习受到更少限制,从而提升人们对学习的兴趣。而基于3G网络的带宽、传输等各种特性,需要对基于该网络的学习资源进行优化管理,从而找到适合传输的方式和方法。相对于E-learning、M-learning更具有灵活和移动特性,移动学习网站的开发正是为解决学习资源管理,实现实时在线学习、协作学习等功能的重要手[6]段,所以,研究设计移动学习客户端具有一定的意义。1.2国内外研究与现状3G手机是通信业和计算机工业相融合的产物,可以成为“个人通信终端”。在这样的数字和信息的时代,大部分的用户都有属于自己的移动客户端,可以通过移动客户端来完成各种移动业务和应用,实现移动价值,对于移动客户端来说,[7]目前已经发展成为不仅仅是用来学习。第三代手机也就是3G手机具有很高的性能,3G手机意味着高速数据传输,也就是实时的高品质通信,如手机电视、电视电话会议都可以实现,也就意味着学习者可以在移动中高质量的参与学习。高速数据传输要求3G手机能够处理这些1 电子科技大学硕士学位论文数据,那么它就变成一台小型数据助手,很多程序和服务得以实现,学习者可以通过手机构建个人学习环境。学习者之间协作学习和教师指导都可以高质量进行[8]。除此,对于任何国家而言,实现每个学习者一台计算机都是非常困难的,但实现每个学习者一台手机却是可能的。建构主义强调工具是学习者的思维助手,每个学习者一台手机就是他们的个人学习环境。因此远程教育学者基更说mobile[9]learning可能就是下一代远程教育。对于移动环境下的学习,目前国外的相关学习研究的比较早,也取得很多具有成效的成果,特别是西方发达国家,在这方面开展的时间已经有一定的时间,[10]早在2000年开始就着手开展方面的探究。西方发达国家通过建立在自己信息技术和网络基础设施比较完善的基础上,进行移动环境下进行学习的探究,并且引入相关移动学习的概念,通过软件开发商E-Learning发起相关的研究,引入到移动学习的市场中,但是是为了企业员工培训;另外的一种的方式是由主办教育培训的相关机构来组织,建立起一整套符合移动学习的信息系统,提高管理以及学习的效率,那样的话就可以充分利用现代计算机技术和数据库技术来获取到最新有效的信息资源,使得无论是教师用户还是学员用户都可以通过新技术来实施自[11]主学习,达到移动学习的目的。以下根据移动学习以资源为主的分类来叙述外国的研究成果。国外的金斯顿大学通过多年的实践和研究,在校园的范围内进行了学员短信息进行学习评价的服务,学员在完成课程的学习之后通过对教师的反馈来达到促进教师与学员互动的目的,使得教师可以充分的利用信息技术,开始在教学当中[12]广泛使用。金斯顿大学根据短信的服务可以实现多个的应用,如学员的成绩查[13]询,课程数据信息的推送、学员考试的安排。芬兰赫尔辛基大学,把彩信(MMS)技术应用于教学,区别于面向的群体和目[14-16]的不同。英国Ultralab教育研究机构,通过多年在欧洲地区进行年轻人学习习惯的研究,设计系统,开发和设计了移动学习系统,在这个系统中用户在上面[17]进行注册和功能模块的使用,实现在线学习以及移动学习。为保持年轻人对移动学习的兴趣,开发人员选择了贴近年轻人生活的学习内容。芬兰赫尔辛基大学[18]智能手机任何时间任何地点的访问教学和学习资源的移动学习环境。美国哥伦比亚大学通过多年的研发实现了在线移动学习的医学系统,在这个系统中可以为学生提供良好的移动学习的环境,对于学生用户来说遇到任何的问题,可以通过移动设备接入网络来查询远程服务器上的相关资料,然后就可以对疑难病症做出正确的诊疗,该方式便利的同时反映出了一些问题,一些学生并没有全部按规范来操作移动设备来进行学习,反而成了通信交流手段。对于这些问2 第一章绪论题,研究者认为应对学习者有一个使用培训,才能很好的使用该平台来满足学习[20]需求。在这方面美国的加州大学伯克利分校的研究者们通过研究,对于用户来说,在进行学习的时候,不仅仅需要获取相关的知识和技能,还需要具有良好的用户体验,使得用户可以具有比较好的黏性,同时也是未来发展的方向,特别是[21]目前移动智能终端比较流行的情况下,通过试验,得到比较满意的效果。加拿大的研究人员发现在用户进行学习的过程中,不仅仅在课堂上可以获得知识,还需要在零碎的时间内进行移动环境下的学习,在这个过程中,教师可以对知识进行重构,为此,引入写作学习的概念,通过先进的信息技术和网络技术,打造一个适合移动学习的客户端,可以利用终端设备来进行学习材料的利用,可以方便的将学习资料存储到包含数字摄像头和存储系统的设备当中,用户在进行学习的时候可以在拥有网络的地方,实现对目标的学习资料的扫描和上传、下载等行为,很方便的可以获取得到学习资料。用户也可以利用安装在设备上的摄像头,将学习的文本资料进行扫描和数字化操作,进行学习资料的抓取。用户可以在其他区域进行移动的学习,那么用户在登陆完移动学习系统之后就可以方便快捷的得到[22]学习信息和资料,实现移动学习和在线学习。在国内,对于移动学习的研究起步相对较晚,但是经过几十年的发展,也取得很多的研究成果和实现了很多的产品和服务,为用户提供移动环境下的学习服[23]务。我国对于移动学习最早是在上个世纪的九十年代末期开始进行相关课题的研究,并且我国的高校也陆续的开始建立现代教育技术研究机构。经过多年的研究之后,取得了不少的研究成果,在上个世纪的九十年代的时候主要是对移动学习方法,并且结合教学方法开发和设计了相关的教学软件,这些的软件部分已经达到了国际的水平。此外,我国的对于移动学习相关的教学委员会也在就是这个时候成立了,并[24]且对移动学习的研究和发展方向进行了明确。在上个世纪的九十年代的中期时候,移动学习专业委员会提出了移动学习的标准和作用,在这个作用之下,很多的移动学习软件进入到商业和应用的领域,可以说是移动学习技术发展的一个非常大的飞跃。从上面的分析中可以看到,我国在信息技术和课程资源的整合当中,对于这方面的研究是起步比较晚的,但是经过多年的努力,已经取得了一些的成绩。其中在研究和实践中具有代表性的任务有:纪晓静通过自己的研究提出了传统教学方式中存在的问题和需要解决的问题,需要加强形式上和内容的丰富,加[25]强学生的综合素质的提高。郑艳群也提出了在我国的对外的汉语教学中详细的介绍了信息技术在对外汉[26]语教学中的各个过程中的实践和应用。与此同时,我国的移动学习在各个课程3 电子科技大学硕士学位论文和科目中应用也进入到应用的阶段,取得了比较大的进展,如中央电教馆就在我国的“十一五发展规划”中建立了移动学习与学科教学的应用研究。对于这个项目进行广泛的调查和分析,利用目前的先进的信息技术手段对移动学习在教学中的应[27]用和实践进行了研究,实现教育与技术的一次整合。该项目为诺基亚智能手机[29]设计了终端阅读软件,它是国第一个交互式在线移动学习客户端。它整合了很[30]多移动学习内客,并设计了以英语为学习主题的课程,主要资料是文字。该系统使得移动学习成为可能。西南科技大学给学生每人每门课程发短信4次,促进学生自主主动的学习,[31]提高了学习兴趣。重庆大学网络教育学院,该学院主要面向的是校外的各个类型的学员,对于很多有继续学习意愿的目标学员来说,希望可以通过移动学习系统来达到随时随地的学习各个课程,提高学习的效率,可以实现自主的学习,这样的话也可以充分的调动学员的学习积极性,在学习的时候向学员发送相关的信[32]息和课程内容。1.3本文的主要内容智能手机、掌上电脑等移动设备使用的普及和其性能配置不断增强,为移动学习奠定了坚实的硬件基础。3G移动通信技术和网络技术的发展,满足人们在任何时间、任何地点接入互联网,利用移动设备进行学习,终身学习将变成现实,因此,本文从这一点出发研究和设计了基于3G网络的移动学习系统,极大的方便了用户的移动学习,为用户的移动学习创设条件以及提供技术支持。本文对软件工程的开发方法和模式进行研究,在系统的实际的开发,开发人员对系统的业务流程的熟悉程度以及对系统需求分析的好坏程度都直接影响着系统开发的质量。移动学习系统在经过深入的对系统的用户需求调查和细致的需求分析后,在系统的设计和开发上都实现得比较顺利。无论是在实现技术上,还是在用户功能上,又或是在界面设计上,经测试系统能满足日常管理的要求,实现了移动学习数字信息化的要求,并能有效地提高管理学习的效率,使学习更科学合理。同时也可以为其他部门提供有用的数据,对今后的管理工作的高效开展提供一个示范指引作用。为使用单位的绩效管理人员提供更充分、更快捷的信息化服务是系统的宗旨,而确保系统的方便性和实用性则作为系统的目标。论文研究的主要内容如下:(1)本课题针对基于3G网络的移动学习的环境,设计研究移动学习客户端的网站设计。在综合国内外对移动学习的研究基础之上,研究移动学习的特点,概括移动学习客户端建设的原则,在此基础上提出移动学习客户端的设计方案。4 第一章绪论(2)通过讨论移动学习客户端的模型设计,借鉴传统教学的设计方法,从教学设计的角度对移动学习客户端做了具体设计,并提出设计方法和原则。本文试图在现有无线网络和移动学习资源平台之间寻找平衡点,并通过对移动学习客户端进行设计分析,寻求一种新的移动学习客户端。让学习者能主动学习,并能方便获取自己学习的资源。(3)运用软件工程的原理和方法,对开发移动学习系统进行了需求分析,得到系统的功能需求,对于用户的需求通过用例设计的方式来完成。在这个基础上利用面向对象建模的方式来详细设计移动学习系统各个功能,进行移动学习系统设计,将系统在Android开发平台下进行详细的设计,按照三层架构模式进行系统体系结构的设计,并且将系统功能模块的设计,完成数据库的设计。(4)本系统采取改进的运动估计算法进行研究,并且给出了改进的视频编码的运动估计的算法,经过对比,该算法对视频质量和编码时间方面有一定的改善与提高。对于H.264视频数据的封装的策略进行了全面的分析,设计了通过RTP的封装流程和策略,根据RTP封装H.264视频流数据对传输过程中的差错控制设计了一个Qos解决方案。(5)通过对前面设计的系统进行实现,介绍了系统的开发的环境,在这个基础上介绍系统主要功能模块的实现,并给出了部分系统界面。对系统的系统测试,主要是从几个方面进行测试包括了功能的测试与性能的测试,通过测试可以发现系统的问题以及瓶颈,需要改进的方面,经过有针对性的测试,就可以证明系统满足用户的需求,达到预期的效果。本课题实现的移动学习客户端界面友好、操作方便、系统可靠稳定,把信息技术、设备应用于教育和培训成为一项具有巨大发展潜力的工作,充分体现了教育行业发展移动学习的必要性,同时也为今后开发类似的系统提供了借鉴和帮助。本课题在经过深入的系统的用户需求调查和需求分析后,在系统的设计和开发上实现的都比较顺利。在实现技术、在用户功能、在界面设计等方面,经测试系统能满足移动学习管理的需求,实现了移动学习管理信息化、数字化的需要,能有效的提高移动学习的效率,并使移动学习更科学、合理。1.4本论文的结构安排第一章是绪论,在这一章中主要是进行课题背景和意义的介绍分析,然后是介绍论文的主要研究内容,以及章节安排。第二章是相关技术基础,再这一部分主要是对系统在开发设计过程中需要用到的基础知识和基础进行介绍。首先是Android操作系统的概述,3G网络通信技5 电子科技大学硕士学位论文术,流媒体技术。第三章是移动在线学习系统的分析与设计,首先是移动学习客户端的需求分析,包括了业务需求的调查和平台功能性的需求分析,特别是系统的服务器端功能模块设计和系统客户端功能模块设计,最后是数据库的设计。第四章是移动学习系统的关键技术研究与算法改进。首先是系统服务器端的视频编码模块的设计,包括了视频编码中运动估计的算法的分析,算法的优化和优化后的算法的测试;接着是视频传输模块的设计,包括了视频传输模块的结构的设计、RTP封装H.264视频媒体数据的设计和Qos控制的策略。最后是移动学习系统的测试,系统的性能达到了设计的目标和用户的需求。第五章是移动学习系统的实现和运行的测试。介绍开发环境的选择,主要功能模块进行详细的设计与实现,包括了关键代码和系统界面的实现,通过上述的方式进行编码和设计工作。第六章是总结与展望。在对全文的研究工作进行总结的基础上,对后续的不足的地方进行改进,进一步的完善系统的设计研究工作。6 第二章相关技术介绍第二章相关技术介绍在本章中主要是对系统在后续的设计以及开发中所需要的技术进行介绍和分析,具体包括了如下几个方面的内容,Android操作系统,3G网络通信技术,流媒体技术以及移动数据库技术等等,对于上述的技术以及相关基础知识来说,是系统开发所必不可少的内容。2.1三层架构技术目前来说,基于Android平台来开发大中型的应用系统已经成为主流,在这个过程中主要采用的是基于J2ME的集成开发环境,利用其开发周期短、开发效率高的特点进行系统的开发已经成为共识。在这个开发的集成环境中,具有一个非常的优点就是可视化的设计,通过这个开发的设计器能够快速的部署开发,还可以进行开发团队的良好的协作,保证开发能够按照设计人员的思路完成所要求的开发任何。J2ME技术而言,由于其开发快速和方便,越来越受到程序员的欢迎,并且经过一定的改善,特别是随着J2ME2的推出,使得利用J2MET技术来开发和设计基于web的应用程序变得越来越轻松,因此,在在进行系统的设计和开发中采取J2ME技术和MicrosoftSQLServer2008进行结合,来设计系统的多层架构,得到基于web的应用程序。一般来说,系统都是二层架构模式,也就是客户机/服务器的设计模式,但是这种方式有个问题就是所有的业务的处理都在服务器端,使得在基于web的应用中无法实现负载均衡以及适应互联网的企业级的计算处理的需求,因此,对传统的设计模式进行了改进,就出现了基于三层架构的应用模式,三层架构如图所2-1所示。7 电子科技大学硕士学位论文客户端业务层浏览器数客户端Web数据访问据浏览器层层库客户端系统配置浏览器图2-1三层架构。在上述的基于Android技术的三层架构模式中,系统的架构包括了UI层、业务逻辑层和数据层。对于上述的不同的层,在系统的功能上发挥着不同的作用,这样就很好的将整个系统进行层次的划分,比较容易进行管理和维护,也方便进行部署和扩展。特别是在基于Android的应用当中,体现的尤为明显,首先是在对于系统的进程管理方面,利用系统中的比较少的服务来实现系统更多的用户请求,使得系统的运行效率更高,在进程的启动和关闭方面实现比较少的次数。其次是,在对于系统服务的控制方面,能够实现总次数的控制,这样就可以保证系统能够在一定的服务压力下不会崩溃,保证正常的应用和服务。因此,从系统的设计和实现的角度来说,将系统划分成三层的架构方式具有很多的优势,在服务器端进行划分,将业务逻辑处理部分独立成为中间业务逻辑层和数据层,因此,在中间业务层中就可以对用户的请求进行一定的处理,如进行排队的处理,进行一定的缓冲;还有就是在进行数据库的连接方面,可以利用中间层进行数据库的连接和关闭,使得数据库可以长时间的进行保持连接和服用,这样就可以大大的减少直接跟数据路连接的次数以及连接的时间,可以很大的提升了系统的性能。2.2流媒体技术在基于Android开发平台的移动学习系统中,利用到了3G网络通信技术,来实现对于网络学习资源的充分的利用,在数字资源的学习中其中一个很重要的业务形式就是流媒体的数据,使用流媒体的方式来满足用户对于实时和画面品质的[41]要求。在网络学习资源中,流媒体的数字学习资源可以是音频格式数据、视频格式数据,或是多媒体的数据,这些数据可以经过系统的编码的方式实现对于数8 第二章相关技术介绍据的压缩,并且通过3G网络通信技术实现数据的有效的传输,保证数据的发送和传输,能够实现计算机的实时的到客户端,使得用户能够满足得到很好的学习的[42]体验和效果。在流媒体的这种实现移动学习的技术中,可以让用户实现实时数据传输和实,用户可以一边下载,一边观看和学习,而不用说是完成所有的数据下载传输之后[43]才能进行移动学习应用。在流媒体技术方式中,设计了缓冲区的形式,将需要进行播放通过缓冲区的方式进行缓冲,这样的话就可以进行在后台进行数据的缓冲,这样就可以使得播放的品质得到有效的保证,因此,采取流媒体技术就能够[44]实现边下载和边播放。在流媒体中,其中的一个最大的特点就是系统占用的资源比较小,相比较其他类型的数字资源,可以在更多的平台和环境中实现数据的播放,并且在播放的[45]时候用户可以不必等待太长时间就可以实现在系统进行播放。在播放的时候,对于系统来说是在一定过得速率进行数据的发送,不是发送全部的数据之后达到缓存才播放到用户端,可以实现边缓存边进行播放,在解码的时候不会占用太多的系统资源,对于系统来说节省了很多的空间和时间。上述的播放过程可以说跟现实生活中的“流”是类似的,在系统中不会造成系统的拥塞和出现延时现象,系统[46]解码播放的效果比较好,因此具有很好的应用场景和价值。2.3移动数据库技术在移动数据库技术中,主要是在移动环境下进行数据资源的组织和存储,为[47]移动计算和服务进行数据的支持,完成移动计算环境的部署。在目前主流的移动的数据库管理系统当中,主要有甲骨文公司的Oracle、MicrosoftSQLServer、Sybase、DB2、MySQL等等。其中SQLServer2008是微软公司推出的一个大型的[48]高性能的关系数据库管理系统。MicrosoftSQLServer2008是一个全面的数据库[48]平台。除此之外,无论是在哪种情况在移动数据库中需要考虑的功能是对数据的实时性能,使得数据库可以实时的处理相关的数据,并且支持移动计算,可以在较短的时间之内完成对数据计算和存储任务的调配,实现有效的逻辑计算性能,可以及时有效的处理数值存储,并且完成正确的计算存储。MicrosoftSQLServer2008都可以为其提供创新的解决方案。SQLServer2008CompactEdition(缩写为SQLServerCE)是微软推出的一个适用于嵌入到移动应用的精简数据库产品,WindowsMobile开发人员能够使用SQLServerCE开发出将数据管理能力延展到WindowMobile移动设备上的应用程9 电子科技大学硕士学位论文序。2.5本章小结本章主要对本论文工作中所涉及的相关技术进行简要介绍,论文选取基于Android平台的智能手机操作系统作为主要的开发平台,并选用3G网络作为实时流媒体教育资源的传输介质和移动数据库技术,分别对上述技术进行介绍。10 第三章系统的需求分析第三章系统需求分析在本章中需求分析,进行业务需求的调查之后归纳移动学习的业务中主要有三个的用户,然后继续进行系统的性能方面的需求分析,移动学习方面的需求。3.1功能需求分析下面针对移动学习使用用户的需求,进行业务需求的调查,在移动学习的业务中主要有三个的用户,分别为教师、学生和系统管理员,并且对上述的三个的用户进行用户需求的分析;然后在上述的基础上进行系统性能方面的需求分析。下面是经过对各个用户调查之后所获取的系统功能需求调查,具体如下:(1)目前的电子产品的普及率从本人做的各种研究调查和报告来看,在众多的电子产品中,手机是目前最为普及和广泛使用的电子产品,具有体积小移动方便等特点。第二个是MP3,MP3曾经有一段时间在民众当中非常流行和广泛使用,因为MP3还可以存储数据,但随着电子产品的不断改进和发展,手机也逐渐扩展有存储功能,这样MP3的的优势就不存在。(2)使用手机进行学习的态度在本人做的调查和研究还发现,超过一半的被调查用户认为手机是一种非常好的学习的工具,对此非常积极。另外,超过3/2的受访者认为可以使用手机来取代其他的学习工具,从这些调查可以看来手机作为用户的一种学习工具具有非常大的优势,是非常认可的。(3)对使用手机进行学习的影响因素在本人所作的调查发现,部分或少数不使用手机的进行学习的用户主要受到了手机的一些客观因素的影响,如手机的屏幕尺寸偏小,手机的存储不够大,声音效果不佳等,这些弱点随着手机的硬件的快速发展和价格的不断下降,各种品质不错甚至高端的手机可以走进普通用户。另外,影响用户使用手机进行学习的一个因素是用户觉得现有的学习资源不够多,这是本课题所要解决的问题。(4)用户对手机的显示屏幕的需求随着手机的不断发展更新,屏幕对于用户的使用体验起着非常重要的作用。通过本人的调查发现,适合的屏幕大小和良好的分辨率是用户使用手机进行学习一个因素,因此在本系统进行开发和课程设置时候需要考虑此因素。(5)目前手机操作系统的调查11 电子科技大学硕士学位论文从调查的结果来看,用户对于自己所正在使用的手机的操作系统,不是很了解甚至不清楚,占有非常大的比重,说明用户对于手机操作系统没有一个清晰的概念。但是随着高端手机进入普通百姓中,智能手机会得到非常大的应用。移动在线学习系统主要涉及到3类用户:教师、管理员和学生。教师对于这个用户类型来说,包括了三个用例和操作,分别为在上课的时候进行授课,监控手机屏幕,对学生的学习的情况进行实时的监控和管理,还可以与学生用户进行短信息的互动,并对学生用户提出的问题进行及时的返回和回答。教师用例图如图3-1所示。图3-1教师用例图图3-2管理员用例图管理员主要负责维护服务器、教师录制端程序,临时修改课表等。一般除非发生意外情况,服务器和录制端都可以连续运行,不用重新启动。管理员用例图如图3-2所示。移动学习系统中,学生可以通过系统的登录的地址访问到系统,并且在经过用户的身份验证之后进入到系统获取到相应的权限,进行移动学习的操作。学生可以利用3G网络通信技术获取连接到移动学习的系统中,能够在移动学习的客户端进行学习资源的获取,如获取得到学习的课表数据信息,能够进入到属于自己的移动学习的虚拟的教室,在这个教室中进行移动的学习业务,能够实时的看到教师的讲课情况,并且能够跟教师可以进行实时的互动,与其他的学习者进行学习心得交流,能够看到屏幕、小视频和调整声音,也可以放大屏幕以看清教师的板书或者放大教师的视频看清其表情和肢体动作等。图3-3为学生用例图。12 第三章系统的需求分析图3-3学生用例图3.2性能需求分析系统在实现移动学习的基本功能,还需要对系统的性能方面的具有要求,只有良好的系统性能才能保证系统可以持续和稳定的应用。在本系统的设计当中,对于系统的性能方面的具体的需求如下:(1)在线人数的性能需求。在本系统的设计中需要同时支持在线500人同时登陆本系统进行访问,学员可以进行选课和在线学习的操作,因此并发数的设计为500用户。(2)界面方面的需求。系统界面友好,操作简便易懂。前面已经对系统的业务系统以及运行性能进行了详细的需求分析,获取得到用户的需求,下面针对系统对于界面设计方面的需求进行分析,在本系统中,采取的是基于浏览器/服务器的设计模式进行开发的,因此,在用户界面中采取的是浏览器作为客户端,在具体的设计中需要符合用户需求:(1)版面布局以及色彩界面作为浏览器客户端在界面当中,需要符合移动学习中规范统一风格,版面布局合理,清晰明确,颜色搭配得当,与其他系统风格相统一;(2)菜单按钮设计在菜单设计中需要简便,方便用户进行操作,并且符合移动学习中对于政府风格要求。(3)客户端访问速度13 电子科技大学硕士学位论文界面不能过于繁杂,在图片选择上需要进行选择,简化图片以及演这个控制使用Flash元素,使得用户能够在叫嚣的带宽网络中快速访问,方便用户使用。3.3本章小结在本章中首先是进行移动学习的需求分析,进行业务需求的调查之后归纳移动学习的业务中主要有三个的用户,然后继续进行系统的性能方面的需求分析,通过上述的分析之后就可以获取得到用户的详尽的移动学习方面的需求。14 第四章系统的设计第四章系统总体设计在本章中主要是对系统的设计进行介绍和分析,在前面对系统的需求分析的基础上对系统的总体架构进行设计,对系统的服务器端的功能模块进行设计,具体包括了视频后台管理模块、视频编码模块和视频传输模块,对于上述的各个功能模块进行详细的设计,接着是对系统客户端的功能模块进行详细设计,最后是对数据库的设计。4.1系统总体框架设计在移动在线学习系统中,网络层实现的就是在系统的服务器端和系统客户端之间建立数据传输的连接,并负责将数据从服务器端传输到客户端,当然需要有部分的数据时从系统的客户端传送到系统的服务器端的,主要是有视频数据的传输和文件数据的传输。数据服务层由数据库产品来实现,如SQLServer等,在具体的数据访问开发方面,采用Spring框架实现透明的数据访问。这种多层结构模式可极大地方便应用数据的开发和维护,使程序员能集中开发位于中间层服务器端的应用程序而无需考虑用户端的兼容性,而且后台数据库系统的改变或数据结构的变化不会对用户端产生影响。系统的结构如图4-1所示。HTML/CSS表现层JAVAScript客户端AJAX引擎通讯层逻辑层Web服务服务器端数据库接口持久化层数据库图4-1四层架构的系统结构本系统的具体实施需要对C#语言具体编程技术、计算机图像处理技术、HTML语言、CSS排版技术、AJAX技术、XMLWEBService和JavaScript技术有较为深15 电子科技大学硕士学位论文入的研究,这些技术成熟应用不仅可以使的整个系统的编程代码效率较高、系统使用界面友好、系统的兼容性好、扩展性好、可靠性好、自我纠错能力强,而且服务器端和客户端的响应速度较快,只有这样的一个移动学习系统才给用户的是一种享受式教学体验,吸引用户不断的使用。在如图4-1所示的移动学习系统中对于每一层,所实现的功能是不同的,其中表示层是用户与系统之间进行交互的接口,是系统提供给用户进行操作和管理的界面,在这表示层中包括了系统所提供的四个主要用户角色,通过移动学习系统中的页面实现跟系统功能进行交互,对于上述的页面接收用户的请求,并将请求的数据传递到业务逻辑层进行相应的处理,最后将处理的结果返回给相应的用户。对于中间层来说,主要的功能是进行数据的处理和业务的处理,使得数据经过处理之后可以实现各个功能,首先是对用户的请求进行接收的处理,在接收之后就通过调用相关的函数进行计算和处理,对于部分的请求是需要进行数据的连接和查询的,实现对数据库的连接和处理,并将对数据操作的结果反馈给用户,这个过程需要中间层来实现。数据层是位于整个体系架构的最底层,在这个层中主要的是进行数据的存储、数据的连接以及对数据连接的维护,包括对数据库的操作,如进行数据的新增、修改和删除等等,将上述处理的结果返回到业务逻辑层中去。移动学习系统采取三层的体系架构设计具有很多好处,彻底的实现表示与代码的分离,对于不同的应用和这些应用之间耦合性也大大的降低了,从而提高了系统的内聚的程度,在系统的应用过程中,如果对于需求产生了变化,那么在程序的修改上就比较方便。系统的总体框架设计如图4-2所示。图4-2系统结构图16 第四章系统的设计在图4-2所示的移动学习系统的系统结构图中,移动学习者能够利用自己的移动学客户端,登陆移动学习系统地址,利用无线网络,在本系统中主要是用过3G网络通信技术进行数据的传输和接收,可以访问移动学习系统的服务器端,在移动服务器端中包括了三个主要类型的服务器,分别为web服务器、流媒体服务器和数据库服务器,将移动学习系统划分为三个主要功能逻辑层次。根据前面的需求,得出系统可按功能集合划分,其组织结构图如图4-3所示。移动学习系统移动客户端系统服务器端界参视视面数频频管设后传理置台输模模管模块块理块图4-3移动在线学习系统功能模块结构图其中移动客户端负责将课堂中的教学场景(包括教师视频声音及屏幕)发送到直播服务器,再由服务器将接收到的数据转发到连接到当前教室中的所有学生的手机上,最后在学生手机上对这些内容进行多流合一后同步播放。系统服务器端包含对于视频的编码、视频资源的管理、用户的管理、视频的数据传输、视频文件的传输等功能。具体有对已经存在的视频文件资源进行有效的管理,如创建和编辑相应的目录;将服务器端和客户端建立数据传送的连接,并使得服务器端的视频流媒体的数据信息传送到客户端,主要的是通过Winsock的网络通信的接口来进行实现,在这个接口中可以非常方便开发人员进行编写代码实现数据流的传送。4.2系统服务器端功能模块设计在本移动在线学习系统中,系统的服务器端的功能主要实现的是对于文件与视频的处理,主要完成的是对于视频文件的处理和对于视频的编码等的处理,具体有二个服务器的组成,一个是视频文件服务器,一个是视频流媒体服务器,其功能结构如图4-4所示:17 电子科技大学硕士学位论文系统服务器端视频后台管理模块视频后台管理模块视视视用文频频频户件编编资管传码码源理输传子子子子输模模模模子块块块块模块图4-4移动在线学习系统服务器端功能结构在视频后台管理模块中,主要实现的是对于视频的处理包括了视频编码、视频资源的管理和用户的管理。视频传输模块实现的是将服务器端和客户端建立数据传送的连接,并使得服务器端的视频流媒体的数据信息传送到客户端。下面对移动在线学习系统的主要的功能模块进行详细的设计。4.2.1视频后台管理模块功能设计视频后台管理模块主要完成的是对于视频编码、视频资源管理、用户管理的功能,具体可以划分为二个子模块,完成具体的功能分别为:1)视频资源管理子模块:对已经压缩的视频文件进行归档管理等。(1)存储产生的视频数据并对这些数据进行归档,提供给用户进行使用;(2)对已经存在的视频文件资源进行有效的管理,如创建和编辑相应的目录;(3)如果用户需要使用这些视频资源文件,就向服务器发出连接的请求,在服务器接收到这些请求之后进行处理,得到资源目录。在每一个的产生的视频资源目录中都会包括资源的各个的信息(如资源的名等)。2)用户管理模块:用户管理模块主要进行对智能手机用户信息登记,授权等。(1)用户身份验证:在移动学习系统中需要对登陆请求的用户进行身份的认证,只有通过身份认证的用户才能进行相关的操作,另外还需对用户的访问系统的权限进行相关的配置。18 第四章系统的设计(2)用户连接数量限制:通过访问请求连接的设置,才能有效的保证服务器的性能,使得正常的访问获得相应的响应和处理。在本系统中可以设置访问的端口号,最大的访问的连接数,使用的用户数等方式进行相关参数的设置。(3)服务器为每个客户端建立一个线程,以便管理。当某个用户端退出时,撤消为这个用户所建立的线程。4.2.2视频编码模块功能设计在移动客户端中,处理的能力相对不足和移动网络的数据传输不够稳定,因此对移动的流媒体进行有效的编码和稳定的传输提出更高的要求。本系统中采取改进的视频编码运动估计算法来保证视频在传输中的质量和视频数据的质量,图4-5给出了H.264的编码流程。视频输入变换&量化熵编码压缩的视频比特流反量化&帧内/帧间反变换模式选择运动补偿帧内预测缓存的参滤波器考图像运动估计图4-5H264的编码过程示意图4.2.3视频传输模块功能设计在本移动在线学习系统中,对于视频传输模块来说主要实现的是将服务器端的流媒体移动学习所需要的视频流的数据传送到用户客户端,并且保证较高的传输质量和性能,具体来说主要划分为二个模块,分为文件传输和视频传输,具体如图4-6所示。19 电子科技大学硕士学位论文视频传输功能模块文视件频传数输据模传块输模块图4-6视频传输功能模块结构示意图(1)文件传输模块:这个主要实现的是在移动学习中所产生的视频文件的传送,在文件传输过程中需要客户端建立跟服务器的面向连接,在双方建立连接之后才能进行视频文件数据的传送。在本系统的设计中,对于大部分的客户端来说,都提供了Socket传输所需要的相应的借口等,因此对于客户端来说具有很好的支持,可以通过Socket接口实现文件数据的接收和发送。(2)视频数据传输模块:在服务器端的视频流经过编码和压缩的操作之后,需要将视频流高效率的传送到客户端中,在本移动学习系统中,可以根据服务器端的产生的视频流的标号ID,在客户端依据上述的视频源的ID,请求服务器进行数据的传输,对于服务器端来说,根据客户端对于视频流的请求的ID,然后将相应的视频流进行封装操作,在本系统采取的是H.264视频码流数据封装成RTP包,在完成上述的封装操作之后通过RTP/UDP/IP协议将视频流发送到用户客户端中。对于文件传输来说主要的通信方式是利用Socket接口来实现,传输协议为TCP协议;视频数据传输需要对数据进行封装成RTP包,在这个基础上使用RTP/UDP/IP协议将数据发送到用户端。4.3系统客户端功能模块设计移动学习客户端的客户端运行在基于Android的智能手机上,为了方便地将程序移植到基于Android操作系统的不同手机上。采用GUI+Engine的设计方式,通过这种方式可以做到用户界面和程序功能模块间的松耦合,避免不同程序模块之间不必要的依赖关系,从而保证了程序的非用户界面部分在Android平台上的可移植性。GUI设计直接调用Android系统API,通过短消息信道与该Engine联系不大。20 第四章系统的设计开始进入欢迎界面是否在否当前课程列表线学习?是教室列表教室功能列表是否直播?是观看直播否投票反馈查看投票反馈结果结束图4-7用户使用客户端与教师进行互动流程图在上述的用户使用流程设计中,可以看到用户首先需要拥有移动客户端,获取得到移动学习系统的登陆地址,在完成了用户的身份验证之后就可以进入到系统进行各种符合用户权限的操作。在移动学习系统中,对于学习资源有两种方式,一种是按照课程资源直播在线的方式,另外一种是通过教室直播的方式。用户如果是进入到教室直播的方式的话,就可以在用户端的教室列表中找到符合用户要求的教室,进入到目标的教室,然后用户可以选择直播在线学习以及进行投票反馈等操作,实施移动学习。4.4数据库设计在传统的数据库的设计方式当中,由于缺乏科学的支持,采取的方式是比较原始以及低效率,通过这样方式所设计数据表是不科学以及规范,在数据量不断增大的情况下越来越无法满足用户的需求。在进行数据库设计时候需要着重跟具体的业务流程结合,使得数据与应用可21 电子科技大学硕士学位论文以紧密结合,对于上述的目标的实现,需要进行合理和科学的数据库的设计,遵循规范的数据库设计原则,具体来说在进行数据库设计时候需要注意的因素有下面几个方面:考虑和分析数据库的使用计划、注意数据规范化的要求,避免数据库的设计错误、考虑数据完整性的问题、考虑数据库的安全性的问题保证数据表和用户权限的安全、注意应用系统的性能方面的要求,必须满足用户的响应速度、稳定性等方面的需求。表4-1用户表UserInfo字段名数据类型主键外键参照表备注字段意义UidIntYesNo自增长,1/次主键,标识惟一UnameVarchar(20)No<=15字符用户名UpassWordVarchar(20)No<=20字符用户密码UnickVarchar(15)No文本,null用户昵称UbornDatedatetimeNo日期型数据用户出生日期UcityVarchar(20)No文本所在城市UdecriptionVarchar(100)NoNull,文本个人描述Uscalechar()NoNotnull用户等级Utea_stuChar()NoNotnull身份标识,老师1,学生2UstateChar()NoDefault,1用户状态,1正常,2禁用UregTimedatetimeNogetDate()注册时间用户日志表UserLog,保存了关于用户人员的个人的进行系统操作的相关信息,具体结构如表4-2所示。表4-2用户日志表UserLog字段名数据类型主键外键参照表备注字段意义AffairidIntYesNo自增长,1/次主键,标识惟一AffairtimedatatimeNoNotnull登陆时间AffairIPVarchar(20)NoGettime()登陆的ip地址userIDVarchar(20)NoNotnull登陆名AffairidIntYesNo自增长,1/次主键,标识惟一ResoureInfo保存了课程的相关的信息,具体如表4-3所示。表4-3ResoureInfo课程信息表字段名数据类型主键外键参照表备注字段意义ResidIntYesNo自增长,1/次主键,标识惟一22 第四章系统的设计RestimedatatimeNoNotnull创建的时间ResTypeVarchar(20)NoGettime()课程类型ResSubjectVarchar(20)NoNotnull课程名称ResdecpritionVarchar(200)NoNotnull课程简要的内容ResRoleVarchar(20)NoNotnull课程的角色UserIDVarchar(20)NoNotnull用户名由于篇幅关系其他的数据表的详细的设计就不一一列举。本系统的逻辑结构表的关系设计如图4-10所示。图4-10系统数据库关系图4.5本章小结本章主要阐述了移动在线学习系统的总体构架,对系统进行详细的设计,然后提出了系统总体构架设计,对不同权限角色的功能模块进行了详细的分析设计与论述,分析了数据库概念模型及一些主要逻辑关系表,给出了部分数据库表的物理结构。23 电子科技大学硕士学位论文第五章移动在线学习系统的视频编码与传输算法在移动在线学习系统中,主要的核心技术就是学习流媒体的视频编码和视频的传输技术,在移动的环境中如何保证视频传输的效率和传输的质量关系到移动学习的效果。在移动客户端中的处理的能力相对不足和移动的网络的数据传输的不够稳定,因此对移动的流媒体进行有效的编码和稳定的传输提出来更高的要求。在本章中,针对上述出现的问题,对移动在线学习系统的关键技术(如视频编码和视频传输的技术)进行研究和设计。5.1视频编码算法设计H.264标准是由MPEG和VCEG联合提出,于2003年3月通过ITU-T认证并在国际上发布。在移动视频的编码中,流媒体编码的好坏主要是流媒体的运动估计算法具有很强的关联性,因为流媒体的序列图像具有跟时间轴有比较大的关联性,所以为了更好的消除或减少这个关联性,采取运动估计(ME)及运动补偿(MC)技术。在移动视频编码中,运动估计(ME)技术主要是实现对于物体的移动进行估计具体的运动的矢量,而运动补偿(MC)技术主要实现的是对于运动的物体的前面的帧是由运动所形成的位移的问题进行修正和调整,使得修正之后的位移可以跟原来的帧更为的相近,更加接近于预测帧。由前面的论述可以得到,合理的运动估计(ME)及运动补偿(MC)算法对于运动物体可以更加有效,得到运动矢量更加的准确,获取的运动补偿也更加的有效,这样就可以使得对于物体的运动的预测更加准确,对于流媒体进行编码之后的所拥有的信息量就更加的小,对于传输性能提高具有很高的价值,可以在一定程度上提升整个系统的性能。从这个方面说,具有高效的搜索算法的运动估计(ME)及运动补偿(MC)技术可以实现流媒体的压缩的效率,提高系统的性能。5.1.1视频编码中运动估计算法目前来说,在流媒体领域,主要的视频编码的标准主要有H.261、H.262、H.263、MPEG-1、MPEG-2、MPEG-4等等,这些标准在序列图像系统中应用于运动估计(ME)及运动补偿(MC)的实现中,对于8x8或者16x16块都可以采用上述的视频编码的标准对帧进行处理,如果是对于整个块的处理而言的话,则是进行块的匹配。在进行块匹配的时候主要根据的标准是块的相似,从这个方面来说,流24 第五章移动在线学习系统的视频编码与传输算法媒体的视频块的匹配的好坏会对运动块的估计具有直接的影响。与此同时,在对块进行匹配的时候一般采取的块的匹配的准则,这个准则的复杂度会直接影响到块的数据读取的复杂度。经过上述的分析,可以得到对于流媒体的视频编码来说提高其的效率和速度,可以从二个方面采取有效的措施和方法,第一个就是在块的匹配的时候尽可能减少搜索匹配的点,第二个方式就是对于块匹配的准则的复杂度方面采用更好的算法尽可能的降低计算的复杂度。1)块匹配准则常见的块匹配准则有:(1)均方误差函数MSE,具体如公式5-1所示。(公式5-1)这里Cij是当前块的一个像素,Rij是参考区域的像素,C00,R00分别是当前区域和参考区域的左上像素。(2)最小绝对差MAD,具体如公式5-2所示。NN111MAD(ij,)2CijRij(公式5-2)Ni0j0(3)绝对误差和SAD,具体如公式5-2所示。(公式5-3)在上述的常见的匹配的准则中,通过实验的测试和实验的数据表明,均方误差函数MSE在实现运动估计的时候可以对于流媒体的运动估计的精度的计算最好,在这个算法过于复杂不太容易实现。对于MAD准则函数比较符合实际情况,具有广泛的应用。随着绝对误差和SAD的应用,在流媒体的视频编码中对于运动估计的应用具有很好的效率,与此同时,绝对误差和SAD的储能能力更好计算的复杂度更低。2)全搜索算法在对于处于搜索区域S当中的任意的位置进行匹配计算的函数就称之为全搜索算法。在全搜索算法当中,对于区域位置中的所有的点都进行匹配计算,无论是上还下,还有左和右的各个顺序的位置,在搜索计算的时候也可以位移(0,0)点为具体的中心点进行螺旋型的搜索操作。在全搜索算法当中,经过一定的计算之后可以找到最佳的匹配块,但这个算法具有很大的缺陷,就是所耗费的计算过于大,计算的时间过长,因此运算的效率比较低,和算法的效率也是不是很理想25 电子科技大学硕士学位论文的,为了解决上述的问题,采取了更为有效的算法就是一些快速算法如三步搜索算法。3)三步搜索法在快速算法中的三步搜索法(TSS)是由于算法的三步的形式进行实现,不过也不一定三步的步数,下面对三步搜索法(TSS)的具体的算法的实现步骤进行详N细的介绍,以±(2-1)的搜索窗为例:(1)搜索位置(0,0);N(2)令S=2-1步长;(3)搜索位置(0,0)周围±S个像素的八个位置;(4)从前面搜索的九个位置中,跳出SAE最小的位置,并把它作为新的搜索原点;(5)令S为原来的一半;(6)重复步骤3到5,直到S=1。.在算法进行到N=3时,可以得到此时的搜索窗为±7个像素,根据三步搜索算法,其中的第一步要对位置(0,0)和原点周围±4个像素一共是8个搜索位置进行搜索的操作;第二步就是根据前面得到最佳的匹配在其的周围的±2个像素点的位置进行搜索操作;第三步就是根据前面得到的最佳匹配点的周边的±1个像素点进行搜索的操作。经过上述的三步之后,在处于搜索窗为±7个像素的状态就可以经过上面的方法获取最佳匹配。在算法的复杂度方面,上述的方法也就是采取三步搜索法(TSS)的方式一共需要进行25次的搜索,采取全搜索的方式则搜索的次N数为255,可以说在算法的运算处理方面具有很好的优势。对于±(2-1)的搜索窗的搜索最佳匹配块采取快速算法中的三步搜索法(TSS)的时间计算复杂度为(8N+1)。从上面的对于快速算法中的三步搜索法(TSS)的分析可以知道,在这个算法当中不是对全部的位置进行搜索就可以得到最佳的匹配的块,因此就有可能是在部分的区域得到的最佳的匹配块,而不是对于整个区域的最佳匹配块,存在着很大的缺陷,因此为了避免出现上述的问题,需要对前面的算法进行改进和优化。5.1.2算法优化1)优化原理对于流媒体的视频图像而言,分块的运形成了一个核心位置分布的情势,这个称之为中心偏离特性。在视频数据中心的绝大多数的匹配快都是基于上述规律的,其的分块方式都是平滑方式的,都基本集中于搜索窗口的周边。2)算法描述26 第五章移动在线学习系统的视频编码与传输算法在对视频流的编码中的运动估计算法进行优化中主要是动态跳帧的优化算法的具体的算法的描述如下:下面是整个的视频编码中运动估计改进算法得到的编码算法流程图,流程图具体如图5-1所示:图5-1算法流程图6)视频编码模块流程27 电子科技大学硕士学位论文上面是视频编码中的运动估计算法的优化的具体的算法的描述,接下来是应用优化后视频编码算法,视频编码模块流程如图5-2所示:图5-2视频编码模块流程5.1.3算法测试经过上述的视频编码中的运动估计算法的优化和算法的描述,以及将算法应用于视频编码模块的流程中去,可以得到很好的对于流媒体的编码效果,下面对于这些优化后的具体的算法进行算法的测试进一步的验证。在对于视频编码中的运动估计算法的优化的验证中采取的是比较分析的方法,对照数据和测试的结果进行分析,将实际测试得到的数据以及和H.264标准的JM编码器获取的数据进行算法的性能方面的分析。1)测试方案在本测试方案中,需要对处于视频传输网络当中的二个随即丢信道上的图像视频的序列帧进行相关的测试,数据包的格式可以使RTP/IP/UDP,丢包位置随机。在IP网络中采取上述的方式对于不同的数据包的丢包率的环境下进行算法的测28 第五章移动在线学习系统的视频编码与传输算法试,在本测试中使用10%,20%的丢包率。具体测试选项如下:(1)测试序列:测试图片一,Wonder;(2)实验帧数:50帧;(3)帧率:25fps;(4)运动搜索范围16,运动估计子块模式划分到8x8;选取测试图片一和Wonder两个QCIF视频序列做测试实验,测试序列如图5-3所示:测试图片一测试图片二图5-3实验视频序列图2)测试结果如下:(1)信噪比测试表5-1和表5-2分别为测试图片一和Wonder序列的信噪比测试结果:表5-1测试图片一序列信噪比测试结果方案JM方案改进方案丢包率Y(db)U(db)V(db)Y(db)U(db)V(db)10%29.5039.5639.830.5139.9341.5620%29.0439.5239.629.5339.3041.10PSNR28.5139.2039.329.5139.7841.03在上述的对于视频序列的测试图片一序列的信噪比测试得到数据中,在改进方案中的亮度的性能方面可以达到提高平均1db的水平,在二个色度的性能方面也可以说提高了不少,可以达到0.6db,在本测试方案的对于图像取样格在4:2:0,这样会使得在色度块的方面的变化比起亮度这个性能方面的性能相比就差一些。29 电子科技大学硕士学位论文因此,在信噪比方面也就是比较高的。下面的第二个视频序列的测试所获取得到的关于信噪比的测试结果,具体的数据如表4-2所示。表5-2测试图片二序列信噪比测试结果方案JM方案改进方案丢包率Y(db)U(db)V(db)Y(db)U(db)V(db)10%31.9240.9640.535.2241.7441.6220%41.2140.2140.835.3052.0141.78PSNR40.7440.7640.735.1241.5241.70在上述的Wonder的序列信噪比的测试数据结果中,色度的性能方面,在不同的丢包率的情况下,改进后的信噪比的性能方面可以说提高了不少,可以达到。1db的水平。当然由于丢包的位置不同,所出现的亮度这个性能分量的数据不一定就是在PSNR下面好,总的来说,在这个序列中得到的信噪比的测试结果改进后的方案可以说提高了性能。(2)编码时间测试各个视频序列编码速率对比如表5-3所示。表5-3各视频序列编码速率对比JM方案改进方案测试图片一测试图片一wonder(sec)wonder(sec)(sec)(sec)QF=20109.371122.451102.322115.015QF=30100.725111.47895-247102.412QF=5099.845109.21093.651101.253(3)视觉效果图测试图片一序列和Wonder序列使用两种方案的效果对比图如图5-4所示:30 第五章移动在线学习系统的视频编码与传输算法(A)JM方案(B)改进方案图5-4效果对比图经过对于不同的视频的序列的不同的视频编码方面的实验的测试,和对实验数据的分析,得到在视频编码中运动估计算法的优化可以说对视频编码的性能很好的提高,特别是对于第一个的视频图像序列的算法改进之后的效果明显,在测试的图像中的对于图5-4(A)会存在模糊的状况,但对于算法优化之后进行测试的图像则纹理非常清晰。5.2视频传输算法的设计在视频流进行编码以及对于运动估计之后,需要将这些数据传输到用户端,这就需要视频传输模块来实现上述的功能。在移动在线学习系统中,视频传输模块实现的就是在系统的服务器端和系统客户端之间建立数据传输的连接,并负责将数据从服务器端传输到客户端,当然需要有部分的数据时从系统的客户端传送到系统的服务器端的,主要是有视频数据的传输和文件数据的传输。在视频传输31 电子科技大学硕士学位论文模块中主要的是通过Winsock的网络通信的接口来进行实现,在这个接口中可以非常方便开发人员进行编写代码实现数据流的传送,在视频传输模块中目前来说有二个数据的通信的协议,一个通信的协议是传输控制协议TCP,还有一个就是用户数据报协议UDP。在第一个的传输控制协议中,是主要的通信协议,是面向连接的,通过传输控制协议可以得到可靠的端对端的数据连接,另外还有很多的通信传输数据的保证的机制,可以满足用户对于网络的大数据大文件的数据传送,而另外的一个协议则是相对的无连接的,在这个方式当中,由于不用建立端对端的连接,因此延迟非常小,传输的速度很快,你能够满足即时的用户数据通信的要求,在本系统中在视频传输模块中,采用的是UDP的传输协议来进行对于流媒体的数据的通信和数据的传送。通信过程图如图5-5所示:图5-5面向连接(TCP)的通信过程图在上述的图4-5面向连接的的通信过程中可以看到,从服务器的数据开始,用户请求跟服务器端建立连接,这个时候在服务器端和客户端都需要通过socket()32 第五章移动在线学习系统的视频编码与传输算法的方式建立套接字的数据,再在服务器端通过bind()函数使得建立的服务器的套接字跟服务器的IP地址进行绑定,在完成上述的绑定操作之后服务器端再调用listen()的函数进行监听,使得上述的套接字在处于一种准备接受数据的状态,如果用户的客户端通过connect()的调用就可以发起跟服务器建立连接,从而对于客户端的来说就可以打开了服务器端的套接字,在完成上述的建立过程之后,在服务器端和客户端就可以通过调用send()和recv()这二个函数功能进行数据的传送,在完成数据的传输之后,客户端和服务器端关掉套接字结束整个的数据的连接和数据的传送,这就是面向连接的方式进行通信的过程。下面是本移动在线学习系统所采取的无连接的方式进行数据的传送,具体的无连接的通信的过程如图4-6所示。图5-6无连接的通信过程图在上述的图4-6所示的无连接的通信的过程中,跟面向连接的服务器端和客户端的发起连接的过程类似,在服务器完成套接字的连接之后就直接调用bind()将建立的套接字与网络IP地址绑定了,而对于客户端来说,在获取得到套接字之后并不是建立跟服务器端的连接,采取的是在客户端发给服务器端有关于客户端的机器的相关地址,对于服务器端的机器来说也不是建立客户端的连接,在服务33 电子科技大学硕士学位论文器端将会调用revvfrom(),实现对客户端过来的数据的处理。Revvfrom()可以实现的是对于客户端的地址、协议和数据报的数据信息,这样在对于服务器端来说就可以根据这些数据信息进行数据的传送。经过上述的分析可以得到对于文件或文档的数据的传送来说主要采取的是TCP协议,在这个方需要建立面向连接,因此可以对于数据传输过程中的保证,但在本系统中的数据,大部分是流媒体的视频流的数据,并不需要进行传输的保证,采取的是无连接的UDP的方式。5.2.1视频传输模块传输结构根据前面的分析可以得到在移动在线学习系统中,对于服务器端的通信方式采取的是无连接的UDP的通信协议,适合视频流的数据传送。在UDP中包括了RTP的数据包的,使用的是NAL单元的方式,RTP包的载荷可以在NAL单元中,另外,数据传输的数据流码为H.264的标准,视频传输传输模块的传输结构具体如图4-7所示。图5-7系统传输结构图在上述的图4-7所示的系统传输模块的传输结构图中可以得到,移动学习系统采取的是多线程的方式,将整个系统的编码的工作划分为二个部分的,即是服务器端的编码的和服务器端的数据发送二个部分的线程。另外,在服务器端的采用缓存的方式,将服务器端的经过编码好的相关数据暂存于缓存中,这个由H.264的打包线程来实现,当需要进行数据的发送的时候则是调用发送线程完成数据的发送。对于客户端来说,通过网络线程可以实现接收发送的数据包,通过RTP/RTCP的协议形成的H.264码流,然后将从服务器端接收到的数据包存储于缓冲区等待客户端的接收,最后调用H.264的解码线程完成客户端的数据处理操作。在数据传送的过程中,服务器需要不断测试数据通信的状况,并将发送的测试的数据通34 第五章移动在线学习系统的视频编码与传输算法过RTCP反馈给服务器端的,服务器端根据得到的数据进行判断传输网络的情况,并且自动根据的网络的传送的情况进行数据流的编码率的调整。5.2.2RTP封装H.264视频媒体数据上面已经对视频传输模块的传输结构进行了全面的分析,在数据经过服务器的编码压缩实际的数据传送之前需要进行核实的视频媒体的封装。在本系统中,通过RTP的协议进行H.264视频数据包的封装,这样经过封装之后的视频流就可以提高视频流在互联网上的传送的效率。1)H.264视频流封装算法前面对于H.264视频数据的封装的策略进行了全面的分析,在本系统中,主要采取的是通过RTP的封装流程和策略,具体的H.264视频流封装算法的流程图如图4-8所示。图5-8H.264视频流RTP封装算法流程图在上述的图5-8所示的H.264视频流RTP封装算法流程图中,可以得到这个封装算法引入一个称之为NON_VCL的方式,在这个方式中可以很多的NALU(排除1-5),在这些的NALU中的类型相对较小。在H.264视频流RTP封装算法中的35 电子科技大学硕士学位论文max_size的采用的1500-RTP/UDP/IP的包头字节数。当如果在封装过程中的max_size仍然小于NALU,这个时候使用平均分割的方式进行处理,在分组过程中世纪不足的部分进行填充标识,这样在H.264视频流RTP封装算法中可以更好的更好的对于前部的纠错。具体的H.264视频流RTP封装算法的描述如下:设Xi为分割前的NALU大小,Xo为分组后的各个NALU的大小;N为分割的分片数,其具体算法如下:(1)对Xi/max_size取余数运算,当余数大于零时,N为(Xi/max_size)取整+1,否则N为(Xi/max_size)取整;(2)对Xi/N取余数运算,当余数大于零时,Xo为(Xi/N)取整+1,够则Xo为(Xi/N)取整;(3)由于最后一个分片的大小可能小于Xo采用填充使其与其它分片对齐,并把RTP头中的填充标识(P)置为1。2)H.264视频流RTP封装运行结果:H.264视频流RTP封装运行结果如图5-9所示:图5-9RTP封装程序运行截图为了更好的验证H.264视频流RTP封装算法的效果,实验对于NALU进行封装的实验,分为6个的NALU测试数据,并且在实验中设置max_size=1456。在这6个的NALU测试数据中,其中的第一二个的NALU测试数据,它的类型的数值为SPS参数集和PPS参数集,由于设置的这二个的数值的载荷的长度比较小,需要采用STAP-A来进行聚合封装,经过H.264视频流RTP封装算法之后得到RTP类型为24。在这6个的NALU测试数据中,第三个的NALU的类型为IDR图像编码slice,在这个的NALU测试数据中的载荷的长度较大,采取的模式是FU-A进行分组,36 第五章移动在线学习系统的视频编码与传输算法然后再进行封装,接着采取H.264视频流RTP封装算法进行分割,分割成为10个的小块,在每一块中的实际的长度为1393,设RTP类型为28;在分割得到的10个小片中的第一个的分片的最起初的位置为1,在结束的位置这是为1,其余的位置都全部设置为0,在10个分片中的最后一个的分片中的,由于不足位需要进行填充的操作。在这6个的NALU测试数据中,其中的第4,5个的数据的NALU类型不是IDR图像的编码slice,另外它们的载荷长度比起1456来说都小,策略为第一种的分组,在经过H.264视频流RTP封装算法之后得到的RTP类型为NALU载荷类型。在这6个的NALU测试数据中,最后一个的IDR图像的编码slice跟上述的类似,但其的载荷的长度就超过了1456,在分组封装的方式中采取的是FU-A模式,按照H.264视频流RTP封装算法将最后一个的分片分割为2个的小的分块,分割之后的长度为1103,RTP类型为28;最起初的位置为1,在结束的位置这是为1,其余的位置都全部设置为0,在2个分片中的最后一个的分片中的,由于不足位需要进行填充的操作。3)H.264视频流RTP解封运行结果运用解封算法,H.264视频流解封程序运行截图如图5-10所示:图5-10H.264视频流RTP解封程序运行截图5.2.3Qos控制策略对于流媒体的视频流来说,一般的处理的方式都是经过源编码,信道传输和解码,经过上述的处理之后才能得到有效的利用。在上述的源编码,信道传输和解码三个阶段中,每一个阶段的处理都存在着产生信息丢失和数据的损失的情况,因此需要设计机制保证关键数据的安全可靠的传输。在本系统中可以将整个的系统划分为三个的主要的部分:发送端系统,网络传输和接收端系统。其中的发送端系统主要负责对流媒体的视频数据进行数据的编码,数据编码之后的UDP/RTP打包操作,得到压缩的视频流数据,并且将这些数据发送到缓冲区等待发送等主要的功能。对于接收端系统来说所实现的刚好跟发送端系统的功能情况相反,主要负责的是对于刘媒体的视频传送的UDP/RTP的数据进行解包的操作,并且将处理的结果信息反馈给发送端,处于中间的则是系统视频传输,主要实现的是对于37 电子科技大学硕士学位论文传输过程中的差错控制,由于无线信道速率不稳定而导致的大量丢包,我们采用自动重传请求算法来重传丢包。(1)自动重传请求算法自动重传请求算法是对于在发送端系统的每一个的数据包都进行编号,经过编号之后每一个数据包都是顺序的,对于接收端的系统来说,对于接收到的数据包进行检查,并且向发送端进行确认发送确认的数据信息。在这个传输的过程中,如果出现传输的超时的情况,即是发送端没有接收到客户端发送过来的确认的消息信息,则服务器端就判断为传输数据过程中出现了丢失或其他的错误的情况,就在服务器端将丢失的数据重传一次,依此类推,一直到客户端发送确认的数据信息给服务器端让服务器端接收到为止。在上述的传统的自动重传请求算法中,存在很多的缺陷,如对于数据包的时间方面的延迟太长,对于移动在线学习系统的实时的数据传送来说不是最好的方式;如在这个算法中在实际的数据传送环境无线传送数据过程中还有误码的情况,在客户端给服务器端的应答的确认的信息丢失,上述的算法就不能很好解决出现的问题,需要对原有的自动重传请求算法进行改进,使得自动重传请求算法更好的适应移动在线学习系统的数据传输的需要。(2)算法改进在对自动重传请求算法的改进主要加入缓冲控制重传的机制,这样就可以一定程度避免上述的问题,改进后的基于缓冲控制重传的差错控制算法的模型如图5-11所示:图5-11自动重传算法改进模型在图5-11所示的自动重传算法改进模型中,对于接收端的缓冲区来说,其的38 第五章移动在线学习系统的视频编码与传输算法大小,是可以进行调节的,可以根据数据包丢失,数据延迟的发生等情况的出现而改变其大小。在接收端中,数据的接收的速率设定为b,播放器的播放的速率设定为c,如果b>c,此时的在接收端的接收端缓冲的大小会自动的调大,并且调整之后的缓冲的接收的容量实时的反馈给发送端,同时也对发送的速率进行相应的调整,这样就可以动态的调整缓冲的容量和发送的速率的进行平衡,避免出现数据溢出的情况。另外,对于前面的传统的算法中出现的无法很好保证视频流数据的实时性的问题,在视频传输模块中的数据包出现丢失的情况,这个时候缓冲区的数据就可以将相应的数据发送给接收端了,通过数据重传缓冲区数据的方式实现数据的传输,当然这个机制需要在接收端将丢失的信息反馈到发送端,由发送端进行相应的处理。与此同时,在传统的算法中这个过程中网络的延时较大并不适合于移动学习要求实时的需求,一次你需要采取方法和策略减少延时。在改进之后的自动重传算法中使用基于间隔的方法来检测数据包的丢失,这样就可以避免出现网络延迟的问题。在这个方式中,如果出现的数据包在到达的时间和希望得到的时间存在时间的间隔,这个时候就需要对于数据包标注重传,在缓冲区取出相应的数据将数据重新发送给接收端,经过上述的步骤之后再接收端就可以保证接收到正确的数据。下面用一个例子详细说明经过改进的基于缓冲控制重传的差错控制算法的实现过程,在图4-13所示的自动改进重传算法的模型示意图中,对于接收端来说,序号为1的数据包已经顺利完成传送,接下来则是传送序号为2的数据包,可是接收得到的序号为3的数据包,在出现时间的间隔之后认为学好为2数据包发生了丢失的情况,需要进行重传。接收端就向缓冲区的发送重传的数据信息为NAK2,告诉在发送端的序号2的数据包发生丢失要求发送端进行处理,对于发送端来说,在接收到相关的信息之后就给序号2的数据包打上标记,并且加入到重传缓冲区中,经过缓冲区之后进行数据的发送,在接收端收到序号2的数据包之后给发送端发送确认的数据信息。发送端接收到确认的信息之后就会将上面打上标记的数据包在缓冲区中删除。经过上面的对于改进的基于缓冲控制重传的差错控制算法的分析,该算法可以满足流媒体传输的对于实施性的要求。在传输的过程中,客户端还能够实时的将缓冲区的大小反馈给发送放让发送方能够很好的调整发送的速率,因此改进的基于缓冲控制重传的差错控制算法可以很好控制发送和接收的平衡,可以满足移动在线学习系统的视频传输的要求,算法性能很高提高视频流的传输质量。5.3本章小结39 电子科技大学硕士学位论文在本章中,主要介绍移动在线学习系统的关键技术(如视频编码和视频传输)的研究。在移动学习系统中,需要对产生的视频流进行有效的编码和压缩,在本系统采取改进的运动估计算法,经过对比该算法对于视频的视频质量和编码时间方面有一定的改善与提高。然后,对于H.264视频数据的封装的策略进行了全面的分析,设计了通过RTP的封装流程和策略,最后根据RTP封装H.264视频流数据对于传输过程中的差错控制设计了一个Qos解决方案。40 第六章移动在线学习系统的实现与测试第六章移动在线学习系统的实现与测试这一章主要是对移动学习系统的主要功能模块的实现,包括了教务管理模块、移动客户端模块和服务器端模块的实现,并给出了部分系统界面,最后对实现的系统进行了测试,验证系统各方面的性能可以满足用户的需求。6.1系统开发环境这里所指的开发环境是指开发模式的选择、开发工具的选择和数据库的选择等内容。SUN公司的J2EE和Microsoft的.Net是目前比较流行的两种WEB应用开发平台。WEB应用开发需要考虑到WEB的应用是基于网络分布式结构环境,需要开发平台具有开放性和平台无关性。在移动学习系统中对于播放器的功能是进行流媒体的编码和解码的工作,将3G网络通信中的数据用系统的服务器端中进行下载,播放器接受到流媒体的数据之后转移到缓冲区中去,播放器利用缓冲区中的数据进行数据的解码和播放,得到用户的移动学习的视频和画面。在这个过程中,很重要的是进行数据的同步,使得数据传输过程中数据的延迟不能太厉害,否则的话就会使得画面的播放不够流畅和出现断断续续的情况,将会严重的影响到用户的使用效果,为此需要引入缓冲区的机制,使得数据能够进行实时的传输和接受,具体的实现就是,在播放器中设计二个线程来对数据的传输和接受进行处理,一个是播放器的解码现实的线程,另外一个是socket接受数据的线程,利用上述的二个线程进行配合和工作,使得数据能够进行实时的播放,达到良好的移动学习的效果,具体如图5-1所示。图6-1播放器原理图6.2系统主要功能模块的设计实现整个系统的数据库访问技术是基于ADO.NET技术的,利用Connection对象、Command对象、Dataset、Datareader、DataAdapter等数据访问方式对整个系统数41 电子科技大学硕士学位论文据库进行数据操作和数据处理,移动学习系统的整体设计采用的是三层B/S架构,那么提供数据访问的持久层功能是需要实现的,这个必须作为应用程序来实现上层所有业务的逻辑关系基础,为了更进一步实现后续的数据快速访问数据、数据库的系统维护,系统定义了一个基础类DataSQL类,通过采用数据访问该基础类来实施应用。在DataSQL类中,封装了创建访问后台数据库的一些方法和过程,比如:使用数据库连接对象,根据SQL语句获取DataReaderDataset、等数据容器方法。本系统中主要类方法的功能和类对象介绍如下:【1】:创建了基于webconfig的数据库信息,建立连接数据库的变量conTy;【2】:在DataSQL中创建数据库连接与数据库断开连接的方法;【3】:使用SqlReader方式获取数据库中的相关数据;【4】:问题语句的存储,答案信息的存储;【5】:相关数据的删除;【6】:获取Dateset对象数据;【7】:查询数据;【8】:查询具体数据值。6.2.1教务管理模块在移动学习系统中学生利用本模块进行课表的获取和传输,并且对课表进行及时的更新,并将更新的结果通知到学生用户。下面介绍移动学习系统的教务管理模块的实现详细的过程。在移动学习教务管理模块中学生用户利用3G网络通信技术连接到移动学习系统中,能够获取得到课表的数据信息,在课表的数据中主要是从移动学习系统中能够产生今日的课表,学生用户可以登录系统进行查询和检索,得到的今日的课表数据信息。移动学习系统用户通过登录系统界面确认后才能登录到系统,具体的流程如图6-2所示。42 第六章移动在线学习系统的实现与测试开始输入用户名、密码、用户类型错误信息点击登录按钮提示客户端通过验证?noYes提交数据查询数据库no登录成功?Yes设置会话属性跳转到相应的显示页面结束图6-2系统的登录流程图(1)客户端验证的关键作用在于它使用的是客户端浏览器用JavaScript进行校验,它可以及时发现用户在网页上输入的信息是否正确,是否含有不合法的输入。(2)服务器端的验证作用在于它是在服务器端获取了表单后对用户信息进行审核验证的过程,那么这样的验证实现的功能可以对数据库中的数据进行添加、删除、修改、查询等操作,这种操作实是数据库管理的基础。在移动学习系统中对于教务模块来说,主要是对学生的课程进行集中的存储和处理,学生利用本模块进行课表的获取和传输,并且对课表进行及时的更新,并将更新的结果通知到学生用户。下面介绍移动学习系统的教务管理模块的实现详细的过程。在移动学习教务管理模块中学生用户利用3G网络通信技术连接到移动学习系统中,能够获取得到课表的数据信息,在课表的数据中主要是从移动学43 电子科技大学硕士学位论文习系统中能够产生今日的课表,学生用户可以登录系统进行查询和检索,得到的今日的课表数据信息具体如图6-3所示。图6-3课表示意图在上述中的课表显示中,对于移动客户端中中显示出来了从移动学习中获取读出的数据信息文件,并且保存在本地的数据表中进行存储,如果在下次进行重新登录查询的时候就可以从本地的数据中加入到数据中,如果有新的课表数据信息,则通过出发的昂视更新下载本地的数据表中,对于课表数据的更新具体的实现如下所示。44 第六章移动在线学习系统的实现与测试VoidCSocketsAppUi::ScreenCap(){//调用安卓提供的抓屏APICEikonEnv::Static()->ScreenDevice()->CopyScreenToBitmap(iscrBitmap);//CreateabuffertostoretheencodedJPEGdata...HBufC8*iJpegData=0;CImageEncoder*iImageEncoder=CImageEncoder::DataNewL(iJpegData,CImageEncoder::EOptionAlwaysThread,KImageTypeJPGUid,KNullUid,KNullUid);CleanupStack::PushL(iImageEncoder);TJpegImageData*imageData=new(ELeave)TJpegImageData;imageData->iSampleScheme=TJpegImageData::EColor444;TRequestStatusStatus;//通过Socket发送到课堂管理服务器iSocketsEngine->WriteL(ptrd);iSocketsEngine->WriteL(*iJpegData);CleanupStack::Pop();deleteiJpegData;iJpegData=NULL;deleteiImageEncoder;iImageEncoder=NULL;deleteiFrameImageData;iFrameImageData=NULL;}其次是学生用户的课表数据的更新,需要设计和实现课表数据更新的流程,使得移动客户端能够及时方便的从移动学习系统的服务器端获取得到远程数据库汇总的数据文件和信息。接下来在移动学习系统中的教务管理模块中,还有就是对于虚拟教室的管理,当学生的用户登录大哦系统中可以根据自己的权限选择属于自己课表要求的教室,并且在进入到教室中进行移动学习的业务,手机更新课表的过程如图6-4所示。45 电子科技大学硕士学位论文图6-4手机课表更新流程图Android在线视频播放器是由JAVA类ListEvideoAetivity实现的,对于Android在线视频播放器核心播放类ListEvideoActivity的关键代码则如下:Stringserve_xml_url_=http://m.nhic.edu.en:8080/v/list.xml":PublicvoidonCreate(Bundlesavedlnstancestate){setContentView(R.layout.Player)://取得列表ListViewlistView=(ListView)findByld(list);//通过设置自定义适配器this.setListAdapter(getAdapter())://选择某视频,触发的响应事件Stringurl=vdoUrl.argZ8;//获取在线视频的urlUriuri=Uri.Parse(url)://使用SuxfaceView自定义播放器的外观surfaeeHolder.setFixedsize(100,100);surfaceHolder.setType(SurfaeeHolder.SURfACE_TYPE_PUSH-UFFERS)://创建视频播放对象MediaPlayermediaPlayer=newMediaPlayer():mediaPlayer.setDisPlay(surfaeeHolder):try{//取得在线视频源mediaPlayeLsetDatasouree(url)://缓冲视频mediaPlayer.PrePare()://播放视频}eateh(Exeeptione){//异常处理,}}}//实际取得自定义适配器PrivateEvideoListAdaPtergetAdaPter(){if(this.listAdapter==null)try{//适配器获取从XML处理的数据listAdaPter=newEvideoListAdaPter(this,readXmlElem());}eatch(ExeePtione){}}returnlistAdapter;}//从XML处理数据的代码Android界面布局上显示一个列表ListView,列表的数据是借助Android中的46 第六章移动在线学习系统的实现与测试PULLXML处理工具获得的数据。.此外,ListEvide0Activity将获到的数据使用重载的android.widget.AdroterView适配器EvideoListAdaPter绑定到列表ListView。通过上述的代码实现就可以得到Android在线视频播放器,对于用户使用Android在线视频播放器具体的效果如图6-5所示。图6-5放大视频+声音上述表示的是对于学生用户来说,可以通过移动学习系统实现对教师的选定以及定焦,完成在线学习功能,在选定的课程直播的功能之后,选定教师,在移动客户端进行放大声音以及视频操作,调节移动客户端的学习状态。对于上述的过程实现代码具体如下:voidCSocketsAppUi::GenVirtualKey(constTDesC8&aDes){TIntiCode=0;InetProtTextUtils::ConvertDescriptorToInt(aDes,iCode);RWsSessionwSession=CCoeEnv::Static()->WsSession();TKeyEventkey;TRawEventre;switch(iCode){case1://FortheMENUKEY{re.Set(TRawEvent::EKeyDown,180);//产生KeyDown的虚拟按键wSession.SimulateRawEvent(re);re.Set(TRawEvent::EKeyUp,180);//产生KeyUp的虚拟按键wSession.SimulateRawEvent(re);}case2://fortheREDKEY…...//根据不同的case值对每种按键产生虚拟建以下代码略}47 电子科技大学硕士学位论文在上述的功能中,对于教师用户来说,可以在系统当中,选取部分学生作为查看的对象,通过移动客户端所提供的功能按钮,就可以选择目前在线的学生的学习情况,然后在相应的位置实现虚拟按键功能,并将对系统中的学生用户控制的信息传送到学生的移动客户端中,实现对目标学生用户的选定以及控制。6.2.2移动客户端模块实现在移动学习的客户端的模块中,在前面对此做了详细的设计,主要是学生利用移动客户端进行移动学习业务,访问学习的资源,进行教室与学生的互动学习,学生用户还可以利用客户端进行投票和播放教师的讲课内容,利用流媒体的技术进行数据的解码和编码,实现移动的学习。在移动客户端中能够实现移动学习内容的点播、网络课程学习资源的访问和浏览,进行教师学生的学习的互动,根据前面对于移动客户端的设计,在客户端中主要是对于播放器的设计和实现。播放器中主要包括了两个方面的功能和内容,第一个是视频的标签,第二个是流媒体的服务,包括压缩和解码、数据传输。在移动客户端中,对于网络学习的课程和内容,当用户登录到移动学习系统中去,选择移动的学习业务,系统根据用户的ID和用户课表的信息内容,用户获取得到课程的列表和内容,在课表信息中包括了课程资源,并且对于流媒体生成缓冲区的路径,用户就可以根据播放器的设置进行视频流媒体的播放,在流媒体中的视频标签中得到流媒体的属性和路径,去访问得到流媒体的数据信息,形成最后的视频流效果。对移动学习系统来说光是将问句和答案罗列在系统上是比较枯燥的,是无法满足学生、教师交流的需求的,那么这里涉及了问题评论模块,可以加强师生之间的对某个问题的交流,提高教学质量,具体流程如图6-6所示:48 第六章移动在线学习系统的实现与测试问题学生老师搜索索搜数据库评论问题、留言图6-6评论流程下面来分析它的具体实现过程(1)只要登录到系统当中,学生、老师可以完成对所有提出问题关键词的整体查询。(2)系统的数据挖掘操作完成关键在于对关键词的处理,具体情况如下:学生提问功能主要的代码:{caseR.id.btnSubmit:StringinputString=etTip.getText().toString().trim();if(inputString.equals("")){Toast.makeText(EverydayTipActivity.this,"问题内容不能为空",0).show();}else{UtilMethod.addTip(getApplicationContext(),inputString);Toast.makeText(EverydayTipActivity.this,"提交成功!",1).show();UtilMethod.addTipNum(getApplicationContext(),1);etTip.setText("");loadTips();}break;}教师用户可以对上述的短信进行恢复,完成对疑难问题的解答,并且根据实际需要对学生用户所提出比较集中的问题进行集中的讲解以及回答,提高移动学习的效率,具体实现的关键代码如下:49 电子科技大学硕士学位论文switch(v.getId()){caseR.id.btnSubmit:StringinputString=etTip.getText().toString().trim();if(inputString.equals("")){Toast.makeText(EverydayTipActivity.this,"帖子内容不能为空",0).show();}else{UtilMethod.addTip(getApplicationContext(),inputString);Toast.makeText(EverydayTipActivity.this,"提交成功!",1).show();UtilMethod.addTipNum(getApplicationContext(),1);etTip.setText("");loadTips();}break;}手机端在教室功能列表中,进入短信交互选项,自动切换到手机本身的短消息发送界面,同时,短消息客户服务中心的短消息号码已经传入收件人选项,且当前教室号以传入编辑文本处,如图6-6所示,学生只需要接着输入想要提出的问题或者建议,如图6-7所示,当短消息发送完毕后,立即会在教师反馈屏幕上显示,同时手机显示界面又会自动切换回到当前教室功能列表界面。图6-7系统短信功能图6-8撰写短信这时在503教室的老师可以看到所有学生的短消息提问,并可对比较集中的问题进行针对性的讲解。6.2.3服务端模块实现对于服务端模块来说,完成的功能主要是数据的连接、逻辑的处理,通过Ajax技术(jQuery)、JFreeChart报表等等相关技术实现,完成对用户进行管理和维护,包括对用户进行权限配置,各种用户的添加和编辑操作,对用户在系统中的登陆和操作信息进行历史数据的保存;对信息的各种信息代码进行管理和配置,数据信息的设定,包括对于系统的各种基本的信息进行配置,还可以对用户的密码进行修改等等。50 第六章移动在线学习系统的实现与测试在数据库设计完成之后,系统的运行需要进行数据的交互,因此,需要进行数据访问的设计实现系统中的相关的业务逻辑跟数据库实现数据的连接,数据库的连接涉及到系统中的数据表单的提交,对于用户端中表单数据需要采取数据存储的方式来实现对数据库相关数据表的操作,在获取了相关的权限之后才能进行数据表中相关语句的操作,数据库获得的信息完整,才能便于数据库的安全维护。需要考虑数据库的安全性的问题,保证数据表和用户权限的安全。系统是基于J2EE的三层结构的应用程序,其中的业务逻辑层是对各个管理业务进行处理,数据层则是存储数据和对数据库的操作,因此,需要将业务逻辑层跟数据层进行连接,利用数据访问和连接功能来实现。用户通过表现层将相关的数据和信息提交给系统,系统在接收到数据之后需要进行处理,通过基础类、函数来完成对数据库的连接以及操作,并且在完成相关的操作之后需要将处理的结果返回给中间层,最后将结果返回到用户,将数据信息展现给用户。下面针对上述的分析,进行数据库连接于操作的实现。(1)下面给出的是数据库连接实现的关键代码:publicSqlData(){sqlCon=newSqlConnection(ConfigurationManager.ConnectionStrings["strCon"].ConnectionString);sqlCon.Open();//打开连接}(2)经过上述的操作之后就完成了业务逻辑层跟数据层的数据连接,在连接之后根据业务需要进行数据库的操作,在系统的设计中需要通过SQL的相关的语句来实现,利用SQL语句中的ExceSQL方法来对数据库管理系统的映射,上述的功能具体的实现过程如下:第一步是进行SQL操作,通过这个操作之后就可以从数据库系统返回结果值;第二步是对上述的值进行判断,如果对于返回值是true的话,说明系统对于数据库的操作是完成的,能够实现的,如果返回值不是true的话,系统对于数据库的操作是不成功的。第三步是进行数据库连接的关闭。对于上述的的实现步骤,只是较为简洁的描述了对于数据库操作的过程,当然在实际的操作中可能会产生异常的情况,如执行数据库的操作中,出现了异常的动作或得到异常的值,因此,在系统的设计中需要对上述的异常进行记录,在系统中可以通过catch的方式来捕捉异常信息。51 电子科技大学硕士学位论文(3)接下来对数据库操作中出现的返回值进行处理,一般都会得到多个的数据记录,对于这些数据记录的处理方式是保存到临时的数据集中,最后通过数据库的访问返回给业务逻辑层进行相关的处理。(4)通过上述的方式就可以实现对于一条SQL语句的进行数据库操作的实现方法,对于多条的SQL语句的实现,需要添加另外的方式来,利用循环语句来实现。6.3系统测试6.3.1系统实验数据对于系统测试来说,在软件工程的步骤中是非常重要的,通过软件或系统的测试才能找出系统在设计或实现的过程中可能出现的问题,对系统出现的问题进行分析,并且经过良好的系统的测试之后使得系统可以正式的上线,使得系统的设计符合当初的设计要求和原则,能够正常、稳定、安全的运行,才能进一步的提高系统的质量。在软件工程的开发过程中,开发人员由于各种原因,可能没有完全按照当初的设计进行系统的开发设计,可能会面临很多的困难和问题,因此,可能在开发的时候会出现一些开发的错误,对于这些错误需要进行纠正,因此进行系统的测试是非常有效的方法来纠正上述的问题和错误,在测试的过程中需要分别测试系统的功能和性能,跟用户需求和系统设计要求相比较,是否符合要求,如系统的性能测试,测试其是否在大访问量等情况下,系统的稳定性是否满足实际的要求,是否系统存在性能的瓶颈,下面仅仅介绍重要的几个项目的测试。下面是服务器二种不同发送策略的演示进行的测试数据,具体如表6-1所示。表6-1服务器两种不同发送策略的延时比较(单位/秒)从上一关键帧开始发送从下一关键帧开始发送接入延时实时性延时接入延时实时性延时第一次717138第二次61397第三次813168第四次711188第五次714127学生手机端性能指标如表6-2所示,CPU占用率及内存使用情况,测试软件采用TaskSpy,网络使用情况测试软件采用安卓自带的连接管理功能。52 第六章移动在线学习系统的实现与测试表6-2学生手机端性能测试测试型号CPU占用率内存使用网络使用情况Nokia761048%1,456KB29.36kbpspalmvx56.4%1528KB28.11kbpsclie80063%1,292KB30.31kbps图6-9和图6-10为在三星3230手机上的CPU占用率和网络使用情况手机(屏幕截图采用SeleQ)。图6-9CPU占用率图6-10三星3230网络使用情况6.3.2系统的测试结果1)系统的功能测试,课程预约的测试用例。课程预约最容易出错的问题是某个课程安排的已选数超过了课程室的容纳数,经过测试系统可以满足需求。2)进行系统的性能方面的测试。在对系统的非功能性的测试中,需要对三个性能指标进行测试,第一个是系统的响应时间,需要在虚拟最大的登录人数系统5s之内完成响应才符合要求;第二是系统资源占用率,在这个压力内系统所占用的资源在一定的范围内;第三个是系统所支持的网络带宽。经过测试,系统的性能符合要求。4)因为系统要提供给不用角色的用户来使用,用户所使用的平台、客户端浏览器及所设置的分辨率不一定完全相同,为保证系统的可用性,因此对本系统进行了兼容性测试。表6-6系统兼容性测试表测试内容结果说明分别在Android2.1和2.2平台上运行正常系统的设计保证了具有良好的兼容性分别在IE6、app等上访问平台显示正常浏览器兼容性良好53 电子科技大学硕士学位论文分别在1024×768,800×600的分辨率上访显示正常CSS的正确设置保证了不同分辨率下显示问系统正常5)为保证系统用户信息及重要数据的安全性,利用网络攻击、非法登录和SQL注入攻击等方法对系统的安全性进行了测试,测试结果如表6-7所示。表6-7系统安全性测试表测试方法结果说明对服务器进行常用的DOS等攻击不影响攻击的数据包被防火墙屏蔽了SQL注入攻击不成功用户登录信息不能包含特殊字符的限制分别在不同的分辨率上访问系统显示正常CSS的正确设置保证了不同分辨率下显示正常目录安全测试安全Tomcat中设置了目录的安全性普通用户登录后访问:失败后台中利用Struts的interceptor技术对当前的①系统管理员服务Session中用户进行了过滤②课程管理员服务为了检验本系统的运行效果,调查的结果如图6-11所示:图6-11用户满意度度分析图6.4本章小结在这一章中前面主要介绍系统平台开发的环境,实现移动在线学习系统,并给出了部分系统界面,最后对实现的系统进行了实验,对得到的实验数据进行分析。54 第七章全文总结与展望第七章全文总结与展望7.1全文总结目前,随着硬件技术的迅速发展,在移动学习的客户端方面也日新月异,出现很多的具有很强性能的客户端,可以满足到用户对于移动学习的需求,特别是移动学习中的实时性、交互性等等,因此可以说是目前的新发展趋势和研究的重点内容。本课题从这一点出发并针对移动学习的实际需求,提出了相应的基于Android的移动在线学习系统,具有现实意义。本论文的主要工作包括:(1)系统遵循.NET标准,S/A/D三层体系结构,各层之间松耦合;通过Web浏览器就能完成所有的业务操作;支持自动负载平衡;数据格式XML化;可支持WebServices.基于业界开放式标准;灵活性与可扩展性;组件化和模块化设计;.业务功能扩展与重构的灵活性;强大的信息安全性控制。(2)接着对系统进行用户需求的分析,在这个过程中主要采取的工具是UML建模技术,运用可视化建模工具RationalRose,将系统划分为四个模块,对于各个的功能模块进行代码编写和调试,对各个功能设计响应的页面,完成系统实现。(3)本系统采取改进的运动估计算法进行研究,并且给出了改进的视频编码的运动估计的算法,经过对比,该算法对视频质量和编码时间方面有一定的改善与提高。然后,对于H.264视频数据的封装的策略进行了全面的分析,设计了通过RTP的封装流程和策略,最后根据RTP封装H.264视频流数据对传输过程中的差错控制设计了一个Qos解决方案。(4)搭建系统开发的软硬件环境,进行系统的实现,包括关键代码的实现和页面的实现,最后进行系统测试,在测试中主要是从二个方面进行系统的测试,分别从功能方面和性能方面进行相关的测试。通过测试符合用户的实际使用要求;接着是通过测试数据的分析,系统符合设计的目标。7.2后续工作展望在本课题中,虽然所设计和实现的系统可以满足基本的移动学习信息化方面的需求。因此,在进一步的实践中本人准备完成以下工作:(1)可进一步研究分布式数据库,完善分布式数据库模型,提高系统效率和可靠性。(2)系统在web服务方面,需要加强。通过封装相关的数据并将数据提供给55 电子科技大学硕士学位论文第三方,这个数据的传输通过接口的设计来实现,因此,对于这个功能和要求需要进行完善和不断开发。(3)对于系统安全,特别是数据的安全性能方面,系统目前所实现的功能存在一定的缺陷,需要进行改进,通过各种数据和信息安全的措施来实现系统数据安全。当然,受制于时间和水平,对于研究中中所提出的问题,可能还存在一定的问题,还需要进一步的完善,出现错误在所难免,还需要研究国内外的先进技术,使得研究更加的成熟和完善。56 致谢致谢值此论文完成之际,我要衷心感谢我的桑楠教授。同时,我还要感谢软件学院的各位师兄师姐在学业上的指导,感谢在软件学院一起学习的师弟师妹们的帮助,感谢我的其他好朋友,感谢你们的关心和帮助,是你们让我的研究生生活充满了快乐与温馨,让我的学习工作充满了激情与动力。在两年的研究生生活中,我周围的老师、同学、朋友给我营造了很好的环境氛围,教我怎么做学问,怎么做人,这是我一辈子的财富。值此论文完成之际,作者谨向所有关心、支持和帮助我的老师、亲友和同学表示衷心的感谢!谨向所有评阅本论文和参加论文答辩的各位专家、教授表示诚挚的敬意。在此,我还要特别感谢我的家人,是他们多年来始终如一、毫无怨言地支持我、鼓励我,给我以学习动力和前进力量。最后,再次向所有曾经给予我帮助和鼓励的老师和同学致以最诚挚的谢意!57 电子科技大学硕士学位论文参考文献[1]武法提.网络教育应用.北京:高等教育出版社,2000:56-59[2]陈丽.远程教育学基础.北京:高等教育出版社,2004(3):86-103[3]刘豫钧.移动学习国外研究概述.信息技术教育,2004(21):120-126[4]朱世美,张志刚,邹霞.移动学习研究初探.中国医学教育技术,2004,8(3):74-82[5]伦墨华.移动学习的理论研究与应用设计,2001:279-318[6]KoujiYoshida1,KouitiMatsumoto1,KazuhiroNakada1,TomonoriAkutsu1,SatoruFujii2andHiroshiIchimura3:ATrialofaBidirectionalLearningManagementToolforPromotingLearningbyMobilePhoneINV.Palade,R.J.Howlett,andL.C.Jain(Eds.):KES2003,LNAI2774,2003:756-763[7]樊心月.移动学习内容设计与评估规范研究.北京:北京希望电子出版社,2001:23-56[8]汪翔,张静.WAP建站技术详解与实例.北京:人民邮电出版社,2001:99-106[9]LinLin;YaoYu;ZhongShi-Sheng,ResearchOnTheJ2EE-BasedProductDatabaseManagementSystem,JournalOfHarbinInstituteOfTechnology,2007,14(1):45-47[10]孟祥光.基于移动学习的网络课程研究.信息技术教育,2000,10(4):203-227[11]DanCorlett,MikeSharples,TonyChan,SusanBull:AMobileLearningOrganiserforUniversityStudentsINProceedingsofthe2ndIEEEInternationalWorkshoponWirelessandMobileTechnologiesinEducation(WMTE’04),2004[12]李蜀青,李元萍,李元良.WAP网站建设的研究.湖南大学学报(自然科学版),2002:432-436[13]黄德群.移动学习研究对远程教育的影响.中国远程教育,2005,32(8):1290-1295[14]李霞.基于移动环境的网络学习测试系统的研究与实现.中国教育信息化,2007(10):165-177[15]曲鸣摘,马灵芝.移动电子商务平台的设计实现.计算机与现代化,2003(10):12-19[16]NtaliaLopez,ManuelNunez,IsmaelRodriguez,FernandoRubio,“IncludingaliciousAgentsintoaCollaborativeLearningEnvionment”,ITS2002LNCS2363,2009:51-60[17]梁中义,袁晓斌.移动学习-下一代的远程学习方式.江汉石油职工大学学报,2008:63-70[18]白俊,刘家勋.移动学习的发展现状及其启示.中国现代教育装备,2007,32(5):230-235[19]XinChen,YongqinZeng,andNingjiangChen:MultimediaDistanceLearningApplicationonEmbeddedEndDeviceICWL2004,LNCS3143,2004:263–270[20]顾燕芬,黄立平,刘仲英.基于Android的企业移动应用研究与实现.微计算机应用,58 参考文献2005(10):12-19[21]谢岳荣,李军,吴秋云.基于Android移动作业系统的设计.兵工自动化,2005(8):79-82[22]王福光,庄成三.基于PocketPC的移动在线学习系统及其关键技术研究.现代计算机,2005(24):112-115[23]Su-JinCho1,JunhyungKim2,andSeongsooLee2MobileComputer-AssistedLanguageLearningCoursewareforKoreanLanguageLearners[24]MartinWolters1,KristoferKj¨orling2,DanielHomm1,HeikoPurnhagen2AcloserlookintoMPEG-4HighEfficiencyAACAudioEngineeringSocietyConventionPaperPresentedatthe115thConvention2003October10–13NewYork,NY,USA[25]王阳.基于手机的移动学习资源开发初探.中国医学教育技术,2009(2):96-99[26]GeraldPost,AlbertKagan,Databasemanagementsystem:designconsiderationandattributefacilities,TheJournalofSystemsandSoftware,2001,56(2):183-193[27]郑明秀.周竹荣.移动学习中的学习资源管理模型研究.成都理工大学学报(自然科学版),2003(4):78-84[28]卢佩灵.教学资源库管理系统的研究与设计:[硕士学位论文].成都:电子科技大学图书馆,2007[29]Segall,N,Doolen,T.L.,Porter,J.L.,2008.AusabilitycomparisonofPDA-basedquizzessandpaper-and-encilquizzes.Computers&Education.Elsevier[30]黄荣怀,王晓晨,李玉顺.面向移动学习的学习活动设计框架.远程教育杂志,2009(1):32-36[31]刘珍芳.移动学习是现代教育技术发展的新方向.中国电化教育,2005(9):36-41[33]肖澎,陈燕.3G技术支持下的移动学习应用探究.中国教育技术装备,2009(12):135-136[34]StavrosPapastavrouandGeorgeSamaras.MobileAgentsforWorldWideWebDistributedDatabaseAeeess.IEEETRANS.onKnowledgeandEngineering.SeptyemberOetober,2009:802-820[35]谈李清.当M-Learning来到3G时代.考试周刊,2009(33):99-102[36]田华,王旭卿.基于3G时代支持移动学习的网络教学平台探讨.中国现代教育装备,2010(5):63-66[37]姚巍,林文婷.3G技术条件下的移动学习在远程教育中的应用探究.科技信息,2010(9):48-52[38]向军,周平利,戚一迪:管理软件开发技术指导.大连:大连出版社,1999:57-59[39]邓良松,刘海岩,陆丽娜.软件工程西安西安电子科技大学出版社,2005:32-41[40]RobertoLatorre;FranciscoLopez;AntonioE.Martinez,SharingOfPrecompiledDatabaseStatementsInJ2EEApplications,Software,200559 电子科技大学硕士学位论文[41]ZhangLi;ZengXian-Hui;ShaoShi-Huang;LuoLi-Li,DevelopmentOfVirtualAccountSystemForResearchProjectsBasedonJ2EE,JournalOfDongHuaUniversity,2006,23(12):12-14[42]左美云,邝孔武.信息系统的开发与管理教程.北京:清华大学出版社,2009:54-57[43]李巧丹,夏洪文.基于通讯技术的移动学习资源设计与实现模式.现代教育技术,2007(10):69-77[44]Virvou,M.,Alepis,E,2005MobileedueationalfeaturesinauthoringtoolsforPersonalisedtutoring.Computers&Edueation,2004:53-68[45]Laufer,K..Thiruvathukal,G.K.;Gonzalez,B,AHikeThroughAPost-EJBJ2EEWebApplicationArchitecture,PartIII,ComputingInScience&Engineering,2007[46]王阳.基于手机的移动学习资源开发初探.中国医学教育技术,2009[47]E.F.Codd,Arelationalmodelofdataforlargeshareddatabanks,CommunicationsoftheACM,1970:377-387[48]郑明秀,周竹荣.移动学习中的学习资源管理模型研究.成都理工大学学报(自然科学版),2003(4):147-151[49]杨正洪,郑齐健.SQLServer7关系数据库系统管理与开发指南.北京:机械工业出版社,2005:58-64[50]M.Jackson,Thirtyyears(andmore)ofdatabases,InformationandSoftwareTechnology,1999,41(3):969-97860

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭