CN112783659B - 一种资源分配方法、装置、计算机设备及存储介质 - Google Patents

一种资源分配方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112783659B
CN112783659B CN202110138114.2A CN202110138114A CN112783659B CN 112783659 B CN112783659 B CN 112783659B CN 202110138114 A CN202110138114 A CN 202110138114A CN 112783659 B CN112783659 B CN 112783659B
Authority
CN
China
Prior art keywords
resource pool
priority
resource
task
slave
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
CN202110138114.2A
Other languages
English (en)
Other versions
CN112783659A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110138114.2A priority Critical patent/CN112783659B/zh
Publication of CN112783659A publication Critical patent/CN112783659A/zh
Application granted granted Critical
Publication of CN112783659B publication Critical patent/CN112783659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种资源分配方法、装置、计算机设备及存储介质,涉及计算机技术领域,进一步涉及资源分配技术,包括:接收当前优先级队列任务触发的任务处理请求;确定所述当前优先级队列任务的任务优先级;根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池;其中,所述主从资源池包括一个主资源池和至少一个从资源池;根据所述主从资源池为所述当前优先级队列任务分配目标系统资源。本申请实施例能够提高计算系统的资源利用率、任务的执行效率和执行质量。

Description

一种资源分配方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及资源分配技术。
背景技术
计算资源一般指计算机程序运行时所需的CPU(Central Processing Unit/Processor,中央处理器)资源、内存资源、硬盘资源和网络资源等,可以为计算系统执行计算任务提供基础支撑。当计算系统执行多项计算任务时,如何为各计算任务合理地分配计算资源,对于计算系统的资源利用率,以及任务执行效率和执行质量等性能具有直接的影响。
发明内容
本申请实施例提供了一种资源分配方法、装置、计算机设备及存储介质,以提高计算系统的资源利用率、任务的执行效率和执行质量。
第一方面,本申请实施例提供了一种资源分配方法,包括:
接收当前优先级队列任务触发的任务处理请求;
确定所述当前优先级队列任务的任务优先级;
根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池;其中,所述主从资源池包括一个主资源池和至少一个从资源池;
根据所述主从资源池为所述当前优先级队列任务分配目标系统资源。
第二方面,本申请实施例提供了一种资源分配装置,包括:
任务处理请求接收模块,用于接收当前优先级队列任务触发的任务处理请求;
任务优先级确定模块,用于确定所述当前优先级队列任务的任务优先级;
主从资源池确定模块,用于根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池;其中,所述主从资源池包括一个主资源池和至少一个从资源池;
目标系统资源分配模块,用于根据所述主从资源池为所述当前优先级队列任务分配目标系统资源。
第三方面,本申请实施例提供了一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例所提供的资源分配方法。
第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例所提供的资源分配方法。
第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面实施例所提供的资源分配方法。
本申请实施例接收到当前优先级队列任务触发的任务处理请求之后,确定该当前优先级队列任务的任务优先级,以根据当前优先级队列任务的任务优先级确定当前优先级队列任务匹配的包括一个主资源池和至少一个从资源池的主从资源池,从而根据确定的主从资源池为当前优先级队列任务分配目标系统资源,解决现有计算系统分配资源时存在的资源利用率低及任务执行效率和执行质量较差等问题,从而提高计算系统的资源利用率、任务的执行效率和执行质量。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例提供的一种资源分配方法的流程图;
图2是本申请实施例提供的一种资源分配方法的流程图;
图3是本申请实施例提供的一种线程资源分配方法的效果示意图;
图4是本申请实施例提供的一种资源分配装置的结构图;
图5是用来实现本申请实施例的资源分配方法的计算机设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
用户可以向一个计算系统提供不同优先级的任务,同时计算系统本身也会生成各种类型的任务来处理。通常情况下,高优先级的任务需要分配更多的计算资源,低优先级的任务则会分配较少的计算资源。目前,计算系统针对不同优先级任务的资源分配方式存在两种实现方案。第一种资源分配方式为静态管理方式,计算系统预先为每个优先级任务绑定固定数量的计算资源不变。以线程资源为例具体说明:假设计算系统有100个线程,则静态管理方式会分配60线程给高优先级任务,分配40个线程给低优先级任务,以初步达到高优任务资源多,低优任务资源少的目的。第二种资源分配方式为抢占式动态方式,计算系统在分配计算资源时,如果正在处理高优先级任务,则会抢占低优先级任务对应的计算资源,高优任务占用所有计算资源,低优先级任务被杀死或者挂起,无法正常执行或中断执行。
上述方案中,静态管理方式会导致资源浪费问题,且会降低任务执行效率,影响用户对计算系统的使用效率。例如,如果某个时间段所有用户提交的都是低优先级任务,那么高优先级任务对应的60个线程资源全部为空闲状态,仅仅有低优先级对应的40个线程在工作,其他60个线程资源没有被利用,导致系统资源利用率不足,从而造成了计算资源的浪费。或者某个时间段用户提交的都是高优先级任务,那么同理低优先级对应的线程资源也会都处于空闲状态,也即,计算系统本来能够提供100个线程的计算能力,但是却只是用一部分资源计算,导致系统资源利用率不足,用户等待执行时间太长。抢占式动态方式会影响低优先级任务的执行效率和执行质量,如果低优先级任务长期处于“饥饿状态”,也即长时间得不到执行,就会导致任务超时失败的问题。
在一个示例中,图1是本申请实施例提供的一种资源分配方法的流程图,本实施例可适用于利用主从资源池处理计算系统的任务的情况,该方法可以由资源分配装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中。该计算机设备可以作为计算系统执行各种优先级的任务。相应的,如图1所示,该方法包括如下操作:
S110、接收当前优先级队列任务触发的任务处理请求。
其中,当前优先级队列任务可以是计算系统当前正在处理的某一优先级任务队列中其中一个计算任务。任务处理请求可以是当前优先级队列任务触发的,用于请求执行该当前优先级队列任务的请求。
在计算系统中可能存在多个待处理的不同优先级的任务,当任务并发量较高时,各个优先级的任务会被缓存至相应的优先级队列中,等待被计算系统所执行。例如,当计算系统可以处理的任务类型保护高优先级任务、中优先级任务和低优先级任务时,计算系统接收到各个待处理任务后,可以分别根据各待处理任务对应的优先级类型,添加至各个优先级队列中,形成高优先级队列、中优先级队列和低优先级队列。在每个优先级队列中,都可以存储有一定数量的任务,或者,某些优先级队列中待处理的任务也可以为空,表面当前计算系统不需要处理该优先级类型的任务。可选的,各个待处理任务可以根据任务的时效性和重要性等因素确定其对应的优先级类型,并加入对应的优先级队列中。
相应的,每个优先级队列可以根据各待处理任务的需求向计算系统发送任务处理请求,以请求计算系统对该待处理任务进行处理。相应的,计算系统可以接收当前优先级队列任务触发的任务处理请求。
S120、确定所述当前优先级队列任务的任务优先级。
其中,任务优先级也即当前优先级队列任务的优先级类型,该优先级类型可以根据计算系统支持的优先级类型确定。例如,当计算系统支持的优先级类型包括紧急优先级、高优先级、中优先级以及低优先级四种类型时,任务优先级可以是紧急优先级、高优先级、中优先级以及低优先级中的其中一种。当计算系统支持的优先级类型包括高优先级、中优先级以及低优先级三种类型时,任务优先级可以是高优先级、中优先级以及低优先级中的其中一种。
相应的,计算系统接收到任务处理请求之后,可以根据任务处理请求确定当前优先级队列任务的任务优先级。可选的,任务处理请求可以包括处理任务和关键字段,计算系统可以根据任务处理请求识别当前优先级队列任务。
示例性的,假设用户通过计算系统中的某一通信软件发出了一个语音通话任务,该语音通话任务被加入高优先级队列中,当处理到该语音通话任务时,该语音通话任务作为当前优先级队列任务向计算系统发送任务处理请求。该语音通话任务的任务处理请求可以包括但不限于语音通话任务和关键字段,其中,语音通话任务即是需要计算系统处理的任务。当计算系统接收该任务处理请求后,对该任务处理请求进行解析,可得到任务处理请求中关键字段里所携带的关于语音通话任务的任务标识和任务优先级的信息,根据得到的上述信息确定语音通话任务的任务标识和任务优先级分别为“语音通信”和“高优先级”。
S130、根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池;其中,所述主从资源池包括一个主资源池和至少一个从资源池。
其中,主从资源池可以是计算系统根据其持有的计算资源为不同优先级类型的任务所划分的资源池。主从资源池中包括一个唯一的主资源池,同时可以包括至少一个从资源池。主资源池可以是专属为特定优先级类型的任务所服务的资源池,从资源池可以是为其他优先级类型的任务所服务的资源池。
在本申请实施例中,当计算系统确定当前优先级队列任务对应的任务优先级之后,可以进一步根据当前优先级队列任务的任务优先级确定其匹配的主从资源池。
可以理解的是,主资源池和从资源池是一种相对概念,需要根据任务优先级类型来确定。示例性的,当当前优先级队列任务为高优先级任务时,其对应的主从资源池具体可以为:主资源池为处理高优先级任务的资源池,从资源池为处理中优先级任务和低优先级任务的两个资源池。当当前优先级队列任务为中优先级任务时,其对应的主从资源池具体可以为:主资源池为处理中优先级任务的资源池,从资源池为处理中低优先级任务的资源池。
S140、根据所述主从资源池为所述当前优先级队列任务分配目标系统资源。
其中,目标系统资源可以是计算系统可以分配的计算资源,可以包括但不限于CPU资源、内存资源、硬盘资源和网络资源等,只要能够用于处理任务即可,本申请实施例并不对计算资源的类型进行限定。
相应的,在确定当前优先级队列任务匹配的主从资源池之后,计算系统即可根据确定的主从资源池为当前优先级队列任务分配目标系统资源,以根据目标系统资源处理当前优先级队列任务。
可选的,计算系统可以首先利用主资源池中包括的计算资源作为目标系统资源处理当前优先级队列任务。当主资源池中包括的计算资源不满足当前优先级队列任务的处理需求时,计算系统进一步可以利用从资源池中包括的空闲的计算资源作为目标系统资源协助处理当前优先级队列任务。
在本申请的一个可选实施例中,主资源池和从资源池可以为线程池,相应的,目标系统资源可以为线程资源。
示例性的,假设当前优先级队列任务为高优先级的任务,其对应的主从资源池具体为:主资源池为处理高优先级任务的主线程池,从资源池为处理中优先级任务的从线程池和处理低优先级任务的从线程池。计算系统优选分配主线程池中的各个线程资源处理当前优先级队列任务,当主线程池中的各个线程资源不满足当前优先级队列任务的处理需求时,再分配部分或全部的从线程池中的空闲的线程资源处理当前优先级队列任务。同理,假设当前优先级队列任务为低优先级的任务,其对应的主从资源池具体为:主资源池为处理低优先级任务的主线程池,从资源池为处理中优先级任务的从线程池。计算系统优选分配主线程池中的各个线程资源处理当前优先级队列任务,当主线程池中的各个线程资源不满足当前优先级队列任务的处理需求时,再分配部分或全部的从线程池中的空闲的线程资源处理当前优先级队列任务。
由此可见,本申请实施例所提供的资源分配方法属于一种动静结合的方式,每个优先级队列任务都可以对应分配一个主资源池,在主资源池不满足当前优先级队列任务的处理需求时,可以从处理其他优先级任务的从资源池分配计算资源共同处理当前优先级队列任务。这种资源分配方式不仅可以满足当前优先级队列任务的处理需求,提高任务的执行效率和执行质量,同时还可以实现最大程度使用空闲资源集中处理任务,从而提高计算系统的资源利用率。
本申请实施例接收到当前优先级队列任务触发的任务处理请求之后,确定该当前优先级队列任务的任务优先级,以根据当前优先级队列任务的任务优先级确定当前优先级队列任务匹配的包括一个主资源池和至少一个从资源池的主从资源池,从而根据确定的主从资源池为当前优先级队列任务分配目标系统资源,解决现有计算系统分配资源时存在的资源利用率低及任务执行效率和执行质量较差等问题,从而提高计算系统的资源利用率、任务的执行效率和执行质量。
在一个示例中,图2是本申请实施例提供的一种资源分配方法的流程图,本申请实施例在上述各实施例的技术方案的基础上,进行了优化改进,给出了根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池、根据主从资源池为所述当前优先级队列任务分配目标系统资源,以及在接收当前优先级队列任务触发的任务处理请求之前可执行操作的多种具体可选的实现方式。
如图2所示的一种资源分配方法,包括:
S210、获取全量系统资源以及系统支持的任务优先级类型。
其中,全量系统资源可以是计算系统持有的全部的系统资源,如全部的线程资源或内存资源等。任务优先级类型也即计算系统可支持的任务的优先级类型。
在对待处理的任务分配资源之前,计算系统首先需要划分下资源池,以根据划分的资源池确定当前优先级队列任务匹配的主从资源池。相应的,计算系统需要获取全量系统资源以及系统支持的任务优先级类型。
以线程资源作为系统资源为例说明,计算系统首先确认线程总量,同时设置系统可支持的任务优先级类型。其中,全量系统资源由计算系统的硬件结构所决定,任务优先级类型则可以由计算系统根据业务需求配置。例如,计算系统可以设置可支持的任务优先级类型包括紧急优先级、高优先级、中优先级以及低优先级四种类型,或高优先级、中优先级以及低优先级三种类型,本申请实施例并不对全量系统资源的资源类型、资源总量,以及任务优先级类型的具体内容进行限定。
S220、根据所述任务优先级类型将所述全量系统资源划分为多个优先级资源池。
其中,一个所述优先级资源池中包括至少一个单位系统资源。
其中,优先级资源池也即部分系统资源构成的资源池。单位系统资源也即一个单位的系统资源。示例性的,将线程资源作为系统资源进行分配时,单位系统资源可以是一个线程。
计算系统获取到全量系统资源以及系统支持的任务优先级类型等数据后,可以根据任务优先级类型将全量系统资源划分为多个优先级资源池,每个任务优先级类型可对应一个优先级资源池作为主资源池,每个优先级资源池中可以包括至少一个单位系统资源,通常情况下,每个优先级资源池中包括多个单位系统资源。每个优先级资源池优先为其匹配的优先级类型的任务所服务,可以作为其匹配的优先级类型的任务的主资源池。当优先级资源池包括空闲资源时,可以为其他不匹配的优先级类型的任务所服务,可以作为其不匹配的优先级类型的任务的从资源池。
在本申请的一个可选实施例中,所述根据所述任务优先级类型将所述全量系统资源划分为多个优先级资源池,可以包括:在确定所述任务优先级类型为第一优先级类型的情况下,从所述全量系统资源划分第一数量的系统资源构建第一优先级资源池;在确定所述任务优先级类型为第二优先级类型的情况下,从剩余系统资源划分第二数量的系统资源构建第二优先级资源池;在确定所述任务优先级类型为第一优先级类型的情况下,从剩余系统资源划分第三数量的系统资源构建第三优先级资源池;其中,所述第一数量大于所述第二数量,所述第二数量大于所述第三数量。
其中,第一优先级类型的优先级高于第二优先级类型,第二优先级类型的优先级高于第三优先级类型。第一优先级资源池可以是第一优先级类型任务的主资源池,第二优先级资源池可以是第二优先级类型任务的主资源池,第三优先级资源池可以是第三优先级类型任务的主资源池。
相应的,计算系统可以根据任务优先级类型从高到低的顺序,将全量系统资源划分为多个优先级资源池。考虑到第一优先级类型的优先级最高,可以为第一优先级类型任务分配最多的系统资源。同理,第二优先级类型的优先级次高,可以为第二优先级类型任务分配较多的系统资源,第三优先级类型的优先级最高,可以为第三优先级类型任务分配最少的系统资源。
需要说明的是,计算系统还可以根据实际业务需求扩展或减少任务优先级类型,例如,还可以设置优先级更低的第四优先级类型,并为第四优先级类型任务分配更少的系统资源。另外还需说明的是,计算系统还可以应用大数据技术分析历史处理的任务数据,以动态调整可支持的任务优先级类型,同时动态地调整各任务优先级类型任务对应的优先级资源池中的资源数量,本申请实施例对此并不进行限制。
S230、确定各所述优先级资源池的资源池标识。
其中,所述资源池标识用于确定任一所述优先级资源池中的系统资源用于执行的优先级类型任务。
相应的,计算系统划分得到多个优先级资源池之后,可以根据各优先级资源池匹配的任务优先级类型确定对应的资源池标识。
示例性的,假设将线程资源作为系统资源划分优先级资源池,计算系统可支持高优先级任务、中优先级任务和低优先级任务。如果计算系统总共有100个线程,可以分配50个线程集中处理高优先级任务,构成第一优先级资源池,确定其资源池标识为高优先级线程,用于执行高优先级任务。同时,可以分配30个线程集中处理中优先级任务,构成第二优先级资源池,确定其资源池标识为中优先级线程,用于执行中优先级任务。最后剩余的20个线程可以集中处理低优先级任务,构成第三优先级资源池,确定其资源池标识为低优先级线程,用于执行低优先级任务。
上述技术方案,通过预先为各任务优先级类型任务划分对应的优先级资源池,实现了根据业务需求对系统资源的静态划分,可以为不同任务优先级类型任务预先分配固定的资源,以保证各个任务优先级类型任务均可以合理分配到一定数量的系统资源,满足其任务处理需求。
在本申请的一个可选实施例中,资源分配方法还可以包括:根据各所述优先级资源池的资源池标识为各所述优先级资源池确定资源租借周期;其中,所述资源租借周期用于确定所述优先级资源池作为从资源池的资源释放时间。
其中,资源释放时间可以是资源被释放的时间。
在本申请实施例中,为了避免从资源池被当前优先级队列任务持续占用,计算系统还可以为各个优先级资源池确定资源租借周期,以明确优先级资源池被分配给其他优先级任务的可用时间。需要说明的是,不同优先级类型的优先级资源池的资源租借周期可以相同也可以不同。例如,第一优先级资源池主要服务于高优先级的任务,其对应的资源租借周期可以最短,也即第一优先级资源池作为从资源池时其对应的可调用时间最短。第三优先级资源池主要服务于低优先级的任务,其对应的资源租借周期可以最长,也即第三优先级资源池作为从资源池时其对应的可调用时间最长。
S240、接收当前优先级队列任务触发的任务处理请求,并确定所述当前优先级队列任务的任务优先级。
S250、根据所述任务优先级与各优先级资源池的资源池标识进行匹配,得到目标资源池标识,将所述目标资源池标识对应的优先级资源池作为主资源池。
其中,目标资源池标识可以是与当前优先级队列任务的任务优先级类型匹配的资源池标识。
具体的,计算系统在确定当前优先级队列任务的任务优先级之后,可以将当前优先级队列任务的任务优先级与各优先级资源池的资源池标识进行匹配,得到目标资源池标识,以将目标资源池标识对应的优先级资源池作为主资源池。
示例性的,假设当前优先级队列任务的任务优先级为高优先级,优先级资源池的资源池标识包括高优先级资源池、中优先级资源池和低优先级资源池,则将当前优先级队列任务的任务优先级与各优先级资源池的资源池标识进行匹配,得到高优先级资源池作为目标资源池标识,并将高优先级资源池对应的优先级资源池作为主资源池。
S260、根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池。
其中,剩余资源池可以是除主资源池以外的其他优先级资源池。从资源池确定策略可以是用于确定从资源池的策略。
相应的,计算系统可以根据任务优先级和从资源池确定策略从除主资源池以外的其他优先级资源池中确定从资源池。示例性的,假设当前优先级队列任务的任务优先级为高优先级,其对应的主资源池为高优先级资源池,则剩余资源池可以包括中优先级资源池和低优先级资源池。相应的,计算系统可以根据从资源池确定策略从中优先级资源池和低优先级资源池中选择部分或全部的资源池作为从资源池。
上述技术方案,通过将与任务优先级匹配的优先级资源池确定为主资源池,并根据任务优先级和从资源池确定策略确定从资源池,可以实现针对不同类型任务优先级确定不同主从资源池,从而丰富主从资源池的配置方式。
在本申请的一个可选实施例中,所述根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池,可以包括:在确定所述任务优先级为第一优先级类型的情况下,将第二优先级资源池和第三优先级资源池确定为所述从资源池;在确定所述任务优先级为第二优先级类型的情况下,将所述第三优先级资源池确定为第一从资源池,将所述第一优先级资源池确定为第二从资源池;在确定所述任务优先级为第三优先级类型的情况下,将所述第二优先级资源池确定为所述从资源池。
其中,第一从资源池可以是被优先分配的从资源池,第二从资源池可以是被次优分配的从资源池。示例性的,假设第一从资源池和第二从资源池中的资源均处于空闲状态,则可以优先分配第一从资源池为当前优先级队列任务所服务。如果第一从资源池仍然不满足当前优先级队列任务的业务处理需求,可以继续分配第二从资源池为当前优先级队列任务所服务。
相应的,如果计算系统确定当前优先级队列任务的任务优先级为第一优先级类型,由于第一优先级类型的优先级最高,则可以同时将第二优先级资源池和第三优先级资源池确定为当前优先级队列任务的从资源池。如果计算系统确定当前优先级队列任务的任务优先级为第二优先级类型,由于第二优先级类型的优先级次高,则可以同时将第一优先级资源池和第三优先级资源池确定为当前优先级队列任务的从资源池。但考虑到第一优先级资源池为第一优先级类型的任务的主资源池,因此可以优先分配优先级较低的第三优先级资源池作为第一从资源池。在第一从资源池不满足当前优先级队列任务的业务处理需求时,可以分配优先级最高的第一优先级资源池作为第二从资源池。如果计算系统确定当前优先级队列任务的任务优先级为第三优先级类型,由于第三优先级类型任务的优先级最低,通常不会为其分配优先级最高的第一优先级资源池为其服务,则可以将第二优先级资源池确定为当前优先级队列任务的从资源池。需要说明的是,如果业务需求规定第三优先级类型任务可以使用第一优先级资源池的资源,则可以优先分配优先级较低的第二优先级资源池作为第一从资源池。在第一从资源池不满足当前优先级队列任务的业务处理需求时,可以分配优先级最高的第一优先级资源池作为第二从资源池。
上述技术方案,通过根据任务优先级的不同优先级类型以及业务需求从剩余资源池中确定从资源池,丰富了从资源池的配置方式,提高了系统资源的利用率。
在本申请的一个可选实施例中,所述根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池,可以包括:获取各优先级资源池针对所述任务优先级的历史分配数据;根据所述历史分配数据从所述剩余资源池中确定历史空闲资源池;将所述历史空闲资源池确定为所述从资源池。
其中,历史分配数据可以是当前优先级队列任务的任务优先级对应的所有已处理任务中从资源池的分配状态数据。历史空闲资源池可以是根据历史分配数据分析确定的预计处于空闲状态的资源池。
可选的,计算系统还可以利用不同任务优先级的已处理任务中从资源池的分配状态数据确定当前优先级队列任务的从资源。具体的,计算系统可以获取各优先级资源池针对任务优先级的历史分配数据,例如,在已处理完成的高优先级任务中,计算系统为90%的高优先级任务分配了中优先级资源池作为从资源池。相应的,如果当前优先级队列任务为高优先级任务,则计算系统可以根据高优先级任务的历史分配数据从剩余资源池中确定中优先级资源池是估计的历史空闲资源池,并将该历史空闲资源池,也即将中优先级资源池确定为当前优先级队列任务的从资源池。
上述技术方案,通过根据任务优先级对应的优先级资源池的历史分配情况从剩余资源池中确定从资源池,丰富了从资源池的配置方式,提高了系统资源的利用率。
需要说明的是,当计算系统可支持的任务优先级类型确定时,计算系统可以预先为不同任务优先级类型的任务设置主从资源池,也可以为当期处理的优先级队列任务实时动态地设置主从资源池,本申请实施例并不对主从资源池的设定方式进行限制。
在一个具体的示例中,假设计算系统为各个优先级类型的任务分配线程资源。每个优先级任务不再分配固定数量的线程,而是会分配一主多从的主从线程池。比如,高优先级队列任务的主资源池是高优先级线程池,从资源池是中优先级线程池和低优先级线程池。同理,中优先级队列任务的主资源池是中优先级线程池,从资源池是高优先级线程池和低优先级线程池。低优先级队列任务的主资源池是低优先级线程池,从资源池是高优先级线程池和中优先级线程池。这种资源分配方式可以有计算系统预先配置,当计算系统接收到当前优先级队列任务触发的任务处理请求,并确定当前优先级队列任务的任务优先级后,直接根据资源配置信息以及当前优先级队列任务的任务优先级确定当前优先级队列任务匹配的主从资源池。或者,也还可以由计算系统根据当前优先级队列任务的任务优先级采用上述主从资源池的确定方式实时动态得确定主从资源池。
S270、根据所述主从资源池为所述当前优先级队列任务分配目标系统资源。
在本申请的一个可选实施例中,所述根据所述主从资源池为所述当前优先级队列任务分配目标系统资源,可以包括:在主资源池包括的系统资源满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为所述目标系统资源;在所述主资源池包括的系统资源不满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为第一目标系统资源,并将从资源池中的系统资源确定为第二目标系统资源;其中,所述第一目标系统资源和所述第二目标系统资源共同构成所述目标系统资源。
其中,第一目标系统资源可以是主资源池中包括的系统资源。第二目标系统资源可以是从资源池中的系统资源。
在本申请实施例中,计算系统优先为当前优先级队列任务分配主资源池对其进行处理。如果计算系统确定主资源池包括的系统资源满足当前优先级队列任务的资源需求,也即主资源池包括的系统资源满足当前优先级队列任务的业务处理需求,则可以直接将主资源池中的系统资源确定为目标系统资源,不需要再为当前优先级队列任务分配从资源池;否则,计算系统需要将主资源池中的系统资源确定为第一目标系统资源,同时需要为当前优先级队列任务分配从资源池中的系统资源作为第二目标系统资源,以满足当前优先级队列任务的资源需求。
上述技术方案,通过根据主资源池的系统资源是否满足当前优先级队列任务的资源需求的情况为当前优先级队列任务分配目标系统资源,既可以满足当前优先级队列任务的资源需求。保证当前优先级队列任务能够正常处理,提高任务的执行效率和执行质量,而且可以避免系统资源浪费,从而提高计算系统的资源利用率。
在本申请的一个可选实施例中,所述将从资源池中的系统资源确定为第二目标系统资源,可以包括:在确定仅存在一个所述从资源池的情况下,将所述从资源池中的部分或全部系统资源确定为所述第二目标系统资源;在确定存在多个所述从资源池的情况下,从各所述从资源池中确定目标从资源池,并将所述目标从资源池中的部分或全部系统资源确定为所述第二目标系统资源。
其中,目标从资源池可以是为当前优先级队列任务提供系统资源的从资源池。
在本申请实施例中,为了进一步避免系统资源浪费,提高计算系统的资源利用率,计算系统需要根据从资源池的数量进一步分配从资源池的系统资源。可选的,如果从资源池的数量仅为一个,则可以将该从资源池中的部分或全部系统资源确定为第二目标系统资源。如果从资源池的数量为多个,则可以从各优先级资源池选择其中一个资源池作为目标资源池,并将目标从资源池中的部分或全部系统资源确定为第二目标系统资源。
可以理解的是,计算系统根据从资源池分配给当前优先级队列任务的第二目标系统资源是空闲状态的系统资源。如果从资源池中的系统资源被占用,则可以拒绝将从资源池中被占用的系统资源分配给当前优先级队列任务。
在本申请的一个可选实施例中,资源分配方法还可以包括:在确定所述目标系统资源包括从资源池的系统资源的情况下,获取所述从资源池的资源租借时间;在确定所述资源租借时间达到资源租借周期,或主资源池的系统资源满足当前优先级队列任务的资源需求的情况下,释放所述目标系统资源中包括的从资源池的系统资源。
其中,资源租借时间可以是当前优先级队列任务使用从资源池的系统资源的累积时间。
在本申请实施例中,计算系统可以实时统计目标系统资源中从资源池的系统资源的使用时间作为资源租借时间。由于每个从资源池都对应配置了资源租借周期,因此当计算系统确定资源租借时间达到资源租借周期时,需要释放目标系统资源中包括的从资源池的系统资源。或者,在计算系统确定资源租借时间达到资源租借周期之前,主资源池的系统资源已经能够满足当前优先级队列任务的资源需求时,也需要实时释放目标系统资源中包括的从资源池的系统资源。
上述技术方案,通过根据资源租借时间、资源租借周期以及主资源池的系统资源的使用情况及时释放目标系统资源中包括的从资源池的系统资源,可以避免长期占用从资源池的系统资源,导致被占用的从资源池无法及时为其匹配的优先级类型的任务所服务,从而避免从资源池匹配的优先级类型的任务无法如期处理执行。
图3是本申请实施例提供的一种线程资源分配方法的效果示意图,在一个具体的例子中,如图3所示,以线程资源作为系统资源为例具体说明。计算系统可以首先对不同优先级任务预先分配对应在主从线程池。例如,高优先级队列(高优Queue)任务的主资源池是高优先级线程池,从资源池是中优先级线程池和低优先级线程池。中优先级队列(中优Queue)任务的主资源池是中优先级线程池,从资源池是高优先级线程池和低优先级线程池。低优先级队列(低优Queue)任务的主资源池是低优先级线程池,从资源池是高优先级线程池和中优先级线程池。也即线程池与任务队列的调度关系是一对多的关系。其中,不同优先级的线程池可以分配不同数量的线程资源,比如高优先级线程池包括50个线程,中优先级线程池包括30个线程,低优先级线程池包括20个线程。上述线程池的划分和主从线程池的配置属于静态处理方式,可以处理任务提交均衡的业务场景。但是对于大多数业务而言,任务优先级极其不均衡,有段时间可能全是高优先级任务,有段时间可能全是低优先级任务。因此,为了实现动态处理方式,可以根据主从线程池的具体资源情况为当前队列任务动态分配线程资源。具体的,只要当前队列中有任务未被执行,则该队列的主线程池必须用于执行自己的队列任务。同时,如果当前队列中有任务未被执行,且从线程池于空闲状态,则可以用于执行当前队列的任务。
可以理解的是,由于每个优先级队列的从线程池并不专属为自身服务,所以每次为队列任务分配从线程池时,都需要向从线程池对应的优先级队列发送租借申请。示例性的,当优先级队列A的任务处理过载,长时间无法结束时,该优先级队列A会依次向所有从线程池发送资源租借请求,并确定好主动归还释放资源的资源租借周期。该资源租借周期可以预先基于时间或基于处理数量确定,如1分钟或30秒等,本申请实施例并不对资源租借周期的具体时间数值进行限定。另外,从线程池作为主线程池时匹配的优先级队列的优先级越高,其对应的资源租借周期的时间可以越短。如果从线程池B中的线程资源处于空闲状态,从线程池B可以接受资源租借请求,并为优先级队列A提供线程资源用于优先级队列A的任务计算。如果从线程池B处于忙碌状态,则可以拒绝资源租借请求。相应的,如果从线程池B被租借成功,也即从线程池B分配给优先级队列A,则优先级队列A需要在规定的资源租借周期内将从线程池B的租借的线程资源主动释放归还给优先级队列B。被释放的从线程池B则可以用于优先级队列B的任务计算。
以上资源分配过程可以循环执行。也就是说,如果优先级队列B一直没有待处理的任务,则优先级队列A可以循环不断的租借到从线程池B,用于自己任务的计算。同时,如果优先级队列A可以同时租借从线程池B和从线程池C,则可以按照优先级由低到高的顺序租借从线程池B和从线程池C。例如,如果从线程池B对应的优先级队列B的优先级低于从线程池C对应的优先级队列C的优先级,则优先级队列A可以优先租借从线程池B。当从线程池B拒绝资源租借请求时,优先级队列A可以租借从线程池C。
由此可见,上述基于主从资源池的资源分配方法完全实现了任务执行过程中对系统资源的动态调度,动态调度可以保证了任务优先级不均衡时,也能够充分利用系统的所有计算资源,从而加快任务的执行,避免大任务超时处理失败的情况。于此同时,利用资源租借周期主动释放资源的机制,也保证了当任务优先级从不均衡状态变为均衡状态时,所有优先级任务都能够及时使用自己的主资源池如期执行任务,而不会出现低优先级任务长期饥饿的状态,使得低优先级任务可以缓慢地执行,而不是一直等待导致任务超时失败。
在一个示例中,图4是本申请实施例提供的一种资源分配装置的结构图,本申请实施例可适用于利用主从资源池处理计算系统的任务的情况,该装置通过软件和/或硬件实现,并具体配置于计算机设备中。该计算机设备可以作为计算系统执行各种优先级的任务。
如图4所示的一种资源分配装置300,包括:任务处理请求接收模块310、任务优先级确定模块320、主从资源池确定模块330和目标系统资源分配模块340。其中,
任务处理请求接收模块310,用于接收当前优先级队列任务触发的任务处理请求;
任务优先级确定模块320,用于确定所述当前优先级队列任务的任务优先级;
主从资源池确定模块330,用于根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池;其中,所述主从资源池包括一个主资源池和至少一个从资源池;
目标系统资源分配模块340,用于根据所述主从资源池为所述当前优先级队列任务分配目标系统资源。
本申请实施例接收到当前优先级队列任务触发的任务处理请求之后,确定该当前优先级队列任务的任务优先级,以根据当前优先级队列任务的任务优先级确定当前优先级队列任务匹配的包括一个主资源池和至少一个从资源池的主从资源池,从而根据确定的主从资源池为当前优先级队列任务分配目标系统资源,解决现有计算系统分配资源时存在的资源利用率低及任务执行效率和执行质量较差等问题,从而提高计算系统的资源利用率、任务的执行效率和执行质量。
可选的,资源分配装置还包括:资源类型获取模块,用于获取全量系统资源以及系统支持的任务优先级类型;优先级资源池划分模块,用于根据所述任务优先级类型将所述全量系统资源划分为多个优先级资源池,其中,一个所述优先级资源池中包括至少一个单位系统资源;资源池标识确定模块,用于确定各所述优先级资源池的资源池标识;其中,所述资源池标识用于确定任一所述优先级资源池中的系统资源用于执行的优先级类型任务。
可选的,优先级资源池划分模块具体用于:在确定所述任务优先级类型为第一优先级类型的情况下,从所述全量系统资源划分第一数量的系统资源构建第一优先级资源池;在确定所述任务优先级类型为第二优先级类型的情况下,从剩余系统资源划分第二数量的系统资源构建第二优先级资源池;在确定所述任务优先级类型为第一优先级类型的情况下,从剩余系统资源划分第三数量的系统资源构建第三优先级资源池;其中,所述第一数量大于所述第二数量,所述第二数量大于所述第三数量。
可选的,资源分配装置还包括:资源租借周期确定模块,用于根据各所述优先级资源池的资源池标识为各所述优先级资源池确定资源租借周期;其中,所述资源租借周期用于确定所述优先级资源池作为从资源池的资源释放时间。
可选的,主从资源池确定模块330具体用于:根据所述任务优先级与各优先级资源池的资源池标识进行匹配,得到目标资源池标识,将所述目标资源池标识对应的优先级资源池作为主资源池;根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池。
可选的,主从资源池确定模块330具体用于:在确定所述任务优先级为第一优先级类型的情况下,将第二优先级资源池和第三优先级资源池确定为所述从资源池;在确定所述任务优先级为第二优先级类型的情况下,将所述第三优先级资源池确定为第一从资源池,将所述第一优先级资源池确定为第二从资源池;在确定所述任务优先级为第三优先级类型的情况下,将所述第二优先级资源池确定为所述从资源池。
可选的,主从资源池确定模块330具体用于:获取各优先级资源池针对所述任务优先级的历史分配数据;根据所述历史分配数据从所述剩余资源池中确定历史空闲资源池;将所述历史空闲资源池确定为所述从资源池。
可选的,目标系统资源分配模块340具体用于:在主资源池包括的系统资源满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为所述目标系统资源;在所述主资源池包括的系统资源不满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为第一目标系统资源,并将从资源池中的系统资源确定为第二目标系统资源;其中,所述第一目标系统资源和所述第二目标系统资源共同构成所述目标系统资源。
可选的,目标系统资源分配模块340具体用于:在确定仅存在一个所述从资源池的情况下,将所述从资源池中的部分或全部系统资源确定为所述第二目标系统资源;在确定存在多个所述从资源池的情况下,从各所述从资源池中确定目标从资源池,并将所述目标从资源池中的部分或全部系统资源确定为所述第二目标系统资源。
可选的,资源分配装置还包括:资源租借时间确定模块,用于在确定所述目标系统资源包括从资源池的系统资源的情况下,获取所述从资源池的资源租借时间;系统资源释放模块,用于在确定所述资源租借时间达到资源租借周期,或主资源池的系统资源满足当前优先级队列任务的资源需求的情况下,释放所述目标系统资源中包括的从资源池的系统资源。
可选的,所述主资源池和所述从资源池为线程池,所述目标系统资源为线程资源。
上述资源分配装置可执行本申请任意实施例所提供的资源分配方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请任意实施例提供的资源分配方法。
由于上述所介绍的资源分配装置为可以执行本申请实施例中的资源分配方法的装置,故而基于本申请实施例中所介绍的资源分配方法,本领域所属技术人员能够了解本实施例的资源分配装置的具体实施方式以及其各种变化形式,所以在此对于该资源分配装置如何实现本申请实施例中的资源分配方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中资源分配方法所采用的装置,都属于本申请所欲保护的范围。
在一个示例中,本公开还提供了一种计算机设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例计算机设备400的示意性框图。计算机设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。计算机设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如资源分配方法。例如,在一些实施例中,资源分配方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的资源分配方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行资源分配方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
本申请实施例接收到当前优先级队列任务触发的任务处理请求之后,确定该当前优先级队列任务的任务优先级,以根据当前优先级队列任务的任务优先级确定当前优先级队列任务匹配的包括一个主资源池和至少一个从资源池的主从资源池,从而根据确定的主从资源池为当前优先级队列任务分配目标系统资源,解决现有计算系统分配资源时存在的资源利用率低及任务执行效率和执行质量较差等问题,从而提高计算系统的资源利用率、任务的执行效率和执行质量。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (20)

1.一种资源分配方法,包括:
接收当前优先级队列任务触发的任务处理请求;
确定所述当前优先级队列任务的任务优先级;
根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池;其中,所述主从资源池包括一个主资源池和至少一个从资源池;
根据所述主从资源池为所述当前优先级队列任务分配目标系统资源;
其中,所述根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池,包括:
根据所述任务优先级与各优先级资源池的资源池标识进行匹配,得到目标资源池标识,将所述目标资源池标识对应的优先级资源池作为主资源池;
根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池;
其中,根据所述主从资源池为所述当前优先级队列任务分配目标系统资源,包括:
在主资源池包括的系统资源满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为目标系统资源;
在所述主资源池包括的系统资源不满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为第一目标系统资源,并将从资源池中的系统资源确定为第二目标系统资源;其中,所述第一目标系统资源和所述第二目标系统资源共同构成所述目标系统资源。
2.根据权利要求1所述的方法,还包括:
获取全量系统资源以及系统支持的任务优先级类型;
根据所述任务优先级类型将所述全量系统资源划分为多个优先级资源池,其中,一个所述优先级资源池中包括至少一个单位系统资源;
确定各所述优先级资源池的资源池标识;
其中,所述资源池标识用于确定任一所述优先级资源池中的系统资源用于执行的优先级类型任务。
3.根据权利要求2所述的方法,其中,所述根据所述任务优先级类型将所述全量系统资源划分为多个优先级资源池,包括:
在确定所述任务优先级类型为第一优先级类型的情况下,从所述全量系统资源划分第一数量的系统资源构建第一优先级资源池;
在确定所述任务优先级类型为第二优先级类型的情况下,从剩余系统资源划分第二数量的系统资源构建第二优先级资源池;
在确定所述任务优先级类型为第一优先级类型的情况下,从剩余系统资源划分第三数量的系统资源构建第三优先级资源池;
其中,所述第一数量大于所述第二数量,所述第二数量大于所述第三数量。
4.根据权利要求3所述的方法,还包括:
根据各所述优先级资源池的资源池标识为各所述优先级资源池确定资源租借周期;
其中,所述资源租借周期用于确定所述优先级资源池作为从资源池的资源释放时间。
5.根据权利要求1所述的方法,其中,所述根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池,包括:
在确定所述任务优先级为第一优先级类型的情况下,将第二优先级资源池和第三优先级资源池确定为所述从资源池;
在确定所述任务优先级为第二优先级类型的情况下,将所述第三优先级资源池确定为第一从资源池,将所述第一优先级资源池确定为第二从资源池;
在确定所述任务优先级为第三优先级类型的情况下,将所述第二优先级资源池确定为所述从资源池。
6.根据权利要求1所述的方法,其中,所述根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池,包括:
获取各优先级资源池针对所述任务优先级的历史分配数据;
根据所述历史分配数据从所述剩余资源池中确定历史空闲资源池;
将所述历史空闲资源池确定为所述从资源池。
7.根据权利要求1所述的方法,其中,所述将从资源池中的系统资源确定为第二目标系统资源,包括:
在确定仅存在一个所述从资源池的情况下,将所述从资源池中的部分或全部系统资源确定为所述第二目标系统资源;
在确定存在多个所述从资源池的情况下,从各所述从资源池中确定目标从资源池,并将所述目标从资源池中的部分或全部系统资源确定为所述第二目标系统资源。
8.根据权利要求1所述的方法,还包括:
在确定所述目标系统资源包括从资源池的系统资源的情况下,获取所述从资源池的资源租借时间;
在确定所述资源租借时间达到资源租借周期,或主资源池的系统资源满足当前优先级队列任务的资源需求的情况下,释放所述目标系统资源中包括的从资源池的系统资源。
9.根据权利要求1-8任一所述的方法,其中,所述主资源池和所述从资源池为线程池,所述目标系统资源为线程资源。
10.一种资源分配装置,包括:
任务处理请求接收模块,用于接收当前优先级队列任务触发的任务处理请求;
任务优先级确定模块,用于确定所述当前优先级队列任务的任务优先级;
主从资源池确定模块,用于根据所述任务优先级确定所述当前优先级队列任务匹配的主从资源池;其中,所述主从资源池包括一个主资源池和至少一个从资源池;
目标系统资源分配模块,用于根据所述主从资源池为所述当前优先级队列任务分配目标系统资源;
其中,所述主从资源池确定模块,具体用于:根据所述任务优先级与各优先级资源池的资源池标识进行匹配,得到目标资源池标识,将所述目标资源池标识对应的优先级资源池作为主资源池;根据所述任务优先级和从资源池确定策略从剩余资源池中确定从资源池;
其中,所述目标系统资源分配模块,具体用于:
在主资源池包括的系统资源满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为目标系统资源;
在所述主资源池包括的系统资源不满足所述当前优先级队列任务的资源需求的情况下,将所述主资源池中的系统资源确定为第一目标系统资源,并将从资源池中的系统资源确定为第二目标系统资源;其中,所述第一目标系统资源和所述第二目标系统资源共同构成所述目标系统资源。
11.根据权利要求10所述的装置,还包括:
资源类型获取模块,用于获取全量系统资源以及系统支持的任务优先级类型;
优先级资源池划分模块,用于根据所述任务优先级类型将所述全量系统资源划分为多个优先级资源池,其中,一个所述优先级资源池中包括至少一个单位系统资源;
资源池标识确定模块,用于确定各所述优先级资源池的资源池标识;
其中,所述资源池标识用于确定任一所述优先级资源池中的系统资源用于执行的优先级类型任务。
12.根据权利要求11所述的装置,其中,所述优先级资源池划分模块具体用于:
在确定所述任务优先级类型为第一优先级类型的情况下,从所述全量系统资源划分第一数量的系统资源构建第一优先级资源池;
在确定所述任务优先级类型为第二优先级类型的情况下,从剩余系统资源划分第二数量的系统资源构建第二优先级资源池;
在确定所述任务优先级类型为第一优先级类型的情况下,从剩余系统资源划分第三数量的系统资源构建第三优先级资源池;
其中,所述第一数量大于所述第二数量,所述第二数量大于所述第三数量。
13.根据权利要求12所述的装置,还包括:
资源租借周期确定模块,用于根据各所述优先级资源池的资源池标识为各所述优先级资源池确定资源租借周期;
其中,所述资源租借周期用于确定所述优先级资源池作为从资源池的资源释放时间。
14.根据权利要求10所述的装置,其中,所述主从资源池确定模块具体用于:
在确定所述任务优先级为第一优先级类型的情况下,将第二优先级资源池和第三优先级资源池确定为所述从资源池;
在确定所述任务优先级为第二优先级类型的情况下,将所述第三优先级资源池确定为第一从资源池,将所述第一优先级资源池确定为第二从资源池;
在确定所述任务优先级为第三优先级类型的情况下,将所述第二优先级资源池确定为所述从资源池。
15.根据权利要求10所述的装置,其中,所述主从资源池确定模块具体用于:
获取各优先级资源池针对所述任务优先级的历史分配数据;
根据所述历史分配数据从所述剩余资源池中确定历史空闲资源池;
将所述历史空闲资源池确定为所述从资源池。
16.根据权利要求10所述的装置,其中,所述目标系统资源分配模块具体用于:
在确定仅存在一个所述从资源池的情况下,将所述从资源池中的部分或全部系统资源确定为所述第二目标系统资源;
在确定存在多个所述从资源池的情况下,从各所述从资源池中确定目标从资源池,并将所述目标从资源池中的部分或全部系统资源确定为所述第二目标系统资源。
17.根据权利要求10所述的装置,还包括:
资源租借时间确定模块,用于在确定所述目标系统资源包括从资源池的系统资源的情况下,获取所述从资源池的资源租借时间;
系统资源释放模块,用于在确定所述资源租借时间达到资源租借周期,或主资源池的系统资源满足当前优先级队列任务的资源需求的情况下,释放所述目标系统资源中包括的从资源池的系统资源。
18.根据权利要求10-17任一所述的装置,其中,所述主资源池和所述从资源池为线程池,所述目标系统资源为线程资源。
19.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的资源分配方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行权利要求1-9中任一项所述的资源分配方法。
CN202110138114.2A 2021-02-01 2021-02-01 一种资源分配方法、装置、计算机设备及存储介质 Active CN112783659B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110138114.2A CN112783659B (zh) 2021-02-01 2021-02-01 一种资源分配方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110138114.2A CN112783659B (zh) 2021-02-01 2021-02-01 一种资源分配方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112783659A CN112783659A (zh) 2021-05-11
CN112783659B true CN112783659B (zh) 2023-08-04

Family

ID=75760357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110138114.2A Active CN112783659B (zh) 2021-02-01 2021-02-01 一种资源分配方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112783659B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268346A (zh) * 2021-05-26 2021-08-17 平安科技(深圳)有限公司 边缘节点的动态资源分配方法及分配装置
CN114356547B (zh) * 2021-12-07 2023-03-14 北京百度网讯科技有限公司 基于处理器虚拟化环境的低优阻塞方法及装置
CN114416352B (zh) * 2021-12-29 2024-10-11 中国电信股份有限公司 算力资源分配方法、装置、电子设备及储存介质
CN115174695B (zh) * 2022-07-18 2024-01-26 中软航科数据科技(珠海横琴)有限公司 一种用于分布式网络资源的调度系统及方法
CN117667324A (zh) * 2022-08-24 2024-03-08 华为技术有限公司 用于处理任务的方法、装置、设备和存储介质
CN115794421B (zh) * 2023-02-07 2023-05-02 北京仁科互动网络技术有限公司 资源分配方法、装置和电子设备
CN116126545B (zh) * 2023-04-12 2023-06-30 江苏曼荼罗软件股份有限公司 资源调度的数据抽取方法、系统、存储介质及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761469A (zh) * 2011-04-27 2012-10-31 阿里巴巴集团控股有限公司 一种资源池的分配方法和装置
CN109783229A (zh) * 2018-12-17 2019-05-21 平安普惠企业管理有限公司 线程资源分配的方法及装置
WO2020001320A1 (zh) * 2018-06-27 2020-01-02 阿里巴巴集团控股有限公司 一种资源分配方法、装置及设备
WO2020000944A1 (zh) * 2018-06-25 2020-01-02 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN111176852A (zh) * 2020-01-15 2020-05-19 上海依图网络科技有限公司 资源分配方法、装置、芯片及计算机可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170344266A1 (en) * 2016-05-27 2017-11-30 Netapp, Inc. Methods for dynamic resource reservation based on classified i/o requests and devices thereof
US11010195B2 (en) * 2019-07-19 2021-05-18 International Business Machines Corporation K-tier architecture scheduling

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761469A (zh) * 2011-04-27 2012-10-31 阿里巴巴集团控股有限公司 一种资源池的分配方法和装置
WO2020000944A1 (zh) * 2018-06-25 2020-01-02 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
WO2020001320A1 (zh) * 2018-06-27 2020-01-02 阿里巴巴集团控股有限公司 一种资源分配方法、装置及设备
CN110647394A (zh) * 2018-06-27 2020-01-03 阿里巴巴集团控股有限公司 一种资源分配方法、装置及设备
CN109783229A (zh) * 2018-12-17 2019-05-21 平安普惠企业管理有限公司 线程资源分配的方法及装置
CN111176852A (zh) * 2020-01-15 2020-05-19 上海依图网络科技有限公司 资源分配方法、装置、芯片及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"集群资源统一管理和调度技术综述";李永峰等;《华东师范大学学报(自然科学版)》;第2014年卷(第5期);第17-30页 *

Also Published As

Publication number Publication date
CN112783659A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN112783659B (zh) 一种资源分配方法、装置、计算机设备及存储介质
US10754706B1 (en) Task scheduling for multiprocessor systems
WO2020001320A1 (zh) 一种资源分配方法、装置及设备
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
CN109697122B (zh) 任务处理方法、设备及计算机存储介质
CN111338785B (zh) 资源调度方法及装置、电子设备、存储介质
WO2022247105A1 (zh) 一种任务调度方法、装置、计算机设备和存储介质
WO2024021489A1 (zh) 一种任务调度方法、装置及Kubernetes调度器
CN109783225B (zh) 一种多租户大数据平台的租户优先级管理方法及系统
CN108681481B (zh) 业务请求的处理方法及装置
CN112073532B (zh) 一种资源分配的方法及装置
WO2022236816A1 (zh) 一种任务分配方法及装置
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN115167996A (zh) 调度方法及装置、芯片、电子设备及存储介质
CN112749002A (zh) 一种集群资源动态管理的方法和装置
CN113986497B (zh) 基于多租户技术的队列调度方法、装置及系统
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN114579323A (zh) 一种线程处理方法、装置、设备及介质
CN115168040A (zh) 一种作业抢占调度方法、装置、设备和存储介质
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
CN109189581B (zh) 一种作业调度方法和装置
CN114721818A (zh) 一种基于Kubernetes集群的GPU分时共享方法和系统
CN116610422A (zh) 一种任务调度方法、装置和系统
CN113010309B (zh) 集群资源调度方法、装置、存储介质、设备和程序产品
CN117472570A (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