CN116974720A - 数据处理任务执行方法、装置、计算机设备和存储介质 - Google Patents

数据处理任务执行方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116974720A
CN116974720A CN202310865682.1A CN202310865682A CN116974720A CN 116974720 A CN116974720 A CN 116974720A CN 202310865682 A CN202310865682 A CN 202310865682A CN 116974720 A CN116974720 A CN 116974720A
Authority
CN
China
Prior art keywords
data processing
target
processing task
file
node
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
Application number
CN202310865682.1A
Other languages
English (en)
Inventor
官川丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Original Assignee
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Technology Innovation Center, China Telecom Corp Ltd filed Critical China Telecom Technology Innovation Center
Priority to CN202310865682.1A priority Critical patent/CN116974720A/zh
Publication of CN116974720A publication Critical patent/CN116974720A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据处理任务执行方法、装置、计算机设备和存储介质。该方法可应用于数据处理技术领域,具体可以包括:响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。上述方案,能够一键执行数据处理任务,降低了参与该数据处理任务的门槛,也降低了人工成本,且省时省力。

Description

数据处理任务执行方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据处理技术领域,具体涉及一种数据处理任务执行方法、装置、计算机设备和存储介质。
背景技术
在现实生活中,各公司的数据部门内部都面临着大量的数据处理工作,这些数据处理工作的共同点是需要从多个可能异构的源数据源抽取大量的维度数据或指标数据,并在经历一系列的中间转化过程之后写入多个可能异构的目标数据源。
但是,这些数据处理工作都需要工作人员手动部署到专门的服务器上运行,使得不熟悉运行环境与命令行的同事难以参与其中,且费时费力。
发明内容
基于此,有必要针对上述技术问题,提供一种数据处理任务执行方法、装置、计算机设备和存储介质,能够一键行数据处理任务,而无需人工处理。
第一方面,本申请提供了一种数据处理任务执行方法,该方法包括:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
在其中一个实施例中,响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件,包括:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识;
确定与目标数据处理任务的标识对应的目标文件。
在其中一个实施例中,调用数据处理框架镜像执行目标文件,以执行目标数据处理任务,包括:
以目标数据处理任务的标识作为启动参数,启动数据处理框架镜像;
利用数据处理框架镜像对目标文件的节点进行解析,得到目标文件的解析结果;
根据对目标文件的解析结果,执行目标数据处理任务。
在其中一个实施例中,根据对目标文件的解析结果,执行目标数据处理任务,包括:
根据对目标文件的解析结果,获取目标文件中的节点类型;
将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程;
执行各任务线程,以执行目标数据处理任务。
在其中一个实施例中,方法还包括:
确定一个或多个候选节点类型;
根据目标数据处理任务从候选节点类型中确定目标节点类型;
将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中,包括:
根据目标节点类型中的上游节点名称,确定目标节点类型对应的节点的上游节点;
根据目标节点类型对应的节点的上游节点,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,方法还包括:
响应于用户的执行状态反馈请求,获取执行中的数据处理任务的执行状态,并反馈给用户。
第二方面,本申请还提供了一种数据处理任务执行装置,该装置包括:
文件获取模块,用于响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
文件调用模块,用于调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
第三方面,本申请还提供了一种计算机设备,该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
第四方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
第五方面,本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
上述数据处理任务执行方法、装置、计算机设备和存储介质,在接收到用户执行数据处理任务的请求后,能够在存储文件的数据库中确定数据处理任务对应的文件,随后便可一键调用数据处理框架镜像执行目标文件,从而完成对目标数据处理任务的执行。本申请的数据处理任务执行方法,用户只需在接收到用户端的数据处理任务执行请求时取目标数据处理任务对应的目标文件,后续只需要通过调用数据处理框架镜像执行目标文件,便能够完成对目标数据处理任务的执行,系统参与了整个任务执行过程中的大部分过程,减少了用户操作的内容,从而降低了参与该数据处理任务的门槛和人工成本,且省时省力。
附图说明
图1为一个实施例中数据处理任务执行方法的应用环境图;
图2为一个实施例中数据处理任务执行方法的流程示意图;
图3为一个实施例中执行目标数据处理任务的流程示意图;
图4为一个实施例中创建数据处理任务对应的文件的流程示意图;
图5为一个实施例中根据目标节点类型对应的各节点的上游节点名称将目标节点类型对应的节点进行串联的数据流程图;
图6为另一个实施例中数据处理任务执行方法的流程示意图;
图7为一个实施例中数据处理任务执行装置的结构框图;
图8为另一个实施例中数据处理任务执行装置的结构框图;
图9为又一个实施例中数据处理任务执行装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在数据中台部门内部面临着大量ETL与数据同步的工作。这些工作的共同点是,需要从多个可能异构的源数据源抽取大量维度或指标数据,经历一系列的中间转化过程后,写入多个可能异构的目标数据源。这中间产生的问题有:①一个数据处理工作可能就意味着一个脚本的开发,工作量大,且不熟悉开发语言的同事无法提供支持;②对这些任务缺乏统一的管理入口,后续会导致无序扩张和难以管理的问题;③这些数据处理工作面对巨大数据量,简单的单节点架构难以支撑。④数据处理工作中可能有较复杂的逻辑,且不同开发者编写的数据处理脚本会有不一样的逻辑组织方式,将导致脚本可读性差,难以长期维护。⑤每一个数据处理工作都需要被手动部署到专门的服务器上运行,使得不了解运行环境与命令行的同事难以参与其中。因此,本申请中要解决的技术问题是:数据部门内部的数据处理工作都需要工作人员手动部署到专门的服务器上运行,使得不熟悉运行环境与命令行的同事难以参与其中,且费时费力。基于此,本申请提供了一种数据处理任务执行方法,以改善上述技术问题。
本申请实施例提供的数据处理任务执行方法,可适用于如何执行任何领域中所涉及的数据处理任务的情况。该方法可以由服务器来执行,也可以由终端来执行,或者还可以由服务器和终端交互来实现。例如,本申请实施例提供的数据处理任务执行方法,可以应用于如图1所示的应用环境中。其中,终端101通过通信网络104与服务器102进行通信。数据存储系统103可以存储服务器102需要处理的数据。数据存储系统103可以集成在服务器102上,也可以放在云上或其他网络服务器上。具体的,在具有数据处理任务执行请求的情况下,服务器102响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件(比如yaml文件),进而调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。进一步的,服务器102可以通过与终端101交互,将执行目标数据处理任务的结果反馈至终端101,由终端101向相关人员展示。
其中,终端101可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,图2是根据本申请实施例提供的一种数据处理任务执行方法的流程示意图,以该方法应用于图1中的服务器为例进行说明,该方法包括以下步骤:
S201,响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件。
可选的,数据处理任务执行请求可以是用户输入的用于执行数据处理任务的请求。
进一步的,目标数据处理任务可以是待执行的能够被分解为多个步骤的数据处理任务。目标文件与目标数据处理任务相对应,且目标文件中包含目标数据处理任务的各步骤对应的多个节点。
该目标文件可以为yaml文件,凭借yaml文件的清晰的数据结构,将数据处理任务分解为多个数据源或数据处理步骤(定义为node),每个数据处理步骤中的数据处理逻辑使用sql语法来表达,然后将这些数据处理步骤中通过特定的语法串联起来,从而形成完整表达整个数据处理任务的逻辑的yaml文件。对于yaml文件中表达的数据源,本系统支持多种流式或批式的数据源,因此,可以实现了跨数据源的数据流转和处理功能。通过使用sql搭配yaml的方式定义数据处理任务,使得包括多步骤多sql的数据处理任务的表达更加明确,分步更加清晰。
需要说明的是,本申请中的目标文件还可以为其他类型,本申请只是以数据结构较为清晰的yaml文件为例进行说明,本申请对目标文件的类型不进行限制。
可选的,目标文件与目标数据处理任务之间的对应关系可以通过目标数据处理任务的标识来建立。具体的,响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识;确定与目标数据处理任务的标识对应的目标文件。例如,当接收到用端户的数据处理任务执行请求时,获取到目标数据处理任务的标识为1,根据数据处理任务与数据库中的文件的预设对应关系,确定标识为1的目标数据处理任务对应的目标文件。
具体的,当接收到数据处理任务执行请求,需要执行数据处理任务执行请求中的目标数据处理任务时,需要根据目标数据处理任务的标识从数据库中选择该目标数据处理任务对应的目标文件。
S202,调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
可选的,数据处理框架镜像可以是用于执行数据处理任务的通用处理架构或系统。
具体的,在调用了数据处理框架镜像之后,通过k8s(全称为kubernetes,是一个编排容器的工具)系统启动pod(k8s系统中的最小部署单元),继而使得pod拉取制品库中的数据处理框架镜像,并启动该数据处理框架镜像,以执行目标数据处理任务对应的目标文件,从而完成对目标数据处理任务的执行。
上述数据处理任务执行方法中,在接收到用户执行数据处理任务的请求后,能够在存储文件的数据库中确定数据处理任务对应的文件,随后便可调用数据处理框架镜像执行目标文件,从而完成对目标数据处理任务的执行。本申请的数据处理任务执行方法,用户只需在接收到用户端的数据处理任务执行请求时取目标数据处理任务对应的目标文件,后续只需要通过调用数据处理框架镜像执行目标文件,便能够完成对目标数据处理任务的执行,系统参与了整个任务执行过程中的大部分过程,减少了用户操作的内容,从而降低了参与该数据处理任务的门槛和人工成本,且省时省力。
在上述实施例的基础上,对执行目标数据处理任务的步骤进行了分解细化。可选的,如图3所示,包括如下实现过程:
S301,以目标数据处理任务的标识作为启动参数,启动数据处理框架镜像。
可选的,数据处理框架镜像为一种通用处理架构或系统,通过数据处理框架镜像与全部目标数据处理任务的标识的预设对应关系,在数据处理框架镜像识别到任何目标数据处理任务的标识时,均能够通过预设的对应关系完成启动。相比于其他启动数据处理框架镜像的方式,使用目标数据处理任务自带的标识启动数据处理框架镜像节省了启动数据处理框架镜像所需的时间,也节省了其他启动数据处理框架镜像的方式占用的网路资源。
具体的,在利用目标数据处理任务的标识确定对应的目标文件的同时,利用目标数据处理任务的标识来启动数据处理框架镜像。
S302,利用数据处理框架镜像对目标文件的节点进行解析,得到目标文件的解析结果。
可选的,目标文件的每个节点对应于目标数据处理任务的每个步骤。
具体的,利用数据处理框架镜像对目标文件的节点进行解析,能够解析出该节点的节点类型,也即该节点对应的目标数据处理任务的步骤的内容。
S303,根据对目标文件的解析结果,执行目标数据处理任务。
可选的,目标文件的解析结果中包含有目标文件中的节点类型(比如,KAFKA_SOURCE、PROCESSOR、MYSQL_SOURCE和MOCK_SINK),然后根据目标文件中的节点类型对应的节点的定义将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程(比如worker线程)以后,才能够执行目标数据处理任务。具体的,根据对目标文件的解析结果,获取目标文件中的节点类型;将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程;执行各任务线程,以执行目标数据处理任务。
进一步的,在执行目标数据处理任务的过程中,用户可以请求查看执行中的数据处理任务的执行状态。具体的,响应于用户的执行状态反馈请求,获取执行中的数据处理任务的执行状态,并反馈给用户。同时,用户还可以根据需要,在任意时刻终止执行目标数据处理任务。例如,当用户想要查看任务的执行状态时,用户在用户终端上选择想要查看的目标数据处理任务的标识,将该目标数据处理任务的标识连同状态查看命令发送到服务器,服务器接收该目标数据处理任务的标识和状态查看命令,并根据状态查看命令,查看目标数据处理任务的标识对应的目标数据处理任务的执行状态。
可以理解的是,本实施例中引入了数据处理框架镜像,能够利用数据处理框架镜像对目标文件的节点进行解析,获取目标文件中的节点类型,并最终执行目标数据处理任务,同时,本实施例中能够很好地兼容k8s部署,并通过java-agent技术使原生flink不可变的部分k8s部署配置变为可配置。
在响应于用户端的数据处理任务执行请求执行目标数据处理任务之前,需要创建各种数据处理任务对应的文件,并将这些文件存储在数据库中,现对创建数据处理任务对应的文件的步骤进行解释说明。可选的,如图4所示,具体包括如下实现过程:
S401,确定一个或多个候选节点类型。
可选的,以yaml文件为例对文件以及文件中的节点类型进行解释说明。其中,yaml文件的骨架格式如下:
Nodes:
-nodeName:project_generic_source#节点名称
parentNodeName:#上游节点名称
NodeType:#节点类型
content:#节点的内容
properties:#节点的属性
由上述yaml文件的骨架格式可知,一个节点具有nodeName、parentNodeNames、nodeType、content和properties这些属性。其中,nodeName为节点名称,parentNodeNames为上游节点名称,nodeType为节点类型,content为节点的内容(按需填写该节点详细的sql(Structured Query Language,结构化查询语言)语句),properties为节点的属性(按需填写该节点需要的配置)。
每个系统的候选节点类型是预先确定好的,因此本申请中的系统的一个或多个候选节点类型可以被确定如下:
(1)GENERIC_SOURCE(通用数据源节点,其支持任何底层flink支持的数据源类型,需要在content处按照flink sql的语法编写建表语句);
(2)KAFKA_SOURCE(便捷kafka数据源节点,其可以通过数据kafka地址等简易配置产生一个kafka数据源);
(3)MYSQL_CDC_SOURCE(便捷mysql数据变更捕捉节点,其可以通过解析mysql的binlog捕捉mysql的数据变更并产生相应的变更流式数据);
(4)PROCESSOR(数据处理节点,其用于处理上游单或多输入的数据,并向下游输出);
(5)MYSQL_SOURCE(便捷mysql数据库节点,其通过数据库地址账号等简单配置产生一个mysql数据源);
(6)POSTGRES_SOURCE(便捷postgre数据库节点,其通过数据库地址账号等简单配置产生一个postgre数据源);
(7)MYSQL_SINK(写mysql数据节点,其用于将上游单输入的数据持久化到指定的mysql数据库);
(8)POSTGRES_SINK(写postgres数据节点,其用于将上游单输入的数据持久化到指定的postgres数据库);
(9)GENERIC_SINK(通用数据输出节点,其支持任何底层flink支持的数据源类型,需要在content处按照flink sql的语法编写建表语句);
(10)MOCK_SINK(调试输出节点,其将处理完毕的数据按需在控制台打印,以便调试)。
需要说明的是,本申请实施例提供的节点类型并不仅限于上述10个节点类型,还可以是其他节点类型,本申请实施例中不加以限制。
S402,根据目标数据处理任务从候选节点类型中确定目标节点类型。
具体的,在确定了目标数据处理任务之后,对该目标数据处理任务的各步骤进行分析,确定各步骤实现的功能,并根据各步骤实现的功能确定与各步骤对应的节点类型作为目标节点类型,并从候选节点类型中确定目标节点类型。
S403,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
可选的,在确定了目标数据处理任务对应的目标节点类型之后,能够根据目标节点类型对应的各节点的上游节点名称,将目标节点类型对应的节点串联起来,从而组成数据处理任务对应的文件,并向系统发送文件存储请求,系统接收到该文件存储请求后将该文件存储到数据库中,以便后续快速查询,同时将其备案到版本管理系统中,以便进行版本管理。在后续的使用中,用户可以查看同一个数据处理任务每个版本之间的差异,并可以按需回退到任何一个版本。具体的,根据目标节点类型中的上游节点名称,确定目标节点类型对应的节点的上游节点;根据目标节点类型对应的节点的上游节点,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
例如,本申请在图5中示出了根据目标节点类型对应的各节点的上游节点名称将目标节点类型对应的节点串联起来的数据流程图。根据系统中的预设节点定义得知,节点名称为Project的节点的上游节点为节点名称为project_source_kafka的节点;节点名称为join_node的节点的上游节点为节点名称为Project、sys_user、ProjectUser的节点;节点名称为mock_sink的节点的上游节点为节点名称为join_node的节点。
由此,在确定了各目标节点类型对应的各节点的上游节点之后,将目标节点类型对应的节点串联起来,如图5所示,以组成数据处理任务对应的文件。
可以理解的是,本实施例中引入了候选节点类型和目标节点类型,能够根据目标数据处理任务候选节点类型中确定目标节点类型,从而为后续执行该目标数据处理任务奠定基础,同时,本实施例中直接对接版本管理工具,使得用户可以无缝进行数据处理任务的版本管理。
本申请以如下实施例为例对本申请的数据处理任务执行方法进行说明:
创建并运行订阅kafka数据源的fortify报告流式数据,并从多个其他数据源关联附加信息后落库的数据处理任务。
步骤1:用户首先在yaml文件中定义一个GENERIC_SOURCE类型的节点,用于将被订阅的kafka当做上下文中的一个表。
步骤2:用户定义一个MYSQL_SOURCE类型的节点,用于后续从mysql中查询出fortify报告对应的代码版本等相关附加信息。
步骤3:用户定义一个POSTGRES_SOURCE类型的节点,用于后续从postgres数据库中关联出fortify报告对应版本的代码的提交时间。
步骤4:用户定义一系列的PROCESSOR类型的节点,用于将上述三步定义的数据源节点流入的数据相互关联。
步骤5:用户定义一个类型为POSTGRES_SINK的节点,将完成的最终的数据落入postgres。
步骤6:用户将编写好的文件存储到数据块中进行保存,当接收到对文件对的数据处理任务的请求时,便可调出该文件,以执行该文件对应的数据处理任务。
此外,本申请可以使用基于sql的DAG流程理念定义数据处理任务,使得数据处理任务的逻辑可以完全借助DSL语言来表达,同时本申请通过DSL语言范式来开发数据处理任务,DSL语言范式仅需要开发者具备sql相关知识,这降低了开发者的参与门槛。此外,因为DSL语言范式的模式约束,极大程度地优化了任务定义中数据处理逻辑的组织条理,很好的改善了任务逻辑的可读性和未来的可维护性。编写好的任务文件可以对接版本管理工具进行版本管理。同时,本申请中的系统可以借助底层的flink引擎和k8s架构,自动完成这个数据处理任务工作流的分布式多节点部署,在后续流程中,使用者可以通过websocket的方式,实时获取数据处理任务的日志信息以了解任务的运行情况。
同时,在接收到用户执行数据处理任务的请求时,用户可以向系统请求执行该数据处理任务。系统将开始对该数据处理任务进行自动化部署,具体步骤和实现方式为:1)调度系统将开始对数据本系统使用java-agent参数启动,并指定用于字节码插桩的premain类--KubeModifier,此类通过字节码插桩的方式修改了flink内部用于与k8s集群交互的KubernetesUtils类中部分被硬编码的内容(例如pod启动的request和limit资源量),使得系统具备对数据处理任务的容器进行灵活资源分配的能力,此为前置条件。2)在私有制品仓库事先制作好可以解析任何数据处理任务文件的通用数据处理框架镜像。
另外,在一个实施例中,本申请还提供一个数据处理任务执行方法的可选实例,图6为另一个实施例中数据处理任务执行方法的流程示意图,结合图6所示,具体包括如下实现过程:
S601,确定一个或多个候选节点类型。
S602,根据数据处理任务从候选节点类型中确定目标节点类型。
S603,根据目标节点类型中的上游节点名称,确定目标节点类型对应的节点的上游节点。
S604,根据目标节点类型对应的节点的上游节点,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
S605,响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识。
S606,确定与目标数据处理任务的标识对应的目标文件。
S607,以目标文件的标识作为启动参数,启动数据处理框架镜像。
S608,利用数据处理框架镜像对目标文件的节点进行解析,得到目标文件的解析结果。
S609,根据对目标文件的解析结果,获取目标文件中的节点类型。
S610,将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程。
S611,执行各任务线程,以执行目标数据处理任务。
通过上述方案,能够在不运行代码的情况下统计代码覆盖率,避免因代码的运行环境原因影响代码覆盖率的统计工作,达到了提高代码覆盖率统计精确度的技术效果。
上述S601-S611的具体过程可以参见上述方法实施例的描述,其实现原理和技术效果类似,在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理任务执行方法的数据处理任务执行装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理任务执行装置实施例中的具体限定可以参见上文中对于数据处理任务执行方法的限定,在此不再赘述。
在其中一个实施例中,通过图7示出了一个实施例中数据处理任务执行装置的结构框图。如图7所示,提供了一种数据处理任务执行装置7,该装置包括:文件获取模块70和文件调用模块71,其中:
文件获取模块70,用于响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件。其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点。
文件调用模块71,用于调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
上述数据处理任务执行装置,在接收到用户执行数据处理任务的请求后,能够在存储文件的数据库中确定数据处理任务对应的文件,随后便可一键调用数据处理框架镜像执行目标文件,从而完成对目标数据处理任务的执行。本申请的数据处理任务执行方法,用户只需在接收到用户端的数据处理任务执行请求时取目标数据处理任务对应的目标文件,后续只需要通过调用数据处理框架镜像执行目标文件,便能够完成对目标数据处理任务的执行,系统参与了整个任务执行过程中的大部分过程,减少了用户操作的内容,从而降低了参与该数据处理任务的门槛和人工成本,且省时省力。
在其中一个实施例中,通过图8示出了另一个实施例中数据处理任务执行装置的结构框图。如图8所示,上图7中的文件获取模块70具体可以包括:
获取单元701,用于响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识;
确定单元702,用于确定与目标数据处理任务的标识对应的目标文件。
在其中一个实施例中,通过图9示出了另一个实施例中数据处理任务执行装置的结构框图。如图9所示,上图7中的文件调用模块71具体可以包括:
启动单元711,用于以目标文件的标识作为启动参数,启动数据处理框架镜像;
解析单元712,用于利用数据处理框架镜像对目标文件的节点进行解析,得到目标文件的解析结果;
执行单元713,用于根据对目标文件的解析结果,执行目标数据处理任务
在其中一个实施例中,执行单元713用于:根据对目标文件的解析结果,获取目标文件中的节点类型;将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程;执行各任务线程,以执行目标数据处理任务。
在其中一个实施例中,数据处理任务执行装置7还包括:
第一确定模块,用于确定一个或多个候选节点类型;
第二确定模块,用于根据数据处理任务从候选节点类型中确定目标节点类型;
节点串联模块,用于将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,节点串联模块用于:根据目标节点类型中的父节点名称,确定目标节点类型对应的节点的上游节点;根据目标节点类型对应的节点的上游节点,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,数据处理任务执行装置7还包括:
状态确定模块,用于响应于用户的执行状态反馈请求,获取执行中的数据处理任务的执行状态,并反馈给用户。
上述数据处理任务执行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据处理任务执行数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理任务执行方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的,计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
在其中一个实施例中,处理器执行计算机程序中响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件的逻辑时,具体实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识;确定与目标数据处理任务的标识对应的目标文件。
在其中一个实施例中,处理器执行计算机程序中调用数据处理框架镜像执行目标文件,以执行目标数据处理任务的逻辑时,具体实现以下步骤:
以目标数据处理任务的标识作为启动参数,启动数据处理框架镜像;利用数据处理框架镜像对目标文件的节点进行解析,得到目标文件的解析结果;根据对目标文件的解析结果,执行目标数据处理任务。
在其中一个实施例中,处理器执行计算机程序中根据对目标文件的解析结果,执行目标数据处理任务的逻辑时,具体实现以下步骤:
根据对目标文件的解析结果,获取目标文件中的节点类型;将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程;执行各任务线程,以执行目标数据处理任务。
在其中一个实施例中,处理器执行计算机程序中的逻辑时,还具体实现以下步骤:
确定一个或多个候选节点类型;根据目标数据处理任务从候选节点类型中确定目标节点类型;将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,处理器执行计算机程序中将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中的逻辑时,具体实现以下步骤:
根据目标节点类型中的上游节点名称,确定目标节点类型对应的节点的上游节点;根据目标节点类型对应的节点的上游节点,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,处理器执行计算机程序中的逻辑时,还具体实现以下步骤:
响应于用户的执行状态反馈请求,获取执行中的数据处理任务的执行状态,并反馈给用户。
上述提供的计算机设备,其在实现各实施例中的原理和具体过程可参见前述实施例中数据处理任务执行方法实施例中的说明,此处不再赘述。
在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
在其中一个实施例中,计算机程序中响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件的逻辑被处理器执行时,具体实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识;确定与目标数据处理任务的标识对应的目标文件。
在其中一个实施例中,计算机程序中用数据处理框架镜像执行目标文件,以执行目标数据处理任务的逻辑被处理器执行时,具体实现以下步骤:
以目标数据处理任务的标识作为启动参数,启动数据处理框架镜像;利用数据处理框架镜像对目标文件的节点进行解析,得到目标文件的解析结果;根据对目标文件的解析结果,执行目标数据处理任务。
在其中一个实施例中,计算机程序中根据对目标文件的解析结果,执行目标数据处理任务的逻辑被处理器执行时,具体实现以下步骤:
根据对目标文件的解析结果,获取目标文件中的节点类型;将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程;执行各任务线程,以执行目标数据处理任务。
在其中一个实施例中,计算机程序中的逻辑被处理器执行时,还具体实现以下步骤:
确定一个或多个候选节点类型;根据目标数据处理任务从候选节点类型中确定目标节点类型;将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,计算机程序中将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中的逻辑被处理器执行时,具体实现以下步骤:
根据目标节点类型中的上游节点名称,确定目标节点类型对应的节点的上游节点;根据目标节点类型对应的节点的上游节点,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,计算机程序中的逻辑被处理器执行时,还具体实现以下步骤:
响应于用户的执行状态反馈请求,获取执行中的数据处理任务的执行状态,并反馈给用户。
上述提供的计算机可读存储介质,其在实现各实施例中的原理和具体过程可参见前述实施例中数据处理任务执行方法实施例中的说明,此处不再赘述。
上述提供的计算机可读存储介质,其在实现各实施例中的原理和具体过程可参见前述实施例中目标检测方法实施例中的说明,此处不再赘述。
在其中一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,目标文件中包含目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行目标文件,以执行目标数据处理任务。
在其中一个实施例中,计算机程序中响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件的逻辑被处理器执行时,具体实现以下步骤:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识;确定与目标数据处理任务的标识对应的目标文件。
在其中一个实施例中,计算机程序中用数据处理框架镜像执行目标文件,以执行目标数据处理任务的逻辑被处理器执行时,具体实现以下步骤:
以目标数据处理任务的标识作为启动参数,启动数据处理框架镜像;利用数据处理框架镜像对目标文件的节点进行解析,得到目标文件的解析结果;根据对目标文件的解析结果,执行目标数据处理任务。
在其中一个实施例中,计算机程序中根据对目标文件的解析结果,执行目标数据处理任务的逻辑被处理器执行时,具体实现以下步骤:
根据对目标文件的解析结果,获取目标文件中的节点类型;将目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程;执行各任务线程,以执行目标数据处理任务。
在其中一个实施例中,计算机程序中的逻辑被处理器执行时,还具体实现以下步骤:
确定一个或多个候选节点类型;根据目标数据处理任务从候选节点类型中确定目标节点类型;将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,计算机程序中将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中的逻辑被处理器执行时,具体实现以下步骤:
根据目标节点类型中的上游节点名称,确定目标节点类型对应的节点的上游节点;根据目标节点类型对应的节点的上游节点,将目标节点类型对应的节点串联组成数据处理任务对应的文件,并将文件存储在数据库中。
在其中一个实施例中,计算机程序中的逻辑被处理器执行时,还具体实现以下步骤:
响应于用户的执行状态反馈请求,获取执行中的数据处理任务的执行状态,并反馈给用户。
上述提供的计算机程序产品,其在实现各实施例中的原理和具体过程可参见前述实施例中目标检测方法实施例中的说明,此处不再赘述。
需要说明的是,本申请所涉及的数据(包括但不限于数据处理任务中的数据等),均为经过各方充分授权的数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (11)

1.一种数据处理任务执行方法,其特征在于,包括:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,所述目标文件中包含所述目标数据处理任务的各步骤对应的多个节点;
调用数据处理框架镜像执行所述目标文件,以执行所述目标数据处理任务。
2.根据权利要求1所述的方法,其特征在于,所述响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件,包括:
响应于用户端的数据处理任务执行请求,获取目标数据处理任务的标识;
确定与所述目标数据处理任务的标识对应的目标文件。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述调用数据处理框架镜像执行所述目标文件,以执行所述目标数据处理任务,包括:
以所述目标数据处理任务的标识作为启动参数,启动所述数据处理框架镜像;
利用所述数据处理框架镜像对所述目标文件的节点进行解析,得到所述目标文件的解析结果;
根据对所述目标文件的解析结果,执行所述目标数据处理任务。
4.根据权利要求3所述的方法,其特征在于,所述根据对所述目标文件的解析结果,执行所述目标数据处理任务,包括:
根据对所述目标文件的解析结果,获取所述目标文件中的节点类型;
将所述目标文件中的各节点类型对应的节点转换成包含执行逻辑的任务线程;
执行各所述任务线程,以执行所述目标数据处理任务。
5.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
确定一个或多个候选节点类型;
根据目标数据处理任务从所述候选节点类型中确定目标节点类型;
将所述目标节点类型对应的节点串联组成所述数据处理任务对应的文件,并将所述文件存储在数据库中。
6.根据权利要求5所述的方法,其特征在于,所述将所述目标节点类型对应的节点串联组成所述数据处理任务对应的文件,并将所述文件存储在数据库中,包括:
根据目标节点类型中的上游节点名称,确定所述目标节点类型对应的节点的上游节点;
根据所述目标节点类型对应的节点的上游节点,将所述目标节点类型对应的节点串联组成所述数据处理任务对应的文件,并将所述文件存储在数据库中。
7.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
响应于用户端的执行状态反馈请求,获取执行中的数据处理任务的执行状态,并反馈给所述用户端。
8.一种数据处理任务执行装置,其特征在于,包括:
文件获取模块,用于响应于用户端的数据处理任务执行请求,获取目标数据处理任务对应的目标文件;其中,所述目标文件中包含所述目标数据处理任务的各步骤对应的多个节点;
文件调用模块,用于调用数据处理框架镜像执行所述目标文件,以执行所述目标数据处理任务。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202310865682.1A 2023-07-14 2023-07-14 数据处理任务执行方法、装置、计算机设备和存储介质 Pending CN116974720A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310865682.1A CN116974720A (zh) 2023-07-14 2023-07-14 数据处理任务执行方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310865682.1A CN116974720A (zh) 2023-07-14 2023-07-14 数据处理任务执行方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN116974720A true CN116974720A (zh) 2023-10-31

Family

ID=88472287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310865682.1A Pending CN116974720A (zh) 2023-07-14 2023-07-14 数据处理任务执行方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116974720A (zh)

Similar Documents

Publication Publication Date Title
CN107370786B (zh) 一种基于微服务架构的通用信息管理系统
US11789964B2 (en) Load plan generation
CN107368503B (zh) 基于Kettle的数据同步方法和系统
JP5298117B2 (ja) 分散コンピューティングにおけるデータマージング
CN111177176A (zh) 数据检测方法、装置及存储介质
US20140344625A1 (en) Debugging framework for distributed etl process with multi-language support
CN112015413A (zh) 一种免编程数据可视化Web展示系统及其实现方法
US10120886B2 (en) Database integration of originally decoupled components
CN107103064B (zh) 数据统计方法及装置
CN110162512B (zh) 一种日志检索方法、装置及存储介质
US20180150530A1 (en) Method, Apparatus, Computing Device and Storage Medium for Analyzing and Processing Data
CN112860777B (zh) 数据处理方法、装置及设备
US20220398186A1 (en) Lineage-driven source code generation for building, testing, deploying, and maintaining data marts and data pipelines
US20230108560A1 (en) Methods and Systems for Representation, Composition and Execution of Artificial Intelligence Centric Applications
KR20150017052A (ko) 워크플로우의 실행 방법 및 시스템
WO2023040143A1 (zh) 云服务的资源编排方法、装置、设备及存储介质
WO2024001493A1 (zh) 一种可视化的数据分析方法及设备
Muslim et al. A modular and extensible framework for open learning analytics
Loganathan et al. A systematic approach to Big Data
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
DE112022000878T5 (de) Datensatzmultiplexer für datenverarbeitungssystem
CN112035555B (zh) 一种信息展示方法、装置及设备
US20210264312A1 (en) Facilitating machine learning using remote data
CN113722337B (zh) 业务数据确定方法、装置、设备及存储介质
CN116974720A (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