基于云计算的分布式系统教学改革实践
2015-05-08牛新征巴音桑侯孟书
牛新征,巴音桑,侯孟书
(电子科技大学 a.计算机科学与工程学院;b.政治与公共管理学院,成都 611731)
·计算机及网络技术应用·
基于云计算的分布式系统教学改革实践
牛新征a,巴音桑b,侯孟书a
(电子科技大学 a.计算机科学与工程学院;b.政治与公共管理学院,成都 611731)
针对分布式系统教学现存的诸多问题,提出在云计算框架下讲授分布式系统的理论知识点,同时配合相关的综合设计的教学改革。教学实践证明,以热门技术作为框架的教学改革不但将理论与实际相结合,能提高学生的兴趣,取得很好的教学效果,而且也是对学生综合培养的有益探索。
分布式系统;教学改革;云计算;数据处理;数据存储
随着社会信息化的飞速发展和互联网技术的日益成熟,各种业务的信息数据爆炸性增长,海量数据不停地产生、存储和访问[1]。传统的存储方式很难满足这样大的需求,伴随着Google、Amazon等IT公司的成功,云计算成为当今最热门的领域。而这些技术无一不与分布式系统相关,分布式系统的教学与实践显得尤为重要。
分布式系统是把服务器端程序分开部署到多台机器上,由通信网络互联的多处理机体系结构执行任务的系统[2]。分布式系统作为底层架构涵盖了众多计算机技术,因此理解分布式系统的相关知识是计算机网络教学的核心。在目前的教学中,学生只是去了解分布式系统中的相关概念,而没有与实际的运用联系到一起,无法做到“学以致用”。对于这门课程,我们需要在讲授分布式系统基础知识的同时,教授学生如何去使用这方面的知识,达到“学有所获”的目的。
1 教学中存在的问题
1.1 课程内容理论性较强、知识点较多
分布式系统是一门理论性很强的课程。学生在学习这门课程时不仅需要一定的硬件知识,更需要系统架构的概念,这就要求学生对之前的先导课程必须要有足够的了解,例如计算机网络、操作系统、面向对象编程等课程。以这些课程为基础,学生才能更好去理解分布式系统,而这正给学生学好分布式系统增加了难度。同时,每个章节零碎的知识点都很多,仅分布式算法一项,就涉及环境一致性和并行性等,增大了学生学习的难度。学生觉得课程中大量的概念、理论抽象而难懂,由此对该课程学习缺乏兴趣,只能记住零散的几个知识点,无法从更高的层面理解分布式系统架构与知识点模块之间的关系。
1.2 理论与实际脱节
由于分布式系统是一门理论知识点较多的课程,按照传统的教学方法教授理论知识,不论讲授的知识还是课后布置的作业,都是一些过时的内容。这类知识与作业容易使学生觉得枯燥乏味,兴趣不大,导致学生对这部分内容的理解不够彻底,与实际脱节。
1.3 教学方法不够灵活
传统的教学主要采用课堂授课方式,以课堂上教师讲授知识点为主。这种授课方式重点是教师讲解一个又一个的知识点,而学生比较被动,只顾埋头记录教师讲授的知识点,思考比较少。由于理论知识较多,教师很少采用多样性的教学方法,课堂中缺乏学生与教师的互动,教师不能在课堂上了解学生对课程的掌握情况,课后学生与教师的互动就更少,影响了教学质量。
2 教学方法的分析
由教学中存在的问题可以看出,分布式系统课程知识点繁杂,如何在有限的课堂时间中引导学生掌握这门课程并能够实际运用到生活中是我们教学改革的目标。传统的教学方法没有与实际生活很好地结合在一起,只是讲解了课本上的知识点,导致学生对分布式系统缺乏兴趣,对分布式系统的理解只是停留在抽象的概念上。我们认为,应该以热门的技术(云计算)作为切入点进行分布式系统的教学,不但能紧贴课堂教学内容,又能提起学生对分布式系统的兴趣。
2.1 云计算与分布式系统的关系
众所周知,云计算属于分布式系统,是数据共享与服务共享计算模式的结合体,而分布式系统是大数据时代下云计算的架构。云计算的体系架构如图1所示[3]。
云服务(库存管理服务、人力资源管理服务、客户关系管理服务等)云平台(服务的运行平台,如GoogleAppEngine、WindowsAzure等)硬件平台(数据中心)(服务器、网络设备、存储设备等作为一个服务来提供)
图1 云计算的三层结构
云计算通常有以下一些特点[4]:
1)由多台计算机组成一个云计算机群。由于云计算架构在分布式系统之上,机群内的计算机之间的耦合交互程度高于互联网中一般的计算机,使云计算的计算效率十分高。
2)因为分布式系统是架构云计算的底层系统,基于分布式系统的特性,云计算能够提供强大的数据存储和计算能力。
3)云计算可以在分布式系统的支持下提供高可靠性。这来自分布式系统(一致性、容错性、安全性)的基本思想,任何一个节点的故障都不会终止应用服务。
4)因为分布式系统优秀的容错能力、强大的恢复故障能力和基于安全的考虑,使得云计算能够以低廉的成本提供服务,具有很高的性价比。
5)分布式系统能提供框架与简单的模型用以实现云计算的应用,开发者不用考虑容错性等问题,便于开发者快速有效地进行软件开发。
2.2 以云计算讲述分布式系统的优点
云计算作为以分布式系统为架构实现的一种热门技术,从云计算出发来讲授分布式系统也是一种新的尝试。通过分析云计算与分布式系统的关系,我们认为以云计算来讲授分布式系统有以下优点:
1)云计算作为当今计算机领域中的热门技术,国内外已有较多成功使用案例,资源丰富,便于课堂讲解与学生自主学习。
2)学生对于新技术、热门技术都有着强烈的好奇心和探索欲,通过云计算进行分布式系统的授课,可以吸引学生的注意,有助于教学的实施和展开。
3)通过以技术讲述系统的教学方法更能紧贴课堂的教学。
3 教学方法的设计
考虑到现行教学方法涉及知识点过于零散片面,缺乏对学生系统观和实际运用的培养,我们在教学中以云计算的技术体系贯穿整个教学过程,涵盖了分布式系统教学中的各个环节和知识点,见表2[5]。整个课程对大数据和云计算的知识点和关键技术进行讲解,每个知识点都体现分布式系统某个方面的知识和技巧。
在这里有必要解释云计算中关键技术与分布式系统之间的关系:(1)数据处理。数据处理需要满足高扩展性、高性能、高容错、低成本、方便使用等特性,应对海量非结构化和半结构化的数据处理需求,以MapReduce为模型的Hadoop平台以分布式系统作为核心架构,基于廉价硬件服务器平台,大大降低了数据处理的门槛[6]。(2)数据存储。大数据时代首先要解决的问题便是数据存储问题。在存储中,不但要满足传统的结构化的存储需求,更要满足半结构化数据和非结构化数据的存储需求。分布式文件系统便是对非结构化数据和半结构化数据进行存储,如开源的HDFS等。
表1 教学框架体系
4 教学方法的实施
我们设计的教学方案分别由云计算体系中的两个知识点组成,分别是数据处理和数据存储。
此设计方案具有延续性和整体性,通过云计算中两个重要的技术把复杂的教学内容进行分解,并深入到分布式系统教学的每一个知识点,引导学生循序渐进、不断深入地完成课程目标,并最终掌握分布式系统知识。
4.1 教学实践
4.1.1 数据处理
随着数据的增长、应用的增多,要求系统可以动态扩展、容错、快速开发应用程序。于是,分布式计算作为一种数据处理方式被提了出来。它对一些技术细节进行了封装(如数据分布、任务并行、任务调度、负载平衡等),使用户不需要考虑这些细节,只用考虑任务之间的逻辑关系。我们在教学中把数据处理作为一个框架,讲述分布式系统的中间件和分布式计算,更便于学生理解和掌握分布式系统在大数据中的应用。该教学方案设计见表2。
表2 数据处理的教学设计
基础知识主要讲授分布式对象和Web服务的基本内容,使学生了解其在具体应用中的作用。提高分析中讲述分布式算法中的时间和全局状态、协调和协定等处理数据的核心,在讲述过程中需要重点讲解,让学生完全掌握这一部分。在综合案例设计中,结合了数据处理的基本知识点和当下云计算中热门的Hadoop平台,以MapReduce作为讲述模型,设计一个WordCount的程序对词语进行计数。
云计算分布式系统的高效易用建立在Map/Reduce模型的基础上,MapReduce框架主要对
本部分的教学让学生了解、掌握云计算中的数据处理过程,并运用到课堂讲授的分布式系统中,最后以实现一个程序完成本部分教学内容的讲授。
4.1.2数据存储
高可靠、高可用、可扩展、低成本的分布式文件系统可以满足不同业务和数据存储的需求,是大数据云计算存储的一大利器。分布式文件系统的文件存储允许用户在内部网上的任意计算机上访问自己的文件和远程文件。将数据存储单独列为一个单元来进行分布式系统的教学很有必要。与讲解数据处理一样,我们将数据存储分为基础知识、提高分析、综合案例设计三个级别,由浅入深地讲解分布式系统的数据存储。该教学设计见表3。
表3 数据存储的教学设计
基础知识主要讲授事务和并发控制、复制的基本内容,让学生掌握数据存储中对数据的复制、控制以及数据存储中的容错。提高分析主要讲述系统服务的安全性和分布式文件系统,强调安全问题是大数据云计算时代所面临的严峻挑战,并讲授我们正在使用的一些安全技术,如混合密码算法、数字签名等;分布式文件系统讲授文件服务体系的需求、结构、特点和如何实现分布式文件系统,为之后的综合案例设计打下基础。在综合案例设计中,我们在了解大数据分布式系统的存储方式前提下,让学生设计实现一个网络云盘系统,使学生深入理解分布式系统的架构,了解云盘系统主要的界面设计和服务接口的选择和设计,后台数据库的选择、分析、设计,实现发布与授权相关的数据处理。
4.2 教学辅助
在实施以上教学实践中,我们同时结合网络平台上的优秀视频资源作为课堂教学的辅助,将优秀视频介绍给学生,通过学生观看了解大数据云计算的本质,才能更好地明白分布式系统在大数据时代不可取代的地位。推荐视频列表见表4。
表4 推荐视频列表
5 结束语
将教学内容与当下热门技术相结合,通过学生感兴趣的技术来引导学生深入分布式系统,避免了传统的、枯燥的知识点灌输,课堂中教师与学生的互动更为密切,学生更能接受教师所讲授的知识,并对其感兴趣的方面进一步深入了解,动手尝试。通过这样的教学方法,不但达到了教学目标,而且培养了学生的自主学习能力。学生对知识的理解不再是过去式的,为毕业打下了坚实的基础。
随着大数据潮流的不断前进,我们讲解的内容也将过时,教学方法必须不断改进。如果一直使用一成不变的教学方法,将收效甚微,我们将继续探索新的教学方法,不断改进,提升教学效果。
[1]send_linux.互联网技术热点之——分布式文件系统[EB/OL].[2014-08-10].http://bbs.chinaunix.net/thread-4069729-1-1.html.
[2]陆嘉恒,文继荣,毛新生,等.分布式系统及云计算概论[M].北京:清华大学出版社, 2011: 1-12.
[3]杨正洪,周发武.云计算和物联网[M].北京:清华大学出版社,2011:7-9.
[4]阳振坤.阳振坤的博客:云计算介绍[EB/OL].[2014-08-10].http://blog.sina.com.cn/s/blog_3fc85e260100bnr5.html.
[5]George Coulouris ,Jean Dollimore,Tim kindberg,et al.分布式系统概念与设计[M].5版.金蓓弘,马应龙,译.北京: 机械工业出版社, 2013:1-20.
[6]陆平,李明栋,罗圣美,等.云计算中的大数据技术与应用[M].北京:科学出版社,2013:91-92.
[7]徐强,王振江.云计算应用开发实践[M].2版.北京:机械工业出版社,2013:72-75.
Teaching Reform of Distributed System Based on Cloud Computing
NIU Xinzhenga,BA Yinsangb,HOU Mengshua
(a. School of Computer Science and Engineering; b. School of Political Science and Public Administration,University of Electronic Science and Technology of China,Chengdu 611731,China)
Aiming at the existing problems of distributed system in teaching, through the analysis of existing problems and exploration of the teaching reform, we put forward to cloud computing as a framework, theoretical knowledge teaching distributed system under this framework, at the same time with the related comprehensive design. The teaching practice has proved that in popular technology as a teaching reform framework can not only bring the interest of students, obtain good teaching effect, the combination of theory and practice, but also the comprehensive training carries on the beneficial exploration to the students.
distributed system;teaching reform;cloud computing; data processing;data storage
2014-09-19;修改日期: 2014-11-07
电子科技大学2013年本科教育教学改革研究基金资助项目(2013XJYYL023);电子科技大学2012年非全日制专业学位硕士研究生教研教改基金资助项目(ZY20120020);电子科技大学2013年研究生教研教改基金资助项目(YJX2 013032)。
牛新征(1978 - )男,博士,副教授,研究方向:移动计算,数据库。
TP393;G642.0
A
10.3969/j.issn.1672-4550.2015.04.012