CN115150402B - 一种云资源分配方法及系统 - Google Patents
一种云资源分配方法及系统 Download PDFInfo
- Publication number
- CN115150402B CN115150402B CN202211043545.1A CN202211043545A CN115150402B CN 115150402 B CN115150402 B CN 115150402B CN 202211043545 A CN202211043545 A CN 202211043545A CN 115150402 B CN115150402 B CN 115150402B
- Authority
- CN
- China
- Prior art keywords
- server
- application
- resource
- usage
- processor
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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
- G06F9/5072—Grid computing
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种云资源分配方法及系统,所述方法包括步骤:当有新的应用需求时,获取应用的资源预估消耗量,获取云资源池中服务器的资源情况,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移。本发明实现了先根据预设的条件进行应用资源的分配,之后追踪应用的资源消耗情况从而判断一个资源需求膨胀的应用是否需要迁移至其他服务器或者把应用部署的服务器的其他应用迁移至其他服务器使得资源需求膨胀的应用有足够的资源同时最小化业务的中断。
Description
技术领域
本发明涉及云计算服务器计算资源分配技术领域,具体涉及一种云资源分配方法及系统。
背景技术
当前,云计算产业蓬勃发展,其应用已经普及到各种方面。为提高利用率和节约成本,云计算需要能够最大化的使用物理资源,同时还需提供服务质量保障以便能够顺畅运行用户的业务系统。在云计算服务器中,有限的物理资源上运行着各个用户的虚拟机,当多个虚拟机同时使用同一物理资源时便形成竞争关系,如何合理充分利用物理资源且及时应对突发资源需求成为云计算一直需要解决的问题。为避免某一虚拟机过多占用资源对其他用户造成干扰,管理员通常都会在云环境下部署QOS策略,即服务质量策略,来限制各个虚拟机的资源使用。但是一个应用的资源占用量会因为突发事件而超出预估量或当前服务器的可用资源,导致其所在的服务器资源不足,导致同服务器所承载的业务中断,影响服务质量和可靠性。资源需求急剧膨胀的应用一般意味着业务对于可用性的要求更高,应用迁移会导致业务中断,服务的中断相比一般应用损失大,因此需要在资源占用膨胀时预留足够的空闲资源,同时尽量减少服务的中断。
发明内容
本发明的目的在于提出一种云资源分配方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
为实现上述技术目的,本发明技术方案如下:
一种云资源分配方法,所述方法包括以下步骤:
步骤1,当有新应用需求时,获取新应用的资源预估消耗量;
步骤2,获取云资源池中服务器的资源情况;
步骤3,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配;
步骤4,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移。
进一步地,步骤1中,当有新的应用需求时,获取应用的资源预估消耗量的子步骤为:
获取当前应用的资源预估消耗量,记为集合APPLET={a,b,c};
a,b,c为当前应用资源预估消耗量,包括处理器使用量a,内存使用量b,网络使用量c,资源预估消耗量来自相同应用的历史平均数据或者来自用户预先输入的资源需求信息。
优选地,相同的应用指相同的二进制文件或者可执行文件,或者属于一个项目不同版本的可执行文件。
优选地,应用指可在不同服务器硬件之间热迁移的VMWare虚拟机,Docker映像,Java应用和数据库实例,对象存储实例。
进一步地,步骤2中,获取云资源池中服务器的资源情况的子步骤为:
获取云资源池中每个服务器的资源使用情况,资源使用情况包括A为服务器的总处理器可用量,B为服务器的总内存可用量,C为服务器的总网络可用量;
其中,云资源池包括多个服务器。
进一步地,步骤3中,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配的子步骤为:
步骤3.1,设置服务器的资源空闲边际条件:
式中,Ai为服务器的剩余处理器可用量,a为当前应用的应用资源预估消耗量中的处理器使用量,At为处理器使用量的容忍值,A为服务器的总处理器可用量,Bi为服务器的剩余内存使用量,b为当前应用的应用资源预估消耗量中的内存使用量,Bt为内存使用量的容忍值,B为服务器的总内存可用量,Ci为服务器的剩余网络使用量,c为当前应用的应用资源预估消耗量中的网络使用量,Ct为网络使用量的容忍值,C为服务器的总网络可用量;At,Bt,Ct均大于1,表示服务器可以短时间承受处理器负载,内存负载和网络负载大于服务器的处理器可用量,内存可用量和网络可用量;
遍历云资源池中符合资源空闲边际条件的服务器,把符合资源空闲边际条件的服务器放入可用集合AS1;
根据上次响应间隔的时长进行服务器分配,具体为从可用集合AS1中选择响应时刻距离当前时刻最大的服务器部署应用,响应时刻指一个服务器被部署一个新应用的时刻。
优选地,如果云资源池中所有服务器都不符合服务器的资源空闲边际条件则中断步骤并发出警报并停止应用资源分配。
优选地,A,B,C中的一个或多个还可以替换为总处理器使用量,总内存可用量或总网络使用量,总存储空间使用量,IO总可用量,GPU总可用量中的一种或多种,根据应用的资源需求种类决定。
步骤3的目的是筛选出可以部署应用的服务器,根据上次响应间隔的时长分配的目的是为了让服务器的分配更加合理。
进一步地,步骤4中,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移的子步骤为:
步骤4.1,周期性获取应用的资源占用情况分别计算处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数;
式中,ak,bk和ck分别为第k次测量中,应用的处理器使用量,内存使用量和网络使用量,MARa,MARb和MARc分别为处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数,MAX(RESa),MAX(RESb)和MAX(RESc)分别为自应用部署开始,应用的处理器使用量的最大值,内存使用量的最大值和网络使用量的最大值,a为当前应用的应用资源预估消耗量中的处理器使用量,b为当前应用的应用资源预估消耗量中的内存使用量,c为当前应用的应用资源预估消耗量中的网络使用量,MEAN(RESa0),MEAN(RESb0)和MEAN(RESc0)分别为当前应用的服务器中所有其他应用的处理器使用量的平均值,内存使用量的平均值和网络使用量的平均值,MEAN(RESa),MEAN(RESb)和MEAN(RESc)分别为当前应用的处理器使用量的平均值,内存使用量的平均值和网络使用量的平均值,i为自应用部署以来的资源占用采样次数;
步骤4.2,取MARa,MARb和MARc中的最大值为MARZ,即服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量中的一种,如果存在2个相同的最大值则随机取其中一个资源种类为MARZ,即MARa,MARb和MARc中有2个的值相等且值最大则随机取其中一个资源种类为MARZ。
步骤4.1和步骤4.2的目的是确定分配的依据参数,因为不同应用消耗的资源种类有不同的趋向,所以选出一个有代表性的参数来进行以下的步骤。
步骤4.3,如果MARZ的资源种类在当前应用的部署服务器中的占用大于当前应用的部署服务器的剩余可用量则迁移当前应用至新服务器,新服务器能同时满足服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于MAX(RESa),MAX(RESb)和MAX(RESc),以及服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于a,b,c;
否则迁移当前服务器的其他应用,即把当前应用所部署的服务器的其他应用迁移出当前应用所部署的服务器。
其中,其他应用指当前服务器部署的应用,不包含当前跟踪的应用。
步骤4.3的作用是决定是否迁移当前跟踪的应用或者迁移部署当前跟踪的应用的服务器中的其他应用,因为虽然一个应用或者一个虚拟机系统可以在不同的服务器硬件之间无缝迁移,但迁移的过程中会造成服务中断,因此需要权衡迁移的方案。
优选地,步骤4.3还可以为:如果MARZ的资源种类在当前应用的部署服务器中的占用大于当前应用的部署服务器的剩余可用量则发出第一迁移指令,第一迁移指令为迁移当前应用至新服务器,新服务器能同时满足服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于MAX(RESa),MAX(RESb)和MAX(RESc),以及服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于a,b,c;
否则发出第二迁移指令,第二迁移指令为迁移当前服务器的其他应用,即把当前应用所部署的服务器的其他应用迁移出当前应用所部署的服务器,并立即执行;
在第一迁移指令发出后,如果满足实时迁移条件则立即执行第一迁移指令,否则等待当前跟踪的应用的MARZ的资源种类的使用率降低至平均值后执行第一迁移指令;实时迁移条件如下:
MARZi-MIN(MARZ)<MAX(MARZ)-MEAN(MARZ)/2;
式中,MARZi为MARZ的资源种类在第i次即最近一次的资源占用情况采集中使用量的平均值,MIN(MARZ)为资源种类MARZ在当前应用部署后的资源使用量的最小值,MAX(MARZ)为资源种类MARZ在当前应用部署后的资源使用量的最大值,MEAN(MARZ)为资源种类MARZ在当前应用部署后的资源使用量的平均值。
优选的步骤4.3,为了尽量保证迁移过程中服务器资源使用量的波动对应用性能的影响,迁移动作不即时进行,根据当前服务器的资源消耗量和当前应用的资源消耗量,和服务器的空闲资源量决定。
优选地,其中,本发明中所有未定义的变量,若未有明确定义,均可为人工设置的阈值。
一种云资源分配系统,所述系统包括:
服务器监控模块:用于实时获取服务器的资源使用情况,包括处理器使用量,内存使用量和网络使用量;
数据处理模块:用于处理所有服务器的资源使用情况,根据新应用的资源预估消耗量分配服务器;根据应用的资源占用情况输出应用迁移指令;
应用迁移模块:根据应用迁移指令对相应的应用进行迁移。
与现有技术相比,本发明具有以下有益的技术效果:
先根据预设的条件进行应用资源的分配,之后追踪应用的资源消耗情况从而判断一个资源需求膨胀的应用是否需要迁移至其他服务器或者把应用部署的服务器的其他应用迁移至其他服务器使得资源需求膨胀的应用有足够的资源同时最小化业务的中断时间。
附图说明
图1为本发明提供的一种云资源分配方法的流程图;
图2为本发明一个实施例的一种云资源分配系统结构示意框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清晰,以下结合附图及实施例,对本发明进行进一步详尽说明。此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
同样应理解,以下实施例只用于对本发明进行进一步说明,不能理解为对本发明保护范围的限制,本领域的技术人员根据本发明上述内容做出的一些非本质的改进和调整均属于本发明的保护范围。下述示例具体的工艺参数等也仅是合适范围内的一个示例,即本领域技术人员可以通过本文的说明做合适的范围内选择,而并非要限定于下文示例的具体数值。
以下示例性地说明本发明提供的一种云资源分配方法。
如图1所示为一种云资源分配方法的流程图,下面结合图1来阐述根据本发明的实施方式的一种云资源分配方法,所述方法包括以下步骤:
步骤1,当有新应用需求时,获取新应用的资源预估消耗量;
步骤2,获取云资源池中服务器的资源情况;
步骤3,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配;
步骤4,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移。
进一步地,步骤1中,当有新的应用需求时,获取应用的资源预估消耗量的子步骤为:
获取当前应用的资源预估消耗量,记为集合APPLET={a,b,c};
a,b,c为当前应用资源预估消耗量,包括处理器使用量a,内存使用量b,网络使用量c,资源预估消耗量来自相同应用的历史平均数据或者来自用户预先输入的资源需求信息。
优选地,相同的应用指相同的二进制文件或者可执行文件,或者属于一个项目不同版本的可执行文件。
优选地,应用指可在不同服务器硬件之间热迁移的VMWare虚拟机,Docker映像,Java应用和数据库实例,对象存储实例。
进一步地,步骤2中,获取云资源池中服务器的资源情况的子步骤为:
获取云资源池中每个服务器的资源使用情况,资源使用情况包括A为服务器的总处理器可用量,B为服务器的总内存可用量,C为服务器的总网络可用量;
其中,云资源池包括多个服务器。
进一步地,步骤3中,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配的子步骤为:
步骤3.1,设置服务器的资源空闲边际条件:
式中,Ai为服务器的剩余处理器可用量,a为当前应用的应用资源预估消耗量中的处理器使用量,At为处理器使用量的容忍值,A为服务器的总处理器可用量,Bi为服务器的剩余内存使用量,b为当前应用的应用资源预估消耗量中的内存使用量,Bt为内存使用量的容忍值,B为服务器的总内存可用量,Ci为服务器的剩余网络使用量,c为当前应用的应用资源预估消耗量中的网络使用量,Ct为网络使用量的容忍值,C为服务器的总网络可用量;At,Bt,Ct均大于1,表示服务器可以短时间承受处理器负载,内存负载和网络负载大于服务器的处理器可用量,内存可用量和网络可用量;
遍历云资源池中符合资源空闲边际条件的服务器,把符合资源空闲边际条件的服务器放入可用集合AS1;
根据上次响应间隔的时长进行服务器分配,具体为从可用集合AS1中选择响应时刻距离当前时刻最大的服务器部署应用,响应时刻指一个服务器被部署一个新应用的时刻。
优选地,如果云资源池中所有服务器都不符合服务器的资源空闲边际条件则中断步骤并发出警报并停止应用资源分配。
优选地,A,B,C中的一个或多个还可以替换为总处理器使用量,总内存可用量或总网络使用量,总存储空间使用量,IO总可用量,GPU总可用量中的一种或多种,根据应用的资源需求种类决定。
步骤3的目的是筛选出可以部署应用的服务器,根据上次响应间隔的时长分配的目的是为了让服务器的分配更加合理。
进一步地,步骤4中,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移的子步骤为:
步骤4.1,周期性获取应用的资源占用情况分别计算处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数;
式中,ak,bk和ck分别为第k次测量中,应用的处理器使用量,内存使用量和网络使用量,MARa,MARb和MARc分别为处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数,MAX(RESa),MAX(RESb)和MAX(RESc)分别为自应用部署开始,应用的处理器使用量的最大值,内存使用量的最大值和网络使用量的最大值,a为当前应用的应用资源预估消耗量中的处理器使用量,b为当前应用的应用资源预估消耗量中的内存使用量,c为当前应用的应用资源预估消耗量中的网络使用量,MEAN(RESa0),MEAN(RESb0)和MEAN(RESc0)分别为当前应用的服务器中所有其他应用的处理器使用量的平均值,内存使用量的平均值和网络使用量的平均值,MEAN(RESa),MEAN(RESb)和MEAN(RESc)分别为当前应用的处理器使用量的平均值,内存使用量的平均值和网络使用量的平均值,i为自应用部署以来的资源占用采样次数;
步骤4.2,取MARa,MARb和MARc中的最大值为MARZ,即服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量中的一种,如果存在2个相同的最大值则随机取其中一个资源种类为MARZ,即MARa,MARb和MARc中有2个的值相等且值最大则随机取其中一个资源种类为MARZ。
步骤4.1和步骤4.2的目的是确定分配的依据参数,因为不同应用消耗的资源种类有不同的趋向,所以选出一个有代表性的参数来进行以下的步骤。
步骤4.3,如果MARZ的资源种类在当前应用的部署服务器中的占用大于当前应用的部署服务器的剩余可用量则迁移当前应用至新服务器,新服务器能同时满足服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于MAX(RESa),MAX(RESb)和MAX(RESc),以及服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于a,b,c;
否则迁移当前服务器的其他应用,即把当前应用所部署的服务器的其他应用迁移出当前应用所部署的服务器。
其中,其他应用指当前服务器部署的应用,不包含当前跟踪的应用。
步骤4.3的作用是决定是否迁移当前跟踪的应用或者迁移部署当前跟踪的应用的服务器中的其他应用,因为虽然一个应用或者一个虚拟机系统可以在不同的服务器硬件之间无缝迁移,但迁移的过程中会造成服务中断,因此需要权衡迁移的方案。
优选地,步骤4.3还可以为:如果MARZ的资源种类在当前应用的部署服务器中的占用大于当前应用的部署服务器的剩余可用量则发出第一迁移指令,第一迁移指令为迁移当前应用至新服务器,新服务器能同时满足服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于MAX(RESa),MAX(RESb)和MAX(RESc),以及服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于a,b,c;
否则发出第二迁移指令,第二迁移指令为迁移当前服务器的其他应用,即把当前应用所部署的服务器的其他应用迁移出当前应用所部署的服务器,并立即执行;
在第一迁移指令发出后,如果满足实时迁移条件则立即执行第一迁移指令,否则等待当前跟踪的应用的MARZ的资源种类的使用率降低至平均值后执行第一迁移指令;实时迁移条件如下:
MARZi-MIN(MARZ)<MAX(MARZ)-MEAN(MARZ)/2;
式中,MARZi为MARZ的资源种类在第i次即最近一次的资源占用情况采集中使用量的平均值,MIN(MARZ)为资源种类MARZ在当前应用部署后的资源使用量的最小值,MAX(MARZ)为资源种类MARZ在当前应用部署后的资源使用量的最大值,MEAN(MARZ)为资源种类MARZ在当前应用部署后的资源使用量的平均值。
优选的步骤4.3,为了尽量保证迁移过程中服务器资源使用量的波动对应用性能的影响,迁移动作不即时进行,根据当前服务器的资源消耗量和当前应用的资源消耗量,和服务器的空闲资源量决定。
优选地,其中,本发明中所有未定义的变量,若未有明确定义,均可为人工设置的阈值。
如图2所示为本发明一个实施例的一种云资源分配系统结构示意框图,所述系统包括:
服务器监控模块:用于实时获取服务器的资源使用情况,包括处理器使用量,内存使用量和网络使用量;
数据处理模块:用于处理所有服务器的资源使用情况,根据新应用的资源预估消耗量分配服务器;根据应用的资源占用情况输出应用迁移指令;
应用迁移模块:根据应用迁移指令对相应的应用进行迁移。
所述基于一种云资源分配系统可以运行于桌上型计算机、笔记本电脑、掌上电脑及云端服务器等计算设备中。所述一种云资源分配系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种云资源分配系统的示例,并不构成对一种云资源分配系统的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种云资源分配系统还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种云资源分配系统运行系统的控制中心,利用各种接口和线路连接整个一种云资源分配系统可运行系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种云资源分配系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (5)
1.一种云资源分配方法,其特征在于,所述方法包括以下步骤:
步骤1,当有新的应用需求时,获取应用的资源预估消耗量;
步骤2,获取云资源池中服务器的资源情况;
步骤3,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配;
步骤4,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移;
步骤4中,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移的子步骤为:
步骤4.1,周期性获取应用的资源占用情况分别计算处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数;
式中,ak,bk和ck分别为第k次测量中,应用的处理器使用量,内存使用量和网络使用量,MARa,MARb和MARc分别为处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数,MAX(RESa),MAX(RESb)和MAX(RESc)分别为自应用部署开始,应用的处理器使用量的最大值,内存使用量的最大值和网络使用量的最大值,a为当前应用的应用资源预估消耗量中的处理器使用量,b为当前应用的应用资源预估消耗量中的内存使用量,c为当前应用的应用资源预估消耗量中的网络使用量,MEAN(RESa0),MEAN(RESb0)和MEAN(RESc0)分别为当前应用的服务器中所有其他应用的处理器使用量的平均值,内存使用量的平均值和网络使用量的平均值,i为自应用部署以来的资源占用采样次数;
步骤4.2,取MARa,MARb和MARc中的最大值为MARZ,即服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量中的一种,如果存在2个相同的最大值则随机取获得其中一个资源种类为MARZ;
步骤4.3,如果MARZ的资源种类在当前应用的部署服务器中的占用大于当前应用的部署服务器的剩余可用量则迁移当前应用至新服务器,新服务器能同时满足服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于MAX(RESa),MAX(RESb)和MAX(RESc),以及服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于a,b,c;
否则迁移当前服务器的其他应用,即把当前应用所部署的服务器的其他应用迁移出当前应用所部署的服务器;其中,其他应用指当前服务器部署的应用,不包含当前跟踪的应用。
2.根据权利要求1所述的一种云资源分配方法,其特征在于,步骤1中,当有新的应用需求时,获取应用的资源预估消耗量的子步骤为:
获取当前应用的资源预估消耗量,记为集合APPLET={a,b,c};
a,b,c为当前应用资源预估消耗量,包括处理器使用量a,内存使用量b,网络使用量c,资源预估消耗量来自相同应用的历史平均数据或者来自用户预先输入的资源需求信息。
3.根据权利要求1所述的一种云资源分配方法,其特征在于,步骤2中,获取云资源池中服务器的资源情况的子步骤为:
获取云资源池中每个服务器的资源使用情况,资源使用情况包括A为服务器的总处理器可用量,B为服务器的总内存可用量,C为服务器的总网络可用量;
其中,云资源池包括多个服务器。
4.根据权利要求1所述的一种云资源分配方法,其特征在于,步骤3中,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配的子步骤为:
步骤3.1,设置服务器的资源空闲边际条件:
式中,Ai为服务器的剩余处理器可用量,a为当前应用的应用资源预估消耗量中的处理器使用量,At为处理器使用量的容忍值,A为服务器的总处理器可用量,Bi为服务器的剩余内存使用量,b为当前应用的应用资源预估消耗量中的内存使用量,Bt为内存使用量的容忍值,B为服务器的总内存可用量,Ci为服务器的剩余网络使用量,c为当前应用的应用资源预估消耗量中的网络使用量,Ct为网络使用量的容忍值,C为服务器的总网络可用量;At,Bt,Ct均大于1,表示服务器可以短时间承受处理器负载,内存负载和网络负载大于服务器的处理器可用量,内存可用量和网络可用量;
遍历云资源池中符合资源空闲边际条件的服务器,把符合资源空闲边际条件的服务器放入可用集合AS1;
根据上次响应间隔的时长进行服务器分配,具体为从可用集合AS1中选择响应时刻距离当前时刻最大的服务器部署应用,响应时刻指一个服务器被部署一个新应用的时刻。
5.一种云资源分配系统,其特征在于,所述系统包括处理器、存储器及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的一种云资源分配方法中的步骤,所述步骤包括:
步骤1,当有新的应用需求时,获取应用的资源预估消耗量;
步骤2,获取云资源池中服务器的资源情况;
步骤3,根据应用的资源预估消耗量得到云资源池里符合的服务器集合并进行分配;
步骤4,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移;
步骤4中,跟踪应用的资源消耗情况,根据资源消耗情况决定应用迁移的子步骤为:
步骤4.1,周期性获取应用的资源占用情况分别计算处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数;
式中,ak,bk和ck分别为第k次测量中,应用的处理器使用量,内存使用量和网络使用量,MARa,MARb和MARc分别为处理器使用量迁移系数,内存使用量迁移系数和网络使用量迁移系数,MAX(RESa),MAX(RESb)和MAX(RESc)分别为自应用部署开始,应用的处理器使用量的最大值,内存使用量的最大值和网络使用量的最大值,a为当前应用的应用资源预估消耗量中的处理器使用量,b为当前应用的应用资源预估消耗量中的内存使用量,c为当前应用的应用资源预估消耗量中的网络使用量,MEAN(RESa0),MEAN(RESb0)和MEAN(RESc0)分别为当前应用的服务器中所有其他应用的处理器使用量的平均值,内存使用量的平均值和网络使用量的平均值,i为自应用部署以来的资源占用采样次数;
步骤4.2,取MARa,MARb和MARc中的最大值为MARZ,即服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量中的一种,如果存在2个相同的最大值则随机取获得其中一个资源种类为MARZ;
步骤4.3,如果MARZ的资源种类在当前应用的部署服务器中的占用大于当前应用的部署服务器的剩余可用量则迁移当前应用至新服务器,新服务器能同时满足服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于MAX(RESa),MAX(RESb)和MAX(RESc),以及服务器的总处理器可用量,服务器的总内存可用量,服务器的总网络可用量分别大于a,b,c;
否则迁移当前服务器的其他应用,即把当前应用所部署的服务器的其他应用迁移出当前应用所部署的服务器;其中,其他应用指当前服务器部署的应用,不包含当前跟踪的应用;
所述一种云资源分配系统运行于桌上型计算机、笔记本电脑、掌上电脑或云端数据中心的计算设备中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211043545.1A CN115150402B (zh) | 2022-08-30 | 2022-08-30 | 一种云资源分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211043545.1A CN115150402B (zh) | 2022-08-30 | 2022-08-30 | 一种云资源分配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115150402A CN115150402A (zh) | 2022-10-04 |
CN115150402B true CN115150402B (zh) | 2022-11-18 |
Family
ID=83416462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211043545.1A Active CN115150402B (zh) | 2022-08-30 | 2022-08-30 | 一种云资源分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150402B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279771A (zh) * | 2011-09-02 | 2011-12-14 | 北京航空航天大学 | 一种虚拟化环境中自适应按需资源分配的方法及系统 |
CN104834569A (zh) * | 2015-05-11 | 2015-08-12 | 北京京东尚科信息技术有限公司 | 一种基于应用类型的集群资源调度方法及系统 |
CN106843998A (zh) * | 2016-12-16 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种数据中心管理方法及装置 |
CN109684073A (zh) * | 2018-10-26 | 2019-04-26 | 平安科技(深圳)有限公司 | 电子装置、云服务资源分配方法及存储介质 |
CN111580934A (zh) * | 2020-05-13 | 2020-08-25 | 杭州电子科技大学 | 云计算环境下多租户虚拟机性能一致的资源分配方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164286A (zh) * | 2013-03-12 | 2013-06-19 | 无锡云动科技发展有限公司 | 云计算平台部署的实现方法、资源管理器、云计算系统 |
CN110362383B (zh) * | 2019-07-12 | 2022-06-24 | 东北大学 | 面向季节型非平稳并发量的p-e权衡的vm迁移方法 |
CN111897652B (zh) * | 2020-07-30 | 2021-07-30 | 福建意德信息技术有限公司 | 一种基于l-bfgs的云资源动态优化方法 |
-
2022
- 2022-08-30 CN CN202211043545.1A patent/CN115150402B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279771A (zh) * | 2011-09-02 | 2011-12-14 | 北京航空航天大学 | 一种虚拟化环境中自适应按需资源分配的方法及系统 |
CN104834569A (zh) * | 2015-05-11 | 2015-08-12 | 北京京东尚科信息技术有限公司 | 一种基于应用类型的集群资源调度方法及系统 |
CN106843998A (zh) * | 2016-12-16 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种数据中心管理方法及装置 |
CN109684073A (zh) * | 2018-10-26 | 2019-04-26 | 平安科技(深圳)有限公司 | 电子装置、云服务资源分配方法及存储介质 |
CN111580934A (zh) * | 2020-05-13 | 2020-08-25 | 杭州电子科技大学 | 云计算环境下多租户虚拟机性能一致的资源分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115150402A (zh) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9405572B2 (en) | Optimized resource allocation and management in a virtualized computing environment | |
CN111880936B (zh) | 资源调度方法、装置、容器集群、计算机设备和存储介质 | |
US8914513B2 (en) | Hierarchical defragmentation of resources in data centers | |
CN102567072B (zh) | 一种资源分配方法、装置及系统 | |
CN107295090B (zh) | 一种资源调度的方法和装置 | |
CN115328663A (zh) | 基于PaaS平台进行资源调度的方法、装置、设备和存储介质 | |
EP2898412B1 (en) | Adaptive service timeouts | |
CN113867959A (zh) | 一种训练任务资源调度方法、装置、设备及介质 | |
CN114579271A (zh) | 任务调度方法、分布式系统及存储介质 | |
JP6993495B2 (ja) | クラウド・ネットワーキングにおけるスケーラブルな統計及び分析メカニズム | |
CN111309644A (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
CN113326097A (zh) | 一种虚拟机限速方法、装置、设备和计算机存储介质 | |
US20210406053A1 (en) | Rightsizing virtual machine deployments in a cloud computing environment | |
US9471389B2 (en) | Dynamically tuning server placement | |
CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN114629960A (zh) | 资源调度方法、装置、系统、设备、介质和程序产品 | |
CN114598665A (zh) | 资源调度方法、装置和计算机可读存储介质及电子设备 | |
CN115150402B (zh) | 一种云资源分配方法及系统 | |
CN116680078A (zh) | 云计算资源调度方法、装置、设备以及计算机存储介质 | |
CN115981871A (zh) | 一种gpu资源调度方法、装置、设备及存储介质 | |
CN113138842B (zh) | 微服务集群的调度方法、装置及介质 | |
CN115617515A (zh) | 智能物联网操作系统的内存分配方法、装置和存储介质 | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
US11169720B1 (en) | System and method for creating on-demand virtual filesystem having virtual burst buffers created on the fly |
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 |