CN115016949A - 为客户机选择宿主机的方法、计算设备和计算机介质 - Google Patents

为客户机选择宿主机的方法、计算设备和计算机介质 Download PDF

Info

Publication number
CN115016949A
CN115016949A CN202210946641.0A CN202210946641A CN115016949A CN 115016949 A CN115016949 A CN 115016949A CN 202210946641 A CN202210946641 A CN 202210946641A CN 115016949 A CN115016949 A CN 115016949A
Authority
CN
China
Prior art keywords
candidate host
determining
candidate
factor
host machine
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.)
Pending
Application number
CN202210946641.0A
Other languages
English (en)
Inventor
张�杰
皮兴忠
杨勇
杨昆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongzhi Guanaitong Shanghai Technology Co ltd
Zhongzhi Aiyoutong Nanjing Information Technology Co ltd
Original Assignee
Zhongzhi Guanaitong Shanghai Technology Co ltd
Zhongzhi Aiyoutong Nanjing Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongzhi Guanaitong Shanghai Technology Co ltd, Zhongzhi Aiyoutong Nanjing Information Technology Co ltd filed Critical Zhongzhi Guanaitong Shanghai Technology Co ltd
Priority to CN202210946641.0A priority Critical patent/CN115016949A/zh
Publication of CN115016949A publication Critical patent/CN115016949A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供了一种为客户机选择宿主机的方法、计算设备和计算机可读存储介质。该方法包括:对于多个候选宿主机中的每个候选宿主机,分别基于候选宿主机的多个资源的剩余资源量确定候选宿主机的剩余资源因子;基于所述候选宿主机的上架时长确定所述候选宿主机的时间衰减因子;基于所述客户机的业务类型和所述候选宿主机的已有业务类型确定所述候选宿主机的业务相关因子;基于所述候选宿主机的多个业务运行参数确定所述候选宿主机的消耗资源因子;基于所述候选宿主机的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子确定所述候选宿主机的优先值;以及基于所述多个候选宿主机的优先值从所述多个候选宿主机中为所述客户机选择所述宿主机。

Description

为客户机选择宿主机的方法、计算设备和计算机介质
技术领域
本发明概括而言涉及计算机系统领域,更具体地,涉及一种为客户机选择宿主机的方法、计算设备和计算机可读存储介质。
背景技术
当前,客户机的使用已经越来越广泛。客户机是指在物理主机上创建的具有完整的硬件系统功能的计算机系统,也称为虚拟机。在这种情况下,客户机所位于的物理主机也称为宿主机。通常,不同宿主机上可能存在着多台数量和大小不等的客户机,在合理的前提下,单台宿主机上创建的客户机应当尽可能多。
在存在新的客户机创建请求时,通常需要考虑两个方面。一个方面是所创建的客户机需要满足使其稳定工作的资源要求,另一个方面为使得宿主机的资源被充分使用。
由于创建客户机时从宿主机所其分配的资源是逻辑上占用,在实际工作过程中可能不会被完整的使用,所以单台宿主机创建的所有客户机的资源总量逻辑上会大于宿主机自身拥有的资源。
例如,对于一个内存大小为96G的宿主机,可以将其划分为10 个内存大小都为16G的客户机。逻辑上,这些客户机的内存总量为16*10=160G,大于宿主机的96G内存。
当前,在存在新的创建客户机的需求时,通常根据宿主机剩余资源或者宿主机上架时间等单维度信息来选择最优的一个宿主机作为该新的客户机的宿主机。
然而,这种选择方式可能会造成资源分配碎片化和客户机工作不稳定的问题。例如,当宿主机剩余资源过低时或上架时间过久时,很难有机会被再选中用于创建客户机,因此出现碎片资源得不到使用,宿主机的资源出现浪费的问题。此外,在如上所述的客户机创建方式中,只有在所有客户机的平均消耗内存都小于9.6G时,宿主机的最大消耗内存为10*9.6=96G,小于或等于宿主机的内存96G,所有客户机才可以稳定工作,否则客户机不能稳定工作。
发明内容
针对上述问题,本发明提供了一种基于多维度分析来为客户机选择宿主机的方案,其通过综合考虑宿主机的剩余资源量、上架时长、业务相关性和工作过程中的资源消耗情况来使得宿主机的选择更加合理,从而有效分配宿主机资源的同时提升客户机的工作稳定性。
根据本发明的一个方面,提供了一种为客户机选择宿主机的方法。该方法包括:对于多个候选宿主机中的每个候选宿主机,分别基于所述候选宿主机的多个资源的剩余资源量确定所述候选宿主机的剩余资源因子;基于所述候选宿主机的上架时长确定所述候选宿主机的时间衰减因子;基于所述客户机的业务类型和所述候选宿主机的已有业务类型确定所述候选宿主机的业务相关因子;基于所述候选宿主机的多个业务运行参数确定所述候选宿主机的消耗资源因子;基于所述候选宿主机的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子确定所述候选宿主机的优先值;以及基于所述多个候选宿主机的优先值从所述多个候选宿主机中为所述客户机选择所述宿主机。
根据本发明的另一个方面,提供了一种计算设备。该计算设备包括:至少一个处理器;以及至少一个存储器,该至少一个存储器被耦合到该至少一个处理器并且存储用于由该至少一个处理器执行的指令,该指令当由该至少一个处理器执行时,使得该计算设备执行根据上述方法的步骤。
根据本发明的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序代码,该计算机程序代码在被运行时执行如上所述的方法。
在一些实施例中,所述多个资源包括处理器、内存和磁盘,并且其中确定所述候选宿主机的剩余资源因子包括:基于所述候选宿主机的处理器的剩余量和总量确定所述候选宿主机的处理器阻值;基于所述候选宿主机的内存的剩余量和总量确定所述候选宿主机的内存阻值;基于所述候选宿主机的磁盘的剩余量和总量确定所述候选宿主机的磁盘阻值;以及基于所述候选宿主机的处理器阻值、内存阻值和磁盘阻值,利用电阻并联原理确定所述候选宿主机的剩余资源因子。
在一些实施例中,确定所述候选宿主机的时间衰减因子包括:确定所述候选宿主机的上架时长;以及基于所述候选宿主机的上架时长和自然衰减函数确定所述候选宿主机的时间衰减因子。
在一些实施例中,确定所述候选宿主机的业务相关因子包括:基于所述客户机的业务类型确定所述客户机的业务标签集合;基于所述候选宿主机的已有业务类型确定所述候选宿主机的业务标签集合;以及基于所述客户机的业务标签集合和所述候选宿主机的业务标签集合确定所述候选宿主机与所述客户机的业务相关因子。
在一些实施例中,所述多个业务运行参数包括系统负载值、内存使用量和每秒输入输出读写请求数量,并且其中确定所述候选宿主机的消耗资源因子包括:获取所述候选宿主机过去一个时间段的每单位时间的系统负载值、内存使用量和每秒输入输出读写请求数量;确定所述候选宿主机在所述时间段的平均系统负载值、平均内存使用量和平均每秒输入输出读写请求数量;以及基于所述候选宿主机在所述时间段的平均系统负载值、平均内存使用量和平均每秒输入输出读写请求数量以及每个系统负载值、内存使用量和每秒输入输出读写请求数量,确定所述候选宿主机的消耗资源因子。
在一些实施例中,确定所述候选宿主机的优先值包括:基于所述候选宿主机的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子、相应的权重系数和初始标准值确定所述候选宿主机的优先值。
在一些实施例中,确定所述候选宿主机的优先值包括:基于所述候选宿主机的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子和相应的权重系数确定所述候选宿主机的优先值。
在一些实施例中,所述相应的权重系数是预先确定的经验值。
在一些实施例中,所述方法还包括:基于所述多个候选宿主机的历史优先值和每个候选宿主机的历史剩余资源量、历史上架时长、历史业务类型和历史业务运行参数,利用线性回归模型确定所述相应的权重系数。
利用本发明的方案,能够使得宿主机的选择更加合理,从而有效分配宿主机资源的同时提升客户机的工作稳定性。
附图说明
通过参考下列附图所给出的本发明的具体实施方式的描述,将更好地理解本发明,并且本发明的其他目的、细节、特点和优点将变得更加显而易见。
图1示出了根据本发明的实施例的用于为客户机选择宿主机的系统的示意图。
图2示出了根据本发明的一些实施例的为客户机选择宿主机的方法的流程图。
图3示出了根据本发明一些实施例的确定候选宿主机的剩余资源因子的过程的进一步详细流程图。
图4示出了根据本发明一些实施例的确定候选宿主机的时间衰减因子的过程的进一步详细流程图。
图5示出了根据本发明一些实施例的确定候选宿主机的业务相关因子的过程的进一步详细流程图。
图6示出了根据本发明一些实施例的确定候选宿主机的消耗资源因子的过程的进一步详细流程图。
图7示出了适合实现本发明的实施例的设备的结构方框图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整的传达给本领域的技术人员。
在下文的描述中,出于说明各种发明的实施例的目的阐述了某些具体细节以提供对各种发明实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。
在整个说明书中对“一个实施例”或“一些实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一些实施例”中的出现不一定全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
此外,说明书和权利要求中所用的第一、第二等术语,仅仅出于描述清楚起见来区分各个对象,而并不限定其所描述的对象的大小或其他顺序等。
图1示出了根据本发明的实施例的用于为客户机选择宿主机的系统1的示意图。如图1中所示,系统1包括多个候选宿主机10、计算设备20和网络30。多个候选宿主机10和计算设备20可以通过网络30进行数据交互。候选宿主机10可以与计算设备20通信,以向计算设备20发送信息和/或从计算设备20接收信息。计算设备20可以是用来执行宿主机选择功能的独立的服务器或设备,也可以是其中一个候选宿主机10,即,由其中一个候选宿主机10执行计算设备20的功能。计算设备20可以包括至少一个处理器22和与该至少一个处理器22耦合的至少一个存储器24,该存储器24中存储有可由该至少一个处理器22执行的指令26,该指令26在被该至少一个处理器22执行时执行如下所述的方法200的至少一部分。候选宿主机10或计算设备20的具体结构例如可以如下结合图7所述。
图2示出了根据本发明的一些实施例的为客户机选择宿主机的方法200的流程图。方法200例如可以由图1中所示的系统1中的计算设备20或者其中一个候选宿主机10执行。以下结合图1至图7,以计算设备20执行为例对方法200进行描述。
在方框210至240,计算设备20分别确定多个候选宿主机10的剩余资源量、上架时长、业务相关性和工作过程中的资源消耗情况的影响,因此方框210至240的执行顺序不局限于图中所显示和下面所描述的顺序,而是可以以任何其他合理的顺序来执行。
如图2中所示,在方框210,对于多个候选宿主机10中的每个候选宿主机10,计算设备20可以分别基于该候选宿主机10的多个资源的剩余资源量确定该候选宿主机的剩余资源因子。
如前所述,一个宿主机上可以承载多个客户机,对于其上的每个客户机,宿主机为该客户机分配一定的资源,因此宿主机的剩余资源量会随着其所承载的客户机的变化而减少或增加。在宿主机上创建客户机时,为该客户机分配资源会使得宿主机的剩余资源量减少,在宿主机上释放客户机时,其资源被回收会使得宿主机的剩余资源量增加。
在本文的实施例中,候选宿主机10的资源可以包括处理器、内存和磁盘。可以参考物理学并联电阻原理考虑处理器、内存、磁盘的变化对候选宿主机10的剩余资源因子的影响。注意,以下的术语“阻值”借用了物理学中电阻的概念,但是并不表示电阻器件的电阻数值,而是表示候选宿主机10的各种资源对其剩余资源因子的影响因子。
图3示出了根据本发明一些实施例的确定候选宿主机10的剩余资源因子的过程(方框210)的进一步详细流程图。
如图3中所示,在方框212,计算设备20可以基于候选宿主机10的处理器的剩余量和总量确定该候选宿主机10的处理器阻值。
在一些实施例中,候选宿主机10的处理器阻值
Figure DEST_PATH_IMAGE002
可以表示为:
Figure DEST_PATH_IMAGE004
其中
Figure DEST_PATH_IMAGE006
表示候选宿主机10的处理器的剩余量,
Figure DEST_PATH_IMAGE008
表示候选宿主机10的处理器的总量。
在方框214,计算设备20可以基于候选宿主机10的内存的剩余量和总量确定该候选宿主机10的内存阻值。
在一些实施例中,候选宿主机10的内存阻值
Figure DEST_PATH_IMAGE010
可以表示为:
Figure DEST_PATH_IMAGE012
其中
Figure DEST_PATH_IMAGE014
表示候选宿主机10的内存的剩余量,
Figure DEST_PATH_IMAGE016
表示候选宿主机10的内存的总量。
在方框216,计算设备20可以基于候选宿主机10的磁盘的剩余量和总量确定该候选宿主机10的磁盘阻值。
在一些实施例中,候选宿主机10的磁盘阻值
Figure DEST_PATH_IMAGE018
可以表示为:
Figure DEST_PATH_IMAGE020
其中
Figure DEST_PATH_IMAGE022
表示候选宿主机10的磁盘的剩余量,
Figure DEST_PATH_IMAGE024
表示候选宿主机10的磁盘的总量。
注意,虽然按照上述顺序描述了各个方框212至216,但是方框212至216的执行顺序并不局限于上述顺序,而是可以以任何其他合理的顺序来执行,例如并行或者以其他先后顺序。
在方框218,计算设备20可以基于方框212至216所确定的候选宿主机10的处理器阻值
Figure DEST_PATH_IMAGE026
、内存阻值
Figure DEST_PATH_IMAGE028
和磁盘阻值
Figure DEST_PATH_IMAGE030
,利用电阻并联原理确定该候选宿主机10的剩余资源因子。
在一些实施例中,该候选宿主机10的剩余资源因子
Figure DEST_PATH_IMAGE032
可以表示为:
Figure DEST_PATH_IMAGE034
继续图2,在方框220,计算设备20可以基于候选宿主机10的上架时长确定该候选宿主机10的时间衰减因子。
上架时长是指候选宿主机10的已工作时长。基于物理学热扩散理论,随着扩散距离越远热量丧失越多。类似地,随着宿主机上架时长越长,其时间衰减因子越小,会更加接近于0但不会等于0。
图4示出了根据本发明一些实施例的确定候选宿主机10的时间衰减因子的过程(方框220)的进一步详细流程图。
如图4中所示,在方框222,计算设备20可以确定该候选宿主机10的上架时长。该上架时长例如可以根据该候选宿主机10的上架时间和当前时间计算得到。
在方框224,计算设备20可以基于候选宿主机10的上架时长和自然衰减函数来确定该候选宿主机10的时间衰减因子。如前所述,时间衰减因子与候选宿主机10的上架时长基本符合物理学热扩散原理,因此其是按照自然指数衰减。
在一些实施例中,候选宿主机10的时间衰减因子
Figure DEST_PATH_IMAGE036
可以表示为
Figure DEST_PATH_IMAGE038
其中,t为候选宿主机10的上架时长,e为自然常数。
继续图2,在方框230,计算设备20可以基于所请求的客户机的业务类型和候选宿主机10的已有业务类型确定该候选宿主机10的业务相关因子。
一个宿主机上可能承载着多个客户机,各个客户机可能具有不同的一个或多个业务类型。可以通过评估客户机的业务类型与宿主机上的业务类型之间的相关程度来对该宿主机是否能承载该客户机进行打分,并且分值还可以随着相关程度的变化而变化。
图5示出了根据本发明一些实施例的确定候选宿主机10的业务相关因子的过程(方框230)的进一步详细流程图。
如图5中所示,在方框232,计算设备20可以基于所请求的客户机的业务类型确定该客户机的业务标签集合。每个客户机可能具有一种或多种业务类型,并且每种业务类型被预先赋予了给定的业务标签。客户机的业务标签例如如下面表1所示。
在方框234,计算设备20可以基于该候选宿主机10的已有业务类型确定该候选宿主机的业务标签集合。类似地,每个候选宿主机10可能承载着多个客户机并且具有多种业务类型,并且每种业务类型被预先赋予了给定的业务标签。宿主机的业务标签例如如下面表1所示;
Figure DEST_PATH_IMAGE040
在方框236,计算设备20可以基于客户机的业务标签集合和候选宿主机10的业务标签集合确定候选宿主机10与该客户机的业务相关因子。
例如,假设根据表1确定的客户机的业务标签集合为X,候选宿主机10的业务标签集合为Y,则候选宿主机10与该客户机的业务相关因子
Figure DEST_PATH_IMAGE042
可以利用集合X和Y的相关函数来确定:
Figure DEST_PATH_IMAGE044
其中,
Figure DEST_PATH_IMAGE046
表示集合X和Y的协方差,
Figure DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE050
分别表示集合X和集合Y的方差。
继续图2,在方框240,计算设备20可以基于候选宿主机10的多个业务运行参数确定该候选宿主机10的消耗资源因子。
宿主机上运行着多个客户机,每个客户机可能承载着不同的计算业务,随着计算需求的变化,宿主机的业务运行参数也会随之变化。可以借鉴统计学的离散系数计算来确定每个候选宿主机10在过去一个时间段的资源消耗情况,资源消耗平稳的候选宿主机10更可能能够提供稳定的工作环境。
在一些实施例中,考虑的候选宿主机10的业务运行参数可以包括系统负载值、内存使用量和每秒输入输出读写请求数量(IO/TPS)。
图6示出了根据本发明一些实施例的确定候选宿主机10的消耗资源因子的过程(方框240)的进一步详细流程图。
如图6中所示,在方框242,计算设备20可以获取该候选宿主机10过去一个时间段的每单位时间的系统负载值、内存使用量和IO/TPS。例如,可以对候选宿主机10过去7天的各个业务运行参数进行采样,每个样本间隔一分钟,如表2所示:
Figure DEST_PATH_IMAGE052
在方框244,计算设备20可以确定该候选宿主机10在该时间段的平均系统负载值、平均内存使用量和平均IO/TPS。
假设样本数为n,则平均系统负载值
Figure DEST_PATH_IMAGE054
可以表示为:
Figure DEST_PATH_IMAGE056
,其中
Figure DEST_PATH_IMAGE058
表示每个系统负载值(i=1, 2, ……, n)。
平均内存使用量
Figure DEST_PATH_IMAGE060
可以表示为:
Figure DEST_PATH_IMAGE062
,其中
Figure DEST_PATH_IMAGE064
表示每个内存使用量(i=1, 2, ……, n)。
平均IO/TPS
Figure DEST_PATH_IMAGE066
可以表示为:
Figure DEST_PATH_IMAGE068
,其中
Figure DEST_PATH_IMAGE070
表示每个IO/TPS(i=1, 2, ……, n)。
在方框246,计算设备20可以基于该候选宿主机10在该时间段的平均系统负载值、平均内存使用量和平均IO/TPS以及每个系统负载值、内存使用量和IO/TPS,确定该候选宿主机10的消耗资源因子。
在一些实施例中,可以利用皮尔逊相关系数(二阶矩)来表示该候选宿主机10的消耗资源因子
Figure DEST_PATH_IMAGE072
Figure DEST_PATH_IMAGE074
继续图2,在方框250,计算设备20可以基于该候选宿主机10的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子确定该候选宿主机10的优先值。
在一些实施例中,在方框250,计算设备20可以直接基于该候选宿主机10的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子来确定该候选宿主机10的优先值,例如对它们直接求和。
在另一些实施例中,在方框250,计算设备20可以基于该候选宿主机10的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子以及相应的权重系数来确定该候选宿主机10的优先值。
例如,候选宿主机10的优先值可以确定为:
Figure DEST_PATH_IMAGE076
,
其中,
Figure DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE080
Figure DEST_PATH_IMAGE082
Figure DEST_PATH_IMAGE084
分别是剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子的权重系数,并且
Figure 717159DEST_PATH_IMAGE086
在再一些实施例中,在方框250,计算设备20可以基于该候选宿主机10的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子、相应的权重系数以及初始标准值来确定该候选宿主机10的优先值。
例如,候选宿主机10的优先值可以确定为:
Figure DEST_PATH_IMAGE088
其中,
Figure DEST_PATH_IMAGE090
Figure DEST_PATH_IMAGE092
Figure DEST_PATH_IMAGE094
Figure DEST_PATH_IMAGE096
分别是剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子的权重系数,并且
Figure DEST_PATH_IMAGE098
Figure DEST_PATH_IMAGE100
是初始标准值,例如取值为100。
这里,相应的权重系数可以是预先确定的经验值,例如,
Figure 135765DEST_PATH_IMAGE102
Figure DEST_PATH_IMAGE104
Figure DEST_PATH_IMAGE106
Figure DEST_PATH_IMAGE108
可以分别取值0.3、0.2、0.2和0.3。
在另一些实施例中,这些权重系数可以是基于历史数据采用机器学习算法进行训练所确定的值。例如,可以基于多个候选宿主机10的历史优先值和每个候选宿主机10的历史剩余资源量、历史上架时长、历史业务类型和历史业务运行参数,利用线性回归模型确定这些权重系数。
在方框260,计算设备20可以基于多个候选宿主机10的优先值从这些候选宿主机10中为客户机选择一个宿主机。例如,计算设备20可以选择优先值最高的候选宿主机10作为该客户机的宿主机。
利用本发明的方案,在存在新的客户机需求时,通过综合考虑宿主机的剩余资源量、上架时长、业务相关性和业务运行过程中的资源消耗情况来使得宿主机的选择更加合理,从而能够在有效分配宿主机资源的同时提升客户机的工作稳定性。
图7示出了适合实现本发明的实施例的设备700的结构方框图。设备700例如可以是如上所述的系统1中的候选宿主机10或者计算设备20。
如图7中所示,设备700可以包括一个或多个中央处理单元(CPU)710(图中仅示意性地示出了一个),其可以根据存储在只读存储器(ROM)720中的计算机程序指令或者从存储单元780加载到随机访问存储器(RAM)730中的计算机程序指令,来执行各种适当的动作和处理。在RAM 730中,还可存储设备700操作所需的各种程序和数据。CPU 710、ROM 720以及RAM 730通过总线740彼此相连。输入/输出(I/O)接口750也连接至总线740。
设备700中的多个部件连接至I/O接口750,包括:输入单元760,例如键盘、鼠标等;输出单元770,例如各种类型的显示器、扬声器等;存储单元780,例如磁盘、光盘等;以及通信单元790,例如网卡、调制解调器、无线通信收发机等。通信单元790允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的方法200例如可由一个或多个设备700的CPU 710执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包括于机器可读介质,例如存储单元780。在一些实施例中,计算机程序的部分或者全部可以经由ROM 720和/或通信单元790而被载入和/或安装到设备700上。当计算机程序被加载到RAM 730并由CPU 710执行时,可以执行上文描述的方法200的一个或多个操作。此外,通信单元790可以支持有线或无线通信功能。
本领域技术人员可以理解,图7所示的设备700仅是示意性的。在一些实施例中,设备700可以包含比图7所示的更多或更少的部件。
以上结合附图对根据本发明的为客户机选择宿主机的方法200以及可用来实现该方法200的设备700进行了描述。然而本领域技术人员可以理解,方法200的步骤的执行并不局限于图中所示和以上所述的顺序,而是可以以任何其他合理的顺序来执行。此外,设备700也不必须包括图7中所示的所有组件,其可以仅仅包括执行本发明中所述的功能所必须的其中一些组件,并且这些组件的连接方式也不局限于图中所示的形式。
本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
在一个或多个示例性设计中,可以用硬件、软件、固件或它们的任意组合来实现本发明所述的功能。例如,如果用软件来实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码来传输。
本文公开的装置的各个单元可以使用分立硬件组件来实现,也可以集成地实现在一个硬件组件,如处理器上。例如,可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本发明所描述的各种示例性的逻辑块、模块和电路。
本领域普通技术人员还应当理解,结合本发明的实施例描述的各种示例性的逻辑块、模块、电路和算法步骤可以实现成电子硬件、计算机软件或二者的组合。
本发明的以上描述用于使本领域的任何普通技术人员能够实现或使用本发明。对于本领域普通技术人员来说,本发明的各种修改都是显而易见的,并且本文定义的一般性原理也可以在不脱离本发明的精神和保护范围的情况下应用于其它变形。因此,本发明并不限于本文所述的实例和设计,而是与本文公开的原理和新颖性特性的最广范围相一致。

Claims (11)

1.一种为客户机选择宿主机的方法,包括:
对于多个候选宿主机中的每个候选宿主机,分别基于所述候选宿主机的多个资源的剩余资源量确定所述候选宿主机的剩余资源因子;
基于所述候选宿主机的上架时长确定所述候选宿主机的时间衰减因子;
基于所述客户机的业务类型和所述候选宿主机的已有业务类型确定所述候选宿主机的业务相关因子;
基于所述候选宿主机的多个业务运行参数确定所述候选宿主机的消耗资源因子;
基于所述候选宿主机的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子确定所述候选宿主机的优先值;以及
基于所述多个候选宿主机的优先值从所述多个候选宿主机中为所述客户机选择所述宿主机。
2.如权利要求1所述的方法,其中所述多个资源包括处理器、内存和磁盘,并且其中确定所述候选宿主机的剩余资源因子包括:
基于所述候选宿主机的处理器的剩余量和总量确定所述候选宿主机的处理器阻值;
基于所述候选宿主机的内存的剩余量和总量确定所述候选宿主机的内存阻值;
基于所述候选宿主机的磁盘的剩余量和总量确定所述候选宿主机的磁盘阻值;以及
基于所述候选宿主机的处理器阻值、内存阻值和磁盘阻值,利用电阻并联原理确定所述候选宿主机的剩余资源因子。
3.如权利要求1所述的方法,其中确定所述候选宿主机的时间衰减因子包括:
确定所述候选宿主机的上架时长;以及
基于所述候选宿主机的上架时长和自然衰减函数确定所述候选宿主机的时间衰减因子。
4.如权利要求1所述的方法,其中确定所述候选宿主机的业务相关因子包括:
基于所述客户机的业务类型确定所述客户机的业务标签集合;
基于所述候选宿主机的已有业务类型确定所述候选宿主机的业务标签集合;以及
基于所述客户机的业务标签集合和所述候选宿主机的业务标签集合确定所述候选宿主机与所述客户机的业务相关因子。
5.如权利要求1所述的方法,其中所述多个业务运行参数包括系统负载值、内存使用量和每秒输入输出读写请求数量,并且其中确定所述候选宿主机的消耗资源因子包括:
获取所述候选宿主机过去一个时间段的每单位时间的系统负载值、内存使用量和每秒输入输出读写请求数量;
确定所述候选宿主机在所述时间段的平均系统负载值、平均内存使用量和平均每秒输入输出读写请求数量;以及
基于所述候选宿主机在所述时间段的平均系统负载值、平均内存使用量和平均每秒输入输出读写请求数量以及每个系统负载值、内存使用量和每秒输入输出读写请求数量,确定所述候选宿主机的消耗资源因子。
6.如权利要求1所述的方法,其中确定所述候选宿主机的优先值包括:
基于所述候选宿主机的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子、相应的权重系数和初始标准值确定所述候选宿主机的优先值。
7.如权利要求1所述的方法,其中确定所述候选宿主机的优先值包括:
基于所述候选宿主机的剩余资源因子、时间衰减因子、业务相关因子和消耗资源因子和相应的权重系数确定所述候选宿主机的优先值。
8.如权利要求6或7所述的方法,其中所述相应的权重系数是预先确定的经验值。
9.如权利要求6或7所述的方法,还包括:
基于所述多个候选宿主机的历史优先值和每个候选宿主机的历史剩余资源量、历史上架时长、历史业务类型和历史业务运行参数,利用线性回归模型确定所述相应的权重系数。
10.一种计算设备,包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的指令,所述指令当由所述至少一个处理器执行时,使得所述计算设备执行根据权利要求1至9中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行如权利要求1至9中任一项所述的方法。
CN202210946641.0A 2022-08-09 2022-08-09 为客户机选择宿主机的方法、计算设备和计算机介质 Pending CN115016949A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210946641.0A CN115016949A (zh) 2022-08-09 2022-08-09 为客户机选择宿主机的方法、计算设备和计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210946641.0A CN115016949A (zh) 2022-08-09 2022-08-09 为客户机选择宿主机的方法、计算设备和计算机介质

Publications (1)

Publication Number Publication Date
CN115016949A true CN115016949A (zh) 2022-09-06

Family

ID=83065514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210946641.0A Pending CN115016949A (zh) 2022-08-09 2022-08-09 为客户机选择宿主机的方法、计算设备和计算机介质

Country Status (1)

Country Link
CN (1) CN115016949A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095599A (zh) * 2013-01-18 2013-05-08 浪潮电子信息产业股份有限公司 一种云计算操作系统中动态反馈加权综合负载调度方法
CN106033373A (zh) * 2015-03-11 2016-10-19 苏宁云商集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
CN107038064A (zh) * 2017-04-18 2017-08-11 腾讯科技(深圳)有限公司 虚拟机管理方法及装置、存储介质
WO2019196692A1 (zh) * 2018-04-09 2019-10-17 阿里巴巴集团控股有限公司 虚拟机的调度方法和装置
CN110362398A (zh) * 2018-04-09 2019-10-22 阿里巴巴集团控股有限公司 虚拟机的调度方法和系统
CN111190691A (zh) * 2019-12-25 2020-05-22 中国建设银行股份有限公司 适用于虚拟机的自动迁移方法、系统、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095599A (zh) * 2013-01-18 2013-05-08 浪潮电子信息产业股份有限公司 一种云计算操作系统中动态反馈加权综合负载调度方法
CN106033373A (zh) * 2015-03-11 2016-10-19 苏宁云商集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
CN107038064A (zh) * 2017-04-18 2017-08-11 腾讯科技(深圳)有限公司 虚拟机管理方法及装置、存储介质
WO2019196692A1 (zh) * 2018-04-09 2019-10-17 阿里巴巴集团控股有限公司 虚拟机的调度方法和装置
CN110362398A (zh) * 2018-04-09 2019-10-22 阿里巴巴集团控股有限公司 虚拟机的调度方法和系统
CN111190691A (zh) * 2019-12-25 2020-05-22 中国建设银行股份有限公司 适用于虚拟机的自动迁移方法、系统、装置及存储介质

Similar Documents

Publication Publication Date Title
CN105205014B (zh) 一种数据存储方法和装置
JP6878512B2 (ja) 仮想コンピュータリソースのスケジューリングのためのローリングリソースクレジット
US8959249B1 (en) Cooperative cloud I/O scheduler
US6779119B1 (en) Actual and perceived response time, user interface, and security via usage patterns
US9971508B2 (en) Invoking input/output (I/O) threads on processors to demote tracks from a cache
US7716193B2 (en) Ensuring timely servicing of desired transactions in a database server
CN103885820B (zh) 信息处理装置和信息处理方法
CN103703450A (zh) Ssd存储访问的方法和装置
JP5121936B2 (ja) リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
US20020065833A1 (en) System and method for evaluating changes in performance arising from reallocation of files among disk storage units
US6944715B2 (en) Value based caching
CN104519119A (zh) 虚拟化的云环境中异构迁移会话的反应性节流
CN107506145B (zh) 一种物理存储调度方法及云主机创建方法
JP5324914B2 (ja) ストレージリソースを割り振る方法および装置
CN106888381A (zh) 一种数据资源存储方法及装置
CN111461776A (zh) 资源发放的方法、装置、设备及存储介质
JP2020194523A (ja) アクセス請求を処理する方法、装置、デバイスならびに記憶媒体
CN103631537A (zh) 一种虚拟磁盘的管理方法及装置
CN109697019B (zh) 基于fat文件系统的数据写入的方法和系统
US20120047264A1 (en) System and method to dynamically allocate electronic mailboxes
CN113495779A (zh) 一种任务调度方法和装置、任务执行系统
CN116089477B (zh) 分布式训练方法及系统
US10140158B2 (en) Methods and modules relating to allocation of host machines
CN115016949A (zh) 为客户机选择宿主机的方法、计算设备和计算机介质
CN106537321B (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