本发明专利技术公开了一种算法任务的自动化调度系统,包括客户端,用于提供可视化界面,以获取算法流程图;管理节点集群,用于对客户端上传的算法流程图并对算法流程图进行解析以得出每个算法任务的输入输出数据及执行顺序,并按照执行顺序依次将每个算法任务的输入输出数据下发给对应计算节点集群;以及接收计算节点集群反馈回的执行结果;计算节点集群,用于接收管理节点集群下发的对应算法任务的输入输出数据匹配对应算法引擎并通过对应算法引擎调用对应程序代码执行。本发明专利技术能够实现算法程序的自动调用,用户无需熟悉每个算法的程序代码即可快速完成任务的处理,具有操作方便等特点。本发明专利技术还公开了一种算法任务的自动化调度方法及存储介质。方法及存储介质。方法及存储介质。
【技术实现步骤摘要】
一种算法程序的自动化调度系统、方法及存储介质
[0001]本专利技术涉及一种算法调度,尤其涉及一种算法程序的自动化调度系统、方法及存储介质。
技术介绍
[0002]目前,对于一个完整的数据分析任务往往需要不同的算法程序来共同完成,比如,对于数据建模的作业项目,首先需要使用Spark对数据进行预处理,然后才能使用Pytorch或者MindSpore这类机器学习框架进行模型训练,同时可能还夹杂着一些自定义的可执行程序。工程人员在进行每一个算法任务时,需要熟悉各个算法任务的程序代码以及其输入输出数据的类型等,以解决不同的计算引擎之间的差异,同时,由于不同计算引擎之间的差异也会使得上述计算过程的操作更为复杂,使得数据分析的处理时长更长,不利于工程人员操作。
技术实现思路
[0003]为了克服现有技术的不足,本专利技术的目的之一在于提供一种算法任务的自动化调度系统,其能够解决现有的数据分析任务中需要工程人员熟悉每个算法任务的程序代码才能实现的问题以及由于不同算法的计算引擎之间的差异导致数据分析任务的操作更为复杂的问题。
[0004]本专利技术的目的之二在于提供一种算法任务的自动化调度方法,其能够解决现有的数据分析任务中需要工程人员熟悉每个算法任务的程序代码才能实现的问题以及由于不同算法的计算引擎之间的差异导致数据分析任务的操作更为复杂的问题。
[0005]本专利技术的目的之三在于提供一种存储介质,其能够解决现有的数据分析任务中需要工程人员熟悉每个算法任务的程序代码才能实现的问题以及由于不同算法的计算引擎之间的差异导致数据分析任务的操作更为复杂的问题。
[0006]本专利技术的目的之一采用如下技术方案实现:
[0007]一种算法任务的自动化调度系统,包括:
[0008]客户端,用于提供可视化界面,以获取用户构建的算法流程图;所述算法流程图包括一个作业项目的所有算法任务、每个算法任务的输入输出数据以及每个算法任务的执行顺序;
[0009]管理节点集群,与所述客户端通信连接,用于对所述客户端上传的算法流程图并对所述算法流程图进行解析以得出每个算法任务的输入输出数据及执行顺序,并按照执行顺序依次将每个算法任务的输入输出数据下发给对应计算节点集群;以及接收所述计算节点集群反馈回的执行结果;直到所有的算法任务执行完毕后得出作业项目的输出结果;
[0010]计算节点集群,与所述管理节点集群通信连接,用于接收所述管理节点集群下发的对应算法任务的输入输出数据匹配对应算法引擎并通过对应算法引擎调用对应程序代码执行。
[0011]进一步地,包括:所述算法流程图采用有向无环图的形式表示,并且有向无环图的节点表示每个算法任务。
[0012]进一步地,所述客户端提供的可视化界面包括组件区和操作区;其中,所述组件区,用于显示算法任务组件,每个算法任务组件均与算法库中的对应算法任务的程序代码相匹配;所述操作区,用于显示用户通过拖拽的方式从组件区选择的对应的算法任务组件所形成的有向无环图。
[0013]进一步地,所述管理节点集群包括主管理节点和备用管理节点;其中,所述主管理节点与客户端通信连接,用于获取所述客户端上传的算法流程图并对所述算法流程图进行解析,以及将解析得出的每个算法流程图的输入输出数据按照执行顺序存储于队列中;
[0014]所述备用管理节点,用于当所述主管理节点正常工作时,处于休眠状态,当所述主管理节点存在故障时,从休眠状态退出并替换所述主管理节点称为新的主管理节点;
[0015]所述备用管理节点有一个或多个,并且当所述备用管理节点有多个时,通过选举的方式从多个备用管理节点中选择一个备用管理节点替换存在故障的主管理节点。
[0016]进一步地,所述计算节点包括若干个计算节点;所述主管理节点,用于在按照执行顺序调用对应算法任务的输入输出数据后,对对应算法任务的输入输出数据进行分组,以及将分组后的输入输出数据下发给对应的计算节点;
[0017]所述主管理节点,还用于接收每个计算节点反馈回的执行结果并将若干个执行结果进行整合以得出对应算法任务的输出结果;
[0018]每个计算节点,还用于定时向所述主管理节点发送心跳连接,以使得所述主管理节点更新对应计算节点的可用状态。
[0019]本专利技术的目的之二采用如下技术方案实现:
[0020]一种算法任务的自动化调度方法,所述自动化调度方法包括:
[0021]获取步骤:获取算法流程图;所述算法流程图包括一个作业项目的所有算法任务、每个算法任务的输入输出数据以及每个算法任务的执行顺序;
[0022]处理步骤:对所述算法流程图进行解析以得出每个算法任务的输入输出数据和执行顺序,并按照执行顺序依次根据每个算法任务的输入输出数据匹配对应算法引擎并通过对应算法引擎调用对应程序代码执行;以及直到所有算法任务执行完毕后,得出作业项目的输出结果。
[0023]进一步地,所述处理步骤还包括:
[0024]解析步骤:对所述算法流程图进行解析以得出每个算法任务的输入输出数据和执行顺序;
[0025]存储步骤:按照执行顺序将每个算法任务的输入输出数据依次存储于队列中;
[0026]调用步骤:从队列中依次取出每个算法任务的输入输出数据,并将每个算法任务的输入输出数据分配对应的计算节点,从而使得所述计算节点匹配得出对应算法引擎并通过对应算法引擎调用对应程序代码执行;以及获取所述计算节点反馈回的执行结果得出对应算法任务的输出结果。
[0027]进一步地,所述调用步骤还包括:从队列中依次取出每个算法任务的输入输出数据后将对应算法任务的输入输出数据分组,并根据每组输入输出数据分配给对应的计算节点,以使得每个计算节点根据分配的输入输出数据从算法库中匹配得出对应算法程序并执
行,以及接收每个计算节点反馈的执行结果并整合后得出对应算法任务的输出结果。
[0028]进一步地,还包括:定时检测步骤:定时获取每个计算节点上传的运行状态并计时更新每个计算节点的可用状态。
[0029]本专利技术的目的之三采用如下技术方案实现:
[0030]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序为自动化调度程序,所述自动化调度程序被处理器执行时实现如本专利技术的目的之二采用的一种算法任务的自动化调度方法的步骤。
[0031]相比现有技术,本专利技术的有益效果在于:
[0032]本专利技术通过将算法进行封装形成组件的方式,并通过可视化界面显示给用户,以使得用户根据自身的需求构建算法流程图,然后根据算法流程图中每个算法任务的输入数据匹配得出对应算法引擎并调用对应程序代码以执行,无需用户熟悉各种算法的程序代码,实现程序的自动调度,操作简单、数据处理效率高等问题。
附图说明
[0033]图1为本专利技术提供的一种算法流程的自动化调度系统模块图;
[0034]图2为本专利技术给出的算法流程图采用有向无环图表示的示意图;
[0035]图3为本专利技术提供的包括两个任本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种算法任务的自动化调度系统,其特征在于,包括:客户端,用于提供可视化界面,以获取用户构建的算法流程图;所述算法流程图包括一个作业项目的所有算法任务、每个算法任务的输入输出数据以及每个算法任务的执行顺序;管理节点集群,与所述客户端通信连接,用于对所述客户端上传的算法流程图并对所述算法流程图进行解析以得出每个算法任务的输入输出数据及执行顺序,并按照执行顺序依次将每个算法任务的输入输出数据下发给对应计算节点集群;以及接收所述计算节点集群反馈回的执行结果;直到所有的算法任务执行完毕后得出作业项目的输出结果;计算节点集群,与所述管理节点集群通信连接,用于接收所述管理节点集群下发的对应算法任务的输入输出数据匹配对应算法引擎并通过对应算法引擎调用对应程序代码执行。2.根据权利要求1所述的算法任务的自动化调度系统,其特征在于,包括:所述算法流程图采用有向无环图的形式表示,并且有向无环图的节点表示每个算法任务。3.根据权利要求2所述的算法任务的自动化调度系统,其特征在于,所述客户端提供的可视化界面包括组件区和操作区;其中,所述组件区,用于显示算法任务组件,每个算法任务组件均与算法库中的对应算法任务的程序代码相匹配;所述操作区,用于显示用户通过拖拽的方式从组件区选择的对应的算法任务组件所形成的有向无环图。4.根据权利要求1所述的算法任务的自动化调度系统,其特征在于,所述管理节点集群包括主管理节点和备用管理节点;其中,所述主管理节点与客户端通信连接,用于获取所述客户端上传的算法流程图并对所述算法流程图进行解析,以及将解析得出的每个算法流程图的输入输出数据按照执行顺序存储于队列中;所述备用管理节点,用于当所述主管理节点正常工作时,处于休眠状态,当所述主管理节点存在故障时,从休眠状态退出并替换所述主管理节点称为新的主管理节点;所述备用管理节点有一个或多个,并且当所述备用管理节点有多个时,通过选举的方式从多个备用管理节点中选择一个备用管理节点替换存在故障的主管理节点。5.根据权利要求4所述的算法任务的自动化调度系统,其特征在于,所述计算节点包括若干个计算节点;所述主管理节点,用于在按照执行顺序调用对应算法任务的输入输出数据后,对对应算法任务的输入输出数据进行分组,以及将分组后的输入输出数据下...
【专利技术属性】
技术研发人员:陶超,林军,莫振浩,徐丹龙,钟金明,张倩斯,廖天兰,余子明,石运财,蔡卫国,
申请(专利权)人:广州南方智能技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。