CN113448726B - 一种资源调度方法和装置 - Google Patents
一种资源调度方法和装置 Download PDFInfo
- Publication number
- CN113448726B CN113448726B CN202110594432.XA CN202110594432A CN113448726B CN 113448726 B CN113448726 B CN 113448726B CN 202110594432 A CN202110594432 A CN 202110594432A CN 113448726 B CN113448726 B CN 113448726B
- Authority
- CN
- China
- Prior art keywords
- resources
- resource
- resource pool
- amount
- computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种资源调度方法和装置,方法包括:构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池。本发明能够优化系统内部资源的调度方式,提升资源流转效率和系统整体效率。
Description
技术领域
本发明涉及资源调度领域,更具体地,特别是指一种资源调度方法和装置。
背景技术
计算机系统中多个业务共同使用某一类资源时,为了降低竞争以及死锁的概率,常规做法是为每个模块分配一定的资源配额,作为各个业务独有的资源来使用。但是更多的情况是资源有限,无法保证各个业务模块时刻都有足够的独享资源,只能以共享的方式让资源在各个模块间流动,这样势必存在资源竞争。然而资源竞争势必带来额外的消耗,并且因此影响系统的整体效率。
针对现有技术中资源竞争降低整体效率的问题,目前尚无有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种资源调度方法和装置,能够优化系统内部资源的调度方式,提升资源流转效率和系统整体效率。
基于上述目的,本发明实施例的第一方面提供了一种资源调度方法,包括执行以下步骤:
构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;
响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;
响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池。
在一些实施方式中,响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求包括:
响应于接收到资源请求,而基于资源请求向父节点资源池请求借用足量的计算资源和/或存储资源;
响应于从父节点资源池获得足量的计算资源和/或存储资源,而在子节点资源池中将资源请求所请求的第一资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别移除各自部分的被分配的计算资源和/或存储资源。
在一些实施方式中,方法还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池进一步地向父节点资源池在树形结构上的上级节点请求借用足量的计算资源和/或存储资源。
在一些实施方式中,方法还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池执行资源回收过程,以从父节点资源池在树形结构上的其它下级节点获取未被占用的待处理资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别添加各自部分的被释放的计算资源和/或存储资源;
响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池。
在一些实施方式中,响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池包括:
响应于由所述父节点资源池执行资源回收过程且特定业务模块的业务惯性为低惯性,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由父节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中将第一资源量中从父节点资源池请求借用的部分从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由子节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中为特定业务模块保留第一资源量。
在一些实施方式中,方法还包括:
响应于子节点资源池从特定业务模块接收到不超过总分配量的资源请求,而根据资源请求直接向特定业务模块分配计算资源和/或存储资源,并响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源。
在一些实施方式中,根据资源请求直接向特定业务模块分配计算资源和/或存储资源包括:
响应于接收到资源请求,而在子节点资源池中将资源请求所请求的第二资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池的可用资源对象记录单链表中移除被分配的计算资源和/或存储资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池的可用资源对象记录单链表中添加被释放的计算资源和/或存储资源;
响应于子节点资源池执行资源回收过程,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到可用资源量。
本发明实施例的第二方面提供了一种装置,包括:
处理器;
控制器,存储有处理器可运行的程序代码,处理器在运行程序代码时执行以下步骤:
构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;
响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;
响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池。
在一些实施方式中,响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求包括:
响应于接收到资源请求,而基于资源请求向父节点资源池请求借用足量的计算资源和/或存储资源;
响应于从父节点资源池获得足量的计算资源和/或存储资源,而在子节点资源池中将资源请求所请求的第一资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别移除各自部分的被分配的计算资源和/或存储资源。
在一些实施方式中,步骤还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池进一步地向父节点资源池在树形结构上的上级节点请求借用足量的计算资源和/或存储资源。
在一些实施方式中,步骤还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池执行资源回收过程,以从父节点资源池在树形结构上的其它下级节点获取未被占用的待处理资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别添加各自部分的被释放的计算资源和/或存储资源;
响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池。
在一些实施方式中,响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池包括:
响应于由所述父节点资源池执行资源回收过程且特定业务模块的业务惯性为低惯性,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由父节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中将第一资源量中从父节点资源池请求借用的部分从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由子节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中为特定业务模块保留第一资源量。
在一些实施方式中,步骤还包括:
响应于子节点资源池从特定业务模块接收到不超过总分配量的资源请求,而根据资源请求直接向特定业务模块分配计算资源和/或存储资源,并响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源。
在一些实施方式中,根据资源请求直接向特定业务模块分配计算资源和/或存储资源包括:
响应于接收到资源请求,而在子节点资源池中将资源请求所请求的第二资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池的可用资源对象记录单链表中移除被分配的计算资源和/或存储资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池的可用资源对象记录单链表中添加被释放的计算资源和/或存储资源;
响应于子节点资源池执行资源回收过程,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到可用资源量。
本发明具有以下有益技术效果:本发明实施例提供的资源调度方法和装置,通过构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池的技术方案,能够优化系统内部资源的调度方式,提升资源流转效率和系统整体效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的资源调度方法的流程示意图;
图2为本发明提供的资源调度方法的配额内调度的详细流程图;
图3为本发明提供的资源调度方法的超配额调度的详细流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本发明实施例的第一个方面,提出了一种优化系统内部资源的调度方式,提升资源流转效率和系统整体效率的资源调度方法的一个实施例。图1示出的是本发明提供的资源调度方法的流程示意图。
所述的资源调度方法,如图1所示,包括执行以下步骤:
步骤S101,构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;
步骤S103,响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;
步骤S105,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池。
为了降低模块间资源竞争带来的消耗,同时使资源在模块间快速流动起来,本发明提出采用树形结构分级管理资源,树上的每个节点都是一个资源池,每个池有预置的配额,根节点是该类型资源的总池(一级池),根节点的每个子节点(二级池)为一个业务模块提供资源,该业务优先在自己的池内申请资源,当申请的资源超过池的配额时,会向上级池或者总池申请资源;资源使用完毕后,再将超过池配额的资源还给上级池或者总池。同时,业务模块也可以根据需要建立子池(三级池)。子池的资源配额是从上级池或总池分配出去的。
应当注意,本发明中所述的父节点和子节点是相对的,并不特指某两个固定节点。父节点是和直接连接子节点并且更靠近树形结构的根节点的节点。父节点也有其自身的父节点,相当于子节点的爷爷节点;反之亦然。因此,本发明中的父节点和子节点可以带入树形结构中的任意两个相连的节点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
在一些实施方式中,响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求包括:
响应于接收到资源请求,而基于资源请求向父节点资源池请求借用足量的计算资源和/或存储资源;
响应于从父节点资源池获得足量的计算资源和/或存储资源,而在子节点资源池中将资源请求所请求的第一资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别移除各自部分的被分配的计算资源和/或存储资源。
在一些实施方式中,方法还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池进一步地向父节点资源池在树形结构上的上级节点请求借用足量的计算资源和/或存储资源。
在一些实施方式中,方法还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池执行资源回收过程,以从父节点资源池在树形结构上的其它下级节点获取未被占用的待处理资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别添加各自部分的被释放的计算资源和/或存储资源;
响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池。
在一些实施方式中,响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池包括:
响应于由所述父节点资源池执行资源回收过程且特定业务模块的业务惯性为低惯性,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由父节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中将第一资源量中从父节点资源池请求借用的部分从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由子节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中为特定业务模块保留第一资源量。
在一些实施方式中,方法还包括:
响应于子节点资源池从特定业务模块接收到不超过总分配量的资源请求,而根据资源请求直接向特定业务模块分配计算资源和/或存储资源,并响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源。
在一些实施方式中,根据资源请求直接向特定业务模块分配计算资源和/或存储资源包括:
响应于接收到资源请求,而在子节点资源池中将资源请求所请求的第二资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池的可用资源对象记录单链表中移除被分配的计算资源和/或存储资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池的可用资源对象记录单链表中添加被释放的计算资源和/或存储资源;
响应于子节点资源池执行资源回收过程,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到可用资源量。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
下面根据图2、3所示的具体实施例进一步阐述本发明的具体实施方式。
对于某种资源,如计算资源、存储资源、或二者的结合硬件资源,首先创建出总池,并作为树的根节点。然后根据需要创建子池(二级池),根节点(一级池)会为其分配指定的配额。再创建子池的子池(三级池),父节点池(二级池)会为其分配指定的配额,如果不够,会再从根节点池(一级池)分配;二级池因为分配给下层子池资源,导致实际资源对象低于配额值,也会从根节点的总池补充。总池的数据结构如下:
一般来说,资源的申请释放分为4步:reserve,allocate,free,unreserve。首先预定(reserve)一定数目的资源,将可用资源的数据减掉一个值,当实际需要的时候再分配(allocate),使用完资源对象,通过释放(free)还回资源池,最后反预定(unreserve),更新资源相关计数。理想情况参见图2。向一个池的资源申请都在配额内,用户申请资源时直接可以满足,效率最高。
然而当申请超过配额的资源时,就需要向父节点的资源池去借,用完了再还回去,其操作流程参见图3。如果一直到根节点都没有借到,就要等其他模块释放了才能申请成功,这样就可以超配额使用资源,不会因为配额限制成为模块处理效率的瓶颈。
另一方面,考虑到业务惯性,子池一旦超配额使用资源,那么后续仍然可能超配额使用资源,所以子池资源释放时,仅向父池归还计数,实际的资源对象仍然放在子池中,提高该子池资源分配的效率。其他业务的子池向父池申请资源时,如果在父池中可以reserve成功,但是没有足够资源可以allocate,就尝试从这个树上其他子池中按照深度优先遍历,回收可用的资源对象。回收过程就是子孙池逐级将资源释放给父池的过程,直到父池中有了足够的资源对象。
从上述实施例可以看出,本发明实施例提供的资源调度方法,通过构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池的技术方案,能够优化系统内部资源的调度方式,提升资源流转效率和系统整体效率。
需要特别指出的是,上述资源调度方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于资源调度方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种优化系统内部资源的调度方式,提升资源流转效率和系统整体效率的资源调度装置的一个实施例。装置包括:
处理器;
控制器,存储有处理器可运行的程序代码,处理器在运行程序代码时执行以下步骤:
构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;
响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;
响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池。
在一些实施方式中,响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求包括:
响应于接收到资源请求,而基于资源请求向父节点资源池请求借用足量的计算资源和/或存储资源;
响应于从父节点资源池获得足量的计算资源和/或存储资源,而在子节点资源池中将资源请求所请求的第一资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别移除各自部分的被分配的计算资源和/或存储资源。
在一些实施方式中,步骤还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池进一步地向父节点资源池在树形结构上的上级节点请求借用足量的计算资源和/或存储资源。
在一些实施方式中,步骤还包括:响应于未能从父节点资源池获得足量的计算资源和/或存储资源,而使父节点资源池执行资源回收过程,以从父节点资源池在树形结构上的其它下级节点获取未被占用的待处理资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第一资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池和父节点资源池各自的可用资源对象记录单链表中分别添加各自部分的被释放的计算资源和/或存储资源;
响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池。
在一些实施方式中,响应于子节点资源池或父节点资源池执行资源回收过程,而基于特定业务模块的业务惯性在子节点资源池中选择性地将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池包括:
响应于由所述父节点资源池执行资源回收过程且特定业务模块的业务惯性为低惯性,而在子节点资源池中将第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由父节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中将第一资源量中从父节点资源池请求借用的部分从待处理资源量中扣除并添加到可用资源量,并进一步将从父节点资源池请求借用的计算资源和/或存储资源归还到父节点资源池;
响应于由子节点资源池执行资源回收过程且特定业务模块的业务惯性为高惯性,而在子节点资源池中为特定业务模块保留第一资源量。
在一些实施方式中,步骤还包括:
响应于子节点资源池从特定业务模块接收到不超过总分配量的资源请求,而根据资源请求直接向特定业务模块分配计算资源和/或存储资源,并响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源。
在一些实施方式中,根据资源请求直接向特定业务模块分配计算资源和/或存储资源包括:
响应于接收到资源请求,而在子节点资源池中将资源请求所请求的第二资源量从可用资源量中扣除并添加到待处理资源量;
响应于特定业务模块调用被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到被调用资源量,并从子节点资源池的可用资源对象记录单链表中移除被分配的计算资源和/或存储资源。
在一些实施方式中,响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源包括:
响应于特定业务模块释放被分配的计算资源和/或存储资源,而在子节点资源池中将第二资源量从被调用资源量中扣除并添加到待处理资源量,并向子节点资源池的可用资源对象记录单链表中添加被释放的计算资源和/或存储资源;
响应于子节点资源池执行资源回收过程,而在子节点资源池中将第二资源量从待处理资源量中扣除并添加到可用资源量。
本发明例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
从上述实施例可以看出,本发明实施例提供的资源调度装置,通过构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到树形结构中的各节点上作为资源池;响应于配置为专门向特定业务模块提供资源的子节点资源池从特定业务模块接收到超过子节点资源池的总分配量的资源请求,而向子节点资源池在树形结构上的父节点资源池借用计算资源和/或存储资源以满足特定业务模块的资源请求;响应于特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于特定业务模块的业务惯性而将从父节点资源池借用的计算资源和/或存储资源选择性地归还给父节点资源池的技术方案,能够优化系统内部资源的调度方式,提升资源流转效率和系统整体效率。
需要特别指出的是,上述装置的实施例采用了所述资源调度方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述资源调度方法的其他实施例中。当然,由于所述资源调度方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (9)
1.一种资源调度方法,其特征在于,包括执行以下步骤:
构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到所述树形结构中的各节点上作为资源池;
响应于配置为专门向特定业务模块提供资源的子节点资源池从所述特定业务模块接收到超过所述子节点资源池的总分配量的资源请求,而向所述子节点资源池在所述树形结构上的父节点资源池借用计算资源和/或存储资源以满足所述特定业务模块的所述资源请求;
响应于所述特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于所述特定业务模块的业务惯性而将从所述父节点资源池借用的计算资源和/或存储资源选择性地归还给所述父节点资源池;
其中响应于配置为专门向特定业务模块提供资源的子节点资源池从所述特定业务模块接收到超过所述子节点资源池的总分配量的资源请求,而向所述子节点资源池在所述树形结构上的父节点资源池借用计算资源和/或存储资源以满足所述特定业务模块的所述资源请求包括:
响应于接收到所述资源请求,而基于所述资源请求向所述父节点资源池请求借用足量的计算资源和/或存储资源;
响应于从所述父节点资源池获得足量的计算资源和/或存储资源,而在所述子节点资源池中将所述资源请求所请求的第一资源量从可用资源量中扣除并添加到待处理资源量;
响应于所述特定业务模块调用被分配的计算资源和/或存储资源,而在所述子节点资源池中将所述第一资源量从待处理资源量中扣除并添加到被调用资源量,并从所述子节点资源池和所述父节点资源池各自的可用资源对象记录单链表中分别移除各自部分的被分配的计算资源和/或存储资源。
2.根据权利要求1所述的方法,其特征在于,还包括:响应于未能从所述父节点资源池获得足量的计算资源和/或存储资源,而使所述父节点资源池进一步地向所述父节点资源池在所述树形结构上的上级节点请求借用足量的计算资源和/或存储资源。
3.根据权利要求1所述的方法,其特征在于,还包括:响应于未能从所述父节点资源池获得足量的计算资源和/或存储资源,而使所述父节点资源池执行资源回收过程,以从所述父节点资源池在所述树形结构上的其它下级节点获取未被占用的待处理资源。
4.根据权利要求1所述的方法,其特征在于,响应于所述特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于所述特定业务模块的业务惯性而将从所述父节点资源池借用的计算资源和/或存储资源选择性地归还给所述父节点资源池包括:
响应于所述特定业务模块释放被分配的计算资源和/或存储资源,而在所述子节点资源池中将所述第一资源量从被调用资源量中扣除并添加到待处理资源量,并向所述子节点资源池和所述父节点资源池各自的可用资源对象记录单链表中分别添加各自部分的被释放的计算资源和/或存储资源;
响应于所述子节点资源池或所述父节点资源池执行资源回收过程,而基于所述特定业务模块的业务惯性在所述子节点资源池中选择性地将所述第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从所述父节点资源池请求借用的计算资源和/或存储资源归还到所述父节点资源池。
5.根据权利要求4所述的方法,其特征在于,响应于所述子节点资源池或所述父节点资源池执行资源回收过程,而基于所述特定业务模块的业务惯性在所述子节点资源池中选择性地将所述第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步选择性地将从所述父节点资源池请求借用的计算资源和/或存储资源归还到所述父节点资源池包括:
响应于由所述父节点资源池执行资源回收过程且所述特定业务模块的业务惯性为低惯性,而在所述子节点资源池中将所述第一资源量从待处理资源量中扣除并添加到可用资源量,并进一步将从所述父节点资源池请求借用的计算资源和/或存储资源归还到所述父节点资源池;
响应于由所述父节点资源池执行资源回收过程且所述特定业务模块的业务惯性为高惯性,而在所述子节点资源池中将所述第一资源量中从所述父节点资源池请求借用的部分从待处理资源量中扣除并添加到可用资源量,并进一步将从所述父节点资源池请求借用的计算资源和/或存储资源归还到所述父节点资源池;
响应于由所述子节点资源池执行资源回收过程且所述特定业务模块的业务惯性为高惯性,而在所述子节点资源池中为所述特定业务模块保留所述第一资源量。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述子节点资源池从所述特定业务模块接收到不超过所述总分配量的资源请求,而根据所述资源请求直接向所述特定业务模块分配计算资源和/或存储资源,并响应于所述特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源。
7.根据权利要求6所述的方法,其特征在于,根据所述资源请求直接向所述特定业务模块分配计算资源和/或存储资源包括:
响应于接收到所述资源请求,而在所述子节点资源池中将所述资源请求所请求的第二资源量从可用资源量中扣除并添加到待处理资源量;
响应于所述特定业务模块调用被分配的计算资源和/或存储资源,而在所述子节点资源池中将所述第二资源量从待处理资源量中扣除并添加到被调用资源量,并从所述子节点资源池的可用资源对象记录单链表中移除被分配的计算资源和/或存储资源。
8.根据权利要求7所述的方法,其特征在于,响应于所述特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源包括:
响应于所述特定业务模块释放被分配的计算资源和/或存储资源,而在所述子节点资源池中将所述第二资源量从被调用资源量中扣除并添加到待处理资源量,并向所述子节点资源池的可用资源对象记录单链表中添加被释放的计算资源和/或存储资源;
响应于所述子节点资源池执行资源回收过程,而在所述子节点资源池中将所述第二资源量从待处理资源量中扣除并添加到可用资源量。
9.一种资源调度装置,其特征在于,包括:
处理器;
控制器,存储有所述处理器可运行的程序代码,所述处理器在运行所述程序代码时执行以下步骤:
构建树形结构的资源分级管理器,并将所有计算资源和/或存储资源分配到所述树形结构中的各节点上作为资源池;
响应于配置为专门向特定业务模块提供资源的子节点资源池从所述特定业务模块接收到超过所述子节点资源池的总分配量的资源请求,而向所述子节点资源池在所述树形结构上的父节点资源池借用计算资源和/或存储资源以满足所述特定业务模块的所述资源请求,其包括:
响应于接收到所述资源请求,而基于所述资源请求向所述父节点资源池请求借用足量的计算资源和/或存储资源;
响应于从所述父节点资源池获得足量的计算资源和/或存储资源,而在所述子节点资源池中将所述资源请求所请求的第一资源量从可用资源量中扣除并添加到待处理资源量;
响应于所述特定业务模块调用被分配的计算资源和/或存储资源,而在所述子节点资源池中将所述第一资源量从待处理资源量中扣除并添加到被调用资源量,并从所述子节点资源池和所述父节点资源池各自的可用资源对象记录单链表中分别移除各自部分的被分配的计算资源和/或存储资源;
响应于所述特定业务模块释放计算资源和/或存储资源而回收计算资源和/或存储资源,并基于所述特定业务模块的业务惯性而将从所述父节点资源池借用的计算资源和/或存储资源选择性地归还给所述父节点资源池。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110594432.XA CN113448726B (zh) | 2021-05-28 | 2021-05-28 | 一种资源调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110594432.XA CN113448726B (zh) | 2021-05-28 | 2021-05-28 | 一种资源调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448726A CN113448726A (zh) | 2021-09-28 |
CN113448726B true CN113448726B (zh) | 2022-11-04 |
Family
ID=77810431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110594432.XA Active CN113448726B (zh) | 2021-05-28 | 2021-05-28 | 一种资源调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448726B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777127A (zh) * | 2023-01-16 | 2023-09-19 | 中移(苏州)软件技术有限公司 | 一种资源分配方法、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685569A (zh) * | 2013-12-31 | 2014-03-26 | 曙光云计算技术有限公司 | 一种自动调整资源池的方法及系统 |
CN105320565A (zh) * | 2014-07-31 | 2016-02-10 | 中国石油化工股份有限公司 | 一种针对多种应用软件的计算机资源调度方法 |
CN107239865A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 一种互联网信息资源的调度方法、装置与系统 |
CN112181637A (zh) * | 2020-09-10 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种内存资源分配方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782240B2 (en) * | 2010-10-18 | 2014-07-15 | Avaya Inc. | Resource allocation using shared resource pools |
CN102347863A (zh) * | 2011-11-01 | 2012-02-08 | 大唐移动通信设备有限公司 | Ftp连接方法和设备 |
CN108667867B (zh) * | 2017-03-29 | 2021-05-18 | 华为技术有限公司 | 数据存储方法及装置 |
CN111951108A (zh) * | 2020-08-10 | 2020-11-17 | 神话科技传媒(深圳)有限公司上海分公司 | 一种具有图灵完备智能合约区块链的链结构设计方法 |
-
2021
- 2021-05-28 CN CN202110594432.XA patent/CN113448726B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685569A (zh) * | 2013-12-31 | 2014-03-26 | 曙光云计算技术有限公司 | 一种自动调整资源池的方法及系统 |
CN105320565A (zh) * | 2014-07-31 | 2016-02-10 | 中国石油化工股份有限公司 | 一种针对多种应用软件的计算机资源调度方法 |
CN107239865A (zh) * | 2016-03-28 | 2017-10-10 | 阿里巴巴集团控股有限公司 | 一种互联网信息资源的调度方法、装置与系统 |
CN112181637A (zh) * | 2020-09-10 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种内存资源分配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113448726A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783229B (zh) | 线程资源分配的方法及装置 | |
CN110647394B (zh) | 一种资源分配方法、装置及设备 | |
US8583756B2 (en) | Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system | |
US7565507B2 (en) | Cooperative memory management allowing program request and release memory as needed | |
Shoshani et al. | Storage resource managers: Essential components for the grid | |
JP2006236351A (ja) | リソース管理方法およびシステム | |
JP6860067B2 (ja) | 資源管理システム、管理装置、方法およびプログラム | |
JP4197303B2 (ja) | 計算機リソース管理方法及び実施装置並びに処理プログラム | |
CN111538586A (zh) | 集群gpu资源管理调度系统、方法以及计算机可读存储介质 | |
WO2007052442A1 (ja) | 情報処理方法および情報処理装置 | |
CN112214313A (zh) | 内存分配方法及相关设备 | |
CN101354720B (zh) | 一种分布式内存数据库数据系统及其共享方法 | |
CN113448726B (zh) | 一种资源调度方法和装置 | |
WO2007052443A1 (ja) | 情報処理方法および情報処理装置 | |
CN110597614A (zh) | 一种资源调整方法及装置 | |
CN106708608A (zh) | 一种分布式锁服务方法、获取方法及相应装置 | |
CN101938516A (zh) | 一种面向用户的动态分配存储资源的方法 | |
CN110795234A (zh) | 一种资源调度方法及装置 | |
CN113721855A (zh) | 存储资源的存储方法、装置、电子设备及计算机存储介质 | |
CN114217979A (zh) | 单据处理方法、装置、计算机设备和存储介质 | |
CN112346848A (zh) | 一种管理内存池的方法、装置及终端 | |
CN113344548B (zh) | 一种工作流生成方法、装置、设备及存储介质 | |
CN115907949A (zh) | 银行交易数据处理方法及装置 | |
CN114490051A (zh) | 一种云资源分配方法和电子设备 | |
CN114493598A (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 |