CN109933306B - 一种基于作业类型识别的自适应混合云计算框架生成方法 - Google Patents
一种基于作业类型识别的自适应混合云计算框架生成方法 Download PDFInfo
- Publication number
- CN109933306B CN109933306B CN201910110312.0A CN201910110312A CN109933306B CN 109933306 B CN109933306 B CN 109933306B CN 201910110312 A CN201910110312 A CN 201910110312A CN 109933306 B CN109933306 B CN 109933306B
- Authority
- CN
- China
- Prior art keywords
- job
- calculation
- data processing
- user
- computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于作业类型识别的自适应混合云计算框架生成方法,在底层大数据集群的基础上,通过集群资源的统一调度实现对计算框架的资源支撑,接收用户提交根据统一编程模型的编写的作业,识别作业类型并自动判断适用的计算框架,实现不同应用场景下批量数据、流数据等的统一处理,有效实现更好的通用性并更好的提升性能。
Description
技术领域
本公开属于分布式计算的技术领域,涉及一种混合计算框架生成、数据处理方法、装置及混合计算框架,尤其涉及一种基于作业类型识别的自适应混合计算框架生成方法及装置、一种数据处理方法及装置以及一种基于作业类型识别的自适应混合计算框架。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
随着信息技术的不断发展,数据处理面对的数据量快速增长,需挖掘数据种类越来越多,包括结构化数据、文本数据、图形数据、数据流等,离线处理、在线计算、图算法、迭代式算法。目前大数据处理基本可分为两个类型:
(1)复杂的批量数据计算处理,通常时间跨度在数十分钟到数小时之间;
(2)基于实时数据流的数据处理,通常的时间跨度在数百毫秒到数秒之间。
两种处理类型目前都已有相对成熟的架构来处理,如利用MapReduce来进行批量数据处理,利用Storm来进行实时数据流的处理。
根据处理类型,当前大数据处理框架一般分为批处理计算框架、流处理计算框架和混合处理计算框架三类,批处理计算框架以Hadoop等为代表,特点是时间和资源要求低;流处理计算框架以Storm、Samza等为代表,特点是实时性高但吞吐量低;混合处理计算框架包括Spark、Flink,能同时处理批处理和流处理工作负载,但各有侧重,Spark运行原理建立在内存批处理之上,本质上属于批处理计算框架,其流处理SparkStreaming属于微批处理,而Flink是可处理批处理任务的流处理框架,本质上属于流处理计算框架,将批处理当做具备有限边界的数据流处理。
设计理念的不同使得每种计算框架都有其适用的最佳应用场景,如Hadoop适用于进行大规模静态数据的批量计算处理场景,但在面向低延迟和具有复杂数据关系(如多表关联查询)等问题时有很大的不适应性;Spark适用于迭代应用及交互式应用,在机器学习、交互式查询等应用场景具有优势;Storm适用于动态处理不断流入的小数据块,如实时日志处理、实时统计等场景,不同计算框架之间难以相互取代。大数据应用复杂多样,可能会同时包含不同特征的数据和计算,在这种情况下单一的计算框架多半难以满足整个应用的需求,往往需要多种计算框架处理不同的场景。考虑到资源维护成本等一系列问题,为不同的计算框架搭建不同的集群显然是不现实的,因此需要考虑集群中不同计算框架的混合使用。
当前已在混合计算框架方面进行了一定的研究,如研究集群资源的统一调度机制等,提升集群资源利用率。但对于作业层面的统一调度的研究较少,用户需要根据经验判断应用场景适用的计算框架并提交相应的应用程序,由于不同计算架构的编程模型、业务逻辑等均有很大差异,用户切换不同的分布式处理框架的成本很高,无法实现根据作业的混合计算架构的自适应匹配及运行。
发明内容
针对现有技术中存在的不足,本公开的一个或多个实施例提供了一种混合计算框架生成、数据处理方法、装置及混合计算框架,在底层大数据集群的基础上,通过集群资源的统一调度实现对计算框架的资源支撑,在此基础上,根据用户提交的根据统一编程模型的编写的作业,识别作业类型并自动判断适用的计算框架,实现不同应用场景下批量数据、流数据等的统一处理,以实现更好的通用性并更好的提升性能。
根据本公开的一个或多个实施例的一个方面,提供一种基于作业类型识别的自适应混合计算框架生成方法。
一种基于作业类型识别的自适应混合计算框架生成方法,该方法包括:
接收用户客户端提交的作业,实时提取作业属性信息,识别作业类型;
根据作业类型构建对应类型的计算框架选择模型,从集群计算框架池中具有的该类型作业对应的计算框架中,选择用户作业适用的计算框架。
进一步地,在该方法中,所述用户客户端提交的作业为采用统一编程模型编写的作业。
进一步地,在该方法中,所述实时提取作业属性信息,识别作业类型的具体步骤包括:
从用户客户端提交的作业中提取作业属性信息,并进行标准化预处理;
根据标准化预处理后的作业属性信息采用作业分类特征模型对作业进行分类,得到作业类型。
进一步地,所述作业属性信息包括业务需求指标和数据处理指标;
所述业务需求指标包括作业复杂度、作业实时性、作业迭代需求和作业交互需求;
所述数据处理指标包括数据源类型、数据规模和数据增量计算需求。
进一步地,在该方法中,所述作业类型包括批处理作业和流处理作业。
进一步地,在该方法中,所述作业分类特征模型构建的具体步骤包括:
选取对于作业属于批处理作业还是流处理作业有显著影响的作业属性信息,通过基于CART节点分裂算法的随机森林算法,对作业属性训练样本集进行训练,构建用户作业应用场景下适用的作业分类特征模型;
所述作业属性训练样本集是用户应用场景下已成功识别作业类型及适用的计算框架的大量案例的作业属性数据及识别结果。
进一步地,在该方法中,所述选择用户作业适用的计算框架的具体步骤包括:
获取识别出的作业类型和选择用户作业适用的计算框架所需的作业属性信息;
从预先统计可选计算框架池中具有的相应作业类型的计算框架的种类中获取该作业可选择的计算框架范围;
基于根据作业类型构建对应类型的计算框架选择模型,根据作业属性信息,从该作业可选择的计算框架范围中选择用户作业适用的计算框架。
进一步地,在该方法中,所述计算框架选择模型构建的具体步骤包括:
根据作业应用场景以及可选计算框架池中包含的计算框架种类,选取作业属性训练样本集中具有相应作业类型的作业,汇总其作业属性信息及适用的计算框架,形成计算框架选择训练集,采用基于CART的随机森林算法进行训练,构建计算框架选择模型;
所述作业属性训练样本集是用户应用场景下已成功识别作业类型及适用的计算框架的大量案例的作业属性数据及识别结果。
进一步地,在该方法中,还包括接收人工修正请求,人工修正选择出的用户作业适用的计算框架。
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于作业类型识别的自适应混合计算框架生成方法。
根据本公开的一个或多个实施例的一个方面,提供一种终端设备。
一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于作业类型识别的自适应混合计算框架生成方法。
根据本公开的一个或多个实施例的一个方面,提供一种数据处理方法。
一种数据处理方法,该方法基于一种基于作业类型识别的自适应混合计算框架生成方法,包括:
接收用户客户端提交的作业,采用选择出的用户作业适用的计算框架对用户客户端提交的采用统一编程模型编写的作业进行数据处理;
在数据处理中通过集群资源调度模块统一管理调度集群资源。
进一步地,在该方法中,所述数据处理的具体步骤包括:
对用户提交的采用统一编程模型编写的作业翻译成选择出的用户作业适用的计算框架支持的业务逻辑,生成数据处理逻辑链;
将数据处理逻辑链迁移到可选计算框架池中选择出的用户作业适用的计算框架中,实现数据处理,得到作业执行结果;
将作业执行结果返回至用户客户端。
进一步地,在该方法中,所述可选计算框架池根据实际业务需要动态配置多种类型的计算架构,包括批处理计算框架池和流处理计算框架池,通过插件适配器的方式实现对应架构任务的生成。
进一步地,在该方法中,所述在数据处理中通过集群资源调度模块统一管理调度集群资源的具体步骤包括:
通过全局资源管理模块将数据处理逻辑链根据具体的计算框架运行要求将其分解为多个任务;采用调度算法将生成的任务分配到多个的工作节点上,对任务进行调度及处理,并对整个集群的资源调度进行统一管理;
通过节点资源管理模块,接收全局资源管理模块的调度,负责集群中每个工作节点上资源的管理,定时向全局资源管理模块汇报本工作节点上的资源使用情况和各个资源块的运行状态;针对每个任务生成任务主控,跟踪和管理任务,与调度机制管理模块协商以获取资源块,控制资源块的启动和停止,监控任务运行状态,并在任务运行失败时重新运行任务。
进一步地,在该方法中,所述资源块,是集群中动态资源的分配单位,将工作节点上的资源封装为若干个资源块,提供给不同的计算框架的任务运行。
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种数据处理方法。
根据本公开的一个或多个实施例的一个方面,提供一种终端设备。
一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种数据处理方法。
根据本公开的一个或多个实施例的一个方面,提供一种基于作业类型识别的自适应混合计算框架。
一种基于作业类型识别的自适应混合计算框架,基于所述的一种数据处理方法,实现根据作业的混合计算架构的自适应匹配及运行。
本公开的有益效果:
(1)本发明所述的一种混合计算框架生成、数据处理方法、装置及混合计算框架,适用于同时依赖多种计算框架的大数据应用场景,在同一集群中搭建适用于批处理、流处理等的多种类型的大数据计算框架,可动态适配多种类型的计算架构,实现根据业务需求在不同计算架构上的切换,降低了计算框架的切换成本,提升集群资源利用率。
(2)本发明所述的一种混合计算框架生成、数据处理方法、装置及混合计算框架,通过构建灵活的作业分类特征模型以及决策树算法(基于CART的随机森林算法),对大数据作业进行了分类,根据识别出的作业类型进行合适的计算框架选择,实现计算框架的自适应选取。
(3)本发明所述的一种混合计算框架生成、数据处理方法、装置及混合计算框架,将资源调度与作业调度分离,对集群资源进行统一调度,实现计算资源的弹性分配。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1是根据一个或多个实施例的一种基于作业类型识别的自适应混合计算框架生成方法流程图;
图2是根据一个或多个实施例一种基于作业类型识别的自适应混合计算框架结构示意图;
其中,1-作业类型识别模块、101-作业属性获取模块101、102-作业分类特征模型构建模块、103-作业分类模块;2-计算框架推荐模块、201-作业类型及特征获取模块、202-可选计算框架统计模块、203-计算框架自适应选择模块、2031-计算框架选择模型构建模块、2032-计算框架选择模块,204-计算框架人工修正模块;3-统一数据处理框架、301-作业获取模块、302-计算框架选择结果获取模块、303-作业处理模块、304-可选计算框架池,3031-业务逻辑构建模块、3032-执行引擎适配模块、3033-作业处理结果返回模块;4-集群资源调度模块、401全局资源管理模块、4011-处理逻辑链接收模块、4012-调度机制管理模块、402-节点资源管理模块、403-资源块。
具体实施方式:
下面将结合本公开的一个或多个实施例中的附图,对本公开的一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本公开的一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本实施例使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要注意的是,附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合,下面结合附图与实施例对本公开作进一步说明。
根据一个或多个实施例的一个方面,提供一种基于作业类型识别的自适应混合计算框架。
如图1所示,该混合计算框架包括作业类型识别模块1、计算框架推荐模块2、统一数据处理框架3、集群资源调度模块4;
所述作业类型识别模块1包括作业属性获取模块101、作业分类特征模型构建模块102、作业分类模块103;
所述计算框架推荐模块2包括作业类型及特征获取模块201、可选计算框架统计模块202、计算框架自适应选择模块203、计算框架人工修正模块204,计算框架自适应选择模块203包括计算框架选择模型构建模块2031和计算框架选择模块2032;
所述统一数据处理框架3包括作业获取模块301、计算框架选择结果获取模块302、作业处理模块303、可选计算框架池304,其中,作业处理模块303包括业务逻辑构建模块3031、执行引擎适配模块3032、作业处理结果返回模块3033,可选计算框架池304可划分为批处理计算框架池、流处理计算框架池,可配置Hadoop、Storm、Spark等多种大数据计算框架;
所述集群资源调度模块4包括全局资源管理模块401和n个工作节点,每个工作节点包括节点资源管理模块402和多个资源块403,全局资源管理模块401包括处理逻辑链接收模块4011和调度机制管理模块4012。
作业类型识别模块1,用于根据作业分类特征模型,实时识别用户通过客户端提交的作业类型,并向计算框架推荐模块2传递识别出的作业类型。
所述作业类型识别模块1还包括以下模块:
作业属性获取模块101,用于从用户提交的作业请求中抽取出该作业的属性,并对作业属性信息进行标准化处理,将预处理后的属性信息数据传递给作业分类模块103。
作业属性可归为业务需求指标和数据处理指标两类,其中,业务需求指标包括作业复杂度、作业实时性、作业迭代需求、作业交互需求等,数据处理指标包括数据源类型、数据规模、数据增量计算需求等。这些属性信息获取渠道有两种,一种是通过对作业需求的定性判断,如作业实时性可根据作业中的业务反馈时间需求判断;一种是由作业提交者标记,如是否具有作业迭代需求。作业属性标准化处理是将作业属性由定性描述转化为定量描述,标准化规则由业务应用场景决定,以作业实时性为例,某应用场景下作业实时性为高对应标准化为数值1,实时性为中对应标准化为数值0.5,实时性为低对应标准化为数值0。
作业属性指标的具体描述如表1所示。
表1
作业分类特征模型构建模块102,用于选取对于作业属于批处理作业还是流处理作业有显著影响的指标,如作业复杂度、作业实时性、数据规模等,通过基于CART节点分裂算法的随机森林算法对作业属性训练样本集进行训练,构建用户应用场景下适用的作业分类特征模型,传递给作业分类模块103。作业属性训练样本集是用户应用场景下已成功识别作业类型及适用的计算框架的大量案例的作业属性数据及识别结果。选取其中对于作业属于批处理作业还是流处理作业有显著影响的指标,包括作业复杂度、作业实时性、数据规模等,从作业属性指标中随机选择形成多组随机特征变量,使用bagging抽样技术从训练样本集中产生对应数量的训练子集,每个训练子集按照Gini系数最小规则分裂生成一棵决策树,将生成的决策树汇总生成了随机森林,即为作业分类特征模型。作业属性指标与作业类型之间对应关系定性描述如表2所示。
表2
作业分类模块103,用于基于从作业分类特征模型构建模块102获取的作业分类特征模型,根据从作业属性获取模块101获取的该作业用于分类的属性数据,对作业进行分类。将属性数据输入到形成的随机森林中,汇总决策树的分类结果采用大多数投票法得到最终分类结果。可将用户提交的作业分为批处理作业、流处理作业两大类,分别对应当前较为常用的批处理计算框架、流处理计算框架两类大数据计算框架。
计算框架推荐模块2,用于根据作业类型识别模块1识别出的作业类型,构建对应类型的计算框架选择模型,从集群计算框架池中具有的该类型作业对应的计算框架中,进一步为用户作业推荐适用的计算框架,支持计算框架的自适应选取,同时可支持用户修改。
所述计算框架推荐模块2还包括以下模块:
作业类型及特征获取模块201,用于从作业类型识别模块1获取识别出的作业类型及计算框架推荐所需的作业属性信息,将信息传递给计算框架自适应选择模块203。
可选计算框架统计模块202,用于统计可选计算框架池304中具有的相应作业类型的计算框架的种类,降低计算框架自适应选择模块203选取计算框架的计算复杂度。如作业识别为流处理作业,通过与可选计算框架池304通信,统计得到流处理计算框架池中具有Storm、Flink、Spark Streaming三种计算框架,则该作业可从这三种计算框架中选择适用的,缩小了选择范围。
计算框架自适应选择模块203,用于从可选计算框架统计模块202中获取该作业可选择的计算框架范围,采用随机森林算法,根据从作业类型及特征获取模块201获取的作业属性信息进行进一步的分类,得到适用的计算框架。选择结果可不经过人工修正直接提交给统一数据处理框架3,也可通过计算框架人工修正模块204修正后提交给统一数据处理框架3。计算框架自适应选择模块203包括计算框架选择模型构建模块2031和计算框架选择模块2032。
所述计算框架选择模型构建模块2031,用于根据具体业务应用场景以及资源池中包含的计算框架种类,选取作业属性训练样本集中具有相应作业类型的作业,汇总其属性数据及适用的计算框架,形成计算框架选择训练集,采用基于CART的随机森林算法进行训练,构建计算框架选择模型。从作业属性指标中随机选择形成多组随机特征变量,使用bagging抽样技术从训练集中产生对应数量的训练子集,每个训练子集按照Gini系数最小规则分裂生成一棵决策树,将生成的决策树汇总生成了随机森林,即为计算框架选择模型。各个作业属性指标与计算框架之间对应关系定性描述如下表3所示。
表3
所述计算框架选择模块2032,用于基于从计算框架选择模型构建模块2031获取的计算框架选择模型,根据从作业类型及特征获取模块201获取的该作业属性数据,为该作业选择适用的计算框架。将属性数据输入到形成的随机森林中,汇总决策树的分类结果采用大多数投票法得到最终选择结果。
计算框架人工修正模块204,用于用户人工修正从计算框架自适应选择模块203获取的选择结果。
根据一个或多个实施例的一个方面,提供一种基于作业类型识别的自适应混合计算框架生成方法。该方法通过上述作业类型识别模块1和计算框架推荐模块2实现,得到用户作业适用的计算框架。
如图1所示,一种基于作业类型识别的自适应混合计算框架生成方法,该方法包括:
接收用户客户端提交的作业,实时提取作业属性信息,识别作业类型;
根据作业类型构建对应类型的计算框架选择模型,从集群计算框架池中具有的该类型作业对应的计算框架中,选择用户作业适用的计算框架。
在本实施例中,所述用户客户端提交的作业为采用统一编程模型编写的作业。
在本实施例中,所述实时提取作业属性信息,识别作业类型的具体步骤包括:
从用户客户端提交的作业中提取作业属性信息,并进行标准化预处理;
根据标准化预处理后的作业属性信息采用作业分类特征模型对作业进行分类,得到作业类型。
在本实施例中,所述作业属性信息包括业务需求指标和数据处理指标;
所述业务需求指标包括作业复杂度、作业实时性、作业迭代需求和作业交互需求;
所述数据处理指标包括数据源类型、数据规模和数据增量计算需求。
在本实施例中,所述作业类型包括批处理作业和流处理作业。
在本实施例中,所述作业分类特征模型构建的具体步骤包括:
选取对于作业属于批处理作业还是流处理作业有显著影响的作业属性信息,通过基于CART节点分裂算法的随机森林算法,对作业属性训练样本集进行训练,构建用户作业应用场景下适用的作业分类特征模型;
所述作业属性训练样本集是用户应用场景下已成功识别作业类型及适用的计算框架的大量案例的作业属性数据及识别结果。
在本实施例中,所述选择用户作业适用的计算框架的具体步骤包括:
获取识别出的作业类型和选择用户作业适用的计算框架所需的作业属性信息;
从预先统计可选计算框架池中具有的相应作业类型的计算框架的种类中获取该作业可选择的计算框架范围;
基于根据作业类型构建对应类型的计算框架选择模型,根据作业属性信息,从该作业可选择的计算框架范围中选择用户作业适用的计算框架。
在本实施例中,所述计算框架选择模型构建的具体步骤包括:
根据作业应用场景以及可选计算框架池中包含的计算框架种类,选取作业属性训练样本集中具有相应作业类型的作业,汇总其作业属性信息及适用的计算框架,形成计算框架选择训练集,采用基于CART的随机森林算法进行训练,构建计算框架选择模型;
所述作业属性训练样本集是用户应用场景下已成功识别作业类型及适用的计算框架的大量案例的作业属性数据及识别结果。
在本实施例中,还包括接收人工修正请求,人工修正选择出的用户作业适用的计算框架。
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种基于作业类型识别的自适应混合计算框架生成方法。
根据本公开的一个或多个实施例的一个方面,提供一种终端设备。
一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种基于作业类型识别的自适应混合计算框架生成方法。
如图2所示,在本实施例的一种基于作业类型识别的自适应混合计算框架中,计算框架推荐模块2将选择出的用户作业适用的计算框架提交给统一数据处理框架3。
统一数据处理框架3,用于采用计算框架推荐模块2选出的适用的计算框架,对用户提交的采用统一编程模型编写的作业进行处理。
所述统一数据处理框架3还包括以下模块:
作业获取模块301,用于获取用户提交的作业,作业采用统一编程模型编写,可通过翻译运行在不同的计算框架上。
计算框架选择结果获取模块302,用于从计算框架自适应选择模块203获取选择结果,确定作业处理模块303中的作业处理方向。
作业处理模块303,用于将用户作业翻译为选择的计算框架相应的处理逻辑,并将其迁移到可选计算框架池304中对应的计算框架中,进行数据处理,将作业处理结果返回给用户。作业处理模块303具体包括业务逻辑构建模块3031、执行引擎适配模块3032和作业处理结果返回模块3033。
所述业务逻辑构建模块3031,用于将采用统一编程模型编写作业翻译成选择的分布式计算框架支持的业务逻辑,生成数据处理逻辑链。
所述执行引擎适配模块3032,用于将数据处理逻辑链提交到具体工作节点的执行引擎上,实现数据处理。
所述作业处理结果返回模块3033,用于将作业执行结果返回给用户。
可选计算框架池304,可根据实际业务需要动态配置多种类型的计算架构,包括批处理计算框架池、流处理计算框架池,通过插件适配器等方式实现对应架构任务的生成,如MapReduce、Spark、Flink等。
在本实施例中将资源调度与作业调度分离,对集群资源进行统一调度,实现计算资源的弹性分配,通过本实施例的一种基于作业类型识别的自适应混合计算框架中的集群资源调度模块4实现。
如图2所示,集群资源调度模块4,用于统一管理调度集群资源。
所述集群资源调度模块4还包括以下模块:
全局资源管理模块401,用于将不同计算框架的数据处理逻辑链分解为多个任务,对任务进行调度及处理,并对整个集群的资源调度进行统一管理,包括处理逻辑链接收模块4011和调度机制管理模块4012。
所述处理逻辑链接收模块4011,用于从统一数据处理框架3接收数据处理逻辑链,根据具体的计算框架运行要求将其分解为多个任务。
所述调度机制管理模块4012,用于统一管理集群调度机制,采用调度算法将生成的任务分配到多个的工作节点上。
节点资源管理模块402,用于接收全局资源管理模块401的调度,负责集群中每个工作节点上资源的管理,定时向全局资源管理模块401汇报本工作节点上的资源使用情况和各个资源块403的运行状态;针对每个任务生成任务主控,跟踪和管理任务,与调度机制管理模块4012协商以获取资源块403,控制资源块403的启动/停止等,监控任务运行状态,并在任务运行失败时重新运行任务。
资源块403,是集群中动态资源(内存、CPU、磁盘、网络等)的分配单位,将工作节点上的资源封装为若干个资源块,提供给不同的计算框架的任务运行。
根据一个或多个实施例的一个方面,提供一种数据处理方法。
一种数据处理方法,该方法基于一种基于作业类型识别的自适应混合计算框架生成方法,该方法通过上述统一数据处理框架3和集群资源调度模块4实现,进行数据处理计算和资源的统一调度。包括:
接收用户客户端提交的作业,采用选择出的用户作业适用的计算框架对用户客户端提交的采用统一编程模型编写的作业进行数据处理;
在数据处理中通过集群资源调度模块统一管理调度集群资源。
在本实施例中,所述数据处理的具体步骤包括:
对用户提交的采用统一编程模型编写的作业翻译成选择出的用户作业适用的计算框架支持的业务逻辑,生成数据处理逻辑链;
将数据处理逻辑链迁移到可选计算框架池中选择出的用户作业适用的计算框架中,实现数据处理,得到作业执行结果;
将作业执行结果返回至用户客户端。
在本实施例中,所述可选计算框架池根据实际业务需要动态配置多种类型的计算架构,包括批处理计算框架池和流处理计算框架池,通过插件适配器的方式实现对应架构任务的生成。
在本实施例中,所述在数据处理中通过集群资源调度模块统一管理调度集群资源的具体步骤包括:
通过全局资源管理模块将数据处理逻辑链根据具体的计算框架运行要求将其分解为多个任务;采用调度算法将生成的任务分配到多个的工作节点上,对任务进行调度及处理,并对整个集群的资源调度进行统一管理;
通过节点资源管理模块,接收全局资源管理模块的调度,负责集群中每个工作节点上资源的管理,定时向全局资源管理模块汇报本工作节点上的资源使用情况和各个资源块的运行状态;针对每个任务生成任务主控,跟踪和管理任务,与调度机制管理模块协商以获取资源块,控制资源块的启动和停止,监控任务运行状态,并在任务运行失败时重新运行任务。
在本实施例中,所述资源块,是集群中动态资源的分配单位,将工作节点上的资源封装为若干个资源块,提供给不同的计算框架的任务运行。
根据本公开的一个或多个实施例的一个方面,提供一种计算机可读存储介质。
一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种数据处理方法。
根据本公开的一个或多个实施例的一个方面,提供一种终端设备。
一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种数据处理方法。
本公开的有益效果:
(1)本发明所述的一种混合计算框架生成、数据处理方法、装置及混合计算框架,适用于同时依赖多种计算框架的大数据应用场景,在同一集群中搭建适用于批处理、流处理等的多种类型的大数据计算框架,可动态适配多种类型的计算架构,实现根据业务需求在不同计算架构上的切换,降低了计算框架的切换成本,提升集群资源利用率。
(2)本发明所述的一种混合计算框架生成、数据处理方法、装置及混合计算框架,通过构建灵活的作业分类特征模型以及决策树算法(基于CART的随机森林算法),对大数据作业进行了分类,根据识别出的作业类型进行合适的计算框架选择,实现计算框架的自适应选取。
(3)本发明所述的一种混合计算框架生成、数据处理方法、装置及混合计算框架,将资源调度与作业调度分离,对集群资源进行统一调度,实现计算资源的弹性分配。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种基于作业类型识别的自适应混合计算框架生成方法,其特征在于,该方法包括:
接收用户客户端提交的作业,实时提取作业属性信息,识别作业类型;
所述用户客户端提交的作业为采用统一编程模型编写的作业;
所述作业属性信息包括业务需求指标和数据处理指标;
所述业务需求指标包括作业复杂度、作业实时性、作业迭代需求和作业交互需求;
所述数据处理指标包括数据源类型、数据规模和数据增量计算需求;
进一步地,在该方法中,所述作业类型包括批处理作业和流处理作业;
所述实时提取作业属性信息,识别作业类型的具体步骤包括:
从用户客户端提交的作业中提取作业属性信息,并进行标准化预处理;
根据标准化预处理后的作业属性信息采用作业分类特征模型对作业进行分类,得到作业类型;
根据作业类型构建对应类型的计算框架选择模型,从集群计算框架池中具有的该类型作业对应的计算框架中,选择用户作业适用的计算框架;
进一步地,在该方法中,所述作业分类特征模型构建的具体步骤包括:
选取对于作业属于批处理作业还是流处理作业有显著影响的作业属性信息,通过基于CART节点分裂算法的随机森林算法,对作业属性训练样本集进行训练,构建用户作业应用场景下适用的作业分类特征模型;
所述作业属性训练样本集是用户应用场景下已成功识别作业类型及适用的计算框架的大量案例的作业属性数据及识别结果;
进一步地,在该方法中,所述选择用户作业适用的计算框架的具体步骤包括:
获取识别出的作业类型和选择用户作业适用的计算框架所需的作业属性信息;
从预先统计可选计算框架池中具有的相应作业类型的计算框架的种类中获取该作业可选择的计算框架范围;
基于根据作业类型构建对应类型的计算框架选择模型,根据作业属性信息,从该作业可选择的计算框架范围中选择用户作业适用的计算框架;
进一步地,在该方法中,所述计算框架选择模型构建的具体步骤包括:
根据作业应用场景以及可选计算框架池中包含的计算框架种类,选取作业属性训练样本集中具有相应作业类型的作业,汇总其作业属性信息及适用的计算框架,形成计算框架选择训练集,采用基于CART的随机森林算法进行训练,构建计算框架选择模型;
所述作业属性训练样本集是用户应用场景下已成功识别作业类型及适用的计算框架的大量案例的作业属性数据及识别结果。
2.如权利要求1所述的一种基于作业类型识别的自适应混合计算框架生成方法,其特征在于,在该方法中,还包括接收人工修正请求,人工修正选择出的用户作业适用的计算框架。
3.一种计算机可读存储介质,其中存储有多条指令,其特征在于,所述指令适于由终端设备的处理器加载并执行如权利要求1-2任一项所述的一种基于作业类型识别的自适应混合计算框架生成方法。
4.一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,其特征在于,所述指令适于由处理器加载并执行如权利要求1-2任一项所述的一种基于作业类型识别的自适应混合计算框架生成方法。
5.一种数据处理方法,其特征在于,该方法基于如权利要求1-2任一项所述的一种基于作业类型识别的自适应混合计算框架生成方法,包括:
接收用户客户端提交的作业,采用选择出的用户作业适用的计算框架对用户客户端提交的采用统一编程模型编写的作业进行数据处理;
在数据处理中通过集群资源调度模块统一管理调度集群资源。
6.如权利要求5所述的一种数据处理方法,其特征在于,在该方法中,所述数据处理的具体步骤包括:
对用户提交的采用统一编程模型编写的作业翻译成选择出的用户作业适用的计算框架支持的业务逻辑,生成数据处理逻辑链;
将数据处理逻辑链迁移到可选计算框架池中选择出的用户作业适用的计算框架中,实现数据处理,得到作业执行结果;
将作业执行结果返回至用户客户端;
进一步地,在该方法中,所述可选计算框架池根据实际业务需要动态配置多种类型的计算架构,包括批处理计算框架池和流处理计算框架池,通过插件适配器的方式实现对应架构任务的生成;
进一步地,在该方法中,所述在数据处理中通过集群资源调度模块统一管理调度集群资源的具体步骤包括:
通过全局资源管理模块将数据处理逻辑链根据具体的计算框架运行要求将其分解为多个任务;采用调度算法将生成的任务分配到多个的工作节点上,对任务进行调度及处理,并对整个集群的资源调度进行统一管理;
通过节点资源管理模块,接收全局资源管理模块的调度,负责集群中每个工作节点上资源的管理,定时向全局资源管理模块汇报本工作节点上的资源使用情况和各个资源块的运行状态;针对每个任务生成任务主控,跟踪和管理任务,与调度机制管理模块协商以获取资源块,控制资源块的启动和停止,监控任务运行状态,并在任务运行失败时重新运行任务;
进一步地,在该方法中,所述资源块,是集群中动态资源的分配单位,将工作节点上的资源封装为若干个资源块,提供给不同的计算框架的任务运行。
7.一种计算机可读存储介质,其中存储有多条指令,其特征在于,所述指令适于由终端设备的处理器加载并执行如权利要求5-6任一项所述的一种数据处理方法。
8.一种终端设备,其包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,其特征在于,所述指令适于由处理器加载并执行如权利要求5-6任一项所述的一种数据处理方法。
9.一种基于作业类型识别的自适应混合计算框架系统,其特征在于,基于如权利要求5-6任一项所述的一种数据处理方法,实现根据作业的混合计算架构的自适应匹配及运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910110312.0A CN109933306B (zh) | 2019-02-11 | 2019-02-11 | 一种基于作业类型识别的自适应混合云计算框架生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910110312.0A CN109933306B (zh) | 2019-02-11 | 2019-02-11 | 一种基于作业类型识别的自适应混合云计算框架生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933306A CN109933306A (zh) | 2019-06-25 |
CN109933306B true CN109933306B (zh) | 2020-07-14 |
Family
ID=66985419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910110312.0A Active CN109933306B (zh) | 2019-02-11 | 2019-02-11 | 一种基于作业类型识别的自适应混合云计算框架生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933306B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442446B (zh) * | 2019-06-29 | 2022-12-13 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 实时处理高速数字信号数据流的方法 |
CN112395070A (zh) * | 2019-08-12 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 数据处理系统及方法 |
CN110704186B (zh) * | 2019-09-25 | 2022-05-24 | 国家计算机网络与信息安全管理中心 | 基于混合分布架构的计算资源分配方法、装置和存储介质 |
CN110825775B (zh) * | 2019-11-04 | 2022-02-15 | 北京理工大学 | 一种Gaia系统中支持流数据与批数据交互的数据交换系统 |
CN113128741A (zh) * | 2020-01-10 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统、设备和可读存储介质 |
CN111506407B (zh) * | 2020-04-14 | 2022-04-26 | 中山大学 | Pull模式与Push模式相结合的资源管理与作业调度方法、系统 |
CN111506367B (zh) * | 2020-04-20 | 2023-09-22 | 东云睿连(武汉)计算技术有限公司 | 多集群式人工智能在线服务方法及系统 |
CN111625218B (zh) * | 2020-05-14 | 2024-01-09 | 中电工业互联网有限公司 | 一种自定义库开发的大数据处理方法及系统 |
CN111767199B (zh) * | 2020-06-24 | 2023-09-19 | 中国工商银行股份有限公司 | 一种基于批处理作业的资源管理方法、装置、设备及系统 |
CN111625367B (zh) * | 2020-07-29 | 2020-11-27 | 北京并行科技股份有限公司 | 一种动态调整文件系统读写资源的方法 |
CN112150248B (zh) * | 2020-09-30 | 2021-08-03 | 欧冶云商股份有限公司 | 一种基于批流融合的挂货量统计方法、系统、装置 |
CN112486654A (zh) * | 2020-12-08 | 2021-03-12 | 浙江诺诺网络科技有限公司 | 一种异步慢任务调度方法、装置、设备及介质 |
CN112667594A (zh) * | 2021-01-14 | 2021-04-16 | 北京智源人工智能研究院 | 一种基于混合云资源的异构计算平台及模型训练方法 |
CN113239243A (zh) * | 2021-07-08 | 2021-08-10 | 湖南星汉数智科技有限公司 | 基于多计算平台的图数据分析方法、装置和计算机设备 |
CN114091688B (zh) * | 2021-11-25 | 2022-05-20 | 北京九章云极科技有限公司 | 一种计算资源获取方法、装置、电子设备和存储介质 |
CN113918211B (zh) * | 2021-12-13 | 2022-06-07 | 昆仑智汇数据科技(北京)有限公司 | 一种工业设备对象数据模型的执行方法、装置及设备 |
CN118093154A (zh) * | 2022-11-22 | 2024-05-28 | 华为云计算技术有限公司 | 数据处理方法、装置和系统 |
CN117075930B (zh) * | 2023-10-17 | 2024-01-26 | 之江实验室 | 一种计算框架管理系统 |
CN117707794B (zh) * | 2024-02-05 | 2024-06-18 | 之江实验室 | 一种面向异构联邦的多类别作业分发管理方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10134440B2 (en) * | 2011-05-03 | 2018-11-20 | Kodak Alaris Inc. | Video summarization using audio and visual cues |
CN103414761B (zh) * | 2013-07-23 | 2017-02-08 | 北京工业大学 | 一种基于Hadoop架构的移动终端云资源调度方法 |
CN104834561B (zh) * | 2015-04-29 | 2018-01-19 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN108287758A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种应用资源管理方法、使用方法及装置 |
CN109240658A (zh) * | 2018-09-12 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种基于神经网络的软件架构选择的方法及装置 |
-
2019
- 2019-02-11 CN CN201910110312.0A patent/CN109933306B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109933306A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933306B (zh) | 一种基于作业类型识别的自适应混合云计算框架生成方法 | |
CN107577805B (zh) | 一种面向日志大数据分析的业务服务系统 | |
US11086687B2 (en) | Managing resource allocation in a stream processing framework | |
Neglia et al. | Decentralized gradient methods: does topology matter? | |
CN108881446A (zh) | 一种基于深度学习的人工智能平台系统 | |
CN110389820B (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
US11314808B2 (en) | Hybrid flows containing a continous flow | |
CN109992404A (zh) | 集群计算资源调度方法、装置、设备及介质 | |
CN103593323A (zh) | 一种MapReduce任务资源配置参数的机器学习方法 | |
KR20190134983A (ko) | 빅데이터 기반의 인공지능 통합 플랫폼 서비스 방법 | |
US11210275B2 (en) | Synthetic workload generation for workload classification | |
US20160203026A1 (en) | Processing a hybrid flow associated with a service class | |
KR20190134982A (ko) | 빅데이터 기반의 인공지능 통합 플랫폼 | |
CN114756629B (zh) | 基于sql的多源异构数据交互分析引擎及方法 | |
Cao et al. | A parallel computing framework for large-scale air traffic flow optimization | |
US20210382775A1 (en) | Systems and methods for classifying and predicting the cause of information technology incidents using machine learning | |
CN111126852A (zh) | 一种基于大数据建模的bi应用系统 | |
CN111913715A (zh) | 基于微服务的机器学习自动化过程管理及优化系统和方法 | |
CN113010296B (zh) | 基于形式化模型的任务解析与资源分配方法及系统 | |
CN116775041B (zh) | 基于流计算和rete算法的实时决策引擎实现方法 | |
CN111625352A (zh) | 调度方法、装置及存储介质 | |
EP4180955A1 (en) | Automated code analysis and tagging (methods and systems) | |
CN110866605B (zh) | 数据模型训练方法、装置、电子设备及可读介质 | |
CN111210539A (zh) | 一种动力蓄电池数据分析系统 | |
CN106599244B (zh) | 通用的原始日志清洗装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |