您的当前位置:首页正文

大数据流程建模分析引擎[发明专利]

来源:我们爱旅游
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 105550268 A (43)申请公布日 2016.05.04

(21)申请号 201510907357.2(22)申请日 2015.12.10

(71)申请人江苏曙光信息技术有限公司

地址211100 江苏省南京市江宁区将军大道

37号翠屏科创园三号楼一楼(72)发明人朱亚洲 朱俊秀 丁章明 陈骥洲(74)专利代理机构南京苏高专利商标事务所

(普通合伙) 32204

代理人柏尚春(51)Int.Cl.

G06F 17/30(2006.01)

权利要求书1页 说明书3页 附图3页

(54)发明名称

大数据流程建模分析引擎(57)摘要

本发明公开了一种大数据流程建模分析引擎,包括界面层、应用逻辑层、数据分析算法层和平台层;对海量数据进行分析处理时通过界面层进行数据分析建模操作,生产数据分析模型,通过任务调度层对数据分析模型进行解析并调取对应的算法包形成可执行的数据分析任务,最终通过平台层的计算和存储资源执行任务得到结果;本发明基于spark的设计理念,在用户进行流程化数据建模分析操作,来解析用户的数据分析操作步骤及流程,最终通过流程调用spark,将用户的数据分析操作步骤全部进行内存处理后,最终输出结果,从而达到高效的一体化流程。

C N 1 0 5 5 5 0 2 6 8 ACN 105550268 A

权 利 要 求 书

1/1页

1.一种大数据流程建模分析引擎,其特征在于:包括平台层、任务调度层和界面层;所述平台层完成资源调度、分配工作;所述任务调度层包括校验模块、解析模块、任务调度模块和算法包;其中,所述校验模块提供数据分析流程是否符合流程设计规则的校验功能,符合校验规则的部分,可以进入解析模块;所述解析模块提供将界面层生成的数据分析流程的转换为可执行的数据分析流程任务的解析功能;所述任务调度模块根据解析模块生成的完整的数据分析流程,调度所述算法包中的各类数据分析算法接口,组成完整的可运行的分析流程任务程序,并调度底层资源进行数据分析程序的执行;

所述界面层:提供数据分析建模操作的平台界面,每一个数据分析的算法包均在界面上以唯一标识的可拖拽式组件存在,用户通过界面操作各算法组件,并以有向线条连接,表示数据分析流程方向和步骤,组合成完整的业务数据分析算法模型,通过界面的启动功能运行后台任务调度模块和算法包,调度资源完成数据的快速分析和处理。

2.根据权利要求1所述的大数据流程建模分析引擎,其特征在于:所述的数据分析流程建模均通过web页面的建模操作台进行,通过可拖拽的算法包与又向连接线的组合形成有向无环的数据分析模型。

3.根据权利要求1所述的大数据流程建模分析引擎,其特征在于:所述解析模块将整个界面层生产的数据分析流程模型转化为一个DAG有向无环图,由解析模块解析这个DAG图,生成完整的spark数据分析流程。

4.根据权利要求1所述的大数据流程建模分析引擎,其特征在于:所述解析模块读入整个前台页面生成的xml文档,构建一个驻留内存的树结构,使用 DOM 接口来操作这个树结构。

5.根据权利要求1所述的大数据流程建模分析引擎,其特征在于:所述解析模块是根据xml,将各步骤解析成有向无环图,end表示终结流程。

6.根据权利要求1所述的大数据流程建模分析引擎,其特征在于:所述任务调度时使用深度优先搜索算法,其步骤如下:(1)获取任务队列;(2)递归拿到任务动作节点;(3)调用ETL工厂类执行任务节点,返回为RDD,直到执行到end动作,表示节点运行成功。

7.根据权利要求1所述的大数据流程建模分析引擎,其特征在于:所述平台层以Hadoop平台为主;所述底层资源包括Hadoop平台中的spark、yarn和hdfs。

8.根据权利要求1所述的大数据流程建模分析引擎,其特征在于:所述解析模块中采用dom4j解析文件。

2

CN 105550268 A

说 明 书

大数据流程建模分析引擎

1/3页

技术领域

[0001]本发明属于大数据快速分析领域,具体涉及一种大数据流程建模分析引擎。背景技术

[0002]现有技术中的大数据分析工具软件,基本都是基于本地化处理,将数据存在本地硬盘中,采用关系型数据库对于少量的数据进行处理分析,但对于海量数据,则无法进行有效的处理分析。

[0003]并且现有技术中的数据分析工具的前端页面展示过于繁琐,需要很专业的数据管理员才能操作,普通用户则望尘莫及,所以针对的用户群体比较狭隘,另外现在的数据处理分析采用关系型数据进行海量数据处理时效率低下,难以满足应用需求。发明内容

[0004]发明目的:针对现有技术存在的问题,本发明提供一种可高效、快速处理大量数据的大数据流程建模分析引擎。[0005]技术方案:一种大数据流程建模分析引擎,包括界面层、任务调度层和平台层;

所述平台层完成资源调度、分配工作;所述任务调度层包括校验模块、解析模块、任务调度模块和算法包;其中,所述校验模块提供数据分析流程是否符合流程设计规则的校验功能,符合校验规则的部分,可以进入解析模块;所述解析模块提供将界面层生成的数据分析流程的转换为可执行的数据分析流程任务的解析功能;所述任务调度模块根据解析模块生成的完整的数据分析流程,调度所述算法包中的各类数据分析算法接口,组成完整的可运行的分析流程任务程序,并调度底层资源进行数据分析程序的执行;

所述界面层:提供数据分析建模操作的平台界面,每一个数据分析的算法包均在界面上以唯一标识的可拖拽式组件存在,用户通过界面操作各算法组件,并以有向线条连接,表示数据分析流程方向和步骤,组合成完整的业务数据分析算法模型,通过界面的启动功能运行后台任务调度模块和算法包,调度资源完成数据的快速分析和处理。[0006]具体地,所述的数据分析流程建模均通过web页面的建模操作台进行,通过可拖拽的算法包与又向连接线的组合形成有向无环的数据分析模型。[0007]具体地,所述解析模块将整个界面层生产的数据分析流程模型转化为一个DAG有向无环图,由解析模块解析这个DAG图,生成完整的spark数据分析流程。[0008]具体地,所述解析模块读入整个前台页面生成的xml文档,构建一个驻留内存的树结构,使用 DOM 接口来操作这个树结构。[0009]具体地,所述解析验证是根据xml,将各步骤解析成有向无环图,end表示终结流程。

[0010]具体地,所述任务调度时使用深度优先搜索算法,其步骤如下:

(1)获取任务队列;

3

CN 105550268 A

说 明 书

2/3页

(2)递归拿到任务动作节点;(3)调用ETL工厂类执行任务节点,返回为RDD,直到执行到end动作,表示节点运行成功。

[0011]具体地,所述平台层以Hadoop平台为主;所述底层资源包括Hadoop平台中的spark、yarn和hdfs。[0012]具体地,所述解析模块中采用dom4j解析文件。[0013]解释说明:1、spark设计理念是基于内存,多次计算,尽量避免文件输出到硬盘,以达到减少频繁IO操作的问题。[0014]2、深度优先搜索是一种在开发爬虫早期使用较多的方法,它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) ,在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链;深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTM的其他超链接;当不再有其他超链接,表示节点结束。

[0015]有益效果:与现有技术相比,本发明的优点在于:基于spark的设计理念,在用户进行流程化数据建模分析操作,来解析用户的数据分析操作步骤及流程,最终通过流程调用spark,将用户的数据分析操作步骤全部进行内存处理后,最终输出结果,从而达到高效的一体化流程。

附图说明

[0016]图1是本发明的系统图;

图2是本发明的流程解析校验图;图3是本发明的解析树示意图;图4是单流程示意图;图5是分支流程示意图;图6是单输出流程示意图;图7是流程映射示意图。

具体实施方式

[0017]下面结合附图和具体实施方式,进一步阐明本发明。[0018]如图1所示,一种大数据流程建模分析引擎,包括界面层、任务调度层、平台层;

平台层:主要以Hadoop平台为主,本发明主要用到Hadoop平台中的yarn、spark和hdfs作为发明的基础功能支撑;每一个基于本发明的数据分析流程任务的运行均需三者配合完成资源调度、分配等工作, yarn 是一种通用的资源管理系统,可提供统一的资源管理和调度,spark是一个通用的并行计算框架,hdfs是一个高度容错性的系统;hdfs非常适合大规模数据集上的应用,实现流式读取文件系统数据的目的。[0019]任务调度层:为本发明的主体部分,包好校验模块、解析模块、任务调度模块和算法包;其中,校验模块提供数据分析流程的是否符合流程设计规则的校验功能,符合校验规则的部分,可以进入解析模块;解析模块提供将界面层生成的数据分析流程的转换为可执

4

CN 105550268 A

说 明 书

3/3页

行的数据分析流程任务的解析功能,将整个界面层生产的数据分析流程模型转化为一个DAG有向无环图,由解析模块解析这个DAG图,生成完整的spark数据分析流程,解析模块读入整个前台页面生成的xml文档,构建一个驻留内存的树结构,使用 DOM 接口来操作这个树结构;解析验证是根据xml,将各步骤解析成有向无环图,end表示终结流程,解析模块中采用dom4j解析文件;任务调度模块根据解析模块生成的完整的spark数据分析流程,调度算法包中的各类数据分析算法接口,组成完整的可运行的spark分析流程任务程序,并调度底层spark、yarn和hdfs资源进行数据分析程序的执行。[0020]界面层:提供数据分析建模操作的平台界面,每一个数据分析的算法包均在界面上以唯一标识的可拖拽式组件存在,用户通过界面操作各算法组件,并以有向线条连接,表示数据分析流程方向和步骤,组合成完整的业务数据分析算法模型,通过界面的启动功能运行后台任务调度模块和算法包,调度资源完成数据的快速分析和处理。[0021]上述任务调度时使用深度优先搜索算法,其步骤如下:

(1)获取任务队列;(2)递归拿到任务动作节点;(3)调用ETL工厂类执行任务节点,返回为RDD,直到执行到end动作,表示节点运行成功。

[0022]如图2所示,dom4j解析是将解析器读入整个文档,然后构建一个驻留内存的树结构,使用 DOM 接口来操作这个树结构,由于流程的xml文件大小普通为几KB左右,故采用dom4j解析文件;其优点在于:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;访问效率高。[0023]如图3所示,流程节点表示任务可以并行执行,直到执行到end动作,表示节点运行成功;当运行时并未出现end动作,一直是节点时,表示错误的解析节点,如图4-6表示不同流程下运行到end动作的示意图。

[0024]如图7所示的一个非有向无环图,因为A点出发向B经C可回到A,形成一个环,将从C到A的边方向改为从A到C,则变成有向无环图。[0025]有向无环图:在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图(DAG图)。

[0026]有向图中一个点经过两种路线到达另一个点未必形成环,因此有向无环图未必能转化成树,但任何有向树均为有向无环图。如图7,不为有向树,但为有向无环图。[0027]由于业务的流程分支也存在多样性及流程输出固定性,可以将流程xml文件解析为有向无环图。每一种最终指向end标签的路线,都可划分为一个流程。图的每个节点可定义为一个需要运行的作业。

[0028]使用本发明对海量数据进行分析处理时通过界面层进行数据分析建模操作,生产数据分析模型,通过任务调度层对数据分析模型进行解析并调取对应的算法包形成可执行的数据分析任务,最终通过平台层的计算和存储资源执行任务得到结果。[0029]基于内存计算框架spark进行大数据流程建模处理,spark框架的特点是高效,快速处理大量数据;而前端的展示页面则变得更人性化,简单的拖拽式的建模平台,完全适用于普通用户,用户完全可以随意搭配,快速得出想要的数据。

5

CN 105550268 A

说 明 书 附 图

1/3页

图1

图 2

6

CN 105550268 A

说 明 书 附 图

2/3页

图 3

图 4

图 5图 6

7

CN 105550268 A

说 明 书 附 图

3/3页

图 7

8

因篇幅问题不能全部显示,请点此查看更多更全内容