CN114356643B - 一种遥感卫星处理系统中自动发现任务失败和恢复方法 - Google Patents
一种遥感卫星处理系统中自动发现任务失败和恢复方法 Download PDFInfo
- Publication number
- CN114356643B CN114356643B CN202210244791.7A CN202210244791A CN114356643B CN 114356643 B CN114356643 B CN 114356643B CN 202210244791 A CN202210244791 A CN 202210244791A CN 114356643 B CN114356643 B CN 114356643B
- Authority
- CN
- China
- Prior art keywords
- task
- execution
- failure
- flow
- failed
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种遥感卫星处理系统中自动发现任务失败和恢复方法,该方法包括:根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行;所述第一任务流程包括至少一个子任务;分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务;基于所述目标任务创建第二任务流程,将所述目标任务作为所述第二任务流程的起始任务;其中,所述第二任务流程为所述第一任务流程终止后,重新启动所述第一任务流程时所执行的任务流程。
Description
技术领域
本申请涉及遥感卫星数据处理领域,尤其涉及一种遥感卫星处理系统中自动发现任务失败和恢复方法。
背景技术
在遥感卫星处理系统中,通常包含几十、甚至上百个处理节点,同一时刻存在数十万个处理任务。在任务处理的过程中,由于硬件和系统软件的偶发错误,如存储文件系统偶发读写错误,机群通信偶发错误、作业调度系统偶发错误等,容易出现处理任务失败的情况,造成系统不能正常处理遥感数据,导致系统可用性降低。
在相关技术中,可以通过人工发现并解决问题,但需要细致的工作和精力,效率较低;或者采取面向专用计算作用的容错机制增加系统的容错能力,但时间开销较大。
发明内容
本申请的目的是提供一种遥感卫星处理系统中自动发现任务失败和恢复方法,用于感卫星处理系统中失败任务的自动发现和恢复。
本申请提供一种遥感卫星处理系统中自动发现任务失败和恢复方法,包括:
根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行;所述第一任务流程包括至少一个子任务;分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务;基于所述目标任务创建第二任务流程,将所述目标任务作为所述第二任务流程的起始任务;其中,所述第二任务流程为所述第一任务流程终止后,重新启动所述第一任务流程时所执行的任务流程。
可选地,所述根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行之前,所述方法还包括:建立错误捕捉机制,在系统的任务流程的执行过程中,若出现任务执行失败的情况,则输出对应的标准错误输出文件。
可选地,所述根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行,包括:监测标准错误输出文件的生成,在监测到标准错误输出文件生成的情况下,根据生成的标准错误输出文件,确定任务执行失败的第一任务节点对应的第一任务的任务信息;根据所述第一任务的任务信息,重新执行所述第一任务。
可选地,所述分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务,包括:在重新执行所述第一任务失败的情况下,根据所述第一任务的任务信息,确定与所述第一任务对应的所述第一任务流程;其中,所述第一任务节点为所述第一任务流程中所述第一任务对应的任务节点。
可选地,所述在重新执行所述第一任务失败的情况下,根据所述第一任务的任务信息,确定与所述第一任务对应的所述第一任务流程之后,所述方法还包括:依次倒序遍历所述第一任务流程中所述第一任务节点以及之前的任务节点中各个任务节点所对应任务的输入数据;将所述第一任务流程中距离所述第一任务节点最近、且存在执行任务所需的输入数据的第二任务节点所对应的第二任务确定为所述目标任务。
可选地,所述根据生成的标准错误输出文件,确定任务执行失败的第一任务节点对应的第一任务的任务信息,包括:采用作业调度系统获取所述标准错误输出文件,并根据所述标准错误输出文件中的错误任务名称,和/或,错误任务编号确定所述第一任务的任务信息;其中,所述作业调度系统包括以下任一项:便携式批处理系统PBS、负载共享设施LSF、用于资源管理的简单Linux实用程序SLURM。
本申请提供的遥感卫星处理系统中自动发现任务失败和恢复方法,首先建立错误捕捉机制,根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行。之后,分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务。最后,基于所述目标任务创建第二任务流程,将所述目标任务作为所述第二任务流程的起始任务,解决了因处理系统偶发故障引起的处理任务失败的问题,取代了传统的人工筛查失败任务,手动发起错误任务等复杂方法,提高了系统的可用性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的遥感卫星处理系统中自动发现任务失败和恢复方法的流程示意图之一;
图2是本申请提供的遥感卫星处理系统中自动发现任务失败和恢复方法的流程示意图之二;
图3是本申请提供的捕捉任务错误流程示意图;
图4是本申请提供的错误任务影响域分析流程示意图;
图5是本申请提供的流程描述文件中的相关信息。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
在几十上百个处理节点,PB(petabyte)级别存储系统的遥感卫星处理系统中,同一时刻存在数十万个处理任务,该处理系统属于典型的计算密集和数据密集型处理系统。在任务处理的过程中,由于硬件和系统软件的偶发错误,如存储文件系统偶发读写错误,机群通信偶发错误、作业调度系统偶发错误等,容易出现处理任务失败的情况,造成系统不能正常处理遥感数据,导致系统可用性降低。
为了解决此类问题,目前解决方案主要有种:1)人为发现错误,判断错误发生步骤,再从合理的中间步骤或者从初始步骤发起,这需要细致的工作和精力,且效率低下;2)面向通用大数据处理作业的容错与发起措施,如专为大规模数据处理而设计的快速通用的计算引擎Apache Spark,能够基于较细粒度的数据或者任务进行冗余状态管理,但同时也受限于框架通用性的考量,难以对作业任务粒度细、任务间的依赖关系复杂、容错需求多样等特点进一步优化; 3)采取面向专用计算作用的容错,以检查点的方式增加容差与发起机制,如Apache Flink,其采用“分布式快照”的检查点机制来完成容错。执行批处理任务时,其采用从头执行任务的方式来实现容错,该方式虽然实现简单,但带来了很大的时间开销。
为了提高发现失败任务并恢复的效率,如图1所示,为本申请实施例提供的遥感卫星处理系统中自动发现任务失败和恢复方法的原理图,首先建立任务执行失败时的错误捕捉机制,基于该错误捕捉机制开发任务程序,使得任务执行失败时能够将失败信息输出到标准错误输出文件中。发现失败任务后,立刻重新发起失败任务,继续目标流程;如果再次失败,则终止执行失败的任务所对应的第一任务流程的执行;对失败任务对应的任务流程进行影响域分析,并根据分析结果恢复任务的执行。
本申请提出了一种通过捕捉任务错误日志、分析错误任务流程影响域、重新启动相关流程等步骤的遥感卫星处理系统中自动发现任务失败和恢复方法,解决了因处理系统偶发故障引起的处理任务失败的问题,提高了系统的可用性。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的遥感卫星处理系统中自动发现任务失败和恢复方法进行详细地说明。
如图2所示,本申请实施例提供的一种遥感卫星处理系统中自动发现任务失败和恢复方法,该方法可以包括下述步骤201至步骤203:
步骤201、根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行。
其中,所述第一任务流程包括至少一个子任务。
示例性地,上述第一任务流程为遥感卫星处理系统处理的多个任务流程中的任一个。通常情况下,遥感卫星处理系统每轨数据的处理都包含多个有逻辑顺序的任务流程,每个任务流程包含了至少一个子任务;而每天都会同时处理以万为计量单位的并发任务流程。
在一种可能的实现方式中,为了能够实现对上述多个任务流程监控,发现出现任务执行失败的任务流程,本申请实施例还提供了一种捕捉任务错误的机制。
示例性地,本申请实施例提供的遥感卫星处理系统中自动发现任务失败和恢复方法,在步骤201至步骤203之前,还需要建立任务失败的监测机制,即上述错误捕捉机制,该任务失败检测机制具体可以包括以下步骤204:
步骤204、建立错误捕捉机制,在系统的任务流程的执行过程中,若出现任务执行失败的情况,则输出对应的标准错误输出文件。
示例性地,以上述第一任务流程的执行过程为例,在第一任务流程的执行过程中,调度系统将捕捉失败任务的标准错误输出,并输入到标准错误输出文件中。
示例性地,在遥感卫星处理系统处理任务的过程中,制定任务程序开发规范和作业脚本编写规范。处理系统运行时,按设定处理流程生成任务的作业脚本,该作业脚本包括:任务的执行路径、输入参数等调用信息,以及任务执行失败时的标准错误输出路径。
当处理系统执行该任务时,将该任务的作业脚本提交至调度系统,调度系统调用该作业脚本中执行路径所指示的任务程序,并按照作业脚本中的输入参数执行该任务程序。
当任务程序运行出现异常错误导致任务执行失败时,按照规范编写的任务程序会将错误写入标准错误输出文件中,调度系统将任务程序的输出,以及操作系统层次的标准错误输出到上述标准错误输出路径中。处理系统判断该任务执行失败。
示例性地,通过对上述标准错误输出文件的监控,可以实现任务流程监控,及时发现任务执行失败的情况。
举例说明,如图3所示,任务对应的运行程序需要按照规范进行编写,处理系统生成运行脚本(即上述作业脚本)后,提交至作业调度系统,作业调度系统捕捉到有标准错误输出,生成错误输出文件。处理系统确认失败任务。
可以理解的是,由于处理过程中,各个任务流程之间,任务流程张红的各个任务之间存在一定的依赖关系,当某个任务节点的任务执行失败时,会影响后续任务节点的任务的执行。因此,当监测到第一任务流程的执行过程中出现任务执行失败的情况时,先后采用以下两种处理方式进行处理:
方式1:
在处理方式1中,立即重新执行该任务。
示例性地,当第一任务流程中第一任务节点的第一任务执行失败时,可以将该第一任务确定为上述目标任务,并重新执行该第一任务。即尝试直接重新执行该第一任务,若执行成功,则表示此次任务执行失败的影响程度较小,通过重新执行该第一任务即可恢复正常。
示例性地,上述目标任务包括:任务执行失败的当前任务节点对应的任务。
示例性地,上述步骤201,可以包括以下步骤201a和步骤201b:
步骤201a、监测标准错误输出文件的生成,在监测到标准错误输出文件生成的情况下,根据生成的标准错误输出文件,确定任务执行失败的第一任务节点对应的第一任务的任务信息。
步骤201b、根据所述第一任务的任务信息,重新执行所述第一任务。
示例性地,可以根据步骤204建立的错误捕捉机制,实时监测是否有新的标准错误输出文件的生成,当监测到有新的标准错误输出文件的生成时,可以根据生成的标准错误输出文件,确定执行失败的任务。系统中所有执行失败的任务,均可以通过步骤201a和步骤201b监测到。
方式2:
如果处理方式1失败,则继续开启方式2。
在处理方式2中,进行影响域的分析,并重启匹配后的任务流程。
步骤202、分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务。
示例性地,上述影响域用于反应执行任务失败对任务流程的恢复的影响程度。
示例性地,当终止该第一任务流程的执行后,需要对该第一任务流程进行分析,该分析的作用是确定重新启动时,从哪个任务流程的起始节点执行,对该第一任务流程的执行的影响程度最小。
可以理解的是,当该第一任务流程因出现任务执行失败的情况而终止执行时,可以直接从该第一任务流程的初始任务流程开始重新启动该第一任务流程的执行,但这样的处理方式会重复执行以及正常执行过的任务,导致系统资源的浪费。因此,当出现任务执行失败的情况时,需要对其进行分析,确定任务流程中对重新启动该第一任务流程的执行过程的影响程度最小的目标任务。
具体地,可以根据出现任务执行失败的第一任务节点的起始节点是否还存在执行任务所需的输入数据,并以此确定需要重新执行的上级节点的任务。
示例性地,可以通过以下步骤来确定第一任务节点的上级任务节点的相关信息,即上述步骤202,可以包括以下步骤202a:
步骤202a、在重新执行所述第一任务失败的情况下,根据所述第一任务的任务信息,确定与所述第一任务对应的所述第一任务流程。
其中,所述第一任务节点为所述第一任务流程中所述第一任务对应的任务节点。
示例性地,上述任务失败监测机制,可以监测是否有新的标准错误输出文件被创建,并在监测到新的标准错误输出文件被创建后,根据该标准错误输出文件,确定执行失败的任务的任务信息。
示例性地,可以根据第一任务执行失败时输出的标准错误输出文件中的相关信息,来确定第一任务。该标准错误输出文件中,可以包括该第一任务的任务单号、该第一任务的任务程序路径、以及该第一任务执行所需的输入数据等信息。同时,该标准错误输出文件中还可以包括第一任务流程的流程信息,可以根据该流程信息,确定第一任务节点所在任务流程(即上述第一任务流程)中所有上级任务节点的任务信息。
举例说明,如任务程序是C++语言编写,则在编写代码时应将错误信息用cerr输出;如任务程序是java编写,则应将错误信息用System.err.println输出。以任务程序AUTOCHECKGEO为例,由处理系统自动生成,拟提交作业调度系统的作业脚本文件中必须包含以下内容:
#PBS -e /public/VRS//work/vrs20220105011831/Log/pbs/
/public/VRS//main/modules/bin/AUTOCHECKGEO
/public/VRS//work/vrs20220105011831/Parameter/ AUTOCHECKGEO.xml
其中,vrs20220105011831为唯一的任务单编号;/public/VRS//work/vrs20220105011831/Log/pbs/指定了错误文件输出路径,处理系统把捕捉到的错误信息输出该目录的AUTOCHECKGEO.sh.e2230612文件中去,文件名中的2230612为提交的作业编号;/public/VRS//main/modules/bin/AUTOCHECKGEO /public/VRS//work/vrs20220105011831/Parameter/ AUTOCHECKGEO.xml则分别指定了作业所调用的程序为AUTOCHECKGEO,输入参数包含在AUTOCHECKGEO.xml中。
具体地,上述步骤201a,可以包括以下步骤202a1:
步骤201a1、采用作业调度系统获取所述标准错误输出文件,并根据所述标准错误输出文件的错误任务名称,和/或,错误任务编号确定所述第一任务的任务信息。
其中,所述作业调度系统包括以下任一项:便携式批处理系统(Portable BatchSystem,PBS)、加载共享设施(Load Sharing Facility,LSF)、用于资源管理的简单Linux实用程序(Simple Linux Utility for Resource Management,SLURM)。
示例性地,当某个任务执行失败时,会将该任务的任务名称、任务编号等任务信息,以及错误信息输入到对应的标准错误输出文件名或者文件内容中。当系统检测到生成了新的标准错误输出文件时,可以根据该标准错误输出文件中的信息,确定执行失败的任务。
示例性地,可以通过上述便携式批处理系统(Portable Batch System,PBS)、负载共享设施(Load Sharing Facility,LSF)、用于资源管理的简单Linux实用程序(SimpleLinux Utility for Resource Management,SLURM)或者自定义方法,获得标准错误输出文件。
示例性地,上述步骤202a之后,上述步骤202还可以包括以下步骤202b和步骤202c:
步骤202b、依次倒序遍历所述第一任务流程中所述第一任务节点以及之前的任务节点中各个任务节点所对应任务的输入数据。
步骤202c、将所述第一任务流程中距离所述第一任务节点最近、且存在执行任务所需的输入数据的第二任务节点所对应的第二任务确定为所述目标任务。
示例性地,当重新执行第一任务失败后,需要从第一任务节点的上级任务节点恢复第一任务流程的执行。具体可以按照就近原则,将距离第一任务节点最近、且存在执行任务所需的输入数据的任务节点对应的任务,确定为目标任务。
可以理解的是,若第一任务节点的所在的任务流程上级节点未保存执行该节点对应任务的输入数据,则无法从该节点开始恢复第一任务流程的执行,需要遍历更上一级任务流程是否保存执行任务所需的输入数据,直至遍历到存在执行任务所需的输入数据的任务流程起始节点,并将该节点对应的任务,确定为目标任务。
需要说明的是,若第一任务节点以及该第一任务节点的上级任务流程的起始任务节点中,均不存在执行任务节点对应任务所需的输入数据的情况,即找不到第二任务节点,则终止该第一任务流程的重新执行。
举例说明,如图4所示,为本申请实施例提供的错误任务影响域分析流程示意图,当发现错误输出文件后,重新发起错误任务的执行,若执行成功,则结束恢复流程;若执行失败,则进行影响域分析,并确定对恢复第一任务流程的执行影响程度最小的目标任务,进而根据该目标任务,创建第二任务流程,之后,获取执行该任务所需的输入参数,为执行该任务提供数据保证。
步骤203、基于所述目标任务创建第二任务流程,将所述目标任务作为所述第二任务流程的起始任务。
其中,所述第二任务流程为所述第一任务流程终止后,重新启动所述第一任务流程时所执行的任务流程。
示例性地,在确定第一任务流程中对重新启动该第一任务流程的执行过程的影响程度最小的目标任务后,可以重新启动该第一任务流程的执行,并重新执行上述目标任务。
需要说明的是,由于上述第一任务流程在重新执行失败任务并再次失败的情况下,已经被终止,因此,为了完成该第一任务流程中后续任务的执行,需要创建新的任务流程,即上述第二任务流程。
示例性地,在通过上述标准错误输出文件获取到第一任务的任务信息后,可以根据该任务信息,匹配该第一任务对应的第一任务流程,进而实现对该第一任务流程的控制,并将该第一任务流程作为恢复流程。具体可以通过流程描述文件进行任务流程的匹配。
如图5所示,为流程描述文件中的相关信息,其中L1A表示数据的级别,而workflowid=87则表示其任务流程编号为87,paraformat则表示其任务流程中所包含的任务程序及其先后顺序。根据数据级别,可以从任务流程描述表中查到其最小影响域为L1A,则以L1A所在的流程为恢复流程。再获取恢复流程的起始输入数据,如果起始输入数据已经不存在,则前溯其上级数据,直至原始数据。如上溯某级数据存在,则指定该级数据所处流程为任务恢复流程;若所有级别数据均不存在,则不匹配恢复流程。如图5所示的流程描述文件中,若L1A数据不存在,则处理系统依次向上匹配CAT级别,直至R0级别。
具体地,在重新启动上述第一任务流程的执行之前,还可以根据上述获取到的输入数据,依次生成第一任务流程中需要执行或重新执行的任务的作业脚本,包括:目标任务以及目标任务之后执行的任务的作业脚本。之后,按照生成的作业脚本的执行顺序,通过创建并执行新的任务流程(即上述第二任务流程)的方式,完成第一任务流程的恢复。
举例说明,如图5所示,以AUTOCHECKGEO为例,如果当前输入数据L1A数据存在,则匹配任务流程为87号任务流程,并将其作为恢复流程。其发生错误时的输入参数为:AUTOCHECKGEO.xml,执行程序为AUTOCHECKGEO;当重启任务流程时,按编号为87的恢复流程进行重新执行。因恢复流程的初始运行程序为CORRECT,则处理系统首先生成CORRECT.xml和CORRECT.sh,再提交CORRECT.sh脚本,按流程顺序执行CORRECT,AUTOCHECKGEO等任务程序。
需要说明的是,本申请提供的任务失败处理方法,并不局限于卫星数据处理领域,对于卫星数据质量评价、卫星数据深加工等大批量并发作业的领域同样适用。
本申请实施例提供的遥感卫星处理系统中自动发现任务失败和恢复方法,首先建立错误捕捉机制,根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行。之后,分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务。最后,基于所述目标任务创建第二任务流程,将所述目标任务作为所述第二任务流程的起始任务,解决了因处理系统偶发故障引起的处理任务失败的问题,取代了传统的人工筛查失败任务,手动发起错误任务等复杂方法,提高了系统的可用性。
需要说明的是,本申请实施例中,上述各个方法附图所示的。遥感卫星处理系统中自动发现任务失败和恢复方法均是以结合本申请实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的遥感卫星处理系统中自动发现任务失败和恢复方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (5)
1.一种遥感卫星处理系统中自动发现任务失败和恢复方法,其特征在于,包括:
根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行;所述第一任务流程包括至少一个子任务;
分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务;
基于所述目标任务创建第二任务流程,将所述目标任务作为所述第二任务流程的起始任务;
所述分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务,包括:
在重新执行第一任务失败的情况下,依次倒序遍历所述第一任务流程中第一任务节点以及之前的任务节点中各个任务节点所对应任务的输入数据;
将所述第一任务流程中距离所述第一任务节点最近、且存在执行任务所需的输入数据的第二任务节点所对应的第二任务确定为所述目标任务;
其中,所述第一任务为所述第一任务流程中任务执行失败的任务;所述第一任务节点为所述第一任务对应的任务节点;所述第二任务流程为所述第一任务流程终止后,重新启动所述第一任务流程时所执行的任务流程。
2.根据权利要求1所述的方法,其特征在于,所述根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行之前,所述方法还包括:
建立错误捕捉机制,在系统的任务流程的执行过程中,若出现任务执行失败的情况,则输出对应的标准错误输出文件。
3.根据权利要求2所述的方法,其特征在于,所述根据建立的错误捕捉机制,在监测到任务执行失败的情况下,重新发起失败任务的执行;若所述失败任务再次执行失败,则终止所述失败任务所对应的第一任务流程的执行,包括:
监测标准错误输出文件的生成,在监测到标准错误输出文件生成的情况下,根据生成的标准错误输出文件,确定任务执行失败的所述第一任务节点对应的所述第一任务的任务信息;
根据所述第一任务的任务信息,重新执行所述第一任务。
4.根据权利要求3所述的方法,其特征在于,所述分析任务执行失败对所述第一任务流程的执行过程的影响域,并确定所述第一任务流程中对重新启动所述第一任务流程的执行过程的影响程度最小的目标任务,包括:
在重新执行所述第一任务失败的情况下,根据所述第一任务的任务信息,确定与所述第一任务对应的所述第一任务流程。
5.根据权利要求3所述的方法,其特征在于,所述根据生成的标准错误输出文件,确定任务执行失败的第一任务节点对应的第一任务的任务信息,包括:
采用作业调度系统获取所述标准错误输出文件,并根据所述标准错误输出文件中的错误任务名称,和/或,错误任务编号确定所述第一任务的任务信息;
其中,所述作业调度系统包括以下任一项:便携式批处理系统PBS、负载共享设施LSF、用于资源管理的简单Linux实用程序SLURM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210244791.7A CN114356643B (zh) | 2022-03-14 | 2022-03-14 | 一种遥感卫星处理系统中自动发现任务失败和恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210244791.7A CN114356643B (zh) | 2022-03-14 | 2022-03-14 | 一种遥感卫星处理系统中自动发现任务失败和恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114356643A CN114356643A (zh) | 2022-04-15 |
CN114356643B true CN114356643B (zh) | 2022-05-20 |
Family
ID=81095152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210244791.7A Active CN114356643B (zh) | 2022-03-14 | 2022-03-14 | 一种遥感卫星处理系统中自动发现任务失败和恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356643B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094982A (zh) * | 2014-09-23 | 2015-11-25 | 航天恒星科技有限公司 | 一种多星遥感数据处理系统 |
CN113986642A (zh) * | 2020-07-08 | 2022-01-28 | 阿里巴巴集团控股有限公司 | 任务监控系统、方法、装置、电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672122B1 (en) * | 2014-09-29 | 2017-06-06 | Amazon Technologies, Inc. | Fault tolerant distributed tasks using distributed file systems |
CN104572330B (zh) * | 2015-01-07 | 2017-11-07 | 航天东方红卫星有限公司 | 敏捷卫星星务中心计算机在轨复位或切机自主恢复方法 |
CN109871269A (zh) * | 2019-01-15 | 2019-06-11 | 中国人民解放军63921部队 | 一种遥感数据处理方法、系统、电子设备和介质 |
US10924534B2 (en) * | 2019-03-01 | 2021-02-16 | Akamai Technologies, Inc. | Dynamic placement of computing tasks in a distributed computing environment |
-
2022
- 2022-03-14 CN CN202210244791.7A patent/CN114356643B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094982A (zh) * | 2014-09-23 | 2015-11-25 | 航天恒星科技有限公司 | 一种多星遥感数据处理系统 |
CN113986642A (zh) * | 2020-07-08 | 2022-01-28 | 阿里巴巴集团控股有限公司 | 任务监控系统、方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
面向多航天器协同的自主任务规划方法研究;陈丹等;《计算机测量与控制》;20190525(第05期);227-231 * |
Also Published As
Publication number | Publication date |
---|---|
CN114356643A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9471474B2 (en) | Cloud deployment infrastructure validation engine | |
US7908521B2 (en) | Process reflection | |
US7516361B2 (en) | Method for automatic checkpoint of system and application software | |
Zhang et al. | Understanding and detecting software upgrade failures in distributed systems | |
CN102810073B (zh) | 数据后台实时监控处理方法 | |
US20050114854A1 (en) | System and method for dynamic cooperative distributed execution of computer tasks without a centralized controller | |
US7624309B2 (en) | Automated client recovery and service ticketing | |
US10678677B1 (en) | Continuous debugging | |
Grottke et al. | Recovery from software failures caused by mandelbugs | |
CN101226499A (zh) | 用于诊断应用程序的方法和系统 | |
JP2004199330A (ja) | 情報処理装置、トレース処理方法、プログラム及び記録媒体 | |
US8850400B2 (en) | System and method for providing an implementation accelerator and regression testing framework for use with environments such as fusion applications | |
WO2021238273A1 (zh) | 一种基于Spark流计算框架的消息容错方法及系统 | |
US20060259594A1 (en) | Progressive deployment and maintenance of applications on a set of peer nodes | |
JP2010522932A (ja) | インストールシーケンスのためのブックマークおよび構成ファイル | |
CN111666141A (zh) | 任务调度方法、装置、设备及计算机存储介质 | |
CN113190371B (zh) | 一种任务补偿方法、装置、电子设备及可读存储介质 | |
CN108804239B (zh) | 平台整合的方法、装置、计算机设备和存储介质 | |
CN114356643B (zh) | 一种遥感卫星处理系统中自动发现任务失败和恢复方法 | |
CN114385504A (zh) | 微服务应用的开发调试方法及装置 | |
CN117667362B (zh) | 一种流程引擎调度方法、系统、设备及可读介质 | |
CN108241543B (zh) | 业务操作断点执行的方法、业务服务器及系统 | |
CN111475320B (zh) | 一种计算平台的高可用性检测方法、计算平台及存储介质 | |
CN112988503A (zh) | 分析方法、分析装置、电子装置和存储介质 | |
CN117170916B (zh) | 一种故障分析方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |