基于实验室学生管理的指纹考勤系统的设计与实现
王珏辉
摘要:针对大学实验室考勤管理的種种弊端,文章提出一种基于指纹识别的网络考勤系统,分析并探讨了这套实验室指纹考勤系统的整体架构、实现技术原理以及各个主要功能模块的实现思路。实验室指纹考勤系统相比其他的指纹考勤系统更具有专业性,能大大地提高实验室管理者的管理效率。
关键词:实验室管理;网络;指纹考勤
1.研究背景
在对人员的管理的工作中,考勤是非常重要的一部分。市面上面有许多的考勤系统,但是主要是用于对于规则时间的考勤,主要应用于公司、工厂员工的上下班打卡考勤。在大学的实验室管理中,学生主要使用课余时间来实验室进行学习,所以他们的时间具有碎片化的特征,市面上的考勤系统不能很好适应这种情况,需要一种专门的考勤系统来应对这种情况。本指纹考勤系统旨在为实验室管理老师提供更高效的处理考勤方法,在减少工作量的情况下,对每个学生都有一个综合统计。
2.实验室管理的指纹考勤系统的设计与实现
2.1系统整体结构设计
本指纹考勤系统分为B/S结构的网络服务端、基于JavaSwing开发的客户端。其中客户端程序使用Java语言开发,通过uSB接口与指纹采集仪相连,调用开发包里面的api接口方法完成对指纹采集仪的操作。服务端运行于Linux平台,采用的是JBoss EAP应用服务器,数据库采用的是Mysq15.6。指纹考勤系统的整体架构设计如图1所示。
从图1中可以看出,要实现整个考勤系统,主要进行2个大的软件的开发:
(1)考勤服务器:主要提供两个服务。一个是普通的网页web服务,提供给实验室管理者用以管理学生的基本配置信息,也提供给学生用以查询自己的到勤记录以及统计信息;另一个是基于HTTP的Restful WebService服务,用于服务回应PC考勤客户端的请求。
(2)PC考勤客户端:客户端与指纹采集器主要是通过的串口通信,主要功能是调用开发包里面的api,能够打开指纹采集器,使之工作,整个指纹的图像采集与匹配都是开发包里面的方法完成。当进行指纹识别时最终会有一个匹配结果返回,客户端将匹配结果通过Http协议调用服务端的Rest服务将结果传送到服务端。
2.2系统主要功能
该系统主要是方便实验室管理老师对实验室学生的日常考勤管理。主要解决的问题是每一年都有学生毕业,都有新的学生进入到实验室中;同时每学期每个学生的上课课表不一样,课余能到实验室的时间不一样,所以对每个学生每学期的考勤规则是不一样的。
系统分为两各部分,一个B/S的服务端部分,一个是基于Java Swing的客户端开发,服务端的模块如图2所示,客户端的模块如图3所示。
在服务端的教师管理模块中,只有具有管理员权限的账号在登入的时候才会显示出来,主要包括登入密码的修改,添加新学生,修改学生基本信息,删除已毕业学生信息,编辑学生的考勤规则,查询学生的考勤统计信息等。没有管理员权限的账号在登入成功后会被默认为学生,显示的是学生管理模块的内容,主要包括自己的密码修改,自己的考勤规则查询和自己的考勤记录查询。客户端管理模块主要在系统内部运行,由客户端通过web Service接口来调用,实现的是客户端的数据通信,可以让客户端上传学生指纹信息,下载学生指纹信息,上传考勤信息。
在客户端的通信模块中,主要的功能是通过Web Service,将自己注册到服务端中,能够将服务端的指纹库信息同步到客户端的本地存储中,同时能将新的指纹信息上传至服务端。考勤记录模块主要是调用指纹采集器的开发包中的方法,能够打开指纹采集器,将采集的指纹信息与本地的指纹信息库进行比对,生成考勤信息,同时将考勤信息通过通信模块上传到指纹考勤系统服务端中。
2.3系统主要功能的实现
(1)学生信息管理功能。主要是添加删除学生基本信息,添加删除学生指纹信息,添加删除学生考勤规则。在这些功能中,学生的基本信息主要是一些学生的基本属性,用一张数据库的表就可完成。学生的指纹信息实质上是一种指纹图片,在学生的信息表中使用BLOB类型的字段存储。学生考勤规则的实现是通过设计两张表来完成的,一张是date prefer表,记录的是日期规则,里面的关键字段有userid(学生id),date from(开始日期),date to(结束日期)。另一张表是time prfer,记录的是周时间规则,里面的关键字段有date prefer id(关联date preferS),time from(开始时间),time to(结束时间),day(星期几)。因为大学的课程都是按周排的课程,所以在一周上会有规律性。通过这两张数据表的设计,可以完成一个学生的考勤规则描述。
(2)考勤记录管理功能。主要是生成多种考勤记录。这个功能是在客户端实现的,在客户端的界面上有一个下拉框,默认没有任何信息,需要让学生选择是准备记录“进入”信息还是“离开”信息。当学生选择后再点击“考勤”按钮,客户端就会打开指纹采集仪,指纹采集仪响一声后进入到准备状态。检测到手指后,生成指纹信息,与本地指纹库进行比对,成功后返回比对上的指纹序号。客户端根据学生的选择和比对程序的反馈序号生成相应的考勤信息。在本系统中有两种,一种是“进入”考勤信息,一种是“离开”考勤信息。
(3)网络服务功能。主要是基于Restful Web Service的数据服务接口方法的实现。通信方式是POST,通信数据格式为JSON。主要是3个功能接口:其一是当服务端需要新建一个学生时新建的指纹信息接口,需要通过客户端收集后发送至服务端。其二是有可能会有多个实验室,所以每个客户端的指纹库不一定完整,需要通过一个同步指纹库的接口来解决这个问题。其三是上传考勤信息接口。JSON数据是一种基于字符串的数据,所以需要将指纹的图片信息进行BASE64编码后在进行传输。
3.结语
基于实验室学生管理的指纹考勤系统已在长江大学工程技术学院的智能终端实验室进行了运行测试,各项性能指标均达到了设计要求。运行结果显示,本方案的指纹考勤系统在日常的工作中,为学生的测评提供了公平、准确的科学依据,能够有效地督促学生更好地利用课余时间。另外,如何将本系统与实验室项目管理的其他系统进行结合还有待进行下一步的研究。