CN102369514A - 一种建立检查点的方法和系统 - Google Patents
一种建立检查点的方法和系统 Download PDFInfo
- Publication number
- CN102369514A CN102369514A CN2011800015711A CN201180001571A CN102369514A CN 102369514 A CN102369514 A CN 102369514A CN 2011800015711 A CN2011800015711 A CN 2011800015711A CN 201180001571 A CN201180001571 A CN 201180001571A CN 102369514 A CN102369514 A CN 102369514A
- Authority
- CN
- China
- Prior art keywords
- application process
- checkpoint
- setting
- application
- trigger condition
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明公开了一种建立检查点的方法和系统,该方法包括:监测各个应用进程的运行状态,确定各个应用进程的响应输出间隔;当应用进程的响应输出间隔大于预设的建立检查点的周期时,以该应用进程的响应输出作为该应用进程建立检查点的触发条件;当应用进程的响应输出间隔小于预设的建立检查点的周期时,以到达预设的建立检查点的时刻为该应用进程建立检查点的触发条件;如果当前不需要进行检查点触发条件的设定,且某应用进程当前满足建立检查点的触发条件时,为该应用进程建立检查点。本发明的方法能降低建立检查点带来的数据开销,节省系统资源。
Description
技术领域
本发明涉及应用程序备份技术领域,尤其涉及一种建立检查点的方法和系统。
背景技术
随着计算机和通信技术的发展,对服务器系统的可靠性要求越来越高。为了避免由于服务器死机(宕机)或误操作而导致应用程序的运行状态的数据信息丢失,需要对系统进行热备份。
热备份是指在系统正常工作的情况下,将系统中应用程序运行状态记录成备份文件并保存下来。系统生成热备份一般是采用以固定周期对系统中各个应用程序建立检查点,以便对系统中所有的应用程序的运行状态进行记录生成备份文件。当系统出现故障并重新运行时,可以利用备份文件将系统恢复至检查点建立时刻的状态。
由于建立服务器系统检查点的过程中,系统一般会以一个固定的周期来为所有应用程序均建立检查点,而对于应用程序中的某些应用进程而言,在相邻两次检查点之间,应用进程的运行状态并没有发生改变,但是系统却进行了两次备份操作,增加了数据开销,从而造成了资源浪费。
发明内容
有鉴于此,本发明提供一种建立检查点的方法和检查点管理系统,能降低建立检查点带来的数据开销,节省系统资源。
为实现上述目的本发明提供了一种建立检查点的方法,包括:
判断当前是否需要进行检查点触发条件的设定,如果是,则执行以下设定检查点触发条件的步骤,如果否,则执行以下监测应用进程的步骤;
设定检查点触发条件的步骤包括:
监测各个应用进程的运行状态,确定各个应用进程的响应输出间隔,其中,响应输出间隔是指应用进程相邻两次响应输出之间的时间间隔;
当应用进程的响应输出间隔大于预设的建立检查点的周期时,以该应用进程的响应输出作为该应用进程建立检查点的触发条件;
当应用进程的响应输出间隔小于预设的建立检查点的周期时,以到达预设的建立检查点的时刻为该应用进程建立检查点的触发条件;
监测应用进程的步骤包括:
对于一个应用进程,判断当前是否满足建立检查点的触发条件,如果是,则为该应用进程建立检查点。
另一方面,本发明提供了一种建立检查点的系统,包括:
判断单元,用于判断当前是否需要进行检查点触发条件的设定,如果是,则执行触发设定单元的操作,如果否,则执行检查点建立单元的操作;
触发设定单元,用于为各个应用进程设定检查点触发条件;
检查点建立单元,用于当某个应用进程满足触发条件时,为该应用进程建立检查点。
从上述的技术方案可以看出,本发明实施例公开一种建立检查点的方法和系统,通过监测各个应用进程的运行状态,可以确定出各个应用进程的响应输出间隔,将各个应用进程的响应输出间隔与预设的时间检查点的周期作比较,为不同应用进程确定不同的建立检查点的触发条件,这样系统可以合理的安排各个应用进程建立检查点的周期,避免某个应用进程在当前建立检查点时,该应用进程的运行状态与上一检查点时刻的运行状态相同的情况出现,从而减少建立检查点带来的数据开销,造成系统资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明公开的一种建立检查点的方法的一个实施例的流程示意图;
图2为本发明的一种建立检查点的方法的一个应用场景示意图;
图3为服务器系统出现故障后,利用本发明所建立的检查点恢复应用进程运行状态的流程示意图;
图4为本发明公开的一种建立检查点的方法的另一个实施例的流程示意图;
图5为本发明一种建立检查点的方法的另一个应用场景示意图;
图6为本发明公开的一种建立检查点的系统的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种建立检查点的方法和系统,根据不同应用进程的响应输出间隔,为不同应用进程确定不同的建立检查点的触发条件,并在某个应用进程满足建立检查点的触发条件时,为该应用进程建立检查点。
参见图1,示出了本发明一种建立检查点的方法的一个实施例的流程示意图,本实施例的方法可以包括以下步骤:
步骤101:判断当前是否需要进行检查点触发条件的设定,如果是,则执行设定检查点触发条件的步骤,进入步骤102,如果否,则执行监测应用进程的步骤,进入步骤105。
其中,具体何时进行检查点触发条件的设定可以根据服务器系统的性能、服务器系统的应用场合、服务器系统运行的应用程序的数量等因素来确定。可以设定在服务器系统中应用程序进行初始化时,进行检查点触发条件的设定,并在完成初始化之后,各个应用进程的触发条件保持不变。
由于服务器系统中每个应用程序的运行过程中可能会涉及多个应用进程(或者称为应用进程组),而不同时刻同一应用进程的运行速度、相邻两次接收到请求的时间间隔,相邻两次响应输出的时间间隔等都可能会发生较大的变化,因此也可以预先设置进行检查点触发条件设定的周期,并周期性的进行检查点触发条件的设定。具体的可以判断当前是否满足预设的进行检查点触发条件设定的时刻,如果是,则执行检查点触发条件的操作。如,可以每隔两个小时进行一次设定检查点触发条件的操作。当然,也可以采用实时监测应用进程的运行状态,以确定应用进程的响应输出间隔。
当满足设定检查点触发条件的执行条件时,就可以进行检查点触发条件的操作,执行步骤102、103和104。
步骤102:监测各个应用进程的运行状态,确定各个应用进程的响应输出间隔。
其中,响应输出间隔是指应用进程相邻两次输出之间的时间间隔。当然该响应输出间隔的确定还综合考虑了该应用进程的平均响应时间以及该应用进程接收到的请求的频率等因素。
监测各个应用进程的运行状态,可以获取到不同应用进程的接收到请求的频率,该应用进程的响应时间,以及该应用进程的相邻两次请求的输入时间间隔,该应用进程相邻两次输出的时间间隔等。
不同的应用进程接收到请求的频率、以及响应时间等会存在差异,因此不同的应用进程的相邻两次输出之间的时间间隔也会有差异,例如应用进程1可能每隔15ms接收到一个请求,接收到请求后的响应时间为5ms,该应用进程的响应输出间隔可以为15ms;而应用进程2每隔80ms接收到一次请求,响应时间为25ms,该应用进程的响应输出间隔可以为80ms。
需要说明的是,在现有技术中对于以上例子中的两个应用进程建立检查点的周期是相同的,如可以每隔20ms为这两个应用进程建立检查点,当建立检查点时需要将这两个应用进程均冻结,中断两个应用进程的执行,而频繁的为两个应用进程均建立检查点消耗了大量的系统资源。如对于应用进程2而言,该应用进程接收到请求的间隔时间远大于20ms,因此相邻两个检查点之间,该应用进程2的运行状态并没有发生变化,但是服务器系统却为该应用进程建立了检查点,造成了资源的浪费。而且在建立检查点的过程中该应用进程2还可能由于被冻结而中断程序运行,使应用程序的中断时间增加,进而影响系统性能。如果将服务器系统为这两个应用进程建立检查点的周期延长,当突然断电时,检查点到断电时刻中的系统应用进程运行状态的信息可能丢失的会较多。
本发明通过监测应用进程的运行状态,确定出不同应用进程的响应输出间隔,区分出各个应用进程的差异性,进而针对不同的应用进程确定不同的建立检查点的触发条件。
步骤102:当应用进程的响应输出间隔大于预设的建立检查点的周期时,以该应用进程的响应输出作为该应用进程建立检查点的触发条件。
步骤103:当应用进程的响应输出间隔小于预设的建立检查点的周期时,以到达预设的建立检查点的时刻为该应用进程建立检查点的触发条件。
其中,预设的建立检查点的周期是指系统预先设定了建立检查点的时刻,相邻两个预设的建立检查点的时刻的间隔为一个预设的建立检查点的周期,该周期可以根据系统性能以及可靠性来确定。具体的可以考虑系统中各个应用进程的响应时间以及响应输出的间隔来确定该预设的建立检查点的周期,对于该预设的周期的时间长度不做具体限定。
得到各个应用进程的响应输出间隔之后,将应用进程的响应输出间隔与预设的建立检查点的周期进行比较,以设定各个应用进程各自建立检查点的触发条件。例如,假设预设的建立检查点的周期为30ms,应用进程1的输出响应输出间隔为15ms,应用进程2的响应输出间隔为28ms,而应用进程3的响应输出间隔为60ms,而对于应用进程1和应用进程2来说,在该预设的建立检查点的时刻点即为这两个应用进程建立检查点的触发条件;而对于应用进程3而言,该应用进程建立检查点的触发条件为应用进程有响应输出。
步骤104:对于一个应用进程,判断当前是否满足建立检查点的触发条件,如果是,则为该应用进程建立检查点。
在确定了不同应用进程建立检查点的触发条件后,可以执行监测应用进程的步骤,对于某个应用进程而言,依据为其设定的建立检查点的触发条件,判断当前该应用进程是否满足建立检查点的触发条件,如果是,就为该应用进程建立检查点。
当应用进程满足建立检查点的触发条件时,将待建立检查点的应用进程进行冻结,保证在为该应用进程建立检查点的过程中,该应用进程的运行状态不会发生变化,以深度优先搜索的方式遍历该应用进程以及相关的线程,并记录该待建立检查点的应用进程的运行状态,生成与该待建立检查点的应用进程的运行状态相对应的备份文件。建立检查点时生成的备份文件也可以称为热备份文件,在该热备份文件中可以包括该应用进程的打开的文件列表、网络状态、堆栈段指针等。
本实施例中,通过监测各个应用进程的运行状态,可以确定出各个应用进程的响应输出间隔,并将应用进程的响应输出间隔与预设的建立检查点的周期作比较,为不同应用进程确定不同的建立检查点的触发条件,当某个应用进程的响应输出间隔较短时,可以在预设的建立检查点的时间点到达的时刻为该应用进程建立检查点;当某个应用进行的响应输出时间间隔较长时,该应用进程建立检查点的周期也会相应的增长,这样系统可以合理的安排各个应用进程建立检查点的周期,避免某个应用进程在当前建立检查点时,该应用进程的运行状态与上一检查点时刻的运行状态相同的情况出现,从而减少建立检查点带来的数据开销,造成系统资源浪费。
同时,当不同应用进程建立检查点的触发条件不同,不同应用进程建立检查点的时间也不相同,而只有在建立检查点时,该应用进程才会被冻结,因此如果某个应用进程的响应时间较长且该应用进程的输出时间间隔较长时,则只有在该应用进程有响应输出时,才触发为该应用进程建立检查点的操作,从而减少了该应用进程的中断时间。
需要说明的是,在为应用进程建立检查点时,需要将该应用进程进行冻结。当完成检查点的建立,生成相应的备份文件之后,还需要将该应用进程进行解冻,恢复应用进程的运行状态,使该应用进程可以接收来自客户端的请求。
服务器系统中运行的应用进程可以分为两类,一类为记忆型应用,记忆型应用进程在运行过程中,应用程序的数据状态会随应用进程的数据请求输入和响应输出而发生变化。这类应用进程在执行过程中应用进程的数据状态以及进程状态都会发生改变。另一类是非记忆型应用,这类应用进程在运行过程中,应用进程的请求输入和响应输出不会对应用程序的数据状态带来影响。如,对于一些信息查询程序,接收到用户查询请求时,将用户的请求的信息提供给用户,但是应用程序本身的数据状态等都不会发生什么改变。对于非记忆型的应用进程,由于其应用状态和应用程序的相关数据不会随应用进程的输入和输出而发生改变,可以不对该类应用进程建立检查点或者由手动设置检查点。因此,在检查点建立之前还可以根据应用进程的运行状态,判断应用进程运行过程中进程状态和数据状态是否发生改变,如果是,则执行建立检查点的操作。也就是说,对于在运行过程中进程状态和数据状态发生改变的应用进程,才进行检查点触发条件的设定的操作,并为该应用进程建立检查点。
为便于理解,下面以一具体的应用场景对上述实施例中描述的建立检查点的方法进行详细描述,参见图2,为本发明中对不同应用进程建立检查点的示意图。图中每个线段的两端分别表示该应用进程接收到请求和响应输出所对应的时间点;同一个应用进程所对应的各条线段之间的间距长短代表了该应用进程接收到请求的频率(即,响应输出间隔),假设不同时间段内同一应用进程的响应输出间隔不变;图中的虚线表示系统预设的建立检查点的时间点,两条虚线之间的间隔为一个预设的建立检查点的周期。其中,应用进程1、应用进程2和应用进程3均为记忆型应用;应用进程4为非记忆型应用。
由图2可以看出,由于应用进程4为非记忆型应用,可以不为该应用进程建立检查点,进而减少系统资源消耗。对于应用进程1、应用进程2和应用进程3而言,三个应用进程中,应用进程1的响应输出间隔的最短,应用进程3的响应输出间隔的最长,且应用进程1和应用进程2的响应输出间隔小于预设的建立检查点的周期的时间长度,而应用进程3的响应输出间隔远大于预设的建立检查点的周期。因此,将预设的建立检查点的时刻作为应用进程1和应用进程2建立检查点的触发条件,并周期性的在预设的建立检查点的时刻为应用进程1和应用进程2建立检查点(图中类似长方形的图形代表建立检查点的操作);将应用进程3的响应输出作为应用进程3建立检查点的触发条件,并在该应用进程3产生响应输出时为应用进程3建立检查点。
需要说明的是,当服务器系统出现宕机或误操作等故障后,服务器系统恢复正常时可以根据最近检查点处所生成的备份文件,将系统中各个应用程序恢复至该最近检查点建立时刻的各个应用进程的运行状态。
为了清楚的描述服务器系统出现故障后,利用检查点处建立的备份文件恢复应用进程的运行状态,参见图3,为服务器系统故障重启后,利用检查点生成的备份文件恢复系统中应用进程的运行状态的流程示意图,包括:
步骤301:读取待恢复的应用进程的列表,依次读取待恢复的应用进程的信息。
该待恢复的应用进程列表中按先后顺序列出了各个待恢复的应用进程,然后依次读取各个应用进程的信息,以便逐次恢复各个应用进程的运行状态。
步骤302:获取某应用进程所对应的最近检查点处所生成的备份文件。
步骤303:根据获取到的备份文件,将该应用进程的运行状态恢复至该备份文件建立时刻的运行状态。
当需要恢复某个应用进程的运行状态时,首先需要获取到该应用进程最近的检查点处所生成的备份文件。获取到该备份文件之后,可以根据备份文件中记录的信息恢复应用进程的运行状态。
步骤303:启动该应用进程,并继续读取待恢复的应用进程的列表,当仍有待恢复的应用进程时,继续执行步骤302,直至将列表中所有应用进程的运行状态均恢复到其对应的最近的检查点建立时刻的运行状态。
当该应用进程恢复后,该应用进程可以继续执行进程操作。系统继续恢复后续的应用进程,直至所有的应用进程的运行状态均恢复为止。
由于服务器系统出现故障后,对于某个应用进程而言,最近的检查点处所记录的进程运行状态与在系统出现故障的时刻该应用进程的运行状态间仍有差距,该应用进程运行的数据信息仍有部分丢失。为了进一步减少由于系统故障而导致的应用进程的数据丢失,在监测各个应用进程的运行状态的同时,可以对各个应用进程进行日志记录。该日志记录主要反映该应用进程的数据状态做了哪些修改,如该日志记录中可以记录该应用进程输入的数据请求、数据响应以及该应用进程依据接收到的请求对文件列表中的数据做了哪些修改等。
参见图4,示出了本发明另一实施例所提供的一种建立检查点的方法的流程示意图,本实施例包括:
步骤401:监测各个应用进程的运行状态,对各个应用进程进行日志记录。
监测应用进程,当某个应用进程接收到数据请求之后,对该应用进程的数据请求状态,数据修改状态、响应的数据输出等进行记录生成日志记录。
步骤402:判断当前是否需要进行检查点触发条件的设定,如果是,则执行设定检查点触发条件的步骤,进入步骤403,如果否,则执行监测应用进程的步骤,进入步骤406。
步骤403:依据日志记录确定各个应用进程的响应输出间隔。
其中,响应输出间隔是指应用进程相邻两次输出之间的时间间隔。此处的响应输出间隔与上一实施例中含义相同,在此不再赘述。不同之处在于获取到各个应用进程的响应输出间隔还可以通过各个应用进程的日志记录的信息获取到。
步骤404:当应用进程的响应输出间隔大于预设的建立检查点的周期时,以该应用进程的响应输出作为该应用进程建立检查点的触发条件。
步骤405:当应用进程的响应输出间隔小于预设的建立检查点的周期时,以到达预设的建立检查点的周期为该应用进程建立检查点的触发条件。
步骤406:对于一个应用进程,判断当前是否满足建立检查点的触发条件,如果是,则为该应用进程建立检查点。
步骤404、步骤405和步骤406的操作过程分别与上一实施例中的步骤102、步骤103和步骤104的过程相同,在此不再赘述。
需要说明的是,对各个应用进程进行日志记录的过程可以是将应用进程过程中的所涉及的数据状态的信息均记录下来,为了节省系统内存空间也可以每隔一定时间更新一次应用进程的日志记录。可以在对某个应用进程完成建立检查点的操作时,删除该应用进程上次检查点到当前检查点之间的日志记录,更新该应用进程的日志记录。还可以是应用进程每产生一次响应输出就更新一次该应用进程的日志记录。当然还有其他进行应用进程的日志记录的方式,只要能保证系统发生故障时,从最近的检查点到故障发生时刻之间的时间段内,应用进程的数据请求状态,数据修改状态等日志记录被记录下来即可。
由于在本实施例中增加了对应用进程进行日志记录的操作,在服务器系统出现故障系统重启之后,可以利用应用进程对应的最近的检查点处所生成的备份文件,以及应用进程对应的日志记录,将应用进程会恢复至故障发生时刻的运行状态。具体的:可以利用最近的检查点处所生成的备份文件,将应用进程恢复至该备份文件建立时刻的进程状态,并利用该应用进程对应的日志记录,将该应用进程恢复到故障发生时刻的进程运行状态。也就是说,在利用备份文件将应用状态恢复到检查点建立时刻的应用状态之后,还可以进一步利用该应用进程对应的日志记录中记录的数据状态信息,将该应用进程恢复至系统故障发生时刻的运行状态。
为便于理解,下面以一具体的应用场景对上述实施例中描述的建立检查点的方法以及服务器系统出现故障后,应用进程恢复运行状态的过程进行详细描述,参见图5,图中每个线段含义与图2中的含义相同,图中时间段1、时间段2和时间段4相邻的虚线表示建立检查点的时刻,时间段1、时间段2、和时间段3的时间长度均为一个预设的时间检查点的周期,其余虚线表示系统出现故障的时间点,以及故障恢复后的时间点。在图5中,应用进程1、应用进程2和应用进程3均为记忆型应用;应用进程4为非记忆型应用。
由图中可以看出应用进程1的响应输出间隔小于预设的建立检查点的周期,当到达预设的建立检查点的时刻时,为应用进程1建立检查点生成相应的备份文件。同时在应用进程1运行过程中,为该应用进程1进行了日志记录。如图,在应用进程1在执行过程中,对应用进程1进行日志记录,图中的标号为5的圆圈代表应用进程1运行过程中的日志记录,当为该应用进程1建立检查点之后,删除该检查点之前生成的日志记录,更新该应用进程1的日志记录,并继续记录该应用进程1的日志,图中标号为6的圆圈代表更新后的应用进程1的日志记录。
当服务器系统出现宕机,该应用进程1的运行中断后,为了恢复应用进程1的运行状态,就可以利用标号为6的备份文件将应用进程1的运行状态恢复至该标号为6的备份文件生成时刻的运行状态。并利用之生成的标号为6的日志记录,将该应用进程的数据状态恢复至最接近宕机时刻的数据状态。
应用进程2与应用进程1建立检查点的过程类似,在此不再赘述。
应用进程3的响应输出间隔大于预设的建立检查点的周期,当应用进程3有响应输出时,为该应用进程3建立检查点,图中标有标号5且类似长方形的代表为该应用进程3在检查点处建立的备份文件,且在应用进程3运行过程中,对应用进程3进行了日志记录,如图中的标号为4的圆圈,代表为该应用进程3生成的日志记录。
当服务器系统出现宕机,为了恢复应用进程3的运行状态可以将获取到该应用进程3的备份文件,由于在应用进程3建立检查点到出现宕机的时间段内,应用进程的运行状态没有发生改变,没有相应的日志记录,仅利用该应用进程3在检查点处生成的备份文件,就可以恢复应用进程3的运行状态。
由于应用进程4为非记忆型应用,可以不对该应用进程建立检查点或者是进行日志记录,当然具体情况可以根据需要进行设定,在图5中,对该应用进程4进行了日志记录。
参见图6,为本发明一种建立检查点的系统的一个实施例的结构示意图,本实施例的系统包括:
判断单元610,用于判断当前是否需要进行检查点触发条件的设定,如果是,则执行触发设定单元的操作,如果否,则执行检查点建立单元的操作。
触发设定单元620,用于为各个应用进程设定检查点触发条件。
检查点建立单元630,用于当某个应用进程满足触发条件时,为该应用进程建立检查点。
具体的,该触发设定单元620,包括:状态监测单元621、响应间隔确定单元622、第一触发单元623和第二触发单元624。
其中,状态监测单元621,用于监测各个应用进程的运行状态。
响应间隔确定单元622,用于依据应用进程的运行状态,确定各个应用进程的响应输出间隔,其中,响应输出间隔是指应用进程相邻两次响应输出之间的时间间隔;
第一触发单元623,用于当应用进程的响应输出间隔大于预设的建立检查点的周期时,以该应用进程的响应输出作为该应用进程建立检查点的触发条件;
第二触发单元624,用于当应用进程的响应输出间隔小于预设的建立检查点的周期时,以到达预设的建立检查点的时刻为该应用进程建立检查点的触发条件。
需要说明的是,具体何时进行检查点触发条件的设定可以根据服务器系统的性能、服务器系统的应用场合、服务器系统运行的应用程序的数量等因素来确定。可以在系统初始化时,进行检查点触发条件的设定,对应的,该判断单元610可以包括:
第一判断单元,用于判断应用程序是否进行初始化,如果是,则执行触发设定单元的操作,如果否,则执行检查点建立单元的操作。
当然,也可以由系统设定一个周期,然后周期性的进行检查点触发条件的设定,对应的,判断单元610可以包括:第二判断单元,用于判断当前时刻是否为预设的设定检查点触发条件的时刻,如果是,则执行触发设定单元的操作;如果否,则执行检查点建立单元的操作。
当然也可以实时监测应用进程的运行状态,从而确定各个应用进程的响应输出间隔,将各个应用进程的响应输出间隔与预设的建立检查点的周期进行比较,进而为不同的应用进程设定不同的触发条件。
在为某应用进程建立检查点时,需要将该应用进程进行冻结,该检查点建立单元,具体用于将待建立检查点的应用进程进行冻结,并记录所述待建立检查点的应用进程的执行状态,生成与所述待建立检查点的应用进程执行状态相对应的备份文件。当然,在检查点建立单元为该应用进程建立了检查点之后,还需要为该应用进程进行解冻,以恢复该应用进程接收请求的能力,恢复该应用进程的运行状态。
本实施例中状态监测单元可以实时监测各个应用程序的运行状态,将各个应用进程的运行状态的信息发送到响应间隔确定单元,以便响应确定单元622可以确定该各个应用进程的响应输出间隔,进而由第一触发单元和第二触发单元为各个应用进程确定建立检查点的触发条件,并触发检查点建立单元的操作为不同应用进程建立检查点。
由于应用进程可以划分为记忆型应用和非记忆型应用,由于非记忆型的应用进程在接收到请求输入到响应输出的过程中,不会对该应用进程涉及的文件以及数据状态带来影响,可以不对该类非记忆型应用的应用进程建立检查点。为了进一步的节省系统开销,本实施例的系统还可以包括:
应用类型判断单元,用于判断应用进程运行过程中进程状态和数据状态是否发生改变。
检查点建立触发单元,用于当所述应用类型判断单元判断出应用进程在运行过程中进程状态和数据状态发生改变时,执行所述检查点建立单元的操作。
该应用判断单元也可以依据监测单元获取到的各个应用进行的运行状态信息,来判断某个应用进程的进程状态和数据状态是否发生改变。如果某个应用进程在运行过程中,不会对该进程状态和数据状态产生影响,则无需为该应用进程建立检查点,当然也就可以不进行响应间隔确定单元、第一触发单元和第二触发单元的操作。
检查点管理系统可以完成检查点的建立、删除检查点,以及利用检查点生成的备份文件恢复应用进程的运行状态,当服务器系统出现故障后,需要利用应用进程最近检查点处生成的备份文件,来恢复该应用进程的运行状态,对应的检查点管理系统还包括:
进程恢复单元,用于当系统出现故障后,根据检查点处所生成的备份文件,恢复应用进程的运行状态。
进一步的,为了使服务器系统出现故障后,能最大程度的保证应用进程的所涉及的数据状态的完整性,该检查点管理系统还包括:日志记录单元,用于在各个应用进程的运行过程中,对所述各个应用进程进行日志记录。
该日志记录主要反映应用进程的数据状态做了哪些修改,如该日志记录中可以记录某应用进程输入的数据请求、数据响应以及该应用进程依据接收到的请求对文件列表中的数据做了哪些修改等。当为应用进程进行日志记录时,响应间隔确定单元还可以依据日志记录确定应用进程的响应输出间隔。
与日志记录单元相对应,进程恢复单元,包括:进程恢复子单元,用于利用最近检查点处所生成的备份文件,将应用进程恢复至该备份文件生成时刻的进程运行状态,并利用该日志记录将该应用进程恢复到故障发生时刻的运行状态。
为了减少占用的内存空间,对于一个应用进程而言,如果在某时刻为该应用进程建立了检查点,那么该时刻之前的日志记录可以被删除,并重现记录该应用进程在该检查点之后的日志,与此对应,日志记录单元,包括:日志记录更新单元,用于在检查点建立单元建立检查点之后,更新应用程序的日志记录。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种建立检查点的方法,其特征在于,包括:
判断当前是否需要进行检查点触发条件的设定,如果是,则执行以下设定检查点触发条件的步骤,如果否,则执行以下监测应用进程的步骤;
设定检查点触发条件的步骤包括:
监测各个应用进程的运行状态,确定各个应用进程的响应输出间隔,其中,响应输出间隔是指应用进程相邻两次响应输出之间的时间间隔;
当应用进程的响应输出间隔大于预设的建立检查点的周期时,以该应用进程的响应输出作为该应用进程建立检查点的触发条件;
当应用进程的响应输出间隔小于预设的建立检查点的周期时,以到达预设的建立检查点的时刻为该应用进程建立检查点的触发条件;
监测应用进程的步骤包括:
对于一个应用进程,判断当前是否满足建立检查点的触发条件,如果是,则为该应用进程建立检查点。
2.根据权利要求1所述的方法,其特征在于,所述判断当前是否需要进行检查点触发条件的设定,包括:
判断应用程序是否进行初始化。
3.根据权利要求1所述的方法,其特征在于,所述判断当前是否需要进行检查点触发条件的设定,包括:
判断当前时刻是否为预设的设定检查点触发条件的时刻。
4.根据权利要求1至3任一项所述的方法,其特征在于,在为应用进程建立检查点之前,还包括:
根据应用进程的运行状态,判断应用进程运行过程中进程状态和数据状态是否发生改变,如果是,则执行所述建立检查点的操作。
5.根据权利要求1所述的方法,其特征在于,所述建立检查点包括:
将待建立检查点的应用进程进行冻结,并记录所述待建立检查点的应用进程的运行状态,生成与所述待建立检查点的应用进程的运行状态相对应的备份文件。
6.根据权利要求1所述的方法,其特征在于,在建立检查点之后还包括:
当系统出现故障后,根据最近检查点处所生成的备份文件,恢复应用进程的运行状态。
7.根据权利要求6所述的方法,其特征在于,在监测各个应用进程的运行状态的同时,对所述各个应用进程进行日志记录;
所述根据最近检查点处所生成的备份文件,恢复应用进程的运行状态,包括:
利用所述备份文件,将所述应用进程恢复至所述备份文件建立时刻的进程运行状态,并利用所述日志记录将所述应用进程恢复到故障发生时刻的运行状态。
8.根据权利要求7所述的方法,其特征在于,在建立检查点之后,还包括:更新应用进程的日志记录。
9.一种建立检查点的系统,其特征在于,包括:
判断单元,用于判断当前是否需要进行检查点触发条件的设定,如果是,则执行触发设定单元的操作,如果否,则执行检查点建立单元的操作;
触发设定单元,用于为各个应用进程设定检查点触发条件;
检查点建立单元,用于当某个应用进程满足触发条件时,为该应用进程建立检查点。
10.根据权利要求9所述的系统,其特征在于,所述触发设定单元包括:
状态监测单元,用于监测各个应用进程的运行状态;
响应间隔确定单元,用于依据应用进程的运行状态,确定各个应用进程的响应输出间隔,其中,响应输出间隔是指应用进程相邻两次响应输出之间的时间间隔;
第一触发单元,用于当应用进程的响应输出间隔大于预设的建立检查点的周期时,以该应用进程的响应输出作为该应用进程建立检查点的触发条件;
第二触发单元,用于当应用进程的响应输出间隔小于预设的建立检查点的周期时,以到达预设的建立检查点的时刻为该应用进程建立检查点的触发条件。
11.根据权利要求9或10所述的系统,其特征在于,所述判断单元包括:
第一判断单元,用于判断应用程序是否进行初始化,如果是,则执行触发设定单元的操作,如果否,则执行以下监测应用进程的操作。
12.根据权利要求9或10所述的系统,其特征在于,所述判断单元包括:
第二判断单元,用于判断当前时刻是否为预设的设定检查点触发条件的时刻,如果是,则执行触发设定单元的操作;如果否,则执行检查点建立单元的操作。
13.根据权利要求9或10所述的系统,其特征在于,还包括:
应用类型判断单元,用于判断应用进程运行过程中进程状态和数据状态是否发生改变;
检查点建立触发单元,用于当所述应用类型判断单元判断出应用进程在运行过程中进程状态和数据状态发生改变时,执行所述检查点建立单元的操作。
14.根据权利要求9或10所述的系统,其特征在于,所述检查点建立单元,具体包括,用于将待建立检查点的应用进程进行冻结,并记录所述待建立检查点的应用进程的运行状态,生成与所述待建立检查点的应用进程的运行状态相对应的备份文件。
15.根据权利要求9或10所述的系统,其特征在于,还包括:
进程恢复单元,用于当系统出现故障后,根据检查点处所生成的备份文件,恢复应用进程的运行状态。
16.根据权利要求15所述的系统,其特征在于,还包括:
日志记录单元,用于在各个应用进程的运行过程中,对所述各个应用进程进行日志记录;
所述进程恢复单元,包括:
进程恢复子单元,用于利用所述备份文件,将应用进程恢复至所述备份文件生成时刻的进程运行状态,并利用所述日志记录将所述应用进程恢复到故障发生时刻的运行状态。
17.根据权利要求16所述的系统,其特征在于,所述日志记录单元,还包括:日志记录更新单元,用于在检查点建立单元建立检查点之后,更新应用程序的日志记录。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/079180 WO2012149719A1 (zh) | 2011-08-31 | 2011-08-31 | 一种建立检查点的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102369514A true CN102369514A (zh) | 2012-03-07 |
CN102369514B CN102369514B (zh) | 2013-09-11 |
Family
ID=45761448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180001571.1A Expired - Fee Related CN102369514B (zh) | 2011-08-31 | 2011-08-31 | 一种建立检查点的方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102369514B (zh) |
WO (1) | WO2012149719A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197982A (zh) * | 2013-03-28 | 2013-07-10 | 哈尔滨工程大学 | 一种任务局部最优检查点间隔搜索方法 |
CN103259845A (zh) * | 2013-04-12 | 2013-08-21 | 赵利林 | 基于网络中断的数据备份任务的改进方法 |
CN104272787A (zh) * | 2012-05-14 | 2015-01-07 | 高通股份有限公司 | 用于自主还原到行为检查点的技术 |
CN106656557A (zh) * | 2016-10-31 | 2017-05-10 | 网易(杭州)网络有限公司 | 业务状态处理方法和装置 |
CN106708656A (zh) * | 2015-07-30 | 2017-05-24 | 北京国双科技有限公司 | 用户操作的恢复方法和装置 |
US10089582B2 (en) | 2013-01-02 | 2018-10-02 | Qualcomm Incorporated | Using normalized confidence values for classifying mobile device behaviors |
CN111124720A (zh) * | 2019-12-26 | 2020-05-08 | 江南大学 | 一种自适应的检查点间隔动态设置方法 |
CN113515430A (zh) * | 2021-09-14 | 2021-10-19 | 国汽智控(北京)科技有限公司 | 进程的状态监控方法、装置和设备 |
CN114564361A (zh) * | 2022-03-03 | 2022-05-31 | 合众新能源汽车有限公司 | 用于智能驾驶平台的应用管理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145946A (zh) * | 2007-09-17 | 2008-03-19 | 中兴通讯股份有限公司 | 一种基于消息日志的容错集群系统和方法 |
CN101216792A (zh) * | 2008-01-14 | 2008-07-09 | 中兴通讯股份有限公司 | 实时操作系统的任务管理方法、装置及实时操作系统 |
US20090076990A1 (en) * | 2007-09-18 | 2009-03-19 | Mickey Iqbal | Method and system for automatically controlling in-process software distributions |
US20100088494A1 (en) * | 2008-10-02 | 2010-04-08 | International Business Machines Corporation | Total cost based checkpoint selection |
-
2011
- 2011-08-31 WO PCT/CN2011/079180 patent/WO2012149719A1/zh active Application Filing
- 2011-08-31 CN CN201180001571.1A patent/CN102369514B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145946A (zh) * | 2007-09-17 | 2008-03-19 | 中兴通讯股份有限公司 | 一种基于消息日志的容错集群系统和方法 |
US20090076990A1 (en) * | 2007-09-18 | 2009-03-19 | Mickey Iqbal | Method and system for automatically controlling in-process software distributions |
CN101216792A (zh) * | 2008-01-14 | 2008-07-09 | 中兴通讯股份有限公司 | 实时操作系统的任务管理方法、装置及实时操作系统 |
US20100088494A1 (en) * | 2008-10-02 | 2010-04-08 | International Business Machines Corporation | Total cost based checkpoint selection |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9898602B2 (en) | 2012-05-14 | 2018-02-20 | Qualcomm Incorporated | System, apparatus, and method for adaptive observation of mobile device behavior |
CN104272787A (zh) * | 2012-05-14 | 2015-01-07 | 高通股份有限公司 | 用于自主还原到行为检查点的技术 |
US10089582B2 (en) | 2013-01-02 | 2018-10-02 | Qualcomm Incorporated | Using normalized confidence values for classifying mobile device behaviors |
CN103197982A (zh) * | 2013-03-28 | 2013-07-10 | 哈尔滨工程大学 | 一种任务局部最优检查点间隔搜索方法 |
CN103259845B (zh) * | 2013-04-12 | 2016-03-30 | 赵利林 | 基于网络中断的数据备份任务的改进方法 |
CN103259845A (zh) * | 2013-04-12 | 2013-08-21 | 赵利林 | 基于网络中断的数据备份任务的改进方法 |
CN106708656A (zh) * | 2015-07-30 | 2017-05-24 | 北京国双科技有限公司 | 用户操作的恢复方法和装置 |
CN106708656B (zh) * | 2015-07-30 | 2020-05-22 | 北京国双科技有限公司 | 用户操作的恢复方法和装置 |
CN106656557A (zh) * | 2016-10-31 | 2017-05-10 | 网易(杭州)网络有限公司 | 业务状态处理方法和装置 |
CN111124720A (zh) * | 2019-12-26 | 2020-05-08 | 江南大学 | 一种自适应的检查点间隔动态设置方法 |
CN111124720B (zh) * | 2019-12-26 | 2021-05-04 | 江南大学 | 一种自适应的检查点间隔动态设置方法 |
CN113515430A (zh) * | 2021-09-14 | 2021-10-19 | 国汽智控(北京)科技有限公司 | 进程的状态监控方法、装置和设备 |
CN114564361A (zh) * | 2022-03-03 | 2022-05-31 | 合众新能源汽车有限公司 | 用于智能驾驶平台的应用管理方法及系统 |
CN114564361B (zh) * | 2022-03-03 | 2024-05-07 | 合众新能源汽车股份有限公司 | 用于智能驾驶平台的应用管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102369514B (zh) | 2013-09-11 |
WO2012149719A1 (zh) | 2012-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102369514B (zh) | 一种建立检查点的方法和系统 | |
CN103500130B (zh) | 一种对双机热备数据进行实时备份的方法 | |
EP1703395A2 (en) | Multiprocessor system with a management processor | |
CN102752093B (zh) | 基于分布式文件系统的数据处理方法、设备和系统 | |
CN102141947A (zh) | 一种对采用嵌入式操作系统的计算机应用系统中异常任务的处理方法及系统 | |
CN103927239A (zh) | 一种终端设备的系统恢复方法及装置 | |
CN105335251A (zh) | 一种故障恢复方法及系统 | |
US10379977B2 (en) | Data management method, node, and system for database cluster | |
CN102968360B (zh) | 具有n+1冗余功能的存储系统及方法 | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
CN105554074A (zh) | 一种基于rpc通信的nas资源监控系统及监控方法 | |
CN102521115A (zh) | 一种基于硬盘性能的数据资源预警方法 | |
CN110351313B (zh) | 数据缓存方法、装置、设备及存储介质 | |
CN103973516A (zh) | 一种数据处理系统中实现监控功能的方法及装置 | |
CN110413565A (zh) | 一种多台存储设备同步快照的方法、设备及介质 | |
CN102521060A (zh) | 基于看门狗本地检测技术的高可用集群系统假死解决方法 | |
JP5154843B2 (ja) | クラスタシステム、計算機、および障害回復方法 | |
CN111177104B (zh) | 一种nas存储系统的日志下刷方法及装置 | |
JP5459389B2 (ja) | コンピュータシステム及び現用系コンピュータ並びに予備系コンピュータ、プログラム | |
CN111309515B (zh) | 一种容灾控制方法、装置及系统 | |
CN102546250A (zh) | 一种基于主备机制的文件发布方法及系统 | |
CN114968129A (zh) | 磁盘阵列冗余方法、系统、计算机设备和存储介质 | |
CN106534262A (zh) | 一种网络信息系统故障的切换方法 | |
CN113268395B (zh) | 业务数据的处理方法、处理装置及终端 | |
CN202153352U (zh) | 防止计算机控制系统失效的看门狗装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130911 Termination date: 20180831 |