一种基于分布式技术的算法封装方法

文档序号:1798196 发布日期:2021-11-05 浏览:2次 >En<

阅读说明:本技术 一种基于分布式技术的算法封装方法 (Algorithm packaging method based on distributed technology ) 是由 田园 保富 张航 于 2021-07-31 设计创作,主要内容包括:本发明公开了一种基于分布式技术的算法封装方法,包括以下步骤:任务输入:利用输入单元,输入需要执行的任务;任务解析:将输入的任务,解析成若干的学习计划;算法优化:将所述的学习计划,在主节点上进行算法优化,使其形成优化后的调度策略;任务执行:根据优化后的调度策略,寻找对应的从节点,启动执行器,进行任务分配调度;任务输出:将执行后的任务结果,经过算法优化步骤优化后,输出。本发明以分布式为基础,进而为海量数据的计算提供了基础支撑,然后利用优化算法的步骤,让用户避开了繁琐的算法选择过程。(The invention discloses an algorithm packaging method based on a distributed technology, which comprises the following steps: and (3) task input: inputting a task to be executed by using an input unit; task analysis: analyzing the input tasks into a plurality of learning plans; and (3) algorithm optimization: performing algorithm optimization on the learning plan on the main node to form an optimized scheduling strategy; and (3) task execution: according to the optimized scheduling strategy, searching a corresponding slave node, starting an actuator, and performing task allocation scheduling; and (4) task output: and (4) optimizing the executed task result through an algorithm optimization step, and outputting the result. The invention provides basic support for the calculation of mass data on the basis of distribution, and then avoids the fussy algorithm selection process by using the step of optimizing the algorithm.)

一种基于分布式技术的算法封装方法

技术领域

本发明属于分布式算法封装技术领域,尤其涉及一种基于分布式技术的算法封装方法。

背景技术

随着大数据时代的到来,电力行业相关数据的存储总量已达一定规模,若能从中挖掘有关知识,进而指导有关业务转型,将有助于行业快速发展。机器学习和统计知识则是把这些数据转换为知识的关键。但现有机器学习算法独立分散且用法相对复杂,同时模型也无法复用,这一定程度上造成了资源的冗余和浪费。为支撑电力行业的各类数据分析项目,建设快速灵活、简便易用、分布式以及可复用的企业模型构建工具,需要综合考虑算法封装方法以及分布式架构的设计与实现。

为建设快速灵活、简便易用、支持分布式以及可复用的分布式算法框架,需要充分考虑算法封装方法以及分布式架构的设计与实现,使其兼具实用性与易用性。本文提出了一种基于分布式的算法封装框架,该框架不仅能够支持分布式并行计算,同时融合了算法优化、参数择优以及数据采样等多种功能,能够满足电行业数据分析方向的基本需要。

发明内容

本发明的目的在于一种面向电力行业的基于分布式技术的算法封装方法,其通过将任务转换成学习计划,同时利用实时输入以及分布式的排布,使得算法封装更加优化。

为了实现上述技术效果,本发明通过以下技术方案予以实现。

一种基于分布式技术的算法封装方法,包括以下步骤:

任务输入:利用输入单元,输入需要执行的任务;

任务解析:将输入的任务,解析成若干的学习计划;

算法优化:将所述的学习计划,在主节点上进行算法优化,使其形成优化后的调度策略;

任务执行:根据优化后的调度策略,寻找对应的从节点,启动执行器,进行任务分配调度;

任务输出:将执行后的任务结果,经过算法优化步骤优化后,输出。

本技术方案中,相比于单纯的一系列任务的执行,而是将其分解成若干的学习计划,每个学习计划对应一定的程序,整个运算得以分解,计算起来更加快速便捷。

本技术方案中,将解析后的学习计划进行再次的优化,在这个过程中,优化器在后台尝试快速给用户返回一个优质的算法,让用户避开了繁琐的算法选择过程。

本技术方案中,基于主从模式和实时内存计算实现了分布式并行计算框架,为海量数据计算提供基础支撑。

作为本发明的进一步改进,所述任务输入具体为:用户通过输入单元,向客户端提交以应用程序的模式输入需要执行的任务,带动本机启动驱动器。

本技术方案中,以输入单元为切入点,然后通过应用程序的模式进入,进而能够对应启动驱动器,同时,输入单元输入的实时数据,为后续的数据采样提供了基础。

作为本发明的进一步改进,所述带动本机启动驱动器具体为:用户通过输入的用户代码和会话,使得本机驱动器启动。

本技术方案中,设有用户代码和会话,进而对应一定的用户,后续进行数据分析和保存时,大概会推断出每个用户一般需要执行的任务,以及需要启动的应用程序等。

作为本发明的进一步改进,所述任务解析为:利用解析器,将输入的任务解析成若干的学习计划,每个所述学习计划均包括执行对应学习计划需要的应用程序、所需执行器的数目以及对应的资源。

具体地,将学习任务解析成若干的学习计划,针对每个计划进行对应的算法,使得复杂问题简单化,而此时顺便选择了应用程序、所需执行器的数目以及对应的资源,为后续的进一步计划提供了基础。

作为本发明的进一步改进,所述学习计划以元数据、算法库以及统计量的方式,形成存储数据。

本技术方案中,存储数据的防水多样化,既有元数据,然后配合算法库,进行不同任务或学习计划的算法,即每种任务对应有一定的算法,直接调出算法即可进行运算。

作为本发明的进一步改进,还包括算法的更新和添加,所述算法的更新和添加,具体为:通过算法库,更新原有的算法,或增加新的算法。

本技术方案中,增加算法的更新和添加,一旦发现更简单或者效率更高的算法时,可以进行替换更新,旧的进行摒弃,节省空间;而对于新的应用程序等的加入时,必然会带来新的算法,以适应新的任务等。

作为本发明的进一步改进,所述算法优化,具体包括以下步骤:

1)读取数据:读取学习计划中的存储数据;

2)采样:在存储数据中,选取一部分作为样本数据;

3)标准化:将样本数据件标准化处理;

4)初始化检验方法:利用标准化的样本,根据选取的调度策略,进行初始化检验;

5)交叉检验:初始化检验后的样本,利用交叉检验,再次检验,并保留检验通过靠前的样本数据。

6)训练模型:选取存储数据中的一部分作为训练集,在训练模型中进行训练;

7)最终模型:根据特征标签,选取符合特征标签的训练模型作为最终模型。

本技术方案中,优化步骤中,通过模型的优化,进而选取最优的最终模型作为调度策略,得到的模型相比于之前的,效果更好,避开了繁琐的算法选择过程,得到了优质的算法。

作为本发明的进一步改进,所述算法优化,所述特征标签包括最常见标签、最近邻标签和误分类率标签。

本技术方案中,选用多个特征标签,进而能够尽量使得优化后的模型,精准度相对比较高,而特征标签的角度不同,能够最大化的避免一些误差,提高精度。

作为本发明的进一步改进,所述算法优化,所述任务执行具体为:根据优化后的调度策略,寻找对应的从节点,启动执行器,将执行器与本机驱动器建立连接,通过执行器分配并调度任务,至所有任务完成。

本技术方案中,将执行器和本机驱动器建立连接,此时使得本来不与客户端以及主节点管理联系的执行器,经驱动器运行在集群中的从节点上,与主节点有一定的关联,后续执行时,受主节点的管理。

作为本发明的进一步改进,所述任务输出步骤具体为:将执行后的任务结果,进行算法优化后再输出,同时,根据算法优化步骤的调度策略,进行输入和/或输出中的参数择优。

本技术方案中,在任务输出时,能够使得输出结构被优化,结果精准度更高了,同时结合计划执行中的优化,进行参数的择优选择,淘汰不太合适的参数,更新更优选,更有用的参数,为后续任务的再次执行,打好基础。

附图说明

图1为本发明提供的一种基于分布式技术的算法封装方法的流程图;

图2为本发明提供的算法优化步骤的流程图;

图3为本发明提供的实施例4中的算法封装框架的结构图;

图4为本发明提供的实施例4中的算法封装方法的原理流程图;

图5为本发明提供的实施例4中的算法优化步骤的流程图;

图6为本发明提供的实施例4中算法封装框架的原理图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步详细的说明。

实施例1

本实施例,主要介绍大概一种基于分布式技术的算法封装方法的流程。

参照附图1所示,一种基于分布式技术的算法封装方法,包括以下步骤:

任务输入:利用输入单元,输入需要执行的任务;

任务解析:将输入的任务,解析成若干的学习计划;

算法优化:将所述的学习计划,在主节点上进行算法优化,使其形成优化后的调度策略;

任务执行:根据优化后的调度策略,寻找对应的从节点,启动执行器,进行任务分配调度;

任务输出:将执行后的任务结果,经过算法优化步骤优化后,输出。

本实施例中,相比于单纯的一系列任务的执行,而是将其分解成若干的学习计划,每个学习计划对应一定的程序,整个运算得以分解,计算起来更加快速便捷。

本实施例中,将解析后的学习计划进行再次的优化,在这个过程中,优化器在后台尝试快速给用户返回一个优质的算法,让用户避开了繁琐的算法选择过程。

本实施例中,基于主从模式和实时内存计算实现了分布式并行计算框架,为海量数据计算提供基础支撑。

实施例2

本实施例中,主要介绍任务输入和任务解析。

进一步地,所述任务输入具体为:用户通过输入单元,向客户端提交以应用程序的模式输入需要执行的任务,带动本机启动驱动器。

本实施例中,以输入单元为切入点,然后通过应用程序的模式进入,进而能够对应启动驱动器,同时,输入单元输入的实时数据,为后续的数据采样提供了基础。

具体地,所述带动本机启动驱动器具体为:用户通过输入的用户代码和会话,使得本机驱动器启动。

本实施例中,设有用户代码和会话,进而对应一定的用户,后续进行数据分析和保存时,大概会推断出每个用户一般需要执行的任务,以及需要启动的应用程序等。

在任务解析时,所述任务解析为:利用解析器,将输入的任务解析成若干的学习计划,每个所述学习计划均包括执行对应学习计划需要的应用程序、所需执行器的数目以及对应的资源。

本实施例中,将学习任务解析成若干的学习计划,针对每个计划进行对应的算法,使得复杂问题简单化,而此时顺便选择了应用程序、所需执行器的数目以及对应的资源,为后续的进一步计划提供了基础。

存储时,所述学习计划以元数据、算法库以及统计量的方式,形成存储数据。

本实施例中,存储数据的防水多样化,既有元数据,然后配合算法库,进行不同任务或学习计划的算法,即每种任务对应有一定的算法,直接调出算法即可进行运算。

为了便于后续计算,还包括算法的更新和添加,所述算法的更新和添加,具体为:通过算法库,更新原有的算法,或增加新的算法。

本实施例中,增加算法的更新和添加,一旦发现更简单或者效率更高的算法时,可以进行替换更新,旧的进行摒弃,节省空间;而对于新的应用程序等的加入时,必然会带来新的算法,以适应新的任务等。

实施例3

本实施例中,主要介绍算法优化流程以及其他。

参照附图2所示,所述算法优化,具体包括以下步骤:

1)读取数据:读取学习计划中的存储数据;

2)采样:在存储数据中,选取一部分作为样本数据;

3)标准化:将样本数据件标准化处理;

3)初始化检验方法:利用标准化的样本,根据选取的调度策略,进行初始化检验;

5)交叉检验:初始化检验后的样本,利用交叉检验,再次检验,并保留检验通过靠前的样本数据。

6)训练模型:选取存储数据中的一部分作为训练集,在训练模型中进行训练;

7)最终模型:根据特征标签,选取符合特征标签的训练模型作为最终模型。

本实施例中,优化步骤中,通过模型的优化,进而选取最优的最终模型作为调度策略,得到的模型相比于之前的,效果更好,避开了繁琐的算法选择过程,得到了优质的算法。

具体地,所述算法优化,所述特征标签包括最常见标签、最近邻标签和误分类率标签。

本实施例中,选用多个特征标签,进而能够尽量使得优化后的模型,精准度相对比较高,而特征标签的角度不同,能够最大化的避免一些误差,提高精度。

进一步地,所述算法优化,所述任务执行具体为:根据优化后的调度策略,寻找对应的从节点,启动执行器,将执行器与本机驱动器建立连接,通过执行器分配并调度任务,至所有任务完成。

本实施例中,将执行器和本机驱动器建立连接,此时使得本来不与客户端以及主节点管理联系的执行器,经驱动器运行在集群中的从节点上,与主节点有一定的关联,后续执行时,受主节点的管理。

输出时,所述任务输出步骤具体为:将执行后的任务结果,进行算法优化后再输出,同时,根据算法优化步骤的调度策略,进行输入和/或输出中的参数择优。

本实施例中,在任务输出时,能够使得输出结构被优化,结果精准度更高了,同时结合计划执行中的优化,进行参数的择优选择,淘汰不太合适的参数,更新更优选,更有用的参数,为后续任务的再次执行,打好基础。

实施例4

本实施例,以具体应用为例进行介绍。

根据电力行业对于数据分析的需求及特点,本发明提出了一种面向行业的分布式算法封装框架。该框架具有轻便、智能、可扩容以及支持并行化等特点。涉及的主要内容如下:第一,基于主从模式和实时内存计算实现了分布式并行计算框架,为海量数据计算提供基础支撑;第二,通过设计优化器,把声明式机器学习任务转换成精密的学习计划。在这个过程中,优化器在后台尝试快速给用户返回一个优质的算法,让用户避开了繁琐的算法选择过程。本发明展示了在分布式架构基础上优化器的强大潜力,为非专业开发人员进行数据分析提供了较好的帮助

执行器运行在客户端,不受主节点的管理和约束。执行器则不同,它运行在集群中的从节点上,因此会受到主节点的管理和约束。一个分布式应用程序在集群中的流程如下:

(1)用户向客户端提交应用程序,本机启动驱动器。

(2)客户端向集群提交应用程序、所需执行器的数目及相应资源。

(3)主结点收到请求,根据合适的调度策略,寻找从结点并启动执行器。

(4)执行器与驱动器建立连接。

(5)执行器分配并调度任务。

(6)所有任务运行完毕,应用程序退出。

本实施例中,执行器运行在客户端,因此不受主节点的管理和约束。而分布式的技术,使得执行器运行在集群中的从节点上,因此会受到主节点的管理和约束。

本实施例中,主要是在群集管理器中,通过群集管理器,用户利用回话窗口以及用户代码,选择对应的执行器。

本发明中,分布式算法封装大致的流程为:首先,进行分布式并行计算,即主从节点配合的方式;其次,算法优化,利用优化器,在计划阶段,将每个计划进行优化,减少运算量;再次,数据采样,这一过程主要是从存储器重调取已有数据,以及现有的实时数据;最后,进行参数择优,实现整个算法以及参数等的优化;再最后,重复回到分布式并行计算中,形成闭环的循环结构,以实现多次的反复利用和更新。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:自动化构建及发布的小程序工程化方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!