CN113886446A - 作业自动调度方法、装置、电子设备及可读存储介质 - Google Patents

作业自动调度方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN113886446A
CN113886446A CN202111219554.7A CN202111219554A CN113886446A CN 113886446 A CN113886446 A CN 113886446A CN 202111219554 A CN202111219554 A CN 202111219554A CN 113886446 A CN113886446 A CN 113886446A
Authority
CN
China
Prior art keywords
data table
job
target
sql
scheduling
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
CN202111219554.7A
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202111219554.7A priority Critical patent/CN113886446A/zh
Publication of CN113886446A publication Critical patent/CN113886446A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/23Updating
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions
    • 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/24Querying
    • G06F16/248Presentation of query results
    • 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

Landscapes

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

Abstract

本发明涉及人工智能领域,揭露一种作业自动调度方法,包括:提取作业调度请求中的调度时间筛选作业集得到待调度作业集;更新待调度作业集中每个作业的SQL语句,得到能够产出单一作业数据表的目标SQL语句;根据目标SQL语句对应的单一作业数据表,得到作业与作业数据表的对应关系;对每个目标SQL语句进行数据血缘关系解析,根据血缘关系分析结果及对应关系构建待调度作业集的有向无环图;根据有向无环图对待调度作业集中的作业进行调度执行。本发明还涉及一种区块链技术,所述推荐相关度值可以存储在区块链节点中。本发明还提出一种作业自动调度装置、设备以及介质。本发明可以提高作业调度的效率。

Description

作业自动调度方法、装置、电子设备及可读存储介质
技术领域
本发明涉及人工智能技术,尤其涉及一种作业自动调度方法、装置、电子设备及可读存储介质。
背景技术
作业调度,是根据一定的算法,从输入的一批作业中选择若干个作业,为选择的所述作业分配必要的资源,如内存、外设等,并建立相应的进程等的过程。
目前的作业调度需要配置不同作业之间的依赖关系,当作业数量较多时,依赖关系的设置就变的非常复杂,影响作业的调度效率,从而导致作业调度的效率较低。
发明内容
本发明提供一种作业自动调度方法、装置、电子设备及计算机可读存储介质,其主要目的在于提高作业调度的效率。
为实现上述目的,本发明提供的一种作业自动调度方法,包括:
获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;
提取所述待调度作业集中每个作业的SQL语句,并对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;
根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;
根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
可选地,所述提取所述待调度作业集中每个作业的SQL语句,并将所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句,包括:
根据所述调度时间构建分区名称;
提取所述SQL语句中包含的数据表参数,根据所述分区名称及所述数据表参数构建表分区创建语句,及根据所述分区名称构建子查询语句;
在所述初始SQL语句之前增加所述分区创建语句,及将所述SQL语句中的数据表参数之后增加所述子查询语句,得到所述目标SQL语句。
可选地,所述对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果,包括:
筛选所述目标SQL语句中在预设关键词集合中存在的单词,得到SQL关键词;
利用所述SQL关键词对所述目标SQL语句进行划分,得到多个SQL语句,并对所述划分语句进行数据表标签标记;
将所述划分语句转换为抽象语法树;
通过遍历所述抽象语法树中的所有节点,选择所述抽象语法树中包含预设字段的节点作为目标节点;
提取所述目标节点中所述预设字段的值,根据提取的值在预设数据库进行数据表查询,得到对应的作业数据表;
根据所述作业数据表对应的划分语句的数据表标签对所有所述作业数据表进行血缘关系分析,得到血缘关系分析结果。
可选地,所述利用所述SQL关键词对所述目标SQL语句进行划分,得到多个SQL语句,并对所述划分语句进行数据表标签标记,包括:
将所述SQL关键词作为划分节点对所述目标SQL语句进行划分,得到所述划分语句;
根据所述划分语句对应的SQL关键词所属的关键词集合类型,对所述划分语句进行对应的数据表标签标记。
可选地,所述根据所述划分语句对应的SQL关键词所属的关键词集合类型,对所述划分语句进行对应的数据表标签标记,包括:
所述关键词集合包含起始关键词集合与目标关键词集合;
当所述划分语句对应的SQL关键词属于起始关键词集合时,将所述划分语句标记起始数据表标签;
当所述划分语句对应的SQL关键词属于目标关键词集合时,将所述划分语句标记目标数据表标签。
可选地,所述根据所述作业数据表对应的所述标签对所有所述作业数据表进行血缘关系分析,得到血缘关系分析结果,包括:
判断所述作业数据表的标签类型;
当所述作业数据表对应的标签类型为起始数据表标签时,将所述作业数据表确定为起始数据表;
当所述数据表对应的标签类型为目标数据表标签时,将所述作业数据表确定为目标数据表;
汇总所有的所述起始数据表及所述目标数据表,得到所述血缘关系分析结果。
可选地,所述利用所述血缘关系分析结果将所述待调度作业集构建为有向无环图,包括:
将所述血缘关系分析结果中的起始数据表作为上级节点;
将所述血缘关系分析结果中的目标数据表作为下级节点,并按照所述上级节点指向所述下级节点的指向关系,生成初始有向无环图;
根据所述单一对应关系,将所述初始有向无环图中每个节点对应作业数据表替换为所述待调度作业集中对应的作业,得到所述有向无环图。
为了解决上述问题,本发明还提供一种作业自动调度装置,所述装置包括:
作业筛选模块,用于获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;提取所述待调度作业集中每个作业的SQL语句,并对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
血缘关系解析模块,用于对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
作业调度模块,用于根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个计算机程序;及
处理器,执行所述存储器中存储的计算机程序以实现上述所述的作业自动调度方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的作业自动调度方法。
本发明实施例根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系,根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图,使得每个作业对应一个作业产出表,将作业之间的依赖关系转化为作业表之间的血缘关系,利用作业数据表之间的血缘关系完成对应作业的依赖配置,提高作业依赖配置的速度,从而提高了作业调度的效率,因此本发明实施例提出的作业自动调度方法、装置、电子设备及可读存储介质提高了作业调度的效率。
附图说明
图1为本发明一实施例提供的作业自动调度方法的流程示意图;
图2为本发明一实施例提供的作业自动调度方法中初始有向无环图示意图;
图3为本发明一实施例提供的作业自动调度方法中有向无环图示意图;
图4为本发明一实施例提供的作业自动调度装置的模块示意图;
图5为本发明一实施例提供的实现作业自动调度方法的电子设备的内部结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种作业自动调度方法。所述作业自动调度方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述作业自动调度方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示的本发明一实施例提供的作业自动调度方法的流程示意图,在本发明实施例中,所述作业自动调度方法包括:
S1、获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;
详细地,本发明实施例中所述作业集为包含多个SQL作业的集合,所述SQL作业为预先创建的只有一个产出表的SQL作业,包含:计划执行时间、SQL语句。所述产出表可以为HIVE表。所述作业调度请求为对所述作业集中的作业进行调度的请求信息,包括:调度时间、作业执行的服务器信息。
进一步地,本发明实施例中每天需要调度的作业是不同的,因此,需要根据所述调度请求对所述作业集进行筛选。
详细地,本发明实施例中不同作业的调度时间是不同的,因此,需要筛选所述作业集中计划执行时间为调度时间的作业,得到所述待调度作业集。
可选地,本发明实施例中获取作业集及作业调度请求之前,还需要配置所述作业集中每个SQL作业的SQL语句,本发明实施例可以根据用户预构建的查询语句进行作业对应的SQL语句的自动补充创建,不需要用户构建整个SQL语句,提高了作业配置的效率,详细地,本发明实施例对预构建的查询语句进行字段识别,根据字段识别结果对所述查询语句进行语句补充构建,得到对应的SQL语句,可选地,所述字段识别结果为识别所述查询语句中对应字段是否为新增字段。
例如:预设的查询语句为select 1 as id,'test1'as name,18 as age,'18516555555'as phone,'2021-04-21 15:00:00'as createtime,识别结果为新增字段,那么对应的SQL语句select 1as id,'test1'as name,18 as age,'18516555555'as phone,'2021-04-21 15:00:00'as createtime alter table BL_PMS.YGY_TEST_0607_4changePHONE string comment'中文12'。
本发明另一实施例中,所述SQL语句可以存储在区块链节点中,利用区块链节点高吞吐的特性,提高数据的存取效率。
S2、提取所述待调度作业集中每个作业的SQL语句,并将所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
详细地,本发明实施例中提取所述待调度作业集中每个作业都依靠对应的SQL语句进行作业的执行。
进一步地,本发明实施例中为了更好的解析所述待调度作业集中作业的依赖关系,提取所述待调度作业集中每个作业的SQL语句。
进一步地,本发明实施例中为了保证每个作业每天产出的数据是不相同的,SQL作业只有一个对应的产出表,为了保证SQL作业不会每次运行都从新建立新的数据表,导致数据覆盖丢失,,因此对提取到的所述SQL语句进行更新,得到能够产出单一作业数据表目标SQL语句,从而保证对应的SQL作业只有一个对应的产出表。
详细地,本发明实施例中对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句,包括:
步骤I:根据所述调度时间构建分区名称;
例如:调度时间为5/21,那么可以创建名称为“5/21”的分区名称。
步骤II:提取所述SQL语句中包含的数据表参数,根据所述分区名称及提取到的数据表参数构建表分区创建语句,及根据所述分区名称构建子查询语句;
本发明实施例中所述数据表参数为所述SQL语句中包含的数据表,如:数据表a对应的数据表参数为a,进一步地,根据所述分区名称及提取到的数据表参数构建表分区创建语句,如:数据表参数为a,分区名称为5/21,那么对应的分区创建语句为createtable(a)PARTITIONED BY(5/21),为数据表a创建分区名称为5/21的表分区。
步骤III:在所述初始SQL语句之前增加所述分区创建语句,及将所述SQL语句中的数据表参数之后增加所述子查询语句,得到所述目标SQL语句。
例如:所述分区名称为5/21,那么构建的子查询语句为where 5/21;SQL语句为select*froma,其中,a为数据表参数,那么初始SQL语句为select*fromawhere 5/21,所述创建语句为createtable(a)PARTITIONED BY(5/21),那么对应的目标SQL语句为
createtable(a)PARTITIONED BY(5/21)
select*fromawhere 5/21
进一步地,本发明实施例将所述目标SQL语句替换所述待调度作业集中对应作业的SQL语句。
S3、对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;
详细地,本发明实施例中对每个所述目标SQL语句进行依赖解析,包括:
步骤A:筛选所述目标SQL语句中在预设关键词集合中存在的单词,得到SQL关键词;
步骤B:利用所述SQL关键词对所述目标SQL语句进行划分,得到多个SQL语句,并对所述划分语句进行数据表标签标记;
详细地,本发明实施例中将所述SQL关键词作为划分节点对所述目标SQL语句进行划分,得到所述划分语句;根据所述划分语句对应的SQL关键词所属的关键词集合类型,对所述划分语句进行对应的数据表标签标记,其中,所述关键词集合包含起始关键词集合与目标关键词集合共两种类型。
可选地,本发明实施例中所述起始关键词集合'FROM','JOIN','INNERJOIN','LEFT JOIN','RIGHT JOIN','LEFT OUTER JOIN','RIGHT OUTER JOIN','FULLOUTERJOIN','CROSS JOIN'等,所述目标关键词集合包括“CREATE”、“INSERT”、“SELECT”'INTO','OVERWRITE'等,通过关键词分别识别出不同作业数据表的来源和去向,并将不同作业数据表的来源和去向作为血缘分析结果输出。
例如:目标SQL语句为select*from table1 B,关键词为“select”、“from”,那么将所述目标SQL语句划分为select*及from table1 B共两个划分语句。
进一步地,本发明实施例为了更好区分作业数据表的来源,对所述划分语句进行标签标记,具体地,本发明实施例中当所述划分语句对应的关键词为起始关键词集合中的关键件词那么将该划分语句标记起始数据表标签;当所述划分语句对应的关键词为目标关键词集合中的关键词那么将该划分语句标记目标数据表标签。例如:划分语句为“select*”对应的关键词为目标关键词集合中的关键词,那么将划分语句“select*”标记目标数据表标签。
本发明另一实施例中,可利用人工智能模型对所述目标SQL语句进行划分,所述人工智能模型可以为自然语言处理模型。
步骤C:将所述划分语句转换为抽象语法树;
可选地,本发明实施例为了便于对所述划分语句进行解析,将所述划分语句转换划分语句转换为抽象语法树。
可选地,本发明实施例中利用预设编译器将所述划分语句转换为所述抽象语法数,
详细地,本发明实施例中通过预设词法分析器将所述划分语句按照预定的词法规则拆分成多个词元,然后利用语法分析器按照设定的SQL语法解析规则对多个词元进行语法分析,最后将符合语法规则的多个词元转换成所述抽象语法树。
步骤D:遍历所述抽象语法树中的所有节点,标记所述抽象语法树中包含预设字段的节点作为目标节点;
可选地,本发明实施例中为了解析目标SQL语句中数据表的血缘关系,因此,需要寻找包含table字段的节点,得到所述目标节点。
步骤E:提取所述目标节点中所述预设字段对应的值,根据提取的值在预设数据库进行数据表查询,得到对应的作业数据表;
可选地,本发明实施例中所述预设字段为table,提取所述所述目标节点中所述预设字段对应的值,如:table B,那么对应的值为B,再查询预设数据库中表名为B的数据表,得到对应的所述作业数据表。
步骤F:根据所述作业数据表对应的划分语句的数据表标签对所有所述作业数据表进行血缘关系分析,得到血缘关系分析结果。
详细地,本发明实施例中判断所述作业数据表对应的标签类型,若所述作业数据表对应的标签类型为起始数据表标签则将所述作业数据表确定为起始数据表;若所述数据表对应的标签类型为目标数据表标签,则将所述作业数据表确定为目标数据表,起始数据表与目标数据表的血缘关系为起始数据表为目标数据表的上游数据表,汇总所有的所述起始数据表及所述目标数据表,得到所述血缘关系分析结果。
S4、根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;
本发明实施例中每个目标SQL语句对应的单一作业数据表,因此,可以得到所述目标SQL语句对应作业与所述作业数据表的单一对应关系,例如:所述目标SQL语句对应产出的单一作业数据表为数据表A,所述目标SQL语句所述作业为作业甲,那么作业甲与作业数据表A有唯一对应关系。
S5、根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
详细地,本发明实施例中每个作业只有一个产出表,所述血缘关系分析结果为不同的作业数据表之间的依赖关系,每个作业对应产出唯一的作业数据表,因此可以根据作业数据表之间的依赖关系从而解析对应作业之间的依赖关系。
具体地,本发明实施例中根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图,包括:将所述血缘关系分析结果中的所述起始数据表作为上级节点,将所述血缘关系分析结果中的所述目标数据表作为所述下级节点,并按照所述上级节点指向所述下级节点的指向关系,生成初始有向无环图。
进一步地,所述初始有向无环图仅代表作业产出数据表之间的依赖关系,由于数据表与作业之间是一一对应的关系,因此,本发明实施例根据所述单一对应关系,将所述初始有向无环图中每个节点对应作业数据表替换为所述待调度作业集中对应的作业,得到所述有向无环图。
例如:作业数据表A、B、C、E对应的初始有向无环图如图2所示:
其中,作业数据表A与作业甲具有单一对应关系、作业数据表B与作业乙具有单一对应关系、作业数据表C与作业丙具有单一对应关系、作业数据表D与作业丁具有单一对应关系,那么对应的有向无环图如图3所示:
S6、根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
详细地,本发明实施例中为了保证所述待调度作业集中的作业能够正常执行,因此,按照所述有向无环图中节点的顺序依次执行所述待调度作业集中的作业,当有向无环图上一个节点对应的作业完成后才启动有向无环图下一个节点对应的作业。
如图4所示,是本发明作业自动调度装置的功能模块图。
本发明所述作业自动调度装置100可以安装于电子设备中。根据实现的功能,所述作业自动调度装置可以包括作业筛选模块101、血缘关系解析模块102、作业调度模块103,本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述作业筛选模块101用于获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;提取所述待调度作业集中每个作业的SQL语句,并对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
所述血缘关系解析模块102用于对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
所述作业调度模块103用于根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
详细地,本发明实施例中所述作业自动调度装置100中所述的各模块在使用时采用与上述图1中所述的作业自动调度方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明实现作业自动调度方法的电子设备的结构示意图。
所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如作业调度程序。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如作业调度程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如作业自动调度程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
所述通信总线12可以是外设部件互连标准(perIPheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
可选地,所述通信接口13可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备中的所述存储器11存储的作业调度程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;
提取所述待调度作业集中每个作业的SQL语句,并对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;
根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;
根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明实施例还可以提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;
提取所述待调度作业集中每个作业的SQL语句,并对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;
根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;
根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种作业自动调度方法,其特征在于,所述方法包括:
获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;
提取所述待调度作业集中每个作业的SQL语句,并对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;
根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;
根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
2.如权利要求1所述的作业自动调度方法,其特征在于,所述提取所述待调度作业集中每个作业的SQL语句,并将所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句,包括:
根据所述调度时间构建分区名称;
提取所述SQL语句中包含的数据表参数,根据所述分区名称及所述数据表参数构建表分区创建语句,及根据所述分区名称构建子查询语句;
在所述初始SQL语句之前增加所述分区创建语句,及将所述SQL语句中的数据表参数之后增加所述子查询语句,得到所述目标SQL语句。
3.如权利要求1所述的作业自动调度方法,其特征在于,所述对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果,包括:
筛选所述目标SQL语句中在预设关键词集合中存在的单词,得到SQL关键词;
利用所述SQL关键词对所述目标SQL语句进行划分,得到多个SQL语句,并对所述划分语句进行数据表标签标记;
将所述划分语句转换为抽象语法树;
通过遍历所述抽象语法树中的所有节点,选择所述抽象语法树中包含预设字段的节点作为目标节点;
提取所述目标节点中所述预设字段的值,根据提取的值在预设数据库进行数据表查询,得到对应的作业数据表;
根据所述作业数据表对应的划分语句的数据表标签对所有所述作业数据表进行血缘关系分析,得到血缘关系分析结果。
4.如权利要求3所述的作业自动调度方法,其特征在于,所述利用所述SQL关键词对所述目标SQL语句进行划分,得到多个SQL语句,并对所述划分语句进行数据表标签标记,包括:
将所述SQL关键词作为划分节点对所述目标SQL语句进行划分,得到所述划分语句;
根据所述划分语句对应的SQL关键词所属的关键词集合类型,对所述划分语句进行对应的数据表标签标记。
5.如权利要求4所述的作业自动调度方法,其特征在于,所述根据所述划分语句对应的SQL关键词所属的关键词集合类型,对所述划分语句进行对应的数据表标签标记,包括:
所述关键词集合包含起始关键词集合与目标关键词集合;
当所述划分语句对应的SQL关键词属于起始关键词集合时,将所述划分语句标记起始数据表标签;
当所述划分语句对应的SQL关键词属于目标关键词集合时,将所述划分语句标记目标数据表标签。
6.如权利要求3所述的作业自动调度方法,其特征在于,所述根据所述作业数据表对应的所述标签对所有所述作业数据表进行血缘关系分析,得到血缘关系分析结果,包括:
判断所述作业数据表的标签类型;
当所述作业数据表对应的标签类型为起始数据表标签时,将所述作业数据表确定为起始数据表;
当所述数据表对应的标签类型为目标数据表标签时,将所述作业数据表确定为目标数据表;
汇总所有的所述起始数据表及所述目标数据表,得到所述血缘关系分析结果。
7.如权利要求6所述的作业自动调度方法,其特征在于,所述利用所述血缘关系分析结果将所述待调度作业集构建为有向无环图,包括:
将所述血缘关系分析结果中的起始数据表作为上级节点;
将所述血缘关系分析结果中的目标数据表作为下级节点,并按照所述上级节点指向所述下级节点的指向关系,生成初始有向无环图;
根据所述单一对应关系,将所述初始有向无环图中每个节点对应作业数据表替换为所述待调度作业集中对应的作业,得到所述有向无环图。
8.一种作业自动调度装置,其特征在于,包括:
作业筛选模块,用于获取作业集及作业调度请求,提取所述作业调度请求中的调度时间,根据所述调度时间对所述作业集进行筛选,得到待调度作业集;提取所述待调度作业集中每个作业的SQL语句,并对所述SQL语句进行更新,得到能够产出单一作业数据表的目标SQL语句;
血缘关系解析模块,用于对每个所述目标SQL语句进行数据血缘关系解析,得到血缘关系分析结果;根据所述目标SQL语句对应的单一作业数据表,得到所述目标SQL语句所属作业与所述作业数据表的单一对应关系;根据所述血缘关系分析结果及所述单一对应关系构建所述待调度作业集的有向无环图;
作业调度模块,用于根据所述有向无环图中节点的先后顺序,依次对所述待调度作业集中的作业进行调度执行。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的作业自动调度方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的作业自动调度方法。
CN202111219554.7A 2021-10-20 2021-10-20 作业自动调度方法、装置、电子设备及可读存储介质 Pending CN113886446A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111219554.7A CN113886446A (zh) 2021-10-20 2021-10-20 作业自动调度方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111219554.7A CN113886446A (zh) 2021-10-20 2021-10-20 作业自动调度方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113886446A true CN113886446A (zh) 2022-01-04

Family

ID=79003801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111219554.7A Pending CN113886446A (zh) 2021-10-20 2021-10-20 作业自动调度方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113886446A (zh)

Similar Documents

Publication Publication Date Title
CN111813963B (zh) 知识图谱构建方法、装置、电子设备及存储介质
CN111428451B (zh) 文本在线编辑方法、装置、电子设备及存储介质
CN115408399A (zh) 基于sql脚本的血缘关系分析方法、装置、设备及存储介质
CN113961584A (zh) 字段血缘分析方法、装置、电子设备及存储介质
CN113672781A (zh) 数据查询方法、装置、电子设备及存储介质
CN112364107A (zh) ***分析可视化方法、装置、电子设备及计算机可读存储介质
CN112231417A (zh) 数据分类方法、装置、电子设备及存储介质
CN115048111B (zh) 基于元数据的代码生成方法、装置、设备及介质
CN112528013A (zh) 文本摘要提取方法、装置、电子设备及存储介质
CN113806434A (zh) 大数据处理方法、装置、设备及介质
CN114707474A (zh) 报表生成方法、装置、电子设备及计算机可读存储介质
CN115129753A (zh) 数据血缘关系分析方法、装置、电子设备及存储介质
CN114398282A (zh) 测试脚本的生成方法、装置、设备及存储介质
CN114138243A (zh) 基于开发平台的功能调用方法、装置、设备及存储介质
CN113434542A (zh) 数据关系识别方法、装置、电子设备及存储介质
CN113687827B (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
CN114721952A (zh) 多套测试环境同步部署方法、装置、设备及存储介质
CN113886446A (zh) 作业自动调度方法、装置、电子设备及可读存储介质
CN115033605A (zh) 数据查询方法、装置、电子设备及存储介质
CN114625376A (zh) 数据传递方式转化方法、装置、电子设备及可读存储介质
CN114816371A (zh) 消息处理方法、装置、设备及介质
CN114385155A (zh) vue项目可视化工具生成方法、装置、设备及存储介质
CN114116673A (zh) 基于人工智能的数据迁移方法及相关设备
CN113918305A (zh) 节点调度方法、装置、电子设备及可读存储介质
CN111680204A (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