一种修复异常调度任务的处理方法及装置与流程

文档序号:16530894发布日期:2019-01-05 10:44阅读:222来源:国知局
一种修复异常调度任务的处理方法及装置与流程

本发明实施例涉及调度任务处理技术领域,具体涉及一种修复异常调度任务的处理方法及装置。



背景技术:

随着信息技术的快速发展,产生了大量的数据,因此,对基于数据库的调度任务的异常修复也显得尤为重要。

目前,大多数调度任务都会记录日志,当发生异常的时候方便运维人员定位异常原因,并进行处理,由于,某些调度任务24小时不间断执行,即使当异常发生时立即预警给运维人员,也不一定有值班人员可以马上处理,如果当前的异常被忽略,如果下个任务周期执行未发生异常,则上个任务周期的异常被隐藏,为数据库运行埋下了安全隐患,也有现有技术采用对异常调度任务进行自动修复的方法,但是,异常原因的修复方案可能有多个,往往都是基于人工经验选择较为合适的修复方案进行修复,合理性和效率都无法得到保证。

因此,如何避免上述缺陷,能够提高修复异常调度任务的效率和合理性,成为亟须解决的问题。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供一种修复异常调度任务的处理方法及装置。

第一方面,本发明实施例提供一种修复异常调度任务的处理方法,所述方法包括:

获取调度任务的异常原因;

获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;

执行所述修复方案,以修复所述调度任务。

第二方面,本发明实施例提供一种修复异常调度任务的处理装置,所述装置包括:

第一获取单元,用于获取调度任务的异常原因;

第二获取单元,用于获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;

修复单元,用于执行所述修复方案,以修复所述调度任务。

第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,

所述处理器和所述存储器通过所述总线完成相互间的通信;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:

获取调度任务的异常原因;

获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;

执行所述修复方案,以修复所述调度任务。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:

所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:

获取调度任务的异常原因;

获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;

执行所述修复方案,以修复所述调度任务。

本发明实施例提供的修复异常调度任务的处理方法及装置,根据可动态调整的权重获取到与调度任务的异常原因相对应的修复方案、并执行,从而能够提高修复异常调度任务的效率和合理性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例修复异常调度任务的处理方法流程示意图;

图2为本发明实施例修复异常调度任务的处理装置结构示意图;

图3为本发明实施例提供的电子设备实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例修复异常调度任务的处理方法流程示意图,如图1所示,本发明实施例提供的一种修复异常调度任务的处理方法,包括以下步骤:

s101:获取调度任务的异常原因。

具体的,装置获取调度任务的异常原因。可以通过解析系统日志的方式获取到调度任务的异常原因,不作具体限定。

s102:获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的。

具体的,装置获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的。需要说明的是:可以根据异常原因预先配置与该异常原因相对应的多种方案,这些方案都可以修复发生异常的调度任务,本发明实施例中的修复方案是根据可动态调整的权重获取到的,具体说明如下:为了更好地修复发生异常的调度任务,可以为每一种方案设置对应的权重,权重值可动态调整,即选择最大的权重值对应的方案作为该修复方案,可以对剩余的权重值按照数值由大到小进行顺序排列,从而选择出具有优先次序的第一备用方案、第二备用方案等。

当修复方案完成修复后,再次执行发生异常的调度任务,确认是否修复成功,若成功则说明成功修复了该调度任务,再进行下一项调度任务,若失败则说明未成功修复该调度任务,依次启用备用方案,直至成功修复调度任务或无有效的可用方案,并推送告知运维人员该异常原因和成功修复调度任务的方案或无有效的可用方案。如果该异常原因为新原因,或无有效的可用方案,则在运维人员处理后,根据处理方法预存为新异常原因的修复方案,此时该修复方案的权重为1(最大)、后续如果有该新异常原因的其它修复方案,再动态调整各自对应的权重。

s103:执行所述修复方案,以修复所述调度任务。

具体的,装置执行所述修复方案,以修复所述调度任务。成功修复调度任务后,可自动调整方案权重(包括权重最大的修复方案的权重,以及备用方案的权重),再次发生该类异常时,优先使用权重较大的方案(可能还是原修复方案,也可能是某一备用方案),也可设置固定权重,在发生异常时,以固定的顺序选择待修复的方案,从而对调度任务进行修复处理。

需要说明的是:若成功修复所述调度任务,获取执行所述修复方案过程中的指标参数和对不同级别程序的影响范围;根据所述指标参数和所述影响范围,调整所述修复方案和修复所述异常原因的备用方案各自对应的权重。具体如下:所述指标参数包括修复响应时间和系统资源消耗量、所述不同级别程序包括线程级程序、程序级程序和系统级程序;修复响应时间可以理解为修复开始时刻到修复完成时刻之间的时间段、系统资源消耗量可以理解为在上述时间段内消耗系统资源的量值,具体包括但不限于cpu使用率、i/o使用率、内存使用率、磁盘空间占用量。

相应的,所述根据所述指标参数和所述影响范围,调整所述修复方案和修复所述异常原因的备用方案各自对应的权重,包括:若判断获知所述修复响应时间少于平均修复响应时间、且所述系统资源消耗量小于平均系统资源消耗量,则分别计算所述修复响应时间、所述系统资源消耗量各自对应的分值;其中,所述平均修复响应时间为预先获取的所述修复方案的修复响应时间平均值和所述备用方案的修复响应时间平均值之和的平均值;所述平均系统资源消耗量为预先获取的所述修复方案的系统资源消耗量平均值和所述备用方案的系统资源消耗量平均值之和的平均值;系统资源消耗量对应的分值可以理解为上述四项指标细项(cpu使用率、i/o使用率、内存使用率、磁盘空间占用量)得分之和除以指标细项数(四个),举例说明平均修复响应时间:根据历史数据,如果修复方案a的修复响应时间历史数据为100条,算出的该修复方案的修复响应时间平均值为这100条历史数据的平均值x;如果备用方案只有一个,该一个备用方案b的修复响应时间历史数据为50条,算出的该备用方案b的修复响应时间平均值为这50条历史数据的平均值y;此情况下,求和的平均值为(平均值x+平均值y)/2;如果备用方案有两个,第一个备用方案b的修复响应时间历史数据为50条,算出的该备用方案b的修复响应时间平均值为这50条历史数据的平均值y,第二个备用方案c的修复响应时间历史数据为30条,算出的该备用方案c的修复响应时间平均值为这30条历史数据的平均值z,此情况下,求和的平均值为(平均值x+平均值y+平均值z)/3。平均系统资源消耗量的举例说明不再赘述。需要说明的是:如果修复响应时间不少于平均修复响应时间,则不计所述修复响应时间的分值(即不得分),同理如果系统资源消耗量不小于平均系统资源消耗量,则不计所述系统资源消耗量的分值(即不得分)。

进一步地,可以分别根据如下公式计算所述修复响应时间、所述系统资源消耗量各自对应的分值,包括:所述修复响应时间的分值=1-(所述修复响应时间/平均修复响应时间);所述系统资源消耗量的分值=1-(所述系统资源消耗量/平均系统资源消耗量)。即修复响应时间、系统资源消耗量各自对应的分值均为0~1之间的小数。

所述不同级别程序还可以包括服务器级别程序;相应的,所述方法还包括:若判断获知所述修复方案需重启服务器,则确定所述不同级别程序为所述服务器级别程序;直接采用与修复所述服务器级别程序相关的指定备用方案修复所述调度任务,待修复成功后生成告警消息。即对于需要重启服务器的调度任务的修复需要采用指定备用方案,指定备用方案可以理解为该特定情况下专用的修复方案。

若未成功修复所述调度任务,执行所述备用方案,以修复所述调度任务。对于成功修复所述调度任务的某备用方案,可以继续进行调整该备用方案,以及未成功修复所述调度任务的修复方案和其他备用方案的权重,即增加该备用方案的权重,减少修复方案和其他备用方案的权重(但保持权重占比不变),具体调整权重的说明,可以参照上述修复方案成功修复所述调度任务的说明,不再赘述。

根据如下公式计算所述修复方案的权重增量:

权重增量=1/3×所述修复响应时间的分值+1/3×所述系统资源消耗量的分值+1/3×所述影响范围的分值;其中,所述影响范围的分值为所述线程级程序、所述程序级程序和所述系统级程序分别对应的预设分值a、b和c;其中,1>a>b>c≥0。预设分值a、b和c的具体数值可以根据实际情况自主设置,分别可选为0.5、0.25和0。

将所述修复方案的权重更新为所述修复方案对应的权重与所述权重增量之和。举例说明如下:该修复方案对应的权重(即修复成功时修复方案的权重)为0.6,根据上述公式计算出的权重增量为0.1,则更新权重为0.6+0.1=0.7。

根据所述修复方案的更新权重,更新所述备用方案的权重。如果备用方案只有一个,参照上述举例,备用方案的权重更新为0.3,即1-0.7=0.3。如果备用方案的数量至少为两个;相应的,所述根据所述修复方案的更新权重,更新所述备用方案的权重,包括:获取每个备用方案的权重占比;根据所述权重占比和所述更新权重,更新每个备用方案对应的权重。以备用方案的数量为两个为例,举例说明如下:如果当修复方案a对应的权重为0.6时,备用方案b对应的权重为0.3、备用方案c对应的权重为0.1,即备用方案b的权重占比为0.3/(0.3+0.1)=0.75;备用方案c的权重占比为0.1/(0.3+0.1)=0.25;当修复方案a对应的权重为0.7时,备用方案b对应的更新权重为(1-0.7)×0.75=0.225,、备用方案c对应的更新权重为(1-0.7)×0.25=0.075。

本发明实施例提供的修复异常调度任务的处理方法具有如下优点:

(1)通过自动化的功能,实现任务的24小时正常运行,较少故障持续时间和异常处理时间,节约了人力成本。

(2)根据不同的异常原因可设置不同的修复方案和备用方案,使用更高效和影响最小的方案修复调度任务。

(3)经验的可积累与经常性问题的规避,针对已发生过的异常原因可实时修复,针对新异常原因可经人工处理后预存新的修复方案,当新异常原因再次发生时可有效处理,不断减少不可自动修复调度任务的发生。

(4)系统自动修复成功也会告知运维人员,提醒进行软硬件的更新与升级,避免异常原因的调度任务再次发生。

本发明实施例提供的修复异常调度任务的处理方法,根据可动态调整的权重获取到与调度任务的异常原因相对应的修复方案、并执行,从而能够提高修复异常调度任务的效率和合理性。

在上述实施例的基础上,所述方法还包括:

若成功修复所述调度任务,获取执行所述修复方案过程中的指标参数和对不同级别程序的影响范围。

具体的,装置若成功修复所述调度任务,获取执行所述修复方案过程中的指标参数和对不同级别程序的影响范围。可参照上述实施例,不再赘述。

根据所述指标参数和所述影响范围,调整所述修复方案和修复所述异常原因的备用方案各自对应的权重。

具体的,装置根据所述指标参数和所述影响范围,调整所述修复方案和修复所述异常原因的备用方案各自对应的权重。可参照上述实施例,不再赘述。

本发明实施例提供的修复异常调度任务的处理方法,根据修复方案过程中的指标参数和对不同级别程序的影响范围动态调整各方案各自对应的权重,进一步能够提高修复异常调度任务的效率和合理性。

在上述实施例的基础上,所述指标参数包括修复响应时间和系统资源消耗量、所述不同级别程序包括线程级程序、程序级程序和系统级程序;相应的,所述根据所述指标参数和所述影响范围,调整所述修复方案和修复所述异常原因的备用方案各自对应的权重,包括:

若判断获知所述修复响应时间少于平均修复响应时间、且所述系统资源消耗量小于平均系统资源消耗量,则分别计算所述修复响应时间、所述系统资源消耗量各自对应的分值;其中,所述平均修复响应时间为预先获取的所述修复方案的修复响应时间平均值和所述备用方案的修复响应时间平均值之和的平均值;所述平均系统资源消耗量为预先获取的所述修复方案的系统资源消耗量平均值和所述备用方案的系统资源消耗量平均值之和的平均值。

具体的,装置若判断获知所述修复响应时间少于平均修复响应时间、且所述系统资源消耗量小于平均系统资源消耗量,则分别计算所述修复响应时间、所述系统资源消耗量各自对应的分值;其中,所述平均修复响应时间为预先获取的所述修复方案的修复响应时间平均值和所述备用方案的修复响应时间平均值之和的平均值;所述平均系统资源消耗量为预先获取的所述修复方案的系统资源消耗量平均值和所述备用方案的系统资源消耗量平均值之和的平均值。可参照上述实施例,不再赘述。

根据如下公式计算所述修复方案的权重增量:

权重增量=1/3×所述修复响应时间的分值+1/3×所述系统资源消耗量的分值+1/3×所述影响范围的分值;

其中,所述影响范围的分值为所述线程级程序、所述程序级程序和所述系统级程序分别对应的预设分值a、b和c;其中,1>a>b>c≥0。

具体的,装置根据如下公式计算所述修复方案的权重增量:

权重增量=1/3×所述修复响应时间的分值+1/3×所述系统资源消耗量的分值+1/3×所述影响范围的分值;

其中,所述影响范围的分值为所述线程级程序、所述程序级程序和所述系统级程序分别对应的预设分值a、b和c;其中,1>a>b>c≥0。可参照上述实施例,不再赘述。

将所述修复方案的权重更新为所述修复方案对应的权重与所述权重增量之和。

具体的,装置将所述修复方案的权重更新为所述修复方案对应的权重与所述权重增量之和。可参照上述实施例,不再赘述。

根据所述修复方案的更新权重,更新所述备用方案的权重。

具体的,装置根据所述修复方案的更新权重,更新所述备用方案的权重。可参照上述实施例,不再赘述。

本发明实施例提供的修复异常调度任务的处理方法,根据更具体的计算公式计算权重增量,再动态调整各方案各自对应的权重,进一步能够提高修复异常调度任务的效率和合理性。

在上述实施例的基础上,若判断获知所述备用方案的数量至少为两个;相应的,所述根据所述修复方案的更新权重,更新所述备用方案的权重,包括:

获取每个备用方案的权重占比。

具体的,装置获取每个备用方案的权重占比。可参照上述实施例,不再赘述。

根据所述权重占比和所述更新权重,更新每个备用方案对应的权重。

具体的,装置根据所述权重占比和所述更新权重,更新每个备用方案对应的权重。可参照上述实施例,不再赘述。

本发明实施例提供的修复异常调度任务的处理方法,能够有效地动态调整各方案各自对应的权重。

在上述实施例的基础上,所述分别计算所述修复响应时间、所述系统资源消耗量各自对应的分值,包括:

分别根据如下公式计算所述修复响应时间、所述系统资源消耗量各自对应的分值,包括:

所述修复响应时间的分值=1-(所述修复响应时间/平均修复响应时间);所述系统资源消耗量的分值=1-(所述系统资源消耗量/平均系统资源消耗量)。

具体的,装置分别根据如下公式计算所述修复响应时间、所述系统资源消耗量各自对应的分值,包括:

所述修复响应时间的分值=1-(所述修复响应时间/平均修复响应时间);所述系统资源消耗量的分值=1-(所述系统资源消耗量/平均系统资源消耗量)。可参照上述实施例,不再赘述。

本发明实施例提供的修复异常调度任务的处理方法,能够合理、准确地计算修复响应时间、系统资源消耗量各自对应的分值,从而进一步能够提高修复异常调度任务的效率和合理性。

在上述实施例的基础上,所述不同级别程序还包括服务器级别程序;相应的,所述方法还包括:

若判断获知所述修复方案需重启服务器,则确定所述不同级别程序为所述服务器级别程序。

具体的,装置若判断获知所述修复方案需重启服务器,则确定所述不同级别程序为所述服务器级别程序。

直接采用与修复所述服务器级别程序相关的指定备用方案修复所述调度任务,待修复成功后生成告警消息。

具体的,装置直接采用与修复所述服务器级别程序相关的指定备用方案修复所述调度任务,待修复成功后生成告警消息。可参照上述实施例,不再赘述。

本发明实施例提供的修复异常调度任务的处理方法,采用与修复服务器级别程序相关的指定备用方案修复调度任务,在特定情况下进一步能够提高修复异常调度任务的效率和合理性。

在上述实施例的基础上,所述方法还包括:

若未成功修复所述调度任务,执行所述备用方案,以修复所述调度任务。

具体的,装置若未成功修复所述调度任务,执行所述备用方案,以修复所述调度任务。可参照上述实施例,不再赘述。

本发明实施例提供的修复异常调度任务的处理方法,通过执行备用方案,以修复调度任务,进一步能够提高修复异常调度任务的效率和合理性。

图2为本发明实施例修复异常调度任务的处理装置结构示意图,如图2所示,本发明实施例提供了一种修复异常调度任务的处理装置,包括第一获取单元201、第二获取单元202和修复单元203,其中:

第一获取单元201用于获取调度任务的异常原因;第二获取单元202用于获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;修复单元203用于执行所述修复方案,以修复所述调度任务。

具体的,第一获取单元201用于获取调度任务的异常原因;第二获取单元202用于获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;修复单元203用于执行所述修复方案,以修复所述调度任务。

本发明实施例提供的修复异常调度任务的处理装置,根据可动态调整的权重获取到与调度任务的异常原因相对应的修复方案、并执行,从而能够提高修复异常调度任务的效率和合理性。

本发明实施例提供的修复异常调度任务的处理装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

图3为本发明实施例提供的电子设备实体结构示意图,如图3所示,所述电子设备包括:处理器(processor)301、存储器(memory)302和总线303;

其中,所述处理器301、存储器302通过总线303完成相互间的通信;

所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取调度任务的异常原因;获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;执行所述修复方案,以修复所述调度任务。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取调度任务的异常原因;获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;执行所述修复方案,以修复所述调度任务。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取调度任务的异常原因;获取与所述异常原因相对应的修复方案;所述修复方案是根据可动态调整的权重获取到的;执行所述修复方案,以修复所述调度任务。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1