CN113687818A - 任务执行方法、装置、设备及计算机可读存储介质 - Google Patents
任务执行方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113687818A CN113687818A CN202110944120.7A CN202110944120A CN113687818A CN 113687818 A CN113687818 A CN 113687818A CN 202110944120 A CN202110944120 A CN 202110944120A CN 113687818 A CN113687818 A CN 113687818A
- Authority
- CN
- China
- Prior art keywords
- task
- information
- target task
- component
- executing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 230000003068 static effect Effects 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 15
- 238000013473 artificial intelligence Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本实施例公开了一种任务执行方法、装置、设备及计算机可读存储介质,所述方法包括:从任务描述语言中获取所述目标任务的描述信息,所述描述信息至少包括组件在服务端设备中的来源信息和入口命令,所述组件包括执行所述目标任务所依赖的代码,所述入口命令表示启动所述目标任务的执行过程的命令;根据所述组件的来源信息,从服务端设备获取所述组件;根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
Description
技术领域
本公开涉及任务处理技术,涉及但不限于一种任务执行方法、装置、设备及计算机可读存储介质。
背景技术
目前,对于各种用于数据处理的模型,需要通过执行相应的任务来实现数据采集、数据预处理、模型训练、模型部署等流程,然而,在相关技术中,如何提升任务执行的效率,是亟待解决的技术问题。
发明内容
本公开实施例提供了任务执行方法、装置、设备及计算机可读存储介质。
本公开实施例提供了一种任务执行方法,所述方法包括:
从任务描述语言中获取所述目标任务的描述信息,所述描述信息至少包括组件(Component)在服务端设备中的来源信息和入口命令,所述组件包括执行所述目标任务所依赖的代码,所述入口命令表示启动所述目标任务的执行过程的命令;
根据所述组件的来源信息,从服务端设备获取所述组件;根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
在本公开的一些实施例中,所述描述信息还包括执行所述目标任务所依赖的输入(Input)信息的至少一种属性,所述至少一种属性包括以下至少一项:来源信息、任务依赖信息;所述输入信息包括以下至少一项:输入参数、输入文件;
所述根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务,包括:
根据所述至少一种属性,获取所述输入信息;根据获取的所述组件和所述输入信息,并通过执行所述入口命令,执行所述目标任务。
在本公开的一些实施例中,在获取所述输入信息之前,所述方法还包括:
从任务描述语言中获取所述目标任务的参考信息,所述参考信息包括以下至少一项:预设参数、预设文件;
将所述输入信息的来源信息确定为所述参考信息。
在本公开的一些实施例中,所述描述信息还包括执行所述目标任务所依赖的前置任务的标识;
所述根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务,包括:
在根据所述前置任务的标识确定所述前置任务执行完成的情况下,根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
在本公开的一些实施例中,所述组件还包括执行所述目标任务所依赖的静态数据。
在本公开的一些实施例中,所述描述信息还包括待上传的输出(Output)信息的标识,所述输出信息包括以下至少一项:输出参数、输出文件;
在所述目标任务执行完成后,所述方法还包括:
根据所述待上传的输出信息的标识,在执行所述目标任务得到的输出信息中确定出所述待上传的输出信息;将所述待上传的输出信息上传至所述服务端设备。
在本公开的一些实施例中,在执行所述目标任务的过程中,所述方法还包括:
根据所述服务端设备发送的控制指令,控制所述目标任务的执行状态。
本公开实施例还提出了一种任务执行装置,所述装置包括获取模块和处理模块,其中,
获取模块,用于从任务描述语言中获取所述目标任务的描述信息,所述描述信息至少包括组件在服务端设备中的来源信息和入口命令,所述组件包括执行所述目标任务所依赖的代码,所述入口命令表示启动所述目标任务的执行过程的命令;
处理模块,用于根据所述组件的来源信息,从服务端设备获取所述组件;根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
本公开实施例还提供了一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序以执行上述任意一种任务执行方法。
本公开实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种任务执行方法。
可以看出,本公开实施例可以根据组件的来源信息,与服务端设备进行交互,从服务端设备获取执行目标任务所需要的组件,即,本公开实施例为目标任务的执行提供了数据读取方案,从而有利于提升目标任务执行的效率和便捷性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本公开实施例的任务执行方法的一个流程图;
图2为本公开实施例提出的一个任务流的示意图;
图3为本公开实施例的任务执行方法的另一个流程图;
图4为本公开实施例的任务执行装置的结构示意图;
图5为本公开实施例的电子设备的结构示意图。
具体实施方式
在相关技术中,人工智能模型的生产过程可以包括数据采集、数据预处理、模型训练、模型部署等多个流程,不同的流程会运行在不同的设备上,例如模型训练会在集群分区的图形处理器(Graphics Processing Unit,GPU)运行,模型部署流程会在其它硬件设备上执行,每个流程均需要通过执行相应的任务来实现;为了执行任务,需要获取执行任务所依赖的文件和/或参数,在这种情况下,如何提高任务执行的效率和便捷性,是亟待解决的技术问题。
针对上述技术问题,提出本公开实施例的技术方案。
以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本公开,并不用于限定本公开。另外,以下所提供的实施例是用于实施本公开的部分实施例,而非提供实施本公开的全部实施例,在不冲突的情况下,本公开实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本公开实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
例如,本公开实施例提供的任务执行方法包含了一系列的步骤,但是本公开实施例提供的任务执行方法不限于所记载的步骤,同样地,本公开实施例提供的任务执行装置包括了一系列模块,但是本公开实施例提供的装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
本公开实施例可以应用于任务执行器,任务执行器可以通过终端和/或服务器组成的计算机系统实现。这里,终端可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等,服务器可以是服务器计算机系统小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端、服务器等电子设备可以包括用于执行指令的程序模块。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开实施例提出了一种任务执行方法、装置、设备及计算机可读存储介质,可以应用于自动执行任务流程的系统、软件开发的持续集成(Continuous Integration,CI)系统、软件开发的持续交付(Continuous Delivery,CD)系统、以及人工智能模型的自动化训练系统、自动化测评系统和自动化部署系统,示例性地,在人工智能模型的训练场景中,可以通过本公开实施例的技术方案执行任务以获得训练完成的人工智能模型;在软件开发场景中,可以通过本公开实施例的技术方案行任务以实现软件系统的测试和部署。需要说明的是,上述记载的内容仅仅是对本公开实施例的应用场景的示例性说明,本公开实施例并不局限于此。
图1为本公开实施例的任务执行方法的一个流程图,如图1所示,该流程可以包括:
步骤101:从任务描述语言中获取目标任务的描述信息,描述信息至少包括组件在服务端设备中的来源信息和入口命令,组件包括执行目标任务所依赖的代码,入口命令表示启动目标任务的执行过程的命令。
本公开实施例中,目标任务可以是待执行的任意一种任务,示例性地,目标任务可以是人工智能模型的每个生产流程中的待执行任务,也可以是其它类型的任务;人工智能模型的各个生产流程可以包括数据采集流程、数据预处理流程、模型训练流程或模型部署流程等。
在实际应用中,在确定目标任务后,可以对目标任务的各方面的属性进行归纳总结,从而提出一套完整的任务描述语言。
示例性地,任务描述语言可以采用另外的一种标记语言(Yet Another MarkupLanguage,YAML)格式、JS对象标记(JavaScript Object Notation,JSON)格式或其它标记语言格式描述;YAML是一个可读性高,用来表达数据序列化的格式;YAML的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、以及文件大纲。
示例性地,任务描述语言可以通过JSON Schema工具或其它语法定义工具给出语法定义。
示例性地,组件可以包括用于描述目标任务执行所依赖的代码库。组件在服务端设备的来源信息可以包括以下至少之一:组件服务管理系统的组件、附件服务管理系统的组件、其它外部服务管理系统的组件、空组件;附件服务管理系统用于提供文件的上传、下载等服务。
在一些实施例中,服务端设备可以是云服务平台,可以通过自动连接(Autolink)服务从云服务平台中获取组件服务管理系统的组件、附件服务管理系统的组件或其它外部服务管理系统的组件,也可以通过git服务从云服务平台中获取组件服务管理系统的组件、附件服务管理系统的组件或其它外部服务管理系统的组件,还可以通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)服务从云服务平台中获取组件服务管理系统的组件、附件服务管理系统的组件或其它外部服务管理系统的组件。
在一些实施例中,在服务端设备的来源信息为空组件的情况下,说明不需要从服务端设备获取组件,即,不存在目标任务执行所依赖的代码库。
本公开实施例中,入口命令依赖执行目标任务的环境所支持的语言和语法;在实际应用中,可以由用户填写入口命令;示例性地,在linux系统中,入口命令是一个壳(shell)命令或python命令。
在一些实施例中,可以从任务描述语言中获取目标任务的标识,然后获取目标任务的标识对应的描述信息,即可以获取目标任务的描述信息;示例性地,目标任务的标识可以是名称、身份标识号(Identity Document,ID)或其它类型的标识,本公开实施例中,每个任务都具有独立的标识,不同任务的标识是不相同的。
在一些实施例中,任务描述语言中不仅包括目标任务的描述信息,还可以包括任务描述语言的语法版本(Version);示例性地,任务描述语言的版本为一个整型数字。
步骤102:根据组件的来源信息,从服务端设备获取组件;根据获取的组件,并通过执行入口命令,执行目标任务。
在实际应用中,可以根据组件的来源信息,与服务端设备进行通信,从服务端设备中获取组件;在获取到组件后,便可以执行入口命令,启动目标任务的执行过程,在启动目标任务的执行过程后,根据获取的组件实现目标任务的执行。
在实际应用中,上述步骤101至步骤102可以基于处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal ProcessingDevice,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
可以看出,本公开实施例可以根据组件的来源信息,与服务端设备进行交互,从服务端设备获取执行目标任务所需要的组件,即,本公开实施例为目标任务的执行提供了数据读取方案,从而有利于提升目标任务执行的效率和便捷性。
进一步地,本公开实施例可以针对每个任务提出任务执行方案,即可以在人工智能模型的每个生成流程中实现任务级别的调度,可以使不同流程运行在不同的设备上,便于实现人工智能模型的自动化生产。
进一步地,本公开实施例中的组件便于进行复用,即,针对不同的任务,可以通过任务描述语言中内容,调用同一个组件;如此,可以快速实现人工智能模型的各个生产流程。
在本公开的一些实施例中,上述描述信息还可以包括执行目标任务所依赖的输入信息的至少一种属性,至少一种属性包括以下至少一项:来源信息、任务依赖信息;输入信息包括以下至少一项:输入参数、输入文件。
相应地,根据获取的所组件,并通过执行入口命令,执行目标任务的实现方式,可以包括:根据上述至少一种属性,获取输入信息;根据获取的组件和输入信息,并通过执行入口命令,执行目标任务。
示例性地,在输入信息包括输入参数的情况下,输入参数的类型可以是字符串或其它参数类型;输入参数的来源信息可以是用户指定的参数,输入参数的任务依赖信息用于表示:其它任务执行完成后的输出参数,其它任务表示不同于目标任务的任务,即,可以将其它任务执行完成后的输出参数作为输入参数。
示例性地,在输入信息包括输入文件的情况下,输入文件可以通过远程下载方式获取;在服务端设备是云服务平台的情况下,可以通过自动连接服务从云服务平台中获取附件服务管理系统的文件、外部文件管理服务系统的文件。输入文件的任务依赖信息用于表示:其它任务执行完成后的输出文件,其它任务表示不同于目标任务的任务,即,可以将其它任务执行完成后的输出文件作为输入文件。
示例性地,在获取输入文件后,可以通过Autolink挂载协议或HTTP挂载协议挂载该文件
示例性地,在输入信息包括输入文件的情况下,可以从描述信息中的内联文件中获取输入文件。
可以看出,本公开实施例可以根据输入信息的属性,与服务端设备进行交互,从服务端设备获取输入信息,即,本公开实施例为目标任务的执行提供了输入信息的读取方案,从而有利于提升目标任务执行的效率和便捷性。
在本公开的一些实施例中,上述描述信息还可以包括输入信息的标识,输入信息的标识可以是名称、ID或其它类型的标识。
在本公开的一些实施例中,任务描述语言还可以包括目标任务的参考信息,参考信息包括以下至少一项:预设参数、预设文件,这里,预设参数可以是目标任务的输入信息的参数,预设文件可以是目标任务的输入信息中的文件;即,可以将输入信息的来源信息确定为参考信息。
本公开实施例中,参考信息可以表示目标任务执行时所需的参数和/或文件,示例性地,对于参考信息中的参数和文件,均可以定义名称和值(value)属性。
示例性地,可以通过Autolink挂载协议或HTTP挂载协议挂载参考信息中的文件;也可以从描述信息中的内联文件获取参考信息中的文件。
可以看出,本公开实施例中,由于将输入信息的来源信息确定为参考信息,因此,可以从参考信息中直接获取到输入信息,具有容易实现的特点。
本公开的一些实施例中,上述描述信息还可以包括执行目标任务所依赖的前置任务的标识;相应地,可以在根据所述前置任务的标识确定确定前置任务执行完成的情况下,根据获取的所组件,并通过执行入口命令,执行目标任务。
这里,前置任务表示为了执行目标任务必须执行完成的任务,即,需要等待前置任务执行完成后,才能开始执行目标任务。
示例性地,前置任务的标识可以是名称、ID或其它类型的标识。
示例性地,在前置任务的标识为名称的情况下,可以通过一个任务名数组来描述前置任务的名称。
可以看出,本公开实施例可以在等待前置任务执行完成后,执行目标任务,从而可以根据描述信息中的前置任务的标识,实现目标任务的顺利执行。
本公开的一些实施例中,上述组件还可以包括执行目标任务所依赖的静态数据。
这里,静态数据可以表示在代码运行过程中主要作为控制或参考用的数据,它们在很长的一段时间内不会变化,一般不随代码运行而变。
可以理解地,公开实施例可以根据静态数据的来源信息,与服务端设备进行交互,从服务端设备获取执行目标任务所需要的静态数据,即,本公开实施例为目标任务的执行提供了静态数据的读取方案,从而有利于提升目标任务执行的效率和便捷性。
本公开的一些实施例中,上述描述信息还可以包括待上传的输出信息的标识,所述输出信息包括以下至少一项:输出参数、输出文件;
相应地,在目标任务执行完成后,还可以根据待上传的输出信息的标识,在执行目标任务得到的输出信息中确定出待上传的输出信息;将待上传的输出信息上传至服务端设备。
示例性地,输出信息的标识可以是名称、ID或其它类型的标识。示例性地,在输出信息包括输出参数的情况下,输出参数的类型可以是字符串或其它参数类型。
在一些实施例中,还可以在目标任务执行完成后,将输入信息上传至服务端设备。
可以看出,本公开实施例通过读取任务描述语言的内容,可以与服务端设备进行交互,在服务端设备中至少进行输出信息的写入,便于依赖于目标任务的后置任务利用该输出信息,提高任务执行的效率和便捷性
结合上述记载的内容,可以看出,本公开实施例可以为目标任务的执行提供标准的数据读写方案,从而提高了目标任务的执行效率。
本公开的一些实施例中,在执行目标任务的过程中,还可以根据服务端设备发送的控制指令,控制目标任务的执行状态。
示例性地,可以首先确定启动任务执行器的用户,然后,在获取目标任务的执行请求后,确定目标任务的执行请求中携带的目标用户的信息;在执行目标任务的过程中,可以接收用于指示用户切换的控制指令,然后,可以根据控制指令,可以将执行目标任务的用户由启动任务执行器的用户切换至目标用户。
可以理解地,由于各个用户的数据访问权限存在区别,将执行目标任务的用户由启动任务执行器的用户切换至目标用户,有利于准确在目标任务执行过程中获取到目标用户能够获取的数据。
示例性地,在控制指令为停止执行任务的指令或暂停执行任务的指令的情况下,可以根据控制指令停止或暂停目标任务的执行。
可以看出,本公开实施例可以根据控制指令,方便地实现对目标任务执行过程的按需控制。
下面结合一个实施例对上述任务执行方法的实现方式进行示例性说明。
任务描述语言可以包括语法版本、有向无环图(Directed acyclic graph,Dag)信息和变量(Variable)信息;其中,Dag信息包括需要执行的各个目标任务的描述信息,变量信息可以包括需要执行的各个目标任务的参考信息;变量信息为可选信息。
Dag信息为描述目标任务或任务流(包括按顺序执行的多个目标任务)的关键信息;示例性地,可以将Dag信息定义为一个字典,字典的各个键表示需要执行各个目标任务的名称,字典的每个键为一个字符串;与字典的每个键对应的值为相应目标任务的描述信息。
示例性地,目标任务的描述信息可以包括组件在服务端设备中的来源信息、Entrypoint信息、Dependson信息、输入信息的属性、待上传的输出信息的名称;这里,Entrypoint信息为上述入口命令,Dependson信息为前置任务的标识;Dependson信息、输入信息的属性、以及待上传的输出信息的名称为可选的信息。
示例性地,在输入信息包括输入参数的情况下,输入参数的属性可以包括参数的名称,还可以包括下至少一项:来源信息、任务依赖信息。
作为一种实现方式,输入参数的来源信息可以是变量信息中的内容,从变量信息中获取输入参数的格式为:“from:variable.parameter.param1”,其中param1为变量信息中定义的参数名
作为一种实现方式,输入参数的任务依赖信息可以是Dag信息中任意一个任务的输出参数,文本“dependson:job1.output.parameter.param2”表示从名称为job1的任务的输出参数中获取参数名为param2的值。
作为一种实现方式,输入文件的来源信息可以是变量信息中的内容,从变量信息中获取输入文件的格式为:“from:variable.artifact.param3”,其中param3为变量信息中定义的参数名
作为一种实现方式,输入文件的任务依赖信息可以是Dag信息中任意一个任务的输出文件,文本“dependson:ob1.output.artifact.param4”表示从名称为job1的任务的输出文件中获取名称为param4的文件。
可以看出,如果在任务描述语言中存在用户定义的任务依赖信息,那么,目标任务需要在名称为job1的任务执行完成后才能开始执行,相当于隐式定义了一个任务依赖关系。
参照图2,任务1、任务2、任务3、任务4和任务5表示需要执行的5个目标任务,其中,任务1的名称为hello,任务2的名称为param-out,任务3的名称为param-in,任务4的名称为arti-out,任务5的名称为arti-in,图2中,任务1、任务2、任务3、任务4和任务5按照执行顺序和数据流传递关系组织形成一个有向无环图。
这里,执行任务1所依赖的输入参数的名称为name,执行任务1所依赖的输入参数的值来自于变量信息中的hello-name选项定义;任务1对应的待上传的输出参数的名称为say,任务1对应的入口命令为sh hello.sh,任务1对应的组件的来源信息为:autolink://component/pavi@example/ref:master/set:hello。
执行任务2所述目标任务所依赖的前置任务的名称为hello,任务2对应的待上传的输出参数的名称为out1。
执行任务3所依赖的输入信息的任务依赖信息为:任务2的输出参数中参数名为out1的值。
执行任务4所述目标任务所依赖的前置任务的名称为hello,任务4对应的待上传的输出参数的名称为out2。
执行任务5所依赖的输入信息的任务依赖信息为:任务4的输出参数中参数名为out2的值。
示例性地,对于任务1至任务5,任务描述语言可以为如下内容:
在得到任务描述语言后,可以利用JSON Schema工具针对上述任务描述语言给出如下语法定义:
本公开实施例中,任务执行器可以在电子设备上通过任务描述语言驱动来执行任务。图3为本公开实施例的任务执行方法的另一个流程图,如图3所示,该流程可以包括:
步骤301:获取并解析任务描述语言,得到解析结果。
步骤302:创建目标任务的工作空间。
这里,目标任务的工作空间至少用于表示执行目标任务所需的存储空间。
步骤303:根据解析结果获取目标任务对应的组件、以及执行目标任务所依赖的输入信息。
本步骤的实现方式已经在前述记载的内容中作出说明,这里不再赘述。
步骤304:从解析结果中获取目标任务对应的入口命令,执行获取的入口命令。
步骤305:在目标任务的执行过程中,向服务端设备上传目标任务执行过程的日志和任务执行状态。
步骤306:将待上传的输出信息上传至所述服务端设备。
步骤307:清理任务工作空间。
在前述实施例提出的任务执行方法的基础上,本公开实施例还提出了一种任务执行装置。
图4为本公开实施例的任务执行装置的结构示意图,如图4所示,该装置可以包括:获取模块401和处理模块402,其中,
获取模块401,用于从任务描述语言中获取所述目标任务的描述信息,所述描述信息至少包括组件在服务端设备中的来源信息和入口命令,所述组件包括执行所述目标任务所依赖的代码,所述入口命令表示启动所述目标任务的执行过程的命令;
处理模块402,用于根据所述组件的来源信息,从服务端设备获取所述组件;根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
在一些实施例中,所述描述信息还包括执行所述目标任务所依赖的输入信息的至少一种属性,所述至少一种属性包括以下至少一项:来源信息、任务依赖信息;所述输入信息包括以下至少一项:输入参数、输入文件;
所述处理模块402,具体用于根据所述至少一种属性,获取所述输入信息;根据获取的所述组件和所述输入信息,并通过执行所述入口命令,执行所述目标任务。
在一些实施例中,所述处理模块402,还用于在获取所述输入信息之前,从任务描述语言中获取所述目标任务的参考信息,将所述输入信息的来源信息确定为所述参考信息;所述参考信息包括以下至少一项:预设参数、预设文件。
在一些实施例中,所述描述信息还包括执行所述目标任务所依赖的前置任务的标识;
所述处理模块402,具体用于在根据所述前置任务的标识确定所述前置任务执行完成的情况下,根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
在一些实施例中,所述组件还包括执行所述目标任务所依赖的静态数据。
在一些实施例中,所述描述信息还包括待上传的输出信息的标识,所述输出信息包括以下至少一项:输出参数、输出文件;
所述处理模块402,还用于在所述目标任务执行完成后,根据所述待上传的输出信息的标识,在执行所述目标任务得到的输出信息中确定出所述待上传的输出信息;将所述待上传的输出信息上传至所述服务端设备。
在一些实施例中,所述处理模块402,还用于在执行所述目标任务的过程中,根据所述服务端设备发送的控制指令,控制所述目标任务的执行状态。
上述获取模块401和处理模块402可以基于处理器实现。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种任务执行方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种任务执行方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种任务执行方法。
基于前述实施例相同的技术构思,参见图5,其示出了本发明实施例提供的一种电子设备50,可以包括:存储器51、处理器52及存储在存储器51上并可在处理器52上运行的计算机程序;其中,
存储器51,用于存储计算机程序和数据;
处理器52,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种任务执行方法。
在实际应用中,上述存储器51可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器52提供指令和数据。
上述处理器52可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
本公开所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本公开所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本公开所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种任务执行方法,其特征在于,所述方法包括:
从任务描述语言中获取所述目标任务的描述信息,所述描述信息至少包括组件在服务端设备中的来源信息和入口命令,所述组件包括执行所述目标任务所依赖的代码,所述入口命令表示启动所述目标任务的执行过程的命令;
根据所述组件的来源信息,从服务端设备获取所述组件;根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
2.根据权利要求1所述的方法,其特征在于,所述描述信息还包括执行所述目标任务所依赖的输入信息的至少一种属性,所述至少一种属性包括以下至少一项:来源信息、任务依赖信息;所述输入信息包括以下至少一项:输入参数、输入文件;
所述根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务,包括:
根据所述至少一种属性,获取所述输入信息;根据获取的所述组件和所述输入信息,并通过执行所述入口命令,执行所述目标任务。
3.根据权利要求2写所述的方法,其特征在于,在获取所述输入信息之前,所述方法还包括:
从任务描述语言中获取所述目标任务的参考信息,所述参考信息包括以下至少一项:预设参数、预设文件;
将所述输入信息的来源信息确定为所述参考信息。
4.根据权利要求1所述的方法,其特征在于,所述描述信息还包括执行所述目标任务所依赖的前置任务的标识;
所述根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务,包括:
在根据所述前置任务的标识确定所述前置任务执行完成的情况下,根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
5.根据权利要求1所述的方法,其特征在于,所述组件还包括执行所述目标任务所依赖的静态数据。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述描述信息还包括待上传的输出信息的标识,所述输出信息包括以下至少一项:输出参数、输出文件;
在所述目标任务执行完成后,所述方法还包括:
根据所述待上传的输出信息的标识,在执行所述目标任务得到的输出信息中确定出所述待上传的输出信息;将所述待上传的输出信息上传至所述服务端设备。
7.根据权利要求1至5任一项所述的方法,其特征在于,在执行所述目标任务的过程中,所述方法还包括:
根据所述服务端设备发送的控制指令,控制所述目标任务的执行状态。
8.一种任务执行装置,其特征在于,所述装置包括获取模块和处理模块,其中,
获取模块,用于从任务描述语言中获取所述目标任务的描述信息,所述描述信息至少包括组件在服务端设备中的来源信息和入口命令,所述组件包括执行所述目标任务所依赖的代码,所述入口命令表示启动所述目标任务的执行过程的命令;
处理模块,用于根据所述组件的来源信息,从服务端设备获取所述组件;根据获取的所述组件,并通过执行所述入口命令,执行所述目标任务。
9.一种电子设备,其特征在于,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序以执行权利要求1至7任一项所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110944120.7A CN113687818A (zh) | 2021-08-17 | 2021-08-17 | 任务执行方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110944120.7A CN113687818A (zh) | 2021-08-17 | 2021-08-17 | 任务执行方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113687818A true CN113687818A (zh) | 2021-11-23 |
Family
ID=78580261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110944120.7A Pending CN113687818A (zh) | 2021-08-17 | 2021-08-17 | 任务执行方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113687818A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258561A (zh) * | 2020-01-10 | 2020-06-09 | 北京慧博科技有限公司 | 一种软件自动化编译部署启动监控的方法 |
CN112256318A (zh) * | 2020-10-26 | 2021-01-22 | 上海云轴信息科技有限公司 | 一种用于依赖产品的构建方法及设备 |
WO2021088909A1 (zh) * | 2019-11-06 | 2021-05-14 | 第四范式(北京)技术有限公司 | 辅助算子开发的方法和系统 |
-
2021
- 2021-08-17 CN CN202110944120.7A patent/CN113687818A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021088909A1 (zh) * | 2019-11-06 | 2021-05-14 | 第四范式(北京)技术有限公司 | 辅助算子开发的方法和系统 |
CN111258561A (zh) * | 2020-01-10 | 2020-06-09 | 北京慧博科技有限公司 | 一种软件自动化编译部署启动监控的方法 |
CN112256318A (zh) * | 2020-10-26 | 2021-01-22 | 上海云轴信息科技有限公司 | 一种用于依赖产品的构建方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279932B (zh) | 一种移动终端动态配置用户界面方法和装置 | |
CN108319547B (zh) | 测试用例生成方法、装置和系统 | |
CN108964968B (zh) | 一种容器云环境下的服务接入管理方法和系统 | |
CN109448100B (zh) | 三维模型格式转换方法、系统、计算机设备及存储介质 | |
US9015657B2 (en) | Systems and methods for developing and delivering platform adaptive web and native application content | |
US10824401B2 (en) | Method and system for automated creation of graphical user interfaces | |
CN108304676B (zh) | 装配体三维模型自动重建方法、终端设备及存储介质 | |
WO2020015191A1 (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
CN112612452B (zh) | 一种api平台实现方法、装置、设备及存储介质 | |
CN113704110A (zh) | 用户界面的自动化测试方法及装置 | |
CN112527459A (zh) | 一种基于Kubernetes集群的日志分析方法及装置 | |
CN115237436A (zh) | 应用部署方法、装置、电子设备及可读存储介质 | |
CN112052011A (zh) | 小程序的合包方法、装置、电子设备及介质 | |
CN109766123B (zh) | 应用程序封装方法及装置 | |
CN116450202A (zh) | 页面配置方法、装置、计算机设备及计算机可读存储介质 | |
CN110020370B (zh) | 在客户端应用中实现动画的方法、装置及动画脚本的框架 | |
CN113687818A (zh) | 任务执行方法、装置、设备及计算机可读存储介质 | |
CN113268232A (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
CN116501317A (zh) | 页面的生成方法和装置、存储介质及电子设备 | |
CN113610242A (zh) | 数据处理方法、装置和服务器 | |
CN104598223B (zh) | 一种网络建模语言解析方法及装置 | |
CN113434143A (zh) | iOS应用界面布局装置及方法 | |
CN110704742B (zh) | 一种特征提取方法及装置 | |
CN114239095A (zh) | 产品定制模块的生成方法及装置、电子设备、存储介质 | |
CN112698918A (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 |