基于LAMP平台开放式实验室管理平台的构建

时间:2022-10-11 10:46:44

基于LAMP平台开放式实验室管理平台的构建

摘 要:结合当下高校及职业类学校建设开放式实验室的要求,分析用户实际需要,设计并实现了一个基于LAMP平台,并支持多终端的实验室管理平台。

关键词:LAMP;开放式实验室;预约;管理

中图分类号:G434 文献标识码:A 文章编号:1671-7503(2014)05-0078-03

近年来,开放式实验室的概念已经深入到各类高校及职业类学校当中,不少学校都提出了建设开放式实验室的设想。开放式实验室管理模式与传统实验室管理模式在本质上有所不同,是以提高教学质量和实验设备利用率为目的、让学生在实验的内容和时间安排上有更多自主选择空间的新型管理模式。这种模式允许学生在实验室空余时间,按照自己的需求对实验室设备进行预约并在指定时间使用,是实验室管理的一种必要的改革和实践。

在信息社会的环境下,要建设好开放式实验室,一个可以进行实验室信息查询、预约、登记的平台就成为了必要的信息载体。本文将以如皋高等师范学校建设“开放式实验室”过程中的实验室管理平台为例,介绍该平台的实现过程。

一、开放式实验室管理平台模型的建立

本开放式实验室管理平台是一个基于B/S模式的信息管理系统,其开发与运行都基于LAMP平台,即以Linux作为系统平台,以Apache为服务器,以PHP为开发语言,以Mysql为数据库。以LAMP作为平台,是因为LAMP组合是一个免费、开源、安全、高效的服务器组合,且完全适用于本平台的运行需要。

开放式实验室管理平台运行在校园网内部服务器上,主要面向的用户是学生与实验室管理员,其系统模型如图1所示。

图1 开放式实验室管理平台模型图

从图1中可以看到,管理平台需要向学生端提供可以在各种终端上浏览、管理信息的页面,也需要向实验室管理员提供设置、维护实验室的页面。因此,根据该模型图进行下一步系统需求的分析。

二、开放式实验室管理平台需求分析

开放式实验室管理平台主要面向学生和实验室管理员两大类用户。从两者实际需要出发,可以分别得到以下要求。

学生端:学生可以通过各类终端(包括使用智能手机)接入平台,在平台上可以指定日期、时间段对指定实验室的预约情况进行查询,并可以对空余位置进行预约。同时,学生也可以对自己已经预约的信息进行查询、管理。

实验室管理员端:实验室管理员通过终端可以管理各类用户数据;可以设置管理开放实验室的基本情况,设置开放机位数;可以临时关闭实验室预约;可以查询指定日期、时间段、指定实验室的预约情况。

三、开放式实验室管理平台的设计

根据第二节内容对系统需求进行的分析,我们可以对该平台进行如下模块设计。

(1)系统登录模块:该模块主要供学生和管理员进行登录验证,同时也是核实学生个人信息的重要步骤。

(2)预约查询模块:该模块主要供学生和管理员进行指定日期、指定时间、指定实验室的预约情况查询,了解实验室的使用情况。从学生角度而言,在指定条件下有空机位的时候,可以进行实时预约。

(3)预约模块:该模块主要供学生使用,方便学生在查询到空机位的时候,直接选择空机位进行机位预约。

(4)预约管理模块:该模块供学生使用,学生可以通过该模块查看自己的预约情况,并对相关预约进行操作。

(5)实验室管理模块:该模块主要供管理员使用,管理员可以初始化实验室数据,包括开放实验室的名称,以及每个实验室提供的机位数及机器标识。管理员可以通过该模块来修改相关的实验室数据。同时,也可以将某个实验室在指定时间段内进行关闭维护,取消学生预约。

(6)用户管理模块:该模块中,管理员可以对学生数据进行维护,可以添加、删除学生基本信息。

(7)个人信息维护模块:该模块提供给用户对个人基本信息进行配置、维护,比如修改密码,等等。

该平台的数据库依靠Mysql实现。主要数据表有用户数据表(user)、实验室数据表(labInfo)、实验室时间表(schedule)。User表中主要存储学生基本信息,labInfo中存储实验室基本信息,schedule中存储实验室预约时间表。Schedule表中的信息将是本平台的核心信息,所有的查询、预约都将围绕读写该表的信息而进行。其基本结构如表1所示。

表1 schedule数据表结构

四、开放式实验室管理平台的实现

由于用户登录、用户管理等模块为一般管理信息系统中常见模块,功能大体类似,不再赘述。这里将重点介绍实验室预约查询、实验室预约、预约管理模块功能的实现。

1.实验室预约查询

本模块的页面中给用户提供一个可以进行条件搜索的表单,具体包含:选择要查询的实验室,选择要查询的日期,选择要查询的课时节次。而搜索反馈的理想结果则是,用户可以直观地看到要查询的实验室在指定的时间段内哪些机器被预约了,哪些机器还没有被预约。

根据第三章的设计可以得知,实验室的预约情况都将存储在数据表schedule中,因此,对于预约情况的查询,其实就是根据设定的条件,在该数据表中查询是否有符合条件的数据存在,如果有,则表示已经被预约,如果没有,则表示尚未被预约,此时就可以提供链接给用户进行相应的预约。将以上思路转化为代码,则可以用以下核心代码来表示:

$lab_result=mysql_query("select * from lab where id='$labname'");

$lab_row=mysql_fetch_array($lab_result);

$num=(int)$lab_row['numOfDev'];

echo "

您查询的是".$lab_row['labname'].",".$riqi.",第".$keci."课的实验室安排:

";

echo "

红色表示已被预约,蓝色表示未被预约。你可以点击蓝色机位进行预约。

";

echo "";

for($i=1;$i

if($i

$j='0'.$i;

else

$j=$i;

$m_id=$lab_row['flag'].$j;

$sl_result=mysql_query("select count(*) from schedule where lab='$labname' and date='$riqi' and time='$keci' and com_id='$m_id'");

$sl_row=mysql_fetch_row($sl_result);

if(($i%8)==1)

echo "";

if($sl_row[0]>0)

echo "".$m_id."";

else

echo "".$m_id."";

if(($i%8)==0)

echo "";

}

echo "";

需要说明的是,上述代码在数据库中查询符合表单条件的记录时,其中,labname中存放的是查询表单中传递过来的实验室名,riqi中存放的是表单中查询日期的值,keci中存放的是表单中要查询的课时节次,而m_id则是通过循环来遍历指定实验室的机器标识,也就是将指定实验室中每台设备的标识都在数据库进行查询。这样根据查询结果,就可以达到以下效果,如果记录存在则显示红色,如果记录不存在则显示蓝色,并提供预约链接。

在学生端执行上述代码查询后可以得到如图2所示的效果。

图2 预约查询页面

当操作者为管理员时,同样提供一个可以设置实验室名、查询时间、查询课次的表单,当管理员设定条件进行查询后,则显示指定条件下实验设备的预约列表(即指定条件下,实验室设备被预约情况的详细清单,其中,包含预约人基本信息,这样可以方便管理员进行相应的管理与核查),并可以进行相关的设置与操作。

2.实验室预约功能的实现

本系统中,实验室的预约功能建立在查询预约的基础上,即在查询预约信息之后,当指定实验室在指定时间段内,还有空余机器时,该机器则显示为蓝色,并且存在一个超链接引导用户进入预约页面,在预约页面上完善相关信息后对本次预约进行提交。在提交之前再次检索数据库信息,确保该条预约不存在重复信息,然后写入数据库中,完成预约过程。

3.预约管理功能的实现

预约管理功能实现的原理主要是在schedule表中,按照指定条件进行检索,然后列出检索结果。当操作者为学生用户时,则按照当前用户的身份标识在数据库中进行搜索,然后将符合要求的记录显示到页面上。学生用户在该页面上可以看到自己所有的预约信息,当然,也可以将尚未到期的预约进行删除。此处属于简单的数据库操作,不再陈列代码,具体运行效果如图3所示。

图3 预约管理页面

以上功能都是基于浏览器端实现的,为了更加方便学生进行实验室的预约和管理,本系统也将以上三个主要功能开发成了智能手机的APP,让学生可以安装在Android智能手机端进行操作。由于其实现思路一致,只是实现语言、平台、代码不同,这里就不作论述了。

五、结束语

建设开放式实验室对于任何一所高校及职业类学校而言都是大势所趋,设计并实现这样一套管理平台,不仅可以方便学生对机器的使用预约,也极大地方便了实验室的管理,让工作人员能够从繁琐的实验室登记、记录等工作中解放出来,大大减轻了工作量,提高了工作效率,从而让实验室的使用、管理更加科学与合理。

参考文献:

[1] 徐金荣,杨玲,徐嘉祥等.开放式实验教学的管理工作方法探索

[J].实验室研究与探索,2011,30(6):172-174.

[2] 戚康标,王宏斌,何炎明等.开放式研究性实验教学的设计与管理

[J].实验技术与管理,2010,27(7):25-28.

[3] 黄华文,吴晓.开放式实验室管理若干问题的探讨[J].电脑知识与

技术,2007,(10):1177-1179.

上一篇:永不泯灭的爱国心 下一篇:顺势而为 乘势而上