任务执行方法、装置及计算机存储介质制造方法及图纸

技术编号:28538284 阅读:16 留言:0更新日期:2021-05-21 09:02
本申请公开了一种任务执行方法,属于信息技术领域。本申请通过机器学习平台上部署的调度引擎接收待处理的DAG任务后,对于该DAG任务包含的多个组件中的任一组件,调度引擎从多个执行引擎中选择加载有该任一组件对应的机器学习框架的执行引擎,指示该选择的执行引擎基于加载的机器学习框架执行该任一组件。由于多个执行引擎中存在至少两个执行引擎加载的机器学习框架不同,因此DAG任务中可以包含需要使用不同机器学习框架的组件,也即是,机器学习平台可以用于处理需要使用混合机器学习框架的复杂任务。这样对于DAG任务中包含的不同组件,调度引擎可以调用加载有不同机器学习框架的执行引擎加以完成,提高了机器学习平台的泛用性。

【技术实现步骤摘要】
任务执行方法、装置及计算机存储介质
本申请涉及信息
,特别涉及一种任务执行方法、装置及计算机存储介质。
技术介绍
随着大数据时代的到来以及人工智能的不断发展,机器学习平台上可以部署机器学习框架,以通过部署的机器学习框架来执行一些任务。其中,机器学习框架可以包括针对小范围数据场景的传统的机器学习框架(ScikitLearn),还可以包括针对大范围数据场景的分布式并行计算框架(SparkMllib)等。相关技术中,对于任一机器学习平台,该机器学习平台上部署一种机器学习框架。当接收到任务时,确定部署的机器学习框架能否用于处理该任务,如果能,则基于该机器学习框架执行该任务。如果不能,则反馈执行失败消息。上述方法中机器学习平台只能用于执行部署的机器学习框架能够处理的任务,也即是,如果机器学习平台上部署的机器学习框架发生了变化,机器学习平台能够执行的任务也发生了变化,从而严重影响了机器学习平台的应用灵活性。
技术实现思路
本申请实施例提供了一种任务执行方法、装置及计算机存,可以提高机器学习平台的泛用性。所述技术方案如下:一方面,提供了一种任务执行方法,所述方法包括:所述调度引擎接收待处理的DAG(directedacyclicgraph,有向无环图)任务,所述DAG任务包括多个组件和执行顺序指示信息,所述执行顺序指示信息用于指示所述多个组件的执行顺序,所述多个组件中每个组件用于指示一个数据处理子任务,每个组件对应一个机器学习框架;当按照所述执行顺序指示信息执行至任一组件时,所述调度引擎从所述多个执行引擎中选择加载有所述任一组件对应的机器学习框架的执行引擎;所述调度引擎将所述任一组件下发至选择的执行引擎,用于指示所述选择的执行引擎基于加载的机器学习框架执行所述任一组件,以执行所述任一组件对应的数据处理子任务。可选的,所述调度引擎将所述任一组件下发至选择的执行引擎之后,还包括:向所述选择的执行引擎发送组件运行消息,所述组件运行消息携带所述任一组件对应的输入数据的标识,所述任一组件对应的输入数据是指基于所述任一组件对应的机器学习框架执行所述任一组件时所需的数据。可选的,所述组件运行消息还携带有所述任一组件对应的模型的标识,所述任一组件对应的模型是指基于所述任一组件对应的机器学习框架执行所述任一组件时所需的模型。可选的,所述组件运行消息还携带有所述任一组件的类型,用于指示所述选择的执行引擎在所述组件运行消息没有携带所述任一组件对应的模型的标识,且所述任一组件类型和上一个已执行的组件的类型一致时根据所述上一个已执行的组件对应的模型执行所述任一组件。可选的,所述组件运行消息还携带第一运行模式或第二运行模式,所述第一运行模式用于指示所述选择的执行引擎缓存执行所述任一组件时的输出数据,所述第二运行模式用于指示所述选择的执行引擎不缓存执行所述任一组件时的输出数据。可选的,所述向所述选择的执行引擎发送组件运行消息之后,还包括:接收所述选择的执行引擎发送的组件执行完毕消息,所述组件执行完毕消息携带所述任一组件的标识、所述任一组件的执行结果、执行所述任一组件时输出数据的标识。可选的,所述接收所述选择的执行引擎发送的组件执行完毕消息之后,还包括:如果所述组件执行完毕消息携带的执行结果为成功,则将所述任一组件的输出状态更新为执行完毕;检查所述DAG任务包括的所有组件的输出状态,如果所述所有组件的输出状态均为执行完毕,则向所述多个执行引擎中的每个执行引擎发送停止执行器消息,用于指示每个执行引擎停止运行。可选的,所述接收所述选择的执行引擎发送的组件执行完毕消息之后,还包括:如果所述组件执行完毕消息携带的执行结果为失败,则向所述多个执行引擎中的每个执行引擎发送停止执行器消息,用于指示每个执行引擎停止运行。可选的,所述方法还包括:接收终止任务消息;向所述多个执行引擎中的每个执行引擎发送停止执行器消息,用于指示每个执行引擎停止运行。可选的,所述向所述多个执行引擎中的每个执行引擎发送停止执行器消息之后,还包括:接收每个执行引擎发送的执行器已关闭消息;将每个执行引擎的状态更新为关闭状态;在检查出所有执行引擎的状态均已更新为关闭状态时,将所述DAG任务的状态更新为结束。可选的,所述方法还包括:接收所述多个执行引擎中任一执行引擎发送的执行器注册消息,用于指示所述调度引擎基于所述执行注册消息与所述任一执行引擎进行通信。另一方面,提供了一种任务执行装置,所述装置包括:接收模块,用于所述调度引擎接收待处理的有向无环图DAG任务,所述DAG任务包括多个组件和执行顺序指示信息,所述执行顺序指示信息用于指示所述多个组件的执行顺序,所述多个组件中每个组件用于指示一个数据处理子任务,每个组件对应一个机器学习框架;选择模块,用于当按照所述执行顺序指示信息执行至任一组件时,所述调度引擎从所述多个执行引擎中选择加载有所述任一组件对应的机器学习框架的执行引擎;下发模块,用于所述调度引擎将所述任一组件下发至选择的执行引擎,用于指示所述选择的执行引擎基于加载的机器学习框架执行所述任一组件,以执行所述任一组件对应的数据处理子任务。可选的,所述装置还包括:第一发送模块,用于向所述选择的执行引擎发送组件运行消息,所述组件运行消息携带所述任一组件对应的输入数据的标识,所述任一组件对应的输入数据是指基于所述任一组件对应的机器学习框架执行所述任一组件时所需的数据。可选的,所述组件运行消息还携带有所述任一组件对应的模型的标识,所述任一组件对应的模型是指基于所述任一组件对应的机器学习框架执行所述任一组件时所需的模型。可选的,所述组件运行消息还携带有所述任一组件的类型,用于指示所述选择的执行引擎在所述组件运行消息没有携带所述任一组件对应的模型的标识,且所述任一组件的类型和上一个已执行的组件的类型一致时根据所述上一个已执行的组件对应的模型执行所述任一组件。可选的,所述组件运行消息还携带第一运行模式或第二运行模式,所述第一运行模式用于指示所述选择的执行引擎缓存执行所述任一组件时的输出数据,所述第二运行模式用于指示所述选择的执行引擎不缓存执行所述任一组件时的输出数据。可选的,所述装置还包括:第一接收模块,用于接收所述选择的执行引擎发送的组件执行完毕消息,所述组件执行完毕消息携带所述任一组件的标识、所述任一组件的执行结果、执行所述任一组件时输出数据的标识。可选的,所述装置还包括:第一更新模块,用于如果所述组件执行完毕消息携带的执行结果为成功,则将所述任一组件的输出状态更新为执行完毕;检查模块,用于检查所述DAG任务包括的所有组件的输出状态,如果所述所有组件的输出状态均为执行完毕,则向所述多个执行引擎中的每个执行引擎发送停止执行器消息,用于指示每个执行引擎停止运行。可选的,所述装置还包括:第二发送本文档来自技高网...

【技术保护点】
1.一种任务执行方法,其特征在于,机器学习平台上部署有一个调度引擎和多个执行引擎,每个执行引擎加载有一个机器学习框架,且所述多个执行引擎中的至少两个执行引擎加载的机器学习框架不同;所述方法包括:/n所述调度引擎接收待处理的有向无环图DAG任务,所述DAG任务包括多个组件和执行顺序指示信息,所述执行顺序指示信息用于指示所述多个组件的执行顺序,所述多个组件中每个组件用于指示一个数据处理子任务,每个组件对应一个机器学习框架;/n当按照所述执行顺序指示信息执行至任一组件时,所述调度引擎从所述多个执行引擎中选择加载有所述任一组件对应的机器学习框架的执行引擎;/n所述调度引擎将所述任一组件下发至选择的执行引擎,用于指示所述选择的执行引擎基于加载的机器学习框架执行所述任一组件,以执行所述任一组件对应的数据处理子任务。/n

【技术特征摘要】
1.一种任务执行方法,其特征在于,机器学习平台上部署有一个调度引擎和多个执行引擎,每个执行引擎加载有一个机器学习框架,且所述多个执行引擎中的至少两个执行引擎加载的机器学习框架不同;所述方法包括:
所述调度引擎接收待处理的有向无环图DAG任务,所述DAG任务包括多个组件和执行顺序指示信息,所述执行顺序指示信息用于指示所述多个组件的执行顺序,所述多个组件中每个组件用于指示一个数据处理子任务,每个组件对应一个机器学习框架;
当按照所述执行顺序指示信息执行至任一组件时,所述调度引擎从所述多个执行引擎中选择加载有所述任一组件对应的机器学习框架的执行引擎;
所述调度引擎将所述任一组件下发至选择的执行引擎,用于指示所述选择的执行引擎基于加载的机器学习框架执行所述任一组件,以执行所述任一组件对应的数据处理子任务。


2.如权利要求1所述的方法,其特征在于,所述调度引擎将所述任一组件下发至选择的执行引擎之后,还包括:
向所述选择的执行引擎发送组件运行消息,所述组件运行消息携带所述任一组件对应的输入数据的标识,所述任一组件对应的输入数据是指基于所述任一组件对应的机器学习框架执行所述任一组件时所需的数据。


3.如权利要求2所述的方法,其特征在于,所述组件运行消息还携带有所述任一组件对应的模型的标识,所述任一组件对应的模型是指基于所述任一组件对应的机器学习框架执行所述任一组件时所需的模型。


4.如权利要求2所述的方法,其特征在于,所述组件运行消息还携带有所述任一组件的类型,用于指示所述选择的执行引擎在所述组件运行消息没有携带所述任一组件对应的模型的标识,且所述任一组件的类型和上一个已执行的组件的类型一致时根据所述上一个已执行的组件对应的模型执行所述任一组件。


5.如权利要求2所述的方法,其特征在于,所述组件运行消息还携带第一运行模式或第二运行模式,所述第一运行模式用于指示所述选择的执行引擎缓存执行所述任一组件时的输出数据,所述第二运行模式用于指示所述选择的执行引擎不缓存执行所述任一组件时的输出数据。


6.如权利要求2所述的方法,其特征在于,所述向所述选择的执行引擎发送组件运行消息之后,还包括:
接收所述选择的执行引擎发送的组件执行完毕消息,所述组件执行完毕消息携带所述任一组件的标识、所述任一组件的执行结果、执行所述任一组件时输出数据的标识。


7.如权利要求6所述的方法,其特征在于,所述接收所述选择的执行引擎发送的组件执行完毕消息之后,还包括:
如果所述组件执行完毕消息携带的执行结果为成功,则将所述任一组件的输出状态更新为执行完毕;
检查所述DAG任务包括的所有组件的输出状态,如果所述所有组件的输出状态均为执行完毕,则向所述多个执行引擎中的每个执行引擎发送停止执行器消息,用于指示每个执行引擎停止运行。

【专利技术属性】
技术研发人员:侯俊雄姜伟浩
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1