CN111258737B - 一种资源调度的方法、装置和过滤式调度器 - Google Patents
一种资源调度的方法、装置和过滤式调度器 Download PDFInfo
- Publication number
- CN111258737B CN111258737B CN202010057844.5A CN202010057844A CN111258737B CN 111258737 B CN111258737 B CN 111258737B CN 202010057844 A CN202010057844 A CN 202010057844A CN 111258737 B CN111258737 B CN 111258737B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- scheduler
- filter
- message
- filtered
- 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
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000012545 processing Methods 0.000 claims abstract description 53
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 33
- 238000001914 filtration Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 abstract description 23
- 230000008569 process Effects 0.000 description 41
- 238000007726 management method Methods 0.000 description 15
- 238000012544 monitoring process Methods 0.000 description 8
- 238000013468 resource allocation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
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
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
-
- 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]
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种资源调度的方法、装置及过滤式调度器,该方法包括:第一过滤式调度器获取携带业务需求的调度请求消息,将调度请求消息转换为调度任务消息,并通过异步通信方式通知调度系统中的每个过滤式调度器,调度任务消息用于指示过滤式调度器根据业务需求在与该过滤式调度器关联的虚拟群组中确定调度结果,并将该调度结果发送给第一过滤式调度器;获取调度系统中的过滤式调度器根据调度任务消息确定的调度结果;当满足预置条件时,按照预置算法在获取到的调度结果中确定最终调度结果,最终调度结果中包括满足业务需求的一个或多个服务器。以此提高整个调度系统调度的处理能力和调度效率。
Description
技术领域
本发明涉及通信领域,尤其涉及虚拟化管理领域的一种资源调度的方法、装置和过滤式调度器。
背景技术
随着虚拟化技术的广泛应用,如何利用云计算管理平台更好地实现对资源的统一管理和调度的方法得到越来越多的关注,该管理平台重要技术之一为资源调度,即为业务请求分配到合适的资源,包括计算、存储、网络等资源,以此提高资源的利用率。
在云计算管理平台中,目前最常用的调度器是一种过滤式调度器,即在接收到调度请求时,首先按照调度请求中所携带的业务需求筛选出所有满足业务需求的服务器集合,再按照预定义权值计算方法对该服务器集合中所有服务器进行排序,调度器选择权值最高的服务器处理该业务需求。但随着大型数据中心中不断增加的业务场景,由单一的过滤式调度器来负责虚拟化系统中全部资源的调度无法满足业务需求,造成了严重的性能瓶颈,越来越多的数据中心采用多个过滤式调度器并行实施调度请求来分担整个大规模数据中心的调度任务。
现有技术中调度系统中采用多个过滤式调度器组成调度器集群,当消息队列中存在待处理的多个调度请求时,调度器集群中的过滤式调度器会分别获取不同调度请求,并根据不同调度请求确定调度结果,但对于同一个调度请求来说,仍然是由一个过滤式调度器先在调度系统中的所有服务器中筛选出满足该调度请求的服务器集合,然后再按照预定义权值计算方法计算该服务器集合中所有服务器的权值,再依照权值对服务器进行排序,最终选出一个或多个服务器作为该调度请求的调度结果,在大规模数据中心中,上述调度方法由于需要同一个过滤式调度器在所有服务器中进行筛选和排序,导致同一调度任务的处理时间长、效率低。另一方面,现有技术中每个服务器的可用资源由数据库记录并保存,但是,服务器只有在完成调度请求中的业务需求时,才会通知数据库更新该服务器的可用资源情况。也就是说,数据库中记录的服务器的可用资源信息为非实时信息,过滤式调度器根据该信息所确定的服务器实际可能无法满足业务需求,从而影响过滤式调度器的判断,增加了调度失败的概率。因此,现有技术中多个过滤式调度器并行调度的方法存在调度请求处理时间长、效率低和误判导致业务处理失败的问题,影响调度系统的资源调度能力和资源分配效率。
发明内容
本发明实施例提供了一种资源调度的方法、装置和过滤式调度器,可以解决现有技术中调度系统处理调度请求时间长、效率低和误判导致业务处理失败的问题,提升调度器系统的资源调度能力和资源分配效率。
为了达到上述目的,本发明采用如下技术方案:
第一方面,提供一种资源调度的方法,该方法应用于调度系统中,该调度系统中包括至少两个过滤式调度器和至少两个服务器,其中,每个过滤式调度器关联一个虚拟群组,每个虚拟群组中包括与该虚拟群组关联的过滤式调度器所能调度的所有服务器,且一个服务器只属于一个虚拟群组;首先,第一过滤式调度器获取调度请求消息,其中,该调度请求消息中携带业务需求,第一过滤式调度器为调度系统中任一过滤式调度器;然后,第一过滤式调度器将该调度请求消息转换为调度任务消息,并通过异步通信方式通知调度系统中的每个过滤式调度器,其中,该调度任务消息中携带业务需求和第一过滤式调度器的角色信息,该调度任务消息用于指示过滤式调度器根据业务需求在与该过滤式调度器关联的虚拟群组中确定调度结果,并将调度结果发送给第一过滤式调度器,该调度结果中包括满足业务需求的一个或多个服务器;接下来,第一过滤式调度器获取调度系统中的过滤式调度器根据调度任务消息确定的调度结果;当满足预置条件时,第一过滤式调度器按照预置算法在获取到的调度结果中确定最终调度结果,该最终调度结果中包括满足业务需求的一个或多个服务器。
值得说明的是,每个虚拟群组中包括一个或多个服务器。
可选地,调度任务消息中还可以包括第一过滤式调度器的标识信息和IP地址信息。
可选地,在调度任务消息处理过程中,获取调度请求消息的第一过滤式调度器可以利用指定文件或数据库中的数据表记录本次调度任务消息中每个过滤式调度器的角色信息,示例地,过滤式调度器的角色可以包括Leader和Worker两种,其中,Worker角色的过滤式调度器负责在其所能调度的至少一个服务器的集合中,经过筛选和排序后在其关联的虚拟群组中确定满足业务需求的一个或多个服务器为调度结果;Leader角色的过滤式调度器为获取调度请求消息的过滤式调度器,负责将调度请求消息转化为调度任务消息,通知调度系统中所有过滤式调度器存在待处理的调度任务消息,汇总所有Worker角色的过滤式调度器所确定的调度结果,并按照预置算法在所有汇总的调度结果中选择满足业务需求的一个或多个服务为为最终调度结果。
值得说明的是,该角色信息为临时信息,即只在本次调度请求消息的处理过程中生效。当系统中同时存在多个调度请求消息时,不同过滤式调度器获取调度任务消息后,每个调度请求消息会由一个Leader角色的过滤式调度器负责确定最终调度结果,且每种类型的角色每次只能处理一种消息,即Leader角色的过滤式调度器每次只能处理一个调度请求消息,Worker角色的过滤式调度器每次只能处理一个调度任务消息。在调度请求消息处理结束之后,过滤式调度器即释放当前调度请求消息处理过程中所对应的角色信息。
在本实施例中,调度器系统中每个过滤式调度器均会根据同一个调度请求在各自能够调度的服务器集合中确定调度结果,并将该调度结果发送给获取调度请求消息的过滤式调度器,在满足预置条件时,由该过滤式调度器在汇总的所有调度结果中确定一个或多个服务器为最终调度结果,与现有技术中对于同一个调度请求消息仅有一个过滤式调度器确定调度结果相比,多个过滤式调度器并行处理解决了现有技术中调度任务处理时间长、效率低的问题,提升了调度系统的资源调度能力和资源分配效率。
在一种可能的实现方式中,所述通过异步通信方式通知所述调度系统中的每个过滤式调度器包括:第一过滤式调度器将所述调度任务消息存储在消息队列,以使得所述每个过滤式调度器监听所述消息队列,并获取所述调度任务消息。
值得说明的是,当消息队列中调度请求消息被任意一个过滤式调度器取走后,为避免重复处理导致资源浪费问题,消息队列软件会将该调度请求消息在消息队列中删除,其他过滤式调度器无法再次获取该调度请求消息。而调度任务在本次调度请求的处理过程中一直存在,直至第一过滤器处理完成调度任务后再通知消息队列软件删除该调度任务消息,以便于存储集群中所有过滤式调度器能够通过异步的方式获取该调度任务。存储集群中的过滤式调度器获取该调度任务后可以确定每个过滤式调度器所对应虚拟群组中最适合执行该调度任务中业务需求的服务器。
可选地,该调度任务消息也可以存储在数据库中,第一过滤式调度器获取调度请求消息的方式也可以通过监听数据库的方式,即当数据库中存在待处理的调度请求消息时,从数据库中获取该调度请求消息。
在另一种可能的实现方式中,所述通过异步通信方式通知所述调度系统中的每个过滤式调度器包括:第一过滤式调度器将所述调度任务消息存储在数据库中,以使得所述每个过滤式调度器监听所述数据库,并获取所述调度任务消息。
在另一种可能的实现方式中,所述过滤式调度器根据所述业务需求在与所述过滤式调度器关联的虚拟群组中确定调度结果,包括:所述过滤式调度器获得所述调度任务消息;所述过滤式调度器根据所述业务需求在所述过滤式调度器关联的虚拟群组中确定满足所述业务需求的服务器;所述过滤式调度器根据预定义权值算法对确定出的服务器进行排序,并按照顺序依次选择一个或多个作为所述调度结果。
在另一种可能的实现方式中,所述预置条件包括:
所述第一过滤式调度器获取所述调度结果的数量满足第一阈值;或
所述第一过滤式调度器获取所述调度结果的数量满足第一阈值且接收时间满足第二阈值。
本领域技术人员应理解的是,每个过滤式调度器每次只能处理一个调度任务消息,当调度系统中同时存在多个调度任务消息需要处理时,对于同一个过滤式调度器,若当前调度任务请求消息长时间未处理完成,则该过滤式调度器无法获取和处理新的调度任务消息,为避免前一个调度任务处理过程过长对当前调度任务的影响,第一过滤式调度器在确定最终调度结果时,可以设置第一阈值,当汇总的调度结果的数量满足第一阈值时,即在所获取的调度结果中选择一个或多个服务器为最终调度结果。
在另一种可能的实现方式中,所述第一过滤式调度器按照预置算法在所述调度结果中确定最终调度结果的方法包括以下方式中的任意一种:
所述第一过滤式调度器按照所述预定义权值算法确定的权值对所述调度结果中所有服务器进行排序,依次选择一个或多个服务器为所述最终调度结果;或
所述第一过滤式调度器按照接收时间顺序依次从所述调度结果中选择一个或多个服务器为所述最终调度结果;或
所述第一过滤式调度器随机从所述调度结果中选择一个或多个服务器为所述最终调度结果;
其中,所述预定义权值算法可以根据服务器的CPU剩余量、内存剩余量、磁盘剩余量、网络流量、CPU类型、磁盘类型、网卡类型、磁盘每秒进行读写的次数中的至少一种定义不同权重,并计算获得每个服务器的权值。
值得说明的是,第一过滤式调度器在确定最终调度结果后,会通知消息队列软件删除已处理的调度任务消息。同时,第一过滤式调度器还会将该最佳调度结果发送给任务分配节点,任务分配节点会将调度任务中的业务需求发送给最终调度结果所对应的服务器,由该服务器执行业务需求的具体实施过程。
综上所述,对于一个调度请求消息,调度系统中各个过滤式调度器分工协作,分别在各自关联的虚拟群组中确定调度结果,由一个过滤式调度器汇总过滤式调度器根据调度任务消息所确定的调度结果,并在上述调度结果中共确定一个或多个服务器为最终调度结果,与现有技术相比,对于同一个调度请求消息,由多个过滤式调度器并行处理,减少了调度处理时间,提升了调度系统的处理效率。另一方面,每个过滤式调度器利用资源预占信息记录其确定的调度结果所需资源信息,解决了现有技术中数据库中记录服务器资源占用情况无法实时更新所导致的调度失败问题,从而提高了调度器集群管理大型数据中新资源的能力。
第二方面,提供一种资源调度的装置,所述装置包括用于执行第一方面或第一方面任一种可能实现方式中的资源调度方法的各个模块。
第三方面,提供一种资源调度的方法,该方法应用于调度系统中,该调度系统中包括至少两个过滤式调度器和至少两个服务器,其中,每个过滤式调度器关联一个虚拟群组,每个虚拟群组中包括与该虚拟群组关联的过滤式调度器所能调度的所有服务器,且一个服务器只属于一个虚拟群组;首先,第一过滤式调度器获取调度请求消息,其中,该调度请求消息中携带业务需求,第一过滤式调度器为调度系统中任一过滤式调度器;然后,第一过滤式调度器将调度请求消息转换为调度任务消息,并将该调度任务消息发送给调度系统中除第一过滤式调度器之外的其他服务器,该调度任务消息中携带业务需求和第一过滤式调度器的角色信息,该调度任务消息用于指示调度系统中除第一过滤式调度器之外的其他过滤式调度器根据业务需求在与其他过滤式调度器关联的虚拟群组中确定调度结果,并将调度结果发送给所述第一过滤式调度器;接下来,第一过滤式调度器获取调度系统中的过滤式调度器根据调度任务消息确定的调度结果;当满足预置条件时,第一过滤式调度器按照预置算法在获取到的调度结果中确定最终调度结果,最终调度结果中包括满足业务需求的一个或多个服务器。
通过上述内容的描述,第一过滤式和调度系统中的其他过滤式调度器直接通信,对于同一个调度请求消息,有调度系统中各个过滤式调度器分工协作,并由获取调度请求消息的过滤式调度器确定确定最终调度结果,减少了处理时长,提升了调度请求消息的处理效率。
在一种可能的实现方式中,所述预置条件包括:
所述第一过滤式调度器获取所述调度结果的数量满足第一阈值;或
所述第一过滤式调度器获取所述调度结果的数量满足第一阈值且接收时间满足第二阈值。
在另一种可能的实现方式中,所述第一过滤式调度器按照预置算法在所述获取到的调度结果中确定最终调度结果的方法包括以下方式中的任意一种:
所述第一过滤式调度器按照所述预定义权值算法确定的权值对所述调度结果中所有服务器进行排序,依次选择一个或多个服务器为所述最终调度结果;或
所述第一过滤式调度器按照接收时间顺序依次从所述调度结果中选择一个或多个服务器为所述最终调度结果;或
所述第一过滤式调度器随机从所述调度结果中选择一个或多个服务器为所述最终调度结果;
其中,所述预定义权值算法可以根据服务器的CPU剩余量、内存剩余量、磁盘剩余量、网络流量、CPU类型、磁盘类型、网卡类型、磁盘每秒进行读写的次数中的至少一种定义不同权重,并计算获得服务器的权值。
通过上述内容的描述,对于一个调度请求消息,调度系统中各个过滤式调度器分工协作,分别在各自关联的虚拟群组中确定调度结果,由一个过滤式调度器汇总所有调度结果并确定最终调度结果,与现有技术相比,对于同一个调度请求消息,由多个过滤式调度器并行处理,减少了调度处理时间,提升了调度系统的处理效率。另一方面,每个过滤式调度器利用资源预占信息记录其确定的调度结果所需资源信息,解决了现有技术中数据库中记录服务器资源占用情况无法实时更新所导致的调度失败问题,从而提高了调度器集群管理大型数据中新资源的能力。
第四方面,提供一种过滤式调度器,所述过滤式调度器包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间通信,所述存储器用于存储计算机执行指令,所述过滤式调度器运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述过滤式调度器中的硬件资源执行第一方面及第一方面中任一种可能实现方式中所述的方法。
第五方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面及第一方面中任一种可能实现方式中的方法的指令。
综上所述,对于一个调度请求,调度器集群中各个过滤式调度器分工协作,分别在各自对应的虚拟群组中确定调度结果,并由获取该调度请求的过滤式调度器在所获取到的调度结果中确定一个或多个服务器为最终调度结果,避免了现有技术中多个过滤式调度器并行工作导致资源竞争问题。另一方面,每个过滤式调度器利用资源预占信息记录其确定的调度结果所需资源信息,解决了现有技术中数据库中记录服务器资源占用情况无法实时更新所导致的调度失败问题,提升了调度器集群资源分配的消息,从而提高了调度器集群管理大型数据中新资源的能力。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种调度系统的示意图;
图2为本发明实施例提供的一种资源调度的方法的流程示意图;
图3为本发明实施例提供的另一种资源调度的方法的流程示意图;
图4为本发明实施例提供的另一种资源调度的方法的流程示意图;
图5为本发明实施例提供的另一种资源调度的方法的流程示意图;
图6为本发明实施例提供的一种资源调度的装置的示意图;
图7为本发明实施例提供的一种过滤式调度器的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1为本发明提供的一种调度系统的示意图,如图所示,该调度系统中包括管理节点、任务分配节点、过滤式调度器、服务器和数据库,其中,两个或两个以上过滤式调度器组成调度器集群。
管理节点可以预先为调度系统中每个过滤式调度器创建一个虚拟群组,虚拟群组中包括该过滤式调度器所能调度的所有服务器,即虚拟群组中包括一个或多个服务器,且一个服务器仅归属于一个虚拟群组。
示例地,如图1所示调度系统,调度系统中存在3个过滤式调度器,管理节点预先为每个过滤式调度器创建1个虚拟群组,包括:
虚拟群组1为过滤式调度器1关联的虚拟群组,该虚拟群组中包括服务器1和服务器2。
虚拟群组2为过滤式调度器2关联的虚拟群组,该虚拟群组中包括服务器3和服务器4。
虚拟群组3为过滤式调度器3关联的虚拟群组,该虚拟群组中包括服务器5和服务器6。
过滤式调度器、虚拟群组和服务器的对应关系可以利用如图1中所示的数据库记录。该数据库还用于记录每个服务器的已用资源信息和可用资源信息,例如,服务器的CPU、内存、磁盘、网卡等资源的已使用情况和可用情况。在过滤式调度器处理调度请求时,过滤式调度器可以通过数据库查询其关联的虚拟群组和该虚拟群组中每个服务器的可用资源信息。
可选地,过滤式调度器也可以利用指定文件记录过滤式调度器、虚拟群组和服务器之间的对应关系。
作为一个可能的实施例,管理节点在创建虚拟群组时,可以按照服务器的标识(Identification,ID)、操作系统类型、硬盘类型等属性将其划分到不同的虚拟群组中。
值得说明的是,每个虚拟群组中服务器的个数可以相同,也可以不同。在本发明的以下具体描述中,以调度器集群中包括三个过滤式调度器,每个过滤式调度器所对应的虚拟群组中包括两个服务器为例进行详细阐述。
可选地,当虚拟群组中存在故障服务器或调度系统中存在新增服务器时,管理节点可以按照预定义调整策略,调整每个虚拟群组中服务器的数量。例如,若虚拟群组1中存在故障服务器,则管理节点可以按照过滤式调度器的优先级顺序,调整每个虚拟群组中服务器的数量;若调度系统中新增一台过滤式调度器,管理节点可以按照每个过滤式调度器的处理能力,将该服务器添加到一个过滤式调度器关联的虚拟群组中。
可选地,虚拟群组也可以由任务分配节点管理,即由任务分配节点为每个过滤式调度器创建虚拟群组,并动态调整虚拟群组中服务器的数量。
值得说明的是,图1中管理节点和任务分配节点可以部署在同一个服务器中,也可以分开部署在不同的服务器中,本发明不作限制。在本发明的以下描述中,以图1所示管理节点和过滤式调度器部署在同一个服务器为例进行详细描述。
可选地,虚拟群组也可以由调度系统外能够获知所有过滤式调度器和服务器信息的第三方管理设备或装置管理。
在调度系统中,任务分配节点还用于接收调度请求消息,并将携带业务需求的调度请求消息存放在消息队列(Message Queue,MQ)中,调度系统中每个过滤式调度器均通过监听的方式,监听消息队列中是否存在待处理的调度请求消息,当监听到存在待处理的调度请求消息时,则获取该调度请求消息,并进行处理确定最终调度结果,然后将该最终调度结果发送给任务分配节点,由任务分配节点将该业务需求发送给最终调度结果所对应的一个或多个服务器执行。
消息队列是在消息的传输过程中保存消息的容器,如图1所示调度系统中,服务器100用于部署消息队列软件,消息队列软件可以利用服务器100的存储器保存和删除任务分配节点和过滤式调度器之间传递的消息,及所有过滤式调度器之间传递的消息,其中,服务器100中包括至少一个消息队列,每个消息队列可以根据初始配置保存不同类型的消息,例如,存储系统中存在两个消息队列,消息队列1用于保存任务分配节点和调度集群之间传递的消息,如调度请求消息和最终调度结果,消息队列2用于保存过滤式调度器之间传递的消息,如调度任务消息和每个过滤式调度器确定的调度结果。可选地,消息队列软件也可以采用消息队列集群形式保存消息,每个消息队列集群中包括至少两个消息队列,不同消息队列集群用于存储不同类型的消息,例如,存储系统中存在两个消息队列集群,消息队列集群1用于保存任务分配节点和调度器集群之间传递的消息,如消息队列集群1中一个消息队列用于保存调度请求消息,另一个消息队列用于保存最终调度结果;消息队列集群2用于保存过滤式调度器之间传递的消息,如消息队列集群2中一个消息队列用于保存调度任务消息,另一个消息队列用于保存每个过滤式调度器确定的调度结果。
值得说明的是,在具体实施过程中,消息队列可以利用单独服务器部署,也可以利用多台服务器同时部署该软件,还可以与其他类型的软件共享服务器资源。在本发明的以下描述中,以图1所示由单独服务器部署消息队列的场景为例进行进一步详细阐述。
可选地,上述调度系统中任务分配节点和过滤式调度器之间,及所有过滤式调度器之间通信方式也可以利用数据库等其他异步通信方式实现,例如Redis数据库。
接下来,结合图2进一步介绍本发明实施例提供的一种资源调度方法,如图所示,所述方法包括:
S201、第一过滤式调度器获取调度请求消息。
其中,调度请求消息中携带业务需求,第一过滤式调度器为调度系统中任一过滤式调度器。第一过滤式调度器获取调度请求消息的方式可以为通过监听消息队列的方式,即当消息队列中存在待处理的调度请求消息时,从消息队中获取该调度请求消息。
可选地,该调度任务消息也可以存储在数据库中,第一过滤式调度器获取调度请求消息的方式也可以通过监听数据库的方式,即当数据库中存在待处理的调度请求消息时,从数据库中获取该调度请求消息。
可选地,任务分配节点还可以直接向第一过滤式调度器发送该调度请求消息。
S202、第一过滤式调度器将调度请求消息转换为调度任务消息,并通过异步通信方式通知调度系统中每个过滤式调度器。
具体地,调度任务消息中携带业务需求和第一过滤式调度器的角色信息,任务调度消息用于指示调度系统中每个过滤式调度器根据业务需求在关联的虚拟群组中确定调度结果,并将调度结果汇总给第一过滤式调度器,该调度结果中包括满足业务需求的一个或多个服务器。
第一过滤式调度器在调度系统中通知每个过滤式调度器存在待处理的调度任务消息,可以将该调度任务消息存储在消息队列中,调度系统中每个过滤式调度器在监听到消息队列中存在待处理的调度任务消息时,获取该调度任务消息。
可选地,第一过滤式调度器在调度系统中通知每个过滤式调度器存在待处理的调度任务消息,也可以将调度任务消息存储在用作异步通信的数据库中,如Redis数据库,所有过滤式调度器通过定期监听该数据库的方式获取该调度任务消息。
可选地,第一过滤式调度器在调度系统中通知每个过滤式调度器存在待处理的调度任务消息,还可以从数据库中获取调度系统中所有过滤式调度器的IP地址,根据IP地址将调度任务消息发送给除第一过滤式调度器外的所有过滤式调度器。
S203、第一过滤式调度器获取调度系统中的过滤式调度器根据调度任务消息所确定的调度结果。
具体地,调度系统中的过滤式调度器在确定调度结果后,根据调度任务消息中的角色信息确定第一过滤式调度器用于接收调度结果的消息队列,并将调度结果存储该消息队列中,第一过滤式调度器监听该消息队列,当该消息队列中存在新增调度结果时,获取该调度结果。
S204、当满足预置条件时,第一过滤式调度器按照预置算法在所获取到的调度结果中确定最终调度结果。
具体地,满足预置条件包括第一过滤式调度器获取调度结果的数量满足第一阈值;或第一过滤式调度器获取调度结果的数量满足第一阈值且接收时间满足第二阈值。第一过滤式调度器所确定的最终调度结果中包括满足业务需求的一个或多个服务器。
在本实施例中,调度器系统中每个过滤式调度器均会根据同一个调度请求在各自能够调度的服务器集合中确定调度结果,并将该调度结果发送给获取调度请求消息的过滤式调度器,在满足预置条件时,由该过滤式调度器在所获取到的所有调度结果中确定一个或多个服务器为最终调度结果,与现有技术中仅有一个过滤式调度器确定调度结果相比,多个过滤式调度器并行处理解决了现有技术中调度任务处理时间长、效率低的问题,提升了调度系统的资源调度能力和资源分配效率。
下面,以任务分配节点、过滤式调度器之间的通信方式为消息队列为例,结合图3详细介绍本发明实施例提供的一种资源调度方法,如图所示,所述方法包括:
S301、第一过滤式调度器在消息队列中获取调度请求消息。
其中,任务分配节点在接收应用层发送的调度请求消息后,将该调度请求消息存放在消息队列中,第一过滤式调度器获取到该调度请求消息,其中,第一过滤式调度器为调度系统中获取该调度请求消息的任一过滤式调度器。该调度请求消息中携带的业务需求,该业务需求包括创建虚拟机的信息、虚拟机迁移信息、虚拟机资源调度等业务需求信息。
表1为一种调度请求消息的消息格式的示例:
表1
具体地,调度系统中每个过滤式调度器通过监听方式识别消息队列中是否存在待处理的调度请求消息,当消息队列中存在待处理的调度请求消息时,空闲状态的过滤式调度器均会到消息队列中获取该调度请求,此时,第一个获取该调度请求消息的过滤式调度器负责处理该调度请求。
值得说明的是,当消息队列中调度请求消息被任意一个过滤式调度器取走后,为避免重复处理导致资源浪费问题,消息队列软件会将该调度请求消息在消息队列中删除,其他过滤式调度器无法再次获取该调度请求消息。
S302、第一过滤式调度器将该调度请求消息转化为调度任务消息,并将该调度任务消息存放在消息队列中。
具体地,第一过滤式调度器在调度请求消息中添加第一过滤式调度器的角色信息。调度任务消息用于指示调度集群中过滤式调度器在确定调度结果,并将确定的调度结果发送给第一过滤式调度器。该调度任务消息中还携带业务需求,即步骤S301中调度请求消息中携带的业务需求。
可选地,调度任务消息中还可以包括第一过滤式调度器的标识信息和IP地址信息。
表2为第一过滤式调度器将表1中调度请求消息转化为调度任务消息的消息格式的一种示例:
表2
由上述表1和表2可知,调度请求消息转化为调度任务消息的过程中,在消息格式中添加了第一过滤式调度器的标识和角色信息,及第一过滤式调度器的IP地址。表1和表2中调度请求消息和调度请求任务消息中所包含的消息格式仅为一种示例,在具体实施过程中,还可以包括其他内容的消息格式。
可选地,在调度任务消息处理过程中,获取调度请求消息的第一过滤式调度器可以利用指定文件或数据库中的数据表记录本次调度任务消息中每个过滤式调度器的角色信息,示例地,过滤式调度器的角色可以包括Leader和Worker两种,其中,Worker角色的过滤式调度器负责在其所能调度的至少一个服务器的集合中,经过筛选和排序后在其关联的虚拟群组中确定满足业务需求的一个或多个服务器为调度结果;Leader角色的过滤式调度器为获取调度请求消息的过滤式调度器,负责将调度请求消息转化为调度任务消息,通知调度系统中所有过滤式调度器存在待处理的调度任务消息,汇总所有Worker角色的过滤式调度器所确定的调度结果,并按照预置算法在所有汇总的调度结果中选择满足业务需求的一个或多个服务为为最终调度结果。
示例地,如图1所示调度系统中,若过滤式调度器1获取调度请求消息,则过滤式调度器1记录本次调度请求消息处理过程中的角色信息,过滤式调度器1为本次调度请求消息的Leader,过滤式调度器2和过滤式调度器3均为Worker角色,可选地,过滤式调度器1还可以具有Worker角色,则过滤式调度器1、过滤式调度器2和过滤式调度器3分别负责在其关联的虚拟群组中确定调度结果,并将所确定的调度结果发送给过滤式调度器1,由过滤式调度器1负责获取过滤式调度器根据调度任务消息确定的调度结果,并确定一个或多个服务器为最终调度结果。
值得说明的是,该角色信息为临时信息,即只在本次调度请求消息的处理过程中生效。当系统中同时存在多个调度请求消息时,不同过滤式调度器获取调度任务消息后,每个调度请求消息会由一个Leader角色的过滤式调度器负责确定最终调度结果,且每种类型的角色每次只能处理一种消息,即Leader角色的过滤式调度器每次只能处理一个调度请求消息,Worker角色的过滤式调度器每次只能处理一个调度任务消息。在调度请求消息处理结束之后,过滤式调度器即释放当前调度请求消息处理过程中所对应的角色信息。
进一步地,第一过滤式调度器将调度任务消息存储在消息队列中,以便于调度系统中的过滤式调度器可以监听该消息队列,从该消息队列中获取该调度任务消息并进行处理。
具体地,调度任务消息可以保存在步骤S301中用于存放调度请求消息的消息队列中,则调度系统中所有过滤式调度器在监听该消息队列过程中,通过识别调度请求消息标识和调度任务消息标识区分不同调度请求消息和调度任务消息;可选地,也可以利用一个单独的消息队列保存调度请求消息,调度系统中所有过滤式调度器通过监听指定消息队列识别是否存在待处理的调度任务消息。
值得说明的是,与步骤S301中调度请求消息被第一过滤式调度器获取后即被删除的方式不同,步骤S302中调度任务存放到消息队列后,调度任务在本次调度请求的处理过程中一直存在,直至第一过滤器处理完成调度任务后再通知消息队列软件删除该调度任务消息,以便于存储集群中所有过滤式调度器能够通过异步的方式获取该调度任务。存储集群中的过滤式调度器获取该调度任务后可以确定每个过滤式调度器所对应虚拟群组中最适合执行该调度任务中业务需求的服务器。
可选地,第一过滤式调度器在将调度请求消息转化调度任务消息后,也可以将该调度任务消息保存在用于异步通信的数据库中,每个过滤式调度器通过周期性监听数据库方式识别并获取待处理的调度任务消息。
可选地,第一过滤式调度器在将调度请求转化为调度任务消息后,也可以从数据库中获取调度系统中所有过滤式调度器的IP地址,并根据IP地址直接向每个过滤式调度器发送该调度任务消息。
S303、第一过滤式调度器在消息队列中获取该调度任务消息,并将确定的调度结果保存在消息队列中。
当消息队列中存在待处理调度任务消息时,调度系统中每个空闲状态的过滤式调度器都会通过监听的方式获取该调度请求消息并处理。当第一过滤式调度器监听到存在待处理的调度任务消息,且此时第一过滤式调度器为空闲状态时,第一过滤式调度器获取该调度任务消息,并在其关联的虚拟群组中选择一个或多个满足业务需求的服务器作为调度结果。
值得说明的是,每个过滤式调度器每次只能处理一个调度任务消息,即每个过滤式调度器只有在当前调度任务消息处理完成后,才会到消息队列中获取和处理新的调度任务消息。
具体地,调度系统中每个过滤式调度器确定调度结果的方法均相同,图4为过滤式调度器确定调度结果的过程的方法流程图,如图所示,具体方法包括:
S303a、过滤式调度器根据业务需求在过滤式调度器关联的虚拟群组中确定满足业务需求的服务器。
其中,满足业务需求的服务器是过滤式调度器根据业务需求和该过滤式调度器关联的虚拟群组中服务器的剩余可用资源情况所确定的,即为在该过滤式调度器关联的虚拟群组中确定满足该业务需求的一个或多个服务器。
S303b、过滤式调度器根据预定义权值算法计算对确定出的服务器进行排序,并按照顺序依次选择一个或多个服务器作为所述调度结果。
具体地,每个过滤式调度器按照预定义权值算法计算满足业务需求的服务器的权值,并针对权值对服务器进行排序,依次选择顺序从高到低或从低到高的一个或多个服务器作为所确定的调度结果。其中,预定义权值算法可以根据具体业务应用的定制化需求,对服务器的CPU资源、内存资源、磁盘剩余量、磁盘每秒进行读写的次数、网络带宽等属性中的至少一种定义不同的权重,并计算服务器的权值。
可选地,调度结果中还包括服务器的权值信息。
示例地,若过滤式调度器1所能调度的服务器包括服务器1和服务器2,调度请求消息中携带的业务需求为创建1台2个CPU、8G内存、32G磁盘、1个网卡的虚拟机,经筛选确定服务器1和服务器2均满足创建虚拟机的规格要求,则满足业务需求的服务器包括两个服务器;假设业务应用对服务器的磁盘和内存的剩余量有定制化要求,则在预定义权值算法中按照服务器的可用内存权重为0.6、可用磁盘权重为0.4进行计算。具体地,若服务器1可用内存资源为10G,可用磁盘为100G;服务器2可用内存资源为20G,可用磁盘为100G,则服务器1的权值为46(0.6×10+0.4×100=46),服务器2的权值为50(0.5×20+0.4×100=50),则满足业务需求的服务器的权值排序从高到低依次为服务器2、服务器1,过滤式调度器1确定服务器1为该调度请求消息在其所能调度的服务器集合中的调度结果,可选地,该调度结果中还包括服务器2的权值信息50。
表3为上述实施例中一种调度结果的消息格式的示例:
表3
通过步骤S303a至S303b的描述,调度系统中每个过滤式调度器在其所能调度的服务器中按照先筛选再排序的方式,选择满足业务需求的至少一个服务器作为调度结果。
进一步地,调度系统中过滤式调度器在确定调度结果之后,会根据调度任务中角色信息将确定的调度结果发送给指定过滤式调度器,如发送给步骤S301中的第一过滤式调度器。其中,过滤式调度器向第一过滤式调度发送调度结果的方式可以为以下方式中的任意一种:
方式一:过滤式调度器根据调度任务消息中的角色信息将所确定的调度结果存储在消息队列中。
其中,存储过滤式调度器所确定的调度结果的消息队列,可以与步骤S301中保存调度请求消息的消息队列相同,此时,第一过滤式调度器通过指定消息格式区分调度请求消息、调度任务消息和调度结果,其中,确定调度结果的指定消息格式可以为表3中的“调度结果”。也可以根据调度任务消息中角色信息将调度结果直接发送给第一过滤式调度器用于接收调度结果的消息队列中。
方式二、根据调度任务消息中第一过滤式调度器的IP地址,向第一过滤式调度器发送所确定的调度结果。
应理解的是,对于第一过滤式调度器而言,若在本次任务中同时具有Leader和Worker角色,在第一过滤式调度器作为本次调度任务消息的Leader角色时,第一过滤式调度器可能为非空闲状态,且在消息队列中本次调度任务消息可能不是最先需要处理的调度任务消息,为简化具体实施过程,第一过滤式会将转化后的调度任务消息直接保存在消息队列中,当第一过滤式调度器为空闲状态时,重新获取该调度任务消息进行处理,并将调度结果存放在用于保存调度结果的消息队列中或保存在本地存储器中。可选地,第一过滤式调度器在同时具有一个调度任务消息的Leader和Worker角色时,也可以将调度任务消息存储在本地存储器中,当第一过滤式调度器为空闲状态时,通过调度任务消息标识区分不同调度任务消息,优先对本地保存的调度任务消息进行处理。
S304、调度系统中其他过滤式调度器在消息队列中获取调度任务消息,并将确定的调度结果存储在消息队列中。
具体地,其他过滤式调度器为调度器集群中除第一过滤式调度器之外的任一空闲状态的过滤式调度器,在消息队列中存在待处理的调度任务消息时,其他过滤式调度器也会获取该调度任务消息,并按照调度任务消息中所携带的业务需求在其关联的虚拟群组中选择满足业务需求的至少一个服务器作为调度结果。其他过滤式调度器确定调度结果的过程与步骤S303中所述方法相同,在此不再赘述。
S305、第一过滤式调度器获取调度器系统中每个过滤式调度器所确定的调度结果。
具体地,第一过滤式调度器获取调度结果的方式如步骤S303过滤式调度器发送调度结果的方式,可以是第一过滤式调度器从消息队列中获取调度结果,也可以是接收过滤式调度器发送的调度结果。
S306、当满足预置条件时,第一过滤式调度器按照预置算法在所获取到的调度结果中确定最终调度结果,该最终调度结果中满足业务需求的一个或多个服务器。
其中,预置条件可以是以下方式的任意一种:
方式一:第一过滤式调度器汇总调度结果的数量满足第一阈值。
方式二:第一过滤式调度器接收调度结果的数量满足第一阈值且接收时间满足第二阈值。
本领域技术人员应理解的是,每个过滤式调度器每次只能处理一个调度任务消息,当调度系统中同时存在多个调度任务消息需要处理时,对于同一个过滤式调度器,若当前调度任务请求消息长时间未处理完成,则该过滤式调度器无法获取和处理新的调度任务消息,为避免前一个调度任务处理过程过长对当前调度任务的影响,第一过滤式调度器在确定最终调度结果时,可以设置第一阈值,当汇总的调度结果的数量满足第一阈值时,即在所获取的调度结果中选择一个或多个服务器为最终调度结果。
可选地,第一过滤式调度器在确定最终调度结果时,除限制汇总的调度结果的数量之外,还可以同时限制接收时间,当二者均满足要求时,即在汇总的调度结果中选择一个最终调度结果。
可选地,在具体实施过程中,第一过滤式调度器还可以在接收调度系统中所有过滤式调度器发送的调度结果后再选择最终调度结果,即在调度系统中所有服务器中选择一个或多个满足业务需求的服务器作为最终调度结果,此最终调度结果为满足业务需求的最优的一个或多个服务器。
进一步地,第一过滤式调度器按照预置算法在所述调度结果中确定最终调度结果的处理方式包括以下方式中的任意一种:
方式一:第一过滤式调度器按照预定义权值算法确定的权值,对所获取的调度结果中所有服务器进行排序,依次选择满足业务需求的一个或多个服务器为所述最终调度结果。
示例地,表4为第一过滤式调度器汇总的调度结果的一种示例,假设业务需求为创建1台虚拟机,第一过滤式调度器根据预定义权值算法确定的权值对所有服务器进行排序由高到低依次为服务器3、服务器5、服务器1,则最终调度结果为服务器3,即服务器3为最佳的满足业务需求的服务器。
表4
调度结果 | 服务器信息 | 权值信息 |
调度结果1 | 服务器1 | 46 |
调度结果2 | 服务器3 | 60 |
调度结果3 | 服务器5 | 55 |
其中,预定义权值算法可以与步骤S303b中确定权值的方法相同,也可以根据具体应用需求重新定义服务器资源的权重并计算服务器的权值,服务器资源包括CPU类型、磁盘类型、网卡类型、可用CPU资源、可用内存资源、磁盘剩余量、网络带宽、磁盘每秒进行读写的次数、CPU剩余量、内存剩余量、磁盘剩余量等,则最终调度结果为满足业务需求的最优的一个或多个服务器。
可选地,预定义权值算法中也可以按照业务应用不关注资源信息确定服务器资源的权重,并计算每个服务器的权值信息,此时,第一过滤式调度器可以依次选择顺序从低到高的满足业务需求的一个或多个服务器为所述最终调度结果。
方式二:第一过滤式调度器按照接收时间顺序依次在接收的每个过滤式调度器所确定的调度结果中,选择一个或多个服务器为最终调度结果。
方式三:第一过滤式调度器随机从所述调度结果中选择一个或多个个服务器为最终调度结果。
除采用方式一外,为提高处理效率,减少调度系统处理时长,也可以按照方式二和方式三,即第一过滤式调度器按照接收时间顺序或随机的方式确定最终调度结果,该最终调度结果中包括满足业务需求的至少一个服务器。
值得说明的是,第一过滤式调度器在确定最终调度结果后,会通知消息队列软件删除已处理的调度任务消息。同时,第一过滤式调度器还会将该最佳调度结果发送给任务分配节点,任务分配节点会将调度任务中的业务需求发送给最终调度结果所对应的服务器,由该服务器执行业务需求的具体实施过程。
通过步骤S301至步骤S306的描述,当调度系统中存在待处理的调度请求消息时,会由一个过滤式调度器获取该调度请求消息,将该调度请求消息转化为调度任务消息,并将该调度请求消息存放在消息队列中,调度器系统中每个过滤式调度器均会处理该调度任务消息,并将确定的调度结果汇总给该过滤式调度器,由该过滤式调度器按照预置算法在汇总的调度结果中确定满足业务需求的最优的一个或多个服务器为最终调度结果。与现有技术相比,对于同一个调度请求消息,调度系统中各个过滤式调度器分工协作,并行处理,解决了现有技术中调度处理时间长、效率低的问题,提高了整个调度系统的调度能力和资源调度效率。
在本发明的另一个可能的实施例中,每个过滤式调度器在确定其所对应的虚拟群组中的调度结果之后,也可以通过记录资源预占信息解决现有技术中数据中所记录的服务器的可用资源无法实时更新,导致过滤式调度器误判造成调度失败的问题,具体方法如图5所示,所述方法包括:
S501、过滤式调度器在根据调度任务消息确定调度结果之后,记录资源预占信息。
具体地,资源预占信息用于记录过滤式调度器所确定的调度结果。例如,若调度任务消息1中携带的业务需求为创建虚拟机,虚拟机的规格包括2个CPU、10G内存、2个20G磁盘,1个网卡,假设过滤式调度器确定在其关联的虚拟群组中服务器1作为调度结果,则该过滤式调度器会将以上调度任务消息、调度结果作为资源预占信息记录。
表5为一种资源预占信息的示例:
可选地,过滤式调度器可以利用指定文件记录资源预占信息,也可以利用数据库记录资源预占信息。
值得说明的是,第一过滤式调度器所记录的资源预占信息为过滤式调度器所记录的一种信息标识,并未真正在第一调度结果所对应的服务器中划分物理资源。
可选地,在记录资源预占信息且未最终确定调度结果时,若再次执行新的调度任务消息,过滤式调度器在处理过程中,针对资源预占信息中所涉及的服务器,该过滤式调度器可以先在数据库中获取该服务器的可用资源信息,再减去该过滤式调度器所记录的资源预占信息,确定该服务器的剩余资源信息,再根据该服务器的剩余资源情况判断该服务器是否能够执行新的调度任务消息中的业务需求。
S502、当第一过滤式调度器确定最终调度结果时,第一过滤式调度器通知过滤式调度器最终调度结果,以使得过滤式调度器清除所记录的资源预占信息。
当第一过滤式调度器确定最终调度结果之后,会通知调度系统中所有过滤式调度器该最终调度结果,以便调度系统中过滤式调度器可以根据最终调度结果清除所记录的资源预占信息。其中,通知方式可以将最终调度结果存放在消息队列中,也可以在数据库中获取除第一过滤式调度器之外的所有调度器的IP地址,根据IP地址信息发送最终调度结果。
进一步地,清除资源预占信息的过程包括以下两种情况:
情况一:若最终调度结果中的服务器不属于过滤式调度器所关联的虚拟群组中,则该过滤式调度器直接清除其所记录的资源预占信息。
情况二:若最终调度结果中的服务器属于过滤式调度器所关联的虚拟群组中,则该过滤式调度器在最终调度结果中的服务器完成业务处理的之后,清除所记录的资源预占信息。
值得说明的是,最终调度结果所对应的服务器完成业务需求后,服务器会通知调度系统中的数据库更新其资源占用情况,并通知该服务器所对应的过滤式调度器业务需求处理成功,该过滤式调度器据此清除所记录的资源预占信息。
综上所述,对于一个调度请求消息,调度系统中各个过滤式调度器分工协作,分别在各自关联的虚拟群组中确定调度结果,由一个过滤式调度器汇总所有调度结果并确定最终调度结果,与现有技术相比,对于同一个调度请求消息,由多个过滤式调度器并行处理,减少了调度处理时间,提升了调度系统的处理效率。另一方面,每个过滤式调度器利用资源预占信息记录其确定的调度结果所需资源信息,解决了现有技术中数据库中记录服务器资源占用情况无法实时更新所导致的调度失败问题,从而提高了调度器集群管理大型数据中新资源的能力。
值得说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本发明的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
上文中结合图1至图5,详细描述了根据本发明实施例所提供的资源调度的方法和调度系统,下面将结合图6至图7,描述根据本发明实施例所提供的过滤式调度器。
图6为本发明实施例提供的一种资源调度的装置600,该装置600包括获取单元601、处理单元602、确定单元603;
所述获取单元,用于获取调度请求消息,所述调度请求消息中携带业务需求;
所述处理单元,用于将所述调度请求消息转换为调度任务消息,并通过异步通信方式通知所述调度系统中的每个过滤式调度器,其中,所述调度任务消息中携带所述业务需求和所述装置的角色信息,所述调度任务消息用于指示过滤式调度器根据所述业务需求在与所述过滤式调度器关联的虚拟群组中确定调度结果,并将所述调度结果发送给所述装置,所述调度结果包括满足所述业务需求的一个或多个服务器;
所述获取单元,还用于获取所述调度系统中的过滤式调度器根据所述调度任务消息确定的调度结果;
所述确定单元,用于当满足预置条件时,按照预置算法在所述获取到的调度结果中确定最终调度结果,所述最终调度结果中包括满足所述业务需求的一个或多个服务器。
应理解的是,本发明实施例的装置600可以通过专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)实现,或可编程逻辑器件(Programmable LogicDevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(Complex Programmable LogicDevice,CPLD),现场可编程门阵列(Field-Programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。通过软件实现图2所示的资源调度的处理方法时,装置600及其各个模块也可以为软件模块。
通过上述装置600的描述,调度器系统中每个过滤式调度器均会根据同一个调度请求在各自能够调度的服务器集合中确定调度结果,并将该调度结果发送给获取调度请求消息的过滤式调度器,在满足预置条件时,由该过滤式调度器在汇总的所有调度结果中选择一个最终调度结果,与现有技术中仅有一个过滤式调度器确定调度结果相比,多个过滤式调度器并行处理解决了现有技术中调度任务处理时间长、效率低的问题,提升了调度系统的资源调度能力和资源分配效率。
可选地,所述处理单元通过异步通信方式通知所述调度系统中的每个过滤式调度器包括:将所述调度任务消息存储在所述消息队列,以使得所述每个过滤式调度器监听所述消息队列,并获取所述调度任务消息。
具体地,在调度系统中通知每个过滤式调度器存在待处理的调度任务消息,可以将该调度任务消息存储在消息队列中,调度系统中每个过滤式调度器在监听到消息队列中存在待处理的调度任务消息时,获取该调度任务消息。
值得说明的是,当消息队列中调度请求消息被任意一个过滤式调度器取走后,为避免重复处理导致资源浪费问题,消息队列软件会将该调度请求消息在消息队列中删除,其他过滤式调度器无法再次获取该调度请求消息。而调度任务在本次调度请求的处理过程中一直存在,直至第一过滤器处理完成调度任务后再通知消息队列软件删除该调度任务消息,以便于存储集群中所有过滤式调度器能够通过异步的方式获取该调度任务。存储集群中的过滤式调度器获取该调度任务后可以确定每个过滤式调度器所对应虚拟群组中最适合执行该调度任务中业务需求的服务器。
可选地,第一过滤式调度器在调度系统中通知每个过滤式调度器存在待处理的调度任务消息,也可以将调度任务消息存储在用作异步通信的数据库中,如Redis数据库,所有过滤式调度器通过定期监听该数据库的方式获取该调度任务消息。
可选地,第一过滤式调度器在调度系统中通知每个过滤式调度器存在待处理的调度任务消息,还可以从数据库中获取调度系统中所有过滤式调度器的IP地址,根据IP地址将调度任务消息发送给除第一过滤式调度器外的所有过滤式调度器。
可选地,所述获取单元,还用于获得所述调度任务消息;
所述处理单元,还用于根据所述业务需求在所述过滤式调度器关联的虚拟群组中确定满足所述业务需求的服务器;根据预定义权值算法对确定出的服务器进行排序,并按照顺序依次选择一个或多个服务器作为所述调度结果。
可选地,所述预置条件包括:所述第一过滤式调度器获取所述调度结果的数量满足第一阈值;或
所述第一过滤式调度器获取所述调度结果的数量满足第一阈值且接收时间满足第二阈值。
可选地,所述确定单元按照预置算法在所述获取到的调度结果中确定最终调度结果包括以下方式中的任意一种:
按照所述预定义权值算法确定的权值对所述调度结果中所有服务器进行排序,依次选择一个或多个服务器为所述最终调度结果;或
按照接收时间顺序依次从所述调度结果中选择一个或多个服务器为所述最终调度结果;或
随机从所述调度结果中选择一个或多个服务器为所述最终调度结果;
其中,所述预定义权值算法可以根据服务器的CPU剩余量、内存剩余量、磁盘剩余量、网络流量、CPU类型、磁盘类型、网卡类型、磁盘每秒进行读写的次数中的至少一种定义不同权重,并计算获得每个服务器的权值。
可选地,所述装置还包括记录单元;所述记录单元,用于在确定所述调度结果之后,记录资源预占信息,所述资源预占信息用于标识所述过滤式调度器所确定的所述调度结果在对应的服务器中需要占用的资源信息;
所述处理单元,还用于在所述第一过滤式调度器确定所述最终调度结果之后,通知所述过滤式调度器所述最终调度结果。
综上所述,对于一个调度请求消息,调度系统中各个过滤式调度器分工协作,分别在各自关联的虚拟群组中确定调度结果,由一个过滤式调度器汇总所有调度结果并确定最终调度结果,与现有技术相比,对于同一个调度请求消息,由多个过滤式调度器并行处理,减少了调度处理时间,提升了调度系统的处理效率。另一方面,每个过滤式调度器利用资源预占信息记录其确定的调度结果所需资源信息,解决了现有技术中数据库中记录服务器资源占用情况无法实时更新所导致的调度失败问题,从而提高了调度器集群管理大型数据中新资源的能力。
根据本发明实施例的装置600可对应于执行本发明实施例中描述的方法,并且装置600中的各个单元的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
图7为本发明所提供的一种过滤式调度器700,如图7所示,所述过滤式调度器700包括处理器701、存储器702、通信接口703、总线704,所述处理器701、存储器702和通信接口703之间通过总线704连接并完成相互间通信,所述存储器702用于存储计算机执行指令,所述过滤式调度器700运行时,所述处理器701执行所述存储器702中的计算机执行指令以利用所述过滤式调度器700中的硬件资源执行以下操作:
获取调度请求消息,所述调度请求消息中携带业务需求;
将所述调度请求消息转换为调度任务消息,并通过异步通信方式通知所述调度系统中的每个过滤式调度器,其中,所述调度任务消息中携带所述业务需求和所述过滤式调度器700的角色信息,所述调度任务消息用于指示过滤式调度器根据所述业务需求在与所述过滤式调度器关联的虚拟群组中确定调度结果,并将所述调度结果发送给所述过滤式调度器700,所述调度结果包括满足所述业务需求的一个或多个服务器;
获取所述调度系统中的过滤式调度器根据所述调度任务消息确定的调度结果;
当满足预置条件时,按照预置算法在所述获取到的调度结果中确定最终调度结果,所述最终调度结果中包括满足所述业务需求的一个或多个服务器。
应理解的是,在本发明实施例中,该处理器701可以是CPU,该处理器701还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器。例如,存储器702还可以存储设备类型的信息。
该系统总线704除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为系统总线704。
通过上述内容的描述,对于一个调度请求,调度器集群中各个过滤式调度器分工协作,分别在各自对应的虚拟群组中确定调度结果,并由第一个获取该调度请求的过滤式调度器汇总所有结果并最终确定最佳调度结果,避免了现有技术中多个过滤式调度器并行工作导致资源竞争问题。另一方面,每个过滤式调度器利用资源预占信息记录其确定的调度结果所需资源信息,解决了现有技术中数据库中记录服务器资源占用情况无法实时更新所导致的调度失败问题,提升了调度器集群资源分配的消息,从而提高了调度器集群管理大型数据中新资源的能力。
应理解的是,根据本发明实施例的过滤式调度器700可对应于本发明实施例中的资源调度的装置600,并可以对应于执行根据本发明实施例的图2所示方法中的相应主体,并且过滤式调度器700中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的各个方法的相应流程,为了简洁,在此不再赘述。
综上所述,对于一个调度请求,调度器集群中各个过滤式调度器分工协作,分别在各自对应的虚拟群组中确定调度结果,并由第一个获取该调度请求的过滤式调度器汇总所有结果并最终确定最佳调度结果,避免了现有技术中多个过滤式调度器并行工作导致资源竞争问题。另一方面,每个过滤式调度器利用资源预占信息记录其确定的调度结果所需资源信息,解决了现有技术中数据库中记录服务器资源占用情况无法实时更新所导致的调度失败问题,提升了调度器集群资源分配的消息,从而提高了调度器集群管理大型数据中新资源的能力。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种资源调度的方法,其特征在于,所述方法应用于调度系统,所述调度系统包括至少两个过滤式调度器和至少两个虚拟群组,其中,每个过滤式调度器关联至少一个虚拟群组,每个虚拟群组中包括能被该虚拟群组关联的过滤式调度器调度的服务器;所述方法包括:
第一过滤式调度器获取调度请求消息,所述调度请求消息中携带业务需求,所述第一过滤式调度器为所述调度系统中任一过滤式调度器;
所述第一过滤式调度器将所述调度请求消息转换为调度任务消息;
所述第一过滤式调度器将所述调度任务消息通知所述调度系统中的其他过滤式调度器;
所述第一过滤式调度器获取所述调度系统中的其他过滤式调度器根据所述调度任务消息确定的调度结果,在所述调度结果中确定最终调度结果,所述最终调度结果包括满足所述业务需求的一个或多个服务器。
2.根据权利要求1所述的方法,其特征在于,所述调度系统中的一个服务器属于一个虚拟群组。
3.根据权利要求1或2所述的方法,其特征在于,所述第一过滤式调度器将所述调度任务消息通知所述调度系统中的其他过滤式调度器,包括:
所述第一过滤式调度器将所述调度任务消息存储在消息队列,以使得所述调度系统中的其他过滤式调度器监听所述消息队列,并获取所述调度任务消息。
4.根据权利要求1或2所述的方法,其特征在于,所述在所述调度结果中确定最终调度结果,包括:
当满足预置条件时,所述第一过滤式调度器按照预置算法在所述调度结果中确定最终调度结果。
5.根据权利要求4所述的方法,其特征在于,所述满足预置条件包括:
所述第一过滤式调度器获取所述调度结果的数量满足第一阈值;或
所述第一过滤式调度器获取所述调度结果的数量满足第一阈值且接收时间满足第二阈值。
6.根据权利要求4所述的方法,其特征在于,所述第一过滤式调度器按照预置算法在所述调度结果中确定最终调度结果,包括:
所述第一过滤式调度器按照预定义权值算法确定所述调度结果中的服务器的权值,根据所述权值对所述调度结果中所有服务器进行排序,根据所述排序选择一个或多个服务器为所述最终调度结果。
7.根据权利要求6所述的方法,其特征在于,所述第一过滤式调度器按照预定义权值算法确定所述调度结果中的服务器的权值,包括:
所述第一过滤式调度器根据服务器的CPU剩余量、内存剩余量、磁盘剩余量、网络流量、CPU类型、磁盘类型、网卡类型、磁盘每秒进行读写的次数中的至少一种确定所述调度结果中的服务器的权值。
8.根据权利要求1、2、5-7任一项所述的方法,其特征在于,所述方法还包括:所述第一过滤式调度器通知所述调度系统中的其他过滤式调度器所述最终调度结果,以使得所述调度系统中的其他过滤式调度器清除资源预占信息,其中,所述资源预占信息为过滤式调度器在确定所述调度结果后记录的,所述资源预占信息用于表示所述过滤式调度器确定的所述调度结果中的服务器需要被占用的资源信息。
9.一种资源调度的装置,其特征在于,所述装置应用于第一过滤式调度器,所述第一过滤式调度器属于调度系统,所述调度系统包括至少两个过滤式调度器和至少两个虚拟群组,其中,每个过滤式调度器关联至少一个虚拟群组,每个虚拟群组中包括能被该虚拟群组关联的过滤式调度器调度的服务器,所述装置包括获取单元、处理单元、确定单元;
所述获取单元,用于获取调度请求消息,所述调度请求消息中携带业务需求;
所述处理单元,用于将所述调度请求消息转换为调度任务消息,将所述调度任务消息通知调度系统中的其他过滤式调度器;
所述获取单元,还用于获取所述调度系统中的其他过滤式调度器根据所述调度任务消息确定的调度结果;
所述确定单元,用于在所述调度结果中确定最终调度结果,所述最终调度结果包括满足所述业务需求的一个或多个服务器。
10.根据权利要求9所述的装置,其特征在于,所述处理单元用于将所述调度任务消息通知调度系统中的过滤式调度器,包括:
所述处理单元用于将所述调度任务消息存储在消息队列,以使得所述调度系统中的其他过滤式调度器监听所述消息队列,并获取所述调度任务消息。
11.根据权利要求9所述的装置,其特征在于,所述确定单元用于在所述调度结果中确定最终调度结果,包括:
所述确定单元,用于当满足预置条件时,按照预置算法在所述调度结果中确定最终调度结果。
12.根据权利要求9所述的装置,其特征在于,所述满足预置条件包括:
获取所述调度结果的数量满足第一阈值;或
获取所述调度结果的数量满足第一阈值且接收时间满足第二阈值。
13.根据权利要求11所述的装置,其特征在于,所述按照预置算法在所述调度结果中确定最终调度结果,包括:
按照预定义权值算法确定所述调度结果中的服务器的权值,根据所述权值对所述调度结果中所有服务器进行排序,根据所述排序选择一个或多个服务器为所述最终调度结果。
14.根据权利要求13所述的装置,其特征在于,所述按照预定义权值算法确定所述调度结果中的服务器的权值,包括:
根据服务器的CPU剩余量、内存剩余量、磁盘剩余量、网络流量、CPU类型、磁盘类型、网卡类型、磁盘每秒进行读写的次数中的至少一种确定所述调度结果中的服务器的权值。
15.根据权利要求9、13、14中任一项所述的装置,其特征在于,
所述处理单元,还用于通知所述调度系统中的其他过滤式调度器所述最终调度结果,以使得所述调度系统中的其他过滤式调度器清除资源预占信息,其中,所述资源预占信息为过滤式调度器在确定所述调度结果后记录的,所述资源预占信息用于表示所述过滤式调度器确定的所述调度结果中的服务器需要被占用的资源信息。
16.一种过滤式调度器,其特征在于,所述过滤式调度器包括处理器、存储器,所述存储器中存储计算机执行指令,所述处理器执行所述存储器中的计算机执行指令执行前述权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010057844.5A CN111258737B (zh) | 2016-10-19 | 2016-10-19 | 一种资源调度的方法、装置和过滤式调度器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010057844.5A CN111258737B (zh) | 2016-10-19 | 2016-10-19 | 一种资源调度的方法、装置和过滤式调度器 |
CN201610914532.5A CN107968802B (zh) | 2016-10-19 | 2016-10-19 | 一种资源调度的方法、装置和过滤式调度器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610914532.5A Division CN107968802B (zh) | 2016-10-19 | 2016-10-19 | 一种资源调度的方法、装置和过滤式调度器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258737A CN111258737A (zh) | 2020-06-09 |
CN111258737B true CN111258737B (zh) | 2023-12-08 |
Family
ID=61997130
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610914532.5A Active CN107968802B (zh) | 2016-10-19 | 2016-10-19 | 一种资源调度的方法、装置和过滤式调度器 |
CN202010057844.5A Active CN111258737B (zh) | 2016-10-19 | 2016-10-19 | 一种资源调度的方法、装置和过滤式调度器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610914532.5A Active CN107968802B (zh) | 2016-10-19 | 2016-10-19 | 一种资源调度的方法、装置和过滤式调度器 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN107968802B (zh) |
WO (1) | WO2018072687A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109343941B (zh) * | 2018-08-14 | 2023-02-21 | 创新先进技术有限公司 | 任务处理方法、装置、电子设备及计算机可读存储介质 |
CN110971920B (zh) * | 2018-09-30 | 2021-11-26 | 武汉斗鱼网络科技有限公司 | 一种消息的降级方法及相关装置 |
CN110109976B (zh) * | 2019-05-15 | 2021-09-10 | 成都四方伟业软件股份有限公司 | 数据处理方法、装置、系统及存储介质 |
CN110267060B (zh) * | 2019-07-24 | 2021-03-26 | 北京视界云天科技有限公司 | 视频文件存储注入方法、装置、计算机设备和存储介质 |
CN110912967A (zh) * | 2019-10-31 | 2020-03-24 | 北京浪潮数据技术有限公司 | 一种服务节点调度方法、装置、设备及存储介质 |
CN111182047B (zh) * | 2019-12-24 | 2023-04-07 | 中国银联股份有限公司 | 用于在跨网络的大数据平台之间转移文件的方法和系统 |
CN111198749A (zh) * | 2020-01-06 | 2020-05-26 | 紫光云技术有限公司 | 一种提高创建虚拟机物理节点调度效率的方法 |
CN111240822B (zh) * | 2020-01-15 | 2023-11-17 | 华为技术有限公司 | 任务调度方法、装置、系统及存储介质 |
CN113382424B (zh) * | 2020-03-10 | 2023-07-18 | 中国移动通信集团辽宁有限公司 | 一种lte基站硬件资源调度处理方法及装置 |
CN111949386A (zh) * | 2020-07-09 | 2020-11-17 | 北京齐尔布莱特科技有限公司 | 一种任务调度方法、系统、计算装置及可读存储介质 |
CN111831420B (zh) * | 2020-07-20 | 2023-08-08 | 北京百度网讯科技有限公司 | 用于任务调度的方法、相关装置及计算机程序产品 |
CN113112139A (zh) * | 2021-04-07 | 2021-07-13 | 上海联蔚盘云科技有限公司 | 云平台账单的处理方法和设备 |
CN113032126B (zh) * | 2021-04-07 | 2022-09-20 | 北京理工大学 | 一种高并发云工作流调度引擎跨集群通信系统及方法 |
CN113760513B (zh) * | 2021-09-16 | 2024-06-18 | 康键信息技术(深圳)有限公司 | 一种分布式任务调度方法、装置、设备和介质 |
CN114461356B (zh) * | 2021-12-22 | 2024-09-27 | 天翼云科技有限公司 | 调度器进程数量的控制方法、IaaS云平台调度系统 |
CN114429313B (zh) * | 2022-04-01 | 2022-07-05 | 苏州万店掌网络科技有限公司 | 一种权重排期方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
CN102662636A (zh) * | 2012-03-27 | 2012-09-12 | 北京华如科技股份有限公司 | 一种基于两层虚拟机的并行作业调度的方法 |
CN104503832A (zh) * | 2014-12-22 | 2015-04-08 | 西安电子科技大学 | 一种公平和效率均衡的虚拟机调度系统及方法 |
CN105159762A (zh) * | 2015-08-03 | 2015-12-16 | 冷明 | 基于贪心策略的启发式云计算任务调度方法 |
US9229774B1 (en) * | 2012-07-13 | 2016-01-05 | Google Inc. | Systems and methods for performing scheduling for a cluster |
CN105893158A (zh) * | 2016-06-08 | 2016-08-24 | 北京工业大学 | 私有云条件下的大数据混合调度模型 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8205208B2 (en) * | 2007-07-24 | 2012-06-19 | Internaitonal Business Machines Corporation | Scheduling grid jobs using dynamic grid scheduling policy |
US9141433B2 (en) * | 2009-12-18 | 2015-09-22 | International Business Machines Corporation | Automated cloud workload management in a map-reduce environment |
US8984519B2 (en) * | 2010-11-17 | 2015-03-17 | Nec Laboratories America, Inc. | Scheduler and resource manager for coprocessor-based heterogeneous clusters |
-
2016
- 2016-10-19 CN CN201610914532.5A patent/CN107968802B/zh active Active
- 2016-10-19 CN CN202010057844.5A patent/CN111258737B/zh active Active
-
2017
- 2017-10-17 WO PCT/CN2017/106553 patent/WO2018072687A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957780A (zh) * | 2010-08-17 | 2011-01-26 | 中国电子科技集团公司第二十八研究所 | 一种基于资源状态信息的网格任务调度处理器及方法 |
CN102662636A (zh) * | 2012-03-27 | 2012-09-12 | 北京华如科技股份有限公司 | 一种基于两层虚拟机的并行作业调度的方法 |
US9229774B1 (en) * | 2012-07-13 | 2016-01-05 | Google Inc. | Systems and methods for performing scheduling for a cluster |
CN104503832A (zh) * | 2014-12-22 | 2015-04-08 | 西安电子科技大学 | 一种公平和效率均衡的虚拟机调度系统及方法 |
CN105159762A (zh) * | 2015-08-03 | 2015-12-16 | 冷明 | 基于贪心策略的启发式云计算任务调度方法 |
CN105893158A (zh) * | 2016-06-08 | 2016-08-24 | 北京工业大学 | 私有云条件下的大数据混合调度模型 |
Also Published As
Publication number | Publication date |
---|---|
CN107968802A (zh) | 2018-04-27 |
CN111258737A (zh) | 2020-06-09 |
CN107968802B (zh) | 2020-02-14 |
WO2018072687A1 (zh) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258737B (zh) | 一种资源调度的方法、装置和过滤式调度器 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
US9577961B2 (en) | Input/output management in a distributed strict queue | |
US10091215B1 (en) | Client isolation in a distributed queue | |
CN107948095B (zh) | 一种资源控制方法、装置及总线系统服务器 | |
US10200295B1 (en) | Client selection in a distributed strict queue | |
CN108776934A (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US9571414B2 (en) | Multi-tiered processing using a distributed strict queue | |
US9584593B2 (en) | Failure management in a distributed strict queue | |
US12135996B2 (en) | Computing resource scheduling method, scheduler, internet of things system, and computer readable medium | |
CN103905533A (zh) | 基于云存储的分布式告警监控方法和系统 | |
CN102301664B (zh) | 多核处理器的流分发方法及装置 | |
US9575820B2 (en) | Client control in a distributed strict queue | |
CN107577534A (zh) | 一种资源调度方法及装置 | |
US20150381549A1 (en) | Message batching in a distributed strict queue | |
CN105022668B (zh) | 一种作业调度方法及系统 | |
CN111030945A (zh) | 容灾方法、容灾网关、存储介质、装置以及系统 | |
US9577878B2 (en) | Geographic awareness in a distributed strict queue | |
CN114153609A (zh) | 资源控制方法及装置、电子设备、计算机可读存储介质 | |
CN107231284B (zh) | 一种消息的发送方法和终端设备 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN204425400U (zh) | 应用服务器系统 | |
CN110209475B (zh) | 数据采集方法及装置 | |
CN113190347A (zh) | 一种边缘云系统及任务管理方法 | |
US12047253B2 (en) | System and method to provide priority based quality of service for telemetry data |
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 |