[发明专利]一种基于消息日志的容错集群系统和方法有效
申请号: | 200710077179.0 | 申请日: | 2007-09-17 |
公开(公告)号: | CN101145946A | 公开(公告)日: | 2008-03-19 |
发明(设计)人: | 王继刚;谢世波;李翌 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/26;H04L1/22 |
代理公司: | 深圳创友专利商标代理有限公司 | 代理人: | 罗瑶 |
地址: | 518057广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 日志 容错 集群 系统 方法 | ||
技术领域
本发明涉及计算机领域中容错集群系统及方法,尤其为不具有可靠存储设备和备用计算节点的集群环境提供基于消息日志的高效容错系统及方法。
背景技术
随着网络和计算技术的迅猛发展,网络业务与应用服务变得越来越复杂庞大,使得集群系统得到了广泛地应用。这些集群系统中往往包含了众多的计算节点,非常容易遭受频繁的局部故障,在没有容错方法的情况下,集群系统很难保证长时间的正常运行。对进程状态和进程间通信消息加以保存是一种有效的容错手段,集群系统遇到故障时,通过调用先前保存的检查点和消息日志可以帮助进程恢复到它在故障前所处的状态。在基于消息日志的容错方法中,进程除了按一定策略设置包含进程状态的检查点外,还要将进程间的通信消息以日志的形式保存到可靠存储介质上。在故障恢复过程中,进程首先回卷到检查点状态,然后利用消息日志进行重演。
根据消息日志被保存到稳定存储上的频率,目前公开的基于消息日志的容错方法主要有三类:第一类是悲观消息日志,它假定任何非确定事件之后都可能发生故障,最直接的实现方式就是在事件影响进程状态前,将事件的日志信息保存到稳定存储上,这保证了系统可以很容易地从任何时刻的故障中恢复。悲观消息日志有两个主要优势:一是不会产生孤立进程,二是消息日志和检查点的垃圾收集算法非常简单,然而悲观日志会导致很高的系统开销。第二类乐观消息日志先将事件的日志信息临时记录在易失的内存中,然后周期性地存放到稳定存储上。尽管这可以显著减少了系统无故障运行开销,但它需要复杂的恢复和垃圾收集算法。同时,还可能会由于孤立进程而产生无边界回卷问题。第三类因果消息日志方法结合了前两类方法的优点。它具有较低的无故障运行开销,同时也限制了失效回卷的程度,并保证进程回卷到最近的检查点状态。然而这些优势的获得是以复杂的恢复步骤为代价的。
以上所述的容错方法虽然各有特色,但都是基于目前集群系统中大多包含冗余设备,比如专门用于保存检查点和消息日志的稳定存储设备;用于代替失效计算节点的备用节点等。而在实际情况中,很多集群系统往往资源有限,难以提供额外设备,这使得上述的方法无法为这些系统提供容错功能。另一方面,在目前的集群系统中,保存检查点和消息日志会频繁地对外部存储设备进行读写,这会大大增加系统的无故障开销。而且,在故障出现后,新的计算节点重新启动失效进程,也会影响系统性能,增加故障恢复时间。
发明内容
本发明解决的技术问题是克服目前基于消息日志的容错方法过分依赖集群系统中拥有额外存储设备或计算节点的缺陷,并解决由于读写外部存储设备和重启失效进程所导致的系统性能开销问题,提出了一种基于消息日志的容错集群系统和方法。
本发明提出的基于消息日志的容错集群系统,包括多个计算节点,每个计算节点上运行着多个应用进程,每个应用进程都对应设有至少一个备用进程,且备用进程与其对应的应用进程不在一个计算节点上;各应用进程及其备用进程均记录有该应用进程所发送消息的消息日志,备用进程用于在计算节点发生故障时通过激活消息日志取代应用进程。
优选的,所述应用进程和备用进程中还设有用于记录给其它进程发送消息的最大发送序列号列表,以及用于记录从其它进程接收消息的接收序列号列表。
优选的,所述的最大发送序列号列表、接收序列号列表、进程所发送消息的消息日志保存在进程所属计算节点的主存中。
本发明提出的基于消息日志的容错方法,包括以下处理过程:
1)设定检查点,应用进程将其状态保存到检查点中,并将检查点信息同步到备用进程;
2)发送应用进程向接收应用进程发送消息,并对发送的消息以消息日志的方式保持到发送应用进程和接收应用进程中;
3)当计算节点发生故障,计算节点中失效的应用进程对应的备用进程通过保存的检查点和消息日志激活,并取代应用进程的工作。
优选的,所述步骤1)中具体包括以下处理过程:
11)设定检查点,应用进程将其状态保存到检查点中,并将检查点信息给其备用进程;
12)备用进程收到检查点信息后,用新的检查点信息替代旧的检查点信息,并向应用进程反馈确认信息。
优选的,所述步骤12)之后还包括以下处理步骤:
13)应用进程通过向更新检查点前所有与其有消息交互的应用进程以及其备份进程发送垃圾收集信息,收到垃圾收集信息的进程根据信息内容删除消息日志中的历史垃圾消息。
优选的,所述步骤2)具体包括以下处理过程:
21)发送应用进程向接收应用进程发送带有消息发送序列号的通信请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710077179.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种轻集料混凝土泵送剂
- 下一篇:为移动网络提供增值业务的方法