一种离线打卡方法、终端、服务器及系统与流程

文档序号:12179108阅读:1506来源:国知局
一种离线打卡方法、终端、服务器及系统与流程

本发明涉及终端应用技术领域,特别涉及一种离线打卡的方法、终端、服务器及系统。



背景技术:

随着社会的发展,城市化的推进,公司、企业的规模越来越大,人员管理的方法也在不断完善,其中较为基础的考勤制度也是不断地在改进,而上下班打卡便是现今常用的方式。

从过去的签字签到,到现在的刷卡或指纹识别,都是在不断完善克服各式各样的问题,现有技术中通过手机实现移动打卡,更为方便,且不用添加大量的硬件设施,不会造成上下班高峰人员堵塞在打卡机周围,但同时由于通过手机打卡需要保证网络畅通才能完成打卡这一限制条件,带来了不少问题,当用户在网络没有覆盖的地方,例如,地下车库中,就无法进行打卡操作,从而产生不便,或者,当到了打卡高峰时,打卡应用程序的服务器因处理信息过多而阻塞,无法快速响应用户的打卡请求,使得打卡失败。这些问题成为了移动终端的打卡应用继续推广的障碍。

因此如何解决因网络问题导致的终端应用打卡失败,是当务之急。



技术实现要素:

有鉴于此,本发明的目的在于提供一种离线打卡的方法,减少了对于实时网络的依赖性,避免了因为网络问题导致的打开失败问题。其具体方案如下:

一种离线打卡方法,包括:

获取网络信息;

根据获取的网络信息判断网络状况;

当网络状况处于异常状况,则将用户输入的打卡数据保存在第一存储区,得到打卡数据文件;

当网络状况处于正常状况,则发送所述第一存储区中的打卡数据文件到服务器,以使所述服务器利用所述第一存储区中的打卡数据文件完成对相应的用户的打卡操作。

优选的,所述网络状况处于正常状况,还包括:

直接发送当前用户输入的打卡数据到所述服务器,以使所述服务器利用相应的用户输入的打卡数据完成对相应的用户的打卡操作。

优选的,所述将用户输入的打卡数据保存在第一存储区的过程,包括:

将用户输入的打卡数据加密和/或压缩保存在所述第一存储区。

优选的,所述当网络状况处于正常状况,还包括:

判断所述服务器的运行状态;

若所述服务器的运行状态处于繁忙状态,则将用户输入的打卡数据保存在第二存储区,得到打卡数据文件;

若所述服务器的运行状态为非繁忙状态,则发送所述第二存储区中的打卡数据文件到所述服务器,以使所述服务器利用所述第二存储区中的打卡数据文件完成对相应的用户的打卡操作。

优选的,所述获取网络信息,包括:

根据预先设置的第一周期,定期获取网络信息。

优选的,所述服务器利用所述第一存储区中的打卡数据文件完成对相应的用户的打卡操作的过程,包括:

所述服务器将接收到的所述第一存储区中的打卡数据文件存储到第三存储区,并根据预先设置的第二周期,定期对从所述第三存储区中提取出的打卡数据文件进行处理,以完成对相应的用户的打卡操作。

本发明还公开了一种离线打卡终端,包括:

网络信息获取模块,用于获取网络信息;

网络判断模块,用于根据获取的网络信息判断网络状况;

第一打卡数据保存模块,用于当所述网络状况判断模块判定网络状况处于异常状况,则将用户输入的打卡数据保存在第一存储区,得到打卡数据文件;

第一打卡数据发送模块,用于当所述网络判断模块判定网络状况处于正常状况,则发送所述第一存储区中的打卡数据文件到服务器,以使所述服务器利用所述第一存储区中的打卡数据文件完成对相应的用户的打卡操作。

本发明还公开了一种离线打卡服务器,包括:

数据获取模块,用于接收终端在网络状况处于正常状况时发送的打卡数据文件,所述终端发送的打卡数据文件为当网络状况处于异常状况时保存的打卡数据文件;

数据处理模块,用于利用所述终端发送的数据,完成对相应的用户的打卡操作。

优选的,所述数据处理模块,具体包括:

存储单元,用于存储所述终端发送的数据;

处理单元,用于根据预先设置的第二周期,定期对从所述存储单元中提取的打卡数据文件进行处理,以完成对相应的用户的打卡操作

本发明还进一步公开了一种离线打卡系统,包括前述公开的离线打卡终端以及离线打卡服务器。

本发明中,离线打卡的方法包括:用户进行打卡操作,获取终端网络信息;终端判断网络状况是否正常,是否满足发送打卡数据文件的条件;当网络状况处于异常状况,则将相应的用户输入的打卡数据保存在第一存储区,得到打卡数据文件;当网络状况处于正常状况,则发送所述第一存储区中的打卡数据文件到服务器,以使所述服务器利用所述第一存储区中的打卡数据文件完成对相应的用户的打卡操作。综上所述,本发明中,当用户进行打卡操作的时候,网络状况处于异常状况,可以先将打卡数据保存在终端中,当网络状况处于正常状况,再将打卡数据发送到服务器,完成对相应的用户的打卡操作,使得在网络连接状况处于异常状况,甚至网络连接中断的情况下,只要后续能够恢复网络连接,使本地打卡数据上传到服务器,便可完成打卡操作,避免了因为各种原因使用户打卡时无法连接到网络而造成的打卡失败,减少了对于实时网络的依赖性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种离线打卡方法流程图;

图2为本发明实施例提供的另一种离线打卡方法流程图;

图3为本发明实施例提供的另一种离线打卡方法流程图;

图4为本发明实施例提供的一种离线打卡终端结构图;

图5为本发明实施例提供的一种离线打卡服务器结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种离线打卡方法,如图1所示,该方法包括:

终端中的离线打卡功能可以由终端中携带的应用程序来实现。

步骤S11:获取网络信息。

应用程序获取终端网络信息,网络信息中包含当前网络连接状况和传输速度等网络信息。

可以理解的是,获取网络信息可以在用户打开离线打卡应用程序后,激活获取网络信息进程,也可以在后台一直自动运行实时获取网络信息。

步骤S12:根据获取的网络信息判断网络状况。

应用程序根据从终端获取的网络信息,判断当前网络状况是否异常。

可以设置判断网络状况的标准,例如,根据当前传输速率和网络稳定性来判断,假设打卡数据为5KB,可以设置网络能稳定连接大于等于6S,传输速度大于等于1KB/S时判定网络状况处于正常状况,不满足上述任意一个条件则为网络状况处于异常状况;这样就能保证打卡数据能在足够的时间内进行稳定的传输,在传输过程中不会出现传输中断而导致的,打卡数据丢失和损坏等打卡数据传输失败的问题。

步骤S13:当网络状况处于异常状况,则将用户输入的打卡数据保存在第一存储区,得到打卡数据文件。

根据网络状况判断结果,确认终端网络状况处于异常状况,将用户输入的打卡数据保存到终端的第一存储区中,生成打卡数据文件。例如:用户使用终端开启应用程序,进行打卡操作,应用程序根据自身或终端设置的时间记录打卡时间,并判断出当前终端的网络状况为异常,此时应用程序将用户的打卡时间,如“8点30分打卡”这一打卡数据以文件的形式存储在终端的第一存储区中。

步骤S14:当网络状况处于正常状况,则发送第一存储区中的打卡数据文件到服务器,以使服务器利用第一存储区中的打卡数据文件完成对相应的用户的打卡操作。

根据网络状况判断结果,确认终端网络状况为正常状况,应用程序从终端的第一存储区中取出打卡数据文件,并将打卡数据文件发送到服务器,以使服务器利用第一存储区中的打卡数据文件完成对相应的用户的打卡操作。

可以理解的是,本发明实施例中的获取网络信息可以为根据预先设置的第一周期,定期获取网络信息,这样可以减轻终端运算负担,减少功耗,当然根据实际应用需求也可以实时获取网络信息。其中,第一周期的时长可以根据实际需求来设定,可以是设定时间间隔来启动,例如,每间隔一分钟获取一次网络信息。

因为本发明实施例是将打卡数据以打卡数据文件的形式保存到了终端的第一存储区中,为了保证打卡数据的真实性,防止被轻易篡改,以加密的形式保存打卡数据文件在终端的第一存储区中,其中,加密过程可以是在保存的同时直接生成加密过的打卡数据文件,也可以是在生成打卡数据文件之后再对打卡数据文件进行加密;解密过程可以在将打卡数据文件发送到服务器之前对打卡数据文件进行解密,然后将解密后的打卡数据文件发送到服务器,也可以为服务器接收到加密的打卡数据文件后,服务器对加密的打卡数据文件进行解密,然后服务器再利用解密后的打卡数据文件完成对用户的打卡操作。

同时,为了进一步减轻发送打卡数据文件对于网络的压力还可以对打卡数据进行压缩保存,也可以对打卡数据保存在第一存储区的打卡数据文件进行压缩;当然也可以对加密后的打卡数据文件进行压缩,此时解压缩和解密操作都应在服务器上完成。

可以理解的是,本发明实施例中的终端可以为手机、平板电脑和笔记本电脑等设备。

本发明实施例中,当用户进行打卡操作的时候,网络状况处于异常状况,可以先将打卡数据保存在终端中,当网络状况处于正常状况,再将打卡数据发送到服务器,完成对相应的用户的打卡操作,使得在网络连接状况处于异常状况,甚至网络连接中断的情况下,只要后续能够恢复网络连接,使本地打卡数据上传到服务器上便可完成打卡操作,避免了因为各种原因使用户打卡时无法连接到网络而造成的打卡失败,减少了对于实时网络的依赖性。

本发明实施例公开了一种具体的离线打卡方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。如图2所示,具体的:

步骤S21:获取网络信息。

步骤S22:根据获取的网络信息判断网络状况,当网络状况处于异常状况进入步骤S23,当网络状况处于正常状况分分别执行步骤S24和步骤S25。

判断网络状况的标准同上一实施例相同,具体判断标准可以参考上一实施例,在此不做赘述。

步骤S23:将用户输入的打卡数据保存在第一存储区,得到打卡数据文件。

步骤S24:发送第一存储区中的打卡数据文件到服务器,以使服务器利用第一存储区中的打卡数据文件完成对用户的打卡操作。

步骤S25:直接发送当前用户输入的打卡数据到服务器,以使服务器利用相应的用户输入的打卡数据完成对相应的用户的打卡操作。

根据网络状况判断结果,确认终端网络状况处于正常状况,此时就无需再进行离线打卡操作,应用程序直接使用现有网络,将用户输入的打卡数据直接发送到服务器,也可以将相应的用户输入的打卡数据进行压缩后再发送到服务器,服务器接收后再进行解压,以使服务器利用用户输入的打卡数据完成对相应的用户的打卡操作。

需要说明的是,步骤S24和步骤S25可以并列进行,互不干扰,在此不对执行顺序做限定。

本发明实施例,在网络状况处于正常的情况下,无需再进行离线保存用户输入的打卡数据,直接将打卡数据发送给服务器,节省了操作步骤,提高了安全性。

本发明实施例还公开了另一种具体的离线打卡方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。如图3所示,具体的:

在实际应用中,因为打卡操作的时限特性,所以通常服务器会在短时间内接收到大量终端发送的用户输入的打卡数据,而服务器的处理能力是有限的,所以会出现一定时间内服务器过于繁忙,而无法对用户的打卡操作请求进行处理出现信息堵塞的情况,因此还可以在终端上增加对服务器的运行状态判断的方法。

步骤S31:获取网络信息。

步骤S32:判断网络状况是否处于异常状况,当网络状况处于异常状况进入步骤S33,当网络状况处于正常状况进入步骤S34。

判断网络状况的标准同上一实施例相同,具体判断标准可以参考上一实施例,在此不做赘述。

步骤S33:将用户输入的打卡数据保存在第一存储区,得到打卡数据文件。

步骤S34:判断服务器的运行状态,当服务器的运行状态处于繁忙状态进入步骤S35,当服务器的运行状态处于非繁忙状态,分别执行步骤S36和步骤S37。

根据网络状况判断结果,确认终端网络状况处于正常状况,此时终端对服务器的运行状态进行判断,读取服务器运行状态,可以设置服务器运行状态判断标准,例如,服务器的处理能力消耗超过80%,则认为服务器繁忙,若服务器的处理能力消耗低于80%,则认为服务器处于非繁忙状态。

步骤S35:将用户输入的打卡数据保存在第二存储区,得到打卡数据文件;

根据服务器的运行状态判断结果,确认服务器的处理能力超过服务器运行状态判断标准,处于繁忙状态,此时则将用户输入的打卡数据保存到终端的第二存储区,而不是直接发送给服务器,生成打卡数据文件。

步骤S36:发送第一存储区中的打卡数据文件到服务器,以使服务器利用第一存储区中的打卡数据文件完成对相应的用户的打卡操作。

步骤S37:发送第二存储区中的打卡数据文件到服务器,以使服务器利用第二存储区中的打卡数据文件完成对相应的用户的打卡操作服务器的运行状态。

根据服务器的运行状态判断结果,确认服务器的运行状态为非繁忙状态,此时服务器有剩余的处理能力能够利用新的打卡数据完成对用户的打卡操作,因此向服务器发送第二存储区中的打卡数据文件,以使服务器利用第二存储区中的打卡数据文件完成对相应的用户的打卡操作。

需要说明的是,步骤S36和步骤S37可以并列进行,互不干扰,在此不对执行顺序做限定。本发明实施例中的第二存储区与上述的第一存储区可以为同一个存储区,作为存储打卡数据文件的存储位置。

服务器处理数据时,还可以根据预先设置的第二周期,定期进行处理,当服务器接收到终端发送的数据时,先将数据保存到第三存储区,根据预先设置的第二周期,定期的从第三存储区中提取出数据,此时提取出的数据可能是多个终端发送的不同的数据,服务器对提取出的数据进行处理,以完成对用户的打卡操作。其中,第二周期的时长可以根据实际需求来设定,例如,每间隔一分钟获取一次网络信息。

本实施例中通过判断服务器的运行状态,当服务器处于繁忙状态,停止了打卡数据的发送,避免了信息堵塞而造成的用户打卡操作失败,减轻了服务器的运行压力,降低了维护服务器的成本。

另外本发明实施例还公开了一种离线打卡终端,参见图4所示,该终端包括:

网络信息获取模块11,用于获取网络信息;

网络判断模块12,用于根据获取的网络信息判断网络状况;

第一打卡数据保存模块13,用于当网络状况判断模块判定网络状况处于异常状况,则将用户输入的打卡数据保存在第一存储区,得到打卡数据文件;

第一打卡数据发送模块14,用于当网络判断模块12判定网络状况处于正常状况,则发送第一存储区中的打卡数据文件到服务器,以使服务器利用第一存储区中的打卡数据文件完成对相应的用户的打卡操作。

本发明实施例中的第一打卡数据保存模块13,具体包括加密单元和压缩单元,其中,

加密单元,用于将用户输入的打卡数据加密保存在第一存储区;

压缩单元,用于将用户输入的打卡数据压缩保存在第一存储区。

需要说明的是,加密单元也可以对保存在第一存储区的打卡数据文件进行加密,同时也可以在终端中对加密后的数据进行解密。压缩单元也可以对保存在第一存储区的打卡数据文件进行压缩,同时也可以在终端中对压缩后的数据进行解压。

网络信息获取模块11,具体用于根据预先设置的第一周期,定期获取网络信息。

本发明实施例的离线打卡终端,还包括:

数据直接发送模块,用于当网络判断模块12判定网络状况处于正常状况,则直接发送当前用户输入的打卡数据到服务器,以使服务器利用相应的用户输入的打卡数据完成对相应的用户的打卡操作;

服务器判断模块,用于当网络判断模块12判定网络状况处于正常状况,则判断服务器的运行状态;

第二打卡数据保存模块,用于当服务器判断模块判定服务器的运行状态处于繁忙状态,则将用户输入的打卡数据保存在第二存储区,得到打卡数据文件;

第二打卡数据发送模块,用于当服务器判断模块判定服务器的运行状态处于非繁忙状态,则发送第二存储区中的打卡数据文件到服务器,以使服务器利用第二存储区中的打卡数据文件完成对相应的用户的打卡操作。

本发明实施例中,当用户进行打卡操作的时候,网络状况处于异常状况,可以先将打卡数据保存在终端中,当网络状况处于正常状况,再将打卡数据发送到服务器,完成对相应的用户的打卡操作,使得在网络连接状况处于异常状况,甚至网络连接中断的情况下,只要后续能够恢复网络连接,使本地打卡数据上传到服务器,便可完成打卡操作,避免了因为各种原因使用户打卡时无法连接到网络而造成的打卡失败,减少了对于实时网络的依赖性。

本发明实施例还公开了一种离线打卡服务器,参见图5所示,该服务器包括:

数据获取模块21,用于接收终端在网络状况处于正常状况时发送的打卡数据文件,终端发送的打卡数据文件为当网络状况处于异常状况时保存的打卡数据文件;

数据处理模块22,用于利用终端发送的数据,完成对相应的用户的打卡操作。

本发明实施例中的数据处理模块22,具体包括存储单元和处理单元,其中,

存储单元,用于存储终端发送的数据;

处理单元,用于根据预先设置的第二周期,定期对从存储单元中提取的打卡数据文件进行处理,以完成对相应的用户的打卡操作。

本发明实施例提供的离线打卡服务器能够与上述离线打卡终端相配合,完成用户的打卡操作,不易出现信息堵塞的情况,提高了运载能力,降低了维护服务器的成本。

其次,本发明还公开了一种离线打卡系统,包括前述实施例中公开的离线打卡终端以及离线打卡服务器。关于该离线打卡终端以及离线打卡服务器的具体构造可以参考前述实施例中公开的相应内容,在此不再进行赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种离线打卡方法、终端、服务器以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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