CN110750308B - 任务处理方法、装置、存储介质及电子设备 - Google Patents
任务处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110750308B CN110750308B CN201910860711.9A CN201910860711A CN110750308B CN 110750308 B CN110750308 B CN 110750308B CN 201910860711 A CN201910860711 A CN 201910860711A CN 110750308 B CN110750308 B CN 110750308B
- Authority
- CN
- China
- Prior art keywords
- task
- data
- execution
- information
- execution result
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000011144 upstream manufacturing Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001960 triggered effect Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 210000001503 joint Anatomy 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 239000003292 glue Substances 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- 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/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种任务处理方法、装置、存储介质及电子设备。所述方法包括:响应于获得第一任务的执行结果,从与第一任务对应的配置项中获取目标配置信息,第一任务通过第一数据源获取第一任务所需数据,且第一任务的执行结果为第一数据格式;根据目标配置信息,将第一任务的执行结果转换为第二数据格式的输出结果,第二数据格式与第二任务所需输入数据的格式相同,第二任务通过第二数据源获取第二任务所需数据,在任务流信息所指示的任务间数据流向上,第二任务为第一任务的下一任务,第一数据源与第二数据源不同;将输出结果作为第一任务的输出数据。这样,无需借助第三方工具或代码,实现跨数据源任务对接,处理效率高,节省存储空间。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种任务处理方法、装置、存储介质及电子设备。
背景技术
随着大数据时代的来临,数据处理平台越来越多,例如时序数据库、 Hbase、Hive等,每一种数据处理平台的数据处理任务(或者,处理程序) 可能来自不同的数据源,其数据格式不尽相同。因此,平台与平台之间来自不同数据源的数据处理任务无法直接形成链路,例如,Hive处理程序的结果无法直接输入至MySQL中用作MySQL处理程序的输入,不同数据源之间的任务对接存在问题。
相关技术中,利用胶水语言连接来自不同数据源的数据处理任务,并且,在跨数据源的数据处理任务之间设置程序转换,以使前一数据处理任务的结果能够用于下一数据处理任务。而程序转换往往需要借助存储介质,这样会造成存储空间不必要的浪费,且稳定性不高。
发明内容
本公开的目的是提供一种任务处理方法、装置、存储介质及电子设备,以实现高效任务调度。
为了实现上述目的,根据本公开的第一方面,提供一种任务处理方法,所述方法包括:
响应于获得第一任务的执行结果,从与所述第一任务对应的配置项中获取目标配置信息,其中,所述第一任务通过第一数据源获取第一任务所需数据,且所述第一任务的执行结果为第一数据格式;
根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,其中,所述第二数据格式与第二任务所需输入数据的格式相同,所述第二任务通过第二数据源获取第二任务所需数据,以及,在任务流信息所指示的任务间数据流向上,所述第二任务为所述第一任务的下一任务,所述第一数据源与所述第二数据源不同;
将所述输出结果作为所述第一任务的输出数据。
可选地,所述方法还包括:
获取用户通过图形用户界面输入的所述任务流信息,所述任务流信息包括各任务的上游任务和/或下游任务;
获取所述用户通过所述图形用户界面针对各个任务输入的配置项;
存储所述任务流信息和所述配置项。
可选地,所述配置项还包括用于指示开始执行任务需要满足的任务执行条件,所述任务执行条件包括:任务的上游任务正常执行完毕,和/或,到达任务的执行时间;
所述方法还包括:
根据所述任务流信息,在满足与所述第一任务对应的任务执行条件的情况下,执行所述第一任务,以获得所述第一任务的所述执行结果。
可选地,所述方法还包括:
响应于接收到用户通过图形用户界面触发的任务状态查看指令,获取所述任务流信息;
获取所述任务流中各个任务的任务状态信息,所述任务状态信息用于反映任务的执行情况;
将所述任务流信息和所述任务状态信息返回至所述图形用户界面,以使所述图形用户界面进行任务状态展示。
可选地,响应于获得所述第一任务的所述执行结果,所述方法还包括:
判断所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式是否相同;
若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式相同,则将所述第一任务的所述执行结果作为所述第一任务的输出数据;
若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式不同,则执行所述从与所述第一任务对应的配置项中获取目标配置信息,以及,所述根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,以及,所述将所述输出结果作为所述第一任务的输出数据的步骤。
根据本公开的第二方面,提供一种任务处理装置,所述装置包括:
第一获取模块,用于响应于获得第一任务的执行结果,从与所述第一任务对应的配置项中获取目标配置信息,其中,所述第一任务通过第一数据源获取第一任务所需数据,且所述第一任务的执行结果为第一数据格式;
转换模块,用于根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,其中,所述第二数据格式与第二任务所需输入数据的格式相同,所述第二任务通过第二数据源获取第二任务所需数据,以及,在任务流信息所指示的任务间数据流向上,所述第二任务为所述第一任务的下一任务,所述第一数据源与所述第二数据源不同;
第一数据确定模块,用于将所述输出结果作为所述第一任务的输出数据。
可选地,所述装置还包括:
第二获取模块,用于获取用户通过图形用户界面输入的所述任务流信息,所述任务流信息包括各任务的上游任务和/或下游任务;
第三获取模块,用于获取所述用户通过所述图形用户界面针对各个任务输入的配置项;
存储模块,用于存储所述任务流信息和所述配置项。
可选地,所述配置项还包括用于指示开始执行任务需要满足的任务执行条件,所述任务执行条件包括:任务的上游任务正常执行完毕,和/或,到达任务的执行时间;
所述装置还包括:
任务执行模块,用于根据所述任务流信息,在满足与所述第一任务对应的任务执行条件的情况下,执行所述第一任务,以获得所述第一任务的所述执行结果。
可选地,所述装置还包括:
第四获取模块,用于响应于接收到用户通过图形用户界面触发的任务状态查看指令,获取所述任务流信息;
第五获取模块,用于获取所述任务流中各个任务的任务状态信息,所述任务状态信息用于反映任务的执行情况;
信息发送模块,用于将所述任务流信息和所述任务状态信息返回至所述图形用户界面,以使所述图形用户界面进行任务状态展示。
可选地,所述装置还包括:
判断模块,用于响应于获得所述第一任务的所述执行结果,判断所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式是否相同;
第二数据确定模块,用于若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式相同,则将所述第一任务的所述执行结果作为所述第一任务的输出数据;
所述装置用于若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式不同,则
触发所述第一获取模块响应于获得第一任务的执行结果,从与所述第一任务对应的配置项中获取目标配置信息,以及,触发所述转换模块根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,以及,触发所述第一数据确定模块将所述输出结果作为所述第一任务的输出数据。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,响应于获得第一任务的执行结果,从与第一任务对应的配置项中获取目标配置信息,根据目标配置信息,将第一任务的执行结果转换为输出结果,并将输出结果作为第一任务的输出数据。其中,第一任务通过第一数据源获取所需数据,其执行结果为第一数据格式,输出结果为第二数据格式,且第二数据格式与第二任务所需输入数据的格式相同,第二任务通过第二数据源获取所需数据,第一数据源与第二数据源不同,以及,在任务流信息所指示的任务间数据流向上,第二任务为第一任务的下一任务。由此,当一个任务执行完毕后,对该任务的执行结果进行转换以得到输出结果并输出,使该任务的输出符合该任务的下一任务的输入要求,可直接作为下一任务的输入数据。这样,无需借助第三方工具或代码,即可实现跨数据源任务处理,不仅处理效率高,且节省存储空间。并且,对于每个任务的执行结果,均能够根据预先配置的配置信息进行自动转换后再输出,可提升整体的任务处理效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的任务处理方法的流程图;
图2是图形用户界面的一种示例性示意图;
图3是图形用户界面的另一种示例性示意图;
图4是图形用户界面的另一种示例性示意图;
图5是图形用户界面的另一种示例性示意图;
图6是图形用户界面的另一种示例性示意图;
图7是根据本公开的一种实施方式提供的任务处理方法的实施过程示意图;
图8是根据本公开的一种实施方式提供的任务处理装置的框图;
图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
随着大数据时代的来临,数据处理平台越来越多,例如时序数据库、 Hbase、Hive等,每一种数据处理平台的数据处理任务(或者,处理程序) 可能来自不同的数据源,其数据格式不尽相同。因此,平台与平台之间来自不同数据源的数据处理任务无法直接形成链路,例如,Hive处理程序的结果无法直接输入至MySQL中用作MySQL处理程序的输入,不同数据源之间的任务对接存在问题。
相关技术中,利用胶水语言连接来自不同数据源的数据处理任务,并且,对于跨数据源的数据处理任务之间设置程序转换,以使前一数据处理任务的结果能够用于下一数据处理任务。而程序转换往往需要借助存储介质,这样会造成存储空间不必要的浪费,且稳定性不高。另外,胶水语言十分繁琐,在实现任务调度时还需要多掌握一种程序语言,对用户要求较高,并且,随着业务量增多,脚本也会越来越多,管理上存在困难。
为了解决相关技术中的问题,更高效且简单地实现对数据处理任务的处理,本公开提出了一种任务处理方法、装置、存储介质及电子设备。
图1是根据本公开的一种实施方式提供的任务处理方法的流程图。如图 1所示,该方法可以包括以下步骤。其中,在未做其他说明的情况下,本文所提到的任务均相当于数据处理任务。
在步骤11中,响应于获得第一任务的执行结果,从与第一任务对应的配置项中获取目标配置信息。
其中,第一任务通过第一数据源获取第一任务所需数据,第一任务的执行结果为第一数据格式。配置项可以是由用户输入的,任务对应的配置项可以例如包括任务的执行时间、任务执行条件、任务是否为根节点任务、任务的配置信息等。任务执行条件用于指示开始执行任务所需要满足的条件。任务的配置信息可以包括字段名、字段类型等信息,用于配置任务的输出格式,示例地,任务的配置信息可以为结构体形式。
在步骤12中,根据目标配置信息,将第一任务的执行结果转换为第二数据格式的输出结果。
其中,任务流信息可以用于指示任务间的数据流向,可以包括各任务的上游任务和/或下游任务。第二数据格式与第二任务所需输入数据的格式相同,第二任务通过第二数据源(第二数据源与第一数据源不同)获取第二任务所需数据,以及,在任务流信息所指示的任务间数据流向上,第二任务为第一任务的下一任务。
在步骤13中,将输出结果作为第一任务的输出数据。
经过步骤12后,经第一任务的执行结果转换得到的输出结果的数据格式与第二任务所需输入数据的格式相同,因此,将该输出结果作为第一任务的输出数据后,可直接用作第二任务的输入数据。
通过上述技术方案,响应于获得第一任务的执行结果,从与第一任务对应的配置项中获取目标配置信息,根据目标配置信息,将第一任务的执行结果转换为输出结果,并将输出结果作为第一任务的输出数据。其中,第一任务通过第一数据源获取所需数据,其执行结果为第一数据格式,输出结果为第二数据格式,且第二数据格式与第二任务所需输入数据的格式相同,第二任务通过第二数据源获取所需数据,第一数据源与第二数据源不同,以及,在任务流信息所指示的任务间数据流向上,第二任务为第一任务的下一任务。由此,当一个任务执行完毕后,对该任务的执行结果进行转换以得到输出结果并输出,使该任务的输出符合该任务的下一任务的输入要求,可直接作为下一任务的输入数据。这样,无需借助第三方工具或代码,即可实现跨数据源任务对接,不仅处理效率高,且节省存储空间。并且,对于每个任务的执行结果,均能够根据预先配置的配置信息进行自动转换后再输出,可提升整体的任务处理效率。
为了使本领域技术人员更加理解本发明实施例提供的技术方案,下面对上文中的相应步骤或应用场景进行详细的说明。
在本公开的应用场景中,共分为三个阶段,分别是任务创建阶段、任务调度阶段、任务执行阶段。其中,在任务创建阶段成功创建的任务可供任务调度阶段调度,在任务调度阶段确定调度方式后,任务执行阶段即可按照该调度方式对各任务调度执行。
在任务创建阶段,可以获取用户输入的任务信息,该任务信息可以用于创建任务。其中,任务信息可以例如为任务的service名称、任务标签信息 (如,任务名称、组名称等)、服务部署信息(如,代码地址、服务器的部署路径、部署环境、部署服务器的启停动作、需要部署的机器等)、数据源信息等。在获取到用户输入的任务信息后,可以保存该任务信息,示例地,对于不同的任务,可以以任务标识(例如,任务名称、任务ID)区分存储任务信息。之后,若获取到用户输入的针对某任务的部署指令,则根据已存储的该任务的任务信息部署、运行该任务,若能成功编译,则该任务创建成功。示例地,根据数据源的不同,所创建的任务可以为Spark任务、Hive任务、MapReduce任务等。
在任务调度阶段,以创建成功的任务为基础,用户可以根据需求确定针对这些任务的调度方式,该调度方式可以形成为任务流信息。任务流信息可以用于指示任务间的数据流向,任务流信息包括各任务的上游任务和/或下游任务,这里提到的任务是指任务流信息所涉及到的任务,可以包含全部的创建成功的任务,或者,可以包含全部的创建成功的任务的一部分。
另外,用户还可以根据需求确定针对任务的配置项。其中,任务对应的配置项可以例如包括任务的执行时间、任务执行条件、任务是否为根节点任务、任务的配置信息等。
其中,若任务配置项中包含任务执行条件,在任务执行阶段,若满足任务执行条件,可以执行该任务,而若不满足该任务执行条件,则无法执行该任务。任务执行条件可以包括:任务的上游任务正常执行完毕,和/或,到达任务的执行时间。其中,任务正常执行完毕可以认为是任务执行过程中无异常、且能够正常输出数据。示例地,若任务存在上游任务,任务执行条件可以为任务的上游任务正常执行完毕。再例如,若任务存在上游任务,任务执行条件可以包括任务的上游任务正常执行完毕和到达任务的执行时间。再例如,若任务不存在上游任务,任务执行条件可以为到达任务的执行时间。其中,若任务存在多个上游任务,则任务的上游任务正常执行完毕指的是任务的所有上游任务均正常执行完毕。
任务的配置信息可以包括字段名、字段类型等信息,用于配置任务的输出格式,示例地,任务的配置信息可以为结构体形式。在执行任务并得到任务的执行结果后,结合任务的配置信息可以将该执行结果转换为该格式输出,从而可以将转换后的数据作为该任务的输出数据。在任务调度阶段,获取用户输入的任务流信息以及用户针对各个任务输入的配置项后,可以存储该任务流信息和配置项。
在任务执行阶段,是根据在任务调度阶段所存储的任务流信息以及各任务的配置项,执行相应的任务,并在得到一任务的执行结果后,调取该任务对应配置项的配置信息,将执行结果转换为配置信息对应的格式并输出。
由上文可知,步骤11~步骤13处于任务执行阶段,而若要进入任务执行阶段,还需要先经过任务创建阶段和任务调度阶段。因此,在一种可能的实施方式中,在执行任务、得到任务的执行结果之前,本公开提供的方法还可以包括以下步骤:
获取用户通过图形用户界面输入的任务流信息;
获取用户通过图形用户界面针对各个任务输入的配置项;
存储任务流信息和配置项。
其中,图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面,可以包括文本框、下拉菜单等多种元素供用户操作。图形用户界面可以提供多种任务供用户选择,可供选择的任务就是在任务创建阶段成功创建的任务,在任务创建阶段编译成功的任务可以被识别,并在任务调度阶段作为可选择的任务。示例地,能够被识别的任务在图形用户界面中可以以下拉菜单的形式供用户选择。用户可以通过鼠标操作实现对任务的操作,例如,拖拽任务以调整任务位置。用户基于这些任务输入任务流信息,也就是用户在图形用户界面操作以确定各个任务的上游任务和/或下游任务,任务流信息可以反映用户设计的任务调度链路。其中,每个任务可以以任务标识(例如,任务名称、任务编号等,具有唯一性)进行区分。示例地,用户输入任务流信息时的图形用户界面可以如图2所示,其中,编号为70212的任务存在3个下游任务,分别是编号为70004、70223和70224的任务。示例地,任务流信息可以仅包括各任务的下游任务,或者,任务流信息可以仅包括各任务的上游任务。基于用户在图形用户界面的操作,即可获取用户通过图形用户界面输入的任务流信息。
由上文所述,可供用户在任务调度阶段选择的任务是在任务创建阶段创建成功的任务,在任务创建阶段,获取用户输入的任务信息,用于创建任务。示例地,在上述步骤所处任务调度阶段之前的任务创建阶段,用户输入任务信息时的图形用户界面可以如图3、图4所示,其中,图3可供用户输入为任务的service名称、任务标签信息,图4可供用户输入服务部署信息。在任务信息获取完毕后,可以通过图形用户界面向用户展示各任务的任务信息,同时为用户提供操作入口(例如,部署、编辑、删除、信息查看等)以及展示部署状态(例如,编译成功、编译失败、编译中),以便用户通过该部署入口输入针对任务的部署指令同时查看任务的部署状态。示例地,操作入口可以被提供为按钮。示例地,展示任务信息的图形用户界面可以如图5 所示。
针对每一被选中的任务,用户还可以通过图形用界面输入配置项。任务对应的配置项可以例如包括任务的执行时间、任务执行条件、任务是否为根节点任务、任务的配置信息等。用户可以在图形用户界面选中某一任务,以输入或编辑该任务的配置项。图形用户界面可以包括文本框、下拉菜单等多种可供用户操作的预先定义的配置项。以图2为例,编号为70212的任务处于被选中状态(其方框显示勾选状态),用户可通过界面左上角的业务日期文本框输入任务的执行时间。通过图形用户界面的其他配置项入口,还可以输入或编辑任务的其他配置项,例如执行条件、任务是否为根节点任务、任务的配置信息等。基于用户在图形用户界面对配置项的输入或编辑,即可获取用户通过图形用户界面针对各个任务输入的配置项。
在获取到任务流信息和各个任务的配置项后,可以存储该任务流信息和各任务的配置项,作为在后续任务执行阶段的调度依据。
示例地,在上述图形用户界面中可以设置有提交按钮,如图2中右下角所示,在用户点击提交按钮之后,基于用户此前的操作及输入,存储任务流信息和各任务的配置项,并可以进入任务执行阶段。
采用上述方式,用户可通过图形用户界面设计针对任务的调度方式,用作后续任务执行的调度依据,通过图形用户界面的方式简单直观,可操作性强,可直接通过鼠标拖拽完成任务调度链路的设计,无需利用胶水语言编写代码以连接各任务,提升简便性与处理效率。
在一种可能的实施方式中,配置项可以包括任务执行条件。以及,本公开提供的方法还可以包括以下步骤:
根据任务流信息,在满足与第一任务对应的执行条件的情况下,执行第一任务,以获得第一任务的执行结果。
在一种可能的实施例中,若任务执行条件为任务的上游任务正常执行完毕,则在任务流信息所指示的第一任务的上游任务正常执行完毕的情况下,确定满足与第一任务对应的任务执行条件。从而,在满足与第一任务对应的执行条件的情况下,执行第一任务,以获得第一任务的执行结果。
在另一种可能的实施例中,若任务执行条件为任务的上游任务正常执行完毕和到达任务的执行时间,则在任务流信息所指示的第一任务的上游任务正常执行完毕且到达任务的执行时间的情况下,确定满足与第一任务对应的任务执行条件。从而,在满足与第一任务对应的执行条件的情况下,执行第一任务,以获得第一任务的执行结果。
在另一种可能的实施例中,若任务执行条件为到达任务的执行时间(此时,根据任务流信息可知第一任务不存在上游任务),则在到达第一任务的执行条件的情况下,确定满足与第一任务对应的任务执行条件。从而,在满足与第一任务对应的执行条件的情况下,执行第一任务,以获得第一任务的执行结果。
示例地,以图2中所示的任务调度链路为例,若编号为70212的任务执行条件为时间到达任务的执行时间,且编号为70212的任务的执行时间为每天12:00,则每到12:00就执行该任务,从而得到该任务的执行结果。再例如,若图2中编号为70004的任务执行条件为其上游任务正常执行完毕,而该任务的上游任务仅有编号为70212的任务,则每当编号为70212的任务执行完毕得到执行结果后,就执行编号为70004的任务。
在一种可能的实施方式中,本公开提供的方法还可以包括以下步骤:
响应于接收到用户通过图形用户界面触发的任务状态查看指令,获取任务流信息;
获取任务流信息中各个任务的任务状态信息;
将任务流信息和任务状态信息返回至图形用户界面,以使图形用户界面进行任务状态展示。
若接收到用户通过图形用户界面触发的任务状态查看指令,则可以获取任务流信息,并获取任务流信息中各个任务的任务状态信息。其中,任务流信息可反映各任务之间的数据流向,任务状态信息可以用于反映任务的执行情况,例如,正常执行、执行异常、未执行。之后,将任务流信息和任务状态信息返回至图形用户界面,以使图形用户界面进行任务状态展示。其中,执行情况不同的任务可以在图形用户界面中区分展示,例如,展示为不同的颜色、展示为不同的形状、展示为不同的填充内容(例如,图案填充、色彩填充等)。示例地,若以不同颜色区分展示执行情况不同的任务,则可令正常执行的任务展示为蓝色、执行异常的任务展示为红色、未执行的任务展示为黄色。示例地,任务状态展示的图形用户界面可以如图6所示,其中,任务框内填充为白色表示正常执行,任务框内填充为黑色表示执行异常,任务框内以点状填充表示未执行。由图6可知,任务table_b和任务table_3执行异常,而任务table_5未执行,其他的任务均正常执行。由此,可直观查看任务的状态,也可用于分析任务执行故障的原因。若在任务均未执行的情况下接收到任务状态查看指令,则图形用户界面中展示的任务状态均对应于任务的未执行状态。
采用上述方式,通过图形用户界面展示任务流信息以及任务状态信息,可向用户展示任务数据流向以及各个任务的执行情况,直观且清楚,便于用户分析。另外,在任务未执行的情况下也可以供用户查看,无需等待任务执行,应用范围更广。
另外,在一种可能的实施方式中,响应于获得第一任务的执行结果,本公开提供的方法还可以包括以下步骤:
判断第二任务所需输入数据的数据格式与第一任务的执行结果的数据格式是否相同;
若第二任务所需输入数据的数据格式与第一任务的执行结果的数据格式相同,则将第一任务的执行结果作为第一任务的输出数据;
若第二任务所需输入数据的数据格式与第一任务的执行结果的数据格式不同,则执行步骤11、步骤12以及步骤13。
也就是说,在得到第一任务的执行结果后,首先判断该执行结果是否能够直接作为下一任务的输入数据,例如,通过比较第二任务所需输入数据的数据格式与第一任务的执行结果的数据格式是否相同进行判断。示例地,判断第二任务所需输入数据的数据格式与第一任务的执行结果的数据格式是否相同,可以通过比较第一任务和第二任务的数据源是否相同来实现,其中,与任务的数据源有关的信息可以存储于任务信息中。若第二任务所需输入数据的数据格式与第一任务的执行结果的数据格式相同,说明第一任务的执行结果能够直接作为第二任务的输入数据,因此,无需转换,可直接将第一任务的执行结果作为第一任务的输出数据;若第二任务所需输入数据的数据格式与第一任务的执行结果的数据格式不同,说明第一任务的执行结果无法直接作为第二任务的输入数据,因此,需要借助配置项中的配置信息进行转换,得到输出结果,并将输出结果作为第一任务的输出数据。
采用上述方式,在进行数据格式转换之前,增加判断操作,仅在需要进行数据转换时才调用任务对应的配置项的配置信息用于转换数据,同时保证任务输出可直接用作下一任务的输入,提升任务执行效率。
需要说明的是,在本公开提供的任务处理方法中,每一任务均可以作为第一任务实施本公开提供的任务处理方法。并且,本公开所提到的第一、第二等描述仅用作区分,并不唯一指代某一任务。
在一种可能的实施方式中,上述任务处理方法的实施过程示意图可以如图7所示,用户可以通过图形用户界面输入上述的任务信息,数据输入模块在接收到用户通过图形用户界面输入的部署指令后,基于任务信息对任务进行编译,编译成功的任务即被成功创建。任务调度引擎可以识别创建成功的任务,并通过图形用户界面供用户选择,用户通过图形用户界面输入任务流信息以及配置项,任务调度引擎在获取到任务流信息以及配置项后存储,用于后续的任务调度。任务执行引擎根据任务流信息和配置项执行任务,每执行一个任务,得到相应的执行结果后,结果转换模块根据该任务对应的配置项中的配置信息(该配置信息可以在用户输入后存入数据源配置模块),将其执行结果转换为该任务的下一任务输入数据对应的格式,并将其作为这一任务的输出,同时,任务调度引擎可将这一输入用作下一任务的输入,开始对下一任务的调度,例如,执行下一任务。并且,各任务的执行情况可以同步到状态管理模块,同时程序数据血缘分析模块可以获取任务流信息以及任务状态信息,用于向图形用户界面提供任务流信息以及任务状态信息。
图8是根据本公开的一种实施方式提供的任务处理装置的流程图,如图 8所示,所述装置80包括:
第一获取模块81,用于响应于获得第一任务的执行结果,从与所述第一任务对应的配置项中获取目标配置信息,其中,所述第一任务通过第一数据源获取第一任务所需数据,且所述第一任务的执行结果为第一数据格式;
转换模块82,用于根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,其中,所述第二数据格式与第二任务所需输入数据的格式相同,所述第二任务通过第二数据源获取第二任务所需数据,以及,在任务流信息所指示的任务间数据流向上,所述第二任务为所述第一任务的下一任务,所述第一数据源与所述第二数据源不同;
第一数据确定模块83,用于将所述输出结果作为所述第一任务的输出数据。
可选地,所述装置80还包括:
第二获取模块,用于获取用户通过图形用户界面输入的所述任务流信息,所述任务流信息包括各任务的上游任务和/或下游任务;
第三获取模块,用于获取所述用户通过所述图形用户界面针对各个任务输入的配置项;
存储模块,用于存储所述任务流信息和所述配置项。
可选地,所述配置项还包括用于指示开始执行任务需要满足的任务执行条件,所述任务执行条件包括:任务的上游任务正常执行完毕,和/或,到达任务的执行时间;
所述装置80还包括:
任务执行模块,用于根据所述任务流信息,在满足与所述第一任务对应的任务执行条件的情况下,执行所述第一任务,以获得所述第一任务的所述执行结果。
可选地,所述装置80还包括:
第四获取模块,用于响应于接收到用户通过图形用户界面触发的任务状态查看指令,获取所述任务流信息;
第五获取模块,用于获取所述任务流中各个任务的任务状态信息,所述任务状态信息用于反映任务的执行情况;
信息发送模块,用于将所述任务流信息和所述任务状态信息返回至所述图形用户界面,以使所述图形用户界面进行任务状态展示。
可选地,所述装置80还包括:
判断模块,用于响应于获得所述第一任务的所述执行结果,判断所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式是否相同;
第二数据确定模块,用于若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式相同,则将所述第一任务的所述执行结果作为所述第一任务的输出数据;
所述装置用于若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式不同,则触发所述第一获取模块81响应于获得第一任务的执行结果,从与所述第一任务对应的配置项中获取目标配置信息,以及,触发所述转换模块82根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,以及,触发所述第一数据确定模块83将所述输出结果作为所述第一任务的输出数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备1900可以被提供为一服务器。参照图9,电子设备1900包括处理器 1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的任务处理方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950 可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作***,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的任务处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的任务处理方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的任务处理方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (8)
1.一种任务处理方法,其特征在于,所述方法包括:
响应于获得第一任务的执行结果,从与所述第一任务对应的配置项中获取目标配置信息,其中,所述第一任务通过第一数据源获取第一任务所需数据,且所述第一任务的执行结果为第一数据格式;
根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,其中,所述第二数据格式与第二任务所需输入数据的格式相同,所述第二任务通过第二数据源获取第二任务所需数据,以及,在任务流信息所指示的任务间数据流向上所述第二任务为所述第一任务的下一任务,所述第一数据源与所述第二数据源不同;
将所述输出结果作为所述第一任务的输出数据;
所述方法还包括:
获取用户通过图形用户界面输入的所述任务流信息,所述图形用户界面用于提供多种已被成功创建的任务供所述用户选择,所述用户通过拖拽任务调整任务位置,以输入任务流信息,所述任务流信息包括各任务的上游任务和/或下游任务;
获取所述用户通过所述图形用户界面针对各个任务输入的配置项,所述用户能够通过所述图形用户界面选中任务,并针对被选中的任务输入或编辑该任务的配置项;
存储所述任务流信息和所述配置项。
2.根据权利要求1所述的方法,其特征在于,所述配置项还包括用于指示开始执行任务需要满足的任务执行条件,所述任务执行条件包括:任务的上游任务正常执行完毕,和/或,到达任务的执行时间;所述方法还包括:
根据所述任务流信息,在满足与所述第一任务对应的任务执行条件的情况下,执行所述第一任务,以获得所述第一任务的所述执行结果。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到用户通过图形用户界面触发的任务状态查看指令,获取所述任务流信息;
获取所述任务流信息中各个任务的任务状态信息,所述任务状态信息用于反映任务的执行情况;
将所述任务流信息和所述任务状态信息返回至所述图形用户界面,以使所述图形用户界面进行任务状态展示。
4.根据权利要求1-3中任一项所述的方法,其特征在于,响应于获得所述第一任务的所述执行结果,所述方法还包括:
判断所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式是否相同;
若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式相同,则将所述第一任务的所述执行结果作为所述第一任务的输出数据;
若所述第二任务所需输入数据的数据格式与所述第一任务的所述执行结果的数据格式不同,则执行所述从与所述第一任务对应的配置项中获取目标配置信息,以及,所述根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,以及,所述将所述输出结果作为所述第一任务的输出数据的步骤。
5.一种任务处理装置,其特征在于,所述装置包括:
第一获取模块,用于响应于获得第一任务的执行结果,从与所述第一任务对应的配置项中获取目标配置信息,其中,所述第一任务通过第一数据源获取第一任务所需数据,且所述第一任务的执行结果为第一数据格式;
转换模块,用于根据所述目标配置信息,将所述第一任务的执行结果转换为第二数据格式的输出结果,其中,所述第二数据格式与第二任务所需输入数据的格式相同,所述第二任务通过第二数据源获取第二任务所需数据,以及,在任务流信息所指示的任务间数据流向上,所述第二任务为所述第一任务的下一任务,所述第一数据源与所述第二数据源不同;
第一数据确定模块,用于将所述输出结果作为所述第一任务的输出数据;
所述装置还包括:
第二获取模块,用于获取用户通过图形用户界面输入的所述任务流信息,所述图形用户界面用于提供多种已被成功创建的任务供所述用户选择,所述用户通过拖拽任务调整任务位置,以输入任务流信息,所述任务流信息包括各任务的上游任务和/或下游任务;
第三获取模块,用于获取所述用户通过所述图形用户界面针对各个任务输入的配置项,所述用户能够通过所述图形用户界面选中任务,并针对被选中的任务输入或编辑该任务的配置项;
存储模块,用于存储所述任务流信息和所述配置项。
6.根据权利要求5所述的装置,其特征在于,所述配置项还包括用于指示开始执行任务需要满足的任务执行条件,所述任务执行条件包括:任务的上游任务正常执行完毕,和/或,到达任务的执行时间;
所述装置还包括:
任务执行模块,用于根据所述任务流信息,在满足与所述第一任务对应的任务执行条件的情况下,执行所述第一任务,以获得所述第一任务的所述执行结果。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4中任一项所述方法的步骤。
8.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910860711.9A CN110750308B (zh) | 2019-09-11 | 2019-09-11 | 任务处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910860711.9A CN110750308B (zh) | 2019-09-11 | 2019-09-11 | 任务处理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750308A CN110750308A (zh) | 2020-02-04 |
CN110750308B true CN110750308B (zh) | 2024-03-01 |
Family
ID=69276395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910860711.9A Active CN110750308B (zh) | 2019-09-11 | 2019-09-11 | 任务处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750308B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116382877B (zh) * | 2023-05-25 | 2023-09-05 | 之江实验室 | 一种任务的执行方法、装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003021429A2 (en) * | 2001-08-31 | 2003-03-13 | Siemens Medical Solutions Health Services Corporation | A system and user interface supporting task schedule configuration |
CN103916368A (zh) * | 2012-12-31 | 2014-07-09 | ***通信集团公司 | 一种实现不同数据源之间数据处理的方法及装置 |
CN107665233A (zh) * | 2017-07-24 | 2018-02-06 | 上海壹账通金融科技有限公司 | 数据库数据处理方法、装置、计算机设备和存储介质 |
CN108280054A (zh) * | 2017-01-05 | 2018-07-13 | 株式会社东芝 | 任务执行控制装置、任务执行控制方法以及记录介质 |
CN109684053A (zh) * | 2018-11-05 | 2019-04-26 | 广东岭南通股份有限公司 | 大数据的任务调度方法和*** |
-
2019
- 2019-09-11 CN CN201910860711.9A patent/CN110750308B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003021429A2 (en) * | 2001-08-31 | 2003-03-13 | Siemens Medical Solutions Health Services Corporation | A system and user interface supporting task schedule configuration |
CN103916368A (zh) * | 2012-12-31 | 2014-07-09 | ***通信集团公司 | 一种实现不同数据源之间数据处理的方法及装置 |
CN108280054A (zh) * | 2017-01-05 | 2018-07-13 | 株式会社东芝 | 任务执行控制装置、任务执行控制方法以及记录介质 |
CN107665233A (zh) * | 2017-07-24 | 2018-02-06 | 上海壹账通金融科技有限公司 | 数据库数据处理方法、装置、计算机设备和存储介质 |
CN109684053A (zh) * | 2018-11-05 | 2019-04-26 | 广东岭南通股份有限公司 | 大数据的任务调度方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN110750308A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6334193B1 (en) | Method and apparatus for implementing user-definable error handling processes | |
US9311061B2 (en) | Designing task execution order based on location of the task icons within a graphical user interface | |
US10831453B2 (en) | Connectors framework | |
CN109783388B (zh) | Ui自动化测试方法、装置及电子设备 | |
US20230104928A1 (en) | Executable network troubleshooting procedure | |
CN104679488A (zh) | 一种流程定制开发平台及流程定制开发方法 | |
JP6354457B2 (ja) | アプリケーション開発支援装置、そのデータ処理方法、およびプログラム | |
JP6268029B2 (ja) | テストケース生成装置及びテストケース生成方法 | |
CN113360144B (zh) | 软件开发的辅助处理方法、设备、存储介质及程序产品 | |
CN109101410B (zh) | 一种风险驱动测试方法和装置以及计算机可读存储介质 | |
CN104375934A (zh) | 一种Android手机软件可靠性测试方法 | |
CN110659197B (zh) | 应用程序的测试用例生成方法、装置和软件测试*** | |
CN110674083A (zh) | 工作流迁移方法、装置、设备及计算机可读存储介质 | |
JPWO2013190714A1 (ja) | 自動操作システム及び操作自動化方法 | |
CN110750308B (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN113656304B (zh) | 一种前端应用程序的测试方法、设备和存储介质 | |
CN114218072A (zh) | 测试脚本生成方法、装置、存储介质及计算机设备 | |
CN112685040A (zh) | 安卓***中界面文件的生成方法、装置、设备及存储介质 | |
US20090241075A1 (en) | Test chip validation and development system | |
US9787552B2 (en) | Operation process creation program, operation process creation method, and information processing device | |
CN116069303A (zh) | 一种代码生成方法、装置、设备及存储介质 | |
KR20040103497A (ko) | 그래픽 유저 인터페이스 생성 방법 및 장치 | |
JP6097231B2 (ja) | プログラム生成装置および方法 | |
US20200302661A1 (en) | Information processing apparatus, computer-readable recording medium, and drawing creation support method | |
CN109410077B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |