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

一种资源调度方法、装置、存储介质及电子设备与流程

2022-09-14 23:08:51 来源:中国专利 TAG:


1.本说明书涉及计算机技术领域,尤其涉及一种资源调度方法、装置、存储介质及电子设备。


背景技术:

2.资源调度是目前应用较为广泛的技术之一,将可用的资源集中在分布式系统中,当接收到用户的资源请求时,向用户提供相应的资源以供用户使用。在实际应用中,通常采用资源分配的均衡度、利用率以及履约率来衡量当前的资源调度方法。其中,均衡度用于表征分布式系统中各节点的调度的均衡程度,利用率用于表征各节点中的资源是否得到有效利用,履约率用于表征分布式系统在接收到用户请求后,能够处理该用户请求的概率。表征资源分配的均衡度、利用率、履约率越高,则表明当前的资源调度方法越优秀。
3.由于不同的用户有着不同的资源需求,资源的总量是固定的,但资源的消耗却是不确定的,所以在实际进行资源调度的过程中,通常只能确保上述三种指标中的一种或两种,很难做到同时保证较高的均衡度、利用率和履约率。
4.在现有技术中,使用较多的资源调度方法有两种,一个是kubernetes资源编排调度系统,另一个是binpack算法。其中,kubernetes在进行资源调度时,只能保证较高的均衡度,而无法保证利用率和履约率;binpack虽然有着较高的履约率,但资源分配存在着严重的不均衡,利用率也较低。可以看出,现有的资源调度方法并不能够同时满足较高的均衡度、利用率和履约率。


技术实现要素:

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.图1为本说明书中一种资源调度方法的流程示意图;
45.图2为本说明书中一种分布式系统的示意图;
46.图3为本说明书中一种划分资源区间的方式的示意图;
47.图4为本说明书提供的一种资源调度装置的示意图;
48.图5为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
49.目前,使用最为广泛的资源调度方法分别是基于kubernetes资源编排调度系统的
调度方法和binpcak算法,然而,这两种方法均不能够使资源分配时同时拥有较高的均衡度、利用率和履约率。
50.在kubernetes系统中,进行资源调度时,会优先选择剩余资源量较高的节点进行调度,在这种情况下,各节点所剩余的资源量最终会趋于基本持平的状态。换句话说,各节点所消耗的资源量相近,也就代表各节点的负载状况也相近,资源调度的平衡度较高。但是,在采用这种方式进行资源调度时,由于各节点的剩余资源量都相近,可能会导致虽然总资源量剩余并不少,但每个节点的剩余资源量都不足以去处理一个资源需求量较大的资源请求,此时,便会导致整体的利用率和履约率较低。
51.而在采用binpack进行资源调度时,其调度方式与kubernetes正好相反,会优先选择剩余资源量较低的节点进行调度。每当产生新的资源请求时,都会在剩余资源量能够满足资源请求的资源需求量的节点中,选择剩余资源量最低的节点去处理资源请求。由于采用这种方法会保留许多未被调度的满资源量的节点,因此通常可以满足任何资源请求,拥有较高的履约率。然而,也正因为这一点,binpack中常常会出现部分节点满负载,而另一部分节点完全空闲的情况,资源分配的均衡度和利用率都比较低。
52.为了解决现有的方法无法同时保证资源调度时的均衡度、利用率、履约率的问题,本名说明书提供了一种资源调度方法。
53.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.以下结合附图,详细说明本说明书各实施例提供的技术方案。
55.图1为本说明书中一种资源调度方法的流程示意图,具体包括以下步骤:
56.s100:获取预先划分的资源区间,其中,所述资源至少包括计算资源和/或存储资源。
57.本说明书所提供的资源调度方法中的所有步骤均可由任何分布式系统来完成。
58.本方法所应用于的分布式系统,具体可如图2所示。其中,分布式系统中包含若干个用于储存并提供资源的节点,当接收到用户发送的资源请求时,分布式系统可在各节点中调度合适的节点来处理该资源请求。
59.划分资源区间,具体可以指以资源量为边界划分出不同的资源区间。其中,本说明书中所涉及到的资源可以是任何能够用于电子设备的计算资源和/或存储资源,包括但不限于中央处理器(central processing unit,cpu)、内存、磁盘、带宽等。在划分资源区间时,可根据所需要调度的资源以及具体需求的不同,分别对不同的资源进行单独划分,或对多个资源同时进行划分。
60.以需要划分的资源为cpu和内存为例,其中,cpu的单位为核心(core),内存的单位为京字节(gigabyte,gb),为了方便表述,以下将核心简称为c,京字节简称为g。可按如图3所示的方式对cpu和内存进行划分,将两个相邻的边界之间的区间作为一个资源区间,例如0c0g~4c8g、8c16g~16c32g等。值得一提的是,在划分资源区间时,具体的划分方式也可根据需求进行设定,例如图3中所示的方式为以相邻区间中,下一区间的上下边界只差为上一区间上下边界只差的2倍;除此之外,还可以每一区间上下边界之差相同的方式来划分资源
区间,或其他划分方式,本说明书在此不做限定。
61.s102:针对每个资源区间,根据资源需求量落入该资源区间的历史资源请求,确定该资源区间对应的迁移代价。
62.在完成划分资源区间后,可确定各资源区间的迁移代价,其中,一个资源区间的迁移代价用于表征该资源区间内的节点在迁移到上一资源区间后,会损失的处理资源请求能力的大小,一个资源区间的迁移代价越大,该资源区间内的节点迁移所损失的处理资源请求能力就越大。当一个节点被调度去处理一个资源请求后,该节点的剩余资源量就会变少,当该节点的剩余资源量的变化经过资源区间的边界时,该节点所在的资源区间就会发生改变,即该节点会发生迁移,由较大的资源区间迁移到较小的资源区间,相对应的,该节点能所能够处理的资源请求也会变少,即处理资源请求的能力变小。而在迁移过程中损失的处理资源请求的能力即为迁移代价。
63.s104:当接收到当前资源请求时,根据所述分布式系统中各节点当前的剩余资源量,确定所述各节点的第一优先系数以及所述各节点当前所在的资源区间。
64.根据各节点当前的剩余资源量,可确定各节点当前所在的资源区间。实际上,一个节点所在的区间,具体可指该节点当前的剩余资源量所落入的资源区间。例如,仍以图3所示的方式分配资源区间,当一个节点当前的剩余资源量为7c10g时,该节点当前的剩余资源量落入了区间4c8g~8c16g中,那么该节点当前所在资源区间便是4c8g~8c16g。
65.同时,根据各节点的剩余资源量,还可确定各节点的第一优先系数。其中,所述第一优先系数用于表征该节点被优先调度的概率的大小,一个节点的第一优先系数越大,该节点被优先调度的概率也就越大。根据节点的剩余资源量确定节点的第一优先系数的方法可以有多种,具体的,可针对每个节点,以该节点当前的剩余资源量与该节点的第一优先系数正相关的方式,确定该节点的第一优先系数。话句话说,一个节点的资源剩余量越大,该节点被优先调度的概率就越大,
66.s106:针对每个节点,根据该节点当前所在的资源区间以及各资源区间的迁移代价,确定该节点的迁移影响度;所述迁移影响度用于表征调度该节点的资源处理所述当前资源请求后,该节点所在的资源区间所发生的改变对所述分布式系统的影响。
67.根据步骤s102中确定出的各资源区间的迁移代价,以及步骤s104中确定出的各节点所在的资源区间,可以确定出各节点的迁移影响度。其中,一个节点的迁移影响度用于表征该节点发生迁移后,分布式系统整体的处理资源请求的能力受到的影响的大小,一个节点的迁移影响度越大,表明该节点在发生迁移后,分布式系统整体的处理资源请求的能力受到的影响越小。
68.s108:根据该节点的第一优先系数和迁移影响度,确定该节点的第二优先系数。
69.根据步骤s104中确定出的节点的第一优先系数,以及步骤s106中确定出的节点的迁移影响度,可确定出节点的第二优先系数。其中,节点的第二优先系数用于表征节点被调度的优先度的大小,一个节点的第二优先系数越高,则表明该节点越优先被调度。
70.而根据一个节点的第一优先系数和迁移影响度,确定该节点的第二优先系数的方法有很多,例如,可采用预设的与该节点的第一优先系数对应的第一权重,以及与该节点的迁移影响度对应的第二权重,对该节点的第一优先系数和迁移影响度进行加权,得到该节点的第二优先系数;又例如,将第一优先系数与迁移影响度直接相加或相乘,得到第二优先
系数等,本说明书在此不做限制。
71.s110:根据所述各节点的第二优先系数,从各节点中选择目标节点,并调度目标节点的资源处理所述当前资源请求。
72.根据步骤s108中得到的各节点的第二优先系数,即可选择出被调度的目标节点。由于一个节点的第二优先系数所表征的即为该节点被调度的优先度,因此,可将第二优先系数最高的节点确定为被调度的目标节点,并调度该目标节点中的资源去处理当前资源请求。
73.在采用本说明书提供的资源调度方法进行资源调度时,可通过预先划分出资源区间,确定各资源区间的迁移代价;在进行资源调度时,可根据节点的剩余资源量确定节点所在的区间,同时确定节点的第一优先系数;随后再根据节点所在的资源区间以及各资源区间的迁移代价确定出各节点的迁移影响度;最终根据节点的第一优先系数和迁移影响度确定节点的第二优先系数,并根据第二优先系数确定出被调度的节点。本方法在进行资源调度时,综合考虑了各节点的剩余资源量以及各节点调度前后分布式系统整体处理资源请求能力的损失程度,既保证了资源调度的均衡度,又保证了资源调度的利用率,同时在不空置大量节点的情况下保证能够处理资源需求量较大的资源请求,确保了较高的履约率。
74.进一步的,在步骤s100中,预先划分资源区间时,为了使划分出的资源区间具有较强的针对性与较明显的区分效果,可根据历史数据来划分资源区间。具体的,可获取各历史资源请求的资源需求量;根据所述各历史资源请求的资源需求量,以资源需求量落入不同资源区间的历史资源请求的数量之差在预设范围内为约束,划分资源区间。
75.在获取到历史数据中的历史资源请求后,可获取每个历史资源请求的资源需求量,并根据历史资源请求的资源需求量的分布情况,以资源需求量落入不同资源区间的历史资源请求的数量之差在预设范围内为约束,去划分资源区间。这样划分的目的为,使划分出的每个资源区间内落入的历史资源请求的数量相差较小,使各资源区间的区分效果更加明显。
76.例如,可在资源请求较为集中的区域划分较多的区间,每个资源区间的上下边界之差较小;在资源需求请求较少或较为分散的区域划分较少,每个资源区间的上下边界之差较大。在采用这种划分方式时,最终所表现出的资源区间划分情况可能为,在资源请求数量较多、较为集中的资源量附近所划分的资源区间较多,各资源区间的上下限只差较小;而在资源请求数量较少的资源量附近所划分的资源区间较少,各资源区间的上下限只差较大,以此来实现各落入各资源区间内的历史资源请求的数量相近。
77.同样的,也可以历史数据中的历史资源请求为基础,确定划分好的资源区间的迁移代价。具体的,根据资源需求量落入该资源区间的历史资源请求的数量在历史资源请求的总数量中的占比,确定该资源区间的迁移代价,其中,所述资源需求量落入该资源区间的历史资源请求的数量在历史资源请求的总数量中的占比与该资源区间的迁移代价正相关。
78.在实际应用中,会接收到的用户的资源请求,每个资源请求的资源需求量可能都不相同。然而,不同资源需求量的资源请求并不是平均分布的,根据用户的需求,会存在部分资源需求量的资源请求的数量会较多的情况。也就是说,落入各资源区间的资源请求的数量都可能是不同的。而从节点方面考虑,当一个节点消耗了资源量,从当前所在的资源区间迁移到相邻的上一资源区间后,该节点便不在能够处理落入当前资源区间内资源请求,
而这一部分资源请求就可以看作是该节点在这一次迁移中的迁移代价。具体的计算方式可如下公式:
[0079][0080]
其中,cost表示该资源区间的迁移代价,req表示资源请求,count(req)表示该资源区间中历史资源请求的数量,rk表示该资源区间的上边界,rj表示该资源区间的下边界,表示该资源区间,total(req)表示历史资源请求的总数量。上述公式的含义为,一个资源区间的迁移代价可表示为落入该资源区间内的历史资源请求的数量在历史资源请求总数量中的占比。
[0081]
而在步骤s106中计算节点迁移影响度时,由于在处理资源需求量不同的资源请求时,节点发生迁移的情况可能不同,因此,可在节点所在的资源区间以及迁移代价的基础上,根据需要处理的当前资源请求的资源需求量来确定节点的迁移影响度。具体的,可根据该节点当前的剩余资源量与当前资源请求的资源需求量,确定当以该节点处理当前资源请求时,该节点的预估剩余资源量;根据该节点的预估剩余资源量,确定当以该节点处理当前资源请求时,该节点迁移到的目标资源区间;根据该节点当前所在的资源区间和所述目标资源区间,以及各资源区间的迁移代价,确定该节点的总迁移代价;根据该节点的总迁移代价和该节点当前所在的资源区间内节点的数量在节点总数量中的占比,确定该节点的迁移影响度。
[0082]
当接收到一个新的资源请求时,对于每个节点,都可计算假如以该节点处理当前资源请求时,该节点的预估剩余资源量为多少,用该节点当前的剩余资源量减去当前资源请求的资源需求量,即可得到以该节点处理当前资源请求后该节点的预估剩余资源量。而根据该节点处理当前资源请求后的预估资源剩余量,可确定出该节点处理当前资源请求后所在的目标资源区间,即该节点发生迁移后所在的资源区间。此时,根据该节点发生迁移时所经过的资源区间,以及每个资源分区的迁移代价,即可确定该节点的总迁移代价。具体的,可将该节点当前所在的资源区间与所述目标资源区间之间的各资源区间的迁移代价,与该节点当前所在的资源区间的迁移代价之和作为该节点的总迁移代价。
[0083]
举例来说,仍以图3所示的方式划分资源分区。假设一个节点当前的剩余资源量为20c40g,则该节点当前所在的资源区间应为16c32g~32c64g;若接收到的当前资源请求的资源需求量为14c28g,那么当以该节点处理该资源请求时,该节点的预估剩余资源量则变为6c12g,相应的,该节点处理当前资源请求后所在的目标资源区间为4c8g~8c16g;可以看出,该节点在从16c32g~32c64g迁移到4c8g~8c16g的途中,经过了8c16g~16c32g这一资源区间。假设8c16g~16c32g这一资源区间的迁移代价为0.2,16c32g~32c64g这一资源区间的迁移代价为0.3,则该节点的总迁移代价则为0.2 0.3=0.5。由于一个节点的总迁移代价表征了以该节点处理当前资源请求时,该节点损失的资源请求处理能力的大小,可以看出,一个节点的总迁移代价越大,那么该节点发生迁移时对资源调度系统整体处理资源请求能力的影响也会越大,该节点的迁移影响度就越小。
[0084]
如步骤s106中所阐述的,一个节点的迁移影响度表征了该节点发生迁移时,分布
式系统的整体处理资源请求的能力受到的影响的大小。因此,一个节点的迁移影响度除了可由该节点的总迁移代价决定外,还可由该节点所在的资源区间内的节点的数量在节点总数量中的占比来决定。当一个资源区间内的节点数量在节点总数量中占比较多时,该资源区间内的一个节点发生迁移对资源调度系统总体的影响并不会太大;而当一个资源区间内的节点数量在节点总数量中占比很少时,该资源区间内的一个节点发生迁移则会对资源调度系统整体的影响较大。
[0085]
从上述论述中可以得出,一个节点的总迁移代价越大,该节点的迁移影响度就越小;而一个节点所在的资源区间内节点的数量在节点总数量中的占比越大,该节点的迁移影响度也就越大。换句话说,在确定一个节点的迁移影响度时,可以该节点的总迁移代价与该节点的迁移影响度负相关,该节点所在的资源区间内节点的数量在节点总数量中的占比与该节点的迁移影响度正相关的方式,确定该节点的迁移影响度。
[0086]
以上是本说明书提供的资源调度方法,基于同样的思路,本说明书还提供了相应的资源调度装置,如图4所示。
[0087]
图4为本说明书提供的一种资源调度装置示意图,具体包括:
[0088]
获取模块200,获取预先划分的资源区间,其中,所述资源至少包括计算资源和/或存储资源;
[0089]
迁移代价确定模块202,针对每个资源区间,根据资源需求量落入该资源区间的历史资源请求,确定该资源区间对应的迁移代价;
[0090]
第一优先系数确定模块204,当接收到当前资源请求时,根据分布式系统中各节点当前的剩余资源量,确定所述各节点的第一优先系数以及所述各节点当前所在的资源区间;
[0091]
迁移影响度确定模块206,针对每个节点,根据该节点当前所在的资源区间以及各资源区间的迁移代价,确定该节点的迁移影响度;所述迁移影响度用于表征调度该节点的资源处理所述当前资源请求后,该节点所在的资源区间所发生的改变对所述分布式系统的影响;
[0092]
第二优先系数确定模块208,针对每个节点,根据该节点的第一优先系数和迁移影响度,确定该节点的第二优先系数;
[0093]
调度模块210,根据所述各节点的第二优先系数,从各节点中选择目标节点,并调度目标节点的资源处理所述当前资源请求。
[0094]
在一可选的实施例:
[0095]
所述装置还包括,划分模块212,具体用于获取各历史资源请求的资源需求量;根据所述各历史资源请求的资源需求量,以资源需求量落入不同资源区间的历史资源请求的数量之差在预设范围内为约束,划分资源区间。
[0096]
在一可选的实施例:
[0097]
所述迁移代价确定模块202,具体用于根据资源需求量落入该资源区间的历史资源请求的数量在历史资源请求的总数量中的占比,确定该资源区间的迁移代价,其中,所述占比与该资源区间的迁移代价正相关。
[0098]
在一可选的实施例:
[0099]
所述第一优先系数确定模块204,具体用于针对每个节点,以该节点当前的剩余资
源量与该节点的第一优先系数正相关的方式,确定该节点的第一优先系数。
[0100]
在一可选的实施例:
[0101]
所述迁移影响度确定模块206,具体用于根据该节点当前的剩余资源量与当前资源请求的资源需求量,确定当以该节点处理当前资源请求时,该节点的预估剩余资源量;根据该节点的预估剩余资源量,确定当以该节点处理当前资源请求时,该节点迁移到的目标资源区间;根据该节点当前所在的资源区间和所述目标资源区间,以及各资源区间的迁移代价,确定该节点的总迁移代价;根据该节点的总迁移代价和该节点当前所在的资源区间内节点的数量在节点总数量中的占比,确定该节点的迁移影响度。
[0102]
在一可选的实施例:
[0103]
所述迁移影响度确定模块206,具体用于将该节点当前所在的资源区间与所述目标资源区间之间的各资源区间的迁移代价,与该节点当前所在的资源区间的迁移代价之和作为该节点的总迁移代价。
[0104]
在一可选的实施例:
[0105]
所述迁移影响度确定模块206,具体用于以该节点的总迁移代价与该节点的迁移影响度负相关,该节点所在的资源区间内节点的数量在节点总数量中的占比与该节点的迁移影响度正相关的方式,确定该节点的迁移影响度。
[0106]
在一可选的实施例:
[0107]
所述第二优先系数确定模块208,具体用于采用预设的与该节点的第一优先系数对应的第一权重,以及与该节点的迁移影响度对应的第二权重,对该节点的第一优先系数和迁移影响度进行加权,得到该节点的第二优先系数。
[0108]
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的资源调度方法。
[0109]
本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的资源调度方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0110]
需要说明的是,本技术中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
[0111]
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作
专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
[0112]
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0113]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
[0114]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0115]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0116]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0117]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0118]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0119]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0120]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0121]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0122]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0123]
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0124]
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0125]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实
施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0126]
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

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

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

相关文献