一种考勤打卡的处理方法及装置与流程
- 国知局
- 2024-07-31 22:09:39
本技术涉及计算机应用,特别是涉及一种考勤打卡的处理方法及装置。
背景技术:
1、考勤打卡是指员工根据公司规定的时间,在特定地点进行签到和签退记录。这种方式是为了管理员工的出勤情况以及计算工作时间。随着科技的发展,考勤打卡技术经历了从手工记录、机械打卡、电子考勤系统到云考勤系统的转变。
2、其中随着云计算技术的兴起,云考勤系统逐渐成为广泛采用的一种打卡方式。云考勤系统将考勤数据存储在云端服务器,实现了随时随地的访问和管理。员工可以通过手机app、特定页面等方式进行考勤,管理者可以实时查看和管理考勤数据,提升了管理的便利性和实时性。但随着考勤打卡用户量的急速增加,考勤服务端每到早中晚的高峰打卡期间都承担着很大的系统压力,当服务器端压力过大出现异常,会引发成千上万用户无法正常打卡。因此,这一问题亟待解决。
技术实现思路
1、有鉴于此,本技术提供了一种考勤打卡的处理方法及装置,以便于解决服务器端异常导致的用户无法正常考勤打卡的问题。
2、本技术提供了如下方案:
3、第一方面,提供了一种考勤打卡的处理方法,应用于用户终端,所述方法包括:
4、响应于用户触发打卡的事件,向打卡服务器发送携带打卡数据的请求并在用户终端本地记录所述打卡数据,所述打卡数据的状态为第一状态;
5、若确定所述打卡服务器接收到所述请求但在预设第一时长内未收到所述打卡服务器返回的打卡结果,则针对所述打卡数据执行延迟打卡流程;
6、其中,所述延迟打卡流程包括:更新记录的所述打卡数据的状态为第二状态,所述第二状态指示请求发送成功且等待打卡结果;若接收到所述打卡服务器针对所述请求返回的打卡结果,或者,响应于触发打卡结果拉取的事件,依据记录的处于第二状态的所述打卡数据从所述打卡服务器成功拉取到打卡结果,则更新记录的所述打卡数据的状态为第三状态,所述第三状态指示打卡成功。
7、根据本技术实施例中一可实现的方式,所述触发打卡结果拉取的事件包括:在所述打卡数据的状态处于第二状态下,打卡页面被刷新的事件。
8、根据本技术实施例中一可实现的方式,所述方法还包括:
9、若确定所述打卡服务器未接收到所述请求且用户网络正常,则针对所述打卡数据执行离线打卡流程;
10、所述离线打卡流程包括:更新记录的所述打卡数据的状态为第四状态,所述第四状态指示请求未发送;若接收到触发离线上报的事件,则针对处于第四状态的所述打卡数据向打卡服务器发送请求,若从所述打卡服务器获取到打卡结果,则更新记录的所述打卡数据的状态为第三状态。
11、根据本技术实施例中一可实现的方式,所述触发离线上报的事件包括:
12、定时器触发的事件,或者,
13、打卡页面被重新打开的事件。
14、根据本技术实施例中一可实现的方式,在所述离线打卡流程中,针对所述打卡数据向打卡服务器发送请求之前,还包括:
15、确定当前是否处于降级模式,若处于降级模式,则结束流程;否则,执行所述针对所述打卡数据向打卡服务器发送请求的步骤;
16、其中,若接收到打卡服务器因打卡服务器端异常而发送的降级通知或连续n次从所述打卡服务器拉取打卡结果失败,则处于降级模式,所述n为预设的正整数。
17、根据本技术实施例中一可实现的方式,所述方法还包括:
18、若接收到所述打卡服务器发送的取消降级通知,则取消所述降级模式。
19、根据本技术实施例中一可实现的方式,所述离线打卡流程还包括:
20、将所述打卡数据发送至日志服务器,以供所述日志服务器将所述打卡数据存储为打卡日志;
21、响应于触发恢复打卡数据的事件,从所述日志服务器获取所述打卡数据。
22、根据本技术实施例中一可实现的方式,所述方法还包括:
23、若记录的所述打卡数据的状态为第二状态或第四状态,则在打卡页面上显示提示信息,所述提示信息用以指示已打卡且等待打卡结果;
24、若记录的所述打卡数据的状态为第三状态,则消除显示的所述提示信息。
25、根据本技术实施例中一可实现的方式,所述用户触发打卡的事件包括:页面组件上打卡组件被触发的事件;所述打卡数据包括打卡组件对应的打卡类型信息;
26、若在所述向打卡服务器发送携带打卡数据的请求之后的预设第一时长内,接收到所述打卡服务器返回的打卡结果,则更新所述打卡组件对应的打卡类型;或者,若执行延迟打卡流程或离线打卡流程,则更新所述打卡组件对应的打卡类型。
27、根据本技术实施例中一可实现的方式,若在所述向打卡服务器发送携带打卡数据的请求的第二预设时长内,接收到所述打卡服务器针对所述请求返回的接收响应,则确定所述打卡服务器接收到所述请求;否则,确定所述打卡服务器未接收到所述请求。
28、第三方面,提供了一种考勤打卡的处理装置,应用于用户终端,所述装置包括:
29、页面交互模块,被配置为获取用户触发打卡的事件,响应于所述用户触发打卡的事件,在用户终端本地记录打卡数据;
30、打卡处理模块,被配置为响应于所述用户触发打卡的事件,向打卡服务器发送携带打卡数据的请求;
31、异常诊断模块,被配置为若确定所述打卡服务器接收到所述请求但在预设第一时长内未收到所述打卡服务器返回的打卡结果,则触发所述打卡处理模块针对所述打卡数据执行延迟打卡流程;
32、所述打卡处理模块,还被配置为执行所述延迟打卡流程,其中,所述延迟打卡流程包括:更新记录的所述打卡数据的状态为第二状态,所述第二状态指示请求发送成功且等待打卡结果;若接收到所述打卡服务器针对所述请求返回的打卡结果,或者,响应于触发打卡结果拉取的事件,依据记录的处于第二状态的所述打卡数据从所述打卡服务器成功拉取到打卡结果,则更新记录的所述打卡数据的状态为第三状态,所述第三状态指示打卡成功。
33、根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面和第二方面中任一项所述的方法的步骤。
34、根据第五方面,提供了一种电子设备,包括:
35、一个或多个处理器;以及
36、与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面和第二方面中任一项所述的方法的步骤。
37、根据本技术提供的具体实施例,本技术公开了以下技术效果:
38、1)本技术针对打卡服务器端压力过大、数据库异常等而无法及时处理包含打卡数据的请求的情况,提出了一种全新的处理机制,即执行延迟打卡流程,在延迟打卡流程下首先更新打卡数据的状态为第二状态以指示请求发送成功但等待打卡结果;若打卡服务器成功返回打卡结果,或者在用户终端从打卡服务器成功拉取到打卡结果,则更新打卡数据的状态为第三状态以指示打卡成功。这种延迟打卡的方式使得服务器端异常情况下也能够实现用户的正常打卡,而无需人工反复尝试打卡,一方面保证了用户的正常打卡需求,另一方面简化了用户操作,用户仅需要一次触发打卡的操作即可,再一方面也避免了用户反复尝试打卡给打卡服务器带来的更大压力。
39、2)本技术针对打卡服务器未接收到请求且用户网络正常的情况,执行离线打卡流程。在离线打卡流程下首先更新记录的打卡数据状态为第四状态以指示请求未发送;若接收到触发离线上报的事件,则针对打卡数据向打卡服务器发送请求,若从打卡服务器获取到打卡结果,则更新记录的打卡数据的状态为第三状态已指示打卡成功。这种离线打卡的方式使得即便打卡服务器在一些情况下未收到通知,也能够实现用户的正常打卡,无需人工反复尝试打卡,一方面保证了用户的正常打卡需求,另一方面简化了用户操作,用户仅需要一次触发打卡的操作即可。
40、3)离线打卡流程使得即便打卡服务器未收到打卡请求,用户也无需停留在打卡页面等待打卡,而是在用户再次进入打卡页面时,触发离线上报事件实现打卡数据的上传,用户体验更佳。
41、4)本技术提供的延迟打卡流程和离线打卡流程,使得即便打卡请求未发送到打卡服务器或者打卡服务器未及时处理,也能够保证打卡成功,并且用户几乎无感知,提高了用户体验。
42、5)本技术在打卡服务器端出现诸如计算资源不足、数据库故障等异常,或连续n次从打卡服务器拉取打卡结果失败时,将用户设备置于降级模式,从而避免了用户终端在打卡服务器无法响应的情况下发送多余的请求,降低了对用户终端以及打卡服务器的性能影响。
43、6)本技术在离线打卡流程中,将打卡数据同发送至日志服务器,日志服务器能够将打卡数据存储为打卡日志,使得用户终端在发生异常导致打卡数据丢失时,能够从日志服务器恢复打卡数据。
44、7)本技术中打卡数据为第二状态或第四状态时,在打卡页面上显示提示信息用以指示已打卡且等待打卡结果,使得在延迟打卡或离线打卡过程中避免用户频繁尝试打卡导致的对用户终端以及打卡服务器的性能影响。
45、当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
本文地址:https://www.jishuxx.com/zhuanli/20240731/192036.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表