CN108334403B - 资源调度方法及设备 - Google Patents
资源调度方法及设备 Download PDFInfo
- Publication number
- CN108334403B CN108334403B CN201710042822.XA CN201710042822A CN108334403B CN 108334403 B CN108334403 B CN 108334403B CN 201710042822 A CN201710042822 A CN 201710042822A CN 108334403 B CN108334403 B CN 108334403B
- Authority
- CN
- China
- Prior art keywords
- server
- cloud server
- physical
- release time
- cloud
- 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请的目的是提供一种资源调度的方案,该方案中,在根据用户的请求创建云服务器时,会获取需要创建的云服务器的生命周期因子,然后通过生命周期因子进一步确定所述云服务器的预计释放时间,用以预估云服务器会在何时释放,根据该预计释放时间来匹配相应的服务器,使得物理服务器上已存在的云服务器尽量在接近时间释放,可以有减少单个物理服务器上小规模的资源释放引发的碎片化情况,降低资源碎片产生的可能性,避免由于创建、释放的时间存在很大差异,导致物理服务器中会不断产生大量的资源碎片。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种对物理服务器的资源进行调度的方案。
背景技术
云服务器是一种简单高效、处理能力可弹性伸缩的计算服务,可以根据用户自身需求,实时提供分钟、小时、天、月、年等不同生命周期级别的计算服务产品。
在实际生产中,云服务器在物理运行于集群(cluster)的物理服务器中,集群一般由较大数量的物理服务器构成,如图1所示。由集群管理系统负责调度云服务器到特定集群中的特定物理服务器(server)创建,并在物理服务器内部为其分配特定的资源,例如内存、处理器资源(cpu),物理地址(mac),ip地址等)。资源调度策略主要分为两类,深度优先策略与广度优先策略。
广度优先策略考虑到集群各个物理服务器的负载均衡,可以做到大量的并发,但是集群的资源小规格碎片化会比较严重,资源利用率不高;深度优先策略保证首先将单个物理服务器的资源分配完,这样可以可以保证资源占用规格较大的云服务器可以有足够的资源创建,一定程度上减少碎片化。
如图2所示,假定一个集群中共有5台物理服务器,server#1~server#5,每台服务器已经被云服务器占用的物理内存资源和cpu资源分别如柱状图显示。每个物理服务器共有20核心的cpu、20G的内存(MEN),例如Servier#1的可用资源为0核心的cpu和8G内存,依此类推。
此前,server#2有一个4核心、8G的云服务器刚刚释放,在此状态下,假设有两个用户请求,需要创建两台8核心8G的云服务器,由于除了server#5之外,其它物理服务器上的可用资源均不能满足要求,因此只能在server#5创建一台,另一台则因为其余物理服务器上剩下碎片化的资源不能有效利用,而无法创建,所以造成了资源的浪费。
对于碎片化的资源,对常用的方式是对集群内的物理服务器进行碎片整理,例如将合适的云服务器在物理服务器之间进行迁移,从而减少碎片化。例如在图3中,将server#5中的4核心8G的云服务器迁移到server#2中,使得server#2的资源被充分利用,同时server#5可以空闲出20核心20G的可用资源,这样就可以满足两个创建8核心8G的云服务器的请求。
在实际场景中,不同生命周期级别云服务器实例在创建、释放过程的时间存在很大差异。由于无法感知和预计云服务器未来的行为,导致在频繁创建、释放的重复过程中,物理服务器中会不断产生大量的资源碎片。由此,需要频繁进行碎片整理,从而保证物理服务器资源的最大化利用,但是频繁的碎片整理操作将会引发稳定性的下降,尤其在高并发的情况下,可能造成资源死锁,导致服务不可用。而现有技术中,碎片整理的主要方式包括定时任务处理、被动无资源时触发以及人工处理等,由于资源碎片的产生较为频繁且不可预期,因此这些方式均无法在兼顾稳定性的前提下,达到较好的碎片去除效果。
申请内容
本申请的一个目的是提供一种资源调度方法及设备,用以解决现有技术中物理服务器会产生大量的资源碎片的问题。
为实现上述目的,本申请提供了一种资源调度方法,该方法包括:
根据云服务器的创建请求,获取所述云服务器的生命周期因子;
根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;
在与所述预计释放时间匹配的物理服务器上创建所述云服务器。
进一步地,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
在与所述预计释放时间匹配的物理服务器上创建所述云服务器,包括:
根据所述云服务器的生命周期因子确定匹配的分组;
在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器。
进一步地,在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器,包括:
根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定优先调度物理服务器,其中,所述优先调度物理服务器中已存在的云服务器的预计释放时间与待创建的云服务器的预计释放时间之差小于阈值;
在所述优先调度物理服务器中创建所述云服务器。
进一步地,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器,包括:
在属于所述分组的物理服务器中确定优先调度物理服务器,其中,所述优先调度物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值;
在所述优先调度物理服务器中创建所述云服务器。
进一步地,该方法还包括:
在获取分组内的物理服务器的资源占用状态时,根据所述资源占用状态,判断是否需要对所述分组进行碎片整理;
在判断结果为是时,在所述分组内的物理服务器之间迁移云服务器,以实现碎片整理。
进一步地,在创建所述云服务器之后,还包括:
当所述云服务器的实际存活时间超过其预计释放时间时,更新所述云服务器的生命周期因子,其中,所述预计释放时间根据所述云服务器的生命周期因子确定;
根据所述云服务器更新后的生命周期因子,更新所述云服务器的预计释放时间;
若当前物理服务器所述的分组与更新后的生命周期因子不匹配,则将所述云服务器迁移至与所述更新后的预计释放时间匹配的物理服务器。
进一步地,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
将所述云服务器迁移至与所述更新后的生命周期因子匹配的物理服务器,包括:
根据所述更新后的生命周期因子确定作为迁移目标的分组;
将所述云服务器迁移至所述分组的物理服务器。
进一步地,将所述云服务器迁移至所述分组的物理服务器,包括:
根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,其中,所述迁移目标物理服务器中已存在的云服务器的预计释放时间与待迁移的服务器的预计释放时间之差小于阈值;
将所述云服务器迁移至所述迁移目标物理服务器。
进一步地,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
将所述云服务器迁移至所述分组的物理服务器,包括:
根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,其中,所述迁移目标物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值;
将所述云服务器迁移至所述迁移目标物理服务器。
进一步地,所述物理服务器的检查点根据所述物理服务器中已存在的云服务器的预计释放时间确定。
基于本申请的另一方面,还提供了一种资源调度设备,该设备包括:
生命周期调度装置,用于根据云服务器的创建请求,获取所述云服务器的生命周期因子;
释放检查调度装置,用于根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;
资源分配装置,用于在与所述预计释放时间匹配的物理服务器上创建所述云服务器。
进一步地,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
所述资源分配装置,用于根据所述云服务器的生命周期因子确定匹配的分组;以及在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器。
进一步地,所述资源分配装置,用于根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定优先调度物理服务器,以及在所述优先调度物理服务器中创建所述云服务器,其中,所述优先调度物理服务器中已存在的云服务器的预计释放时间与待创建的云服务器的预计释放时间之差小于阈值。
进一步地,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
所述资源分配装置,用于在属于所述分组的物理服务器中确定优先调度物理服务器,以及在所述优先调度物理服务器中创建所述云服务器,其中,所述优先调度物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值。
进一步地,该设备还包括:
所述资源分配装置,还用于在获取分组内的物理服务器的资源占用状态,根据所述资源占用状态,判断是否需要对所述分组进行碎片整理;以及在判断结果为是时,在所述分组内的物理服务器之间迁移云服务器,以实现碎片整理。
进一步地,所述生命周期调度装置,还用于在创建所述云服务器之后、且所述云服务器的实际存活时间超过其预计释放时间时,更新所述云服务器的生命周期因子,其中,所述预计释放时间根据所述云服务器的生命周期因子确定;
所述释放检查调度装置,还用于根据所述云服务器更新后的生命周期因子,更新所述云服务器的预计释放时间;
所述资源分配装置,还用于在当前物理服务器所述的分组与更新后的生命周期因子不匹配时,将所述云服务器迁移至与所述更新后的预计释放时间匹配的物理服务器。
进一步地,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
所述资源分配装置,用于根据所述更新后的生命周期因子确定作为迁移目标的分组;以及将所述云服务器迁移至所述分组的物理服务器。
进一步地,所述资源分配装置,用于根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,以及将所述云服务器迁移至所述迁移目标物理服务器,其中,所述迁移目标物理服务器中已存在的云服务器的预计释放时间与待迁移的服务器的预计释放时间之差小于阈值。
进一步地,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
所述资源分配装置,用于根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,以及将所述云服务器迁移至所述迁移目标物理服务器,其中,所述迁移目标物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值。
进一步地,所述物理服务器的检查点根据所述物理服务器中已存在的云服务器的预计释放时间确定。
此外,本申请实施例还提供了一种资源调度设备,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:根据云服务器的创建请求,获取所述云服务器的生命周期因子;根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;以及在与所述预计释放时间匹配的物理服务器上创建所述云服务器。
与现有技术相比,本申请提供的方案中,在根据用户的请求创建云服务器时,会获取需要创建的云服务器的生命周期因子,然后通过生命周期因子进一步确定所述云服务器的预计释放时间,用以预估云服务器会在何时释放,根据该预计释放时间来匹配相应的服务器,使得物理服务器上已存在的云服务器尽量在接近时间释放,可以有减少单个物理服务器上小规模的资源释放引发的碎片化情况,降低资源碎片产生的可能性,避免由于创建、释放的时间存在很大差异,导致物理服务器中会不断产生大量的资源碎片。
此外,本申请的方案还可以有效提升对产生的资源碎片进行碎片整理的效率,由于对集群中的物理服务器进行了分组,即基于云服务器资源占用的生命周期对集群进行了提前规划,同时可以通过物理服务器的检查点触发资源占用检查,由于物理服务器中检查点的触发时间根据所述物理服务器中已存在的云服务器的预计释放时间确定,即会随着云服务器的创建或者释放发生动态变化,由此动态碎片整理时间,使得碎片整理更加有效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为现有技术中集群中物理服务器的构成示意图;
图2为某一集群中五台物理服务器的资源占用状态示意图;
图3为本申请实施例提供的一种资源调度方法的处理流程图;
图4为本申请实施例中对集群按照生命周期因子进行分组后的物理服务器的构成示意图;
图5为采用本申请方案对集群中物理服务器的资源进行调度的处理流程示意图;
图6为本申请实施例提供的资源调度设备的结构示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种资源调度方法,该方法用于对提供弹性计算服务的物理服务器集群进行资源管理,以减少物理服务器中资源碎片的产生。对于本实施例的方法,其执行主体可以是用于对集群资源进行管理的设备,该设备的具体实现可以包括但不限于:用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。用户设备包括但不限于个人计算机、触控终端、移动终端等设备;网络设备包括但不限于如单个网络服务器、多个网络服务器组成的集群或基于云计算的计算机集合等。
该方法可以包括如图3所示的处理步骤:
步骤S101,根据云服务器的创建请求,获取所述云服务器的生命周期因子。其中,所述创建请求即为用户发起的创建云服务器的请求,例如用户购买了2核心的cpu、4G的内存的云服务器,将会生成相应规格的云服务器的创建请求。
不同规格的云服务器的费用及计费方式也不同。例如用户可以按天收费、购买N个天,并且在N天后自动续费,也可以按月收费、购买1个月,并且选择在1个月后不进行续费。根据用户的购买时长或者计费方式的不同,可以获取用户所购买的云服务器的生命周期因子,例如用户购买的按照小时收费的云服务器,其生命周期因子即为小时,若一次性购买了4个小时,其生命周期因子也可以是4小时,若用户购买的的按照月收费的云服务器,则其生命周期因子可以确定为月等等。
步骤S102,根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间。在确定云服务器的生命周期因子之后,可以根据生命周期因子进一步预估该云服务器在被创建之后,可能会在什么时候被释放,从而确定预计释放时间。
作为一种实现方式,可以根据购买该云服务器的用户在历史购买数据,评估该用户的使用习惯,结合生命周期因子来计算预计释放时间。例如,根据用户A的历史购买数据可知,该用户在此前几次购买的云服务器均未续费,若本次购买的云服务器的生命周期因子为4小时,可以确定预计释放时间创建后的4小时,可记为now+4h。还如,用户B的历史购买数据显示,其之前的10次购买记录中购买了10次按照月收费的云服务器,并且其中有9次续费了一个月,若本次购买的云服务器的生命周期因子为月,则可以确定本次购买的云服务器的预计释放时间为创建后的2个月。
步骤S103,在与所述预计释放时间匹配的物理服务器上创建所述云服务器。为了减少云服务器在创建、释放过程中所产生的资源碎片,需要尽量保证同一台物理服务器上的云服务器的能够在尽量接近的时间释放,例如图3中的server#1中存在5个云服务器,若这5个云服务器同时或者在很短的时间内全部释放,则server#1将完全空闲出完整的资源,从而不会产生资源碎片。
由此,作为一种可行的实施方式,集群中的物理服务器与需要创建的云服务器之间的匹配,可以基于物理服务器中已经存在的云服务器的预计释放时间与本次请求需要创建的云服务器的预计释放时间,两者越接近,则可以认为匹配度越高。由此,可以选择匹配度最高的一个物理服务器,作为匹配的物理服务器,或者也可以通过设定一个匹配度的阈值来判断两者是否匹配,从而确定匹配的物理服务器,若没有一个物理服务器的匹配度超过该阈值,则可以选择一个资源完全空闲的物理服务器。
在实际场景中,还可以结合现有的资源调度策略,例如与贪婪调度算法结合。即在考虑匹配度的情况下,同时考虑资源占用的局部最优,例如为了减少创建时的资源碎片,采用深度优先调度原则,尽量使得已经在使用的物理服务器的资源被尽量多的占用。在优先考虑物理服务器与需要创建的云服务器之间的匹配度时,物理服务器会在云服务器释放时产生较少的资源碎片;而在优先考虑贪婪调度方式时,物理服务器则会在云服务器创建时产生较少的资源资源。由此,可以根据实际场景确定最终的调度策略,例如在不打破贪婪调度算法的前提下,尽量选择匹配度最高的物理服务器。
在选定物理服务器之后,用户购买的云服务器最终会在该物理服务器上被创建。
由此,该方案中在根据用户的请求创建云服务器时,会获取需要创建的云服务器的生命周期因子,然后通过生命周期因子进一步确定所述云服务器的预计释放时间,用以预估云服务器会在何时释放,根据该预计释放时间来匹配相应的服务器,使得物理服务器上已存在的云服务器尽量在接近时间释放,可以有减少单个物理服务器上小规模的资源释放引发的碎片化情况,降低资源碎片产生的可能性,避免由于创建、释放的时间存在很大差异,导致物理服务器中会不断产生大量的资源碎片。
由于在本申请实施例中,云服务器的预计释放时间仅仅时一个预测值,其准确率并非完全正确,因此云服务器在被创建之后,有可能会在超过预计释放时间之后仍然存活,此时可以对该云服务器的生命周期因子进行叠加,来对其原有的生命周期因子进行更新。
当所述云服务器的实际存活时间超过其预计释放时间时,可以更新所述云服务器的生命周期因子。例如,某一用户购买的云服务器的预计释放时间为创建后的6小时,在创建后6小时进之后行检查时发现该云服务器仍然存活,即实际存活时间超过其预计释放时间,由此,可以更新所述云服务器的生命周期因子,例如由6小时叠加至12小时,若再次检查时,仍然存活,则可以由12小时继续叠加至18小时,依次类推。在此,本领域技术人员应能理解上述生命周期因子更新的方式仅为举例,其他现有的或今后可能出现的方式如可适用于本申请,例如6小时叠加至12小时再叠加至24小时等更新方式,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在对云服务器的生命周期因子进行更新后,若当前物理服务器对应的生命周期因子与其内云服务器更新后的生命周期因子不匹配时,则需要对该云服务器进行迁移。例如物理服务器server#1对应的生命周期因子为6小时,server#2~server#7对应的生命周期因子均为12小时,当server#1中的云服务器的生命周期因子有6小时叠加至12小时时,需要迁移至server#2~server#7中的一个物理服务器中。
在进行迁移时,可以根据所述云服务器更新后的生命周期因子来更新所述云服务器的预计释放时间,然后基于将所述云服务器迁移至与所述更新后的预计释放时间匹配的物理服务器。由于在实际处理中,云服务器在物理服务器之间的迁移可以理解为在原物理服务器上释放该云服务器,同时在新物理服务器上创建该云服务器,因此其迁移的资源调度策略可以参考前述创建时的资源调度策略。
作为一种优选的实施方式,可以将集群中的物理服务器进行分组,每个分组可以与对应的生命周期因子匹配。具体的分组数量,每个分组内的物理服务器的数量可以根据集群的实际应用场景来进行设定。例如图4所示,可以将集群的物理服务器分为三组,分别为小时(hour)组、天(day)组和月(month)组,数量分别为n,k,i个。其中,小时组内的物理服务器用于创建生命周期因子为小时的云服务器,而天组内的物理服务器则不会用于创建生命周期因子为小时或者月的云服务器,而仅用于创建生命周期因子为天的云服务器。在实际场景中,每个分组也可以对应多个生命周期因子,例如小时组可以对应1小时、2小时、4小时、8小时等生命周期因子,在每个分组内可以对分别对应这些生命周期因子的物理服务器再做细分。此外,根据集群的不同应用场景,还可以增加分钟组,年组等等分组,每个组内物理服务器的数量,也可以进行动态扩容、缩减或者转换,即n,k,i的数量是可以根据实际情况动态变化和调整的。
对于存在分组的集群,在物理服务器上创建所述云服务器时,首先,根据所述云服务器的生命周期因子确定匹配的分组。例如,对于生命周期因子为1天的云服务器,可以确定其匹配的分组为天组。然后,在该分组组中的所有物理服务器中查找与所述预计释放时间匹配的物理服务器,在确定匹配的物理服务器之后,在其上创建云服务器。
具体地,在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器时,可以首先根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定优先调度物理服务器。其中,所述优先调度物理服务器即为某一分组中与所述预计释放时间匹配的物理服务器,在实际场景中可以设置一个阈值来进行判定,即该优先调度物理服务器已存在的云服务器的预计释放时间与待创建的云服务器的预计释放时间之差小于阈值。
以小时组中的某一物理服务器为例,用于判断的阈值可以设定为3min,该物理服务器中已存在一个云服务器,该云服务器的预计释放时间为12:00:00,此时若待创健的物理服务器的预计释放时间为12:02:00,两者的差值为2min,小于阈值,则可以将该物理服务器作为优先调度物理服务器。若某一物理服务器中已经存在多个云服务器,则可以将每个已存在的云服务器的预计释放时间与待创健的物理服务器的预计释放时间进行比较,若全部小于阈值或者大部分小于阈值,也可以将该物理服务器作为优先调度的服务器。当然,也可以计算物理服务器上所有存在的云服务器的预计释放时间的平均值与待创健的物理服务器的预计释放时间进行比较,确定其差值是否小于阈值。在此,本领域技术人员应能理解上述确定优先调度物理服务器的方式仅为举例,其他现有的或今后可能出现的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在确定优先调度物理服务器之后,即可在所述优先调度物理服务器中创建所述云服务器。在集群规模较大的场景下,每个分组内会包含较多的物理服务器,通过上述方式有可能会有较多数量的物理服务器满足优先调度物理服务器的要求。因此,也可以根据应用场景的实际需求,进一步结合贪婪调度算法等现有的资源调度策略,具体结合方式已经前述内容中说明,此处不再赘述。
在本申请的一个实施例中,物理服务器可以设置有检查点,使其能够在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查。例如物理服务器的检查点设定为2小时,当启动后两小时或者上次触发后两小时,检查点将会触发,假设某一物理服务器启动时间为00:00:00,则其检查点的触发时间为02:00:00、04:00:00、06:00:00等等。此时,将会对所述物理服务器上的云服务器的资源占用状态进行检查。所述资源占用状态用于确定物理服务器上的当前资源占用情况,具体信息可以包括但不限于已创建的云服务器信息、云服务器数量、云服务器的资源占用规格、可用资源等信息中的一项或者几项。
在物理服务器设置有检查点时,则可以采用另一种方式在属于所述分组的物理服务器中确定优先调度物理服务器,即基于分组中物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差进行判定。此处,同样可以设置一个阈值,将分组中物理服务器的检查点的触发时间与所述云服务器的预计释放时间的差值与该阈值比较,若小于阈值,则可以将对应的物理服务器作为优先调度物理服务器。当然也可以直接比较两者的值,选择最接近的作为优先调度物理服务器。
在实际场景中,由于每个创建的云服务器均会基于上述原则选择优先调度物理服务器,因此保证该物理服务器上已存在的云服务器的预计释放时间都会接近该物理服务器的检查点的触发时间。通过上述方式,同样可以保证所有已存在的云服务器的预计释放时间相对接近,即单个物理服务器上已存在的云服务器预计都将在接近的时间被释放,由此减少单个物理服务器上小规模的资源释放引发的碎片化情况,降低资源碎片产生的可能性。作为可行的实施方式,在最终选择创建所述云服务器的物理服务器时,同样可以结合现有的资源调度策略。
在本申请的一个实施例中,所述物理服务器的检查点根据所述物理服务器中已存在的云服务器的预计释放时间确定。即检查点有可能随着所述物理服务器中云服务器的不同情况而发生变化,例如,小时组中的server#2,其检查点初始设置为1小时,当其中存在的三个云服务器的生命周期因子都为4个小时,则此物理服务器的检查点膨胀为4小时,而当这些云服务器逐渐释放,又有其它云服务器创建后,若此时存在的云服务器的最小的生命周期因子为2小时,则此物理服务器的检查点将由4小时萎缩至2小时。
在集群内存在分组的情况下,云服务器的迁移包括了两种情况,即组内迁移和组间迁移,一般组间迁移发生在云服务器的生命周期因子发生变化,且与当前分组对应的生命周期因子不匹配时,而组内迁移则可以理解为在组内进行碎片整理。
对于组间迁移的情况,一般会在所述云服务器的生命周期因子更新时触发。具体方式为:根据所述更新后的生命周期因子确定作为迁移目标的分组,然后将所述云服务器迁移至所述分组的物理服务器。
例如小时组中的不同物理服务器分别可以对应1小时、6小时、12小时、18小时等生命周期因子,而天组中的不同物理服务器可以对应1天、2天、5天、10天等生命周期因子。若某一云服务器当前存活于小时组的物理服务器server#10中,该server#10对应的生命周期因子为18小时,其对应的预计释放时间为创建后的18小时,当其实际存活时间超过创建后的18小时,更新生命周期因子为24小时(1天)。此时,由于小时组中,不存在与该生命周期因子匹配的物理服务器,需要迁移至其它匹配的分组。而天组中的物理服务器可以匹配该生命周期因子,假设天组中server#1~server#6对应1天的生命周期因子,因此将该云服务器由小时组的server#10迁移至天组的server#1~server#6中的其中一个上。
在将所述云服务器迁移至所述分组的物理服务器时,首先可以根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器。然后将所述云服务器迁移至所述迁移目标物理服务器。其中,所述迁移目标物理服务器中已存在的云服务器的预计释放时间与待迁移的服务器的预计释放时间之差小于阈值。
当物理服务器设置都设置有检查点时,也可以采用另一种方式将所述云服务器迁移至所述分组的物理服务器,具体为:首先,根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,然后将所述云服务器迁移至所述迁移目标物理服务器,其中,所述迁移目标物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值。
由于云服务器在物理服务器之间的迁移可以理解为在原物理服务器上释放该云服务器,同时在新物理服务器上创建该云服务器,而组间迁移的实质仍为集群内两个物理服务器之间的迁移,因此组间迁移的资源调度策略可以参考前述创建时的资源调度策略。并且上述两种方式中,迁移目标物理服务器选取方式同样可以参考在创建云服务器时选取优先调度物理服务器的方式,为简明起见,此处不再赘述。
此外,另一种迁移的情况为组内迁移。对应组内迁移的情况,本申请实施例提供的资源调度方法还包括:在获取分组内的物理服务器的资源占用状态,根据所述资源占用状态,判断是否需要对所述分组进行碎片整理。实际场景中,可以在物理服务器的检查点触发时获取到其资源占用状态,也可以是由其它方式触发资源占用状态的检测,例如单独设置检测触发条件等。
在获取到资源占用状态后,可以根据所述资源占用状态,判断是否需要对所述分组进行碎片整理。例如可以统计分组内相关物理服务器的可用资源与总资源的比率,若该比率过高,则可以认为资源碎片过多,需要对分组进行碎片整理,此时,在所述分组内的物理服务器之间迁移云服务器,以实现碎片整理。进一步地,由于碎片整理的实质也是物理服务器之间的迁移,因此具体迁移时的的资源调度策略可以参考前述创建云服务器时的资源调度策略。
图5为采用本申请方案对集群中物理服务器的资源进行调度的处理流程示意图。有图5可知,在实际场景中,主要包括云服务器的创建、释放以及动态调度3方面。
关于云服务器的创建,具体包括如下步骤:
步骤S501,获取来自用户的创建请求,其中包含了本次待创建的云服务器的时长。
步骤S502,评估本次待创建的云服务器的生命周期因子。由于用户的创建请求来源于用户购买的云服务器的行为,因此可以结合用户的购买的云服务器的其它相关信息,例如计费方式、是否自动续费,以及用户的历史购买数据等对生命周期因子进行评估。
步骤S503,生命周期分组调度。即根据生命周期因子确定在集群中确定合适的分组。
步骤S504,生命周期检查点调度。此处生命周期检查点即为云服务器的预计释放时间,可以根据生命周期因子确定。此时,可以<group,checkpoint1>的数据结构记录云服务器的生命周期因子相关的信息,其中,group定义为物理服务器的分组,checkpoint1定义为云服务器的预计释放时间。例如,生命周期因子为4小时的云服务器对应的该数据结构为<hour,now+4h>,其中,hour表示该云服务器对应的分组为小时组,now+4h表示该云服务器预计会在创建后4小时释放。
步骤S505,云服务器生产。即在适当的物理服务器中创建所述云服务器,由此完成云服务器的创建过程。
关于云服务器的释放,具体包括如下步骤:
步骤S506,获取用户的释放请求。
步骤S507,云服务器释放。即在相应的物理服务器中,将释放请求对应的云服务器的资源释放,使得该云服务器原来占用的资源变为可用资源。
关于云服务器的动态调度,具体包括如下步骤:
步骤S508,服务器分组检查点触发。即分组中物理服务器的检查点触发,对物理服务器内云服务器的资源占用状态进行检查,获取资源占用状态,作为动态调度的依据。
步骤S509,判断是否满足迁移条件。迁移包括组间迁移以及组内迁移,若满足其中任意一个的条件就会对物理服务器上的云服务器进行迁移。
步骤S510,云服务器生命周期因子叠加。即对于实际存活时间超过预计释放时间的云服务器,对其生命周期因子进行更新。
步骤S511,开始云服务器迁移。
步骤S512,判断是否满足组间迁移条件,当云服务器的生命周期因子与其当前所在的分组不匹配时,将会进行组件迁移。当满足组间迁移条件时,执行步骤S513,当不满足时,直接执行步骤S514。
步骤S513,生命周期分组调度。类似步骤S503,选取合适的分组,然后执行步骤S514。
步骤S514,生命周期检查点调度。类似步骤S504,确定云服务器的预计释放时间。
步骤S515,完成云服务器的迁移。
基于同一发明构思,本申请实施例中还提供了资源调度设备,该设备对应的方法是前述实施例中的资源调度方法,并且其解决问题的原理与所述方法相似。
本申请实施例提供的一种资源调度设备,该设备用于对提供弹性计算服务的物理服务器集群进行资源管理,以减少物理服务器中资源碎片的产生。该设备的具体实现可以包括但不限于:用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备。用户设备包括但不限于个人计算机、触控终端、移动终端等设备;网络设备包括但不限于如单个网络服务器、多个网络服务器组成的集群或基于云计算的计算机集合等。
该设备包括生命周期调度装置、释放检查调度装置以及资源分配装置,其中,生命周期调度装置用于根据云服务器的创建请求,获取所述云服务器的生命周期因子;释放检查调度装置用于根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;资源分配装置用于在与所述预计释放时间匹配的物理服务器上创建所述云服务器。
其中,所述创建请求即为用户发起的创建云服务器的请求,例如用户购买了2核心的cpu、4G的内存的云服务器,将会生成相应规格的云服务器的创建请求。
不同规格的云服务器的费用及计费方式也不同。例如用户可以按天收费、购买N个天,并且在N天后自动续费,也可以按月收费、购买1个月,并且选择在1个月后不进行续费。根据用户的购买时长或者计费方式的不同,可以获取用户所购买的云服务器的生命周期因子,例如用户购买的按照小时收费的云服务器,其生命周期因子即为小时,若一次性购买了4个小时,其生命周期因子也可以是4小时,若用户购买的的按照月收费的云服务器,则其生命周期因子可以确定为月等等。
在确定云服务器的生命周期因子之后,释放检查调度装置可以根据生命周期因子进一步预估该云服务器在被创建之后,可能会在什么时候被释放,从而确定预计释放时间。
作为一种实现方式,释放检查调度装置可以根据购买该云服务器的用户在历史购买数据,评估该用户的使用习惯,结合生命周期因子来计算预计释放时间。例如,根据用户A的历史购买数据可知,该用户在此前几次购买的云服务器均未续费,若本次购买的云服务器的生命周期因子为4小时,可以确定预计释放时间创建后的4小时,可记为now+4h。还如,用户B的历史购买数据显示,其之前的10次购买记录中购买了10次按照月收费的云服务器,并且其中有9次续费了一个月,若本次购买的云服务器的生命周期因子为月,则可以确定本次购买的云服务器的预计释放时间为创建后的2个月。
为了减少云服务器在创建、释放过程中所产生的资源碎片,需要尽量保证同一台物理服务器上的云服务器的能够在尽量接近的时间释放,例如图3中的server#1中存在5个云服务器,若这5个云服务器同时或者在很短的时间内全部释放,则server#1将完全空闲出完整的资源,从而不会产生资源碎片。
由此,作为一种可行的实施方式,集群中的物理服务器与需要创建的云服务器之间的匹配,可以基于物理服务器中已经存在的云服务器的预计释放时间与本次请求需要创建的云服务器的预计释放时间,两者越接近,则可以认为匹配度越高。由此,资源分配装置可以选择匹配度最高的一个物理服务器,作为匹配的物理服务器,或者也可以通过设定一个匹配度的阈值来判断两者是否匹配,从而确定匹配的物理服务器,若没有一个物理服务器的匹配度超过该阈值,则可以选择一个资源完全空闲的物理服务器。
在实际场景中,资源分配装置在创建云服务器时,还可以结合现有的资源调度策略,例如与贪婪调度算法结合。即在考虑匹配度的情况下,同时考虑资源占用的局部最优,例如为了减少创建时的资源碎片,采用深度优先调度原则,尽量使得已经在使用的物理服务器的资源被尽量多的占用。在优先考虑物理服务器与需要创建的云服务器之间的匹配度时,物理服务器会在云服务器释放时产生较少的资源碎片;而在优先考虑贪婪调度方式时,物理服务器则会在云服务器创建时产生较少的资源资源。由此,可以根据实际场景确定最终的调度策略,例如在不打破贪婪调度算法的前提下,尽量选择匹配度最高的物理服务器。
在选定物理服务器之后,用户购买的云服务器最终会在该物理服务器上被创建。
由此,该方案中在根据用户的请求创建云服务器时,会获取需要创建的云服务器的生命周期因子,然后通过生命周期因子进一步确定所述云服务器的预计释放时间,用以预估云服务器会在何时释放,根据该预计释放时间来匹配相应的服务器,使得物理服务器上已存在的云服务器尽量在接近时间释放,可以有减少单个物理服务器上小规模的资源释放引发的碎片化情况,降低资源碎片产生的可能性,避免由于创建、释放的时间存在很大差异,导致物理服务器中会不断产生大量的资源碎片。
由于在本申请实施例中,云服务器的预计释放时间仅仅时一个预测值,其准确率并非完全正确,因此云服务器在被创建之后,有可能会在超过预计释放时间之后仍然存活,此时生命周期调度装置还可以对该云服务器的生命周期因子进行叠加,来对其原有的生命周期因子进行更新。
当所述云服务器的实际存活时间超过其预计释放时间时,可以更新所述云服务器的生命周期因子。例如,某一用户购买的云服务器的预计释放时间为创建后的6小时,在创建后6小时进之后行检查时发现该云服务器仍然存活,即实际存活时间超过其预计释放时间,由此,可以更新所述云服务器的生命周期因子,例如由6小时叠加至12小时,若再次检查时,仍然存活,则可以由12小时继续叠加至18小时,依次类推。在此,本领域技术人员应能理解上述生命周期因子更新的方式仅为举例,其他现有的或今后可能出现的方式如可适用于本申请,例如6小时叠加至12小时再叠加至24小时等更新方式,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在对云服务器的生命周期因子进行更新后,若当前物理服务器对应的生命周期因子与其内云服务器更新后的生命周期因子不匹配时,则资源分配装置需要对该云服务器进行迁移。例如物理服务器server#1对应的生命周期因子为6小时,server#2~server#7对应的生命周期因子均为12小时,当server#1中的云服务器的生命周期因子有6小时叠加至12小时时,需要迁移至server#2~server#7中的一个物理服务器中。
在进行迁移时,可以根据所述云服务器更新后的生命周期因子来更新所述云服务器的预计释放时间,然后基于将所述云服务器迁移至与所述更新后的预计释放时间匹配的物理服务器。由于在实际处理中,云服务器在物理服务器之间的迁移可以理解为在原物理服务器上释放该云服务器,同时在新物理服务器上创建该云服务器,因此其迁移的资源调度策略可以参考前述创建时的资源调度策略。
作为一种优选的实施方式,可以将集群中的物理服务器进行分组,每个分组可以与对应的生命周期因子匹配。具体的分组数量,每个分组内的物理服务器的数量可以根据集群的实际应用场景来进行设定。例如图4所示,可以将集群的物理服务器分为三组,分别为小时(hour)组、天(day)组和月(month)组,数量分别为n,k,i个。其中,小时组内的物理服务器用于创建生命周期因子为小时的云服务器,而天组内的物理服务器则不会用于创建生命周期因子为小时或者月的云服务器,而仅用于创建生命周期因子为天的云服务器。在实际场景中,每个分组也可以对应多个生命周期因子,例如小时组可以对应1小时、2小时、4小时、8小时等生命周期因子,在每个分组内可以对分别对应这些生命周期因子的物理服务器再做细分。此外,根据集群的不同应用场景,还可以增加分钟组,年组等等分组,每个组内物理服务器的数量,也可以进行动态扩容、缩减或者转换,即n,k,i的数量是可以根据实际情况动态变化和调整的。
对于存在分组的集群,所述资源分配装置在物理服务器上创建所述云服务器时,首先,根据所述云服务器的生命周期因子确定匹配的分组。例如,对于生命周期因子为1天的云服务器,可以确定其匹配的分组为天组。然后,在该分组组中的所有物理服务器中查找与所述预计释放时间匹配的物理服务器,在确定匹配的物理服务器之后,在其上创建云服务器。
具体地,所述资源分配装置在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器时,可以首先根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定优先调度物理服务器。其中,所述优先调度物理服务器即为某一分组中与所述预计释放时间匹配的物理服务器,在实际场景中可以设置一个阈值来进行判定,即该优先调度物理服务器已存在的云服务器的预计释放时间与待创建的云服务器的预计释放时间之差小于阈值。
以小时组中的某一物理服务器为例,用于判断的阈值可以设定为3min,该物理服务器中已存在一个云服务器,该云服务器的预计释放时间为12:00:00,此时若待创健的物理服务器的预计释放时间为12:02:00,两者的差值为2min,小于阈值,则可以将该物理服务器作为优先调度物理服务器。若某一物理服务器中已经存在多个云服务器,则可以将每个已存在的云服务器的预计释放时间与待创健的物理服务器的预计释放时间进行比较,若全部小于阈值或者大部分小于阈值,也可以将该物理服务器作为优先调度的服务器。当然,也可以计算物理服务器上所有存在的云服务器的预计释放时间的平均值与待创健的物理服务器的预计释放时间进行比较,确定其差值是否小于阈值。在此,本领域技术人员应能理解上述确定优先调度物理服务器的方式仅为举例,其他现有的或今后可能出现的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在确定优先调度物理服务器之后,即可在所述优先调度物理服务器中创建所述云服务器。在集群规模较大的场景下,每个分组内会包含较多的物理服务器,通过上述方式有可能会有较多数量的物理服务器满足优先调度物理服务器的要求。因此,也可以根据应用场景的实际需求,进一步结合贪婪调度算法等现有的资源调度策略,具体结合方式已经前述内容中说明,此处不再赘述。
在本申请的一个实施例中,物理服务器可以设置有检查点,使其能够在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查。例如物理服务器的检查点设定为2小时,当启动后两小时或者上次触发后两小时,检查点将会触发,假设某一物理服务器启动时间为00:00:00,则其检查点的触发时间为02:00:00、04:00:00、06:00:00等等。此时,将会对所述物理服务器上的云服务器的资源占用状态进行检查。所述资源占用状态用于确定物理服务器上的当前资源占用情况,具体信息可以包括但不限于已创建的云服务器信息、云服务器数量、云服务器的资源占用规格、可用资源等信息中的一项或者几项。
在物理服务器设置有检查点时,则资源分配装置可以采用另一种方式在属于所述分组的物理服务器中确定优先调度物理服务器,即基于分组中物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差进行判定。此处,同样可以设置一个阈值,将分组中物理服务器的检查点的触发时间与所述云服务器的预计释放时间的差值与该阈值比较,若小于阈值,则可以将对应的物理服务器作为优先调度物理服务器。当然也可以直接比较两者的值,选择最接近的作为优先调度物理服务器。
在实际场景中,由于每个创建的云服务器均会基于上述原则选择优先调度物理服务器,因此保证该物理服务器上已存在的云服务器的预计释放时间都会接近该物理服务器的检查点的触发时间。通过上述方式,同样可以保证所有已存在的云服务器的预计释放时间相对接近,即单个物理服务器上已存在的云服务器预计都将在接近的时间被释放,由此减少单个物理服务器上小规模的资源释放引发的碎片化情况,降低资源碎片产生的可能性。作为可行的实施方式,在最终选择创建所述云服务器的物理服务器时,同样可以结合现有的资源调度策略。
在本申请的一个实施例中,所述物理服务器的检查点根据所述物理服务器中已存在的云服务器的预计释放时间确定。即检查点有可能随着所述物理服务器中云服务器的不同情况而发生变化,例如,小时组中的server#2,其检查点初始设置为1小时,当其中存在的三个云服务器的生命周期因子都为4个小时,则此物理服务器的检查点膨胀为4小时,而当这些云服务器逐渐释放,又有其它云服务器创建后,若此时存在的云服务器的最小的生命周期因子为2小时,则此物理服务器的检查点将由4小时萎缩至2小时。
在集群内存在分组的情况下,云服务器的迁移包括了两种情况,即组内迁移和组间迁移,一般组间迁移发生在云服务器的生命周期因子发生变化,且与当前分组对应的生命周期因子不匹配时,而组内迁移则可以理解为在组内进行碎片整理。
对于组间迁移的情况,一般会在所述云服务器的生命周期因子更新时触发。具体方式为:根据所述更新后的生命周期因子确定作为迁移目标的分组,然后将所述云服务器迁移至所述分组的物理服务器。
例如小时组中的不同物理服务器分别可以对应1小时、6小时、12小时、18小时等生命周期因子,而天组中的不同物理服务器可以对应1天、2天、5天、10天等生命周期因子。若某一云服务器当前存活于小时组的物理服务器server#10中,该server#10对应的生命周期因子为18小时,其对应的预计释放时间为创建后的18小时,当其实际存活时间超过创建后的18小时,更新生命周期因子为24小时(1天)。此时,由于小时组中,不存在与该生命周期因子匹配的物理服务器,需要迁移至其它匹配的分组。而天组中的物理服务器可以匹配该生命周期因子,假设天组中server#1~server#6对应1天的生命周期因子,因此将该云服务器由小时组的server#10迁移至天组的server#1~server#6中的其中一个上。
资源分配装置在将所述云服务器迁移至所述分组的物理服务器时,首先可以根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器。然后将所述云服务器迁移至所述迁移目标物理服务器。其中,所述迁移目标物理服务器中已存在的云服务器的预计释放时间与待迁移的服务器的预计释放时间之差小于阈值。
当物理服务器设置都设置有检查点时,所述资源分配装置也可以采用另一种方式将所述云服务器迁移至所述分组的物理服务器,具体为:首先,根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,然后将所述云服务器迁移至所述迁移目标物理服务器,其中,所述迁移目标物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值。
由于云服务器在物理服务器之间的迁移可以理解为在原物理服务器上释放该云服务器,同时在新物理服务器上创建该云服务器,而组间迁移的实质仍为集群内两个物理服务器之间的迁移,因此组间迁移的资源调度策略可以参考前述创建时的资源调度策略。并且上述两种方式中,迁移目标物理服务器选取方式同样可以参考在创建云服务器时选取优先调度物理服务器的方式,为简明起见,此处不再赘述。
此外,另一种迁移的情况为组内迁移。对应组内迁移的情况,本申请实施例提供的资源调度设备,该设备中所述资源分配装置,还用于在获取分组内的物理服务器的资源占用状态时,根据所述资源占用状态,判断是否需要对所述分组进行碎片整理;以及在判断结果为是时,在所述分组内的物理服务器之间迁移云服务器,以实现碎片整理。
具体地,所述资源分配装置可以在物理服务器的检查点触发时获取到其资源占用状态,也可以是由其它方式触发资源占用状态的检测,例如单独设置检测触发条件等。在获取到资源占用状态后,资源分配装置可以根据所述资源占用状态,判断是否需要对所述分组进行碎片整理。例如可以统计分组内相关物理服务器的可用资源与总资源的比率,若该比率过高,则可以认为资源碎片过多,需要对分组进行碎片整理,此时,所述资源分配装置在所述分组内的物理服务器之间迁移云服务器,以实现碎片整理。进一步地,由于碎片整理的实质也是物理服务器之间的迁移,因此具体迁移时的的资源调度策略可以参考前述创建云服务器时的资源调度策略。
此外,本申请实施例还提供如图6所示的资源调度设备,该设备处理器610;以及被安排成存储计算机可执行指令的存储器620,所述可执行指令在被执行时使所述处理器:根据云服务器的创建请求,获取所述云服务器的生命周期因子;根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;以及在与所述预计释放时间匹配的物理服务器上创建所述云服务器。
综上所述,本申请提供的方案中,在根据用户的请求创建云服务器时,会获取需要创建的云服务器的生命周期因子,然后通过生命周期因子进一步确定所述云服务器的预计释放时间,用以预估云服务器会在何时释放,根据该预计释放时间来匹配相应的服务器,使得物理服务器上已存在的云服务器尽量在接近时间释放,可以有减少单个物理服务器上小规模的资源释放引发的碎片化情况,降低资源碎片产生的可能性,避免由于创建、释放的时间存在很大差异,导致物理服务器中会不断产生大量的资源碎片。
Claims (19)
1.一种资源调度方法,其中,该方法包括:
根据云服务器的创建请求,获取所述云服务器的生命周期因子;
根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;
在与所述预计释放时间匹配的物理服务器上创建所述云服务器;
当所述云服务器的实际存活时间超过其预计释放时间时,更新所述云服务器的生命周期因子,其中,所述预计释放时间根据所述云服务器的生命周期因子确定;
根据所述云服务器更新后的生命周期因子,更新所述云服务器的预计释放时间;
若当前物理服务器的分组与更新后的生命周期因子不匹配,则将所述云服务器迁移至与所述更新后的预计释放时间匹配的物理服务器。
2.根据权利要求1所述的方法,其中,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
在与所述预计释放时间匹配的物理服务器上创建所述云服务器,包括:
根据所述云服务器的生命周期因子确定匹配的分组;
在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器。
3.根据权利要求2所述的方法,其中,在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器,包括:
根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定优先调度物理服务器,其中,所述优先调度物理服务器中已存在的云服务器的预计释放时间与待创建的云服务器的预计释放时间之差小于阈值;
在所述优先调度物理服务器中创建所述云服务器。
4.根据权利要求2所述的方法,其中,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器,包括:
在属于所述分组的物理服务器中确定优先调度物理服务器,其中,所述优先调度物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值;
在所述优先调度物理服务器中创建所述云服务器。
5.根据权利要求4所述的方法,其中,该方法还包括:
在获取分组内的物理服务器的资源占用状态时,根据所述资源占用状态,判断是否需要对所述分组进行碎片整理;
在判断结果为是时,在所述分组内的物理服务器之间迁移云服务器,以实现碎片整理。
6.根据权利要求1所述的方法,其中,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
将所述云服务器迁移至与所述更新后的生命周期因子匹配的物理服务器,包括:
根据所述更新后的生命周期因子确定作为迁移目标的分组;
将所述云服务器迁移至所述分组的物理服务器。
7.根据权利要求6所述的方法,其中,将所述云服务器迁移至所述分组的物理服务器,包括:
根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,其中,所述迁移目标物理服务器中已存在的云服务器的预计释放时间与待迁移的服务器的预计释放时间之差小于阈值;
将所述云服务器迁移至所述迁移目标物理服务器。
8.根据权利要求6所述的方法,其中,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
将所述云服务器迁移至所述分组的物理服务器,包括:
根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,其中,所述迁移目标物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值;
将所述云服务器迁移至所述迁移目标物理服务器。
9.根据权利要求4、5或8中任一项所述的方法,其中,所述物理服务器的检查点根据所述物理服务器中已存在的云服务器的预计释放时间确定。
10.一种资源调度设备,其中,该设备包括:
生命周期调度装置,用于根据云服务器的创建请求,获取所述云服务器的生命周期因子,以及在创建所述云服务器之后、且所述云服务器的实际存活时间超过其预计释放时间时,更新所述云服务器的生命周期因子,其中,所述预计释放时间根据所述云服务器的生命周期因子确定;
释放检查调度装置,用于根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;
资源分配装置,用于在与所述预计释放时间匹配的物理服务器上创建所述云服务器;
所述释放检查调度装置,还用于根据所述云服务器更新后的生命周期因子,更新所述云服务器的预计释放时间;
所述资源分配装置,还用于在当前物理服务器的分组与更新后的生命周期因子不匹配时,将所述云服务器迁移至与所述更新后的预计释放时间匹配的物理服务器。
11.根据权利要求10所述的设备,其中,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
所述资源分配装置,用于根据所述云服务器的生命周期因子确定匹配的分组;以及在所述分组中确定与所述预计释放时间匹配的物理服务器,并在所述物理服务器上创建所述云服务器。
12.根据权利要求11所述的设备,其中,所述资源分配装置,用于根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定优先调度物理服务器,以及在所述优先调度物理服务器中创建所述云服务器,其中,所述优先调度物理服务器中已存在的云服务器的预计释放时间与待创建的云服务器的预计释放时间之差小于阈值。
13.根据权利要求11所述的设备,其中,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
所述资源分配装置,用于在属于所述分组的物理服务器中确定优先调度物理服务器,以及在所述优先调度物理服务器中创建所述云服务器,其中,所述优先调度物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值。
14.根据权利要求13所述的设备,其中,该设备还包括:
所述资源分配装置,还用于在获取分组内的物理服务器的资源占用状态,根据所述资源占用状态,判断是否需要对所述分组进行碎片整理;以及在判断结果为是时,在所述分组内的物理服务器之间迁移云服务器,以实现碎片整理。
15.根据权利要求10所述的设备,其中,所述物理服务器其包括多个分组,每个分组与对应的生命周期因子匹配;
所述资源分配装置,用于根据所述更新后的生命周期因子确定作为迁移目标的分组;以及将所述云服务器迁移至所述分组的物理服务器。
16.根据权利要求15所述的设备,其中,所述资源分配装置,用于根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,以及将所述云服务器迁移至所述迁移目标物理服务器,其中,所述迁移目标物理服务器中已存在的云服务器的预计释放时间与待迁移的服务器的预计释放时间之差小于阈值。
17.根据权利要求15所述的设备,其中,所述物理服务器设置有检查点,用于在所述检查点触发时对所述物理服务器上的云服务器的资源占用状态进行检查;
所述资源分配装置,用于根据所述云服务器的预计释放时间,在属于所述分组的物理服务器中确定迁移目标物理服务器,以及将所述云服务器迁移至所述迁移目标物理服务器,其中,所述迁移目标物理服务器的检查点的触发时间与所述云服务器的预计释放时间之差小于阈值。
18.根据权利要求13、14或17中任一项所述的设备,其中,所述物理服务器的检查点根据所述物理服务器中已存在的云服务器的预计释放时间确定。
19.一种资源调度设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:根据云服务器的创建请求,获取所述云服务器的生命周期因子;根据所述云服务器的生命周期因子,确定所述云服务器的预计释放时间;以及在与所述预计释放时间匹配的物理服务器上创建所述云服务器;当所述云服务器的实际存活时间超过其预计释放时间时,更新所述云服务器的生命周期因子,其中,所述预计释放时间根据所述云服务器的生命周期因子确定;根据所述云服务器更新后的生命周期因子,更新所述云服务器的预计释放时间;若当前物理服务器的分组与更新后的生命周期因子不匹配,则将所述云服务器迁移至与所述更新后的预计释放时间匹配的物理服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710042822.XA CN108334403B (zh) | 2017-01-20 | 2017-01-20 | 资源调度方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710042822.XA CN108334403B (zh) | 2017-01-20 | 2017-01-20 | 资源调度方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108334403A CN108334403A (zh) | 2018-07-27 |
CN108334403B true CN108334403B (zh) | 2022-05-24 |
Family
ID=62921640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710042822.XA Active CN108334403B (zh) | 2017-01-20 | 2017-01-20 | 资源调度方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334403B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109769022A (zh) * | 2019-01-15 | 2019-05-17 | 无锡华云数据技术服务有限公司 | 服务器分配方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546700A (zh) * | 2010-12-23 | 2012-07-04 | 中国移动通信集团公司 | 一种资源调度以及资源迁移的方法及设备 |
US8301751B2 (en) * | 2005-06-30 | 2012-10-30 | International Business Machines Corporation | Generation of a master schedule for a resource from a plurality of user created schedules for the resource |
CN103533086A (zh) * | 2013-10-31 | 2014-01-22 | 中国科学院计算机网络信息中心 | 一种云计算系统中的资源统一调度方法 |
CN104468407A (zh) * | 2013-09-16 | 2015-03-25 | 中国电信股份有限公司 | 实现业务平台资源弹性分配的方法与装置 |
CN105843670A (zh) * | 2016-03-22 | 2016-08-10 | 浙江大学 | 一种云平台虚拟集群部署整合方法 |
-
2017
- 2017-01-20 CN CN201710042822.XA patent/CN108334403B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301751B2 (en) * | 2005-06-30 | 2012-10-30 | International Business Machines Corporation | Generation of a master schedule for a resource from a plurality of user created schedules for the resource |
CN102546700A (zh) * | 2010-12-23 | 2012-07-04 | 中国移动通信集团公司 | 一种资源调度以及资源迁移的方法及设备 |
CN104468407A (zh) * | 2013-09-16 | 2015-03-25 | 中国电信股份有限公司 | 实现业务平台资源弹性分配的方法与装置 |
CN103533086A (zh) * | 2013-10-31 | 2014-01-22 | 中国科学院计算机网络信息中心 | 一种云计算系统中的资源统一调度方法 |
CN105843670A (zh) * | 2016-03-22 | 2016-08-10 | 浙江大学 | 一种云平台虚拟集群部署整合方法 |
Non-Patent Citations (1)
Title |
---|
考虑虚拟机生命周期和延时的云数据中心的节能算法研究;钟元椋;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130115;论文第1.3和4.1.2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN108334403A (zh) | 2018-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101791594B1 (ko) | 저장 네트워크 내의 저장 관리 | |
CN108090225B (zh) | 数据库实例的运行方法、装置、系统及计算机可读存储介质 | |
CN107295090B (zh) | 一种资源调度的方法和装置 | |
EP2437168B1 (en) | Method and device for balancing load of multiprocessor system | |
US20180198855A1 (en) | Method and apparatus for scheduling calculation tasks among clusters | |
JP6819131B2 (ja) | 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム | |
CN103761147B (zh) | 一种云平台中计算实例的管理方法及系统 | |
CN107273200B (zh) | 一种针对异构存储的任务调度方法 | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
US11057465B2 (en) | Time-based data placement in a distributed storage system | |
CN103077197A (zh) | 一种数据存储方法装置 | |
JP2017123110A (ja) | データ記憶装置、データ記憶方法およびプログラム | |
CN111352696A (zh) | 基于消耗的资源标记系统和方法 | |
CN113190503B (zh) | 文件系统扩容方法、装置、电子设备及存储介质 | |
US20170123975A1 (en) | Centralized distributed systems and methods for managing operations | |
CN107343023A (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
CN109558456A (zh) | 一种文件迁移方法、装置、设备及可读存储介质 | |
CN108153594A (zh) | 一种人工智能云平台的资源碎片整理方法及电子设备 | |
CN108334403B (zh) | 资源调度方法及设备 | |
WO2022141561A1 (zh) | 一种面向区块链用户节点的数据存储方法及装置 | |
US20220129182A1 (en) | Systems and methods for object migration in storage devices | |
CN107018163B (zh) | 一种资源配置方法和装置 | |
CN115309520A (zh) | 任务迁移方法、装置、电子设备及存储介质 | |
CN115878303A (zh) | 一种资源调度方法、装置及电子设备 | |
CN115695437A (zh) | 资源调度方法、装电子设备及计算机存储介质 |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Zhang Jianfeng Inventor after: Yu Yanshuo Inventor before: Yu Yanshuo |
|
CB03 | Change of inventor or designer information |