一种云平台的资源管理方法、装置及电子设备与流程

文档序号:32600887发布日期:2022-12-17 15:41阅读:38来源:国知局
一种云平台的资源管理方法、装置及电子设备与流程

1.本技术主要涉及云计算技术领域,尤其涉及一种云平台的资源管理方法、装置及电子设备。


背景技术:

2.随着芯片技术的不断发展,cpu基础架构的类型也日益丰富,比如精简指令集架构处理器(acorn risc machine,arm)架构、x86(the x86)架构以及无互锁流水线微处理器(microprocessor without interlocked piped stages,mips)架构,基于上述各类基础架构,用于云计算技术做基础设施使用的硬件服务器性能有了很大的提升。
3.现有的多云管理平台,用于统一管理多个公有云上的云资源或云服务,通常采用提升服务器的芯片配置、增加服务器计算资源、负载均衡或者改变平台架构来提升性能,缺乏一种针对现有硬件资源实现性能提升的方法。
4.在对称多处理器结构(symmetric multi-processor,smp)中,服务器中的cpu没有主次和从属之分,服务器中的各个cpu平均共享相同的物理内存,由于每个cpu必须通过相同的内存总线访问相同的内存资源,在物理内存不变的情况下,cpu的数量增加时,cpu对内存的访问会出现冲突,从而造成cpu访问内存资源的速度降低。


技术实现要素:

5.本技术提供了一种云平台的资源管理方法、装置及电子设备,通过将异构多云管理云平台中的各个cpu进行分组,进一步将每台云主机与对应的cpu群组进行绑定,从而使云主机在运行应用程序时,减少了应用程序在不同cpu之间的轮询时间,提高了云主机的运行效率。
6.第一方面,本技术提供了一种云平台的资源管理方法,所述方法包括:
7.在第一云主机中启动应用程序时,所述第一云主机调用预分配的第一cpu群组;
8.确定所述第一云主机对应的可用的内存资源;
9.判定所述第一云主机对应的可用的内存资源是否大于运行所述应用程序所需的内存资源;
10.若是,则在所述第一云主机中运行所述应用程序;
11.若否,则调用第二云主机以及第二云主机预分配的第二cpu群组。
12.通过上述的方法,在云主机中运行应用程序时,云主机将直接调用预分配的cpu群组,应用程序不需要在所有的cpu中轮询,提高了云主机运行应用程序的处理效率。
13.在一种可能的设计中,在第一云主机中启动应用程序之前,还包括:
14.获取异构多云管理云平台中的各个cpu;
15.将所述各个cpu分为n个cpu群组,所述n个cpu群组中的每一个cpu群组包括至少两个cpu,其中n为大于等于2的整数;
16.将各个云主机与对应的cpu群组绑定。
17.通过上述的方法,将云主机与预分配的cpu群组进行绑定,提高了应用程序访问cpu的速度,减少了应用程序在不同cpu之间的轮询时间。
18.在一种可能的设计中,调用第二云主机以及所述第二云主机预分配的第二cpu群组,包括:
19.获取各个云主机对应的内存资源;
20.若第二云主机对应的内存资源大于运行所述应用程序所需的内存资源,则调用第二云主机以及第二云主机预分配的第二cpu群组。
21.通过上述的方法,获取到各个云主机对应的内存资源,在第一云主机的内存资源不足以运行应用程序时,可以选择离第一云主机节点最近的云主机作为第二云主机,进一步可以直接调用第二云主机预分配的第二cpu群组以及内存资源,提高了应用程序的运行速度。
22.在一种可能的设计中,将所述各个cpu分为n个cpu群组,包括:
23.确定所述异构多云管理云平台中各个cpu的基础架构类型;
24.根据所述各个cpu的基础架构类型,将同一cpu基础架构类型的cpu划分在同一群组中。
25.通过上述的方法,将同一cpu基础架构类型的cpu划分在同一组中,可以保证cpu群组中的各个cpu有较好的兼容性,能够实现正常的交互。
26.第二方面,本技术提供了一种云平台的资源管理装置,所述装置包括:
27.获取模块,用于获取各个云主机对应的内存资源;
28.处理模块,用于判定当前云主机对应的可用内存资源是否大于运行应用程序所需的内存资源。
29.在一种可能的设计中,所述获取模块具体用于获取各个云主机对应的内存资源并确定当前云主机对应的可用内存资源。
30.在一种可能的设计中,所述处理模块具体用于判定第一云主机对应的可用的内存资源是否大于运行应用程序所需的内存资源;
31.若第一云主机对应的可用的内存资源大于运行应用程序所需的内存资源,则在第一云主机中运行应用程序;
32.若第一云主机对应的可用的内存资源小于运行应用程序所需的内存资源,则调用第二云主机以及所述第二云主机预分配的第二cpu群组。
33.在一种可能的设计中,所述装置还包括:
34.互联模块,用于cpu群组中的各个cpu进行相互连接与信息交互。
35.第三方面,本技术提供了一种电子设备,包括:
36.存储器,用于存放计算机程序;
37.处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的一种云平台的资源管理方法的步骤。
38.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的一种云平台的资源管理方法的步骤。
39.上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参
照上述针对第一方面及第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
40.图1为本技术实施例提供的一种异构多云管理云平台系统架构图;
41.图2为本技术实施例提供的一种云平台的资源管理方法的流程图;
42.图3为本技术实施例提供的一种云平台的资源管理装置;
43.图4为本技术实施例提供的一种电子设备结构示意图。
具体实施方式
44.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本技术的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。a与b连接,可以表示:a与b直接连接和a与b通过c连接这两种情况。另外,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
45.下面结合附图,对本技术实施例进行详细描述。
46.目前,现有的多云管理平台通常采用提升服务器芯片的配置、增加服务器计算资源、负载均衡或者改变平台架构来提升性能,缺乏一种针对现有硬件资源实现云平台性能提升的方法。
47.为了解决上述问题,本技术实施例提供了一种云平台的资源管理方法、装置及电子设备。首先,为了使云主机中的应用程序在与cpu交互时,能够提高访问cpu的速度以及提高云主机运行应用程序的运行效率,将本技术实施例所提供的一种云平台的资源管理方法应用到如图1所示的系统架构中,在该系统架构的异构多云管理云平台下包含多台云主机,每台云主机对应预分配一个cpu群组以及内存资源,在运行应用程序时只需要访问为其预分配的云主机对应的cpu群组和内存资源,而不需要在所有的cpu和内存资源中轮询,有效地减少了不同cpu之间的轮询时间,使得云主机的访问效率以及处理效率得到了极大的提升。
48.下面通过具体的实施例对本技术技术方案做进一步的说明,参照图2所示,为本技术提供的一种云平台的资源管理方法,该方法的实现流程如下:
49.s11,在第一云主机启动应用程序时,第一云主机调用预分配的第一cpu群组;
50.在构建异构多云管理云平台时,首先会将不同型号的异构芯片服务器的cpu、内存、网络等资源统一管理起来,将异构芯片服务器的资源统一管理用作计算、存储、网络的资源池。在本技术实施例中,常用的服务器架构具体包括精简指令集(acorn risc machine,arm)架构服务器、x86(the x86)架构服务器以及无互锁流水线微处理器(microprocessor without interlocked piped stages,mips)架构服务器等,进一步,将同一服务器集群中不同基础架构的服务器搭建为异构多云管理云平台。
51.通过异构多云管理云平台实现对计算、存储、网络等资源进行统一纳管、监控,进
一步可以实现对资源的集中管理和统一调配。
52.进一步,在异构多云管理云平台上创建云主机时,将会获取异构多云管理云平台中的各个cpu信息,进一步将异构多云管理云平台中的各个cpu分为n个cpu群组,在n个cpu群组中的每一个cpu群组中至少包括两个cpu。
53.在将异构多云管理云平台中的各个cpu进行分组之后,根据云主机所需要的计算、存储、网络等资源将云主机与对应的cpu群组绑定,每台云主机将会对应分配一个cpu群组。比如,在获取到各个cpu信息之后,将异构多云管理云平台下的所有cpu分为4个群组,在每个cpu群组中包括至少2个cpu,此时,根据云主机的计算、存储、网络等资源将每台云主机对应与一个cpu群组绑定。
54.在一种可选的实施方式中,在将异构多云管理云平台中的各个cpu进行分组之前,需要确定异构多云管理云平台中各个cpu的基础架构类型,该基础架构类型可以是常用的arm基础架构,此基础架构属于精简指令集基础架构;x86基础架构,此基础架构属于复杂指令集基础架构;mips基础架构,此基础架构属于无互锁流水线基础架构,由于不同基础架构类型的cpu无法做到兼容,所以在对异构多云管理云平台中的各个cpu进行分组时,需要将相同cpu基础架构类型的cpu划分在同一组中。arm基础架构的指令少,复杂任务由多个精简指令组合完成,而x86基础架构的指令多,一条指令可以执行多个功能,所以在对异构多云管理平台中的各个cpu进行分组时,需要把同一种基础架构类型的cpu划分在同一个群组中,以保证群组中的各个cpu能正常交互。
55.在每一个cpu群组中,各个cpu之间可以通过互联模块进行连接与信息交互,因此,cpu群组中的每个cpu都可以访问整个云主机系统对应的内存。
56.根据不同的cpu基础架构对异构多云管理云平台下的各个cpu进行分组,可以使cpu群组中的各个cpu更好的实现信息交互,将云主机与预分配的cpu群组进行绑定,有效的提高了应用程序访问cpu的速度,使得云平台的运行效率有了明显的提升。
57.s12,确定第一云主机对应的可用的内存资源;
58.在第一云主机运行应用程序之前,首先需要确定第一云主机对应的可用内存资源,比如,第一云主机对应的内存资源有32gb,此时,第一云主机可能为空闲状态则内存资源没有被消耗,则当前可用内存资源为32gb,第一云主机对应的内存资源也可能有一部分被其他应用程序占用,在本技术实施例中,云主机的底层连接计算、存储、网络的驱动程序可以为云主机指定对应的内存资源,进一步可以通过云主机底层的驱动程序获取到第一云主机此时可用的内存资源。
59.进一步,在第一云主机中运行应用程序时,第一云主机将直接调用预分配的第一cpu群组以及对应的内存资源,应用程序可以直接访问预分配的第一cpu群组以及对应的内存资源,提高了云主机运行应用程序的速度。
60.s13,判定第一云主机对应的可用的内存资源是否大于运行所述应用程序所需的内存资源;
61.首先,在确定出第一云主机对应的可用的内存资源之后,若第一云主机对应的可用的内存资源大于运行应用程序所需的内存资源,比如第一云主机当前对应可用的内存资源为24gb,大于运行应用程序所需的10gb内存资源,则执行s14步骤,若第一云主机当前对应可用的内存资源只有8gb,小于运行应用程序所需的10gb内存资源,则执行s15步骤。
62.s14,在第一云主机中运行所述应用程序;
63.当满足第一云主机的可用内存资源大于运行应用程序所需的内存资源这一条件时,将会在第一云主机中安装部署所需要的应用程序,比如,应用程序包括日常使用的微信、微博、视频播放软件等。在第一云主机中安装部署所需要的应用程序之后,应用程序将会直接访问第一云主机预分配的cpu群组以及内存资源,减少了应用程序在不同cpu之间的轮询时间,在第一云主机中运行所安装部署的应用程序时,可以快速的获得响应。
64.s15,调用第二云主机以及所述第二云主机预分配的第二cpu群组。
65.当第一云主机不满足运行所需要的应用程序的条件时,具体来讲,第一云主机对应的可用的内存资源小于运行应用程序所需的内存资源;
66.在一种可选的实施方式中,获取各个云主机对应的内存资源;
67.若第二云主机对应的内存资源大于运行所需应用程序的内存资源,则调用第二云主机以及第二云主机预分配的第二cpu群组。
68.具体来讲,在异构多云管理云平台中,调用的第一云主机对应的内存资源小于运行应用程序所需的内存资源时,异构多云管理云平台将会获取平台下各个云主机对应的内存资源,在获取到的云主机内存资源大于运行应用程序所需的内存资源时,选择离第一云主机节点最近的云主机作为第二云主机;进一步调用第二云主机以及第二云主机预分配的第二cpu群组以及内存资源,在第二云主机中安装部署所需的应用程序,进一步,所安装的应用程序只需访问第二云主机预分配的第二cpu群组以及对应的内存资源就可以实现对应用程序的运行。
69.通过获取各个云主机的内存资源使用情况,确定出当前可使用的第二云主机,使得应用程序可以在最近的云主机中安装部署,进一步可以访问距离最近的第二云主机对应的第二cpu群组以及内存资源,提高了云主机运行应用程序的运行效率。
70.基于上述的方法,在异构多云管理云平台中,将每一台云主机与预分配的cpu集群进行绑定,进一步在云主机中安装部署应用程序时,应用程序只需要访问云主机预分配的cpu群组以及内存资源,不需要在所有cpu和内存资源中轮询,减少了应用程序在运行时的响应时间,提高了云主机运行应用程序的运行效率。
71.基于同一发明构思,本技术实施例中还提供了一种云平台的资源管理装置,参照图3所示,该装置包括:
72.获取模块301,用于获取各个云主机对应的内存资源;
73.处理模块302,用于判定当前云主机对应的可用内存资源是否大于运行应用程序所需的内存资源。
74.在一种可能的设计中,获取模块具体用于获取各个云主机对应的内存资源并确定当前云主机对应的可用内存资源。
75.在一种可能的设计中,处理模块具体用于判定第一云主机对应的可用的内存资源是否大于运行应用程序所需的内存资源;
76.若第一云主机对应的可用的内存资源大于运行应用程序所需的内存资源,则在第一云主机中运行应用程序;
77.若第一云主机对应的可用的内存资源小于运行应用程序所需的内存资源,则调用第二云主机以及所述第二云主机预分配的第二cpu群组。
78.在一种可能的设计中,所述装置还包括:
79.互联模块,用于cpu群组中的各个cpu进行相互连接与信息交互。
80.基于同一发明构思,本技术实施例中还提供了一种电子设备,所述电子设备可以实现前述云平台的资源管理方法的功能,参考图4,所述电子设备包括:
81.至少一个处理器401,以及与至少一个处理器401连接的存储器402,本技术实施例中不限定处理器401与存储器402之间的具体连接介质,图4中是以处理器401和存储器402之间通过总线400连接为例。总线400在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线400可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器401也可以称为控制器,对于名称不做限制。
82.在本技术实施例中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,可以执行前文论述的云平台的资源管理方法。处理器401可以实现图3所示的装置中各个模块的功能。
83.其中,处理器401是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器402内的指令以及调用存储在存储器402内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
84.在一种可能的设计中,处理器401可包括一个或多个处理单元,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。在一些实施例中,处理器401和存储器402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
85.处理器401可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的云平台的资源管理方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
86.存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
87.通过对处理器401进行设计编程,可以将前述实施例中介绍的数据库的熔断降级保护方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图2所示的实施例的
云平台的资源管理方法的步骤。如何对处理器401进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
88.基于同一发明构思,本技术实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的云平台的资源管理方法。
89.在一些可能的实施方式中,本技术提供的云平台的资源管理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本技术各种示例性实施方式的云平台的资源管理方法中的步骤。
90.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
91.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
92.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
93.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
94.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1