CN113254223A - 一种系统重启后的资源分配方法、系统及相关组件 - Google Patents
一种系统重启后的资源分配方法、系统及相关组件 Download PDFInfo
- Publication number
- CN113254223A CN113254223A CN202110792630.7A CN202110792630A CN113254223A CN 113254223 A CN113254223 A CN 113254223A CN 202110792630 A CN202110792630 A CN 202110792630A CN 113254223 A CN113254223 A CN 113254223A
- Authority
- CN
- China
- Prior art keywords
- resources
- recovery
- resource pool
- requirement
- requirements
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000013468 resource allocation Methods 0.000 title claims abstract description 42
- 238000011084 recovery Methods 0.000 claims abstract description 103
- 238000002360 preparation method Methods 0.000 claims abstract description 55
- 230000009191 jumping Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001351 cycling effect Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/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
-
- 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/5016—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 the resource being the memory
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/4401—Bootstrapping
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种系统重启后的资源分配方法、系统及相关组件,该方法包括:从资源池中分配第一部分资源给初始化预申请模块;从资源池中分配第二部分资源给缓存模块,以使缓存模块恢复初始化阶段的待恢复缓存数据;循环以下步骤:判断资源池中当前剩余资源能否满足缓存模块的准备阶段申请需求;如果是,根据准备阶段申请需求,从资源池中分配第三部分资源给缓存模块;判断是否存在IO恢复需求;如果是,根据IO恢复需求,从资源池中分配第四部分资源给IO处理模块;判断准备阶段申请需求和IO恢复需求是否完全被满足,如果是,则跳出循环。本申请将资源分配的方式改为异步,保证了资源分配能够顺利进行,最终满足了所有的资源分配需求。
Description
技术领域
本发明涉及服务器控制领域,特别涉及一种系统重启后的资源分配方法、系统及相关组件。
背景技术
当前,系统重启后需要对资源重新分配,分配过程中经历初始化预申请、准备阶段申请、恢复阶段IO(Input/Output,输入/输出)申请几个阶段,其中一旦初始化预申请阶段占用了太多资源,导致资源池中剩余资源无法满足准备阶段申请或恢复阶段申请,则会导致流程中断,系统无法进行后续流程。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种系统重启后的资源分配方法、系统及相关组件,以确保系统重启后资源分配的顺利进行。其具体方案如下:
一种系统重启后的资源分配方法,包括:
根据预申请需求,从资源池中分配第一部分资源给初始化预申请模块;
根据缓存恢复需求,从所述资源池中分配第二部分资源给缓存模块,以使所述缓存模块恢复初始化阶段的待恢复缓存数据;
循环以下步骤:
判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求,如果是,根据所述准备阶段申请需求,从所述资源池中分配第三部分资源给所述缓存模块,并进入第一判断步骤,如果否,则直接进入所述第一判断步骤;
所述第一判断步骤包括:判断是否存在IO恢复需求,如果是,根据所述IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块,以使所述IO处理模块处理原中断IO,并触发所述缓存模块下刷,以将已恢复的所述待恢复缓存数据对应的所述第二部分资源释放至所述资源池,并进入第二判断步骤,如果否,则直接进入所述第二判断步骤;
所述第二判断步骤包括:判断所述准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环。
优选的,所述判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求的过程,还包括:
如果否,在预设数据结构中记录所述资源池未能满足的所述准备阶段申请需求;
相应的,所述根据所述准备阶段申请需求,从所述资源池中分配第三部分资源给所述缓存模块的过程,还包括:
更新所述预设数据结构。
优选的,所述根据所述IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块的过程,包括:
判断所述资源池中当前剩余资源能否满足所有所述IO恢复需求;
如果是,则根据所有所述IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块;
如果否,将多个所述IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求;
将所述第二类恢复需求记录在所述预设数据结构中;
根据所述第一类恢复需求,从所述资源池中分配所述第四部分资源给所述IO处理模块。
优选的,所述将多个所述IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求的过程,包括:
将所有所述IO恢复需求按卷分组,确定每组的总需求;
按照多组所述IO恢复需求的优先级,将多个所述IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求;
其中,多组所述IO恢复需求的优先级从高到低的顺序,分别对应多组所述总需求从小到大的排序结果。
优选的,所述准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环的过程,具体包括:
判断所述预设数据结构是否为空,如果是,则跳出循环。
优选的,所述预设数据结构具体为链表或队列。
优选的,所述判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求的过程,具体包括:
按照预设频率,判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求。
相应的,本申请还公开了一种系统重启后的资源分配系统,包括:
第一模块,用于根据预申请需求,从资源池中分配第一部分资源给初始化预申请模块;
第二模块,用于根据缓存恢复需求,从所述资源池中分配第二部分资源给缓存模块,以使所述缓存模块恢复初始化阶段的待恢复缓存数据;
第三模块,用于循环以下步骤:
判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求;如果是,根据所述准备阶段申请需求,从所述资源池中分配第三部分资源给所述缓存模块;
判断是否存在IO恢复需求;
如果是,根据IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块,以使所述IO处理模块处理原中断IO,并触发所述缓存模块下刷,以将已恢复的所述待恢复缓存数据对应的所述第二部分资源释放至所述资源池;
判断所述准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环。
相应的,本申请还公开了一种系统重启后的资源分配装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述系统重启后的资源分配方法的步骤。
相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述系统重启后的资源分配方法的步骤。
本申请将资源分配的方式改为异步,在为准备阶段申请需求和IO恢复需求分配资源时,重复了判断是否可分配、分配、触发资源释放的循环,直至准备阶段申请需求和IO恢复需求均被满足,再跳出循环,保证了资源分配能够顺利进行,最终满足了所有的资源分配需求,解决了现有方案中可能出现的流程中断问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种系统重启后的资源分配方法的步骤流程图;
图2为本发明实施例中一种系统重启后的资源分配方法的子步骤流程图;
图3为本发明实施例中一种系统重启后的资源分配系统的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,系统重启后需要对资源重新分配,分配过程中经历初始化预申请、准备阶段申请、恢复阶段IO申请几个阶段,其中一旦初始化预申请阶段占用了太多资源,导致资源池中剩余资源无法满足准备阶段申请或恢复阶段申请,则会导致流程中断,系统无法进行后续流程。
本申请将资源分配的方式改为异步,在为准备阶段申请需求和IO恢复需求分配资源时,重复了判断是否可分配、分配、触发资源释放的循环,直至准备阶段申请需求和IO恢复需求均被满足,再跳出循环,保证了资源分配能够顺利进行,最终满足了所有的资源分配需求,解决了现有方案中可能出现的流程中断问题。
本发明实施例公开了一种系统重启后的资源分配方法,参见图1所示,包括:
S11:根据预申请需求,从资源池中分配第一部分资源给初始化预申请模块;
S12:根据缓存恢复需求,从资源池中分配第二部分资源给缓存模块,以使缓存模块恢复初始化阶段的待恢复缓存数据;
循环以下步骤:
S13:判断资源池中当前剩余资源能否满足缓存模块的准备阶段申请需求;如果是,执行步骤S14再进入第一判断步骤,如果否,则直接进入第一判断步骤;
S14:根据准备阶段申请需求,从资源池中分配第三部分资源给缓存模块;
通常情况下,双节点系统的数据同步,准备阶段申请需求达到9600个资源申请,一旦当前剩余资源无法实现,直接跳过S14进入步骤S15。
第一判断步骤也即步骤S15,该步骤包括:
S15:判断是否存在IO恢复需求;如果是,执行步骤S16,并进入第二判断步骤,如果否,则直接进入第二判断步骤;
S16:根据IO恢复需求,从资源池中分配第四部分资源给IO处理模块,以使IO处理模块处理原中断IO,并触发缓存模块下刷,以将已恢复的待恢复缓存数据对应的第二部分资源释放至资源池;
第二判断步骤也即步骤S17,该步骤包括:
S17:判断准备阶段申请需求和IO恢复需求是否完全被满足,如果是,则跳出循环。如果否,则进入步骤S13。
具体的,步骤S13-S17的循环顺序始终不变,步骤S13可以直接接在步骤S17结束后执行,但是这样整个方法线程会占用较多CPU(Central Processing Unit,中央处理器),为了降低占用,可将整个循环可按预设频率设置相应的触发时机,触发点可设置在步骤S13,因此步骤S13所述判断资源池中当前剩余资源能否满足缓存模块的准备阶段申请需求的过程,具体包括:
按照预设频率,判断资源池中当前剩余资源能否满足缓存模块的准备阶段申请需求。
可以理解的是,本实施例中执行步骤S13和S16的判断动作时,可将相关的内容记录下,以便后续操作中内容查询,尤其是将未能满足的准备阶段申请需求和/或IO恢复需求记录到预设数据结构中,预设数据结构可选择链表或队列的形式。
因此,此时在步骤S13判断资源池中当前剩余资源能否满足缓存模块的准备阶段申请需求的过程,还包括:
如果否,在预设数据结构中记录资源池未能满足的准备阶段申请需求;
相应的,步骤S14根据准备阶段申请需求,从资源池中分配第三部分资源给缓存模块的过程,还包括:
更新预设数据结构。
具体的,更新预设数据结构的动作,具体为将预设数据结构中已被第三部分资源响应的准备阶段申请需求删除掉。
进一步的,IO恢复需求也存在无法被满足的可能,因此对于不同的IO恢复需求的情况,参见图2所示,步骤S16根据IO恢复需求,从资源池中分配第四部分资源给IO处理模块的过程,具体包括:
S21:判断资源池中当前剩余资源能否满足所有IO恢复需求;
S22:如果是,则根据所有IO恢复需求,从资源池中分配第四部分资源给IO处理模块;
S23:如果否,将多个IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求;
S24:将第二类恢复需求记录在预设数据结构中;
S25:根据第一类恢复需求,从资源池中分配第四部分资源给IO处理模块。
可以理解的是,步骤S23中,如果当前剩余资源无法满足任何IO恢复需求,则第一类恢复需求为0,只执行步骤S24、忽略步骤S25即可。
进一步的,考虑缓存模块的下刷触发机制,步骤S23将多个IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求的过程,包括:
将所有IO恢复需求按卷分组,确定每组的总需求;
按照多组IO恢复需求的优先级,将多个IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求;
其中,多组IO恢复需求的优先级从高到低的顺序,分别对应多组总需求从小到大的排序结果。
可以理解的是,在以预设数据结构记录的情况下,步骤S17准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环的过程,具体包括:
判断预设数据结构是否为空,如果是,则跳出循环。
可以理解的是,本实施例中将暂时无法满足的需求记录到预设数据结构中,该需求包括准备阶段申请需求和IO恢复需求,需求个数、需求量并不一致,在选择分配时,不一定要根据资源的顺序进行,遍历预设数据结构,能够满足哪个需求,便将资源分配给那个需求,只要保证每次缓存模块的下刷触发机制没有问题,则能够保证循环的正常进行,不会再出现现有技术里系统重启卡在资源申请的问题。
本申请将资源分配的方式改为异步,在为准备阶段申请需求和IO恢复需求分配资源时,重复了判断是否可分配、分配、触发资源释放的循环,直至准备阶段申请需求和IO恢复需求均被满足,再跳出循环,保证了资源分配能够顺利进行,最终满足了所有的资源分配需求,解决了现有方案中可能出现的流程中断问题。
相应的,本申请实施例还公开了一种系统重启后的资源分配系统,参见图3所示,包括:
第一模块1,用于根据预申请需求,从资源池中分配第一部分资源给初始化预申请模块;
第二模块2,用于根据缓存恢复需求,从所述资源池中分配第二部分资源给缓存模块,以使所述缓存模块恢复初始化阶段的待恢复缓存数据;
第三模块3,用于循环以下步骤:
判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求,如果是,根据所述准备阶段申请需求,从所述资源池中分配第三部分资源给所述缓存模块,并进入第一判断步骤,如果否,则直接进入所述第一判断步骤;
所述第一判断步骤包括:判断是否存在IO恢复需求,如果是,根据IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块,以使所述IO处理模块处理原中断IO,并触发所述缓存模块下刷,以将已恢复的所述待恢复缓存数据对应的所述第二部分资源释放至所述资源池,并进入第二判断步骤,如果否,则直接进入所述第二判断步骤;
所述第二判断步骤包括:判断所述准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环。
本申请将资源分配的方式改为异步,在为准备阶段申请需求和IO恢复需求分配资源时,重复了判断是否可分配、分配、触发资源释放的循环,直至准备阶段申请需求和IO恢复需求均被满足,再跳出循环,保证了资源分配能够顺利进行,最终满足了所有的资源分配需求,解决了现有方案中可能出现的流程中断问题。
相应的,本申请实施例还公开了一种系统重启后的资源分配装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一实施例所述系统重启后的资源分配方法的步骤。
相应的,本申请实施例还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一实施例所述系统重启后的资源分配方法的步骤。
其中,本实施例中具体有关系统重启后的资源分配方法的细节内容可以参照上文实施例中的具体描述,此处不再赘述。
其中,本实施例中系统重启后的资源分配装置、可读存储介质均具有与上文实施例中相同的技术效果,此处不再赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种系统重启后的资源分配方法、系统及相关组件进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种系统重启后的资源分配方法,其特征在于,包括:
根据预申请需求,从资源池中分配第一部分资源给初始化预申请模块;
根据缓存恢复需求,从所述资源池中分配第二部分资源给缓存模块,以使所述缓存模块恢复初始化阶段的待恢复缓存数据;
循环以下步骤:
判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求,如果是,根据所述准备阶段申请需求,从所述资源池中分配第三部分资源给所述缓存模块,并进入第一判断步骤,如果否,则直接进入所述第一判断步骤;
所述第一判断步骤包括:判断是否存在IO恢复需求,如果是,根据所述IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块,以使所述IO处理模块处理原中断IO,并触发所述缓存模块下刷,以将已恢复的所述待恢复缓存数据对应的所述第二部分资源释放至所述资源池,并进入第二判断步骤,如果否,则直接进入所述第二判断步骤;
所述第二判断步骤包括:判断所述准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环。
2.根据权利要求1所述资源分配方法,其特征在于,所述判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求的过程,还包括:
如果否,在预设数据结构中记录所述资源池未能满足的所述准备阶段申请需求;
相应的,所述根据所述准备阶段申请需求,从所述资源池中分配第三部分资源给所述缓存模块的过程,还包括:
更新所述预设数据结构。
3.根据权利要求2所述资源分配方法,其特征在于,所述根据所述IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块的过程,包括:
判断所述资源池中当前剩余资源能否满足所有所述IO恢复需求;
如果是,则根据所有所述IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块;
如果否,将多个所述IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求;
将所述第二类恢复需求记录在所述预设数据结构中;
根据所述第一类恢复需求,从所述资源池中分配所述第四部分资源给所述IO处理模块。
4.根据权利要求3所述资源分配方法,其特征在于,所述将多个所述IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求的过程,包括:
将所有所述IO恢复需求按卷分组,确定每组的总需求;
按照多组所述IO恢复需求的优先级,将多个所述IO恢复需求划分为当前剩余资源可满足的第一类恢复需求和当前剩余资源不可满足的第二类恢复需求;
其中,多组所述IO恢复需求的优先级从高到低的顺序,分别对应多组所述总需求从小到大的排序结果。
5.根据权利要求3所述资源分配方法,其特征在于,所述准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环的过程,具体包括:
判断所述预设数据结构是否为空,如果是,则跳出循环。
6.根据权利要求2至5任一项所述资源分配方法,其特征在于,所述预设数据结构具体为链表或队列。
7.根据权利要求6所述资源分配方法,其特征在于,所述判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求的过程,具体包括:
按照预设频率,判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求。
8.一种系统重启后的资源分配系统,其特征在于,包括:
第一模块,用于根据预申请需求,从资源池中分配第一部分资源给初始化预申请模块;
第二模块,用于根据缓存恢复需求,从所述资源池中分配第二部分资源给缓存模块,以使所述缓存模块恢复初始化阶段的待恢复缓存数据;
第三模块,用于循环以下步骤:
判断所述资源池中当前剩余资源能否满足所述缓存模块的准备阶段申请需求;如果是,根据所述准备阶段申请需求,从所述资源池中分配第三部分资源给所述缓存模块,并进入第一判断步骤,如果否,则直接进入所述第一判断步骤;
所述第一判断步骤包括:判断是否存在IO恢复需求,如果是,根据IO恢复需求,从所述资源池中分配第四部分资源给IO处理模块,以使所述IO处理模块处理原中断IO,并触发所述缓存模块下刷,以将已恢复的所述待恢复缓存数据对应的所述第二部分资源释放至所述资源池,并进入第二判断步骤,如果否,则直接进入所述第二判断步骤;
所述第二判断步骤包括:判断所述准备阶段申请需求和所述IO恢复需求是否完全被满足,如果是,则跳出循环。
9.一种系统重启后的资源分配装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述系统重启后的资源分配方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述系统重启后的资源分配方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110792630.7A CN113254223B (zh) | 2021-07-14 | 2021-07-14 | 一种系统重启后的资源分配方法、系统及相关组件 |
US18/260,127 US20240061710A1 (en) | 2021-07-14 | 2021-10-29 | Resource allocation method and system after system restart and related component |
PCT/CN2021/127518 WO2023284171A1 (zh) | 2021-07-14 | 2021-10-29 | 一种系统重启后的资源分配方法、系统及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110792630.7A CN113254223B (zh) | 2021-07-14 | 2021-07-14 | 一种系统重启后的资源分配方法、系统及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254223A true CN113254223A (zh) | 2021-08-13 |
CN113254223B CN113254223B (zh) | 2021-10-15 |
Family
ID=77191217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110792630.7A Active CN113254223B (zh) | 2021-07-14 | 2021-07-14 | 一种系统重启后的资源分配方法、系统及相关组件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240061710A1 (zh) |
CN (1) | CN113254223B (zh) |
WO (1) | WO2023284171A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656162A (zh) * | 2021-08-18 | 2021-11-16 | 恒生电子股份有限公司 | 资源的申请方法、装置、电子设备及存储介质 |
WO2023284171A1 (zh) * | 2021-07-14 | 2023-01-19 | 苏州浪潮智能科技有限公司 | 一种系统重启后的资源分配方法、系统及相关组件 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6333936B1 (en) * | 1998-04-29 | 2001-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for allocating processing resources |
US20150066880A1 (en) * | 2013-09-02 | 2015-03-05 | International Business Machines Corporation | Checkpoint and Restart |
CN105245372A (zh) * | 2015-10-12 | 2016-01-13 | 浪潮软件集团有限公司 | 一种基于缓存和异步机制的加载网络资源的优化方法 |
CN105630602A (zh) * | 2015-12-18 | 2016-06-01 | 山东海量信息技术研究院 | 一种计算机系统资源动态调整的方法 |
CN109857541A (zh) * | 2018-12-12 | 2019-06-07 | 浪潮(北京)电子信息产业有限公司 | 一种服务器的资源分配方法、系统及相关组件 |
CN112269659A (zh) * | 2020-10-23 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种资源管理方法、系统及电子设备和存储介质 |
CN112269658A (zh) * | 2020-10-23 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种复合资源申请方法、系统及电子设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8826077B2 (en) * | 2007-12-28 | 2014-09-02 | International Business Machines Corporation | Defining a computer recovery process that matches the scope of outage including determining a root cause and performing escalated recovery operations |
CN111258746B (zh) * | 2018-11-30 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 资源分配方法和服务设备 |
CN113254223B (zh) * | 2021-07-14 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 一种系统重启后的资源分配方法、系统及相关组件 |
CN113656162A (zh) * | 2021-08-18 | 2021-11-16 | 恒生电子股份有限公司 | 资源的申请方法、装置、电子设备及存储介质 |
-
2021
- 2021-07-14 CN CN202110792630.7A patent/CN113254223B/zh active Active
- 2021-10-29 WO PCT/CN2021/127518 patent/WO2023284171A1/zh active Application Filing
- 2021-10-29 US US18/260,127 patent/US20240061710A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6333936B1 (en) * | 1998-04-29 | 2001-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for allocating processing resources |
US20150066880A1 (en) * | 2013-09-02 | 2015-03-05 | International Business Machines Corporation | Checkpoint and Restart |
CN105245372A (zh) * | 2015-10-12 | 2016-01-13 | 浪潮软件集团有限公司 | 一种基于缓存和异步机制的加载网络资源的优化方法 |
CN105630602A (zh) * | 2015-12-18 | 2016-06-01 | 山东海量信息技术研究院 | 一种计算机系统资源动态调整的方法 |
CN109857541A (zh) * | 2018-12-12 | 2019-06-07 | 浪潮(北京)电子信息产业有限公司 | 一种服务器的资源分配方法、系统及相关组件 |
CN112269659A (zh) * | 2020-10-23 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种资源管理方法、系统及电子设备和存储介质 |
CN112269658A (zh) * | 2020-10-23 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种复合资源申请方法、系统及电子设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023284171A1 (zh) * | 2021-07-14 | 2023-01-19 | 苏州浪潮智能科技有限公司 | 一种系统重启后的资源分配方法、系统及相关组件 |
CN113656162A (zh) * | 2021-08-18 | 2021-11-16 | 恒生电子股份有限公司 | 资源的申请方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113254223B (zh) | 2021-10-15 |
US20240061710A1 (en) | 2024-02-22 |
WO2023284171A1 (zh) | 2023-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459898B (zh) | 一种资源回收方法及装置 | |
CN113254223B (zh) | 一种系统重启后的资源分配方法、系统及相关组件 | |
EP0969382A2 (en) | Method for efficient non-virtual main memory management | |
CN110247984B (zh) | 业务处理方法、装置及存储介质 | |
CN108763572B (zh) | 一种实现Apache Solr读写分离的方法和装置 | |
CN110597614B (zh) | 一种资源调整方法及装置 | |
CN114416352A (zh) | 算力资源分配方法、装置、电子设备及储存介质 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN107977275B (zh) | 基于消息队列的任务处理方法及相关设备 | |
CN110795234A (zh) | 一种资源调度方法及装置 | |
CN113535087A (zh) | 数据迁移过程中的数据处理方法、服务器及存储系统 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN116089049B (zh) | 基于异步并行i/o请求的进程同步调度方法、装置以及设备 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 | |
CN111522659A (zh) | 一种空间使用方法和装置 | |
CN116521608A (zh) | 数据迁移方法及计算设备 | |
CN115934354A (zh) | 在线存储方法和装置 | |
CN115878910A (zh) | 线路查询方法、装置和存储介质 | |
CN110688223B (zh) | 数据处理方法及相关产品 | |
CN112612606A (zh) | 消息主题的处理方法、装置、计算机设备和可读存储介质 | |
CN114077493A (zh) | 一种资源分配方法及相关设备 | |
CN115357342B (zh) | 冷启动资源处理方法及装置 | |
CN112650450B (zh) | 固态硬盘缓存管理方法、固态硬盘缓存控制器及固态硬盘 | |
CN115168057B (zh) | 基于k8s集群的资源调度方法及装置 | |
EP3586231A1 (en) | Method and defragmentation module for defragmenting resources |
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 |