一种实现服务器故障无缝恢复的容错方法

文档序号:7984262阅读:163来源:国知局
一种实现服务器故障无缝恢复的容错方法
【专利摘要】本发明提供一种实现服务器故障无缝恢复的容错方法,服务器按照一定的时间间隔将会话的实时运行状态记录在Cookie之中,并将该Cookie通过会话发送给客户端,当服务器发生故障后,该故障服务器与前述客户端所建立的会话也随即中断,客户端将其所保存的Cookie发送给所述另一服务器,Cookie中记录的是前一服务器中断前会话的实时状态,所述另一服务器收到该Cookie后,可以采用Cookie中的记录将自己的状态重置为前述会话中断前的状态,这样被中断的会话就被无缝恢复。Cookie保存在客户机中,不会给服务器带来额外的负担,效率高。
【专利说明】—种实现服务器故障无缝恢复的容错方法
【【技术领域】】
[0001]本发明是关于计算机网络服务器领域,特别是关于计算机网络服务器出现故障需要进行无缝恢复的容错方法。
【【背景技术】】
[0002]现有的服务器故障容错系统中,采用以下几个步骤实现:
[0003]首先必须具备两台以上提供相同服务的服务器(服务器A和服务器B);
[0004]客户机C访问通过其中一台服务器(假设服务器A),客户机C和服务器A之间建立会话S,并进行信息交互,
[0005]当客户机C访问服务器A的过程中 ,服务器A发生了故障而宕机;客户机C和服务器A之间的会话S会随即中断;
[0006]现有的容错系统可以立刻启动故障切换过程,客户机C将立刻和服务器B建立其一个新的会话T,从而实现服务器故障恢复。
[0007]但是相应的问题也同时出现了,为了方便的描述会话S的过程,我们将会话S定义为由sl,s2, s3, s4…slO个操作步骤组成,当会话S进行到s4的时候,服务器A发生故障而宕机;由于被中断的会话S的实时状态丢失了,所以在新建的会话T中客户机C与服务器B的操作是必须从头开始(即Si)。这种故障恢复方法无法实现会话的无缝故障恢复,即从断点处恢复。

【发明内容】

[0008]本发明的目的在于针对现有技术的缺陷提出一种可以圆满解决会话实时状态的保存和恢复的方法,以极低代价实现服务器故障的无缝恢复功能。
[0009]为达成前述目的,本发明一种实现服务器故障无缝恢复的容错方法,其包括:
[0010]当客户端访问服务器并建立会话后,服务器按照一定的时间间隔将会话的实时运行状态记录在Cookie之中,并将该Cookie通过会话发送给客户端,客户机C接收到Cookie后,将其保存在客户端里;服务器将持续地按照一定的时间间隔将新的实时状态记录在cookie里,并持续地按照一定的时间间隔发送给客户端,客户端每接收到一个新的Cookie,就用新的Cookie替换旧的Cookie,以保持Cookie内容的实时性;
[0011]当服务器发生故障后,该故障服务器与前述客户端所建立的会话也随即中断,会话中断前的状态保存在客户端的Cookie中,客户端与另一服务器建立新的会话后,将其所保存的Cookie发送给所述另一服务器,Cookie中记录的是前一服务器中断前会话的实时状态,所述另一服务器收到该Cookie后,可以采用Cookie中的记录将自己的状态重置为前述会话中断前的状态,这样被中断的会话就被无缝恢复。
[0012]根据本发明的一个实施例,所述服务器是位于服务器池系统中,其中所述服务器池系统包括:
[0013]服务器池:服务器池是由一组具有相同功能的,并被统一管理起来的服务器组成,每个服务器池均使用唯一的池名作为标识;
[0014]池化器:是服务器池的管理设备,负责将多台服务器组成一个虚拟的服务器池,并对各台服务器的运行状态进行实时监控和采集;同时提供池名解析功能,以便能让用户方便地访问服务器;
[0015]客户端:访问服务器池的客户机。
[0016]根据本发明的一个实施例,所述池化器包括:服务器登记模块、服务器状态监控模块、池名解析模块、池化器信息同步模块和中断处理模块;其中服务器登记模块用于登记各服务器的信息,服务器状态监控模块用于监控各服务器的运行状态,并判断各服务器是否处于故障状态,服务器域名解析模块用于解析各服务器的域名,池化器信息同步模块用于同步各池化器中的信息, 中断处理模块用来在服务器中断时控制池化器选择另外一个正常的服务器。
[0017]本发明提供了一种通过Cookie实现服务器运行状态的共享方法,当服务器发生故障后,Cookie可为接管服务器提供了一种恢复到故障前的状态的途径,从而实现故障的平滑接管(即无缝故障恢复)。Cookie保存在客户机中,不会给服务器带来额外的负担,效率闻。
【【专利附图】

【附图说明】】
[0018]图1为本发明的服务器池系统的结构示意图。
[0019]图2为本发明的实现服务器故障无缝恢复的容错方法的工作流程示意图。
【【具体实施方式】】
[0020]此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0021]请参阅图1所示,本发明的服务器池系统包括:
[0022]服务器池:服务器池是由一组具有相同功能的,并被统一管理起来的服务器组成,每个服务器池均使用唯一的池名作为标识;
[0023]池化器:是服务器池的管理设备,负责将多台服务器组成一个虚拟的服务器池,并对各台服务器的运行状态进行实时监控和采集;同时提供池名解析功能,以便能让用户方便地访问服务器;
[0024]客户端:访问服务器池的客户机。
[0025]本发明多台具有相同服务功能的服务器按照池名构成一个逻辑上的服务器池,服务器池由池化器进行管理和监控,用户通过池名访问服务器池,首先在池化器处进行池名解析,然后根据解析结果,直接访问具体的服务器,无需通过任何中转设备,从而消除了中转设备可能造成的流量瓶颈。
[0026]本发明的池化器包括:服务器登记模块、服务器状态监控模块、池名解析模块、池化器信息同步模块和中断处理模块。其中服务器登记模块用于登记各服务器的信息,服务器状态监控模块用于监控各服务器的运行状态,并判断各服务器是否处于故障状态,服务器域名解析模块用于解析各 服务器的域名,池化器信息同步模块用于同步各池化器中的信息,中断处理模块用来在服务器中断时控制池化器选择另外一个正常的服务器。
[0027]请参阅图2所示,当其中一个服务器出现故障,需要切换服务器时,本发明采用Cookie机制,实现会话实时状态的保存和恢复。具体技术方案如下:
[0028]请参阅图2所示,当用户C访问服务器A并建立会话S后,服务器A按照一定的时间间隔将会话S的实时运行状态记录在Cookie之中,并将该Cookie通过会话S发送给客户机C,客户机C接收到Cookie后,将其保存在客户机里;服务器A将持续地按照一定的时间间隔将新的实时状态记录在cookie里,并持续地按照一定的时间间隔发送给客户机,客户机每接收到一个新的Cookie,就用新的Cookie替换旧的Cookie,以保持Cookie内容的实时性。
[0029]当服务器A发生故障后,该故障服务器A与客户机C所建立的会话S也随即中断,会话S中断前的状态保存在客户机C的Cookie中,客户机C与服务器B建立新的会话后,将其所保存的Cookie发送给服务器B,Cookie中记录的是服务器A中断前会话S的实时状态,服务器B收到该Cookie后,可以采用Cookie中的记录将自己的状态重置为会话S中断前的状态,这样被中断的会话就被无缝恢复了。
[0030]本发明提供了一种通过Cookie实现服务器运行状态的共享方法,当服务器发生故障后,Cookie可为接管服务器提供了一种恢复到故障前的状态的途径,从而实现故障的平滑接管(即无缝故障恢复)。
[0031]Cookie保存在客户机中,不会给服务器带来额外的负担,效率高。
[0032]上述说明已经充分揭露了本发明的【具体实施方式】。需要指出的是,熟悉该领域的技术人员对本发明的【具体实施方式】所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述【具体实施方式】。
【权利要求】
1.一种实现服务器故障无缝恢复的容错方法,其包括: 当客户端访问服务器并建立会话后,服务器按照一定的时间间隔将会话的实时运行状态记录在Cookie之中,并将该Cookie通过会话发送给客户端,客户机C接收到Cookie后,将其保存在客户端里;服务器将持续地按照一定的时间间隔将新的实时状态记录在cookie里,并持续地按照一定的时间间隔发送给客户端,客户端每接收到一个新的Cookie,就用新的Cookie替换旧的Cookie,以保持Cookie内容的实时性; 当服务器发生故障后,该故障服务器与前述客户端所建立的会话也随即中断,会话中断前的状态保存在客户端的Cookie中,客户端与另一服务器建立新的会话后,将其所保存的Cookie发送给所述另一服务器,Cookie中记录的是前一服务器中断前会话的实时状态,所述另一服务器收到该Cookie后,可以采用Cookie中的记录将自己的状态重置为前述会话中断前的状态,这样被中断的会话就被无缝恢复。
2.如权利要求1所述的实现服务器故障无缝恢复的容错方法,其特征在于:所述服务器是位于服务器池系统中,其中所述服务器池系统包括: 服务器池:服务器池是由一组具有相同功能的,并被统一管理起来的服务器组成,每个服务器池均使用唯一的池名作为标识; 池化器:是服务器池的管理设备,负责将多台服务器组成一个虚拟的服务器池,并对各台服务器的运行状态进行实时监控和采集;同时提供池名解析功能,以便能让用户方便地访问服务器; 客户端:访问服务器池的客户机。
3.如权利要求2所述的实现服务器故障无缝恢复的容错方法,其特征在于:所述池化器包括:服务器登记模块、服务器状态监控模块、池名解析模块、池化器信息同步模块和中断处理模块;其中服务器登记模块用于登记各服务器的信息,服务器状态监控模块用于监控各服务器的运行状态,并判断各服务器是否处于故障状态,服务器域名解析模块用于解析各服务器的域名,池化器信息同步模块用于同步各池化器中的信息,中断处理模块用来在服务器中断时控制池化器选择另外一个正常的服务器。
【文档编号】H04L12/24GK103731292SQ201210393716
【公开日】2014年4月16日 申请日期:2012年10月16日 优先权日:2012年10月16日
【发明者】张焰 申请人:无锡云捷科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1