CN109034668B - Etl任务调度方法、装置、计算机设备及存储介质 - Google Patents
Etl任务调度方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109034668B CN109034668B CN201811032070.XA CN201811032070A CN109034668B CN 109034668 B CN109034668 B CN 109034668B CN 201811032070 A CN201811032070 A CN 201811032070A CN 109034668 B CN109034668 B CN 109034668B
- Authority
- CN
- China
- Prior art keywords
- etl task
- target
- task
- etl
- dependent
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000001419 dependent effect Effects 0.000 claims abstract description 127
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 20
- 239000000725 suspension Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- 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
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种ETL任务调度方法、装置、计算机设备及存储介质。该方法包括:从ETL任务列表获取ETL任务作为目标ETL任务,ETL任务列表包含ETL任务以及ETL任务的依赖关系;根据目标ETL任务的依赖关系判断目标ETL任务是否存在依赖ETL任务;若目标ETL任务不存在依赖ETL任务,将目标ETL任务发送给调度服务器,以由调度服务器处理所述目标ETL任务;若目标ETL任务存在依赖ETL任务,根据目标ETL任务的依赖ETL任务的执行结果来处理目标ETL任务,从而能够实现ETL任务的自动化执行,极大地提高了ETL任务调度的效率,减少了企业员工的工作负担,降低人力成本。同时本发明实施例的技术方案能够在非上班时间自动化工作,充分利用了调度服务器的调度资源,减缓了调度服务器的负载。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种ETL任务调度方法、装置、计算机设备及存储介质。
背景技术
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
目前,ETL任务调度需要手工执行一系列流程,过程重复繁琐,自动化程度低,效率低下。随着企业数据量的增多,调度任务急剧增加,常常需要员工加班才能够完成。并且,ETL任务调度出现问题后,需要人为到ETL任务调度服务器查找错误原因,效率低下。
发明内容
本发明实施例提供了一种ETL任务调度方法、装置、计算机设备及存储介质,旨在解决目前ETL任务调度效率低下的问题。
第一方面,本发明实施例提供了一种ETL任务调度方法,其包括:
从ETL任务列表获取ETL任务作为目标ETL任务,所述ETL任务列表包含ETL任务以及ETL任务的依赖关系;
根据所述目标ETL任务的依赖关系判断所述目标ETL任务是否存在依赖ETL任务;
若判断结果为所述目标ETL任务不存在依赖ETL任务,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
若判断结果为所述目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务。
第二方面,本发明实施例还提供了一种ETL任务调度装置,其包括用于执行上述方法的单元。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种ETL任务调度方法、装置、计算机设备及存储介质。其中,所述方法包括:从ETL任务列表获取ETL任务作为目标ETL任务,所述ETL任务列表包含ETL任务以及ETL任务的依赖关系;根据所述目标ETL任务的依赖关系判断所述目标ETL任务是否存在依赖ETL任务;若判断结果为所述目标ETL任务不存在依赖ETL任务,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;若判断结果为所述目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务从而能够实现ETL任务的自动化执行,极大地提高了ETL任务调度的效率,减少了企业员工的工作负担,降低人力成本。同时本发明实施例的技术方案能够在非上班时间自动化工作,充分利用了调度服务器的调度资源,减缓了调度服务器的负载。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种ETL任务调度方法的应用场景示意图;
图2为本发明实施例提供的一种ETL任务调度方法的流程示意图;
图3为本发明实施例提供的一种ETL任务调度方法的子流程示意图;
图4为本发明另一实施例提供的一种ETL任务调度方法的流程示意图;
图5为本发明另一实施例提供的一种ETL任务调度方法的子流程示意图;
图6为本发明实施例提供的一种ETL任务调度装置的示意性框图;
图7为本发明实施例提供的一种ETL任务调度装置的处理单元的示意性框图;
图8为本发明另一实施例提供的一种ETL任务调度装置的示意性框图;
图9为本发明另一实施例提供的一种ETL任务调度装置的第二获取单元的示意性框图;以及
图10为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1和图2,图1为本发明实施例提供的一种ETL任务调度方法的应用场景示意图。图2为本发明实施例提供的一种ETL任务调度方法的示意性流程图。
参见图1,本发明的方法可应用于管理服务器1中,管理服务器1从ETL任务列表获取ETL任务,并将获取到的ETL任务发送给调度服务器2,以由调度服务器2处理ETL任务。管理服务器1在调度服务器2未能成功处理ETL任务时,从调度服务器2获取ETL任务的错误信息。
图2是本发明实施例提供的ETL任务调度方法的流程示意图。如图所示,该方法包括以下步骤S1-S4。
S1、从ETL任务列表获取至少一个ETL任务作为目标ETL任务,ETL任务列表包含ETL任务以及ETL任务的依赖关系。
在本发明实施例中,ETL任务列表中包含ETL任务以及ETL任务的依赖关系。ETL任务的依赖关系用于表明ETL任务是否有对应的依赖ETL任务。
需要说明的是,如果ETL任务必须要等某一特定ETL任务执行完成后才能执行,则将该特定ETL任务称为该ETL任务的依赖ETL任务。
进一步地,ETL任务列表是由管理服务器的管理员输入到管理服务器中的。
具体实施中,从ETL任务列表中获取至少一个ETL任务作为目标ETL任务。具体地,在一实施例中,获取ETL任务的方式为:按顺序从ETL任务列表中获取ETL任务作为目标ETL任务。
为了提高工作效率,可同时获取多个ETL任务并分别将获取到的多个ETL任务作为多个目标ETL任务,并分别对任一目标ETL任务执行后续流程。
采用多线程技术可同时对获取到的多个ETL任务进行后续流程,各ETL任务之间相互独立,互不干扰。
需要说明的是,通过采用多线程技术,应用程序可以在同一时间里使用芯片的不同部分,从而使芯片同时进行多线程处理,使芯片性能得到提升。
需要说明的是,获取ETL任务的数量可由用户预先设定。具体地,接收用户输入的配置信息,根据配置信息确定同时获取ETL任务的数量(即并发执行ETL任务的数量)。
S2、根据目标ETL任务的依赖关系判断目标ETL任务是否存在依赖ETL任务。
具体实施中,读取目标ETL任务的依赖关系,并根据目标ETL任务的依赖关系判断目标ETL任务是否存在依赖ETL任务。
如果目标ETL任务存在依赖ETL任务,则需等待目标ETL任务的依赖ETL任务执行完成后才能够执行目标ETL任务;如果目标ETL任务不存在依赖ETL任务,则可以直接执行目标ETL任务。
S3、若判断结果为目标ETL任务不存在依赖ETL任务,将目标ETL任务发送给调度服务器,以由调度服务器处理目标ETL任务。
具体实施中,如果断结果为目标ETL任务不存在依赖ETL任务,则将目标ETL任务发送给调度服务器,以由调度服务器处理目标ETL任务。
需要说明的是,调度服务器处理目标ETL任务的方法可参照现有资料确定,本发明实施例对此不做具体的限定。
S4、若判断结果为目标ETL任务存在依赖ETL任务,根据目标ETL任务的依赖ETL任务的执行结果来处理目标ETL任务。
具体实施中,若判断结果为目标ETL任务存在依赖ETL任务,则需要等待目标ETL任务的依赖ETL任务执行完成后才能够执行目标ETL任务。因此,需要根据目标ETL任务的依赖ETL任务的执行结果来处理目标ETL任务。只有在目标ETL任务的依赖ETL任务已经执行且执行成功后,才能够执行目标ETL任务。
在一实施例中,如图3所示,所述步骤S4可包括步骤S41-S47。
S41、判断目标ETL任务的依赖ETL任务是否已经执行。
本发明实施例中,在依赖ETL任务执行完毕后,从调度服务器获取依赖ETL任务的执行结果,并将依赖ETL任务的执行结果记录在记录文档中。
具体实施中,可通过查看记录文档,来确认目标ETL任务的依赖ETL任务是否已经执行。
S42、若判断结果为目标ETL任务的依赖ETL任务已经执行,判断目标ETL任务的依赖ETL任务的执行结果是否为执行成功。
具体实施中,如果判断结果为目标ETL任务的依赖ETL任务已经执行,则进一步在记录文档中查看依赖ETL任务的执行结果是否为执行成功。
S43、若判断结果为目标ETL任务的依赖ETL任务的执行结果为执行成功,将目标ETL任务发送给调度服务器,以由调度服务器处理目标ETL任务。
具体实施中,如果判断结果为目标ETL任务的依赖ETL任务的执行结果为执行成功,则将目标ETL任务发送给调度服务器,以由调度服务器处理目标ETL任务。
S44、若判断结果为目标ETL任务的依赖ETL任务的执行结果为执行失败,则暂停执行目标ETL任务,并在记录文档中标记目标ETL任务的执行结果为依赖ETL任务执行失败。
具体实施中,如果判断结果为目标任务的依赖ETL任务的执行结果为执行失败,则说明目标任务的依赖ETL任务未执行成功,此时暂停执行目标ETL任务,并在记录文档中标记目标ETL任务的执行结果为依赖ETL任务执行失败。待依赖ETL任务执行完成后,再继续执行目标ETL任务。
S45、若判断结果为目标ETL任务的依赖ETL任务未执行,判断距离上一次执行指定判断步骤的时间是否已经达到预设的间隔时间。其中,指定判断步骤为步骤S41,即判断目标ETL任务的依赖ETL任务是否已经执行。
具体实施中,如果判断结果为目标ETL任务的依赖ETL任务未执行完成,则每个预设的时间间隔再次判断判断目标ETL任务的依赖ETL任务是否已经执行,因此判断距离上一次判断目标ETL任务的依赖ETL任务是否已经执行的时间是否已经达到预设的间隔时间。需要说明的是间隔时间可由本领域技术人员根据具体情况设定,本发明对此不作具体限定,例如,间隔时间可设定为10S。
如果判断结果为已达到预设的间隔时间,转到步骤S41以再次判断目标ETL任务的依赖ETL任务是否已经执行。
通过应用本发明实施例的技术方案,从ETL任务列表获取ETL任务作为目标ETL任务;判断目标ETL任务是否存在依赖ETL任务;如果目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务;如果目标ETL任务不存在依赖ETL任务,将目标ETL任务发送给调度服务器,以由调度服务器处理目标ETL任务,从而能够实现ETL任务的自动化执行,极大地提高了ETL任务调度的效率,减少了企业员工的工作负担,降低人力成本。同时本发明实施例的技术方案能够在非上班时间自动化工作,充分利用了调度服务器的调度资源,减缓了调度服务器的负载。
图4是本发明另一实施例提供的一种ETL任务调度方法的流程示意图。如图4所示,本实施例的ETL任务调度方法包括步骤S210-S270。其中步骤S210-S240与上述实施例中的步骤S1-S4类似,在此不再赘述。下面详细说明本实施例中所增加的步骤S250-S270。
S250、判断目标ETL任务是否执行成功。
具体实施中,接收调度服务器返回的目标ETL任务的执行结果,并根据目标ETL任务的执行结果判断目标ETL任务是否执行成功。
S260、若判断结果为目标ETL任务已执行成功,在记录文档中将目标ETL任务的执行结果标记为执行成功。
具体实施中,如果判断结果为目标ETL任务已执行成功,则在记录文档中写入目标ETL任务的执行结果。具体地,将目标ETL任务的执行结果标记为执行成功。
S270、若判断结果为目标ETL任务未执行成功,则从调度服务器获取目标ETL任务的错误信息,并将目标ETL任务的错误信息写入记录文档中。
具体实施中,如果判断结果为目标ETL任务未执行成功,则从调度服务器中获取目标ETL任务的错误信息。在记录文档中将目标ETL任务的执行结果标记为执行失败,并附上目标ETL任务的错误信息。
在一实施例中,错误信息包含未执行成功的ETL任务的错误类型,记录文档中根据错误类型将未执行成功的ETL任务的错误信息划分为多个类别。如图5所示,所述步骤S270可包括步骤S271-S272。
S271、根据目标ETL任务的错误信息获取目标ETL任务的错误类型。
具体实施中,在从调度服务器获取了目标ETL任务的错误信息后,从目标ETL任务的错误信息中获取目标ETL任务的错误类型。
需要说明的是,错误信息包括网络中断错误信息、服务器繁忙错误信息以及请求冲突错误信息。其对应的错误类型分别为网络错误、服务器繁忙以及任务冲突。
S272、根据目标ETL任务的错误类型将目标ETL任务的错误信息写入记录文档对应的类别中。
具体实施中,根据目标ETL任务的错误类型将目标ETL任务的错误信息写入记录文档对应的类别中。例如,目标ETL任务的错误类型为网络超时,则将目标ETL任务的错误信息写入记录文档的网络超时类别中。
在一实施例中,记录文档为Excel文档。
通过应用本发明实施例的技术方案,能够自动将ETL任务的执行结果导入到记录文档中,便于用户查看。同时若ETL任务未能执行成功,还从ETL调度服务器中将错误信息写入记录文档,并自动根据错误类型对失败的ETL任务的错误信息进行分类,从而用户不需要到ETL调度服务器查看ETL任务的错误信息,方便用户的查看与分析,极大地提高了用户的工作效率。
图6是本发明实施例提供的一种ETL任务调度装置60的示意性框图。如图6所示,对应于以上ETL任务调度方法,本发明还提供一种ETL任务调度装置60。该ETL任务调度装置60包括用于执行上述ETL任务调度方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。或者,该装置可以被配置于服务器中。具体地,请参阅图6,该ETL任务调度装置60包括第一获取单元61、第一判断单元62、第一发送单元63以及处理单元64。
第一获取单元61,用于从ETL任务列表获取ETL任务作为目标ETL任务,其中,所述ETL任务列表包含ETL任务以及ETL任务的依赖关系。
第一判断单元62,用于根据所述目标ETL任务的依赖关系判断所述目标ETL任务是否存在依赖ETL任务。
第一发送单元63,用于若第一判断单元62的判断结果为所述目标ETL任务不存在依赖ETL任务,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务。
处理单元64,用于若第一判断单元62的判断结果为所述目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务。
在一实施例中,如图7所示,所述处理单元64包括第二判断单元641、第三判断单元642、第二发送单元643、第一暂停单元644、第五判断单元645、以及通知单元646。
第二判断单元641,用于判断所述目标ETL任务的依赖ETL任务是否已经执行;
第三判断单元642,用于若第二判断单元641的判断结果为所述目标ETL任务的依赖ETL任务已经执行,判断所述目标ETL任务的依赖ETL任务的执行结果是否为执行成功;
第二发送单元643,用于若第三判断单元642的判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行成功,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
第一暂停单元644,用于若第三判断单元642的判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行失败,则暂停执行所述目标ETL任务,并在记录文档中标记目标ETL任务的执行结果为依赖ETL任务执行失败;
第四判断单元645,用于若第二判断单元641的判断结果为所述目标ETL任务的依赖ETL任务未执行,判断距离第二判断单元641上一次执行指定判断步骤的时间是否已经达到预设的间隔时间,其中,所述指定判断步骤为判断目标ETL任务的依赖ETL任务是否已经执行;
通知单元646,用于若第四判断单元645的判断结果为距离第二判断单元641上一次执行指定判断步骤的时间已经达到预设的间隔时间,通知第二判断单元641继续判断所述目标ETL任务的依赖ETL任务是否已经执行。
图8是本发明另一实施例提供的一种ETL任务调度装置60的示意性框图。如图8所示,本实施例的ETL任务调度装置60是上述实施例的基础上增加了第四判断单元65、标记单元66以及第二获取单元67。
第五判断单元65,用于判断所述目标ETL任务是否执行成功;
标记单元66,用于若第五判断单元65的判断结果为所述目标ETL任务已执行成功,在记录文档中将所述目标ETL任务的执行结果标记为执行成功;
第二获取单元67,用于若第五判断单元65的判断结果为所述目标ETL任务未执行成功,则从所述调度服务器所述获取所述目标ETL任务的错误信息,并将所述目标ETL任务的错误信息写入所述记录文档中。
在一实施例中,如图9所示,第二获取单元67包括第三获取单元671以及记录单元672。
第三获取单元671,用于根据所述目标ETL任务的错误信息获取所述目标ETL任务的错误类型;
记录单元672,用于根据所述目标ETL任务的错误类型将所述目标ETL任务的错误信息写入所述记录文档对应的类别中。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述ETL任务调度装置60和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述ETL任务调度装置60可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种ETL任务调度方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种ETL任务调度方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
从ETL任务列表获取ETL任务作为目标ETL任务,所述ETL任务列表包含ETL任务以及ETL任务的依赖关系;
根据所述目标ETL任务的依赖关系判断所述目标ETL任务是否存在依赖ETL任务;
若判断结果为所述目标ETL任务不存在依赖ETL任务,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
若判断结果为所述目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务。
在一实施例中,处理器502在实现所述根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务步骤时,具体实现如下步骤:
判断所述目标ETL任务的依赖ETL任务是否已经执行;
若判断结果为所述目标ETL任务的依赖ETL任务已经执行,判断所述目标ETL任务的依赖ETL任务的执行结果是否为执行成功;
若判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行成功,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
若判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行失败,暂停执行所述目标ETL任务,并在记录文档中标记目标ETL任务的执行结果为依赖ETL任务执行失败;
若所述目标ETL任务的依赖ETL任务未执行,判断距离上一次执行指定判断步骤的时间是否已经达到预设的间隔时间,其中,所述指定判断步骤为判断目标ETL任务的依赖ETL任务是否已经执行;
若距离上一次执行指定判断步骤的时间已经达到预设的间隔时间,继续判断所述目标ETL任务的依赖ETL任务是否已经执行。
在一实施例中,处理器502还实现如下步骤:
判断所述目标ETL任务是否执行成功;
若判断结果为所述目标ETL任务已执行成功,在记录文档中将所述目标ETL任务的执行结果标记为执行成功;
若判断结果为所述目标ETL任务未执行成功,从所述调度服务器所述获取所述目标ETL任务的错误信息,并将所述目标ETL任务的错误信息写入所述记录文档中。
在一实施例中,所述错误信息包含未执行成功的ETL任务的错误类型,所述记录文档中根据错误类型将未执行成功的ETL任务的错误信息划分为多个类别,所述处理器502在实现所述根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务步骤时,具体实现如下步骤:
根据所述目标ETL任务的错误信息获取所述目标ETL任务的错误类型;
根据所述目标ETL任务的错误类型将所述目标ETL任务的错误信息写入所述记录文档对应的类别中。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:
从ETL任务列表获取ETL任务作为目标ETL任务,所述ETL任务列表包含ETL任务以及ETL任务的依赖关系;
根据所述目标ETL任务的依赖关系判断所述目标ETL任务是否存在依赖ETL任务;
若判断结果为所述目标ETL任务不存在依赖ETL任务,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
若判断结果为所述目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务步骤时,具体实现如下步骤:
判断所述目标ETL任务的依赖ETL任务是否已经执行;
若判断结果为所述目标ETL任务的依赖ETL任务已经执行,判断所述目标ETL任务的依赖ETL任务的执行结果是否为执行成功;
若判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行成功,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
若判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行失败,暂停执行所述目标ETL任务,并在记录文档中标记目标ETL任务的执行结果为依赖ETL任务执行失败;
若所述目标ETL任务的依赖ETL任务未执行,判断距离上一次执行指定判断步骤的时间是否已经达到预设的间隔时间,其中,所述指定判断步骤为判断目标ETL任务的依赖ETL任务是否已经执行;
若距离上一次执行指定判断步骤的时间已经达到预设的间隔时间,继续判断所述目标ETL任务的依赖ETL任务是否已经执行。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
判断所述目标ETL任务是否执行成功;
若判断结果为所述目标ETL任务已执行成功,在记录文档中将所述目标ETL任务的执行结果标记为执行成功;
若判断结果为所述目标ETL任务未执行成功,从所述调度服务器所述获取所述目标ETL任务的错误信息,并将所述目标ETL任务的错误信息写入所述记录文档中。
在一实施例中,所述错误信息包含未执行成功的ETL任务的错误类型,所述记录文档中根据错误类型将未执行成功的ETL任务的错误信息划分为多个类别,所述处理器在执行所述计算机程序而实现所述根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务步骤时,具体实现如下步骤:
根据所述目标ETL任务的错误信息获取所述目标ETL任务的错误类型;
根据所述目标ETL任务的错误类型将所述目标ETL任务的错误信息写入所述记录文档对应的类别中。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种ETL任务调度方法,其特征在于,包括:
从ETL任务列表获取ETL任务作为目标ETL任务,所述ETL任务列表包含ETL任务以及ETL任务的依赖关系;
根据所述目标ETL任务的依赖关系判断所述目标ETL任务是否存在依赖ETL任务;
若所述目标ETL任务不存在依赖ETL任务,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
若所述目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务;
判断所述目标ETL任务是否执行成功;
若所述目标ETL任务已执行成功,在记录文档中将所述目标ETL任务的执行结果标记为执行成功;
若所述目标ETL任务未执行成功,从所述调度服务器所述获取所述目标ETL任务的错误信息,并根据所述目标ETL任务的错误信息获取所述目标ETL任务的错误类型,其中,所述错误信息包含未执行成功的ETL任务的错误类型,所述记录文档中根据错误类型将未执行成功的ETL任务的错误信息划分为多个类别,所述错误信息包括网络中断错误信息、服务器繁忙错误信息以及请求冲突错误信息,所述网络中断错误信息、所述服务器繁忙错误信息以及所述请求冲突错误信息对应的错误类型分别为网络错误、服务器繁忙以及任务冲突;
根据所述目标ETL任务的错误类型将所述目标ETL任务的错误信息写入所述记录文档对应的类别中。
2.根据权利要求1所述的ETL任务调度方法,其特征在于,所述根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务,包括:
判断所述目标ETL任务的依赖ETL任务是否已经执行;
若所述目标ETL任务的依赖ETL任务已经执行,判断所述目标ETL任务的依赖ETL任务的执行结果是否为执行成功;
若所述目标ETL任务的依赖ETL任务的执行结果为执行成功,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
若所述目标ETL任务的依赖ETL任务的执行结果为执行失败,暂停执行所述目标ETL任务,并在记录文档中标记目标ETL任务的执行结果为依赖ETL任务执行失败。
3.根据权利要求2所述的ETL任务调度方法,其特征在于,所述根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务,还包括:
若所述目标ETL任务的依赖ETL任务未执行,判断距离上一次执行指定判断步骤的时间是否已经达到预设的间隔时间,其中,所述指定判断步骤为判断目标ETL任务的依赖ETL任务是否已经执行;
若距离上一次执行指定判断步骤的时间已经达到预设的间隔时间,继续判断所述目标ETL任务的依赖ETL任务是否已经执行。
4.一种ETL任务调度装置,其特征在于,包括:
第一获取单元,用于从ETL任务列表获取ETL任务作为目标ETL任务,其中,所述ETL任务列表包含ETL任务以及ETL任务的依赖关系;
第一判断单元,用于根据所述目标ETL任务的依赖关系判断所述目标ETL任务是否存在依赖ETL任务;
第一发送单元,用于若第一判断单元的判断结果为所述目标ETL任务不存在依赖ETL任务,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
处理单元,用于若第一判断单元的判断结果为所述目标ETL任务存在依赖ETL任务,根据所述目标ETL任务的依赖ETL任务的执行结果来处理所述目标ETL任务;
第五判断单元,用于判断所述目标ETL任务是否执行成功;
标记单元,用于若所述第五判断单元的判断结果为所述目标ETL任务已执行成功,在记录文档中将所述目标ETL任务的执行结果标记为执行成功;
第三获取单元,用于若所述目标ETL任务未执行成功,从所述调度服务器所述获取所述目标ETL任务的错误信息,并根据所述目标ETL任务的错误信息获取所述目标ETL任务的错误类型,其中,所述错误信息包含未执行成功的ETL任务的错误类型,所述记录文档中根据错误类型将未执行成功的ETL任务的错误信息划分为多个类别,所述错误信息包括网络中断错误信息、服务器繁忙错误信息以及请求冲突错误信息,所述网络中断错误信息、所述服务器繁忙错误信息以及所述请求冲突错误信息对应的错误类型分别为网络错误、服务器繁忙以及任务冲突;
记录单元,用于根据所述目标ETL任务的错误类型将所述目标ETL任务的错误信息写入所述记录文档对应的类别中。
5.根据权利要求4所述的ETL任务调度装置,其特征在于,所述处理单元包括:
第二判断单元,用于判断所述目标ETL任务的依赖ETL任务是否已经执行;
第三判断单元,用于若第二判断单元的判断结果为所述目标ETL任务的依赖ETL任务已经执行,判断所述目标ETL任务的依赖ETL任务的执行结果是否为执行成功;
第二发送单元,用于若第三判断单元的判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行成功,将所述目标ETL任务发送给调度服务器,以由所述调度服务器处理所述目标ETL任务;
第一暂停单元,用于若第三判断单元的判断结果为所述目标ETL任务的依赖ETL任务的执行结果为执行失败,暂停执行所述目标ETL任务,并在记录文档中标记目标ETL任务的执行结果为依赖ETL任务执行失败;
第四判断单元,用于若第二判断单元的判断结果为所述目标ETL任务的依赖ETL任务未执行,判断距离第二判断单元上一次执行指定判断步骤的时间是否已经达到预设的间隔时间,其中,所述指定判断步骤为判断目标ETL任务的依赖ETL任务是否已经执行;
通知单元,用于若第四判断单元的判断结果为距离第二判断单元上一次执行指定判断步骤的时间已经达到预设的间隔时间,通知第二判断单元继续判断所述目标ETL任务的依赖ETL任务是否已经执行。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-3中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811032070.XA CN109034668B (zh) | 2018-09-05 | 2018-09-05 | Etl任务调度方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811032070.XA CN109034668B (zh) | 2018-09-05 | 2018-09-05 | Etl任务调度方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109034668A CN109034668A (zh) | 2018-12-18 |
CN109034668B true CN109034668B (zh) | 2024-01-16 |
Family
ID=64623561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811032070.XA Active CN109034668B (zh) | 2018-09-05 | 2018-09-05 | Etl任务调度方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109034668B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084014A (zh) * | 2020-08-10 | 2020-12-15 | 珠海格力电器股份有限公司 | 一种数据处理方法、装置、设备及介质 |
CN112000682A (zh) * | 2020-08-25 | 2020-11-27 | 北京达佳互联信息技术有限公司 | 数据同步任务调度方法、装置、服务器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034554A (zh) * | 2012-12-30 | 2013-04-10 | 焦点科技股份有限公司 | 一种纠错重启以及自动判断启动的etl调度系统及方法 |
CN106648859A (zh) * | 2016-12-01 | 2017-05-10 | 北京奇虎科技有限公司 | 一种任务调度方法和装置 |
-
2018
- 2018-09-05 CN CN201811032070.XA patent/CN109034668B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034554A (zh) * | 2012-12-30 | 2013-04-10 | 焦点科技股份有限公司 | 一种纠错重启以及自动判断启动的etl调度系统及方法 |
CN106648859A (zh) * | 2016-12-01 | 2017-05-10 | 北京奇虎科技有限公司 | 一种任务调度方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109034668A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6818014B2 (ja) | ジョブ用の動作リトライ方法及び機器 | |
CN110753084B (zh) | 上链数据读取方法、缓存服务器及计算机可读存储介质 | |
CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
CN105607986A (zh) | 用户行为日志数据采集方法及装置 | |
US9875137B2 (en) | Intelligent application back stack management | |
CN111026774A (zh) | 数据顺序同步方法、装置、计算机设备及存储介质 | |
CN109034668B (zh) | Etl任务调度方法、装置、计算机设备及存储介质 | |
JP2009536403A (ja) | ワーク・アイテム・イベント処理 | |
CN106020984B (zh) | 电子设备中进程的创建方法及装置 | |
US9160867B2 (en) | Information processing system for preventing job process from being redundantly performed, information processing apparatus, and program | |
CN110673935A (zh) | 一种基于Kubernetes系统的作业调度方法、设备以及存储介质 | |
CN108733536B (zh) | 监控管理系统及方法 | |
CN108228842B (zh) | Docker镜像库文件存储方法、终端、设备以及存储介质 | |
CN110968410B (zh) | 任务失败重试方法、装置、计算机设备及存储介质 | |
CN110908644B (zh) | 状态节点的配置方法、装置、计算机设备和存储介质 | |
CN111858020B (zh) | 用户资源限制方法、装置及计算机存储介质 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
WO2021021321A1 (en) | Parallel cloned workflow execution | |
US9430338B2 (en) | Method and computing device for recording log entries | |
CN110825427A (zh) | 一种代码管理方法、装置、服务器及存储介质 | |
WO2019062087A1 (zh) | 考勤数据测试方法、终端、设备以及计算机可读存储介质 | |
US7493620B2 (en) | Transfer of waiting interrupts | |
CN108874560B (zh) | 进行通信的方法和通信设备 | |
CN113342698A (zh) | 一种测试环境调度方法、计算设备及存储介质 | |
CN112818204A (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 |