进程的恢复方法和装置的制作方法

文档序号:6432689阅读:123来源:国知局
专利名称:进程的恢复方法和装置的制作方法
技术领域
本发明涉及计算机领域,并且特别地,涉及一种进程的恢复方法和装置。
背景技术
在高性能计算环境中,用户很多作业需要运行很长时间,在此情况下,用户作业运行的时间越长,发生用户作业崩溃的风险就越大,损失也越大,并且,如果在用户作业的运行期间出现作业崩溃,则用户只能重新提交作业并重新运行。但是,在实际应用中,许多并行计算任务需要对系统配置环境进行修改,导致集群计算环境稳定性变差,对此,解决的方式是由管理员手工来管理用户作业的稳定运行。并且,很多并行任务采用自身特定的方式进行设置,这样才能够实现进程的定时保存,进而重新启动任务,但是这种设置工作通常也是由管理员手动进行,因此,不论是用户作业的管理还是进程相关的设置,工作量都非常大,且不同场景下这些工作并不具备通用性,因此,会增加手动操作量,并且会对系统增加额外的开销。针对相关技术中进行进程恢复时的手动操作量大、并且会增加系统开销的问题, 目前尚未提出有效的解决方案。

发明内容
针对相关技术中进行进程恢复时的手动操作量大、并且会增加系统开销的问题, 本发明提出一种进程的恢复方法和装置,能够避免大量的手动操作,减少系统的开销。本发明的技术方案是这样实现的根据本发明的实施例,提供了一种进程的恢复方法。该方法包括在第一任务的进程运行的情况下,根据预先设置的时间参数,将进程的镜像文件作为与第一任务对应的第二任务保存在指定存储器中,其中,镜像文件用于将进程恢复为保存该镜像文件时的状态;在需要恢复第一进程的情况下,调用第二任务并运行镜像文件,以恢复第一任务的进程。其中,时间参数为指示需要保存进程的镜像文件的多个时间点、或时间间隔。并且,一方面,在每次保存了进程的镜像文件时,用本次保存的镜像文件替换之前保存的对应该进程的镜像文件;或者另一方面,在每次需要保存进程的镜像文件的情况下,在将本次需要保存的镜像文件作为第二任务保存时,保存本次保存所对应的时间,并保留之前保存的镜像文件;并且,在需要恢复第一进程的情况下,根据用户的选择从之前保存的镜像文件中确定需要调用的第二任务以及需要运行的镜像文件。其中,镜像文件包括以下内容保存镜像文件时进程的寄存器信息、保存镜像文件时进程的堆栈信息、和进程的断点信息。优选地,指定存储器为非易失性存储器。根据本发明的另一实施例,提供了一种进程的恢复装置。
该装置包括存储器;控制模块,用于在第一任务的进程运行的情况下,根据预先设置的时间参数,将进程的镜像文件作为与第一任务对应的第二任务保存在存储器中,其中,镜像文件用于将进程恢复为保存该镜像文件时的状态;恢复模块,用于在需要恢复第一进程的情况下,调用第二任务并运行镜像文件,以恢复第一任务的进程。其中,时间参数为指示需要保存进程的镜像文件的多个时间点、或时间间隔。并且,一方面,控制模块还用于在每次保存了进程的镜像文件时,用本次保存的镜像文件替换存储器中之前保存的对应该进程的镜像文件;或者另一方面,控制模块还用于在每次需要保存进程的镜像文件的情况下,在将本次需要保存的镜像文件作为第二任务保存时,保存本次保存所对应的时间,并保留之前保存的镜像文件;并且,在需要恢复第一进程的情况下,恢复模块用于根据用户的选择从之前保存的镜像文件中确定需要调用的第二任务以及需要运行的镜像文件。此外,镜像文件包括以下内容保存镜像文件时进程的寄存器信息、保存镜像文件时进程的堆栈信息、和进程的断点信息。可选地,存储器为非易失性存储器。本发明通过保存进程的镜像文件,并在需要恢复进程(执行失败或中断)时运行镜像文件,使得进程能够从镜像文件的状态继续执行,从而完成对进程的恢复,明显降低用户作业崩溃带来的损失,减少了用户的风险,避免进程失败后重新执行的问题,也避免了在不同环境下恢复进程时需要额外的手动配置,也无需系统进行复杂的加载,降低系统的开销,节约了进程重新运行以及系统配置的时间,节省了成本。


图1是根据本发明实施例的进程的恢复方法的流程图;图2是根据本发明实施例的进程的恢复方法的处理实例的流程图;图3是根据本发明实施例的进程的恢复装置的框图。
具体实施例方式考虑到相关技术中进行进程恢复时的手动操作量大、并且会增加系统开销的问题,本发明提出,通过检查点功能封装技术是对正在运行的进程进行的状态信息进行保护, 这种保护包括进程此时的寄存器信息以及堆栈信息。用户可以在目标机器上对保存的进程进行恢复。并且,目标机器既可以是本机,也可以是其他机器,只要目标机器上有相应的配置环境即可进行恢复操作。下面将结合附图,详细描述本发明的具体实施方式
。根据本发明的实施例,提供了一种进程的恢复方法。如图1所示,根据本发明实施例的进程的恢复方法包括步骤S101,在第一任务的进程运行的情况下,根据预先设置的时间参数,将进程的镜像文件作为与第一任务对应的第二任务保存在指定存储器中,其中,镜像文件用于将进程恢复为保存该镜像文件时的状态;步骤S103,在需要恢复第一进程的情况下,调用第二任务并运行镜像文件,以恢复第一任务的进程。
借助于上述处理,通过保存进程的镜像文件,并在需要恢复进程(执行失败或中断)时运行镜像文件,使得进程能够从镜像文件的状态继续执行,从而完成对进程的恢复, 避免进程失败后重新执行的问题,也避免了在不同环境下恢复进程时需要额外的手动配置,也无需系统进行复杂的加载,降低系统的开销。优选地,可以多次保存进程的镜像文件,为了表示进行镜像文件存储的时间,上述时间参数可以为指示需要保存进程的镜像文件的多个时间点、或时间间隔,在本实施例中, 也将该时间参数称为作业迁移参数。这样,在每次保存了进程的镜像文件时,用本次保存的镜像文件替换之前保存的对应该进程的镜像文件。也就是说,假设,对于第一任务,设定时间参数为间隔5分钟,这样,假设从8点开始执行进程,则在8点5分,保存该进程执行5分钟时的镜像文件,作为对应于第一任务的第二任务,可以将第二任务保存在任务队列(可以称为处理队列等)中,第二任务与第一任务之间的对应关系可以通过命名、标识等方式体现,而在8点10分(上次保存5分钟后), 保存该进程执行10分钟时的镜像文件(为了节省存储空间,可以用8点10分保存的镜像文件替换之前在8点5分时保存的镜像文件,即,更新了第二任务和相应的镜像文件),如果在8点11分进程的执行出现异常,则可以提交对应于第一任务的第二任务,由于在8点10 分保存了新的第二任务,因此,这里提交的第二任务实际上是8点10分更新后的第二任务, 相应地,也会根据8点10分保存的镜像文件恢复该进程,使得进程能够从8点10分保存的状态开始继续进行,而无需从8点刚刚开始进行时的状态下执行该进程,从而节省了进程的运行时间。另一方面,在每次需要保存进程的镜像文件的情况下,在将本次需要保存的镜像文件作为第二任务保存时,保存本次保存所对应的时间,并保留之前保存的镜像文件;并且,在需要恢复第一进程的情况下,根据用户的选择从之前保存的镜像文件中确定需要调用的第二任务以及需要运行的镜像文件。也就是说,以之前假设的场景为例,在8点5分保存镜像文件作为第二任务时,会记录本次保存的镜像文件对应的时间为8点5分,而在8点10分保存镜像文件作为第二任务时,会记录本次保存的镜像文件对应的时间为8点10分,在8点11分进程的执行出现异常时,用户可以选择基于8点5分保存的镜像文件进行恢复,也可以选择基于8点10分保存的镜像文件进行恢复,之后,根据用户的选择,可以调用对应的时间点所对应的第二任务并运行相应的进行文件。优选地,为了保证镜像文件能够恢复相应的进程,镜像文件包括以下内容保存镜像文件时进程的寄存器信息、保存镜像文件时进程的堆栈信息、和进程的断点信息。为了保证系统断电后进程的状态(镜像文件)不会丢失,指定存储器为非易失性存储器。图2示出了根据本发明实施例的进程的恢复方法的具体执行过程。如图2所示, 借助于检查点功能封装,恢复处理流程如下用户提交作业(这里所提到的作业就是指之前所描述的任务),在作业运行开始时设置作业参数和迁移参数,并且,在提交的作业开始运行的情况下,作业进入内存区域之后会体现为用户进程;
按照设置的迁移参数时间,作业进程按时进行进程检查点保存,将检查点信息写入物理存储区域;如果作业异常中断,则在物理存储中读取检查点信息以进行进程恢复。如果没有异常中断,则作业将会顺利完成。根据本发明的另一方面,还提供了一种进程的恢复装置。如图3所示,根据本发明实施例的进程的恢复装置包括存储器31;控制模块32,连接至存储器31,用于在第一任务的进程运行的情况下,根据预先设置的时间参数,将进程的镜像文件作为与第一任务对应的第二任务保存在存储器中,其中,镜像文件用于将进程恢复为保存该镜像文件时的状态;恢复模块33,连接至控制模块32,用于在需要恢复第一进程的情况下,调用第二任务并运行镜像文件,以恢复第一任务的进程。其中,上述时间参数可以为指示需要保存进程的镜像文件的多个时间点、或时间间隔。并且,一方面,控制模块32还用于在每次保存了进程的镜像文件时,用本次保存的镜像文件替换存储器中之前保存的对应该进程的镜像文件。或者,另一方面,在存储空间较为充足、或者在实际应用中存在操作需要的情况下,控制模块32还用于在每次需要保存进程的镜像文件的情况下,在将本次需要保存的镜像文件作为第二任务保存时,保存本次保存所对应的时间,并保留之前保存的镜像文件;并且,相应地,在需要恢复第一进程的情况下,恢复模块33用于根据用户的选择从之前保存的镜像文件中确定需要调用的第二任务以及需要运行的镜像文件。可选地,镜像文件包括以下内容保存镜像文件时进程的寄存器信息、保存镜像文件时进程的堆栈信息、和进程的断点信息。优选地,上述存储器可以是非易失性存储器。综上所述,借助于本发明的上述技术方案,通过保存进程的镜像文件,并在需要恢复进程(执行失败或中断)时运行镜像文件,使得进程能够从镜像文件的状态继续执行,从而完成对进程的恢复,避免进程失败后重新执行的问题,也避免了在不同环境下恢复进程时需要额外的手动配置,也无需系统进行复杂的加载,降低系统的开销。可以看出,本发明提出,借助于Checkpoint/Restart (检查点/恢复)技术,实现进程由于异常中断后利用检查点信息进行重新启动并继续执行任务的功能,并且能够利用作业调度程序,实现任务的重新调度,使得进程重新启动后能够继续运行,明显降低用户作业崩溃带来的损失,减少了用户的风险,节约时间和成本。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种进程的恢复方法,其特征在于,包括在第一任务的进程运行的情况下,根据预先设置的时间参数,将所述进程的镜像文件作为与所述第一任务对应的第二任务保存在指定存储器中,其中,所述镜像文件用于将所述进程恢复为保存该镜像文件时的状态;在需要恢复所述第一进程的情况下,调用所述第二任务并运行所述镜像文件,以恢复所述第一任务的进程。
2.根据权利要求1所述的恢复方法,其特征在于,所述时间参数为指示需要保存所述进程的镜像文件的多个时间点、或时间间隔。
3.根据权利要求2所述的恢复方法,其特征在于,在每次保存了所述进程的镜像文件时,用本次保存的镜像文件替换之前保存的对应该进程的镜像文件;或者在每次需要保存所述进程的镜像文件的情况下,在将本次需要保存的镜像文件作为第二任务保存时,保存本次保存所对应的时间,并保留之前保存的镜像文件;并且,在需要恢复所述第一进程的情况下,根据用户的选择从之前保存的镜像文件中确定需要调用的第二任务以及需要运行的镜像文件。
4.根据权利要求1至3中任一项所述的恢复方法,其特征在于,所述镜像文件包括以下内容保存所述镜像文件时所述进程的寄存器信息、保存所述镜像文件时所述进程的堆栈信息、和所述进程的断点信息。
5.根据权利要求1至3中任一项所述的恢复方法,其特征在于,所述指定存储器为非易失性存储器。
6.一种进程的恢复装置,其特征在于,包括存储器;控制模块,用于在第一任务的进程运行的情况下,根据预先设置的时间参数,将所述进程的镜像文件作为与所述第一任务对应的第二任务保存在所述存储器中,其中,所述镜像文件用于将所述进程恢复为保存该镜像文件时的状态;恢复模块,用于在需要恢复所述第一进程的情况下,调用所述第二任务并运行所述镜像文件,以恢复所述第一任务的进程。
7.根据权利要求6所述的恢复装置,其特征在于,所述时间参数为指示需要保存所述进程的镜像文件的多个时间点、或时间间隔。
8.根据权利要求7所述的恢复装置,其特征在于,所述控制模块还用于在每次保存了所述进程的镜像文件时,用本次保存的镜像文件替换所述存储器中之前保存的对应该进程的镜像文件;或者所述控制模块还用于在每次需要保存所述进程的镜像文件的情况下,在将本次需要保存的镜像文件作为第二任务保存时,保存本次保存所对应的时间,并保留之前保存的镜像文件;并且,在需要恢复所述第一进程的情况下,所述恢复模块用于根据用户的选择从之前保存的镜像文件中确定需要调用的第二任务以及需要运行的镜像文件。
9.根据权利要求6至8中任一项所述的恢复装置,其特征在于,所述镜像文件包括以下内容保存所述镜像文件时所述进程的寄存器信息、保存所述镜像文件时所述进程的堆栈信息、和所述进程的断点信息。
10.根据权利要求6至8中任一项所述的恢复装置,其特征在于,所述存储器为非易失性存储器。
全文摘要
本发明公开了一种进程的恢复方法和装置,其中,该方法包括在第一任务的进程运行的情况下,根据预先设置的时间参数,将进程的镜像文件作为与第一任务对应的第二任务保存在指定存储器中,其中,镜像文件用于将进程恢复为保存该镜像文件时的状态;在需要恢复第一进程的情况下,调用第二任务并运行镜像文件,以恢复第一任务的进程。本发明能够使进程从镜像文件的状态继续执行,从而完成对进程的恢复,明显降低用户作业崩溃带来的损失,减少了用户的风险,避免进程失败后重新执行的问题,也避免了在不同环境下恢复进程时需要额外的手动配置,也无需系统进行复杂的加载,降低系统的开销,节约了进程重新运行以及系统配置的时间,节省了成本。
文档编号G06F11/14GK102411519SQ20111026536
公开日2012年4月11日 申请日期2011年9月8日 优先权日2011年9月8日
发明者戴荣, 李斌, 李程, 王璟, 许涛, 马少杰 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1