确定任务执行时间的方法及装置与流程

专利2022-06-30  79


本发明涉及数据处理技术领域,特别涉及确定任务执行时间的方法及装置。



背景技术:

目前许多业务应用系统中,都会包含许多平台级或服务级的任务需要执行,如数据清理、资源回收和僵尸账户扫描等,这些任务耗时较长,且可能影响用户使用体验。对应这种任务需要确定合适的执行时间来尽量减少对用户使用体验的影响。

在现有技术中,这些任务一般会使用人为设置定时任务的方式,在指定的时间开始执行。但是,随着业务系统的需求更新、用户增加等问题,往往需要处理的任务数量也会随之增加,这时,仅通过人为方式来为任务设置执行时间,通常会需要开发人员多次修改每个定时任务相关的代码或者配置,以及与运维人员沟通确定合适的执行时间等,通过反复试错来调整不同定时任务的执行时间。

通过上述描述可见,确定任务的合适的执行时间非常麻烦。



技术实现要素:

本发明实施例提供了确定任务执行时间的方法及装置,能够更加方便的确定任务的执行时间。

第一方面,本发明实施例提供了确定任务执行时间的方法,包括:

确定执行目标任务所需要的至少一个目标接口;

确定所述目标任务的执行周期;

确定所述执行周期内所述目标任务的可执行时间段;

获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率;

确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间;

利用所述历史调用频率和所述标准执行时间对目标模型进行训练,生成训练后的目标模型;

获取当前的执行周期内的目标时间段中所述至少一个目标接口的当前调用频率;

将所述当前调用频率输入到训练后的目标模型中;

获取训练后的目标模型输出的当前的执行周期中所述目标任务的执行时间;

其中,所述目标时间段为一个所述执行周期内所述可执行时间段之外的时间段。

可选地,

该方法进一步包括:

确定执行所述目标任务所需要的目标时间长度的估计值;

所述获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率,包括:

针对每个所述历史执行周期,执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前历史执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的历史调用频率。

可选地,

所述确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间,包括:

针对每个所述历史执行周期,执行:

确定s时刻到p时刻之间所述至少一个目标接口最后一次被调用的时刻u;

确定p时刻到e时刻之间所述至少一个目标接口第一次被调用的时刻v;

根据公式二,确定当前历史执行周期中所述目标任务的标准执行时间,其中,所述公式二为:

y=b(u v);

其中,y为所述标准执行时间,b为第一预设值,b的取值范围是(0,1],s为所述可执行时间段的起点,e为所述可执行时间段的终点,p为所述可执行时间段内的时刻。

可选地,

所述获取当前的执行周期内的目标时间段中每个所述目标接口的当前调用频率,包括:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前的执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的当前调用频率。

可选地,

所述目标模型,包括:线性回归模型、多项式回归模型、岭回归模型、决策树回归模型、随机森林回归模型中的任意一个回归模型;

所述目标模型的输入包括:所述执行周期内的所述目标时间段中所述至少一个目标接口的调用频率;

所述目标模型的输出包括:所述执行周期中所述目标任务的执行时间。

第二方面,本发明实施例提供了确定任务执行时间的装置,包括:

第一确定单元,用于确定执行目标任务所需要的至少一个目标接口,确定所述目标任务的执行周期,确定所述执行周期内所述目标任务的可执行时间段;

训练单元,用于获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率,确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间,利用所述历史调用频率和所述标准执行时间对目标模型进行训练,生成训练后的目标模型;

获取单元,用于获取当前的执行周期内的目标时间段中所述至少一个目标接口的当前调用频率;

输入单元,用于将所述当前调用频率输入到训练后的目标模型中;

执行时间确定单元,用于获取训练后的目标模型输出的当前的执行周期中所述目标任务的执行时间;

其中,所述目标时间段为一个所述执行周期内所述可执行时间段之外的时间段。

可选地,

该装置进一步包括:

第二确定单元,用于确定执行所述目标任务所需要的目标时间长度的估计值;

所述训练单元,在执行所述获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率时,具体用于:

针对每个所述历史执行周期,执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前历史执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的历史调用频率。

可选地,

所述训练单元,在执行所述确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间时,具体用于:

针对每个所述历史执行周期,执行:

确定s时刻到p时刻之间所述至少一个目标接口最后一次被调用的时刻u;

确定p时刻到e时刻之间所述至少一个目标接口第一次被调用的时刻v;

根据公式二,确定当前历史执行周期中所述目标任务的标准执行时间,其中,所述公式二为:

y=b(u v);

其中,y为所述标准执行时间,b为第一预设值,b的取值范围是(0,1],s为所述可执行时间段的起点,e为所述可执行时间段的终点,p为所述可执行时间段内的时刻。

可选地,

所述获取单元,用于执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前的执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的当前调用频率。

可选地,

所述目标模型,包括:线性回归模型、多项式回归模型、岭回归模型、决策树回归模型、随机森林回归模型;

所述目标模型的输入包括:所述执行周期内的所述目标时间段中所述至少一个目标接口的调用频率中的任意一个回归模型;

所述目标模型的输出包括:所述执行周期中所述目标任务的执行时间。

在本发明实施例中,获取每个历史执行周期内的至少一个目标接口的历史调用频率,确定每个历史执行周期中目标任务的标准执行时间,基于历史调用频率和标准执行时间对目标模型进行训练,生成训练后的目标模型,在需要确定当前的执行周期内目标任务的执行时间时,只需要将当前的执行周期内目标时间段至少一个目标接口的当前调用频率输入到训练后的目标模型即可,目标模型可以自动生成当前的执行周期中目标任务的执行时间。在生成训练后的目标模型后,无需反复试错,只需获取训练后的目标模型输出的执行时间即可,更加方便的确定任务的执行时间。

附图说明

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

图1是本发明一实施例提供的一种确定任务执行时间的方法的流程图;

图2是本发明一实施例提供的一种确定任务执行时间的装置的示意图。

具体实施方式

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

如图1所示,本发明实施例提供了一种确定任务执行时间的方法,包括:

步骤101:确定执行目标任务所需要的至少一个目标接口;

步骤102:确定所述目标任务的执行周期;

步骤103:确定所述执行周期内所述目标任务的可执行时间段;

步骤104:获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率;

步骤105:确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间;

步骤106:利用所述历史调用频率和所述标准执行时间对目标模型进行训练,生成训练后的目标模型;

步骤107:获取当前的执行周期内的目标时间段中所述至少一个目标接口的当前调用频率;

步骤108:将所述当前调用频率输入到训练后的目标模型中;

步骤109:获取训练后的目标模型输出的当前的执行周期中所述目标任务的执行时间;

其中,所述目标时间段为一个所述执行周期内所述可执行时间段之外的时间段。

在本发明实施例中,获取每个历史执行周期内的至少一个目标接口的历史调用频率,确定每个历史执行周期中目标任务的标准执行时间,基于历史调用频率和标准执行时间对目标模型进行训练,生成训练后的目标模型,在需要确定当前的执行周期内目标任务的执行时间时,只需要将当前的执行周期内目标时间段至少一个目标接口的当前调用频率输入到训练后的目标模型即可,目标模型可以自动生成当前的执行周期中目标任务的执行时间。在生成训练后的目标模型后,无需反复试错,只需获取训练后的目标模型输出的执行时间即可,更加方便的确定任务的执行时间。

在本发明实施例中,目标接口是与目标任务相关的接口。执行周期可以根据需要设置,例如:执行周期1个小时、1天、3天、一周等。可执行时间段也可以根据需要设置例如:1点-2点,23点-24点等。举例来说,如果执行周期为1天,可执行时间段为每天的s时刻至e时刻。如果执行周期为3天,则可执行时间段为执行周期的第三天的s时刻至e时刻。如果执行周期为1周,则可执行时间段为执行周期的第七天的s时刻至e时刻。

可执行时间段可以根据经验或者历史数据来确定,例如:根据经验或历史数据发现在1点-3点目标接口很少被调用,则可以将可执行时间段设置在1点-3点。

历史执行周期为已经发生过的执行周期。历史调用频率为历史执行周期中目标接口的调用频率。调用频率表征了目标接口被使用的频率。如果在调用频率高的时候来执行目标任务,由于该目标任务也需要使用目标接口,则会影响用户使用目标接口执行其他任务,影响用户使用体验,因此,需要在调用频率较低的时候执行目标任务。

标准执行时间是确定出的在历史执行周期中执行目标任务比较合适的时刻,在标准执行时间执行目标任务对用户使用体验影响较小。例如:一般来说,用户在1点-3点很少使用目标接口,则可以将标准执行时间设置在1点-3点的一个时刻。

目标任务的执行时间是可执行时间段内的一个时刻,从该时刻开始执行目标任务。

在本发明实施例中,确定当前的执行周期中目标任务的执行时间后,可以将该执行任务发送给目标接口,使得目标接口在该执行时间执行目标任务。

在本发明实施例中,在当前的执行周期的可执行时间段开始时,运行本发明实施例提供的确定任务执行时间的方法,也就是,在当前的执行周期的可执行时间段开始时,开始依次执行步骤107-步骤109。

在本发明一实施例中,所述目标模型,包括:线性回归模型、多项式回归模型、岭回归模型、决策树回归模型、随机森林回归模型中的任意一个回归模型;

所述目标模型的输入包括:所述执行周期内的所述目标时间段中所述至少一个目标接口的调用频率;

所述目标模型的输出包括:所述执行周期中所述目标任务的执行时间。

在本发明一实施例中,该方法进一步包括:

确定执行所述目标任务所需要的目标时间长度的估计值;

所述获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率,包括:

针对每个所述历史执行周期,执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前历史执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的历史调用频率。

在本发明实施例中,执行目标任务所需要的目标时间长度的估计值可以经验确定,也可以基于历史的目标时间长度来确定。例如:将多个历史的目标时间长度的平均值作为目标时间长度的估计值。

在本发明实施例中,将目标时间段分成了n个子时间段(n为大于等于1的整数),针对每个子时间段确定一个调用频率,这样,就会有n个调用频率,这n个调用频率构成一条统计数据x,x={xi},i∈[0,n]。每个执行周期对应一条统计数据x。

在本发明实施例中,a的取值可以是3、5等值。

在先确定出子时间段的时间长度的情况下,可以通过以下公式确定n:

其中,s为所述可执行时间段的起点,e为所述可执行时间段的终点。

在本发明一实施例中,所述获取当前的执行周期内的目标时间段中每个所述目标接口的当前调用频率,包括:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前的执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的当前调用频率。

在本发明实施例,在确定当前的执行周期中的当前调用频率时,需要与训练过程中获取历史调用频率的方法保持一致,这样能够使得训练后的目标模型的输出的执行时间更加准确。

在本发明一实施例中,所述确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间,包括:

针对每个所述历史执行周期,执行:

确定s时刻到p时刻之间所述至少一个目标接口最后一次被调用的时刻u;

确定p时刻到e时刻之间所述至少一个目标接口第一次被调用的时刻v;

根据公式二,确定当前历史执行周期中所述目标任务的标准执行时间,其中,所述公式二为:

y=b(u v);

其中,y为所述标准执行时间,b为第一预设值,b的取值范围是(0,1],s为所述可执行时间段的起点,e为所述可执行时间段的终点,p为所述可执行时间段内的时刻。

在本发明实施例中,确定出了u和v,在u时刻和v时刻之间,目标接口没用被调用,说明在该u时刻和v时刻之间执行目标任务对用户的影响最小。因此,基于公式二从u时刻和v时刻之间确定出的y时刻,可以从y时刻执行目标任务。

在本发明实施例中,b可以取值0.5、0.4、0.6等值。

在本发明实施例中,p可以通过以下公式确定:

需要说明的是:在本发明实施例中,在确定出每个历史执行周期的历史调用频率和标准执行时间后,将同一个历史执行周期的历史调用频率和标准执行时间相对应。基于所有的历史执行周期的历史调用频率和标准执行时间,生成数据集,利用该数据集对目标模型进行训练。具体地,将数据集分成训练集和测试集,例如:数据集中70%的数据作为训练集,训练集用于训练目标模型,数据集中30%的数据作为测试集,测试集用于测试目标模型的准确率。通过训练集对多种回归模型进行训练,利用测试集对回归模型进行测试,最终选择准确率达到要求的模型(例如:准确率在90%以上),然后,输出准确率达到要求的回归模型作为训练后的目标模型。

在本发明实施例中,可以将当前的执行周期的当前调用频率和执行数据添加到上述数据集中,之后,可以通过新的数据集对目标模型进行进一步的训练,提高目标模型的准确性。

在本发明实施例中,所有的时刻都是浮点数格式,具体地,可以通过以下公式将时刻转换为浮点数格式:

其中,q为时刻对应的浮点数,q1为时刻中小时数,q2为时刻中的分钟数。举例来说,对应1点6分这个时刻,q1为1,q2为6,那么,1点6分这个时刻对应的浮点数q为1.1。

在本发明实施例中,目标任务一般指对应用服务而言,每次执行耗时较长,可能对用户正常使用带来影响的任务。例如:目标任务可以是数据清理、资源回收和僵尸账户扫描等任务。

在本发明实施例中,在确定出至少一个历史执行周期的历史调用频率,可以对这些数据进行数据清洗,对这些数据中明显不符合实际的数据进行删除,这样,能够保证得到数据集的可用性,能够使得训练后的目标模型更加准确,更加符合要求。

在本发明实施例中,可能涉及数据的预处理,如降维、归一化、特征选择和提取等操作。也可以使用集成学习策略,对多个模型的预测结果取平均值作为最终结果。

在本发明实施例中,目标数据一般是对与目标任务相关的接口,无关接口不计入数据中,以排除噪声数据干扰,提高数据质量。

另外,在本发明实施例提供的确定任务执行时间的方法的同时,支持在特殊情况下的人为定时干预,每次执行预测时首先检查是否存在人为输入的固定任务执行时间。若存在人为设置的任务执行时间,则不对本执行周期数据进行预测,直接使用人为设置的任务执行时间来执行任务。

本发明实施例提供了确定任务执行时间的方法,相比传统定时任务,本发明实施例可以根据当前的执行周期内目标接口的运行情况,动态预测决定当前的执行周期内目标任务的执行时间,不需人为实验获得合适的目标任务的执行时间,减轻了开发与运维人员的部分工作量。而且通过不断向数据集添加新的真实数据,不断使目标模型适应调整,满足目标模型的进化条件,使目标模型能够更好的提高应用服务系统的自动化和智能化水平。

如图2所示,本发明实施例提供一种确定任务执行时间的装置,包括:

第一确定单元201,用于确定执行目标任务所需要的至少一个目标接口,确定所述目标任务的执行周期,确定所述执行周期内所述目标任务的可执行时间段;

训练单元202,用于获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率,确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间,利用所述历史调用频率和所述标准执行时间对目标模型进行训练,生成训练后的目标模型;

获取单元203,用于获取当前的执行周期内的目标时间段中所述至少一个目标接口的当前调用频率;

输入单元204,用于将所述当前调用频率输入到训练后的目标模型中;

执行时间确定单元205,用于获取训练后的目标模型输出的当前的执行周期中所述目标任务的执行时间;

其中,所述目标时间段为一个所述执行周期内所述可执行时间段之外的时间段。

在本发明一实施例中,该装置进一步包括:

第二确定单元,用于确定执行所述目标任务所需要的目标时间长度的估计值;

所述训练单元,在执行所述获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率时,具体用于:

针对每个所述历史执行周期,执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前历史执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的历史调用频率。

在本发明一实施例中,所述训练单元,在执行所述确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间时,具体用于:

针对每个所述历史执行周期,执行:

确定s时刻到p时刻之间所述至少一个目标接口最后一次被调用的时刻u;

确定p时刻到e时刻之间所述至少一个目标接口第一次被调用的时刻v;

根据公式二,确定当前历史执行周期中所述目标任务的标准执行时间,其中,所述公式二为:

y=b(u v);

其中,y为所述标准执行时间,b为第一预设值,b的取值范围是(0,1],s为所述可执行时间段的起点,e为所述可执行时间段的终点,p为所述可执行时间段内的时刻。

在本发明一实施例中,所述获取单元,用于执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前的执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的当前调用频率。

在本发明一实施例中,所述目标模型,包括:线性回归模型、多项式回归模型、岭回归模型、决策树回归模型、随机森林回归模型中的任意一个回归模型;

所述目标模型的输入包括:所述执行周期内的所述目标时间段中所述至少一个目标接口的调用频率;

所述目标模型的输出包括:所述执行周期中所述目标任务的执行时间。

可以理解的是,本发明实施例示意的结构并不构成对确定任务执行时间的装置的具体限定。在本发明的另一些实施例中,确定任务执行时间的装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明还提供了一种计算机可读介质,存储用于使一计算机执行如本文所述的确定任务执行时间的方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。


技术特征:

1.确定任务执行时间的方法,其特征在于,

确定执行目标任务所需要的至少一个目标接口;

确定所述目标任务的执行周期;

确定所述执行周期内所述目标任务的可执行时间段;

获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率;

确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间;

利用所述历史调用频率和所述标准执行时间对目标模型进行训练,生成训练后的目标模型;

还包括:

获取当前的执行周期内的目标时间段中所述至少一个目标接口的当前调用频率;

将所述当前调用频率输入到训练后的目标模型中;

获取训练后的目标模型输出的当前的执行周期中所述目标任务的执行时间;

其中,所述目标时间段为一个所述执行周期内所述可执行时间段之外的时间段。

2.根据权利要求1所述的方法,其特征在于,

进一步包括:

确定执行所述目标任务所需要的目标时间长度的估计值;

所述获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率,包括:

针对每个所述历史执行周期,执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前历史执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的历史调用频率。

3.根据权利要求1所述的方法,其特征在于,

所述确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间,包括:

针对每个所述历史执行周期,执行:

确定s时刻到p时刻之间所述至少一个目标接口最后一次被调用的时刻u;

确定p时刻到e时刻之间所述至少一个目标接口第一次被调用的时刻v;

根据公式二,确定当前历史执行周期中所述目标任务的标准执行时间,其中,所述公式二为:

y=b(u v);

其中,y为所述标准执行时间,b为第一预设值,b的取值范围是(0,1],s为所述可执行时间段的起点,e为所述可执行时间段的终点,p为所述可执行时间段内的时刻。

4.根据权利要求2所述的方法,其特征在于,

所述获取当前的执行周期内的目标时间段中每个所述目标接口的当前调用频率,包括:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前的执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的当前调用频率。

5.根据权利要求1-4中任一所述的方法,其特征在于,

所述目标模型,包括:线性回归模型、多项式回归模型、岭回归模型、决策树回归模型、随机森林回归模型中的任意一个回归模型;

所述目标模型的输入包括:所述执行周期内的所述目标时间段中所述至少一个目标接口的调用频率;

所述目标模型的输出包括:所述执行周期中所述目标任务的执行时间。

6.确定任务执行时间的装置,其特征在于,包括:

第一确定单元,用于确定执行目标任务所需要的至少一个目标接口,确定所述目标任务的执行周期,确定所述执行周期内所述目标任务的可执行时间段;

训练单元,用于获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率,确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间,利用所述历史调用频率和所述标准执行时间对目标模型进行训练,生成训练后的目标模型;

获取单元,用于获取当前的执行周期内的目标时间段中所述至少一个目标接口的当前调用频率;

输入单元,用于将所述当前调用频率输入到训练后的目标模型中;

执行时间确定单元,用于获取训练后的目标模型输出的当前的执行周期中所述目标任务的执行时间;

其中,所述目标时间段为一个所述执行周期内所述可执行时间段之外的时间段。

7.根据权利要求6所述的装置,其特征在于,

进一步包括:

第二确定单元,用于确定执行所述目标任务所需要的目标时间长度的估计值;

所述训练单元,在执行所述获取至少一个历史执行周期中每个所述历史执行周期内的所述至少一个目标接口的历史调用频率时,具体用于:

针对每个所述历史执行周期,执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前历史执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的历史调用频率。

8.根据权利要求6所述的装置,其特征在于,

所述训练单元,在执行所述确定每个所述历史执行周期中所述可执行时间段内所述目标任务的标准执行时间时,具体用于:

针对每个所述历史执行周期,执行:

确定s时刻到p时刻之间所述至少一个目标接口最后一次被调用的时刻u;

确定p时刻到e时刻之间所述至少一个目标接口第一次被调用的时刻v;

根据公式二,确定当前历史执行周期中所述目标任务的标准执行时间,其中,所述公式二为:

y=b(u v);

其中,y为所述标准执行时间,b为第一预设值,b的取值范围是(0,1],s为所述可执行时间段的起点,e为所述可执行时间段的终点,p为所述可执行时间段内的时刻。

9.根据权利要求7所述的方法,其特征在于,

所述获取单元,用于执行:

将所述目标时间段划分为n个子时间段,其中,每个所述子时间段的时间长度满足公式一:其中,t为所述子时间段的时间长度,m为所述目标时间长度的估计值,a为预设值;

获取当前的执行周期内的每个所述子时间段中的日志文件;

根据每个所述子时间段中的日志文件,确定每个所述子时间段中所述至少一个目标接口的当前调用频率。

10.根据权利要求6-9中任一所述的装置,其特征在于,

所述目标模型,包括:线性回归模型、多项式回归模型、岭回归模型、决策树回归模型、随机森林回归模型中的任意一个回归模型;

所述目标模型的输入包括:所述执行周期内的所述目标时间段中所述至少一个目标接口的调用频率;

所述目标模型的输出包括:所述执行周期中所述目标任务的执行时间。

技术总结
本发明提供了确定任务执行时间的方法及装置,该方法,包括:确定执行目标任务所需要的至少一个目标接口;确定目标任务的执行周期;确定执行周期内目标任务的可执行时间段;获取至少一个历史执行周期中每个历史执行周期内的至少一个目标接口的历史调用频率;确定每个历史执行周期中可执行时间段内目标任务的标准执行时间;利用历史调用频率和标准执行时间对目标模型进行训练,生成训练后的目标模型;获取当前的执行周期内的目标时间段中至少一个目标接口的当前调用频率;将当前调用频率输入到训练后的目标模型中;获取训练后的目标模型输出的当前的执行周期中所述目标任务的执行时间。本发明能够更加方便的确定任务的执行时间。

技术研发人员:王铭锐;于昊;田雨
受保护的技术使用者:山东汇贸电子口岸有限公司
技术研发日:2020.01.08
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-58009.html

最新回复(0)