CN110750350B - 一种大资源调度方法、系统、装置及可读存储介质 - Google Patents

一种大资源调度方法、系统、装置及可读存储介质 Download PDF

Info

Publication number
CN110750350B
CN110750350B CN201911039130.5A CN201911039130A CN110750350B CN 110750350 B CN110750350 B CN 110750350B CN 201911039130 A CN201911039130 A CN 201911039130A CN 110750350 B CN110750350 B CN 110750350B
Authority
CN
China
Prior art keywords
task
resource
tasks
group
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.)
Active
Application number
CN201911039130.5A
Other languages
English (en)
Other versions
CN110750350A (zh
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.)
Guangdong Inspur Smart Computing Technology Co Ltd
Original Assignee
Guangdong Inspur Big Data Research 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 Guangdong Inspur Big Data Research Co Ltd filed Critical Guangdong Inspur Big Data Research Co Ltd
Priority to CN201911039130.5A priority Critical patent/CN110750350B/zh
Publication of CN110750350A publication Critical patent/CN110750350A/zh
Application granted granted Critical
Publication of CN110750350B publication Critical patent/CN110750350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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

一种大资源调度方法、系统、装置及可读存储介质
技术领域
本发明涉及资源管理领域,特别涉及一种大资源调度方法、系统、装置及可读存储介质。
背景技术
当前,Kubernetes系统作为管理跨多主机容器应用程序的系统,不仅具备完备的容器集群管理能力,还具备多层次的安全防护机制、租户应用支撑、服务器注册和智能负载均衡器的功能,尤其是强大的故障发现和自由修复能力,大幅度提升了系统的运维能力。Kubernetes卓越的调度能力也在很多业务场景中得到应用。
具体的,Kubernetes的调度策略以队列形式先进先出,所以当出现较大资源配额需求的任务、资源池剩余资源无法满足其需求时,队列就会发生堵塞,导致后面资源配额较小、资源池能够满足其需求的任务也无法被调度。这种情况是系统管理员不愿意看到的,后来Kubernetes对调度策略进行了优化,可以让队列中能满足需求的小任务优先被调度,但这种情况又会让大资源配额需求的任务长时间无法得到需求资源。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种合理调度资源、灵活调度资源、提高系统调度能力的大资源调度方法、系统、装置及可读存储介质。其具体方案如下:
一种大资源调度方法,包括:
按照预设频率依次从队列中获取任务组,每个所述任务组包括多个任务;
依次对每个所述任务组进行任务组操作;
所述任务组操作包括:按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序,并按照顺序对每个所述任务执行任务操作;
所述任务操作包括:
判断当前资源池内资源是否能满足该任务的请求资源额度;
如果是,从当前资源池内分配对应的资源给该任务;
如果否,将该任务下放到下一任务组。
优选的,所述按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序的过程,具体包括:
按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序。
优选的,所述按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序的过程,具体包括:
按照每个所述任务的调度级别,对当前任务组内的多个所述任务从高到低排序;
按照每个所述任务的请求资源额度,对同一调度级别的多个所述任务从大到小排序。
优选的,所述按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序的过程,具体包括:
按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序;
按照每个所述任务的调度级别,对同一请求资源额度区间内的多个所述任务从高到低排序。
优选的,所述将该任务下放到下一任务组的过程,具体包括:
对该任务的下放次数计数;
当所述下放次数不超过预设次数,将该任务下放到下一任务组;
当所述下放次数超过所述预设次数,建立一个独立任务组接收该任务。
优选的,所述任务操作还包括:
如果当前任务的调度级别达到或高于预设调度级别且当前资源池内资源不能满足当前任务的请求资源额度,按照调度级别从低到高,驱逐正在运行的其他任务,直至当前资源池内资源满足当前任务的资源请求额度。
优选的,所述预设频率具体为预设时间频率或预设任务量频率。
相应的,本发明还公开了一种大资源调度系统,包括:
任务组获取模块,用于按照预设频率依次从队列中获取任务组,每个所述任务组包括多个任务;
任务组操作模块,用于依次对每个所述任务组进行任务组操作;所述任务组操作包括:按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序,并按照顺序触发任务操作模块;
所述任务操作模块,用于对每个所述任务执行任务操作;所述任务操作包括:
判断当前资源池内资源是否能满足该任务的请求资源额度;
如果是,从当前资源池内分配对应的资源给该任务;
如果否,将该任务下放到下一任务组。
相应的,本发明还公开了一种大资源调度装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文所述大资源调度方法的步骤。
相应的,本发明还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述大资源调度方法的步骤。
本发明公开了一种大资源调度方法,包括:按照预设频率依次从队列中获取任务组,每个所述任务组包括多个任务;依次对每个所述任务组进行任务组操作;所述任务组操作包括:按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序,并按照顺序对每个所述任务执行任务操作;所述任务操作包括:判断当前资源池内资源是否能满足该任务的请求资源额度;如果是,从当前资源池内分配对应的资源给该任务;如果否,将该任务下放到下一任务组。本申请对任务组内的任务进行排序,率先分配资源给较大请求资源额度的任务,如果资源池内资源不够,则将该任务下放到下一任务组,先为本任务组内其他任务调配资源。这样既不会阻碍请求资源额度较小的任务的调度,也能够让请求资源额度较大的任务得到反馈调度,只要有资源被释放、资源池内资源足够,即可供大资源任务使用,大大提高了系统针对不同调度需求的任务的调度能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种大资源调度方法的步骤流程图;
图2为本发明实施例中任务操作的步骤流程图;
图3为本发明实施例中任务操作的步骤流程图;
图4为本发明实施例中一种大资源调度系统的结构分布图;
图5为本发明实施例中一种大资源调度装置的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Kubernetes的调度策略以队列形式先进先出,所以当出现较大资源配额需求的任务、资源池剩余资源无法满足其需求时,队列就会发生堵塞,导致后面资源配额较小、资源池能够满足其需求的任务也无法被调度。这种情况是系统管理员不愿意看到的,后来Kubernetes对调度策略进行了优化,可以让队列中能满足需求的小任务优先被调度,但这种情况又会让大资源配额需求的任务长时间无法得到需求资源。
本申请对任务组内的任务进行排序,率先分配资源给较大请求资源额度的任务,如果资源池内资源不够,则将该任务下放到下一任务组,先为本任务组内其他任务调配资源。这样既不会阻碍请求资源额度较小的任务的调度,也能够让请求资源额度较大的任务得到反馈调度,只要有资源被释放、资源池内资源足够,即可供大资源任务使用,大大提高了系统针对不同调度需求的任务的调度能力。
本发明实施例公开了一种大资源调度方法,参见图1所示,包括:
S11:按照预设频率依次从队列中获取任务组,每个任务组包括多个任务;
具体的,预设频率通常为预设时间频率或预设任务量频率。按照预设时间频率来获取任务组又称快照,快照频率可进行设置,例如设置为一秒钟一次,这一秒内队列中的任务被分至同一组;预设任务量频率则是以任务量进行分组,当队列中的任务数量达到预设任务量,将这些任务分至一组。除此之外,还可以选择其他的参量作为预设频率设置的依据,此处不作限制。
S12:依次对每个任务组进行任务组操作;
任务组操作包括:按照每个任务的请求资源额度,对当前任务组内的多个任务从大到小排序,并按照顺序对每个任务执行任务操作;
参见图2所示,任务操作包括:
S21:判断当前资源池内资源是否能满足该任务的请求资源额度;
S22:如果是,从当前资源池内分配对应的资源给该任务;
S23:如果否,将该任务下放到下一任务组。
可以理解的是,本实施例中,按照获取任务组的顺序对每一个任务组进行任务组操作,也即从大到小排序并依次分析每个任务的请求资源额度能否被满足,如果能,则从当前资源池内分配对应的资源给该任务并进行下一任务的请求资源额度判断,如果不能,则将该任务下放到下一任务组,此时当前任务组已移除该任务,进而继续下一任务的请求资源额度判断。在任务组内的排序使得大请求资源额度的任务能够得到优先处理,此时资源池中的资源还没有被小请求资源额度的任务使用而碎片化,所以大请求资源额度的任务被成功分配资源并调度的概率要大大提高。
进一步的,如果当前任务的请求资源额度不能被满足,在下放到下一任务组时通常不会并入下一任务组中其他任务的排序,而是直接会直接置于下一任务组的队首,以便优先处理该任务。
可以理解的是,本实施例中大资源调度方法,可以应用于Kubernetes系统,也可以应用于其他队列中任务资源调度相关的系统内。
本发明公开了一种大资源调度方法,包括:按照预设频率依次从队列中获取任务组,每个任务组包括多个任务;依次对每个任务组进行任务组操作;任务组操作包括:按照每个任务的请求资源额度,对当前任务组内的多个任务从大到小排序,并按照顺序对每个任务执行任务操作;任务操作包括:判断当前资源池内资源是否能满足该任务的请求资源额度;如果是,从当前资源池内分配对应的资源给该任务;如果否,将该任务下放到下一任务组。本申请对任务组内的任务进行排序,率先分配资源给较大请求资源额度的任务,如果资源池内资源不够,则将该任务下放到下一任务组,先为本任务组内其他任务调配资源。这样既不会阻碍请求资源额度较小的任务的调度,也能够让请求资源额度较大的任务得到反馈调度,只要有资源被释放、资源池内资源足够,即可供大资源任务使用,大大提高了系统针对不同调度需求的任务的调度能力。
本发明实施例公开了一种具体的大资源调度方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,按照每个任务的请求资源额度,对当前任务组内的多个任务从大到小排序的过程,具体包括:
按照每个任务的调度级别和请求资源额度,对当前任务组内的多个任务从高到低、从大到小排序。
可以理解的是,任务组内的排序先后决定了任务被分配资源的优先顺序,因此除了原本的资源请求额度作为排序权重参考外,还可以加入其它参考条件如调度级别,通过调度级别来调整任务的紧急程度,以优先执行。
具体的,按照每个任务的调度级别和请求资源额度,对当前任务组内的多个任务从高到低、从大到小排序的过程,可以包括:
按照每个任务的调度级别,对当前任务组内的多个任务从高到低排序;
按照每个任务的请求资源额度,对同一调度级别的多个任务从大到小排序。
类似的,按照每个任务的调度级别和请求资源额度,对当前任务组内的多个任务从高到低、从大到小排序的过程,还可以具体包括:
按照每个任务的请求资源额度,对当前任务组内的多个任务从大到小排序;
按照每个任务的调度级别,对同一请求资源额度区间内的多个任务从高到低排序。
进一步的,如果先按调度级别排序,再按请求资源额度排序,如果出现以下情况:当前任务的调度级别达到或高于预设调度级别且当前资源池内资源不能满足当前任务的请求资源额度,还可以按照调度级别从低到高,驱逐正在运行的其他任务,直至当前资源池内资源满足当前任务的资源请求额度。
可以理解的是,驱逐正在运行的其他任务能够释放资源到资源池内,以将资源池内的资源提供给该任务。这种方法中存在的风险就是调度级别越低,任务越容易被驱逐,同一低调度级别内被驱逐的任务可以是随机的,也可以是按资源使用多少从大到小依次驱逐,直至当前资源池内资源充足为止。
本发明实施例公开了一种具体的大资源调度方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,参见图3所示,将该任务下放到下一任务组的过程,具体包括:
S31:对该任务的下放次数计数;
S32:当下放次数不超过预设次数,将该任务下放到下一任务组;
S33:当下放次数超过预设次数,建立一个独立任务组接收该任务。
可以理解的是,即使按照第一个实施例中的方法执行,下放到下一任务组的任务直接置于首位不参与任务排序,也只是提高了该任务的优先调度可能性,不能百分百保证该任务能够被调度成功,只能多次反复尝试来提高调度成功的可能性。针对这种情况,本实施例增加了预设次数作为最大下放次数,一旦该任务的下放次数超过预设次数,不再将其加入其它任务组,而是另建一个独立任务组,该任务组内只有这一个任务,在处理这个任务组时,不会调度其它资源,能够让资源池中的资源尽快释放,满足大任务的使用。该措施的设置可以再次提高大任务被成功调度的概率。
进一步的,本实施例中同样可以应用上一实施例中提到的驱逐正在运行的其他任务的方式,来尽快释放资源,也即:
如果当前任务的下放次数超过预设次数,其调度级别达到或高于预设调度级别且当前资源池内资源不能满足当前任务的请求资源额度,还可以按照调度级别从低到高,驱逐正在运行的其他任务,直至当前资源池内资源满足当前任务的资源请求额度。
可见,本实施例中的策略可以由客户进行灵活设定,提高了产品在不同的业务场景的支持力度。
相应的,本发明还公开了一种大资源调度系统,参见图4所示,包括:
任务组获取模块01,用于按照预设频率依次从队列中获取任务组,每个任务组包括多个任务;
任务组操作模块02,用于依次对每个任务组进行任务组操作;任务组操作包括:按照每个任务的请求资源额度,对当前任务组内的多个任务从大到小排序,并按照顺序触发任务操作模块03;
任务操作模块03,用于对每个任务执行任务操作;任务操作包括:
判断当前资源池内资源是否能满足该任务的请求资源额度;
如果是,从当前资源池内分配对应的资源给该任务;
如果否,将该任务下放到下一任务组。
本申请对任务组内的任务进行排序,率先分配资源给较大请求资源额度的任务,如果资源池内资源不够,则将该任务下放到下一任务组,先为本任务组内其他任务调配资源。这样既不会阻碍请求资源额度较小的任务的调度,也能够让请求资源额度较大的任务得到反馈调度,只要有资源被释放、资源池内资源足够,即可供大资源任务使用,大大提高了系统针对不同调度需求的任务的调度能力。
在一些具体的实施例中,任务组操作模块02具体用于:
按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序。
在一些具体的实施例中,任务组操作模块02具体用于:
按照每个所述任务的调度级别,对当前任务组内的多个所述任务从高到低排序;
按照每个所述任务的请求资源额度,对同一调度级别的多个所述任务从大到小排序。
在一些具体的实施例中,任务组操作模块02具体用于:
按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序;
按照每个所述任务的调度级别,对同一请求资源额度区间内的多个所述任务从高到低排序。
在一些具体的实施例中,任务操作模块03具体用于:
对该任务的下放次数计数;
当所述下放次数不超过预设次数,将该任务下放到下一任务组;
当所述下放次数超过所述预设次数,建立一个独立任务组接收该任务。
在一些具体的实施例中,任务操作模块03具体还用于:
如果当前任务的调度级别达到或高于预设调度级别且当前资源池内资源不能满足当前任务的请求资源额度,按照调度级别从低到高,驱逐正在运行的其他任务,直至当前资源池内资源满足当前任务的资源请求额度。
在一些具体的实施例中,所述预设频率具体为预设时间频率或预设任务量频率。
本申请实施例还公开了一种大资源调度装置,参见图5所示,包括处理器11和存储器12;其中,所述处理11执行所述存储器12中保存的计算机程序时实现以下步骤:
按照预设频率依次从队列中获取任务组,每个所述任务组包括多个任务;
依次对每个所述任务组进行任务组操作;
所述任务组操作包括:按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序,并按照顺序对每个所述任务执行任务操作;
所述任务操作包括:
判断当前资源池内资源是否能满足该任务的请求资源额度;
如果是,从当前资源池内分配对应的资源给该任务;
如果否,将该任务下放到下一任务组。
本申请对任务组内的任务进行排序,率先分配资源给较大请求资源额度的任务,如果资源池内资源不够,则将该任务下放到下一任务组,先为本任务组内其他任务调配资源。这样既不会阻碍请求资源额度较小的任务的调度,也能够让请求资源额度较大的任务得到反馈调度,只要有资源被释放、资源池内资源足够,即可供大资源任务使用,大大提高了系统针对不同调度需求的任务的调度能力。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
按照每个所述任务的调度级别,对当前任务组内的多个所述任务从高到低排序;
按照每个所述任务的请求资源额度,对同一调度级别的多个所述任务从大到小排序。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序;
按照每个所述任务的调度级别,对同一请求资源额度区间内的多个所述任务从高到低排序。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
对该任务的下放次数计数;
当所述下放次数不超过预设次数,将该任务下放到下一任务组;
当所述下放次数超过所述预设次数,建立一个独立任务组接收该任务。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
如果当前任务的调度级别达到或高于预设调度级别且当前资源池内资源不能满足当前任务的请求资源额度,按照调度级别从低到高,驱逐正在运行的其他任务,直至当前资源池内资源满足当前任务的资源请求额度。
在一些具体的实施例中,所述预设频率具体为预设时间频率或预设任务量频率。
进一步的,本实施例中的大资源调度装置,还可以包括:
输入接口13,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器12中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器11中,以便处理器11利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口13具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口14,用于将处理器11产生的各种数据输出至与其相连的终端设备,以便于与输出接口14相连的其他终端设备能够获取到处理器11产生的各种数据。本实施例中,所述输出接口14具体可以包括但不限于USB接口、串行接口等。
通讯单元15,用于在大资源调度装置和外部服务器之间建立远程通讯连接,以便于大资源调度装置能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元15具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘16,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器17,用于对资源调度过程的相关信息进行实时显示,以便于用户及时地了解当前资源调度的情况。
鼠标18,可以用于协助用户输入数据并简化用户的操作。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
按照预设频率依次从队列中获取任务组,每个所述任务组包括多个任务;
依次对每个所述任务组进行任务组操作;
所述任务组操作包括:按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序,并按照顺序对每个所述任务执行任务操作;
所述任务操作包括:
判断当前资源池内资源是否能满足该任务的请求资源额度;
如果是,从当前资源池内分配对应的资源给该任务;
如果否,将该任务下放到下一任务组。
本申请对任务组内的任务进行排序,率先分配资源给较大请求资源额度的任务,如果资源池内资源不够,则将该任务下放到下一任务组,先为本任务组内其他任务调配资源。这样既不会阻碍请求资源额度较小的任务的调度,也能够让请求资源额度较大的任务得到反馈调度,只要有资源被释放、资源池内资源足够,即可供大资源任务使用,大大提高了系统针对不同调度需求的任务的调度能力。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
按照每个所述任务的调度级别,对当前任务组内的多个所述任务从高到低排序;
按照每个所述任务的请求资源额度,对同一调度级别的多个所述任务从大到小排序。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序;
按照每个所述任务的调度级别,对同一请求资源额度区间内的多个所述任务从高到低排序。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
对该任务的下放次数计数;
当所述下放次数不超过预设次数,将该任务下放到下一任务组;
当所述下放次数超过所述预设次数,建立一个独立任务组接收该任务。
在一些具体的实施例中,所述计算机可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
如果当前任务的调度级别达到或高于预设调度级别且当前资源池内资源不能满足当前任务的请求资源额度,按照调度级别从低到高,驱逐正在运行的其他任务,直至当前资源池内资源满足当前任务的资源请求额度。
在一些具体的实施例中,所述预设频率具体为预设时间频率或预设任务量频率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种大资源调度方法、系统、装置及可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种大资源调度方法,其特征在于,包括:
按照预设频率依次从队列中获取任务组,每个所述任务组包括多个任务;
依次对每个所述任务组进行任务组操作;
所述任务组操作包括:按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序,并按照顺序对每个所述任务执行任务操作;
所述任务操作包括:
判断当前资源池内资源是否能满足该任务的请求资源额度;
如果是,从当前资源池内分配对应的资源给该任务;
如果否,将该任务下放到下一任务组;
所述按照预设频率依次从队列中获取任务组的过程,包括:
按照预设时间频率或预设任务量频率,依次从队列中获取任务组;
所述将该任务下放到下一任务组的过程,具体包括:
将该任务直接置于下一任务组的队首,以便不并入下一任务组中其他任务的排序,优先处理该任务;
对该任务的下放次数计数;
当所述下放次数不超过预设次数,将该任务下放到下一任务组;
当所述下放次数超过所述预设次数,建立一个独立任务组接收该任务。
2.根据权利要求1所述大资源调度方法,其特征在于,所述按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序的过程,具体包括:
按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序。
3.根据权利要求2所述大资源调度方法,其特征在于,所述按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序的过程,具体包括:
按照每个所述任务的调度级别,对当前任务组内的多个所述任务从高到低排序;
按照每个所述任务的请求资源额度,对同一调度级别的多个所述任务从大到小排序。
4.根据权利要求2所述大资源调度方法,其特征在于,所述按照每个所述任务的调度级别和请求资源额度,对当前任务组内的多个所述任务从高到低、从大到小排序的过程,具体包括:
按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序;
按照每个所述任务的调度级别,对同一请求资源额度区间内的多个所述任务从高到低排序。
5.根据权利要求1至4任一项所述大资源调度方法,其特征在于,所述任务操作还包括:
如果当前任务的调度级别达到或高于预设调度级别且当前资源池内资源不能满足当前任务的请求资源额度,按照调度级别从低到高,驱逐正在运行的其他任务,直至当前资源池内资源满足当前任务的资源请求额度。
6.根据权利要求5所述大资源调度方法,其特征在于,所述预设频率具体为预设时间频率或预设任务量频率。
7.一种大资源调度系统,其特征在于,包括:
任务组获取模块,用于按照预设频率依次从队列中获取任务组,每个所述任务组包括多个任务;
任务组操作模块,用于依次对每个所述任务组进行任务组操作;所述任务组操作包括:按照每个所述任务的请求资源额度,对当前任务组内的多个所述任务从大到小排序,并按照顺序触发任务操作模块;
所述任务操作模块,用于对每个所述任务执行任务操作;所述任务操作包括:
判断当前资源池内资源是否能满足该任务的请求资源额度;
如果是,从当前资源池内分配对应的资源给该任务;
如果否,将该任务下放到下一任务组;
所述任务组获取模块具体用于:按照预设时间频率或预设任务量频率,依次从队列中获取任务组;
所述任务组操作模块将该任务下放到下一任务组的过程,具体包括:
将该任务直接置于下一任务组的队首,以便不并入下一任务组中其他任务的排序,优先处理该任务;
对该任务的下放次数计数;
当所述下放次数不超过预设次数,将该任务下放到下一任务组;
当所述下放次数超过所述预设次数,建立一个独立任务组接收该任务。
8.一种大资源调度装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述大资源调度方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述大资源调度方法的步骤。
CN201911039130.5A 2019-10-29 2019-10-29 一种大资源调度方法、系统、装置及可读存储介质 Active CN110750350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911039130.5A CN110750350B (zh) 2019-10-29 2019-10-29 一种大资源调度方法、系统、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911039130.5A CN110750350B (zh) 2019-10-29 2019-10-29 一种大资源调度方法、系统、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN110750350A CN110750350A (zh) 2020-02-04
CN110750350B true CN110750350B (zh) 2022-08-16

Family

ID=69280879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911039130.5A Active CN110750350B (zh) 2019-10-29 2019-10-29 一种大资源调度方法、系统、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN110750350B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459645B (zh) * 2020-04-22 2023-06-30 百度在线网络技术(北京)有限公司 一种任务调度方法、装置和电子设备
CN113835840A (zh) * 2021-09-28 2021-12-24 广东浪潮智慧计算技术有限公司 一种集群资源管理方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391918A (zh) * 2014-11-19 2015-03-04 天津南大通用数据技术股份有限公司 基于对等部署的分布式数据库查询优先级管理的实现方法
CN104915256A (zh) * 2015-06-05 2015-09-16 惠州Tcl移动通信有限公司 一种任务的实时调度实现方法及其系统
CN108960641A (zh) * 2018-07-10 2018-12-07 康成投资(中国)有限公司 电商平台作业调度方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429663B2 (en) * 2007-03-02 2013-04-23 Nec Corporation Allocating task groups to processor cores based on number of task allocated per core, tolerable execution time, distance between cores, core coordinates, performance and disposition pattern
CN101561768A (zh) * 2008-04-18 2009-10-21 北京闻言科技有限公司 一种通用的调度多个任务的方法
US8850521B2 (en) * 2009-08-04 2014-09-30 Cisco Technology, Inc. Providing differentiated network services and priorities to VPN routers/clients
KR20160004152A (ko) * 2014-07-02 2016-01-12 삼성전자주식회사 멀티 프로세서의 태스크(task) 우선순위 결정 방법 및 이를 구현하는 전자장치
CN104750556A (zh) * 2015-04-14 2015-07-01 浪潮电子信息产业股份有限公司 一种hpc集群作业调度方法及装置
CN106027617A (zh) * 2016-05-11 2016-10-12 广东浪潮大数据研究有限公司 一种私有云环境下任务及资源动态调度的实现方法
CN106201696A (zh) * 2016-07-15 2016-12-07 东软集团股份有限公司 用于线程的方法和装置
CN107992359B (zh) * 2017-11-27 2021-05-18 江苏海平面数据科技有限公司 一种云环境下代价感知的任务调度方法
US10990440B2 (en) * 2018-02-06 2021-04-27 Rubrik, Inc. Real-time distributed job scheduler with job self-scheduling
CN109725995B (zh) * 2018-06-15 2024-04-12 中国平安人寿保险股份有限公司 数据抽取任务执行方法、装置、设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391918A (zh) * 2014-11-19 2015-03-04 天津南大通用数据技术股份有限公司 基于对等部署的分布式数据库查询优先级管理的实现方法
CN104915256A (zh) * 2015-06-05 2015-09-16 惠州Tcl移动通信有限公司 一种任务的实时调度实现方法及其系统
CN108960641A (zh) * 2018-07-10 2018-12-07 康成投资(中国)有限公司 电商平台作业调度方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Cloud Computing Based Task Scheduling Management Using Task Grouping for Balancing;A. H. A. Halim等;《2019 IEEE 9th International Conference on System Engineering and Technology (ICSET)》;20191121;第419-424页 *
容错实时调度算法研究;屈海涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110615(第06期);第I137-4页 *
集群资源统一管理和调度技术综述;李永峰等;《华东师范大学学报(自然科学版)》;20140925;第17-30页 *

Also Published As

Publication number Publication date
CN110750350A (zh) 2020-02-04

Similar Documents

Publication Publication Date Title
CN109246229B (zh) 一种分发资源获取请求的方法和装置
CN105159782B (zh) 基于云主机为订单分配资源的方法和装置
CN111901249B (zh) 业务限流方法、装置、设备及存储介质
CN107679718B (zh) 名单分配方法、设备以及计算机可读存储介质
US20160196279A1 (en) Enterprise level data collection systems and methodologies
EP2677703A2 (en) Method and device for scheduling queue
CN105516086B (zh) 业务处理方法及装置
CN107451853B (zh) 一种红包实时派发的方法、装置、系统及存储介质
CN107948004B (zh) 一种视频cdn调取优化方法及装置
CN107682417B (zh) 一种数据节点的任务分配方法和装置
CN110471749B (zh) 任务处理方法、装置、计算机可读存储介质和计算机设备
CN110750350B (zh) 一种大资源调度方法、系统、装置及可读存储介质
CN105022668B (zh) 一种作业调度方法及系统
CN112988390A (zh) 一种算力资源分配方法及装置
CN111030945B (zh) 容灾方法、容灾网关、存储介质、装置以及系统
CN112579263A (zh) 任务执行方法及装置、存储介质及电子设备
US20230037783A1 (en) Resource scheduling method and related apparatus
CN113886069A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN113391911B (zh) 一种大数据资源动态调度方法、装置和设备
CN110225297B (zh) 一种关于球机操作权限的控制方法
CN112084021A (zh) 教育系统的界面配置方法、装置、设备及可读存储介质
CN114048033A (zh) 跑批任务的负载均衡方法、装置及计算机设备
CN115686825A (zh) 资源管理方法、装置、服务器及存储介质
CN116166421A (zh) 分布式训练任务的资源调度方法及其设备
CN114610465A (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