一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于资源消耗预测的批量任务调度方法及装置与流程

2021-12-04 02:21:00 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,尤其涉及一种基于资源消耗预测的批量任务调度方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.目前,在生产环境资源有限,时间有限的情况下,须同时进行的批量任务所需资源远远超过生产环境所能提供的内存资源。
4.现有的批量任务调度方式,大多以逻辑前后顺序或者时间触点作为调度依据。但是在面临的经费有限、资源紧张的实际情况下,如果仅依靠数据库自身的控制机制,多任务并发时会导致多个sql同时竞争资源,造成数据库崩溃。


技术实现要素:

5.本发明实施例提供一种基于资源消耗预测的批量任务调度方法,用以实现基于资源消耗预测的批量任务调度,保证数据库稳定地运行,该方法包括:
6.获取为批量任务中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小;
7.根据预测结果,确定使用数据表最多且执行时数据表占用系统内存资源最大的步骤;根据所述最大的步骤使用所有数据表占用磁盘空间的大小与执行时所有数据表占用系统内存资源大小确定比例系数;
8.根据所述比例系数以及预设内存占用阈值,进行批量任务调度。
9.本发明实施例还提供一种基于资源消耗预测的批量任务调度装置,用以实现基于资源消耗预测的批量任务调度,保证数据库稳定地运行,该装置包括:
10.预测单元,用于获取为批量任务中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小;
11.系数确定单元,用于根据预测结果,确定使用数据表最多且执行时数据表占用系统内存资源最大的步骤;根据所述最大的步骤使用所有数据表占用磁盘空间的大小与执行时所有数据表占用系统内存资源大小确定比例系数;
12.调度单元,用于根据所述比例系数以及预设内存占用阈值,进行批量任务调度。
13.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于资源消耗预测的批量任务调度方法。
14.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于资源消耗预测的批量任务调度方法的计算机程序。
15.本发明实施例中,基于资源消耗预测的批量任务调度方案,与现有技术中大多以
逻辑前后顺序或者时间触点作为调度依据,会由于资源紧张造成数据库崩溃的批量任务调度的技术方案相比,通过:获取为批量任务中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小;根据预测结果,确定使用数据表最多且执行时数据表占用系统内存资源最大的步骤;根据所述最大的步骤使用所有数据表占用磁盘空间的大小与执行时所有数据表占用系统内存资源大小确定比例系数;根据所述比例系数以及预设内存占用阈值,进行批量任务调度,可以实现基于资源消耗预测的批量任务调度,保证了数据库稳定地运行。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
17.图1为本发明实施例中基于资源消耗预测的批量任务调度方法的流程示意图;
18.图2为本发明另一实施例中基于资源消耗预测的批量任务调度方法流程示意图;
19.图3为本发明另一实施例中基于资源消耗预测的批量任务调度方法流程示意图;
20.图4为本发明另一实施例中基于资源消耗预测的批量任务调度方法流程示意图;
21.图5为本发明实施例中基于资源消耗预测的批量任务调度装置的结构示意图。
具体实施方式
22.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
23.发明人发现现有批量任务调度存在的技术问题,提出在原有的批量步骤先后顺序以外,需增加一种根据资源消耗估算来控制批量启动的机制。也就是基于以上情况,本发明提出一种基于资源消耗预测的批量任务调度方案,即一种基于资源消耗预测算法的任务调度机制,开发人员只需做少量的配置和代码编写,用时间换取空间,批量就可以更加稳定的完成,即在原有批量调度的基础上,增加资源消耗的判断,根据批量使用数据表的量级进行粗略的估算,限制并发数量。下面对该基于资源消耗预测的批量任务调度方案进行详细介绍。
24.图1为本发明实施例中基于资源消耗预测的批量任务调度方法的流程示意图,如图1所示,该方法包括如下步骤:
25.步骤101:获取为批量任务中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小;
26.步骤102:根据预测结果,确定使用数据表最多且执行时数据表占用系统内存资源最大的步骤;根据所述最大的步骤使用所有数据表占用磁盘空间的大小与执行时所有数据表占用系统内存资源大小确定比例系数;
27.步骤103:根据所述比例系数以及预设内存占用阈值,进行批量任务调度。
28.本发明实施例中,基于资源消耗预测的批量任务调度方法,通过:获取为批量任务
中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小;根据预测结果,确定使用数据表最多且执行时数据表占用系统内存资源最大的步骤;根据所述最大的步骤使用所有数据表占用磁盘空间的大小与执行时所有数据表占用系统内存资源大小确定比例系数;根据所述比例系数以及预设内存占用阈值,进行批量任务调度,可以实现基于资源消耗预测的批量任务调度,保证了数据库稳定地运行。下面进行详细介绍。
29.本发明实施例提出了一种基于资源消耗预测算法的任务调度机制。在批量各步骤的启动顺序基础上,基于资源消耗预测进行任务调度。在原有批量调度的基础上,增加资源消耗的判断,根据批量使用数据表的量级进行粗略的估算,限制并发数量。下面对各个步骤进行详细介绍。
30.一、首先,介绍预先配置的步骤。
31.1.数据表存储情况信息
32.每日批量终结,批量程序查看各数据表的当前日期分区大小和全表大小,根据查看结果可以确定内存资源大小。数据项对应表结构如下表1所示:
[0033][0034]
表1
[0035]
在上表1中,tbdss_tab_name字段用来存储系统批量涉及的所有数据表。tbdss_tab_par_date字段用来存储当前表中最新的数据分区日期。tbdss_tab_par_size字段用来存储该表当前日期分区的大小。tbdss_tab_tot_size字段用来存储该表总的大小。
[0036]
2.批量表操作情况记录
[0037]
批量操作各张表的使用方式,只有01全表和02当日分区,如下表2所示。
[0038][0039]
表2
[0040]
tbdss_batch_id字段用来存储系统批量步骤id。
[0041]
tbdss_tab_name字段用来存储系统批量涉及的数据表名。
[0042]
tbdss_op_type字段用来操作表的方式。
[0043]
3)批量参数配置
[0044]
投产前应根据当前环境情况配置参数tbdss_tabop,用来体现数据表占用与系统内存资源的比例。
[0045]
二、接着,介绍上述步骤101。
[0046]
在一个实施例中,所述操作方式可以包括对当前日期全数据表的操作方式和/或对当前日期分区的操作方式。
[0047]
具体实施时,如上表2所示,本发明实施例为批量任务中每一步骤预先配置的使用数据表的标识(名称)及操作方式,该操作方式可以包括对当前日期全数据表的操作方式和/或对当前日期分区的操作方式。在进行预测时,获取为批量任务中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小,具体地,可以利用现有的资源估算函数来预测执行每一步骤占用内存资源的大小。
[0048]
三、接着,介绍上述步骤102。
[0049]
具体实施时,运行批量中使用数据表最多,数据表占用磁盘空间综合最大的步骤,获取配置系数tbdss_tabop。系数是数据表占用磁盘空间大小与执行步骤时占用系统内存资源大小的比例,举一个例子,一个步骤数它使用的数据表一共有10g(占用磁盘空间大小),但是运行时由于join一类的操作,导致占用内存达到了30g(执行步骤时占用系统内存资源大小),这个比例系数就是3。由于这一步批量使用的表最多,数据量最大,大概率它膨胀的比率也是最高,所以选择他来确定这个系数,这是一种粗略的估算。
[0050]
四、接着,介绍上述步骤103。
[0051]
在一个实施例中,所述预设内存占用阈值取值范围为75%

85%,即如图2步骤1031所示,在比例系数超过75%

85%的取值时,限制多任务并发数量。
[0052]
具体实施时,执行一次完整批量,确保系数能够保证批量不占用超过75%

85%的内存,可以保证数据库稳定地运行。
[0053]
在一个实施例中,所述预设内存占用阈值取值为80%,即如图3步骤1032所示,在比例系数超过80%的取值时,限制多任务并发数量。
[0054]
具体实施时,执行一次完整批量,确保系数能够保证批量不占用超过80%的内存,可以进一步保证数据库稳定地运行。
[0055]
在一个实施例中,如图4所示,根据所述比例系数以及预设内存占用阈值,进行批量任务调度,可以包括步骤1033:根据所述比例系数以及预设内存占用阈值,限制多任务并发数量。
[0056]
具体实施时,执行一次完整批量,确保系数能够保证批量不占用超过80%的内存,在系数超过80%(预设内存占用阈值)时,限制并发数量,可以进一步保证数据库稳定地运行。
[0057]
为了便于理解本发明如何实施,下面再进行整体介绍。
[0058]
具体实施时,新增一步批量的过程具体包括:
[0059]
s11:实现批量程序本身;
[0060]
s12:实现批量调度中关于资源估算(预测)的函数;
[0061]
s13:整理程序对数据库表的操作;
[0062]
s14:配置数据库操作表的名称和操作方式。
[0063]
具体实施时,新配置一套批量的过程具体包括:
[0064]
s21:运行批量中使用数据表最多,数据表占用磁盘空间综合最大的步骤,获取配置系数tbdss_tabop;
[0065]
s22:执行一次完整批量,确保系数能够保证批量不占用超过80%的内存。
[0066]
综上,本发明实施例提供的基于资源消耗预测的批量任务调度方法的有益技术效果是:对于开发人员而言,通过批量资源估算控制,批量可以稳定执行,避免并发过多造成数据库崩溃,在资源紧张的情况下避免生产事故的发生。对于维护人员而言,批量的执行时间变长,但是风险大大降低,可以减轻压力,同时进行多产品的监控维护。
[0067]
本发明实施例中还提供了一种基于资源消耗预测的批量任务调度装置,如下面的实施例所述。由于该装置解决问题的原理与基于资源消耗预测的批量任务调度方法相似,因此该装置的实施可以参见基于资源消耗预测的批量任务调度方法的实施,重复之处不再赘述。
[0068]
图5为本发明实施例中基于资源消耗预测的批量任务调度装置的结构示意图,如图5所示,该装置包括:
[0069]
预测单元01,用于获取为批量任务中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小;
[0070]
系数确定单元02,用于根据预测结果,确定使用数据表最多且执行时数据表占用系统内存资源最大的步骤;根据所述最大的步骤使用所有数据表占用磁盘空间的大小与执行时所有数据表占用系统内存资源大小确定比例系数;
[0071]
调度单元03,用于根据所述比例系数以及预设内存占用阈值,进行批量任务调度。
[0072]
在一个实施例中,所述操作方式包括对当前日期全数据表的操作方式和/或对当前日期分区的操作方式。
[0073]
在一个实施例中,所述预设内存占用阈值取值范围为75%

85%。
[0074]
在一个实施例中,所述预设内存占用阈值取值为80%。
[0075]
在一个实施例中,所述调度单元具体可以用于:根据所述比例系数以及预设内存占用阈值,限制多任务并发数量。
[0076]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于资源消耗预测的批量任务调度方法。
[0077]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于资源消耗预测的批量任务调度方法的计算机程序。
[0078]
本发明实施例中,基于资源消耗预测的批量任务调度方案,与现有技术中大多以逻辑前后顺序或者时间触点作为调度依据,会由于资源紧张造成数据库崩溃的批量任务调度的技术方案相比,通过:获取为批量任务中每一步骤预先配置的使用数据表的标识及操作方式;根据所述数据表的标识及操作方式预测执行每一步骤占用内存资源的大小;根据预测结果,确定使用数据表最多且执行时数据表占用系统内存资源最大的步骤;根据所述最大的步骤使用所有数据表占用磁盘空间的大小与执行时所有数据表占用系统内存资源大小确定比例系数;根据所述比例系数以及预设内存占用阈值,进行批量任务调度,可以实
现基于资源消耗预测的批量任务调度,保证了数据库稳定地运行。
[0079]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0080]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0081]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0082]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0083]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献