一种高性能的在线Python实验平台的研究

known 发布于 2025-08-18 阅读(226)

摘  要:Python是比较热门的一种编程语言,搭建Python的在线实验平台可以让学生随时随地开展编程实验,满足当前的学习需求。实验系统的性能是系统可用性的一个瓶颈,文章使用jupyter notebook创建了基础实验模块,然后使用框架页面之间的通信与调用来优化实验平台,最后通过实验验证了平台的性能。证实该实验平台能够适用于多用户、高频率、高负载的环境。

关键词:Python;在线实验;性能优化;页面通信

中图分类号:TP311.5       文献标识码:A文章编号:2096-4706(2022)01-0011-03

Abstract: Python is a relatively popular programming language. Building an online experimental platform for Python can allow students to carry out programming experiments anytime, anywhere to meet their current learning needs. The performance of the experimental system is a bottleneck of system availability. The paper uses jupyter notebook to create a basic experimental module, and then uses the communication and call between the framework pages to optimize the experimental platform. Finally, the performance of the platform is verified by experiments. It is confirmed that the experimental platform is suitable for multi-user, high frequency and high load environment.

Keywords: Python; online experiment; performance optimization; page communication

0  引  言

Python是目前比较热门的一种编程语言,在人工智能、数据分析、网络管理等方面有广泛的应用[1]。Python是在1989年由Guido van Rossum设计开发的,本身由其他语言发展而来,包括C、C++、ABC、Modula-3、Unix shell和一些脚本语言。因此它所写的脚本能够和其他大部分语言一起使用,例如C、C++、Java、JavaScript,所以说它是一种编程语言的胶水[2]。Python是一种解释性语言,没有编译环节,它提供了丰富的基础库,并且第三方库也非常多,所以非常适合初学者[3]。

因此,目前对于Python语言的学习有比较高的需求,例如高校的计算机语言课程、社会上的计算机职业技能培训大都选择Python。一些地方甚至还把Python语言作为信息技术中学考试科目[4]。

Python是实践性很强的课程,纯粹的理论课堂授课效果并不理想,需要安排充足的实验练习。由于传统的实验室机房练习受到时间地点的约束,而现在手机等智能通讯工具的普及,使用在线Python实验系统更加能满足学习需求[5]。

文章重点研究如何优化实验平台的性能。因为随着用户数量的增加以及编程实验任务量的增加,实验平台的性能下降。用户等待时间逐渐变长,会严重影响学习的效果。

Python在线实验平台的性能优化,对于当前的Python课程学习提供了较好的解决方案,适用于碎片化的学习方式[6]。另外我国的教育资源分布十分不均衡,发达地区的教育资源较多,通过这种在线Python在线实验平台将这些资源共享到供欠发达地区具有较好的社会意义。

1  Python基础实验模块

一个完整的Python在线实验系统包含有理论模块、实验模块、交流模块。其中最重要的是在线实验模块。本文研究的重点是如何提高在线实验编程系统的性能。

1.1  基础实验模块的搭建

Python基础实验模块使用jupyter notebook搭建。jupyter notebook是一种交互式笔记本,能够支持多种编程语言,其中就包括Python。它通过webservice的方式提供用户使用。所以可以实现远程访问。Python基础实验模块的配置如下:

(1)在Linux下安装 Anaconda,默认会安装jupyter notebook和一些常用的python开发包。

(2)命令模式下运行jupyter notebook,打开浏览器的访问界面,确认jupyter notebook安装成功。

(3)安装Python课程学习所需要的其他第三方包,例如wordcloud等。

(4)生成jupyter配置文件,命令:jupyter notebook --generate-config,然后就生成配置文件jupyter_notebook_config.py

(5)设置远程访问jupyter notebook的密码。为了安全性,需要设置访问密码,然后将这个密码的哈希算法sha1的值放到配置文件。计算sha1的方法有很多选择,可以使用在线工具或者是使用notebook.auth包的passwd()函数。

(6)修改配置文件。打开配置文件jupyter_notebook_config.py。修改如下部分:

NotebookApp.ip=服务器的远程访问IP地址 #可以用*表示任意地址

NotebookApp.password = u密码的sha1值

本例中的具体设置为:

NotebookApp.ip=218.92.23.106

NotebookApp.password = u sha1:f8f7eaadda8c:3f83193252bdac9e9f60b6920f5f02ae7dd03ca9

(7)用户远程访问,在浏览器中打开网址http://218.92.23.106:8888。输入密码就可以正常使用jupyter notebook进行Python编程练习,如图1所示。

1.2  基础实验模块的缺陷

随着用户数量的增加以及编程实验任务量的增加,实验平台的性能下降。用户等待时间逐渐变长,会严重影响学习的效果。所以需要优化在线实验系统,合理使用服务器资源,提高运行的速度。

2  Python实验系统性能优化

优化系统的工作过程如图2所示。

具体的实现要点有:

(1)框架网页必须和三个服务器使用相同的主域名,这样可以解决跨域访问的问题。例如框架网页使用www.dm.com,服务器分别使用jn1.dm.com、jn2.dm.com、jn3.dm.com。

(2)创建框架网页文件,使用