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

作业运行时长确定方法、装置、设备及存储介质与流程

2022-06-11 05:34:02 来源:中国专利 TAG:


1.本技术实施例涉及人工智能技术领域,涉及但不限于一种作业运行时长确定方法、装置、设备及计算机可读存储介质。


背景技术:

2.作业(job)是指用户在一次事务解决或是一个事务处理过程中要求计算机系统所做的工作的集合。作业的运行时长受多种因素的影响,例如,运行作业的集群中的机器个数、作业的提交时刻和运行时刻等。
3.目前,在分析不同因素对作业运行时长的影响时,通常是采用统计学的方法,手动调整每个时间段的机器个数,来观察调整后的机器个数对作业运行时长的影响,也就是说需要人工调整不同影响因素的数值,并需要全面地采集数据,在每天的每个时刻都要控制调整影响因素的数值来进行分析。
4.显然,相关技术中通过人工分析的方法数据量太大,且分析难度较大,因此,对作业在不用因素影响下的作业运行时长的分析准确率较低。


技术实现要素:

5.本技术实施例提供一种作业运行时长确定方法、装置、设备及存储介质,至少应用于人工智能技术领域,能够得到特征信息与运行时长之间准确的对应关系,从而基于该对应关系,准确且高效的分析出不同特征信息对作业运行时长的影响,提高分析的效率和准确性。
6.本技术实施例的技术方案是这样实现的:
7.本技术实施例提供一种作业运行时长确定方法,所述方法包括:
8.获取目标作业在预设历史时间段内的历史数据;从所述历史数据中,确定出属于预设类型的特征信息;对所述特征信息进行数据统计,得到统计特征信息;基于所述历史数据中的历史运行时长,对所述特征信息和所述统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系;基于所述对应关系,确定待分析作业在目标特征信息下的作业运行时长。
9.本技术实施例提供一种作业运行时长确定装置,所述装置包括:
10.获取模块,用于获取目标作业在预设历史时间段内的历史数据;第一确定模块,用于从所述历史数据中,确定出属于预设类型的特征信息;数据统计模块,用于对所述特征信息进行数据统计,得到统计特征信息;分析模块,用于基于所述历史数据中的历史运行时长,对所述特征信息和所述统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系;第二确定模块,用于基于所述对应关系,确定待分析作业在目标特征信息下的作业运行时长。
11.本技术实施例提供一种作业运行时长确定设备,包括:
12.存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令
时,实现上述作业运行时长确定方法。
13.本技术实施例提供一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括可执行指令,可执行指令存储在计算机可读存储介质中;其中,作业运行时长确定设备的处理器从计算机可读存储介质中读取可执行指令,并执行可执行指令时,实现上述的作业运行时长确定方法。
14.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述作业运行时长确定方法。
15.本技术实施例具有以下有益效果:
16.通过从获取的目标作业在预设历史时间段内的历史数据中,提取属于预设类型的特征信息,以及,统计得到统计特征信息,从而基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,能够准确的得到特征信息与运行时长的对应关系,如此,可以基于该对应关系,准确且高效的分析出不同特征因素对作业运行时长的影响,提高分析的效率和准确性。
附图说明
17.图1是相关技术中确定作业运行时长的整体框架图;
18.图2是本技术实施例提供的作业运行时长确定系统的一个可选的架构示意图;
19.图3是本技术实施例提供的作业运行时长确定设备的结构示意图;
20.图4是本技术实施例提供的作业运行时长确定方法的一个可选的流程示意图;
21.图5是本技术实施例提供的作业运行时长确定方法的另一个可选的流程示意图;
22.图6是本技术实施例提供的作业运行时长确定方法的再一个可选的流程示意图;
23.图7是本技术实施例提供的作业运行时长确定方法的流程框架图;
24.图8是本技术实施例提供的集群对应的历史数据中提取特征信息的实现过程示意图;
25.图9是本技术实施例提供的模型的预测实现过程示意图。
具体实施方式
26.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
27.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本技术实施例所使用的所有的技术和科学术语与属于本技术实施例的技术领域的技术人员通常理解的含义相同。本技术实施例所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
28.在解释本技术实施例的作业运行时长确定方法之前,首先对相关技术中的方法进行说明。
29.相关技术中,通常是由工程师通过统计学的方法,即手动调整每个时间段内集群的机器个数,看该机器个数对作业运行时长的影响。在前期统计完大量的机器个数与作业
运行时长的映射关系之后,将机器个数按照统计的数据进行调整再确定作业运行时长。图1是相关技术中确定作业运行时长的整体框架图,如图1所示,对于不同的n个作业(包括作业1、作业2
……
作业n),在不同时刻下,通过集群101来运行n个作业,其中,原始的集群101中包括n个机器,最终得到各个作业的运行时长102。
30.举例来说,可以是在某时刻t1时,手动调整集群101中的机器个数为n-1,记录并观察每个作业的运行时长是否在可接受范围内;如果是,则重复上述步骤,继续手动调整集群101中的机器个数,直到作业的运行时长不可接受。如此,通过统计分析,可以获得时刻t1下应该降低的机器个数。进一步地,重复以上过程,还可以获得一天中不同时刻的应该降低的机器个数。
31.但是,相关技术中的方法存在以下缺点:需要在实际的系统中全面地采集数据,即在每天的每个时刻都要控制变量来调整机器个数,来分析该机器个数对作业运行时长的影响。然而由于数量太大,分析起来较为困难。另外,日常的集群需要较为稳定地运行,为了采集数据而不停地变动机器个数会对业务造成严重的影响,甚至影响公司的盈利,得不偿失。并且,相关技术中的方法仅能统计历史的规律,无法考虑到当前时刻的干扰因素,比如当前时刻到来时的作业数量如果比以往同时刻剧增的话,则无法进行准确的分析。
32.基于相关技术中的上述方法和所存在的上述问题,本技术实施例提供一种作业运行时长确定方法,该方法通过人工智能学习的方法,不需要全面的采集数据,仅需要抽样采集部分历史数据即可,并且不需要人工去分析这些历史数据,而是改由人工智能自动学习。并且,由于仅需要抽样采集部分数据即可,极大地减轻了对业务的影响。另外,本技术实施例的作业运行时长确定方法,通过在作业的特征中加入该作业提交到机器时刻的其他作业的情况,来解决当前时刻的干扰问题。
33.本技术实施例提供的作业运行时长确定方法中,首先,获取目标作业在预设历史时间段内的历史数据;从历史数据中,确定出属于预设类型的特征信息;并对特征信息进行数据统计,得到统计特征信息;然后,基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系;最后,基于对应关系,确定待分析作业在目标特征信息下的作业运行时长。如此,由于是对特征信息和统计特征信息进行分布式梯度增强分析,因此能够准确的得到特征信息与运行时长的对应关系,从而可以基于该对应关系,准确且高效的分析出不同特征因素对作业运行时长的影响,提高分析的效率和准确性。
34.下面说明本技术实施例的作业运行时长确定设备的示例性应用,本技术实施例提供的作业运行时长确定设备可以实施为终端,也可以实施为服务器。在一种实现方式中,本技术实施例提供的作业运行时长确定设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、智能家电和智能车载设备等任意的具备作业运行需求和数据处理功能的终端;在另一种实现方式中,本技术实施例提供的作业运行时长确定设备还可以实施为服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线
或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。下面,将说明作业运行时长确定设备实施为服务器时的示例性应用。
35.参见图2,图2是本技术实施例提供的作业运行时长确定系统的一个可选的架构示意图,为实现支撑任意一个作业的正常运行,并能够准确的预测出该作业在目标特征信息下的作业运行时长,终端上至少安装有操作系统,在该操作系统中,作业是计算机操作者(或是一个叫做作业调度器的程序)交给该操作系统的执行单位。本技术实施例中,作业运行时长确定系统10中至少包括终端100、网络200和服务器300,其中服务器300构成本技术实施例的作业运行时长确定设备。终端100通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。在作业运行过程中,终端100能够收集和存储作业运行过程中的历史数据。
36.在需要确定待分析作业在目标特征信息下的作业运行时长时,服务器300可以通过网络200获取终端100发送的目标作业在预设历史时间段内的历史数据,这里,目标作业可以是与待分析作业相同的作业,也可以是不同的作业。服务器在获取到目标作业在预设历史时间段内的历史数据之后,从历史数据中,确定出属于预设类型的特征信息;对特征信息进行数据统计,得到统计特征信息;基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系;并基于对应关系,确定待分析作业在目标特征信息下的作业运行时长。服务器300在得到作业运行时长之后,可以统计该作业运行时长,得到作业运行时长分析表,并将作业运行时长分析表通过网络200发送给终端100,或者,还可以将该作业运行时长作为作业运行时长分析请求的响应结果,通过网络200返回给终端100。
37.本技术实施例所提供的作业运行时长确定方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器,通过云端服务器从历史数据中确定出属于预设类型的特征信息,或者,通过云端服务器对特征信息进行数据统计,得到统计特征信息,或者,通过云端服务器基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系,或者,通过云端服务器基于对应关系确定待分析作业在目标特征信息下的作业运行时长。
38.在一些实施例,还可以具有云端存储器,可以将特征信息与运行时长的对应关系存储至云端存储器中,或者可以将待分析作业在目标特征信息下的作业运行时长存储至云端存储器中。这样,在后续对待分析作业再次进行作业运行时长分析时,可以从云端存储器中直接获取到待分析作业在目标特征信息下的作业运行时长;或者,在后续分析待分析作业在其他特征信息下的作业运行时长时,可以从云端存储器中获取到特征信息与运行时长的对应关系,并基于所获取的该对应关系确定待分析作业在其他特征信息下的作业运行时长。
39.这里需要说明的是,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需
要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
40.本技术实施例提供的作业运行时长确定方法还涉及人工智能技术领域,通过人工智能技术实现对特征信息和统计特征信息进行分布式梯度增强分析,即可以通过人工智能技术训练得到复合树模型。或者还可以采用人工智能对待分析作业在目标特征信息下的作业运行时长进行预测,也就是说采用训练后的复合树模型预测待分析作业在目标特征信息下的作业运行时长。将在下文中对训练复合树模型的实现过程、对特征信息和统计特征信息进行分布式梯度增强分析过程进行详细说明。
41.图3是本技术实施例提供的作业运行时长确定设备的结构示意图,图3所示的作业运行时长确定设备包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。作业运行时长确定设备中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统340。
42.处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
43.用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,以及一个或多个输入装置332。
44.存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
45.操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
46.网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
47.输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
48.在一些实施例中,本技术实施例提供的装置可采用软件方式实现,图3示出了存储在存储器350中的一种作业运行时长确定装置354,该作业运行时长确定装置354可以是作业运行时长确定设备中的作业运行时长确定装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块3541、第一确定模块3542、数据统计模块3543、分析模块3544和第二确定模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或
进一步拆分。将在下文中说明各个模块的功能。
49.在另一些实施例中,本技术实施例提供的装置可以采用硬件方式实现,作为示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的作业运行时长确定方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicati on specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
50.本技术各实施例提供的作业运行时长确定方法可以由作业运行时长确定设备来执行,其中,该作业运行时长确定设备可以是任意一种具备作业运行需求和数据处理功能的终端,或者也可以是服务器,即本技术各实施例的作业运行时长确定方法可以通过终端来执行,也可以通过服务器来执行,或者还可以通过终端与服务器进行交互来执行。
51.参见图4,图4是本技术实施例提供的作业运行时长确定方法的一个可选的流程示意图,下面将结合图4示出的步骤进行说明,需要说明的是,图4中的作业运行时长确定方法是通过服务器作为执行主体为例来说明的。
52.步骤s401,获取目标作业在预设历史时间段内的历史数据。
53.这里,目标作业可以是终端操作系统中的任意一个执行单元,即可以是操作系统中能够执行的任意一种作业,其中,作业是指计算机用户在一次上机过程中要求操作系统为该用户所做工作的集合,作业中包括包括一组命令,每一命令为一个作业步,作业步是指作业中的每项相对独立的工作。
54.作业是由一系列有序的步骤组成的。作业的完成要经过作业提交、作业收容、作业执行和作业完成四个阶段。执行一个作业可能会运行多个不同的进程。本技术实施例中,所要确定的作业运行时长是作业执行阶段的时长。
55.本技术实施例的作业运行时长确定方法还可以应用于批处理系统中,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。
56.在一些实施例中,目标作业是已经在操作系统中运行过且具有历史运行数据的作业,可以采集目标作业在预设历史时间段内的历史运行数据,得到历史数据。预设历史时间段可以是当前时刻之前的任意一段时间段,例如可以是前一周、前一天、前一个小时等。
57.需要说明的是,本技术实施例的目标作业与需要预测作业运行时长的待分析作业可以是同一作业,或者也可以是不同的作业,或者也可以是相似的作业。当目标作业与待分析作业为同一作业时,本技术实施例不严格区分目标作业和待分析作业的叫法,可以认为,本技术任一实施例中所指出的作业既可以是目标作业,也可以是待分析作业。
58.步骤s402,从历史数据中确定出属于预设类型的特征信息。
59.这里,预设类型可以是人工预设的数据类型,例如,可以是目标作业的自身属性特征、目标作业的提交时刻、运行目标作业的集群特征和目标作业的运行时间内其他作业的特征等类型的特征信息。
60.在一些实施例中,对预设类型不做限定,能够表征目标作业运行过程特性或者运行特点的特征信息均为属于预设类型的特征信息,或者能够区分目标作业与其他作业的运
行过程的特征信息也可以为属于预设类型的特征信息。
61.本技术实施例中,可以从历史数据中确定出属于预设类型的多个特征信息。属于预设类型的特征信息构成目标作业的特征,每一特征信息中包括至少一个特征数据。
62.步骤s403,对特征信息进行数据统计,得到统计特征信息。
63.这里,数据统计是指计算特征信息中属于同一类型的特征数据的平均值、最大值和最小值等具有统计特性的数值。举例来说,可以统计在一段时间内,其他作业的数量的平均值、最大值和最小值,或者可以统计在一段时间内,其他作业已经使用的机器核数的平均值、最大值和最小值。
64.本技术实施例中,统计特征信息构成目标作业的统计特征,统计特征信息中包括至少一个统计值。
65.步骤s404,基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系。
66.本技术实施例中,目标作业在预设历史时间段内的历史数据中还包括目标作业在特征信息下的历史运行时长。需要说明的是,当特征信息不同时,目标作业的运行时长不同,因此,所采集的历史数据可以是多个,也就是说可以采集目标作业在预设历史时间段内的多个历史数据,每个历史数据中均具有一组属于预设类型的特征信息。可以基于每个历史数据依次循环的进行分布式梯度增强分析,从而得到最终的特征信息与运行时长的对应关系。
67.本技术实施例中,基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,可以是将历史运行时长作为分析结果的判断依据,对分析得到的特征信息与运行时长的对应关系进行反向验证。也就是说,通过对特征信息和统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系,进而根据历史数据中的历史运行时长对当前得到的特征信息与运行时长的对应关系进行验证,如果验证结果表明当前得到的特征信息与运行时长的对应关系为准确的对应关系,则停止进一步基于历史数据进行循环分析的过程;如果验证结果表明当前得到的特征信息与运行时长的对应关系不是准确的对应关系,则进一步基于另一历史数据进行再次循环分析。
68.分布式梯度增强分析是指通过分布式的多个分析单元逐个对特征信息和统计特征信息是否满足预设条件进行判断,从而使得每个分析单元均得到一分析结果,最后通过对多个分析单元的分析结果进行叠加,以增强分析结果的准确性,从而得到最终的结果。举例来说,该分布式梯度增强分析过程可以采用一个包括有多个决策树的复合树模型来实现,其中,每个决策树构成一个分析单元,每个决策树对特征信息和统计特征信息中的至少一个特征数据进行分析和判断,确定特征数据是否满足预设条件,进而将决策树的根节点分裂成两个叶子结点,并在分裂的过程中得到每个叶子节点的权重值,将该权重值确定为对应叶子节点的分析结果,也就是说,根据每个叶子节点的权重值即可确定出目标作业在该叶子节点上对应的的运行时长。
69.需要说明的是,在复合树模型中,可以通过不断地添加决策树,不断地进行特征分裂来生长一棵树,每次添加一个决策树,其实是学习一个新函数,去拟合上次预测的残差。在复合树模型中,哪个决策树计算哪些特征数据,可以是随机分配的,举例来说,如果前一棵决策树没有预测好,那下一棵决策树就会在前一棵决策树的基础上做改进。前后两棵决
策树有一定的先后顺序,因此,后一棵决策树都是根据前一颗决策树的预测效果来做修改的。
70.步骤s405,基于对应关系,确定待分析作业在目标特征信息下的作业运行时长。本技术实施例中,在确定出特征信息与运行时长的对应关系之后,即可基于该对应关系,确定待分析作业在目标特征信息下的作业运行时长。这里,目标特征信息可以是人工设定的特征信息,目标特征信息与历史数据中的特征信息不同。
71.举例来说,可以获取历史数据中的特征信息,并修改特征信息中的集群内的机器个数,得到新的机器个数,将新的机器个数作为目标特征信息,基于该新的机器个数,确定待分析作业的作业运行时长,也就是分析待分析作业在新的机器个数的条件下,作业运行时长为多少。
72.本技术实施例提供的作业运行时长确定方法,通过从获取的目标作业在预设历史时间段内的历史数据中,提取属于预设类型的特征信息,以及,统计得到统计特征信息,从而基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,能够准确的得到特征信息与运行时长的对应关系,如此,可以基于该对应关系,准确且高效的分析出不同特征因素对作业运行时长的影响,提高分析的效率和准确性。并且,由于在分析对应关系时,考虑了统计特征信息,从而能够考虑到目标作业的特征信息中的规律信息,结合特征信息中的规律信息和数据之间的联系,能够提高所确定的对应关系的准确性,从而进一步提高所确定的待分析作业的作业运行时长的准确性。
73.在一些实施例中,作业运行时长确定系统中至少包括终端和服务器,用户可以通过终端运行目标作业和待分析作业等任意一种作业,在终端运行目标作业之后,可以采集本次运行过程中的运行数据,得到目标作业在本次运行过程中的历史数据。服务器可以是作业运行时长确定应用的服务器,用于基于采集的历史数据进行分析,得到作业的特征信息与运行时长的对应关系。下面将结合作业运行时长确定系统中包括终端和服务器的场景,对本技术实施例提供的作业运行时长确定方法进行说明。
74.图5是本技术实施例提供的作业运行时长确定方法的另一个可选的流程示意图,如图5所示,方法包括以下步骤:
75.步骤s501,终端在预设历史时间段内运行目标作业,生成历史数据。
76.这里,历史数据是终端在预设历史时间段内运行目标作业的全部运行数据。
77.步骤s502,终端采集历史数据,并存储历史数据。
78.在终端运行目标作业的过程中,可以采集历史数据并将历史数据存储至存储单元中,这样在后续需要使用到历史数据时,可以从存储单元中获取历史数据。本技术实施例中,历史数据中的每一种特征数据可以具有数据标签,通过数据标签可以区分对应的特征数据是否属于预设类型。
79.步骤s503,服务器接收终端发送的作业运行时长分析请求。
80.这里,作业运行时长分析请求用于分析待分析作业在目标特征信息下的作业运行时长,其中,作业运行时长分析请求中至少包括待分析作业的作业标识和目标特征信息。
81.步骤s504,服务器响应于作业运行时长分析请求,接收终端发送的历史数据。
82.本技术实施例中,服务器响应作业运行时长分析请求确定待分析作业在目标特征信息下的作业运行时长,包括以下两种实现场景:
83.在第一种实现场景中,当前已经确定出了特征信息与运行时长的对应关系,即当前已有特征信息与运行时长的对应关系。因此可以直接基于特征信息与运行时长的对应关系,确定待分析作业在目标特征信息下的作业运行时长。
84.在第二种实现场景中,当前还未确定特征信息与运行时长的对应关系,即当前没有特征信息与运行时长的对应关系。因此可以接收终端发送的历史数据,并基于该历史数据进一步确定特征信息与运行时长的对应关系,然后再基于特征信息与运行时长的对应关系,确定待分析作业在目标特征信息下的作业运行时长。
85.需要说明的是,本技术实施例是以上述第二种实现场景为例进行说明的。
86.步骤s505,服务器从历史数据中,筛选出目标作业的自身属性特征、目标作业的提交时刻、运行目标作业的集群特征和目标作业的运行时间内其他作业的特征。这里,自身属性特征、提交时刻、集群特征和其他作业的特征,构成上述属于预设类型的特征信息。
87.在一些实施例中,历史数据中的每一特征数据具有一数据标签,本技术实施例可以通过数据标签来区分对应的特征数据是否属于预设类型。也就是说,通过数据标签,从历史数据中筛选出自身属性特征、提交时刻、集群特征和其他作业的特征等特征数据。
88.步骤s506,服务器针对目标作业的运行时间中的特定时间段,获取特定时间段内多个其他作业对应的特征集合。
89.由于集群中的作业具有一些周期性的规律,比如每天的趋势走向大概一致,而周末和非周末也略有差别。因此,本技术实施例还需要在原有的属于预设类型的特征信息的基础上,新构造一些特征信息,这样可以更好的结合特征数据中的联系来确定特征信息与运行时长的对应关系。
90.本技术实施例中,获取特定时间段内多个其他作业对应的特征集合,这里,特定时间段是指预设历史时间段中的任意子时间段,即特定时间段属于预设历史时间段,特定时间段的时长小于或等于预设历史时间段的时长。
91.步骤s507,服务器对特征集合中的特征数据进行统计学分析,得到其他作业的数量统计值、其他作业已使用的机器核数统计值和其他作业已使用的内存统计值。
92.这里,统计学分析包括但不限于计算平均值、最大值和最小值。其他作业的数量统计值、其他作业已使用的机器核数统计值和其他作业已使用的内存统计值构成统计特征信息。其他作业的数量统计值包括但不限于:特定时间段内其他作业的数量的平均值、最大值和最小值;其他作业已使用的机器核数统计值包括但不限于:特定时间段内其他作业已使用的机器核数的平均值、最大值和最小值;其他作业已使用的内存统计值包括但不限于:特定时间段内其他作业已使用的内存的平均值、最大值和最小值。
93.在一些实施例中,目标作业的提交时刻包括以下至少之一:提交日期值、提交小时值和提交分钟值。这里,提交日期值是指目标作业的提交时刻对应的日期属于周几,提交小时值是指目标作业的提交时刻是一天内的哪个小时,提交分钟值是指目标作业的提交时刻是哪一分钟。对应地,方法还可以包括以下步骤s11至步骤s14(图中未示出):
94.步骤s11,分别基于提交日期值、提交小时值和提交分钟值,对自身属性特征、提交时刻、集群特征和其他作业的特征依次进行聚合处理,得到聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征。
95.这里,基于提交日期值对自身属性特征、提交时刻、集群特征和其他作业的特征分
别进行聚合处理,将对应同一提交日期值的自身属性特征、提交时刻、集群特征和其他作业的特征分别聚合在一起,对应形成聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征,即得到对应同一提交日期值的自身属性特征集合、提交时刻集合、集群特征集合和其他作业的特征集合。
96.基于提交小时值对自身属性特征、提交时刻、集群特征和其他作业的特征分别进行聚合处理,将对应同一提交小时值的自身属性特征、提交时刻、集群特征和其他作业的特征分别聚合在一起,对应形成聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征,即得到对应同一提交小时值的自身属性特征集合、提交时刻集合、集群特征集合和其他作业的特征集合。
97.基于提交分钟值对自身属性特征、提交时刻、集群特征和其他作业的特征分别进行聚合处理,将对应同一提交分钟值的自身属性特征、提交时刻、集群特征和其他作业的特征分别聚合在一起,对应形成聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征,即得到对应同一提交分钟值的自身属性特征集合、提交时刻集合、集群特征集合和其他作业的特征集合。
98.步骤s12,基于提交日期值,依次对聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征进行统计学分析,对应得到聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征分别在日期维度的第一变化规律。
99.这里,统计学分析包括但不限于计算平均值、最大值和最小值,基于提交日期值,依次对聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征进行统计学分析,可以是将对应同一提交日期值的自身属性特征集合进行统计学分析,得到聚合后的自身属性特征在日期维度的变化规律;将对应同一提交日期值的提交时刻集合进行统计学分析,得到聚合后的提交时刻在日期维度的变化规律;将对应同一提交日期值的集群特征集合进行统计学分析,得到聚合后的集群特征在日期维度的变化规律;将对应同一提交日期值的其他作业的特征集合进行统计学分析,得到聚合后的其他作业在日期维度的变化规律。这里的四种变化规律构成第一变化规律。
100.步骤s13,基于提交小时值,依次对聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征进行统计学分析,对应得到聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征,分别在小时维度的第二变化规律。
101.这里,统计学分析也包括但不限于计算平均值、最大值和最小值,基于提交小时值,依次对聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征进行统计学分析,可以是将对应同一提交小时值的自身属性特征集合进行统计学分析,得到聚合后的自身属性特征在小时维度的变化规律;将对应同一提交小时值的提交时刻集合进行统计学分析,得到聚合后的提交时刻在小时维度的变化规律;将对应同一提交小时值的集群特征集合进行统计学分析,得到聚合后的集群特征在小时维度的变化规律;将对应同一提交小时值的其他作业的特征集合进行统计学分析,得到聚合后的其他作业在小时维度的变化规律。这里的四种变化规律构成第二变化规律。
102.步骤s14,基于提交分钟值,依次对聚合后的自身属性特征、聚合后的提交时刻、聚
合后的集群特征和聚合后的其他作业的特征进行统计学分析,对应得到聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征分别在分钟维度的第三变化规律。
103.这里,统计学分析也包括但不限于计算平均值、最大值和最小值,基于提交分钟值,依次对聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征进行统计学分析,可以是将对应同一提交分钟值的自身属性特征集合进行统计学分析,得到聚合后的自身属性特征在分钟维度的变化规律;将对应同一提交分钟值的提交时刻集合进行统计学分析,得到聚合后的提交时刻在分钟维度的变化规律;将对应同一提交分钟值的集群特征集合进行统计学分析,得到聚合后的集群特征在分钟维度的变化规律;将对应同一提交分钟值的其他作业的特征集合进行统计学分析,得到聚合后的其他作业在分钟维度的变化规律。这里的四种变化规律构成第三变化规律。
104.本技术实施例中,第一变化规律、第二变化规律和第三变化规律中的至少之一也构成统计特征信息。也就是说,统计特征信息中可以仅包括:其他作业的数量统计值、其他作业已使用的机器核数统计值和其他作业已使用的内存统计值;或者,统计特征信息中可以包括:其他作业的数量统计值、其他作业已使用的机器核数统计值、其他作业已使用的内存统计值、第一变化规律、第二变化规律和第三变化规律中的至少之一。
105.在一些实施例中,在得到特征信息和统计特征信息之后,由于可能会存在一部分特征是无效特征,因此需要做无效特征剔除。本技术实施例中,可以采用以下方式进行无效特征剔除:
106.确定特征信息和统计特征信息中的每一特征数据的波动值和方差;将波动值小于波动阈值且方差小于方差阈值的特征数据确定为目标剔除数据;从特征信息和统计特征信息中剔除目标剔除数据。
107.步骤s508,服务器基于历史数据中的历史运行时长,对特征信息和统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系。
108.步骤s509,服务器获取终端发送的待分析作业和目标特征信息。
109.步骤s510,服务器基于对应关系,确定待分析作业在目标特征信息下的作业运行时长。
110.本技术实施例中,由于在分析对应关系时,考虑了统计特征信息,从而能够考虑到目标作业的特征信息中的规律信息,结合特征信息中的规律信息和数据之间的联系,能够提高所确定的对应关系的准确性,从而提高所确定的待分析作业的作业运行时长的准确性。
111.图6是本技术实施例提供的作业运行时长确定方法的再一个可选的流程示意图,如图6所示,方法包括以下步骤:
112.步骤s601,终端在预设历史时间段内运行目标作业,生成历史数据。
113.步骤s602,终端采集历史数据,并存储历史数据。
114.步骤s603,服务器接收终端发送的作业运行时长分析请求。
115.步骤s604,服务器响应于作业运行时长分析请求,接收终端发送的历史数据。
116.步骤s605,服务器从历史数据中,确定出属于预设类型的特征信息。
117.步骤s606,服务器对特征信息进行数据统计,得到统计特征信息。
118.步骤s607,服务器对特征信息和统计特征信息进行向量化处理,得到样本特征向量。
119.这里,可以采用任意一种向量化处理方式对特征信息和统计特征信息分别进行向量化处理,对应得到特征信息向量和统计特征信息向量,然后将特征信息向量和统计特征信息向量进行向量拼接,形成样本特征向量。
120.步骤s608,服务器将样本特征向量输入至复合树模型中。
121.当服务器将样本特征向量输入至复合树模型中之后,通过复合树模型来确定目标作业的预测运行时长,并进一步对复合树模型中的模型参数进行反向更新,从而得到训练后的复合树模型,即得到特征信息与运行时长的对应关系。也就是说,通过对复合树模型进行训练,得到训练后的复合树模型,该训练后的复合树模型能够表征特征信息与运行时长的对应关系,即通过训练后的复合树模型就可以对待分析作业在目标特征信息下的作业运行时长进行准确的预测。
122.在一些实施例中,可以将特征信息和统计特征信息确定为样本数据,对样本数据进行向量化处理,得到样本特征向量;将历史运行时长确定为样本数据的样本标签。最终可以将样本特征向量和样本标签输入至复合树模型中。
123.下面,对复合树模型的训练过程进行说明,其中,复合树模型的训练过程包括以下步骤s609至步骤s611:
124.步骤s609,通过复合树模型基于特征信息和统计特征信息进行分布式梯度增强分析,得到目标作业的预测运行时长。
125.在一些实施例中,特征信息和统计特征信息中包括至少两个子特征信息,举例来说,子特征信息可以是自身属性特征、提交时刻、集群特征、其他作业的特征、其他作业的数量统计值、其他作业已使用的机器核数统计值、其他作业已使用的内存统计值、第一变化规律、第二变化规律和第三变化规律中的任意一个。并且,复合树模型包括至少一个决策树。对应地,步骤s609可以通过以下步骤s6091至步骤s6092(图中未示出)实现:步骤s6091,依次基于至少两个子特征信息中的每一子特征信息,对复合树模型中的每一决策树中的节点进行节点分裂,得到两个叶子节点和每一叶子节点的权重值。步骤s6092,根据目标作业所属的全部叶子节点的权重值,确定目标作业的预测运行时长。
126.本技术实施例中,可以将目标作业所属的全部叶子节点的权重值进行相加,得到目标作业的总权重,然后按照权重与运行时长之间的对应关系计算得到与总权重对应的运行时长,即为目标作业的预测运行时长。
127.步骤s610,将预测运行时长和历史运行时长输入至预设损失模型中,得到损失结果。
128.步骤s611,根据损失结果,对复合树模型中的模型参数进行修正,得到训练后的复合树模型,其中训练后的复合树模型能够表征特征信息与运行时长的对应关系。
129.复合树模型的训练过程包括对复合树模型中的决策树中的节点进行节点分裂的过程,为了保证复合树模型的预测效果(例如计算效率和预测准确度),需要对节点分裂的过程进行有效控制。本技术实施例中,可以通过以下方式控制决策树中的节点分裂过程:
130.基于至少两个子特征信息,使用网格搜索方法确定复合树模型中的每一决策树的高度阈值、每一决策树的叶子数阈值和复合树模型的学习率阈值;并当满足以下条件中的
至少一个时,停止对决策树中的节点进行节点分裂:复合树模型中的任一决策树的高度大于或等于高度阈值、复合树模型中的任一决策树的叶子数大于或等于叶子数阈值、复合树模型的学习率大于或等于学习率阈值。
131.步骤s612,服务器获取终端发送的待分析作业和目标特征信息。
132.步骤s613,服务器基于对应关系,确定待分析作业在目标特征信息下的作业运行时长。
133.在一些实施例中,步骤s613可以通过以下方式一和方式二中的任意一种方式实现:
134.方式一:获取待分析作业的目标特征信息,然后,将目标特征信息输入至复合树模型中,通过复合树模型确定待分析作业在目标特征信息下的作业运行时长。
135.本技术实施例中,训练复合树模型,通过训练后的复合树模型可以对待分析作业在目标特征信息下的作业运行时长进行准确的预测。由于在训练复合树模型时,是基于目标节点的特征信息和统计特征信息进行复合树模型中的决策树的节点分裂和控制,因此,基于特征信息和统计特征信息学习得到的复合树模型,能够准确的预测待分析作业在目标特征信息下的作业运行时长。
136.方式二:待分析作业与目标作业为同一作业;特征信息和统计特征信息构成目标作业的特征数据集。可以对特征数据集中的特征数据进行修改,得到修改后的特征数据;其中,修改后的特征数据构成测试数据集;然后,将测试数据集中修改后的特征数据,确定为待分析作业的目标特征信息;将目标特征信息输入至复合树模型中,通过复合树模型确定待分析作业在目标特征信息下的作业运行时长。
137.本技术实施例中,可以对特征数据集中的特征数据进行修改可以是修改特征数据集中的机器个数,得到新的机器个数,然后将新的机器个数确定为测试数据集中的测试数据。
138.本技术实施例中,通过预先训练好的复合树模型,对待分析作业在测试数据集中的测试数据下的作业运行时长进行准确的预测。由于在训练复合树模型时,是基于目标节点的特征信息和统计特征信息进行复合树模型中的决策树的节点分裂和控制,因此,基于特征信息和统计特征信息学习得到的复合树模型,能够准确的预测待分析作业在测试数据集中的测试数据下的作业运行时长。
139.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。本技术实施例提供一种作业运行时长确定方法,该方法是一种基于人工智能技术预测在不同的机器个数以及不同的时刻下,待分析作业的作业运行时长的方法,用于分析不同的机器个数,以及在不同的时刻下对作业运行时长的影响,从而可以找到不同时刻下在作业运行时长可容忍的范围内的最佳机器数量,达到减少机器数量、降低机器运营成本的目的。
140.本技术实施例的方案是从历史的数据(即历史数据)中提取出目标作业的特征信息以及该目标作业的标签(即历史运行时长),适当处理后输入到特定的模型(例如可以是复合树模型)中学习作业的特征信息与标签之间的关系。学习完成后,便可修改某个作业的特征信息,比如修改该作业提交的时刻为sub2、修改该时刻集群中的机器数量为q2,然后利用模型预测出在新的特征信息下该作业的作业运行时长t2,通过分析t2与该作业原本的运行时长t1,便可由工程师决定是否在sub2时刻将机器数量调整为q2,从而减少机器的数量
达到降低运营成本的目的。
141.本技术实施例的方案能应用到集群的机器运营中,基于人工智能技术预测在不同的机器个数以及不同的时刻下的作业运行时长,用于分析不同的机器个数在不同的时刻下对作业运行时长的影响,找到不同时刻下在作业运行时长可容忍的范围内的最佳机器数量。
142.图7是本技术实施例提供的作业运行时长确定方法的流程框架图,如图7所示,方法包括以下步骤:
143.步骤s701,从已有的历史数据中提取作业(这里的作业可以是目标作业)的特征信息和标签,得到关于作业相关的数据集。
144.在步骤s701中提取作业的特征信息和标签,在实现的过程中,可以从集群的历史数据中提取特征信息,如图8所示,是本技术实施例提供的集群对应的历史数据中提取特征信息的实现过程示意图。一个特定的作业在特定时刻提交在某个特定固定大小的集群中运行时,加入考虑上该时刻其他作业的情况,那么则可以认为该作业的运行时长几乎是可以被学习并被预测出来的,因此影响该作业运行时长的特征信息大概有以下四类:
145.第一类:作业本身特征801(即自身属性特征),包括运行该作业需求的机器核数(core_demand)、需求的内存大小(memory_demand);
146.第二类:作业提交时刻802,包括该时刻属于周几(week)、小时(hour)、分钟(minute);
147.第三类:集群特征803,包括集群中的机器个数(cnt_machine)、集群中的总核数(core_total)、集群中的总内存(memory_total);
148.第四类:该时刻其他作业的特征804,包括其他作业数量(cnt_jobs)、其他作业已经使用的机器核数(core_used)、已经使用的内存数(memory_used)。
149.在一些实施例中,除了以上四类数据已有的特征信息之外,在集群中的作业有一些周期性的规律,比如每天的趋势走向大概一致,而周末和非周末也略有差别。因此,本技术实施例在原有的特征基础上新造了以下的两类特征信息,这样可以让模型更好的学习其中的联系:
150.第五类:过去小段时间内的历史信息。例如,作业运行的前两个小时内,其他作业的特征的统计量,包括平均值、最大值、最小值。即该步骤共添加3*3个特征:其他作业的数量(cnt_job)的平均值、最大值、最小值,其他作业已经使用了的机器核数(core_used)的平均值、最大值、最小值,已经使用了的内存数(memory_used)的平均值、最大值、最小值;
151.第六类:聚合特征,包括:a、基于{week、hour、minute}做聚合(例如进行group by操作),统计四类原始特征的平均值、最大值、最小值,将原始特征的历史数据的规律信息(即第一变化规律、第二变化规律和第三变化规律)作为新的特征;
152.b、基于{week、hour}做聚合(例如进行group by操作),统计四类原始特征的平均值、最大值、最小值,将原始特征的历史数据的规律信息作为新的特征。
153.最后,在加入新的特征信息之后,可能会存在有一部分特征信息是无效特征,因此需要做特征剔除:对于一些波动很小、方差较小的特征信息,模型会认为该特征信息对结果的影响几乎为0,因此直接剔除。
154.步骤s702,搭建模型,并将作业的数据集输入模型中进行监督学习,确定特征信息
与标签之间的关系(即特征信息与运行时长的对应关系),得到一个训练好的模型。
155.本技术实施例中,在模型选择过程中,可以选用机器学习中的复合树模型进行监督学习,例如,复合树模型可以是xgboost模型,xgboost模型利用包含多个特征信息的训练数据xi,来预测目标变量即根据作业的特征信息来学习该特征信息下与作业运行时长的关系。模型可以表述为以下公式(1):
[0156][0157]
其中,θ为模型学习的参数;xi表示第i类特征信息对应的训练数据,例如i可以取值为1至6中的任意正整数,则xi对应上述六类特征信息中的任一类特征信息,每一类特征信息中具有多个训练数据,x
ij
表示第i类特征信息中的第j个训练数据。
[0158]
模型学习过程中进行自身优化的目标函数为以下公式(2):
[0159]
obj(θ)=l(θ) ω(θ)
ꢀꢀꢀ
(2);
[0160]
其中,l(θ)是损失函数,由均方差来衡量,即以下公式(3):
[0161][0162]
其中,ω(θ)是正则项,用来控制模型的复杂度,防止模型过拟合。yi表示作业的标签,即真实的作业运行时长。
[0163]
本技术实施例中,模型可以是复合树模型,即通过一棵棵树叠加而来,一个作业样本往左边分或者往右边分,最终到达叶子结点,这样来进行一次预测,模型的预测实现过程如图9所示。
[0164]
在图9所示的模型预测过程中,左边有5个作业样本(作业1、作业2、作业3、作业4和作业5),现在想预测这5个作业的作业运行时长,这5个作业现在都分到了叶子结点里面,对不同的叶子结点分配不同的权重项,正数代表这个作业的作业运行时长在该情况影响下需要加上的时长,负数则相反,即需要减去的时长。所以可以通过叶子结点和权值的结合,来综合的评判当前这个作业到底需要多少的作业运行时长。上面树1的作业3所处的叶子结点的权值是 1,但是用单个决策树的效果一般来说不太好,通常会用一种集成的方法,就是一棵树效果可能不太好,再加一棵树,看图例右边的树2,树2和左边的树1不同在于树2使用了另外的特征信息week,除了这些特征信息,还可以考虑使用提交时刻这个划分属性。通过这两棵树共同决策当前这个作业的作业运行时间,job3在树1的权值是 1,在树2的权值是 0.9,所以作业3最终的权值是 1.9,即为预测的作业运行时长。
[0165]
图9仅是以两颗决策树为例进行说明的,其实还可以有更多更复杂的弱分类器,一起组合成一个强分类器,决策树之间迭代关系如以下公式(4)所示,每棵树都在原来的基础上叠加,保证效果得到提升:
[0166]
[0167]
其中,f
t
(xi)为第t次叠加的模型树,每加一次,都尝试让损失函数减小,直到收敛。
[0168]
本技术实施例中,模型训练过程包括以下步骤:
[0169]
第一步:特征信息的数据预处理,即数值相关的特征做归一化,更有利于模型学习,离散相关的特征信息,比如week周几这个特征需要做离散化,否则模型会以为错误的学习特征信息中数值的关系。
[0170]
第二步:特征信息数据预处理完成后,对特征信息进行向量化,并将特征向量(即样本特征向量)和对应的标签输入到模型中,模型的输入为一条条特征向量以及该特征向量对应的标签,模型会根据特征信息与标签之间的关系,学习得到一组模型的参数。
[0171]
第三步:使用网格搜索方法确定模型中决策树的高度、叶子数、学习率的最佳参数。
[0172]
第四部:使用交叉验证方法,保证每一条数据都被模型验证过,尽可能让优化的模型性能表现的更加可靠。
[0173]
经过以上四步的训练,得到一个训练好的模型,该模型可以根据输入的特征信息,来预测作业运行时长。
[0174]
步骤s703,修改作业(这里的作业可以是待分析作业,其中,待分析作业与目标作业可以是相同的作业)的特征,例如,机器个数,得到测试集。
[0175]
本技术实施例的目标是在机器个数改变之后,得到作业运行时长。因此在模型的参数已经学习好了之后,可以修改作业的机器个数这个特征信息(机器个数变了之后,核数和内存也会相应的改变),之后将特征信息输入到训练好的模型中,让模型预测机器个数改变之后,该作业的作业运行时长。
[0176]
本步骤中,将每个作业对应的群集特征,包括机器个数(cnt_machine)、总核数(core_total)、总内存量(memory_total)进行修改。若需要知道n个群集特征下的作业的作业运行时长,便生成n条特征信息。最终,每个作业都会生成不同的n条特征,得到作业的测试集。
[0177]
步骤s704,将步骤s703的测试集作为作业的特征输入到训练好的模型中,预测作业对应的标签(即新特征下作业的运行时长)。由此可得到,修改机器个数之后,作业的运行时长会改变多少,是否还在可容忍范围内。
[0178]
本步骤中,将步骤s703中生成的测试集输入到训练好的模型中,即可得到每条特征信息对应的所需要的作业运行时长。至此,便可以得到集群中机器个数与作业运行时长的关系,从而可以进一步知道机器个数降为多少的时候,作业运行时长会超出容忍范围。
[0179]
本技术实施例提供的作业运行时长确定方法,引入人工智能技术来学习系统中作业的特征信息与作业运行时长的关系,使得工程师对于集群中机器个数对作业运行时长的影响有直观的认知,更加便于机器个数的运营,有利于降低机器成本。并且,结合了集群中的历史信息,以及过去一小段时间的数据信息,在历史规律方面,相对于相关技术中的做法有更全面的信息补充,数据更有参考价值。同时,本技术实施例的方法在预测作业运行时长的时候,加入了当前时刻其他作业的影响,使得模型能够对这部分干扰给出即刻的纠正,得到的数据更有参考价值。
[0180]
需要说明的是,本技术实施例上述步骤s701中的特征提取部分,由于获取的数据有限,仅仅使用了部分的相关特征信息,当有新的相关特征可以收集到的情况下,也可加入
本技术实施例的方案中。上述步骤s702中的模型选择中,不仅可以采用xgboost模型进行学习,也可采用机器学习中的lightgbm模型、神经网络中的多层感知机(mlp,multilayerperceptron)、神经网络中的深度神经网络中的长短期记忆网络(lstm,long short-term memory)等模型代替。
[0181]
可以理解的是,在本技术实施例中,涉及到用户信息的内容,例如,目标作业的特征信息和统计特征信息、待分析作业的作业运行时长等,如果涉及与用户信息或企业信息相关的数据,当本技术实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0182]
下面继续说明本技术实施例提供的作业运行时长确定装置354实施为软件模块的示例性结构,在一些实施例中,如图3所示,作业运行时长确定装置354包括:获取模块3541,用于获取目标作业在预设历史时间段内的历史数据;第一确定模块3542,用于从所述历史数据中,确定出属于预设类型的特征信息;数据统计模块3543,用于对所述特征信息进行数据统计,得到统计特征信息;分析模块3544,用于基于所述历史数据中的历史运行时长,对所述特征信息和所述统计特征信息进行分布式梯度增强分析,得到特征信息与运行时长的对应关系;第二确定模块3545,用于基于所述对应关系,确定待分析作业在目标特征信息下的作业运行时长。
[0183]
在一些实施例中,所述第一确定模块还用于:从所述历史数据中,筛选出所述目标作业的自身属性特征、所述目标作业的提交时刻、运行所述目标作业的集群特征和所述目标作业的运行时间内其他作业的特征;将所述自身属性特征、所述提交时刻、所述集群特征和所述其他作业的特征,确定为属于预设类型的特征信息。
[0184]
在一些实施例中,所述数据统计模块还用于:针对所述目标作业的运行时间中的特定时间段,获取所述特定时间段内多个其他作业对应的特征集合;对所述特征集合中的特征数据进行统计学分析,得到其他作业的数量统计值、其他作业已使用的机器核数统计值和其他作业已使用的内存统计值;其中,所述其他作业的数量统计值、所述其他作业已使用的机器核数统计值和所述其他作业已使用的内存统计值构成所述统计特征信息。
[0185]
在一些实施例中,所述目标作业的提交时刻包括以下至少之一:提交日期值、提交小时值和提交分钟值;所述数据统计模块还用于:分别基于所述提交日期值、提交小时值和提交分钟值,对所述自身属性特征、所述提交时刻、所述集群特征和所述其他作业的特征依次进行聚合处理,得到聚合后的自身属性特征、聚合后的提交时刻、聚合后的集群特征和聚合后的其他作业的特征;基于所述提交日期值,依次对所述聚合后的自身属性特征、所述聚合后的提交时刻、所述聚合后的集群特征和所述聚合后的其他作业的特征进行统计学分析,对应得到所述聚合后的自身属性特征、所述聚合后的提交时刻、所述聚合后的集群特征和所述聚合后的其他作业的特征分别在日期维度的第一变化规律;基于所述提交小时值,依次对所述聚合后的自身属性特征、所述聚合后的提交时刻、所述聚合后的集群特征和所述聚合后的其他作业的特征进行统计学分析,对应得到所述聚合后的自身属性特征、所述聚合后的提交时刻、所述聚合后的集群特征和所述聚合后的其他作业的特征,分别在小时维度的第二变化规律;基于所述提交分钟值,依次对所述聚合后的自身属性特征、所述聚合后的提交时刻、所述聚合后的集群特征和所述聚合后的其他作业的特征进行统计学分析,对应得到所述聚合后的自身属性特征、所述聚合后的提交时刻、所述聚合后的集群特征和
所述聚合后的其他作业的特征分别在分钟维度的第三变化规律;其中,所述第一变化规律、所述第二变化规律和所述第三变化规律中的至少之一构成所述统计特征信息。
[0186]
在一些实施例中,所述装置还包括:数据确定模块,用于确定所述特征信息和所述统计特征信息中的每一特征数据的波动值和方差;将所述波动值小于波动阈值且所述方差小于方差阈值的特征数据确定为目标剔除数据;数据剔除模块,用于从所述特征信息和所述统计特征信息中剔除所述目标剔除数据。
[0187]
在一些实施例中,所述分析模块还用于:对所述特征信息和所述统计特征信息进行向量化处理,得到样本特征向量;将所述样本特征向量输入至复合树模型中;通过所述复合树模型基于所述特征信息和所述统计特征信息进行分布式梯度增强分析,得到所述目标作业的预测运行时长;将所述预测运行时长和所述历史运行时长输入至预设损失模型中,得到损失结果;根据所述损失结果,对所述复合树模型中的模型参数进行修正,得到训练后的复合树模型,其中所述训练后的复合树模型能够表征所述特征信息与运行时长的对应关系。
[0188]
在一些实施例中,所述特征信息和所述统计特征信息中包括至少两个子特征信息;所述复合树模型包括至少一个决策树;所述分析模块还用于:依次基于所述至少两个子特征信息中的每一子特征信息,对所述复合树模型中的每一决策树中的节点进行节点分裂,得到两个叶子节点和每一叶子节点的权重值;根据所述目标作业所属的全部叶子节点的所述权重值,确定所述目标作业的预测运行时长。
[0189]
在一些实施例中,所述装置还包括:阈值确定模块,用于基于所述至少两个子特征信息,使用网格搜索方法确定所述复合树模型中的每一决策树的高度阈值、每一决策树的叶子数阈值和所述复合树模型的学习率阈值;控制模块,用于当满足以下条件中的至少一个时,停止对所述决策树中的节点进行节点分裂:所述复合树模型中的任一决策树的高度大于或等于所述高度阈值、所述复合树模型中的任一决策树的叶子数大于或等于所述叶子数阈值、所述复合树模型的学习率大于或等于所述学习率阈值。
[0190]
在一些实施例中,所述第二确定模块还用于:获取所述待分析作业的目标特征信息;将所述目标特征信息输入至所述复合树模型中,通过所述复合树模型确定所述待分析作业在所述目标特征信息下的作业运行时长。
[0191]
在一些实施例中,所述待分析作业与所述目标作业为同一作业;所述特征信息和所述统计特征信息构成所述目标作业的特征数据集;所述第二确定模块还用于:对所述特征数据集中的特征数据进行修改,得到修改后的特征数据;其中,修改后的特征数据构成测试数据集;将所述测试数据集中修改后的特征数据,确定为所述待分析作业的目标特征信息;将所述目标特征信息输入至所述复合树模型中,通过所述复合树模型确定所述待分析作业在所述目标特征信息下的作业运行时长。
[0192]
需要说明的是,本技术实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0193]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括可执行指令,该可执行指令是一种计算机指令;该可执行指令存储在计算机可读存储介质中。当作业运行时长确定设备的处理器从计算机可读存储介质读取该可执行
指令,处理器执行该可执行指令时,使得该作业运行时长确定设备执行本技术实施例上述的方法。
[0194]
本技术实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的方法,例如,如图4示出的方法。
[0195]
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(fram,ferromagnetic random access memory)、只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read only memory)、可擦除可编程只读存储器(eprom,erasable programmable read only memory)、带电可擦可编程只读存储器(eeprom,electrically erasable programmable read only memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(cd-rom,compact disk-read only memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0196]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0197]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备(可以是作业运行时长确定设备)上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0198]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献