考勤方法、装置、计算机设备和存储介质与流程

文档序号:15077209发布日期:2018-08-01 02:11阅读:135来源:国知局

本申请涉及通信技术领域,特别是涉及一种考勤方法、装置、计算机设备和存储介质。



背景技术:

企业对员工考勤是刚性需求,目前多数企业采用的考勤方法是使用指纹考勤机、脸部识别考勤机或者射频考勤卡等专用的考勤装置进行考勤。但上述考勤方法需要用户到达考勤装置所在处进行考勤,考勤效率低,当单位人员较多时,容易出现集中打卡造成拥挤的情况。传统方式为了解决上述问题,只能增设更多的考勤装置,但这种方式不仅增加了考勤成本,也会给企业进行考勤结果统计造成不便,最终影响考勤效率。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种既能减低考勤成本又能提高考勤效率的考勤方法、装置、计算机设备和存储介质。

一种考勤方法,所述方法包括:

接收用户终端发送的考勤信息,所述考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;根据所述用户标识获取对应的基准人脸图像,计算所述考勤人脸图像与所述基准人脸图像的相似度,对所述相似度是否达到阈值进行校验;获取预设的ip白名单,所述ip白名单包括多个ip地址;对所述考勤ip地址是否属于所述ip白名单进行校验;按照预设规则对所述考勤ip地址是否真实进行校验;当所述相似度达到阈值,且所述考勤ip地址真实并属于所述ip白名单时,将考勤成功的考勤结果返回至所述用户终端。

一种考勤方法,所述方法包括:

获取考勤请求,根据所述考勤请求获取考勤信息;所述考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;将所述考勤信息发送至考勤服务器;使所述考勤服务器根据所述用户标识获取对应的基准人脸图像,计算所述考勤人脸图像与获取到的基准人脸图像的相似度,对所述相似度是否达到阈值进行校验;获取预设的ip白名单,所述ip白名单包括多个ip地址;按照预设规则对所述考勤ip地址是否真实,以及是否属于所述ip白名单进行校验;当所述相似度达到阈值,且所述考勤ip地址信息真实并属于所述ip白名单时,生成考勤成功的考勤结果;接收所述考勤服务器返回的考勤结果,对所述考勤结果进行展示。

一种考勤装置,所述装置包括:

考勤信息解析模块,用于接收用户终端发送的考勤信息,所述考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;

考勤信息校验模块,用于根据所述用户标识获取对应的基准人脸图像,计算所述考勤人脸图像与所述基准人脸图像的相似度,对所述相似度是否达到阈值进行校验;获取预设的ip白名单,所述ip白名单包括多个ip地址;对所述考勤ip地址是否属于所述ip白名单进行校验;按照预设规则对所述考勤ip地址是否真实进行校验;

考勤结果反馈模块,用于当所述相似度达到阈值,且所述考勤ip地址真实并属于所述ip白名单时,将考勤成功的考勤结果返回至所述用户终端。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项方法的步骤。

上述考勤方法、装置、计算机设备和存储介质,用户采用用户终端录入考勤信息,可以将包含用户标识以及对应的考勤人脸图像和考勤ip地址的考勤信息发送至考勤服务器;考勤服务器可以根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度,对相似度是否达到阈值进行校验;考勤服务器预存了ip白名单,根据ip白名单可以对考勤ip地址是否属于ip白名单进行校验;按照预设规则可以对考勤ip地址是否被伪造进行校验;仅当相似度达到阈值,考勤ip地址信息未被伪造且属于ip白名单时考勤成功;由于用户可以直接采用用户终端进行考勤,无需增设专用的考勤装置,不仅可以降低考勤成本,还可以实现非接触式的无线考勤,避免集中打卡拥挤的情况,从而可以提高考勤效率;将人脸图像和ip地址结合作为考勤依据,并对考勤ip地址的真伪信息进行校验,通过上述多层级校验可以提高考勤结果的准确性。

附图说明

图1为一个实施例中考勤方法的应用场景图;

图2为一个实施例中考勤方法的流程示意图;

图3为另一个实施例中考勤方法的流程示意图;

图4为一个实施例中考勤装置的结构框图;

图5为另一个实施例中考勤装置的结构框图;

图6为一个实施例中计算机设备的内部结构图;

图7为另一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的考勤方法,可以应用于如图1所示的应用环境中。其中,用户终端102通过网络与考勤服务器104通过网络进行通信。其中,用户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,考勤服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。用户终端102上运行了用于考勤的app(application,应用程序)。用户终端102在考勤app中预安装了插件sdk(softwaredevelopmentkit,软件开发工具包)。考勤服务器104中预先存储了ip(internetprotocol,网络协议)白名单。ip白名单包括多个ip地址。考勤服务器104对ip白名单的ip地址进行动态更新。

当用户需要进行考勤时,可以在用户终端102启动考勤app,通过考勤app录入考勤信息。具体的,用户采用预先注册的考勤账号在用户终端102登录考勤app,利用考勤app采集用户的考勤人脸图像,利用考勤app中的插件sdk采用用户的考勤ip地址,将考勤账号、考勤人脸图像和考勤ip地址作为考勤信息发送至考勤服务器104。考勤服务器104按照预设规则对考勤信息进行校验。具体的,考勤服务器104根据考勤账号获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度,对相似度是否达到阈值进行校验。考勤服务器104获取预设的ip白名单,对考勤ip地址是否属于ip白名单进行校验。考勤服务器104按照预设规则对考勤ip地址是否被伪造进行校验。例如,考勤服务器104获取考勤ip地址对应的网络延迟,根据网络延迟识别考勤ip地址是否被伪造。在另一个实施例中,考勤app还利用插件sdk获取考勤ip地址对应的定位信息,考勤服务器104根据定位信息识别考勤ip地址是否被伪造。当考勤人脸图像与基准人脸图像的相似度达到阈值,考勤ip地址未被伪造且属于ip白名单时,表示考勤结果为考勤成功;反之,表示考勤结果为考勤失败。考勤服务器104将考勤结果返回至用户终端102进行展示。上述整个考勤过程,用户采用自己的用户终端进行考勤,无需增设专用的考勤装置,不仅可以降低考勤成本,还可以实现非接触式的无线考勤,避免集中打卡拥挤的情况,从而可以提高考勤效率;将人脸图像和ip地址结合作为考勤依据,并对考勤ip地址的真伪信息进行校验,可以提高考勤结果的准确性。

在一个实施例中,如图2所示,提供了一种考勤方法,以该方法应用于图1中的考勤服务器为例进行说明,包括以下步骤:

步骤202,接收用户终端发送的考勤信息,考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址。

当用户需要进行考勤时,可以通过用户终端上的考勤app进行考勤。具体的,用户在用户终端启动考勤app,在考勤app录入考勤账号和密码等信息。用户终端将考勤账号和密码发送至考勤服务器进行验证。当接收到考勤服务器返回的验证结果为验证通过时,考勤app显示考勤页面。考勤页面包括考勤按钮,如人脸扫描按钮等。用户在用户终端可以通过点击考勤app中的考勤按钮发起考勤请求。考勤app根据用户的考勤请求进行人脸图像采集。具体的,考勤app根据用户的考勤请求,在考勤页面显示人脸图像采集框以及人脸图像采集提示信息。用户可以根据人脸图像采集信息在人脸图像采集框录入人脸图像(以下称“考勤人脸图像”)。当考勤人脸图像采集成功时,考勤app在考勤页面显示信息采集成功的提示信息。

在另一个实施例中,为了避免用户利用静态图像进行考勤作弊,在进行考勤人脸图像采集之前,用户需要在人脸图像采集框进行某种人脸动作,以提高考勤人脸图像的准确性。具体的,考勤app根据用户的考勤请求,在考勤页面显示人脸图像采集框以及人脸动作提示信息。用户可以根据人脸动作信息在人脸图像采集框进行摇头、眨眼或张嘴等动作。用户终端按照预设时间频率检测人脸图像采集框是否存在用户的人脸动作信息,当存在时,按照上述方式进行考勤人脸图像的采集。

考勤app利用预安装的插件sdk对用户终端对应的终端信息进行采集。终端信息包括用户终端的ip地址(以下称“考勤ip地址”)和定位信息等。其中,定位信息可以是用户终端的gps(globalpositioningsystem,全球定位系统)位置信息。容易理解,终端信息还可以包括硬件识别码、imei(internationalmobileequipmentidentity,国际移动设备身份码)等,对此不作限制。

考勤账号可以作为用户标识,用于唯一标识一个用户。容易理解,用户标识还可以是考勤账号关联的身份证号码、手机号或员工号等,对此不作限制。当考勤人脸图像采集成功时,用户终端将采集到的用户标识以及对应的考勤人脸图像和考勤ip地址作为考勤信息发送至考勤服务器。

步骤204,根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度,对相似度是否达到阈值进行校验。

考勤服务器预存了多个用户标识以及对应的基准人脸图像。考勤人脸图像对应的图像尺寸与基准人脸图像对应的图像尺寸可以相同,也可以不同,从而本实施例提供的考勤方法对用于考勤的用户终端的尺寸没有限制。当接收到用户终端发送的考勤信息时,考勤服务器根据考勤信息中的用户标识获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度。具体的。考勤服务器将考勤人脸图像与基准人脸图像压缩至相同尺寸,使压缩后的两个人脸图像具有相同数量的像素点,如32*32ppi(pixelsperinch,像素每英寸)。考勤服务器将每个人脸图像中多个像素点的像素值作为矩阵元素,生成相应人脸图像对应的像素矩阵。对于rgb颜色模式(一种颜色标准)的图标,对应的每个像素点的像素值包括红(r)、绿(g)、蓝(b)三个颜色通道分别对应的r值,g值和b值。

考勤服务器根据人脸图像中每个像素点的像素值计算相应像素点对应的灰度值,将该人脸图像中多个像素点的灰度值作为矩阵元素,生成相应人脸图像对应的灰度矩阵。每个像素点对应的灰度值可以是该像素点的像素值的平均值,即三个颜色通道对应的r值,g值和b值的平均值,从而将人脸图像对应的像素矩阵转换为灰度矩阵,即将彩色图像对应的矩阵转换为黑白图像对应的矩阵,可以减少考勤服务器计算量。

考勤服务器根据人脸图像中多个像素点的灰度值计算该图标对应的灰度均值。灰度均值为人脸图像对应的灰度矩阵中全部像素点对应灰度值的平均值。考勤服务器根据灰度均值对对应灰度矩阵中的多个灰度值进行替换,得到相应人脸图像对应的目标矩阵。具体的,考勤服务器遍历灰度矩阵中每一个矩阵元素,若矩阵元素对应的灰度值大于或等于灰度均值,则将该矩阵元素对应的灰度值置为第一目标值;否则,将该矩阵元素对应的灰度值置为第二目标值,从而得到人脸图像对应的目标矩阵。

考勤服务器对考勤人脸图像的目标矩阵与基准人脸图像的目标矩阵进行预设逻辑运算,得到相似度矩阵。预设逻辑运算包括异或运算。具体的,考勤服务器对考勤人脸图像的目标矩阵与基准人脸图像的目标矩阵中每个矩阵元素进行异或运算。若考勤人脸图像的目标矩阵与基准人脸图像的目标矩阵中,同一矩阵坐标上的矩阵元素对应的灰度值相同,则考勤服务器将第一相似值作为相同矩阵坐标上的矩阵元素添加至相似度矩阵中;否则,将第二相似值作为相同矩阵坐标上的矩阵元素添加至相似度矩阵中。考勤服务器对相似度矩阵进行遍历,计算相似度矩阵中第一相似值的数量,根据相似度矩阵中第一相似值的数量计算两个人脸图像的相似度。

在一个具体的实施例中,当灰度矩阵中矩阵元素对应的灰度值大于或等于灰度均值时,考勤服务器将该矩阵元素对应的灰度值置为1;否则,将该矩阵元素对应的灰度值置为0,将得到的01矩阵作为人脸图像对应的目标矩阵。考勤服务器对考勤人脸图像的01矩阵与基准人脸图像的01矩阵进行异或计算,将得到的01矩阵作为两个人脸图像对应的相似度矩阵。考勤服务器对相似度矩阵进行遍历,根据相似度矩阵中1的数量确定两个人脸图像的相似度。相似阈值可以是需求自由设置,如9。

本实施例计算考勤人脸图像与基准人脸图像的相似度,仅需简单异或运算和有限次遍历即可计算得到,相对传统复杂的图像处理过程计算量小,可以减少对考勤服务器计算资源的占用,也可以提高考勤效率。

步骤206,获取预设的ip白名单,ip白名单包括多个ip地址;对考勤ip地址是否属于ip白名单进行校验。

考勤服务器中预先存储了ip白名单。ip白名单包括多个ip地址。ip白名单中的ip地址可以是考勤服务器动态采集得到的。具体的,ip白名单记录了多个部门标识,以及每个部门标识对应的用户标识和ip地址,换言之,ip白名单记录了多个部门用于考勤的ip地址。该ip地址可以是一个,也可以是多个;该ip地址可以是内网ip地址,也可以是外网ip地址。

步骤208,按照预设规则对考勤ip地址是否真实进行校验。

在一个实施例中,考勤信息还包括考勤ip地址对应的定位信息;按照预设规则对考勤ip地址是否真实进行校验的步骤包括:根据预存的多个部门标识以及每个部门标识对应的用户标识和目标位置信息,确定考勤信息中的用户标识对应部门标识的目标位置信息;根据定位信息与目标位置信息,计算用户终端对应的位置与目标位置的距离差值;对比距离差值是否超过预设的误差范围;当距离差值未超过预设的误差范围时,表示考勤ip地址校验通过。

用户终端发送的考勤信息还包括考勤ip地址对应的定位信息。考勤服务器中预存的ip白名单中还记录了每个部门标识对应的目标位置信息。需要说明的是,该ip地址对应的目标位置并非一定是职场中的固定位置,也可以是职场中的临时位置,还可以是非职场中的指定位置。例如,当员工需要前往其他分公司进行出差时,可以在其他分公司完成考勤;或者当业务员需要前往指定的客户居所进行访问时,可以在指定的客户居所完成考勤。

考勤服务器根据预存的多个部门标识以及每个部门标识对应的用户标识和目标位置信息,确定考勤信息中的用户标识所属部门的目标位置信息。考勤服务器根据定位信息与目标位置信息,计算用户终端对应的位置与目标位置的距离差值。对比距离差值是否超过预设的误差范围;当距离差值未超过预设的误差范围时,表示考勤ip地址校验通过。容易理解,考勤服务器也可以按照上述方式对动态实时更新时添加至ip白名单的ip地址进行合法性校验,提高ip白名单的可靠性。本实施例通过考勤时用户终端对应的位置对考勤ip地址的真伪性进行确认,可以防止ip地址考勤作弊,提高考勤结果准确性。

步骤210,当相似度达到阈值,且考勤ip地址真实并属于ip白名单时,将考勤成功的考勤结果返回至用户终端。

考勤服务器对考勤信息进行多层级校验,只有当多层级校验分别通过时,表示考勤结果为考勤成功。换言之,当考勤人脸图像与基准人脸图像的相似度达到阈值,考勤ip地址未真实且属于ip白名单时,考勤结果为考勤成功;反之,考勤结果为考勤失败。

在另一个实施例中,为了减少对考勤服务器资源的占用,可以通过设定不用校验条件的优先等级实现在一种校验条件校验失败后不再进行其他校验。例如,当考勤ip地址不属于ip白名单时,则不再对考勤人脸图像与基准人脸图像的相似度是否达到阈值,以及考勤ip地址是否真实进行校验。

本实施例中,用户采用用户终端录入考勤信息,可以将包含用户标识以及对应的考勤人脸图像和考勤ip地址的考勤信息发送至考勤服务器;考勤服务器可以根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度,对相似度是否达到阈值进行校验;考勤服务器预存了ip白名单,根据ip白名单可以对考勤ip地址是否属于ip白名单进行校验;按照预设规则可以对考勤ip地址是否真实进行校验;仅当相似度达到阈值,考勤ip地址信息未真实且属于ip白名单时考勤成功;由于用户可以直接采用用户终端进行考勤,无需增设专用的考勤装置,不仅可以降低考勤成本,还可以实现非接触式的无线考勤,避免集中打卡拥挤的情况,从而可以提高考勤效率;将人脸图像和ip地址结合作为考勤依据,并对考勤ip地址的真伪信息进行校验,通过上述多层级校验可以提高考勤结果的准确性。

在一个实施例中,接收用户终端发送的考勤信息;考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址的步骤包括:接收用户终端发送的混淆加密的考勤信息,混淆加密的考勤信息包括混淆字符串;计算混淆字符串对应的二进制数值;按照预设规则生成混淆字符串对应的盐值,计算盐值对应的二进制数值;通过对混淆字符串对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,对考勤信息进行解密,得到用户标识以及对应的考勤人脸图像和考勤ip地址。

为了提高考勤信息的安全性,用户终端可以利用插件sdk对考勤信息进行加密。加密的方式有很多,如des(dataencryptionstandard,数据加密标准)对称加密,盐值加密等。以下将以盐值加密为例进行描述。

考勤信息包括多个字段,如考勤账号、考勤时间、考勤ip地址或定位信息等,根据字段对应数据信息的重要性可以将字段区分为普通字段和敏感字段。例如,在上述举例中,考勤账号、考勤ip地址可以是敏感字段;考勤时间、定位信息可以是普通字段。

盐值加密是指给考勤信息中的敏感字段关联一个n位随机序列,该n位随机序列即为“盐值”。传统的盐值加密方式中,利用系统方法将敏感字段转化为可读的字符串。但采用系统方法难以保证字符串转换成功率,一旦转换失败,则需要更换盐值,降低加密效率。更重要的是,当字符串转换失败时,敏感字段关联的盐值面临着存储的问题,如果将盐值以明文的方式内置在考勤信息中则不利于加密效果,敏感字段的安全性仍不高。

为了解决上述问题,用户终端获取考勤信息中的敏感字段,动态生成敏感字段对应的盐值,根据敏感字段及对应盐值生成混淆字符串,利用混淆字符串对敏感字段进行加密。具体的,用户终端将敏感字段转化为二进制数值。定制终端按照预设规则获取考勤信息中的一个或多个字段,将获取到的多个字段进行拼接,得到随机字符串,对随机字符串进行哈希变换,生成敏感字段对应的盐值。用户终端将敏感字段对应的盐值转化为二进制数值,对敏感字段对应的二进制数值和盐值对应的二进制数值分别进行加密,对加密后的敏感字段对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,得到目标二进制数值。预设逻辑运算包括异或运算。用户终端将目标二进制数值转化为十六进制数值,将该十六进制数值作为混淆字符串对敏感字段进行替换。将包含敏感字段和盐值的数据信息的混淆字符串内置在考勤信息中,可以解决敏感字段对应盐值的存储问题,且混淆字符串的获取只需简单的进制转换,可以解决字符串转换失败的问题,从而可以提高对考勤信息的加密效率。

用户终端将混淆加密后的考勤信息发送至考勤服务器。考勤服务器获取数据考勤信息中的混淆字符串,对混淆字符串进行解密,将混淆字符串还原为敏感字段。具体的,考勤服务器将考勤信息中的混淆字符串转换为二进制数值。考勤服务器按照上述方式生成混淆字符串对应的盐值,即获取考勤信息中的多个字段,按照预设规则将获取到的多个字段进行拼接,得到随机字符串,对随机字符串进行哈希变换,生成混淆字符串对应的盐值。由于均是按照预设规则利用考勤信息中的字段生成,对混淆字符串解密时生成的盐值与对敏感字段加密时生成的盐值相同。考勤服务器将混淆字符串对应的盐值转化为二进制数值,对混淆字符串对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,得到目标二进制数值。预设逻辑运算包括异或运算。考勤服务器将目标二进制数值转化为十六进制数值。可以理解,该十六进制数值即为敏感字段。

本实施例中,敏感字段的获取只需简单的进制转换,可以减少考勤服务器计算资源的占用,也可以提高对混淆字符串的解密效率。

在一个实施例中,在获取预设的ip白名单的步骤之前,还包括:按照预设的第一时间频率在考勤数据库中采集使用频次达到第一阈值的ip地址,利用采集到的ip地址构建ip白名单;获取考勤记录,按照预设的第二时间频率在考勤记录中采集考勤失败频次达到第二阈值的ip地址,将考勤失败频次达到第二阈值的ip地址添加至ip白名单;通过检测ip地址是否被连续使用,对检测添加至ip白名单的ip地址进行合法性校验;当校验失败时,将未被连续使用的ip地址从ip白名单删除。

初始的ip白名单可以是考勤服务器在考勤数据库中采集得到的。具体的,考勤服务器按照预设的第一时间频率在考勤数据库中采集使用频次达到第一阈值的ip地址。考勤数据库可以是传统考勤方式中用于记录考勤数据的数据库,从而本实施例提供的考勤方法可以很好的与传统考勤方法对接,实现ip白名单自动创建。第一时间频率可以是一天或一周等,不同部门对应的第一阈值可以不同。例如,考勤服务器可以每天收集每个部门使用次数超过相应第一阈值的ip地址,或者每周收集每个部门在预设时间段内使用次数最多的ip地址。容易理解,对于ip地址的采集方式还可以采集其他方式,如相关人员将指定ip地址配置添加至ip白名单,对此不作限制。本实施例只有使用频次达到第一阈值的ip地址才能添加至ip白名单,从而也就限定了只有使用人数达到一定数量的ip地址才能添加至ip白名单用作考勤,单独的一个ip地址并不会被添加至ip白名单,可以一定程度上避免将伪造的ip地址添加至ip白名单,可以很好的防止考勤作弊。

在完成初始的ip白名单的创建后,考勤服务器可以利用该ip白名单进行考勤,并在考勤过程中对ip白名单进行动态实时更新。具体的,考勤服务器按照预设的第二时间频率在考勤记录中采集考勤失败频次达到第二阈值的ip地址其中,考勤记录是指第二时间频率对应的时间段(以下称“考勤时段”)内不同用户的考勤结果。其中,考勤时段可以是每个法定工作日早上7:00~9:00,晚上5:00~6:00等。考勤记录包括考勤时间、考勤时采用的ip地址以及考勤结果。当考勤服务器在考勤时段检测到存在考勤失败频次达到第二阈值的ip地址,则自动将该ip地址添加至ip白名单。例如,若在某个考勤时段某个部门有超过第二阈值数量的用户使用同一个ip地址考勤失败,换言之,一个ip地址在某个考勤时段的使用次数超过第二阈值,但考勤结果均为考勤失败,则表示该ip地址可能是该部门进行正常ip地址变迁得到的。

由于地理位置相近的部门通常采用相同的无线网络,从而可能采用相同的ip地址进行考勤,换言之,同一个ip地址可能用于不同部门的考勤。为了提高ip表名单的更新效率,当对某个部门对应的ip地址进行更新时,考勤服务器对相邻部门对应的ip地址进行同步更新,从而使地理位置相近的部门可以共享ip白名单。

用于考勤的职场网络存在不稳定性,对应的ip地址也不是一成不变的。ip白名单主要通过考勤服务器自动采集途径进行获取,分为定时采集和动态实时更新两种方式获取每个部门用于考勤的ip地址。当职场网络发生变化时,考勤服务器可以实时自动地在满足一定条件后将对应ip地址添加到ip白名单中,确保不会因为正常的职场网络变化而出现异常。事实上,本实施例提供了一种ip白名单构建方法,考勤服务器将每个考勤时段内考勤失败频次达到第二阈值的ip地址自动添加至ip白名单,可以避免部门正常的ip地址变迁对考勤造成影响。

为了提高ip白名单的准确性,考勤服务器在对ip白名单动态实时更新过程中添加至ip白名单的ip地址的准确性进行校验。具体的,考勤服务器可以通过检测ip地址是否被连续使用,对ip地址的合法性进行校验。考勤服务器也可以根据ip地址对应的用户标识和定位信息,对ip地址的合法性进行校验。具体的,考勤服务器根据用户标识查询该用户所属部门的目标位置信息,将新添加的ip地址对应的定位信息与目标位置信息进行匹配,根据匹配结果判断动态添加至ip白名单的ip地址的合法性。需要说明的是,本方案是先将满足上述更新条件的ip地址动态添加至ip白名单,再对ip地址进行合法性校验。容易理解,考勤服务器也可以先进合法性校验再根据校验结果进行添加或删除,对此不做限制。

本实施例中,考勤服务器自动创建ip白名单,并根据考勤记录对ip白名单进行动态实时更新,可以避免部门正常的ip地址变迁对考勤造成影响;对添加至ip白名单的ip地址进行校验,可以提高ip白名单的可靠性,进而可以提高考勤结果的准确性。

在一个实施例中,考勤信息还包括用户终端上的进程运行信息,方法还包括:根据进程进行信息,识别用户终端在考勤时是否运行了虚拟ip地址软件;根据识别结果测算考勤信息对应的考勤作弊风险值;当考勤作弊风险值超过预设的目标风险值时,生成考勤信息重新录入的提示信息,将提示信息发送至用户终端。

当用户在用户终端进行考勤时,用户终端上考勤app还可以利用插件sdk采集用户终端上的进程运行信息,从而考勤信息还包括进行运行信息。具体的,考勤app利用插件sdk在考勤app运行期间,对用户终端上的进程运行信息进行采集。进程运行信息包括正在运行的进程数量、进程名称、进程描述、内存占用等。考勤服务器根据进程运行信息可以判断用户终端在进行考勤时是否运行了虚拟ip地址软件,进而对考勤ip地址的考勤作弊风险进行估算。虚拟ip地址软件包括能够产生虚拟ip地址、虚拟wi-fi等的应用程序或能够进行虚拟定位的应用程序,换言之,包括能够篡改真实ip地址或真实定位信息的应用程序。若用户终端在进行考勤时运行了虚拟ip地址软件,考勤服务器可以根据运行的虚拟ip地址软件的类型、数量以及内存占用情况等测算考勤信息对应的考勤作弊风险值。当考勤作弊风险值超过预设的目标风险值时,表示本次考勤信息可信度低,考勤服务器生成考勤信息重新录入的提示信息,将提示信息发送至用户终端。

本实施例中,在用户终端进行考勤时利用预设插件sdk对用户终端上的进程运行信息进行检监测;根据进程运行信息可以判断用户终端在进行考勤时是否运行了虚拟ip地址软件,进而判断考勤作弊风险,当考勤作弊风险较高时,提示用户重新进行考勤,提高考勤结果准确性。

在一个实施例中,如图3所示,提供了一种考勤方法,以该方法应用于图1中的用户终端为例进行说明,包括以下步骤:

步骤302,获取考勤请求,根据考勤请求获取考勤信息;考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址。

步骤304,将考勤信息发送至考勤服务器;使考勤服务器根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与获取到的基准人脸图像的相似度,对相似度是否达到阈值进行校验;获取预设的ip白名单,ip白名单包括多个ip地址;按照预设规则对考勤ip地址是否真实,以及是否属于ip白名单进行校验;当相似度达到阈值,且考勤ip地址信息真实并属于ip白名单时,生成考勤成功的考勤结果。

步骤306,接收考勤服务器返回的考勤结果,对考勤结果进行展示。

在一个实施例中,将考勤信息发送至考勤服务器的步骤包括:获取考勤信息中的敏感字段,计算敏感字段对应的二进制数值;按照预设规则生成敏感字段对应的盐值,计算盐值对应的二进制数值;对敏感字段对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,得到混淆字符串;通过将混淆字符串对相应敏感字段进行替换,对考勤信息进行混淆加密,将混淆加密后的考勤信息发送至考勤服务器。

用户终端获取考勤信息中的敏感字段,动态生成敏感字段对应的盐值,根据敏感字段及对应盐值生成混淆字符串,利用混淆字符串对敏感字段进行加密。具体的,用户终端将敏感字段转化为二进制数值。定制终端按照预设规则获取考勤信息中的一个或多个字段,将获取到的多个字段进行拼接,得到随机字符串,对随机字符串进行哈希变换,生成敏感字段对应的盐值。用户终端将敏感字段对应的盐值转化为二进制数值,对敏感字段对应的二进制数值和盐值对应的二进制数值分别进行加密,对加密后的敏感字段对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,得到目标二进制数值。预设逻辑运算包括异或运算。用户终端将目标二进制数值转化为十六进制数值,将该十六进制数值作为混淆字符串对敏感字段进行替换。将包含敏感字段和盐值的数据信息的混淆字符串内置在考勤信息中,可以解决敏感字段对应盐值的存储问题,且混淆字符串的获取只需简单的进制转换,可以解决字符串转换失败的问题,从而可以提高对考勤信息的加密效率。

本实施例中,对考勤信息进行加密,可以提高考勤信息的安全性。混淆加密过程利用考勤信息中的多个字段动态产生盐值,可以减少盐值被泄漏的风险。将包含敏感字段和盐值的数据信息的混淆字符串内置在考勤信息中,可以解决敏感字段对应盐值的存储问题。混淆字符串的获取只需简单的进制转换,可以解决字符串转换失败的问题,进而可以提高对敏感字段的加密效率。

应该理解的是,虽然图2或图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2或图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种考勤装置,包括:考勤信息解析模块402、考勤信息校验模块404和考勤结果反馈模块406,其中:

考勤信息解析模块402,用于接收用户终端发送的考勤信息,考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;

考勤信息校验模块404,用于根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度,对相似度是否达到阈值进行校验;获取预设的ip白名单,ip白名单包括多个ip地址;对考勤ip地址是否属于ip白名单进行校验;按照预设规则对考勤ip地址是否真实进行校验;

考勤结果反馈模块406,用于当相似度达到阈值,且考勤ip地址真实并属于ip白名单时,将考勤成功的考勤结果返回至用户终端。

在一个实施例中,考勤信息解析模块402包括信息接收模块4022和信息解密模块4024。信息接收模块4022用于接收用户终端发送的混淆加密的考勤信息,混淆加密的考勤信息包括混淆字符串;信息解密模块4024计算混淆字符串对应的二进制数值;按照预设规则生成混淆字符串对应的盐值,计算盐值对应的二进制数值;通过对混淆字符串对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,对考勤信息进行解密,得到用户标识以及对应的考勤人脸图像和考勤ip地址。

在一个实施例中,该考勤装置还包括ip白名单构建模块408,用于按照预设的第一时间频率在考勤数据库中采集使用频次达到第一阈值的ip地址,利用采集到的ip地址构建ip白名单;获取考勤记录,按照预设的第二时间频率在考勤记录中采集考勤失败频次达到第二阈值的ip地址,将考勤失败频次达到第二阈值的ip地址添加至ip白名单;通过检测ip地址是否被连续使用,对检测添加至ip白名单的ip地址进行合法性校验;当校验失败时,将未被连续使用的ip地址从ip白名单删除。

在一个实施例中,考勤信息校验模块404还用于根据预存的多个部门标识以及每个部门标识对应的用户标识和目标位置信息,确定考勤信息中的用户标识对应部门标识的目标位置信息;根据定位信息与目标位置信息,计算用户终端对应的位置与目标位置的距离差值;对比距离差值是否超过预设的误差范围;当距离差值未超过预设的误差范围时,表示考勤ip地址校验通过。

在一个实施例中,考勤信息还包括用户终端上的进程运行信息。该考勤装置还包括考勤作弊风险评估模块410,用于根据进程进行信息,识别用户终端在考勤时是否运行了虚拟ip地址软件;根据识别结果测算考勤信息对应的考勤作弊风险值;当考勤作弊风险值超过预设的目标风险值时,生成考勤信息重新录入的提示信息,将提示信息发送至用户终端。

在一个实施例中,如图5所示,提供了一种考勤装置,包括:考勤信息录入模块502、考勤信息传输模块504和考勤结果展示模块506,其中:

考勤信息录入模块502,用于获取考勤请求,根据考勤请求获取考勤信息;考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;

考勤信息传输模块504,用于将考勤信息发送至考勤服务器;使考勤服务器根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与获取到的基准人脸图像的相似度,对相似度是否达到阈值进行校验;获取预设的ip白名单,ip白名单包括多个ip地址;按照预设规则对考勤ip地址是否真实,以及是否属于ip白名单进行校验;当相似度达到阈值,且考勤ip地址信息真实并属于ip白名单时,生成考勤成功的考勤结果;

考勤结果展示模块506,用于接收考勤服务器返回的考勤结果,对考勤结果进行展示。

在一个实施例中,考勤信息传输模块504还用于获取考勤信息中的敏感字段,计算敏感字段对应的二进制数值;按照预设规则生成敏感字段对应的盐值,计算盐值对应的二进制数值;对敏感字段对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,得到混淆字符串;通过将混淆字符串对相应敏感字段进行替换,对考勤信息进行混淆加密,将混淆加密后的考勤信息发送至考勤服务器。

关于考勤装置的具体限定可以参见上文中对于考勤方法的限定,在此不再赘述。上述考勤装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储ip白名单。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种考勤方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:接收用户终端发送的考勤信息,考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度,对相似度是否达到阈值进行校验;获取预设的ip白名单,ip白名单包括多个ip地址;对考勤ip地址是否属于ip白名单进行校验;按照预设规则对考勤ip地址是否真实进行校验;当相似度达到阈值,且考勤ip地址真实并属于ip白名单时,将考勤成功的考勤结果返回至用户终端。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收用户终端发送的混淆加密的考勤信息,混淆加密的考勤信息包括混淆字符串;计算混淆字符串对应的二进制数值;按照预设规则生成混淆字符串对应的盐值,计算盐值对应的二进制数值;通过对混淆字符串对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,对考勤信息进行解密,得到用户标识以及对应的考勤人脸图像和考勤ip地址。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:按照预设的第一时间频率在考勤数据库中采集使用频次达到第一阈值的ip地址,利用采集到的ip地址构建ip白名单;获取考勤记录,按照预设的第二时间频率在考勤记录中采集考勤失败频次达到第二阈值的ip地址,将考勤失败频次达到第二阈值的ip地址添加至ip白名单;通过检测ip地址是否被连续使用,对检测添加至ip白名单的ip地址进行合法性校验;当校验失败时,将未被连续使用的ip地址从ip白名单删除。

在一个实施例中,考勤信息还包括考勤ip地址对应的定位信息;处理器执行计算机程序时还实现以下步骤:根据预存的多个部门标识以及每个部门标识对应的用户标识和目标位置信息,确定考勤信息中的用户标识对应部门标识的目标位置信息;根据定位信息与目标位置信息,计算用户终端对应的位置与目标位置的距离差值;对比距离差值是否超过预设的误差范围;当距离差值未超过预设的误差范围时,表示考勤ip地址校验通过。

在一个实施例中,考勤信息还包括用户终端上的进程运行信息,处理器执行计算机程序时还实现以下步骤:根据进程进行信息,识别用户终端在考勤时是否运行了虚拟ip地址软件;根据识别结果测算考勤信息对应的考勤作弊风险值;当考勤作弊风险值超过预设的目标风险值时,生成考勤信息重新录入的提示信息,将提示信息发送至用户终端。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种考勤方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6或图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取考勤请求,根据考勤请求获取考勤信息;考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;将考勤信息发送至考勤服务器;使考勤服务器根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与获取到的基准人脸图像的相似度,对相似度是否达到阈值进行校验;获取预设的ip白名单,ip白名单包括多个ip地址;按照预设规则对考勤ip地址是否真实,以及是否属于ip白名单进行校验;当相似度达到阈值,且考勤ip地址信息真实并属于ip白名单时,生成考勤成功的考勤结果;接收考勤服务器返回的考勤结果,对考勤结果进行展示。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取考勤信息中的敏感字段,计算敏感字段对应的二进制数值;按照预设规则生成敏感字段对应的盐值,计算盐值对应的二进制数值;对敏感字段对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,得到混淆字符串;通过将混淆字符串对相应敏感字段进行替换,对考勤信息进行混淆加密,将混淆加密后的考勤信息发送至考勤服务器。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收用户终端发送的考勤信息,考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与基准人脸图像的相似度,对相似度是否达到阈值进行校验;获取预设的ip白名单,ip白名单包括多个ip地址;对考勤ip地址是否属于ip白名单进行校验;按照预设规则对考勤ip地址是否真实进行校验;当相似度达到阈值,且考勤ip地址真实并属于ip白名单时,将考勤成功的考勤结果返回至用户终端。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收用户终端发送的混淆加密的考勤信息,混淆加密的考勤信息包括混淆字符串;计算混淆字符串对应的二进制数值;按照预设规则生成混淆字符串对应的盐值,计算盐值对应的二进制数值;通过对混淆字符串对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,对考勤信息进行解密,得到用户标识以及对应的考勤人脸图像和考勤ip地址。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:按照预设的第一时间频率在考勤数据库中采集使用频次达到第一阈值的ip地址,利用采集到的ip地址构建ip白名单;获取考勤记录,按照预设的第二时间频率在考勤记录中采集考勤失败频次达到第二阈值的ip地址,将考勤失败频次达到第二阈值的ip地址添加至ip白名单;通过检测ip地址是否被连续使用,对检测添加至ip白名单的ip地址进行合法性校验;当校验失败时,将未被连续使用的ip地址从ip白名单删除。

在一个实施例中,考勤信息还包括考勤ip地址对应的定位信息;计算机程序被处理器执行时还实现以下步骤:根据预存的多个部门标识以及每个部门标识对应的用户标识和目标位置信息,确定考勤信息中的用户标识对应部门标识的目标位置信息;根据定位信息与目标位置信息,计算用户终端对应的位置与目标位置的距离差值;对比距离差值是否超过预设的误差范围;当距离差值未超过预设的误差范围时,表示考勤ip地址校验通过。

在一个实施例中,考勤信息还包括用户终端上的进程运行信息,计算机程序被处理器执行时还实现以下步骤:根据进程进行信息,识别用户终端在考勤时是否运行了虚拟ip地址软件;根据识别结果测算考勤信息对应的考勤作弊风险值;当考勤作弊风险值超过预设的目标风险值时,生成考勤信息重新录入的提示信息,将提示信息发送至用户终端。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取考勤请求,根据考勤请求获取考勤信息;考勤信息包括用户标识以及对应的考勤人脸图像和考勤ip地址;将考勤信息发送至考勤服务器;使考勤服务器根据用户标识获取对应的基准人脸图像,计算考勤人脸图像与获取到的基准人脸图像的相似度,对相似度是否达到阈值进行校验;获取预设的ip白名单,ip白名单包括多个ip地址;按照预设规则对考勤ip地址是否真实,以及是否属于ip白名单进行校验;当相似度达到阈值,且考勤ip地址信息真实并属于ip白名单时,生成考勤成功的考勤结果;接收考勤服务器返回的考勤结果,对考勤结果进行展示。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取考勤信息中的敏感字段,计算敏感字段对应的二进制数值;按照预设规则生成敏感字段对应的盐值,计算盐值对应的二进制数值;对敏感字段对应的二进制数值和盐值对应的二进制数值进行预设逻辑运算,得到混淆字符串;通过将混淆字符串对相应敏感字段进行替换,对考勤信息进行混淆加密,将混淆加密后的考勤信息发送至考勤服务器。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1