CN111737095A - 批处理任务时间监控方法、装置、电子设备及存储介质 - Google Patents
批处理任务时间监控方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111737095A CN111737095A CN202010775307.4A CN202010775307A CN111737095A CN 111737095 A CN111737095 A CN 111737095A CN 202010775307 A CN202010775307 A CN 202010775307A CN 111737095 A CN111737095 A CN 111737095A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- time
- batch processing
- batch
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种批处理任务时间监控方法、装置、电子设备及存储介质,其中监控方法包括步骤:获取批处理任务的依赖关系表,开启批处理任务;计算得到批处理任务中各任务的单任务预测时长;根据批处理任务的历史模型和所述依赖关系表计算得到所述各任务之间的多个流程关系,同时计算得到各流程关系中由关键任务组成的关键路径;根据所述单任务预测时长和所述关键路径得到各流程关系的各整体预测时长;对比所述整体预测时长是否处于批处理任务预设时长范围内,如果不是,则告警;如果是,则通过数据监控系统发送当前各任务的开始时间数据,根据所述历史模型和所述开始时间数据触发对当前各任务的监测,并持续监测。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种批处理任务时间监控方法、装置、电子设备及计算机可读存储介质。
背景技术
随着运维服务和金融行业业务特点的需求发展,越来越多的系统需要进行批处理任务。批处理任务,指任务会按照一定的周期性定时地执行(比如每天执行),比如数据备份、业务对账等,一般是由多个SQL语句组成一套完整流程。
单个任务拥有自己的开始和完成时间,一个系统的完整流程作为一个工作组,大部分任务都有自己的前序依赖任务,由于流程上(如清理过期数据再检查剩余空间)和输入上(生成报表给到下个任务)的要求,只有在前序任务都执行完后,当前任务才会开始。
批处理任务是金融行业最基础和重要的任务,重要业务如果不能按时完成会直接影响第二天的正常营业(如结息、对账),所以对批处理任务运行时长的监控是特别重要的,而这里面又分为两部分:
(1)单个任务的运行时间不能太长,会影响后续任务的如期完成;但是如果执行太短,往往意味着任务报错提前退出或者没有拿到期望的输入
(2)整体的运行任务需要控制在某个时间节点前完成(如24:00或8:00等)。
学术界有一些专注于批处理任务的研究,包括在云中自动扩展的批处理作业运行时间预测(AAAI-2020云智能研讨会),使用交互感知模型和仿真预测批量查询工作量的完成时间(EDBT-2011)等等,但是专注点更多的是在于资源瓶颈的分析以及合理调度,或者专注于慢SQL问题等等,对于跑批时间的直接预测均采用一些比较基础的时序预测算法,但是由于跑批数据有其自身的特点,已有算法很难在时序数据形态各异的情况下做到较好的预测,以及由于跑批业务的重要性,大家一般会配置机器专门用于批处理任务,同时允许相当比例的资源冗余,以防任务由于资源不足产生抢占的问题导致任务延迟或失败(如某国有银行有6台服务器专门处理跑批任务,一般CPU利用率不超过40%)。
工业界还没有大规模的应用机器学习的相关算法来解决相关问题,金融业的现状是:
(1)根据系统运维管理员知识、历史跑批的均值来设置固定的阈值:如均值的2倍等等;
(2)不对跑批时间过短进行监控;
(3)特殊日维护一套特殊的阈值;
(4)对于关键系统甚至每天修改阈值;
(5)对历史缺乏经验(缺乏每个业务跑批的历史统计);
综上,基于批处理时间的预测和异常检测的重要性和存在难点,目前学术界的已有工作和工业界的实践在我们的实际挑战中存在一些局限。
发明内容
本发明的目的在于解决背景技术中的至少一个技术问题,提供一种批处理任务时间监控方法、监控装置、电子设备及计算机可读存储介质。
为实现上述目的,本发明提供一种批处理任务时间监控方法,包括以下步骤:
获取批处理任务的依赖关系表,开启批处理任务;
计算得到批处理任务中各任务的单任务预测时长;
根据批处理任务的历史模型和所述依赖关系表计算得到待所述各任务之间的多个流程关系,同时计算得到各流程关系中由关键任务组成的关键路径;
根据所述单任务预测时长和所述关键路径得到各流程关系的各整体预测时长;
判断所述整体预测时长是否处于批处理任务预设时长范围内,如果不是,则告警;
如果是,则通过数据监控系统发送当前各任务的开始时间数据,根据所述历史模型和所述开始时间数据触发对当前各任务的监测流程,并持续监测。
根据本发明的一个方面,单任务执行完成时,通过所述数据监控系统发送任务的结束时间数据,判断任务的执行时间是否在阈值范围内,如果是,则根据任务的开始时间数据和结束时间数据进行训练,更新单任务的模型,然后继续下一个任务,如果不是,则产生告警;
其中,所述单任务预测时长为所述阈值范围的中间值。
根据本发明的一个方面,所述计算得到批处理任务中各任务的单任务预测时长包括:对所述批处理任务中各任务的数据指标类型进行自动判断并且预估跑批时间,其中数据指标类型包括:周期型数据、趋势型数据、压缩型数据和其他类型数据。
根据本发明的一个方面,判断数据指标类型的流程为:先判断是否是周期型数据,如果不是,则继续判断是否为趋势型数据或者压缩型数据,如果都不是,则属于其他类型数据。
根据本发明的一个方面,所述判断是否是周期型数据为:利用傅里叶变换公式判断数据是否为周期型数据,傅里叶变换公式为:
式中:ξ代表频率、x代表时间,-2πixξ为复变函数。
根据本发明的一个方面,判断是否是趋势型数据为:采用单位根检验的方式进行平稳性检验,判断数据是否具有趋势性,从而判断数据是否为趋势型数据。
根据本发明的一个方面,判断是否是压缩型数据为:采用数据分桶后寻找是否有明显断层的方式和假设检验来判断数据是否为压缩型数据。
根据本发明的一个方面,对所述批处理任务中特殊日进行判断,其中特殊日包括:
除春节以外的普通节日;
春节;
特殊行为日期;
每个月、每个季度或者每年的其中一天;
每个月、每个季度或者每年的其中一个工作日。
根据本发明的一个方面,使用DTW算法判断特殊日,其中DTW公式为:
式中:i和j分别表示时序坐标x序列和y序列中的坐标点, D(i,j)表示路径规整距离矩阵,Dist(i,j)表示x序列第i个点与y序列第j个点之间的距离。
式中:X为趋势型数据的预测变量、y为趋势型数据的响应变量,XT为X的转置。
根据本发明的一个方面,针对所述压缩型数据任务,在判断数据指标类型时分析是否存在数据分布拐点,如果存在,则拐点所处数据大小的位置即为时间阈值。
根据本发明的一个方面,针对所述周期型数据任务,使用变分自编码器对历史数据波动模式进行学习,并对和重建数据差距过大的数据认为是异常,则异常数据的位置即为时间阈值。
根据本发明的一个方面,针对所述其他类型数据任务,采用3-sigma算法,获得历史数据的均值mean和标准差std,时间阈值为mean±k* std,其中k为标准差std的倍数。
根据本发明的一个方面,根据所述时间阈值和历史的跑批时长以及一般变化量,利用高斯分布的参数的最大似然估计可得到当日的跑批时间预测值,所述高斯分布的参数的最大似然估计公式为:
所述一般变化量为标准差的范围。
根据本发明的一个方面,在各任务运行过程中,对各任务的执行时间进行判断,判断结果包括:任务超时和任务提前结束。
根据本发明的一个方面,判断任务超时时,判断其是否为关键节点超时,如果是,则调整监测流程的预计结束时间;如果不是,则判断关键节点是否执行完毕;
在判断关键节点是否执行完毕时,如果是,则直接调整监测流程的预计结束时间;如果不是,则持续观察关键节点是否执行完毕,待执行完毕以后调整监测流程的预计结束时间。
根据本发明的一个方面,判断任务提前结束时,判断任务系统中其他同层级节点是否执行完毕,如果是,则降低监测流程的预计结束时间,如果不是,则持续观察其他节点的情况。
为实现上述目的,本发明提供一种批处理任务时间监控装置,包括:
数据读取模块,用于获取批处理任务的依赖关系表,开启批处理任务;
单任务计算预测模块,计算得到批处理任务中各任务的单任务预测时长;
流程关系及关键路径计算模块,根据批处理任务的历史模型和所述依赖关系表计算得到所述各任务之间的多个流程关系,同时计算得到各流程关系中由关键任务组成的关键路径;
流程关系整体计算预测模块,根据所述单任务预测时长和所述关键路径得到各流程关系的整体预测时长;
检测告警模块,判断所述整体预测时长是否处于批处理任务预设时长范围内,如果不是,则告警;
如果是,则通过数据监控系统发送当前各任务的开始时间数据,根据所述历史模型和所述开始时间数据触发对当前各任务的监测,并持续监测。
根据本发明的一个方面,还包括检测控制模块,单任务执行完成时,所述检测控制模块通过所述数据监控系统发送任务的结束时间数据,判断任务的执行时间是否在阈值范围内,如果是,则根据任务的开始时间数据和结束时间数据进行训练,更新单任务的模型,然后继续下一个任务,如果不是,则产生告警;
其中,所述单任务预测时长为所述阈值范围的中间值。
为实现上述目的,本发明提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述批处理任务时间监控方法。
为实现上述目的,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述批处理任务时间监控方法。
本发明的有益效果在于:
1. 本发明采用几种算法的结合解决了现有技术中没有对不同类型的数据进行判断,因不能根据上述不同类型的数据对任务的跑批时长进行预测,而使得预测结果不够准确的技术问题。也不再需要与系统的专家知识进行组合,明显减少了考虑因素,使得监控时长变短,同时能够实现对特殊日期的识别,使得监控效果更佳准确可靠。
2. 对单任务跑批时间进行准确预测后可以反射至整个系统任务的跑批时间预测,所以不但使得单任务预测时间快速、准确无误,而且使得对各任务之间形成的各个流程和系统整体批量任务系统的跑批时间预测快速、准确无误,而且不漏报并且能够有效降低误报率,占用资源极少。同时可以准确无误地检测到系统中存在的各种问题,并及时快速地解决问题,并且更新正确数据,使得后续应用准确可靠。
附图说明
图1示意性表示根据本发明的批处理任务时间监控方法的流程图;
图2至图5示意性表示周期型数据、周期型数据、压缩型数据和趋势型数据的线形图;
图6和图7示意性表示两种特殊日线形图;
图8示意性表示本发明一种批处理任务时间监控装置的功能结构图。
具体实施方式
现在将参照示例性实施例来论述本发明的内容。应当理解,论述的实施例仅是为了使得本领域普通技术人员能够更好地理解且因此实现本发明的内容,而不是暗示对本发明的范围的任何限制。
如本文中所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实施例”和“一种实施例”要被解读为“至少一个实施例”。
针对上述背景技术中所述的现有技术中存在的缺陷,本发明提供一种批处理任务时间监控方法,该监控方法可实现批处理任务的时间预测和批处理任务的异常检测,根据预测和检测结果更新任务模型或者产生告警。
图1示意性表示根据本发明的批处理任务时间监控方法的流程图。如图1所示,根据本发明的批处理任务时间监控方法,包括以下步骤:
101. 获取批处理任务的依赖关系表,开启批处理任务(例如当天批处理任务);
102. 计算得到批处理任务中各任务的单任务预测时长;
103. 根据批处理任务的历史模型和所述依赖关系表计算得到所述各任务之间的多个流程关系,同时计算得到各流程关系中由关键任务组成的关键路径;
104. 根据所述单任务预测时长和所述关键路径得到各流程关系的各整体预测时长;
105. 判断所述整体预测时长是否处于批处理任务预设时长范围内,如果不是,则告警;
如果是,则通过数据监控系统发送当前各任务的开始时间数据,根据所述历史模型和所述开始时间数据触发对当前各任务的监测流程,并持续监测;
本发明提供的上述批处理任务时间监控方法,对单任务跑批时间进行准确预测后可以反射至整个系统任务的跑批时间预测,所以不但使得单任务预测时间快速、准确无误,而且使得对各任务之间形成的各个流程和系统整体批量任务系统的跑批时间预测快速、准确无误,而且不漏报并且能够有效降低误报率,占用资源极少。同时可以准确无误地检测到系统中存在的各种问题,并及时快速地解决问题,并且更新正确数据,使得后续应用准确可靠。
根据本发明的一个实施例,106.单任务执行完成时,通过所述数据监控系统发送任务的结束时间数据,判断任务的执行时间是否在阈值范围内,如果是,则根据任务的开始时间数据和结束时间数据进行训练,更新单任务的模型,然后继续下一个任务,如果不是,则产生告警;
其中,所述单任务预测时长为所述阈值范围的中间值。
根据本发明的一个实施例,上述数据监控系统采用kafka系统。
图2至图5示意性表示周期型数据、周期型数据、压缩型数据和趋势型数据的线形图。如各图所示,在对单任务的跑批时长进行预测时,数据的形态各异,有的数据周期性很明显,如历史统计分析,每周末会进行周分析,有的数据有节假日的特性,可以是和线上业务相关的任务,如报表数据生成,有的数据有一定的趋势性,如数据备份任务,有的数据很稳定,偶尔有一些超长耗时的任务,可能是异常情况。图中横轴表示时间,纵轴表示跑批耗时,灰色区域表示算法认为的合理执行时长区间,圆点表示算法认为的异常执行时间。
实际上,现有技术中的批处理任务时间监控没有对不同类型的数据进行判断,因此不能根据上述不同类型的数据对任务的跑批时长进行预测,因此使得预测结果不够准确。
不仅如此,传统的监控方法需要与系统的专家知识进行组合,如需考虑:
(1)对于核心系统,系统管理员甚至一天一设置阈值,没必要使用算法增加错误的风险,或至少能参考人工设置的阈值;
(2)有的系统有特别的要求,比如“不能晚于12点跑完”;
(3)有的跑批会影响开门、监管报送等,对异常定级和异常敏感度需要特别考虑。
此外,由于跑批存在很多“特殊日”,需要算法支持复杂的多周期识别,特殊日可能包括但不限于:
(1)每个月的第一天、倒数第二天等;
(2)每个季度的最后一个月的20日;
(3)每年的最后一天;
(4)每个月的第一个工作日。
图6是一个典型的具有特殊日的跑批任务图,除了每个月的固定跑批,还有每个季度的固定跑批。
(5)收到其他因素的影响,如:
数据量是影响跑批时长的很重要的因素;
异常的原因多样,如硬件损坏导致性能问题、其他业务对资源的抢占等。
由上可知,现有技术中存在诸多影响跑批预测及预测结果的因素,这些因素直接导致了现有的监控方法无法实现对批处理任务进行准确监控。为了解决这样的技术问题,本发明提出以下具体实施例:
根据本发明的一个实施例,对各任务的数据指标类型进行自动判断并且预估跑批时间,其中数据指标类型包括4种类型,分别为周期型数据、趋势型数据、压缩型数据和其他类型数据,并且判断流程为:先判断是否是周期型数据,如果不是,则继续判断是否为趋势型或者压缩型数据,如果都不是,则属于其他类型数据。
在本实施例中,针对周期型数据时,因为每周的数据耗时和上周的对应时间差距不大,如每周末耗时都较少,这种指标多出现于和业务量相关的跑批任务,本发明采用的方法是傅里叶变换,检测时间序列是否在某些关键位置(如周为周期、月为周期的对应频域)具有显著的高度。傅里叶变换公式为:
式中:ξ代表频率、x代表时间,-2πixξ为复变函数。
在本实施例中,采用单位根检验的方式进行平稳性检验,判断数据是否具有趋势性,从而判断数据是否为趋势型数据。
采用数据分桶后寻找是否有明显断层的方式和/或假设检验来判断数据是否为压缩型数据。
图6和图7示意性表示两种特殊日线形图。
根据本发明的一个实施例,使用算法对任务中特殊日进行判断,其中特殊日包括:除了春节以外的普通节日,春节,特殊行为日期,每个月、每个季度、每年的其中一天,每个月、每个季度、每年的其中一个工作日。
在本实施例中,使用DTW算法判断特殊日,其中DTW公式为:
式中:i和j分别表示时序坐标x序列和y序列中的坐标点, D(i,j)表示路径规整距离矩阵,Dist(i,j)表示x序列第i个点与y序列第j个点之间的距离。
由上可知,本发明采用上述算法的结合解决了现有技术中没有对不同类型的数据进行判断,因不能根据上述不同类型的数据对任务的跑批时长进行预测,而使得预测结果不够准确的技术问题。也不再需要与系统的专家知识进行组合,明显减少了考虑因素,使得监控时长变短,同时能够实现对特殊日期的识别,使得监控效果更佳准确可靠。
进一步地,根据本发明的一个实施例,因为趋势型数据指跑批时长大部分时间处于单边上升/下降状态,多出现于任务量随时间增多有变化的任务(如数据备份任务)。在本实施例中,采用回归分析的方式,得到指标数据的趋势性变化,具体采用最小二乘估计法预估趋势型数据任务的趋势性变化,获取时间阈值,所述最小二乘估计为:
式中:X为趋势型数据的预测变量、y为趋势型数据的响应变量,XT为X的转置。
进一步地,针对压缩型数据任务,在判断数据指标类型时分析是否存在数据分布拐点,如果存在,则拐点所处数据大小的位置即为时间阈值。
针对所述周期型数据任务,使用变分自编码器对历史数据波动模式进行学习,并对和重建数据差距过大的数据认为是异常,则异常数据的位置即为时间阈值。
针对所述其他类型数据任务,采用3-sigma算法,获得历史数据的均值mean和标准差std,时间阈值为mean±k* std,其中k为标准差std的倍数。
在本实施例中,根据上述各时间阈值和前一天的跑批时长以及一般变化量(一般变化量为标准差的范围),利用高斯分布的参数的最大似然估计可得到当日各任务的跑批时间预测值,高斯分布的参数的最大似然估计公式为:
所述一般变化量为标准差std的范围。另外,在各任务运行过程中,对各任务的执行时间进行判断,判断结果包括:任务超时和任务提前结束。
在本实施例中,判断任务超时时,判断其是否为关键节点超时,如果是,则增加监测流程的预计结束时间;如果不是,则判断关键节点是否执行完毕;
在判断关键节点是否执行完毕时,如果是,则直接调整监测流程的预计结束时间(比如关键节点提前执行完毕,那就要减少预计结束时间);如果不是,则持续观察关键节点是否执行完毕,待执行完毕以后调整监测流程的预计结束时间。
在本实施例中,判断任务提前结束时,判断任务系统中其他同层级节点是否执行完毕,如果是,则降低监测流程的预计结束时间,如果不是,则持续观察其他节点的情况。
由本发明的上述是实施例可知,本发明的批处理任务时间监控方法整体实现是一个spark-streaming的流式任务。在上述103步骤中,所述的流程关系是指一个系统内所有跑批任务可能组成的多个连通图(流程),每个连通图独立触发开始流程。
另外,在上述105-106步骤中,Spark-streaming获得各任务的开始和结束时间,然后把相应的任务历史执行情况从数据库中调出,然后训练模型写入MongoDB数据库存储备用。
根据本发明的上述实施例,对单任务跑批时间进行准确预测后可以反射至整个系统任务的跑批时间预测,所以不但使得单任务预测时间快速、准确无误,而且使得对各任务之间形成的各个流程和系统整体批量任务系统的跑批时间预测快速、准确无误,而且不漏报并且能够有效降低误报率,占用资源极少。
不仅如此,为实现上述发明目的,本发明还提供一种批处理任务时间监控装置,该装置包括:
数据读取模块,用于获取待批处理任务的依赖关系表,开启批处理任务;
单任务计算预测模块,计算得到批处理任务中各任务的单任务预测时长;
流程关系及关键路径计算模块,根据批处理任务的历史模型和依赖关系表计算得到各任务之间的多个流程关系,同时计算得到各流程关系中由关键任务组成的关键路径;
流程关系整体计算预测模块,根据单任务预测时长和关键路径得到各流程关系的整体预测时长;
检测告警模块,判断整体预测时长是否处于批处理任务预设时长范围内,如果不是,则告警;
如果是,则通过数据监控系统发送当前各任务的开始时间数据,根据历史模型和开始时间数据触发对当前各任务的监测,并持续监测。
进一步地,根据本发明的批处理任务时间监控装置的一个实施例,还包括:
检测控制模块,单任务执行完成时,检测控制模块通过数据监控系统发送任务的结束时间数据,判断任务的执行时间是否在阈值范围内,如果是,则根据任务的开始时间数据和结束时间数据进行训练,更新单任务的模型,然后继续下一个任务,如果不是,则产生告警;
其中,单任务预测时长为阈值范围的中间值。
根据本发明的一个实施例,计算预测模块对批处理任务中各任务的数据指标类型进行自动判断并且预估跑批时间,其中数据指标类型包括:周期型数据、趋势型数据和压缩型数据,并且判断流程为:先判断是否是周期型数据,如果不是,则继续判断是否为趋势型或者压缩型数据,如果都不是,则属于其他类型数据。
在本实施例中,利用傅里叶变换公式判断数据是否为周期型数据,傅里叶变换公式为:
式中:ξ代表频率、x代表时间,-2πixξ为复变函数。
采用单位根检验的方式进行平稳性检验,判断数据是否具有趋势性,从而判断数据是否为趋势型数据。
采用数据分桶后寻找是否有明显断层的方式和假设检验来判断数据是否为压缩型数据。
此外,在本实施例中,计算预测模块对批处理任务中特殊日进行判断,其中特殊日包括:普通节日,春节,特殊行为日期,每个月、每个季度、每年的其中一天,每个月、每个季度、每年的其中一个工作日。
使用DTW算法判断特殊日,其中DTW公式为:
式中:i和j分别表示时序坐标x序列和y序列中的坐标点, D(i,j)表示路径规整距离矩阵,Dist(i,j)表示x序列第i个点与y序列第j个点之间的距离。
式中:X为趋势型数据的预测变量、y为趋势型数据的响应变量,XT为X的转置。
针对所述压缩型数据任务,在判断数据指标类型时分析是否存在数据分布拐点,如果存在,则拐点所处数据大小的位置即为时间阈值。
针对所述周期型数据任务,使用变分自编码器对历史数据波动模式进行学习,并将和重建数据差距过大的数据认为是异常,则异常数据的位置即为时间阈值。
针对其他类型数据任务,采用3-sigma算法,获得历史数据的均值mean和标准差std,时间阈值为mean±k* std,其中k为标准差std的倍数。
进一步地,检测控制模块根据阈值和前一天的跑批时长以及一般变化量(一般变化量为标准差的范围),利用高斯分布的参数的最大似然估计可得到当日的跑批时间预测值,高斯分布的参数的最大似然估计公式为:
所述一般变化量为标准差std的范围。
在各任务运行过程中,检测控制模块对各任务的执行时间进行判断,判断结果包括:任务超时和任务提前结束。
判断任务超时时,判断其是否为关键节点超时,如果是,则增加监测流程的预计结束时间;如果不是,则判断关键节点是否执行完毕;
在判断关键节点是否执行完毕时,如果是,则直接增加监测流程的预计结束时间;如果不是,则持续观察关键节点是否执行完毕,待执行完毕以后增加监测流程的预计结束时间。
判断任务提前结束时,判断任务系统中其他同层级节点是否执行完毕,如果是,则降低监测流程的预计结束时间,如果不是,则持续观察其他节点的情况。
本实施例的有益效果在于:
对单任务跑批时间进行准确预测后可以反射至整个系统任务的跑批时间预测,所以不但使得单任务预测时间快速、准确无误,而且使得对各任务之间形成的各个流程和系统整体批量任务系统的跑批时间预测快速、准确无误,而且不漏报并且能够有效降低误报率,占用资源极少。同时可以准确无误地检测到系统中存在的各种问题,并及时快速地解决问题,并且更新正确数据,使得后续应用准确可靠。
不仅如此,采用几种算法的结合解决了现有技术中没有对不同类型的数据进行判断,因不能根据上述不同类型的数据对任务的跑批时长进行预测,而使得预测结果不够准确的技术问题。也不再需要与系统的专家知识进行组合,明显减少了考虑因素,使得监控时长变短,同时能够实现对特殊日期的识别,使得监控效果更佳准确可靠。
为实现上述发明目的,本发明还提供一种电子设备,该电子设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,计算机程序被处理器执行时实现上述批处理任务时间监控方法。
为实现上述发明目的,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述批处理任务时间监控方法。
根据本发明的上述方案,实际应用时,具体在某全国性股份制商业银行实际生产环境中部署,规范了各个不同系统之间的阈值设置标准,在6个月的运行统计期中,未产生漏报,误报率较少33%,占用资源极少,对全行的跑批任务监控仅需6核12G的配置。在另外几家商业银行的离线数据的测试中,均取得了显著的效果,能够准确报出已知的生产事件,告警平均提前23分钟(由于阈值更佳精确),压缩误报50%以上。由此可知,本发明所提供的批处理任务时间监控方法、装置、电子设备及存储介质有效地解决了上述现有技术中的多个技术问题,并且实现了单任务和批任务执行时长的准确预测,同时可以准确无误地检测到系统中存在的各种问题,并及时快速地解决问题,并且更新正确数据,使得后续应用准确可靠。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。
另外,在本发明实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例节能信号发送/接收的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
应理解,本发明的发明内容及实施例中各步骤的序号的大小并不绝对意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
Claims (21)
1.一种批处理任务时间监控方法,其特征在于,包括以下步骤:
获取批处理任务的依赖关系表,开启批处理任务;
计算得到批处理任务中各任务的单任务预测时长;
根据批处理任务的历史模型和所述依赖关系表计算得到所述各任务之间的多个流程关系,同时计算得到各流程关系中由关键任务组成的关键路径;
根据所述单任务预测时长和所述关键路径得到各流程关系的各整体预测时长;
判断所述整体预测时长是否处于批处理任务预设时长范围内,如果不是,则告警;
如果是,则通过数据监控系统发送当前各任务的开始时间数据,根据所述历史模型和所述开始时间数据触发对当前各任务的监测流程,并持续监测。
2.根据权利要求1所述的批处理任务时间监控方法,其特征在于,单任务执行完成时,通过所述数据监控系统发送任务的结束时间数据,判断任务的执行时间是否在阈值范围内,如果是,则根据任务的开始时间数据和结束时间数据进行训练,更新单任务的模型,然后继续下一个任务,如果不是,则产生告警;
其中,所述单任务预测时长为所述阈值范围的中间值。
3.根据权利要求1所述的批处理任务时间监控方法,其特征在于,所述计算得到批处理任务中各任务的单任务预测时长包括:
对所述批处理任务中各任务的数据指标类型进行自动判断并且预估跑批时长,其中数据指标类型包括:周期型数据、趋势型数据、压缩型数据和其他类型数据。
4.根据权利要求3所述的批处理任务时间监控方法,其特征在于,判断数据指标类型的流程为:先判断是否是周期型数据,如果不是,则继续判断是否为趋势型数据或者压缩型数据,如果都不是,则属于其他类型数据。
6.根据权利要求3所述的批处理任务时间监控方法,其特征在于,判断是否是趋势型数据为:采用单位根检验的方式进行平稳性检验,判断数据是否具有趋势性,从而判断数据是否为趋势型数据。
7.根据权利要求3所述的批处理任务时间监控方法,其特征在于,判断是否是压缩型数据为:采用数据分桶后寻找是否有明显断层的方式和假设检验来判断数据是否为压缩型数据。
8.根据权利要求1所述的批处理任务时间监控方法,其特征在于,对所述批处理任务中特殊日进行判断,其中特殊日包括:
除春节以外的节日;
春节;
特殊行为日期;
每个月、每个季度或者每年的其中一天;
每个月、每个季度或者每年的其中一个工作日。
11.根据权利要求3所述的批处理任务时间监控方法,其特征在于,针对所述压缩型数据任务,在判断数据指标类型时分析是否存在数据分布拐点,如果存在,则拐点所处数据大小的位置即为时间阈值。
12.根据权利要求3所述的批处理任务时间监控方法,其特征在于,针对所述周期型数据任务,使用变分自编码器对历史数据波动模式进行学习,并将和重建数据差距过大的数据认为是异常,则异常数据的位置即为时间阈值。
13.根据权利要求3所述的批处理任务时间监控方法,其特征在于,针对所述其他类型数据任务,采用3-sigma算法,获得历史数据的均值mean和标准差std,时间阈值为mean±k*std,其中k为标准差std的倍数。
15.根据权利要求1所述的批处理任务时间监控方法,其特征在于,在各任务运行过程中,对各任务的执行时间进行判断,判断结果包括:任务超时和任务提前结束。
16.根据权利要求15所述的批处理任务时间监控方法,其特征在于,判断任务超时时,判断其是否为关键节点超时,如果是,则调整监测流程的预计结束时间;如果不是,则判断关键节点是否执行完毕;
在判断关键节点是否执行完毕时,如果是,则直接调整监测流程的预计结束时间;如果不是,则持续观察关键节点是否执行完毕,待执行完毕以后调整监测流程的预计结束时间。
17.根据权利要求15所述的批处理任务时间监控方法,其特征在于,判断任务提前结束时,判断任务系统中其他同层级节点是否执行完毕,如果是,则降低监测流程的预计结束时间,如果不是,则持续观察其他节点的情况。
18.一种批处理任务时间监控装置,其特征在于,包括:
数据读取模块,用于获取批处理任务的依赖关系表,开启批处理任务;
单任务计算预测模块,计算得到批处理任务中各任务的单任务预测时长;
流程关系及关键路径计算模块,根据批处理任务的历史模型和所述依赖关系表计算得到所述各任务之间的多个流程关系,同时计算得到各流程关系中由关键任务组成的关键路径;
流程关系整体计算预测模块,根据所述单任务预测时长和所述关键路径得到各流程关系的整体预测时长;
检测告警模块,判断所述整体预测时长是否处于批处理任务预设时长范围内,如果不是,则告警;
如果是,则通过数据监控系统发送当前各任务的开始时间数据,根据所述历史模型和所述开始时间数据触发对当前各任务的监测,并持续监测。
19.根据权利要求18所述的批处理任务时间监控装置,其特征在于,还包括:检测控制模块,单任务执行完成时,所述检测控制模块通过所述数据监控系统发送任务的结束时间数据,判断任务的执行时间是否在阈值范围内,如果是,则根据任务的开始时间数据和结束时间数据进行训练,更新单任务的模型,然后继续下一个任务,如果不是,则产生告警;
其中,所述单任务预测时长为所述阈值范围的中间值。
20.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至17中任一项所述的批处理任务时间监控方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17中任一项所述的批处理任务时间监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010775307.4A CN111737095A (zh) | 2020-08-05 | 2020-08-05 | 批处理任务时间监控方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010775307.4A CN111737095A (zh) | 2020-08-05 | 2020-08-05 | 批处理任务时间监控方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111737095A true CN111737095A (zh) | 2020-10-02 |
Family
ID=72657169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010775307.4A Pending CN111737095A (zh) | 2020-08-05 | 2020-08-05 | 批处理任务时间监控方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737095A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200461A (zh) * | 2020-10-12 | 2021-01-08 | 中国农业银行股份有限公司 | 关键路径的预测方法及装置、电子设备、计算机存储介质 |
CN112232649A (zh) * | 2020-10-09 | 2021-01-15 | 杭州拼便宜网络科技有限公司 | 一种任务处理评估方法及其系统、设备 |
CN112596887A (zh) * | 2020-12-29 | 2021-04-02 | 中国建设银行股份有限公司 | 一种针对批量延迟的分析方法及相关装置 |
CN112766724A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 一种业务监控方法、装置及设备 |
CN112906971A (zh) * | 2021-03-09 | 2021-06-04 | 清华大学 | 批处理作业中运行时间的预测方法、装置和电子设备 |
CN113448808A (zh) * | 2021-08-30 | 2021-09-28 | 北京必示科技有限公司 | 一种批处理任务中单任务时间的预测方法、系统及存储介质 |
CN113505071A (zh) * | 2021-07-14 | 2021-10-15 | 度普(苏州)新能源科技有限公司 | 任务调度运行周期的确定方法及装置 |
CN113704076A (zh) * | 2021-10-27 | 2021-11-26 | 北京每日菜场科技有限公司 | 任务优化方法、装置、电子设备和计算机可读介质 |
CN114519636A (zh) * | 2022-02-15 | 2022-05-20 | 中国农业银行股份有限公司 | 一种批量业务处理方法、装置、设备及存储介质 |
CN115134224A (zh) * | 2022-08-31 | 2022-09-30 | 杭州玳数科技有限公司 | Dag图的监控方法及系统 |
CN115759960A (zh) * | 2022-11-07 | 2023-03-07 | 北京北明数科信息技术有限公司 | 事项监控方法、系统、计算机设备及介质 |
CN117130873A (zh) * | 2023-10-26 | 2023-11-28 | 中国证券登记结算有限责任公司 | 一种任务监控的方法和装置 |
CN117455643A (zh) * | 2023-10-13 | 2024-01-26 | 厦门国际银行股份有限公司 | 一种批处理作业的智能监控方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150135186A1 (en) * | 2013-11-14 | 2015-05-14 | Institute For Information Industry | Computer system, method and computer-readable storage medium for tasks scheduling |
CN107239335A (zh) * | 2017-06-09 | 2017-10-10 | 中国工商银行股份有限公司 | 分布式系统的作业调度系统及方法 |
CN108628672A (zh) * | 2018-05-04 | 2018-10-09 | 武汉轻工大学 | 任务调度方法、系统、终端设备及存储介质 |
CN109491770A (zh) * | 2017-09-13 | 2019-03-19 | 中兴通讯股份有限公司 | 任务调度方法、装置、系统、设备及存储介质 |
CN109558292A (zh) * | 2017-09-26 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种监控方法及装置 |
CN111476446A (zh) * | 2019-01-24 | 2020-07-31 | 北京嘀嘀无限科技发展有限公司 | 业务状态的监控处理方法、装置、设备及存储介质 |
-
2020
- 2020-08-05 CN CN202010775307.4A patent/CN111737095A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150135186A1 (en) * | 2013-11-14 | 2015-05-14 | Institute For Information Industry | Computer system, method and computer-readable storage medium for tasks scheduling |
CN107239335A (zh) * | 2017-06-09 | 2017-10-10 | 中国工商银行股份有限公司 | 分布式系统的作业调度系统及方法 |
CN109491770A (zh) * | 2017-09-13 | 2019-03-19 | 中兴通讯股份有限公司 | 任务调度方法、装置、系统、设备及存储介质 |
CN109558292A (zh) * | 2017-09-26 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种监控方法及装置 |
CN108628672A (zh) * | 2018-05-04 | 2018-10-09 | 武汉轻工大学 | 任务调度方法、系统、终端设备及存储介质 |
CN111476446A (zh) * | 2019-01-24 | 2020-07-31 | 北京嘀嘀无限科技发展有限公司 | 业务状态的监控处理方法、装置、设备及存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112232649A (zh) * | 2020-10-09 | 2021-01-15 | 杭州拼便宜网络科技有限公司 | 一种任务处理评估方法及其系统、设备 |
CN112200461A (zh) * | 2020-10-12 | 2021-01-08 | 中国农业银行股份有限公司 | 关键路径的预测方法及装置、电子设备、计算机存储介质 |
CN112596887A (zh) * | 2020-12-29 | 2021-04-02 | 中国建设银行股份有限公司 | 一种针对批量延迟的分析方法及相关装置 |
CN112766724A (zh) * | 2021-01-20 | 2021-05-07 | 中国工商银行股份有限公司 | 一种业务监控方法、装置及设备 |
CN112906971A (zh) * | 2021-03-09 | 2021-06-04 | 清华大学 | 批处理作业中运行时间的预测方法、装置和电子设备 |
CN112906971B (zh) * | 2021-03-09 | 2022-02-18 | 清华大学 | 批处理作业中运行时间的预测方法、装置和电子设备 |
CN113505071A (zh) * | 2021-07-14 | 2021-10-15 | 度普(苏州)新能源科技有限公司 | 任务调度运行周期的确定方法及装置 |
CN113448808A (zh) * | 2021-08-30 | 2021-09-28 | 北京必示科技有限公司 | 一种批处理任务中单任务时间的预测方法、系统及存储介质 |
CN113704076A (zh) * | 2021-10-27 | 2021-11-26 | 北京每日菜场科技有限公司 | 任务优化方法、装置、电子设备和计算机可读介质 |
CN114519636A (zh) * | 2022-02-15 | 2022-05-20 | 中国农业银行股份有限公司 | 一种批量业务处理方法、装置、设备及存储介质 |
CN115134224A (zh) * | 2022-08-31 | 2022-09-30 | 杭州玳数科技有限公司 | Dag图的监控方法及系统 |
CN115759960A (zh) * | 2022-11-07 | 2023-03-07 | 北京北明数科信息技术有限公司 | 事项监控方法、系统、计算机设备及介质 |
CN117455643A (zh) * | 2023-10-13 | 2024-01-26 | 厦门国际银行股份有限公司 | 一种批处理作业的智能监控方法、装置及设备 |
CN117130873A (zh) * | 2023-10-26 | 2023-11-28 | 中国证券登记结算有限责任公司 | 一种任务监控的方法和装置 |
CN117130873B (zh) * | 2023-10-26 | 2024-01-26 | 中国证券登记结算有限责任公司 | 一种任务监控的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111737095A (zh) | 批处理任务时间监控方法、装置、电子设备及存储介质 | |
US10109122B2 (en) | System for maintenance recommendation based on maintenance effectiveness estimation | |
US7620523B2 (en) | Nonparametric method for determination of anomalous event states in complex systems exhibiting non-stationarity | |
US10467533B2 (en) | System and method for predicting response time of an enterprise system | |
Cassidy et al. | Advanced pattern recognition for detection of complex software aging phenomena in online transaction processing servers | |
US9280436B2 (en) | Modeling a computing entity | |
CN110275814A (zh) | 一种业务系统的监控方法及装置 | |
CN110888788A (zh) | 异常检测方法、装置、计算机设备及存储介质 | |
US11900282B2 (en) | Building time series based prediction / forecast model for a telecommunication network | |
CN108052528A (zh) | 一种存储设备时序分类预警方法 | |
CN111865407B (zh) | 光通道性能劣化智能预警方法、装置、设备及存储介质 | |
CN108628727B (zh) | 一种基于模式运行时特征的模式作业运行状态分析方法 | |
KR100982034B1 (ko) | 데이터베이스 성능 모니터링 방법 및 시스템 | |
CA2471013A1 (en) | Method and system for analyzing and predicting the behavior of systems | |
Koziolek et al. | A large-scale industrial case study on architecture-based software reliability analysis | |
Venturini et al. | Application of a statistical methodology for gas turbine degradation prognostics to alstom field data | |
CN117176560B (zh) | 一种基于物联网的监测设备监管系统及其方法 | |
US20230014795A1 (en) | Efficient maintenance for communication devices | |
Xu et al. | Lightweight and adaptive service api performance monitoring in highly dynamic cloud environment | |
US7369967B1 (en) | System and method for monitoring and modeling system performance | |
Cámara et al. | Empirical resilience evaluation of an architecture-based self-adaptive software system | |
Jia et al. | Software aging analysis and prediction in a web server based on multiple linear regression algorithm | |
CN115118580B (zh) | 告警分析方法以及装置 | |
CN114878934A (zh) | 一种电能耗数据异常预警方法 | |
CN115099778A (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 |