[发明专利]一种具有前向恢复特征的后向恢复容错方法有效
申请号: | 201510571405.5 | 申请日: | 2015-09-09 |
公开(公告)号: | CN105242979B | 公开(公告)日: | 2017-12-12 |
发明(设计)人: | 高胜法;邵春阳;高雅娴 | 申请(专利权)人: | 高胜法;邵春阳;高雅娴 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 具有 恢复 特征 容错 方法 | ||
技术领域
本发明涉及分布式系统基于消息重排序消息日志故障恢复方法。
背景技术
在分布式系统后向恢复容错研究领域,按保存信息的类型,回卷恢复协议可分为基于检查点的回卷恢复协议和基于消息日志的回卷恢复协议。基于消息日志回卷恢复的协议又细分为悲观消息日志和乐观消息日志。
采用悲观消息日志[1]的系统中,进程接收消息后总是先将其保存至消息日志中,然后才提交给应用程序处理。此特征确保进程所接收消息及其接收次序完整保存在消息日志文件,使得进程的故障恢复较为简单;但是由于接收消息后须先保存消息信息至消息日志因此严重影响了系统正常运行时的性能。按由何进程保存消息信息至消息日志分,悲观消息日志协议分为基于发送者的消息日志协议(sender-based)[2][3][4]和基于接收者的消息日志协议(receiver-based)。
在基于接收者的消息日志协议中,进程接收消息后首先把消息的接收次序等信息存入消息日志,然后再提交此消息给应用程序处理。
在基于发送者的消息日志协议[2][3][4]中,消息的发送进程发送一个消息前首先把消息内容保存在内存缓冲区中,然后发送此消息至接收进程。接收进程接收消息后先把该消息的接收次序传送给消息的发送进程,然后再提交消息至应用进程。消息的发送进程接收到消息的接收次序后把消息的内容及其接收次序统一存入消息日志。
采用乐观消息日志[1]的系统中,进程接收消息后即刻提交给应用程序处理,而后在进程空闲时才保存所接收消息至消息日志。此特征使得系统进程在正常运行时具有良好的性能;然而发生故障时,若存在进程已接收且未保存至消息日志的消息,此类消息的接收次序必然丢失,使得进程的故障恢复极为复杂。
基于消息重排序和消息数目检验的日志恢复协议[5][6],采用消息重排序方法,较好解决了乐观日志中由于进程故障所导致的消息接收次序丢失问题。该协议下的发送进程在发送消息时以逻辑时钟间接标记此消息的接收次序并将消息及其逻辑时钟保存在发送进程本地存储中。接收进程接收消息后,首先把消息提交给应用程序处理,然后在进程空闲时间把消息及其接收次序保存至消息日志。当消息接收进程发生故障时,恢复进程首先从消息日志取得已保存的消息及其逻辑时钟,然后根据发送进程和接收进程所保存消息数目的差值从发送进程的本地存储中取得因进程故障未能保存至消息日志的消息及其逻辑时钟。然后根据消息的 逻辑时钟对消息重新排序,并实现消息的重演。此协议下的进程在正常执行时,接收到消息后即刻提交给应用程序处理,仅仅在进程空闲时间保存消息信息至消息日志。上述特征使得此恢复协议实质上仍属于乐观消息日志协议;在此协议下进程正常执行时具有良好性能,且在某个进程发生故障时其恢复算法较为简单。
消息重排序和消息数目检验的日志恢复协议的主要缺点是在程序正常运行时,进程接收到消息后仍需在进程空闲时间把消息保存至消息日志。然而该协议下发送进程发送消息前已把消息的内容及其逻辑时钟值保存至本地存储,接收进程端的消息日志是冗余的,故该协议算法还可进一步优化。
修改后的重排序恢复协议[7]仍然基于重排序基本理论进行算法设计,但对恢复协议作了较大修改,主要是去除了消息接收进程端的消息日志。在此协议中,消息发送进程发送消息前先保存消息的内容及其逻辑时钟至消息日志,消息接收进程接收消息后,即刻提交应用程序处理,且此后不再保存任何消息信息。与基于发送者的消息日志协议(sender-based)[2][3][4]相比较,修改后的重排序恢复协议中的接收进程接收消息后无需转送消息接收次序至发送进程,从而使得进程正常执行时具有良好的性能且确保在进程故障恢复阶段系统不存在任何孤儿进程。
修改后的重排序恢复协议[7]彻底摆脱了悲观、乐观协议的束缚,形成了一种同时具备悲观和乐观协议优点的全新容错恢复协议。此协议具有以下主要特点:
1)进程发送消息前一次性保存消息的内容及指示消息接受次序的逻辑时钟至消息日志,然后发送消息至接收进程。此特点使得该协议具有悲观消息日志协议特征,即任一时刻系统不存在孤儿进程。
2)进程接收消息后不保存任何消息信息,因而该协议下的进程在正常执行时较乐观日志协议下的进程具有更优良的性能。此特点使得该协议完全不同于悲观和乐观协议,且其系统在正常执行时的性能优于乐观协议。
3)某进程发生故障时,无故障进程有条件继续执行;因而在进程故障恢复阶段,重排序恢复协议下的进程较悲观日志协议下的进程具有更优良的故障恢复性能。
4)任何进程可在任意时刻独立保存其进程状态(检查点)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于高胜法;邵春阳;高雅娴,未经高胜法;邵春阳;高雅娴许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510571405.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种Kdump的配置方法及计算机设备
- 下一篇:时间获取方法与装置