一种基于建模平台模型运行流程调度方法与流程

文档序号:20009193发布日期:2020-02-22 03:54阅读:530来源:国知局
一种基于建模平台模型运行流程调度方法与流程

本发明涉及建模平台技术领域,特别涉及一种基于建模平台模型运行流程调度方法。



背景技术:

随着业务的发展,支持的各类算法不断增多,整个机器学习任务流程越来越复杂,各任务之间的依赖关系复杂度不断提升,以前的调度方式已无法满足复杂调度场景的业务需求。



技术实现要素:

本发明的目的旨在至少解决所述技术缺陷之一。

为此,本发明的目的在于提出一种基于建模平台模型运行流程调度方法。

为了实现上述目的,本发明的实施例提供一种基于建模平台模型运行流程调度方法,包括如下步骤:

步骤s1,接收机器学习平台发送来的用于定义dag的json文件,并将所述json文件传输到dag调度平台;

步骤s2,由dag调度平台解析所述json文件,转换为结构化数据存储到mysql数据库中;

步骤s3,dag调度平台调用所述json文件,开始调度dag定义各个算子任务,在根据各个算子任务的算子类型,将所述算子任务分发道相应的环境进行执行。

进一步,所述dag调度平台包括:图引擎dagengine、算子执行引擎opertorengine和执行器executer。

进一步,所述图引擎用于解析传入的json文件,根据json的配置生成算子的出入参数以及运行配置信息保存到mysql数据库,同时负责任务的调用。

进一步,所述json文件用于定义各个算子的出入参数和算子的配置参数。

进一步,在所述步骤s3中,所述算子任务包括:数据读取、数据预处理、特征抽取、特征筛选、模型训练、模型预测、模型评估和模型部署。

进一步,所述图引擎用于对当前算子任务,采用广度优先遍历获取所有需要执行的算子信息;轮询所有算子,判断上算子是否全部执行完成,执行完成开始执行当前算子;发送请求到算子执行引擎开始执行当前算子任务。

进一步,所述算子执行引擎用于接收图引擎发送的请求;调取对应的算子代码片段;根据不同类型任务调用不同的执行器。

进一步,所述算子执行引擎还用于将执行器的任务执行的最终状态写入到redis数据库中,由图引擎监听redis数据库状态变化,并将状态实时传回到机器学习平台的web界面。

进一步,所述算子执行引擎还用于提供统一的启停接口、日志查询接口和任务状态查询接口。

进一步,所述执行器包括:本体执行器、分布式计算平台执行器和执行器接口,其中,

所述本体执行器用于执行单机的python任务,执行单机文件方式的机器学习算法。当没有大数据平台的时候,只能通过本地执行器执行dag;

所述分布式计算平台执行器用于将python算法发送至大数据计算平台,使用大数据平台资源运行算子;

所述执行器接口用于为后续的执行器实现需要实现这个基类,提供拓展接口。

根据本发明实施例的基于建模平台模型运行流程调度方法,将现有的调度方式进行升级改造。由此一个基于机器学习的dag调度策略随之而出,该策略描述了一种基于有向无环图(dag)的任务调度方案,将整个计算任务分解成为一个dag图,根据dag图计算出每个子任务的最早开始时间,然后根据每个子任务的最早开始时间和处理机的数量进行调度,以此达到dag图限制下的最优调度。本发明可以查问题,查询历史,统计分析,监控报警。一种基于建模平台微服务模型运行流程调度设计,用于排查问题,查询历史,统计分析,监控报警。

本发明实施例的基于建模平台模型运行流程调度方法,可以降低业务代码和调度代码的耦合性;支持分布式任务调度,解决了复杂调度下单机性能瓶颈;dag因能反映任务间的依赖及时序关系,在任务选择阶段准确赋予任务优先级,而有效的提高了调度的性能。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的基于建模平台模型运行流程调度方法的流程图;

图2为根据本发明实施例的基于建模平台模型运行流程调度方法的架构图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

如图1和图2所示,本发明实施例的基于建模平台模型运行流程调度方法,包括如下步骤:

步骤s1,接收机器学习平台发送来的用于定义dag的json文件,并将json文件传输到dag调度平台。

具体的,将机器学习的流程装成一个dag,定义各个算子的出入参,以及算子的配置参数,组装成一个json文件,发送给dag调度平台。

步骤s2,由dag调度平台解析json文件,转换为结构化数据存储到mysql数据库中。

步骤s3,dag调度平台调用json文件,开始调度dag定义各个算子任务,在根据各个算子任务的算子类型,将算子任务分发道相应的环境进行执行。

在本发明的实施例中,算子任务包括:数据读取、数据预处理、特征抽取、特征筛选、模型训练、模型预测、模型评估和模型部署。其中,本发明将模型部署作为一个单独的项目,不包含在dag结构中。

具体的,dag调度平台包括:图引擎dagengine、算子执行引擎opertorengine和执行器executer。

图引擎用于解析传入的json文件,根据json的配置生成算子的出入参数以及运行配置信息保存到mysql数据库,同时负责任务的调用。

在本发明的实施例中,json文件用于定义各个算子的出入参数和算子的配置参数。

需要说明的是,json格式必须为可以正确解析的json格式,参考下属。json格式是一种轻量级的数据交换格式。语法简洁、结构清晰,易于阅读和编辑,网络传输速度快。

图引擎dagengine用于对当前算子任务,采用广度优先遍历获取所有需要执行的算子(节点)信息;轮询所有算子(节点),判断上算子(节点)是否全部执行完成,执行完成开始执行当前算子(节点);发送请求到operatorengine开始执行当前算子(节点)任务。

图引擎对应服务端微服务项目(java项目):gai-service-sidecar-client,实现逻辑为:

(1)当前节点,采用广度优先遍历获取所有需要执行的算子(节点)信息,机器学习的dag中各个节点即为算子,在算子执行引擎中称为算子任务,算子背后是python实现的一些算法组件

(2)轮询所有算子(节点),判断上算子(节点)是否全部执行完成,执行完成开始执行当前算子(节点)。

(3)发送请求到operatorengine开始执行当前算子(节点)任务。

算子执行引擎opertorengine用于接收图引擎发送的请求;调取对应的算子代码片段;根据不同类型任务调用不同的执行器;将执行器的任务执行的最终状态写入到redis数据库中,由图引擎监听redis数据库状态变化,并将状态实时传回到机器学习平台的web界面。此外,算子执行引擎还用于提供统一的启停接口、日志查询接口和任务状态查询接口。

执行器对应服务端微服务项目(nodejs+jupyter):gai-service-sidecar-server,实现逻辑为:

(1)接收dagengine发送的请求,解析参数,选择需要执行算子的环境kernel。

(2)调取对应的算子代码片段,根据选择的kernel连接所对应的

(3)jupyter平台,将代码片段传入jupyter,并开启一个任务。

(4)kernel根据不同任务类型调用不同executor,executor任务执行的最终状态(开始、忙碌、完成、失败)写入到redis中,dagengine监听redis状态变化,并将状态通过ws实时传回到web界面。

执行器执行数据预处理、特征工程、机器学习算法,实现逻辑为:

executor接收任务,并提交spark任务到yarn队列中。

python、spark离线执行对应的算子,并将产生的数据存储到hdfs中,运行的状态写入到redis中。

具体的,执行器opertorengine包括:本体执行器localexecutor、分布式计算平台执行器dcexecutor和执行器接口baseexecutor。

本体执行器用于执行单机的python任务,执行单机文件方式的机器学习算法。当没有大数据平台的时候,只能通过本地执行器执行dag;

分布式计算平台执行器用于将python算法发送至大数据计算平台,使用大数据平台资源运行算子;

执行器接口用于为后续的执行器实现需要实现这个基类,提供拓展接口。

根据本发明实施例的基于建模平台模型运行流程调度方法,将现有的调度方式进行升级改造。由此一个基于机器学习的dag调度策略随之而出,该策略描述了一种基于有向无环图(dag)的任务调度方案,将整个计算任务分解成为一个dag图,采用图引擎dagenginee可以根据dag图计算出每个子任务的最早开始时间,然后根据每个子任务的最早开始时间和处理机的数量进行调度,以此达到dag图限制下的最优调度。本发明可以查问题,查询历史,统计分析,监控报警。一种基于建模平台微服务模型运行流程调度设计,用于排查问题,查询历史,统计分析,监控报警。

本发明实施例的基于建模平台模型运行流程调度方法,可以降低业务代码和调度代码的耦合性;支持分布式任务调度,解决了复杂调度下单机性能瓶颈;dag因能反映任务间的依赖及时序关系,在任务选择阶段准确赋予任务优先级,而有效的提高了调度的性能。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求及其等同限定。

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