一种参数预估方法、装置及电子设备制造方法及图纸

技术编号:33638004 阅读:21 留言:0更新日期:2022-06-02 01:53
一种参数预估方法、装置及电子设备,该方法包括:获得N个Flink子任务,基于每个Flink子任务中的并行度处理待处理数据,获得每个Flink子任务中处理待处理数据的Flink子任务的实际并行度以及Flink子任务的资源分配率,获得N个资源分配率,从N个资源分配率中筛选出目标资源分配率以及目标资源分配率对应的Flink子任务的实际并行度。通过上述方法,提前对每个Flink子任务的并行度的数量值进行预估,确保了有足够数量值的并行度能够处理完待处理数据,并且,从N个资源分配率中筛选出目标资源分配率,确保了筛选出的目标资源分配率为最优参数,进一步提高了流计算的性能,实现了对流计算进行优化的目的。对流计算进行优化的目的。对流计算进行优化的目的。

【技术实现步骤摘要】
一种参数预估方法、装置及电子设备


[0001]本申请涉及分布式计算
,尤其涉及一种参数预估方法、装置及电子设备。

技术介绍

[0002]随着大数据处理技术的发展,在传统的数据处理流程中,总是先收集数据,然后将数据放到数据库中。当人们需要的时候通过数据库对数据做查询,得到答案或进行查询相关的数据,但是,在一些实时搜索应用环境中的某些具体问题时,由于传统的数据处理流程将会在数据库中搜索查询该问题的相关数据,当数据库中的数据量过多或者查询问题的用户数量过多时,都将导致不能实时的返回查询结果,因此采用传统的数据处理流程查询数据的实效性差。
[0003]为了能够实时处理网络中产生的数据,引出了一种新的数据计算结构
‑‑
流计算。流计算能够对大规模流动数据在不断变化运动过程中实时地进行分析,捕捉到有用的信息,并且流计算的响应时间为秒级,实现了实时处理数据。
[0004]为了对流计算进行优化,目前采用的是一种基于Flink的流计算性能优化系统及方法,该方法在生产环境做指标采集之后,对指标采集的数据进行分析,获得分析结果,再将分析结果用于调整任务的运行参数。
[0005]首先,Flink(全称Apache Flink)是一个分布式处理引擎,Flink集群中有多个任务管理器,关于数据读取、计算等操作都是在任务管理器中以分布式任务的形式运行,当任务管理器中执行数据计算时,数据计算完成后,任务管理器会将获得的资源分配率、并行度以及数据计算结果返回给调用端。
[0006]任务管理器进行分布式计算的原理见图1:每个任务管理器中包括若干个Slot,Slot是执行计算的最小单位,要计算的算子(包括数据读取、映射、分组、存储等)都根据算子的并行度,被划分到各Slot中,由Slot依次执行计算。在一个Slot上执行几个算子后,再根据数据分组的需求,被分配到下一个Slot继续执行,直到最终被输出或保存。每个Slot中都可以有若干个线程同时执行,以保证Flink分布式运行的效率。
[0007]当前,上述流计算性能优化方法提供了一种在生产环境下实时采集Flink任务运行时的性能指标,根据采集到的性能指标动态调整任务管理器的并行度、每个(Taskmanager)任务管理器上的Slot数量,以及每个任务管理器所分配的内存大小。
[0008]该方法在生产环境做指标采集之后,对指标采集的数据进行分析,获得分析结果,再将分析结果用于调整任务的运行参数,造成任务最优运行参数的配置滞后于实际数据处理的需要,导致分析结果对应的运行参数与当前时刻任务的最优运行参数的差异较大,并且,在采集指标的过程中,当需要采集的数据量过多时,将造成不能及时获得分析结果,进而不能对任务运行的参数进行调整,导致造成数据积压,从而无法实时的反馈数据,优化效果较差。

技术实现思路

[0009]本申请提供了一种参数预估方法、装置及电子设备,通过设置N个Flink子任务,将每个Flink子任务中的并行度处理待处理数据,获得每个Flink子任务中并行度处理待处理数据的实际数量值以及每个Flink子任务对应的资源分配率,再从N个资源分配率中确定出目标资源分配率以及目标资源分配率对应的处理待处理数据的Flink子任务的实际并行度,确保了获得的目标资源分配率以及处理待处理数据的Flink子任务的实际并行度为最优参数,从而能够实现对流计算的优化。
[0010]第一方面,本申请提供了一种参数预估方法,所述方法包括:
[0011]获得N个Flink子任务,其中,N为正整数,所述Flink子任务中有多个并行度,且每个Flink子任务中并行度的数量值不一致;
[0012]基于每个Flink子任务中的并行度处理待处理数据,获得每个Flink子任务中处理待处理数据的Flink子任务的实际并行度以及所述Flink子任务的资源分配率,获得N个资源分配率,其中,所述资源分配率为每个Flink子任务中处理待处理数据的所有并行度占用设备资源的百分比;
[0013]从N个资源分配率中筛选出目标资源分配率以及所述目标资源分配率对应的Flink子任务的实际并行度。
[0014]在一种可能的设计中,从N个资源分配率中筛选出目标资源分配率以及所述目标资源分配率对应的Flink子任务的实际并行度,包括:
[0015]获得N个Flink子任务的资源分配率,检测每个资源分配率是否在预设范围之内;
[0016]若是,则将在预设范围之内的最小资源分配率作为目标资源分配率,并获取所述目标资源分配率对应的Flink子任务的实际并行度;
[0017]若否,则提取所述预设范围中的目标端点值,计算所述资源分配率与所述目标端点值之间的差值,将最小差值对应的资源分配率作为目标资源分配率,并获取所述目标资源分配率对应的Flink子任务的实际并行度。
[0018]在一种可能的设计中,获得每个Flink子任务中处理待处理数据的Flink子任务的实际并行度,包括:
[0019]读取所述每个Flink子任务中处理待处理数据的并行度的当前数量值,并获得所述当前数量值的并行度对应的反压指标;
[0020]根据所述反压指标与预设阈值的关系调整处理待处理数据的所有并行度的当前数量值,直至所述反压指标低于所述预设阈值时,将符合第一预设规则的并行度的当前数量值作为实际数量值。
[0021]在一种可能的设计中,将符合第一预设规则的并行度的当前数量值作为实际数量值,包括:
[0022]读取每个Flink子任务对应的第一数量值区间,基于所述处理待处理数据的所有并行度的当前数量值对所述第一数量值区间进行更新;
[0023]当所述第一数量值区间的最小数量值不为1并且所述第一数量值区间中的最大数量值与最小数量值的差值不超过1时,计算出所述Flink子任务的实际并行度。
[0024]在一种可能的设计中,将符合第一预设规则的并行度的当前数量值作为实际数量值,包括:
[0025]获得不同第一数量值区间中处理待处理数据的所有并行度的反压指标;
[0026]按照预设排列顺序将所述反压指标进行排列,选取最小反压指标对应的第一数量值区间,基于所述第一数量值区间计算出处理待处理数据的所有Flink子任务的实际并行度。
[0027]在一种可能的设计中,根据所述反压指标与预设阈值的关系调整并行度的当前数量值,包括:
[0028]检测处理待处理数据的所有并行度的反压指标是否超过预设阈值;
[0029]若是,则获取所述处理待处理数据的所有并行度对应的当前数量值,基于第二预设规则调整所述处理待处理数据的所有并行度的当前数量值;
[0030]若否,则确定所述处理待处理数据的所有并行度的数量值大于1并且所述第一数量值区间中最大数量值与最小数量值的差值大于1时,基于第三预设规则调整所述处理待处理数据的所有并行度的当前数量值。
[0031]在一种可能的设计中,基于第二预设规则调整所述处理待处理数据的所有并行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种参数预估方法,其特征在于,所述方法包括:获得N个Flink子任务,其中,N为正整数,所述Flink子任务中有多个并行度,且每个Flink子任务中并行度的数量值不一致;基于每个Flink子任务中的并行度处理待处理数据,获得每个Flink子任务中处理待处理数据的Flink子任务的实际并行度以及所述Flink子任务的资源分配率,获得N个资源分配率,其中,所述资源分配率为每个Flink子任务中处理待处理数据的所有并行度被设备分配到的资源的百分比;从N个资源分配率中筛选出目标资源分配率以及所述目标资源分配率对应的Flink子任务的实际并行度。2.如权利要求1所述的方法,其特征在于,从N个资源分配率中筛选出目标资源分配率以及所述目标资源分配率对应的Flink子任务的实际并行度,包括:获得N个Flink子任务的资源分配率,检测每个资源分配率是否在预设范围之内;若是,则将在预设范围之内的最小资源分配率作为目标资源分配率,并获取所述目标资源分配率对应的Flink子任务的实际并行度;若否,则提取所述预设范围中的目标端点值,计算所述资源分配率与所述目标端点值之间的差值,将最小差值对应的资源分配率作为目标资源分配率,并获取所述目标资源分配率对应的Flink子任务的实际并行度。3.如权利要求1所述的方法,其特征在于,获得每个Flink子任务中处理待处理数据的Flink子任务的实际并行度,包括:读取所述每个Flink子任务中处理待处理数据的并行度的当前数量值,并获得所述当前数量值的并行度对应的反压指标,其中,所述反压指标为每个Flink子任务中处理待处理数据时进行排队的并行度的数量值与处理待处理数据的所有并行度的数量值的百分比;根据所述反压指标与预设阈值的关系调整处理待处理数据的所有并行度的当前数量值,直至所述反压指标低于所述预设阈值时,将符合第一预设规则的并行度的当前数量值作为实际数量值。4.如权利要求3所述的方法,其特征在于,将符合第一预设规则的并行度的当前数量值作为实际数量值,包括:读取每个Flink子任务对应的第一数量值区间,基于所述处理待处理数据的所有并行度的当前数量值对所述第一数量值区间进行更新;当所述第一数量值区间的最小数量值不为1并且所述第一数量值区间中的最大数量值与最小数量值的差值不超过1时,计算出所述Flink子任务的实际并行度。5.如权利要求3所述的方法,其特征在于,将符合第一预设规则的并行度的当前数量值作为实际数量值,包括:获得不同第一数量值区间中处理待处理数据的所有并行度的反压指标;按照预设排列顺序将所述反压指标进行排列,选取最小反压指标对应的第一数量值区间,基于所述第一数量值区间计算出处理待处理数据的所有Flink子任务的实际并行度。6.如权利要求3所述的方法,其特征在于,根据所述反压指标与预设阈值的关系调整并行度的当前数量值,包括:检测处理待处理数据的所有并行度的反压指标是否超过预设阈值;...

【专利技术属性】
技术研发人员:王际超周明伟
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1