一种电子签到方法、计算机可读存储介质及服务器
技术领域
本发明属于计算机技术领域,尤其涉及一种电子签到方法、计算机可读存储介质及服务器。
背景技术
现有的签到方式主要是在公司的特定区域设置签到设备供员工进行签到,这种签到设备有的是通过刷工卡的方式进行签到,有的是通过指纹识别的方式进行签到,有的是通过人脸识别的方式进行签到,但是无论哪种签到方式,在人员较多的工作场所均存在需排队等候签到、及等候时间长的问题,效率极为低下。
发明内容
有鉴于此,本发明实施例提供了一种电子签到方法、计算机可读存储介质及服务器,以解决现有的签到方式效率低下的问题。
本发明实施例的第一方面提供了一种电子签到方法,可以包括:
获取终端设备发送的签到请求,所述签到请求中包括所述终端设备检测到的无线接入点集合;
计算所述无线接入点集合与预设的基准集合之间的匹配度;
若所述无线接入点集合与所述基准集合之间的匹配度大于预设的匹配度阈值,则通过所述终端设备采集用户的生物特征信息,并根据所述生物特征信息对所述用户进行身份鉴定;
若身份鉴定成功,则判定所述用户签到成功。
本发明实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:
获取终端设备发送的签到请求,所述签到请求中包括所述终端设备检测到的无线接入点集合;
计算所述无线接入点集合与预设的基准集合之间的匹配度;
若所述无线接入点集合与所述基准集合之间的匹配度大于预设的匹配度阈值,则通过所述终端设备采集用户的生物特征信息,并根据所述生物特征信息对所述用户进行身份鉴定;
若身份鉴定成功,则判定所述用户签到成功。
本发明实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
获取终端设备发送的签到请求,所述签到请求中包括所述终端设备检测到的无线接入点集合;
计算所述无线接入点集合与预设的基准集合之间的匹配度;
若所述无线接入点集合与所述基准集合之间的匹配度大于预设的匹配度阈值,则通过所述终端设备采集用户的生物特征信息,并根据所述生物特征信息对所述用户进行身份鉴定;
若身份鉴定成功,则判定所述用户签到成功。
本发明实施例与现有技术相比存在的有益效果是:在本发明实施例中,用户可以使用自己所持有的手机、平板电脑等终端设备进行签到,当用户到达工作地点附近时,即可通过终端设备向服务器发送签到请求,且在该签到请求中携带终端设备检测到的无线接入点集合,服务器在接收到该签到请求中,计算该无线接入点集合与预设的基准集合之间的匹配度,若该匹配度足够大,则说明当前的签到位置已符合要求,进一步地通过生物特征识别对用户的身份进行鉴定,若身份鉴定成功,则可判定该用户签到成功。通过本发明,摆脱了对于传统的签到设备的依赖,用户通过自己持有的终端设备即可完成整个签到过程,更加方便灵活,大大提高了签到效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中一种电子签到方法的一个实施例流程图;
图2为基准集合的设置过程的示意流程图;
图3为计算无线接入点集合与预设的基准集合之间的匹配度的示意流程图;
图4为本发明实施例中一种电子签到装置的一个实施例结构图;
图5为本发明实施例中一种服务器的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种电子签到方法的一个实施例可以包括:
步骤S101、获取终端设备发送的签到请求。
用户可以通过在终端设备上安装的指定应用程序(APP)提交签到请求,该应用程序可以是独立的专门进行签到的应用程序,也可以是附着在其它办公类应用程序上的一个功能模块。在该应用程序的指定页面上,提供了签到的按钮,用户在需要进行签到时,点击该按钮即可向服务器提交签到请求。
所述终端设备包括但不限于手机、平板电脑、智能手表、智能眼镜等,所述签到请求中包括所述终端设备检测到的无线接入点集合。
无线接入点(Access Point,AP)是一个无线网络的接入点,俗称“热点”。主要有路由交换接入一体设备和纯接入点设备,一体设备执行接入和路由工作,纯接入设备只负责无线客户端的接入,纯接入设备通常作为无线网络扩展使用,与其他AP或者主AP连接,以扩大无线覆盖范围,而一体设备一般是无线网络的核心。
所述无线接入点集合中的各个无线接入点均以服务集标识(ServiceSetIdentifier,SSID)来进行标识,通俗地说,服务集标识便是为无线网络所取的名字,其具体取值可以根据实际情况进行设置。
步骤S102、计算所述无线接入点集合与预设的基准集合之间的匹配度。
所述基准集合是根据指定地点附近固定出现的无线接入点来进行设置的。其中,该指定地点可以是一个单位或企业的固定办公场所、商场工作人员的销售场所、或者员工的外出地点等,该固定出现的无线接入点可以单位或者企业内自己布设的网络的无线接入点,也可以是其它网络的无线接入点。
所述基准集合的设置过程可以包括如图2所示的步骤:
步骤S201、获取历史签到记录,并根据所述历史签到记录统计各个无线接入点被检测到的次数,以及每次被检测到的信号强度。
所述历史签到记录中记录了每次签到过程中终端设备所检测到的无线接入点集合,以及其中每个无线接入点的信号强度。
步骤S202、计算各个无线接入点的优先指数。
例如,可以根据下式计算各个无线接入点的优先指数:
其中,sn为所述历史签到记录中各次签到按时间先后顺序依次排列的序号,1≤sn≤SignNum,SignNum为所述历史签到记录中的签到总次数,ap为无线接入点的序号,1≤ap≤ApNum,ApNum为所述历史签到记录中检测到的无线接入点总个数,ApPowersn,ap为所述历史签到记录中的第sn次签到时检测到的第ap个无线接入点的信号强度,ln为自然对数函数,PriIndexap为第ap个无线接入点的优先指数。
步骤S203、从所述历史签到记录中选取优先指数最高的TS个无线接入点作为优选接入点。
首先,将从所述历史签到记录中的各个无线接入点按照优先指数从高到低的顺序排列为如下的接入点序列:
AcPointSet={AcPoint1,AcPoint2,......,AcPointsq,......,AcPointApNum}
其中,sq为无线接入点按照优先指数从高到低排列的序号,1≤sq≤ApNum,且AcPointsq为按照优先指数从高到低排列在第sq位的无线接入点,PriIndexsq≥PriIndexsq+1,PriIndexsq为AcPointsq的优先指数;
然后,将满足下式的TS取值确定为所述优选接入点的个数:
其中,Threshold为预设的比例阈值,且0<Threshold<1,其具体取值可以根据实际情况进行设置,例如,可以将其设置为0.5、0.6、0.7或者其它取值。
最后,从所述接入点序列中选取前TS个无线接入点作为所述优选接入点。
步骤S204、将所述优选接入点构造为所述基准集合。
通过上述过程构造出的基准集合即为在指定地点出现概率最大的无线接入点所组成的集合,为判断所述终端设备当前是否处于该指定地点的周围提供了对比依据,在构造出所述基准集合之后,即可通过如图3所示的过程计算所述无线接入点集合与所述基准集合之间的匹配度:
步骤S301、将所述无线接入点集合中的无线接入点所对应的物理地址与所述基准集合中的无线接入点所对应的物理地址进行比对。
由于无线接入点的名称通常是用户自行设定的,而在所述无线接入点集合中的无线接入点是以各自的名称进行显示,为了防止所述无线接入点集合中的的无线接入点与所述基准集合中的无线接入点只是名称相同,但实质并不是同一个无线接入点的情形,在本实施例中,通过比较每一个无线接入点对应的物理地址来确认是否为同一个无线接入点。所述物理地址即为MAC(Media AccessControl或者Medium Access Control)地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址,且MAC地址是网卡决定的固定地址。因此,该MAC地址是用于标识无线接入点的身份,即每一个无线接入点与其对应的MAC地址一一对应。因此,可通过将当前的所述无线接入点集合中的无线接入点所对应的MAC地址与预设的所述基准集合中的无线接入点所对应的MAC地址进行比对来判断是否为同一个无线接入点。
步骤S302、从所述无线接入点集合与所述基准集合中提取具有相同物理地址的无线接入点作为目标接入点。
也即若某一无线接入点既出现在所述无线接入点集合中,又出现在所述基准集合中,即可将该无线接入点确定为目标接入点。
步骤S303、统计所述目标接入点的数目,并将所述目标接入点的数目与所述基准集合中的无线接入点的数目之比作为所述无线接入点集合与所述基准集合之间的匹配度。
两者之间的匹配度的取值范围为[0,1],若所述无线接入点集合中包含越多的在所述基准集合中出现的无线接入点,则两者之间的匹配度越高,反之,若所述无线接入点集合中包含越少的在所述基准集合中出现的无线接入点,则两者之间的匹配度越低。极端地,若所述无线接入点集合中未包含任何在所述基准集合中出现的无线接入点,则两者之间的匹配度为0,若所述无线接入点集合中包含所有在所述基准集合中出现的无线接入点,则两者之间的匹配度为1。
步骤S103、判断所述无线接入点集合与所述基准集合之间的匹配度是否大于预设的匹配度阈值。
所述匹配度阈值的设置过程可以包括:
首先,根据历史签到记录分别计算在各次签到过程中终端设备检测到的无线接入点集合与所述基准集合之间的匹配度。
详细的计算过程与图3所示的过程类似,具体可参照前述内容的具体说明,此处不再赘述。
然后,根据下式计算所述匹配度阈值:
其中,sn为所述历史签到记录中各次签到按时间先后顺序依次排列的序号,1≤sn≤SignNum,SignNum为所述历史签到记录中的签到总次数,MatchDegsn为在第sn次签到过程中终端设备检测到的无线接入点集合与所述基准集合之间的匹配度,η为预设的比例系数,且0<η<1,可以根据实际情况取值为0.7、0.8、0.9等取值或者其它取值,max为求最大值函数,ln为自然对数函数,MinMtDg=min(MatchDeg1,MatchDeg2,......,MatchDegsn,......,MatchDegSignNum),min为求最小值函数,MatchThresh为所述匹配度阈值。
若所述无线接入点集合与所述基准集合之间的匹配度大于所述匹配度阈值,则说明当前的签到位置已符合要求,进一步执行步骤S104及其后续步骤,若所述无线接入点集合与所述基准集合之间的匹配度小于或等于所述匹配度阈值,则执行步骤S107。
例如,若用户在距离公司较远的地方通过终端设备发送了签到请求,服务器从该签到请求中获取终端设备检测到的无线接入点集合,并计算所述无线接入点集合与预设的基准集合之间的匹配度,由于终端设备当前的位置距离公司有一段距离,因此所述无线接入点集合与所述基准集合之间的匹配度会较小,从而判定用户签到失败,从而保证用户必须到在指定地点或指定地点附近才能成功签到。
步骤S104、通过所述终端设备采集用户的生物特征信息,并根据所述生物特征信息对所述用户进行身份鉴定。
所述生物特征信息可以为指纹信息、人脸信息、声纹信息或者其它特征信息等。以下以人脸信息为例对身份鉴定过程进行说明:
首先,在判定当前的签到位置已符合要求后指定的时间段内通过终端设备上的摄像头来采集当前用户的人脸图像。该时间段可以根据实际情况进行设置,例如,可以将其设置为2分钟、5分钟、10分钟或者其它取值。需要注意的是,若该时间段设置得过短,则可能出现来不及采集人脸图像的情况,一般将其设置在30秒至10分钟之间为宜。
然后,将该人脸图像与服务器中预存的人脸图像库中的各个人脸图像进行比对,计算图像相似度。
在本方案中,优选通过特征向量的方式来计算人脸图像之间的图像相似度,具体地,构造一种衡量各个像素点与其周围像素点的关系,对人脸图像中的每个像素,通过计算以其为中心的邻域内各像素和中心像素的大小关系,把像素的灰度值转化为一个八位二进制序列。以中心点的像素值为阈值,如果邻域点的像素值小于中心点,则邻域点被二值化为0,否则为1;将二值化得到的0、1序列看成一个8位二进制数,将该二进制数转化为十进制就可得到中心点处的特征值。计算出每个像素点的特征值后,将其特征谱的统计直方图确定为人脸图像的特征向量。由于利用了周围点与该点的关系对该点进行量化。量化后可以更有效地消除光照对图像的影响。只要光照的变化不足以改变两个点像素值之间的大小关系,那么特征值不会发生变化,即保证了特征信息提取的准确性,在获得了人脸图像的特征向量后,即可以计算两个人脸图像之间的图像相似度。
假设采集的人脸图像的特征向量为X=(x1,x2,x3,...,xN),预存的人脸图像库中的某一个人脸图像特征向量为Y=(y1,y2,y3,...,yN),其中N为特征向量的维度。
则可以首先分别计算X和Y的平均值:
其中,i为特征向量的维度序号,1≤i≤N,xi为特征向量X在第i个维度上的分量,yi为特征向量Y在第i个维度上的分量,为X的平均值,为Y的平均值。
然后,通过下式计算两者的图像相似度:
其中,C(X,Y)即为两者的图像相似度。
可选地,还可以通过下式计算两者的相似度:
若采集的人脸图像与人脸图像库中的任意一个人脸图像之间的图像相似度大于预设的阈值(可以根据实际情况设置为90%、95%、98%或者其它取值),则可以确定身份鉴定成功,反之,则可以确定身份鉴定失败。
步骤S105、判断身份鉴定是否成功。
若身份鉴定成功,则执行步骤S106,若身份鉴定失败,则执行步骤S107。
步骤S106、判定所述用户签到成功。
步骤S107、判定所述用户签到失败。
综上所述,在本发明实施例中,用户可以使用自己所持有的手机、平板电脑等终端设备进行签到,当用户到达工作地点附近时,即可通过终端设备向服务器发送签到请求,且在该签到请求中携带终端设备检测到的无线接入点集合,服务器在接收到该签到请求中,计算该无线接入点集合与预设的基准集合之间的匹配度,若该匹配度足够大,则说明当前的签到位置已符合要求,进一步地通过人脸识别对用户的身份进行鉴定,若人脸识别成功,则可判定该用户签到成功。通过本发明,摆脱了对于传统的签到设备的依赖,用户通过自己持有的终端设备即可完成整个签到过程,更加方便灵活,大大提高了签到效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的一种电子签到方法,图4示出了本发明实施例提供的一种电子签到装置的一个实施例结构图。
本实施例中,一种电子签到装置可以包括:
签到请求获取模块401,用于获取终端设备发送的签到请求,所述签到请求中包括所述终端设备检测到的无线接入点集合;
匹配度计算模块402,用于计算所述无线接入点集合与预设的基准集合之间的匹配度;
身份鉴定模块403,用于若所述无线接入点集合与所述基准集合之间的匹配度大于预设的匹配度阈值,则通过所述终端设备采集用户的生物特征信息,并根据所述生物特征信息对所述用户进行身份鉴定;
签到判定模块404,用于若身份鉴定成功,则判定所述用户签到成功。
进一步地,所述电子签到装置还可以包括:
历史记录统计模块,用于获取历史签到记录,并根据所述历史签到记录统计各个无线接入点被检测到的次数,以及每次被检测到的信号强度;
优先指数计算模块,用于根据下式计算各个无线接入点的优先指数:
其中,sn为所述历史签到记录中各次签到按时间先后顺序依次排列的序号,1≤sn≤SignNum,SignNum为所述历史签到记录中的签到总次数,ap为无线接入点的序号,1≤ap≤ApNum,ApNum为所述历史签到记录中检测到的无线接入点总个数,ApPowersn,ap为所述历史签到记录中的第sn次签到时检测到的第ap个无线接入点的信号强度,ln为自然对数函数,PriIndexap为第ap个无线接入点的优先指数;
优选接入点选取模块,用于从所述历史签到记录中选取优先指数最高的TS个无线接入点作为优选接入点;
基准集合构造模块,用于将所述优选接入点构造为所述基准集合。
进一步地,所述优选接入点选取模块可以包括:
接入点序列排列单元,用于将从所述历史签到记录中的各个无线接入点按照优先指数从高到低的顺序排列为如下的接入点序列:
AcPointSet={AcPoint1,AcPoint2,......,AcPointsq,......,AcPointApNum}
其中,sq为无线接入点按照优先指数从高到低排列的序号,1≤sq≤ApNum,且AcPointsq为按照优先指数从高到低排列在第sq位的无线接入点,PriIndexsq≥PriIndexsq+1,PriIndexsq为AcPointsq的优先指数;
优选接入点个数确定单元,用于将满足下式的TS取值确定为所述优选接入点的个数:
其中,Threshold为预设的比例阈值,且0<Threshold<1;
优选接入点选取单元,用于从所述接入点序列中选取前TS个无线接入点作为所述优选接入点。
进一步地,所述匹配度计算模块可以包括:
物理地址比对单元,用于将所述无线接入点集合中的无线接入点所对应的物理地址与所述基准集合中的无线接入点所对应的物理地址进行比对;
目标接入点提取单元,用于从所述无线接入点集合与所述基准集合中提取具有相同物理地址的无线接入点作为目标接入点;
匹配度计算单元,用于统计所述目标接入点的数目,并将所述目标接入点的数目与所述基准集合中的无线接入点的数目之比作为所述无线接入点集合与所述基准集合之间的匹配度。
进一步地,所述电子签到装置还可以包括:
历史匹配度计算模块,用于根据历史签到记录分别计算在各次签到过程中终端设备检测到的无线接入点集合与所述基准集合之间的匹配度;
匹配度阈值计算模块,用于根据下式计算所述匹配度阈值:
其中,sn为所述历史签到记录中各次签到按时间先后顺序依次排列的序号,1≤sn≤SignNum,SignNum为所述历史签到记录中的签到总次数,MatchDegsn为在第sn次签到过程中终端设备检测到的无线接入点集合与所述基准集合之间的匹配度,η为预设的比例系数,且0<η<1,max为求最大值函数,ln为自然对数函数,MinMtDg=min(MatchDeg1,MatchDeg2,......,MatchDegsn,......,MatchDegSignNum),min为求最小值函数,MatchThresh为所述匹配度阈值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图5示出了本发明实施例提供的一种服务器的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述服务器5可包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机可读指令52,例如执行上述的电子签到方法的计算机可读指令。所述处理器50执行所述计算机可读指令52时实现上述各个电子签到方法实施例中的步骤,例如图1所示的步骤S101至S107。或者,所述处理器50执行所述计算机可读指令52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块401至404的功能。
示例性的,所述计算机可读指令52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令52在所述服务器5中的执行过程。
所述处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述服务器5的内部存储单元,例如服务器5的硬盘或内存。所述存储器51也可以是所述服务器5的外部存储设备,例如所述服务器5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述服务器5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机可读指令以及所述服务器5所需的其它指令和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。