System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于BI平台的数据流编排方法技术_技高网

基于BI平台的数据流编排方法技术

技术编号:40460809 阅读:6 留言:0更新日期:2024-02-22 23:16
本申请涉及一种基于BI平台的数据流编排方法,通过SmartETL利用ETL算子解析和分析的方式,解析得到前端用户所提供的用户算子的算子图,通过算子图可以明确分析出用户算子中各个ETL算子之间的上下文执行逻辑。开发人员能够基于上下文执行逻辑,构建相应的业务数据流,快速调用编排组件,按照各个ETL算子之间的上下文执行逻辑,编排相应的业务数据流,为开发人员提供业务数据流的编排逻辑指引,引导开发人员提供合理且满足功能要求的数据流开发文件。因此,能够降低在前期编排数据流所需要花费的大量时间,大大缩短数据流的交付时长。

【技术实现步骤摘要】

本公开涉及数据集处理,尤其涉及一种基于bi平台的数据流编排方法、系统和电子设备。


技术介绍

1、etl,主要指的是数据转换,通过执行etl任务,将源数据集转换为目标数据集。

2、在etl任务执行过程中,etl运行的前提是,etl(待处理的数据集,也就是所构建并输入的算子)已经由用户通过bi平台保存,在后续开发相应的数据集之时,导入etl数据,用于生成对应的数据流。

3、如附图1所示的申请人研发的universe(platform)数据开发平台,用户可以进行相应的业务数据流(比如财务对接、会计计算、业务管理),开发完毕再交付前端用户进行使用。

4、而在开发平台处理前端用户提供的etl(用户提供的待处理的数据集,简称“用户算子”)之时,需要开发人员花费时间研究用户算子的数据结构、用户所需的数据流执行逻辑等等,根据研究用户算子而获得的信息,进行相应数据流的编排、构建,为前端用户提供合理且满足功能要求的数据流开发文件。

5、但是开发人员研究用户算子的过程,基本采用传统的人工分析,浏览并计算用户算子。因此,在编排数据流的前期,会花费大量时间,导致数据流的交付时间延长。


技术实现思路

1、为了解决上述问题,本申请提出一种基于bi平台的数据流编排方法、系统和电子设备。

2、本申请一方面,提出一种基于bi平台的数据流编排方法,包括如下步骤:

3、通过bi平台,接入前端用户提供的用户算子,并转发至智能算子处理模块---smartetl;

4、所述smartetl按照预设的etl执行模板,对所述用户算子进行解析,获得包含各个etl算子之间的上下文执行逻辑的算子图,并将所述算子图由所述bi平台发送至universe数据开发平台;

5、所述universe数据开发平台上的任务调度引擎,根据所述算子图构建对应的数据流编排调度任务,连同所述算子图和所述数据流编排调度任务发送至开发人员;

6、开发人员执行所述数据流编排调度任务,并根据所述算子图中各个etl算子之间的上下文执行逻辑,编排并生成相应的数据流。

7、作为本申请的一可选实施方案,可选地,所述etl执行模板的生成方法,包括如下步骤:

8、通过etl执行上下文工厂-etl execution context factory生成etl执行上下文-etl execution context;

9、解析所述etl执行上下文-etl execution context,得到所述etl执行上下文中的执行逻辑:算子依赖、生命周期和基本属性;

10、将所述执行逻辑发送至预览工厂-etl preview factory;

11、由所述预览工厂-etl preview factory根据所述执行逻辑,生成业务逻辑与所述etl执行上下文所对应的etl业务执行模板-abstract etl business template;

12、所述算子依赖,包括:支撑算子解析的相关封装逻辑;算子解析中需要使用到外部的表达式构建;算子依赖中会对算子解析需要使用的复杂函数进行封装,以便算子解析使用;

13、所述生命周期,包括:etl执行过程中需要创建/更新数据集;获取输入/输出数据集;检查输出数据集;继承数据集;运行完成通知;检查输入数据集是否可用;

14、所述基本属性,包括:提供本次etl运行时需要的基本属性,包括算子网、版本、拆分节点信息、域、所有者、优先级设置、附加任务参数和触发路径。

15、作为本申请的一可选实施方案,可选地,所述etl执行模板,包括如下模板内容:

16、(1)、产生执行任务模块-spawn,用于:

17、产生一个etl执行任务并提交任务管理执行;

18、(2)、构建返回信息模块-build response,用于:

19、构建返回信息,包含任务id、报错信息,以及前端进行展示;

20、(3)、任务执行前置检查模块-before execute task,用于:

21、(3.1)、任务执行时的前置逻辑检查:

22、根据参数判断,执行是否已经熔断;

23、判断是否设置了超时标识,具有超时标识则表示该etl存在严重性能问题,不应允许执行;

24、判断是否已经处于运行中,防止重复运行;

25、判断是否已经被工作流调度,若有说明bi已经失去该etl的调度权限;

26、判断是否已经被工作流调度,若有说明bi已经失去该etl的调度权限;

27、检查输出数据集的生成目录是否可用/有效;

28、判断etl是否正在被修改,是则表明结构正在被修改时禁止执行;

29、(3.2)、预览时的前置逻辑检查:

30、join后的行数是否超出设定的限制;

31、(4)、任务执行后处理模块-after execute task,用于:

32、任务执行后进行一些后续处理;

33、(5)、执行任务模块-execute,用于:

34、定义任务实际的执行体,包括如下逻辑:子任务生成和算子解析;

35、构建完毕,生成所述etl业务执行模板-abstract etl business template;

36、将所述etl业务执行模板-abstract etl business template配置并运行。

37、作为本申请的一可选实施方案,可选地,所述smartetl按照预设的etl执行模板,对所述用户算子进行解析,获得包含各个etl算子之间的上下文执行逻辑的算子图,包括:

38、所述smartetl从数据库中调用一个预设的etl执行模板;

39、将所述用户算子导入所述etl执行模板,所述etl执行模板根据所述用户算子生成所需要的翻译参数,并输入至etl上下文工厂;

40、所述etl上下文工厂根据所述用户算子生成对应的etl上下文,并对所述etl上下文进行拓扑排序后,连同所述翻译参数输入至翻译器;

41、翻译器利用所述翻译器参数,对所述用户算子进行翻译,生成对应的算子中间表示;

42、将所述算子中间表示转换为任务引擎通用脚本,并输入至任务引擎工厂,进行任务执行,生成所述用户算子的算子图;

43、其中,所述算子图中包含各个etl算子之间的上下文执行逻辑,用于为数据流开发提供相应的数据流开发逻辑。

44、作为本申请的一可选实施方案,可选地,开发人员执行所述数据流编排调度任务,并根据所述算子图中各个etl算子之间的上下文执行逻辑,编排并生成相应的数据流,包括:

45、进入所述universe数据开发平台的开发页面;

46、根据所述算子图中各个etl算子之间的上下文执行本文档来自技高网...

【技术保护点】

1.一种基于BI平台的数据流编排方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,所述ETL执行模板的生成方法,包括如下步骤:

3.根据权利要求2所述的一种基于BI平台的数据流编排方法,其特征在于,所述ETL执行模板,包括如下模板内容:

4.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,所述SmartETL按照预设的ETL执行模板,对所述用户算子进行解析,获得包含各个ETL算子之间的上下文执行逻辑的算子图,包括:

5.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,开发人员执行所述数据流编排调度任务,并根据所述算子图中各个ETL算子之间的上下文执行逻辑,编排并生成相应的数据流,包括:

6.根据权利要求1所述的一种基于BI平台的数据流编排方法,其特征在于,还包括:

7.实现权利要求1-6中任一项所述一种基于BI平台的数据流编排方法的系统,其特征在于,包括:

8.电子设备,其特征在于,包括:

【技术特征摘要】

1.一种基于bi平台的数据流编排方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种基于bi平台的数据流编排方法,其特征在于,所述etl执行模板的生成方法,包括如下步骤:

3.根据权利要求2所述的一种基于bi平台的数据流编排方法,其特征在于,所述etl执行模板,包括如下模板内容:

4.根据权利要求1所述的一种基于bi平台的数据流编排方法,其特征在于,所述smartetl按照预设的etl执行模板,对所述用户算子进行解析,获得包含各个etl算...

【专利技术属性】
技术研发人员:史栋曹银通李迪砺苏春园
申请(专利权)人:杭州观远数据有限公司
类型:发明
国别省市:

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

1