多源异构离线任务处理方法、系统、设备和介质与流程

文档序号:36027594发布日期:2023-11-17 15:25阅读:22来源:国知局
多源异构离线任务处理方法与流程

本发明属于数据处理,涉及一种多源异构离线任务处理方法、系统、设备和介质。


背景技术:

1、随着5g技术在工业领域的广泛应用,边缘端的工业设备类型逐渐呈现多样化,其中,业务端、应用端或边缘端,与云端或大数据平台之间海量数据离线集成过程中,存在着格式不一、多源异构、数据杂乱和难以溯源等特性,尤其是在复杂流程的数据加工中,大多数集成系统则是任务复杂、流程无序、难以管理且开发低效。

2、现阶段,spark计算引擎已是离线数据加工关键技术,很多学者已经深入研究spark离线任务构建方法,例如通过配置多种数据源插件来构建spark离线任务的方法、通过界面定义任务组件配置与关系来构建spark离线任务的方法、通过界面配置数据源组件来构建spark离线任务的方法以及通过linux命令获取系统所需资源来构建spark离线任务的方法等传统技术,然而,前述传统技术在面对大量云边工业设备的异构离线数据处理任务时,仍然存在着任务处理兼容性不足的技术问题。


技术实现思路

1、针对上述传统方法中存在的问题,本发明提出了一种多源异构离线任务处理方法、一种多源异构离线任务处理系统、一种计算机设备和一种计算机可读存储介质,能够大幅提高任务处理兼容性。

2、为了实现上述目的,本发明实施例采用以下技术方案:

3、一方面,提供一种多源异构离线任务处理方法,包括步骤:

4、在多源异构数据的数据源管理页面中添加输入源和输出源,配置数据源连接信息并通过连通性测试并将连接信息保存至数据源表中;输入源包括mysql数据源、db2数据源、mongodb数据源和doris数据源,输出源包括hive数据源、phoenix数据源和clickhouse数据源;

5、在多源异构数据的数据集管理页面中选择数据表,获取数据表的元数据配置信息并保存至数据集表和数据字段表中;元数据配置信息包括数据表名、数据字段、字段类型和主键字段;

6、创建对应多源异构数据的项目工程和工作流画布,将项目工程保存到项目工程表并将工作流画布保存到工作流表;

7、利用基于单元插件分解的离线集成模型对spark数据集成环节进行分解,并在数据集成环节中生成4种类型集成插件;集成插件包括执行环境插件、输入插件、转换插件和输出插件;

8、在工作流画布中根据seatunnel离线集成管道模型创建离线集成管道;离线集成管道的管道模块组成包括spark执行环境配置模块、spark输入模块、spark转换模块和spark输出模块;

9、在seatunnel离线集成管道划分的模块组成中,基于dag拖拉拽操作动态选择执行环境插件、输入插件、转换插件、输出插件并配置插件参数信息;执行环境插件选为spark执行环境插件,输入插件选为mysql数据源插件、db2数据源插件或mongodb数据源插件,转换插件选为sql转换插件,输出插件选为hive数据源插件或phoenix数据源插件,插件参数信息包括执行环境参数、输入表参数、sql语句和输出表参数;

10、利用数据集成分区模型从输出插件的目标表配置中选择数据分区模式;

11、根据离线集成插件关系编排模型,采用dag节点连线方式对离线集成管道中的4种类型集成插件关系进行动态编排,并通过dfs算法进行插件关系非闭环校验,生成dag集成管道有向无环图;

12、基于spark的任务参数配置模板构建seatunnel离线任务配置模板;

13、根据dag集成管道有向无环图,利用基于dfs算法的管道任务实体转化模型将离线集成管道转换为task任务实体并录入到任务定义表中,以及根据seatunnel离线任务配置模板生成任务配置实例;

14、根据dag集成管道有向无环图,利用基于dfs算法的管道任务依赖转化模型将离线集成管道的插件关系转换为task任务实体的任务依赖关系并录入到任务依赖表中;

15、根据seatunnel调度任务实例模型,将task任务实体、任务配置实例和任务依赖关系进行组合并构建seatunnel调度任务实例,完成seatunnel离线任务调度。

16、另一方面,还提供一种多源异构离线任务处理系统,包括:

17、源配置模块,用于在多源异构数据的数据源管理页面中添加输入源和输出源,配置数据源连接信息并通过连通性测试并将连接信息保存至数据源表中;输入源包括mysql数据源、db2数据源、mongodb数据源和doris数据源,输出源包括hive数据源、phoenix数据源和clickhouse数据源;

18、元管理模块,用于在多源异构数据的数据集管理页面中选择数据表,获取数据表的元数据配置信息并保存至数据集表和数据字段表中;元数据配置信息包括数据表名、数据字段、字段类型和主键字段;

19、工作创建模块,用于创建对应多源异构数据的项目工程和工作流画布,将项目工程保存到项目工程表并将工作流画布保存到工作流表;

20、集成分解模块,用于利用基于单元插件分解的离线集成模型对spark数据集成环节进行分解,并在数据集成环节中生成4种类型集成插件;集成插件包括执行环境插件、输入插件、转换插件和输出插件;

21、管道创建模块,用于在工作流画布中根据seatunnel离线集成管道模型创建离线集成管道;离线集成管道的管道模块组成包括spark执行环境配置模块、spark输入模块、spark转换模块和spark输出模块;

22、插件配置模块,用于在seatunnel离线集成管道划分的模块组成中,基于dag拖拉拽操作动态选择执行环境插件、输入插件、转换插件、输出插件并配置插件参数信息;执行环境插件选为spark执行环境插件,输入插件选为mysql数据源插件、db2数据源插件或mongodb数据源插件,转换插件选为sql转换插件,输出插件选为hive数据源插件或phoenix数据源插件,插件参数信息包括执行环境参数、输入表参数、sql语句和输出表参数;

23、分区选择模块,用于利用数据集成分区模型从输出插件的目标表配置中选择数据分区模式;

24、插件编排模块,用于根据离线集成插件关系编排模型,采用dag节点连线方式对离线集成管道中的4种类型集成插件关系进行动态编排,并通过dfs算法进行插件关系非闭环校验,生成dag集成管道有向无环图;

25、模板构建模块,用于基于spark的任务参数配置模板构建seatunnel离线任务配置模板;

26、实体封装模块,用于根据dag集成管道有向无环图,利用基于dfs算法的管道任务实体转化模型将离线集成管道转换为task任务实体并录入到任务定义表中,以及根据seatunnel离线任务配置模板生成任务配置实例;

27、依赖转化模块,用于根据dag集成管道有向无环图,利用基于dfs算法的管道任务依赖转化模型将离线集成管道的插件关系转换为task任务实体的任务依赖关系并录入到任务依赖表中;

28、任务调度模块,用于根据seatunnel调度任务实例模型,将task任务实体、任务配置实例和任务依赖关系进行组合并构建seatunnel调度任务实例,完成seatunnel离线任务调度。

29、又一方面,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的多源异构离线任务处理方法的步骤。

30、再一方面,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的多源异构离线任务处理方法的步骤。

31、上述技术方案中的一个技术方案具有如下优点和有益效果:

32、上述多源异构离线任务处理方法、系统、设备和介质,通过设计seatunnel离线插件模型,对整个spark数据集成环节分解,以兼容多种异构数据源,消除存储格式不一致限制,简化spark数据集成过程。以dag可视化配置的方式降低用户操作难度,配合插件关系动态编排增加代码复用性,避免重复代码开发。设计了无感知dfs任务构建算法减少人工干预,在dag有向无环图中采用基于dfs算法,能快速有效的完成seatunnel任务构建,以及任务依赖关系构建,极大的降低了任务流程处理的复杂度。最终,总体上通过seatunnel离线任务构建实现spark数据处理在多个环节上的一体化,有效降低spark技术的使用难度,建立出统一的离线同步模型、批处理方式与高效数据开发手段,形成了一套简单高效的一站式离线任务构建标准方案,降低了spark任务配置技术难度并且兼容多种异构数据来源,消除了数据格式的限制,大幅提高多源异构离线任务处理兼容性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1