本发明涉及客户端的离线处理,特别是涉及一种客户端的离线处理方法、一种客户端的离线处理装置、一种电子设备以及一种计算机可读存储介质。
背景技术:
1、随着移动互联网的不断发展成熟,移动业务应用正在被越来越多用户所接受,并已经成为提升工作效率的主要手段,在移动业务当中其中最为常用的是通过移动手持终端设备进行各类的业务办理、物资盘点、装备巡检等,能快速批量处理业务应用场景;若在没有无线网络信号或无线信号弱的情况下,目前已具备采用移动应用离线化技术方案,大幅提升用户的体验感知。但现有的大部分移动应用离线数据上传方案基于数据库写快照或者数据库实例数据进行传输,与服务端数据容易冲突及数据解析繁琐,且离线数据副本缺乏自动清理机制。对此,如何保障移动端应用离线数据全量无感知,并高效的同步至平台服务端,以及确保离线数据副本的安全性,已成为在要客行业领域移动端离线应用的核心关键技术问题之一。
技术实现思路
1、本发明实施例是提供一种客户端的离线处理方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决移动应用离线数据同步效率低以及安全性不高的问题。
2、本发明实施例公开了一种客户端的离线处理方法,应用于客户端,所述客户端包括sqlite数据库,所述方法包括:
3、响应于所述客户端处于离线状态,获取针对所述客户端的用户操作以及所述用户操作对应的用户操作信息,将所述用户操作信息存储至所述sqlite数据库;
4、响应于所述客户端处于在线状态,将所述用户操作信息上传至与所述客户端对应的服务端,并对所述用户操作信息进行删除。
5、可选地,所述响应于所述客户端处于离线状态,获取针对所述客户端的用户操作以及所述用户操作对应的用户操作信息,包括:
6、初始化所述客户端的离线数据副本;
7、通过所述离线数据副本获取所述客户端的网络状态;
8、若所述网络状态表征所述客户端处于离线状态,则响应于针对所述客户端的用户操作,获取所述用户操作对应的用户操作信息。
9、可选地,所述客户端配置有拦截器,所述获取所述用户操作对应的用户操作信息,包括:
10、通过所述拦截器拦截所述用户操作对应的sql语句。
11、可选地,所述将所述用户操作信息存储至所述sqlite数据库,包括:
12、剔除所述sql语句中与查询相关的语句,并将剩余的sql语句作为目标语句,并对所述目标语句添加上传标识;
13、将所述目标语句存储至所述sqlite数据库。
14、可选地,所述响应于所述客户端处于在线状态,将所述用户操作信息上传至与所述客户端对应的服务端,包括:
15、响应于所述客户端处于在线状态,从所述sqlite数据库提取所述目标语句,并获取所述目标语句对应的语句标识;
16、将语句标识为上传标识的目标语句上传至与所述客户端对应的服务端。
17、可选地,所述对所述用户操作信息进行删除,包括:
18、获取所述目标语句对应的有效期;
19、将有效期早于当前时间点的目标语句从所述sqlite数据库中删除。
20、可选地,还包括:
21、响应于将语句标识为上传标识的目标语句上传至所述服务端,将语句标识从上传标识切换为执行标识。
22、本发明实施例还公开了一种客户端的离线处理装置,应用于客户端,所述客户端包括sqlite数据库,所述装置包括:
23、信息存储模块,用于响应于所述客户端处于离线状态,获取针对所述客户端的用户操作以及所述用户操作对应的用户操作信息,将所述用户操作信息存储至所述sqlite数据库;
24、信息上传模块,用于响应于所述客户端处于在线状态,将所述用户操作信息上传至与所述客户端对应的服务端,并对所述用户操作信息进行删除。
25、可选地,所述信息存储模块具体用于:
26、初始化所述客户端的离线数据副本;
27、通过所述离线数据副本获取所述客户端的网络状态;
28、若所述网络状态表征所述客户端处于离线状态,则响应于针对所述客户端的用户操作,获取所述用户操作对应的用户操作信息。
29、可选地,所述客户端配置有拦截器,所述信息存储模块具体用于:
30、通过所述拦截器拦截所述用户操作对应的sql语句。
31、可选地,所述信息存储模块具体用于:
32、剔除所述sql语句中与查询相关的语句,并将剩余的sql语句作为目标语句,并对所述目标语句添加上传标识;
33、将所述目标语句存储至所述sqlite数据库。
34、可选地,所述信息上传模块具体用于:
35、响应于所述客户端处于在线状态,从所述sqlite数据库提取所述目标语句,并获取所述目标语句对应的语句标识;
36、将语句标识为上传标识的目标语句上传至与所述客户端对应的服务端。
37、可选地,所述信息上传模块具体用于:
38、获取所述目标语句对应的有效期;
39、将有效期早于当前时间点的目标语句从所述sqlite数据库中删除。
40、可选地,还包括:
41、标识切换模块,用于响应于将语句标识为上传标识的目标语句上传至所述服务端,将语句标识从上传标识切换为执行标识。
42、本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
43、所述存储器,用于存放计算机程序;
44、所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
45、本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
46、本发明实施例包括以下优点:
47、在本发明实施例中,应用于客户端,在客户端中包括sqlite数据库,则在客户端运行的过程中,可以响应于客户端处于离线状态,获取针对客户端的用户操作以及用户操作对应的用户操作信息,将用户操作信息存储至sqlite数据库,以及响应于客户端处于在线状态,将用户操作信息上传至与客户端对应的服务端,并对用户操作信息进行删除,从而对于客户端而言,一方面在其处于离线状态的情况下,可以将用户的离线操作所对应的数据存储至sqlite数据库,保证数据的完整性,另一方面在客户端处于在线状态的情况下,可以通过无感知的方式将用户的离线操作数据上传至服务端,既保证了数据同步的效率,而且通过删除数据,可以保证数据的安全性。
1.一种客户端的离线处理方法,其特征在于,应用于客户端,所述客户端包括sqlite数据库,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于所述客户端处于离线状态,获取针对所述客户端的用户操作以及所述用户操作对应的用户操作信息,包括:
3.根据权利要求1或2所述的方法,其特征在于,所述客户端配置有拦截器,所述获取所述用户操作对应的用户操作信息,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述用户操作信息存储至所述sqlite数据库,包括:
5.根据权利要求4所述的方法,其特征在于,所述响应于所述客户端处于在线状态,将所述用户操作信息上传至与所述客户端对应的服务端,包括:
6.根据权利要求4或5所述的方法,其特征在于,所述对所述用户操作信息进行删除,包括:
7.根据权利要求5所述的方法,其特征在于,还包括:
8.一种客户端的离线处理装置,其特征在于,应用于客户端,所述客户端包括sqlite数据库,所述装置包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
10.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。