地震数据处理作业的断点恢复方法

文档序号:6424448阅读:186来源:国知局
专利名称:地震数据处理作业的断点恢复方法
技术领域
本发明涉及一种中断恢复方法,更具体地讲,涉及一种适用于集群计算系统的地震数据处理作业的断点恢复方法
背景技术
在现代的地震数据处理作业过程中,通过野外勘探采集得到的地震数据需要经过静校正、去噪、反褶积、动较正和叠加等一系列的处理过程,最终才能得到满足生产需要的数据内容供解释人员使用。以上各个处理过程涉及到多种实现技术,而每种实现技术需要软件构造功能模块供系统调用。实际的地震数据处理作业过程中,通常是先生成一个定义流程拓扑结构的处理作业描述文件,然后对作业描述文件进行解析并启动运行相应的作业进行数据处理,从而得到经过一系列处理过程后的数据结果。随着现代物探技术日益向高密度和多维方向发展,通过采集得到的并需要处理的数据量也越来越庞大,与之相应的是数据处理需要的时间也越来越长。对于实际生产中动辄几十G的数据来说,一些作业消耗的时间长达几天甚至数十天,这对于实际工作来说是难以接受的。同时,计算机集群中的计算节点可能会因为内部的软硬件故障而死机,或者因为外部的某些原因(比如意外断电等)而停机。在这种情况下,出现故障的计算节点上运行的作业被迫中止。如果没有采取相应的措施,先前的计算工作将完全作废,处理人员不得不从头开始进行数据处理。因此,需要一种地震数据处理作业现场保护和断点恢复技术。

发明内容
在下面的描述中将部分地阐明本发明另外的方面和/或优点,通过描述,其会变得更加清楚,或者通过实施本发明可以了解。根据本发明的一方面,提供一种地震数据处理作业的断点恢复方法,所述方法包括以下步骤(a)计算节点上的执行控制程序在地震数据处理作业运行的同时,定时记录作业处理现场;(b)当服务器检测到计算节点发生中断事件时,自动修改计算节点的地震数据处理作业的作业状态;(c)当服务器检测到计算节点恢复正常工作时,服务器向计算节点发出恢复命令;(d)当接收到服务器发出的恢复命令时,计算节点上的后台守护进程读取记录的作业处理现场,从而所述执行控制程序基于读取的作业处理现场,从发生中断事件的位置重新启动中断的地震处理作业。此外,所述方法还可包括以下步骤(e)所述执行控制程序在重新启动中断的地震处理作业之后将作业恢复消息发送到服务器,从而服务器根据接收到的作业恢复消息修改计算节点的地震数据处理作业的作业状态。此外,当地震数据处理作业运行时,服务器可将地震数据处理作业的作业状态设置为“running”,当地震处理作业中断时,服务器将地震数据处理作业的作业状态设置为 "breakdown,,。此外,步骤(b)可包括服务器通过发送心跳包的方式检测计算节点是否处发生中断事件。此外,步骤(b)还可包括(bl)当服务器与计算节点之间进行任何类型的通信时, 服务器认为计算节点处于正常工作状态;(b2)如果服务器在第一预定时间内没有从计算节点接收到的任何信息,则服务器将主动向计算节点发送检测信息;(b3)如果服务器在发送检测信息之后从计算节点接收到反馈信息,则服务器认为计算节点处于正常工作状态; (b4)如果服务器在发送检测信息之后没有从计算节点接收到反馈信息,则服务器在比第一预定时间长的第二预定时间之后第二次发送检测信息;( )如果在第二次发送检测信息后服务器仍然没有从计算节点接收到反馈信息,则服务器认为计算节点发生中断事件。此外,当服务器检测到计算节点发生中断事件时,服务器可以以从第二预定时间逐渐增大的时间间隔连续发送检测消息。此外,当服务器在以从第二预定时间逐渐增大的时间间隔发送检测信息之后从计算节点接收到反馈信息时,服务器可认为计算节点恢复正常工作。此外,所述执行控制程序可根据地震数据处理作业的数据任务轻重情况定时记录作业处理现场。此外,对于数据任务轻的地震数据处理作业,所述执行控制程序可以以短的时间间隔记录作业处理现场,对于数据任务重的地震数据处理作业,所述执行控制程序可以以长的时间间隔记录作业处理现场。此外,所述执行控制程序记录的作业处理现场的内容可包括当前输出数据;计算节点上各功能模块已经处理完成的数据道序号;各功能模块当前正在使用的内存;执行控制程序正在使用的内存。


通过下面结合附图对实施例进行的描述,本发明的这些和/或其他方面和优点将会变得清楚和更易于理解,其中图1是示出根据本发明实施例的地震数据处理作业的断点恢复方法的流程图。
具体实施例方式现在对本发明实施例进行详细的描述,其示例表示在附图中,其中,相同的标号始终表示相同部件。下面通过参照附图对实施例进行描述以解释本发明。根据本发明实施例,在地震数据处理作业过程中,服务器将多个作业分配给多个计算节点,从而可通过多个计算节点运行多个地震数据处理作业,其中,每个计算节点可以运行至少一个地震数据处理作业。图1是示出根据本发明实施例的地震数据处理作业的断点恢复方法的流程图。在操作101,计算节点上的执行控制程序进行地震数据处理作业。具体地讲,在计算节点进行地震数据处理作业之前,需要被运行的作业首先在服务器上在调度队列里排队。此时,服务器将将在调度队列里排队的作业的作业状态设置为“queuing”。其后,服务器对作业进行调度,将作业分配到计算节点,从而计算节点上的后台守护进程启动分配的作业。在启动分配的作业之后,执行控制程序进行地震数据处理作业,并且后台守护进程将启动消息发送到服务器,从而服务器将分配的作业的作业状态设置为“running” ;同时,执行控制程序调用计算节点上的各个功能模块进行地震数据处理作业。在操作102,执行控制程序在地震数据处理作业运行的同时,定时记录作业处理现场。具体地讲,在地震数据处理作业运行的同时,执行控制程序根据作业的数据任务轻重情况定时记录并存储作业处理现场。这里,数据任务轻重情况表现为作业运行时间,即,数据任务轻对应于作业运行时间短,数据任务重对应于作业运行时间长。对于数据任务轻的作业,记录作业处理现场的时间间隔较短;反之记录作业处理现场的时间间隔较长。这样,可以在完成现场保护的同时不会过多的影响作业数据处理的效率。根据本发明实施例,需要记录的作业处理现场的内容包括(1)当前输出数据; (2)计算节点上各功能模块已经处理完成的数据道序号;(3)各功能模块当前正在使用的内存;(4)执行控制程序正在使用的内存。在操作103,当服务器检测到计算节点发生中断事件时,自动修改计算节点的作业的作业状态。在集群计算环境中,服务器行使职责之一就是对集群中的计算节点进行管理, 自动检测计算节点状态就是管理功能的其中一项。根据本发明实施例,服务器通过发送心跳包的方式检测计算节点是否发生中断事件。具体地讲,只要服务器与计算节点之间进行任何类型的通信,服务器都将认为计算节点处于正常工作状态;如果服务器在第一预定时间(例如,1分钟)内没有从计算节点接收到的任何信息,则服务器将主动向计算节点发送检测信息;如果服务器在发送检测信息之后从计算节点接收到反馈信息,则服务器认为计算节点处于正常工作状态,否则服务器在比第一预定时间长的第二预定时间(例如,5分钟)之后第二次发送检测信息。如果在第二次发送检测信息后服务器仍然没有从计算节点接收到反馈信息,则服务器认为计算节点发生中断事件。以上就是通过发送心跳包来检测计算节点是否处于正常工作状态的方式。根据本发明实施例,当服务器认为计算节点发生中断事件时,服务器将该计算节点的所有作业的作业状态设置为“breakdown”。另一方面, 当服务器认为计算节点发生中断事件时,服务器将以从第二预定时间逐渐增大的时间间隔 (例如,10分钟、20分钟、30分钟...)连续发送检测信息。在操作104,当服务器检测到计算节点恢复正常工作时,服务器向计算节点发出恢复命令,以便恢复正常工作的计算节点重新启动和运行中断的作业。根据本发明实施例,服务器通过发送心跳包的方式检测计算节点是否恢复正常工作状态。如上所述,服务器在认为计算节点发生中断事件之后仍然继续发送检测信息(发送检测信息的时间间隔将逐渐增大),此时,如果服务器在发送检测信息之后从计算节点接收到反馈信息,则服务器认为计算节点恢复正常工作。在操作105,当接收到服务器发出的恢复命令时,计算节点上的后台守护进程读取记录的作业处理现场,从而执行控制程序基于读取的作业处理现场,从发生中断事件的位置重新启动中断的地震处理作业。这样,中断的地震处理作业可以从发生中断事件的位置继续运行。在操作106,计算节点上的执行控制程序在重新启动中断的地震处理作业之后将作业恢复消息发送到服务器,从而服务器可根据接收到的作业恢复消息修改相应计算节点的作业的作业状态。此时,服务器可以将相应计算节点的所有作业的作业状态重新设置为 "running,,。可选择地,当计算节点的一个作业成功完成后,执行控制程序可以向服务器报告该作业完成的消息,服务器可将该作业的状态设置为“finished”。此时,服务器可以向该计算节点重新分配调度队列里排队的作业。另一方面,当作业运行中出现错误时,执行控制程序向服务器报告该作业发生错误,服务器可将该作业的状态设置为“error”。根据本发明实施例,首次实现了地震处理作业现场保护和断点恢复技术,提供了无人干预情况下作业中断恢复处理功能,可以提高作业处理过程中的自动化性能,节约计算资源和工作时间,提高工作效率。虽然已经显示和描述了一些实施例,但是本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可以对这些实施例进行修改,本发明的范围由权利要求及其等同物限定。
权利要求
1.一种地震数据处理作业的断点恢复方法,所述方法包括以下步骤(a)计算节点上的执行控制程序在地震数据处理作业运行的同时,定时记录作业处理现场;(b)当服务器检测到计算节点发生中断事件时,自动修改计算节点的地震数据处理作业的作业状态;(c)当服务器检测到计算节点恢复正常工作时,服务器向计算节点发出恢复命令;(d)当接收到服务器发出的恢复命令时,计算节点上的后台守护进程读取记录的作业处理现场,从而所述执行控制程序基于读取的作业处理现场,从发生中断事件的位置重新启动中断的地震处理作业。
2.根据权利要求1所述的方法,所述方法还包括以下步骤(e)所述执行控制程序在重新启动中断的地震处理作业之后将作业恢复消息发送到服务器,从而服务器根据接收到的作业恢复消息修改计算节点的地震数据处理作业的作业状态。
3.根据权利要求1所述的方法,其中,当地震数据处理作业运行时,服务器将地震数据处理作业的作业状态设置为“running”,当地震处理作业中断时,服务器将地震数据处理作业的作业状态设置为“breakdown”。
4.根据权利要求1所述的方法,其中,步骤(b)包括服务器通过发送心跳包的方式检测计算节点是否处发生中断事件。
5.根据权利要求4所述的方法,其中,步骤(b)还包括(bl)当服务器与计算节点之间进行任何类型的通信时,服务器认为计算节点处于正常工作状态;(b2)如果服务器在第一预定时间内没有从计算节点接收到的任何信息,则服务器将主动向计算节点发送检测信息;(b3)如果服务器在发送检测信息之后从计算节点接收到反馈信息,则服务器认为计算节点处于正常工作状态;(b4)如果服务器在发送检测信息之后没有从计算节点接收到反馈信息,则服务器在比第一预定时间长的第二预定时间之后第二次发送检测信息;(b5)如果在第二次发送检测信息后服务器仍然没有从计算节点接收到反馈信息,则服务器认为计算节点发生中断事件。
6.根据权利要求5所述的方法,其中,当服务器检测到计算节点发生中断事件时,服务器以从第二预定时间逐渐增大的时间间隔连续发送检测消息。
7.根据权利要求6所述的方法,其中,当服务器在以从第二预定时间逐渐增大的时间间隔发送检测信息之后从计算节点接收到反馈信息时,服务器认为计算节点恢复正常工作。
8.根据权利要求1所述的方法,其中,所述执行控制程序根据地震数据处理作业的数据任务轻重情况定时记录作业处理现场。
9.根据权利要求8所述的方法,其中,对于数据任务轻的地震数据处理作业,所述执行控制程序以短的时间间隔记录作业处理现场,对于数据任务重的地震数据处理作业,所述执行控制程序以长的时间间隔记录作业处理现场。
10.根据权利要求1所述的方法,其中,所述执行控制程序记录的作业处理现场的内容包括当前输出数据;计算节点上各功能模块已经处理完成的数据道序号;各功能模块当前正在使用的内存;执行控制程序正在使用的内存。
全文摘要
本发明提供一种地震数据处理作业的断点恢复方法,所述方法包括以下步骤(a)计算节点上的执行控制程序在地震数据处理作业运行的同时,定时记录作业处理现场;(b)当服务器检测到计算节点发生中断事件时,自动修改计算节点的地震数据处理作业的作业状态;(c)当服务器检测到计算节点恢复正常工作时,服务器向计算节点发出恢复命令;(d)当接收到服务器发出的恢复命令时,计算节点上的后台守护进程读取记录的作业处理现场,从而所述执行控制程序基于读取的作业处理现场,从发生中断事件的位置重新启动中断的地震处理作业。
文档编号G06F11/14GK102221995SQ20111013030
公开日2011年10月19日 申请日期2011年5月19日 优先权日2011年5月19日
发明者何光明, 刘鸿, 李振, 李磊, 胡光岷, 陈三平, 陶正喜 申请人:中国石油集团川庆钻探工程有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1