一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式数据处理控制方法、装置、电子设备及存储介质与流程

2023-02-01 21:43:03 来源:中国专利 TAG:


1.本技术涉及大数据实时计算技术领域,尤其涉及分布式数据处理控制方法、装置、电子设备及存储介质。


背景技术:

2.在数据实时计算领域,在开发一套通用的数据实时计算服务时,单机的性能指标往往为核心指标之一,如在集群中每台服务器每秒可处理的数据量可作为性能指标,每台服务器每秒可处理1万条数据还是5万条数据,会直接决定用户集群的部署成本。
3.在数据实时计算服务的研发环境中,假设实验室环境测得的性能指标为每秒处理1万条数据,在用户集群环境中,3台服务器的性能指标理论上应为每秒处理3万条数据,此时,集群的cpu(central processing unit,中央处理单元)占比较高,网络带宽占比较低,当集群的服务器增加到一定数量,如增加到20台时,20台服务器的性能指标理论上应为每秒处理20万条数据,此时,集群的cpu消耗明显降低,网络带宽的占比明显提高,然而,针对这种情况很难给出一个通用最优的参数调试方案,需要研发人员针对一个用户的集群环境进行反复调试,才能得到一个满足实验室环境测得的性能指标的计算任务,或者当用户的集群规模与实验环境严重不符时,性能指标会大大降低。
4.针对上述情况,相关技术中通过监测数据的生产和处理速度判断数据处理任务是否达到性能瓶颈,也即判断待处理数据是否产生积压,如果产生数据积压,则由人工根据经验对数据处理任务的参数进行调整,如重新配置服务器中容器的个数,并重新配置容器内存以尽可能最优化设置参数来达到理论上的性能指标。而这需要人工长时间的调试,且调试难度较大,因为小规模的集群与大规模的集群部署相同的数据处理任务,对于硬件的消耗并不相同,因此,针对不同规模的集群无法适用一种统一的方案进行分布式数据处理方式的控制以使不同集群的服务器达到理论上的性能指标,并且,人工配置的方式效率较低。


技术实现要素:

5.为了解决针对不同规模的集群无法适用一种统一的方案进行分布式数据处理方式的控制以使不同集群的服务器达到理论上的性能指标,以及人工配置的方式效率较低的问题,本技术实施例提供了一种分布式数据处理控制方法、装置、电子设备及存储介质。
6.第一方面,本技术实施例提供了一种分布式数据处理控制方法,包括:
7.获取目标分布式集群的中央处理单元cpu使用率、网络带宽使用率和数据处理状态信息,所述数据处理状态信息表征待处理数据是否处于积压状态;
8.基于所述数据处理状态信息、所述cpu使用率和所述网络带宽使用率,确定目标分布式数据处理模式,控制所述目标分布式集群按照所述目标分布式数据处理模式进行数据处理。
9.在一种可能的实施方式中,所述分布式数据处理模式包括高cpu处理模式和高网络带宽处理模式;
10.基于所述数据处理状态信息、所述cpu使用率和所述网络带宽使用率,确定目标分布式数据处理模式,具体包括:
11.当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,若确定所述cpu使用率小于或等于第一设定阈值且所述网络带宽使用率小于或等于第二设定阈值,则获取所述目标分布式集群的当前任务并行度;
12.若确定所述目标分布式集群的当前任务并行度低于设定并行度上限值,则提高所述目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高cpu处理模式。
13.在一种可能的实施方式中,当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,还包括:
14.若确定所述cpu使用率小于或等于所述第一设定阈值且所述网络带宽使用率大于所述第二设定阈值,则确定无法满足计算性能指标,发出告警信息。
15.在一种可能的实施方式中,当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,还包括:
16.若确定所述cpu使用率大于所述第一设定阈值且所述网络带宽使用率小于或等于所述第二设定阈值,且未从所述高cpu处理模式切换过高网络带宽处理模式,则确定目标分布式数据处理模式为高网络带宽处理模式;
17.若确定所述cpu使用率大于所述第一设定阈值且所述网络带宽使用率大于所述第二设定阈值,则确定无法满足计算性能指标,发出告警信息。
18.在一种可能的实施方式中,基于所述数据处理状态信息、所述cpu使用率和所述网络带宽使用率,确定目标分布式数据处理模式,具体包括:
19.当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,若确定所述网络带宽使用率小于或等于第二设定阈值且所述cpu使用率小于或等于第一设定阈值,则获取所述目标分布式集群的当前任务并行度;
20.若确定所述目标分布式集群的当前任务并行度低于设定并行度上限值,则提高所述目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高网络带宽处理模式。
21.在一种可能的实施方式中,当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,还包括:
22.若确定所述带宽使用率小于或等于所述第二设定阈值且所述cpu使用率大于所述第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
23.在一种可能的实施方式中,当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,还包括:
24.若确定所述带宽使用率大于所述第二设定阈值且所述cpu使用率小于或等于所述第一设定阈值,且未从所述高网络带宽处理模式切换过高cpu处理模式,则确定目标分布式数据处理模式为高cpu处理模式;
25.若确定所述带宽使用率大于所述第二设定阈值且所述cpu使用率大于所述第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
26.在一种可能的实施方式中,所述高cpu处理模式为在所述目标分布式集群的各服务器中先进行数据分类处理后,再将分类处理后数据按类别发送至相应的目标服务器中进
行数据处理的模式;所述高网络带宽处理模式为先将所述目标分布式集群的各服务器的数据按类别发送至相应的目标服务器再进行数据处理的模式。
27.第二方面,本技术实施例提供了一种分布式数据处理控制装置,包括:
28.获取单元,用于获取目标分布式集群的中央处理单元cpu使用率、网络带宽使用率和数据处理状态信息,所述数据处理状态信息表征待处理数据是否处于积压状态;
29.控制单元,用于基于所述数据处理状态信息、所述cpu使用率和所述网络带宽使用率,确定目标分布式数据处理模式,控制所述目标分布式集群按照所述目标分布式数据处理模式进行数据处理。
30.在一种可能的实施方式中,所述分布式数据处理模式包括高cpu处理模式和高网络带宽处理模式;
31.所述控制单元,具体用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,若确定所述cpu使用率小于或等于第一设定阈值且所述网络带宽使用率小于或等于第二设定阈值,则获取所述目标分布式集群的当前任务并行度;若确定所述目标分布式集群的当前任务并行度低于设定并行度上限值,则提高所述目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高cpu处理模式。
32.在一种可能的实施方式中,所述装置,还包括:
33.第一告警单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,若确定所述cpu使用率小于或等于所述第一设定阈值且所述网络带宽使用率大于所述第二设定阈值,则确定无法满足计算性能指标,发出告警信息。
34.在一种可能的实施方式中,所述装置,还包括:
35.第一确定单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,若确定所述cpu使用率大于所述第一设定阈值且所述网络带宽使用率小于或等于所述第二设定阈值,且未从所述高cpu处理模式切换过高网络带宽处理模式,则确定目标分布式数据处理模式为高网络带宽处理模式;
36.第二告警单元,用于若确定所述cpu使用率大于所述第一设定阈值且所述网络带宽使用率大于所述第二设定阈值,则确定无法满足计算性能指标,发出告警信息。
37.在一种可能的实施方式中,所述控制单元,具体用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,若确定所述网络带宽使用率小于或等于第二设定阈值且所述cpu使用率小于或等于第一设定阈值,则获取所述目标分布式集群的当前任务并行度;若确定所述目标分布式集群的当前任务并行度低于设定并行度上限值,则提高所述目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高网络带宽处理模式。
38.在一种可能的实施方式中,所述装置,还包括:
39.第三告警单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,若确定所述带宽使用率小于或等于所述第二设定阈值且所述cpu使用率大于所述第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
40.在一种可能的实施方式中,所述装置,还包括:
41.第二确定单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,若确定所述带宽使用率大于所述第二设定阈值且所述
cpu使用率小于或等于所述第一设定阈值,且未从所述高网络带宽处理模式切换过高cpu处理模式,则确定目标分布式数据处理模式为高cpu处理模式;
42.第四告警单元,用于若确定所述带宽使用率大于所述第二设定阈值且所述cpu使用率大于所述第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
43.在一种可能的实施方式中,所述高cpu处理模式为在所述目标分布式集群的各服务器中先进行数据分类处理后,再将分类处理后数据按类别发送至相应的目标服务器中进行数据处理的模式;所述高网络带宽处理模式为先将所述目标分布式集群的各服务器的数据按类别发送至相应的目标服务器再进行数据处理的模式。
44.第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本技术所述的分布式数据处理控制方法。
45.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本技术所述的分布式数据处理控制方法中的步骤。
46.本技术的有益效果如下:
47.本技术实施例提供的分布式数据处理控制方法、装置、电子设备及存储介质,获取目标分布式集群的cpu使用率、网络带宽使用率和数据处理状态信息,数据处理状态信息表征待处理数据是否处于积压状态,基于数据处理状态信息、cpu使用率和网络带宽使用率,确定目标分布式数据处理模式,控制分布式集群按照目标分布式数据处理模式进行数据处理,相比于现有技术,本技术实施例提供的分布式数据处理控制方法无需通过人工配置目标分布式集群的服务器的容器及容器内存等参数来控制分布式数据处理达到理论上的性能指标,仅需通过自动监测目标分布式集群的cpu使用率、网络带宽使用率和数据处理状态信息,基于数据处理状态信息、cpu使用率和网络带宽使用率自适应地确定目标分布式数据处理模式,从任务处理逻辑上进行优化,控制目标分布式集群按照确定出的分布式数据处理模式进行分布式数据处理以使其可达到理论上的性能指标,这种自适应控制方式可适用于任意规模的集群,并提高了分布式数据处理控制的效率。
48.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
49.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
50.图1为本技术实施例提供的分布式数据处理控制方法的实施流程示意图;
51.图2为本技术实施例提供的示例集群在高网络带宽模式下分布式数据处理过程示意图;
52.图3为本技术实施例提供的示例集群在高cpu模式下分布式数据处理过程示意图;
53.图4为本技术实施例提供的分布式数据处理控制方法的整体流程图;
54.图5本技术实施例提供的分布式数据处理控制装置的结构示意图;
55.图6本技术实施例提供的电子设备的结构示意图。
具体实施方式
56.为了解决背景技术中的问题,本技术实施例提供了一种分布式数据处理控制方法、装置、电子设备及存储介质。
57.以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
58.在本文中,需要理解的是,本技术所涉及的技术术语中:
59.1、实时计算任务:在分钟或秒级别就可以得到结果的计算任务。
60.2、并行度:分布式计算任务(也即分布式数据处理任务)可被分为多个并行任务来执行,其中每个并行的实例处理一部分数据,这些并行实例的数量被称为并行度。
61.3、yarn(yet another resource negotiator)平台:是一个通用分布式资源管理系统和调度平台,yarn平台可将一个集群中所有服务器中的资源进行整合,如cpu、内存等,当提交任务到yarn平台上时,其会规定好任务需要的资源(如cpu、内存等),yarn平台会自动将任务分配到对应的服务器中执行。
62.4、数据积压:用来判断分布式实时计算任务(也即分布式数据处理任务)的性能,缓存于消息队列中的待处理数据会被分布式计算任务消费(即:处理),如果分布式计算任务消费数据的速度大于外部向消息队列写入数据的速度,那么数据进入消息队列后即会被立刻消费,如果分布式计算任务消费数据的速度小于外部向消息队列写入数据的速度,则会产生数据积压,产生数据积压表示分布式实时计算任务的性能不能满足数据的生产速度。
63.如图1所示,其为本技术实施例提供的分布式数据处理控制方法的实施流程示意图,该分布式数据处理控制方法可以应用于服务器中,具体可以包括以下步骤:
64.s11、获取目标分布式集群的cpu使用率、网络带宽使用率和数据处理状态信息。
65.具体实施时,在分布式集群进行分布式数据处理时,主要消耗三类资源:cpu、内存和网络带宽,可对这三类资源进行逻辑的控制,可实现相同的性能指标,也即:集群的服务器每秒处理数据的数量相同。
66.在实施过程中,可以在控制服务器上设置一个控制模块,用于实时监控目标分布式集群的cpu使用率、网络带宽使用率以及数据处理状态信息,其中,数据处理状态信息表征待处理数据是否处于积压状态,目标分布式集群的cpu使用率即为目标分布式集群的所有服务器的总cpu使用率,可以通过所有服务器的cpu总使用量与所有服务器的cpu可用的总量的比值进行计算获得,同理,目标分布式集群的网络带宽使用率即为目标分布式集群的所有服务器的总网络带宽使用率,可以通过所有服务器的网络带宽总使用量与所有服务器的网络带宽可用的总量的比值进行计算获得。
67.初始时,控制模块根据目标分布式集群的服务器的内存规划目标分布式集群的服务器执行分布式数据处理任务所需的内存,并预先设置集群中任务可用的并行度上限,任务可用的并行度上限可根据经验值进行设定,任务可用的并行度上限还可以设置为数据源并行度的整数倍,其中数据源是指缓存在kafka消息队列中的待处理数据,本技术实施例对此不作限定。控制模块为目标分布式集群设置cpu可用的总量或者cpu使用量占cpu总量的比例,以及设置网络带宽可用的总量或者网络带宽使用量占cpu总量的比例,本技术实施例
对此不作限定。
68.实时分布式数据处理任务有如下特点:当分布式数据处理任务的资源一旦确定,除非任务出错,否则资源会一直被占用,本技术实施例中,通过实验后得出了以下结论:在相同性能指标(即:每秒处理数据的数量相同)的前提下,分布式数据处理任务可以通过对逻辑的控制,也即对分布式数据处理模式的控制对分布式数据处理任务消耗硬件资源的情况进行控制,如:逻辑1:可设置集群的cpu具有高占用率(如cpu使用率在80%以上),集群的网络带宽具有低占用率(如网络带宽使用率在50%以下),这种分布式数据处理模式即为高cpu模式;逻辑2:可设置集群的cpu具有低占用率(如cpu使用率在50%以下),集群的网络带宽具有高占用率(如网络带宽使用率在80%以上),这种分布式数据处理模式即为高网络带宽处理模式,其中,高占用率的比例可根据经验值自行设定,本技术实施例对此不作限定。这样,不同的分布式数据处理模式可以达到相同的性能指标,通过对分布式数据处理模式的调整,就可以让一个数据实时计算服务更好地适配不同用户的集群环境。
69.在分布式数据处理业务中,一般需要将一批次数据中具有相同类别的数据(或数据中的字段)进行分类后,再将相同类别的数据(或数据中的字段)进行计算,具体的计算方式可由实际的业务规则确定,如对相同类别的数据的个数求和以统计相同类别的数据的个数,或者对相同类别的字段或针对该类别中的其他类型的字段进行计算等,分布式集群可按照本技术实施例提出的两种分布式数据处理模式:高cpu处理模式和高网络带宽处理模式执行分布式数据处理,高cpu处理模式为在分布式集群的各服务器中先进行数据分类处理后,再将分类处理后数据按类别发送至相应的目标服务器中进行数据处理的模式,高网络带宽处理模式为先将目标分布式集群的各服务器的数据按类别发送至相应的目标服务器再进行数据处理的模式。
70.下面对高cpu处理模式和高网络带宽处理模式进行详细说明:
71.假设一个分布式数据处理业务的处理规则为:对数据进行分类后再对相同类别数据统计个数,如果数据源(即待处理数据)中存在多种类别的数据,用1,2,3
……
,n表示数据类别,则共有n种数据类别,计算每个类别数据的个数可通过高cpu处理模式或高网络带宽处理模式实现,采用高网络带宽处理模式计算每个类别数据的个数时,不在集群服务器本地对数据进行分类,先将相同类别的数据通过网络发送至同一服务器上后,再在相应服务器上对相同类别的数据的数量进行统计,也就是说,不在集群服务器本地做分类聚合操作,而是直接通过网络做全局的分类聚合操作,假设一个集群包括三个服务器:服务器一、服务器二和服务器三,有三个类别的数据,分别以1、2、3表示,该集群在高网络带宽模式下分布式数据处理的示意图如图2所示,开始时服务器一、服务器二和服务器三分别被分配了两条数据1、一条数据2和一条数据3,需统计数据1、数据2和数据3各自的数量,此时,需先将相同类别的数据发送到同一台服务器中进行统计,例如可在服务器一上统计数据1的数量,在服务器二上统计数据2的数量,在服务器三上统计数据3的数量,那么服务器一就需要将数据2发送到服务器二,将数据3发送到服务器三,将两条数据1保留在服务器一中,依次类推,服务器二需要将两条数据1发送至服务器一,将数据3发送至服务器三,将数据2保留在服务器二中,同理,服务器三需要将两条数据1发送至服务器一,将数据2发送至服务器二,将数据3保留在服务器三中,这样,服务器一中包含6条数据1,对其进行统计后得到(1,6),表示数据类别为1的数据的数量为6条,服务器二中包含3条数据1,对其进行统计后得到(2,3),表示
数据类别为2的数据的数量为3条,服务器三中包含3条数据3,对其进行统计后得到(3,3),表示数据类别为3的数据的数量为3条。在服务器发送数据的过程中,服务器一需向服务器二发送一条数据(即数据2),向服务器三发送一条数据(即数据3),服务器二需向服务器一发送两条数据(即两条数据1),向服务器三发送一条数据(即数据3),服务器三需向服务器一发送两条数据(即两条数据1),向服务器二发送一条数据(即数据2),三台服务器通过网络分发的总的数据条数即为:1 1 2 1 2 1=8。
72.如果集群包含m台服务器,数据源中包含n种类别的数据,假设每类数据被分配到每台服务器中x
ij
(i=1,2,......,m,j=1,2,
……
,n)条,那么第i台服务器中就包含条数据。如图2中,m=3,开始时,分配到第一台服务器中的类别为1的数据的数量为:x
11
=2,分配到第一台服务器中的类别为2的数据的数量为:x
12
=1,分配到第一台服务器中的类别为3的数据的数量为:x
13
=1,第一台数据中包含的数据的总数量为:x
11
x
12
x
13
=4。
73.通过对数据进行分类后,m台服务器的第i台服务器被分配的数据的类别的个数为li(i=1,2,
……
,m),其中,已i≥1,且设li为前述n个类别数据中的任意li个类别,分别记为:类,则第i台服务器需要保留所被分配的li类数据的数据条数为:则第i台服务器需要通过网络分发的数据条数为:如图2中,第1台服务器被分配的数据的类别的个数l1=1,即数据类别1:j1,第2台服务器被分配的数据的类别的个数l2=1,即数据类别2:j2,第3台服务器被分配的数据的类别的个数l3=1,即数据类别3:j3,第1台服务器需要保留的数据条数为:x
11
=2,即两条数据1,第2台服务器需要保留的数据条数为:x
12
=1,即一条数据2,第3台服务器需要保留的数据条数为:x
13
=1,即一条数据3,则第1台服务器需要通过网络分发的数据条数为:4-2=2,第2台服务器需要通过网络分发的数据条数为:4-1=3,第3台服务器需要通过网络分发的数据条数为:4-1=3,三台服务器需要通过网络分发的数据总数量为:2 3 3=8条。
74.采用高cpu处理模式计算每个类别数据的个数时,线在集群服务器本地对数据进行分类并统计本地服务器中各类数据的数量,再将相同类别的数据及其数量通过网络发送至同一服务器上,再在相应服务器上对相同类别的数据的数量求和,也就是说,先在集群服务器本地做分类聚合操作,聚合后再通过网络做全局的分类聚合,仍以图2中集群为例进行说明,该集群在高cpu模式下分布式数据处理的示意图如图3所示,同样地,开始时服务器一、服务器二和服务器三分别被分配了两条数据1、一条数据2和一条数据3,各服务器先在本地对各类数据的数量进行统计,服务器一得到统计结果如下:(1,2)、(2,1)、(3,1),其中,(1,2)表示数据1的数量为2条,数据2的数量为1条,数据3的数量为1条,同理,服务器二和服务器三得到同样的统计结果:(1,2)、(2,1)、(3,1),进而,服务器一将数据2的数量的统计结果(2,1)发送至服务器二,将数据3的数量的统计结果(3,1)发送至服务器三,将数据1的数量的统计结果(1,2)保留在服务器一上,服务器二将数据1的数量的统计结果(1,2)发送至服务器一,将数据3的数量的统计结果(3,1)发送至服务器三,将数据2的数量的统计结果
(2,1)保留在服务器二上,服务器三将数据1的数量的统计结果(1,2)发送至服务器一,将数据2的数量的统计结果(2,1)发送至服务器二,将数据3的数量的统计结果(3,1)保留在服务器三上,进而,服务器一根据其上包含的数据(1,2)、(1,2)、(1,2)可统计出数据1的数量为:2 2 2=6条,服务器二根据其上包含的数据(2,1)、(2,1)、(2,1)可统计处数据2的数量为:1 1 1=3条,服务器二根据其上包含的数据(3,1)、(3,1)、(3,1)可统计处数据3的数量为:1 1 1=3条。字啊服务器发送数据的过程中,服务器一向服务器二发送了一条数据(2,1),向服务器三发送了一条数据(3,1),服务器二向服务器一发送了一条数据(1,2,),向服务器三发送了一条数据(3,1),服务器三向服务器一发送了一条数据(1,2),向服务器二发送了一条数据(2,1),则三台服务器通过网络分发的总的数据条数即为:1 1 1 1 1 1=6。
75.如果集群包含m台服务器,数据源中包含n种类别的数据,假设每类数据被分配到每台服务器中x
ij
(i=1,2,......,m,j=1,2,......,n)条,那么第i台服务器中就包含条数据。如图3中,m=3,开始时,分配到第一台服务器中的类别为1的数据的数量为:x
11
=2,分配到第一台服务器中的类别为2的数据的数量为:x
12
=1,分配到第一台服务器中的类别为3的数据的数量为:x
13
=1,第一台数据中包含的数据的总数量为:x
11
x
12
x
13
=4。
76.当数据在本地服务器进行第一次分类聚合后,第i台服务器中只存在条数据,其中y
ij
∈{0,1},且y
ij
≤xij,以服务器一为例,y
11
=y
12
=y
13
=1,即:数据(1,2)1条、数据(2,1)1条和数据(3,1)1条,y
11
y
12
y
13
=3。再次分类后,m台服务器的第i台服务器被分配的数据的类别的个数为li(i=1,2,......,m),其中,li≥1,且设li为前述n个类别数据中的任意li个类别,分别记为:类,则第i台服务器需要保留所被分配的li类数据的数据条数为:则第i台服务器需要通过网络分发的数据条数为:如图3中,第1台服务器被分配的数据的类别的个数l1=1,即数据类别1:j1,第2台服务器被分配的数据的类别的个数l2=1,即数据类别2:j2,第3台服务器被分配的数据的类别的个数l3=1,即数据类别3:j3,同理,可计算出三台服务器需要通过网络分发的数据总数量为:6条。由此可知,一般情况下,相比于高网络带宽模式下的高cpu处理模式下更节省网络带宽资源。
77.相比于使用高网络带宽处理模式,在高cpu处理模式下,集群中服务器由于在本地进行了两次数据数量的统计,多消耗了cpu资源;而在高cpu处理模式下,服务器通过网络分发的总的数据条数为6条,在高网络带宽处理模式下,服务器通过网络分发的总的数据条数是8条,因此,在高cpu处理模式下消耗的网络带宽资源低于在高网络带宽处理模式下消耗的网络带宽资源。
78.在具体实施时,当控制模块为集群配置好内存资源后,可先控制集群按照高cpu模式执行分布式数据处理,也可以控制集群按照高网络带宽模式执行分布式数据处理,本技术实施例对此不作限定,在集群执行分布式数据处理一段时间后,监控消息队列中的待处
理数据是否产生数据积压,如未产生数据积压,则表明当前配置的分布式数据处理模式可满足理论上的性能指标,即:服务器每秒可处理的数据量满足要求,则控制模块可退出,不再进行监控。如果产生数据积压,则根据获取的当前cpu使用率和网络带宽使用率重新确定目标分布式处理模式。
79.s12、基于数据处理状态信息、cpu使用率和网络带宽使用率,确定目标分布式数据处理模式,控制目标分布式集群按照目标分布式数据处理模式进行数据处理。
80.具体实施时,当确定数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,可通过以下方式确定目标分布式数据处理模式:
81.若确定cpu使用率小于或等于第一设定阈值且网络带宽使用率小于或等于第二设定阈值,则获取目标分布式集群的当前任务并行度,若确定目标分布式集群的当前任务并行度低于设定并行度上限值,则提高目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高cpu处理模式;若确定cpu使用率小于或等于第一设定阈值且网络带宽使用率大于第二设定阈值,则确定无法满足计算性能指标,发出告警信息。其中,第一设定阈值和第二设定阈值可根据需求自行进行设定,例如可以将第一设定阈值和第二设定阈值均设置为90%,也可以设置为不同的值,本技术实施例对此不作限定。
82.具体地,如果消息队列中有数据积压,则表明目标分布式集群采用当前的高cpu处理模式进行分布式数据处理的性能不足,此时,控制模块检查目标分布式集群的cpu使用率是否超过第一设定阈值,如果cpu使用率未超过第一设定阈值,则继续检查目标分布式集群的网络带宽使用率是否超过第二设定阈值,如果网络带宽使用率未超过第二设定阈值,则检查目标分布式集群的当前任务并行度是否达到设定并行度上限值,如果当前任务并行度低于设定并行度上限值,则可增加目标分布式集群的当前任务并行度,控制模块重新对目标分布式集群以高cpu处理模式部署任务,控制目标分布式集群以高cpu处理模式进行数据处理,如果当前任务并行度已超过并行度上限值,则表明此任务无法部署,无法满足计算性能指标,发出告警信息,以通知用户增加服务器或提高服务器硬件性能。如果cpu使用率小于或等于第一设定阈值,但是网络带宽使用率大于第二设定阈值,则表明在高cpu处理模式下且网络带宽消耗很高的情况下仍然无法满足性能指标而产生数据积压,控制模块则发出告警信息以通知用户增加服务器或提高服务器硬件性能。
83.在具体实施时,若确定cpu使用率大于第一设定阈值且网络带宽使用率小于或等于第二设定阈值,且未从高cpu处理模式切换过高网络带宽处理模式,则确定目标分布式数据处理模式为高网络带宽处理模式;若确定cpu使用率大于第一设定阈值且网络带宽使用率大于第二设定阈值,则确定无法满足计算性能指标,发出告警信息。
84.具体地,如果cpu使用率大于第一设定阈值,且网络带宽使用率小于或等于第二设定阈值,控制模块则可检查在此之前是否已切换过高网络带宽处理模式,以防止控制模块在两种分布式数据处理模式中进行循环切换,如果未切换过,则将过高网络带宽处理模式确定为目标分布式数据处理模式,控制目标分布式集群将分布式数据处理模式从高cpu处理模式切换为高网络带宽处理模式,控制目标分布式集群以高网络带宽处理模式进行数据处理。如果cpu使用率大于第一设定阈值,且网络带宽使用率大于第二设定阈值,控制模块则确定集群当前部署模式无法满足计算性能指标,控制模块则发出告警信息以通知用户增加服务器或提高服务器硬件性能。
85.在另一种可能的实施方式中,当确定数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,可通过以下方式确定目标分布式数据处理模式:
86.若确定网络带宽使用率小于或等于第二设定阈值且cpu使用率小于或等于第一设定阈值,则获取目标分布式集群的当前任务并行度,若确定目标分布式集群的当前任务并行度低于设定并行度上限值,则提高目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高网络带宽处理模式;若确定带宽使用率小于或等于第二设定阈值且cpu使用率大于第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
87.具体地,如果消息队列中有数据积压,则表明目标分布式集群采用当前的高网络带宽处理模式进行分布式数据处理的性能不足,此时,控制模块检查目标分布式集群的网络带宽使用率是否超过第二设定阈值,如果网络带宽使用率未超过第二设定阈值,则继续检查目标分布式集群的cpu使用率是否超过第一设定阈值,如果cpu使用率未超过第一设定阈值,则检查目标分布式集群的当前任务并行度是否达到设定并行度上限值,如果当前任务并行度低于设定并行度上限值,则可增加目标分布式集群的当前任务并行度,控制模块重新对目标分布式集群以高网络带宽处理模式部署任务,控制目标分布式集群以高网络带宽处理模式进行数据处理,如果当前任务并行度已超过并行度上限值,则表明此任务无法部署,无法满足计算性能指标,发出告警信息,以通知用户增加服务器或提高服务器硬件性能。如果网络带宽使用率小于或等于第二设定阈值,但是cpu使用率大于第一设定阈值,则表明在高网络带宽处理模式下且cpu消耗很高的情况下仍然无法满足性能指标而产生数据积压,控制模块则发出告警信息以通知用户增加服务器或提高服务器硬件性能。
88.在具体实施时,若确定带宽使用率大于第二设定阈值且cpu使用率小于或等于第一设定阈值,且未从高网络带宽处理模式切换过高cpu处理模式,则确定目标分布式数据处理模式为高cpu处理模式;若确定带宽使用率大于所述第二设定阈值且cpu使用率大于第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
89.具体地,如果带宽使用率大于第二设定阈值,且cpu使用率小于或等于第一设定阈值,控制模块则可检查在此之前是否已从高网络带宽处理模式切换过高cpu处理模式,以防止控制模块在两种分布式数据处理模式中进行循环切换,如果未切换过,则将过高cpu处理模式确定为目标分布式数据处理模式,控制目标分布式集群将分布式数据处理模式从高网络带宽处理模式切换为高cpu处理模式,控制目标分布式集群以高cpu处理模式进行数据处理。如果网络带宽使用率大于第二设定阈值,且cpu使用率大于第一设定阈值,控制模块则确定集群当前部署模式无法满足计算性能指标,控制模块则发出告警信息以通知用户增加服务器或提高服务器硬件性能。
90.本技术实施例提供的分布式数据处理控制方法无需通过人工配置目标分布式集群的服务器的容器及容器内存等参数来控制分布式数据处理达到理论上的性能指标,仅需通过自动监测目标分布式集群的cpu使用率、网络带宽使用率和数据处理状态信息,基于数据处理状态信息、cpu使用率和网络带宽使用率自适应地确定目标分布式数据处理模式,从任务处理逻辑上进行优化,可实现两种逻辑:一种偏向于消耗更高的cpu资源,而降低网络带宽资源的消耗,一种偏向于消耗更高的网络带宽资源,而降低cpu资源的消耗,控制目标分布式集群按照确定出的分布式数据处理模式进行分布式数据处理以使其可达到理论上的性能指标,这种自适应控制方式可适用于任意规模的集群,并提高了分布式数据处理控
制的效率。
91.基于同一发明构思,本技术实施例还提供了一种分布式数据处理控制装置,由于上述分布式数据处理控制装置解决问题的原理与上述分布式数据处理控制方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
92.本技术实施例提供的分布式数据处理控制方法的整体流程图如图4所示,包括以下步骤:
93.s21、判断cpu使用率是否超过上限,如果否,则执行步骤s22,如果是,则执行步骤s212。
94.判断cpu使用率是否超过第一设定阈值,如果未超过第一设定阈值,则执行步骤s22,如果超过第一设定阈值,则执行步骤s212。
95.s22、使用高cpu处理模式部署任务。
96.s23、判断数据是否无积压,如果数据无积压,则保持高cpu处理模式部署任务,结束流程,如果数据有积压,则执行步骤s24。
97.s24、判断cpu使用率是否超过上限,如果否,则执行步骤s25,如果是,则执行步骤s29。
98.判断cpu使用率是否超过第一设定阈值,如果未超过第一设定阈值,则执行步骤s25,如果超过第一设定阈值,则执行步骤s29。
99.s25、判断带宽使用率是否超过上限,如果是,则执行步骤s26,如果否,则执行步骤s27。
100.判断带宽使用率是否超过第二设定阈值,如果超过第二设定阈值,则执行步骤s26,如果未超过第二设定阈值,则执行步骤s27。
101.s26、确定无法部署任务。
102.确定无法满足计算性能指标,不能部署任务,发出告警信息。
103.s27、判断并行度是否达到上限,如果是,则执行步骤s26,如果否,则执行步骤s28。
104.判断当前任务并行度是否达到并行度上限值,如果达到并行度上限值,则执行步骤s26,如果未达到并行度上限值,则执行步骤s28。
105.s28、增大并行度。
106.增大当前任务并行度。
107.s29、判断带宽使用率是否超过上限,如果是,则执行步骤s26,如果否,则执行步骤s210。
108.判断带宽使用率是否超过第二设定阈值,如果是,则执行步骤s26,如果否,则执行步骤s210。
109.s210、判断是否切换过模式,如果是,则结束流程,如果否,则执行步骤s211。
110.判断是否切换过高网络带宽处理模式,如果是,则结束流程,如果否,则执行步骤s211。
111.s211、使用高网络带宽处理模式布置任务。
112.s212、判断cpu使用率是否超过上限,如果是,则执行步骤s213,如果否,则执行步骤s211。
113.判断cpu使用率是否超过第一设定阈值,如果是,则执行步骤s213,如果否,则执行
步骤s211。
114.s213、确定无法部署任务。
115.确定无法满足计算性能指标,不能部署任务,发出告警信息。
116.s214、判断数据是否无积压,如果数据无积压,则保持高网络带宽处理模式部署任务,结束流程,如果数据有积压,则执行步骤s215。
117.s215、判断带宽使用率是否超过上限,如果否,则执行步骤s216,如果是,则执行步骤s220。
118.判断带宽使用率是否超过第二设定阈值,如果未超过第二设定阈值,则执行步骤s216,如果超过第二设定阈值,则执行步骤s220。
119.s216、判断cpu使用率是否超过上限,如果是,则执行步骤s217,如果否,则执行步骤s218。
120.判断cpu使用率是否超过第一设定阈值,如果超过第一设定阈值,则执行步骤s217,如果未超过第一设定阈值,则执行步骤s218。
121.s217、确定无法部署任务。
122.确定无法满足计算性能指标,不能部署任务,发出告警信息。
123.s218、判断并行度是否达到上限,如果是,则执行步骤s217,如果否,则执行步骤s219。
124.判断当前任务并行度是否达到并行度上限值,如果是,则执行步骤s217,如果否,则执行步骤s219。
125.s219、增大并行度。
126.增大当前任务并行度。
127.s220、判断cpu使用率是否超过上限,如果是,则执行步骤s217,如果否,则执行步骤s221。
128.判断cpu使用率是否超过第一设定阈值,如果是,则执行步骤s217,如果否,则执行步骤s221。
129.s221、判断是否切换过模式,如果是,则结束流程,如果否,则执行步骤s211。
130.判断是否切换过高cpu带宽处理模式,如果是,则结束流程,如果否,则执行步骤s22。
131.上述流程可应用于本技术实施例中的控制模块。
132.如图5所示,其为本技术实施例提供的分布式数据处理控制装置的结构示意图,可以包括:
133.获取单元31,用于获取目标分布式集群的中央处理单元cpu使用率、网络带宽使用率和数据处理状态信息,所述数据处理状态信息表征待处理数据是否处于积压状态;
134.控制单元32,用于基于所述数据处理状态信息、所述cpu使用率和所述网络带宽使用率,确定目标分布式数据处理模式,控制所述目标分布式集群按照所述目标分布式数据处理模式进行数据处理。
135.在一种可能的实施方式中,所述分布式数据处理模式包括高cpu处理模式和高网络带宽处理模式;
136.所述控制单元32,具体用于当确定所述数据处理状态为积压状态、且当前分布式
数据处理模式为高cpu处理模式时,若确定所述cpu使用率小于或等于第一设定阈值且所述网络带宽使用率小于或等于第二设定阈值,则获取所述目标分布式集群的当前任务并行度;若确定所述目标分布式集群的当前任务并行度低于设定并行度上限值,则提高所述目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高cpu处理模式。
137.在一种可能的实施方式中,所述装置,还包括:
138.第一告警单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,若确定所述cpu使用率小于或等于所述第一设定阈值且所述网络带宽使用率大于所述第二设定阈值,则确定无法满足计算性能指标,发出告警信息。
139.在一种可能的实施方式中,所述装置,还包括:
140.第一确定单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高cpu处理模式时,若确定所述cpu使用率大于所述第一设定阈值且所述网络带宽使用率小于或等于所述第二设定阈值,且未从所述高cpu处理模式切换过高网络带宽处理模式,则确定目标分布式数据处理模式为高网络带宽处理模式;
141.第二告警单元,用于若确定所述cpu使用率大于所述第一设定阈值且所述网络带宽使用率大于所述第二设定阈值,则确定无法满足计算性能指标,发出告警信息。
142.在一种可能的实施方式中,所述控制单元32,具体用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,若确定所述网络带宽使用率小于或等于第二设定阈值且所述cpu使用率小于或等于第一设定阈值,则获取所述目标分布式集群的当前任务并行度;若确定所述目标分布式集群的当前任务并行度低于设定并行度上限值,则提高所述目标分布式集群的当前任务并行度,并确定目标分布式数据处理模式为高网络带宽处理模式。
143.在一种可能的实施方式中,所述装置,还包括:
144.第三告警单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,若确定所述带宽使用率小于或等于所述第二设定阈值且所述cpu使用率大于所述第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
145.在一种可能的实施方式中,所述装置,还包括:
146.第二确定单元,用于当确定所述数据处理状态为积压状态、且当前分布式数据处理模式为高网络带宽处理模式时,若确定所述带宽使用率大于所述第二设定阈值且所述cpu使用率小于或等于所述第一设定阈值,且未从所述高网络带宽处理模式切换过高cpu处理模式,则确定目标分布式数据处理模式为高cpu处理模式;
147.第四告警单元,用于若确定所述带宽使用率大于所述第二设定阈值且所述cpu使用率大于所述第一设定阈值,则确定无法满足计算性能指标,发出告警信息。
148.在一种可能的实施方式中,所述高cpu处理模式为在所述目标分布式集群的各服务器中先进行数据分类处理后,再将分类处理后数据按类别发送至相应的目标服务器中进行数据处理的模式;所述高网络带宽处理模式为先将所述目标分布式集群的各服务器的数据按类别发送至相应的目标服务器再进行数据处理的模式。
149.基于同一技术构思,本技术实施例还提供了一种电子设备400,参照图6所示,电子设备400用于实施上述方法实施例记载的分布式数据处理控制方法,该实施例的电子设备400可以包括:存储器401、处理器402以及存储在所述存储器中并可在所述处理器上运行的
计算机程序,例如分布式数据处理控制程序。所述处理器执行所述计算机程序时实现上述各个分布式数据处理控制方法实施例中的步骤,例如图1所示的步骤s11。
150.本技术实施例中不限定上述存储器401、处理器402之间的具体连接介质。本技术实施例在图6中以存储器401、处理器402之间通过总线403连接,总线403在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
151.存储器401可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器401也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器401是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器401可以是上述存储器的组合。
152.处理器402,用于实现本技术各种示例性实施方式的分布式数据处理控制方法。
153.本技术实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
154.在一些可能的实施方式中,本技术提供的分布式数据处理控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本技术各种示例性实施方式的分布式数据处理控制方法中的步骤。
155.本领域内的技术人员应明白,本技术的实施例可提供为方法、装置、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
156.本技术是参照根据本技术实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
157.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
158.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
159.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
160.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献