CN115168023B - 资源调配方法以及装置 - Google Patents
资源调配方法以及装置 Download PDFInfo
- Publication number
- CN115168023B CN115168023B CN202210530923.2A CN202210530923A CN115168023B CN 115168023 B CN115168023 B CN 115168023B CN 202210530923 A CN202210530923 A CN 202210530923A CN 115168023 B CN115168023 B CN 115168023B
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- combination
- target
- resources
- 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
- 238000013468 resource allocation Methods 0.000 title claims abstract description 185
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000004044 response Effects 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 description 15
- 230000008901 benefit Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009530 blood pressure measurement Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书实施例提供资源调配方法以及装置,其中所述资源调配方法包括:接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。本方法可以提高资源的调配效率,进而提高资源的使用效率。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种资源调配方法。
背景技术
随着各种各样的推广项目不断发展,引擎***策略越来越复杂,这导致***使用的资源数量越来越大。由于全球产能以及成本等系列问题,资源的供给受到很大的影响,资源不足将会是工程平台一个长期且主要的挑战。在这样的背景下,如何充分利用好当前的资源,提高资源的使用效率就变得越来越重要。
发明内容
有鉴于此,本说明书实施例提供了一种资源调配方法。本说明书一个或者多个实施例同时涉及一种资源调配装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种资源调配方法,包括:
接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;
基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;
获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;
根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。
可选地,所述获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,包括:
根据预设组合条件,确定所述目标资源总量下多个初始资源组合中的至少一个指定资源组合,并预测所述至少一个指定资源组合对应的资源使用信息;
基于各指定资源组合对应的资源使用信息,利用预设插值算法,计算所述各初始资源组合中除所述各指定资源组合以外的初始资源组合对应的资源使用信息。
可选地,所述预测所述至少一个指定资源组合对应的资源使用信息,包括:
针对任一指定资源组合,根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,其中,所述第一任务为所述各任务中的任一个;
基于各任务的任务量,确定该指定资源组合对应的资源使用信息。
可选地,所述根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,包括:
获取所述第一任务的任务响应时间;
根据所述第一任务的任务响应时间和所述初始资源数量进行计算,得到所述第一任务的任务量。
可选地,所述基于各任务的任务量,确定该指定资源组合对应的资源使用信息,包括:
根据所述第一任务的任务量,确定所述第一任务对应的任务挡位;
基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息。
可选地,所述基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息,包括:
将各任务的任务挡位进行组合,得到至少一个任务挡位对;
获取各任务挡位对对应的子资源使用信息;
根据各子资源使用信息,确定该指定资源组合对应的资源使用信息。
可选地,所述将各任务的任务挡位进行组合,得到至少一个任务挡位对,包括:
获取各任务的任务执行顺序;
将所述任务执行顺序相邻的两个任务的任务挡位确定为一个任务挡位对,得到至少一个任务挡位对。
可选地,所述根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配,包括:
根据所述目标资源组合和各任务的当前资源数量,确定调配策略;
基于所述调配策略对各任务进行资源调配。
根据本说明书实施例的第二方面,提供了一种资源调配装置,包括:
接收模块,被配置为接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;
确定模块,被配置为基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;
获取模块,被配置为获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;
调配模块,被配置为根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。
可选地,所述获取模块,进一步被配置为:
根据预设组合条件,确定所述目标资源总量下多个初始资源组合中的至少一个指定资源组合,并预测所述至少一个指定资源组合对应的资源使用信息;
基于各指定资源组合对应的资源使用信息,利用预设插值算法,计算所述各初始资源组合中除所述各指定资源组合以外的初始资源组合对应的资源使用信息。
可选地,所述获取模块,进一步被配置为:
针对任一指定资源组合,根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,其中,所述第一任务为所述各任务中的任一个;
基于各任务的任务量,确定该指定资源组合对应的资源使用信息。
可选地,所述获取模块,进一步被配置为:
获取所述第一任务的任务响应时间;
根据所述第一任务的任务响应时间和所述初始资源数量进行计算,得到所述第一任务的任务量。
可选地,所述获取模块,进一步被配置为:
根据所述第一任务的任务量,确定所述第一任务对应的任务挡位;
基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息。
可选地,所述获取模块,进一步被配置为:
将各任务的任务挡位进行组合,得到至少一个任务挡位对;
获取各任务挡位对对应的子资源使用信息;
根据各子资源使用信息,确定该指定资源组合对应的资源使用信息。
可选地,所述获取模块,进一步被配置为:
获取各任务的任务执行顺序;
将所述任务执行顺序相邻的两个任务的任务挡位确定为一个任务挡位对,得到至少一个任务挡位对。
可选地,所述调配模块,进一步被配置为:
根据所述目标资源组合和各任务的当前资源数量,确定调配策略;
基于所述调配策略对各任务进行资源调配。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述资源调配方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述资源调配方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述资源调配方法的步骤。
本说明书提供的资源调配方法,接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。通过根据资源使用信息确定目标资源组合,确定项目收益较大的目标资源组合,进而基于目标资源组合和所述各任务的当前资源数量,实现自适应资源调配。此外,获取目标资源总量下多个初始资源组合分别对应的资源使用信息,实现了基于各任务使用资源的效率,自动进行分配调整,在资源受限的情况下拿到更多的项目收益,把资源分配给效率高的模块,且能够进一步推动效率低的模块进行性能优化,提升整个***的资源使用效率,从而实现降本提效的目标。进而可以提高资源的调配效率,进而提高资源的使用效率,从概念、理论和框架三个方面,体系化进行了资源调配。
附图说明
图1是本说明书一个实施例提供的一种资源调配方法的流程图;
图2是本说明书一个实施例提供的一种资源调配方法中,资源使用信息的展示效果图;
图3是本说明书一个实施例提供的一种资源调配方法中,调配策略的示意图;
图4是本说明书一个实施例提供的一种资源调配方法中,调配策略的处理示意图;
图5是本说明书一个实施例提供的一种资源调配方法的处理过程流程图;
图6是本说明书一个实施例提供的一种资源调配装置的结构示意图;
图7是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
挡位:策略复杂度等级,值越大表示策略越复杂。
rpm:Revenue Per Mille千次展示收。
资源使用效率:单位资源的项目资源使用增量。
算力:即计算量,近似于机器资源与计算时间(任务响应时间)的乘积。
任务:模块或者应用,也即在线引擎的一个服务。
然后对本说明书提供的资源调配进行简要说明。
随着各种各样的推广项目不断发展,引擎***策略越来越复杂,这导致***使用的资源数量越来越大。由于全球产能以及成本等系列问题,资源的供给受到很大的影响,资源不足将会是工程平台一个长期且主要的挑战。在这样的背景下,如何充分利用好当前的资源,提高资源的使用效率就变得越来越重要。
此外,电商场景下***经常面临大促,***资源使用量需要经常变化,为了承接更多的流量,***经常需要在满足前端目标响应时长的要求下进行降级,人工实现成本高,另外时效性和效果都会有一定损失。充分利用好算力资源拿到更多的项目收益就显得十分重要。
现有方法主要为通过负载均衡或者智能降级进行自动扩缩容,主要解决容量不足的问题,保障***稳定前提下支持更多的流量,并不是直接面向项目收益,进行全局资源分配效率的优化。
针对上述问题,本说明书提供了一种资源调配方法,接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。通过根据资源使用信息确定目标资源组合,确定项目收益较大的目标资源组合,进而基于目标资源组合和所述各任务的当前资源数量,实现自适应资源调配。此外,获取目标资源总量下多个初始资源组合分别对应的资源使用信息,实现了基于各任务使用资源的效率,自动进行分配调整,在资源受限的情况下拿到更多的项目收益,把资源分配给效率高的模块,且能够进一步推动效率低的模块进行性能优化,提升整个***的资源使用效率,从而实现降本提效的目标。进而可以提高资源的调配效率,进而提高资源的使用效率,从概念、理论和框架三个方面,体系化进行了资源调配。
在本说明书中,提供了一种资源调配方法,本说明书同时涉及一种资源调配装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了本说明书一个实施例提供的一种资源调配方法的流程图,具体包括以下步骤。
步骤102:接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量。
实现资源调配方法的执行主体可以是具有资源调配功能的计算设备,例如具有资源调配功能的服务器、终端等。
具体地,资源是指用于执行任务的单元;资源调配是指对任务的资源进行调整,如增加资源数量、减少资源数量等;资源调配是指用于启动资源调配的请求或者指令;资源调配增量是指增加或减少的资源数量,如资源调配增量为+5,则表征增加5个资源,又如资源调配增量为-20,则表征减少20个资源。
实际应用中,用户或资源调配人员可以在智能设备上的资源调配界面上,输入资源调配增量,然后点击确认调配之类的按键之后,执行主体将接收到携带有资源调配增量的资源调配请求;或者执行主体每间隔一段时间,自动检测接入资源的数量变化,若检测到接入资源的数量变化,则触发执行主体接收到携带有资源调配增量的资源调配请求。本说明书对获接收资源调配请求的方式不做任何限定。
示例性地,用户在智能设备上的资源调配界面上,输入减少10个资源,即资源调配增量为-10,然后点击确认调配之类的按键之后,执行主体将接收到携带有“-10”的资源调配请求。
步骤104:基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量。
在接收到携带有资源调配增量的资源调配请求的基础上,进一步地,根据资源调配增量和各任务的当前资源数量,确定目标资源总量。
具体的,任务可以是某种服务,如语音识别、翻译、商品售卖、广告展示等服务,还是可以某种执行项目,如计算、统计等,也可以是某种应用,如在线搜索引擎、绘画应用等;当前资源数量是指当前执行某任务所使用的资源数量;目标资源总数是指可以用于执行各任务的所有资源总数。
实际应用中,在接收到携带有资源调配增量的资源调配请求之后,可以获取各任务的当前资源数量,如直接从缓存中直接读取各任务的当前资源数量,或者直接统计各任务的当前资源数量。然后将各任务的当前资源数量进行相加,得到初始资源总量,也即当前所有投入任务执行的资源总数,然后将初始资源总量与资源调配增量相加,得到目标资源总量。或者,将各任务的当前资源数量与资源调配增量相加,得到目标资源总量。
示例性地,当前投入的任务有两个,任务f1和任务f2,其中,任务f1的当前资源数量为1000,任务f2的当前资源数量为700。假设资源调配增量为+200,则目标资源总量为1000+700+200=1900。
步骤106:获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到。
在基于资源调配增量和各任务的当前资源数量,确定目标资源总量的基础上,进一步地,获取目标资源总量下多个初始资源组合分别对应的资源使用信息。
具体的,初始资源组合是指为各任务分配资源的初始资源数量的组合,例如目标资源总数为30个,任务有3个,则分别为各任务分配10个资源,各任务的初始资源数量为10,初始资源组合为[10,10,10],又如为第一个任务分配5个资源,为第二个任务分配10个资源,为第三个任务分配8个资源,则初始资源组合为[5,10,8]。资源使用信息是指在按照初始资源组合为各任务分配资源后,资源的使用信息,如收益、消耗等,又如rpm。
实际应用中,在确定了目标资源总量之后,可以先直接获取目标资源总量下的多个初始资源组合,然后获取各初始资源组合对应的资源使用信息;还可以根据目标资源总量为各任务进行资源分配,进而得到多个初始资源组合,进一步地,分别预测每个初始资源组合对应的资源使用信息。
示例性地,目标资源总量为5,有3个任务,则可以为每个任务分配1个资源,得到初始资源组合[1,1,1];可以为第一个任务分配2个资源,为第二和第三个任务分配1个资源[2,1,1];可以为第一个任务分配3个资源,为第二和第三个任务分配1个资源[3,1,1],以此类推,则得到初始资源组合有:[1,1,1]、[2,1,1]、[3,1,1]、[1,2,1]、[1,3,1]、[1,1,2]、[1,1,3]、[2,2,1]、[2,1,2]、[1,2,2]。即可以得到10个初始资源组合。然后分别预测这10个初始资源组合对应的资源使用信息。
在本说明书一个或多个可选地实施例中,可以采用预设的预测方法,逐一预测每个初始资源组合对应的资源使用信息。如此,可以提高预测的资源使用信息的准确率。但在初始资源组合的数量大的情况下,采用该方法可以降低数据处理量,从而提升预测速率,进一步提升了资源调配速率。
在本说明书一个或多个可选地实施例中,还可以使用预测方法,对多个初始资源组合中的某些初始资源组合的资源使用信息进行预测,然后根据这些初始资源组合的资源使用信息,估算其他初始资源组合的资源使用信息。也即所述获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,具体实现过程可以如下:
根据预设组合条件,确定所述目标资源总量下多个初始资源组合中的至少一个指定资源组合,并预测所述至少一个指定资源组合对应的资源使用信息;
基于各指定资源组合对应的资源使用信息,利用预设插值算法,计算所述各初始资源组合中除所述各指定资源组合以外的初始资源组合对应的资源使用信息。
具体的,预设组合条件是指用于识别多个初始资源组合中特殊的资源组合而预先设置的条件,如初始资源组合中的初始资源数量仅为1、5和10中的一个或多个;指定资源组合是指多个初始资源组合中符合预设组合条件的初始资源组合;插值是指是利用函数f(x)在某区间中***若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f(x)的近似值;插值算法是指实现插值的算法,可以是最近邻插值法、双线性插值、双三次插值等;预设插值算法是指预先设置的某种插值算法。
实际应用中,可以先获取预设组合条件,然后根据预设组合条件识别多个初始资源组合中的指定资源组合,如逐一将各初始资源组合与预设组合条件进行比较,将符合预设组合条件的初始资源组合确定为指定资源组合。然后,采用预设的预测方法,对各指定资源组合对应的资源使用信息进行预测。进一步地,采用差值算法,对其他初始资源组合对应的资源使用信息进行预测,其中,其他初始资源组合为多个初始资源组合中的非指定资源组合,也即除指定资源组合以外的初始资源组合。如此,只对一些指定初始资源组合对应的资源使用信息进行预测,采用预设插值算法预测其他初始资源组合对应的资源使用信息,极大地减少了数据处理量,有利于提高资源使用信息的预测速率,进而提供资源调配速率。
示例性地,预设组合条件为初始资源组合中的初始资源数量仅为1、10和20中的一种或多种,则指定资源组合可以为[1,1,1]、[10,10,10]、[20,20,20]、[10,1,1]、[20,1,1]、[1,10,1]、[1,20,1]、[1,1,10]、[1,1,20]、[10,10,1]、[10,20,1]、[10,10,20]、[10,20,20]、[20,10,1]、[20,20,1]、[20,10,10]等。再获得了这些指定资源组合对应的资源使用信息后,利用预设插值算法,得到其他初始资源组合对应的资源使用信息。
在本说明书一个或多个可选地实施例中,可以根据各任务的任务量,对指定给资源组合的资源使用信息进行预测,也即所述预测所述至少一个指定资源组合对应的资源使用信息,具体实现过程可以如下:
针对任一指定资源组合,根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,其中,所述第一任务为所述各任务中的任一个;
基于各任务的任务量,确定该指定资源组合对应的资源使用信息。
具体的,第一任务是指各任务中的任意一个任务;任务量也即任务对应的算力;初始资源数量是指指定资源组合中与第一任务对应的资源数量。
实际应用中,针对任意一个指定资源组合,确定该指定资源组合中分配给第一任务的初始资源数量,由于初始资源数量与任务的任务量相关,进而可以基于第一任务的初始资源数量确定第一任务的任务量。在确定了该指定资源组合下,各任务的任务量之后,基于各任务的任务量,确定该指定资源组合对应的资源使用信息。之后,遍历各指定资源组合,直至确定各指定资源组合对应的资源使用信息。
在本说明书一个或多个可选地实施例中,可以基于初始资源数量和任务响应时间确定任务量,也即所述根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,具体实现过程可以如下:
获取所述第一任务的任务响应时间;
根据所述第一任务的任务响应时间和所述初始资源数量进行计算,得到所述第一任务的任务量。
具体的,任务响应时间是指执行任务的响应时长。
实际应用中,每个任务都有对应的任务响应时间,如10毫秒、1毫秒、500微秒等。为了保证任务的执行质量,任务的任务响应时间是一定的。由于算力也即计算量,近似等于任务响应时间(RT,reaction time)与资源数量之积。因此,在确定了该指定资源组合中分配给第一任务的初始资源数量,可以先获得第一任务的任务响应时间,然后将第一任务的任务响应时间和初始资源数量相乘,得到第一任务的任务量。如此,可以简化任务的任务量计算,降低计算量,进而提高确定任务量的效率,从而可以极大地促进资源使用信息的确定,进一步提高资源调配效率。
在本说明书一个或多个可选地实施例中,可以基于各任务的任务量确定各任务对应的子资源使用信息,再根据子资源使用信息确定该指定资源组合对应的资源使用信息。也即,可以确定出所有指定资源组合中,不同初始资源数量对应的不同任务的子资源使用信息,然后在确定某个指定资源组合对应的资源使用信息时,可以基于各子资源使用信息确定该指定资源组合对应的资源使用信息。如此,可以减少确定资源使用信息的数据量,进而提高确定资源使用信息的效率。
示例性地,预设组合条件为初始资源组合中的初始资源数量仅为1、10和20中的一种或多种,任务有三个,则确定初始资源数量为1的各任务的子资源使用信息、初始资源数量为10的各任务的子资源使用信息、初始资源数量为20的各任务的子资源使用信息。假设目标资源总量为35,则指定资源组合有[1,1,1]、[1,1,10]、[1,1,20]、[1,10,1]、[1,10,10]、[1,10,20]、[1,20,1]、[1,20,10]、[10,1,1]、[10,1,10]、[10,1,20]、[10,10,1]、[10,10,10]、[10,20,1]、[20,1,1]、[20,1,10]、[20,10,1]。如确定指定资源组合[10,1,20]对应的资源使用信息时,将初始资源数量为1的第一个任务的子资源使用信息、初始资源数量为10的第二个任务的子资源使用信息和初始资源数量为20的第三个任务的子资源使用信息进行加权求和,得到指定资源组合[10,1,20]对应的资源使用信息;又如确定指定资源组合[10,20,1]对应的资源使用信息时,将初始资源数量为10的第一个任务的子资源使用信息、初始资源数量为20的第二个任务的子资源使用信息和初始资源数量为1的第三个任务的子资源使用信息进行加权求和,得到指定资源组合[10,20,1]对应的资源使用信息。
在本说明书一个或多个可选地实施例中,还可以先确定任务挡位,进而基于任务挡位确定资源使用信息。也即所述基于各任务的任务量,确定该指定资源组合对应的资源使用信息,包括:
根据所述第一任务的任务量,确定所述第一任务对应的任务挡位;
基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息。
具体的,任务挡位是指任务执行的挡位,如困难挡位、简单挡位,如1挡位、10挡位、20挡位等。
实际应用中,由于任务挡位与任务量相关,任务挡位越高,则任务量越大,任务挡位越低,则任务量越小,反之亦然。因此,可以基于第一任务的任务量得到第一任务对应的任务挡位,如根据第一任务的任务量,在预设的任务量与任务挡位对应表进行查询,得到第一任务的任务量,确定所述第一任务对应的任务挡位。基于资源使用信息与任务挡位之间的关联信息,进而可以基于各任务的任务挡位确定该指定资源组合对应的资源使用信息。如此,可以有利于快速确定指定资源组合对应的资源使用信息。
在本说明书一个或多个可选地实施例中,还可以基于各任务的任务量确定根据各任务对应的任务挡位,在根据各任务的任务挡位确定各任务的子资源使用信息,然后根据子资源使用信息确定该指定资源组合对应的资源使用信息。
示例性地,参见图2示出了本说明书一个实施例提供的一种资源调配方法中,资源使用信息的展示效果图:先根据任务A、任务B和任务C的任务量,确定任务A、任务B和任务C的任务挡位;再根据任务A、任务B和任务C的任务挡位,确定任务A、任务B和任务C的子资源使用信息,进而基于子资源使用信息确定该指定资源组合对应的资源使用信息。
在本说明书一个或多个可选地实施例中,还可以使用小桶测量方法确定指定资源组合对应的资源使用信息。也即基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息,包括:
将各任务的任务挡位进行组合,得到至少一个任务挡位对;
获取各任务挡位对对应的子资源使用信息;
根据各子资源使用信息,确定该指定资源组合对应的资源使用信息。
具体的,任务挡位对是指至少两个任务挡位的组合;子资源使用信息是指任务挡位对对应的资源使用信息。
实际应用中,在确定了各任务的任务挡位之后,可以先将各任务的任务挡位进行组合,得到至少一个任务挡位对,例如有3个任务L1、L2和L3,其中,任务L1的任务挡位h1,任务L2的任务挡位h2,任务L3的任务挡位h3,将任务挡位h1和任务挡位h2进行组合,得到任务挡位对h1h2,将任务挡位h2和任务挡位h3进行组合,得到任务挡位对h2h3。进而获取各任务挡位对对应的子资源使用信息,即获取任务挡位对h1h2对应的子资源使用信息g1和任务挡位对h2h3对应的子资源使用信息g2。然后,在利用各子资源使用信息,进行推算,从而得到该指定资源组合对应的资源使用信息,即利用子资源使用信息g1和子资源使用信息g2,得到该指定资源组合对应的资源使用信息。如此,有利于提高确定资源使用信息的效率和准确率。
在本说明书一个或多个可选地实施例中,可以各任务的任务挡位进行随机组合,得到至少一个任务挡位对,还可以基于任务之间的关联性,确定得到至少一个任务挡位对。也即所述将各任务的任务挡位进行组合,得到至少一个任务挡位对,具体实现过程可以如下:
获取各任务的任务执行顺序;
将所述任务执行顺序相邻的两个任务的任务挡位确定为一个任务挡位对,得到至少一个任务挡位对。
具体的,任务执行顺序是指任务执行的次序,例如,有3个任务,任务O、任务P和任务Q,任务O的执行顺序为2,任务P的执行顺序为1,任务Q的执行顺序为3,也即在执行任务时,先执行任务P,然后执行任务O,最后执行任务Q。
实际应用中,为了进一步提高资源使用信息的准确性和可靠性,可以先获取各任务的任务执行顺序,然后任务执行顺序相邻的两个任务的任务挡位进行组合,得到至少一个任务挡位对。沿用上例,任务O的执行顺序为2,任务P的执行顺序为1,任务Q的执行顺序为3,则任务P和任务O任务执行顺序相邻,将任务P和任务O的任务挡位组合成一个任务挡位对;任务O和任务Q任务执行顺序相邻,将任务O和任务Q的任务挡位组合成一个任务挡位对。
示例性地,因为初始资源组合是叉乘关系,比如A,B和C三个任务,每个任务对应一层,每个桶流量1%,那么一个初始资源组合只有100万之一的流量,量小不置信,而且扩展性差,后面会加入更多任务,无法直接测。因此,只能直接测两两档位组合的效果数据,也即任务挡位对的子资源使用信息,如rpm(A=5,B=10)表示任务A的任务挡位为5、任务B的任务挡位为10时的子资源使用信息。基于上下游两两档位组合的效果数据推算,也即根据任务执行顺序确定的任务挡位对的子资源使用信息推算,通过rpm(A,B)和rpm(B,C)推导出rpm(A,B,C)结合单点测试进行校正。推导核心是基于条件概率的思想:
f(A=5|B=10)=rpm(A=5,B=10)/rpm(B=10)
rpm(A=5,B=10)=rpm(B=10)*f(A=5|B=10)
同理三个任务时:
rpm(A=5,B=10,C=8)=rpm(A=5)*f(B=10|A=5)*f(C=8|(A=5,B=10))
假定只考虑上下游任务间的影响,不考虑间接的影响,那么A和C在统计上是独立的,所以f(C=c|(A=a,B=b))=f(C=c|B=b)(实际中也可能会有一定影响,所以结合单点测试进行校正)。
步骤108:根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。
在根据目标资源总量确定多个初始资源组合,预测得到各初始资源组合对应的资源使用信息的基础上,进一步地,根据所述资源使用信息确定目标资源组合,并根据目标资源组合和各任务的当前资源数量,对各任务的资源进行调配。
具体的,目标资源组合是指资源使用信息符合大于预设资源使用条件的初始资源组合。
实际应用中,可以根据预设资源使用条件和各初始资源组合对应的资源使用信息,进行筛选,从而确定目标资源组合,例如将资源使用信息最大的初始资源组合确定为目标资源组合;又如,将资源使用信息大于预设资源使用信息的初始资源组合确定为目标资源组合。然后将目标资源组合中分配给各任务的目标资源数量,与各任务的当前资源数量,然后进行各任务的资源进行调配。
在本说明书一个或多个可选地实施例中,可以先确定调配策略,再基于调配策略进行资源调配。也即所述根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配,具体实现过程可以如下:
根据所述目标资源组合和各任务的当前资源数量,确定调配策略;
基于所述调配策略对各任务进行资源调配。
具体的,调配策略是指进行资源调配的方法。
实际应用中,可以将目标资源组合中分配给各任务的目标资源数量,与各任务的当前资源数量进行比较,从而确定出调配策略,然后基于调配策略给各任务进行资源调配。
示例性地,参见图3,图3示出了本说明书一个实施例提供的一种资源调配方法中,调配策略的示意图:比如有A,B和C三个任务,其中,任务A的当前资源数量为10,任务B的当前资源数量为20,任务C的当前资源数量为15,目标资源组合中任务A的目标资源数量为15、任务B的目标资源数量为15、任务C的目标资源数量为20,则任务A的资源数量增加5、任务B的资源数量减少5、任务C的资源数量增加5,需要说明的是资源调配增量为5。则调配策略为将资源调配增量对应的5个资源调配给任务A、从任务B的资源中取出5个资源调配给任务C;或者调配策略为将资源调配增量对应的5个资源调配给任务C、从任务B的资源中取出5个资源调配给任务A。然后按照调配策略对各任务进行资源调配。
需要说明的是,在基于所述调配策略对各任务进行资源调配之前,还可以显示所述调配策略和所述目标资源组合对应的资源使用信息,以供用户查看。然后在接收到用户确认调配的信息后,基于调配策略对各任务进行资源调配。或者,用户对资源策略进行调整,然后基于调整后的资源策略对各任务进行资源调配,也即在接收到策略调整指令的情况下,根据所述策略调整指令对所述调配策略进行调整,得到调整后的所述调配策略;根据调整后的所述调配策略对各任务进行资源调配。
此外,还可以在未接收资源调配请求的情况下,也即当前接入资源的数量未变化的情况下,自动检测在当前资源总量下,是否有资源使用信息大于当前资源组合的目标资源总量,如果有,则根据目标资源组合和各任务的当前资源数量对各任务的资源进行调配。也即根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配之前,还包括:
获取当前资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述当前资源总量为所述各任务进行资源分配得到;
根据所述资源使用信息确定目标资源组合,并判断所述目标资源组合对应的资源使用信息是否大于当前资源组合对应的资源使用信息;
所述根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配,包括:
若是,则根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。
具体的,当前资源总量是指当前可以用于执行各任务的所有资源总数或者当前接入的资源数量,也即各任务的当前资源数量之和;当前资源组合是指各任务的当前资源数量组成的资源组合。
实际应用中,执行主体可以根据当前接入资源的数量,也即各任务的当前资源数量之和——当前资源总量,直接获取当前资源总量下的多个初始资源组合,然后获取各初始资源组合对应的资源使用信息;还可以根据当前资源总量为各任务进行资源分配,进而得到多个初始资源组合,进一步地,分别预测每个初始资源组合对应的资源使用信息。需要说明的是,获取当前资源总量下多个初始资源组合分别对应的资源使用信息,与步骤106“获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息”的过程相同,未详细描述的细节内容,均可以参见上述步骤106的描述。
进一步地,根据资源使用信息确定目标资源组合,根据预设资源使用条件和各初始资源组合对应的资源使用信息,进行筛选,从而确定目标资源组合。需要说明的是,根据资源使用信息确定目标资源组合,与步骤108“根据资源使用信息确定目标资源组合”的过程相同,未详细描述的细节内容,均可以参见上述步骤108的描述。
在确定了目标资源组合之后,将目标资源组合对应的资源使用信息与当前资源组合对应的资源使用信息进行比较,如果目标资源组合对应的资源使用信息大于当前资源组合对应的资源使用信息,则说明目标资源组合比当前资源组合效果更优,即根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。需要说明的是,根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配,与步骤108“根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配”的过程相同,未详细描述的细节内容,均可以参见上述步骤108的描述。
此外,如果目标资源组合对应的资源使用信息不大于当前资源组合对应的资源使用信息,则说明当前资源组合效果更优,保持所述各任务的当前资源数量不变即可。如此,可以在资源数量不变的情况下,使各任务的当前资源数量,自动进行分配调整,进而拿到更多的项目收益,把资源分配给效率高的模块,且能够进一步推动效率低的模块进行性能优化,提升整个***的资源使用效率,从而实现降本提效的目标。
参见图4,图4示出本说明书一个实施例提供的一种资源调配方法中,调配策略的处理示意图:本说明书提供的资源调配方法基于火种源(AllSpark)框架实现,在接收资源调配请求后,先获取采样日志,也即任务A、任务B和任务C的当前资源数据,进行服务效率数据计算,属于离线任务,基于在线请求日志计算资源->level->效果的关系数据,也即基于任务A、任务B和任务C的当前资源数据和资源调配请求携带的资源调配增量确定多个初始资源组合,并预测各初始资源组合对应的资源使用信息。然后将各初始资源组合对应的资源使用信息定期更新至控制器,控制器负责基于效率数据产出效果较优的分配方案,生成扩缩容计划同步给管控,也即基于各初始资源组合对应的资源使用信息确定目标资源组合,根据所述目标资源组合和所述各任务的当前资源数量,确定调配策略,然后将调配策略发送给管控。管控分为管理控制器和智能仪表盘,负责管控和视图部分,用于对机器调配计划进行管理和效果展示,也即对调配策略进行调整和展示。管控和控制器之间可以进行扩缩容计划&状态管控的信息交互,控制器在接收到管控的具体执行计划后通过Ops(Operations)平台(也即***管控运维平台)完成资源的调整。控制器与过Ops平台进行容器调整的信息交互,Ops平台对在线服务资源进行调整,分别由中断处理和操作入口对项目引擎中的任务A、任务B和任务C进行限额调整,也即基于调配策略对各任务进行资源调配。
也即在资源有限情况下,充分利用好资源以实现项目收益最大化:实现了静态资源优化分配,在资源约束下,通过计算每个模块的资源使用效率,基于该效率数据调配机器资源以使项目收益最大化,理论上实现资源的优化分配。还实现了动态快速响应,基于AllSpark框架,具备秒级别反馈和调控,可以很好的应对流量的波动。此外,***稳定可靠,简单易用,通过管控和视图部分,管控支持用户自定义调控策略和场景,实时修改发布线上即可生效,支持自动和人工两种模式。自动模式为设定rpm阈值,若果发现潜在效果较优的组合的收益减去当前组合收益超过阈值,则自动完成资源调整。人工模式为比如现在要从线上集群取出100台机器,***会自动生成缩容方案,以最小化对效果的影响,另外如果是新的一批机器,扩容的时候***自动生成扩容计划,将机器优先给效率最高的服务。视图则有完整的调控状态透视图以及调控对效果带来的影响,因此整个调控是可观测和可把控的。
如此,基于动态算力AllSpark框架,本身具有秒级别的反馈和调控能力,另外通过定义优化分配问题:在资源约束下,分配各模块间的机器资源使得项目收益最大化。定期求解机器资源,档位和效果的关系数据,用于指导在线引擎全链路的机器调配,并且基于此效率数据通过AllSpark的动态调控能力完成机器的自适应调配。
需要说明的是,本说明书提供的方法简单准确的计算服务的资源使用效率,就是单位资源带来的项目收益。也即服务的机器资源->rpm的关系,在线服务绝大部分核心资源是cpu,因此转化为cpu cores->rpm关系。有因为动态算力的策略档位level->rpm关系是固定的,在线上可以实时拿到,所以又进一步转化成level->cpu cores的关系。因为测量不同level下服务的cpu使用数据需要在线上频繁压测且level变化会直接影响到日常的收益,因此直接去测量操作成本太高。考虑到:算力=计算量=RT*计算资源,而在线可以统计一个访问量(pv,page views)在某个服务的RT以及并发数,因此可以用RT*并发数代表算力使用。基于以上的推演,最终可以拿到资源->level->效果的关系数据,并基于此效率数据选出效果较优的组合下各服务的资源使用量,从而指导机器分配。
本说明书提供了一种资源调配方法:接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。通过根据资源使用信息确定目标资源组合,确定项目收益较大的目标资源组合,进而基于目标资源组合和所述各任务的当前资源数量,实现自适应资源调配。此外,获取目标资源总量下多个初始资源组合分别对应的资源使用信息,实现了基于各任务使用资源的效率,自动进行分配调整,在资源受限的情况下拿到更多的项目收益,把资源分配给效率高的模块,且能够进一步推动效率低的模块进行性能优化,提升整个***的资源使用效率,从而实现降本提效的目标。进而可以提高资源的调配效率,进而提高资源的使用效率,从概念、理论和框架三个方面,体系化进行了资源调配。
下述结合附图5,以本说明书提供的资源调配方法在实际场景中的应用为例,对所述资源调配方法进行进一步说明。其中,图5示出了本说明书一个实施例提供的一种资源调配方法的处理过程流程图,具体包括以下步骤。
步骤502:接收资源调配请求,其中,资源调配请求中携带有资源调配增量。
步骤504:基于资源调配增量和各任务的当前资源数量,确定目标资源总量。
步骤506:根据目标资源总量确定多个初始资源组合,其中,初始资源组合为根据目标资源总量为各任务进行资源分配得到。
步骤508:根据预设组合条件,确定多个初始资源组合中的至少一个指定资源组合。
步骤510:获取第一任务的任务响应时间。
步骤512:针对任一指定资源组合,根据该指定资源组合中分配给第一任务的初始资源数量和第一任务的任务响应时间进行计算,得到第一任务的任务量。
步骤514:根据第一任务的任务量,确定第一任务对应的任务挡位。
步骤516:将各任务的任务挡位进行组合,得到至少一个任务挡位对。
可选地,将各任务的任务挡位进行组合,得到至少一个任务挡位对,包括:
获取各任务的任务执行顺序;
将任务执行顺序相邻的两个任务的任务挡位确定为一个任务挡位对,得到至少一个任务挡位对。
步骤518:获取各任务挡位对对应的子资源使用信息。
步骤520:根据各子资源使用信息,确定该指定资源组合对应的资源使用信息。
步骤522:基于各指定资源组合对应的资源使用信息,利用预设插值算法,计算各初始资源组合中除各指定资源组合以外的初始资源组合对应的资源使用信息。
步骤524:根据资源使用信息确定目标资源组合。
步骤526:根据目标资源组合和各任务的当前资源数量,确定调配策略。
步骤528:基于调配策略对各任务进行资源调配。
本说明书提供了一种资源调配方法包括,通过根据资源使用信息确定目标资源组合,确定项目收益较大的目标资源组合,进而基于目标资源组合和所述各任务的当前资源数量,实现自适应资源调配。此外,根据目标资源总量确定多个初始资源组合,并预测各初始资源组合对应的资源使用信息,实现了基于各任务使用资源的效率,自动进行分配调整,在资源受限的情况下拿到更多的项目收益,把资源分配给效率高的模块,且能够进一步推动效率低的模块进行性能优化,提升整个***的资源使用效率,从而实现降本提效的目标。进而可以提高资源的调配效率,进而提高资源的使用效率,从概念、理论和框架三个方面,体系化进行了资源调配。
与上述方法实施例相对应,本说明书还提供了资源调配装置实施例,图6示出了本说明书一个实施例提供的一种资源调配装置的结构示意图。如图6所示,该装置包括:
接收模块602,被配置为接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;
确定模块604,被配置为基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;
获取模块606,被配置为获取目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;
调配模块608,被配置为根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。
在本说明书一个或多个可选的实施例中,所述获取模块606,进一步被配置为:
根据预设组合条件,确定所述目标资源总量下多个初始资源组合中的至少一个指定资源组合,并预测所述至少一个指定资源组合对应的资源使用信息;
基于各指定资源组合对应的资源使用信息,利用预设插值算法,计算所述各初始资源组合中除所述各指定资源组合以外的初始资源组合对应的资源使用信息。
在本说明书一个或多个可选的实施例中,所述获取模块606,进一步被配置为:
针对任一指定资源组合,根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,其中,所述第一任务为所述各任务中的任一个;
基于各任务的任务量,确定该指定资源组合对应的资源使用信息。
在本说明书一个或多个可选的实施例中,所述获取模块606,进一步被配置为:
获取所述第一任务的任务响应时间;
根据所述第一任务的任务响应时间和所述初始资源数量进行计算,得到所述第一任务的任务量。
在本说明书一个或多个可选的实施例中,所述获取模块606,进一步被配置为:
根据所述第一任务的任务量,确定所述第一任务对应的任务挡位;
基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息。
在本说明书一个或多个可选的实施例中,所述获取模块606,进一步被配置为:
将各任务的任务挡位进行组合,得到至少一个任务挡位对;
获取各任务挡位对对应的子资源使用信息;
根据各子资源使用信息,确定该指定资源组合对应的资源使用信息。
在本说明书一个或多个可选的实施例中,所述获取模块606,进一步被配置为:
获取各任务的任务执行顺序;
将所述任务执行顺序相邻的两个任务的任务挡位确定为一个任务挡位对,得到至少一个任务挡位对。
在本说明书一个或多个可选的实施例中,所述调配模块608,进一步被配置为:
根据所述目标资源组合和各任务的当前资源数量,确定调配策略;
基于所述调配策略对各任务进行资源调配。
本说明书提供了一种资源调配装置,接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;获取所述目标资源总量下多个初始资源组合分别对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。通过根据资源使用信息确定目标资源组合,确定项目收益较大的目标资源组合,进而基于目标资源组合和所述各任务的当前资源数量,实现自适应资源调配。此外,获取目标资源总量下多个初始资源组合分别对应的资源使用信息,实现了基于各任务使用资源的效率,自动进行分配调整,在资源受限的情况下拿到更多的项目收益,把资源分配给效率高的模块,且能够进一步推动效率低的模块进行性能优化,提升整个***的资源使用效率,从而实现降本提效的目标。进而可以提高资源的调配效率,进而提高资源的使用效率,从概念、理论和框架三个方面,体系化进行了资源调配。
上述为本实施例的一种资源调配装置的示意性方案。需要说明的是,该资源调配装置的技术方案与上述的资源调配方法的技术方案属于同一构思,资源调配装置的技术方案未详细描述的细节内容,均可以参见上述资源调配方法的技术方案的描述。
图7示出了本说明书一个实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述资源调配方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的资源调配方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述资源调配方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述资源调配方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的资源调配方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述资源调配方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述资源调配方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的资源调配方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述资源调配方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种资源调配方法,包括:
接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;
基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;
根据预设组合条件,确定所述目标资源总量下多个初始资源组合中的至少一个指定资源组合,并预测所述至少一个指定资源组合对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到;
基于各指定资源组合对应的资源使用信息,利用预设插值算法,计算各初始资源组合中除所述各指定资源组合以外的初始资源组合对应的资源使用信息;
根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。
2.根据权利要求1所述的方法,所述预测所述至少一个指定资源组合对应的资源使用信息,包括:
针对任一指定资源组合,根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,其中,所述第一任务为所述各任务中的任一个;
基于各任务的任务量,确定该指定资源组合对应的资源使用信息。
3.根据权利要求2所述的方法,所述根据该指定资源组合中分配给第一任务的初始资源数量,确定所述第一任务的任务量,包括:
获取所述第一任务的任务响应时间;
根据所述第一任务的任务响应时间和所述初始资源数量进行计算,得到所述第一任务的任务量。
4.根据权利要求2或3所述的方法,所述基于各任务的任务量,确定该指定资源组合对应的资源使用信息,包括:
根据所述第一任务的任务量,确定所述第一任务对应的任务挡位;
基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息。
5.根据权利要求4所述的方法,所述基于各任务的任务挡位,确定该指定资源组合对应的资源使用信息,包括:
将各任务的任务挡位进行组合,得到至少一个任务挡位对;
获取各任务挡位对对应的子资源使用信息;
根据各子资源使用信息,确定该指定资源组合对应的资源使用信息。
6.根据权利要求5所述的方法,所述将各任务的任务挡位进行组合,得到至少一个任务挡位对,包括:
获取各任务的任务执行顺序;
将所述任务执行顺序相邻的两个任务的任务挡位确定为一个任务挡位对,得到至少一个任务挡位对。
7.根据权利要求1所述的方法,所述根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配,包括:
根据所述目标资源组合和各任务的当前资源数量,确定调配策略;
基于所述调配策略对各任务进行资源调配。
8.一种资源调配装置,包括:
接收模块,被配置为接收资源调配请求,其中,所述资源调配请求中携带有资源调配增量;
确定模块,被配置为基于所述资源调配增量和各任务的当前资源数量,确定目标资源总量;
获取模块,被配置为根据预设组合条件,确定所述目标资源总量下多个初始资源组合中的至少一个指定资源组合,并预测所述至少一个指定资源组合对应的资源使用信息,其中,所述初始资源组合为根据所述目标资源总量为所述各任务进行资源分配得到,基于各指定资源组合对应的资源使用信息,利用预设插值算法,计算各初始资源组合中除所述各指定资源组合以外的初始资源组合对应的资源使用信息;
调配模块,被配置为根据所述资源使用信息确定目标资源组合,并根据所述目标资源组合和所述各任务的当前资源数量,对所述各任务的资源进行调配。
9.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至7任意一项所述资源调配方法的步骤。
10.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至7任意一项所述资源调配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210530923.2A CN115168023B (zh) | 2022-05-16 | 2022-05-16 | 资源调配方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210530923.2A CN115168023B (zh) | 2022-05-16 | 2022-05-16 | 资源调配方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115168023A CN115168023A (zh) | 2022-10-11 |
CN115168023B true CN115168023B (zh) | 2023-12-12 |
Family
ID=83483447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210530923.2A Active CN115168023B (zh) | 2022-05-16 | 2022-05-16 | 资源调配方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168023B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993428A (zh) * | 2019-03-28 | 2019-07-09 | 第四范式(北京)技术有限公司 | 资源分配方法与装置 |
CN111190705A (zh) * | 2019-12-31 | 2020-05-22 | 支付宝(杭州)信息技术有限公司 | 任务处理方法以及装置 |
CN111526058A (zh) * | 2020-04-30 | 2020-08-11 | 北京三快在线科技有限公司 | 网络资源的分配方法、装置及存储介质 |
CN111813541A (zh) * | 2020-06-12 | 2020-10-23 | 北京字节跳动网络技术有限公司 | 一种任务调度方法、装置、介质和设备 |
CN113127160A (zh) * | 2019-12-30 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 任务调度方法、***及设备 |
CN113343148A (zh) * | 2021-06-18 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 资源处理方法、客户端、服务器及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11416296B2 (en) * | 2019-11-26 | 2022-08-16 | International Business Machines Corporation | Selecting an optimal combination of cloud resources within budget constraints |
-
2022
- 2022-05-16 CN CN202210530923.2A patent/CN115168023B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993428A (zh) * | 2019-03-28 | 2019-07-09 | 第四范式(北京)技术有限公司 | 资源分配方法与装置 |
CN113127160A (zh) * | 2019-12-30 | 2021-07-16 | 阿里巴巴集团控股有限公司 | 任务调度方法、***及设备 |
CN111190705A (zh) * | 2019-12-31 | 2020-05-22 | 支付宝(杭州)信息技术有限公司 | 任务处理方法以及装置 |
CN111526058A (zh) * | 2020-04-30 | 2020-08-11 | 北京三快在线科技有限公司 | 网络资源的分配方法、装置及存储介质 |
CN111813541A (zh) * | 2020-06-12 | 2020-10-23 | 北京字节跳动网络技术有限公司 | 一种任务调度方法、装置、介质和设备 |
CN113343148A (zh) * | 2021-06-18 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 资源处理方法、客户端、服务器及*** |
Non-Patent Citations (3)
Title |
---|
Combinatorial resource scheduling for multiagent MDPs;Dmitri A. Dolgov;《Proceedings of the 6th international joint conference on Autonomous agents and multiagent systems》;第1-8页 * |
基于任务分类思维的云计算海量资源改进调度;任琼;常君明;;科学技术与工程(12);全文 * |
基于物联网的云资源优化配置方法研究;李学锋;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115168023A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022267735A1 (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
US9063738B2 (en) | Dynamically placing computing jobs | |
WO2017045472A1 (zh) | 资源预测方法、***和容量管理装 | |
US11281986B2 (en) | Estimating utilization of network resources using time series data | |
CN111563764B (zh) | 一种电价计算方法、装置、共享用电***及存储介质 | |
CN107046505B (zh) | 一种业务控制方法以及业务控制装置 | |
US20240179360A1 (en) | Cdn optimization platform | |
CN108459905B (zh) | 资源池容量规划方法及服务器 | |
CN109697637A (zh) | 对象类别确定方法、装置、电子设备及计算机存储介质 | |
Xiao et al. | Dscaler: A horizontal autoscaler of microservice based on deep reinforcement learning | |
CN115168023B (zh) | 资源调配方法以及装置 | |
US10515381B2 (en) | Spending allocation in multi-channel digital marketing | |
Chen et al. | Learning for crowdsourcing: Online dispatch for video analytics with guarantee | |
CN115328953A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
US20190166521A1 (en) | Managing bandwidth in mobile telecommunications networks | |
CN114035940A (zh) | 资源分配方法以及装置 | |
CN114064262A (zh) | 管理存储***中的计算资源的方法、设备和程序产品 | |
CN118158092B (zh) | 一种算力网络调度方法、装置及电子设备 | |
US11900047B1 (en) | Systems, methods and software for improving the energy footprint of an electronic document | |
Fang et al. | Reinforcement learning based heterogeneous resource provisioning for cloud web applications | |
CN113296870B (zh) | 预测Kubernetes集群配置的方法以及装置 | |
CN117170881B (zh) | 一种资源调控的方法、装置及存储介质、处理器 | |
US20240202668A1 (en) | Execution of forecasting models generated based on planning calendars | |
CN116404666A (zh) | 调峰调频混合场景的储能配置方法、装置、设备及存储介质 | |
CN116467527A (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 |