基于Docker的云集成开发环境的研究与实现
发布时间:2018-07-21 21:57
【摘要】:目前大多数基于Web的C语言相关的集成开发环境都不会集成调试功能,只是简单将程序输出显示到用户的网页上,当程序出现问题时,用户难以利用调试手段分析并修复程序错误。并且市面上难以看到集成了内存泄漏检测功能的基于Web的集成开发环境,这样无法在用户学习初期就培养用户编写正确代码的习惯。并且,我们希望有一个能够收集用户编辑、编译、调试和运行各个阶段数据的平台,以便将来通过分析这些数据,找出学生常见的问题并帮助学生解决这些问题,从而改善教学。同时,这个平台也能为现在的MOOC教学提供了强大的支持,为MOOC提供一个上机实践的平台。并且在拥有这个平台之后,我们能够在在这个平台上编写一些脚本,能够半自动化地甚至全自动化地帮助学生一步一步地学习编程和调试,提高学生的编程水平及调试水平。为解决作业批改过程中的一些关键问题,本文提出了面向接口型作业的防错式链接机制。为了能够给用户提供一个独立的编程环境,本文使用了Docker技术,不仅可以保证用户编程环境之间相互隔离,还能保证Web系统的安全性。为了提高系统可扩展性及可靠性,本文在实现时使用了Docker集群,研究了如何使用分布式锁、Mesos和Marathon对Docker集群进行管理,能够动态地使用Marathon为学生创建Docker容器应用,并且在学生长时间不使用系统时,能够自动删除Docker容器,避免浪费计算机硬件资源。然后研究了一个集成开发环境必要的文件管理功能及其实现,方便用户管理源代码。接着研究了如何基于Web、Docker和GDB/MI为用户实现一个具有基本调试功能及文件管理功能的云集成开发环境。并且研究了如何在系统中集成Valgrind工具,用于检测并报告用户代码中的内存泄漏等内存错误问题。最后详细描述了测试时Docker集群环境配置、各个模块中关键的自动化测试流程,并通过一个实际的调试过程测试对集成开发环境用户界面及调试过程中使用到的功能进行了展示。本文最终实现了一个基于Web的分布式的云集成开发环境,为平时上机练习及MOOC教学提供了一个更加强大及方便的在线上机平台,也为将来分析学生常见编程错误提供了一个数据收集平台。
[Abstract]:At present, most of the C language related integrated development environment based on Web will not integrate the debugging function, but simply display the program output to the user's web page. When the program has problems, it is difficult for the user to analyze and repair the error of the program by debugging. And it is difficult to see the Web based on the memory leak detection function on the market. An integrated development environment that does not develop the custom of writing correct code at the beginning of a user's learning. And we want to have a platform that collects, compiles, debug, and run data at all stages in order to find out common problems and help students to solve these problems by analyzing these data in the future. As a result, this platform can also provide a strong support for MOOC teaching and a platform for MOOC practice. And with this platform, we can write scripts on this platform to help students learn programming step by step and automatically and automatically. In order to solve some key problems in the process of job correction, this paper puts forward the error proof linking mechanism for the interface oriented operation. In order to provide an independent programming environment for the users, this paper uses Docker technology to ensure the interaction between the user programming environment. In order to improve the security of the Web system, in order to improve the scalability and reliability of the system, this article uses the Docker cluster in implementation, studies how to use distributed locks, Mesos and Marathon to manage the Docker cluster, can dynamically use Marathon for creating Docker container applications for students, and is not used for a long time in students. In the system, it can automatically delete the Docker container and avoid the waste of computer hardware. Then it studies the necessary file management function and its implementation of an integrated development environment to facilitate the user to manage the source code. Then it studies how to implement a basic debugging function and file management function for the user based on Web, Docker and GDB/MI. In the cloud integrated development environment, and how to integrate Valgrind tools in the system to detect and report memory errors such as memory leaks in user code. Finally, it describes the Docker cluster environment configuration in the test, the key automated test processes in each module, and test the set through a practical debugging process. In the end, a distributed cloud integrated development environment based on Web is implemented, which provides a more powerful and convenient online platform for online training and MOOC teaching, and also provides an analysis of common programming errors for students in the future. A data collection platform.
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP393.09
[Abstract]:At present, most of the C language related integrated development environment based on Web will not integrate the debugging function, but simply display the program output to the user's web page. When the program has problems, it is difficult for the user to analyze and repair the error of the program by debugging. And it is difficult to see the Web based on the memory leak detection function on the market. An integrated development environment that does not develop the custom of writing correct code at the beginning of a user's learning. And we want to have a platform that collects, compiles, debug, and run data at all stages in order to find out common problems and help students to solve these problems by analyzing these data in the future. As a result, this platform can also provide a strong support for MOOC teaching and a platform for MOOC practice. And with this platform, we can write scripts on this platform to help students learn programming step by step and automatically and automatically. In order to solve some key problems in the process of job correction, this paper puts forward the error proof linking mechanism for the interface oriented operation. In order to provide an independent programming environment for the users, this paper uses Docker technology to ensure the interaction between the user programming environment. In order to improve the security of the Web system, in order to improve the scalability and reliability of the system, this article uses the Docker cluster in implementation, studies how to use distributed locks, Mesos and Marathon to manage the Docker cluster, can dynamically use Marathon for creating Docker container applications for students, and is not used for a long time in students. In the system, it can automatically delete the Docker container and avoid the waste of computer hardware. Then it studies the necessary file management function and its implementation of an integrated development environment to facilitate the user to manage the source code. Then it studies how to implement a basic debugging function and file management function for the user based on Web, Docker and GDB/MI. In the cloud integrated development environment, and how to integrate Valgrind tools in the system to detect and report memory errors such as memory leaks in user code. Finally, it describes the Docker cluster environment configuration in the test, the key automated test processes in each module, and test the set through a practical debugging process. In the end, a distributed cloud integrated development environment based on Web is implemented, which provides a more powerful and convenient online platform for online training and MOOC teaching, and also provides an analysis of common programming errors for students in the future. A data collection platform.
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP393.09
【参考文献】
相关期刊论文 前4条
1 马越;黄刚;;基于Docker的应用软件虚拟化研究[J];软件;2015年03期
2 赵香;耿锐;黄光红;;C语言源码级调试器的设计与实现[J];计算机与现代化;2011年05期
3 樊振宇;;深入理解SERVLET和JSP原理[J];电脑知识与技术;2011年11期
4 袁峗;;Java与Restful Web Service[J];电脑知识与技术(学术交流);2007年21期
相关博士学位论文 前1条
1 徐苑苑;云计算环境下的开放课程应用研究[D];华东师范大学;2013年
相关硕士学位论文 前7条
1 马青纯;基于Docker的云存储服务系统设计与实现[D];哈尔滨工业大学;2016年
2 冷志强;基于分布式文件系统GlusterFS的横向扩展云存储的研究与实现[D];复旦大学;2014年
3 钱海yN;程序自动批改系统的设计与实现[D];电子科技大学;2013年
4 黄z,
本文编号:2136982
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/2136982.html