基于多数据源的任务调度方法与多任务协作处理方法技术

技术编号:30330527 阅读:15 留言:0更新日期:2021-10-10 00:34
本发明专利技术涉及工业大数据处理技术领域,公开了一种基于多数据源的任务调度方法与多任务协作处理方法:创建多条数据处理任务,每条数据处理任务均包括以下属性:数据处理任务名称、数据源名称与数据源地址、数据处理任务类型、目标数据库名称与目标数据库地址;从创建的多条数据处理任务中选择需要调度的数据处理任务,并解析出所选择的数据处理任务之间的任务依赖关系;根据所述任务依赖关系为各条数据处理任务配置任务调度信息,任务调度信息包含任务起止时间、任务优先级与任务启动周期。配置数据处理任务,结合任务调度信息生成任务调度脚本,按照任务调度脚本执行数据处理任务。本发明专利技术解决了多数据源的数据处理任务之间不具备协作性的技术问题。不具备协作性的技术问题。

【技术实现步骤摘要】
基于多数据源的任务调度方法与多任务协作处理方法


[0001]本专利技术工业大数据处理


技术介绍

[0002]在工业大数据处理过程中,对于单个数据源清洗处理,任务量及调度实现简单。但是多个数据处理任务之间存在任务并行或者数据先后处理顺序,数据分析的数据源以及数据存储的目标数据库也存在多种类型的情况,容易发生以下现象:(1)在新的数据处理任务插入时,需停止正在进行其他数据处理任务,降低数据处理任务启动时间;(2)数据处理任务陷入死循 。

技术实现思路

[0003]针对上述现有技术的不足,本专利技术提供一种基于多数据源的任务调度方法,解决多数据源的数据处理任务之间不具备协作性的技术问题。
[0004]为了解决上述技术问题,本专利技术采用了如下的技术方案:一种基于多数据源的任务调度方法,包括以下步骤:创建多条数据处理任务,每条数据处理任务均包括以下属性:数据处理任务名称、数据源名称与数据源地址、数据处理任务类型、目标数据库名称与目标数据库地址;从创建的多条数据处理任务中选择需要调度的数据处理任务,并解析出所选择的数据处理任务之间的任务依赖关系;根据所述任务依赖关系为各条数据处理任务配置任务调度信息,所述任务调度信息包含任务起止时间、任务优先级与任务启动周期。
[0005]进一步的,任务依赖关系包括循环关系与顺行关系;若一个数据处理任务的数据源是另一个数据处理任务的目标数据库,并且一个数据处理任务的目标数据库是另一个数据处理任务的数据源,则为循环关系;若两个数据处理任务非循环关系,则根据数据任务类型之间的逻辑关系确定顺行关系的优先级。
[0006]进一步的,若为循环关系,将一个数据处理任务配置为优先于另一个数据处理任务,并根据需要配置优先数据处理任务的任务启动周期,另一个数据处理任务的启动周期配置为优先数据处理任务执行结束。
[0007]进一步的,若为顺行关系,则根据任务优先级顺次启动,一个数据处理任务启动成功后根据下一个数据处理任务的任务启动周期启动下一个数据处理任务。
[0008]进一步的,数据源包括DB2、FTP、mysql、HDFS、Oracle、MongoDB、Redis、Spark、Storm与Shell脚本类型。
[0009]本专利技术还提供一种基于多数据源的多任务协作处理方法,获取本专利技术的基于多数据源的任务调度方法所生成的任务调度脚本,并对各条数据处理任务进行如下配置:根据数据处理任务类型配置相应的数据处理算法、配置数据处理任务的数据流输出格式、配置数据处理任务的数据流入库模式,以生成任务调度脚本,按照任务调度脚本执行数据处理
任务。
[0010]进一步的,执行任务调度脚本后输出任务调度工作流。
[0011]进一步的,数据流输出格式包括parquet、text、CSV、orc与Json;数据流入库模式包括数据追加APPEND与数据覆盖TRUNCATE;数据处理算法包括数据清洗算法、数据分析算法与数据抽取算法。
[0012]与现有技术相比,本专利技术具有以下有益效果:1、本专利技术为数据处理任务设置统一格式,为解析任务依赖关系提供必要信息,再基于任务依赖关系配置任务调度信息,各条数据处理任务均有相应的任务调度信息和任务调度脚本,使得各条数据处理任务按照自己的任务调度脚本执行即可相互协作,避免各条数据处理任务无秩序执行导致的陷入死循环或要中途暂停来插入新的数据处理任务的缺陷,大大提高了数据处理效率。
[0013]2、通过对数据处理任务进行配置以实现数据处理任务的执行,能够减少程序开发量。
具体实施方式
[0014]鉴于基于多数据源的多任务协作处理方法包含了任务调度方法,下面以多任务协作处理方法的实施例进行说明。
[0015]实施例1本实施例创建了3个数据处理任务:数据处理任务A、数据处理任务B、数据处理任务C,其属性分别如下:数据处理任务A:数据源Data_Source:FTP;Data_Source_Ip:192.251.1.11;数据采集;目标数据库:HDFS;目标数据库地址:192.251.1.12。
[0016]数据处理任务B:数据源Data_Source:SPARK;Data_Source_Ip,192.251.1.11;数据清洗;目标数据库:REDIS;目标数据库地址:192.251.1.12。
[0017]数据处理任务C:数据源Data_Source:REDIS;Data_Source_Ip:192.251.1.12;数据抽取;目标数据库:HDFS;目标数据库地址:192.251.1.12。
[0018]为确保任务的合法性以及任务溯源性,数据处理任务还包括以下属性:任务编号、任务责任人及任务责任人联系方式。
[0019]由上述A、B、C三个任务可见,数据任务A、B的数据源在服务器192.251.1.11,数据任务C在服务器192.251.1.12。基于数据处理任务A、B、C的数据处理任务类型的逻辑关系,可解析出数据处理任务A、B、C的任务依赖关系为顺行关系:A的前置任务无、后置任务B,B前置任务A、后置任务C,C前置任务B,C后置任务无。优先级为A高于B,B高于C。
[0020]根据所述任务依赖关系为各条数据处理任务配置任务调度信息,任务调度信息分别如下:任务A:任务起止时间:2021.05.01

2021.05.30 ;任务优先级:1;重试次数:5;周期:每分钟;调度时间点:无。
[0021]任务B:任务起止时间:2021.05.01

2021.05.30;任务优先级:2;重试次数:5;周期:每分钟;调度时间点:无。
[0022]任务C:任务起止时间:2021.05.01

2021.05.30;任务优先级:3;重试次数:5;周
期:每5分钟;调度时间点:无。
[0023]根据数据处理任务类型,配置数据处理任务A为数据采集算法、数据处理任务B为数据清洗算法、数据处理任务C为数据抽取算法。
[0024]配置任务A、B、C三个任务数据流的输出格式,其中任务A的数据流输出格式为parquet、任务B数据流输出格式为text、任务C数据流输出格式为Json。A、B、C三个任务数据流的入库模式为:APPEND。
[0025]每项数据处理任务配置完成,生成并执行任务调度脚本;最终任务运行结果为:任务A启动,启动成功则任务B启动,任务C每5分钟从REDIS中抽取数据,并存入192.251.1.12的HDFS数据库中,最终输出任务调度工作流。
[0026]实施例2本实施例创建了2个数据处理任务:数据处理任务A、数据处理任务B、其属性分别如下:数据处理任务A:数据源Data_Source:MongoDB,Data_Source_Ip:192.251.1.11;目标数据库MongoDB,服务器地址:192.251.1.12。
[0027]数据处理任务B:数据源Data_Sourc本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多数据源的任务调度方法,其特征在于,包括以下步骤:创建多条数据处理任务,每条数据处理任务均包括以下属性:数据处理任务名称、数据源名称与数据源地址、数据处理任务类型、目标数据库名称与目标数据库地址;从创建的多条数据处理任务中选择需要调度的数据处理任务,并解析出所选择的数据处理任务之间的任务依赖关系;根据所述任务依赖关系为各条数据处理任务配置任务调度信息,所述任务调度信息包含任务起止时间、任务优先级与任务启动周期。2.根据权利要求1所述的基于多数据源的任务调度方法,其特征在于,任务依赖关系包括循环关系与顺行关系;若一个数据处理任务的数据源是另一个数据处理任务的目标数据库,并且一个数据处理任务的目标数据库是另一个数据处理任务的数据源,则为循环关系;若两个数据处理任务非循环关系,则根据数据任务类型之间的逻辑关系确定顺行关系的优先级。3.根据权利要求2所述的基于多数据源的任务调度方法,其特征在于,若为循环关系,将一个数据处理任务配置为优先于另一个数据处理任务,并根据需要配置优先数据处理任务的任务启动周期,另一个数据处理任务的启动周期配置为优先数据处理任务执行结束。4.根据权利要求2所述的基于多数据源的任务调度方法,其特征在于,若为顺行关系,则根据任务优先级顺次启动,一个数据处理任务启动成功后根据下一个数据处理任务的任务启动周期启动下一个数据...

【专利技术属性】
技术研发人员:卢仁谦梁先黎陈虎巩书凯
申请(专利权)人:重庆忽米网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1