CN110928679B - 一种资源分配方法及装置 - Google Patents
一种资源分配方法及装置 Download PDFInfo
- Publication number
- CN110928679B CN110928679B CN201910984367.4A CN201910984367A CN110928679B CN 110928679 B CN110928679 B CN 110928679B CN 201910984367 A CN201910984367 A CN 201910984367A CN 110928679 B CN110928679 B CN 110928679B
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- allocated
- target
- host node
- 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种资源分配方法及装置,在获取待分配任务以及待分配任务的资源配置需求后,可以确定待分配任务对目标资源具有依赖性,根据待分配任务依赖的目标资源从资源库中确定目标主机节点,目标主机节点满足资源配置需求,且目标主机节点中的目标资源处于正常状态,除目标资源之外的其他资源中有至少一项处于异常状态,也就是说,目标主机节点是存在功能故障的主机节点,而待分配任务所依赖的目标资源是正常的,因此功能故障不影响待分配任务的执行,此时可以为待分配任务分配目标主机节点,这样可以提高资源分配的准确性,从而提高云服务的可靠性,即使在资源不足的情况下,也可以为待分配任务分配资源,提高资源的利用率。
Description
技术领域
本申请涉及云计算领域,尤其是涉及一种资源分配方法及装置。
背景技术
云平台可以为用户提供云服务,为用户业务应用部署带来便利。由于云服务需要硬件和软件资源支撑,例如计算资源、存储资源、网络资源、中间件以及预装软件等,用户可以在创建云服务之前规划云服务所需要的资源,云计算运营管理平台据此调度云平台的基础设施,进而创建云服务。具体的,云平台可以包括物理服务器、存储设备以及网络设备等基础设施,用于提供云服务需要的硬件和软件资源。
然而,云平台上的基础设施可能存在一些异常,若云服务被调度到异常的设备上,则云平台提供的云服务也是异常的,影响用户体验。因此,如何一次性创建可用可靠的云服务对云计算运营管理平台而言是一种考验。
发明内容
为了解决上述问题,本申请实施例提供了一种资源分配方法,根据云服务依赖的资源进行资源分配,提高资源分配准确性,提高云服务的可靠性,提高用户体验。
第一方面,本申请实施例提供了一种资源分配方法,所述方法包括:
获取待分配任务以及所述待分配任务的资源配置需求;
确定所述待分配任务对目标资源具有依赖性;
从资源库中确定目标主机节点,所述目标主机节点满足所述资源配置需求,且所述目标主机节点中的目标资源处于正常状态,所述目标主机节点中除所述目标资源之外的其他资源中的至少一项处于异常状态;
为所述待分配任务分配所述目标主机节点。
本申请实施例中,在获取待分配任务以及待分配任务的资源配置需求后,可以确定待分配任务对目标资源具有依赖性,根据待分配任务依赖的目标资源从资源库中确定目标主机节点,目标主机节点满足资源配置需求,且目标主机节点中的目标资源处于正常状态,除目标资源之外的其他资源中有至少一项处于异常状态,也就是说,目标主机节点虽然是满足资源配置需求的主机节点,但也是存在功能故障的主机节点,而待分配任务所依赖的目标资源是正常的,因此即使存在功能故障,这种功能故障也不影响待分配任务的执行,此时可以为待分配任务分配目标主机节点,这样可以提高资源分配的准确性,从而提高云服务的可靠性,即使在资源不足的情况下,也可以为待分配任务分配资源,提高资源的利用率。
在一些可能的实施方式中,所述获取待分配任务以及所述待分配任务的资源配置需求,包括:
根据待分配任务对应的应用确定初始任务;
对所述待分配任务对应的模板文件进行解析,得到所述初始任务的资源配置需求;
对所述初始任务进行拆分,得到多个待分配任务;
基于所述初始任务的资源配置需求,确定多个所述待分配任务的资源配置需求。
本申请实施例中,可以根据模板文件得到初始任务的资源配置需求,通过对初始任务进行拆分得到待分配任务,进而得到待分配任务的资源配置需求,这样可以较为准确的确定待分配任务的资源配置需求,从而提高资源分配的准确性。
在一些可能的实施方式中,所述确定所述待分配任务对目标资源具有依赖性,包括:
根据所述多个待分配任务的资源配置需求,以及所述多个待分配任务之间的联系,确定各个所述待分配任务依赖的目标资源;或,
根据任务与资源的对应关系,确定所述待分配任务依赖的目标资源。
本申请实施例中,可以根据待分配任务的资源配置需求以及待分配任务之间的联系,确定待分配任务依赖的目标资源,也可以根据任务与资源的对应关系确定待分配任务依赖的目标资源,这样可以准确确定待分配任务对资源的依赖信息,提高资源分配的准确性。
在一些可能的实施方式中,所述目标资源包括计算资源、存储资源、网络资源、中间件、预装软件中的至少一种。
在一些可能的实施方式中,在所述从资源库中确定目标主机节点之前,所述方法还包括:
基于预设的亚健康状态类型,以及所述资源库中的主机节点的资源状态信息,确定处于功能亚健康状态的主机节点;所述处于功能亚健康状态的主机节点中包括至少一项处于异常状态的资源;
所述从资源库中确定目标主机节点,包括:
从所述处于功能亚健康状态的主机节点中确定目标主机节点。
本申请实施例中,可以预先确定处于功能亚健康状态的主机节点,从这些主机节点中确定出目标主机节点,这样可以在不影响云服务的前提下,提高资源利用率。
在一些可能的实施方式中,所述从所述处于功能亚健康状态的主机节点中确定目标主机节点,包括:
若处于正常状态的主机节点中不存在满足资源配置需求的主机节点,则从所述处于功能亚健康状态的主机节点中确定目标主机节点。
本申请实施例中,可以在处于正常状态的主机节点中不存在满足资源配置需求的主机节点的情况下,再从处于亚健康状态的主机节点中确定目标主机节点,这样在处于正常状态的主机节点满足资源配置需求时,为待分配任务分配的主机的功能均是正常的,不需要基于待分配任务的依赖信息进行目标主机节点的确认,简化资源分配流程。
第二方面,本申请实施例还提供了一种资源分配装置,所述装置包括:
配置需求信息获取单元,用于获取待分配任务以及所述待分配任务的资源配置需求;
依赖信息获取单元,用于确定所述待分配任务对目标资源具有依赖性;
主机确定单元,用于从资源库中确定目标主机节点,所述目标主机节点满足所述资源配置需求,且所述目标主机节点中的目标资源处于正常状态,所述目标主机节点中除所述目标资源之外的其他资源中的至少一项处于异常状态;
主机分配单元,用于为所述待分配任务分配所述目标主机节点。
在一些可能的实施方式中,所述配置需求信息获取单元,包括:
根据待分配任务对应的应用确定初始任务;
对所述待分配任务对应的模板文件进行解析,得到所述初始任务的资源配置需求;
对所述初始任务进行拆分,得到多个待分配任务;
基于所述初始任务的资源配置需求,确定多个所述待分配任务的资源配置需求。
在一些可能的实施方式中,所述依赖信息获取单元,包括:
第一确定单元,用于根据所述多个待分配任务的资源配置需求,以及所述多个待分配任务之间的联系,确定各个所述待分配任务依赖的目标资源;或,
第二确定单元,用于根据任务与资源的对应关系,确定所述待分配任务依赖的目标资源。
在一些可能的实施方式中,所述目标资源包括计算资源、存储资源、网络资源、中间件、预装软件中的至少一种。
在一些可能的实施方式中,所述装置还包括:
亚健康主机确定单元,用于在所述从资源库中确定目标主机节点之前,基于预设的亚健康状态类型,以及所述资源库中的主机节点的资源状态信息,确定处于功能亚健康状态的主机节点;所述处于功能亚健康状态的主机节点中包括至少一项处于异常状态的资源;
所述主机确定单元,包括:
主机确定子单元,用于从所述处于功能亚健康状态的主机节点中确定目标主机节点。
在一些可能的实施方式中,所述主机确定子单元具体用于:
若处于正常状态的主机节点中不存在满足资源配置需求的主机节点,则从所述处于功能亚健康状态的主机节点中确定目标主机节点。
第三方面,本申请实施例还提供了一种资源分配设备,所述设备包括:处理器和存储器;
所述存储器,用于存储指令;
所述处理器,用于执行所述存储器中的所述指令,执行所述的资源分配方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的资源分配方法。
第五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行所述的资源分配方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种资源分配方法及装置,在获取待分配任务以及待分配任务的资源配置需求后,可以确定待分配任务对目标资源具有依赖性,根据待分配任务依赖的目标资源从资源库中确定目标主机节点,目标主机节点满足资源配置需求,且目标主机节点中的目标资源处于正常状态,除目标资源之外的其他资源中有至少一项处于异常状态,也就是说,目标主机节点虽然是满足资源配置需求的主机节点,但也是存在功能故障的主机节点,而待分配任务所依赖的目标资源是正常的,因此即使存在功能故障,这种功能故障也不影响待分配任务的执行,此时可以为待分配任务分配目标主机节点,这样可以提高资源分配的准确性,从而提高云服务的可靠性,即使在资源不足的情况下,也可以为待分配任务分配资源,提高资源的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种资源分配方法的硬件场景的结构示意图;
图2为本申请实施例提供的一种资源分配方法的流程示意图;
图3为本申请实施例提供的一种资源分配方法在具体场景中的流程示意图;
图4为本申请实施例提供的一种资源分配装置的结构示意图;
图5为本申请实施例提供的一种资源分配设备的结构示意图。
具体实施方式
本申请实施例提供了一种资源分配方法及装置,根据任务依赖的资源进行资源分配,提高资源分配准确性,提高云服务的可靠性,提高用户体验。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前,云计算运营管理平台可以为应用分配资源,从而提供应用的运行环境,为用户提供云服务。具体的,用户可以在云平台上创建应用,提供模板(template)文件,云计算运营管理平台解析模板文件,确定该应用对资源配置的需求情况,例如需要的中央处理器(central processing unit,CPU)个数、内存大小、磁盘大小、带宽、网络类型端口(port)、主机组、亲和性、非统一内存访问(non uniform memory access architecture,numa)设置等,云计算运营管理平台根据这些资源配置需求去筛选满足资源配置需求的主机节点,主机节点中可以包括符合资源配置需求的硬件和软件资源,在确定出满足资源配置需求的主机节点后,可以自动转为相关的应用程序编程接口(application programminginterface,API)调用,从而为上述应用提供运行环境。
然而,由于云平台的基础设施可能存在一些异常,若云服务被调度到异常的设备上,会导致应用运行出现异常,则云平台提供的云服务也是异常的,影响用户体验。例如云平台在建设一定时间后,部分设备和器件出现老化,导致存储设备或端口出现故障等,这样云平台提供的云服务也受到影响。因此,在为云服务分配资源时,需要排除有异常的主机节点,这样分配给云服务的资源均可正常工作,不会出现资源异常导致云服务异常的问题。
但是,目前没有对云平台中的主机节点中的资源进行评估,未被排除的主机节点可能存在一些资源异常,因此依然存在创建云服务失败的几率,而且在资源有限的情况下,排除有异常的主机节点,会导致一些满足资源配置需求且没有实质性异常的主机节点不能投入使用,资源分配没有针对性,资源利用率较低。
基于此,本申请实施例提供了一种资源分配方法及装置,在获取待分配任务以及待分配任务的资源配置需求后,可以确定待分配任务对目标资源具有依赖性,根据待分配任务依赖的目标资源从资源库中确定目标主机节点,目标主机节点满足资源配置需求,且目标主机节点中的目标资源处于正常状态,除目标资源之外的其他资源中有至少一项处于异常状态,也就是说,目标主机节点虽然是满足资源配置需求的主机节点,但也是存在功能故障的主机节点,而待分配任务所依赖的目标资源是正常的,因此即使存在功能故障,这种功能故障也不影响待分配任务的执行,此时可以为待分配任务分配目标主机节点,这样可以提高资源分配的准确性,从而提高云服务的可靠性,即使在资源不足的情况下,也可以为待分配任务分配资源,提高资源的利用率。
参考图1所示,为本申请实施例提供的一种资源分配方法的硬件场景,该场景包括客户端100和云平台200,客户端100和云平台200可以通过网络连接,云平台200中包括处理器202、存储器201和主机节点203。其中处理器202中包括云计算运营管理平台,用于资源分配以及创建云服务,云计算运营管理平台可以是程序代码,在其被执行时体现云计算运营管理平台的功能,也可以是独立的功能模块,由处理器控制其运行;存储器201中存储有数据库(database,DB),数据库中可以存储有应用数据、资源状态信息、任务对应的资源依赖信息等。
在用户可以通过客户端100创建应用后,云计算运营管理平台可以为用户创建的应用提供硬件资源和软件资源支撑,以提供应用的运行环境,其中硬件资源和软件资源可以由主机节点203提供,例如主机节点203可以提供虚拟机、卷、互联网协议地址(Internetprotocol,IP)、子网、负载均衡(load balance,LB)、伸缩等资源。
具体的,用户在创建应用时可以生成该应用对应的模板文件,用于规划该应用需要的资源,云计算运营管理平台可以对模板文件进行解析,得到用户创建的应用的运行需求,即对应的云服务的资源配置需求,例如需要的CPU个数、内存大小、磁盘大小、带宽、网络类型port、主机组、亲和性、numa设置等,云计算运营管理平台还可以从数据库203中查找各个主机节点的资源状态和配置信息,以及云服务的资源依赖信息,从而确定出满足应用运行需求的目标主机节点,生成相应的API调用,从而为用户提供云服务。
具体操作时,主机节点203中的资源的状态信息可以包括主机节点203中的各个资源的状态信息,其中,主机节点203中的部分资源可以处于异常状态,此时,满足运行需求的目标主机节点可以根据如下方式确定:云计算运营管理平台基于创建的应用确定待分配任务,并确定待分配任务的配置需求信息以及资源依赖信息,待分配任务可以依赖目标资源,例如依赖计算资源,则云计算运营管理平台可以从多个主机节点203中确定出满足资源配置需求,且目标资源正常的目标主机节点,为待分配任务分配目标主机节点,例如可以为依赖计算资源的待分配任务确定出计算资源正常的目标主机节点,至于目标主机节点中除目标资源之外的其他资源是否异常,均不影响云服务的提供,例如确定出的目标主机节点的存储资源和接口是否异常,不影响待分配任务的执行。这样,可以提高资源分配的准确性,从而提高云服务的可靠性,即使在资源不足的情况下,也可以为待分配任务分配资源,提高资源的利用率。
可以理解的是,上述场景仅是本发明实施例提供的一个场景示例,本发明实施例并不限于此场景。
下面结合附图,通过实施例来详细说明本申请实施例中资源分配方法和装置的具体实现方式。
参考图2所示,为本申请实施例提供的一种资源分配方法的流程图,该方法可以应用于云平台200中的处理器201,具体的,可以包括以下步骤:
S101,获取待分配任务以及待分配任务的资源配置需求。
在本申请实施例中,用户在云平台创建应用后,云平台可以为该应用提供运行环境,即为用户提供云服务,因此需要为应用分配资源,基于创建的应用对应的云服务,可以确定该应用对应的待分配任务,例如待分配任务可以是执行测试,或者对数据进行处理等。可以理解的是,云平台执行待分配任务的过程即为运行该应用的过程,也是为用户提供云服务的过程。
在创建应用后,可以根据该应用对应的云服务确定一个对应的待分配任务,也可以根据该应用对应的云服务确定一个对应的初始任务,再对初始任务进行拆分得到多个待分配任务。其中,拆分得到的多个待分配任务可以是多个独立的任务,也可以是相互之间有数据传输的任务,即对云服务进行拆分得到多个子服务,拆分得到的子服务与拆分得到的待分配任务对应,执行待分配任务的过程即为提供子服务的过程。
待分配任务的执行需要资源支撑,因此待分配任务有资源配置需求,这里的资源可以包括计算资源、存储资源、网络资源、中间件以及预装软件等。举例来说,需要进行数据处理的待分配任务需要进行数据读取和数据处理,对计算资源和数据处理资源具有资源配置需求,例如对CPU个数、内存大小、磁盘大小具有配置需求;需要进行数据传输的待分配任务需要进行数据读取和数据传输,对计算资源和网络资源具有资源配置需求,例如对CPU个数、内存大小、带宽、网络类型port具有配置需求;数据库服务需要数据读写,因此对存储资源和端口具有配置需求;网络(WEB)服务需要外部交互,因此对网络资源具有配置需求。
具体实施时,用户在创建应用后,云平台获取到相应的模板文件,模板文件中可以包括该应用的运行所需要的资源信息,例如可以包括资源名称(resource_name)、资源类型(type)、资源描述(description)、资源特性(properties)、元数据(metadata)、依赖关系(depends_on)、更新策略(update_policy)等。云计算运营管理平台可以对模板文件进行解析,得到待分配任务的资源配置需求。若待分配任务通过对初始任务拆分得到,则对模板文件进行解析可以得到初始任务的资源配置需求,基于初始任务的资源配置需求,可以确定多个待分配任务的资源配置需求。
S102,确定待分配任务对目标资源具有依赖性。
待分配任务可以对资源具有依赖性,这里的资源可以包括计算资源、存储资源、网络资源、中间件以及预装软件等,将待分配任务依赖的资源记为目标资源,目标资源可以是以上资源的至少一种。举例来说,需要进行数据处理的待分配任务对存储资源和计算资源具有依赖性,此时目标资源为存储资源和计算资源;需要进行数据传输的待分配任务对存储资源和网络资源具有依赖性,此时目标资源为存储资源和网络资源;数据库服务对存储资源和端口具有依赖性,此时目标资源为存储资源和端口;WEB服务对网络资源具有依赖性,此时目标资源为网络资源。
待分配任务的资源依赖信息,可以根据待分配任务的资源配置需求确定,例如待分配任务对目标资源具有资源配置需求,则可以认为待分配任务对目标资源具有依赖性;待分配任务的资源依赖信息也可以基于任务与资源的对应关系确定,例如可以建立任务和资源依赖信息之间的对应关系,存储到数据库中,在需要时从数据库中查找。
待分配任务的资源依赖信息,还与待分配任务之间的联系相关,若待分配任务为对初始任务进行拆分得到的,则每个待分配任务的资源依赖信息还需要依据各个待分配任务之间的联系确定,例如不同的待分配任务之间有数据传输的需求,则这两个待分配任务均有对接口或网络资源的依赖性。
S103,从资源库中确定目标主机节点。
在本申请实施中,资源库可以是云平台上的资源的集合,资源可以包括计算资源、存储资源、网络资源、中间件、预装软件等,体现为虚拟机、卷、IP、子网、LB、伸缩等。
为了便于对以上资源进行整合,具体实施时,可以通过主机节点的形式体现以上资源,每个主机节点中可以包括计算资源、存储资源、网络资源、中间件、预装软件等资源的至少一种,这些资源的大小以及特性根据实际情况而定。主机节点中的各个资源可以对应主机节点的各个功能,各个资源的配置信息以及状态信息可以对应主机节点的功能状态。
因此可以预先存储主机节点的配置信息,在需要时进行查找,也可以预先对主机节点中的资源进行检测,确定主机节点中的资源状态信息,具体的,可以确定主机节点中软件、硬件以及链路的状态,从而确定主机节点可实现的功能状态。
具体来说,主机节点中的资源的状态可以分为两种:正常状态和异常状态,处于正常状态的资源可以正常工作,主机节点中该资源对应的功能也处于可用状态,处于异常状态的资源不能正常工作,主机节点中该资源对应的功能处于不可用状态。
主机节点的功能状态可以分为三种:功能正常状态、功能异常状态和功能亚健康状态。其中处于功能正常状态的主机节点的各个功能均处于可用状态,处于功能异常状态和功能亚健康状态的主机节点丧失部分功能,即其中的部分资源处于异常状态,二者的区别在于:处于功能异常状态的主机节点丧失了基本能力,导致主机节点不可用,例如核心功能丧失,而处于功能亚健康状态的主机节点丧失了部分功能,另一部分功能处于可用状态,例如其中的网络资源处于异常状态,而其他资源处于正常状态,因此该主机节点丧失了网络通信功能,但是其他功能仍然处于可用状态。对于功能异常状态和功能亚健康状态的主机节点,可以及时进行信息上报,以通过维护人员进行更换或修复。
需要说明的是,若一个主机节点中的部分资源处于异常状态,判断该主机节点处于功能异常状态还是功能亚健康状态的标准,可以根据实际情况而定。举例来说,可以将开机异常的主机节点作为处于功能异常状态的主机节点,其他有功能异常的主机节点作为处于功能亚健康状态的主机节点;也可以按照功能的重要程度,将主机节点中的资源分为核心资源和边缘资源,在核心资源异常时,该主机节点处于功能异常状态,在核心资源正常而边缘资源异常时,该主机节点处于功能亚健康状态;还可以预先确定功能异常类型,属于功能亚健康类型的主机节点处于功能亚健康状态,不属于功能亚健康类型且功能存在异常的主机节点处于功能异常状态。
其中,预先确定的功能亚健康类型可以是常见的故障类型,例如物理主机存储或业务网口异常(包含bonding口或单网口),或交换机连接主机存储或业务网口异常等,云平台管理员可以根据云计算实际环境扩展增加功能亚健康类型,从而可以根据功能亚健康类型确定出处于功能亚健康状态的主机节点。当然,功能亚健康类型可以存储在数据库中。
在确定主机节点的功能状态后,可以分别对处于功能正常状态、功能异常状态和功能亚健康状态的主机节点的信息进行存储,例如可以通过正常设备清单列表存储处于功能正常状态的主机节点的信息,通过异常设备清单列表存储处于功能异常状态的主机节点的信息,通过故障域设备清单列表存储处于功能亚健康状态的主机节点的信息。对于处于功能亚健康状态的主机节点,还可以存储其处于异常状态的资源以及异常资源所影响的主机节点的功能,参考表1所示,为处于异常状态的资源及其影响的功能的一种示例性说明。
表1处于异常状态的资源及其影响的功能
处于异常状态的资源 | 影响功能 |
主机(存储平面)网口状态异常 | 云服务数据读写 |
主机(业务平面)网口状态异常 | 云服务和外部交互 |
主机物理网络(存储平面)端口的丢/错包率超过阈值 | 云服务数据读写 |
主机物理网络(业务平面)端口的丢/错包率超过阈值 | 云服务和外部交互 |
主机存储链路中断/异常 | 云服务数据读写 |
主机与交换机业务网络链路中断/异常 | 云服务和外部交互 |
虚拟网络端口丢包/错包率超过阈值 | 云服务和外部交互 |
在确定主机节点的功能状态后,可以根据主机节点的功能状态、配置信息,以及待分配任务的资源配置需求和所依赖的目标资源,从资源库中确定目标主机节点。
一方面,在不考虑目标主机节点中的资源状态信息的前提下,目标主机节点的配置信息需要满足待分配任务的资源配置需求,这样目标主机节点才具有执行待分配任务的能力。例如待分配任务的资源配置需求可以包括CPU个数、内存大小、磁盘大小、带宽、网络类型port、主机组、亲和性、numa设置等,目标主机节点的配置需要满足待分配任务资源配置需求。
另一方面,目标主机节点中的资源状态信息需要满足待分配任务的资源依赖条件,其中,由于待分配任务对目标资源具有依赖性,则目标主机节点中的目标资源处于正常状态,这样才能保证目标主机节点能够满足待分配任务的资源依赖条件。
通常来说,可以从处于功能正常状态的主机节点中选择满足待分配任务的资源配置需求的目标主机节点,这样目标主机节点的各个资源均处于正常状态,目标主机节点的各个功能也均处于可用状态,保障云服务的正常提供。
当然,也可以从处于功能亚健康状态的主机节点中选择满足待分配任务的资源配置需求的目标主机节点。由于待分配任务依赖目标资源,则目标主机节点中的目标资源要处于正常状态,才能满足待分配任务的运行需求,而目标主机节点处于功能亚健康状态,也就是说,目标主机节点中除目标资源之外的其他资源中的至少一项处于异常状态。换句话说,目标主机节点是处于功能亚健康状态的主机节点,其中部分功能缺失,然而只要保证待分配任务依赖的目标资源处于正常状态,即目标资源对应的功能是可用的,缺失的功能不会影响待分配任务的运行,因此目标主机节点可以满足待分配任务的运行需求。举例来说,若待分配任务依赖计算资源,而对网络资源不具有依赖性,例如单机测试的待分配任务不需要与其他任务进行通信,则目标主机节点的计算资源需要处于正常状态,而网络资源可以处于异常状态。
以上,可以在处于功能正常状态的主机节点不能满足待分配任务的资源配置需求时,再从处于功能亚健康状态的主机节点中选择满足待分配任务的资源配置需求的目标主机节点;也可以直接从处于功能亚健康状态的主机节点中选择满足待分配任务的资源配置需求的目标主机节点,而不判断处于功能正常状态的主机节点是否能够满足待分配任务的资源配置需求。
在本申请实施例中,在对模板文件进行解析后,还可以根据模板文件确定资源的区域范围,从而在确定出的资源的区域范围中确定主机节点列表,并确定其中是否存在满足待分配任务的资源配置需求的主机节点,若不满足,可以生成云服务创建失败的结果,并向用户反馈该结果,若满足,可以执行以上从处于功能亚健康状态的主机节点中选择满足待分配任务的资源配置需求的目标主机节点的步骤。
S104,为待分配任务分配目标主机节点。
由于目标主机节点是处于功能亚健康状态的主机节点,其中部分功能缺失,然而待分配任务依赖的目标资源处于正常状态,即目标资源对应的功能是可用的,缺失的功能不影响待分配任务的运行,因此目标主机节点可以满足待分配任务的运行需求。这样,可以为待分配任务分配目标主机节点,利用目标主机节点执行待分配任务,从而提供待分配任务对应的云服务,支撑待分配任务对应的应用,这样可以提升新建云服务的可靠性,增强用户体验,同时提高云平台资源利用率。
具体的,可以根据目标主机节点为待分配任务对应的应用生成相关的API调用,以使目标主机节点支撑待分配任务对应的应用,创建待分配任务对应的云服务,将该云服务调度到目标主机节点上。
本申请实施例提供了一种资源分配方法,在获取待分配任务以及待分配任务的资源配置需求后,可以确定待分配任务对目标资源具有依赖性,根据待分配任务依赖的目标资源从资源库中确定目标主机节点,目标主机节点满足资源配置需求,且目标主机节点中的目标资源处于正常状态,除目标资源之外的其他资源中有至少一项处于异常状态,也就是说,目标主机节点虽然是满足资源配置需求的主机节点,但也是存在功能故障的主机节点,而待分配任务所依赖的目标资源是正常的,因此即使存在功能故障,这种功能故障也不影响待分配任务的执行,此时可以为待分配任务分配目标主机节点,这样可以提高资源分配的准确性,从而提高云服务的可靠性,即使在资源不足的情况下,也可以为待分配任务分配资源,提高资源的利用率。
为了便于理解,下面结合具体场景对以上实施例提供的资源分配方法进行说明。
参考图3所示,为本申请实施例提供的一种资源分配方法在具体场景中的流程示意图,其中,云平台中的云计算运营管理平台,可以包括云平台监控模块、故障诊断模块、任务解析模块、资源评估模块、任务调度模块、云服务创建模块。本申请实施例提供的资源分配方法可以具体为:
1)云平台监控模块可以对主机节点中的资源进行检测,得到主机节点中的资源状态信息,向故障诊断模块发送资源状态信息;
2)故障诊断模块可以基于主机节点中的资源状态信息以及预设的功能亚健康类型,确定处于功能亚健康状态的主机节点的列表,构成故障域设备清单列表,并存储至数据库;
3)任务解析模块可以对模板文件进行解析,得到待分配任务以及待分配任务依赖的资源配置需求;
4)资源评估模块可以判断是否存在主机节点的配置满足待分配任务的资源配置需求,若是,向任务调度模块发送调度请求;
5)任务调度模块接收到调度请求,获取待分配任务、待分配任务的资源配置需求以及待分配任务依赖的目标资源,并从数据库中查找故障域设备清单列表,从处于功能亚健康状态的主机节点中确定满足待分配任务的资源配置需求、且目标资源处于正常状态的目标主机节点,为待分配任务分配目标主机节点,并将待分配任务对应的云服务调度到目标主机节点上;
6)云服务创建模块基于目标主机节点创建云服务。
为更好的实施本申请实施例的上述方案,下面提供用于实施上述方案的相关装置。
请参考图4所示,本申请实施例提供的一种资源分配装置400,应用于云平台中的云计算运营管理平台,具体对应于上述提供的资源分配方法的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元,单元可以是软件和/或硬件。该资源分配装置可以包括:
配置需求信息获取单元110,用于获取待分配任务以及所述待分配任务的资源配置需求;
依赖信息获取单元120,用于确定所述待分配任务对目标资源具有依赖性;
主机确定单元130,用于从资源库中确定目标主机节点,所述目标主机节点满足所述资源配置需求,且所述目标主机节点中的目标资源处于正常状态,所述目标主机节点中除所述目标资源之外的其他资源中的至少一项处于异常状态;
主机分配单元140,用于为所述待分配任务分配所述目标主机节点。
在一些可能的实施方式中,所述配置需求信息获取单元,包括:
根据待分配任务对应的应用确定初始任务;
对所述待分配任务对应的模板文件进行解析,得到所述初始任务的资源配置需求;
对所述初始任务进行拆分,得到多个待分配任务;
基于所述初始任务的资源配置需求,确定多个所述待分配任务的资源配置需求。
在一些可能的实施方式中,所述依赖信息获取单元,包括:
第一确定单元,用于根据所述多个待分配任务的资源配置需求,以及所述多个待分配任务之间的联系,确定各个所述待分配任务依赖的目标资源;或,
第二确定单元,用于根据任务与资源的对应关系,确定所述待分配任务依赖的目标资源。
在一些可能的实施方式中,所述目标资源包括计算资源、存储资源、网络资源、中间件、预装软件中的至少一种。
在一些可能的实施方式中,所述装置还包括:
亚健康主机确定单元,用于在所述从资源库中确定目标主机节点之前,基于预设的亚健康状态类型,以及所述资源库中的主机节点的资源状态信息,确定处于功能亚健康状态的主机节点;所述处于功能亚健康状态的主机节点中包括至少一项处于异常状态的资源;
所述主机确定单元,包括:
主机确定子单元,用于从所述处于功能亚健康状态的主机节点中确定目标主机节点。
在一些可能的实施方式中,所述主机确定子单元具体用于:
若处于正常状态的主机节点中不存在满足资源配置需求的主机节点,则从所述处于功能亚健康状态的主机节点中确定目标主机节点。
本申请实施例提供了一种资源分配装置,在获取待分配任务以及待分配任务的资源配置需求后,可以确定待分配任务对目标资源具有依赖性,根据待分配任务依赖的目标资源从资源库中确定目标主机节点,目标主机节点满足资源配置需求,且目标主机节点中的目标资源处于正常状态,除目标资源之外的其他资源中有至少一项处于异常状态,也就是说,目标主机节点虽然是满足资源配置需求的主机节点,但也是存在功能故障的主机节点,而待分配任务所依赖的目标资源是正常的,因此即使存在功能故障,这种功能故障也不影响待分配任务的执行,此时可以为待分配任务分配目标主机节点,这样可以提高资源分配的准确性,从而提高云服务的可靠性,即使在资源不足的情况下,也可以为待分配任务分配资源,提高资源的利用率。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请实施例方法实施例基于同一构思,其带来的技术效果与本申请实施例方法实施例相同,具体内容可参见本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
接下来介绍本申请实施例中的资源分配设备。请参阅图5所示,资源分配设备500包括:接收器501、发射器502、处理器503和存储器504(其中资源分配设备500中的处理器503的数量可以一个或多个,图5中以一个处理器为例)。在本申请的一些实施例中,接收器501、发射器502、处理器503和存储器504可通过总线或其它方式连接,其中,图5中以通过总线连接为例。
存储器504可以包括只读存储器和随机存取存储器,并向处理器503提供指令和数据。存储器504的一部分还可以包括NVRAM。存储器504存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器503控制终端设备的操作,处理器503还可以称为CPU。具体的应用中,资源分配设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器503中,或者由处理器503实现。处理器503可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器503可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的资源分配方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器504,处理器503读取存储器504中的信息,结合其硬件完成上述资源分配方法的步骤。
接收器501可用于接收输入的数字或字符信息,以及产生与用户面装置的相关设置以及功能控制有关的信号输入,发射器502可包括显示屏等显示设备,发射器502可用于通过外接接口输出数字或字符信息。
本申请实施例中,接收器501和发射器502用于实现数据收发。处理器503,用于通过接收器501和发射器502实现数据收发,完成前述资源分配设备所执行的资源分配过程。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例的一种资源分配方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例的一种资源分配方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种资源分配方法,其特征在于,所述方法包括:
获取待分配任务以及所述待分配任务的资源配置需求;
确定所述待分配任务对目标资源具有依赖性;
基于预设的亚健康状态类型,以及资源库中的主机节点的资源状态信息,确定处于功能亚健康状态的主机节点;所述处于功能亚健康状态的主机节点中包括至少一项处于异常状态的资源;
从所述处于功能亚健康状态的主机节点中确定目标主机节点,所述目标主机节点满足所述资源配置需求,且所述目标主机节点中的目标资源处于正常状态,所述目标主机节点中除所述目标资源之外的其他资源中的至少一项处于异常状态;
为所述待分配任务分配所述目标主机节点。
2.根据权利要求1所述的资源分配方法,其特征在于,所述获取待分配任务以及所述待分配任务的资源配置需求,包括:
根据待分配任务对应的应用确定初始任务;
对所述待分配任务对应的模板文件进行解析,得到所述初始任务的资源配置需求;
对所述初始任务进行拆分,得到多个待分配任务;
基于所述初始任务的资源配置需求,确定所述多个待分配任务的资源配置需求。
3.根据权利要求2所述的资源分配方法,其特征在于,所述确定所述待分配任务对目标资源具有依赖性,包括:
根据所述多个待分配任务的资源配置需求,以及所述多个待分配任务之间的联系,确定所述多个待分配任务依赖的目标资源;或,
根据任务与资源的对应关系,确定所述待分配任务依赖的目标资源。
4.根据权利要求1-3任意一项所述的资源分配方法,其特征在于,所述目标资源包括计算资源、存储资源、网络资源、中间件、预装软件中的至少一种。
5.根据权利要求1所述的资源分配方法,其特征在于,所述从所述处于功能亚健康状态的主机节点中确定目标主机节点,包括:
若处于正常状态的主机节点中不存在满足资源配置需求的主机节点,则从所述处于功能亚健康状态的主机节点中确定目标主机节点。
6.一种资源分配装置,其特征在于,所述装置包括:
配置需求信息获取单元,用于获取待分配任务以及所述待分配任务的资源配置需求;
依赖信息获取单元,用于确定所述待分配任务对目标资源具有依赖性;
亚健康主机确定单元,用于在从资源库中确定目标主机节点之前,基于预设的亚健康状态类型,以及所述资源库中的主机节点的资源状态信息,确定处于功能亚健康状态的主机节点;所述处于功能亚健康状态的主机节点中包括至少一项处于异常状态的资源;
主机确定单元,用于从所述处于功能亚健康状态的主机节点中确定目标主机节点,所述目标主机节点满足所述资源配置需求,且所述目标主机节点中的目标资源处于正常状态,所述目标主机节点中除所述目标资源之外的其他资源中的至少一项处于异常状态;
主机分配单元,用于为所述待分配任务分配所述目标主机节点。
7.根据权利要求6所述的资源分配装置,其特征在于,所述配置需求信息获取单元,包括:
根据待分配任务对应的应用确定初始任务;
对所述待分配任务对应的模板文件进行解析,得到所述初始任务的资源配置需求;
对所述初始任务进行拆分,得到多个待分配任务;
基于所述初始任务的资源配置需求,确定所述多个待分配任务的资源配置需求。
8.根据权利要求7所述的资源分配装置,其特征在于,所述依赖信息获取单元,包括:
第一确定单元,用于根据所述多个待分配任务的资源配置需求,以及所述多个待分配任务之间的联系,确定所述多个待分配任务依赖的目标资源;或,
第二确定单元,用于根据任务与资源的对应关系,确定所述待分配任务依赖的目标资源。
9.根据权利要求6-8任意一项所述的资源分配装置,其特征在于,所述目标资源包括计算资源、存储资源、网络资源、中间件、预装软件中的至少一种。
10.根据权利要求6所述的资源分配装置,其特征在于,所述主机确定单元具体用于:
若处于正常状态的主机节点中不存在满足资源配置需求的主机节点,则从所述处于功能亚健康状态的主机节点中确定目标主机节点。
11.一种资源分配设备,其特征在于,所述设备包括:处理器和存储器;
所述存储器,用于存储指令;
所述处理器,用于执行所述存储器中的所述指令,执行如权利要求1-5中任意一项所述的资源分配方法。
12.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上权利要求1-5任意一项所述的资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984367.4A CN110928679B (zh) | 2019-10-16 | 2019-10-16 | 一种资源分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984367.4A CN110928679B (zh) | 2019-10-16 | 2019-10-16 | 一种资源分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928679A CN110928679A (zh) | 2020-03-27 |
CN110928679B true CN110928679B (zh) | 2023-03-03 |
Family
ID=69849182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910984367.4A Active CN110928679B (zh) | 2019-10-16 | 2019-10-16 | 一种资源分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928679B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114791876A (zh) * | 2021-01-26 | 2022-07-26 | 中国电信股份有限公司 | 测试资源动态管理系统、方法和存储介质 |
CN115550282B (zh) * | 2022-09-08 | 2024-05-17 | 中国联合网络通信集团有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096602A (zh) * | 2009-12-15 | 2011-06-15 | 中国移动通信集团公司 | 一种任务调度方法及其系统和设备 |
CN103365713B (zh) * | 2012-04-01 | 2017-06-20 | 华为技术有限公司 | 一种资源的调度和管理方法及装置 |
CN106020927B (zh) * | 2016-05-05 | 2018-03-16 | 中国人民解放军国防科学技术大学 | 一种云计算系统中任务调度与资源配置的通用方法 |
-
2019
- 2019-10-16 CN CN201910984367.4A patent/CN110928679B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110928679A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8191069B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
CN107534570B (zh) | 用于虚拟化网络功能监控的计算机系统、方法和介质 | |
CN106489251B (zh) | 应用拓扑关系发现的方法、装置和系统 | |
US10462027B2 (en) | Cloud network stability | |
EP2838228B1 (en) | Alarm correlation analysis method, apparatus, and system | |
CN112948063B (zh) | 云平台的创建方法、装置、云平台以及云平台实现系统 | |
US20070250629A1 (en) | Method and a system that enables the calculation of resource requirements for a composite application | |
CN109960575B (zh) | 一种计算能力共享方法、系统及相关设备 | |
EP3442201B1 (en) | Cloud platform construction method and cloud platform | |
CN111190823A (zh) | Ui自动化测试方法、电子装置及计算机可读存储介质 | |
CN110928679B (zh) | 一种资源分配方法及装置 | |
KR20180044579A (ko) | 컨테이너 기반의 분산 애플리케이션 관리 시스템 및 방법 | |
CN109120680B (zh) | 一种控制系统、方法及相关设备 | |
CN109614242B (zh) | 一种计算能力共享方法、装置、设备及介质 | |
CN108737144B (zh) | 资源管理的方法和设备 | |
CN111352710A (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN110247802B (zh) | 针对云服务单机环境的资源配置方法及装置 | |
CN114090541A (zh) | 数据库业务处理方法和装置 | |
CN113703930A (zh) | 任务调度方法、装置及系统、计算机可读存储介质 | |
CN113518974A (zh) | 用于找出并标识网络中的计算节点的系统和方法 | |
JP2015146148A (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び、仮想マシン管理プログラム | |
WO2018173698A1 (ja) | 監視システム、コンピュータ可読記憶媒体および監視方法 | |
CN117472516B (zh) | 虚拟资源调度方法、装置、集群系统、电子设备和介质 | |
US9436523B1 (en) | Holistic non-invasive evaluation of an asynchronous distributed software process | |
CN111741097B (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 |