CN116932220A - 服务集群的资源调整方法、装置、电子设备和存储介质 - Google Patents

服务集群的资源调整方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116932220A
CN116932220A CN202310956835.3A CN202310956835A CN116932220A CN 116932220 A CN116932220 A CN 116932220A CN 202310956835 A CN202310956835 A CN 202310956835A CN 116932220 A CN116932220 A CN 116932220A
Authority
CN
China
Prior art keywords
parallelism
adjusted
cores
resource
service cluster
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.)
Pending
Application number
CN202310956835.3A
Other languages
English (en)
Inventor
张一凡
陈张昊
王蒙
张光辉
方勇
师锐
马天白
毛言粲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Volcano Engine Technology Co Ltd
National University of Singapore
Original Assignee
Beijing Volcano Engine Technology Co Ltd
National University of Singapore
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Volcano Engine Technology Co Ltd, National University of Singapore filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202310956835.3A priority Critical patent/CN116932220A/zh
Publication of CN116932220A publication Critical patent/CN116932220A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种服务集群的资源调整方法、装置、电子设备和存储介质,其中,该方法包括:根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;资源调整信息包括处理流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;待调整并行度用于指示服务集群需要调整的资源量;根据待调整并行度、服务集群中已创建计算节点的第一数量、各已创建计算节点中的中央处理器的资源利用率,确定中央处理器对应的待调整核数以及待调整计算节点的第二数量;根据待调整核数和第二数量执行资源调整操作,得到资源调整后的服务集群,资源调整后的服务集群用于处理任务数量下的各流式数据处理任务。

Description

服务集群的资源调整方法、装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种服务集群的资源调整方法、装置、电子设备和存储介质。
背景技术
在流式数据处理场景下,往往会出现源源不断的流式数据,为了实现对流式数据的处理,需要利用弗林克Flink引擎执行各种各样的流式数据处理任务。不同类型的流式数据处理任务往往可以对应于不同的数据处理需求,针对每一类型的流式数据处理任务而言,可以利用部署在一个或多个服务集群中的多个计算节点进行处理,每个服务集群中的计算节点可以利用为该服务集群部署的Flink引擎的管理节点进行管理。
无论任一类型的流式数据处理任务,在执行该任务之前,用于执行该任务的服务集群中的资源已经分配完毕。但是,流式数据往往具有流量的不稳定性,可能在某些时刻出现任务流量增加,又在某些时刻出现任务流量下将的情况。为了保证任务能够长时间稳定运行,则需要对服务集群中的资源进行适应性的调整,也即需要对服务集群进行自动扩缩容。但是,常规的自动扩缩容的方案,在执行扩缩容之后,可能会增加任务的不稳定性或降低资源的利用率,导致出现资源扩缩容不合理的问题。
发明内容
本公开实施例至少提供一种服务集群的资源调整方法、装置、电子设备和存储介质。
第一方面,本公开实施例提供了一种服务集群的资源调整方法,包括:
根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;所述资源调整信息包括处理所述流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;所述待调整并行度用于指示所述服务集群需要调整的资源量;
根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量;
根据所述待调整核数和所述第二数量执行所述资源调整操作,得到资源调整后的服务集群,所述资源调整后的服务集群用于处理所述任务数量下的各流式数据处理任务。
在一种可能的实施方式中,在所述资源调整操作包括资源扩容操作的情况下,所述待调整核数包括待增加核数,所述待调整计算节点包括待增加计算节点;
根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量,包括:
根据各所述资源利用率、所述中央处理器的初始核数和所述已创建计算节点中的资源节点的节点数量,确定所述中央处理器的待增加核数;
根据所述待增加核数和所述第一数量,确定所述待增加核数对应的转换并行度;所述转换并行度用于表征为在各个所述已创建计算节点中的所述中央处理器分别添加所述待增加核数后,在所述服务集群对应的总原始并行度上等价增加的并行度;
在所述转换并行度小于所述待调整并行度的情况下,根据所述转换并行度、所述待调整并行度以及所述节点数量,确定所述待增加计算节点的所述第二数量。
在一种可能的实施方式中,根据各所述资源利用率、所述中央处理器的初始核数和所述已创建计算节点中的资源节点的节点数量,确定所述中央处理器的待增加核数,包括:
在所述初始核数小于预设核数阈值的情况下,确定各个所述资源利用率中,是否存在大于第一预设阈值的目标资源利用率;
若是,则根据所述目标资源利用率、所述初始核数和第二预设阈值,确定目标核数;
根据所述目标核数、所述节点数量和所述预设核数阈值中的最小值和所述初始核数,确定所述待增加核数。
在一种可能的实施方式中,根据所述待增加核数和所述第一数量,确定所述待增加核数对应的转换并行度,包括:
根据所述待调整核数和所述第一数量,确定总增加核数;
根据所述总增加核数和所述初始核数的比值、以及所述节点数量,确定所述转换并行度。
在一种可能的实施方式中,根据所述转换并行度、所述待调整并行度以及所述节点数量,确定所述待增加计算节点的所述第二数量,包括:
确定待调整并行度和所述转换并行度之间的差值并行度;
在差值并行度大于目标阈值的情况下,根据所述差值并行度和所述节点数量的比值,确定所述第二数量。
在一种可能的实施方式中,在所述资源调整操作包括资源缩容操作的情况下,所述待调整核数包括待减少核数,所述待调整计算节点包括待减少计算节点;
根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量,包括:
在所述第一数量大于预设数量的情况下,根据所述待调整并行度和所述已创建计算节点中的资源节点的节点数量,确定所述待减少计算节点的所述第二数量;
在所述第二数量与第一数量的差值等于所述预设数量的情况下,确定所述预设数量的所述已创建计算节点的资源利用率,是否小于第三预设阈值;
若是,则根据所述资源利用率、所述中央处理器的初始核数和第二预设阈值,确定所述中央处理器的所述待减少核数。
在一种可能的实施方式中,根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息,包括:
根据所述任务数量确定所述流式数据处理任务对应的目标并行度;
根据所述第一数量和所述已创建计算节点中的资源节点的节点数量,确定所述服务集群对应的总原始并行度;
根据所述目标并行度和所述总原始并行度的差值,确定所述资源调整操作和所述待调整并行度。
第二方面,本公开实施例还提供一种服务集群的资源调整装置,包括:
第一确定模块,用于根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;所述资源调整信息包括处理所述流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;所述待调整并行度用于指示所述服务集群需要调整的资源量;
第二确定模块,用于根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量;
调整模块,用于根据所述待调整核数和所述第二数量执行所述资源调整操作,得到资源调整后的服务集群,所述资源调整后的服务集群用于处理所述任务数量下的各流式数据处理任务。
第三方面,本公开可选实现方式还提供一种电子设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述服务集群的资源调整装置、电子设备、及计算机可读存储介质的效果描述参见上述服务集群的资源调整方法的说明,这里不再赘述。
本公开实施例提供的服务集群的资源调整方法、装置、电子设备和存储介质,根据待处理的流式数据处理任务的任务数量,进行资源调整信息的确定,可以准确地确定出服务集群需要执行的资源调整操作(例如,资源扩容或资源缩容)以及需要调整的资源量(即待调整并行度)。由于服务集群中能够提供的资源可以由已创建计算节点和中央处理器提供,所以利用待调整并行度、已创建计算节点的第一数量以及中央处理器的资源利用率,可以准确地确定出需要调整的计算节点的第二数量以及中央处理器的待调整核数。基于第二数量和待调整核数进行资源调整操作,既可以对服务集群的横向资源(即计算节点)进行调整,又可以对服务集群的纵向资源(即中央处理器的核数)进行调整,从而实现对服务集群在多角度下的资源调整,提高调整后的服务集群的资源合理性以及服务集群的资源利用率,保证流式数据处理任务的稳定运行,避免出现资源调整不合理的问题。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种服务集群的资源调整方法的流程图;
图2示出了本公开实施例所提供的一种服务集群中的管理节点、计算节点和资源节点的结构示意图;
图3示出了本公开实施例所提供的一种服务集群的资源调整方法的具体实施流程图;
图4示出了本公开实施例所提供的一种服务集群的资源调整装置的示意图;
图5示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
经研究发现,针对任一类型的Flink任务(即流式数据处理任务)而言,用于处理该Flink任务的服务集群中,可以部署由Flink引擎的管理节点管理的多个计算节点,用户会在执行任务前,为每个计算节点分配固定的中央处理器资源和内存资源,这些资源可以称为每个计算节点对应的纵向资源,而多个计算节点的纵向资源合并起来,可以称为服务集群的横向资源。为了降低Flink任务的运行成本以及提高Flink任务的运行稳定性,开始出现针对Flink任务的自动扩缩容方案,但是已有的自动扩缩容方案,往往都是以用户为计算节点预先分配的中央处理器和内存处于合理范围为基础进行的,因此不会考虑服务服务集群的纵向资源。因此在具体执行扩缩容操作时,往往仅会采用调整服务集群的横向资源的方式,也即往往仅会采用调整服务集群中计算节点的数量的方式,导致在执行扩缩容后,可能会增加任务的不稳定性或降低资源的利用率,降低了资源扩缩容的合理性。因此,如何对服务集群进行资源的合理扩缩容,成为了一个值得思考的技术问题。
基于上述研究,本公开提供了一种服务集群的资源调整方法、装置、电子设备和存储介质,根据待处理的流式数据处理任务的任务数量,进行资源调整信息的确定,可以准确地确定出服务集群需要执行的资源调整操作(例如,资源扩容或资源缩容)以及需要调整的资源量(即待调整并行度)。由于服务集群中能够提供的资源可以由已创建计算节点和中央处理器提供,所以利用待调整并行度、已创建计算节点的第一数量以及中央处理器的资源利用率,可以准确地确定出需要调整的计算节点的第二数量以及中央处理器的待调整核数。基于第二数量和待调整核数进行资源调整操作,既可以对服务集群的横向资源(即计算节点)进行调整,又可以对服务集群的纵向资源(即中央处理器的核数)进行调整,从而对服务集群在多角度下的资源调整,提高调整后的服务集群的资源合理性以及服务集群的资源利用率,保证流式数据处理任务的稳定运行,避免出现资源调整不合理的问题。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种服务集群的资源调整方法进行详细介绍,本公开实施例所提供的服务集群的资源调整方法的执行主体一般为具有一定计算能力的终端设备或其他处理设备,其中终端设备可以为用户设备(UserEquipment,UE)、移动设备、用户终端、终端、个人数字助理设备(Personal DigitalAssistant,PDA)、手持设备、电子设备等;在一些可能的实现方式中,该服务集群的资源调整方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务端为例对本公开实施例提供的服务集群的资源调整方法加以说明。
如图1所示,为本公开实施例提供的一种服务集群的资源调整方法的流程图,可以包括以下步骤:
S101:根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;资源调整信息包括处理流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;待调整并行度用于指示服务集群需要调整的资源量。
这里,流式数据处理任务可以按照资源处理需求,对流式数据进行处理的任务,通常可以称为Flink任务。本公开实施例提供的服务集群的资源调整,可以实现对用于处理任一类型的流式数据处理任务的服务集群进行资源调整。一种类型的流式数据处理任务,可以对应于一种资源处理需求。示例性的,待处理的流式数据处理任务可以为榜单计算任务、订单数计算任务、互动数计算任务等。
流式数据处理任务可以利用至少一个服务集群中的各个计算节点执行,每个服务集群中部署有一个Flink引擎,每个服务集群中可以包括Flink引擎对应的一个管理节点以及由该管理节点管理的至少一个计算节点,各个计算节点可以并行运行。服务集群中可以包括多个机器,每个机器上可以运行有至少一个计算节点。流式数据处理任务可以包括与多种类型的算子相匹配的子任务,每种类型的算子下的子任务可以包括多个,不同类型算子的子任务具有不同的算力,用于对流式数据进行不同的数据处理,每种类型算子的子任务可以包括多个。示例性的,各种类型的算子例如可以包括数据消费类型的资源source算子、对数据执行各种中间处理的各种中间算子、数据输出类型的下沉sink算子、数据迭代类型的集合map算子、数据同步类型的同步sync算子等。
管理节点可以管理各个计算节点,并调度和分配子任务到计算节点上执行。针对每个计算节点,可以运行流式数据处理任务对应的多个子任务。计算节点中存在资源节点,一个计算节点中的资源节点的数量可以预先设置,并在设置后保持不变,一个计算节点中各个资源节点的资源量之和,等于该计算节点对应的资源量。示例性的,一个计算节点中各个资源节点,均分该计算节点的总资源量,该计算节点的总资源量为即为该计算节点的中央处理器(Central Processing Unit,简称CPU)的个数和内存,其中,CPU的个数即为CPU的core数(核数)。
一个资源节点中可以对应存在至少一种类型的算子,每种类型的算子下可以对应于至少一个该类型下的子任务,因此,每个资源节点可以作为一个最小并行度来运行子任务,任一类型的算子下的子任务的最大并行度,即为计算节点的数量和每个计算节点中的资源节点的数量的乘积。一种类型的Flink任务的并行度,可以为拥有最大并行度的子任务的并行度。
具体的,管理节点可以为Flink引擎对应的作业管理器(JobManager,简称JM),计算节点可以为并行运行的任务管理器(TaskManager,简称TM),TM中的资源节点可以称为插槽Slot。为便于理解,后文中将均以JM表示管理节点、TM表示计算节点、Slot表示资源节点,对本公开实施例提供的服务集群的资源调整方法进行说明:
TM在重启前会被预先配置固定的CPU和内存,各个TM被分配的CPU和内存,可以称为TM对应的纵向资源,TM中的Slot的数量也会被预先设置。通过对Flink任务的并行度进行配置,可以控制TM的数量,其中,各个TM对应的纵向资源的和,可以称为服务集群的横向资源。服务集群对应待处理的流式数据处理任务一旦调度起来,服务集群对应的横向资源和纵向资源就会固定,若任务流量发生变化,则需要对服务集群进行资源调整,以适应流量的变化,资源调整操作包括资源扩容操作和资源缩容操作。
如图2所示,为本公开实施例提供的一种服务集群中的管理节点、计算节点和资源节点的结构示意图,其中,在图2中包括一个JM、多个TM(图2仅示出了两个作为示意,其余TM用“…”表示)、每个TM中包括3个Slots,针对图2示出的两个TM,均示例性地示出了一个Slot对应的两种类型的算子,即数据消费算子(source算子)和数据迭代算子(map算子),每种类型的算子下均可以存在至少一个与该类型相匹配的子任务。其中,每个TM被分配的CPU和内存即为纵向资源,各个TM的纵向资源的和即为横向资源。
任务数量用于表征流式数据处理任务的任务流量,任务数量越多说明任务流量越大,需要的集群资源也即越多。具体的,任务数量可以为流式数据处理任务下的子任务的数量。待处理的流式数据处理任务可以为任一类型的Flink任务,资源调整信息可以为针对处理该Flink任务的服务集群的信息。
资源调整信息中可以包括资源调整操作和待调整并行度,资源调整操作用于指示需要对服务集群执行何种操作,才能保证服务集群能够处理具有该任务数量的流式数据处理任务;待调整并行度可以指示服务集群需要调整的资源量,该资源量可以由服务集群中的各个TM中的Slots、CPU和内存提供。换言之,待调整并行度即为流式数据处理任务对应需要调整的并行度。资源调整操作可以包括资源扩容操作和资源缩容操作,待调整并行度可以包括与资源扩容操作对应的待增加并行度和与资源缩容操作对应的待减少并行度。
具体实施时,可以根据待处理的流式数据处理任务的任务数量,和服务集群当前能够处理的最大任务并行度(即后文的原始并行度),确定针对服务集群的待调整操作和待调整并行度。其中,原始并行度即为服务集群中当前包括的TM数量和每个TM中的Slots的数量决定。
在一种实施例中,S101可以按照以下步骤实施:
S101-1:根据任务数量确定流式数据处理任务对应的目标并行度。
这里,目标并行度用于指示该任务数量下的流式数据处理任务所需的资源总量。
具体实施时,可以根据任务数量,利用并行度算法,确定出流式数据处理任务对应的每种类型的算子的并行度,将其中的最大并行度作为目标并行度。例如,可以利用DS2算法根据任务数量,计算出source算子、sink算子、map算子、sync算子等算子分别对应的并行度,然后可以将其中的最大并行度作为目标并行度。
S101-2:根据第一数量和已创建计算节点中的资源节点的节点数量,确定服务集群对应的总原始并行度。
这里,总原始并行度用于指示服务集群当前能够提供的最大资源量,第一数量即为服务集群中当前已创建的计算节点(即已创建计算节点)的数量,也即服务集群中当前存在的TM的数量。节点数量即为已创建计算节点中的资源节点的数量,也即TM中的Slots的数量。
具体实施时,可以根据第一数量和节点数量的乘积,确定总原始并行度。
S101-3:根据目标并行度和总原始并行度的差值,确定资源调整操作和待调整并行度。
具体实施时,在目标并行度和总原始并行度的差值大于0时,可以确定资源调整操作为资源扩容操作,待调整并行度即为差值指示的待增加并行度;反之,在目标并行度和总原始并行度的差值小于0时,可以确定资源调整操作为资源缩容操作,待调整并行度即为差值指示的待减少并行度;在目标并行度和总原始并行度的差值为0时,可以确定不需要执行资源调整操作。
S102:根据待调整并行度、服务集群中已创建计算节点的第一数量、各已创建计算节点中的中央处理器的资源利用率,确定中央处理器对应的待调整核数以及待调整计算节点的第二数量。
这里,已创建计算节点即为服务集群中当前存在的TM,第一数量即为当前存在的TM的数量。每个TM中包括中央处理器,即CPU,每个COU均存在一个核数,例如,1core,2cores,4cores等。资源利用率用于即为CPU中的资源的利用率。在当前存在的TM包括多个的情况下,资源利用率可以包括每个TM中的CPU的资源利用率,各个CPU的资源利用率可以不同。
待调整核数即为当前存在的TM中的CPU需要增加或减少的核数,待调整核数可以任一整数。待调整计算节点即为当前需要增加或减少的计算节点,第二数量即为当前需要增加或减少的计算节点的数量,待调整计算节点可以为任一整数。
具体实施时,可以根据各个已创建计算节点中的CPU分别对应的资源利用率,确定最大的资源利用率。根据最大资源利用率和CPU的当前核数,计算待调整核数,根据待调整核数,确定调整的核数的总量对应的转换并行度,根转换并行度和待调整并行度,确定待调整计算节点需要提供的并行度,根据该并行度和第一数量,确定待调整计算节点的第二数量。
S103:根据待调整核数和第二数量执行资源调整操作,得到资源调整后的服务集群,资源调整后的服务集群用于处理任务数量下的各流式数据处理任务。
具体实施时,在确定待调整核数和第二数量之后,可以通过调用Flink任务对应的具有资源调度功能的应用程序接口(ApplicationProgrammingInterface,API)的方式,调度资源调度功能,利用调用的资源调度功能,根据待调整核数和第二数量在服务集群中进行资源调整操作,以实现对服务集群中的资源的调整。例如,可以利用调用的资源调度功能,根据待调整核数对服务集群中的TM的CPU核数进行调整,实现对服务集群的纵向资源的调整;根据第二数量,在服务集群中创建第二数量的新的TM,实现对服务集群的横向资源的调整。如此,可以实现对服务集群的资源调整,得到资源调整后的服务集群,进而,资源调整后的服务集群中将具有足够的资源量,用于处理任务数量下的各个流式数据处理任务,也即对流式数据处理任务包括的该任务数量的子任务进行处理。
或者,在确定待调整核数和第二数量之后,可以将需要执行的资源调整操作、待调整核数、以及待调整计算节点的第二数量,发送至服务集群,以使服务集群根据待调整核数和第二数量,通过重新重启的方法执行资源调整操作,从而实现对资源的自动调整,得到资源调整后的服务集群。
这样,根据待处理的流式数据处理任务的任务数量,进行资源调整信息的确定,可以准确地确定出服务集群需要执行的资源调整操作以及需要调整的资源量。由于服务集群中能够提供的资源可以由已创建计算节点和中央处理器提供,所以利用待调整并行度、已创建计算节点的第一数量以及中央处理器的资源利用率,可以准确地确定出需要调整的计算节点的第二数量以及中央处理器的待调整核数。基于第二数量和待调整核数进行资源调整操作,既可以对服务集群的横向资源进行调整,又可以对服务集群的纵向资源进行调整,从而对服务集群在多角度下的资源调整,提高调整后的服务集群的资源合理性以及服务集群的资源利用率,保证流式数据处理任务的稳定运行,避免出现资源调整不合理的问题。
在一种实施例中,资源调整操作可以包括资源扩容操作和资源缩容操作,其中,资源扩容操作即为增加服务集群中的资源的操作,资源缩容操作即为减少服务集群中的资源的操作。在资源调整操作包括资源扩容操作的情况下,待调整核数可以包括CPU对应的待增加核数,待调整计算节点可以为服务集群中的待增加计算节点,待调整并行度可以为服务集群需要增加的并行度。在这种情况下,上述S102可以按照如下步骤实施:
S102-1:根据各资源利用率、中央处理器的初始核数和已创建计算节点中的资源节点的节点数量,确定中央处理器的待增加核数。
这里,初始核数即为在进行资源调整前,服务集群包括的已创建计算节点中的CPU的核数,每个已创建计算节点中的CPU的初始核数一般相同。资源节点即为已创建的TM中的Slot,节点数量即为TM中的Slot的数量,每个已创建的TM中的Slot的节点数量一般相同。例如,Flink任务对应的服务集群中的已创建的TM可以为4个,每个TM中可以包括4个Slots,每个TM中的CPU的初始核数可以为2cores。
具体实施时,针对每个已创建计算节点中的CPU,可以确定该CPU的资源利用率、CPU的初始核数、以及该已创建计算节点中的资源节点的节点数量。然后,可以从各个资源利用率中,确定出最大的资源利用率,在节点数量大于初始核数的情况下,根据最大资源利用率和初始核数的乘积,对乘积进行向上取整,将取整后的数加1,得到第一核数,然后从第一核数和节点数量中,选取最小值作为待增加核数。反之,在节点数量等于或小于初始核数的情况下,可以确定待增加核数为0。
在一种实施例中,针对上述S102-1,还可以按照以下步骤实施:
S102-1-1:在初始核数小于预设核数阈值的情况下,确定各个资源利用率中,是否存在大于第一预设阈值的目标资源利用率。
这里,预设核数阈值为针对CPU预先设置的最大CPU核数值,可以根据经验设置,本公开实施例不进行具体限定。第一预设阈值可以根据经验设置,本公开实施例也不进行具体限定。示例性的,预设核数阈值可以为8,第一预设阈值可以为80%,资源利用率可以为CPU在预设历史时间段(例如最近10分钟)P99的资源利用率,其中,P99表示99%的子任务对应的资源利用率。
具体实施时,可以判断初始核数是否小于预设核数阈值,若是,则可以继续执行判断是否存在目标资源利用率的步骤;若否,则可以确定待增加核数为0,并执行S102-3,其中,转换并行度为0。
当然,在判断是否继续执行判断是否存在目标资源利用率的步骤时,也可以结合预设核数阈值和节点数量一起确定。具体的,如果节点数量小于或等于预设核数阈值,在初始核数小于预设核数阈值的情况下,若初始核数小于节点数量,则可以继续执行判断是否存在目标资源利用率的步骤,若初始核数不小于节点数量,则可以确定待增加核数为0;在初始核数不小于预设核数阈值的情况下,则可以确定待增加核数为0。如果节点数量大于预设核数阈值,在初始核数小于预设核数阈值的情况下,可以继续执行判断是否存在目标资源利用率的步骤;在初始核数大于或等于预设核数阈值的情况下,无论初始核数是否小于节点数量,均可以确定待增加核数为0。也即,无论初始核数是否小于节点数量,只要初始核数大于或等于预设核数阈值,则均可以确定待增加核数为0。如果初始核数小于预设核数阈值,若初始核数也小于节点数量,则可以继续执行判断是否存在目标资源利用率的步骤;若初始核数不小于节点数量,则可以确定待增加核数为0。
针对“继续执行判断是否存在目标资源利用率”的步骤,在初始核数小于预设核数阈值的情况下,可以根据各个已创建计算节点中的CPU,分别在最近10分钟内P99的资源利用率,确定是否存在大于第一预设阈值的目标资源利用率。若否,则可以确定待增加核数为0。若是,则可以继续执行下述S102-1-2。
S102-1-2:若是,则根据目标资源利用率、初始核数和第二预设阈值,确定目标核数。
这里,第二预设阈值可以根据经验设置,本公开实施例不进行具体限定。示例性的,第二预设阈值可以为65%。
具体实施时,在存在目标资源利用率的情况下,若目标资源利用率包括多个,则可以选取最大的目标资源利用率。根据最大的目标资源利用率和初始核数的乘积,确定第一乘积值,再对第一乘积值和第二预设阈值的比值进行向上取整,得到目标核数。若目标资源利用率仅为一个,则可以直接根据该唯一的目标资源利用率和初始核数的乘积,确定第一乘积值,再对第一乘积值和第二预设阈值的比值进行向上取整,得到目标核数。
S102-1-3:根据目标核数、节点数量和预设核数阈值中的最小值和所述初始核数,确定待增加核数。
具体实施时,可以从目标核数、节点数量和预设核数阈值中,选取最小值,将最小值和初始核数的差值作为待增加核数。
示例性的,在TM中的Slot的数量为4,CPU的初始核数为2,预设核数阈值为8,目标资源利用率为90%,第二预设阈值为65%的情况下,可以确定目标核数为3,然后,从目标核数、Slot的数量和预设核数阈值中选取的最小值为3,进而可以确定待增加核数为1。
S102-2:根据待增加核数和第一数量,确定待增加核数对应的转换并行度;转换并行度用于表征为在各个已创建计算节点中的中央处理器分别添加待增加核数后,在服务集群对应的总原始并行度上等价增加的并行度。
这里,转换并行度用于表征在各个已创建计算节点中的CPU分别增加了带增加核数后,能够在服务集群原本的资源量的基础上带来的资源量提升。
具体实施时,可以根据待增加核数和第一数量的乘积,确定总增加核数,然后利用总增加核数和预设的核数并行度的乘积,确定转换并行度。
在一种实施例中,S102-2还可以按照以下步骤实施:
S102-2-1:根据待调整核数和第一数量,确定总增加核数。
具体实施时,可以根据待调整核数和第一数量的乘积,确定总增加核数。
S102-2-2:根据总增加核数和初始核数的比值、以及节点数量,确定转换并行度。
具体实施时,可以先确定总增加核数和初始核数的比值,该比值用于表征总增加核数能够等价的已创建计算节点的数量。然后,可以确定总增加核数和初始核数的比值与节点数量的乘积,将该乘积作为转换并行度。
示例性的,假设TM的数量为4,TM中的Slot的数量为4,CPU的初始核数为2,预设核数阈值为8,待增加核数为2,根据待增加核数和TM的数量,确定出的总增加核数为8,进而可以确定总增加核数和初始核数的比值为4,该比值用于表示在为每个TM增加2个核数之后,相当于增加了4个新的TM。之后,可以根据比值(即4)和Slot的数量,可以确定转换并行度为16。
S102-3:在转换并行度小于待调整并行度的情况下,根据转换并行度、待调整并行度以及节点数量,确定待增加计算节点的第二数量。
这里,在资源扩容时,待增加计算节点的第二数量与转换并行度相关,转换并行度由CPU的待增加核数决定。
具体实施时,在确定出转换并行度之后,可以判断转换并行度是否小于待调整并行度,若否,则可以确定待增加计算节点的第二数量为0;若是,则可以根据转换并行度和待调整并行度,确定需要利用新的计算节点补充的并行度,然后利用该并行度和节点数量的比值,确定待增加计算节点的第二数量。
在一种实施例中,S102-3还可以按照以下步骤实施:
S102-3-1:确定待调整并行度和转换并行度之间的差值并行度。
具体实施时,可以将待调整并行度和转换并行度之间的差值,作为差值并行度。
S102-3-2:在差值并行度大于目标阈值的情况下,根据差值并行度和节点数量的比值,确定第二数量。
具体实施时,目标阈值可以为0。在差值并行度大于0的情况下,可以将差值并行度和节点数量的比值,作为待增加计算节点的第二数量。其中,待增加计算节点中的CPU的核数可以为初始核数加上待增加核数,或者,待增加计算节点中的CPU的核数也可以为初始核数。
或者,在差值并行度大于0的情况下,可以利用差值并行度、节点数量以及为每个待增加节点增加待增加核数后等价的并行度,确定待增加计算节点的第二数量。其中,待增加计算节点中的CPU的核数可以为初始核数加上待增加核数。
再或者,在待增加计算节点中的CPU的核数为初始核数加上待增加核数的情况下,待增加计算节点的第二数量可以为用上述两个方式中确定出的第二数量对应的范围内的任一个值。
进一步的,在确定出待增加计算节点的第二数量和待增加核数之后,可以根据待增加计算节点的第二数量和待增加核数,执行针对服务集群的资源扩容操作的,得到资源调整后的服务集群。具体的,可以先根据待增加核数,增加服务集群中的已创建计算节点的CPU的核数;再根据第二数量,创建第二数量的新的计算节点。
示例性的,假设TM的数量为4,TM中的Slot的数量为4,CPU的初始核数为2,预设核数阈值为8,待增加核数为2,待调整并行度为48,根据待增加核数和TM的数量,确定出的总增加核数为8,进而可以确定总增加核数和初始核数的比值为4,该比值用于表示在为每个TM增加2个核数之后,相当于增加了4个新的TM。之后,可以根据比值(即4)和Slot的数量,可以确定转换并行度为16。根据转换并行度和待调整并行度,可以确定差值并行度为32。最后,可以根据该差值并行度和Slot的数量,确定待增加计算节点的第二数量为8。这里,每个待增加计算节点中的CPU的核数可以为2或4。
或者,延续上例,在根据转换并行度和待调整并行度,确定差值并行度为32之后,也可以先计算为每个待增加节点增加待增加核数后等价的并行度。这里确定出的该等价的并行度为4,然后根据该该等价的并行度(即4)、差值并行度(即32)和Slot的数量(即4),可以确定待增加计算节点的第二数量为4。
再或者,延续上例,在待增加计算节点中的CPU的核数为初始核数加上待增加核数的情况下(即在待增加计算节点中的CPU的核数为4的情况下),待增加计算节点的第二数量可以为区间[4,8]中的任一个值。
进一步的,在确定出待增加核数为2,第二数量为8之后,可以执行针对服务集群的资源扩容操作,将服务集群的已经存在的已创建计算节点的CPU的核数由2增加为4,并创建8个新的计算节点,每个计算节点中的CPU的核数为4,Slot的数量为4。如此,资源调整后的服务集群中可以包括12个TM,每个TM的CPU的核数为4、Slot的数量为4。
这样,基于确定出的待增加核数和第二数量,对服务集群进行横向扩容和纵向扩容,可以在不浪费额外资源的情况下完成资源调整,避免单个计算节点纵向资源过小带来的不合理和任务风险,提高资源扩容的合理性,得到能够稳定处理流量变更后的流式数据处理任务的服务集群。
在另一种实施例中,在资源调整操作包括资源缩容操作的情况下,待调整核数可以包括CPU对应的待减少核数,待调整计算节点可以为服务集群中的待减少计算节点,待调整并行度可以为服务集群需要减少的并行度。在这种情况下,上述S102可以按照如下步骤实施:
S1:在第一数量大于预设数量的情况下,根据待调整并行度和已创建计算节点中的资源节点的节点数量,确定待减少计算节点的第二数量。
具体实施时,预设数量可以为1,在资源调整信息指示需要执行资源缩容操作时,可以先判断服务集群中当前存在的已创建计算节点的第一数量是否大于预设数量,若否,则可以确定不需要通过减少计算节点的方式进行资源缩容,继而可以确定待减少计算节点的第二数量为0,然后可以执行下述S2和S3,以实现对纵向资源的缩小。而针对现有技术而言,在第一数量不大于预设数量的情况下,则会直接确定无需执行资源缩容操作,不会对纵向资源进行缩小。
在第一数量大于预设数量的情况下,则可以将待调整并行度和已创建计算节点中的资源节点的节点数量的比值,确定为需要减少的待减少计算节点的第二数量。
S2:在第二数量与第一数量的差值等于预设数量的情况下,确定预设数量的已创建计算节点的资源利用率,是否小于第三预设阈值。
这里,第三预设阈值可以根据经验设置,本公开实施例不进行具体限定。示例性的,第三预设阈值可以为40%,50%等。
具体实施时,在第二数量与第一数量的差值等于预设数量的情况下,可以说明在从服务集群中减少了第二数量的已创建计算节点后,服务集群中剩余的已创建计算节点为1个,此时可以确定该唯一的已创建计算节点中的CPU的资源利用率。这里确定的资源利用率可以为该唯一的已创建计算节点,在预设的目标历史时间段(例如最近24小时、最近10分钟)P99的资源利用率。然后,判断资源利用率是否小于第三预设阈值,若是,则说明即使减少到1个已创建计算节点,CPU的资源利用率仍旧不高,因此需要继续对CPU进行资源调整,以保证CPU的资源利用率处于合理的范围内,因此可以执行下述S3。
若判断资源利用率不小于第三预设阈值,则可以说明减少到1个已创建计算节点后,CPU的资源利用率处于合理范围,则可以确定待减少核数为0。然后,根据第二数量和待减少核数(即0),执行针对服务集群的资源缩容操作,以使服务集群中的已创建计算节点的数量变为1。
可选的,在第二数量与第一数量的差值等于预设数量的情况下,也可以直接确定待减少核数为0,然后,根据第二数量和该待减少核数,执行针对服务集群的资源缩容操作,以使服务集群中的已创建计算节点的数量变为1。在服务集群中的已创建计算节点的数量变为1之后,可以在该服务集群运行一定的时间后,获取该唯一的已创建计算节点中的CPU的资源利用率,并判断该资源利用率是否小于第三预设阈值,若是,则根据下述S3确定待减少核数,并确定新的第二数量为0。然后,根据该待减少核数和新的第二数量(即0),执行针对服务集群的资源缩容操作,以实现对服务集群的纵向资源的减少。若否,则可以说明CPU的资源利用率处于一个合理范围,不需要再继续减少CPU的核数,也即不需要再减少单个TM的纵向资源。
S3:若是,则根据资源利用率、中央处理器的初始核数和第二预设阈值,确定中央处理器的待减少核数。
这里,第二预设阈值可以根据经验设置,本公开实施例不进行具体限定。示例性的,第二预设阈值可以为65%。
具体实施时,可以先确定资源利用率和初始核数的第二乘积值,再对该第二乘积值和第二预设阈值的比值进行向上取整,得到取整后的核数,最后可以将初始核数和取整后的核数之间的差值作为待减少核数。
然后,可以根据待减少计算节点的第二数量和待减少核数之后,可以根据待减少计算节点的第二数量和待减少核数,执行针对服务集群的资源缩容操作的,得到资源调整后的服务集群。具体的,可以先根据第二数量,将服务集群中的已创建计算节点的数量减少至预设数量,再根据待减少核数,对预设数量的已创建计算节点的CPU的核数进行减少,从而得到资源调整后的服务集群。
这样,基于确定出的待减少核数和第二数量,对服务集群进行横向缩容和纵向缩容,可以在单个计算节点还具体资源压缩空间的情况下,继续完成对资源的纵向压缩,提高资源缩容的合理性,得到能够稳定处理流量变更后的流式数据处理任务的服务集群。
如图3所示,为本公开实施例提供的一种服务集群的资源调整方法的具体实施流程图,可以包括以下步骤:
S301:根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息。
在资源调整信息指示的资源调整操作为资源扩容操作的情况下,可以执行下述S302~S312;在资源调整信息指示的资源调整操作为资源缩容操作的情况下,可以执行下述S313~S320。
S302:判断CPU的初始核数是否小于预设核数阈值。
若否,则执行S303;若是,则执行S304。
S303:确定待增加核数为0,并根据待调整并行度以及节点数量,确定第二数量。
具体的,可以将待调整并行度和节点数量的比值,作为第二数量。在执行完S303之后,可以转而执行S312)。
S304:确定各个CPU的资源利用率中,是否存在大于第一预设阈值的目标资源利用率。
若否,则执行下述S305;若是,则执行下述S306。
S305:确定待增加核数为0,并根据待调整并行度以及节点数量,确定第二数量。
具体的,可以将待调整并行度和节点数量的比值,作为第二数量。在执行完S305之后,可以转而执行S312。
S306:根据目标资源利用率、初始核数和第二预设阈值,确定目标核数。
S307:根据目标核数、节点数量和预设核数阈值中的最小值、以及初始核数,确定待增加核数。
S308:根据待增加核数和第一数量,确定待增加核数对应的转换并行度。
S309:判断转换并行度是否小于待调整并行度。
若否,则执行下述S310;若是,则执行下述S311。
S310:确定第二数量为0。
在执行完S310之后,可以转换执行S312。
S311:根据转换并行度、待调整并行度以及节点数量,确定待增加计算节点的第二数量。
S312:根据待增加核数和第二数量执行资源扩容操作,得到资源扩容后的服务集群。
S313:判断已创建计算节点的第一数量是否大于预设数量。
若否,执行下述S314~S315;若是,执行下述S316~S319。
S314:确定待减少计算节点的第二数量为0。
S315:在预设数量的已创建计算节点的资源利用率小于第三预设阈值的情况下,根据资源利用率、中央处理器的初始核数和第二预设阈值,确定中央处理器的待减少核数。
这里,在执行完S315之后,可以转而执行下述S320。
S316:根据待调整并行度和已创建计算节点中的资源节点的节点数量,确定待减少计算节点的第二数量。
S317:在第二数量与第一数量的差值等于预设数量的情况下,确定预设数量的已创建计算节点的资源利用率,是否小于第三预设阈值。
若否,则执行下述S318;若是,则执行下述S319。
S318:确定待减少核数为0。
在执行S318之后,可以转而执行下述S320。
S319:根据资源利用率、中央处理器的初始核数和第二预设阈值,确定CPU的待减少核数。
S320:根据待减少核数和第二数量执行资源缩容操作,得到资源缩容后的服务集群。
关于上述S301~S320的具体实施步骤,可以参见上述各实施例,此处不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与服务集群的资源调整方法对应的服务集群的资源调整装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述服务集群的资源调整方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,为本公开实施例提供的一种服务集群的资源调整装置的示意图,包括:
第一确定模块401,用于根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;所述资源调整信息包括处理所述流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;所述待调整并行度用于指示所述服务集群需要调整的资源量;
第二确定模块402,用于根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量;
调整模块403,用于根据所述待调整核数和所述第二数量执行所述资源调整操作,得到资源调整后的服务集群,所述资源调整后的服务集群用于处理所述任务数量下的各流式数据处理任务。
在一种可能的实施方式中,在所述资源调整操作包括资源扩容操作的情况下,所述待调整核数包括待增加核数,所述待调整计算节点包括待增加计算节点;
所述第二确定模块402,在根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量时,用于:
根据各所述资源利用率、所述中央处理器的初始核数和所述已创建计算节点中的资源节点的节点数量,确定所述中央处理器的待增加核数;
根据所述待增加核数和所述第一数量,确定所述待增加核数对应的转换并行度;所述转换并行度用于表征为在各个所述已创建计算节点中的所述中央处理器分别添加所述待增加核数后,在所述服务集群对应的总原始并行度上等价增加的并行度;
在所述转换并行度小于所述待调整并行度的情况下,根据所述转换并行度、所述待调整并行度以及所述节点数量,确定所述待增加计算节点的所述第二数量。
在一种可能的实施方式中,所述第二确定模块402,在根据各所述资源利用率、所述中央处理器的初始核数和所述已创建计算节点中的资源节点的节点数量,确定所述中央处理器的待增加核数时,用于:
在所述初始核数小于预设核数阈值的情况下,确定各个所述资源利用率中,是否存在大于第一预设阈值的目标资源利用率;
若是,则根据所述目标资源利用率、所述初始核数和第二预设阈值,确定目标核数;
根据所述目标核数、所述节点数量和所述预设核数阈值中的最小值和所述初始核数,确定所述待增加核数。
在一种可能的实施方式中,所述第二确定模块402,在根据所述待增加核数和所述第一数量,确定所述待增加核数对应的转换并行度时,用于:
根据所述待调整核数和所述第一数量,确定总增加核数;
根据所述总增加核数和所述初始核数的比值、以及所述节点数量,确定所述转换并行度。
在一种可能的实施方式中,所述第二确定模块402,在根据所述转换并行度、所述待调整并行度以及所述节点数量,确定所述待增加计算节点的所述第二数量时,用于:
确定待调整并行度和所述转换并行度之间的差值并行度;
在差值并行度大于目标阈值的情况下,根据所述差值并行度和所述节点数量的比值,确定所述第二数量。
在一种可能的实施方式中,在所述资源调整操作包括资源缩容操作的情况下,所述待调整核数包括待减少核数,所述待调整计算节点包括待减少计算节点;
所述第二确定模块402,在根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量时,用于:
在所述第一数量大于预设数量的情况下,根据所述待调整并行度和所述已创建计算节点中的资源节点的节点数量,确定所述待减少计算节点的所述第二数量;
在所述第二数量与第一数量的差值等于所述预设数量的情况下,确定所述预设数量的所述已创建计算节点的资源利用率,是否小于第三预设阈值;
若是,则根据所述资源利用率、所述中央处理器的初始核数和第二预设阈值,确定所述中央处理器的所述待减少核数。
在一种可能的实施方式中,所述第一确定模块401,在根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息时,用于:
根据所述任务数量确定所述流式数据处理任务对应的目标并行度;
根据所述第一数量和所述已创建计算节点中的资源节点的节点数量,确定所述服务集群对应的总原始并行度;
根据所述目标并行度和所述总原始并行度的差值,确定所述资源调整操作和所述待调整并行度。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本申请实施例还提供了一种电子设备。参照图5所示,为本申请实施例提供的一种电子设备的结构示意图,包括:
处理器501、存储器502和总线503。其中,存储器502存储有处理器501可执行的机器可读指令,处理器501用于执行存储器502中存储的机器可读指令,所述机器可读指令被处理器501执行时,处理器501执行下述步骤:S101:根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;资源调整信息包括处理流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;待调整并行度用于指示服务集群需要调整的资源量;S102:根据待调整并行度、服务集群中已创建计算节点的第一数量、各已创建计算节点中的中央处理器的资源利用率,确定中央处理器对应的待调整核数以及待调整计算节点的第二数量以及S103:根据待调整核数和第二数量执行资源调整操作,得到资源调整后的服务集群,资源调整后的服务集群用于处理任务数量下的各流式数据处理任务。
上述存储器502包括内存5021和外部存储器5022;这里的内存5021也称内存储器,用于暂时存放处理器501中的运算数据,以及与硬盘等外部存储器5022交换的数据,处理器501通过内存5021与外部存储器5022进行数据交换,当电子设备运行时,处理器501与存储器502之间通过总线503通信,使得处理器501在执行上述方法实施例中所提及的执行指令。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的服务集群的资源调整方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的服务集群的资源调整方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的服务集群的资源调整方法的步骤,具体可参见上述方法实施例,在此不再赘述。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式、处理的个人信息种类等信息。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种服务集群的资源调整方法,其特征在于,包括:
根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;所述资源调整信息包括处理所述流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;所述待调整并行度用于指示所述服务集群需要调整的资源量;
根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量;
根据所述待调整核数和所述第二数量执行所述资源调整操作,得到资源调整后的服务集群,所述资源调整后的服务集群用于处理所述任务数量下的各流式数据处理任务。
2.根据权利要求1所述的方法,其特征在于,在所述资源调整操作包括资源扩容操作的情况下,所述待调整核数包括待增加核数,所述待调整计算节点包括待增加计算节点;
根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量,包括:
根据各所述资源利用率、所述中央处理器的初始核数和所述已创建计算节点中的资源节点的节点数量,确定所述中央处理器的待增加核数;
根据所述待增加核数和所述第一数量,确定所述待增加核数对应的转换并行度;所述转换并行度用于表征为在各个所述已创建计算节点中的所述中央处理器分别添加所述待增加核数后,在所述服务集群对应的总原始并行度上等价增加的并行度;
在所述转换并行度小于所述待调整并行度的情况下,根据所述转换并行度、所述待调整并行度以及所述节点数量,确定所述待增加计算节点的所述第二数量。
3.根据权利要求2所述的方法,其特征在于,根据各所述资源利用率、所述中央处理器的初始核数和所述已创建计算节点中的资源节点的节点数量,确定所述中央处理器的待增加核数,包括:
在所述初始核数小于预设核数阈值的情况下,确定各个所述资源利用率中,是否存在大于第一预设阈值的目标资源利用率;
若是,则根据所述目标资源利用率、所述初始核数和第二预设阈值,确定目标核数;
根据所述目标核数、所述节点数量和所述预设核数阈值中的最小值和所述初始核数,确定所述待增加核数。
4.根据权利要求2所述的方法,其特征在于,根据所述待增加核数和所述第一数量,确定所述待增加核数对应的转换并行度,包括:
根据所述待调整核数和所述第一数量,确定总增加核数;
根据所述总增加核数和所述初始核数的比值、以及所述节点数量,确定所述转换并行度。
5.根据权利要求2所述的方法,其特征在于,根据所述转换并行度、所述待调整并行度以及所述节点数量,确定所述待增加计算节点的所述第二数量,包括:
确定待调整并行度和所述转换并行度之间的差值并行度;
在差值并行度大于目标阈值的情况下,根据所述差值并行度和所述节点数量的比值,确定所述第二数量。
6.根据权利要求1所述的方法,其特征在于,在所述资源调整操作包括资源缩容操作的情况下,所述待调整核数包括待减少核数,所述待调整计算节点包括待减少计算节点;
根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量,包括:
在所述第一数量大于预设数量的情况下,根据所述待调整并行度和所述已创建计算节点中的资源节点的节点数量,确定所述待减少计算节点的所述第二数量;
在所述第二数量与第一数量的差值等于所述预设数量的情况下,确定所述预设数量的所述已创建计算节点的资源利用率,是否小于第三预设阈值;
若是,则根据所述资源利用率、所述中央处理器的初始核数和第二预设阈值,确定所述中央处理器的所述待减少核数。
7.根据权利要求1所述的方法,其特征在于,根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息,包括:
根据所述任务数量确定所述流式数据处理任务对应的目标并行度;
根据所述第一数量和所述已创建计算节点中的资源节点的节点数量,确定所述服务集群对应的总原始并行度;
根据所述目标并行度和所述总原始并行度的差值,确定所述资源调整操作和所述待调整并行度。
8.一种服务集群的资源调整装置,其特征在于,包括:
第一确定模块,用于根据待处理的流式数据处理任务的任务数量,确定针对服务集群的资源调整信息;所述资源调整信息包括处理所述流式数据处理任务所需要执行的资源调整操作以及对应的待调整并行度;所述待调整并行度用于指示所述服务集群需要调整的资源量;
第二确定模块,用于根据所述待调整并行度、所述服务集群中已创建计算节点的第一数量、各所述已创建计算节点中的中央处理器的资源利用率,确定所述中央处理器对应的待调整核数以及待调整计算节点的第二数量;
调整模块,用于根据所述待调整核数和所述第二数量执行所述资源调整操作,得到资源调整后的服务集群,所述资源调整后的服务集群用于处理所述任务数量下的各流式数据处理任务。
9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至7任意一项所述的服务集群的资源调整方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被电子设备运行时,所述电子设备执行如权利要求1至7任意一项所述的服务集群的资源调整方法的步骤。
CN202310956835.3A 2023-07-31 2023-07-31 服务集群的资源调整方法、装置、电子设备和存储介质 Pending CN116932220A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310956835.3A CN116932220A (zh) 2023-07-31 2023-07-31 服务集群的资源调整方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310956835.3A CN116932220A (zh) 2023-07-31 2023-07-31 服务集群的资源调整方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN116932220A true CN116932220A (zh) 2023-10-24

Family

ID=88387730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310956835.3A Pending CN116932220A (zh) 2023-07-31 2023-07-31 服务集群的资源调整方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116932220A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278424A (zh) * 2023-11-17 2023-12-22 广州市玄武无线科技股份有限公司 一种Flink集群的部署方法、装置、设备以及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278424A (zh) * 2023-11-17 2023-12-22 广州市玄武无线科技股份有限公司 一种Flink集群的部署方法、装置、设备以及存储介质

Similar Documents

Publication Publication Date Title
US20190324819A1 (en) Distributed-system task assignment method and apparatus
EP2631798B1 (en) Long-term resource provisioning with cascading allocations
CN110138883B (zh) 混合云资源分配方法和装置
CN103873587B (zh) 一种基于云平台实现调度的方法及装置
CN111813523A (zh) 时长预估模型生成方法、***资源调度方法、装置、电子设备和存储介质
CN116932220A (zh) 服务集群的资源调整方法、装置、电子设备和存储介质
CN110659137B (zh) 针对离线任务的处理资源分配方法及***
CN110149377A (zh) 一种视频服务节点资源分配方法、***、装置及存储介质
US20190138354A1 (en) Method for scheduling jobs with idle resources
CN117852707A (zh) 利用虚拟容量和优选位置实时调度进行计算负载的整形
Meskar et al. Fair multi-resource allocation in mobile edge computing with multiple access points
CN112214288B (zh) 基于Kubernetes集群的Pod调度方法、装置、设备和介质
CN109756372B (zh) 一种电信计费***的弹性伸缩方法及装置
CN112817721B (zh) 基于人工智能的任务调度方法、装置、计算机设备和介质
CN112181498B (zh) 并发控制方法、装置和设备
CN111813535A (zh) 一种资源配置确定方法、装置及电子设备
CN111240824A (zh) 一种cpu资源调度方法及电子设备
CN111143063B (zh) 任务的资源预约方法及装置
CN113127289B (zh) 一种基于yarn集群的资源管理方法、计算机设备和存储介质
CN113986511A (zh) 任务管理方法及相关装置
CN113468442A (zh) 资源位流量的分发方法、计算设备及计算机存储介质
CN113283879A (zh) 一种施工量的确定方法、装置、电子设备及可读存储介质
CN114035940A (zh) 资源分配方法以及装置
CN113988769B (zh) 一种智能匹配分布式资源的方法、装置和计算机设备
CN117519988B (zh) 一种基于raid的内存池动态调配方法、装置

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