一种程序异常退出后恢复现场的方法及其系统技术方案

技术编号:26762051 阅读:22 留言:0更新日期:2020-12-18 23:06
本发明专利技术提供了一种程序异常退出后恢复现场的方法,所述方法包括如下步骤:步骤S1、在程序运行过程中,每次打开一个项目进行编辑时,实时记录程序当前的工作状态信息;步骤S2、遇到程序异常退出时,记录当时程序的现场状态,保存到现场状态文件中;步骤S3、重新打开程序后,读取所述现场状态文件,恢复到上一次的程序现场状态;在程序异常退出时,重启程序后,恢复到当前编辑项目的现场状态,节约了用户重复操作的时间。

【技术实现步骤摘要】
一种程序异常退出后恢复现场的方法及其系统
本专利技术涉及计算机通讯
,特别是一种程序异常退出后恢复现场的方法及其系统。
技术介绍
在程序运行时,由于一些不同预期的操作或者读写不可预期的文档格式,会导致系统崩溃,程序异常退出。但是在程序崩溃后,用户想要恢复到当时崩溃时候的程序状态,需要花费用户许多时间去重新打开上次项目,设置当时的工作环境,进行编辑当时的工作内容。如果可以在程序异常状态退出后,重新启动程序时能够恢复程序现场,重新加载上一个项目,恢复上次编辑时的相关环境状态,不需要用户重复操作,将会使软件更具有人性化。
技术实现思路
为克服上述问题,本专利技术的目的是提供一种程序异常退出后恢复现场的方法,降低了程序遇到突发问题引起的风险,提高了程序的容错性,使得程序更具有人性化。本专利技术采用以下方案实现:一种程序异常退出后恢复现场的方法,所述方法包括如下步骤:步骤S1、在程序运行过程中,每次打开一个项目进行编辑时,实时记录程序当前的工作状态信息;步骤S2、遇到程序异常退出时,记录当时程序的现场状态,保存到现场状态文件中;步骤S3、重新打开程序后,读取所述现场状态文件,恢复到上一次的程序现场状态。进一步的,所述工作状态信息包括:状态标志位、项目名称、项目路径、界面大小、组件的显隐状态、以及组件的锁定状态;所述状态标志位:用来判断程序是正常退出还是异常退出,正常退出的标志位为0,异常退出的标志位为1,默认为正常退出;所述项目名称:当前打开的项目的名称;所述项目路径:当前打开的项目的文件路径;所述界面大小:当前打开的项目的界面的大小;所述组件的显隐状态:当前项目界面中各个组件的显示和隐藏状态,显示状态置为1,隐藏状态置为0,默认为显示状态;所述组件的锁定状态:当前项目界面中各个组件的锁定和非锁定状态,锁定状态置为1,解锁状态置为0,默认为解锁状态。进一步的,所述现场状态文件包括两个文件,分别是项目状态文件和界面组件状态文件,所述项目状态文件保存的内容包括:状态标志位、项目名称、项目路径、界面大小;在程序异常退出的时候,将状态标志位设置为1,若是正常退出,则将状态标志位设置为0;通过程序,获取到当前打开项目的名称和文件路径,保存到现场状态文件中的项目名称和项目路径中;获取到当前项目界面的大小,保存到现场状态文件的界面大小属性上;所述界面组件状态文件的内容包括:项目界面的根节点Root节点、界面下的各组件节点Node节点;各组件节点Node节点都是在Root节点底下,各组件节点是有父子关系的,通过树型结构的嵌套方式来表示;通过程序遍历获取项目界面中各个组件的显示状态和锁定状态,将组件状态值保存在对应的组件的显隐状态和锁定状态属性上。进一步的,所述步骤S3进一步具体为:每次启动程序时,通过读取所述现场状态文件,根据状态标志位判断出上一次程序关闭时的状态,如果是程序异常退出的状态,则给予用户提示,是否重载上一次的工程项目以及恢复上次的程序现场;若用户选择重载上一次的工程项目,则根据所述现场状态文件的信息,进行对程序现场的恢复;该恢复为根据项目名称和项目路径,打开对应路径下的项目文件;根据界面大小,对当前项目的界面设置为原先的大小;根据组件的显示状态和锁定状态,设置界面中各个组件的显示状态属性和锁定状态属性。本专利技术还提供了一种程序异常退出后恢复现场的系统,所述系统包括实时记录模块、现场状态信息保存模块、恢复模块;所述实时记录模块,用于在程序运行过程中,每次打开一个项目进行编辑时,实时记录程序当前的工作状态信息;所述现场状态信息保存模块,用于遇到程序异常退出时,记录当时程序的现场状态,保存到现场状态文件中;所述恢复模块,用于重新打开程序后,读取所述现场状态文件,恢复到上一次的程序现场状态。进一步的,所述工作状态信息包括:状态标志位、项目名称、项目路径、界面大小、组件的显隐状态、以及组件的锁定状态;所述状态标志位:用来判断程序是正常退出还是异常退出,正常退出的标志位为0,异常退出的标志位为1,默认为正常退出;所述项目名称:当前打开的项目的名称;所述项目路径:当前打开的项目的文件路径;所述界面大小:当前打开的项目的界面的大小;所述组件的显隐状态:当前项目界面中各个组件的显示和隐藏状态,显示状态置为1,隐藏状态置为0,默认为显示状态;所述组件的锁定状态:当前项目界面中各个组件的锁定和非锁定状态,锁定状态置为1,解锁状态置为0,默认为解锁状态。进一步的,所述现场状态文件包括两个文件,分别是项目状态文件和界面组件状态文件,所述项目状态文件保存的内容包括:状态标志位、项目名称、项目路径、界面大小;在程序异常退出的时候,将状态标志位设置为1,若是正常退出,则将状态标志位设置为0;通过程序,获取到当前打开项目的名称和文件路径,保存到现场状态文件中的项目名称和项目路径中;获取到当前项目界面的大小,保存到现场状态文件的界面大小属性上;所述界面组件状态文件的内容包括:项目界面的根节点Root节点、界面下的各组件节点Node节点;各组件节点Node节点都是在Root节点底下,各组件节点是有父子关系的,通过树型结构的嵌套方式来表示;通过程序遍历获取项目界面中各个组件的显示状态和锁定状态,将组件状态值保存在对应的组件的显隐状态和锁定状态属性上。进一步的,所述恢复模块的实现方式进一步具体为:每次启动程序时,通过读取所述现场状态文件,根据状态标志位判断出上一次程序关闭时的状态,如果是程序异常退出的状态,则给予用户提示,是否重载上一次的工程项目以及恢复上次的程序现场;若用户选择重载上一次的工程项目,则根据所述现场状态文件的信息,进行对程序现场的恢复;该恢复为根据项目名称和项目路径,打开对应路径下的项目文件;根据界面大小,对当前项目的界面设置为原先的大小;根据组件的显示状态和锁定状态,设置界面中各个组件的显示状态属性和锁定状态属性。本专利技术的有益效果在于:本专利技术有助于用户在使用程序时,由于一些不同预期的操作或者读写不可预期的文档格式,导致程序异常退出。可以在重启程序后,恢复到当前编辑项目的现场状态,节约了用户重复操作的时间,降低了程序遇到突发问题引起的风险,提高了程序的容错性,使得程序更具有人性化。附图说明图1是本专利技术的方法流程示意图。图2是本专利技术的系统原理框图。具体实施方式下面结合附图对本专利技术做进一步说明。请参阅图1所示,本专利技术的一种程序异常退出后恢复现场的方法,所述方法包括如下步骤:步骤S1、在程序运行过程中,每次打开一个项目进行编辑时,实时记录程序当前的工作状态信息;步骤S2、遇到程序异常退出时,记录当时程序的现场状态,保存到现场状态文件中;步骤S3、重新打开程序后,读取所述现场状态文件,恢复到上一次的程序现场状态。下面结合一具体实施例对本专利技术做进一步说明:本专利技术主要包含实时记录程序当前工作状态信息,保存程序现场状态文件,恢复程序现场状态三个步骤:1.实时记本文档来自技高网...

【技术保护点】
1.一种程序异常退出后恢复现场的方法,其特征在于:所述方法包括如下步骤:/n步骤S1、在程序运行过程中,每次打开一个项目进行编辑时,实时记录程序当前的工作状态信息;/n步骤S2、遇到程序异常退出时,记录当时程序的现场状态,保存到现场状态文件中;/n步骤S3、重新打开程序后,读取所述现场状态文件,恢复到上一次的程序现场状态。/n

【技术特征摘要】
1.一种程序异常退出后恢复现场的方法,其特征在于:所述方法包括如下步骤:
步骤S1、在程序运行过程中,每次打开一个项目进行编辑时,实时记录程序当前的工作状态信息;
步骤S2、遇到程序异常退出时,记录当时程序的现场状态,保存到现场状态文件中;
步骤S3、重新打开程序后,读取所述现场状态文件,恢复到上一次的程序现场状态。


2.根据权利要求1所述的一种程序异常退出后恢复现场的方法,其特征在于:所述工作状态信息包括:状态标志位、项目名称、项目路径、界面大小、组件的显隐状态、以及组件的锁定状态;所述状态标志位:用来判断程序是正常退出还是异常退出,正常退出的标志位为0,异常退出的标志位为1,默认为正常退出;所述项目名称:当前打开的项目的名称;所述项目路径:当前打开的项目的文件路径;所述界面大小:当前打开的项目的界面的大小;所述组件的显隐状态:当前项目界面中各个组件的显示和隐藏状态,显示状态置为1,隐藏状态置为0,默认为显示状态;所述组件的锁定状态:当前项目界面中各个组件的锁定和非锁定状态,锁定状态置为1,解锁状态置为0,默认为解锁状态。


3.根据权利要求1所述的一种程序异常退出后恢复现场的方法,其特征在于:所述现场状态文件包括两个文件,分别是项目状态文件和界面组件状态文件,所述项目状态文件保存的内容包括:状态标志位、项目名称、项目路径、界面大小;在程序异常退出的时候,将状态标志位设置为1,若是正常退出,则将状态标志位设置为0;通过程序,获取到当前打开项目的名称和文件路径,保存到现场状态文件中的项目名称和项目路径中;获取到当前项目界面的大小,保存到现场状态文件的界面大小属性上;所述界面组件状态文件的内容包括:项目界面的根节点Root节点、界面下的各组件节点Node节点;各组件节点Node节点都是在Root节点底下,各组件节点是有父子关系的,通过树型结构的嵌套方式来表示;通过程序遍历获取项目界面中各个组件的显示状态和锁定状态,将组件状态值保存在对应的组件的显隐状态和锁定状态属性上。


4.根据权利要求3所述的一种程序异常退出后恢复现场的方法,其特征在于:所述步骤S3进一步具体为:每次启动程序时,通过读取所述现场状态文件,根据状态标志位判断出上一次程序关闭时的状态,如果是程序异常退出的状态,则给予用户提示,是否重载上一次的工程项目以及恢复上次的程序现场;若用户选择重载上一次的工程项目,则根据所述现场状态文件的信息,进行对程序现场的恢复;该恢复为根据项目名称和项目路径,打开对应路径下的项目文件;根据界面大小,对当前项目的界面设置为原先的大小;根据组件的显示状态和锁定状态,设置界面中各个组件的显示状态属性和锁定状态属性。


5.一种程序异常退出后恢复现场...

【专利技术属性】
技术研发人员:刘德建黄孔弘柳旭辉张延锋翁存敏陈宏展
申请(专利权)人:福建天晴在线互动科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1