一种作业的操作重试方法和装置制造方法及图纸

技术编号:14916277 阅读:83 留言:0更新日期:2017-03-30 05:01
本申请实施例提供了一种作业的操作重试方法和装置,所述方法包括:检测作业中的操作是否失败;若是,则统计所述作业的进度;根据所述作业的进度计算重试时间;等待重试时间后,重新执行所述操作,使得在作业的操作失败时,根据作业的进度自适应计算重试时间,尤其是对于长作业,大大增加了重试时间的长度,实现动态进行作业的重试,能应付更长时间的服务中断情况,避免了作业失败时、重新执行作业带来的设备资源浪费,在保证作业的成功率的同时,大大降低了重试成本。

【技术实现步骤摘要】

本申请涉及计算机处理的
,特别是涉及一种作业的操作重试方法和一种作业的操作重试装置。
技术介绍
在计算机系统中,作业在运行中会和其他系统(服务)进行交互,在其他系统(服务)出现短时间不可服务(服务中断)时,作业将运行失败。在大数据的场景下,现在的产品在运行出错时,一般对作业进行重试,即等待其他系统(服务)恢复,来使作业继续运行,尽量保证作业的成功率。否则,如果重试全部失败,整个作业将失败。例如,其他系统(服务)不可服务的时间最长到了10分钟,则要求重试的时间间隔总体要大于10分钟,才能保证作业在出现这种短时间不可服务时能继续运行。如果重试都调整为10分钟,无疑增大了重试成本,表现在2方面:1、短作业;例如,预计的运行时间只有30分钟的作业,因重试带来的实际的运行时间将可能长于正常运行的时间;2、管理员需要手动停止作业时,特别是因为外部系统(服务)不可用时,需要人工进行运维停止作业,并进行一些调整和部署,如果刚好碰到作业重试,则需要等作业重试完10分钟,该作业才能完全停止。因此,现在一般选择重试的时间不会选择最大的重试时间,而是选择平均值或者满足一定百分比的时间。例如,若外部系统(服务)的不可用时间均为1分钟,最大不可用时间为10分钟时,一般选择重试为2分钟,确保大部分情况都能重试成功。但是,这种解决方案对于长作业,可能导致重试成本增加。例如,对于一个运行10个小时的作业,如果10个小时的作业运行到了80%,即已经运行了8个小时的时候,出现了一次10分钟的服务中断,超过了最大的重试时间,导致该作业失败,重新执行该作业意味着在先8个小时的运行都浪费了,代价是巨大的。
技术实现思路
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种作业的操作重试方法和相应的一种作业的操作重试装置。为了解决上述问题,本申请实施例公开了一种作业的操作重试方法,包括:检测作业中的操作是否失败;若是,则统计所述作业的进度;根据所述作业的进度计算重试时间;等待重试时间后,重新执行所述操作。可选的,所述作业为数据同步作业,所述检测作业中的操作是否失败的步骤包括:当从源设备读取数据失败或超时,判定所述数据同步作业中的操作失败;和/或,当与数据同步服务交互失败或超时,判定所述数据同步作业中的操作失败;和/或,当将数据写入目的设备失败或超时,判定所述数据同步作业中的操作失败。可选的,所述根据所述作业的进度计算重试时间的步骤包括:按照所述作业的进度配置增量因子;依据预设的间隔时间计算重试时间基数;根据所述增量因子与所述重试时间基数计算重试时间。可选的,所述依据预设的间隔时间计算重试时间基数的步骤包括:获取当前的重试次数;计算预设的间隔时间与当前的重试次数的乘积,作为时间基数;或者,将当前的重试次数作为指数,对预设的间隔时间进行增加,作为时间基数。可选的,在所述统计所述作业的进度的步骤之前,所述方法还包括:判断是否需要重新执行所述操作;若是,则执行所述统计所述作业的进度的步骤;若否,则退出重新执行所述操作。可选的,所述判断是否需要重新执行所述操作的步骤包括:判断是否符合次数条件和/或状态条件;若是,则判定不需要重新执行所述操作;若否,则判定需要重新执行所述操作;其中,所述次数条件为当前的重试次数超过预设的重试次数阈值;所述状态条件为作业停止。为了解决上述问题,本申请实施例还公开了一种作业的操作重试装置,包括:作业检测模块,用于检测作业中的操作是否失败;若是,则调用进度统计模块;进度统计模块,用于统计所述作业的进度;重试时间计算模块,用于根据所述作业的进度计算重试时间;作业重试模块,用于等待重试时间后,重新执行所述操作。可选的,所述作业检测模块包括:第一判定子模块,用于在从源设备读取数据失败或超时,判定所述数据同步作业中的操作失败;和/或,第二判定子模块,用于在与数据同步服务交互失败或超时,判定所述数据同步作业中的操作失败;和/或,第三判定子模块,用于在将数据写入目的设备失败或超时,判定所述数据同步作业中的操作失败。可选的,所述重试时间计算模块包括:增量因子计算子模块,用于按照所述作业的进度配置增量因子;重试时间基数计算子模块,用于依据预设的间隔时间计算重试时间基数;增量调整子模块,用于根据所述增量因子与所述重试时间基数计算重试时间。可选的,所述重试时间基数计算子模块包括:重试次数获取单元,用于获取当前的重试次数;固定计算单元,用于计算预设的间隔时间与当前的重试次数的乘积,作为时间基数;或者,指数计算单元,用于将当前的重试次数作为指数,对预设的间隔时间进行增加,作为时间基数。可选的,所述作业的操作重试装置还包括:重试判定模块,用于判断是否需要重新执行所述操作;若是,则调用进度统计模块,若否,则调用重试退出模块;重试退出模块,用于退出重新执行所述操作。可选的,所述重试判定模块包括:条件判断子模块,用于判断是否符合次数条件和/或状态条件;若是,则调用第四判定子模块,若否,则调用第五判定子模块;第四判定子模块,用于判定不需要重新执行所述操作;第五判定子模块,用于判定需要重新执行所述操作;其中,所述次数条件为当前的重试次数超过预设的重试次数阈值;所述状态条件为作业停止。本申请实施例包括以下优点:本申请实施例在作业的操作失败时,根据作业的进度自适应计算重试时间,尤其是对于长作业,大大增加了重试时间的长度,实现动态进行作业的重试,能应付更长时间的服务中断情况,避免了作业失败时、重新执行作业带来的设备资源浪费,在保证作业的成功率的同时,大大降低了重试成本。本申请实施例的重试策略中增加作业的状态检测,当作业被停止时,将终止重试,实现重试的快速结束和退出,进一步减少了设备资源的浪费,减少了重试成本。附图说明图1是本申请的一种作业的操作重试方法实施例1的步骤流程图;图2是本申请实施例的一种离线同步工具的架构图;图3是本申请的一种作业的操作重试方法实施例2的步骤流程图;图4是本申请的一种作业的操作重试装置实施例1的结构框图;图5是本申请的一种作业的操作重试装置实施例2的结构框图。具体实施方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。参照图1,示出了本申请的一种作业的操作重试方法实施例1的步骤流程图,具体可以包括如下步骤:步骤101,检测作业中的操作是否失败;若是,则执行步骤102;在某些操作系统中,作业(job)是计算机操作者(或是一个叫做作业调度器的程序)交给操作系统的执行单位。例如,作业可以是一个应用程序的运行,如一个每周都执行的职工工资册的程序。作业通常是以批的模式运行的。操作者或作业调度器交给操作系统一批要执行的作业(职工工资册、花销分析、雇员文件升级等等),这些作业将在操作系统没有执行具有时间敏感性的交互式操作时被执行。在本申请实施例中,以数据同步作业为作业的其中一个示例,数据同步作业可以通过同步工具执行。如图2所示,同步工具是一个通用的多种数据库之间进行同步的工具。同步工具包括具有dataxService(数据同步服务)的一系列的worker(工作设备)。其中,dataxService接受作业的命本文档来自技高网
...

【技术保护点】
一种作业的操作重试方法,其特征在于,包括:检测作业中的操作是否失败;若是,则统计所述作业的进度;根据所述作业的进度计算重试时间;等待重试时间后,重新执行所述操作。

【技术特征摘要】
1.一种作业的操作重试方法,其特征在于,包括:检测作业中的操作是否失败;若是,则统计所述作业的进度;根据所述作业的进度计算重试时间;等待重试时间后,重新执行所述操作。2.根据权利要求1所述的方法,其特征在于,所述作业为数据同步作业,所述检测作业中的操作是否失败的步骤包括:当从源设备读取数据失败或超时,判定所述数据同步作业中的操作失败;和/或,当与数据同步服务交互失败或超时,判定所述数据同步作业中的操作失败;和/或,当将数据写入目的设备失败或超时,判定所述数据同步作业中的操作失败。3.根据权利要求1所述的方法,其特征在于,所述根据所述作业的进度计算重试时间的步骤包括:按照所述作业的进度配置增量因子;依据预设的间隔时间计算重试时间基数;根据所述增量因子与所述重试时间基数计算重试时间。4.根据权利要求3所述的方法,其特征在于,所述依据预设的间隔时间计算重试时间基数的步骤包括:获取当前的重试次数;计算预设的间隔时间与当前的重试次数的乘积,作为时间基数;或者,将当前的重试次数作为指数,对预设的间隔时间进行增加,作为时间基数。5.根据权利要求1或2或3或4所述的方法,其特征在于,在所述统计所述作业的进度的步骤之前,所述方法还包括:判断是否需要重新执行所述操作;若是,则执行所述统计所述作业的进度的步骤;若否,则退出重新执行所述操作。6.根据权利要求5所述的方法,其特征在于,所述判断是否需要重新执行所述操作的步骤包括:判断是否符合次数条件和/或状态条件;若是,则判定不需要重新执行所述操作;若否,则判定需要重新执行所述操作;其中,所述次数条件为当前的重试次数超过预设的重试次数阈值;所述状态条件为作业停止。7.一种作业的操作重试装置,其特征在于,包括:作业检测模块,用于检测作业中的操作是否失败;若是,则调用进度统计模块;进度统计模块,用于统计所述...

【专利技术属性】
技术研发人员:李强
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1