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

预估方法和装置、检测方法和装置、存储介质及处理器与流程

2022-11-28 10:28:10 来源:中国专利 TAG:


1.本技术涉及应用it系统智能运维领域,具体涉及一种预估方法和装置、检测方法和装置、存储介质及处理器。


背景技术:

2.批处理作业(如银行结算对账业务、定时文件清理等)存在于很多业务系统中,随着线上业务量的增加,批处理作业的数量也日趋增长。一个批处理任务一般由多个作业串联而成,因而大量的批处理作业涉及到错综复杂的作业依赖关系,某个作业运行状态依赖于上游作业的运行状态,也会影响其下游作业的状态。作业运行状态一般包括正常完成、运行失败、运行时长超时、运行延迟等情况。若作业运行超时,则会导致其下游作业无法在预计时间内完成甚至运行失败。但是,当前作业管控系统难以准确的识别作业的运行状态。作业运行前,如能针对作业的运行时长进行预估,那么对于下游的运行配置有很好的借鉴作用,以防出现下游作业配置出现开始时间过早的情形;作业运行中,如能及时判断作业运行是否正常,通常对于异常情形可以及时触发告警,进而转人工干预。因此,在大数据和人工智能时代,采用一套更加完善的方法对于批处理作业前期和后期的运行状态(作业运行时长预估以及运行超时)进行分析建模,对于批处理作业的智能调度和高效运行有很重要的实际意义。
3.现有技术中,对于作业运行时长的预估分析,没有深入考虑到时间因素,例如周期性、节假日、及其它特殊日期(如双十一)等;也没有引入运行时长的其他影响因子,例如机器性能指标(如cpu资源)的变化趋势。此外,现有技术中,对于作业运行异常检测,大多是基于固定阈值方法,对于异常状况存在检测不足或不准的情况。


技术实现要素:

4.本技术实施例的目的是提供一种预估方法和装置、检测方法和装置、存储介质及处理器。
5.为了实现上述目的,本技术实施例的第一方面提供一种作业运行时长的预估方法,所述预估方法包括:获取距离预估时间预设时间段内待预估作业的历史运行时长;以及基于所获取的历史运行时长和第一预设运行时长预估模型,预估在所述预估时间所述待预估作业的运行时长,以确定在所述预估时间所述待预估作业的第一预估运行时长,其中,所述第一预设运行时长预估模型包括以下至少两者对所述运行时长的影响:所述运行时长的非周期变化趋势、所述运行时长的周期性变化、在不规律的时间节点上发生的事情和扰动。
6.可选地,所述预估方法还包括:获取距离所述预估时间所述预设时间段内执行所述待预估作业的机器的机器性能历史数据;基于所获取的机器性能历史数据和所获取的历史运行时长,结合第二预设运行时长预估模型,预估在所述预估时间所述待预估作业的运行时长,以确定在所述预估时间所述待预估作业的第二预估运行时长;以及基于所述第一预估运行时长和所述第二预估运行时长,确定在所述预估时间所述待预估作业的第三预估
运行时长,其中,所述第三预估运行时长为在所述预估时间针对所述待预估作业的最终预估运行时长。
7.可选地,基于所述第一预估运行时长和所述第二预估运行时长确定在所述预估时间所述待预估作业的第三预估运行时长包括:对所述第一预估运行时长和所述第一预估运行时长对应的第一预设权重及所述第二预估运行时长和所述第二预估运行时长对应的第二预设权重进行加权求和,以确定所述第三预估运行时长。
8.可选地,所述第一预设运行时长预估模型为prophet时间序列模型。
9.此外,本技术实施例的第二方面提供一种作业运行状态的检测方法,所述检测方法包括:获取与待检测作业相关的作业运行当前信息,其中,所述作业运行当前信息包括以下至少一者:运行是否发生延迟、机器cpu使用率是否超过预设使用率阈值、前置依赖作业是否完成;确定针对所述待检测作业的预估运行时长,其中,所述预估运行时长根据上述的预估方法而被确定;基于所获取的作业运行当前信息和所确定的预估运行时长,结合预设运行状态检测模型,确定所述待检测作业超时的概率;以及基于所确定的概率和预设概率阈值,判定所述待检测作业是否超时,以对所述待检测作业的运行状态进行检测。
10.相应地,本技术实施例的第三方面提供一种作业运行时长的预估装置,所述预估装置包括:历史运行时长获取模块,用于获取距离预估时间预设时间段内待预估作业的历史运行时长;以及第一预估运行时长确定模块,用于基于所获取的历史运行时长和第一预设运行时长预估模型,预估在所述预估时间所述待预估作业的运行时长,以确定在所述预估时间所述待预估作业的第一预估运行时长,其中,所述第一预设运行时长预估模型包括以下至少两者对所述运行时长的影响:所述运行时长的非周期变化趋势、所述运行时长的周期性变化、在不规律的时间节点上发生的事情和扰动。
11.可选地,所述预估装置还包括:机器性能历史数据获取模块,用于获取距离所述预估时间所述预设时间段内执行所述待预估作业的机器的机器性能历史数据;第二预估运行时长确定模块,用于基于所获取的机器性能历史数据和所获取的历史运行时长,结合第二预设运行时长预估模型,预估在所述预估时间所述待预估作业的运行时长,以确定在所述预估时间所述待预估作业的第二预估运行时长;以及第三预估运行时长确定模块,用于基于所述第一预估运行时长和所述第二预估运行时长,确定在所述预估时间所述待预估作业的第三预估运行时长,其中,所述第三预估运行时长为在所述预估时间针对所述待预估作业的最终预估运行时长。
12.可选地,所述第三预估运行时长确定模块基于所述第一预估运行时长和所述第二预估运行时长确定在所述预估时间所述待预估作业的第三预估运行时长包括:对所述第一预估运行时长和所述第一预估运行时长对应的第一预设权重及所述第二预估运行时长和所述第二预估运行时长对应的第二预设权重进行加权求和,以确定所述第三预估运行时长。
13.可选地,所述第一预设运行时长预估模型为prophet时间序列模型。
14.相应地,本技术实施例的第四方面提供一种作业运行状态的检测装置,所述检测装置包括:作业运行当前信息获取模块,用于获取与待检测作业相关的作业运行当前信息,其中,所述作业运行当前信息包括以下至少一者:运行是否发生延迟、机器cpu使用率是否超过预设使用率阈值、前置依赖作业是否完成;预估运行时长确定模块,用于确定针对所述
待检测作业的预估运行时长,其中,所述预估运行时长根据上述的预估方法而被确定;概率确定模块,用于基于所获取的作业运行当前信息和所确定的预估运行时长,结合预设运行状态检测模型,确定所述待检测作业超时的概率;以及超时判定模块,用于基于所确定的概率和预设概率阈值,判定所述待检测作业是否超时,以对所述待检测作业的运行状态进行检测。
15.此外,本技术实施例的第五方面提供一种处理器,被配置成执行上述的预估方法或上述的检测方法。
16.另外,本技术实施例的第六方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的预估方法或上述的检测方法。
17.此外,本技术实施例的第七方面提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的预估方法或上述的检测方法。
18.通过上述技术方案,根据历史运行时长和第一预设运行时长预估模块预估作业的运行时长,其中,第一预设运行时长预估模型包括运行时长的非周期变化趋势、运行时长的周期性变化、在不规律的时间节点上发生的事情和扰动中的至少两者,这至少两者体现了在预估运行时长时考虑了时间因素,如此,实现了在预估作业的运行时长时考虑时间因素对运行时长的影响。
19.本技术实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
20.附图是用来提供对本技术实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本技术实施例,但并不构成对本技术实施例的限制。在附图中:
21.图1示意性示出了根据本技术实施例的作业运行时长的预估方法的流程示意图;
22.图2示意性示出了根据本技术实施例的技术方案的逻辑示意图;
23.图3示意性示出了根据本技术实施例的作业运行时长的预估装置的结构框图;
24.图4示意性示出了根据本技术实施例的计算机设备的内部结构图。
25.附图标记说明
26.1历史运行时长获取模块
27.2第一预估运行时长确定模块
具体实施方式
28.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本技术实施例,并不用于限制本技术实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.需要说明,若本技术实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、
运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
30.另外,若本技术实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
31.本技术实施例的第一方面提供一种作业运行时长的预估方法。
32.图1示意性示出了根据本技术实施例的作业运行时长的预估方法的流程示意图。如图1所示,预估方法可以包括以下内容。
33.在步骤s10中,获取距离预估时间预设时间段内待预估作业的历史运行时长。具体地,可以是从存储模块中进行获取。其中,需要说明的是,预设时间段可以根据具体情况而定,例如,可以是5个月、6个月、8个月、等等,对此不进行限制。在预设时间段包括还没有实际运行时长的时刻的情况下,可以使用预估的运行时长作为历史运行时长。例如,预估时间为明天,预设时间段包括今天,但是今天待预估作业的运行时长是未知的,那么就使用针对今天预估得到的运行时长作为今天的历史运行时长。此外,预估时间可以根据具体情况而定,例如,预估时间可以是今天,获取的历史运行时长即为距离今天预设时间段内的运行时长;再例如,预估时间可以是明天,那么获取的历史运行时长即为距离明天预设时间段内的运行时长,其中,包括针对今天预估得到的运行时长,其他情况以此类推。另外,待预估作业可以根据具体情况而定,对此不进行限制,需要预估运行时长的任一作业均可以是待预估作业。
34.在步骤s11中,基于所获取的历史运行时长和第一预设运行时长预估模型,预估在预估时间待预估作业的运行时长,以确定在预估时间待预估作业的第一预估运行时长,其中,第一预设运行时长预估模型包括以下至少两者对运行时长的影响:运行时长的非周期变化趋势、运行时长的周期性变化、在不规律的时间节点上发生的事情和扰动。其中,在不规律的时间节点上发生的事情可以是活动(例如,双十一、618等等)、上线(例如,某app上线等)、假期(例如端午节、中秋节等)等等。此外,第一预设运行时长预估模型考虑的方面越多预估得到的运行时长越准确。可选地,第一预设运行时长预估模型可以包括上述四者对运行时长的影响。优选地,第一预设运行时长预估模型可以是prophet时间序列模型。其中,prophet时间序列模型考虑单元特征时序影响以及节假日等影响,比其他单元时间序列模型相对更全面,由此,预估得到的运行时长更加准确。另外,第一预设运行时长预估模型是预先被训练好的,具体地,可以是获取某一时间段内的机器性能历史数据和历史运行时长数据,训练第一预设运行时长预估模型,以得到被训练好的第一预设运行时长预估模型,其中,在进行训练时使用的机器性能历史数据和历史运行时长数据可以是针对多个作业的数据。
35.通过上述技术方案,根据历史运行时长和第一预设运行时长预估模块预估作业的运行时长,其中,第一预设运行时长预估模型包括运行时长的非周期变化趋势、运行时长的周期性变化、在不规律的时间节点上发生的事情和扰动中的至少两者,这至少两者体现了在预估运行时长时考虑了时间因素,如此,实现了在预估作业的运行时长时考虑时间因素
对运行时长的影响。
36.可选地,在本技术实施例中,预估方法还可以包括以下内容。获取距离预估时间预设时间段内执行待预估作业的机器的机器性能历史数据。具体地,可以是从存储模块中获取机器性能历史数据。此外,机器性能数据指的是机器执行作业时的与性能相关的数据,预设时间段内的机器性能历史数据指的是机器在预设时间段内执行待预估作业时的机器性能数据。可选地,机器性能历史数据可以包括cpu使用率和内存使用率。可选地,机器性能历史数据还可以包括以下中的至少一者:主机的虚拟内存使用量与总虚拟内存的百分比(virtu.used.pct)、cpu使用率总和、cpu用户时间占比、cpu系统时间占比、磁盘读/写iops、吞吐量、平均每次设备i/o操作的服务时间(ms)、磁盘读响应时间、磁盘写响应时间、磁盘繁忙程度、队列中每秒钟合并的写请求数量、1分钟、5分钟、15分钟分别对应的load和平均系统负载分别超过1分钟、5分钟、15分钟规范化cpu的数量。另外,预估时间段内的机器性能历史数据基于预估时间而被确定,例如,预估时间可以是今天,那么机器性能历史数据即为距离今天预设时间段内的数据;再例如,预估时间可以是明天,那么机器性能历史数据即为距离明天预设时间段内的数据,其中,包括今天的机器性能数据,其他情况以此类推。基于所获取的机器性能历史数据和所获取的历史运行时长,结合第二预设运行时长预估模型,预估在预估时间待预估作业的运行时长,以确定在预估时间待预估作业的第二预估运行时长。其中,第二预设运行时长预估模型是预先被训练好的。具体地,可以是使用一段时间内的机器性能历史数据和历史运行时长数据,训练第二预设运行时长预估模型,以得到被训练好的第二预设运行时长预估模型,其中,在进行训练时使用的机器性能历史数据和历史运行时长数据可以是针对多个作业的数据。可选地,第二预设运行时长预估模型可以是深度学习lstm(long short-term memory)模型或者多元线性回归模型。其中,lstm模型考虑多元特征影响,能深刻阐述变量与目标之间的复杂关系,比多元线性回归模型更能阐述变量对目标的影响。由此,使用lstm模型预估得到的运行时长更加准确。基于第一预估运行时长和第二预估运行时长,确定在预估时间待预估作业的第三预估运行时长,其中,第三预估运行时长为在预估时间针对待预估作业的最终预估运行时长。在确定第二预估运行时长时基于机器性能历史数据,而在确定最终的预估运行时长时基于第二预估运行时长,如此,实现了在预估作业的运行时长时考虑机器性能指标对运行时长的影响。另外,在确定最终的预估运行时长时,基于第一预估运行时长和第二预估运行时长这两者来确定,如此,相比于基于第一预估运行时长确定最终的预估运行时长,在预估作业的运行时长时考虑更多的内容,使得预估得到的运行时长更加准确。
37.可选地,在本技术实施例中,基于第一预估运行时长和第二预估运行时长确定在预估时间待预估作业的第三预估运行时长可以包括以下内容。对第一预估运行时长和第一预估运行时长对应的第一预设权重及第二预估运行时长和第二预估运行时长对应的第二预设权重进行加权求和,以确定第三预估运行时长。其中,第一预设权重和第二预设权重可以根据具体情况而被预先设定。可选地,考虑到历史运行时长对于预估结果的影响更大,为了使得预估结果更加准确,可以设置第一预设权重大于第二预设权重。
38.本技术实施例的第二方面提供一种作业运行状态的检测方法。其中,检测方法可以包括以下内容。获取与待检测作业相关的作业运行当前信息,其中,作业运行当前信息包括以下至少一者:运行是否发生延迟、机器cpu使用率是否超过预设使用率阈值、前置依赖
作业是否完成。其中,对于待检测作业,运行是否发生延迟指的是当前时间待检测作业的运行是否发生延迟;机器cpu使用率是否超过预设使用率阈值指的是当前时间执行待检测作业的机器的cpu使用率是否超过预设使用率阈值,其中,预设使用率阈值可以根据具体情况而定;前置依赖作业是否完成指的是当前时间待检测作业依赖的前置作业是否完成,其中,可以预先配置作业与作业之间的依赖关系。具体地,可以是从存储模块中获取与待检测作业相关的作业运行当前信息。确定针对待检测作业的预估运行时长,其中,预估运行时长根据上述实施例中所述的预估方法而被确定。此外,需要说明的是,在针对待检测作业确定预估运行时长时,预估时间是当前时间。基于所获取的作业运行当前信息和所确定的预估运行时长,结合预设运行状态检测模型,确定待检测作业超时的概率。可选地,在本技术实施例中,预设运行状态检测模型可以以下中的任一者:xgboost(extreme gradient boosting)模型、gbm模型、决策树模型、svm模型。优选地,预设运行状态检测模型可以xgboost模型。当使用xgboost模型时,由于xgboost模型具备数据不均衡、效率快、稳健性强的特点,由此使得对待检测作业的运行状态的检测更加准确。基于所确定的概率和预设概率阈值,判定待检测作业是否超时,以对待检测作业的运行状态进行检测。可选地,当所确定的概率超过预设概率阈值时,判定待检测作业超时;当所确定的概率未超过预设概率阈值时,判定待检测作业不超时。
39.通过上述方案,在检测作业的运行状态时使用了作业运行是否延迟、机器性能指标是否超过阈值和前置依赖作业是否完成中的至少一者及作业运行的预估时长等影响因素,考虑了随着时间可能产生的波动,由此,使得对作业的运行状态的检测更加的符合实际情况,使得对运行状态的检测更加充足或者更加准确。
40.可选地,在本技术实施例中,当判定待检测作业超时时,可以对待检测作业的运行状态进行告警,以提醒相关工作人员。
41.图2示意性示出了根据本技术实施例的技术方案的逻辑示意图。下面结合图2对本技术实施例提供的技术方案进行示例性介绍。本技术实施例提供的技术方案拟针对大量批处理作业任务的运行时长进行预估分析,并且对运行异常状态进行及时检测。其中,在该实施例中,在对本技术实施例提供的技术方案进行介绍时包括对预估方法和检测方法两方面的示例性介绍。
42.如图2所示,在该实施例中,本技术实施例提供的技术方案主要包括四个方面,分别是数据采集、数据治理、数据算法和实践应用。
43.对于数据采集部分,主要是包括采集配置数据和运行数据。其中,配置数据主要是指来自于配置中心的数据,配置中心主要是进行作业配置、管控配置和调度配置等操作;运行数据主要是指来自于调度平台和管控平台的数据,调度平台主要是进行调度事件、调度实例、调度执行等操作,管控平台主要是进行作业管理、作业干预和监控管理等操作。可选地,在采集配置数据和运行数据时可以基于es和kafka的技术采集方案进行采集。可选地,配置数据可以采用离线采集方式(例如,一周采集一次)。可选地,运行数据可以采用实时采集方式。采集到的数据送入数据贴源层进行存储。在本技术实施例中,运行数据可以包括运行时长数据、机器性能数据和作业运行信息等。配置数据可以包括作业的名称、运行计划、依赖关系等。
44.对于数据治理部分,主要包括针对数据贴源层中的数据进行数据预处理和数据加
工。其中,数据预处理包括数据分类和数据清洗。数据分类主要是指根据作业的类型进行分类,对配置数据和运行数据(包括来自调度平台的调度数据和来自管控平台的管控数据)进行分类。数据清洗主要包括缺失值处理、异常值处理和冗余值处理等。数据加工主要是结合重大作业干预、配置规则以及调度规则,对配置数据和运行数据进行融合分析处理,剔除无效作业,得到有效的运行作业。经过数据治理后得到的有效的运行作业的相关数据用于训练模型和基于训练好的模型进行预估运行时长和检测运行状态。
45.对于数据算法部分,主要介绍模型的训练和基于训练好的模型进行预估运行时长和检测运行状态。分别针对预估运行时长和检测运行状态,对相关模型的训练和使用进行示例性介绍。
46.第一方面是调度前运行时长预估。其中,预估运行时长时使用的运行时长预估模型包括prophet时间序列模型和lstm模型,在进行实际预估运行时长前,结合机器性能指标和历史作业运行时长数据,来训练运行时长预估模型。其中,prophet时间序列模型包括趋势项(trend)、季节项(seasonality)、假期因素(holidays)和误差项,模型表达式为y(t)=g(t) s(t) h(t) ε(t)。其中,g(t)是趋势项,表示运行时长的非周期变化趋势;s(t)是季节项,表示运行时长的周期性变化(例如每周和每年的季节性);h(t)是假期因素,表示在可能不规律的时间节点上发生的假期的影响(如端午节、中秋节等假期);ε(t)是误差项,代表扰动的影响,表示代表该模型不能拟合的特殊变化,是一个随机变量。对于训练prophet时间序列模型,从经过数据治理后的数据中,获取6个月内的所有作业对应的历史运行时长数据,对prophet时间序列模型进行训练。对于lstm模型,结合机器性能指标和历史运行时长进行多元预测。对于lstm模型的训练,从经过数据治理后的数据中,获取6个月内的机器性能数据(cpu使用率和内存使用率)和6个月内的所有作业对应的历史运行时长数据,对lstm模型进行训练。可选地,获取数据的聚合时间粒度可以为10分钟,也可以是其他时间间隔,根据具体情况而定,对此不进行限制。
47.在训练好prophet时间序列模型和lstm模型后,实际应用于预估某一待预估作业在某一预估时间的作业运行时长。针对该待预估作业,从经过数据治理后的数据中,获取距离预估时间6个月内的历史运行时长和机器性能历史数据(cpu使用率和内存使用率)。基于prophet时间序列模型和获取的历史运行时长,得到第一预估运行时长l1。基于lstm模型和获取的历史运行时长和机器性能历史数据,得到第二预估运行时长l2。设置prophet时间序列模型和lstm模型的预估结果对应的权重分别为w1和w2,考虑到历史运行时长对于预估结果的影响更大,可确定为w1=0.7,w2=0.3。针对prophet时间序列模型和lstm模型的预估结果进行加权求和得到最终的运行时长的预估结果。
48.将最终的预估结果输出到实践应用部分,然后随着时间的推移,对后面的结果进行滚动预测,同时更新预测结果。
49.第二个方面是调度中运行异常检测,也就是检测运行状态。其中,使用的机器学习模型是xgboost模型。在训练xgboost模型时,根据作业运行是否延迟、性能指标超过阈值、前置依赖作业是否完成及作业运行是否超时等特征训练机器学习算法模型。具体地,从经过数据治理后的数据中,获取6个月内的所有作业的作业运行信息和作业运行时长是否超时的相关数据,其中,作业运行信息包括运行是否发生延迟、机器cpu使用率是否超过预设使用率阈值、前置依赖作业是否完成。作业运行信息作为特征数据;作业运行时长是否超时
作为作业状态分类标签(如标签0属于不超时,标签1属于超时),也就是作为模型的输出。基于获取的数据对xgboost模型进行训练,对作业状态标签进行识别,其实质是根据特征数据预测作业运行时长超时的概率。其中,当概率达到一定程度,则判定为超时,否则不超时。
50.在训练好xgboost模型后,在某个待检测作业运行过程中,利用已经训练好的模型,结合即时特征数据进行待检测作业的运行状态进行检测,以得到待检测作业超时的概率。其中,即时特征数据包括待检测作业的作业运行当前信息,作业运行当前信息包括运行是否发生延迟、机器cpu使用率是否超过预设使用率阈值和前置依赖作业是否完成。将得到的概率与预设概率阈值进行比较,当得到的概率未超过预设概率阈值时,判定待检测作业未超时;当得到的概率超过预设概率阈值时,判定待检测作业超时,对待检测作业的运行状态进行告警。
51.此外,在对运行状态检测时,可以针对模型每周加入最新的特征数据进行迭代训练,然后发布到最新的实践应用中。
52.对于实践应用部分,主要是功能模块,实现数据和结果展示,包括所有批处理作业的监控视图、作业运行时长的预估结果以及运行状态的检测结果。另外,对于运行时长的预估结果和运行状态的检测结果均可以通过作业管控流程信息和短息通知进行提示。对异常作业及时进行短信通知,确保用户能及时对作业进行变更或其他干预操作。
53.在本技术实施例提供的技术方案中,从作业运行前和运行中的业务场景出发,分别针对两个场景的关联数据进行建模,涵盖数据采集、数据治理、算法分析、实践应用等整体流程,将业务场景、数据、机器学习算法三者结合起来融合成一个系统,是机器学习算法在it系统智能运维中场景落地的实践案例。
54.通过本技术实施例提供的技术方案,可以实现:1)针对作业运行时长预估分析,综合考虑历史运行规律、周期性因素、节假日因素以及机器性能影响指标,采用prophet时间序列模型和lstm模型进行加权融合,使得运行时长的预估分析更加合理、更加准确;2)针对作业运行状态检测,基于作业运行的历史数据,采用xgboost模型进行训练,对于不均衡异常作业检测的鲁棒性更强;3)针对批处理作业的智能管控,采用机器学习方法对作业运行前的状态进行学习分析,更加全面科学的掌控作业的运行状态,尽可能识别作业运行可能会出现的风险,及早进行变更或者加入人工干预,确保批处理作业能够正常运行;4)作业运行前采用prophet时间序列模型和lstm模型对运行时长进行预估,运行中采用xgboost模型对作业运行的状态进行识别,不仅弥补了针对传统固定阈值方式的不足,也提高了批处理作业运行的成功率和整体调度效率。
55.相应地,本技术实施例的第三方面提供一种作业运行时长的预估装置。
56.图3示意性示出了根据本技术实施例的作业运行时长的预估装置的结构框图。如图3所示,预估装置包括历史运行时长获取模块1和第一预估运行时长确定模块2。其中,历史运行时长获取模块1用于获取距离预估时间预设时间段内待预估作业的历史运行时长;第一预估运行时长确定模块2用于基于所获取的历史运行时长和第一预设运行时长预估模型,预估在预估时间待预估作业的运行时长,以确定在预估时间待预估作业的第一预估运行时长,其中,第一预设运行时长预估模型包括以下至少两者对运行时长的影响:运行时长的非周期变化趋势、运行时长的周期性变化、在不规律的时间节点上发生的事情和扰动。
57.可选地,在本技术实施例中,预估装置还包括:机器性能历史数据获取模块,用于
获取距离预估时间预设时间段内执行待预估作业的机器的机器性能历史数据;第二预估运行时长确定模块,用于基于所获取的机器性能历史数据和所获取的历史运行时长,结合第二预设运行时长预估模型,预估在预估时间待预估作业的运行时长,以确定在预估时间待预估作业的第二预估运行时长;以及第三预估运行时长确定模块,用于基于第一预估运行时长和第二预估运行时长,确定在预估时间待预估作业的第三预估运行时长,其中,第三预估运行时长为在预估时间针对待预估作业的最终预估运行时长。
58.可选地,在本技术实施例中,第三预估运行时长确定模块基于第一预估运行时长和第二预估运行时长确定在预估时间待预估作业的第三预估运行时长包括:对第一预估运行时长和第一预估运行时长对应的第一预设权重及第二预估运行时长和第二预估运行时长对应的第二预设权重进行加权求和,以确定第三预估运行时长。
59.可选地,在本技术实施例中,第一预设运行时长预估模型为prophet时间序列模型。
60.本技术实施例提供的作业运行时长的预估装置的具体工作原理及益处与本技术实施例提供的作业运行时长的预估方法的具体工作原理及益处相似,这里将不再赘述。
61.相应地,本技术实施例的第四方面提供一种作业运行状态的检测装置。其中,检测装置包括:作业运行当前信息获取模块,用于获取与待检测作业相关的作业运行当前信息,其中,作业运行当前信息包括以下至少一者:运行是否发生延迟、机器cpu使用率是否超过预设使用率阈值、前置依赖作业是否完成;预估运行时长确定模块,用于确定针对待检测作业的预估运行时长,其中,预估运行时长根据上述实施例中所述的预估方法而被确定;概率确定模块,用于基于所获取的作业运行当前信息和所确定的预估运行时长,结合预设运行状态检测模型,确定待检测作业超时的概率;以及超时判定模块,用于基于所确定的概率和预设概率阈值,判定待检测作业是否超时,以对待检测作业的运行状态进行检测。
62.本技术实施例提供的作业运行状态的检测装置的具体工作原理及益处与本技术实施例提供的作业运行状态的检测方法的具体工作原理及益处相似,这里将不再赘述。
63.所述作业运行时长的预估装置或者作业运行状态的检测装置分别包括处理器和存储器,上述历史运行时长获取模块和第一预估运行时长确定模块等或者作业运行当前信息获取模块、预估运行时长确定模块、概率确定模块和超时判定模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序模块中实现相应的功能。
64.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现作业运行时长的预估方法或者作业运行状态的检测方法。
65.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
66.此外,本技术实施例的第五方面提供一种处理器,被配置成执行上述实施例中所述的预估方法或上述实施例中所述的检测方法。
67.另外,本技术实施例的第六方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述实施例中所述的预估方法或上述实施例中所述的检测方法。
68.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器a01、网络接口a02、存储器(图中未示出)和数据库(图中未示出)。其中,该计算机设备的处理器a01用于提供计算和控制能力。该计算机设备的存储器包括内存储器a03和非易失性存储介质a04。该非易失性存储介质a04存储有操作系统b01、计算机程序b02和数据库(图中未示出)。该内存储器a03为非易失性存储介质a04中的操作系统b01和计算机程序b02的运行提供环境。该计算机设备的网络接口a02用于与外部的终端通过网络连接通信。该计算机程序b02被处理器a01执行时以实现一种作业运行时长的预估方法或者作业运行状态的检测方法。
69.本领域技术人员可以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
70.在一个实施例中,本技术提供的作业运行时长的预估装置或者作业运行状态的检测装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该作业运行时长的预估装置或者作业运行状态的检测装置的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本技术各个实施例的作业运行时长的预估方法或者作业运行状态的检测方法中的步骤。
71.此外,本技术实施例的第七方面提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述实施例中所述的预估方法或上述实施例中所述的检测方法。
72.另外,本技术实施例的第八方面提供一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例中所述的预估方法或上述实施例中所述的检测方法。
73.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
74.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
75.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
76.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
77.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
78.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
79.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
80.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
81.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献