CN114780648A - 任务调度方法、装置、计算机设备、存储介质和程序产品 - Google Patents
任务调度方法、装置、计算机设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN114780648A CN114780648A CN202210411047.1A CN202210411047A CN114780648A CN 114780648 A CN114780648 A CN 114780648A CN 202210411047 A CN202210411047 A CN 202210411047A CN 114780648 A CN114780648 A CN 114780648A
- Authority
- CN
- China
- Prior art keywords
- task
- dependency
- data warehouse
- weight
- list
- 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
Images
Classifications
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种任务调度方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取表任务列表;获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。整个方案通过根据表任务的依赖关系以及每个表的数据仓库层级权重,计算得到表任务权重,最后根据表任务权重进行排序得到任务调度表,综合考虑任务的依赖关系以及任务权重,保证任务调度耗时少,效率较高。
Description
技术领域
本申请涉及资源调度技术领域,特别是涉及一种任务调度方法、装置、计算机设备、存储介质和程序产品。
背景技术
信息技术与数据智能大环境下,数据仓库在软硬件领域、Internet和企业内部网解决方案以及数据库方面提供了许多经济高效的计算资源,可以保存极大量的数据供分析使用,且允许使用多种数据访问技术。
随着数据仓库任务ETL(Extract,transform,load,抽取、清洗、转换、装载)越来越多,需要调度工具管理数据仓库任务的执行。然而,目前的数据仓库任务调度主要依赖人工对任务的执行顺序进行调度,任务调度效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高任务调度效率的任务调度方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种任务调度方法。该方法包括:
获取表任务列表;
获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
在其中一个实施例中,获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级包括:获取表任务列表中表任务;提取表任务的依赖线;获取依赖线中的每个表的表标识;根据每个表的表标识,确定每个表对应的数据仓库层级。
在其中一个实施例中,根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重包括:根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;对依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
在其中一个实施例中,获取表任务列表包括:获取任务配置文件;对任务配置文件进行解析,得到表依赖关系;根据表依赖关系,生成表任务列表。
在其中一个实施例中,对任务配置文件进行解析,得到表依赖关系包括:根据任务配置文件的配置信息,确定任务文件地址信息;根据任务文件地址信息,获取任务文件;对任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号;对分割后的SQL语句进行依赖解析,得到表依赖关系。
在其中一个实施例中,根据表依赖关系,生成表任务列表包括:根据分割后的SQL语句以及SQL语句序号,生成表任务;根据表任务以及表依赖关系,生成表任务列表。
第二方面,本申请还提供了一种任务调度装置。该装置包括:
获取模块,用于获取表任务列表;
提取模块,用于获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
计算模块,用于根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
生成模块,用于根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现以下步骤:
获取表任务列表;
获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取表任务列表;
获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取表任务列表;
获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
上述任务调度方法、装置、计算机设备、存储介质和计算机程序产品,获取表任务列表;获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。整个方案通过根据表任务的依赖关系以及每个表的数据仓库层级权重,计算得到表任务权重,最后根据表任务权重进行排序得到任务调度表,综合考虑任务的依赖关系以及任务权重,保证任务调度耗时少,效率较高。
附图说明
图1为一个实施例中任务调度方法的应用环境图;
图2为一个实施例中任务调度方法的流程示意图;
图3为一个实施例中表的数据仓库层级确定步骤的流程示意图;
图4为一个实施例中确定表依赖关系的流程示意图;
图5为一个实施例中生成表任务的流程示意图;
图6为一个应用实施例中任务调度过程的完整流程图;
图7为一个实施例中任务调度装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的任务调度方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102发送任务调度请求,服务器104获取任务调度请求,对任务调度请求进行解析,获取表任务列表;获取表任务列表中每个表任务,提取每个表任务的依赖线,确定依赖线中每个表的数据仓库层级;根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,计算得到表任务权重;根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种任务调度方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,获取表任务列表。
其中,表任务列表中存放多个表任务。在数据仓库中,表的ETL加工过程,即表到表的加工和转换,通常以SQL语句的方式执行,通过SQL语句联合查询不同的源表,或者通过SQL语句进行单表查询,经过滤判断等,得到查询结果数据,将查询结果数据写入目标表。写入的表称为目标表,查询的表称为源表。源表到目标表的单SQL语句称为表任务。
具体地,服务器侦听并响应终端发送的任务调度请求,获取表任务列表。
步骤204,获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级。
其中,表任务中存储了参与这个表任务的多个表,以及多个表之间的依赖关系,多个表之间的依赖关系构成依赖线。
表之间的依赖关系标识了一张表的数据来源于哪些表,又流向了哪些表。通常用依赖关系采用目标表和源表之间的对应关系来表示,具体的,目标表名在前,源表名在后,用特定字符串拼接成依赖标识,表示目标表依赖哪些源表。在需要利用该依赖关系时,可以通过对SQL语句逐个字符串解析INSERT语句和FROM语句得到目标表和源表。一个目标表依赖多张或单张源表,是一对多或一对一的关系。例如,A表依赖B表,标识A表是目标表,B表是源表。A表被依赖B表,标识A表是源表,B表是目标表。
具体地,服务器获取表任务列表中每个表任务,根据表任务标识,提取每个表任务的依赖线,获取处于依赖线中的每个表标识,根据表标识确定表所在的数据仓库层级。数据仓库中,根据预先设计的层级,再开发和设计表。在数据库中,表唯一标识为模式名Schema+表名Table,其中Schema即数据仓库设计的层级名。
步骤206,根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重。
具体地,由于在数据仓库中,越靠近业务应用层,数仓层级越高,越靠近数据源端,数仓层级越低。因此,根据数据仓库层级对任务运行优先级进行量化,即对数据仓库每一层赋予权重,权重值越大,表示任务运行优先级高,反之则低。若表任务中不存在依赖线,即表任务中的表之间无依赖关系,则赋予表任务中表所在层级(表标识中的Schema)的权重为表任务权重。若表任务中存在依赖线,则根据表任务中多个表之间的依赖关系,将处于依赖线中每个表所在层级的权重进行累加,得到表任务权重。
步骤208,根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
具体地,将表任务列表中多个表任务对应的表任务权重按照从大到小进行排序,生成任务调度表。
上述任务调度方法中,获取表任务列表;获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。整个方案通过根据表任务的依赖关系以及每个表的数据仓库层级权重,计算得到表任务权重,最后根据表任务权重进行排序得到任务调度表,综合考虑任务的依赖关系以及任务权重,保证任务调度耗时少,效率较高。
在一个可选的实施例中,如图3所示,获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级包括:
步骤302,获取表任务列表中表任务。
具体地,服务器根据不同的表任务标识,获取多个表任务。
步骤304,提取表任务的依赖线。
具体地,根据表任务标识,即SQL语句序号,提取存储的表任务中多个表之间的依赖关系。
步骤306,获取依赖线中的每个表的表标识;根据每个表的表标识,确定每个表对应的数据仓库层级。
具体地,表标识为模式名Schema+表名Table,其中Schema即数据仓库设计的层级名。获取多个表之间的依赖关系,以及每个表的表标识,根据每个表的表标识确定对应的数据仓库层级。
在一个可选的实施例中,根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重包括:根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;对依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
其中,预设数据仓库层级权重存储了多个数据仓库层级以及对应的数据仓库层级权重。可根据层级名,结合经验,赋予同层级的表一个默认的权重值。且不同层级间的权重值差距足够大。如数据仓库设计为四层,由低到高依次是ODS(Operational Data Store,操作性数据)、DWD(Data Warehouse Middle,数据中间层)、DW(Data Warehouse,数据仓库)、DM(Data Mart,数据集市),可参考分别赋予1、100、10000、1000000的层级权重值,存储成一张对应关系表。
具体地,服务器获取本地存储的预设数据仓库层级权重,根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;针对每一个表任务,对处于表任务的依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
在一个可选的实施例中,获取表任务列表包括:获取任务配置文件;对任务配置文件进行解析,得到表依赖关系;根据表依赖关系,生成表任务列表。
其中,任务配置文件指的是存放数据仓库加工的SQL配置文件,SQL配置文件按集市类别、数据仓库层级存放,即数据仓库任务ETL(Extract,transform,load,抽取、清洗、转换、装载)代码。
具体地,服务器响应终端发送的任务调度请求,获取存放数据仓库加工的SQL配置文件,对存放数据仓库加工的SQL配置文件进行解析,提取SQL配置文件中的多个任务,以及每个任务中涉及的表依赖关系,根据每个任务涉及的表依赖关系,生成表任务,将所有表任务进行汇总,得到表任务列表。
本实施例中,通过服务器对任务配置文件进行解析,获取任务配置的表依赖关系,相比人工进行数据仓库任务配置,提高了任务配置效率以及准确率。
在一个可选的实施例中,如图4所示,对任务配置文件进行解析,得到表依赖关系包括:
步骤402,根据任务配置文件的配置信息,确定任务文件地址信息。
具体地,服务器对存放数据仓库加工的SQL配置文件进行解析,得到多个任务的配置信息,任务的配置信息中包括任务文件地址信息(即存放数据仓库加工的SQL文件夹路径)。
步骤404,根据任务文件地址信息,获取任务文件。
具体地,根据任务文件地址信息,获取与任务文件地址信息对应的任务文件,每个任务文件中存放当前任务的SQL语句。
步骤406,对任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号。
具体地,根据语句分割符(如“;”)对任务文件中的SQL语句进行分割,得到分割后的多个SQL语句以及每个SQL语句序号,SQL语句序号按照SQL语句在当前任务文件中的分割顺序依次递增。
步骤408,对分割后的SQL语句进行依赖解析,得到表依赖关系。
具体地,调用jsqlparser解析线程,对分割后的SQL语句进行依赖解析,得到表依赖关系,存储当前任务文件中的SQL语句、SQL语句顺序以及表依赖关系,依赖关系按照依赖关系存储格式存储,依赖关系存储格式为:依赖关系(目标表名在前,源表名在后)、目标表名、源表名,以及目标表的加工逻辑存储格式:表名、SQL语句、执行顺序。
例如,跑大屏集市的加工逻辑存放在目录D1,下有文件F,内容如下:
Insert overwrite A Select字段加工逻辑from B;
Insert overwrite B Select字段加工逻辑from C join D。
首先切割SQL语句,分别得到“Insert overwrite A Select字段加工逻辑fromB;”和“Insert overwrite B Select字段加工逻辑from C join D;”。之后,调用jsqlparser解析线程,对SQL语句逐个解析,得到表依赖关系和表加工逻辑;
表依赖关系为:A依赖B,B依赖C和D。表加工逻辑为:
A的加工逻辑:“Insert overwrite A Select字段加工逻辑from B”,以及B的加工逻辑:“Insert overwrite B Select字段加工逻辑from C join D”。
本实施例中,服务器根据SQL语句的存储地址自动获取任务文件,对任务文件进行解析,得到SQL语句顺序,即表任务顺序,省去人工配置的复杂步骤,提升了表任务配置效率。
在一个可选的实施例中,根据表依赖关系,生成表任务列表包括:根据分割后的SQL语句以及SQL语句序号,生成表任务;根据表任务以及表依赖关系,生成表任务列表。
具体地,如图5所示,针对每一个SQL语句,获取表依赖关系,判断SQL语句的表中是否存在依赖关系,若SQL语句的表之间无依赖关系,则SQL语句的表为单表,调用调度工具线程,生成<开始>和<结束>标识任务;缺依赖线(进线)的表任务,调用调度工具接口,对表任务补<开始>任务依赖;缺依赖线(出线)的表任务,调用调度工具接口,对表任务补<结束>任务依赖,根据单表任务模板“源表名、SQL任务”生成表任务。
若SQL语句的表之间存在依赖关系,根据依赖线中多个依赖关系,根据每个依赖关系中源表以及目标表之间,生成表任务,即表任务的调度有向无环图。
如果单任务对应SQL配置文件涵盖的SQL语句少,则需要配置很多任务,同时任务的先后顺序交叉复杂多样。如果单任务对应SQL文件涵盖的SQL语句较多,则单任务执行耗时较长,调度成串行运行,无法实现细粒度表任务并发执行,整体调度耗时较长。本实施例通过服务器对SQL配置文件进行解析,根据SQL语句序号、表依赖关系生成细粒度的任务调度图,提高了任务调度的效率,并且可以在调度异常时,根据SQL语句序号(即表任务标识)锁定异常表任务以及异常表,调度效率高。
为了易于理解本申请实施例提供的技术方案,如图6所示,以完整的任务调度过程对本申请实施例提供的任务调度方法进行简要说明:
(1)获取任务配置文件;
(2)根据任务配置文件的配置信息,确定任务文件地址信息;根据任务文件地址信息,获取任务文件;对任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号;对分割后的SQL语句进行依赖解析,得到表依赖关系。
(3)根据分割后的SQL语句以及SQL语句序号,生成表任务;根据表任务以及表依赖关系,生成表任务列表。
(4)获取表任务列表中表任务;提取表任务的依赖线;获取依赖线中的每个表的表标识;根据每个表的表标识,确定每个表对应的数据仓库层级。
(5)根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;对依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
(6)根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的任务调度方法的任务调度装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个任务调度装置实施例中的具体限定可以参见上文中对于任务调度方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种任务调度装置,包括:获取模块702、提取模块704、计算模块706和生成模块708,其中:
获取模块702,用于获取表任务列表。
提取模块704,用于获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级。
计算模块706,用于根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重。
生成模块708,用于根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
在一个可选的实施例中,提取模块704还用于获取表任务列表中表任务;提取表任务的依赖线;获取依赖线中的每个表的表标识;根据每个表的表标识,确定每个表对应的数据仓库层级。
在一个可选的实施例中,计算模块706还用于根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;对依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
在一个可选的实施例中,获取模块702还用于获取任务配置文件;对任务配置文件进行解析,得到表依赖关系;根据表依赖关系,生成表任务列表。
在一个可选的实施例中,获取模块702还用于根据任务配置文件的配置信息,确定任务文件地址信息;根据任务文件地址信息,获取任务文件;对任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号;对分割后的SQL语句进行依赖解析,得到表依赖关系。
在一个可选的实施例中,获取模块702还用于根据分割后的SQL语句以及SQL语句序号,生成表任务;根据表任务以及表依赖关系,生成表任务列表。
上述任务调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预设数据仓库层级权重数据以及多个SQL表。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务调度方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取表任务列表;
获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级包括:获取表任务列表中表任务;提取表任务的依赖线;获取依赖线中的每个表的表标识;根据每个表的表标识,确定每个表对应的数据仓库层级。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重包括:根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;对依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取表任务列表包括:获取任务配置文件;对任务配置文件进行解析,得到表依赖关系;根据表依赖关系,生成表任务列表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对任务配置文件进行解析,得到表依赖关系包括:根据任务配置文件的配置信息,确定任务文件地址信息;根据任务文件地址信息,获取任务文件;对任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号;对分割后的SQL语句进行依赖解析,得到表依赖关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据表依赖关系,生成表任务列表包括:根据分割后的SQL语句以及SQL语句序号,生成表任务;根据表任务以及表依赖关系,生成表任务列表。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取表任务列表;
获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级包括:获取表任务列表中表任务;提取表任务的依赖线;获取依赖线中的每个表的表标识;根据每个表的表标识,确定每个表对应的数据仓库层级。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重包括:根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;对依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取表任务列表包括:获取任务配置文件;对任务配置文件进行解析,得到表依赖关系;根据表依赖关系,生成表任务列表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对任务配置文件进行解析,得到表依赖关系包括:根据任务配置文件的配置信息,确定任务文件地址信息;根据任务文件地址信息,获取任务文件;对任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号;对分割后的SQL语句进行依赖解析,得到表依赖关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据表依赖关系,生成表任务列表包括:根据分割后的SQL语句以及SQL语句序号,生成表任务;根据表任务以及表依赖关系,生成表任务列表。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取表任务列表;
获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级;
根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对表任务列表中的表任务进行优先级排序,生成任务调度表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取表任务列表中表任务,提取表任务的依赖线,确定依赖线中每个表的数据仓库层级包括:获取表任务列表中表任务;提取表任务的依赖线;获取依赖线中的每个表的表标识;根据每个表的表标识,确定每个表对应的数据仓库层级。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重包括:根据预设数据仓库层级权重确定依赖线中的每个表的数据仓库层级权重;对依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取表任务列表包括:获取任务配置文件;对任务配置文件进行解析,得到表依赖关系;根据表依赖关系,生成表任务列表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对任务配置文件进行解析,得到表依赖关系包括:根据任务配置文件的配置信息,确定任务文件地址信息;根据任务文件地址信息,获取任务文件;对任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号;对分割后的SQL语句进行依赖解析,得到表依赖关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据表依赖关系,生成表任务列表包括:根据分割后的SQL语句以及SQL语句序号,生成表任务;根据表任务以及表依赖关系,生成表任务列表。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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 (10)
1.一种任务调度方法,其特征在于,所述方法包括:
获取表任务列表;
获取所述表任务列表中表任务,提取所述表任务的依赖线,确定所述依赖线中每个表的数据仓库层级;
根据所述依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
根据每个表任务权重对所述表任务列表中的表任务进行优先级排序,生成任务调度表。
2.根据权利要求1所述的方法,其特征在于,所述获取所述表任务列表中表任务,提取所述表任务的依赖线,确定所述依赖线中每个表的数据仓库层级包括:
获取所述表任务列表中表任务;
提取所述表任务的依赖线;
获取所述依赖线中的每个表的表标识;
根据所述每个表的表标识,确定每个表对应的数据仓库层级。
3.根据权利要求1所述的方法,其特征在于,所述根据所述依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重包括:
根据预设数据仓库层级权重确定所述依赖线中的每个表的数据仓库层级权重;
对所述依赖线中的每个表的数据仓库层级权重进行累加,得到表任务权重。
4.根据权利要求1所述的方法,其特征在于,所述获取表任务列表包括:
获取任务配置文件;
对所述任务配置文件进行解析,得到表依赖关系;
根据所述表依赖关系,生成表任务列表。
5.根据权利要求4所述的方法,其特征在于,所述对所述任务配置文件进行解析,得到表依赖关系包括:
根据所述任务配置文件的配置信息,确定任务文件地址信息;
根据所述任务文件地址信息,获取任务文件;
对所述任务文件中的SQL语句进行分割,得到分割后的SQL语句以及SQL语句序号;
对所述分割后的SQL语句进行依赖解析,得到表依赖关系。
6.根据权利要求5所述的方法,其特征在于,所述根据所述表依赖关系,生成表任务列表包括:
根据所述分割后的SQL语句以及SQL语句序号,生成表任务;
根据所述表任务以及所述表依赖关系,生成表任务列表。
7.一种任务调度装置,其特征在于,所述装置包括:
获取模块,用于获取表任务列表;
提取模块,用于获取所述表任务列表中表任务,提取所述表任务的依赖线,确定所述依赖线中每个表的数据仓库层级;
计算模块,用于根据所述依赖线中的每个表的数据仓库层级以及预设数据仓库层级权重,得到表任务权重;
生成模块,用于根据每个表任务权重对所述表任务列表中的表任务进行优先级排序,生成任务调度表。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210411047.1A CN114780648A (zh) | 2022-04-19 | 2022-04-19 | 任务调度方法、装置、计算机设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210411047.1A CN114780648A (zh) | 2022-04-19 | 2022-04-19 | 任务调度方法、装置、计算机设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114780648A true CN114780648A (zh) | 2022-07-22 |
Family
ID=82430379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210411047.1A Pending CN114780648A (zh) | 2022-04-19 | 2022-04-19 | 任务调度方法、装置、计算机设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780648A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914240A (zh) * | 2023-01-06 | 2023-04-04 | 江苏荣泽信息科技股份有限公司 | 一种基于dns解析的跨链事务模版管理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897136A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种任务调度方法及装置 |
CN110287245A (zh) * | 2019-05-15 | 2019-09-27 | 北方工业大学 | 用于分布式etl任务调度执行的方法及系统 |
CN110795455A (zh) * | 2019-09-06 | 2020-02-14 | 中国平安财产保险股份有限公司 | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 |
CN112579273A (zh) * | 2020-12-15 | 2021-03-30 | 京东数字科技控股股份有限公司 | 任务调度方法及装置、计算机可读存储介质 |
US20210342184A1 (en) * | 2020-04-29 | 2021-11-04 | EMC IP Holding Company LLC | Method, electronic device, and computer program product for processing computing job |
-
2022
- 2022-04-19 CN CN202210411047.1A patent/CN114780648A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897136A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种任务调度方法及装置 |
CN110287245A (zh) * | 2019-05-15 | 2019-09-27 | 北方工业大学 | 用于分布式etl任务调度执行的方法及系统 |
CN110795455A (zh) * | 2019-09-06 | 2020-02-14 | 中国平安财产保险股份有限公司 | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 |
US20210342184A1 (en) * | 2020-04-29 | 2021-11-04 | EMC IP Holding Company LLC | Method, electronic device, and computer program product for processing computing job |
CN112579273A (zh) * | 2020-12-15 | 2021-03-30 | 京东数字科技控股股份有限公司 | 任务调度方法及装置、计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914240A (zh) * | 2023-01-06 | 2023-04-04 | 江苏荣泽信息科技股份有限公司 | 一种基于dns解析的跨链事务模版管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725981B1 (en) | Analyzing big data | |
US8990149B2 (en) | Generating a predictive model from multiple data sources | |
US9361320B1 (en) | Modeling big data | |
CN108874924B (zh) | 搜索服务的创建方法、装置及计算机可读存储介质 | |
CN101405728B (zh) | 具有动态加载能力的关系数据库架构 | |
US20180150536A1 (en) | Instance-based distributed data recovery method and apparatus | |
CN111078776A (zh) | 数据表的标准化方法、装置、设备及存储介质 | |
US20210406981A1 (en) | Method and apparatus of determining display page, electronic device, and medium | |
US20200342029A1 (en) | Systems and methods for querying databases using interactive search paths | |
US10949409B2 (en) | On-demand, dynamic and optimized indexing in natural language processing | |
CN111078980A (zh) | 基于征信大数据的管理方法、装置、设备及存储介质 | |
US9773003B2 (en) | Computer implemented system and method for investigative data analytics | |
US20120330988A1 (en) | Systems And Methods For Performing Index Joins Using Auto Generative Queries | |
CN115062016A (zh) | 关联关系提取方法、装置和计算机设备 | |
CN110580255A (zh) | 一种存储并检索数据的方法以及系统 | |
CN114780648A (zh) | 任务调度方法、装置、计算机设备、存储介质和程序产品 | |
CN114880368A (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
US10048991B2 (en) | System and method for parallel processing data blocks containing sequential label ranges of series data | |
Eyal-Salman et al. | Feature-to-code traceability in legacy software variants | |
US20180276290A1 (en) | Relevance optimized representative content associated with a data storage system | |
CN112286879B (zh) | 基于元数据的数据资产构建方法及装置 | |
CN111680478B (zh) | 基于组态软件的报表生成方法、装置、设备和存储介质 | |
CN111695153A (zh) | 一种多叉树森林k-匿名方法、系统、设备和可读存储介质 | |
US20120124002A1 (en) | Reducing storage costs associated with backing up a database | |
CN113961636A (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 |