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

资源分配调整方法、装置、电子设备和可读存储介质与流程

2021-10-24 07:02:00 来源:中国专利 TAG:分布式 电子设备 资源管理 装置 可读


1.本发明涉及分布式系统资源管理技术领域,具体而言,涉及一种资源分配调整方法、装置、电子设备和可读存储介质。


背景技术:

2.hadoop是一种分布式系统架构,被设计成适合运行在通用硬件上的分布式文件系统。hadoop能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。一般的hadoop集群是由代理节点异构组成,系统任务实例被分配到各个代理节点上执行。cpu、内存等资源在各个代理节点上的配置通常会有差异。
3.目前,对于代理节点的资源分配和任务实例的资源分配,通常是用户通过与资源管理器通信并指定需要的任务实例数和单个任务实例资源。资源管理器根据用户所指定的任务实例数和单个任务实例资源,将任务实例分发至代理节点上执行。管理员可通过与资源管理器通信来提高或减少代理节点的资源总量,如图1中所示。现有技术中的这种调整方式局限于人工介入调整,并且,仅仅以代理节点整体资源为调整对象,并未对代理节点内部任务实例资源进行合理调整。并且,实际情况下,可能存在任务实例实际使用资源与其申请资源(显示资源)并不相符的情况,现有调整方式下可能存在任务实例资源使用率很低的现象。


技术实现要素:

4.本发明的目的包括,例如,提供了一种资源分配调整方法、装置、电子设备和可读存储介质,其能够实现代理节点整体和内部任务的资源调整且提高资源使用率。
5.本发明的实施例可以这样实现:
6.第一方面,本发明提供一种资源分配调整方法,应用于分布式系统中的管理节点,所述分布式系统还包含多个代理节点,各所述代理节点执行至少一个任务实例,所述方法包括:
7.针对各所述代理节点,获得所述代理节点所执行的各所述任务实例的资源申请量和资源实际使用量;
8.根据所述资源申请量和资源实际使用量确定第一资源调整量和第二资源调整量;
9.基于所述第一资源调整量为所述代理节点进行资源分配调整,并基于所述第二资源调整量为所述代理节点所执行的各所述任务实例进行资源分配调整。
10.在可选的实施方式中,根据所述资源申请量和资源实际使用量确定第一资源调整量的步骤,包括:
11.分别根据所述代理节点所执行的所有任务实例的资源申请量和资源实际使用量,获得所述代理节点的显示占用资源量和实际占用资源量;
12.获得所述代理节点的运行繁忙度;
13.根据所述显示占用资源量、实际占用资源量和运行繁忙度确定第一资源调整量。
14.在可选的实施方式中,所述根据所述显示占用资源量、实际占用资源量和运行繁忙度确定第一资源调整量的步骤,包括:
15.在所述显示占用资源量大于所述实际占用资源量,且所述运行繁忙度低于预设值时,计算得到所述显示占用资源量与所述实际占用资源量之间的差值;
16.基于所述差值确定第一资源调整量。
17.在可选的实施方式中,所述基于所述差值确定第一资源调整量的步骤,包括:
18.获得所述代理节点的总资源量;
19.根据所述差值和所述总资源量确定第一资源调整量,以使在所述代理节点的总资源量上加上所述第一资源调整量后相应的剩余可用资源满足设定要求,所述剩余可用资源等于更新后的总资源量减去显示占用资源量。
20.在可选的实施方式中,根据所述资源申请量和资源实际使用量确定第二资源调整量的步骤,包括:
21.针对所述代理节点执行的各所述任务实例,获得所述任务实例被提交时携带的当前可调整率;
22.在所述任务实例的资源申请量、资源实际使用量和当前可调整率之间的关系满足预设关系时,根据所述当前可调整率确定第二资源调整量。
23.在可选的实施方式中,所述方法还包括获得提交的任务实例的当前可调整率的步骤,该步骤包括:
24.在当前提交的任务实例为非首次提交时,获得所述任务实例在历史提交并执行后的历史资源信息;
25.根据所述历史资源信息计算得到所述任务实例的历史可调整率;
26.基于所述任务实例的历史可调整率获得所述任务实例的当前可调整率。
27.在可选的实施方式中,所述基于所述任务实例的历史可调整率获得所述任务实例的当前可调整率的步骤,包括:
28.获得所述任务实例在历史提交时携带的历史扫描数据量,以及所述任务实例本次提交时携带的当前扫描数据量;
29.根据所述历史扫描数据量和当前扫描数据量计算得到扫描数据量差率;
30.基于所述扫描数据量差率和所述历史可调整率获得所述任务实例的当前可调整率。
31.在可选的实施方式中,各所述代理节点具有多种计算资源;
32.所述获得所述代理节点所执行的各所述任务实例的资源申请量和资源实际使用量的步骤,包括:
33.获取所述代理节点所执行的各所述任务实例对各所述计算资源的资源申请量;
34.每间隔预设时长,采集所述代理节点所执行的各所述任务实例对各所述计算资源的资源实际使用量,并记录采集时的时间戳;
35.将记录的时间戳、各所述计算资源的资源实际使用量和资源申请量按预设格式打包后保存。
36.第二方面,本发明提供一种资源分配调整装置,应用于分布式系统中的管理节点,所述分布式系统还包含多个代理节点,各所述代理节点执行至少一个任务实例,所述装置
包括:
37.获得模块,用于针对各所述代理节点,获得所述代理节点所执行的各所述任务实例的资源申请量和资源实际使用量;
38.确定模块,用于根据所述资源申请量和资源实际使用量确定第一资源调整量和第二资源调整量;
39.分配调整模块,用于基于所述第一资源调整量为所述代理节点进行资源分配调整,并基于所述第二资源调整量为所述代理节点所执行的各所述任务实例进行资源分配调整。
40.第三方面,本发明提供一种电子设备,包括一个或多个存储介质和一个或多个与存储介质通信的处理器,一个或多个存储介质存储有处理器可执行的机器可执行指令,当电子设备运行时,处理器执行所述机器可执行指令,以执行前述实施方式中任意一项所述的方法步骤。
41.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可执行指令,所述机器可执行指令被执行时实现前述实施方式中任意一项所述的方法步骤。
42.本发明实施例的有益效果包括,例如:
43.本技术提供的资源分配调整方法、装置、电子设备和可读存储介质,通过获得系统中各个代理节点所执行的各个任务实例的资源申请量和资源实际使用量,根据资源申请量和资源实际使用量确定第一资源调整量和第二资源调整量,基于第一资源调整量为代理节点进行资源分配调整,并基于第二资源调整量为代理节点所执行的各任务实例进行资源分配调整。本方案中,分别从代理节点整体以及代理节点内部任务实例的资源进行调整,实现代理节点之间的资源合理分配和代理节点内部任务实例之间的资源合理分配,并且,综合资源申请量和资源实际使用量确定资源调整量,缓解资源的申请与资源实际使用不相符的问题,可提高资源使用率。
附图说明
44.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
45.图1为现有的资源管理系统的架构图;
46.图2为本技术实施例提供的资源分配调整方法的应用场景示意图;
47.图3为本技术实施例提供的资源分配调整方法的流程图;
48.图4为图3中步骤s120包含的子步骤的流程图;
49.图5为图3中步骤s120包含的子步骤的另一流程图;
50.图6为本技术实施例提供的资源分配调整方法中,当前可调整率获取方法的流程图;
51.图7为图6中步骤s230包含的子步骤的流程图;
52.图8为本技术实施例提供的资源管理系统的架构图;
53.图9为本技术实施例提供的电子设备的结构框图;
54.图10为本技术实施例提供的资源分配调整装置的功能模块框图。
55.图标:110

存储介质;120

处理器;130

资源分配调整装置;131

获得模块;132

确定模块;133

分配调整模块;140

通信接口。
具体实施方式
56.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
57.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
58.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
59.在本发明的描述中,需要说明的是,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
60.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
61.请参阅图2,为本技术实施例提供的资源分配调整方法的应用场景示意图。本实施例中,该分配调整方法的应用场景可以是hadoop集群的资源管理系统,如hadoop yarn。该应用场景中包括管理节点和与管理节点通信的多个代理节点。其中,管理节点可以是系统中多个器件的集群,例如,管理节点除了包含传统hadoop集群中的资源管理器resource manager之外,还包含资源收集器、机器资源决策器、任务资源采集器和任务提交器。
62.需要说明的是,本实施例中,资源管理器、资源收集器、机器资源决策器、任务资源采集器和任务提交器可以部署在同一设备上,例如部署在同一服务器中,作为服务器中可通信的多个部件以实现资源分配调整。
63.其中,各个代理节点node manager为系统中实际执行任务的机器,集群的资源总量等于所有代理节点资源总量之和。系统中,container是yarn对计算机计算资源的抽象,它其实就是一组cpu和内存资源,所有的应用都会运行在container中。application master是对运行在yarn中某个应用的抽象,它其实就是某个类型应用的实例。application master是应用级别的,它的主要功能就是向资源管理器申请计算资源(containers)并且和代理节点交互来执行和监控具体的任务。scheduler是资源管理器专门进行资源管理的一个组件,负责分配代理节点上的container资源,代理节点也会不断发送自己资源使用情况给资源管理器。
64.本实施例中,在系统原有的架构的基础上,增加了资源收集器、机器资源决策器、任务资源采集器和任务提交器。其中,各个代理节点分别配置有对应的资源收集器,该资源收集器用于采集对应的代理节点的资源信息,并将资源信息发送到机器资源决策器。机器资源决策器根据资源收集器所采集的资源信息,统计其对应的代理节点的资源情况,并对
外提供代理节点的资源统计情况。任务资源采集器,可通过与资源管理器的通信,采集已完成的任务实例的资源信息,包括如运行时长、实际使用资源量、申请资源量等等。
65.而任务提交器,可以负责提交用户需要运行的具体任务,并提供任务的相关调整信息,以用于后续任务资源调整的辅助。
66.结合图3,本技术实施例还提供一种可应用于电子设备的资源分配调整方法,用于对代理节点资源以及代理节点内部各任务实例资源进行调整。其中,该电子设备可以是上述的管理节点,由管理节点包含的多个器件实现资源分配调整。所述资源分配调整方法有关的流程所定义的方法步骤可以由所述电子设备实现。下面将对图3所示的具体流程进行详细阐述。
67.步骤s110,针对各所述代理节点,获得所述代理节点所执行的各所述任务实例的资源申请量和资源实际使用量。
68.步骤s120,根据所述资源申请量和资源实际使用量确定第一资源调整量和第二资源调整量。
69.步骤s130,基于所述第一资源调整量为所述代理节点进行资源分配调整,并基于所述第二资源调整量为所述代理节点所执行的各所述任务实例进行资源分配调整。
70.本实施例中,资源管理系统中包含多个代理节点,各个代理节点为系统中实际执行具体任务的机器,多个代理节点构成一集群。任务提交可以通过任务提交器与资源管理器通信进行提交。资源管理器负责所有的代理节点,并且,可以决定将提交上来的任务分配到哪个代理节点上执行。
71.本实施例中,任务提交器所提交的任务可以是系统中长时间内重复执行的任务,也即,历史上已执行过的任务。也可以是用户提交上来的任务,例如,并未采集到其历史执行信息的任务。由于系统中执行的任务往往是长时间内重复执行,因此,本实施例中主要是针对系统中重复执行的任务进行资源分配调整。
72.各个代理节点分配以执行任务的资源包括多种计算资源,例如包括cpu、内存等计算资源。在获得代理节点所执行的各任务实例的资源申请量和资源实际使用量时,可以获取代理节点所执行的各任务实例对各计算资源的资源申请量,每间隔预设时长,采集代理节点所执行的各任务实例对各计算资源的资源实际使用量,并记录采集时的时间戳,再将记录的时间戳、各计算资源的资源实际使用量和资源申请量按预设格式打包后保存。
73.其中,每个代理节点都部署有一资源收集器,代理节点的资源信息由对应的资源收集器采集。资源收集器将采集到的资源信息发送至机器资源决策器。各任务实例的资源申请量为任务提交时申请的量,而资源实际使用量为由资源收集器每隔预设时长实际采集到的任务实例已使用的量。
74.资源管理系统中包含的多个代理节点构成集群,集群的资源总量等于所有代理节点的资源总量之和。由代理节点所执行的各个任务实例的资源申请量和资源实际使用量可以确定代理节点整体的资源情况。因此,基于代理节点上所执行的所有任务实例的资源申请量和资源实际使用量,可以确定第一资源调整量,该第一资源调整量用于对代理节点进行资源分配调整。
75.其中,第一资源调整量包含针对各种计算资源的调整量,例如,针对cup资源的调整量、针对内存资源的调整量等。该调整是以代理节点作为一个整体进行调整的,也即,不
管代理节点所执行的任务实例的具体情况,仅向代理节点进行资源调整。
76.此外,针对代理节点所执行的各个任务实例而言,基于各任务实例的资源申请量和实际使用量,可以得到第二资源调整量,该第二资源调整量可以用于对对应的任务实例进行资源分配调整。同样地,第二资源调整量包含针对各种计算资源的调整量,该调整是针对各个任务实例的,也即对某个任务实例减少计算资源或增加计算资源。
77.本实施例中,分别从代理节点整体以及代理节点内部任务实例的资源进行调整,实现代理节点之间的资源合理分配和代理节点内部任务实例之间的资源合理分配。并且,综合资源申请量和资源实际使用量确定资源调整量,缓解资源的申请与资源实际使用不相符的问题,可提高资源使用率。
78.本实施例中,在对代理节点的整体资源进行调整时,可从代理节点的资源使用情况以及代理节点的运行情况来确定调整量。可选地,请参阅图4,确定第一资源调整量的步骤可以包括以下过程:
79.步骤s121,分别根据所述代理节点所执行的所有任务实例的资源申请量和资源实际使用量,获得所述代理节点的显示占用资源量和实际占用资源量。
80.步骤s122,获得所述代理节点的运行繁忙度。
81.步骤s123,根据所述显示占用资源量、实际占用资源量和运行繁忙度确定第一资源调整量。
82.由上述可知,代理节点上所有任务实例的资源申请量之和即等于代理节点的资源申请量,而代理节点上所有任务实例的资源实际使用量之和即等于代理节点的资源实际使用量。为了便于区别,本实施例中,将代理节点的资源申请量以显示占用资源量表示、资源实际使用量以实际占用资源量表示。
83.本实施例中,资源采集器还可每间隔预设时长采集对应的代理节点的运行繁忙度,运行繁忙度可以利用系统负载平均值(systemload averages)表征,它将正在运行的线程(任务)对系统的需求以平均运行数和等待线程数来体现。
84.本实施例中,以代理节点为整体,结合代理节点的显示占用资源量和实际占用资源量,结合运行繁忙度确定调整量,可综合代理节点实际运行情况来调整资源,符合代理节点自身情况。
85.本实施例中,在一种实现方式中,在显示占用资源量大于实际占用资源量,且运行繁忙度低于预设值时,计算得到显示占用资源量与实际占用资源量之间的差值。在这种情形下,该差值表征的资源即为代理节点没有被真正使用到的资源。可基于计算得到的差值确定第一资源调整量。机器资源决策器可向资源管理器提交携带该第一资源调整量的申请,资源管理器可基于申请中的第一资源调整量为代理节点进行资源调整。
86.由于系统中不断有任务到来,因此,对于代理节点的资源调整宗旨是使得代理节点可剩余一定的资源量以应对后续到来的任务。各个代理节点的资源采集器还可每间隔预设时长采集代理节点的总资源量,因此,在基于差值确定第一资源调整量时,可以获得代理节点的总资源量,根据差值和总资源量确定第一资源调整量,以使在代理节点的总资源量上加上第一资源调整量后相应的剩余可用资源满足设定要求,其中,剩余可用资源等于更新后的总资源量减去显示占用资源量。
87.例如,代理节点的显示占用资源量大于实际占用资源量,且运行繁忙度低于50时,
表明显示占用资源量实质上虚高。而代理节点剩余可用资源量=总资源量

显示占用资源量,为了将剩余可用资源量调大,以达到设定要求,则需要将总资源量调大。可选地,第一资源调整量可以得到30%*差值。机器资源决策器可将第一资源调整量发送至资源管理器,由资源管理器给代理节点增加分配30%*差值的资源,从而使得新分配之后剩余可用资源可以变大,以便于应对后续到来的任务。
88.此外,本实施例中,在上述情形下,也可以将显示占用资源量减小,例如减小30%*差值,在总资源量不变的情况下,则剩余可用资源量增大。但是,由于代理节点的显示占用资源是代理节点上所执行的所有任务实例的资源申请量的总和,如果直接调整显示占用资源量则需要对多个任务实例的资源申请量进行调整,这样的调整方式复杂且需要考虑的因素很多。因此,本实施例中,采用直接调整总资源量的方式更为便捷。
89.在总资源量增大后,剩余可用资源量则相应增大,代理节点可以处理更多的任务实例。在被分配更多的任务之后,代理节点的显示占用资源量可以尽量与实际占用资源量一致,从而避免资源虚高的现象。
90.除了上述对代理节点整体的资源进行调整之外,本实施例还可针对代理节点上执行的各个任务实例进行资源调整。
91.请参阅图5,在一种可能的实现方式中,可以根据资源申请量和资源实际使用量确定第二资源调整量。
92.步骤s124,针对所述代理节点执行的各所述任务实例,获得所述任务实例被提交时携带的当前可调整率。
93.步骤s125,在所述任务实例的资源申请量、资源实际使用量和当前可调整率之间的关系满足预设关系时,根据所述当前可调整率确定第二资源调整量。
94.本实施例中,任务提交器在提交任务时,除了指定该任务的资源申请量之外,还会指定该任务的当前可调整率,当前可调整率对于不同任务实例会有不同的值。该当前可调整率可作为任务资源调整时的一个调整依据,以帮助各个代理节点自适应的调整任务实例资源。
95.本实施例中,资源采集器可以在任务实例运行几分钟后,例如3分钟后,每间隔预设时长采集任务实例的资源实际使用量。在资源申请量、资源实际使用量和当前可调整率之间的关系满足预设关系时,可以确定第二资源调整量。
96.所述的预设关系可以是,例如资源实际使用量小于资源申请量,且资源实际使用量*(1

当前可调整率/2)的值小于资源申请量。其中,第二资源调整量可以是(当前可调整率/2)或(当前可调整率/3)等不限。在这种情形下,代理节点可向资源管理器申请修改减少该代理节点的资源申请量。而减少的资源可以分配给该代理节点上执行的其他任务。
97.此外,在资源采集器采集到的任务实例的资源使用量达到其资源申请量时,代理节点可向资源管理器申请一定的资源调整量以增加任务实例的资源申请量。
98.本实施例中,任务提交器在提交任务时会指定任务的当前可调整率。各个任务在资源管理器上会对应一个应用类型,该应用类型由${appname_appid}进行标识。而通常任务在系统中重复执行,因此,多数情况下任务并非首次提交,也即,相同的任务在历史上被提交并执行。
99.而本实施例中,针对非首次提交的任务,则可以通过以下方式获得该任务的当前
可调整率,请结合参阅图6:
100.步骤s210,在当前提交的任务实例为非首次提交时,获得所述任务实例在历史提交并执行后的历史资源信息。
101.步骤s220,根据所述历史资源信息计算得到所述任务实例的历史可调整率。
102.步骤s230,基于所述任务实例的历史可调整率获得所述任务实例的当前可调整率。
103.本实施例中,任务资源采集器会每隔一段时间获取系统中已完成的任务实例的资源信息并存储,以便于为下次任务提交时进行可调整率的计算。也即,任务实例在执行完成之后可获得其历史资源信息。在任务实例已完成的情况下,可以基于历史资源信息获得已完成的任务的历史可调整率,进而结合当前信息确定当前可调整率。
104.请参阅图7,作为一种可能的实现方式,当前可调整率可以通过以下方式获得:
105.步骤s231,获得所述任务实例在历史提交时携带的历史扫描数据量,以及所述任务实例本次提交时携带的当前扫描数据量。
106.步骤s232,根据所述历史扫描数据量和当前扫描数据量计算得到扫描数据量差率。
107.步骤s233,基于所述扫描数据量差率和所述历史可调整率获得所述任务实例的当前可调整率。
108.任务实例的历史资源信息可包括历史资源申请量la、历史资源实际使用量lu。此外,任务提交器在提交任务时还会指定任务所需的扫描数据量,扫描数据量与资源实际使用量成正相关,也即所需的扫描数据量越大,则资源实际使用量越大。任务实例的历史资源信息中还包括历史扫描数据量ld。任务实例的历史可调整率的计算方式,可以是如历史可调整率ly=(la

lu)/la。
109.在当前进行任务实例的提交时,同样会指定任务的当前扫描数据量cd。可以基于历史扫描数据量和当前扫描数据量按以下方式得到扫描数据量差率cdy。
110.cdy=max{0,cd

ld/ld}
111.在此基础上,可基于扫描数据量差率和历史可调整率并按以下公式确定当前可调整率cy:
112.cy=cdy>0.3?0:ly*(1

cdy)
113.其中,以上公式表示若扫描数据量差率大于30%,则当前可调整率为0,若扫描数据量差率小于或等于30%,则当前可调整率等于历史可调整率乘以(1

扫描数据量差率)。
114.需要说明的是,以上具体的数值仅为举例说明,在实施时可以根据需求在上述数值的基础上作调整,以达到调整任务实例的申请量和实际使用量尽量相符即可。
115.为了对本技术提供的资源分配调整的过程有更为清晰的认识,以下将结合参阅图8所示,对资源分配调整的过程进行说明。
116.在系统架构上,本实施例的资源管理系统包括管理节点和多个代理节点,其中,管理节点包括资源管理器、任务提交器、任务资源采集器、资源收集器和机器资源决策器。
117.其中,在进行任务提交时,可由任务提交器根据用户所需提交任务,任务系统中任务以app形式提交,例如图8中的提交任务app1、提交任务appn。此外,任务的提交也可由用户直接与资源管理器通信进行提交,例如图8中的提交任务app2。
118.任务提交器在提交任务时,还会指定任务的可调整率。而任务资源采集器可以采集已完成任务的资源信息,包括实际使用量、申请量、扫描数据量等。其中,任务提交器所指定的可调整率是根据任务资源采集器采集的已完成的任务的资源信息进行计算得到,计算的方式可参见上述。
119.资源管理器在获得提交的任务后,可决定将任务分配到哪个代理节点进行处理,如图8中的代理节点1、代理节点2、代理节点n。各个代理节点部署有资源收集器,如资源收集器1、资源收集器2、资源收集器n。在代理节点执行任务实例的过程中,资源采集器采集代理节点的如总资源量、各个任务实例的资源申请量、资源实际使用量等信息。例如,采集代理节点1上任务app1实例c1的资源信息、代理节点2上任务app2实例c2的资源信息、代理节点n上任务appn实例cn的资源信息等。并将采集到的信息打包后发送至机器资源决策器。
120.机器资源决策器可根据获取的各个代理节点的资源相关信息确定是否对代理节点的资源进行调整,或者是否对代理节点上执行的某个任务实例的资源进行调整。若需调整的情形下,则可以计算得到针对代理节点的第一资源调整量和针对任务实例的第二资源调整量,具体计算方式可参见上述。
121.机器资源决策器可向资源管理器发送携带第一资源调整量和/或第二资源调整量的申请,资源管理器在接收到申请后,可基于其中的第一资源调整量对代理节点的资源进行调整,也可以基于其中的第二资源调整量对各个任务实例的资源进行调整,例如任务app1实例c1资源量调整、任务app2实例c2资源量调整、任务appn实例cn资源量调整。
122.本实施例中,通过以上方式,结合任务提交器、任务资源采集器、机器资源决策器和资源管理器,实现对代理节点整体和代理节点执行的各任务实例的资源分配调整。实现代理节点之间的资源合理分配和代理节点内部任务实例之间的资源合理分配,并且,综合资源申请量和资源实际使用量确定资源调整量,缓解资源的申请与资源实际使用不相符的问题,可提高资源使用率。
123.请参阅图9,为本技术实施例提供的电子设备的示例性组件示意图,该电子设备可为图2中所示的管理节点,也即部署有资源管理器、资源收集器、机器资源决策器、任务资源采集器和任务提交器的服务器。电子设备可包括存储介质110、处理器120、资源分配调整装置130、通信接口140。本实施例中,存储介质110与处理器120均位于电子设备中且二者分离设置。然而,应当理解的是,存储介质110也可以是独立于电子设备之外,且可以由处理器120通过总线接口来访问。可替换地,存储介质110也可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
124.资源分配调整装置130可以理解为上述电子设备,或电子设备的处理器120,也可以理解为独立于上述电子设备或处理器120之外的在电子设备控制下实现上述资源分配调整方法的软件功能模块。
125.如图10所示,上述资源分配调整装置130可以包括获得模块131、确定模块132、分配调整模块133,下面分别对该资源分配调整装置130的各个功能模块的功能进行详细阐述。
126.获得模块131,用于针对各所述代理节点,获得所述代理节点所执行的各所述任务实例的资源申请量和资源实际使用量。
127.可以理解,该获得模块131可以用于执行上述步骤s110,关于该获得模块131的详
细实现方式可以参照上述对步骤s110有关的内容。
128.确定模块132,用于根据所述资源申请量和资源实际使用量确定第一资源调整量和第二资源调整量。
129.可以理解,该确定模块132可以用于执行上述步骤s120,关于该确定模块132的详细实现方式可以参照上述对步骤s120有关的内容。
130.分配调整模块133,用于基于所述第一资源调整量为所述代理节点进行资源分配调整,并基于所述第二资源调整量为所述代理节点所执行的各所述任务实例进行资源分配调整。
131.可以理解,该分配调整模块133可以用于执行上述步骤s130,关于该分配调整模块133的详细实现方式可以参照上述对步骤s130有关的内容。
132.在一种可能的实现方式中,上述确定模块132具体可以用于通过以下方式确定第一资源调整量:
133.分别根据所述代理节点所执行的所有任务实例的资源申请量和资源实际使用量,获得所述代理节点的显示占用资源量和实际占用资源量;
134.获得所述代理节点的运行繁忙度;
135.根据所述显示占用资源量、实际占用资源量和运行繁忙度确定第一资源调整量。
136.在一种可能的实现方式中,上述确定模块132具体可以用于:
137.在所述显示占用资源量大于所述实际占用资源量,且所述运行繁忙度低于预设值时,计算得到所述显示占用资源量与所述实际占用资源量之间的差值;
138.基于所述差值确定第一资源调整量。
139.在一种可能的实现方式中,上述确定模块132可以用于:
140.获得所述代理节点的总资源量;
141.根据所述差值和所述总资源量确定第一资源调整量,以使在所述代理节点的总资源量上加上所述第一资源调整量后相应的剩余可用资源满足设定要求,所述剩余可用资源等于更新后的总资源量减去显示占用资源量。
142.在一种可能的实现方式中,上述确定模块132具体可以用于通过以下方式确定第二资源调整量:
143.针对所述代理节点执行的各所述任务实例,获得所述任务实例被提交时携带的当前可调整率;
144.在所述任务实例的资源申请量、资源实际使用量和当前可调整率之间的关系满足预设关系时,根据所述当前可调整率确定第二资源调整量。
145.在一种可能的实现方式中,上述获得模块131还可以用于:
146.在当前提交的任务实例为非首次提交时,获得所述任务实例在历史提交并执行后的历史资源信息;
147.根据所述历史资源信息计算得到所述任务实例的历史可调整率;
148.基于所述任务实例的历史可调整率获得所述任务实例的当前可调整率。
149.在一种可能的实现方式中,上述获得模块131具体可以用于:
150.获得所述任务实例在历史提交时携带的历史扫描数据量,以及所述任务实例本次提交时携带的当前扫描数据量;
151.根据所述历史扫描数据量和当前扫描数据量计算得到扫描数据量差率;
152.基于所述扫描数据量差率和所述历史可调整率获得所述任务实例的当前可调整率。
153.在一种可能的实现方式中,各所述代理节点具有多种计算资源,上述获得模块131具体可以用于:
154.获取所述代理节点所执行的各所述任务实例对各所述计算资源的资源申请量;
155.每间隔预设时长,采集所述代理节点所执行的各所述任务实例对各所述计算资源的资源实际使用量,并记录采集时的时间戳;
156.将记录的时间戳、各所述计算资源的资源实际使用量和资源申请量按预设格式打包后保存。
157.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
158.进一步地,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的资源分配调整方法。
159.具体地,该计算机可读存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上的计算机程序被运行时,能够执行上述资源分配调整方法。关于计算机可读存储介质中的及其可执行指令被运行时,所涉及的过程,可以参照上述方法实施例中的相关说明,这里不再详述。
160.综上所述,本技术提供的资源分配调整方法、装置、电子设备和可读存储介质,通过获得系统中各个代理节点所执行的各个任务实例的资源申请量和资源实际使用量,根据资源申请量和资源实际使用量确定第一资源调整量和第二资源调整量,基于第一资源调整量为代理节点进行资源分配调整,并基于第二资源调整量为代理节点所执行的各任务实例进行资源分配调整。本方案中,分别从代理节点整体以及代理节点内部任务实例的资源进行调整,实现代理节点之间的资源合理分配和代理节点内部任务实例之间的资源合理分配,并且,综合资源申请量和资源实际使用量确定资源调整量,缓解资源的申请与资源实际使用不相符的问题,可提高资源使用率。
161.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜