CN112269658B - 一种复合资源申请方法、系统及电子设备和存储介质 - Google Patents
一种复合资源申请方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN112269658B CN112269658B CN202011146966.8A CN202011146966A CN112269658B CN 112269658 B CN112269658 B CN 112269658B CN 202011146966 A CN202011146966 A CN 202011146966A CN 112269658 B CN112269658 B CN 112269658B
- Authority
- CN
- China
- Prior art keywords
- resource
- component
- resources
- composite
- component resources
- 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
- 239000002131 composite material Substances 0.000 title claims abstract description 219
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000003999 initiator Substances 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 13
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 14
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims 1
- 239000002699 waste material Substances 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013329 compounding Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种复合资源申请方法、系统及设备和介质,方法包括:接收到复合资源申请请求后,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;若所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留第二类组件资源,并将第一类组件资源的申请请求添加至等待队列;当检测到所有第一类组件资源对应的组件资源释放后,获取所有第一类组件资源和所有第二类组件资源,并合成所需的复合资源分配至发起方。本申请通过预留资源,不仅避免了对资源的浪费,同时避免了等待资源释放过程中,原本可申请到的组件资源被占用的问题,提高了资源申请效率。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种复合资源申请方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
在科技日新月异的时代,信息处理成为各个领域的关键技术,像AI(ArtificialIntelligence,人工智能)、云计算、服务器和数据库等领域都根据实际的应用场景,对相应的数据处理有专门的设计。
在传统的资源管理方案中,若用户需要申请复合资源时,若复合资源对应的全部组件资源均存在可用空闲资源,则可以直接申请到,并进行资源的合成。若复合资源中有部分组件资源不存在可用空闲资源,无法立即申请到,一种可行的方式是先申请到存在可用空闲资源的组件资源,再等待不存在可用空闲资源的组件资源的释放。这种方式无疑会占用先申请到的组件资源,造成资源的浪费。另外一种可行的方式是并不先获取存在可用空闲资源的组件资源,避免占用资源,等待不存在可用空闲资源的组件资源释放之后同时去获取复合资源对应的全部组件资源。然而,这种方式虽然可能避免浪费资源,但是等待部分组件资源释放后,极有可能其他某个组件资源已被占用,即,组件资源同时存在对应可用资源的概率很小,导致复合资源申请成功率较低。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种复合资源申请方法、系统及一种电子设备和一种计算机可读存储介质,避免了对资源的浪费,提高了资源申请效率。
为实现上述目的,本申请提供了一种复合资源申请方法,包括:
接收到复合资源申请请求之后,判断是否存在可用复合资源;
如果否,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;
若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;
若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;
当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。
可选的,所述预设组件资源列表用于记录系统中已有的各种类型的组件资源,各类型组件资源的可用数量、预留数量,以及各类型组件资源对应的等待队列。
可选的,所述若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,包括:
若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的目标可用组件资源,则将所述目标可用组件资源的所述可用数量减一,将所述预留数量加一。
可选的,所述基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,包括:
对所述复合资源申请请求进行解析,得到所述复合资源申请请求对应的复合资源对象;
确定所述复合资源对象对应的所有组件资源,生成所述复合资源申请请求对应的资源申请列表,所述资源申请列表用于记录所述复合资源申请请求所需组件资源的申请数量。
可选的,所述若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列,包括:
若在所述预设组件资源列表中查找到所述所有组件资源中包括第一类组件资源不存在对应的可用组件资源,则将所述第一类组件资源的申请请求添加至等待队列,并将所述等待队列的基本信息导入所述资源申请列表中的对应位置。
可选的,所述当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,包括:
对所述资源申请列表中的等待队列进行计数;
若检测到所述等待队列的计数值更新为零,则表征所有所述第一类组件资源对应的组件资源均预留成功,触发所有所述第一类组件资源和所有所述第二类组件资源的获取流程。
可选的,还包括:
接收复合资源释放请求后,获取当前待分配的所有复合资源申请请求,并确定所述所有复合资源申请请求对应所需的目标复合资源;
判断所述目标复合资源中是否存在与所述复合资源释放请求对应的待释放复合资源匹配的资源;
如果是,则直接将所述待释放复合资源分配至对应的请求方;
如果否,则对所述待释放复合资源进行分离释放,并更新所述预设组件资源列表。
为实现上述目的,本申请提供了一种复合资源申请系统,包括:
请求接收模块,用于接收到复合资源申请请求之后,判断是否存在可用复合资源;
资源查找模块,用于若不存在可用复合资源,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;
资源分配模块,用于若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;
预留等待模块,用于若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;
资源合成模块,用于当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种复合资源申请方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种复合资源申请方法的步骤。
通过以上方案可知,本申请提供的一种复合资源申请方法,包括:接收到复合资源申请请求之后,判断是否存在可用复合资源;如果否,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。
由上可知,本申请在申请复合资源时,若复合资源对象对应的所有组件资源中第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留第二类组件资源,并等待第一类组件资源对应的组件资源释放。在资源释放后,再去同时获取组件资源,合成所需的复合资源。也即,本申请能够先对可申请到的组件资源进行预留,而不是占用,在先前不可申请到的组件资源释放后再去同时获取所有组件资源,不仅避免了对资源的浪费,同时避免了在等待资源释放过程中,原本可申请到的组件资源被占用的问题,提高了资源申请效率。
本申请还公开了一种复合资源申请系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种复合资源申请方法的流程图;
图2为本申请实施例公开的另一种复合资源申请方法的流程图;
图3为本申请实施例公开的一种复合资源申请系统的结构图;
图4为本申请实施例公开的一种电子设备的结构图;
图5为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在传统的资源管理方案中,若用户需要申请复合资源时,若复合资源中有部分组件资源不存在可用空闲资源,可先申请到存在可用空闲资源的组件资源,再等待不存在可用空闲资源的组件资源的释放。这种方式无疑会占用先申请到的组件资源,造成资源的浪费。还可并不先获取存在可用空闲资源的组件资源,避免占用资源,等待不存在可用空闲资源的组件资源释放之后同时去获取复合资源对应的全部组件资源。然而,这种方式虽然可能避免浪费资源,但是组件资源同时存在对应可用资源的概率很小,导致复合资源申请成功率较低。
因此,本申请实施例公开了一种复合资源申请方法,避免了对资源的浪费,提高了资源申请效率。
参见图1所示,本申请实施例公开的一种复合资源申请方法包括:
S101:接收到复合资源申请请求之后,判断是否存在可用复合资源;
本申请实施例中,可接收用户终端发送的复合资源申请请求。复合资源申请请求,具体是指由于资源的复杂性,模块若想完成某项功能,很多时候需要申请多种类型的资源。
在接收到请求之后,可判断是否存在可用复合资源对象。也即,可以先判断之前是否合成有直接可用的复合资源对象。如果有,则可直接分配使用。
S102:如果否,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;
若当前不存在可用复合资源对象,则表征需要先获取复合资源对象的所有组件资源,再进行复合对象的合成过程。具体地,可基于复合资源申请请求,确定所需复合资源对象对应的所有组件资源,进而可在预设组件资源列表中查找是否存在对应的可用组件资源。上述预设组件资源列表用于记录所有的系统中已有的各种类型的组件资源,各类型组件资源的可用数量、预留数量,以及各类型组件资源对应的等待队列。
上述基于复合资源申请请求,确定所需复合资源对象对应的所有组件资源的过程可以具体包括:对复合资源申请请求进行解析,得到复合资源申请请求对应的复合资源对象;确定复合资源对象对应的所有组件资源,生成复合资源申请请求对应的资源申请列表,资源申请列表用于记录复合资源申请请求所需组件资源的申请数量。
S103:若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;
若在预设组件资源列表中查找到所有组件资源均存在对应的可用组件资源,则可直接获取可用组件资源合成复合资源,并分配至复合资源申请请求的发起方。
S104:若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;
若在预设组件资源列表中查找到所有组件资源中,有第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则先预留第二类组件资源,并将第一类组件资源的申请请求添加至等待队列中,等待其他模块释放第一类组件资源。
作为一种可行的实施方式,若所有组件资源中的第二类组件资源存在对应的目标可用组件资源,则将目标可用组件资源对应的可用数量减一,将预留数量加一,实现资源的预留处理。
在具体实施中,可以将第一类组件资源的申请请求添加至等待队列,并将等待队列的基本信息导入资源申请列表中的对应位置。当检测到第一类组件资源被释放后,可针对该资源进行预留操作,并将等待队列从资源申请列表中删除。
S105:当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。
在本步骤中,若检测到所有第一类组件资源对应的组件资源均释放后,则获取所有第一类组件资源和所有第二类组件资源,并合成所需的复合资源,分配至复合资源申请请求的发起方。
可以理解的是,本申请实施例中,可对资源申请列表中的等待队列进行计数。当检测到等待队列的计数值更新为零时,则表征所有第一类组件资源对应的组件资源均被释放并预留成功,此时可触发所有第一类组件资源和所有第二类组件资源的获取流程。
通过以上方案可知,本申请提供的一种复合资源申请方法,包括:接收到复合资源申请请求之后,判断是否存在可用复合资源;如果否,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。由上可知,本申请在申请复合资源时,若复合资源对象对应的所有组件资源中第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留第二类组件资源,并等待第一类组件资源对应的组件资源释放。在资源释放后,再去同时获取组件资源,合成所需的复合资源。也即,本申请能够先对可申请到的组件资源进行预留,而不是占用,在先前不可申请到的组件资源释放后再去同时获取所有组件资源,不仅避免了对资源的浪费,同时避免了在等待资源释放过程中,原本可申请到的组件资源被占用的问题,提高了资源申请效率。
本申请实施例公开了另一种复合资源申请方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S201:接收复合资源释放请求后,获取当前待分配的所有复合资源申请请求,并确定所述所有复合资源申请请求对应所需的目标复合资源;
本申请实施例中,用户终端或模块可以在复合资源对象使用完成之后,对其进行释放。当接收到释放请求之后,可首先获取当前待分配的所有复合资源申请请求,并确定各个复合资源申请请求对应所需的目标复合资源。
S202:判断所述目标复合资源中是否存在与所述复合资源释放请求对应的待释放复合资源匹配的资源;如果是,则进入步骤S203;如果否,则进入步骤S204;
S203:直接将所述待释放复合资源分配至对应的请求方;
S204:对所述待释放复合资源进行分离释放,并更新所述预设组件资源列表。
在具体实施中,可判断目标复合资源中是否存在与复合资源释放请求对应的待释放复合资源匹配的资源,如果是,则可直接将待释放复合资源分配至对应的请求方,请求方无需再等待并执行合成过程。如果否,则对待释放复合资源进行分离释放,并更新对应预设组件资源列表,例如更新其中资源可用数目。
下面通过一种具体的实施场景对本申请实施例提供的复合资源申请方法进行介绍。本申请实施例具体采用C语言实现用于资源复合的数据结构,该复合结构主要用来复合各种类型的资源,其包括一个重要成员叫组件列表,列表中的每个元素代表一类资源,即单一的资源类型,主要包括相关计数和等待队列。复合资源的数据结构中另外一个重要的成员是等待队列列表,该列表中的每个元素代表相应的资源等待队列。在异步申请时,会对所有需要的资源类型进行申请,若不能立即拿到,则会添加至对应的等待队列中。每当有相应的资源释放出来时,则会唤醒该资源等待队列中的一些请求。在这些请求满足后,则会根据复合资源结构中的等待队列列表检查是否都已经拿到资源,如果均可以获取到,则可将这些资源复合成所需的资源对象。
具体地,复合资源数据类型的核心成员可以包括:用于保护成员的锁;资源组件列表,其中每个元素代表一类资源;相关计数,包括资源类型数、等待的资源类型数;一个等待列表,用于记录异步申请资源时每种资源的等待队列;复合资源申请请求自身对应的等待队列;可用的复合对象列表,其中包括复合完成的可用对象;三个函数指针,用于对象的初始化、复合和释放,在初始化阶段,模块可以根据用户的实际需求对函数进行自定义注册。也即,各个模块可以根据自己的实际场景,定义复合对象所需的资源类型数,并根据自定义注册的初始化函数、复合函数和释放函数申请并复合相应的资源。
需要说明的是,本实施例中异步申请资源的流程可以具体包括:首先查看可用的复合对象列表中是否存在直接可用的对象,如果有,则可以直接分配;如果没有,则需要分别去各个组件资源中进行申请。具体地,在资源组件列表中找到对应的资源类型,查看其是否有可用的资源,如果有,则可以直接分配;如果没有,则将对应资源申请加入其等待队列,并将等待节点存入等待列表的对应栏位。可以理解的是,本实施例可记录等待的资源类型数,只有当所有的等待资源都申请到资源后,即等待的资源类型数更新为零后,才会复合成可用的对象。当有对应的资源释放时,该资源上的等待队列中的请求会按照FIFO的调度方式被唤醒,并根据等待节点,找到复合资源结构,将等待的资源类型数减1。当复合成可用的资源对象后,同样可以按照FIFO的调度方式唤醒复合资源等待队列上的请求,将复合对象分配出去。也即,在复合对象被使用完需要释放时后,如果本复合资源结构上自己的等待队列中有等待的请求,则可以直接将该复合对象放到可用对象列表上,用于直接分配;否则会首先调用模块注册的释放回调函数,将复合对象分离并释放至各个组件资源。
本申请实施例中,可满足复杂和高并发场景下的数据异步处理需求,提高了工作效率,同时提高了并发场景中系统的吞吐量,尤其适用于系统底层模块的资源管理。
下面对本申请实施例提供的一种复合资源申请系统进行介绍,下文描述的一种复合资源申请系统与上文描述的一种复合资源申请方法可以相互参照。
参见图3所示,本申请实施例提供的一种复合资源申请系统包括:
请求接收模块301,用于接收到复合资源申请请求之后,判断是否存在可用复合资源;
资源查找模块302,用于若不存在可用复合资源,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;
资源分配模块303,用于若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;
预留等待模块304,用于若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;
资源合成模块305,用于当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。
关于上述模块301至305的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。
本申请还提供了一种电子设备,参见图4所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一实施例公开的复合资源申请方法。
在上述实施例的基础上,作为优选实施方式,参见图5所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图5仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例公开的复合资源申请方法。
由上可知,本申请在申请复合资源时,若复合资源对象对应的所有组件资源中第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留第二类组件资源,并等待第一类组件资源对应的组件资源释放。在资源释放后,再去同时获取组件资源,合成所需的复合资源。也即,本申请能够先对可申请到的组件资源进行预留,而不是占用,在先前不可申请到的组件资源释放后再去同时获取所有组件资源,不仅避免了对资源的浪费,同时避免了在等待资源释放过程中,原本可申请到的组件资源被占用的问题,提高了资源申请效率。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种复合资源申请方法,其特征在于,包括:
接收到复合资源申请请求之后,判断是否存在可用复合资源;
如果否,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;
若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;
若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;
当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。
2.根据权利要求1所述的复合资源申请方法,其特征在于,所述预设组件资源列表用于记录系统中已有的各种类型的组件资源,各类型组件资源的可用数量、预留数量,以及各类型组件资源对应的等待队列。
3.根据权利要求2所述的复合资源申请方法,其特征在于,所述若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,包括:
若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的目标可用组件资源,则将所述目标可用组件资源的所述可用数量减一,将所述预留数量加一。
4.根据权利要求1所述的复合资源申请方法,其特征在于,所述基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,包括:
对所述复合资源申请请求进行解析,得到所述复合资源申请请求对应的复合资源对象;
确定所述复合资源对象对应的所有组件资源,生成所述复合资源申请请求对应的资源申请列表,所述资源申请列表用于记录所述复合资源申请请求所需组件资源的申请数量。
5.根据权利要求4所述的复合资源申请方法,其特征在于,所述若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列,包括:
若在所述预设组件资源列表中查找到所述所有组件资源中包括第一类组件资源不存在对应的可用组件资源,则将所述第一类组件资源的申请请求添加至等待队列,并将所述等待队列的基本信息导入所述资源申请列表中的对应位置。
6.根据权利要求5所述的复合资源申请方法,其特征在于,所述当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,包括:
对所述资源申请列表中的等待队列进行计数;
若检测到所述等待队列的计数值更新为零,则表征所有所述第一类组件资源对应的组件资源均预留成功,触发所有所述第一类组件资源和所有所述第二类组件资源的获取流程。
7.根据权利要求1至6任一项所述的复合资源申请方法,其特征在于,还包括:
接收复合资源释放请求后,获取当前待分配的所有复合资源申请请求,并确定所述所有复合资源申请请求对应所需的目标复合资源;
判断所述目标复合资源中是否存在与所述复合资源释放请求对应的待释放复合资源匹配的资源;
如果是,则直接将所述待释放复合资源分配至对应的请求方;
如果否,则对所述待释放复合资源进行分离释放,并更新所述预设组件资源列表。
8.一种复合资源申请系统,其特征在于,包括:
请求接收模块,用于接收到复合资源申请请求之后,判断是否存在可用复合资源;
资源查找模块,用于若不存在可用复合资源,则基于所述复合资源申请请求,确定所需复合资源对象对应的所有组件资源,并在预设组件资源列表中查找是否存在对应的可用组件资源;
资源分配模块,用于若所述所有组件资源均存在对应的可用组件资源,则获取所述可用组件资源合成复合资源并分配至所述复合资源申请请求的发起方;
预留等待模块,用于若所述所有组件资源中的第一类组件资源不存在对应的可用组件资源,第二类组件资源存在对应的可用组件资源,则预留所述第二类组件资源,并将所述第一类组件资源的申请请求添加至等待队列;
资源合成模块,用于当检测到所有所述第一类组件资源对应的组件资源释放后,获取所有所述第一类组件资源和所有所述第二类组件资源,并合成所需的复合资源分配至所述发起方。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述复合资源申请方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述复合资源申请方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011146966.8A CN112269658B (zh) | 2020-10-23 | 2020-10-23 | 一种复合资源申请方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011146966.8A CN112269658B (zh) | 2020-10-23 | 2020-10-23 | 一种复合资源申请方法、系统及电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112269658A CN112269658A (zh) | 2021-01-26 |
CN112269658B true CN112269658B (zh) | 2022-07-22 |
Family
ID=74342648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011146966.8A Active CN112269658B (zh) | 2020-10-23 | 2020-10-23 | 一种复合资源申请方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112269658B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254223B (zh) * | 2021-07-14 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 一种系统重启后的资源分配方法、系统及相关组件 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392329A (zh) * | 2011-02-26 | 2013-11-13 | 英国电讯有限公司 | 服务会话资源管理 |
CN105824705A (zh) * | 2016-04-01 | 2016-08-03 | 广州唯品会网络技术有限公司 | 一种任务分配方法和电子设备 |
CN111352736A (zh) * | 2020-02-28 | 2020-06-30 | 中国平安人寿保险股份有限公司 | 大数据资源的调度方法、装置、服务器及存储介质 |
-
2020
- 2020-10-23 CN CN202011146966.8A patent/CN112269658B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392329A (zh) * | 2011-02-26 | 2013-11-13 | 英国电讯有限公司 | 服务会话资源管理 |
CN105824705A (zh) * | 2016-04-01 | 2016-08-03 | 广州唯品会网络技术有限公司 | 一种任务分配方法和电子设备 |
CN111352736A (zh) * | 2020-02-28 | 2020-06-30 | 中国平安人寿保险股份有限公司 | 大数据资源的调度方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112269658A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210131B2 (en) | Method and apparatus for assigning computing task | |
US9875139B2 (en) | Graphics processing unit controller, host system, and methods | |
CN112269659A (zh) | 一种资源管理方法、系统及电子设备和存储介质 | |
US20090300637A1 (en) | Scheduler instances in a process | |
CN110187958B (zh) | 一种任务处理方法、装置、系统、设备及存储介质 | |
JP2013513174A (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
CN111679911B (zh) | 云环境中gpu卡的管理方法、装置、设备及介质 | |
US20090300638A1 (en) | Memory allocators corresponding to processor resources | |
CN112148468A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN110851276A (zh) | 一种业务请求处理方法、装置、服务器和存储介质 | |
CN113438184A (zh) | 网卡的队列管理方法、装置及电子设备 | |
CN112269658B (zh) | 一种复合资源申请方法、系统及电子设备和存储介质 | |
US20220261489A1 (en) | Capability management method and computer device | |
CN107741873B (zh) | 业务处理方法及装置 | |
CN115237589A (zh) | 一种基于sr-iov的虚拟化方法、装置和设备 | |
CN115328611A (zh) | 虚拟机管理方法、装置、服务器及可读存储介质 | |
CN111831411A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN111371851A (zh) | 一种连接方法、装置及电子设备和存储介质 | |
CN109062683B (zh) | 主机资源分配的方法、装置及计算机可读存储介质 | |
US20150212859A1 (en) | Graphics processing unit controller, host system, and methods | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
JP4862056B2 (ja) | 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法 | |
CN113760386A (zh) | 一种访问控制系统、访问控制方法及存储介质 | |
CN110209466B (zh) | 资源配置方法、资源配置装置及存储介质 | |
CN106537321B (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 |