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

一种云场景下物理资源的调度分配组合方法与系统与流程

2021-11-29 13:15:00 来源:中国专利 TAG:


1.本发明涉及物理资源的调度分配组合领域,具体涉及一种云场景下物理资源的调度分配组合方法与系统。


背景技术:

2.在云计算领域中,一个核心需求是创建虚拟机,一台物理机上有较大数量的异构设备,包含物理网卡、物理显卡等设备,创建虚拟机时,需要选择任意数量、任意种类的异构设备进行透传,如何在大量的设备中选择出合适的设备组合是一个难题,并且这些设备组合需要满足一定的要求;当前绝大部分云环境中都未包含大量的物理设备,其调度算法难以满足在大量物理设备环境下的调度需求。


技术实现要素:

3.本发明要解决的技术问题是当前绝大部分云环境中都未包含大量的物理设备,其调度算法难以满足在大量物理设备环境下的调度需求,假设有200台物理机,每台物理机拥有100张物理网卡,100张显卡,其中某个虚拟机需要5张物理网卡、5张物理显卡,在考虑各种设备要求的情况下目前无法选择出合适的设备,无法在大量的物理设备中为虚拟机挑选出合适的组合,本发明提供一种云场景下物理资源的调度分配组合方法,本发明还提供一种云场景下物理资源的调度分配组合系统,能够解决在大量设备场景下的分配获取耗时且不均匀问题,达到了秒级返回、不占用大量性能、结果均匀的效果,用以解决现有技术导致的缺陷。
4.为解决上述技术问题本发明提供以下的技术方案:
5.第一方面,一种云场景下物理资源的调度分配组合方法,其中,包含以下步骤:
6.步骤a1:获取资源请求数据,根据资源请求数据处理生成资源请求对象数据、物理节点数据、分配数量数据;
7.步骤a2:根据资源请求对象数据中资源规格需求从资源数据库中获取该资源请求对象数据的资源候选数据并填充至该资源请求对象数据中;
8.步骤a3:根据物理节点数据对资源候选数据进行组合得到资源分配列表,并对资源分配列表进行计数统计,总的数量是要大于分配数量的;
9.步骤a4:根据分配数量数据从资源分配列表中获取相应数量的分配数据。
10.上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a1中所述物理节点数据包含物理节点的物理节点信息数据、物理节点数量数据、物理节点需求数据;
11.步骤a3中根据物理节点需求数据对每个物理节点的资源候选数据进行组合得到资源分配列表;
12.步骤a4中根据分配数量数据将资源分配列表随机打乱从中获取相应数量的分配数据,若总的资源分配列表数量多于分配数量数据才进行上述随机打乱的过程。
13.上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a3中根据物理节
点数据对资源候选数据进行组合得到资源分配列表的具体步骤如下:
14.步骤b1:将获得的资源候选数据按物理节点进行分类得到资源候选分类数据;
15.步骤b2:将资源请求对象数据根据资源规格需求进行分类得到资源请求对象分类数据;
16.步骤b3:遍历每一个物理节点的资源候选分类数据获得每一个物理节点的资源候选遍历数据;
17.步骤b4:在资源候选遍历数据下根据资源请求对象分类数据进行组合得到资源候选列表。
18.上述的一种云场景下物理资源的调度分配组合方法,其中,步骤b4中的组合方式为对于同一类资源请求对象数据,首先取出这一类资源请求对象数据中第一个资源请求对象的资源候选遍历数据,对所有的资源候选遍历数据随机打乱处理,根据这一类中资源请求对象的个数,均等分割所有的资源候选遍历数据,将分割后的资源候选遍历数据依次赋给相应的资源请求对象,再进行笛卡尔乘积处理得到资源候选列表,笛卡尔乘积处理也就是从每一个资源请求对象中的资源候选列表中任取一个出来组合出一个分配。
19.上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a3中根据物理节点数据对资源候选数据进行组合得到资源分配列表的具体步骤如下:
20.步骤c1:将获得的资源候选数据按物理节点进行分类得到资源候选分类数据;
21.步骤c2:将资源请求对象数据根据资源规格需求进行分类得到资源请求对象分类数据;
22.步骤c3:遍历每一个物理节点的资源候选分类数据获得每一个物理节点的资源候选遍历数据;
23.步骤c4:获取资源请求数据与资源候选数据中的numa节点并进行组合得到numa节点组合数据;
24.步骤c5:将获得的资源候选数据按numa节点进行分类得到资源候选numa节点分类数据;
25.步骤c6:根据numa节点组合数据从资源候选numa节点分类数据中获取该numa节点组合的资源候选numa节点组合数据;
26.步骤c7:遍历每一个numa节点组合的资源候选numa节点组合数据获得每一个numa节点组合的资源候选numa节点组合遍历数据;
27.步骤c8:在资源候选numa节点组合遍历数据下根据资源请求对象分类数据进行组合得到资源候选列表。
28.上述的一种云场景下物理资源的调度分配组合方法,其中,步骤c8中的组合方式为对于同一类资源请求对象数据,首先取出这一类资源请求对象数据中第一个资源请求对象的资源候选numa节点组合遍历数据,对所有的资源候选numa节点组合遍历数据随机打乱处理,根据这一类中资源请求对象的个数,均等分割所有的资源候选numa节点组合遍历数据,将分割后的资源候选numa节点组合遍历数据依次赋给相应的资源请求对象,再进行笛卡尔乘积处理得到资源候选列表,笛卡尔乘积处理也就是从每一个资源请求对象中的资源候选列表中任取一个出来组合出一个分配。
29.第二方面,一种云场景下物理资源的调度分配组合系统,其中,包含客户端、服务
端、资源数据库,所述服务端包含资源请求解析模块、资源候选筛选模块、资源候选组合算法模块、整合结果处理模块;
30.所述客户端用于生成传输至所述资源请求解析模块的资源请求数据;
31.所述资源请求解析模块用于依据所述资源请求数据处理生成资源请求对象数据、物理节点数据、分配数量数据;
32.所述资源候选筛选模块用于依据所述资源请求对象数据从所述资源数据库中获取该资源请求对象数据的所有资源候选数据,资源候选数据是指未使用的并且满足资源请求规格的资源;
33.所述资源候选组合算法模块用于依据所述资源请求对象数据对所述资源候选数据进行组合得到资源分配列表;
34.所述整合结果处理模块用于获取所述资源分配列表并整合处理后发送至客户端。
35.第三方面,一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
36.依据上述本发明一种云场景下物理资源的调度分配组合方法与系统提供的技术方案具有以下技术效果:
37.采用本技术方案一种云场景下物理资源的调度分配组合方法与系统能够解决在大量设备场景下的分配获取耗时且不均匀问题,达到了秒级返回、不占用大量性能、结果均匀的效果。
附图说明
38.图1为本发明一种云场景下物理资源的调度分配组合方法的流程图;
39.图2为本发明一种云场景下物理资源的调度分配组合方法第一实施例的具体流程图;
40.图3为本发明一种云场景下物理资源的调度分配组合方法第二实施例的具体流程图;
41.图4为本发明一种云场景下物理资源的调度分配组合方法第三实施例的具体流程图;
42.图5为本发明一种云场景下物理资源的调度分配组合系统的结构示意图;
43.图6为现有数据结构的示意图。
44.其中,附图标记如下:
45.客户端100、服务端200、资源数据库300、资源请求解析模块201、资源候选筛选模块202、资源候选组合算法模块203、整合结果处理模块204。
具体实施方式
46.为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,下结合具体图示,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
47.基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
49.同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
50.本发明的第一实施例是提供一种云场景下物理资源的调度分配组合方法,目的是能够解决在大量设备场景下的分配获取耗时且不均匀问题,达到了秒级返回、不占用大量性能、结果均匀的效果。
51.如图1

2所示,第一方面,第一实施例,一种云场景下物理资源的调度分配组合方法,其中,包含以下步骤:
52.步骤a1:获取资源请求数据,根据资源请求数据处理生成资源请求对象数据、物理节点数据、分配数量数据;
53.步骤a2:根据资源请求对象数据中资源规格需求从资源数据库300中获取该资源请求对象数据的资源候选数据并填充至该资源请求对象数据中;
54.步骤a3:根据物理节点数据对资源候选数据进行组合得到资源分配列表,并对资源分配列表进行计数统计,总的数量是要大于分配数量的;
55.步骤a4:根据分配数量数据从资源分配列表中获取相应数量的分配数据。
56.上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a1中物理节点数据包含物理节点的物理节点信息数据、物理节点数量数据、物理节点需求数据;
57.步骤a3中根据物理节点需求数据对每个物理节点的资源候选数据进行组合得到资源分配列表;
58.步骤a4中根据分配数量数据将资源分配列表随机打乱从中获取相应数量的分配数据,若总的资源分配列表数量多于分配数量数据才进行上述随机打乱的过程。
59.假设:资源要求:1核,512mb,2张vnic,1个vgpu;
60.资源请求伪代码参考:
61.resources=vcpu:1,memory_mb:512
62.resources1=vnic:1
63.resources2=vnic:1
64.resources3=vgpu:1
65.这些资源请求以resources后缀作为标识,转化为:
[0066][0067]
在生成对应的rg(requestgroup,请求组,每一个设备请求或者资源请求均视为一个请求组)之后,为每一个rg填充对应的可用rp列表;
[0068]
填充完成后,数据结构参考:
[0069][0070][0071]
至此,对于每个设备请求都有对应的设备候选列表。
[0072]
如图3所示,第二实施例,一种云场景下物理资源的调度分配组合方法,其中,包含以下步骤:
[0073]
步骤a1:获取资源请求数据,根据资源请求数据处理生成资源请求对象数据、物理节点数据、分配数量数据;
[0074]
步骤a2:根据资源请求对象数据中资源规格需求从资源数据库300中获取该资源请求对象数据的资源候选数据并填充至该资源请求对象数据中;
[0075]
步骤a3:根据物理节点数据对资源候选数据进行组合得到资源分配列表,并对资源分配列表进行计数统计,总的数量是要大于分配数量的;
[0076]
步骤a4:根据分配数量数据从资源分配列表中获取相应数量的分配数据。
[0077]
上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a1中物理节点数据包含物理节点的物理节点信息数据、物理节点数量数据、物理节点需求数据;
[0078]
步骤a3中根据物理节点需求数据对每个物理节点的资源候选数据进行组合得到资源分配列表;
[0079]
步骤a4中根据分配数量数据将资源分配列表随机打乱从中获取相应数量的分配数据,若总的资源分配列表数量多于分配数量数据才进行上述随机打乱的过程。
[0080]
上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a3中根据物理节点数据对资源候选数据进行组合得到资源分配列表的具体步骤如下:
[0081]
步骤b1:将获得的资源候选数据按物理节点进行分类得到资源候选分类数据;
[0082]
步骤b2:将资源请求对象数据根据资源规格需求进行分类得到资源请求对象分类数据;
[0083]
步骤b3:遍历每一个物理节点的资源候选分类数据获得每一个物理节点的资源候选遍历数据;
[0084]
步骤b4:在资源候选遍历数据下根据资源请求对象分类数据进行组合得到资源候选列表。
[0085]
上述的一种云场景下物理资源的调度分配组合方法,其中,步骤b4中的组合方式为对于同一类资源请求对象数据,首先取出这一类资源请求对象数据中第一个资源请求对象的资源候选遍历数据,对所有的资源候选遍历数据随机打乱处理,根据这一类中资源请求对象的个数,均等分割所有的资源候选遍历数据,将分割后的资源候选遍历数据依次赋给相应的资源请求对象,再进行笛卡尔乘积处理得到资源候选列表,笛卡尔乘积处理也就是从每一个资源请求对象中的资源候选列表中任取一个出来组合出一个分配。
[0086]
数据结构关键点演变:
[0087]
1.请求填充分配:
[0088][0089]
2.按节点划分:
[0090][0091]
3.相同资源分配随机切割:
[0092][0093]
如图4所示,第三实施例,一种云场景下物理资源的调度分配组合方法,其中,包含以下步骤:
[0094]
步骤a1:获取资源请求数据,根据资源请求数据处理生成资源请求对象数据、物理节点数据、分配数量数据;
[0095]
步骤a2:根据资源请求对象数据中资源规格需求从资源数据库300中获取该资源请求对象数据的资源候选数据并填充至该资源请求对象数据中;
[0096]
步骤a3:根据物理节点数据对资源候选数据进行组合得到资源分配列表,并对资源分配列表进行计数统计,总的数量是要大于分配数量的;
[0097]
步骤a4:根据分配数量数据从资源分配列表中获取相应数量的分配数据。
[0098]
上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a1中物理节点数据包含物理节点的物理节点信息数据、物理节点数量数据、物理节点需求数据;
[0099]
步骤a3中根据物理节点需求数据对每个物理节点的资源候选数据进行组合得到资源分配列表;
[0100]
步骤a4中根据分配数量数据将资源分配列表随机打乱从中获取相应数量的分配数据,若总的资源分配列表数量多于分配数量数据才进行上述随机打乱的过程。
[0101]
上述的一种云场景下物理资源的调度分配组合方法,其中,步骤a3中根据物理节点数据对资源候选数据进行组合得到资源分配列表的具体步骤如下:
[0102]
步骤c1:将获得的资源候选数据按物理节点进行分类得到资源候选分类数据;
[0103]
步骤c2:将资源请求对象数据根据资源规格需求进行分类得到资源请求对象分类数据;
[0104]
步骤c3:遍历每一个物理节点的资源候选分类数据获得每一个物理节点的资源候选遍历数据;
[0105]
步骤c4:获取资源请求数据与资源候选数据中的numa节点并进行组合得到numa节点组合数据;
[0106]
步骤c5:将获得的资源候选数据按numa节点进行分类得到资源候选numa节点分类数据;
[0107]
步骤c6:根据numa节点组合数据从资源候选numa节点分类数据中获取该numa节点组合的资源候选numa节点组合数据;
[0108]
步骤c7:遍历每一个numa节点组合的资源候选numa节点组合数据获得每一个numa节点组合的资源候选numa节点组合遍历数据;
[0109]
步骤c8:在资源候选numa节点组合遍历数据下根据资源请求对象分类数据进行组合得到资源候选列表。
[0110]
上述的一种云场景下物理资源的调度分配组合方法,其中,步骤c8中的组合方式为对于同一类资源请求对象数据,首先取出这一类资源请求对象数据中第一个资源请求对象的资源候选numa节点组合遍历数据,对所有的资源候选numa节点组合遍历数据随机打乱处理,根据这一类中资源请求对象的个数,均等分割所有的资源候选numa节点组合遍历数据,将分割后的资源候选numa节点组合遍历数据依次赋给相应的资源请求对象,再进行笛卡尔乘积处理得到资源候选列表,笛卡尔乘积处理也就是从每一个资源请求对象中的资源候选列表中任取一个出来组合出一个分配。
[0111]
数据结构关键点演变参考:
[0112]
1.请求填充分配:
[0113][0114]
2.按节点划分:
[0115][0116]
3.在每个节点下再次按numa划分:
[0117]
[0118][0119]
4.根据numa请求数,获取numa combs(假设物理机有4numa,请求2个):
[0120]
[('0','1'),('0','2'),('0','3'),('1','2'),('1','3'),('2','3')]
[0121]
5.在每一个numa comb下,重构资源请求分配:
[0122][0123]
6.请求分类,按分类获取每一类的组合结果:
[0124][0125]
第二方面,第四实施例,一种云场景下物理资源的调度分配组合系统,其中,包含客户端100、服务端200、资源数据库300,服务端200包含资源请求解析模块201、资源候选筛选模块202、资源候选组合算法模块203、整合结果处理模块204;
[0126]
客户端100用于生成传输至资源请求解析模块201的资源请求数据;
[0127]
资源请求解析模块201用于依据资源请求数据处理生成资源请求对象数据、物理节点数据、分配数量数据;
[0128]
资源候选筛选模块202用于依据资源请求对象数据从资源数据库300中获取该资源请求对象数据的所有资源候选数据,资源候选数据是指未使用的并且满足资源请求规格的资源;
[0129]
资源候选组合算法模块203用于依据资源请求对象数据对资源候选数据进行组合得到资源分配列表;
[0130]
整合结果处理模块204用于获取资源分配列表并整合处理后发送至客户端100。
[0131]
第三方面,第五实施例,一种计算机可读存储介质,其中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面中任一项的方法的步骤。
[0132]
如图6所示,node是指物理机;rp是指资源提供者,每一个物理设备均是一个独立的rp;numa是指numa节点;traits是指特征,通常记录该设备的厂商、规格信息;
[0133]
有200个物理节点,每个节点都有200个物理设备,其中包含物理网卡(vnic),物理显卡(vgpu);
[0134]
获取一定数量的分配组合,主要划分为3个流程;
[0135]
基础流程:资源请求转换流程,将设备请求转化为具体的数据结构,并填充合适的设备候选列表(设备候选列表是指这个设备请求可用的设备,根据特征进行匹配);
[0136]
虚拟机numa节点数为0的处理流程,表示该虚拟机在获取分配组合时不需要考虑numa优化,本流程可以概括为“随机均等数据集切片”算法;
[0137]
虚拟机numa节点数大于0的处理流程,表示该虚拟机包含一定数量的numa节点,虚拟机挂载的物理设备也要在这些节点上,本流程可以概括为“基于numa数据集重组”算法。
[0138]
例如,存储器可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等;
[0139]
处理器可以是中央处理器(central processing unit,cpu)等,或者是图像处理器(graphic processing unit,gpu)存储器可以存储可执行指令;
[0140]
处理器可以执行在存储器中存储的执行指令,从而实现本文描述的各个过程。
[0141]
可以理解,本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;
[0142]
其中,非易失性存储器可以是rom(read

onlymemory,只读存储器)、prom(programmablerom,可编程只读存储器)、eprom(erasableprom,可擦除可编程只读存储器)、eeprom(electricallyeprom,电可擦除可编程只读存储器)或闪存。
[0143]
易失性存储器可以是ram(randomaccessmemory,随机存取存储器),其用作外部高速缓存;
[0144]
通过示例性但不是限制性说明,许多形式的ram可用,例如sram(staticram,静态随机存取存储器)、dram(dynamicram,动态随机存取存储器)、sdram(synchronousdram,同步动态随机存取存储器)、ddrsdram(doubledatarate sdram,双倍数据速率同步动态随机存取存储器)、esdram(enhanced sdram,增强型同步动态随机存取存储器)、sldram(synchlinkdram,同步连接动态随机存取存储器)和drram(directrambusram,直接内存总线随机存取存储器)。本文描述的存储器205旨在包括但不限于这些和任意其它适合类型的存储器205。
[0145]
在一些实施方式中,存储器存储了如下的元素,升级包、可执行单元或者数据结
构,或者他们的子集,或者他们的扩展集:操作系统和应用程序;
[0146]
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0147]
应用程序,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序中。
[0148]
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现;
[0149]
这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件;
[0150]
本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本技术的范围。
[0151]
在本技术实施例中,所公开的系统、装置和方法可以通过其它方式来实现;
[0152]
例如,单元或模块的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式;
[0153]
例如,多个单元或模块或组件可以进行组合或者可以集成到另一个系统中;
[0154]
另外,在本技术实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是单独的物理存在等等。
[0155]
应理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
[0156]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中;
[0157]
因此,本技术的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本技术实施例所描述的技术方案的全部或部分过程;
[0158]
上述存储介质可以包括rom、ram、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
[0159]
综上,本发明的一种云场景下物理资源的调度分配组合方法与系统,能够解决在大量设备场景下的分配获取耗时且不均匀问题,达到了秒级返回、不占用大量性能、结果均匀的效果。
[0160]
以上对发明的具体实施例进行了描述。需要理解的是,发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改做出若干简单推演、变形或替换,这并不影响发明的实质内容。
再多了解一些

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

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

相关文献