交互式自动化大数据分析应用开发系统的制作方法

文档序号:14249164阅读:282来源:国知局
交互式自动化大数据分析应用开发系统的制作方法

本发明实施例涉及大数据分析技术领域,更具体地,涉及一种交互式大数据分析系统及方法。



背景技术:

近年来,大数据领域发展出大量技术和产品,成为大数据获取、存储、处理分析或可视化的有效手段。但使用这些技术和产品存在较高的技术门槛,怎样将大数据技术以标准化的形式组织起来,为使用者提供便捷、高效的使用方法,成为一项巨大挑战。

以许多大互联网公司为代表的一系列基于云平台的大数据分析产品应运而生。这些产品凭借其丰富的云计算资源和友好的交互模式为大数据分析任务的组织提供了相对高效和相对便利的手段。但企业的数据分析人员往往精通领域知识和业务背景,却对数据分析的技术细节不甚熟悉,导致这些大数据分析产品仍然具有较高的技术门槛。尤其在数据分析技术发展迅速的今天,大多企业难以承担同时掌握各种数据分析技术所花费的巨大人力成本。另外,在实际应用中,往往需要根据不同条件训练批量类似的模型,而现有平台和产品无法高效地支持这一场景。

如何将复杂的数据分析技术封装成易用的分析平台,为非数据分析技术方面的专业人员提供易用的自动化、交互式的实用数据分析手段,已经成为一个亟待解决的问题。



技术实现要素:

本发明实施例提供了一种克服上述问题或者至少部分地解决上述问题的交互式大数据分析系统及方法。

一方面本发明实施例提供了一种交互式大数据分析系统,其特征在于,所述系统包括:数据接收模块、算子管理模块、分析模型生成模块、流程解析优化模块以及任务调度执行模块;其中,

所述数据接收模块用于接收用户通过数据管理交互界面输入的待分析大数据的训练数据集;

所述算子管理模块用于根据所述训练数据集构建并存储对应的数据集算子,所述算子管理模块还用于存储预设数据处理算子、预设机器学习算子以及预设流程控制算子;

所述分析模型生成模块用于根据用户在分析流程编辑交互界面调用所述数据集算子、所述预设数据处理算子、所述预设机器学习算子以及所述预设流程控制算子构建的分析流程生成所述待分析大数据的分析模型;

所述流程解析优化模块用于对所述分析模型进行解析得到多个第一分析任务,且所述多个第一分析任务中的每个第一分析任务对应于所述分析模型中的一个流程;所述流程解析优化模块还用于对所述多个第一分析任务进行优化得到多个第二分析任务;

所述任务调度执行模块用于调度并执行所述多个第二分析任务,得到训练好的所述分析模型。

进一步地,所述分析模型生成模块具体用于:

将用户在分析流程编辑交互界面构建的分析流程作为所述分析模型;其中,所述用户在所述分析流程编辑交互界面调用所述数据集算子作为所述分析流程中的数据输入流程,调用所述预设数据处理算子作为所述分析流程中的数据处理流程,调用所述预设机器学习算子作为所述分析流程中的机器学习流程,调用所述预设流程控制算子作为所述分析流程中的流程控制,得到所述分析流程。

进一步地,所述分析模型生成模块还用于检查所述分析流程中的各流程之间的连接关系是否合法。

进一步地,所述预设流程控制算子包括循环子流程算子和逻辑分支算子;其中,所述循环子流程算子用于构成多个批量训练流程,所述逻辑分支算子用于构成动态处理流程。

进一步地,所述流程解析优化模块具体用于:

将所述分析模型中的各流程按步骤进行拆分,得到多个流程即为所述多个第一分析任务;

对于所述多个第一分析任务中的每个第一分析任务,从每个第一分析任务对应的多个算法中选择最优算法作为每个第一分析任务的算法,则具有最优算法的多个第一分析任务即为所述多个第二分析任务。

进一步地,所述任务调度执行模块具体用于:

根据所述多个第二分析任务对应的流程在所述分析模型中的时序对所述多个第二分析任务进行调度得到所述多个第二分析任务的执行顺序;

按所述执行顺序执行所述多个第二分析任务。

进一步地,所述数据接收模块还用于接收用户通过算子管理交互界面输入的自定义算子。

另一方面本发明实施例提供了一种交互式大数据分析方法,所述方法包括:

s1,接收用户输入的待分析大数据的训练数据集,并根据所述训练数据集构建并存储对应的数据集算子;

s2,根据用户调用所述数据集算子、所述预设数据处理算子、所述预设机器学习算子以及所述预设流程控制算子构建的分析流程生成所述待分析大数据的分析模型;

s3,对所述分析模型进行解析得到多个第一分析任务,并对所述多个第一分析任务中的超参数进行优化得到多个第二分析任务;其中,所述多个第一分析任务中的每个第一分析任务对应于所述分析流程中的一个步骤;

s4,调度并执行所述多个第二分析任务,得到训练好的所述分析模型。

进一步地,步骤s2具体包括:

将用户构建的分析流程作为所述分析模型;其中,所述用户调用所述数据集算子作为所述分析流程中的数据输入流程,调用所述预设数据处理算子作为所述分析流程中的数据处理流程,调用所述预设机器学习算子作为所述分析流程中的机器学习流程,调用所述预设流程控制算子作为所述分析流程中的流程控制,得到所述分析流程。

进一步地,步骤s3具体包括:

将所述分析模型中的各流程按步骤进行拆分,得到多个流程即为所述多个第一分析任务;

对于所述多个第一分析任务中的每个第一分析任务,从每个第一分析任务对应的多个算法中选择最优算法作为每个第一分析任务的算法,则具有最优算法的多个第一分析任务即为所述多个第二分析任务。

本发明实施例提供的一种交互式大数据分析系统及方法,首先,该系统为大数据分析流程提供了交互式的编辑界面,支持了具备较强易用性的交互功能,便于用户高效的完成分析流程设计;其次,通过流程控制算子等为用户提供了批量构建流程、差异化复用流程、动态规划流程等功能,极大地简化了复杂分析流程的构建步骤;特别的,利用流程解析优化模块为每个分析流程进行算法选择,用户无需考虑算法实现问题,大幅降低了在数据分析技术方面对用户的使用门槛;另外,利用流程解析优化模块为需要进行超参数优化的流程进行超参数选择,该系统自动为超参数不确定的任务选择最优的执行超参数,使得分析流程的构建和执行更加简洁、高效。

附图说明

图1为本发明实施例提供的一种交互式大数据分析系统的结构框图;

图2为本发明实施例提供的一种交互式大数据分析方法的流程图;

图3为本发明实施例中提供的另一种交互式大数据分析方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的一种交互式大数据分析系统的结构框图,如图1所示,所述系统包括:数据接收模块1、算子管理模块2、分析模型生成模块3、流程解析优化模块4以及任务调度执行模块5。其中:

所述数据接收模块1用于接收用户通过数据管理交互界面输入的待分析大数据的训练数据集。所述算子管理模块2用于根据所述训练数据集构建并存储对应的数据集算子,所述算子管理模块还用于存储预设数据处理算子、预设机器学习算子以及预设流程控制算子。所述分析模型生成模块3用于根据用户在分析流程编辑交互界面调用所述数据集算子、所述预设数据处理算子、所述预设机器学习算子以及所述预设流程控制算子构建的分析流程生成所述待分析大数据的分析模型。所述流程解析优化模块4用于对所述分析模型进行解析得到多个第一分析任务,且所述多个第一分析任务中的每个第一分析任务对应于所述分析模型中的一个流程;所述流程解析优化模块还用于对所述多个第一分析任务进行优化得到多个第二分析任务。所述任务调度执行模块5用于调度并执行所述多个第二分析任务,得到训练好的所述分析模型。

具体地,所述系统中的交互界面将用户的操作和输入信息通过web服务传递给后台api,并将后台处理结果展现给用户。所述系统中的交互界面包括分析流程构建交互界面、模型管理交互界面、数据管理交互界面、算子管理交互界面以及分析流程管理交互界面等。所述系统的数据输入模块通过用户输入的待分析大数据的训练数据集主要有两个方面的作用,第一方面作为后续训练分析模型的输入,第二方面根据所述训练数据集可以确定大数据的分析目标。所述训练数据集通过数据管理交互界面输入后存储至数据管理模块中。所述数据管理模块的操作对象是数据源和数据集。其中数据源指数据的获取来源,包括常见的数据库、文件系统等。数据集指数据源中的某个指定数据单元,也就是数据分析任务中所使用的数据集合,例如某个文件系统中指定的csv格式的文件、某个数据库中指定的sql查询结果等。

所述算子管理模块的操作对象是算子,算子可以理解为数据分析任务的具体实现程序及相关配置的功能标签,每个算子对应至少一个或多个具体实现程序及相关配置。算子有四种类别,分别是“数据集算子”“数据处理算子”“机器学习算子”“流程控制算子”。其中“数据集算子”对应于数据管理模块产生的数据集,以供用户在编辑分析流程时引用。“数据处理算子”对应于以若干个数据集作为输入,对数据进行过滤、清洗、合并、采样等处理,并以若干个数据集作为输出结果的处理程序。“机器学习算子”对应与机器学习任务中涉及到的多个算法,包括特征提取、模型训练、模型测试等。“流程控制算子”对应于为用户提供循环子流程、逻辑分支等功能,以便于用户高效的设计复杂的数据分析流程。可以理解地,为了对特定大数据进行分析,在利用所述系统进行分析时,首先根据用户输入的训练数据集构建对应的数据集算子,然后预设其他构建分析流程所需要用到的算子,得到预设数据处理算子、预设机器学习算子以及预设流程控制算子,其中所述预设数据处理算子对应多个数据处理算法,所述预设机器学习算子对应多个机器学习算子,所述预设流程控制算子包括循环子流程算子和逻辑分支算子。

根据所述训练数据集所确定的分析目标,用户可以得出构建用于分析所述大数据的分析流程所需的各个流程,所述分析流程的每个流程都可以用算子管理模块中的算子对应的数据集或算法来实现,故用户在构建分析流程时,直接在分析流程编辑交互界面上拖拽每个流程对应的算子以完成对所述分析流程的构建。所述分析模型生成模块接收用户构建的分析流程,将所述分析流程作为所述待分析大数据的分析模型。

为了使所述分析模型生成模块中得到的分析模型更加易于训练,所述流程解析优化模块对所述分析模型先后进行解析和优化。因为所述分析流程一般包括多个小流程,即包括多个步骤,所以所述分析模块经所述流程解析优化模块解析后得到与多个小流程一一对应的多个第一分析任务。优化包括两个部分,一是算法选择优化,二是超参数选择优化。经过解析和优化,所述系统得到了可运行的分析任务集合以及符合其依赖关系的有向无环图。为支持实际应用中常见的批量模型学习问题,该模块支持将相同结构的流程按照特定问题的可变超参数进行大规模并行优化,最大程度利用现有分布式资源提升批量模型训练的速度。由于所述分析模型中每个流程由算子表示,且每个算子可能对应多个算法,即每个第一分析任务可能对应多个算法,那么所述流程解析优化模块对所述多个第一分析任务的优化,即为其中对应多个算法的第一分析任务确定出最适合当前分析模型的算法。同时,所述流程解析优化模块对每个超参数待优化的第二分析任务进行超参数选择优化,从给定超参数取值范围中选择最大程度满足时间消耗最少、特定指标最高等要求的超参数。

所述任务调度执行模块负责执行流程解析优化模块产生的可运行任务。根据分析任务的特定计算平台,该模块结合优化得到的具体配置超参数,调用相关指令执行分析任务。在执行过程中,该模块实时记录并反馈任务的执行状态。

本发明实施例提供的一种交互式大数据分析系统,首先,该系统为大数据分析流程提供了交互式的编辑界面,支持了具备较强易用性的交互功能,便于用户高效的完成分析流程设计;其次,通过流程控制算子等为用户提供了批量构建流程、差异化复用流程、动态规划流程等功能,极大地简化了复杂分析流程的构建步骤;特别的,利用流程解析优化模块为每个分析流程进行算法选择,用户无需考虑算法实现问题,大幅降低了在数据分析技术方面对用户的使用门槛;另外,利用流程解析优化模块为需要进行超参数优化的流程进行超参数选择,该系统自动为超参数不确定的任务选择最优的执行超参数,使得分析流程的构建和执行更加简洁、高效。

基于上述实施例,所述分析模型生成模块具体用于:

将用户在分析流程编辑交互界面构建的分析流程作为所述分析模型;其中,所述用户在所述分析流程编辑交互界面调用所述数据集算子作为所述分析流程中的数据输入流程,调用所述预设数据处理算子作为所述分析流程中的数据处理流程,调用所述预设机器学习算子作为所述分析流程中的机器学习流程,调用所述预设流程控制算子作为所述分析流程中的流程控制,得到所述分析流程。

具体地,分析流程编辑交互界面包含算子候选菜单、分析流程构建画板、任务配置区等三个主要部分,这些交互界面为用户提供了交互式构建分析流程的操作。用户在构建分析流程的过程中,只需要对照所需构建的单个流程所要实现的功能,在所述算子候选菜单中选取对应的算子,并将所述算子拖拽至分析流程画板,同时在任务配置区给对每个单个流程进行超参数配置。最终在所述分析流程构建画板上形成完整的分析流程。

进一步地,基于上述实施例,所述分析模型生成模块还用于检查所述分析流程中的各流程之间的连接关系是否合法。

具体地,通过分析生成模块对用户构建的分析流程中的各个流程之间的连接关系进行检查,判断前一个流程输出量的格式是否匹配于下一个流程输入量的格式,如果匹配则说明前后两个流程的连接关系合法,否则两者连接关系不合法,对整个分析流程中所有连接关系进行判断,所有连接关系都合法表明该分析流程在连接关系上没有错误。经过这一判断过程可以筛选出连接关系不合法的分析流程,进而为后续过程节约计算时间。

进一步地,所述预设流程控制算子包括循环子流程算子和逻辑分支算子;其中,所述循环子流程算子用于构成多个批量训练流程,所述逻辑分支算子用于构成动态处理流程。

基于上述实施例,所述流程解析优化模块具体用于:

将所述分析模型中的各流程按步骤进行拆分,得到多个流程即为所述多个第一分析任务;

对于所述多个第一分析任务中的每个第一分析任务,从每个第一分析任务对应的多个算法中选择最优算法作为每个第一分析任务的算法,则具有最优算法的多个第一分析任务即为所述多个第二分析任务。

具体地,利用流程解析优化模块将分析模型拆分为多个小的单元后,在对这些单元进行优化有两个方面的好处。第一,通过流程解析优化模块选择每个第一分析任务所适用的最有算法,免除了用户对功能算法实现的工作,只需用户调用所想要实现功能对应的算子构建分析流程即可,极大的提高了大数据分析的自动化程度。所述流程解析优化模块自动为超参数不确定的任务选择最优的执行超参数,免除了人工反复试验的繁琐操作,使得分析流程的构建和执行更加简洁、高效。

基于上述实施例,所述任务调度执行模块具体用于:

根据所述多个第二分析任务对应的流程在所述分析模型中的时序对所述多个第二分析任务进行调度得到所述多个第二分析任务的执行顺序;

按所述执行顺序执行所述多个第二分析任务。

具体地,调度执行模块将按照解析结果,把待执行的各个任务按照指定的执行顺序运行在分布式或者多线程计算平台上;调度执行模块将按照解析结果根据给定的算法和超参数执行算子,为运行中的各个任务生成相关的数据库记录,并保存任务的执行状态、中间结果地址等信息

基于上述实施例,所述数据接收模块还用于接收用户通过算子管理交互界面输入的自定义算子。

具体地,由于用户可能需要实现一些特定的功能,而这部分特定的功能在所述算子管理模块中可能没有对应的算子能够实现。所以需要用户单独构建自定义算子,同时还要编写自定义算子对应的实现程序一并输入所述系统。这一功能使得所述系统的分析功能更加丰富。

基于上述实施例,所述系统还包括模型管理模块、流程管理模块以及存储模块。其中:

所述模型管理模块的操作对象是“机器学习算子”经过训练产生的模型。这些模型将作为新的“机器学习算子”,供用户在后续流程中使用,比如随机森林模型、深度网络模型等

所述流程管理模块的操作对象是用户编辑保存的分析流程。除了上述的基本操作外,还包括查看流程编辑历史、相似流程搜索等。

所述存储模块分为两个部分,一部分通过mysql数据库存储管理模块操作对象的数据库记录,另一部分通过hdfs存储分析流程执行过程中产生的中间结果。

图2为本发明实施例提供的一种交互式大数据分析方法的流程图,如图2所示,所述方法包括:s1,接收用户输入的待分析大数据的训练数据集,并根据所述训练数据集构建并存储对应的数据集算子;s2,根据用户调用所述数据集算子、所述预设数据处理算子、所述预设机器学习算子以及所述预设流程控制算子构建的分析流程生成所述待分析大数据的分析模型;s3,对所述分析模型进行解析得到多个第一分析任务,并对所述多个第一分析任务中的超参数进行优化得到多个第二分析任务;其中,所述多个第一分析任务中的每个第一分析任务对应于所述分析流程中的一个步骤;s4,调度并执行所述多个第二分析任务,得到训练好的所述分析模型。

进一步地,步骤s2具体包括:

将用户构建的分析流程作为所述分析模型;其中,所述用户调用所述数据集算子作为所述分析流程中的数据输入流程,调用所述预设数据处理算子作为所述分析流程中的数据处理流程,调用所述预设机器学习算子作为所述分析流程中的机器学习流程,调用所述预设流程控制算子作为所述分析流程中的流程控制,得到所述分析流程。

进一步地,步骤s3具体包括:

将所述分析模型中的各流程按步骤进行拆分,得到多个流程即为所述多个第一分析任务;

对于所述多个第一分析任务中的每个第一分析任务,从每个第一分析任务对应的多个算法中选择最优算法作为每个第一分析任务的算法,则具有最优算法的多个第一分析任务即为所述多个第二分析任务。

具体地,如图3所示,所方法的基本工作流程如下所示:

用户在数据管理交互界面、算子管理交互界面等,导入分析过程中需要使用的特定数据集和自定义的数据处理算子;

在分析流程编辑界面,用户建立数据分析流程案例,注明分析目标,并开始编辑分析流程;

用户从“算子候选区”选择分析流程中需要使用的算子,以拖拽的操作形式将算子放入“分析流程构建画板”中,并在“任务配置区”为任务指定具体超参数;

用户以拖拽的操作形式连接各个算子,交互界面调用“算子管理模块”的端口类型检查api检查连接关系是否合法;

通过“流程控制算子”中的循环子流程算子形成多模型批量训练流程;

通过“流程控制算子”中的逻辑分支算子形成动态处理流程;

最终形成符合各个算子使用方式的分析流程;

用户保存并执行流程,交互界面调用“分析流程管理模块”的相应api完成操作;

流程解析和优化模块将用户定义的分析流程解析为包含依赖关系的分析任务集合,其中将循环子流程算子所对应的批量模型训练过程解析为可并行执行的多组任务集合;

流程解析和优化模块对“特征提取任务”“分类任务”“回归任务”“聚类任务”等类型的任务进行算法选择优化,从现有算法实现方案中选择最适合当前分析流程的算法;

流程解析和优化模块对每个超参数待优化任务进行超参数选择优化,从给定超参数取值范围中选择最大程度满足时间消耗最少、特定指标最高等要求的超参数;

调度执行模块将按照解析结果,把待执行的各个任务按照指定的执行顺序运行在分布式或者多线程计算平台上;

调度执行模块将按照解析结果根据给定的算法和超参数执行算子,为运行中的各个任务生成相关的数据库记录,并保存任务的执行状态、中间结果地址等信息;

用户将训练生成的模型保存下来,供后续构建流程、应用模型时使用。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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