资源使用方法和装置与流程

阅读: 评论:0



1.本说明书一个或多个实施例涉及通信技术,尤其涉及资源使用方法和装置。


背景技术:



2.在业务应用的实现过程中,需要占用各种类型的资源,比如cpu核、内存以及磁盘资源等。因此,如何更好地利用资源,减少资源浪费一直是一个重要的问题。
3.目前的资源使用方法是:当一个业务请求到来时,查看一个物理机中剩余的资源是否能够满足业务请求所需的资源,如果是,则在该物理机中为该业务请求分配对应的资源,如果不能满足,则资源分配失败。
4.目前的资源使用方法往往会导致物理机中出现资源碎片,造成资源的浪费。比如在大规模的集调度中,集中的一些物理机上都有剩余的资源,但却因为剩余的资源都是小规格的碎片资源,无法对剩余的碎片资源进行利用。


技术实现要素:



5.本说明书一个或多个实施例描述了资源使用方法和装置,能够更好地利用资源,减少资源浪费。
6.根据第一方面,提供了一种资源使用方法,该方法包括:
7.确定在一个节点中需要预留的预留资源数量
8.确定当前剩余资源的数量小于所述预留资源数量的节点;
9.针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量;
10.针对所确定的每一个节点,根据计算出的资源总数量判断该节点是否可满足所述预留资源数量,如果满足,则将该节点标记为可迁移节点;
11.从各个可迁移节点中选择一个待迁移节点;
12.将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点;
13.释放该待迁移节点中m个已分配业务请求占用的资源;其中,m满足:在释放m个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于所述预留资源数量。
14.其中,所述确定在一个节点中需要预留的预留资源数量,包括:
15.预估未来的业务请求对大规格资源的需求;
16.根据该需求,确定在一个节点中需要预留的预留资源数量;
17.相应地,在所述释放该待迁移节点中m个已分配业务请求占用的资源之后,进一步包括:
18.将该待迁移节点当前的剩余资源加入资源缓存池中;
19.当接收到一个业务请求时,从资源缓存池中为该业务请求分配一个节点中的剩余资源。
20.其中,所述确定在一个节点中需要预留的预留资源数量,包括:
21.根据当前接收到的业务请求所需的资源的大小,确定在一个节点中需要预留的预留资源数量;
22.相应地,在所述释放该待迁移节点中m个已分配业务请求占用的资源之后,进一步包括:
23.为当前接收到的业务请求分配该待迁移节点中当前的剩余资源。
24.其中,所述已分配业务请求为:业务属性为允许迁移的已分配业务请求。
25.所述根据计算出的资源总数量判断该节点是否满足所述预留资源数量,包括:判断计算出的资源总数量与该节点中当前剩余资源的数量的和是否不小于所述预留资源数量,如果是,则确定满足所述预留资源数量;相应地,所述m满足:m个已分配业务请求占用的资源总量与该节点中当前剩余资源的数量的和不小于所述预留资源数量;
26.或者,
27.所述根据计算出的资源总数量判断该节点是否满足所述预留资源数量,包括:判断计算出的资源总数量是否不小于所述预留资源数量,如果是,则确定满足所述预留资源数量;相应地,所述m满足:m个已分配业务请求占用的资源总量不小于所述预留资源数量。
28.其中,所确定出的当前剩余资源的数量小于所述预留资源数量的节点的个数不小于两个时,所述从各个可迁移节点中选择一个待迁移节点,包括:
29.针对每一个可迁移节点,将该可迁移节点对应的各已分配业务请求按照占用资源的数量大小进行排序;
30.针对第i个可迁移节点,选出排在最前面的ni个已分配业务请求;其中,ni为不小于1的整数,且ni满足:在释放排在最前面的该ni个已分配业务请求所占用的资源后,第i个可迁移节点中的剩余资源的数量不小于所述预留资源数量;
31.根据各个可迁移节点的ni的值的大小,选择一个可迁移节点作为待迁移节点。
32.所述将该可迁移节点对应的各已分配业务请求按照占用资源的数量大小进行排序,包括:
33.按照占用资源的数量从小到大的顺序,对该可迁移节点对应的各已分配业务请求进行排序。
34.所述根据各个可迁移节点的ni的值的大小选择一个可迁移节点作为待迁移节点,包括:
35.按照ni值从小到大的顺序,对各个可迁移节点进行排序;
36.选择当前排在最前面的可迁移节点作为待迁移节点。
37.其中,所述将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点,包括:
38.针对所述m个已分配业务请求中的每一个请求,均执行:
39.根据该请求所占用的资源数量,判断是否能够将该请求迁移到除待迁移节点之外的一个目标节点中,如果是,
40.则在该目标节点中为该请求预留需要占用的资源数量,然后再将该请求迁移到该目标节点。
41.其中,所述释放该待迁移节点中m个已分配业务请求占用的资源的步骤,进一步包
括:
42.将每一次释放出的资源均标记为:针对所述当前接收到的业务请求的预留资源。
43.其中,该方法应用于集资源调度中,各个节点为集中的节点;
44.和/或,
45.所述资源包括:硬件资源以及虚拟资源中的至少一种;
46.和/或,
47.所述节点为:物理机或者虚拟机。
48.根据第二方面,提供了资源使用装置,该装置包括:
49.预留资源确定模块,配置为确定在一个节点中需要预留的预留资源数量;
50.第一筛选模块,配置为确定当前剩余资源的数量小于所述预留资源数量的节点;针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量;根据计算出的资源总数量判断该节点是否可满足所述预留资源数量,如果满足,则将该节点标记为可迁移节点;
51.第二筛选模块,配置为从各个可迁移节点中选择一个待迁移节点,以及确定待迁移节点中m个已分配业务请求;
52.迁移模块,配置为将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点;释放该待迁移节点中m个已分配业务请求占用的资源;其中,m满足:在释放m个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于所述预留资源数量。
53.根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
54.本说明书各个实施例提供的资源使用方法及装置,至少具有如下有益效果:
55.1、采用了碎片整理的思想,将待迁移节点对应的m个已分配业务请求(每一个已分配业务请求占用了相对较小的小规格资源)迁移到其他一个或者多个节点,使得待迁移节点中能够预留出相对较大的大规格资源,从而满足业务请求对大规格资源的需求,可见,本说明书实施例能够更好地利用节点中的剩余资源,避免资源浪费。
56.2、可以构建资源缓存池,用以保存整理出的大规格的资源,需要大规格资源的业务请求到来时,能够直接从资源缓冲池中分配资源,无需等待碎片资源的整理过程,为业务请求进行资源分配的速度更快,效率更高。
57.3、可以在大规格资源的业务请求到来时,进行碎片资源的整理,能够更加充分地利用资源,进一步避免资源的浪费。
58.4、因为会在目标节点中为需要迁移的业务请求进行资源的预留,这样,就不会出现目标节点又将该资源分配给其他到来的业务请求,而需要迁移的业务请求没有资源的情况,从而避免迁移失败,进一步提高迁移的成功率。
59.5、因为会预留待迁移节点释放出的资源,使得待迁移节点中剩余的资源满足预留资源数量(比如当前接收到的大规格业务请求的资源需求),这样,就不会出现待迁移节点又将该资源分配给其他到来的业务请求的情况,从而避免为大规格业务请求预留资源的失败,进一步提高资源调度的成功率。
附图说明
60.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
61.图1是一种资源分配的示意图。
62.图2是本说明书一个实施例所应用的系统架构的示意图。
63.图3是本说明书一个实施例中的资源使用方法的流程图。
64.图4是本说明书一个实施例中整理碎片资源的示意图。
65.图5是本说明书另一个实施例中的资源使用方法的流程图。
66.图6是本说明书一个实施例中的资源使用装置的示意图。
67.图7是本说明书另一个实施例中的资源使用装置的示意图。
具体实施方式
68.如前所述,现有技术的资源使用方法往往会导致物理机中出现资源碎片,造成资源的浪费。比如参见图1所示,物理机1中总共有8个cpu核(在图1中,cpu核均简写为c),物理机2中总共有8个cpu核,当需要4个cpu核的业务请求1到来时,为业务请求1分配了物理机1中的4个cpu核,当需要4个cpu核的业务请求2到来时,为业务请求2分配了物理机2中的4个cpu核。之后,当需要8个cpu核的业务请求3到来时,因为物理机1中只剩余4个cpu核,物理机2中也剩余4个cpu核,每一个物理机都无法满足业务请求3的资源需求,因此,导致无法为业务请求3分配8个cpu核的资源,导致资源调度失败,该业务请求3请求的业务无法进行。
69.本说明书实施例中提出了碎片整理的思想,将散落在各个节点(可以是物理机或者是虚拟机)中的碎片资源进行整理,形成大规格的资源,从而可以满足需要大规格资源的业务请求的资源调度需求,更好地利用资源。
70.下面结合附图,对本说明书提供的方案进行描述。
71.首先需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
72.为了方便对本说明书提供的方法进行理解,首先对本说明书所涉及和适用的系统架构进行描述。如图2中所示,该系统架构中主要包括:调度器、至少两个节点。
73.其中,调度器可以是云端的服务设备,可以是单一服务器,也可以是多个服务器构成的服务器组。调度器负责为各类业务请求分配各个节点中的资源,保证业务的顺利进行。
74.节点是拥有资源的一方,根据调度器的调度为业务请求提供相应的资源。
75.图2所示的系统架构的一种典型应用场景为集调度系统。即,至少两个节点为一个集中的各个节点,调度器负责集调度。
76.调度器以及至少两个节点通过网络交互。其中,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
77.在本说明书实施例中,节点可以是物理机,也可以是虚拟机。资源可以是硬件资源
比如cpu核、内存、磁盘资源等,也可以是虚拟资源比如虚拟化的gpu、虚拟化的输入输出的带宽等。
78.图3是本说明书一个实施例中的资源使用方法的流程图。该方法的执行主体为资源利用装置。该装置可以位于调度器中。可以理解,该方法也可以通过任何具有计算、处理能力的装置、设备、平台、设备集来执行。参见图3,该方法包括:
79.步骤301:确定在一个节点中需要预留的预留资源数量。
80.步骤303:确定当前剩余资源的数量小于预留资源数量的节点。
81.步骤305:针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量。
82.步骤307:针对所确定的每一个节点,根据计算出的资源总数量判断该节点是否可满足所述预留资源数量,如果满足,则将该节点标记为可迁移节点。
83.步骤309:从各个可迁移节点中选择一个待迁移节点。
84.步骤311:将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点,释放该待迁移节点中m个已分配业务请求占用的资源;其中,m满足:在释放m个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于所述预留资源数量;m为不小于1的正整数。
85.可见,在图3所示的本说明书实施例的资源使用方法中,采用了碎片整理的思想,将待迁移节点对应的m个已分配业务请求(每一个已分配业务请求占用了相对较小的小规格资源)迁移到其他一个或者多个节点,使得待迁移节点中能够预留出相对较大的大规格资源,从而满足业务请求对大规格资源的需求,可见,本说明书实施例能够更好地利用节点中的剩余资源,避免资源浪费。
86.下面结合附图及具体的例子,对图3中的每一个步骤分别进行说明。
87.首先对于步骤301:确定在一个节点中需要预留的预留资源数量。
88.本说明书实施例提出的资源使用方法,能够应用于各种业务场景中,比如如下中的任意一种:
89.业务场景一、提前进行碎片资源的整理,构建资源缓存池,资源缓存池用以保存通过碎片资源整理而整理出的各种大规格的资源,后续需要大规格资源的业务请求到来时,能够直接从资源缓冲池中分配资源,无需等待碎片资源的整理过程。业务场景一为业务请求进行资源分配的速度更快,效率更高。
90.在该业务场景一下,可以是针对一个或者多个节点,分别在该节点中进行碎片资源的整理、迁移。
91.此时,步骤301的过程包括:
92.步骤301a1:预估未来的业务请求对大规格资源的需求。
93.步骤301a2:根据该需求,确定在一个节点中需要预留的预留资源数量。
94.举例说明:比如步骤301a1中,根据专家经验,可以预估出未来可能会有需要16c资源的业务请求。那么,步骤301a2中,确定需要在某一个节点中预留出16c的资源。
95.业务场景二、在大规格资源的业务请求到来时,进行碎片资源的整理。业务场景二能够更加充分地利用资源,进一步避免资源的浪费。
96.在该业务场景二下,步骤301的过程包括:根据当前接收到的业务请求所需资源的
大小,确定在一个节点中需要预留的预留资源数量。
97.比如,当前接收到一个业务请求,该业务请求申请16c的资源,则确定需要在某一个节点中预留出16c的资源数量。
98.接下来对于步骤303:确定当前剩余资源的数量小于预留资源数量的节点。
99.在本说明书的一个实施例中,对应于上述业务场景二,当前接收到的业务请求除了对资源数量存在需求之外,还可能会存在其他调度需求,比如对物理机机型亲和的调度需求、或者对节点可满足的业务类型的调度需求等,因此,步骤303的一种实现过程包括:
100.步骤303a:查是否存在一个节点的当前剩余资源能够满足当前接收到的业务请求所需要的资源的大小比如16c,如果不存在,则说明每一个节点中剩余的资源都小于16c,执行步骤303b,如果存在,直接在查到的节点中为该业务请求分配所需资源,结束当前图3的流程。
101.步骤303b:查出能够满足除了资源以外的其他调度需求的各个节点。
102.当前接收到的业务请求可能还存在其他调度需求,比如指定需要一个特定类型的节点(比如特定的物理机型)中的资源,那么,本步骤303b中确定出的每一个节点是:当前剩余资源的数量小于预留资源数量,且满足了当前接收到的业务请求除了资源以外的其他调度需求的节点。
103.比如,确定出的当前剩余资源的数量小于预留资源数量的节点包括6个节点,节点1至节点6,但是该6个节点中能够满足除了资源以外的其他调度需求的只有节点1至节点5,节点6不能满足除了资源以外的其他调度需求,因此,排除节点6,通过步骤303a及步骤303b,最终得到的节点包括节点1至节点5。
104.接下来对于步骤305:针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量。
105.在一个节点已经分配的业务请求中,比如业务请求1、业务请求2、业务请求3均分配的是节点1中的资源,但是业务请求1可能由于优先级较高或者其他原因,不允许迁移,就是说,不允许将业务请求1所需要的资源重新分配到其他节点,这样就需要针对允许迁移的已分配业务请求进行碎片资源的整理。因此,在本说明书一个实施例中,图3所示流程中的已分配业务请求为:业务属性为允许迁移的已分配业务请求。
106.接下来对于步骤307:针对所确定的每一个节点,根据计算出的资源总数量判断该节点是否可满足预留资源数量,如果满足,则将该节点标记为可迁移节点。
107.结合上述步骤303a至步骤303b的处理,步骤303中最终得到的节点包括节点1至节点5,在步骤305中,针对节点1至节点5这5个节点中的每一个节点,均计算该节点中各允许迁移的已分配业务请求已经占用的资源总数量。在步骤307中,根据针对节点1至节点5分别计算出的资源总数量,判断节点1至节点5中的哪一个节点可以被标记为可迁移节点,即作为能够迁移业务请求的候选节点。
108.在本说明一个实施例中,本步骤307中根据计算出的资源总数量判断该节点是否满足预留资源数量的一种实现过程包括:判断计算出的资源总数量与该节点中当前剩余资源的数量的和是否不小于预留资源数量,如果是,则确定满足预留资源数量。
109.在本说明另一个实施例中,本步骤307中根据计算出的资源总数量判断该节点是否满足预留资源数量的一种实现过程包括:判断计算出的资源总数量是否不小于预留资源
数量,如果是,则确定满足预留资源数量。
110.比如,针对上述节点1至节点5,对于节点1至节点3中的每一个节点,计算出该节点中各已分配业务请求已经占用的资源总数量与当前剩余资源的和不小于预留资源数量;而针对节点4至节点5中的每一个节点,计算出该节点中各已分配业务请求已经占用的资源总数量与当前剩余资源的和小于预留资源数量,因此,排除掉节点4及节点5,将节点1、节点2及节点3标记为可迁移节点。
111.接下来对步骤309:从各个可迁移节点中选择一个待迁移节点。
112.执行到本步骤,各个可迁移节点都是在将已分配业务请求迁移走之后,能够满足预留资源数量的节点,因此,需要从中选择一个更适合执行任务的待迁移节点。
113.当然,如果步骤303中,所确定出的当前剩余资源的数量小于预留资源数量的节点仅有一个节点时,本步骤309中,待迁移节点就是步骤303中确定出的节点。
114.如果步骤303中,所确定出的当前剩余资源的数量小于预留资源数量的节点的个数不小于两个时,在本说明书一个实施例中,参见图4,本步骤309的实现过程包括:
115.步骤3091:针对每一个可迁移节点,将该可迁移节点对应的各已分配业务请求按照占用资源的数量大小进行排序。
116.步骤3093:针对第i个可迁移节点,选出排在最前面的ni个已分配业务请求;其中,ni为不小于1的整数,且ni满足:在释放排在最前面的该ni个已分配业务请求所占用的资源后,第i个可迁移节点中的剩余资源的数量不小于所述预留资源数量。
117.步骤3095:根据各个可迁移节点的ni的值的大小,选择一个可迁移节点作为待迁移节点。
118.步骤3091至步骤3095涉及到两种选择过程。第一种是选择哪一个可迁移节点作为后续执行业务请求迁移的节点(记为待迁移节点),第二种是选择节点中的哪些已分配业务请求(通常称为victims)进行迁移。第一种选择又是依据第二种选择的选择结果来进行的。在本说明书一个实施例中,步骤3091的一种实现方式包括:按照占用资源的数量从小到大的顺序,对该可迁移节点对应的各已分配业务请求进行排序。按照占用资源的数量从小到大的顺序,是因为占用资源数量小的业务请求,更容易在其他节点上到满足的资源,后续迁移更容易成功。当然,在本说明书的其他实施例中,也可以按照占用资源的数量从大到小的顺序,对该可迁移节点对应的各已分配业务请求进行排序,这样迁移的业务请求的数量会更少。
119.以按照占用资源的数量从小到大的顺序进行排序,可迁移节点包括节点1、节点2及节点3为例,对于上述步骤3091至步骤3095进行说明。对于节点1,节点1对应的已分配业务请求有3个,该3个业务请求按照占用资源的数量从小到大的顺序进行排序,然后步骤3093中,如果只需要前2个(而不需要更多的)已分配业务请求迁移并释放相应资源后,节点1中剩余的资源可以满足预留资源数量,那么,就选择该前2个已分配业务请求,对于节点1,n1=2;再如对于节点2,节点2对应的已分配业务请求有5个,该5个业务请求按照占用资源的数量从小到大的顺序进行排序,然后步骤3093中,如果只需要前3个(而不需要更多的)请求迁移并释放相应资源后,节点2中剩余的资源可以满足预留资源数量,那么,就选择该前3个已分配业务请求,对于节点2,n2=3;对于节点3,节点3对应的已分配业务请求有5个,该5个业务请求按照占用资源的数量从小到大的顺序进行排序,然后步骤3093中,如果只需要
前4个请求迁移并释放相应资源后,节点3中剩余的资源可以满足预留资源数量,那么,就选择该前4个已分配业务请求,对于节点3,n3=4。这样,在步骤3095中就可以根据n1、n2、n3的值,选择一个作为待迁移节点。
120.在本说明书一个实施例中,步骤3095的一种实现包括:按照ni值从小到大的顺序,对各个可迁移节点进行排序;选择当前排在最前面的可迁移节点作为待迁移节点。也就是说,选择ni值最小的节点作为执行迁移已分配业务请求的待迁移节点,如上述例子,因为n1的值最小,因此选择节点1作为待迁移节点,当然,选择节点1中前n1=2个已分配业务请求进行迁移。
121.选择ni值最小的节点作为执行迁移业务请求的待迁移节点的原因是:迁移的业务请求的数量越少,对已有业务的影响程度越小,迁移也越容易成功。
122.接下来对于步骤311:将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点,释放该待迁移节点中m个已分配业务请求占用的资源;其中,m满足:在释放m个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于预留资源数量。
123.m实际上就等于待迁移节点对应的ni值。比如,待迁移节点为节点1,m等于n1,即为2。将节点1中已分配的2个业务请求迁移到其他节点。
124.在本说明书一个实施例中,在迁移过程中,对迁移方、被迁移方都可以提出抢占的思路。
125.利用上述抢占思路,一方面在被迁移方进行资源预留。此时在步骤311中,针对m个已分配业务请求中的每一个请求,均执行:
126.根据该已分配请求所占用的资源数量,判断是否能够将该请已分配业务请求迁移到除待迁移节点之外的一个目标节点中,如果是,
127.则在该目标节点中预留该已分配业务请求需要占用的资源数量,然后再将该分配业务请求迁移到该目标节点。
128.可见,因为会在目标节点中为需要迁移的业务请求进行资源的预留,这样,就不会出现在迁移未完成之前,目标节点又将该资源分配给其他到来的业务请求的情况,从而避免迁移失败,进一步提高迁移的成功率。
129.利用上述抢占思路,另一方面在迁移方进行资源预留,这样在步骤311中,释放待迁移节点中m个已分配业务请求占用的资源时,进一步包括:将每一次释放出的资源均标记为:针对当前接收到的业务请求的预留资源。可见,因为会预留待迁移节点释放出的资源,使得待迁移节点中剩余的资源满足预留资源数量(比如当前接收到的大规格业务请求的资源需求),这样,就不会出现待迁移节点又将该资源分配给其他到来的业务请求,而大规格业务请求没有资源使用的情况,从而避免迁移失败,进一步提高资源调度的成功率。
130.需要说明的是,本说明书实施例更加适用于集资源调度中,各个节点为集中的节点,由调度器根据本说明书实施例的方法在集中的各个节点中进行资源的使用,整理碎片资源,满足大规格业务请求的资源需求。
131.需要说明的是,在本说明书实施例中,可以配置有抢占算法,由该抢占算法提供选择待迁移节点的策略、提供选择需要迁移的已分配业务请求的策略。该抢占算法可配置,可修改,使得资源使用的方法更加灵活。
132.为了帮助理解本说明书的方法,下面结合另一个可行的实施例来说明资源使用方
法。图5是本说明书另一个实施例中的资源使用方法的流程图。参见图2、图5,在该实施例中,以上述业务场景二为例,并且以集调度为例,该方法包括:
133.步骤501:调度器接收到一个业务请求a,将业务请求a所需的资源数量确定为预留资源数量。
134.步骤503:调度器判断集中的各个节点中,是否存在一个节点的当前剩余资源满足预留资源数量(即该业务请求a的资源需求),如果是,执行步骤505,否则,执行步骤507。
135.步骤505:调度器在该节点中为业务请求a分配所需的资源,结束当前流程。
136.步骤507:调度器从集的各个节点中筛选出满足业务请求a的除了资源之外的其他调度要求的多个可选节点。
137.步骤509:调度器调用抢占算法,计算将每一个可选节点中的、业务属性为允许迁移的已分配业务请求都迁移出去,并释放资源后,该可选节点中剩余的资源是否满足预留资源数量,如果是将该可选节点标记为可迁移节点。
138.步骤511:调度器针对每一个可迁移节点,将该可迁移节点对应的、业务属性为允许迁移的各已分配业务请求按照占用资源的数量从小到大进行排序。
139.步骤513:调度器针对第i个可迁移节点,选出排在最前面的ni个已分配业务请求;其中,ni为不小于1的整数,且ni满足:在释放排在最前面的该ni个已分配业务请求所占用的资源后,第i个可迁移节点中的剩余资源的数量不小于所述预留资源数量。
140.步骤515:调度器按照可迁移节点的ni值从小到大的顺序,对各可迁移节点进行排序。
141.步骤517:调度器选择一个未选择过的、当前排在最前面的可迁移节点,作为待迁移节点。
142.步骤519:调度器针对待迁移节点中排在前m(即待迁移节点对应的前ni个)的已分配业务请求中的每一个请求,均执行:根据该请求所占用的资源数量,判断是否能够将该请求迁移到集中除待迁移节点之外的一个目标节点中(也就是说判断集中是否有一个目标节点能够为该已分配业务请求分配所需的资源),如果是,执行步骤521,否则,返回步骤517。
143.步骤521:调度器在该目标节点中预留该已分配业务请求需要占用的资源数量,然后再将该已分配业务请求迁移到该目标节点。
144.步骤523:释放该待迁移节点中m个已分配业务请求占用的资源,并将每一次释放出的资源均标记为:针对业务请求a的预留资源。
145.步骤525:迁移完毕后,调度器从待迁移节点的当前剩余资源中为业务请求a分配所需的资源。
146.在本说明书的一个实施例中,提供了一种资源使用装置,参见图1及图6,该装置可以应用于调度器中。该装置包括:
147.预留资源确定模块601,配置为确定在一个节点中需要预留的预留资源数量;
148.第一筛选模块602,配置为确定当前剩余资源的数量小于预留资源数量的节点;针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量;根据计算出的资源总数量判断该节点是否可满足所述预留资源数量,如果满足,则将该节点标记为可迁移节点;
149.第二筛选模块603,配置为从各个可迁移节点中选择一个待迁移节点,以及确定待迁移节点中m个已分配业务请求;
150.迁移模块604,配置为将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点;释放该待迁移节点中m个已分配业务请求占用的资源;其中,m满足:在释放m个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于所述预留资源数量。
151.该装置进一步包括:抢占模块,保存抢占算法;第二筛选模块603,配置为根据抢占算法模块603中保存的抢占算法,从各个可迁移节点中选择一个待迁移节点,以及确定待迁移节点中m个已分配业务请求。
152.参见图7,在本说明书装置的一个实施例中,预留资源确定模块601被配置为执行:
153.预估未来的业务请求对大规格资源的需求;
154.根据该需求,确定在一个节点中需要预留的预留资源数量;
155.资源调度模块701配置为执行:将该待迁移节点当前的剩余资源加入资源缓存池中;当接收到一个业务请求时,从资源缓存池中为该业务请求分配一个节点中的剩余资源。
156.在本说明书装置的一个实施例中,预留资源确定模块601被配置为执行:
157.根据当前接收到的业务请求所需的资源的大小,确定在一个节点中需要预留的预留资源数量;
158.资源调度模块701配置为执行:为当前接收到的业务请求分配该待迁移节点中当前的剩余资源。
159.在本说明书装置的一个实施例中,已分配业务请求为:业务属性为允许迁移的已分配业务请求。
160.在本说明书装置的一个实施例中,第一筛选模块602配置为执行:判断计算出的资源总数量与该节点中当前剩余资源的数量的和是否不小于所述预留资源数量,如果是,则确定满足所述预留资源数量;相应地,所述m满足:m个已分配业务请求占用的资源总量与该节点中当前剩余资源的数量的和不小于所述预留资源数量。
161.在本说明书装置的一个实施例中,第一筛选模块602配置为执行:判断计算出的资源总数量是否不小于所述预留资源数量,如果是,则确定满足所述预留资源数量;相应地,所述m满足:m个已分配业务请求占用的资源总量不小于预留资源数量。
162.在本说明书装置的一个实施例中,第二筛选模块604根据抢占算法执行:
163.针对每一个可迁移节点,将该可迁移节点对应的各已分配业务请求按照占用资源的数量大小进行排序;
164.针对第i个可迁移节点,选出排在最前面的ni个已分配业务请求;其中,ni为不小于1的整数,且ni满足:在释放排在最前面的该ni个已分配业务请求所占用的资源后,第i个可迁移节点中的剩余资源的数量不小于所述预留资源数量;
165.根据各个可迁移节点的ni的值的大小,选择一个可迁移节点作为待迁移节点。
166.在本说明书装置的一个实施例中,第二筛选模块604按照占用资源的数量从小到大的顺序,对该可迁移节点对应的各已分配业务请求进行排序。
167.在本说明书装置的一个实施例中,第二筛选模块604执行:
168.按照ni值从小到大的顺序,对各个可迁移节点进行排序;
169.选择当前排在最前面的可迁移节点作为待迁移节点。
170.在本说明书装置的一个实施例中,迁移模块604被配置为执行:
171.针对m个已分配业务请求中的每一个请求,均执行:
172.根据该请求所占用的资源数量,判断是否能够将该请求迁移到除待迁移节点之外的一个目标节点中,如果是,
173.则在该目标节点中为该请求预留需要占用的资源数量,然后再将该请求迁移到该目标节点。
174.在本说明书装置的一个实施例中,迁移模块604被配置为执行:
175.将每一次释放出的资源均标记为:针对所述当前接收到的业务请求的预留资源。
176.在本说明书装置的一个实施例中,该装置应用于集资源调度中,各个节点为集中的节点。
177.在本说明书装置的一个实施例中,资源包括:硬件资源以及虚拟资源中的至少一种。
178.需要说明的是,上述各装置通常实现于服务器端,可以分别设置于独立的服务器,也可以其中部分或全部装置的组合设置于同一服务器。该服务器可以是单个的服务器,也可以是由多个服务器组成的服务器集,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps,ⅵirtual private server)服务中存在的管理难度大,服务扩展性弱的缺陷。上述各装置还可以实现于具有较强计算能力的计算机终端。
179.本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
180.本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
181.可以理解的是,本说明书实施例示意的结构并不构成对本说明书实施例的装置的具体限定。在说明书的另一些实施例中,上述装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
182.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
183.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
184.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

技术特征:


1.资源使用方法,该方法包括:确定在一个节点中需要预留的预留资源数量;确定当前剩余资源的数量小于所述预留资源数量的节点;针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量;针对所确定的每一个节点,根据计算出的资源总数量判断该节点是否可满足所述预留资源数量,如果满足,则将该节点标记为可迁移节点;从各个可迁移节点中选择一个待迁移节点;将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点;释放该待迁移节点中m个已分配业务请求占用的资源;其中,m满足:在释放m个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于所述预留资源数量;其中,m为不小于1的正整数。2.根据权利要求1所述的方法,其中,所述确定在一个节点中需要预留的预留资源数量,包括:预估未来的业务请求对大规格资源的需求;根据该需求,确定在一个节点中需要预留的预留资源数量;相应地,在所述释放该待迁移节点中m个已分配业务请求占用的资源之后,进一步包括:将该待迁移节点当前的剩余资源加入资源缓存池中;当接收到一个业务请求时,从资源缓存池中为该业务请求分配一个节点中的剩余资源。3.根据权利要求1所述的方法,其中,所述确定在一个节点中需要预留的预留资源数量,包括:根据当前接收到的业务请求所需的资源的大小,确定在一个节点中需要预留的预留资源数量;相应地,在所述释放该待迁移节点中m个已分配业务请求占用的资源之后,进一步包括:为当前接收到的业务请求分配该待迁移节点中当前的剩余资源。4.根据权利要求1所述的方法,其中,所述已分配业务请求为:业务属性为允许迁移的已分配业务请求。5.根据权利要求1所述的方法,其中,所述根据计算出的资源总数量判断该节点是否满足所述预留资源数量,包括:判断计算出的资源总数量与该节点中当前剩余资源的数量的和是否不小于所述预留资源数量,如果是,则确定满足所述预留资源数量;相应地,所述m满足:m个已分配业务请求占用的资源总量与该节点中当前剩余资源的数量的和不小于所述预留资源数量;或者,所述根据计算出的资源总数量判断该节点是否满足所述预留资源数量,包括:判断计算出的资源总数量是否不小于所述预留资源数量,如果是,则确定满足所述预留资源数量;相应地,所述m满足:m个已分配业务请求占用的资源总量不小于所述预留资源数量。
6.根据权利要求1所述的方法,其中,所确定出的当前剩余资源的数量小于所述预留资源数量的节点的个数不小于两个时,所述从各个可迁移节点中选择一个待迁移节点,包括:针对每一个可迁移节点,将该可迁移节点对应的各已分配业务请求按照占用资源的数量大小进行排序;针对第i个可迁移节点,选出排在最前面的n
i
个已分配业务请求;其中,n
i
为不小于1的整数,且n
i
满足:在释放排在最前面的该n
i
个已分配业务请求所占用的资源后,第i个可迁移节点中的剩余资源的数量不小于所述预留资源数量;根据各个可迁移节点的n
i
的值的大小,选择一个可迁移节点作为待迁移节点。7.根据权利要求6所述的方法,所述将该可迁移节点对应的各已分配业务请求按照占用资源的数量大小进行排序,包括:按照占用资源的数量从小到大的顺序,对该可迁移节点对应的各已分配业务请求进行排序。8.根据权利要求6所述的方法,所述根据各个可迁移节点的n
i
的值的大小选择一个可迁移节点作为待迁移节点,包括:按照n
i
值从小到大的顺序,对各个可迁移节点进行排序;选择当前排在最前面的可迁移节点作为待迁移节点。9.根据权利要求1所述的方法,其中,所述将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点,包括:针对所述m个已分配业务请求中的每一个请求,均执行:根据该请求所占用的资源数量,判断是否能够将该请求迁移到除待迁移节点之外的一个目标节点中,如果是,则在该目标节点中预留该已分配业务请求需要占用的资源数量,然后再将该已分配业务请求迁移到该目标节点。10.根据权利要求3所述的方法,其中,所述释放该待迁移节点中m个已分配业务请求占用的资源的步骤,进一步包括:将每一次释放出的资源均标记为:针对所述当前接收到的业务请求的预留资源。11.根据权利要求1所述的方法,其中,该方法应用于集资源调度中,各个节点为集中的节点;和/或,所述资源包括:硬件资源以及虚拟资源中的至少一种;和/或,所述节点为:物理机或者虚拟机。12.资源使用装置,该装置包括:预留资源确定模块,配置为确定在一个节点中需要预留的预留资源数量;第一筛选模块,配置为确定当前剩余资源的数量小于所述预留资源数量的节点;针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量;根据计算出的资源总数量判断该节点是否可满足所述预留资源数量,如果满足,则将该节点标记为可迁移节点;第二筛选模块,配置为从各个可迁移节点中选择一个待迁移节点,以及确定待迁移节
点中m个已分配业务请求;迁移模块,配置为将该待迁移节点对应的m个已分配业务请求迁移到至少一个其他节点;释放该待迁移节点中m个已分配业务请求占用的资源;其中,m满足:在释放m个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于所述预留资源数量。13.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项所述的方法。

技术总结


本说明书实施例提供了一种资源使用方法及装置。该方法包括:确定当前剩余资源的数量小于预留资源数量的节点;针对所确定的每一个节点,计算在该节点中各已分配业务请求已经占用的资源总数量,根据计算出的资源总数量判断该节点是否可满足所述预留资源数量,如果满足,则将该节点标记为可迁移节点;从各个可迁移节点中选择一个待迁移节点;将该待迁移节点对应的M个已分配业务请求迁移到至少一个其他节点;释放该待迁移节点中M个已分配业务请求占用的资源;其中,M满足:在释放M个已分配业务请求所占用的资源后,该待迁移节点中的剩余资源的数量不小于所述预留资源数量。本说明书实施例能够更好地利用资源,减少资源浪费。减少资源浪费。减少资源浪费。


技术研发人员:

李登辉 杨统凯 杜军

受保护的技术使用者:

支付宝(杭州)信息技术有限公司

技术研发日:

2022.07.26

技术公布日:

2022/11/18

本文发布于:2022-11-26 17:31:17,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/5610.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   资源   业务   数量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图