具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了提高考勤效率以及准确率,本发明实施例提供了一种考勤方法,如图1所示,该方法主要包括:
101、获取连接指定网络的终端的终端标识。
指定网络是办公区域的局域网,该局域网可以是无线保真(Wi-Fi,WirelessFidelity)网路。终端和员工具有一一对应关系,其中终端可以是该员工的手机、电脑等。终端标识是终端区别于其他终端、具有唯一性的标识,例如可以是终端的媒体访问控制(MAC,Medium Access Control)地址或互联网协议(IP,Internet Protocol)地址。当员工出现在办公区域时,员工携带的手机或平板电脑自动连接该办公区的局域网,或当员工开启台式电脑或笔记本电脑时,该电脑自动连接该办公区的局域网。当检测到终端连接办公区域的局域网时,考勤服务器可以获取连接该局域网的终端的终端标识,以便后续根据终端标识确认持有该终端的员工的身份。
102、通过访问局域网控制器或应用程序日志获取终端标识与用户身份信息的对应关系。
所述局域网控制器是用于控制终端通过用户身份信息登录所述指定网络的控制器,所述应用程序日志是终端通过用户身份信息登录预设应用时所述预设应用生成的日志。
在指定网络启用身份认证登录后,终端通过用户身份信息登录该指定网络,局域网控制器会存储身份认证成功的终端的终端标识和与该终端标识对应的用户身份信息。预设应用指的是公司的内部办公系统,例如邮件系统、办公自动化(OA,Office Automation)系统、文件共享系统等。终端通过用户身份信息登录预设应用时,该预设应用的应用程序日志会存储该终端的终端标识和与该终端标识对应的用户身份信息。因此访问局域网控制器或应用程序日志即可获取终端标识与用户身份信息的对应关系。
103、通过所述对应关系确定所述连接指定网络的终端的终端标识对应的用户身份信息,以便通过确定的用户身份信息以及当前时间生成考勤记录。
在获取到连接指定网络的终端的终端标识时,记录获取该终端标识的时间为当前时间;并将该终端标识与获取的对应关系中的终端标识进行匹配,根据匹配结果即可确定持有该终端的员工的用户身份信息。在获得用户身份信息和当前时间后,可以根据用户身份信息将当前时间记录到对应的员工的考勤记录中。
本发明实施例提供的考勤方法,无需借助人工操作获取考勤数据,考勤服务器仅需要访问局域网控制器或应用程序日志即可获取终端标识与用户身份信息的对应关系,再根据该对应关系就能够快速且准确地确定连接指定网络的终端的终端标识对应的用户身份信息,也就是说只要员工的终端一连接办公区域的网络,考勤服务器就可以自动地确定该员工的用户身份信息,从而能够根据确定的用户身份信息和当前时间生成该员工的考勤记录。
在下述实施例中考勤服务器采用了三种方式获取连接指定网络的终端的终端标识:1.通过访问核心交换机获取终端标识;2.通过访问局域网控制器获取终端标识;3.通过扫描指定网络的网段获取终端标识。对比这三种方式,核心交换机中记录的终端标识数据最准确且最完整,局域网控制器中记录终端标识数据次准确、次完整;因此考勤服务器优先选择通过访问核心交换机获取终端标识。如果考勤服务器不具有访问核心交换机的权限,那么就选择通过访问局域网控制器获取终端标识;如果考勤服务器也不具有访问局域网控制器的权限,那么就通过扫描指定网络的网段获取终端标识。
基于上述实施例,本发明另一实施例进一步提供了另一种考勤方法,参照附图2所示,该方法主要包括:
201、考勤服务器与核心交换机建立连接。
由于核心交换机主要的功能是处理指定网络内终端的通信,因此其会对连接所述指定网络的终端的终端标识进行管理。考勤服务器与开放了访问权限的核心交换机进行通信,就可以从核心交换机中获取所有连接指定网络的终端的终端标识。
202、核心交换机判断考勤服务器是否具有访问权限;若判断考勤服务器具有访问权限,则执行步骤203;若判断考勤服务器不具有访问权限,则执行步骤204。
考勤服务器如果具有访问核心交换机的权限,就可以从核心交换机中获取所有连接指定网络的终端的终端标识;如果不具有访问核心交换机的权限,那么可以通过与局域网控制器通信来获取连接指定网络的终端的终端标识。另外,在判断访问权限时,可以通过考勤服务器是否在核心交换机中具有管理账户来判断该考勤服务器是否具有访问该核心交换机的权限。
203、考勤服务器通过实时访问核心交换机获取当前时间连接所述指定网络的终端的终端标识;执行步骤206。
核心交换机是用于管理连接所述指定网络的终端的终端标识的交换机。考勤服务器在有权限访问核心交换机的情况下,可以使用远程终端(telnet)协议或安全外壳(ssh,Secure Shell)协议登录核心交换机,通过使用显示(show)等核心交换机预设的命令控制该核心交换机输出所有连接指定网络的终端的终端标识。若考勤服务器实时对核心交换机进行访问,则可以实时获取当前时间连接指定网络的终端的终端标识。
204、考勤服务器与局域网控制器建立连接。
如果考勤服务器不具有访问核心交换机的权限,那么就可以通过与局域网控制器通信来获取连接指定网络的终端的终端标识。
205、考勤服务器通过实时访问所述局域网控制器的管理数据库,获取当前时间连接所述指定网络的终端的终端标识。
考勤服务器在有权限访问局域网控制器的情况下,可以使用telnet协议、ssh协议、或超文本传输协议(HTTP,Hyper Text Transfer Protocol)登录局域网控制器,通过使用show等局域网控制器预设的命令控制局域网控制器输出所有连接指定网络的终端的终端标识。若考勤服务器实时对局域网控制器进行访问,则可以实时获取当前时间连接指定网络的终端的终端标识。
206、考勤服务器与局域网控制器进行建立连接。
因为局域网控制器会将身份认证成功的终端的终端标识与用户身份信息的对应关系存储在管理数据库中,所以如果考勤服务器有权限访问局域网控制器的管理数据库,那么就可以通过与局域网控制器的通信从该管理数据库中获取终端标识与用户身份信息的对应关系。
207、考勤服务器实时或者周期性地从所述管理数据库中获取终端标识与用户身份信息的对应关系。
若终端的终端标识是固定不变的,例如终端标识是终端的MAC地址或固定IP地址,或是周期性变化的,例如终端标识是终端的移动IP地址,则考勤服务器可以根据预设周期或终端标识的变化周期,对管理数据库进行周期性访问,确保能够准确且全面地获取终端标识与用户身份信息的对应关系。若终端的终端标识是实时变化的,或是周期性变化但周期的时间较短的,考勤服务器则可以对管理数据库进行实时访问,确保能够准确且全面地获取终端标识与用户身份信息的对应关系。考勤服务器也可以根据需求设置实时访问或周期访问管理数据库,例如根据公司人员变动的周期,考勤服务器可以周期性地从管理数据库中获取终端标识与用户身份信息的对应关系;或如果一段时间内公司人员变动较为频繁,那么考勤服务器可以实时地从管理数据库中获取终端标识与用户身份信息的对应关系;以确保能够获取准确、全面的对应关系。
208、考勤服务器通过所述对应关系确定所述连接指定网络的终端的终端标识对应的用户身份信息,以便通过确定的用户身份信息以及当前时间生成考勤记录。
步骤208的实现方式和上述实施例的步骤103相同,在此不再赘述。
本发明实施例提供的考勤方法,能够根据终端标识的变化周期,实时或者周期性地从所述管理数据库中获取终端标识与用户身份信息的对应关系,确保考勤服务器能够准确且全面地获取终端标识与用户身份信息的对应关系。
基于上述实施例,本发明又一实施例进一步提供了又一种考勤方法,参照附图3所示,该方法主要包括:
301、考勤服务器与核心交换机建立连接。
302、核心交换机判断考勤服务器是否具有访问权限;若判断考勤服务器具有访问权限,则执行步骤303;若判断考勤服务器不具有访问权限,则执行步骤304。
303、考勤服务器通过实时访问核心交换机获取当前时间连接所述指定网络的终端的终端标识;执行步骤308。
304、考勤服务器与局域网控制器建立连接。
步骤301-304的实现方式与上述实施例的步骤201-204相同,在此不再赘述。
305、局域网控制器判断考勤服务器是否具有访问该局域网控制器中管理数据库的权限;若判断考勤服务器具有访问该管理数据库的权限,则执行步骤306;若判断考勤服务器不具有访问该管理数据库的权限,则执行步骤307。
考勤服务器如果不具有访问核心交换机的权限,那么就需要通过与局域网控制器通信来获取连接指定网络的终端的终端标识;考勤服务器如果也不具有访问核心交换机的权限,那么就需要通过扫描指定网络的网段来获取连接该指定网络的终端的终端标识。另外,在判断访问权限时,可以通过考勤服务器是否在局域网控制器中具有管理账户来判断该考勤服务器是否具有访问该局域网控制器的权限。
306、考勤服务器通过实时访问所述局域网控制器的管理数据库,获取当前时间连接所述指定网络的终端的终端标识;执行步骤308。
步骤306的实现方式和上述实施例的步骤205相同,在此不再赘述。
307、考勤服务器通过实时扫描所述指定网络的网段获取当前时间连接所述指定网络的终端的终端标识。
考勤服务器通过使用nmap命令实时扫描指定网络的网段,能够获取当前时间连接该指定网络的所有终端的IP地址;考勤服务器通过使用arp命令实时扫描指定网络的网段,能够获取当前时间连接该指定网络的所有终端的MAC地址。
308、考勤服务器与预设应用建立连接。
因为预设应用将终端标识与该用户身份信息的对应关系存储在应用程序日志中,所以如果考勤服务器有权限访问预设应用的应用程序日志,那么就可以通过与预设应用通信从该应用程序日志中获得终端标识与用户身份信息的对应关系。预设应用的应用程序日志可以通过文件共享、网络文件系统(NFS,Network File System)共享等方式对考勤服务器开放访问权限。
309、考勤服务器实时或者周期性地访问所述应用程序日志。
若终端的终端标识是固定不变的,例如终端标识是终端的MAC地址或固定IP地址,或是周期性变化的,例如终端标识是终端的移动IP地址,则考勤服务器可以根据预设周期或终端标识的变化周期,对应用程序日志进行周期性访问,确保能够准确且全面地获取终端标识与用户身份信息的对应关系。若终端的终端标识是实时变化的,或是周期性变化但周期的时间较短的,考勤服务器则可以对应用程序日志进行实时访问,确保能够准确且全面地获取终端标识与用户身份信息的对应关系。考勤服务器也可以根据需求设置实时访问或周期访问应用程序日志,例如根据公司人员变动的周期,考勤服务器可以周期性地从应用程序日志中获取终端标识与用户身份信息的对应关系;或如果一段时间内公司人员变动较为频繁,那么考勤服务器可以实时地从应用程序日志中获取终端标识与用户身份信息的对应关系;以确保获取了准确、全面的对应关系。
310、考勤服务器通过字符串查找和/或正则表达式分析的方式对所述应用程序日志进行分析。
考勤服务器通过字符串查找和/或正则表达式分析对应用程序日志的数据进行分析,查找到终端标识,并根据终端标识查找到与该终端标识对应用户身份信息。
311、考勤服务器判断是否能够查找到与终端标识对应的用户身份信息。若判断能够查找到与终端标识对应的用户身份信息,则执行步骤312;若判断不能查找到与终端标识对应的用户身份信息,则执行步骤313。
若终端之前没有通过用户身份信息登录过预设应用,考勤服务器则不能在应用程序日志中查找到与终端标识对应用户身份信息,就需要通过与该终端标识对应的会话信息间接获取与该终端标识对应用户身份信息。
312、考勤服务器根据查找到的终端标识和与该终端标识对应用户身份信息得到该终端标识与用户身份信息的对应关系。执行步骤315。
例如员工A在通过终端登录预设应用时,预设应用的应用程序日志会存储登录的终端的终端标识以及该终端登录时输入的用户身份信息(即该终端标识对应的用户身份信息)。当考勤服务器通过字符串查找和/或正则表达式分析该应用程序日志时,查找到属于员工A的终端标识以及该终端标识对应的用户身份信息,就可以得到属于员工A的终端标识与用户身份信息的对应关系。
313、考勤服务器从所述应用程序日志中获取终端标识和所述终端标识对应的会话信息。
所述会话信息是所述终端登录所述预设应用时存储的与会话相关的信息。
考勤服务器若不能在应用程序日志中直接查找到与终端标识对应的用户身份信息,则需要根据应用程序日志中存储的会话信息间接查找与终端标识对应的用户身份信息。考勤服务器配置应用程序日志的输出内容,控制其输出终端的终端标识和属于该终端标识的会话信息,确定终端标识和会话信息的对应关系。该会话信息可以是该终端通过浏览器或预设应用的客户端登录预设应用时存储在用户本地终端上的数据(cookie)或时域(session)中的会话信息。
314、考勤服务器从所述预设应用的数据库中反向查找所述会话信息对应的用户身份信息,得到终端标识与用户身份信息的对应关系。
所述数据库是用于存储所述用户注册预设应用时输入的用户身份信息和产生的会话信息的数据库。
例如会话信息可以是用户登录预设应用的账户信息,该预设应用在员工注册的时候就会在数据库中存储员工的账户信息与用户身份信息的对应关系。因为终端标识与账户信息的对应关系以及账户信息与用户身份信息的对应关系都是一一对应的关系,所以根据这两组对应关系就可以确定终端标识与用户身份信息的对应关系。
315、考勤服务器通过所述对应关系确定所述连接指定网络的终端的终端标识对应的用户身份信息,以便通过确定的用户身份信息以及当前时间生成考勤记录。
步骤315的实现方式和上述实施例的步骤103相同,在此不再赘述。
本发明实施例提供的考勤方法,提供了三种获取连接指定网络的终端的终端标识的方法以及利用预设应用获取终端标识与用户身份信息的对应关系的方法,确保考勤服务器在其中一种获取终端标识的方法无法实现时,也能够通过其他方式获取终端标识,并能够通过访问应用程序日志获取终端标识与用户身份信息的对应关系,增加了考勤服务器获取数据的途径。
进一步的,依据上述方法实施例,本发明的另一个实施例还提供了一种考勤装置,如图4所示,所述装置主要包括:
第一获取单元41,用于获取连接指定网络的终端的终端标识;
第二获取单元42,用于通过访问局域网控制器或应用程序日志获取终端标识与用户身份信息的对应关系,所述局域网控制器是用于控制终端通过用户身份信息登录所述指定网络的控制器,所述应用程序日志是终端通过用户身份信息登录预设应用时所述预设应用生成的日志;
确定单元43,用于通过所述对应关系确定所述连接指定网络的终端的终端标识对应的用户身份信息,以便通过确定的用户身份信息以及当前时间生成考勤记录。
可选的,根据附图5所示,所述第二获取单元42包括:
第一获取模块421,用于当考勤服务器具有访问所述局域网控制器中管理数据库的权限时,实时或者周期性地从所述管理数据库中获取终端标识与用户身份信息的对应关系。
可选的,根据附图5所示,所述第二获取单元42包括:
第二获取模块422,用于当考勤服务器具有访问所述应用程序日志的权限时,实时或者周期性地访问所述应用程序日志;通过字符串查找和/或正则表达式分析的方式对所述应用程序日志进行分析,获取所述应用程序日志中记录的终端标识以及所述终端标识对应的用户身份信息,得到终端标识与用户身份信息的对应关系。
可选的,所述第二获取模块422还用于当未查找到所述应用程序日志中的终端标识对应的用户身份信息时,从所述应用程序日志中获取终端标识和所述终端标识对应的会话信息;所述会话信息是所述终端登录所述预设应用时存储的与会话相关的信息;从所述预设应用的数据库中反向查找所述会话信息对应的用户身份信息,得到终端标识与用户身份信息的对应关系。
可选的,根据图5所示,所述第一获取单元41包括:
第三获取模块411,用于通过实时访问核心交换机获取当前时间连接所述指定网络的终端的终端标识,所述核心交换机是用于管理连接所述指定网络的终端的终端标识的交换机;
第四获取模块412,用于通过实时访问所述局域网控制器的管理数据库获取当前时间连接所述指定网络的终端的终端标识;
第五获取模块413,用于通过实时扫描所述指定网络的网段获取当前时间连接所述指定网络的终端的终端标识。
本发明实施例提供的考勤装置,无需借助人工操作获取考勤数据,考勤服务器仅需要访问局域网控制器或应用程序日志即可获取终端标识与用户身份信息的对应关系,再根据该对应关系就能够快速且准确地确定连接指定网络的终端的终端标识对应的用户身份信息,也就是说只要员工的终端一连接办公区域的网络,考勤服务器就可以自动地确定该员工的用户身份信息,从而能够根据确定的用户身份信息和当前时间生成该员工的考勤记录。
进一步的,依据上述方法实施例,本发明的另一个实施例还提供了一种存储介质,所述存储介质存储有多条指令,所述指令适用于由处理器加载并执行上述考勤方法。
本发明实施例提供的存储介质中所存储的指令,能够在获取考勤数据时,无需借助人工操作获取考勤数据,考勤服务器仅需要访问局域网控制器或应用程序日志即可获取终端标识与用户身份信息的对应关系,再根据该对应关系就能够快速且准确地确定连接指定网络的终端的终端标识对应的用户身份信息,也就是说只要员工的终端一连接办公区域的网络,考勤服务器就可以自动地确定该员工的用户身份信息,从而能够根据确定的用户身份信息和当前时间生成该员工的考勤记录。
进一步的,依据实施例,本发明的另一个实施例还提供了一种考勤系统,所述考勤服务器包括存储介质和处理器;
其中,所述处理器,适于实现各指令;
所述存储介质,适于存储多条指令;
所述指令适于由所述处理器加载并执行上述考勤方法。
本发明实施例提供的考勤系统,能够在获取考勤数据时,无需借助人工操作获取考勤数据,考勤服务器仅需要访问局域网控制器或应用程序日志即可获取终端标识与用户身份信息的对应关系,再根据该对应关系就能够快速且准确地确定连接指定网络的终端的终端标识对应的用户身份信息,也就是说只要员工的终端一连接办公区域的网络,考勤服务器就可以自动地确定该员工的用户身份信息,从而能够根据确定的用户身份信息和当前时间生成该员工的考勤记录。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法、装置及系统中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的考勤方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。