CN114217917A - 一种主机调度方法、装置、设备及存储介质 - Google Patents
一种主机调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114217917A CN114217917A CN202110745170.2A CN202110745170A CN114217917A CN 114217917 A CN114217917 A CN 114217917A CN 202110745170 A CN202110745170 A CN 202110745170A CN 114217917 A CN114217917 A CN 114217917A
- Authority
- CN
- China
- Prior art keywords
- host
- resource
- hosts
- filtering condition
- scheduling
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000001914 filtration Methods 0.000 claims abstract description 108
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种主机调度方法、装置、设备及存储介质,先获取资源调度请求以及集群中的多个主机的可用资源信息,资源调度请求中可以包括用户所请求资源的资源特征;根据资源调度请求中的资源特征,确定主机过滤条件;根据主机过滤条件以及多个主机的可用资源信息,从多个主机中确定出调度给用户的目标主机,该目标主机上的可用资源能够满足资源调度请求中的资源特征。如此,通过自动生成相应的主机过滤条件,可以使得基于该主动过滤条件所确定出的目标主机上的可用资源,能够满足用户对于主机资源的偏好,从而可以实现动态适配不同用户场景对于主机资源调度偏好的目的。
Description
技术领域
本申请涉及资源调度技术领域,特别是涉及一种主机调度方法、装置、设备及存储介质。
背景技术
随着云计算技术的发展,云平台的规模集群也成爆炸式增长。实际应用场景中,云平台的一个很重要的功能就是为客户批量分发云主机或者其他云上资源。其中,多数云平台创建并分发云主机等云上资源,通常会使用开源社区openstack的主机调度机制来调度主机,以使得在创建云上资源时实现主机等硬件资源的均衡分配。
目前,云平台在调度主机时,通常是根据预先定义的配置文件来确定主机的调度策略,而该配置文件通常是在部署阶段根据现场用户的硬件资源情况以及用户生产环境的资源偏好完成定义。因此,当用户需要对配置文件中的调度策略进行调整时,通常需要运维人员协助根据新定义的配置文件重新启动调度服务甚至需要执行针对调度服务的升级部署,这在实际应用场景中通常实现难度较大、成本较高,而且,调整调度策略的灵活性较差。
发明内容
本申请实施例提供了一种主机调度方法、装置、设备及存储介质,以实现动态适配不同用户场景对于主机资源调度偏好的目的,提高主机调度的灵活性。
第一方面,本申请实施例提供了一种数据处理方法,所述方法包括:
获取资源调度请求以及集群中的多个主机的可用资源信息,所述资源调度请求中包括资源特征;
根据所述资源调度请求中的资源特征,确定所述资源特征对应的主机过滤条件;
根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,所述目标主机上的可用资源满足所述资源调度请求中的资源特征。
在一种可能的实施方式中,所述根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,包括:
根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中过滤出多个候选主机;
根据所述多个候选主机中的各个候选主机的可用资源信息,确定各个候选主机的调度优先级;
从所述多个候选主机中确定出调度优先级最高的候选主机作为所述目标主机。
在一种可能的实施方式中,所述主机过滤条件至少包括第一资源类型的过滤条件以及第二资源类型的过滤条件;
所述根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,包括:
根据所述第一资源类型的过滤条件所对应的第一过滤插件,对所述多个主机进行过滤,得到第一主机集合,所述第一主机集合包括所述多个主机中满足所述第一资源类型的过滤条件的至少一个主机;
根据所述第二类型资源的过滤条件所对应的第二过滤插件,对所述多个主机进行过滤,得到第二主机集合,所述第二主机集合包括所述多个主机中满足所述第二资源类型的过滤条件的至少一个主机;
确定所述目标主机,所述目标主机同时属于所述第一主机集合以及所述第二主机集合。
在一种可能的实施方式中,所述方法还包括:
在确定所述目标主机之前,对所述多个主机分别设置锁,并设置所述锁的超时时长。
在一种可能的实施方式中,所述方法还包括:
在确定所述目标主机之后,释放为所述多个主机分别设置的锁。
在一种可能的实施方式中,所述多个主机的可用资源信息被存储于数据库;
所述方法还包括:
在确定所述目标主机之后,根据所述资源调度请求中的资源特征,更新所述数据库中的所述目标主机的可用资源信息。
在一种可能的实施方式中,所述资源特征,包括磁盘特征、处理器特征、内存特征、可用分区特征。
第二方面,本申请实施例还提供了一种数据处理装置,所述装置包括:
获取模块,用于获取资源调度请求以及集群中的多个主机的可用资源信息,所述资源调度请求中包括资源特征;
确定模块,用于根据所述资源调度请求中的资源特征,确定所述资源特征对应的主机过滤条件;
调度模块,用于根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,所述目标主机上的可用资源满足所述资源调度请求中的资源特征。
在一种可能的实施方式中,所述确定模块,包括:
第一过滤单元,用于根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中过滤出多个候选主机;
第一确定单元,用于根据所述多个候选主机中的各个候选主机的可用资源信息,确定各个候选主机的调度优先级;
第二确定单元,用于从所述多个候选主机中确定出调度优先级最高的候选主机作为所述目标主机。
在一种可能的实施方式中,所述主机过滤条件至少包括第一资源类型的过滤条件以及第二资源类型的过滤条件;
所述确定模块,包括:
第二过滤单元,用于根据所述第一资源类型的过滤条件所对应的第一过滤插件,对所述多个主机进行过滤,得到第一主机集合,所述第一主机集合包括所述多个主机中满足所述第一资源类型的过滤条件的至少一个主机;
第三过滤单元,用于根据所述第二类型资源的过滤条件所对应的第二过滤插件,对所述多个主机进行过滤,得到第二主机集合,所述第二主机集合包括所述多个主机中满足所述第二资源类型的过滤条件的至少一个主机;
第三确定单元,用于确定所述目标主机,所述目标主机同时属于所述第一主机集合以及所述第二主机集合。
在一种可能的实施方式中,所述装置还包括:
设置模块,用于在确定所述目标主机之前,对所述多个主机分别设置锁,并设置所述锁的超时时长。
在一种可能的实施方式中,所述装置还包括:
释放模块,用于在确定所述目标主机之后,释放为所述多个主机分别设置的锁。
在一种可能的实施方式中,所述多个主机的可用资源信息被存储于数据库;
所述装置还包括:
更新模块,用于在确定所述目标主机之后,根据所述资源调度请求中的资源特征,更新所述数据库中的所述目标主机的可用资源信息。
在一种可能的实施方式中,所述资源特征,包括磁盘特征、处理器特征、内存特征、可用分区特征。
第三方面,本申请实施例还提供了一种设备,该设备可以包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行上述第一方面以及第一方面中任一种实施方式所述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面以及第一方面中任一种实施方式所述的方法。
在本申请实施例的上述实现方式中,先获取资源调度请求以及集群中的多个主机的可用资源信息,该资源调度请求可以是云平台基于用户的请求而生成,并且,资源调度请求中可以包括用户所请求资源的资源特征。然后,根据该资源调度请求中的资源特征,可以确定该资源特征所对应的主机过滤条件,该主机过滤条件也即为满足用户对于资源的偏好所对应的过滤条件。这样,根据确定出的主机过滤条件以及多个主机的可用资源信息,可以从多个主机中确定出调度给用户的目标主机,该目标主机上的可用资源能够满足资源调度请求中的资源特征,也即目标主机上的可用资源能够满足用户所需。
由于在调度主机的过程中,是根据用户所请求资源的资源特征自动生成相应的主机过滤条件,这使得基于该主动过滤条件所确定出的目标主机上的可用资源,能够满足用户对于主机资源的偏好;并且针对不同用户或者同一用户在不同时刻对于主机资源的需求,可以自动生成与该需求(也即所请求资源的资源特征)相对应的主机过滤条件,从而无需通过调整配置文件的方式来实现为用户调度出符合用户偏好的主机资源。如此,可以实现动态适配不同用户场景对于主机资源调度偏好的目的,提高主机调度的灵活性,避免因用户对资源特性的偏好改变或不同用户场景的不同资源特性偏好而频繁升级更新配置。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一示例性集群架构示意图;
图2为本申请实施例中一种主机调度方法的流程示意图;
图3为本申请实施例中一种主机调度装置的结构示意图;
图4为本申请实施例中一种设备的硬件结构示意图。
具体实施方式
参见图1,为本申请实施例提供的一示例性集群架构示意图。如图1所示,该集群100包括多个主机,图1中所包括主机1至主机n为例。基于该集群100可以构建云平台200,并且集群100可以为云平台200提供相应的计算、存储、数据传输等能力,并且,集群100中可以配置有相应的控制节点(图1中未示出),用于对多个主机进行控制、管理以及调度。实际应用场景中,云平台也可以通过多个集群进行构建,本实施例对此并不进行限定。
用户可以通过用户终端300向云平台200请求为该用户调度主机资源,并由云平台200指示集群100在多个主机中为该用户调度主机资源。在为用户调度主机资源时,如果基于预先定义的配置文件,确定调度主机的策略,则当用户对配置文件中的调度策略不满意时,用户需要对配置文件中的调度策略进行调整,比如,将以存储能力为重心的调度策略调整为以计算能力为重心的调度策略。此时,用户需要运维人员协助根据新定义的配置文件重新启动调度服务甚至需要执行针对调度服务的升级部署,这在实际应用场景中通常实现难度较大、成本较高,调整主机调度策略的灵活性较差。
基于此,本申请实施例提供了一种主机调度方法,可以先获取资源调度请求以及集群100中的多个主机的可用资源信息,该资源调度请求可以是云平台200基于用户的请求而生成,并且,资源调度请求中可以包括用户所请求资源的资源特征。然后,根据该资源调度请求中的资源特征,可以确定该资源特征所对应的主机过滤条件,该主机过滤条件也即为满足用户对于资源的偏好所对应的过滤条件。这样,根据确定出的主机过滤条件以及多个主机的可用资源信息,可以从多个主机中确定出调度给用户的目标主机,该目标主机上的可用资源能够满足资源调度请求中的资源特征,也即目标主机上的可用资源能够满足用户所需。由于在调度主机的过程中,是根据用户所请求资源的资源特征自动生成相应的主机过滤条件,这使得基于该主动过滤条件所确定出的目标主机上的可用资源,能够满足用户对于主机资源的偏好;并且针对不同用户或者同一用户在不同时刻对于主机资源的需求,可以自动生成与该需求(也即所请求资源的资源特征)相对应的主机过滤条件,从而无需通过调整配置文件的方式来实现为用户调度出符合用户偏好的主机资源。如此,可以实现动态适配不同用户场景对于主机资源调度偏好的目的,提高主机调度的灵活性,避免因用户对资源特性的偏好改变或不同用户场景的不同资源特性偏好而频繁升级更新配置。
可以理解的是,图1所示的集群100的架构仅是本申请实施例提供的一个示例,实际应用时,集群100的架构不局限于图1所示示例。比如,在其它可能的集群中,可以包括更多功能的节点。总之,本申请实施例可以应用于任何可适用的集群中,而不局限于上述场景示例。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面将结合附图对本申请实施例中的各种非限定性实施方式进行示例性说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
参阅图2,图2示出了本申请实施例中一种主机调度方法的流程示意图,该方法可以应用于图1所示的集群100中,并且,在该集群100中,可以提供针对主机的调度(nova-scheduler)服务,该调度服务可以由相应的调度进程实现。实际应用场景中,集群100中可以运行有多个调度服务实例,这样,当云平台接收到多个用户请求调度主机时,可以通过多个调度服务实例并行为多个用户进行资源调度。为便于说明与理解,下面以一个调度服务实例实现为一个用户调度主机为例进行说明。该方法具体可以包括:
S201:获取资源调度请求以及集群100中的多个主机的可用资源信息,该资源调度请求中包括资源特征。
本实施例中,用户可以向云平台请求为该用户在云平台上创建云主机。云平台200基于该请求,可以指示集群100为用户调度相应的主机资源,并在调度的主机上实现用户所请求的云主机。具体实现时,云平台200可以生成资源调度请求,该资源调度请求中包括用于实现用户所请求创建的云主机的资源特征。示例性地,该资源特征用于描述用户所请求的资源,如描述用于所请求的磁盘空间大小、内存大小、处理器规格等。然后,云平台200将该资源调度请求发送给集群100。这样,集群100可以将该资源调度请求发送给正在运行的调度服务,以便由该调度服务从多个主机中用户调度其所需的主机资源。实际应用时,该调度服务可以通过进程、处理器或者单独配置的计算节点进行实现,本实施例对此并不进行限定。
调度服务在获得资源调度请求后,可以获取集群100中的多个主机的可用资源信息。作为一种实现示例,集群100中可以运维有数据库,该数据库中可以记录有集群100中的多个主机实时上报或者周期性上报的可用资源信息。其中,当集群100采用分布式部署时,该数据库也可以是称之为分布式数据库。
其中,主机的可用资源,例如可以是主机上可用的磁盘资源(外存资源)、处理器资源(如CPU、处理器核等计算资源)、内存资源、可用分区(Availability Zone,AZ)资源以及主机聚合信息等。当然,实际应用时,本实施例中的可用资源还可以包括其它资源,如带宽等。并且,调度服务所获取的多个主机,可以是集群100中的全部主机,也可以是集群100中的部分主机。比如,若当前集群100为一个用户调度主机资源时,调度服务可以获取集群100中所有主机的可用资源信息,并从所有主机中确定调度给该用户的主机。而若集群100同时为多个用户调度主机资源时,集群100可以利用多个调度服务并行为多个用户分别调度主机资源,此时,每个调度服务用于从集群100的部分主机中为用户调度主机资源,并且不同调度服务所对应的主机范围不完全重叠。
S202:根据资源调度请求中的资源特征,确定该资源特征对应的主机过滤条件。
实际应用场景中,用户在请求云主机资源时,可能基于用户自身偏好,仅对部分类型的资源存在特殊要求。相应的,该资源特征可能包含仅包括处理器规格,而对于内存以及磁盘大小可能并没有要求。此时,调度服务可以根据该资源调度请求中的资源特征,确定用于从多个主机中查找调度给用户的主机的过滤条件,比如,当用户请求64核(core)的处理器规格的主机资源时,调度服务据此生成的主机过滤条件例如可以是主机上的可用处理器核的数量不低于64。实际应用时,当资源特征用于描述多种类型的资源时,调度服务所确定出的主机过滤条件包括基于多种资源类型的过滤条件。示例性地,调度服务可以根据资源特征得到主机过滤条件列表(filters list),该列表中记录了针对一种或者多种资源类型的过滤条件。
作为一种示例,调度服务在启动运行时,可以加在全量的过滤插件,如针对内存资源的过滤插件、针对处理器资源的过滤插件等。相应的,调度服务在获得主机过滤条件后,可以根据该主机过滤条件从全量的过滤插件中选取该主机过滤条件所对应的过滤插件。比如,假设全量的过滤插件包括针对磁盘大小的过滤插件、针对处理器核数量的过滤插件、针对内存大小的过滤插件、以及针对可用分区的过滤插件,而当主机过滤条件中包括针对内存大小的过滤条件以及针对处理器核数量的过滤条件时,调度服务可以从全量的过滤插件中选取针对内存大小的过滤插件以及针对处理器核数量的过滤插件。实际应用时,全量的过滤插件还可以包括更多的其它插件。
S203:根据主机过滤条件以及多个主机的可用资源信息,从多个主机中确定出调度给用户的目标主机,目标主机上的可用资源满足资源调度请求中的资源特征。
具体实现时,调度服务可以利用主机过滤条件对应的过滤插件,从多个主机中过滤出目标主机。
在一种可能的实施方式中,以主机过滤条件中至少包括第一资源类型(如磁盘资源)的过滤条件以及第二资源类型(如处理器资源)的过滤条件,则在确定目标主机时,调度服务可以利用第一资源类型的过滤条件所对应的第一过滤插件,根据该第一资源类型的过滤条件对多个主机进行过滤,得到第一主机集合,该第一主机集合中包括至少一个主机,并且每个主机上可用的第一资源类型的资源量满足用户针所需。同时,调度服务可以利用第二资源类型的过滤条件所对应的第二过滤插件,根据该第一资源类型的过滤条件对多个主机进行过滤,得到第二主机集合,该第二主机集合中包括至少一个主机,并且每个主机上可用的第二资源类型的资源量满足用户所需。然后,调度服务可以确定出同时属于第一主机集合以及第二主机集合的至少一个主机。当同时属于第一主机集合以及第二主机集合的主机数量为1时,则调度服务可以将该主机作为目标主机调度给用户,以便云平台基于为用户分配的目标主机创建用户所需的云主机。而当同时属于第一主机集合以及第二主机集合的主机数量大于1时,则调度服务可以进一步从这些主机中进一步选择一个主机作为目标主机调度给用户,例如可以是通过随机算法或者预设的评分机制选择目标主机等,本实施例对此并不进行限定。
进一步地,若调度服务根据多个主机的可用资源信息,确定当前存在多个主机上的可用资源能够满足用户所需,也即满足主机过滤条件的主机数量为多个。此时,调度服务可以进一步确定各个主机的调度优先级,从而可以根据调度优先级确定目标主机。具体的,调度服务可以先根据主机过滤条件以及多个主机的可用资源信息,从多个主机中过滤出满足该主机过滤条件的多个候选主机,例如通过前述过滤插件的方式确定多个候选主机等。然后,调度服务可以根据多个候选主机中的各个候选主机的可用资源信息,确定各个候选主机的调度优先级,进一步确定出调度优先级最高的候选主机,并将该候选主机作为目标主机分配给用户。
本实施例中,调度服务可以通过对候选主机上的可用资源进行评分,来衡量候选主机对应的调度优先级。具体的,调度服务在启动时,可以加载全量的权重计分插件,其中,每个权重计分插件可以用于对候选主机上的一种资源类型的可用资源进行评分。然后,调度服务可以根据主机过滤条件(或者资源调度请求),从全量的权重计分插件中选取主机过滤条件对应的权重计分插件,比如当主机过滤条件中包括针对磁盘大小的过滤条件时,调度服务可以从全量的权重计分插件中选取针对磁盘资源的权重计分插件等。如此,调度服务可以根据该主机过滤条件(或者资源调度请求)得到相应的权重计分插件列表(weightslist),该权重计分插件列表记录了至少一个权重计分插件。接着,调度服务可以利用选取的权重计分插件列表中记录的一个或者多个权重计分插件,对候选主机上对应的一种或者多种资源类型的可用资源进行评分(其中,每种资源类型的可用资源的评分经过归一化处理),并根据该一个或者多个权重计分插件所输出的评分,进一步计算出每个候选主机对应的评分。如,可以将各个权重计分插件所输出的评分进行加权求和计算,得到候选主机对应的评分等。最后,调度服务可以根据各个候选主机对应的评分,将评分最高的候选主机作为分配给用户的目标主机。其中,候选主机对应的评分越高,则该候选主机被分配给用户的优先级越高。
当然,上述实施方式仅作为一种示例性说明,实际应用时,调度服务也可以是采用其它方式,从多个候选主机中确定出目标主机,本实施例对此并不进行限定。
进一步的,由于目标主机上的全部或者部分可用资源被分配给用户,因此,该目标主机上的可用资源信息发生变化。基于此,调度服务可以根据资源调度请求中的资源特征,或者根据目标主机实际分配给用户的可用资源的资源量(可以与资源调度请求中的资源特征一致),将数据库中的记录的针对该目标主机的可用资源信息进行更新。
实际应用场景中,集群100中可以同时运行多个不同的调度服务,并且不同调度服务可以同时为不同并行调度主机,从而不同调度服务为不同用户调度主机的过程可能存在相互影响,比如,调度服务1可能以及调度服务2可能会将相同主机上的可用资源分配给不同用户,而调度服务1在为用户1调度主机资源的过程中,是按照该主机上的可用资源没有被调度给用户2的情况下将该主机调度给用户1;同样,调度服务2在为用户2调度主机资源的过程中,是按照该主机上的可用资源没有被调度给用户1的情况下将该主机调度给用户2。如此,可能会因为不同调度服务对于同一主机进行资源调度而使得集群100中不同主机上的可用资源之间差距较大,从而在集群100中存在较为严重的资源调度失衡问题。
基于此,本实施例中,调度服务在为用户调度主机资源的过程中,调度服务在确定目标主机之前,可以将其处理的多个主机分别设置锁(lock)。其中,当集群100采用分布式部署方式时,为多个主机中的每个主机设置的锁也可称之为分布式锁。同时,调度服务可以设置每个主机对应的锁的超时时长,以避免部分主机因为数据处理过程故障等原因而出现死锁问题。这样,调度服务在从该多个主机中确定目标主机时,该多个主机只能被该调度服务所处理,而不能被其它调度服务所处理。如此,可以利用分布式锁机制来保证针对主机的相关资源操作的原子性,从而保证多用户多并发场景创建云主机时集群100中的主机资源被均衡调度。
相应的,当调度服务确定出目标主机后,可以将释放之前为多个主机分别设置的锁。当然,当主机对应的锁的存活时长达到超时时长时,每个主机对应的锁可以被自动释放。
本实施例中,调度服务可以先获取资源调度请求以及集群100中的多个主机的可用资源信息,该资源调度请求可以是云平台200基于用户的请求而生成,并且,资源调度请求中可以包括用户所请求资源的资源特征。然后,根据该资源调度请求中的资源特征,可以确定该资源特征所对应的主机过滤条件,该主机过滤条件也即为满足用户对于资源的偏好所对应的过滤条件。这样,根据确定出的主机过滤条件以及多个主机的可用资源信息,可以从多个主机中确定出调度给用户的目标主机,该目标主机上的可用资源能够满足资源调度请求中的资源特征,也即目标主机上的可用资源能够满足用户所需。由于在调度主机的过程中,是根据用户所请求资源的资源特征自动生成相应的主机过滤条件,这使得基于该主动过滤条件所确定出的目标主机上的可用资源,能够满足用户对于主机资源的偏好;并且针对不同用户或者同一用户在不同时刻对于主机资源的需求,可以自动生成与该需求(也即所请求资源的资源特征)相对应的主机过滤条件,从而无需通过调整配置文件的方式来实现为用户调度出符合用户偏好的主机资源。如此,可以实现动态适配不同用户场景对于主机资源调度偏好的目的,提高主机调度的灵活性,避免因用户对资源特性的偏好改变或不同用户场景的不同资源特性偏好而频繁升级更新配置。
此外,本申请实施例还提供了一种数据处理装置。参阅图3,图3示出了本申请实施例中一种数据处理装置的结构示意图,该装置300可以应用于服务器,该装置300包括:
获取模块301,用于获取资源调度请求以及集群中的多个主机的可用资源信息,所述资源调度请求中包括资源特征;
确定模块302,用于根据所述资源调度请求中的资源特征,确定所述资源特征对应的主机过滤条件;
调度模块303,用于根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,所述目标主机上的可用资源满足所述资源调度请求中的资源特征。
在一种可能的实施方式中,所述确定模块302,包括:
第一过滤单元,用于根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中过滤出多个候选主机;
第一确定单元,用于根据所述多个候选主机中的各个候选主机的可用资源信息,确定各个候选主机的调度优先级;
第二确定单元,用于从所述多个候选主机中确定出调度优先级最高的候选主机作为所述目标主机。
在一种可能的实施方式中,所述主机过滤条件至少包括第一资源类型的过滤条件以及第二资源类型的过滤条件;
所述确定模块302,包括:
第二过滤单元,用于根据所述第一资源类型的过滤条件所对应的第一过滤插件,对所述多个主机进行过滤,得到第一主机集合,所述第一主机集合包括所述多个主机中满足所述第一资源类型的过滤条件的至少一个主机;
第三过滤单元,用于根据所述第二类型资源的过滤条件所对应的第二过滤插件,对所述多个主机进行过滤,得到第二主机集合,所述第二主机集合包括所述多个主机中满足所述第二资源类型的过滤条件的至少一个主机;
第三确定单元,用于确定所述目标主机,所述目标主机同时属于所述第一主机集合以及所述第二主机集合。
在一种可能的实施方式中,所述装置300还包括:
设置模块,用于在确定所述目标主机之前,对所述多个主机分别设置锁,并设置所述锁的超时时长。
在一种可能的实施方式中,所述装置300还包括:
释放模块,用于在确定所述目标主机之后,释放为所述多个主机分别设置的锁。
在一种可能的实施方式中,所述多个主机的可用资源信息被存储于数据库;
所述装置300还包括:
更新模块,用于在确定所述目标主机之后,根据所述资源调度请求中的资源特征,更新所述数据库中的所述目标主机的可用资源信息。
在一种可能的实施方式中,所述资源特征,包括磁盘特征、处理器特征、内存特征、可用分区特征。
需要说明的是,上述装置各模块、单元之间的信息交互、执行过程等内容,由于与本申请实施例中方法实施例基于同一构思,其带来的技术效果与本申请实施例中方法实施例相同,具体内容可参见本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
此外,本申请实施例还提供了一种设备。参阅图4,图4示出了本申请实施例中一种设备的硬件结构示意图,该设备400可以包括处理器401以及存储器402。
其中,所述存储器402,用于存储计算机程序;
所述处理器401,用于根据所述计算机程序执行上述方法实施例中所述的数据处理方法。
另外,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方法实施例中所述的数据处理方法。
本申请实施例中提到的“第一过滤插件”、“第一资源类型”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”、“第三”等。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
Claims (10)
1.一种主机调度方法,其特征在于,所述方法包括:
获取资源调度请求以及集群中的多个主机的可用资源信息,所述资源调度请求中包括资源特征;
根据所述资源调度请求中的资源特征,确定所述资源特征对应的主机过滤条件;
根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,所述目标主机上的可用资源满足所述资源调度请求中的资源特征。
2.根据权利要求1所述的方法,其特在于,所述根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,包括:
根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中过滤出多个候选主机;
根据所述多个候选主机中的各个候选主机的可用资源信息,确定各个候选主机的调度优先级;
从所述多个候选主机中确定出调度优先级最高的候选主机作为所述目标主机。
3.根据权利要求1所述的方法,其特征在于,所述主机过滤条件至少包括第一资源类型的过滤条件以及第二资源类型的过滤条件;
所述根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,包括:
根据所述第一资源类型的过滤条件所对应的第一过滤插件,对所述多个主机进行过滤,得到第一主机集合,所述第一主机集合包括所述多个主机中满足所述第一资源类型的过滤条件的至少一个主机;
根据所述第二类型资源的过滤条件所对应的第二过滤插件,对所述多个主机进行过滤,得到第二主机集合,所述第二主机集合包括所述多个主机中满足所述第二资源类型的过滤条件的至少一个主机;
确定所述目标主机,所述目标主机同时属于所述第一主机集合以及所述第二主机集合。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述目标主机之前,对所述多个主机分别设置锁,并设置所述锁的超时时长。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在确定所述目标主机之后,释放为所述多个主机分别设置的锁。
6.根据权利要求1所述的方法,其特征在于,所述多个主机的可用资源信息被存储于数据库;
所述方法还包括:
在确定所述目标主机之后,根据所述资源调度请求中的资源特征,更新所述数据库中的所述目标主机的可用资源信息。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述资源特征,包括磁盘特征、处理器特征、内存特征、可用分区特征。
8.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取资源调度请求以及集群中的多个主机的可用资源信息,所述资源调度请求中包括资源特征;
确定模块,用于根据所述资源调度请求中的资源特征,确定所述资源特征对应的主机过滤条件;
调度模块,用于根据所述主机过滤条件以及所述多个主机的可用资源信息,从所述多个主机中确定出调度给用户的目标主机,所述目标主机上的可用资源满足所述资源调度请求中的资源特征。
9.一种设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745170.2A CN114217917A (zh) | 2021-06-30 | 2021-06-30 | 一种主机调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110745170.2A CN114217917A (zh) | 2021-06-30 | 2021-06-30 | 一种主机调度方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114217917A true CN114217917A (zh) | 2022-03-22 |
Family
ID=80695858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110745170.2A Pending CN114217917A (zh) | 2021-06-30 | 2021-06-30 | 一种主机调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114217917A (zh) |
-
2021
- 2021-06-30 CN CN202110745170.2A patent/CN114217917A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200287961A1 (en) | Balancing resources in distributed computing environments | |
CN108206852B (zh) | 一种微服务框架下的基于会话的服务实例管理方法及设备 | |
CN110134495B (zh) | 一种容器跨主机在线迁移方法、存储介质及终端设备 | |
Abad et al. | Package-aware scheduling of faas functions | |
US10291706B1 (en) | Container image distribution acceleration | |
CN110661842B (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
CN108833462A (zh) | 一种面向微服务的自注册服务发现的系统及方法 | |
KR102192442B1 (ko) | 쿠버네티스 클러스터에서의 리더 분산 방법 및 리더 분산 시스템 | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
US11093288B2 (en) | Systems and methods for cluster resource balancing in a hyper-converged infrastructure | |
CN110086726A (zh) | 一种自动切换Kubernetes主节点的方法 | |
CN117149445B (zh) | 一种跨集群负载均衡方法及装置、设备及存储介质 | |
CN111427670A (zh) | 任务调度方法和系统 | |
CN112187864A (zh) | 负载均衡方法、装置、存储介质及电子设备 | |
CN110515728B (zh) | 服务器调度方法、装置、电子设备及机器可读存储介质 | |
CN105827744A (zh) | 云存储平台的数据处理方法 | |
US9934268B2 (en) | Providing consistent tenant experiences for multi-tenant databases | |
CN110286854B (zh) | 群成员管理和群消息处理的方法、装置、设备及存储介质 | |
CN115225645B (zh) | 一种服务更新方法、装置、系统和存储介质 | |
CN114217917A (zh) | 一种主机调度方法、装置、设备及存储介质 | |
CN112532754B (zh) | 校网文件快速服务方法和系统 | |
CN114564530A (zh) | 一种数据库访问方法、装置、设备及存储介质 | |
CN109753343B (zh) | Vnf实例化的方法及装置 | |
CN113485828A (zh) | 基于quartz的分布式任务调度系统及方法 | |
CN110209475A (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 |