CN114968725A - 任务依赖关系校正方法、装置、计算机设备及存储介质 - Google Patents
任务依赖关系校正方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114968725A CN114968725A CN202210717360.8A CN202210717360A CN114968725A CN 114968725 A CN114968725 A CN 114968725A CN 202210717360 A CN202210717360 A CN 202210717360A CN 114968725 A CN114968725 A CN 114968725A
- Authority
- CN
- China
- Prior art keywords
- task
- dependency relationship
- relationship information
- read
- initial
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例属于研发管理领域,涉及一种任务依赖关系校正方法、装置、计算机设备及存储介质,方法包括:获取各任务的初始任务依赖关系信息;从初始任务依赖关系信息中提取任务标识;获取任务标识所对应的任务脚本,并基于任务标识获取底层文件访问日志;根据任务脚本和底层文件访问日志对初始任务依赖关系信息进行校正,得到任务依赖关系信息。此外,本申请还涉及区块链技术,初始任务依赖关系信息和任务依赖关系信息可存储于区块链中。本申请提高了任务依赖关系校正的准确性。
Description
技术领域
本申请涉及研发管理技术领域,尤其涉及一种任务依赖关系校正方法、装置、计算机设备及存储介质。
背景技术
生产经营活动往往以任务为单位进行拆分,例如在大数据平台中,可能同时存在着上万个任务。不同任务之间由于数据的依赖关系,导致任务存在依赖关系。例如,任务A对源数据进行加工得到数据表A,数据表A会被任务B使用,则任务B需要在任务A运行完成的基础上方可运行,此时任务B依赖于任务A。
任务之间除了直接依赖关系,还可能存在间接依赖关系。准确配置任务依赖关系,校正错误的任务依赖关系,对任务的准确、高效运行具有重要意义。然而,当前任务依赖关系的校验通常基于人工实现。随着任务数量的增多、任务依赖关系变得越发复杂,人工校正任务依赖关系的准确性也越来越低。
发明内容
本申请实施例的目的在于提出一种任务依赖关系校正方法、装置、计算机设备及存储介质,以解决任务依赖关系准确性较低的问题。
为了解决上述技术问题,本申请实施例提供一种任务依赖关系校正方法,采用了如下所述的技术方案:
获取各任务的初始任务依赖关系信息;
从所述初始任务依赖关系信息中提取任务标识;
获取所述任务标识所对应的任务脚本,并基于所述任务标识获取底层文件访问日志;
根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
为了解决上述技术问题,本申请实施例还提供一种任务依赖关系校正装置,采用了如下所述的技术方案:
信息获取模块,用于获取各任务的初始任务依赖关系信息;
标识提取模块,用于从所述初始任务依赖关系信息中提取任务标识;
获取模块,用于获取所述任务标识所对应的任务脚本,并基于所述任务标识获取底层文件访问日志;
依赖校正模块,用于根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
获取各任务的初始任务依赖关系信息;
从所述初始任务依赖关系信息中提取任务标识;
获取所述任务标识所对应的任务脚本,并基于所述任务标识获取底层文件访问日志;
根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
获取各任务的初始任务依赖关系信息;
从所述初始任务依赖关系信息中提取任务标识;
获取所述任务标识所对应的任务脚本,并基于所述任务标识获取底层文件访问日志;
根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
与现有技术相比,本申请实施例主要有以下有益效果:获取记录任务之间依赖关系的初始任务依赖关系信息,并从中提取任务标识;根据任务标识获取任务脚本和底层文件访问日志,其中,任务脚本记录了任务所执行的动作,从而得到任务执行时对数据表的读取与处理,底层文件访问日志记录了任务执行时对***底层数据表的访问信息,任务通过数据表产生依赖关系,因此可以通过任务脚本和底层文件访问日志判断任务之间的依赖关系,从而对初始任务依赖关系信息进行自动校正,提高了生成的任务依赖关系信息的准确性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的任务依赖关系校正方法的一个实施例的流程图;
图3是根据本申请的任务依赖关系校正装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的任务依赖关系校正方法一般由服务器执行,相应地,任务依赖关系校正装置一般设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的任务依赖关系校正方法的一个实施例的流程图。所述的任务依赖关系校正方法,包括以下步骤:
步骤S201,获取各任务的初始任务依赖关系信息。
在本实施例中,任务依赖关系校正方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与终端进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
具体地,服务器首先获取各任务的初始任务依赖关系信息,其中,初始任务依赖关系信息记录了各任务之间的依赖关系。在一个实施例中,任务为大数据平台上的任务,例如可以是ETL(Extract-Transform-Load,是指将数据从来源端经过抽取extract、转换transform、加载load至目的端的过程)任务,当ETL任务在大数据平台上线时,可以由人工添加ETL任务之间的依赖关系,得到初始任务依赖关系信息。
需要强调的是,为进一步保证上述初始任务依赖关系信息的私密和安全性,上述初始任务依赖关系信息还可以存储于一区块链的节点中;可以理解,为进一步保证本申请最后生成的任务依赖关系信息的私密和安全性,上述任务依赖关系信息也可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤S202,从初始任务依赖关系信息中提取任务标识。
具体地,初始任务依赖关系信息可以是结构化的数据,可以从中提取任务标识,任务标识是各任务的标识,具有唯一性,可以对各任务进行区分。
步骤S203,获取任务标识所对应的任务脚本,并基于任务标识获取底层文件访问日志。
具体地,任务具有任务脚本,通过执行任务脚本实现任务的下发执行。任务脚本中具有任务标识,从初始任务依赖关系信息中提取到任务标识后,在预存的多个任务脚本中,根据任务标识查询相应的任务脚本。
同时,根据任务标识获取底层文件访问日志,任务运行时会产生任务日志,底层文件访问日志可以是任务日志的一部分,记录了任务运行时对底层数据表的操作。
步骤S204,根据任务脚本和底层文件访问日志对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
具体地,任务脚本以脚本语言记录了任务运行时执行的动作,包括对数据表的读写、生成等操作;底层文件访问日志以日志的形式记录任务运行时对底层数据表的操作。
任务运行时需要对数据表进行操作,一个数据表中的数据可以来自另一个数据表,因此,通过任务脚本和底层文件访问日志中记载的任务与数据表之间的关系,可以得到任务之间的依赖关系,从而对初始任务依赖关系信息自动进行校验与校正,得到任务依赖关系信息。
本实施例中,获取记录任务之间依赖关系的初始任务依赖关系信息,并从中提取任务标识;根据任务标识获取任务脚本和底层文件访问日志,其中,任务脚本记录了任务所执行的动作,从而得到任务执行时对数据表的读取与处理,底层文件访问日志记录了任务执行时对***底层数据表的访问信息,任务通过数据表产生依赖关系,因此可以通过任务脚本和底层文件访问日志判断任务之间的依赖关系,从而对初始任务依赖关系信息进行自动校正,提高了生成的任务依赖关系信息的准确性。
进一步的,上述基于任务标识获取底层文件访问日志的步骤可以包括:获取时间限制信息;根据时间限制信息和任务标识,在日志库中查询底层文件访问日志。
具体地,底层文件访问日志为日志,任务可以重复执行,每次执行都会生成任务日志。所以,任务日志具有时间限制信息,用于对日志进行时间维度的限制与说明。例如,2022年5月2号运行任务时,处理的是2022年5月1号的数据,将增量日期“2022年5月1号”作为时间限制信息。
因此,还可以获取时间限制信息,根据时间限制信息和任务标识,从日志库中存储的大量日志中获取到所需的底层文件访问日志。
在一个实施例中,根据任务日志中的任务状态信息,选取正常运行的任务所生成的日志,将该任务运行的时间作为时间限制信息,然后根据时间限制信息和任务标识查询底层文件访问日志,从而确保底层文件访问日志的准确性。
本实施例中,根据时间限制信息和任务标识,可以准确从日志库中获取到所需的底层文件访问日志。
进一步的,上述步骤S204之前,还可以包括:当各任务运行时,对各任务进行监测以记录各任务运行时访问的底层数据表,得到底层文件访问日志。
具体地,本申请的大数据平台经过改进,在各任务运行时,可以对各任务的运行进行全过程的监测,对底层数据表的操作,都被完整记录下来,得到底层文件访问日志。例如,任务操作hive(hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载。Hadoop是一种大数据软件***运行框架。)数据库中的Hadoop任务时,后台连同任务标识、时间限制信息(例如日期)和对HDFS(Hadoop中的一种分布式文件***)文件的操作都被记录下来,得到任务对底层数据表的HDFS访问信息,如果是分区表,需要精确到分区路径。底层文件访问日志可以更准确地反应任务的执行情况。
本实施例中,对各任务进行监测以记录任务运行时访问到的底层数据表,得到底层文件访问日志,可以更准确地反应任务对底层数据表的操作情况。
进一步的,上述步骤S204可以包括:识别任务脚本中的各读写语句;解析各读写语句,得到读写解析结果;当根据读写解析结果确定各读写语句均为第一类型语句时,通过读写解析结果对初始任务依赖关系信息进行校正,得到任务依赖关系信息;当根据读写解析结果确定各读写语句中存在第二类型语句时,通过读写解析结果和底层文件访问日志对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
具体地,可以先对任务脚本进行处理,识别任务脚本中的每条读写语句。任务脚本中的语句可以是HQL语句,脚本语句可以显示脚本每一步做了什么,包括从什么数据表获取数据,对什么数据表进行修改,生成什么数据表,解析各读写语句可以获取到上述信息,生成读写解析结果。
在解析过程中,还可以获取到数据表的属性信息,依据数据表的属性信息可以将读取语句划分为第一类型语句和第二类型语句。如果读取语句操作的数据表为常规类型的数据表,则读取语句为第一类型语句,如果读取语句操作的数据表为非常规类型的数据表,则读取语句为第二类型语句。其中,常规类型的数据表是指语句字面涉及的数据表与数据库中真实存储的底层数据表一致,非常规类型的数据表是指语句字面涉及的数据表与数据库中真实存储的底层数据表不一致。
在读取操作中,可能涉及视图,视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。视图是一种典型的非常规类型的数据表。因此,如果解析到读取语句操作的数据表不包括视图,可以将读取语句标记为第一类型语句,如果解析到读取语句操作的数据表包括视图,则将读取语句标记为第二类型语句。
因此,当各读写语句均为第一类型语句时,可以仅根据读写解析结果对初始任务依赖关系进行校正,得到任务依赖关系信息;如果各读写语句中存在第二类型语句时,还需要根据底层文件访问日志进行校正,得到任务依赖关系信息。
本实施例中,识别并解析任务脚本中的读写语句,根据读写解析结果判断读写语句的语句类型,从而采取对应的校正策略,确保了任务依赖关系校正的准确性。
进一步的,上述解析各读写语句,得到读写解析结果的步骤可以包括:解析各读写语句,得到初始读写解析结果;当根据初始读写解析结果确定存在多依赖数据表时,从任务脚本中提取任务描述信息;多依赖数据表被多个任务所依赖;根据任务描述信息给初始读写解析结果添加时间顺序信息,得到读写解析结果。
具体地,先对各读写语句进行解析得到初始读写解析结果。初始读写解析结果可以显示数据表需要被哪些任务进行读写,如果一个数据表被多个任务进行读写,则该数据表被多个任务所依赖,为多依赖数据表。
对于多依赖数据表,如果多个任务同时对其进行读写操作,可能会导致数据出错。此时,还需要从任务脚本中提取任务描述信息,任务描述信息用于记录任务的时效信息和关键程度,其中,时效信息记录任务的紧急性或者执行的先后顺序,关键程度反应任务重要性。
根据任务描述信息可以确定任务操作数据表的时间先后顺序,将任务的执行错开,得到时间顺序信息;将时间顺序信息中添加到初始读写解析结果得到读写解析结果,保证了读写解析结果的准确性。
本实施例中,对各读写语句进行解析得到初始读写解析结果,当存在多依赖数据表时,获取描述信息,根据任务描述信息给初始语句解析结果添加时间顺序信息,从而将任务的执行顺序错开,提高了读写解析结果的准确性。
进一步的,上述通过读写解析结果和底层文件访问日志对初始任务依赖关系信息进行校正,得到任务依赖关系信息的步骤可以包括:基于读写解析结果和底层文件访问日志,获取记录底层数据表之间依赖关系的第一依赖关系信息,并获取记录任务与底层数据表之间依赖关系的第二依赖关系信息;根据第一依赖关系信息和第二依赖关系信息对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
具体地,根据读写解析结果和底层文件访问日志,可以清楚无误地获取到任务对底层数据表的读写操作,因此,任务与底层数据表之间具有依赖关系;同时,底层数据表中的数据可以来自另一个底层数据表,因此,底层数据表之间也具有依赖关系。
将底层数据表之间的依赖关系记为第一依赖关系信息,将任务与底层数据表之间的依赖关系记为第二依赖关系信息。可以理解,任务与任务之间的依赖关系源自底层数据表,因此,可以根据第一依赖关系信息和第二依赖关系信息梳理出任务之间的依赖关系,从而对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
可以理解,当各读写语句均为第一类型语句时,通过读写解析结果对初始任务依赖关系信息进行校正,其逻辑与通过读写解析结果和底层文件访问日志是相同的,区别仅仅在于,当各读写语句中存在第二类型语句时,为了防止视图等造成的干扰,需要增加底层文件访问日志加以判断。
对初始任务依赖关系信息的校正包括去处冗余依赖和增加漏配依赖。例如,任务A配置了2个依赖关系;任务B和任务C,任务B配置了1个依赖关系:任务C。通过读写解析结果和底层文件访问日志,确定任务B的确访问了任务C生成的数据表,且初始任务依赖关系信息已经记录了任务B依赖任务C,任务A依赖任务B,则任务由前到后的实际执行顺序应该为任务C、任务B、任务A。此时,没有必要再配置任务A依赖任务C,其为冗余依赖,仅需要配置任务A依赖任务B即可,因为任务A实际上间接依赖于任务C,此时可以将初始任务依赖关系信息中的“任务A依赖任务C”予以删除。再例如,任务D实际上只用到任务B生成的数据表,但是初始任务依赖关系信息还配置了任务D依赖任务A,则任务D在执行时需要进行无意义的等待,要等到任务A执行完成后才开始执行,影响任务E的执行时效,此时可以将初始任务依赖关系信息中的“任务D依赖任务A”予以删除。
漏配依赖的情形为:初始任务依赖关系信息记录了任务A依赖任务B,任务B依赖任务C。通过读写解析结果和底层文件访问日志,发现任务A访问了底层数据表D,底层数据表D由任务D加工生成,而初始任务依赖关系信息并没有配置任务A/B/C依赖于任务D,由此可以确定漏配任务A依赖于任务D,将其添加到初始任务依赖关系信息中,补全依赖关系。
本实施例中,根据读写解析结果和底层文件访问日志,获取记录底层数据表之间依赖关系的第一依赖关系信息,以及记录任务与底层数据表之间依赖关系的第二依赖关系信息;根据第一依赖关系信息和第二依赖关系信息对任务之间的依赖关系进行推理,从而发现任务之间冗余或者遗漏的依赖关系,并进行修正,提高了任务依赖关系信息的准确性。
进一步的,上述步骤S204之后,还可以包括:获取当前的待执行任务;根据任务依赖关系信息确定待执行任务的依赖任务;对依赖任务进行完成性校验;当依赖任务通过完成性校验时,下发待执行任务。
具体地,获取大数据平台中当前的待执行任务,并获取校正后得到的任务依赖关系信息,通过任务依赖关系信息查询待执行任务的依赖任务,即待执行任务所依赖的任务。
对查询到的依赖任务进行完成性校验,完成性校验是校验任务是否执行完成,以及是否执行成功。当任务执行完成且执行成功时,依赖任务操作的数据表处于正常状态,待执行任务对这些数据表再进行操作时,不会出现错误。因此当确定依赖任务通过完成性校验时,判断待执行任务可以执行,下发待执行任务以执行。
本实施例中,根据任务依赖关系信息获取待执行任务的依赖任务并进行完成性校验,当依赖任务通过完成性校验时,表明待执行任务所依赖的数据表正确无误,此时再下发待执行任务,确保了待执行任务运行的准确性。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理,例如识别任务脚本中的读写语句,以及对读写语句进行解析。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种任务依赖关系校正装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的任务依赖关系校正装置300包括:信息获取模块301、标识提取模块302、获取模块303以及依赖校正模块304,其中:
信息获取模块301,用于获取各任务的初始任务依赖关系信息。
标识提取模块302,用于从初始任务依赖关系信息中提取任务标识。
获取模块303,用于获取任务标识所对应的任务脚本,并基于任务标识获取底层文件访问日志。
依赖校正模块304,用于根据任务脚本和底层文件访问日志对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
本实施例中,获取记录任务之间依赖关系的初始任务依赖关系信息,并从中提取任务标识;根据任务标识获取任务脚本和底层文件访问日志,其中,任务脚本记录了任务所执行的动作,从而得到任务执行时对数据表的读取与处理,底层文件访问日志记录了任务执行时对***底层数据表的访问信息,任务通过数据表产生依赖关系,因此可以通过任务脚本和底层文件访问日志判断任务之间的依赖关系,从而对初始任务依赖关系信息进行自动校正,提高了生成的任务依赖关系信息的准确性。
在本实施例的一些可选的实现方式中,获取模块303可以包括:限制获取子模块以及日志查询子模块,其中:
限制获取子模块,用于获取时间限制信息。
日志查询子模块,用于根据时间限制信息和任务标识,在日志库中查询底层文件访问日志。
本实施例中,根据时间限制信息和任务标识,可以准确从日志库中获取到所需的底层文件访问日志。
在本实施例的一些可选的实现方式中,任务依赖关系校正装置300还可以包括:运行记录模块,用于当各任务运行时,对各任务进行监测以记录各任务运行时访问的底层数据表,得到底层文件访问日志。
本实施例中,对各任务进行监测以记录任务运行时访问到的底层数据表,得到底层文件访问日志,可以更准确地反应任务对底层数据表的操作情况。
在本实施例的一些可选的实现方式中,依赖校正模块304可以包括:语句识别子模块、语句解析子模块、第一校正子模块以及第二校正子模块,其中:
语句识别子模块,用于识别任务脚本中的各读写语句。
语句解析子模块,用于解析各读写语句,得到读写解析结果。
第一校正子模块,用于当根据读写解析结果确定各读写语句均为第一类型语句时,通过读写解析结果对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
第二校正子模块,用于当根据读写解析结果确定各读写语句中存在第二类型语句时,通过读写解析结果和底层文件访问日志对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
本实施例中,识别并解析任务脚本中的读写语句,根据读写解析结果判断读写语句的语句类型,从而采取对应的校正策略,确保了任务依赖关系校正的准确性。
在本实施例的一些可选的实现方式中,语句解析子模块可以包括:语句解析单元、描述提取单元以及时间添加单元,其中:
语句解析单元,用于解析各读写语句,得到初始读写解析结果。
描述提取单元,用于当根据初始读写解析结果确定存在多依赖数据表时,从任务脚本中提取任务描述信息;多依赖数据表被多个任务所依赖。
时间添加单元,用于根据任务描述信息给初始读写解析结果添加时间顺序信息,得到读写解析结果。
本实施例中,对各读写语句进行解析得到初始读写解析结果,当存在多依赖数据表时,获取描述信息,根据任务描述信息给初始语句解析结果添加时间顺序信息,从而将任务的执行顺序错开,提高了读写解析结果的准确性。
在本实施例的一些可选的实现方式中,第二校正子模块可以包括:依赖获取单元以及依赖校正单元,其中:
依赖获取单元,用于基于读写解析结果和底层文件访问日志,获取记录底层数据表之间依赖关系的第一依赖关系信息,并获取记录任务与底层数据表之间依赖关系的第二依赖关系信息。
依赖校正单元,用于根据第一依赖关系信息和第二依赖关系信息对初始任务依赖关系信息进行校正,得到任务依赖关系信息。
本实施例中,根据读写解析结果和底层文件访问日志,获取记录底层数据表之间依赖关系的第一依赖关系信息,以及记录任务与底层数据表之间依赖关系的第二依赖关系信息;根据第一依赖关系信息和第二依赖关系信息对任务之间的依赖关系进行推理,从而发现任务之间冗余或者遗漏的依赖关系,并进行修正,提高了任务依赖关系信息的准确性。
在本实施例的一些可选的实现方式中,任务依赖关系校正装置300还可以包括:任务获取模块、依赖确定模块、完成校验模块以及任务下发模块,其中:
任务获取模块,用于获取当前的待执行任务。
依赖确定模块,用于根据任务依赖关系信息确定待执行任务的依赖任务。
完成校验模块,用于对依赖任务进行完成性校验。
任务下发模块,用于当依赖任务通过完成性校验时,下发待执行任务。
本实施例中,根据任务依赖关系信息获取待执行任务的依赖任务并进行完成性校验,当依赖任务通过完成性校验时,表明待执行任务所依赖的数据表正确无误,此时再下发待执行任务,确保了待执行任务运行的准确性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过***总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作***和各类应用软件,例如任务依赖关系校正方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述任务依赖关系校正方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例中提供的计算机设备可以执行上述任务依赖关系校正方法。此处任务依赖关系校正方法可以是上述各个实施例的任务依赖关系校正方法。
本实施例中,获取记录任务之间依赖关系的初始任务依赖关系信息,并从中提取任务标识;根据任务标识获取任务脚本和底层文件访问日志,其中,任务脚本记录了任务所执行的动作,从而得到任务执行时对数据表的读取与处理,底层文件访问日志记录了任务执行时对***底层数据表的访问信息,任务通过数据表产生依赖关系,因此可以通过任务脚本和底层文件访问日志判断任务之间的依赖关系,从而对初始任务依赖关系信息进行自动校正,提高了生成的任务依赖关系信息的准确性。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的任务依赖关系校正方法的步骤。
本实施例中,获取记录任务之间依赖关系的初始任务依赖关系信息,并从中提取任务标识;根据任务标识获取任务脚本和底层文件访问日志,其中,任务脚本记录了任务所执行的动作,从而得到任务执行时对数据表的读取与处理,底层文件访问日志记录了任务执行时对***底层数据表的访问信息,任务通过数据表产生依赖关系,因此可以通过任务脚本和底层文件访问日志判断任务之间的依赖关系,从而对初始任务依赖关系信息进行自动校正,提高了生成的任务依赖关系信息的准确性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种任务依赖关系校正方法,其特征在于,包括下述步骤:
获取各任务的初始任务依赖关系信息;
从所述初始任务依赖关系信息中提取任务标识;
获取所述任务标识所对应的任务脚本,并基于所述任务标识获取底层文件访问日志;
根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
2.根据权利要求1所述的任务依赖关系校正方法,其特征在于,所述基于所述任务标识获取底层文件访问日志的步骤包括:
获取时间限制信息;
根据所述时间限制信息和所述任务标识,在日志库中查询底层文件访问日志。
3.根据权利要求1所述的任务依赖关系校正方法,其特征在于,在所述根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息的步骤之前,还包括:
当所述各任务运行时,对所述各任务进行监测以记录所述各任务运行时访问的底层数据表,得到底层文件访问日志。
4.根据权利要求1所述的任务依赖关系校正方法,其特征在于,所述根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息的步骤包括:
识别所述任务脚本中的各读写语句;
解析所述各读写语句,得到读写解析结果;
当根据所述读写解析结果确定所述各读写语句均为第一类型语句时,通过所述读写解析结果对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息;
当根据所述读写解析结果确定所述各读写语句中存在第二类型语句时,通过所述读写解析结果和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
5.根据权利要求4所述的任务依赖关系校正方法,其特征在于,所述解析所述各读写语句,得到读写解析结果的步骤包括:
解析所述各读写语句,得到初始读写解析结果;
当根据所述初始读写解析结果确定存在多依赖数据表时,从所述任务脚本中提取任务描述信息;所述多依赖数据表被多个任务所依赖;
根据所述任务描述信息给所述初始读写解析结果添加时间顺序信息,得到读写解析结果。
6.根据权利要求4所述的任务依赖关系校正方法,其特征在于,所述通过所述读写解析结果和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息的步骤包括:
基于所述读写解析结果和所述底层文件访问日志,获取记录底层数据表之间依赖关系的第一依赖关系信息,并获取记录任务与底层数据表之间依赖关系的第二依赖关系信息;
根据所述第一依赖关系信息和所述第二依赖关系信息对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
7.根据权利要求1所述的任务依赖关系校正方法,其特征在于,在所述根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息的步骤之后,还包括:
获取当前的待执行任务;
根据所述任务依赖关系信息确定所述待执行任务的依赖任务;
对所述依赖任务进行完成性校验;
当所述依赖任务通过所述完成性校验时,下发所述待执行任务。
8.一种任务依赖关系校正装置,其特征在于,包括:
信息获取模块,用于获取各任务的初始任务依赖关系信息;
标识提取模块,用于从所述初始任务依赖关系信息中提取任务标识;
获取模块,用于获取所述任务标识所对应的任务脚本,并基于所述任务标识获取底层文件访问日志;
依赖校正模块,用于根据所述任务脚本和所述底层文件访问日志对所述初始任务依赖关系信息进行校正,得到任务依赖关系信息。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的任务依赖关系校正方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的任务依赖关系校正方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210717360.8A CN114968725A (zh) | 2022-06-23 | 2022-06-23 | 任务依赖关系校正方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210717360.8A CN114968725A (zh) | 2022-06-23 | 2022-06-23 | 任务依赖关系校正方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968725A true CN114968725A (zh) | 2022-08-30 |
Family
ID=82965711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210717360.8A Pending CN114968725A (zh) | 2022-06-23 | 2022-06-23 | 任务依赖关系校正方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968725A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244324A (zh) * | 2023-03-15 | 2023-06-09 | 上海擎创信息技术有限公司 | 任务数据关系挖掘方法、装置、电子设备及存储介质 |
-
2022
- 2022-06-23 CN CN202210717360.8A patent/CN114968725A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116244324A (zh) * | 2023-03-15 | 2023-06-09 | 上海擎创信息技术有限公司 | 任务数据关系挖掘方法、装置、电子设备及存储介质 |
CN116244324B (zh) * | 2023-03-15 | 2023-12-08 | 上海擎创信息技术有限公司 | 任务数据关系挖掘方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947789B (zh) | 一种多数据库的数据处理的方法、装置、计算机设备及存储介质 | |
US10782942B1 (en) | Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation | |
CN115712422A (zh) | 表单页面的生成方法、装置、计算机设备及存储介质 | |
CN113869789A (zh) | 一种风险监控的方法、装置、计算机设备及存储介质 | |
CN112860662B (zh) | 自动化生产数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN114968725A (zh) | 任务依赖关系校正方法、装置、计算机设备及存储介质 | |
CN117033249A (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
CN112363814A (zh) | 任务调度方法、装置、计算机设备及存储介质 | |
CN113010542A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN114637672A (zh) | 自动化数据测试方法、装置、计算机设备及存储介质 | |
CN115237425A (zh) | 代码检视方法、装置、计算机设备及存储介质 | |
CN112069807A (zh) | 文本数据的主题提取方法、装置、计算机设备及存储介质 | |
CN113806372B (zh) | 新数据信息构建方法、装置、计算机设备及存储介质 | |
CN116028108B (zh) | 一种依赖包安装用时分析方法、装置、设备及存储介质 | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
CN112527880B (zh) | 大数据集群元数据信息的采集方法、装置、设备及介质 | |
CN115731057A (zh) | 信息生成方法、装置、计算机设备及存储介质 | |
US20140316851A1 (en) | Predicting customer receptivity for commercial engagement | |
CN116775037A (zh) | 一种数据血缘关系的抽取方法、装置、设备及存储介质 | |
CN117421233A (zh) | 基于注解的代码生成方法、装置、计算机设备及存储介质 | |
CN116594599A (zh) | Vue项目文件扫描展示方法、装置、设备及其存储介质 | |
CN114998038A (zh) | 异常保单处理方法及*** | |
CN116842011A (zh) | 血缘关系分析方法、装置、计算机设备及存储介质 | |
CN116737833A (zh) | 基于分区模式的cdc数据资源同步方法及其相关设备 |
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 |