基于Wi-Fi指纹的考勤方法及系统
技术领域
本发明涉及无线通信技术领域,尤其涉及基于Wi-Fi指纹的考勤方法及系统。
背景技术
为了维护正常的教学秩序,提高教学质量,课堂考勤是一个至关重要的环节。传统的课堂考勤是通过花名册点名或即时签到等方式进行,这种方式在学生人数较多的情况下太过耗时。随着计算机和无线通信技术的发展,出现了基于射频识别、指纹识别、虹膜识别、人脸识别等技术的考勤方法和系统,在一定程度上提高了考勤效率。但是这些方法和系统仍然存在一些问题,例如,上述方法均不能动态掌握学生在签到后的行为,学生可能出现签到后中途离开的现象;上述系统均需要特殊的硬件设备支持,安装和维护成本较高;基于射频识别的考勤系统无法完全杜绝一人拿多张射频卡帮他人签到的情况。鉴于上述问题,寻求一种经济高效的考勤方法及系统十分必要。目前,校园无线覆盖已经在越来越多的高校中实现,并且支持Wi-Fi的智能手机也非常普及,这些都为实现基于Wi-Fi指纹的课堂考勤方法及系统提供了良好的支持。
例如,公开号为CN103426208A的专利文献提供了一种基于WiFi信号的手机考勤系统,该系统以员工的智能手机采集所在空间的WiFi信号源的SSID标识信息,并将信息发回服务器,由服务器对比考勤点事先存储的WiFi信号源SSID标识信息,从而确定持有该手机的员工是否到达指定的考勤位置处,完成考勤。与现有技术相比,该专利文献的优点是定位算法简单;成本低;使用方便。
该专利文献仅仅提供了考查对方是否出勤,但是在正常出勤和缺勤以外,出勤状态还可能包含:请假、迟到、早退。专利文献中所提供的方法无法对多种出勤状态进行灵活判断,从而缺乏精细的考勤结果。
发明内容
本发明的目的是针对上述问题,提供一种基于Wi-Fi指纹的考勤方法及系统,以智能手机为载体,不仅节约成本,而且使得日常考勤更加高效准确。
一种基于Wi-Fi指纹的考勤方法,包括如下步骤:
S1,第一用户利用第一终端在事件发生地点的若干位置采集Wi-Fi指纹,并将所有Wi-Fi指纹传输至服务器,其中每个位置采集的Wi-Fi指纹数目多于两个;
S2,各个第二用户进行请假申请或利用第二终端主动采集Wi-Fi指纹,并将对应的请假时间或Wi-Fi指纹采集时间一并传输至服务器,在事件开始之前,允许第二用户多次提交采集到的Wi-Fi指纹至服务器,第一用户进行请假申请的审核并将审核结果发送至服务器;
S3,事件开始,终止各个第二用户主动提交Wi-Fi指纹,各个第二终端每隔一段时间间隔自动进行Wi-Fi指纹采集,将采集到的Wi-Fi指纹和采集时间提交至服务器,直至事件结束;
S4,事件结束,服务器将各第二终端每次提交的Wi-Fi指纹与第一终端采集的Wi-Fi指纹进行匹配,根据匹配结果和请假申请的审核结果判断对应的第二用户的出勤状态,根据出勤状态生成出勤报表并发送至各终端供用户查询,出勤状态包括:正常出勤、迟到、早退、请假以及缺勤。
本发明也是一种用户位置检测方法,利用第二用户所在位置与第一用户所采集的各个位置进行比对,来判断各个第二用户的出勤状态。其中,本发明的终端均为移动终端,终端在各个位置所采集的Wi-Fi指纹包括该位置所扫描到的各个AP的MAC地址以及对应MAC地址的RSS值。利用本发明的考勤方法,能够自动识别各个第二用户的出勤状态,从而使用户获得灵活且精细的考勤结果。其中,事件可以为会议、工作或者是上课,第一用户通常为需要了解参与事件的人员,包括会议主持者、工作监督人员或者上课教师;相应地,第二用户包括:与会人员、工作人员或者听课的学生。本发明可以应用到不同的需要考核的场景中。
在步骤S3中,设定事件分为n个子事件,第i个子事件的开始时间为Si,结束时间为Ei,在第i个子事件持续期间,第二终端每隔Δt时间自动提交一次Wi-Fi指纹,则第二终端在第i个子事件中自动提交Wi-Fi指纹的时间点序列计算公式为:
其中表示向下取整。
一个事件可以分为若干子事件,在各个子事件之间可能存在中断,例如进行休息等等。第二用户在中断期间可以在事件发生地点以外区域活动,因此对每个子事件进行期间分别进行Wi-Fi指纹的采集,能够保证第二用户在休息期间能够自由活动而不会被误判为缺勤或是早退。
在步骤S4中,对于每个第二终端,进行匹配的方式为,将该第二终端每次扫描到的Wi-Fi指纹与第一终端扫描到的所有Wi-Fi指纹逐一进行相似度计算,最终的匹配结果为所有相似度值中的最大值,若所得匹配结果大于预先设定的阈值,则认为匹配成功。
由于第二用户在事件进行过程中可能进行位置的改换,甚至可能离开事件发生地点,因此通过将位置相似度的匹配来确定第二用户是进行了事件发生中的位置更换还是离开事件发生地点,相似度若小于预设的阈值,则表明第二用户离开了事件发生地点。
对于任意两条Wi-Fi指纹F1和F2,两者之间相似度的计算公式为:
其中,A1为Wi-Fi指纹F1所包含的AP的集合,A2为Wi-Fi指纹F2所包含的AP的集合,得到AP集合A=A1∪A2,|A|表示Wi-Fi指纹F1和Wi-Fi指纹F2包含的AP的总个数,fj(a)表示对应Wi-Fi指纹Fj中APa的RSS值,以dBm为单位,|fj(a)|表示fj(a)的绝对值。
APa是指集合A中任意的AP用a表示。Wi-Fi指纹F1和Wi-Fi指纹F2中的其中一者为第一终端存储于服务器中作为参考点的Wi-Fi指纹,另一者为待定位点的Wi-Fi指纹,计算两者的相似度,相似度的取值范围为0到1,其中1表示参考点与待定位点所扫描到的AP完全匹配,0表示参考点与待定位点所扫描到的AP完全不同。通过将待定位点与位置指纹库中各个参考点的位置指纹逐一进行匹配,将与待定位点相似度最高的参考点作为待定位点的定位结果。
在步骤S4中,对各个第二用户,设定该第二用户提交请假申请的时间为t0,若没有提交请假申请,设定t0=∞,该第二用户主动提交Wi-Fi指纹且第一次匹配成功对应的采集时间为t1,若没有主动提交Wi-Fi指纹或主动提交的Wi-Fi指纹均无匹配成功,设定t1=∞,设定第1个子事件的开始时间为S1,该第二用户的第二终端在事件开始后自动提交的Wi-Fi指纹与第一终端提交Wi-Fi指纹匹配成功的次数为N,第二终端自动提交的Wi-Fi指纹次数计算公式为:
根据以上设定,判断出勤状态的规则按优先级顺序依次为:t1≤S1且N=L,表示正常出勤;t1=∞且N>0,表示迟到;t1≤S1且0<N<L,表示早退;t0=∞或请假未获批准,同时N=0,表示缺勤;t0<S1且第一用户批准请假申请,表示请假。
值得说明的是,该方法将既迟到又早退自动归入迟到一类。通过位置指纹的多次匹配和请假申请的时间审核能够做到自动区分不同的出勤状态,从而获得更为精细的考勤记录。
本发明提出的考勤方法适用于教师对学生进行课堂考勤。
S1,教师利用教师终端在上课地点的若干位置采集Wi-Fi指纹,并将所有Wi-Fi指纹传输至服务器,其中每个位置采集的Wi-Fi指纹数目多于两个;
S2,各个学生进行请假申请,或者在所述上课地点利用学生终端采集Wi-Fi指纹并连同对应的请假时间或Wi-Fi指纹采集时间一并传输至服务器;
教师在课程开始之前审核请假申请;
S3,课程开始,各个学生终端终止对应的学生主动提交Wi-Fi指纹,各个学生终端每隔一段时间间隔自动进行Wi-Fi指纹采集,将采集到的Wi-Fi指纹和采集时间提交至服务器,直至课程结束;
S4,课程结束,服务器将各学生终端每次提交的Wi-Fi指纹与教师终端的Wi-Fi指纹进行匹配,根据匹配结果和请假申请的审核结果判断各学生的出勤状态,根据出勤状态生成出勤报表并发送至各终端供用户查询,出勤状态包括:正常出勤、迟到、早退、请假以及旷课。
其中,在服务器中存有预先建立的数据库,数据库包括课表信息、教师信息以及学生信息。课表信息包括:课程名称、上课地点、每节课的开始时间和结束时间。教师信息包括教师名字以及对应的课表;学生信息包括学生名字以及对应的选课信息。
在步骤S4中,设定课程分为n节,则学生终端在第i节课中自动提交Wi-Fi指纹的时间点序列计算公式为:
第i节课的开始时间为Si,结束时间为Ei,则在第i节课持续期间,学生终端每隔Δt时间自动提交一次Wi-Fi指纹,其中表示向下取整。
每个课程可能持续多节,通过在每节课上课期间进行Wi-Fi指纹匹配,允许课间时间学生进行自由活动而不会造成误判。
在步骤S4中,对各个学生,设定该学生提交请假申请的时间为t0,若没有提交请假申请,设定t0=∞,该学生主动提交Wi-Fi指纹且第一次匹配成功对应的采集时间为t1,若没有主动提交Wi-Fi指纹或主动提交的Wi-Fi指纹均无匹配成功,设定t1=∞,设定第1节课的开始时间为S1,学生终端在第1节课开始后自动提交的Wi-Fi指纹与第一终端提交Wi-Fi指纹匹配成功的次数为N,学生终端自动提交的Wi-Fi指纹次数计算公式为:
根据以上设定,判断出勤状态的规则按优先级顺序依次为:t1≤S1且N=L,表示正常出勤;t1=∞且N>0,表示迟到;t1≤S1且0<N<L,表示早退;t0=∞或请假未获批准,同时N=0,表示缺勤;t0<S1且教师批准请假申请,表示请假。
该方法将既迟到又早退自动归入迟到一类。学生主动提交Wi-Fi指纹且第一次匹配成功对应的采集时间被认为是到达上课地点的时间,因此可作为是否迟到或旷课的判断方法。
本发明还提出了一种考勤系统,用于实施本发明所提出的考勤方法。
一种基于Wi-Fi指纹的考勤系统,包括服务器以及与服务器通信的若干移动终端;
各移动终端包括:
用户登录模块,用于识别所登录用户的身份,若当前识别的用户身份为第二用户,则在当前用户初次登录时将该用户的身份信息与当前移动终端的MAC地址绑定,并存入服务器;
Wi-Fi指纹采集模块,用于收集Wi-Fi指纹并存入服务器;
请假模块,根据用户登录模块所识别的用户身份进行相应处理:若为第一用户,则接收来自用户的审核指令对存储于服务器中的请假申请进行审核;若为第二用户,则接收请假申请指令并向服务器提交请假申请,请假申请指令中包含请假时间和请假理由;
查询模块,根据用户身份查询对应信息:若为第一用户,则用于查询各个第二用户的出勤记录;若为第二用户,则用于查询该第二用户自身的出勤记录;
所述服务器包括:
数据库,用于存储第一用户和第二用户的身份以及事件参与信息、事件的开始时间、结束时间以及发生地点,请假申请及审核结果、Wi-Fi指纹以及各个第二用户的出勤状态;
Wi-Fi指纹匹配模块,用于对第二终端上传的Wi-Fi指纹与第一终端收集的Wi-Fi指纹进行匹配,并将匹配结果传递给出勤状态判断模块;
出勤状态判断模块,用于判断第二用户的出勤状态,并将考勤结果存入数据库;
报表生成模块,用于根据数据库中存储的考勤结果生成考勤报表。
移动终端根据登录用户的身份来作为对应的终端,第一终端和第二终端在请假过程和查询过程中对应模块会根据不同的用户身份进行对应的处理。通过在终端中加入查询模块,便于各个用户了解自己或是整体的出勤状态,有助于作进一步处理。在一些需要网上查询的应用中,服务器还包括:网页显示模块,供具有权限的用户通过Web查看考勤报表。
所述出勤状态判断模块进行出勤状态判断的方法为,对各个第二用户,设定该第二用户提交请假申请的时间为t0,若没有提交请假申请,设定t0=∞,该第二用户主动提交Wi-Fi指纹且第一次匹配成功对应的采集时间为t1,若没有主动提交Wi-Fi指纹或主动提交的Wi-Fi指纹均无匹配成功,设定t1=∞,设定第1个子事件的开始时间为S1,该第二用户的第二终端在事件开始后自动提交的Wi-Fi指纹与第一终端提交Wi-Fi指纹匹配成功的次数为N,第二终端自动提交的Wi-Fi指纹次数计算公式为:
根据以上设定,判断出勤状态的规则按优先级顺序依次为:t1≤S1且N=L,表示正常出勤;t1=∞且N>0,表示迟到;t1≤S1且0<N<L,表示早退;t0=∞或请假未获批准,同时N=0,表示缺勤;t0<S1且第一用户批准请假申请,表示请假。
该考勤系统利用请假时间的审核以及每隔预定时间间隔进行的定位来判断参与者的出勤状态,实现了精细的考勤记录。值得说明的是,该系统中所采用的出勤状态判断方法将既迟到又早退自动归入迟到一类。
本发明提出的一种基于Wi-Fi指纹的课堂考勤方法及系统,以智能手机为载体,与基于射频识别、指纹识别、虹膜识别、人脸识别等现有技术相比,具有以下优势:(1)无需增加特殊硬件设备;(2)将学生信息与学生手机MAC地址绑定,可以大大减少代人签到的可能(手机是私人物品,通常不便借出);(3)学生终端在上课过程中每隔一定时间自动提交扫描到的Wi-Fi指纹,进一步判断学生整堂课的时间内是否始终在指定教室,可以避免传统签到方式中学生签到后便离开教室的情况,能够区分更多的出勤状态。
附图说明
图1为本发明一个实施例的课堂考勤方法的流程图;
图2为本发明当前实施例课堂考勤方法的系统结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明可应用于工作、会议以及授课等多种应用场景,本发明一个实施例提供了课堂考勤的方法,图1是本发明当前实施例提供的基于Wi-Fi指纹的课堂考勤方法的实现流程图。如图1所示,本发明当前实施例中,方法包括以下步骤:
S1,教师利用教师终端在上课地点的若干位置采集Wi-Fi指纹,并将所有Wi-Fi指纹传输至服务器,其中每个位置采集的Wi-Fi指纹数目多于两个。
其中,在服务器中存有预先建立的数据库,数据库包括课表信息、教师信息以及学生信息。课表信息包括:课程名称、上课地点、每节课的开始时间和结束时间。教师信息包括教师名字以及对应的课表;学生信息包括学生名字以及对应的选课信息。
教师首先需要在安装有考勤软件的教师终端登录,选择对应的课程名称进入下一步操作,教师终端在上课教室的x(x≥3)个不同位置对Wi-Fi信号进行扫描,每个位置采集y条Wi-Fi指纹,将采集到的共k=x×y条Wi-Fi指纹通过无线网络传输至服务器。考虑到教室可能比较狭长,教室不同地方的Wi-Fi环境可能有差异,因此作为优选,教师可以在教室前部,中部和后部各选择一个位置点对Wi-Fi环境进行3次勘察,每个位置均提交3条Wi-Fi指纹,共采集到9条Wi-Fi指纹,通过无线网络传输至服务器;所述Wi-Fi指纹包括:能扫描到的AP的MAC地址、对应MAC地址的RSS值和采集时间。为了保证匹配结果的稳定性,作为优选,系统只将RSS超过-80dBm的Wi-Fi指纹提交给服务器。当前课程结束后教师上传的Wi-Fi指纹从数据库中清除,由下堂课的教师重新采集,以保证Wi-Fi指纹的新鲜度。
S2,各个学生进行请假申请,或者在所述上课地点利用学生终端采集Wi-Fi指纹并将其连同对应的请假或采集时间一并传输至服务器;教师在课程开始之前审核请假申请。
学生登录安装有考勤软件的移动终端,选择对应的课程后,对环境中的Wi-Fi进行扫描,将采集到的Wi-Fi指纹通过无线网络提交给服务器,所述Wi-Fi指纹包括:能扫描到的AP的MAC地址、对应MAC地址的RSS值和采集时间。为了保证匹配结果的稳定性,优选地,系统只将RSS超过-80dBm的Wi-Fi指纹提交给服务器。上课之前,学生可进行多次提交。学生如需请假,则提交请假申请。
在上课之前,教师终端审核请假申请。在审核后,将请假申请的审核结果提交给服务器以供后续的判断处理。
S3,课程开始,终止各个学生终端主动提交Wi-Fi指纹,各个学生终端每隔一段时间间隔进行Wi-Fi指纹采集,将采集到的Wi-Fi指纹和采集时间提交至服务器,直至课程结束。
上课开始后学生终端仍处于工作状态,自上课开始之时学生终端每隔Δt时间自动提交Wi-Fi指纹一次,直至课程结束。假设第i节课的上课时间为Si,下课时间为Ei,i=1,2,…,n,n为课程的节数,那么学生终端第i节课自动提交Wi-Fi指纹的时间点序列为:
其中表示向下取整。Δt可根据具体情况设置,以一节课45分钟为例,Δt可以设置为20分钟,如果某一节课的上课时间为8:00,下课时间为8:45,那么学生终端会在8:20分和8:40分自动提交Wi-Fi指纹各一次。
S4,课程结束,服务器将各学生终端每次提交的Wi-Fi指纹与教师终端的Wi-Fi指纹进行匹配,根据匹配结果和请假申请的审核结果判断各学生的出勤状态,根据出勤状态生成出勤报表并发送至各终端供用户查询,出勤状态包括:正常出勤、迟到、早退、请假以及旷课。
服务器将学生终端提交的Wi-Fi指纹与对教师终端提交的k条Wi-Fi指纹逐一执行匹配算法,根据匹配结果和请假审核结果判断学生处于下列之一的状态:正常出勤,迟到,早退,请假,旷课。步骤S4可分为两个子步骤:
S41.指纹匹配。所述匹配算法如下:将学生终端每次扫描到的Wi-Fi指纹与教师终端扫描到的所有k条Wi-Fi指纹逐一进行相似度计算,最终相似度结果S取k个相似度值中的最大值。若S大于预先设定的阈值Sth,认为匹配成功。阈值Sth可根据实际测试情况设置为0.85或0.9。对于任意两条Wi-Fi指纹F1和F2,两者之间的相似度计算方式为:
Wi-Fi指纹F1包含的AP的集合为A1,Wi-Fi指纹F2包含的AP的集合为A2,得到AP集合A=A1∪A2,|A|表示Wi-Fi指纹F1和Wi-Fi指纹F2包含的AP的总个数;fi(a)表示对应Wi-Fi指纹Fi中APa的RSS值,以dBm为单位,|fi(a)|表示fi(a)的绝对值。若在Wi-Fi指纹Fi中没有包含APa,则令fi(a)=0。APa是指集合A中任意的AP用a表示。
为了更清楚地解释上述公式,举例说明如下:假设Wi-Fi指纹F1和Wi-Fi指纹F2如表1和表2所示,那么F1和F2的相似度为:
表1
AP编号 |
MAC地址 |
RSS(dBm) |
1 |
14:e6:e4:d2:35:6a |
-80 |
2 |
34:08:04:b9:0f:10 |
-75 |
3 |
84:4b:f5:8c:f6:37 |
-75 |
表2
2 |
34:08:04:b9:0f:10 |
-55 |
3 |
84:4b:f5:8c:f6:37 |
-60 |
4 |
56:f0:6d:7c:57:80 |
-85 |
S42,出勤状态判断。出勤状态的判断方法为,对各个学生,设定该学生提交请假申请的时间为t0,若没有提交请假申请,设定t0=∞,该学生主动提交Wi-Fi指纹且第一次匹配成功对应的采集时间为t1,若没有主动提交Wi-Fi指纹或主动提交的Wi-Fi指纹均无匹配成功,设定t1=∞,设定第1节课的开始时间为S1,学生终端在第1节课开始后自动提交的Wi-Fi指纹与第一终端提交Wi-Fi指纹匹配成功的次数为N,学生终端自动提交的Wi-Fi指纹次数计算公式为:
判断规则按优先级顺序依次为:t1≤S1且N=L,表示正常出勤;t1=∞且N>0,表示迟到;t1≤S1且0<N<L,表示早退;t0=∞或请假未获批准,同时N=0,表示旷课;t0<S1且教师批准请假申请,表示请假。值得说明的是,该方法将既迟到又早退自动归入迟到一类。在上课结束后服务器根据记录的考勤信息生成本次课的考勤报表供教师端查看。
本发明当前实施例的方法利用图2所示的系统进行实施。如图2所示,系统包括终端1和服务器2。
终端1根据使用者不同分为教师终端和学生终端,包含用户交互界面11、用户登录模块12、网卡状态检测模块13、Wi-Fi指纹采集模块14、通信模块15、请假模块16和查询模块17;服务器2包含数据库21、Wi-Fi指纹匹配模块22、出勤状态判断模块23、通信模块24、报表生成模块25和网页显示模块26。
用户交互界面11与用户登录模块12、通信模块15、请假模块16和查询模块17连接,用于提供交互界面,产生控制指令;
用户登录模块12,与用户交互界面11连接,用于识别登录用户是教师还是学生,学生第一次登录时将学生信息与学生手机MAC地址绑定,并通过通信模块15传递给服务器数据库21;
网卡状态检测模块13,与Wi-Fi指纹采集模块14连接,用于判断移动终端的无线网卡状态,如果为关闭则自动打开无线网卡;
Wi-Fi指纹采集模块14,与通信模块15连接,用于收集Wi-Fi指纹信息,传递给通信模块15;
通信模块15,与服务器通信模块24连接,用于实现与服务器的信息交换,具体为移动终端将用户的登录信息、扫描到的Wi-Fi指纹、查询请求、请假请求/请假审核等信息传递给服务器通信模块24,并接受服务器的反馈信息;
请假模块16,与用户交互界面11连接,若登录用户为教师,用于审批请假申请;若登录用户为学生,用于申请请假并说明请假原因;
查询模块,与用户交互界面11连接,若登录用户为教师,用于查询班级学生考勤记录报表;若登录用户为学生,用于学生查询自己的考勤记录报表;
所述服务器包括:
数据库21,与Wi-Fi指纹匹配模块22、出勤状态判断模块23、通信模块24和报表生成模块25连接,用于存储教师信息、课表信息、学生信息、学生选课信息、请假信息、移动终端提交的Wi-Fi指纹信息和学生的考勤信息等;
Wi-Fi指纹匹配模块22,与出勤状态判断模块23连接,用于对学生上传的Wi-Fi指纹与教师收集的Wi-Fi指纹执行匹配算法,并将匹配结果传递给出勤状态判断模块23;
出勤状态判断模块23,与数据库21连接,用于判断学生的出勤状态,并将考勤结果存入数据库21;
通信模块24,与终端通信模块15、数据库21连接,用于和移动终端1进行信息交换,具体为将数据库21的相应信息和考勤报表传输至终端通信模块15,并接收来自终端的用户的登录信息、扫描到的Wi-Fi指纹、查询请求、请假请求/请假审核等信息。
报表生成模块25,与网页显示模块26连接,用于根据数据库21中存储的信息生成考勤报表,传递给网页显示模块26;
网页显示模块26,用于教师或管理员通过Web查看学生考勤报表。
利用本发明的方法及系统,无需增加特殊硬件设备,可以大大减少代人签到的可能,可以自动识别学生迟到、早退、旷课、请假等各种情况,提供更精细的学生考勤记录。