手机App数据本地存储和同步方法

文档序号:9219936阅读:4557来源:国知局
手机App数据本地存储和同步方法
【技术领域】
[0001]本发明涉及一种手机App数据本地存储和同步方法。
【背景技术】
[0002]随着经济的发展,电梯已经越来越广泛的应用各种商业和住宅楼中,虽然科技的进步让电梯的稳定性和可靠性有了很大的提高,但是对于在一个体量很大的市场中运行的电梯来说,其监控与维护还是一个比较棘手的问题,人工管理和监控肯定满足不了要求,只有借助于软件实时监控,及时报警,及时维护。现有的电梯监控与管理软件多是基于Web的服务器软件,监控只能在监控室,发生报警需要现场报告,手工录入到系统,这种软件有两个缺陷,第一不能做到移动监控,第二报警处理的及时性大大降低。为了改善这种缺陷,需要设计了一款电梯监控与管理手机App系统,以下简称电梯监管系统,能够做到移动监控和现场处置报警。
[0003]一般的手机App软件都回避了数据本地存储的问题,就是所有数据都存储在服务器,本地只保存一些程序运行的基本参数。这样做的好处自然是设计简单不要考虑数据同步的问题,但缺陷就是手机在处于离线状态,也就是在没有WLAN信号,没有3G,4G信号的情况下,就无法操作软件。然而在电梯监管系统而言,系统要求在手机离线或者网络连接不畅的情况下,虽然不能监控但是要能够管理电梯的档案等操作,电梯监管系统需要在本地保存所管理的功能数据,那一般的手机App软件的惯常做法显然不能满足要求,因此就需要解决数据本地存储以及和服务器保持同步的问题。
[0004]现有的技术方案中是在第一次安装程序初始化就下载所有的管理数据,以后运行的过程中由服务器定期推送更新数据库的信息,再由用户决定是否更新本地数据库,这样来实现本地数据和服务器的同步。
[0005]第一次安装程序初始化的过程中下载所有的管理数据这种方式有几个主要的缺占.V.
[0006]一、由于管理的数据量大,例如在电梯监管系统中需要下载项目信息表、电梯档案信息表、工单信息表、维保信息表、故障信息表、失联电梯信息表,还有一些关键的字典信息等,而且手机端的数据库采用SQLite,该数据库的数访问速度也不及通用计算机上的SQLServer等数据库,所以必然导致第一次安装的初始化过程所需要的时间比较长,启动界面始终在等待后台网络下载线程的下载结果并存储到本地,这样会给用户带来不好的体验感。
[0007]二、另一个缺点就是数据下载过程中,多个表格集中在一个时间段下载增加了异常出现的概率,造成数据的不完整。手机的无线网络信号不比通用计算机的有线网络信号那样稳定,在恶劣的环境中,例如梯井、地下等环境中使用,网络信号会大打折扣,数据下载过程中异常退出的概率会增大,如果这个过程中退出会造成数据不全,造成后续处理的时候一些表是全的,一些表没有数据。
[0008]三、最后,不能做到主动更新,也就是在服务器定期推送更新数据库的信息时,手机端完全是被动式的,主动权在服务器端,这种同步方式也不能满足像电梯监管系统这样的软件的要求。

【发明内容】

[0009]本发明提供一种手机App数据本地存储和同步方法,旨在解决传统手机App软件存在的数据本地存储和同步的问题,也就是在本地保存一份服务器上所管理的数据的备份,同时要保证该数据和服务器实时同步的问题,使在这离线状态等情况下也能够做查询等操作。
[0010]本发明的技术解决方案是:
[0011]一种手机App数据本地存储和同步方法,将数据分类为基础数据和功能数据分别进行本地存储和同步;
[0012]对基础数据在第一次安装运行时进行下载,其他时间的正常运行时依据查询到的更新版本进行基础数据的本地数据库的更新;
[0013]对功能数据在用户使用时按需下载,即在做某个特定功能的管理时进行该功能数据的下载。
[0014]功能数据的管理主要包括查询、增加、删除和修改等操作,对于查询操作,通常数据量比较大,所以只在用户第一次查询某一功能数据的时候才会从服务器上下载数据,以后正常运行则根据需要进行同步操作。而增加、删除和修改操作的数据量一般都是发生在一条或几条数据记录上,数据量并不大,所以都直接上传服务器同时更新本地数据库。
[0015]进一步地,基础数据的本地存储和同步具体分第一次安装运行和正常运行两种情况进行:
[0016]第一次安装运行:准备下载基础数据,检查网络的连通性,在网络能连接时,向服务器发起下载基础数据请求,进行下载,下载过程中如果发生异常,则将本地数据进行回滚操作,同时提示用户并退出系统;
[0017]正常运行:分网络不正常和网络正常两种请况:
[0018]网络不正常,用户之前有过成功登陆的历史信息时,用户离线登陆后进行操作,包括正常的查询和浏览之前的历史信息;
[0019]网络正常时,在手机网络已打开且能够连到服务器时,检查服务器上是否有新版基础数据,也就是服务器上基础数据与本地存储的基础数据版本是否不同,如果有新版基础数据,则下载新版基础数据,下载成功打开功能界面执行管理操作;如果下载过程中发生异常,则要回滚本地数据,同时退出系统。
[0020]进一步地,基础数据的本地存储和同步中,检查服务器上是否有新版基础数据发生在每次运行系统时,向服务器发送一个查询基础数据版本的请求,服务器返回一个版本号即可。
[0021]进一步地,基础数据的本地存储和同步具体步骤为:
[0022]判断是否为第一次运行,如为第一次运行,检查是否有网络信号,如没有网络信号,则提示用户打开网络,如有网络信号,则检查是否能连接到服务器,如不能连接,则提示用户并退出系统;如能连接,则下载基础数据,检查下载是否异常,如下载异常,则提示用户并退出系统;如下载正常,则下载完成后启动登陆界面;
[0023]如不为第一次运行,则启动登陆界面,在登陆界面由用户登陆后,检查是否有网络信号,如没有网络信号,则提示用户并离线登陆;如有网络信号,则检查是否能连接到服务器,如不能连接,则提示用户并离线登陆;如能连接,则检查是否有新版基础数据需要更新,如没有新版基础数据,则打开某功能界面;
[0024]如有新版基础数据,则下载关键基础数据,并检查下载是否异常,如下载异常,则提示用户并退出系统;如下载正常,则下载完成后打开某功能界面;
[0025]在用户离线登陆后,检查本地是否存在该用户的登陆信息,如没有则退出系统;如有则打开某功能界面。
[0026]进一步地,功能数据的本地存储和同步是由用户自行选择联网查询或本地查询两种清况;
[0027]联网查询:在本地有或没有该功能的相关数据时,都到服务器下载最新的功能数据,在每次下载功能数据前都要检查网络的连通性;在网络正常情况下下载数据,返回到用户界面,同时更新本地数据库;
[0028]本地查询:在用户选择本地查询时,判断该用户之前有没有查询过该功能数据,如果查询过则在本地数据库中已经有相应的记录,如果没有则执行联网查询下载,如果本地已有查询记录,判断该功能数据的下载有没有超过设定的时间阈值,如超过设定的时间阈值,则先执行联网查询;如未超过设定的时间阈值,则直接到本地数据库进行查询并返回给视图View层,也就是用户界面。
[0029]进一步地,对于功能数据的同步,采取手机端主动发起同步请求加定期查询的的方式,由用户自主控制,用户如果忘记更新则由系统在用户查询的时候触发超时更新,来实现同步。
[0030]进一步地,网络连通性分两步检查:首先检查是否有网络信号,也就是手机的Wifi或者3G网络是不是处于打开状态,如果没有打开,则提醒用户打开网络;其次,在网络打开状态下,检查服务器是否能够正常连接。
[0031]进一步地,功能数据的本地存储和同步的具体步骤为:
[0032]打开某一功能窗口查询数据时,判断是否要求联网查询,如不要求联网查询,判断本地数据库中该功能数据的表是否为空,如为空,则进行联网查询;如不为空,判断本地数据库中的数据下载时间距当前时间是否大于设定阈值,如大于设定阈值,则进行联网查询;如不大于
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1