System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于多种计算引擎治理的优化方法和装置制造方法及图纸_技高网

一种基于多种计算引擎治理的优化方法和装置制造方法及图纸

技术编号:40594902 阅读:4 留言:0更新日期:2024-03-12 21:57
本发明专利技术涉及大数据处理技术领域,特别是一种基于多种计算引擎治理的优化方法和装置。架构简单,所以部署简单且易于维护,服务端和客户端本身都不存储任何数据,数据都放到数据库上进行维护,因此服务端和客户端服务都可以水平伸缩,不依赖任何中间件。DAG对任务流程进行组织,可以将大的DAG拆分为子DAG,拆分可以通过策略均衡子DAG的任务大小,也可以通过将相同的执行引擎任务聚合到一个子DAG中,拆分灵活易于根据业务需求聚合任务。任务管理通过结合资源管理提供的资源信息,提供了任务和客户端进行动态绑定的可能,任务即可以通过轮询客户端服务列表来达到负载均衡,也可以通过资源利用率低优先策略配置分摊更多任务,提供更多的灵活策略来适应业务变化。

【技术实现步骤摘要】

本专利技术涉及大数据处理,特别是一种基于多种计算引擎治理的优化方法和装置


技术介绍

1、随着计算技术的不断发展,出现了各种类型的计算引擎,如mapreduce,spark、flink、tensorflow、pytorch、trino等,被广泛应用于大数据数据处理、机器学习和科学计算、数据分析等领域。在一些通用的大数据平台上为了满足不同使用场景,系统适配了多种不同的计算引擎。在一个平台中同时使用多个计算引擎带来了引擎的管理和协调功能挑战。市面上使用多引擎的方式有三种,一种是直接对接底层计算引擎来使用,这种方式简单直接,但是如果平台其它子系统需要使用又需要单独开发对接计算引擎,最耗费资源;另外一种方式是提供一个公共能力服务包装多引擎的连接方式,部署的时候可以单节点和多节点部署,这样的方式能够减少重复开发的目的,节省资源并减少了单点故障,但是这样的方式也带来了某个节点可能出现热点的问题;第三种方式是解决了热点问题,但是引入了诸如物料管理、资源管理、公共管理等多个功能模块,系统功能庞大复杂,不够轻量级,部署维护不方便;所以围绕着多计算引擎的接入、避免热点节点提高资源利用率、架构简化等问题,提出一种专注于管理、协调多计算引擎和轻量化部署的系统优化的装置。


技术实现思路

1、本专利技术涉及一种基于多种计算引擎治理的优化方法,用于有效地管理和协调不同类型的计算引擎,以提高整体系统性能、资源利用率和数据处理效率。实现了对多种计算引擎的智能编排、调度、监控和资源分配,创建一个有序、高效、维护简易的计算环境,使组织能够充分利用不同计算引擎的优势,实现业务目标。

2、一种基于多种计算引擎治理的优化方法,包括如下步骤:

3、步骤1,服务端通过接口获取输入的多引擎任务配置流程,该规范的信息格式样例参考中的json格式进行传输,记录了流程的基础信息和流程中依赖的任务信息,而任务信息描述了任务的基本信息和业务参数配置,信息规范也记录了节点之间的依赖关系,这样的一个整体形成了一个任务流json;

4、步骤2,任务流解析对配置解析,解析结果封装为流实例和若干任务实例,任务实例标记好任务执行的引擎类型,并记录好任务之间的依赖关系持久化到db中;

5、步骤3,服务端内部将任务实例转换dag,并通过dag优化策略进行拆分为子dag,每个子dag就是一个任务集合,接着任务集合交与任务管理;

6、步骤4,任务管理接受到任务集合后调用资源管理器的提供的资源信息,对任务集合按照策略进行优化,优化后的每个任务绑定到具体的执行客户端上;

7、步骤5,任务管理分配的任务会分配到调度管理功能里面,调度对任务开始执行调度,将任务分发到客户端;

8、步骤6,客户端服务通过接口接受到服务端发送的任务,任务接受后转交到引擎差插件管理;

9、步骤7,引擎插件管理对任务进行解析,通过关联的任务引擎类型,从hdfs目录中动态加载对应的插件进行初始化,启动工作,启动完成后将任务提交给真正的引擎去执行,执行结果和日志输出到db中。

10、一种基于多种计算引擎治理的优化方法的装置,所述服务端:基于http的通信协议方式,使用json标准格式来提供和前端用户进行交互能力的软件系统,包含接口、任务流解析、dag、任务管理功能、任务优化器、调度管理器、资源管理器功能,rpc功能。服务端通过rpc功能接受客户端注册信息、心跳信息来维护客户端列表状态;

11、服务端接口:接口功能是服务端和前端进行交互,遵循http协议,通过restful风格形式和前端进行交互;

12、任务流解析:在服务端内部提供任务流解析功能,将json信息前后端定义的规范封装为流实例和若干任务实例,任务实例解析会记录好任务之间的依赖关系,通过访问db连接将所有实例信息进行持久化;

13、dag功能:服务端内部提供一种将任务依赖关系构建为dag的功能,将任务实例和关系输入一种dag转换工具类,调用api输入任务和依赖关系即可转换dag,接着对dag进行遍历划分子dag,提供多套策略来划分dag,保持子dag的负载均衡策略,确保每个子dag的任务数量接近;cpu/内存需求资源少优先策略,它对基础资源需求相似的划分到同一个子dag;每个子dag形成一个任务集合,任务集之间有依赖关系,任务集内部可并行执行;

14、任务管理功能:基于dag转换出来子dag形成的任务集进行管理,对任务和执行客户端绑定操作,它会调用资源管理器功能获取客户端提供的资源统计信息,对任务集再次进行优化;提供多套通用优化策略,资源利用率优先分配原则,它会获取客户端列表中资源较多的绑定更多的任务;执行最少时间分配原则会通过比较客户端反馈的执行时间来判断,如果执行时间少则分配更多任务的方式;随机策略则随机分配客户端,轮询策略则对客户端列表遍历分配客户端,通过具体业务需求定制策略,通过策略划分后,每个任务会具体的绑定到一个执行客户端,如果没有具体的策略优化,则默认策略为轮询客户端列表和任务进行一一绑定;

15、调度管理器:任务管理分配的任务集合关联到调度,它会将任务按照绑定的客户端分发下去,并记录任务调度状态,调度成功则更新任务状态,调度失败则记录原因,并重新调度,如果是客户端问题则调度会修改任务配置一个可用的客户端再次调度执行。调度控制任务集之间的执行先后顺序;

16、资源管理器功能:主要对执行客户端通过rpc方式上报的资源信息进行管理,资源信息包含客户端ip地址和端口,状态,任务执行时间,内存大小,磁盘空间,如果周期内没有收到客户端端上报信息,会标记该客户端异常,在任务分配的时候则不会选择它;

17、rpc功能:通信协议基于标准的 http/2 设计,支持双向流、消息头压缩、单tcp 的多路复用,通过目前开源的框架grpc、dubbo来实现双向通信;

18、客户端:基于http的通信协议方式,使用json标准格式来提供和前端用户进行交互能力的软件系统,它包含接口、引擎插件管理功能,在启动的时候通过rpc功能发送客户端注册信息给服务端,启动后周期性上报心跳信息给服务端;

19、客户端接口:遵循http协议,通过restful风格形式接受服务端发送过来的任务信息,将任务信息接受后并转发给引擎插件管理功能进行处理;

20、引擎插件管理功能:一是根据任务引擎配置信息从插件配置管理中找到对应的插件引擎;二是引擎插件进行管理,它通过spi机制实现,具体是客户端提供统一插件接口,接口功能包含插件初始化、插件启动、插件停止、任务执行、任务停止、任务状态查询、任务日志查看等功能,不同引擎插件实现具体逻辑,插件逻辑实现后通过统一命名规范上传到hdfs插件目录,引擎插件管理通过目录api的方式,通过命名规则动态加载插件来提供能力,相同引擎插件的任务提供一个队列结构来保存任务,执行方式可以提供串性和并行两种;

21、db功能:关系型数据库mysql,存储解本文档来自技高网...

【技术保护点】

1.一种基于多种计算引擎治理的优化方法,其特征在于包括如下步骤:

2.根据权利要求1所述的一种基于多种计算引擎治理的优化方法的装置,其特征在于所述服务端:基于http的通信协议方式,使用JSON标准格式来提供和前端用户进行交互能力的软件系统,包含接口、任务流解析、DAG、任务管理功能、任务优化器、调度管理器、资源管理器功能,RPC功能;

【技术特征摘要】

1.一种基于多种计算引擎治理的优化方法,其特征在于包括如下步骤:

2.根据权利要求1所述的一种基于多种计算引擎治理的优化方法的装置,其特征在于所述服务端:基于htt...

【专利技术属性】
技术研发人员:张传东曾淋刘博石仁杰
申请(专利权)人:中电万维信息技术有限责任公司
类型:发明
国别省市:

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

1