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

一种任务处理方法以及装置与流程

2021-11-25 02:53:00 来源:中国专利 TAG:
1.本技术涉及数据处理领域,尤其涉及一种任务处理方法、装置。
背景技术
::2.在现有技术中,hive运行的参数基本上都是通过配置文件进行统一,例如hive‑site.xml等,具体地,hive运行的参数是通过人工根据任务手动对session级别参数调整。现有技术存在的缺陷为没有提供任务级别的自动化优化方案,手工调优成本大,难以维护,无法针对于不同的任务进行智能的参数优化,而且依靠人工根据主观经验根据任务手动对session级别参数调整,具有一定的主观性、片面性和局限性,可能会导致在参数调整的过程中存在误差,例如容易出现由于人工疏忽或其他人为因素所导致的参数调整不准确、不够优化的问题。技术实现要素:3.本技术提供一种任务处理方法,以可以提高任务处理的效率和精准度,进而提高用户体验。4.第一方面,本技术提供了一种任务处理方法,所述方法包括:获取待处理任务;根据所述待处理任务的任务参数,生成任务指纹;根据所述任务指纹,确定与所述任务指纹的相似度满足第一预设条件的目标历史任务;根据所述目标历史任务的配置参数,执行所述获取待处理任务。5.可选的,所述获取待处理任务,包括:通过sql服务,获取所述待处理任务;所述待处理任务为hive任务。6.可选的,所述根据所述待处理任务的任务参数,生成任务指纹,包括:根据所述待处理任务的任务参数,构建任务向量;根据所述任务向量,生成任务指纹;其中,所述任务参数包括待处理任务的输入文件格式、文件大小、shuffle/join个数、tableschema字段数。7.可选的,所述第一预设条件为所有历史任务中与所述任务指纹的相似度最高的历史任务。8.可选的,所述根据所述目标历史任务的配置参数,执行所述获取待处理任务,包括根据所述配置参数对所述待处理任务进行语法树解析,得到任务执行计划信息;根据所述任务执行计划信息,控制各个任务节点执行所述待处理任务。9.可选的,所述方法还包括:若所述待处理任务执行失败,继续执行所述根据所述任务指纹,确定与所述任务指纹的相似度满足预设条件的目标历史任务的步骤,直至所述待处理任务执行完成。10.可选的,所述方法还包括:若所述待处理任务执行完成,根据所述待处理任务的运行参数以及与所述任务指纹的相似度满足第二预设条件的历史任务的运行参数,对所述配置参数进行调整,得到调整后的配置参数;将所述调整后的配置参数作为所述待处理任务对应的配置参数。11.第二方面,本技术提供了一种任务处理装置,所述装置包括:获取单元,用于获取待处理任务;生成单元,用于根据所述待处理任务的任务参数,生成任务指纹;确定单元,用于根据所述任务指纹,确定与所述任务指纹的相似度满足第一预设条件的目标历史任务;执行单元,用于根据所述目标历史任务的配置参数,执行所述获取待处理任务。12.可选的,所述获取单元,用于:通过sql服务,获取所述待处理任务;所述待处理任务为hive任务。13.可选的,所述生成单元,用于:根据所述待处理任务的任务参数,构建任务向量;根据所述任务向量,生成任务指纹;其中,所述任务参数包括待处理任务的输入文件格式、文件大小、shuffle/join个数、tableschema字段数。14.可选的,所述第一预设条件为所有历史任务中与所述任务指纹的相似度最高的历史任务。15.可选的,所述执行单元,用于:根据所述配置参数对所述待处理任务进行语法树解析,得到任务执行计划信息;根据所述任务执行计划信息,控制各个任务节点执行所述待处理任务。16.可选的,所述执行单元还用于:若所述待处理任务执行失败,继续执行所述根据所述任务指纹,确定与所述任务指纹的相似度满足预设条件的目标历史任务的步骤,直至所述待处理任务执行完成。17.可选的,所述装置还包括调整单元,用于:若所述待处理任务执行完成,根据所述待处理任务的运行参数以及与所述任务指纹的相似度满足第二预设条件的历史任务的运行参数,对所述配置参数进行调整,得到调整后的配置参数;将所述调整后的配置参数作为所述待处理任务对应的配置参数。18.第三方面,本技术提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。19.第四方面,本技术提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的方法。20.由上述技术方案可以看出,本技术提供了一种任务处理方法,在本实施例中,先获取待处理任务;然后,可以根据所述待处理任务的任务参数,生成任务指纹;接着,可以根据所述任务指纹,确定与所述任务指纹的相似度满足第一预设条件的目标历史任务;最后,可以根据所述目标历史任务的配置参数,执行所述获取待处理任务。可见,本技术可以根据所述待处理任务的任务参数,生成任务指纹,并利用与所述任务指纹的相似度满足第一预设条件的目标历史任务的配置参数,执行所述获取待处理任务,由于目标历史任务的配置参数可以理解为目标历史任务的优化配置参数,并且,目标历史任务与待处理任务的任务指纹的相似度满足第一预设条件(即相似度较高),因此,本技术便可以根据目标历史任务的配置参数执行待处理任务,这样,本技术不需要和现有技术一样,需要通过人工根据主观经验对待处理任务进行手动配置参数调整,避免出现人工操作过程中容易出现由于操作、评估错误所导致的配置参数调整准确度低下、效率低下、耗时费力、不稳定、成本较高的问题,以及人工手动所调整的配置参数具有一定的主观性、片面性和局限性的问题,提高了任务处理的效率和精准度,进而提高了用户体验。21.上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明22.为了更清楚地说明本技术实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。23.图1为本技术一实施例提供的一种任务处理方法的流程示意图;图2为本技术一实施例提供的一种任务处理系统的系统架构示意图;图3为本技术一实施例提供的一种任务处理装置的结构示意图;图4为本技术一实施例提供的一种电子设备的结构示意图。具体实施方式24.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。25.在现有技术中,hive运行的参数基本上都是通过配置文件进行统一,例如hive‑site.xml等,具体地,hive运行的参数是通过人工根据任务手动对session级别参数调整。现有技术存在的缺陷为没有提供任务级别的自动化优化方案,手工调优成本大,难以维护,无法针对于不同的任务进行智能的参数优化,而且依靠人工根据主观经验根据任务手动对session级别参数调整,具有一定的主观性、片面性和局限性,可能会导致在参数调整的过程中存在误差,例如容易出现由于人工疏忽或其他人为因素所导致的参数调整不准确、不够优化的问题。26.本技术提供了一种任务处理方法,在本实施例中,先获取待处理任务;然后,可以根据所述待处理任务的任务参数,生成任务指纹;接着,可以根据所述任务指纹,确定与所述任务指纹的相似度满足第一预设条件的目标历史任务;最后,可以根据所述目标历史任务的配置参数,执行所述获取待处理任务。可见,本技术可以根据所述待处理任务的任务参数,生成任务指纹,并利用与所述任务指纹的相似度满足第一预设条件的目标历史任务的配置参数,执行所述获取待处理任务,由于目标历史任务的配置参数可以理解为目标历史任务的优化配置参数,并且,目标历史任务与与待处理任务的任务指纹的相似度满足第一预设条件(即相似度较高),因此,本技术便可以根据目标历史任务的配置参数执行待处理任务,这样,本技术不需要和现有技术一样,需要通过人工根据主观经验对待处理任务进行手动配置参数调整,避免出现人工操作过程中容易出现由于操作、评估错误所导致的配置参数调整准确度低下、效率低下、耗时费力、不稳定、成本较高的问题,以及人工手动所调整的配置参数具有一定的主观性、片面性和局限性的问题,提高了任务处理的效率和精准度,进而提高了用户体验。需要说明的是,本技术实施例可以应用于电子设备(比如手机、平板、电脑等)或者服务器中。需要说明的是,除了上述提及的方式以外,还可以为其他的实现方式,在这里并不限定。27.下面结合附图,详细说明本技术的各种非限制性实施方式。28.参见图1,示出了本技术实施例中的一种任务处理方法,在本实施例中,所述方法例如可以包括以下步骤:s101:获取待处理任务。29.在本实施例中,所述待处理任务为hive任务。述待处理任务可以为hive对应的sql任务,例如可以包括sql语句、待查询的库表、待使用的引擎标识以及库表对应的元数据信息(比如shuffle/join(即表关联)个数、tableschema字段数)。30.在一种实现方式中,可以通过sql服务,获取所述待处理任务。如图2所示的任务处理系统中,sql服务可以为图2中的aqlsubmit模块,用户通过sql提交待处理任务,aqlsubmit模块可以获取待处理任务。31.s102:根据所述待处理任务的任务参数,生成任务指纹。32.在本实施例中,待处理任务的任务参数可以理解为能够反映待处理任务的任务信息,在一种实现方式中,述待处理任务的任务参数可以包括待处理任务的输入文件格式、文件大小、shuffle/join(即表关联)个数、tableschema字段数等参数。任务指纹可以理解为能够反映待处理任务对应的任务特征,也就是说,任务指纹可以体现待处理任务的关键信息(比如能够反映待处理任务的内容、待查询的库表、待使用的引擎标识以及库表对应的元数据信息等任务参数的特征、任务相似程度),以便能够根据任务指纹便可以查询或确定待处理任务。33.在本实施例中,可以先根据所述待处理任务的任务参数,构建任务向量,需要说明的是,通过经验、机器学习等找到参数列表(即任务参数)中的关键参数(即关键信息),并根据关键参数所构建成的向量,可以称为任务向量。然后,可以根据所述任务向量,生成任务指纹,例如,可以通过对任务向量构建相似度指标,以构建任务指纹。34.如图2所示的任务处理系统中,系统中的taskfingerprint模块可以从aqlsubmit模块中获取所述待处理任务的任务参数(比如tableschema、fileformat、filesize、shuffle等),以及,根据所述待处理任务的任务参数,生成任务指纹,并将该任务指纹向driver模块发送。35.s103:根据所述任务指纹,确定与所述任务指纹的相似度满足第一预设条件的目标历史任务。36.在本实施例中,可以预先存储有若干历史任务以及各个历史任务各自分别对应的配置参数,需要说明的是,历史任务对应的配置参数为历史任务的最优配置参数,即该配置参数可以使得历史任务的执行效率最高,比如该配置参数可以使得历史任务执行的时间最短,和/或,历史任务执行所消耗或占用的资源最少。如图2所示的任务处理系统中,该系统中的configoptimalize模块(即优化器)预先存储有若干历史任务以及各个历史任务各自分别对应的配置参数。其中,任务的配置参数可以理解为执行任务的各个任务节点对应的参数,比如可以为任务节点的session级别参数,举例来说,可以包括执行任务引擎的进程数量。37.其中,在一种实现方式中,所述第一预设条件可以为所有历史任务中与所述任务指纹的相似度最高的历史任务。也就是说,在本实施例中,可以先确定待处理任务对应的任务指纹与各个历史任务的相似度,可以将相似度值最高的历史任务作为目标历史任务。38.如图2所示的任务处理系统中,该系统中的driver模块中的hooks接口可以根据所述任务指纹,从configoptimalize模块中确定与所述任务指纹的相似度满足第一预设条件的目标历史任务,并获取目标历史任务的配置参数。39.s104:根据所述目标历史任务的配置参数,执行所述获取待处理任务。40.由于目标历史任务与待处理任务的任务指纹相似度最高,也就是说,目标历史文物的任务参数与待处理任务的任务参数相似度最高,故此,可以认为历史任务对应的配置参数也可以使得待处理任务的执行效率最高,比如该配置参数可以使得待处理任务执行的时间最短,和/或,待处理任务执行所消耗或占用的资源最少。41.在本实施例中,可以先根据所述配置参数对所述待处理任务进行语法树解析,得到任务执行计划信息,该任务执行计划信息可以理解为各个任务节点的执行信息,比如执行的顺序、时间以及资源配置参数;例如,可以通过sql语句调用antlr4工具包生成树形的语法树结构,即任务执行计划信息。然后,可以根据所述任务执行计划信息,控制各个任务节点执行所述待处理任务。42.如图2所示的任务处理系统中,该系统中的driver模块中的hooks接口可以将配置参数向ast模块发送,以便ast根据配置参数中的sql语句生成抽象语法树,plan模块根据抽象语法树进行基于关系优化,基于代价优化生成物理执行计划(即任务执行计划信息),在此过程中,ast模块和plan模块将所述待处理任务的任务指纹、配置参数、运行参数(例如各个部分耗时以及资源使用情况,部分耗时可以包括语法解析耗时、语法树优化耗时、spark引擎的话、各个stage耗时等,资源使用情况可以包括机器内存、cpu、网络带宽等资源)发送给driver进行收集;以及exec模块根据所述任务执行计划信息,控制各个任务节点执行所述待处理任务,在此过程中,exec模块将所述待处理任务的任务指纹、配置参数、运行参数(例如各个部分耗时以及资源使用情况)发送给driver模块进行收集;需要说明的是,driver可以将收集到的运行参数存储至jobhistory模块中,具体地,jobhistory模块可以存储sql任务的历史执行情况,jobhistory模块统计历史所有的sql任务参数、时间资源花费等,jobhistory模块中的taskfingerprint中可以存储根据sql语句以及元数据信息生成的任务指纹,config模块可以存储sql引擎执行时所用到的参数配置,jobhistory模块中的consumption模块可以存储sql任务额在执行过程中所产生的时间花费。43.由上述技术方案可以看出,本技术提供了一种任务处理方法,在本实施例中,先获取待处理任务;然后,可以根据所述待处理任务的任务参数,生成任务指纹;接着,可以根据所述任务指纹,确定与所述任务指纹的相似度满足第一预设条件的目标历史任务;最后,可以根据所述目标历史任务的配置参数,执行所述获取待处理任务。可见,本技术可以根据所述待处理任务的任务参数,生成任务指纹,并利用与所述任务指纹的相似度满足第一预设条件的目标历史任务的配置参数,执行所述获取待处理任务,由于目标历史任务的配置参数可以理解为目标历史任务的优化配置参数,并且,目标历史任务与与待处理任务的任务指纹的相似度满足第一预设条件(即相似度较高),因此,本技术便可以根据目标历史任务的配置参数执行待处理任务,这样,本技术不需要和现有技术一样,需要通过人工根据主观经验对待处理任务进行手动配置参数调整,避免出现人工操作过程中容易出现由于操作、评估错误所导致的配置参数调整准确度低下、效率低下、耗时费力、不稳定、成本较高的问题,以及人工手动所调整的配置参数具有一定的主观性、片面性和局限性的问题,提高了任务处理的效率和精准度,进而提高了用户体验。44.在一种实现方式中,所述方法还包括:若所述待处理任务执行失败,继续执行所述根据所述任务指纹,确定与所述任务指纹的相似度满足预设条件的目标历史任务的步骤,直至所述待处理任务执行完成。45.在本实施例中,若所述待处理任务执行失败,说明配置参数与待处理任务并不匹配,则可以继续查询新的历史任务的配置参数,比如,可以查询与所述任务指纹的相似度在前一次配置参数对应的相似度之后的历史任务,假设前一次为相似度最高的历史任务对应的配置参数,这可以将相似度第二高的历史任务对应的配置参数作为新的历史任务的配置参数,即继续执行所述根据所述任务指纹,确定与所述任务指纹的相似度满足预设条件的目标历史任务的步骤,直至所述待处理任务执行完成。46.在本技术的一个实施例中,所述方法还包括:若所述待处理任务执行完成,根据所述待处理任务的运行参数以及与所述任务指纹的相似度满足第二预设条件的历史任务的运行参数,对所述配置参数进行调整,得到调整后的配置参数;将所述调整后的配置参数作为所述待处理任务对应的配置参数。47.其中,第二预设条件可以理解为历史任务与待处理任务的任务指纹的相似度大于预设阈值。48.需要说明的是,因为相似任务(即与所述任务指纹的相似度满足第二预设条件的历史任务)的配置参数、运行参数存在不同的情况,因此,可以根据与所述任务指纹的相似度满足第二预设条件的历史任务的运行参数、配置参数与待处理任务对应的运行参数、配置参数,结合机器学习或者是最优参数算法等方式对待处理任务对应的配置参数(即执行待处理任务的配置参数)进行优化处理,得到最优参数,即调整后的配置参数,并将所述调整后的配置参数作为所述待处理任务对应的配置参数进行存储。49.如图2所示的任务处理系统中,系统中的configoptimalize模块可以向jobhistory模块获取待处理任务的任务指纹、配置参数和运行参数,configoptimalize模块可以根据与所述任务指纹的相似度满足第二预设条件的历史任务的运行参数、配置参数与待处理任务对应的运行参数、配置参数,结合机器学习或者是最优参数算法等方式对待处理任务对应的配置参数(即执行待处理任务的配置参数)进行优化处理,得到最优参数,即调整后的配置参数,并将所述调整后的配置参数作为所述待处理任务对应的配置参数进行architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。59.存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。60.在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成任务处理装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本技术任一实施例中提供的任务处理方法。61.上述如本技术图1所示实施例提供的任务处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。62.结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。63.本技术实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本技术任一实施例中提供的任务处理方法,并具体用于执行上述任务处理所述的方法。64.前述各个实施例中所述的电子设备可以为计算机。65.本领域内的技术人员应明白,本技术的实施例可提供为方法或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。66.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。67.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。68.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。当前第1页12当前第1页12
再多了解一些

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

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

相关文献