一种判断异常考勤数据的方法与流程

文档序号:20921436发布日期:2020-05-29 14:12阅读:784来源:国知局
一种判断异常考勤数据的方法与流程

本发明涉及智能考勤领域,具体涉及一种判断异常考勤数据的方法。



背景技术:

随着手机应用的普及,各种办公app都提供了手机考勤的应用。但是,为了逃避正常的考勤管理,用户可以利用同事手机或地理位置模拟软件等方法提交虚假的考勤信息。所以,需要针对模拟软件、同事手机代打卡等异常数据进行分析识别,向管理人员发出警报。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种判断异常考勤数据的方法,用于解决现有技术的缺陷。

为实现上述目的及其他相关目的,本发明提供一种判断异常考勤数据的方法,应用于一考勤系统,所述考勤系统包括移动端和考勤端,所述方法包括:

获取移动端在第一时间的位置信息与时间信息;

获取移动端向所述考勤端第一次提交考勤请求时的位置信息与时间信息;

根据所述移动端在第一时间的位置信息与时间信息和所述用户在提交考勤请求时的位置信息与时间信息得到获取两次位置信息间的间隔时间以及间隔距离;

根据所述间隔时间与所述间隔距离计算得到用户的移动速率;

根据所述移动速率判断考勤数据是否异常。

可选地,根据所述间隔时间与所述间隔距离计算得到用户的移动速率;包括:

设第一点a的经纬度为(lona,lata),第二点b的经纬度为(lonb,latb),按照0度经线的基准,东经取经度的正值(longitude),西经取经度负值(-longitude),北纬取90-纬度值(90-latitude),南纬取90+纬度值(90+latitude),则经过上述处理过后的两点被计为(mlona,mlata)和(mlonb,mlatb),则第一点a与第二点b两点间的间隔距离的如下公式:

t=sin(mlata)*sin(mlatb)*cos(mlona-mlonb)+cos(mlata)*cos(mlatb)

间隔距离=r*arccos(t)*pi/180;

间隔时间=位于第二点b的时间-位于第一点a的时间;

用户移动速率=间隔距离/间隔时间。

可选地,所述根据所述用户移动速率判断考勤数据是否异常,包括:

判断用户移动速率是否超过设定阈值;若超过,则考勤数据异常,反之则正常。

可选地,该方法还包括:

获取用户在第一次提交考勤请求时与第二次提交考勤请求时的设备信息,该设备用于提交考勤请求,所述设备信息包括设备唯一标志符,该设备唯一标志符与用户标识相关联;

根据用户在第一次提交考勤请求时与第二次提交考勤请求时的设备唯一标志符判断考勤数据是否异常。

可选地,所述根据用户在第一次提交考勤请求时与第二次提交考勤请求时的设备唯一标志符判断考勤数据是否异常,包括:

若用户在第一次提交考勤请求时与第二次提交考勤请求时的设备唯一标志符不相同,则考勤数据异常,反之则正常。

可选地,该方法还包括:

获取某一用户在某一次和所有用户在某一时间段内提交考勤请求时的考勤数据,所述考勤数据包括用户标识和设备标识,所述用户标识与所述设备标识唯一绑定;

若在不包含的某一用户的其他用户的考勤数据中,存在与某一用户的设备标识相同的用户,则表示考勤数据异常,反之则考勤数据正常。

可选地,所述考勤端具有唯一标识符和有效考勤区域,所述移动端存储有包括多个身份信息的列表;

在用户提交考勤数据时,所述考勤端获取所述包括多个身份信息的列表;

若所述包括多个身份信息的列表中包含考勤端的唯一标识符,则根据所述移动端所处位置判断考勤数据是否异常。

可选地,根据所述移动端所处位置判断考勤数据是否异常,包括:

判断所述移动端是否位于所述有效考勤区域内;若在有效考勤区域内,则考勤数据正常,否则考勤数据异常。

可选地,若所述列表中不包含考勤端的唯一标识符,则考勤数据异常。

可选地,所述考勤端包括有无线通信模块,所述唯一标识符包括无线通信模块的mac地址。

如上所述,本发明的一种判断异常考勤数据的方法,具有以下有益效果:

本发明从多维度监控异常数据,能够保证考勤数据真实,防止人员用模拟器、让同事使用手机设备代打卡、用改装路由器硬件作弊等手段提交打卡信息。

附图说明

图1为本发明一实施例一种考勤系统的结构示意图;

图2为本发明一实施例一种判断异常考勤数据的方法的流程图;

图3为本发明另一实施例一种判断异常考勤数据的方法的流程图;

图4为本发明又一实施例一种判断异常考勤数据的方法的流程图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

图1为一种考勤系统的结构示意图,包括考勤端和移动端,所述移动端在本发明中也可以被叫作用户。所述考勤端可以为个人计算机或者为搭载于所述个人计算机的软件,所述移动端可以为智能手机或者为搭载于所述智能手机的软件模块。其中,移动端能够在用户发起一般业务请求时附带提交gps地理位置信息和时间信息;考勤端能够在用户发起一般业务请求时附带接收移动端提交的gps地理位置信息和时间信息;在用户没有主动发起业务请求或在移动端在后台运行程序进程时周期性地接收gps地理位置信息和手机设备信息。

实施例一

如图2所示,本发明提供一种判断异常考勤数据的方法,应用于一考勤系统,所述考勤系统包括移动端和考勤端,所述方法包括:

s21.获取移动端在第一时间的位置信息与时间信息;所述位置信息包括经纬度;

在接收的移动端周期性提交的gps地理位置信息和时间信息,选择一个请求作为第一时间接收的请求,该请求中包括在第一时间的位置信息和时间信息;

s22.获取移动端向所述考勤端第一次提交考勤请求时的位置信息与时间信息;

其中,第一时间在提交考勤请求的时间之前,在第一时间获取的位置信息与用户提交考勤请求时的间隔时间小于5分钟,例如可以为2分钟。

s23.根据所述移动端在第一时间的位置信息与时间信息和所述用户在提交考勤请求时的位置信息与时间信息得到获取两次位置信息间的间隔时间以及间隔距离;

其中,间隔时间等于提交考勤时的时间信息减去第一时间时的时间信息,间隔距离即为提交考勤时的位置信息减去用户在第一时间时的位置信息;

s24.根据所述间隔时间与所述间隔距离计算得到用户的移动速率;

在一实施例中,根据所述间隔时间与所述间隔距离得到用户移动速率,包括:

设第一点a的经纬度为(lona,lata),第二点b的经纬度为(lonb,latb),按照0度经线的基准,东经取经度的正值(longitude),西经取经度负值(-longitude),北纬取90-纬度值(90-latitude),南纬取90+纬度值(90+latitude),则经过上述处理过后的两点被计为(mlona,mlata)和(mlonb,mlatb),则第一点a与第二点b两点间的间隔距离的如下公式:

t=sin(mlata)*sin(mlatb)*cos(mlona-mlonb)+cos(mlata)*cos(mlatb)

间隔距离=r*arccos(t)*pi/180,其中,r为地球半径,具体可以取6378.140千米,pi为圆周率,具体可以取3.141592653589793;

间隔时间=位于第二点b的时间-位于第一点a的时间;

用户移动速率=间隔距离/间隔时间。

s25.根据所述用户移动速率判断考勤数据是否异常。具体地,所述根据所述用户移动速率判断考勤数据是否异常,包括:

判断用户移动速率是否超过设定阈值;若超过,则考勤数据异常,反之则正常。

当然,还可以获取用户在第二时间的位置信息;

其中,第二时间在提交考勤请求的时间之后,在第二时间获取的位置信息与用户提交考勤请求时的间隔时间小于5分钟,例如可以为2分钟。

采用上述类似的方法通过提交考勤请求时的时间信息、位置信息与第二时间获取的位置信息、时间信息判断考勤数据是否异常。

其中,用户移动速率的设定阈值可以设定为80千米/小时,超过这个值,则认为不符合日常正常用户的移动行为,判断为异常数据。

比如,某一用户在第一次提交考勤请求完成打卡,可以认为该考勤数据正常;但用户若使用模拟软件完成打卡行为,也可以认为该考勤数据正常,但用户实际上不在打卡范围内。因此,没有办法区分是否是真正完成打卡。那么本发明通过周期性的获取用户的位置信息和时间信息,通过位置信息和时间信息得到用户的移动速率判断考勤数据是否正常。若存在用户关闭模拟软件的情况,则可以获取用户的真实位置信息,因此,根据上一次获取的数据和本次获取的数据可以计算出的移动速率,将会超过正常用户的移动行为,因此,可以认为考勤数据不正常。

在一实施例中,可以在提交考勤请求的时间之前和提交考勤请求的时间之后采集多次位置信息,通过多个时间采集提高数据的准确性。

实施例二

如图3所示,在一实施例中,一种判断异常考勤数据的方法还包括:

s31获取用户在第一次提交考勤请求时与第二次提交考勤请求时的设备信息,该设备用于提交考勤请求,所述设备信息包括设备唯一标志符,该设备唯一标志符与用户标识相关联。

其中,设备唯一标志符与用户相关联可以理解为,通过设备唯一标志符可以识别唯一的用户,若唯一标志符关联的用户发生变化,则可以认为考勤数据异常;所述设备唯一标志符指唯一标识移动端的信息,比如可以是移动端的国际身份码imei等。优先通过midservice获取,如果空则判断是否有权限,有则通过系统的telephonymanager获取deviceid,无则生成随机的uuid。

s32根据用户在第一次提交考勤请求时与第二次提交考勤请求时的设备唯一标志符判断考勤数据是否异常。

具体地,所述根据用户在第一次提交考勤请求时与第二次提交考勤请求时的设备唯一标志符判断考勤数据是否异常,包括:

若用户在第一次提交考勤请求时与第二次提交考勤请求时的设备唯一标志符不相同,则考勤数据异常,反之则正常。

比如,用户a在第一次完成打卡后,考勤端记录下该用户的帐户和与帐户唯一绑定的标志符。当用户b利用自已的设备帮用户a完成打卡,那么此时,考勤端记录下用户a的帐户信息和用户b设备的唯一标志符,因此可以判断属于找人代打卡的情况,考勤数据发生异常。

实施例三

如图4所示,在一实施例中提供一种判断异常考勤数据的方法还包括:

s41获取某一用户在某一次和所有用户在某一时间段内提交考勤请求时的考勤数据,所述考勤数据包括用户标识和设备标识,所述用户标识与所述设备标识唯一绑定;

其中,所述用户标识为用户的帐号信息,所述设备唯一标志符指唯一标识移动端的信息,比如可以是电话号码、移动端的国际身份码imei等。

s42若在不包含的某一用户的其他用户的考勤数据中,存在与某一用户的设备标识相同的用户,则表示考勤数据异常,反之则考勤数据正常。

实施例四

在一实施例中一种判断异常考勤数据的方法,用于如图1所示的考勤系统。

图1为一种考勤系统的结构示意图,包括考勤端和移动端。所述考勤系统包括考勤端和移动端,所述考勤端可以为个人计算机或者为搭载于所述个人计算机的软件,所述移动端可以为智能手机或者为搭载于所述智能手机的软件模块。其中,移动端能够在用户发起一般业务请求时附带提交gps地理位置信息和时手机设备信息;考勤端能够在用户发起一般业务请求时附带接收移动端提交的gps地理位置信息和手机设备信息;在用户没有主动发起业务请求或在移动端在后台运行程序进程时周期性地接收gps地理位置信息和手机设备信息,设备信息可以关联用户的帐户信息。

所述考勤端具有唯一标识符和有效考勤区域,所述移动端存储有包括多个身份信息的列表;

其中,唯一标识符是指唯一标识移动端的信息,有效考勤区域是指能够读取移动端的多个身份信息的列表;在用户提交考勤数据时,所述考勤端获取所述包括多个身份信息的列表;若所述包括多个身份信息的列表中包含考勤端的唯一标识符,则根据所述移动端所处位置判断考勤数据是否异常。

具体地,根据所述移动端所处位置判断考勤数据是否异常,包括:

判断所述移动端是否位于所述有效考勤区域内;若在有效考勤区域内,则考勤数据正常,否则考勤数据异常。

更加具体地,若所述列表中不包含考勤端的唯一标识符,则考勤数据异常。

在一实施例中,所所述考勤端包括有无线通信模块,所述唯一标识符包括无线通信模块的mac地址,移动端存储的包括多个身份信息的列表,这个列表中存储有多个设备的mac地址。

可以理解的是,当用户进行到有效考勤区域时,移动端可以连接到考勤端的无线通信模块,考勤端读取移动端的wlanmac地址信息,并与设定的wlanmac地址信息进行比较,若相同时,可以认为该用户完成考勤。但由于可以存在代打卡或者利用作弊软件进行模拟,因此,本发明还对移动端的位置进行确认,根据所述移动端所处位置判断考勤数据是否异常,若移动端位于有效区域外,可以认为考勤数据异常,其中有效区域可以设置为半径为300m圆形区域。所述移动端的位置可以移动端的gps位置。

实施例五

在实施例一至四中,分别提供了一种判断异常考勤数据的方法,包括根据移动速率进行判断;根据设备标识符来判断;或者根据位置来判断。

需要说明的是,在另一实施例中,可以对这几种方法进行组合来判断考勤数据是否异常。

在一实施例中,可以通过实施例一中根据移动速率先进行判断,当判断数据正常时,可以再采用实施例二、三、四中的一个或多个组合进行判断,考勤数据是否异常。而采用多个实施例的方法进行组合来判断考勤数据是否异常的前提是之前的某一种方式判断考勤数据是异常的。

在一实施例中,通过实施例一的方式判断考勤数据是否正常,若正常,则采用实施例二的方式判断考勤数据是否正常,若正常,则可以采用实施例四的方式再进行判断,从而实现考勤数据是否异常的判断。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器((ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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