本发明涉及计算机技术领域,具体地说是一种用户录入数据备份与恢复方法。
背景技术:
在软件系统中,用户通过用户界面向系统输入数据。如果用户向系统输入了数据,而数据未能够正常的保存,那么用户不得不重新输入数据。这种场景通常由于用户疏忽或者操作失误、系统本身发生异常,以及系统环境异常等引起。
上述问题在现有技术的C/S或者B/S结构的系统中较为常见,其中C/S 结构是大家熟知的客户机和服务器结构,它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。B/S结构是应WEB技术的飞速发展而从传统的C/S结构发展而来,并且一举成为当今主要的网络结构,目前主要的网站,尤其是商务网站都是基于B/S结构建立的。
基于此,现提供一种有效解决上述问题、用户录入数据备份与恢复方法,基于C/S或者B/S结构的系统,这种方法能够将用户已经录入到系统客户端但是没有能够保存到系统服务端的数据自动备份,并且允许用户便捷地恢复数据,同时最大程度的减少系统的数据冗余。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供一种用户录入数据备份与恢复方法。
一种用户录入数据备份与恢复方法,基于包括客户端和服务端的C/S或者B/S结构的系统,其实现过程为,首先将用户输入到系统但没有保存到服务端的数据自动备份,在用户需要时恢复数据,恢复到原消息状态。
其具体实现过程为:
首先系统自动备份用户录入的数据;
暂存或删除备份的数据;
在用户需要恢复数据时,查询备份;
加载备份数据到用户界面;
最后更新数据的状态相关部分。
所述用户输入到系统但没保存的信息包括用户界面持有的数据和附加信息,其中用户界面持有的数据包括表单的数据格式和用户录入的数据;附加信息包括用户标识、用户界面标识和表单状态,表单状态包括新增状态和编辑状态。
数据自动备份是指将上述数据保存在客户端的存储介质中,然后该备份数据根据客户端系统的状态,决定是否保存到服务端,否则将客户端备份数据删除。
自动备份的数据暂存在客户端的存储介质中,并根据以下两种情况将数据删除:当系统感知到用户录入数据已经成功保存到服务端时,系统删除用户录入数据在客户端的备份;当系统感知到用户主动放弃所录入的数据时,系统删除用户录入数据在客户端的备份。
所述客户端系统状态是指:
系统客户端退出,导致数据无法保存到服务端;
系统自身故障,导致数据无法保存到服务端;
系统环境异常,导致数据无法保存到服务端。
所述恢复数据的具体过程为,
首先从客户端的备份数据集合中查询与用户界面关联的数据;
然后将客户端的备份数据恢复到原用户界面,并还原用户界面状态;
最后更新用户界面持有的部分数据,保持数据一致性。
查询与用户界面关联的数据基于以下规则进行:
匹配备份数据的用户标识与目标用户标识;
匹配备份数据的用户界面标识与目标用户界面标识。
所述用户界面状态包括表单状态和数据状态,其中表单状态包括新增状态和编辑状态,数据状态包括未修改状态和已修改状态。
更新用户界面持有的部分数据的过程为:
更新用户录入数据中与日期时间相关的部分;
更新用户录入数据中与用户状态相关的部分;
更新用户录入数据中与系统状态相关的部分;
更新用户录入数据中与系统数据存储相关的部分;
更新用户录入数据格式与当前表单格式不一致的部分。
本发明的一种用户录入数据备份与恢复方法和现有技术相比,具有以下有益效果:
本发明的一种用户录入数据备份与恢复方法,通过将用户输入到系统但是没有保存到服务端的数据自动备份,在用户需要时恢复数据,在用户疏忽、系统故障或者环境异常的情况下,节约用户重复录入工作,避免用户数据的丢失,最大程度的减少数据冗余,数据恢复过程快,实用性强,适用范围广泛,易于推广。
附图说明
附图1为本发明的实现流程图。
附图2为本发明实施例的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,一种用户录入数据备份与恢复方法,适用于基于B/S或C/S系统的表单录入功能的实现。本发明所实现的方法,将用户输入到系统但是没有保存到服务端的数据自动备份,在用户需要时恢复数据。在用户疏忽、系统故障或者环境异常的情况下,本发明能够节约用户重复录入工作,避免用户数据的丢失。
基于包括客户端和服务端的C/S或者B/S结构的系统,其实现过程为,首先将用户输入到系统但没有保存到服务端的数据自动备份,在用户需要时恢复数据,恢复到原消息状态。
其具体实现过程为:
首先系统自动备份用户录入的数据;
暂存或删除备份的数据;
在用户需要恢复数据时,查询备份;
加载备份数据到用户界面;
最后更新数据的状态相关部分。
所述用户输入到系统但没保存的信息包括用户界面持有的数据和附加信息,其中用户界面持有的数据包括表单的数据格式和用户录入的数据;附加信息包括用户标识、用户界面标识和表单状态,表单状态包括新增状态和编辑状态。
数据自动备份是指将上述数据保存在客户端的存储介质中,然后该备份数据根据客户端系统的状态,决定是否保存到服务端,否则将客户端备份数据删除。
自动备份的数据暂存在客户端的存储介质中,并根据以下两种情况将数据删除:当系统感知到用户录入数据已经成功保存到服务端时,系统删除用户录入数据在客户端的备份;当系统感知到用户主动放弃所录入的数据时,系统删除用户录入数据在客户端的备份。
所述客户端系统状态是指:
系统客户端退出,导致数据无法保存到服务端;
系统自身故障,导致数据无法保存到服务端;
系统环境异常,导致数据无法保存到服务端。
所述恢复数据的具体过程为,
首先从客户端的备份数据集合中查询与用户界面关联的数据;
然后将客户端的备份数据恢复到原用户界面,并还原用户界面状态;
最后更新用户界面持有的部分数据,保持数据一致性。
查询与用户界面关联的数据基于以下规则进行:
匹配备份数据的用户标识与目标用户标识;
匹配备份数据的用户界面标识与目标用户界面标识。
所述用户界面状态包括表单状态和数据状态,其中表单状态包括新增状态和编辑状态,数据状态包括未修改状态和已修改状态。
更新用户界面持有的部分数据的过程为:
更新用户录入数据中与日期时间相关的部分;
更新用户录入数据中与用户状态相关的部分;
更新用户录入数据中与系统状态相关的部分;
更新用户录入数据中与系统数据存储相关的部分;
更新用户录入数据格式与当前表单格式不一致的部分。
如附图2所示,下面以基于B/S结构的系统实施实例:
步骤1:用户登陆系统,打开“我的报销单”功能,用户选择新建一个报销单,系统新建一个单据,系统自动生成单据的创建时间和单据编号,用户录入单据主体信息。
进一步的,在用户输入过程中,系统每隔5秒钟检测当前单据的数据状态,如果单据的数据状态为已修改,系统将用户信息、界面信息、表单状态、表单数据格式和用户已录入数据保存到浏览器本地存储。
步骤2:包括以下场景
场景一:用户选择保存单据,系统保存单据成功,用户登出系统
场景二:用户关闭单据界面,系统提示用户保存单据,用户选择不保存数据,用户登出系统
场景三:用户没有选择保存数据,直接关机
场景四:用户选择保存单据,系统服务端异常,系统保存单据失败
场景五:用户选择保存单据,用户的客户机与服务器之间网络异常,
对于场景一和场景二,当系统感知到用户的上述操作行为时,系统删除用户录入数据在客户端的备份;
对于场景三、场景四和场景五,系统不采取动作,所以用户录入数据在客户端的备份将保存到数据恢复步骤,即步骤3。
步骤3:用户再次登陆系统,打开“我的报销单”功能,系统从客户端备份数据集合中查询与当前用户标识和“我的报销单”用户界面标识相匹配的条目,如果客户端备份数据集合有正确匹配的条目,系统将查询结果以列表形式在用户界面窗口右下角提示给用户。
步骤4:用户选择一个备份数据条目并选择“恢复”选项,系统创建一个单据。
进一步的,系统将用户所选择条目在客户端的备份数据填充到单据的表单中,
进一步的,系统将用户界面的表单状态设置为备份数据所记录的表单状态,
进一步的,系统将用户界面的数据状态设置为已修改状态。
步骤5:包括以下场景
场景1:系统检测到表单状态为新增状态,
进一步的,系统检测单据数据中与日期时间相关的字段,将单据创建日期更新为当前操作系统时间;
进一步的,系统检测单据数据中与系统数据存储相关的字段,按照编号规则重新生成单据的编号。
场景2:系统检测到表单状态为编辑状态,系统不采取动作。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。