CN106708656A - 用户操作的恢复方法和装置 - Google Patents

用户操作的恢复方法和装置 Download PDF

Info

Publication number
CN106708656A
CN106708656A CN201510461249.7A CN201510461249A CN106708656A CN 106708656 A CN106708656 A CN 106708656A CN 201510461249 A CN201510461249 A CN 201510461249A CN 106708656 A CN106708656 A CN 106708656A
Authority
CN
China
Prior art keywords
user
operational order
computer system
machine
order set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510461249.7A
Other languages
English (en)
Other versions
CN106708656B (zh
Inventor
徐凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510461249.7A priority Critical patent/CN106708656B/zh
Publication of CN106708656A publication Critical patent/CN106708656A/zh
Application granted granted Critical
Publication of CN106708656B publication Critical patent/CN106708656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种用户操作的恢复方法和装置。该用户操作的恢复方法包括:获取目标服务器日志,其中,目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,用户操作指令集合包含至少一个用户操作指令;以及根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作。通过本申请,解决了无法恢复计算机系统宕机之前用户执行过的操作的问题。

Description

用户操作的恢复方法和装置
技术领域
本申请涉及数据处理领域,具体而言,涉及一种用户操作的恢复方法和装置。
背景技术
当用户在对某个系统进行正常使用时,在这个过程中可能会遇到很多突发情况,例如进程假死、系统断电等。当用户重新启动系统后,用户需要进行许多重复操作,而这些操作已经在系统宕机前执行过。例如:在进行网页操作,用户已经填写了大量的表单,当浏览器进程突然中断,将导致用户在系统恢复正常后重新填写表单,从而浪费了用户的时间,降低了工作效率,降低了用户体验。
目前,在用户系统出现宕机现象时,系统会利用日志记录上一次意外宕机时系统所在的操作界面,当系统被重新启动后,会重新显示宕机时的操作界面,而无法恢复宕机之前用户已经执行过的操作。
针对相关技术中无法恢复计算机系统宕机之前用户执行过的操作的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种用户操作的恢复方法和装置,以解决无法恢复计算机系统宕机之前用户执行过的操作的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用户操作的恢复方法。
根据本申请的用户操作的恢复方法包括:获取目标服务器日志,其中,目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,用户操作指令集合包含至少一个用户操作指令;以及根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作。
进一步地,目标服务器日志的生成方式,具体包括:获取用户操作指令集合;将用户操作指令集合保存至指令队列,其中,指令队列包含至少一组用户操作指令集合;以及根据指令队列生成目标服务器日志。
进一步地,将用户操作指令集合保存至指令队列包括:判断用户操作指令集合中是否包含终止用户操作的指令;以及如果判断出用户操作指令集合中不包含终止用户操作的指令,则将用户操作指令集合保存至指令队列。
进一步地,根据指令队列生成目标服务器日志包括:检测是否接收到计算机系统的宕机消息;如果接收到计算机系统的宕机消息,则获取与宕机消息相关联的指令队列;以及根据指令队列生成目标服务器日志。
进一步地,根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作包括:检测目标服务器日志中是否包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合;以及如果检测出目标服务器日志中包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合,则根据用户操作指令集合,恢复计算机系统在宕机发生前的用户操作。
为了实现上述目的,根据本申请的另一方面,提供了一种用户操作的恢复装置。
根据本申请的用户操作的恢复装置包括:第一获取单元,用于获取目标服务器日志,其中,目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,用户操作指令集合包含至少一个用户操作指令;以及恢复单元,用于根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作。
进一步地,该装置还包括:第二获取单元,用于获取用户操作指令集合;保存单元,用于将用户操作指令集合保存至指令队列,其中,指令队列包含至少一组用户操作指令集合;以及生成单元,用于根据指令队列生成目标服务器日志。
进一步地,保存单元包括:判断模块,用于判断用户操作指令集合中是否包含终止用户操作的指令;以及保存模块,用于在判断出用户操作指令集合中不包含终止用户操作的指令时,将用户操作指令集合保存至指令队列。
进一步地,生成单元包括:第一检测模块,用于检测是否接收到计算机系统的宕机消息;获取模块,用于在接收到计算机系统的宕机消息时,获取与宕机消息相关联的指令队列;以及生成模块,用于根据指令队列生成目标服务器日志。
进一步地,恢复单元包括:第二检测模块,用于检测目标服务器日志中是否包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合;以及恢复模块,用于在检测出目标服务器日志中包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合时,根据用户操作指令集合,恢复计算机系统在宕机发生前的用户操作。
通过本申请,采用包括如下步骤的方法:获取目标服务器日志,其中,目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,用户操作指令集合包含至少一个用户操作指令;以及根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作,解决了无法恢复计算机系统宕机之前用户执行过的操作的问题,进而通过根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,达到了可恢复计算机系统宕机之前用户执行过的操作的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的用户操作的恢复方法的流程图;
图2是根据本申请第二实施例的用户操作的恢复方法的流程图;以及
图3是根据本申请实施例的用户操作的恢复装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面根据本申请的实施例,提供了一种用户操作的恢复方法。
图1是根据本申请第一实施例的用户操作的恢复方法的流程图。如图1所示,该方法包括:
步骤S102,获取目标服务器日志。
其中,目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,用户操作指令集合可以包含至少一个用户操作指令。计算机系统发生宕机是指计算机系统出现异常导致无法正常工作。
具体而言,宕机可以包括进程假死或者系统断电等引发的计算机系统无法正常工作等情况。用户操作指令是用户对计算机系统输入的操作控制指令,用以控制计算机运行相应的程序。例如,用户操作指令为计算机系统接收到的用户创建表单的指令,根据该指令,计算机系统可以实现表单的创建。
进一步而言,通常,服务器日志用于记录服务器接收处理请求以及运行时各种原始信息的文件,例如,被访问的请求记录。目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合。用户操作指令集合是计算机系统在宕机发生之前接收到的一系列的用户操作指令的集合。用户操作指令集合即代表其对应的用户操作。如果在计算机系统宕机恢复之后,能够重新获取用户操作指令集合,则可以重新恢复用户操作指令集合对应的用户操作。
在本申请实施例中,用户操作指令集合包含至少一个用户操作指令。例如,在计算机系统发生宕机时,用户正在注册一个账户,注册该账户需要接收多个用户操作指令,假设需要接收10个用户操作指令才可完成该次注册,在发生宕机时,仅仅接收到5个用户操作指令,则将这5个用户操作指令保存至目标服务器日志中。
另外,用户操作指令集合也可以为多个用户操作指令集合,多个用户操作指令集合分别对应不同类型的用户操作。例如,计算机系统宕机时,用户正在操作多种类型文件(或业务事件),假设用户当前正在进行两个事件操作,即可用A表示填写一个表格的操作事件,用B表示注册一个购物网站的账号的操作事件(与填写表格操作事件无关)。如果在两个操作事件均未执行完毕时,计算机系统发生了宕机,可将操作事件A已经执行过的操作对应的用户操作指令(例如,完成填写表格操作事件需要接收填写表格第1行至第20行的多个用户操作指令,已执行过的操作对应的用户操作指令为填写表格第1行至第5行的多个用户操作指令),以及操作事件B已经执行过的操作对应的用户操作指令(例如,注册购物网站操作事件包括在3个页面输入注册信息,已执行过的操作对应的用户操作指令为在第1个页面输入注册信息的用户操作指令),分别作为不同的用户操作指令集合,保存至目标服务器日志中。
步骤S104,根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作。
在本申请实施例中,当计算机系统发生宕机时,执行主体通过调取目标服务器日志,从目标服务器日志中提取与该计算机系统发生宕机相关联的用户操作指令集合,进而根据该用户操作指令集合对已经宕机的计算机系统进恢复。
在本申请实施例中,在计算机系统宕机之后重新启动该计算机系统时,可以通过本申请技术方案使该系统宕机之前所运行的各种应用程序对应的用户操作进行恢复。
进一步举例,可以通过获取目标服务器日志中包含的一个用户操作指令集合,与计算机系统宕机之前第一接收到用户操作指令时类似,计算机系统重新获取到一组用户操作指令,以按照该指令执行某一操作事件或者某一程序(例如,注册某购网站的账号)。另外,也可能目标服务器日志中包含多个用户操作指令集合(由于在计算机系统宕机之前正在执行多个操作事件),根据获取的多个用户操作指令集合,可以分别恢复多个用户操作指令集合对应的操作事件(例如,将宕机之前未完成、的填写表格的事件和注册购物网站账号的事件所对应的已执行过的用户操作均进行恢复)。
具体地,假设目标服务器日志中包含2个用户操作指令集合,其一是填写表格操作事件的用户操作指令集合,该集合中包括的用户操作指令为填写表格第1行至第5行的多个用户操作指令(完成填写表格的整个事件需要填写表格第1行至第5行);另外一个用户操作指令集合为注册购物网站操作事件的用户操作指令集合,该集合中包括的用户操作指令为在第1个页面中输入注册信息的用户操作指令(完成注册购物网站的整个事件需要在第1页面至第3页面中输入注册信息)。在计算机系统恢复正常运行后,会获取目标服务器日志中的2个用户操作指令集合,并将2个用户操作指令集合中包含的用户操作指令进行恢复,这时,在计算机系统中将重新获取到表格第1行至第5行中填写的内容,以及填写的注册购物网站第1页面的内容。
根据该实施例的用户操作的恢复方法,通过获取目标服务器日志,其中,目标服务器日志用于记录计算机系统在宕机发生之前(包含宕机时所记录的操作命令)接收到的用户操作指令集合,其中,用户操作指令集合包含至少一个用户操作指令;以及根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作,解决了无法恢复计算机系统宕机之前用户执行过的操作的问题,进而通过根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,达到了可恢复计算机系统宕机之前用户执行过的操作的效果。
优选地,目标服务器日志的生成方式,具体包括:获取用户操作指令集合;将用户操作指令集合保存至指令队列,其中,指令队列包含至少一组用户操作指令集合;以及根据指令队列生成目标服务器日志。
为了提高目标服务器日志的生成效率,本申请提供了一种生成目标服务器日志的优选实施方式。在该优选实施例中,在计算机系统启动之时,可自动在后台开启一个线程,用于接收用户操作指令,并将接收到的用户操作指令以队列形式(指令队列)保存,根据指令队列生成目标服务器日志。
具体地,假设用户操作指令集合包括第一用户操作指令和第二用户操作指令,接收第一用户操作指令的时间先于接收第二用户操作指令(也即在同一操作事件中,第一用户操作指令对应的用户操作发生的时间早于第二用户操作指令对应的用户操作),则将第一用户操作指令和第二用户操作指令按照时间的先后顺序依次保存至指令队列中。
根据本申请实施例,指令队列中包含至少一组用户操作指令集合。如果在计算机系统发生宕机时,计算机正在执行唯一一个用户操作事件(例如,填写表格),则指令队列中保存有一个用户操作指令集合,如果在计算机系统发生宕机时,计算机正在执行的用户操作事件包括多个,则在指令队列中可保存多个用户操作指令集合(例如,填写表格和注册购物网站账号)。用户操作指令按照发生的时间顺序在队列中进行保存。
优选地,将用户操作指令集合保存至指令队列可以通过如下方式实现:首先,判断用户操作指令集合中是否包含终止用户操作的指令;然后,如果判断出用户操作指令集合中不包含终止用户操作的指令,则将用户操作指令集合保存至指令队列。
用户操作指令集合可以对应用户的一个操作事件,在计算机中相应的对应一个运行程序(例如,进行购物网站账号注册的程序)。终止用户操作的指令是指操作事件对应的程序在运行结束前,接收到的最后一个用户操作指令,也即当接收到终止该用户操作的指令则认为该操作事件结束。例如,当用户在进行购物网站账号注册时,当点击“完成注册”按钮时(计算机系统接收到了终止用户操作的指令),即完成了账号注册。
具体而言,假设用户操作指令集合中包括第一用户操作指令和第二户操作指令,计算机系统接收到第一用户操作指令的时间早于接收到第二户操作指令的事件,也即在将用户操作指令集合保存至指令队列中时,先将第一用户操作指令进行保存,之后对第二户操作指令进行保存。在对任意一个用户操作指令进行保存之前,均需判断其是否为终止用户操作的指令,如果判断结果为否,则将该用户操作指令保存至指令队列中;如果判断结果为是,则说明该一系列的用户操作所对应的操作事件以执行完毕(例如,购物网站账号注册完成),也即,用户按应用程序设置规则关闭应用程序时,关闭应用程序的指令示为终止指令。
另外,为了减少不必要的内存的消耗,在一个用户操作事件对应的所有的用户操作指令全部接收之后,将队列中保存的对应该用户操作事件的用户操作指令集合从指令队列中清除。
具体而言,假设用户操作指令集合中包括第一用户操作指令和第二户操作指令,并已将第一用户操作指令保存至了指令队列中,在接收到第二户操作指令时,如果检测出第二户操作指令为终止该用户操作(事件)的指令,则将已经保存至指令队列中的第一用户操作指令从指令队列中清除,以释放内存。
例如,用户在计算机系统中创建表单,当表单创建完成,用户将对表单进行提交,此时计算机系统即接收到了终止创建表单操作的指令,表明用户完成了表单的创建,此时,即使计算机系统再次发生宕机,也不会影响此次表单创建的过程(因为表单已经创建完成)因此,可以清空指令队列。由于在检测到计算机系统接收到终止指令信息时对指令队列进行了清空处理,在保证计算机系统能恢复宕机前的用户操作的基础上,使得已经执行完成的操作程序不再重复运行,节省了系统空间,并且保证了系统程序运行秩序的合理性。
优选地,根据指令队列生成目标服务器日志包括:检测是否接收到计算机系统的宕机消息;如果接收到计算机系统的宕机消息,则获取与宕机消息相关联的指令队列;以及根据指令队列生成目标服务器日志。
造成计算机系统发生宕机的原因较多,包括进程假死或者系统断电等。在检测出计算机系统发生宕机时(也即接收到计算机系统的宕机消息),则获取指令队列中与宕机消息相关联的指令队列,并根据该指令队列生成目标服务器日志。
根据本申请实施例,宕机消息与指令队列的关联关系可以设置为多种规则中的任意一种,也可以将宕机消息和指令队列建立不同的映射关系。例如,宕机消息与指令队列中的包含的所有的用户指令均存在映射关系,也即当接收到宕机消息后,将指令队列中的所有的用户操作指令均序列化成日志的形式,得到目标服务器日志。或者,也可以按照时间关系建立宕机消息与指令队列之间的映射关系,比如,确定接收到宕机消息的时间(目标时间),将指令队列中保存用户操作指令的时间与目标时间相隔预设时间段内保存的用户操作指令序列化成日志的形式,得到目标服务器日志。
可选地,根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作包括:检测目标服务器日志中是否包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合;以及如果检测出目标服务器日志中包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合,则根据用户操作指令集合,恢复计算机系统在宕机发生前的用户操作。
在计算机系统宕机之后,若该计算机系统重新启动,则在该计算机系统中正等待恢复的应用程序对应的用户操作,可以利用读取到的目标服务器日志,检测该目标服务器日志中是否包含计算机系统在宕机之前与用户操作相关联的用户操作指令集合,以根据检测结果判断是否可恢复用户操作(或者是否需要进行用户操作恢复)。例如,可将目标服务器日志中所保存的所用的用户操作指令集合进行恢复,也即认为在计算机系统恢复正常运行后,目标服务器日志中包含的所有的用户操作指令集合均为与用户操作相关联的用户操作指令集合。或者,也可检测指令队列中是否包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合,以及在检测出指令队列包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合的情况下,根据用户操作指令集合,恢复计算机系统在宕机发生前的用户操作。
另外,在根据目标服务器日志中包含的用户操作指令集合恢复计算机系统在宕机发生前的用户操作之后,该方法还包括:获取被恢复的用户操作指令;将被恢复的用户操作指令重新保存至指令队列;继续获取计算机系统在宕机恢复后接收到的用户操作指令;将计算机系统在宕机恢复后接收到的用户操作指令保存至指令队列;检测是否再次接收到计算机系统的宕机消息;以及如果检测出再次接收到计算机系统的宕机消息,则重新根据指令队列生成目标服务器日志。
由于在计算机系统宕机恢复后,还有可能再次发生宕机(两次宕机发生时,对应同一用户操作事件,并且该用户操作事件在两次宕机时均处于未执行完成状态),因此需要将第一次宕机时恢复的用户操作指令重新保存至指令队列,并利用指令队列继续接收对应该用户操作事件的后续的用户操作指令,以保证能够完整地恢复用户操作。该实施例可以保证用户在操作过程中,即使计算机系统连续多次发生宕机,也可以快速有效地恢复宕机前的用户操作,从而节省用户时间,提升用户体验。
具体而言,在根据用户操作指令集合恢复计算机系统在宕机发生前的用户操作之后,可以将被恢复的用户操作所对应的的用户操作指令再次以队列形式保存。计算机系统继续接收宕机恢复后的用户操作指令,并将其继续以队列形式保存。这样,在得到的指令队列中就保存有宕机之前以及宕机恢复后的用户操作指令(组成新的用户操作指令集合)。如果该计算机系统再次发生宕机,则可以根据上述指令队列生成目标服务器日志,在第二次宕机恢复后,可以重新恢复此次宕机之前的所有的用户操作(包括第一次宕机之前的用户操作)。
例如,用户在创建表单的过程中,计算机系统发生宕机。在宕机发生时,计算机系统将根据以指令队列形式保存的用户操作指令(对应创建表单的用户操作)生成目标服务器日志。当计算机系统从宕机中恢复后,获取目标服务器日志中的用户操作指令集合,按照用户操作指令集合恢复此次宕机之前用户创建表单的操作,并将上述被恢复的用户操作指令重新以指令队列形式保存。在用户继续创建表单的过程中,将后续接收到的用户创建表单的操作指令也按照接收顺序依次保存至指令队列。如果在创建表单结束之前,该计算机系统再次发生宕机,则将指令队列中的用户操作指令集合(包括第一次宕机之前的创建表单的用户操作指令和第一次宕机恢复后的创建表单的用户操作指令)序列化成日志的形式,得到目标服务器日志。在第二次宕机恢复之后,获取目标服务器日志中所有的创建表单的用户操作指令,并根据用户操作指令恢复第二次宕机之前的用户操作。
图2是根据本申请第二实施例的用户操作的恢复方法的流程图。该实施例可以作为图1所示实施例的一种优选实施方式。如图2所示,该方法包括:
步骤S202,在计算机系统启动后,开启后台线程,其中,后台线程用于记录用户操作指令到指令队列,指令队列可以用于时间序列化至目标服务器日志中。
其中,在计算机系统的后台单独开启一个线程,用于将用户操作指令保存到指令队列中,进一步地,所谓时间序列化,是指指令队列根据用户操作指令集合输入到指令队列的时间,实现指令队列对用户操作指令集合的存储(即时间序列化)。此处为了便于说明本申请技术方案,可优选设置指令队列用于时间序列化至目标服务器日志中,本申请对此不做任何限定。
步骤S204,读取目标服务器日志。
步骤S206,判断目标服务器日志中是否包括计算机系统宕机之前,用户操作各种应用程序的用户操作指令集合。
步骤S208,如果判断出目标服务器日志中包括该宕机系统相关的用户操作指令集合,则可以根据该用户操作指令集合进行相应用户操作的各种应用程序的恢复,并将被恢复的用户操作指令集合保存入指令队列。
如果在此之前计算机系统在用户的控制下正在运行某个程序时出现了宕机,则根据本申请实施例,在宕机系统重新启动后,判断出目标服务器日志中包括与该宕机系统相关的用户操作指令集合,此时,根据该目标服务器日志进行用户操作恢复,并将被恢复的用户操作对应的用户操作指令再次保存入指令队列。
如果计算机系统是首次启动,或者计算机系统未出现宕机情况,则根据本申请实施例,判断出目标服务器日志中不包括用户操作指令集合,则执行步骤S210。
步骤S210,获取计算机系统接收的用户操作指令,并判断用户操作指令是否为终止用户操作的指令。
终止用户操作的指令是指用户控制计算机生成的控制计算机系统当前运行程序终止运行的指令。例如,当前运行程序为创建表单的程序,当表单创建完成后,用户将提交表单,以完成创建表单的所有操作,比如,用户按下了“提交”按钮,也即计算机系统接收到了终止用户操作的指令(即,用户按应用程序规则要求,对应用程序执行结束操作)。
步骤S212,如果判断出用户操作指令不是终止用户操作的指令,则将接收到的用户操作指令保存入指令队列,其中,在检测出计算机系统发生异常时,将指令队列时间序列化到目标服务器日志中。
在恢复宕机之前的用户操作,并将宕机系统重新启动后的用户操作对应的用户操作指令保存入指令队列之后,用户继续完成宕机时未完成的操作,也即计算机系统的后台线程继续接收用户操作指令,并将其保存至指令队列。在检测出计算机系统发生异常时,将指令队列时间序列化到目标服务器日志中,以便在计算机系统在发生宕机并重新启动后,根据目标服务器日志恢复相应的用户操作。
步骤S214,如果判断出用户操作指令是终止用户操作的指令,则清空指令队列。
如果判断出计算机系统接收的某个用户操作指令是终止用户操作的指令,则说明用户正在执行的操作事件(比如,创建表单)已经结束,这些用户操作无需再被恢复,因此,可以将该终止用户操作的指令所在的用户操作指令集合从指令队列中清除。
此处需要说明的是:指令队列中可包含多个用户操作指令集合,因此为了保证指令队列资源的有效利用,当指令队列接收到某一用户操作指令集合中含有终止用户操作的指令时,执行主体可以将该用户操作指令集合从指令队列中清除。
该实施例通过后台线程记录用户操作指令到指令队列,在计算机系统发生异常时将指令队列时间序列化到目标服务器日志中,在计算机系统重新启动后通过读取目标服务器日志中的指令队列的数据,来恢复用户操作,解决了无法恢复计算机系统宕机之前用户执行过的操作的问题,进而通过在检测到解析结果中包括用户操作指令时,根据用户操作指令恢复计算机系统在宕机发生前的用户操作,达到了有效恢复计算机系统宕机之前用户执行过的操作的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面根据本申请的实施例,提供了一种用户操作的恢复装置。
需要说明的是,根据本申请实施例的用户操作的恢复方法可以通过根据本申请实施例的用户操作的恢复装置来执行,根据本申请实施例的用户操作的恢复装置也可以用来执行根据本申请实施例的用户操作的恢复方法。
图3是根据本申请实施例的用户操作的恢复装置的示意图。如图3所示,该装置包括:
第一获取单元20,用于获取目标服务器日志,其中,目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,用户操作指令集合包含至少一个用户操作指令。
恢复单元40,用于根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作。
根据该实施例的用户操作的恢复装置,通过第一获取单元20获取目标服务器日志,其中,目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,用户操作指令集合包含至少一个用户操作指令,以及恢复单元40根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,其中,用户操作为用户操作指令对应的用户操作,解决了相关技术中无法恢复计算机系统宕机之前用户执行过的操作的问题,进而通过恢复单元40根据目标服务器日志中包含的用户操作指令集合,恢复计算机系统在宕机发生前的用户操作,达到了可恢复计算机系统宕机之前用户执行过的操作的效果。
优选地,该装置还包括:第二获取单元,用于获取用户操作指令集合;保存单元,用于将用户操作指令集合保存至指令队列,其中,指令队列包含至少一组用户操作指令集合;以及生成单元,用于根据指令队列生成目标服务器日志。
优选地,保存单元包括:判断模块,用于判断用户操作指令集合中是否包含终止用户操作的指令;以及保存模块,用于在判断出用户操作指令集合中不包含终止用户操作的指令时,将用户操作指令集合保存至指令队列。
优选地,生成单元包括:第一检测模块,用于检测是否接收到计算机系统的宕机消息;获取模块,用于在接收到计算机系统的宕机消息时,获取与宕机消息相关联的指令队列;以及生成模块,用于根据指令队列生成目标服务器日志。
可选地,恢复单元40包括:第二检测模块,用于检测目标服务器日志中是否包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合;以及恢复模块,用于在检测出目标服务器日志中包含计算机系统在宕机发生前与用户操作相关联的用户操作指令集合时,根据用户操作指令集合,恢复计算机系统在宕机发生前的用户操作。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种用户操作的恢复方法,其特征在于,包括:
获取目标服务器日志,其中,所述目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,所述用户操作指令集合包含至少一个用户操作指令;以及
根据所述目标服务器日志中包含的所述用户操作指令集合,恢复所述计算机系统在宕机发生前的用户操作,其中,所述用户操作为所述用户操作指令对应的用户操作。
2.根据权利要求1所述的方法,其特征在于,目标服务器日志的生成方式,具体包括:
获取所述用户操作指令集合;
将所述用户操作指令集合保存至指令队列,其中,所述指令队列包含至少一组用户操作指令集合;以及
根据所述指令队列生成所述目标服务器日志。
3.根据权利要求2所述的方法,其特征在于,将所述用户操作指令集合保存至指令队列包括:
判断所述用户操作指令集合中是否包含终止所述用户操作的指令;以及
如果判断出所述用户操作指令集合中不包含终止所述用户操作的指令,则将所述用户操作指令集合保存至所述指令队列。
4.根据权利要求3所述的方法,其特征在于,根据所述指令队列生成所述目标服务器日志包括:
检测是否接收到所述计算机系统的宕机消息;
如果接收到所述计算机系统的宕机消息,则获取与所述宕机消息相关联的所述指令队列;以及
根据所述指令队列生成所述目标服务器日志。
5.根据权利要求1所述的方法,其特征在于,根据所述目标服务器日志中包含的所述用户操作指令集合,恢复所述计算机系统在宕机发生前的用户操作包括:
检测所述目标服务器日志中是否包含所述计算机系统在宕机发生前与所述用户操作相关联的用户操作指令集合;以及
如果检测出所述目标服务器日志中包含所述计算机系统在宕机发生前与所述用户操作相关联的用户操作指令集合,则根据所述用户操作指令集合,恢复所述计算机系统在宕机发生前的用户操作。
6.一种用户操作的恢复装置,其特征在于,包括:
第一获取单元,用于获取目标服务器日志,其中,所述目标服务器日志用于记录计算机系统在宕机发生之前接收到的用户操作指令集合,其中,所述用户操作指令集合包含至少一个用户操作指令;以及
恢复单元,用于根据所述目标服务器日志中包含的所述用户操作指令集合,恢复所述计算机系统在宕机发生前的用户操作,其中,所述用户操作为所述用户操作指令对应的用户操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二获取单元,用于获取所述用户操作指令集合;
保存单元,用于将所述用户操作指令集合保存至指令队列,其中,所述指令队列包含至少一组用户操作指令集合;以及
生成单元,用于根据所述指令队列生成所述目标服务器日志。
8.根据权利要求7所述的装置,其特征在于,所述保存单元包括:
判断模块,用于判断所述用户操作指令集合中是否包含终止所述用户操作的指令;以及
保存模块,用于在判断出所述用户操作指令集合中不包含所述终止所述用户操作的指令时,将所述用户操作指令集合保存至所述指令队列。
9.根据权利要求8所述的装置,其特征在于,所述生成单元包括:
第一检测模块,用于检测是否接收到所述计算机系统的宕机消息;
获取模块,用于在接收到所述计算机系统的宕机消息时,获取与所述宕机消息相关联的所述指令队列;以及
生成模块,用于根据所述指令队列生成所述目标服务器日志。
10.根据权利要求6所述的装置,其特征在于,所述恢复单元包括:
第二检测模块,用于检测所述目标服务器日志中是否包含所述计算机系统在宕机发生前与所述用户操作相关联的用户操作指令集合;以及
恢复模块,用于在检测出所述目标服务器日志中包含所述计算机系统在宕机发生前与所述用户操作相关联的用户操作指令集合时,根据所述用户操作指令集合,恢复所述计算机系统在宕机发生前的用户操作。
CN201510461249.7A 2015-07-30 2015-07-30 用户操作的恢复方法和装置 Active CN106708656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510461249.7A CN106708656B (zh) 2015-07-30 2015-07-30 用户操作的恢复方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510461249.7A CN106708656B (zh) 2015-07-30 2015-07-30 用户操作的恢复方法和装置

Publications (2)

Publication Number Publication Date
CN106708656A true CN106708656A (zh) 2017-05-24
CN106708656B CN106708656B (zh) 2020-05-22

Family

ID=58895020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510461249.7A Active CN106708656B (zh) 2015-07-30 2015-07-30 用户操作的恢复方法和装置

Country Status (1)

Country Link
CN (1) CN106708656B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143123A (zh) * 2019-12-12 2020-05-12 广州兴森快捷电路科技有限公司 一种恢复未保存数据的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102369514A (zh) * 2011-08-31 2012-03-07 华为技术有限公司 一种建立检查点的方法和系统
CN102394791A (zh) * 2011-10-26 2012-03-28 浪潮(北京)电子信息产业有限公司 宕机恢复方法和系统
CN102411519A (zh) * 2011-09-08 2012-04-11 曙光信息产业股份有限公司 进程的恢复方法和装置
CN102681917A (zh) * 2012-04-24 2012-09-19 中标软件有限公司 一种操作系统及其修复方法
CN104461823A (zh) * 2014-12-03 2015-03-25 浪潮集团有限公司 一种自动恢复集群中意外宕机节点的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102369514A (zh) * 2011-08-31 2012-03-07 华为技术有限公司 一种建立检查点的方法和系统
CN102411519A (zh) * 2011-09-08 2012-04-11 曙光信息产业股份有限公司 进程的恢复方法和装置
CN102394791A (zh) * 2011-10-26 2012-03-28 浪潮(北京)电子信息产业有限公司 宕机恢复方法和系统
CN102681917A (zh) * 2012-04-24 2012-09-19 中标软件有限公司 一种操作系统及其修复方法
CN104461823A (zh) * 2014-12-03 2015-03-25 浪潮集团有限公司 一种自动恢复集群中意外宕机节点的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143123A (zh) * 2019-12-12 2020-05-12 广州兴森快捷电路科技有限公司 一种恢复未保存数据的方法及装置

Also Published As

Publication number Publication date
CN106708656B (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN106934619B (zh) 一种交易记录的方法及系统
CN107040578A (zh) 数据同步方法、装置和系统
CN110380917A (zh) 联邦学习系统的控制方法、装置、终端设备及存储介质
CN108681900A (zh) 轻节点验证交易的方法
CN109639751B (zh) 区块链节点监控方法、装置、系统及计算机存储介质
CN109325349A (zh) 一种安全管理方法、终端设备及计算机可读存储介质
CN103365741B (zh) 用于虚拟机集群的快照和恢复的方法和设备
CN107526645A (zh) 一种通信优化方法及系统
JP2006004434A5 (zh)
CN109918141A (zh) 线程执行方法、装置、终端及存储介质
CN103885997B (zh) 动态页面信息展示方法和动态页面信息展示系统
CN104536852B (zh) 数据恢复方法及装置
WO2018001030A1 (zh) 虚拟化宽带接入服务器的控制方法、装置及通信系统
CN109284075A (zh) 一种打印请求的审批方法、存储介质和服务器
CN107645483A (zh) 风险识别方法、风险识别装置、云风险识别装置及系统
CN106485141A (zh) Java环境下异常业务线程检测与处理方法
CN108519918A (zh) 一种基于事务链的分布式事务处理方法
CN109739690A (zh) 备份方法及相关产品
CN110232633A (zh) 一种电子签约方法、装置、存储介质和服务器
CN109584105A (zh) 一种服务响应的方法及系统
CN106708656A (zh) 用户操作的恢复方法和装置
CN104021033B (zh) 一种繁忙处理节点的散列方法和系统
CN109939441A (zh) 应用复盘校验处理方法及系统
CN109597760A (zh) 一种用于测试的异常场景的部署方法及装置
CN107734080A (zh) 多用户域名解析及域名服务器迁移的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant