CN118012387A - 大数据分析算法库的构建系统及构建方法 - Google Patents
大数据分析算法库的构建系统及构建方法 Download PDFInfo
- Publication number
- CN118012387A CN118012387A CN202410217261.2A CN202410217261A CN118012387A CN 118012387 A CN118012387 A CN 118012387A CN 202410217261 A CN202410217261 A CN 202410217261A CN 118012387 A CN118012387 A CN 118012387A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- flow
- code
- data analysis
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 302
- 238000007405 data analysis Methods 0.000 title claims abstract description 82
- 238000010276 construction Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000004458 analytical method Methods 0.000 claims abstract description 32
- 238000012795 verification Methods 0.000 claims abstract description 14
- 238000012360 testing method Methods 0.000 claims description 6
- 239000012634 fragment Substances 0.000 claims description 3
- 230000004927 fusion Effects 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 238000003066 decision tree Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011985 exploratory data analysis Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004573 interface analysis Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
- G06F8/355—Round-trip engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了大数据分析算法库的构建系统,包括:分析流程构建模块、算子平台选择模块、代码反向生成模块、用户代码校验模块、集群控制主机、集群计算主机。能实现跨平台、跨语言的算法融合,在一个完整且异构的数据分析流中实现数据分析。本发明还公开了大数据分析算法库的构建方法。
Description
技术领域
本发明属于大数据分析方法技术领域,涉及大数据分析算法库的构建系统,本发明还涉及大数据分析算法库的构建方法。
背景技术
随着大数据生态软件的发展,以大数据技术为基础,以数据处理及业务分析为核心的大数据分析算法也得到了广泛的应用,因此,构建面向行业大数据分析的算法库是促进大数据产业发展的必备要素之一。
传统的大数据算法库大多旨在提升平台算法的丰富性,而在跨平台算法的异构性、多语言兼容性、算法的选择及算法的灵活使用上无法完全满足上述需求。常用的数据分析算法都是基于统一的语言和环境开发,例如,以Scikit-learn为代表的小规模数据分析算法库,以Spark MLlib为代表的大规模数据分析算法库,以MATLAB为代表的数据统计分析算法库,以Pytorch和Tensorflow为代表的深度学习算法框架,以H2O为代表的信号数据处理算法库等。然而,在实际的行业数据分析中,通常需要多个平台中的多个算法配合才能构建起完整的数据分析流程,这就需要用户先根据业务选平台,再根据平台选择算法,若流程所需的多个算法存在于多个平台中时,只能手动编码来实现这些算法的环境一致性。此外,传统企业在发展的过程中积累了大量的自研算法来解决本行业数据分析问题,这些面向行业的特殊算法可能基于任意编程环境,在融入算法库时需要重构代码来适配整个分析流程。以上都无疑给建立面向企业的大数据分析算法库带来了难点。
综上,现有的大数据分析算法库或大数据分析平台,在面向行业的数据分析场景中主要存在如下问题:
分析效率问题:传统的数据分析需要跨领域专家花费大量时间在业务沟通和算法调试上,门槛较高,这给分析建模及设计造成诸多不便。
算法选择问题:传统的数据分析中无法结合各开源平台算法自身的优势,自动的选择特定平台的算子,需要大量的人工介入来选择合适的平台并进一步选择合适的算法。
算法适配问题:传统数据分析平台提供完全界面配置的形式使用户无法完成代码的定制化修改,而接口调用的形式又难以供初学用户使用,缺乏了数据分析过程的灵活性。
算法融合问题:传统的分析算法平台无法支持新平台算法与企业历史算法的技术互通与无缝衔接,进而无法实现行业自有算法库的广泛兼容和可持续演进。
发明内容
本发明的目的是提供大数据分析算法库的构建系统,能实现跨平台、跨语言的算法融合,在一个完整且异构的数据分析流中实现数据分析。
本发明的另一目的是提供了大数据分析算法库的构建方法。
本发明所采用的技术方案是,大数据分析算法库的构建系统,包括:
分析流程构建模块,让用户可视化选择算法并将其首尾相接构建完整数据分析流程,并生成流程描述文件;
算子平台选择模块,给分析流程构建模块构建的数据分析流程中的每一个算法选择基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中;
代码反向生成模块,生成每一个算法在其基准运行环境下的算法代码,使用户可手动编辑;
用户代码校验模块,校验用户手动编辑过的算法代码是否符合规则,若符合则产生原生代码;
集群控制主机,部署有流程执行引擎,流程执行引擎下发各算法原生代码到与其环境相匹配的集群计算主机;
集群计算主机,接收流程执行引擎下发的原生代码,完成数据的读取与输入,代码的编译与运行,数据的输出与缓存。
本发明的特征还在于:集群计算主机包括多类,每类集群计算主机只部署一种基准运行环境,集群控制主机根据算法的基准运行环境选择对应的集群计算主机下发原生代码。
本发明采用的另一种技术方案是,大数据分析算法库的构建方法,采用上述大数据分析算法库的构建系统,具体按照如下步骤实施:
步骤1,算法库初始囊括大数据分析中使用的各类算法;
步骤2,用户根据需求通过分析流程构建模块可视化编辑数据分析流程节点,形成数据分析流程,每个流程节点对应步骤1中的一个算法,生成流程描述文件;
步骤3,算子平台选择模块为本流程节点的算法选择合适的基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中;
步骤4,代码反向生成模块获取算法所在的基准运行环境中的代码模板,并结合用户界面输入的对应算法的参数的输入,反向生成算法代码并展示在界面上供用户编辑,获得用户编辑后的算法代码;
步骤5,用户代码校验模块校验用户手动编辑过的算法代码并是否符合规则,若符合则产生原生代码;
步骤6,流程执行引擎下发各算法原生代码到与其环境相匹配的集群计算主机,完成数据的读取与输入,代码的编译与运行,数据的输出与缓存。
本发明第二种技术方案的特征还在于,步骤1中的每个算法来自于不同或相同的开源平台或自研平台且同一个算法在不同平台的实现过程都包含在算法库中;且每个算法在多个基准运行环境中的实现都有标准化的代码模板存储在本地Git代码库中;
步骤2中数据分析流程中第一个流程节点算法的输入为待分析的数据源,其余各个流程节点算法的输入为前一个或多个流程节点算法执行后的输出;流程构建模块生成的流程描述文件中包括流程节点中每一个算法的ID,以及数据分析流程中各个算法之间的输入输出端口连接关系。
步骤3中算子平台选择模块根据本流程节点算法输入数据规模、数据类型以及集群的硬件配置来选择合适的基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中。
步骤4具体为:代码反向生成模块从本地Git代码库中获取算法所在的基准运行环境中的代码模板,并结合用户界面输入的对应算法的参数的输入,反向生成算法对应其基准运行环境的算法代码并展示在界面上供用户编辑,且每一个算法代码的命名与其在流程节点中的ID相同,用户编辑后获得用户编辑后的算法代码。
用户代码校验模块给每一个算法提供了标准的输入测试数据以及标准输出数据,将该标准的输入测试数据输入编辑后的算法代码,若输出数据的格式与标准的输出数据格式一致,则校验成功,则产生原生代码,即就是用户编辑后且经过效验的算法代码;若无法输出或格式不一致则校验失败。
步骤6具体为:流程执行引擎解析流程描述文件,循环遍历每一个流程节点,判断其是否满足执行条件,将满足条件的流程节点的算法代码下发到其基准运行环境所匹配的集群计算主机中执行;
集群计算主机接收到流程执行引擎下发的代码后,读取代码片段,并判断本地环境是否已满足代码的执行条件,若不满足则下载该算法依赖的镜像包到本地,集群计算主机本地编译代码,并从HBase缓存数据库中根据数据分析流程设定的节点关系读取设定的输入数据,集群计算主机本地执行代码,并将最终的输出数据再写入HBase缓存数据库,将执行状态写入Redis缓存数据库中。
步骤6中,针对每一个流程描述文件,流程执行引擎循环直到流程描述文件中所有的算法节点都执行成功,流程执行引擎通过读取Redis缓存数据库中集群计算主机写入的算法执行状态来判断每个算法是否执行成功,流程执行引擎通过读取HBase缓存数据库中算法节点写入的算法执行结果来获取每一个算法执行后的数据。
步骤6中流程执行引擎解析流程描述文件,每隔n秒遍历一遍流程执行文件中的算法节点,如果某个算法的前置接节点都已经执行成功,则本次遍历就会执行该算法,即就是将该流程节点的算法代码下发到其基准运行环境所匹配的集群计算主机中执行;如果某个算法存在前置节点尚未执行成功,则本次遍历不执行该算法,等待下次遍历再判断是否执行;如果流程中存在节点执行出错,则整个分析流程标记为出错状态,并结束遍历;如果流程中所有节点都执行成功,则整个分析流程标记为成功状态,并结束遍历。
本发明的有益效果是:
本发明通过流程构建模块来实现界面化,可视化的数据分析流程构建,简化了数据分析过程,解决了分析效率问题。通过算法平台选择模块来实现根据数据规模、类型、硬件配置来自动选择每个算法基准运行环境的选择,无需预先指定每个算法的环境,这同样也提升了分析效率。通过代码反向生成模块,反向生成算法的基准平台代码,并通过代码校验模块保证了其有效性,解决了算法的灵活适配问题。通过将各类型,各平台的异构算法融合在一个数据分析流程中,再通过流程执行引擎将该流程中不同类型的算法下发到不同类型的计算节点中执行,有效的解决了异构算法的融合问题,如多类型的企业历史遗留算法的融合。
附图说明
图1是本发明大数据分析算法库的构建系统的结构示意图;
图2是本发明大数据分析算法库的构建方法的流程图;
图3是本发明大数据分析算法库的构建方法中多平台算法组件集的示意图;
图4是本发明大数据分析算法库的构建方法中Web界面分析流程构建示意图;
图5是本发明大数据分析算法库的构建方法中算子平台选择的流程图;
图6是本发明大数据分析算法库的构建方法中代码反向生成的流程图;
图7是本发明大数据分析算法库的构建方法中用户代码校验的流程图;
图8是本发明大数据分析算法库的构建方法中流程执行引擎的执行流程图;
图9是本发明大数据分析算法库的构建方法中计算节点的执行流程图;
图10是本发明实施例4中“电能消耗预测数据”流程构建界面图;
图11是本发明实施例4中“工件质量符合率预测”流程构建界面图;
图12是本发明实施例4中决策树回归算法的配置参数界面图;
图13是本发明实施例4中反向代码生成后的代码编辑界面图;
图14是本发明实施例4中代码校验失败后界面图;
图15是本发明实施例4中流程下发到流程引擎执行并得到各个算法执行成功的反馈界面图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
实施例1
大数据分析算法库的构建系统,其结构如图1所示,包括:
分析流程构建模块,让用户可视化选择算法并将其首尾相接构建完整数据分析流程,并生成流程描述文件;
算子平台选择模块,给分析流程构建模块构建的数据分析流程中的每一个算法选择基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中;
代码反向生成模块,生成每一个算法在其基准运行环境下的算法代码,使用户可手动编辑;
用户代码校验模块,校验用户手动编辑过的算法代码是否符合规则,若符合则产生原生代码;
集群控制主机,部署有流程执行引擎,流程执行引擎下发各算法原生代码到与其环境相匹配的集群计算主机;
集群计算主机,接收流程执行引擎下发的原生代码,完成数据的读取与输入,代码的编译与运行,数据的输出与缓存,其中,集群计算主机包括多类,每类集群计算主机只部署一种基准运行环境,集群控制主机根据算法的基准运行环境选择对应的集群计算主机下发原生代码。
集群计算主机根据其所部署的基础开源平台或语言环境被划分为多种类型,如Matlab、Scikit-learn、H2O或其他语言平台环境,每一种类型都可包含多台集群计算主机,每个集群计算主机只部署一种环境。
实施例2
大数据分析算法库的构建方法,采用实施例1中的大数据分析算法库的构建系统,其流程如图2所示,具体按照如下步骤实施:
步骤1,算法库初始囊括大数据分析中使用的各类算法,如图3所示,包括数据源读取算法,数据预处理算法,探索性分析算法,特征工程算法,核心分析算法,参数选择算法,结果评估算法,结果展示算法;每个算法来自于不同或相同的开源平台或自研平台,如基于Scikit-learn的SVM算法和基于Matlab的随机森林算法,且同一个算法在不同平台的实现过程都包含在算法库中,如基于Scikit-learn的决策树算法和基于Spark的决策树算法;且每个算法在多个基准运行环境中的实现都有标准化的代码模板存储在本地Git代码库中;
步骤2,用户根据需求通过分析流程构建模块可视化编辑数据分析流程节点,形成数据分析流程,每个流程节点对应步骤1中的一个算法,生成流程描述文件;如图4所示,数据分析流程中第一个流程节点算法的输入为待分析的数据源,其余各个流程节点算法的输入为前一个或多个流程节点算法执行后的输出;流程描述文件中包括流程节点中每一个算法的ID,以及数据分析流程中各个算法之间的输入输出端口连接关系;
每个算法均定义了标准的输入和输出,即对于算法库中同一算法的多平台实现,其输入输出都相同,平台即就是基准运行环境;
步骤3,如图5所示,算子平台选择模块根据本流程节点算法输入数据规模、数据类型以及集群的硬件配置来选择合适的基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中;
步骤4,如图6所示,代码反向生成模块从本地Git代码库中获取算法所在的基准运行环境中的代码模板,并结合用户界面输入的对应算法的参数的输入,反向生成算法对应其基准运行环境的算法代码并展示在界面上供用户编辑,且每一个算法代码的命名与其在流程节点中的ID相同,用户编辑后获得用户编辑后的算法代码;
步骤5,如图7所示,用户代码校验模块给每一个算法提供了标准的输入测试数据以及标准输出数据,将该标准的输入测试数据输入编辑后的算法代码,若输出数据的格式与标准的输出数据格式一致,则校验成功,则产生原生代码,即就是用户编辑后且经过效验的算法代码;若无法输出或格式不一致则校验失败;
步骤6,如图8所示,流程执行引擎下发各算法原生代码到与其环境相匹配的集群计算主机,完成数据的读取与输入,代码的编译与运行,数据的输出与缓存,具体为:流程执行引擎解析流程描述文件,循环遍历每一个流程节点,判断其是否满足执行条件,将满足条件的流程节点的算法代码下发到其基准运行环境所匹配的集群计算主机中执行;
如图9所示,集群计算主机接收到流程执行引擎下发的代码后,读取代码片段,并判断本地环境是否已满足代码的执行条件,若不满足则下载该算法依赖的镜像包到本地,然后继续执行:集群计算主机本地编译代码,并从HBase缓存数据库中根据数据分析流程设定的节点关系读取设定的输入数据,集群计算主机本地执行代码,并将最终的输出数据再写入HBase缓存数据库,将执行状态写入Redis缓存数据库中;若满足则直接进行:集群计算主机本地编译代码以及之后的操作。
其中,针对每一个流程描述文件,流程执行引擎循环直到流程描述文件中所有的算法节点都执行成功,流程执行引擎通过读取Redis缓存数据库中集群计算主机写入的算法执行状态来判断每个算法是否执行成功,流程执行引擎通过读取HBase缓存数据库中算法节点写入的算法执行结果来获取每一个算法执行后的数据。
其中,流程执行引擎解析流程描述文件时,每隔n秒遍历一遍流程执行文件中的算法节点,如果某个算法的前置接节点都已经执行成功,则本次遍历就会执行该算法,即就是将该流程节点的算法代码下发到其基准运行环境所匹配的集群计算主机中执行;如果某个算法存在前置节点尚未执行成功,则本次遍历不执行该算法,等待下次遍历再判断是否执行;如果流程中存在节点执行出错,则整个分析流程标记为出错状态,并结束遍历;如果流程中所有节点都执行成功,则整个分析流程标记为成功状态,并结束遍历。
用户在步骤2可视化界面选择算法时只需要关注算法的功能,而无需关注每个算法所属的平台环境,算子平台选择模块根据对应节点算法输入数据规模,数据类型(如二维数据,张量数据,信号数据等),以及集群的硬件配置来选择合适的平台;算子平台选择模块选择平台时,根据数据条数预先定义了几个档次:大规模数据在1亿条以上包括1亿条;中等规模数据在1000万到1亿条之内,包括1000万条;小规模数据在1000万条以下,定义了数据集的类型:二维数据,张量数据,信号数据(也叫时序数据)。根据集群计算主机的硬件配置(CPU核数和内存大小),将计算主机划分成计算型计算主机(32核及以上),内存型计算主机(128G及以上)和小规模计算主机(CPU和内存都小于上述值)。集群中的计算主机根据硬件配置已经预先部署了scikit-learn(小规模计算主机),spark(内存型计算主机),Matlab(计算型计算主机),H2O(多个配置的主机环境)。平台再根据流程节点输入数据的规模或数据的类型,将二维或张量数据中的大规模数据下发到内存型计算主机,将中等规模数据下发到计算型计算主机,将小规模数据下发到小规模计算主机,将信号类型数据下发到部署了H2O环境的主机上;例如,用户选择了随机森林算法,而算法库中包含了该算法在多种平台中的实现,若数据规模较小则自动选择Python Scikit-learn中的实现,若数据规模较大则选择SparkMLlib中的实现,用户也可以手动指定该算法平台。
实施例3
本实施例在实施例2的基础上,流程执行引擎解析流程描述文件时,每隔1秒遍历一遍流程执行文件中的算法节点。
实施例4
本实施例通过基于Web的分析流程构建模块,如图10和图11所示,来构建“电能消耗预测数据”和“工件质量符合率预测”两个分析流程,图10和11为两个通过系统构建的两个分析流程样例。平台所支持的所有算法(不管什么语言实现的)都罗列在界面左侧的树形菜单中,将树形菜单节点拖入工作区就会生成一个算法实例,工作区算法都用一个小方块可视化表示。算法与算法之间的输入输出关系通过他们之间的连线表示。图中的每一个算法自于不同的平台(如scikit-learn,matlab等),融合在一起完成整个数据分析流程。用户在左侧算法组件集中选择算法时,不需要手动指定单独某一个算法属于那个平台,由平台自动确定。
图12-14分别为上述分析流程中决策树回归算法的配置参数界面、反向代码生成后的代码编辑界面以及代码校验失败后的展示。
图15为上述流程下发到流程引擎执行,并得到各个算子执行成功的反馈界面。
本实施例就是本发明的界面化的实现。通过流程编辑界面来构建数据分析流程,如图10和11构建的分析流程;通过算法平台选择模块来选择算法基准运行平台,如图12展示的决策树回归算法,平台自动选择的是scikit-learn中的算法;通过代码反向生成模块来生成算法代码供用户编辑,如图13用户填写好算法关键参数后,平台生成基准平台scikit-learn中决策树回归算法的代码。
本发明通过流程化、可视化的算法配置解决数据分析的效率问题;通过多平台、自动化的算法选择,实现最优的平台算法筛选;通过反向代码模板生成,实现界面配置和用户修改相结合,提升算法使用的灵活性;通过分布式、跨平台的融合方法,实现各类型算法在全局分析流程中的无缝衔接。
Claims (10)
1.大数据分析算法库的构建系统,其特征在于,包括:分析流程构建模块,让用户可视化选择算法并将其首尾相接构建完整数据分析流程,并生成流程描述文件;算子平台选择模块,给分析流程构建模块构建的数据分析流程中的每一个算法选择基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中;代码反向生成模块,生成每一个算法在其基准运行环境下的算法代码,使用户可手动编辑;户代码校验模块,校验用户手动编辑过的算法代码是否符合规则,若符合则产生原生代码;集群控制主机,部署有流程执行引擎,流程执行引擎下发各算法原生代码到与其环境相匹配的集群计算主机;集群计算主机,接收流程执行引擎下发的原生代码,完成数据的读取与输入,代码的编译与运行,数据的输出与缓存。
2.根据权利要求1所述的大数据分析算法库的构建系统,其特征在于,所述集群计算主机包括多类,每类集群计算主机只部署一种基准运行环境,集群控制主机根据算法的基准运行环境选择对应的集群计算主机下发原生代码。
3.大数据分析算法库的构建方法,其特征在于,采用权利要求2所述的大数据分析算法库的构建系统,具体按照如下步骤实施:
步骤1,算法库初始囊括大数据分析中使用的各类算法;
步骤2,用户根据需求通过分析流程构建模块可视化编辑数据分析流程节点,形成数据分析流程,每个流程节点对应步骤1中的一个算法,生成流程描述文件;
步骤3,算子平台选择模块为本流程节点的算法选择合适的基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中;
步骤4,代码反向生成模块获取算法所在的基准运行环境中的代码模板,并结合用户界面输入的对应算法的参数的输入,反向生成算法代码并展示在界面上供用户编辑,获得用户编辑后的算法代码;
步骤5,用户代码校验模块校验用户手动编辑过的算法代码并是否符合规则,若符合则产生原生代码;
步骤6,流程执行引擎下发各算法原生代码到与其环境相匹配的集群计算主机,完成数据的读取与输入,代码的编译与运行,数据的输出与缓存。
4.根据权利要求3所述的大数据分析算法库的构建方法,其特征在于,所述步骤1中的每个算法来自于不同或相同的开源平台或自研平台且同一个算法在不同平台的实现过程都包含在算法库中;且每个算法在多个基准运行环境中的实现都有标准化的代码模板存储在本地Git代码库中;
步骤2中数据分析流程中第一个流程节点算法的输入为待分析的数据源,其余各个流程节点算法的输入为前一个或多个流程节点算法执行后的输出;流程构建模块生成的流程描述文件中包括流程节点中每一个算法的ID,以及数据分析流程中各个算法之间的输入输出端口连接关系。
5.根据权利要求4所述的大数据分析算法库的构建方法,其特征在于,所述步骤3中算子平台选择模块根据本流程节点算法输入数据规模、数据类型以及集群的硬件配置来选择合适的基准运行环境,并将每个算法对应的基准运行环境写入到流程描述文件中。
6.根据权利要求5所述的大数据分析算法库的构建方法,其特征在于,所述步骤4具体为:代码反向生成模块从本地Git代码库中获取算法所在的基准运行环境中的代码模板,并结合用户界面输入的对应算法的参数的输入,反向生成算法对应其基准运行环境的算法代码并展示在界面上供用户编辑,且每一个算法代码的命名与其在流程节点中的ID相同,用户编辑后获得用户编辑后的算法代码。
7.根据权利要求6所述的大数据分析算法库的构建方法,其特征在于,所述用户代码校验模块给每一个算法提供了标准的输入测试数据以及标准输出数据,将该标准的输入测试数据输入编辑后的算法代码,若输出数据的格式与标准的输出数据格式一致,则校验成功,则产生原生代码,即就是用户编辑后且经过效验的算法代码;若无法输出或格式不一致则校验失败。
8.根据权利要求7所述的大数据分析算法库的构建方法,其特征在于,所述步骤6具体为:
流程执行引擎解析流程描述文件,循环遍历每一个流程节点,判断其是否满足执行条件,将满足条件的流程节点的算法代码下发到其基准运行环境所匹配的集群计算主机中执行;
集群计算主机接收到流程执行引擎下发的代码后,读取代码片段,并判断本地环境是否已满足代码的执行条件,若不满足则下载该算法依赖的镜像包到本地,集群计算主机本地编译代码,并从HBase缓存数据库中根据数据分析流程设定的节点关系读取设定的输入数据,集群计算主机本地执行代码,并将最终的输出数据再写入HBase缓存数据库,将执行状态写入Redis缓存数据库。
9.根据权利要求8所述的大数据分析算法库的构建方法,其特征在于,所述步骤6中,针对每一个流程描述文件,流程执行引擎循环直到流程描述文件中所有的算法节点都执行成功,流程执行引擎通过读取Redis缓存数据库中集群计算主机写入的算法执行状态来判断每个算法是否执行成功,流程执行引擎通过读取HBase缓存数据库中算法节点写入的算法执行结果来获取每一个算法执行后的数据。
10.根据权利要求9所述的大数据分析算法库的构建方法,其特征在于,所述步骤6中流程执行引擎解析流程描述文件,每隔n秒遍历一遍流程执行文件中的算法节点,如果某个算法的前置接节点都已经执行成功,则本次遍历就会执行该算法,即就是将该流程节点的算法代码下发到其基准运行环境所匹配的集群计算主机中执行;如果某个算法存在前置节点尚未执行成功,则本次遍历不执行该算法,等待下次遍历再判断是否执行;如果流程中存在节点执行出错,则整个分析流程标记为出错状态,并结束遍历;如果流程中所有节点都执行成功,则整个分析流程标记为成功状态,并结束遍历。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410217261.2A CN118012387B (zh) | 2024-02-28 | 大数据分析算法库的构建系统及构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410217261.2A CN118012387B (zh) | 2024-02-28 | 大数据分析算法库的构建系统及构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118012387A true CN118012387A (zh) | 2024-05-10 |
CN118012387B CN118012387B (zh) | 2024-10-22 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190196672A1 (en) * | 2013-12-06 | 2019-06-27 | Biodatomics, LLC | Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same |
CN111208993A (zh) * | 2019-12-20 | 2020-05-29 | 北京航天测控技术有限公司 | 一种流程化数据分析处理系统 |
CN111414166A (zh) * | 2019-01-06 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 代码的生成方法、装置、设备及存储介质 |
US10841152B1 (en) * | 2017-12-18 | 2020-11-17 | Pivotal Software, Inc. | On-demand cluster creation and management |
CN114115857A (zh) * | 2021-10-29 | 2022-03-01 | 北京邮电大学 | 一种机器学习模型自动化生产线构建方法及系统 |
WO2023130837A1 (zh) * | 2022-01-10 | 2023-07-13 | 华南理工大学 | 面向科研应用的自动机器学习实现方法、平台及装置 |
WO2023231704A1 (zh) * | 2022-05-31 | 2023-12-07 | 京东方科技集团股份有限公司 | 算法运行方法、装置、设备、存储介质 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190196672A1 (en) * | 2013-12-06 | 2019-06-27 | Biodatomics, LLC | Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same |
US10841152B1 (en) * | 2017-12-18 | 2020-11-17 | Pivotal Software, Inc. | On-demand cluster creation and management |
CN111414166A (zh) * | 2019-01-06 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 代码的生成方法、装置、设备及存储介质 |
CN111208993A (zh) * | 2019-12-20 | 2020-05-29 | 北京航天测控技术有限公司 | 一种流程化数据分析处理系统 |
CN114115857A (zh) * | 2021-10-29 | 2022-03-01 | 北京邮电大学 | 一种机器学习模型自动化生产线构建方法及系统 |
WO2023130837A1 (zh) * | 2022-01-10 | 2023-07-13 | 华南理工大学 | 面向科研应用的自动机器学习实现方法、平台及装置 |
WO2023231704A1 (zh) * | 2022-05-31 | 2023-12-07 | 京东方科技集团股份有限公司 | 算法运行方法、装置、设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ciccozzi et al. | Blended modelling-what, why and how | |
CN103198009B (zh) | 一种通用测试方法、系统及相应装置 | |
JPWO2004025463A1 (ja) | 要件定義方法、ソフトウェアの開発方法、及び、要件単語の変更方法並びに新規規定方法 | |
Nordmann et al. | Lessons learned from model-based safety assessment with SysML and component fault trees | |
CN117806654B (zh) | 一种基于Tekton的自定义云原生DevOps流水线系统及方法 | |
CN117762404A (zh) | 用于数据挖掘的可配置算子处理方法及装置 | |
CN118012387B (zh) | 大数据分析算法库的构建系统及构建方法 | |
Russo et al. | Restructuring requirements specifications for managing inconsistency and change: A case study | |
CN111309378A (zh) | 一种机器学习模型生命周期管理系统及方法 | |
CN118012387A (zh) | 大数据分析算法库的构建系统及构建方法 | |
CN115964036A (zh) | 一种基于微服务架构的可视化服务编排系统 | |
Engelen | From napkin sketches to reliable software | |
Seybold et al. | Evolution of requirements models by simulation | |
JP2007122187A (ja) | プログラム・コード生成装置 | |
Bouaziz et al. | SysML model-driven approach to verify blocks compatibility | |
KR102046622B1 (ko) | 워크플로우 기반 소프트웨어 서비스 시스템 및 이 시스템의 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램 | |
Zameni et al. | An Intermediate Language to Integrate Behavior-Driven Development Scenarios and Model-Based Testing | |
Russo et al. | Restructuring requirements specifications | |
US20200042290A1 (en) | BOM (bill-of-material)-Based Structured Specification Generating Method | |
Mansurov et al. | Using Message Sequence Charts to accelerate maintenance of existing systems | |
Jilissen et al. | Formally Modelling the Rijkswaterstaat Tunnel Control Systems in a Constrained Industrial Environment | |
Pereira et al. | Development of self-diagnosis tests system using a DSL for creating new test suites for integration in a cyber-physical system | |
CN117908847B (zh) | 一种可编程式ai开发平台 | |
CN114755990B (zh) | 一种工业自动化产线低代码控制系统及其控制方法 | |
Duarte et al. | Towards a non-conformity detection method between conceptual and business process models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |