一种控制资源访问的方法、装置及介质与流程

专利2022-06-29  66


本文涉及网络数据处理技术领域,尤其涉及一种控制资源访问的方法、装置及介质。



背景技术:

在各种分布式计算系统的服务端都需要考虑如何控制资源访问量以防止系统过载。在传统的服务端的设计中,通常根据用户或者客户端进行节流(throttle)控制,例如限定某个用户所能使用的容量,或者限定每台客户端所能使用的容量。由于用户在处理业务时,经常会向计算机群同时提交多个作业,在其中一个作业对资源访问过量过大并且其它作业的访问量正常时,会按照用户进行资源访问限制,从而导致此用户不能进行任何作业处理,此用户中的多个访问量正常的作业均不能正常运行。



技术实现要素:

为克服相关技术中存在的问题,本文提供了一种控制资源访问的方法、装置及介质。

根据本文实施例的第一方面,提供了一种控制资源访问的方法,应用于分布式系统,包括:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;

若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

在另一实施方式中,所述目标作业的资源分配状态包括以下各项中的至少一项:

所述目标作业的每个资源类型对应的资源占用量、所述目标作业的每个资源类型对应的资源可用量、所述资源请求中每个资源类型对应的资源申请量;

其中,所述目标作业的每个资源类型对应的资源占用量是所述目标作业下所有任务的相应资源类型对应的资源占用量的总和;

所述目标作业的每个资源类型对应的资源可用量是根据所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

在另一实施方式中,所述设定资源分配条件包括以下中的至少一种:

所述目标作业的一资源类型对应的资源占用量与所述资源请求中相同的资源类型对应的资源申请量之和,小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源占用量小于或等于所述目标作业的相同的资源类型对应的资源配额量的第一比例,所述第一比例小于1且大于0;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源可用量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源可用量大于或等于所述目标作业的相同的资源类型对应的资源配额量的第二比例,所述第二比例小于1且大于0。

在另一实施方式中,所述确定所述目标作业的资源分配状态包括以下中的至少一种:

计算所述目标作业的每个资源类型对应的资源占用量;

计算所述目标作业的每个资源类型对应的资源可用量;

所述计算所述目标作业的每个资源类型对应的资源占用量,包括:

获取所述目标作业与所述目标作业下所有任务的一对多映射关系;

根据所述一对多映射关系确定所述目标作业下所有任务;

计算所述目标作业下所有任务的相同资源类型对应的资源占用量的总和;

所述计算所述目标作业的每个资源类型对应的资源可用量,包括:

计算所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

在另一实施方式中,所述方法还包括:

获取用户的所有作业在设定历史时段内的各资源类型的资源占用量;

根据所述用户的所有作业在设定历史时段内的各资源类型的资源占用量计算所述用户的各资源类型的参考资源占用量;

将所述用户的作业对应的各资源类型的资源配额量设置为所述用户的相应资源类型的参考资源占用量。

在另一实施方式中,所述方法还包括:

检测用户的用户优先级;

在用户的用户优先级变化时,根据所述用户的用户优先级变化幅度调整所述用户的作业对应的各资源类型的资源配额量。

根据本文实施例的第二方面,还提供了一种控制资源访问的装置,应用于分布式系统,包括:

接收模块,用于接收资源请求;

第一确定模块,用于确定发起所述资源请求的任务所属的目标作业;

第二确定模块,用于确定所述目标作业的资源分配状态;

控制模块,用于在所述资源分配状态不符合设定资源分配条件时,拒绝所述资源请求。

在另一实施例中,所述目标作业的资源分配状态包括以下各项中的至少一项:

所述目标作业的每个资源类型对应的资源占用量、所述目标作业的每个资源类型对应的资源可用量、所述资源请求中每个资源类型对应的资源申请量;

其中,所述目标作业的每个资源类型对应的资源占用量是所述目标作业下所有任务的相应资源类型对应的资源占用量的总和;

所述目标作业的每个资源类型对应的资源可用量是根据所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

在另一实施例中,所述设定资源分配条件包括以下中的至少一种:

所述目标作业的一资源类型对应的资源占用量与所述资源请求中相同的资源类型对应的资源申请量之和,小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源占用量小于或等于所述目标作业的相同的资源类型对应的资源配额量的第一比例,所述第一比例小于1且大于0;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源可用量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源可用量大于或等于所述目标作业的相同的资源类型对应的资源配额量的第二比例,所述第二比例小于1且大于0。

在另一实施例中,所述第二确定模块包括以下模块中的至少一个:

第一计算模块,用于计算所述目标作业的每个资源类型对应的资源占用量;

第二计算模块,用于计算所述目标作业的每个资源类型对应的资源可用量;

所述第一计算模块包括:

第一获取模块,用于获取所述目标作业与所述目标作业下所有任务的一对多映射关系;

第三确定模块,用于根据所述一对多映射关系确定所述目标作业下所有任务;

第三计算模块,用于计算所述目标作业下所有任务的相同资源类型对应的资源占用量的总和;

第二计算模块包括:

第四计算模块,用于计算所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

在另一实施例中,所述装置还包括:

第二获取模块,用于获取用户的所有作业在设定历史时段内的各资源类型的资源占用量;

第五计算模块,用于根据所述用户的所有作业在设定历史时段内的各资源类型的资源占用量计算所述用户的各资源类型的参考资源占用量;

设置模块,用于将所述用户的作业对应的各资源类型的资源配额设置为所述用户的相应资源类型的参考资源占用量。

在另一实施例中,所述装置还包括:

检测模块,用于检测用户的用户优先级;

调整模块,用于在用户的用户优先级变化时,根据所述用户的用户优先级变化幅度调整所述用户的作业对应的各资源类型的资源配额量。

根据本文实施例的第三方面,还提供了一种控制资源访问的装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;

若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

根据本文实施例的第四方面,还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种控制资源访问的方法,所述方法包括:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;

若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

本文的实施例提供的技术方案可以包括以下有益效果:本文接收到资源请求后,确定目标作业的资源分配状态,在资源分配状态不符合设定资源分配条件时,拒绝此资源请求,从而将资源控制的粒度细化至作业级别,在同一用户提交多个作业时,其中一个作业不符合设定资源分配条件并且执行失败后不会影响此用户的其它作业,使用户尽可能多的作业得到顺利处理,提高作业处理效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本文的实施例,并与说明书一起用于解释本文的原理。

图1是根据一示例性实施例示出的一种控制资源访问的方法的流程图;

图2是根据一示例性实施例示出的一种应用控制资源访问方法的系统结构图;

图3是根据一示例性实施例示出的一种控制资源访问的方法的流程图;

图4是根据一示例性实施例示出的一种控制资源访问的方法的流程图;

图5是根据一示例性实施例示出的一种控制资源访问的方法的流程图;

图6是根据一示例性实施例示出的一种控制资源访问的装置的结构图;

图7是根据一示例性实施例示出的一种控制资源访问的装置的结构图;

图8是根据一示例性实施例示出的一种控制资源访问的装置的结构图;

图9是根据一示例性实施例示出的一种控制资源访问的装置的结构图;

图10是根据一示例性实施例示出的一种控制资源访问的装置的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本文相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本文的一些方面相一致的装置和方法的例子。

本公开实施例中提供一种控制资源访问的方法。参照图1,图1是根据一示例性实施例示出的一种控制资源访问的方法的流程图。此方法应用于分布式系统,如图1所示,此方法包括:

步骤s11,接收资源请求。

步骤s12,确定发起资源请求的任务所属的目标作业。

步骤s13,确定目标作业的资源分配状态。

步骤s14,若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

在另一实施例中,步骤s14中,若所述资源分配状态符合设定资源分配条件,则允许所述资源请求。

本方法中接收到资源请求后,确定目标作业的资源分配状态,在资源分配状态不符合设定资源分配条件时,拒绝此资源请求,从而将资源控制的粒度细化至作业级别,在同一用户提交多个作业时,其中一个作业不符合设定资源分配条件并且执行失败后不会影响此用户的其它作业,使用户尽可能多的作业得到顺利处理,提高作业处理效率。

图2是根据一示例性实施例示出的一种应用控制资源访问的方法的系统结构图。图2中的资源控制中心用于执行上述方法。此资源控制中心可以是独立的一设备,也可以是运行于主节点中的一个功能。在此系统中,用于服务用户的一客户端向计算机群的主节点提交此用户的多个作业,主节点将各个作业分解成多个任务调度至计算机群中的多个从节点,从节点在执行任务前向资源控制中心提交资源请求,资源控制中心根据上述方法允许或拒绝此资源请求。在资源控制中心允许此资源请求后,从节点执行相应任务,资源池记录每个任务消耗的各种资源类型的资源量,并上报至资源控制中心。在资源控制中心拒绝此资源请求后,相应的任务执行失败,或者,此任务暂停一段时长后再重新发起资源请求。

本公开实施例中还提供一种控制资源访问的方法。在此方法中,目标作业的资源分配状态包括以下各项中的至少一项:

目标作业的每个资源类型对应的资源占用量、目标作业的每个资源类型对应的资源可用量、资源请求中每个资源类型对应的资源申请量;

其中,目标作业的每个资源类型对应的资源占用量是目标作业下所有任务的相应资源类型对应的资源占用量的总和;目标作业的每个资源类型对应的资源可用量是根据目标作业的每个资源类型对应的资源配额量与目标作业的相应资源类型对应的资源占用量的差。

本公开实施例中还提供了一种控制资源访问的方法。参照图3,图3是根据一示例性实施例示出的一种控制资源访问的方法的流程图。此方法中,图1的步骤s13还包括计算目标作业的每个资源类型对应的资源占用量的过程,此过程包括:

步骤s31,获取目标作业与目标作业下所有任务的一对多映射关系;

步骤s32,根据所述一对多映射关系确定目标作业下所有任务;

步骤s33,计算目标作业下所有任务的相同资源类型对应的资源占用量的总和。

在资源控制中心是一个独立与主节点的设备时,资源控制中心从主节点获取目标作业与目标作业下所有任务的一对多映射关系。在资源控制中心是一个运行于主节点的一个功能时,从主节点的作业调度功能获取目标作业与目标作业下所有任务的一对多映射关系。

在另一实施例中,图1的步骤s13还包括计算目标作业的每个资源类型对应的资源可用量的过程,此过程包括步骤s34:计算目标作业的每个资源类型对应的资源配额量与目标作业的相应资源类型对应的资源占用量的差,获得目标作业的每个资源类型对应的资源可用量。

本公开实施例中还提供一种控制资源访问的方法。在此方法中,设定资源分配条件包括以下中的至少一种:

条件一,目标作业的一资源类型对应的资源占用量与所述资源请求中相同的资源类型对应的资源申请量之和,小于或等于所述目标作业的相同的资源类型对应的资源配额量;

条件二,资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

条件三,目标作业的一资源类型对应的资源占用量小于或等于所述目标作业的相同的资源类型对应的资源配额量的第一比例,所述第一比例小于1且大于0;

条件四,资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源可用量;

条件五,资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

条件六,目标作业的一资源类型对应的资源可用量大于或等于所述目标作业的相同的资源类型对应的资源配额量的第二比例,所述第二比例小于1且大于0。

本方法中可以通过管理员设备配置设定资源分配条件,例如配置条件一为设定资源分配条件,例如配置条件二为设定资源分配条件,例如配置条件一和条件二的集合为设定资源分配条件,等等。

本方法中的资源类型包括以下中的至少一种:cpu使用量(例如使用百分比)、内存资源、存储资源、网络带宽,除了上述资源类型还可以是网络中可以使用的各种其它资源。

举例如下:

例一

用户1发起两个作业,具体为作业1和作业2。

作业1包含4个任务,具体为任务1、任务2、任务3和任务4,每个任务的资源使用情况如表1所示:

表1

执行任务4的从节点发起关于任务4的资源请求,此资源请求中包括:cpu资源百分比类型的资源申请量为12%,内存资源的资源申请量为100m。

设定资源分配条件包括条件一,判断作业1是否符合设定资源分配条件时,根据条件一,作业1的cpu资源百分比类型的资源占用量(12%)与cpu资源百分比类型的资源申请量(5%)之和为17%,大于相应类型的资源配额(10%),所以判定作业1不符合设定资源分配条件。

设定资源分配条件包括条件二,判断作业1是否符合设定资源分配条件时,根据条件二,cpu资源百分比类型的资源申请量(12%)大于作业1的资源配额中cpu资源百分比类型的配额量(10%),所以判定作业1不符合设定资源分配条件。

设定资源分配条件包括条件三,判断作业1是否符合设定资源分配条件时,根据条件三,作业1的cpu资源百分比类型对应的资源占用量(8%)大于作业1的资源配额(10%)中相同的资源类型对应的配额量的第一比例(7%),所以判定作业1不符合设定资源分配条件。

基于作业1不符合设定资源分配条件的判定结果,拒绝此资源请求,作业1的任务4将执行失败,作业4也可能执行失败,但作业2仍然正常运行。

例二:

用户1发起两个作业,具体为作业1和作业2。

作业1包含4个任务,具体为任务1、任务2、任务3和任务4,每个任务的资源使用情况如表1所示。

执行任务4的从节点发起任务4的资源请求,此资源请求中包括:cpu资源百分比类型的资源申请量为12%,内存资源的资源申请量为100m。

根据作业1的每个资源类型对应的配额量计算作业1的每个资源类型对应的资源可用量,获得表2所示结果:

表2

设定资源分配条件包括条件四,判断作业1是否符合设定资源分配条件时,根据条件四,作业1的cpu资源百分比类型的资源申请量(12%)大于作业1的资源配额中cpu资源百分比类型的资源可用量(10%),所以判定作业1不符合设定资源分配条件。

设定资源分配条件包括条件五,判断作业1是否符合设定资源分配条件时,根据条件五,作业1的cpu资源百分比类型的资源申请量(12%)大于作业1的资源配额中cpu资源百分比类型的资源配额量(2%),所以判定作业1不符合设定资源分配条件,所以判定作业1不符合设定资源分配条件。

设定资源分配条件包括条件六,判断作业1是否符合设定资源分配条件时,根据条件六,根据作业1的每个资源类型对应的配额量计算作业1的每个资源类型对应的资源可用量,获得表2所示结果。作业1的cpu资源百分比类型的资源可用量即2%小于作业1的资源配额中cpu资源百分比类型的配额量即10%的第二比例(3%),所以判定作业1不符合设定资源分配条件。

根据判断结果,拒绝此资源请求,作业1的任务4将执行失败,但作业2仍然正常运行。

本公开实施例中还提供一种控制资源访问的方法。参照图4,图4是根据一示例性实施例示出的一种控制资源访问的方法的流程图。此方法在图1所示方法的基础上还包括调整资源配额量的步骤s40,此步骤s40具体包括:

步骤s41,获取用户的所有作业在设定历史时段内的各资源类型的资源占用量。

步骤s42,根据所述用户的所有作业在设定历史时段内的各资源类型的资源占用量确定所述用户的各资源类型的参考资源占用量。

例如,计算所述用户的所有作业在设定历史时段内的各资源类型的资源占用量的平均值,将各资源类型的平均资源占用量作为相应的资源类型的参考资源占用量。

再例如:计算所述用户的所有作业在设定历史时段内的各资源类型的资源占用量的平均值,将各资源类型的平均资源占用量的加权值作为相应的资源类型的参考资源占用量。

步骤s43,将所述用户的作业对应的各资源类型的资源配额量设置为所述用户的相应资源类型的参考资源占用量。

本公开实施例中还提供一种控制资源访问的方法。参照图5,图5是根据一示例性实施例示出的一种控制资源访问的方法的流程图。此方法在图1所示方法的基础上还包括调整资源配额量的步骤s50,此步骤s50具体包括:

步骤s51,检测用户的用户优先级;

步骤s52,在用户的用户优先级变化时,根据所述用户的用户优先级变化幅度调整所述用户的作业对应的各资源类型的资源配额量。

本公开实施例中还提供一种控制资源访问的装置。参照图6,图6是根据一示例性实施例示出的一种控制资源访问的装置的结构图。如图6所示,此装置包括:

接收模块601,用于接资源请求;

第一确定模块602,用于确定发起所述资源请求的任务所属的目标作业;

第二确定模块603,用于确定所述目标作业的资源分配状态;

控制模块604,用于在所述资源分配状态不符合设定资源分配条件时,拒绝所述资源请求。

在另一实施例中,所述目标作业的资源分配状态包括以下各项中的至少一项:

所述目标作业的每个资源类型对应的资源占用量、所述目标作业的每个资源类型对应的资源可用量、所述资源请求中每个资源类型对应的资源申请量;

其中,所述目标作业的每个资源类型对应的资源占用量是所述目标作业下所有任务的相应资源类型对应的资源占用量的总和;

所述目标作业的每个资源类型对应的资源可用量是根据所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

在另一实施例中,所述设定资源分配条件包括以下中的至少一种:

条件一,所述目标作业的一资源类型对应的资源占用量与所述资源请求中相同的资源类型对应的资源申请量之和,小于或等于所述目标作业的相同的资源类型对应的资源配额量;

条件二,所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

条件三,所述目标作业的一资源类型对应的资源占用量小于或等于所述目标作业的相同的资源类型对应的资源配额量的第一比例,所述第一比例小于1且大于0;

条件四,所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源可用量;

条件五,所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

条件六,所述目标作业的一资源类型对应的资源可用量大于或等于所述目标作业的相同的资源类型对应的资源配额量的第二比例,所述第二比例小于1且大于0。

本公开实施例中还提供一种控制资源访问的装置。参照图7,图7是根据一示例性实施例示出的一种控制资源访问的装置的结构图。如图7所示,图6中的第二确定模块603包括以下模块中的至少一种:

第一计算模块701,用于计算所述目标作业的每个资源类型对应的资源占用量;

第二计算模块702,用于计算所述目标作业的每个资源类型对应的资源可用量;

所述第一计算模块701包括:

第一获取模块703,用于获取所述目标作业与所述目标作业下所有任务的一对多映射关系;

第三确定模块704,用于根据所述一对多映射关系确定所述目标作业下所有任务;

第三计算模块705,用于计算所述目标作业下所有任务的相同资源类型对应的资源占用量的总和;

第二计算模块702包括:

第四计算模块706,用于计算所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

本公开实施例中还提供一种控制资源访问的装置。参照图8,图8是根据一示例性实施例示出的一种控制资源访问的装置的结构图。如图8所示,此装置在图6的基础上还包括:

第二获取模块801,用于获取一用户的所有作业在设定历史时段内的各资源类型的资源占用量;

第五计算模块802,用于根据所述用户的所有作业在设定历史时段内的各资源类型的资源占用量计算所述用户的各资源类型的参考资源占用量;

设置模块803,用于将所述用户的作业对应的各资源类型的资源配额相应的设置为所述用户的各资源类型的参考资源占用量。

本公开实施例中还提供一种控制资源访问的装置。参照图9,图9是根据一示例性实施例示出的一种控制资源访问的装置的结构图。如图9所示,此装置在图6的基础上还包括:

检测模块901,用于检测用户的用户优先级;

调整模块902,用于在用户的用户优先级变化时,根据所述用户的用户优先级变化幅度调整所述用户的作业对应的各资源类型的资源配额量。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例中还提供一种控制资源访问的装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;

若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

本公开实施例中还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种控制资源访问的方法,所述方法包括:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

图10是根据一示例性实施例示出的一种用于控制资源访问的装置1000的框图。例如,装置1000可以被提供为一服务器。参照图10,装置1000包括处理组件1022,其进一步包括一个或多个处理器,以及由存储器1032所代表的存储器资源,用于存储可由处理组件1022的执行的指令,例如应用程序。存储器1032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1022被配置为执行指令,以执行上述方法。

装置1000还可以包括一个电源组件1026被配置为执行装置1000的电源管理,一个有线或无线网络接口1050被配置为将装置1000连接到网络,和一个输入输出(i/o)接口1059。装置1000可以操作基于存储在存储器1032的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本文的其它实施方案。本申请旨在涵盖本文的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本文的一般性原理并包括本文未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本文的真正范围和精神由下面的权利要求指出。

应当理解的是,本文并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本文的范围仅由所附的权利要求来限制。


技术特征:

1.一种控制资源访问的方法,应用于分布式系统,其特征在于,包括:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;

若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

2.如权利要求1所述的方法,其特征在于,

所述目标作业的资源分配状态包括以下各项中的至少一项:

所述目标作业的每个资源类型对应的资源占用量、所述目标作业的每个资源类型对应的资源可用量、所述资源请求中每个资源类型对应的资源申请量;

其中,所述目标作业的每个资源类型对应的资源占用量是所述目标作业下所有任务的相应资源类型对应的资源占用量的总和;

所述目标作业的每个资源类型对应的资源可用量是根据所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

3.如权利要求2所述的方法,其特征在于,

所述设定资源分配条件包括以下中的至少一种:

所述目标作业的一资源类型对应的资源占用量与所述资源请求中相同的资源类型对应的资源申请量之和,小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源占用量小于或等于所述目标作业的相同的资源类型对应的资源配额量的第一比例,所述第一比例小于1且大于0;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源可用量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源可用量大于或等于所述目标作业的相同的资源类型对应的资源配额量的第二比例,所述第二比例小于1且大于0。

4.如权利要求2所述的方法,其特征在于,

所述确定所述目标作业的资源分配状态包括以下中的至少一种:

计算所述目标作业的每个资源类型对应的资源占用量;

计算所述目标作业的每个资源类型对应的资源可用量;

所述计算所述目标作业的每个资源类型对应的资源占用量,包括:

获取所述目标作业与所述目标作业下所有任务的一对多映射关系;

根据所述一对多映射关系确定所述目标作业下所有任务;

计算所述目标作业下所有任务的相同资源类型对应的资源占用量的总和;

所述计算所述目标作业的每个资源类型对应的资源可用量,包括:

计算所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

5.如权利要求1所述的方法,其特征在于,

所述方法还包括:

获取用户的所有作业在设定历史时段内的各资源类型的资源占用量;

根据所述用户的所有作业在设定历史时段内的各资源类型的资源占用量计算所述用户的各资源类型的参考资源占用量;

将所述用户的作业对应的各资源类型的资源配额量设置为所述用户的相应资源类型的参考资源占用量。

6.如权利要求1所述的方法,其特征在于,

所述方法还包括:

检测用户的用户优先级;

在用户的用户优先级变化时,根据所述用户的用户优先级变化幅度调整所述用户的作业对应的各资源类型的资源配额量。

7.一种控制资源访问的装置,应用于分布式系统,其特征在于,包括:

接收模块,用于接收资源请求;

第一确定模块,用于确定发起所述资源请求的任务所属的目标作业;

第二确定模块,用于确定所述目标作业的资源分配状态;

控制模块,用于在所述资源分配状态不符合设定资源分配条件时,拒绝所述资源请求。

8.如权利要求7所述的装置,其特征在于,

所述目标作业的资源分配状态包括以下各项中的至少一项:

所述目标作业的每个资源类型对应的资源占用量、所述目标作业的每个资源类型对应的资源可用量、所述资源请求中每个资源类型对应的资源申请量;

其中,所述目标作业的每个资源类型对应的资源占用量是所述目标作业下所有任务的相应资源类型对应的资源占用量的总和;

所述目标作业的每个资源类型对应的资源可用量是根据所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

9.如权利要求8所述的装置,其特征在于,

所述设定资源分配条件包括以下中的至少一种:

所述目标作业的一资源类型对应的资源占用量与所述资源请求中相同的资源类型对应的资源申请量之和,小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源占用量小于或等于所述目标作业的相同的资源类型对应的资源配额量的第一比例,所述第一比例小于1且大于0;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源可用量;

所述资源请求中一资源类型对应的资源申请量小于或等于所述目标作业的相同的资源类型对应的资源配额量;

所述目标作业的一资源类型对应的资源可用量大于或等于所述目标作业的相同的资源类型对应的资源配额量的第二比例,所述第二比例小于1且大于0。

10.如权利要求8所述的装置,其特征在于,

所述第二确定模块包括以下模块中的至少一个:

第一计算模块,用于计算所述目标作业的每个资源类型对应的资源占用量;

第二计算模块,用于计算所述目标作业的每个资源类型对应的资源可用量;

所述第一计算模块包括:

第一获取模块,用于获取所述目标作业与所述目标作业下所有任务的一对多映射关系;

第三确定模块,用于根据所述一对多映射关系确定所述目标作业下所有任务;

第三计算模块,用于计算所述目标作业下所有任务的相同资源类型对应的资源占用量的总和;

第二计算模块包括:

第四计算模块,用于计算所述目标作业的每个资源类型对应的资源配额量与所述目标作业的相应资源类型对应的资源占用量的差。

11.如权利要求7所述的装置,其特征在于,

所述装置还包括:

第二获取模块,用于获取用户的所有作业在设定历史时段内的各资源类型的资源占用量;

第五计算模块,用于根据所述用户的所有作业在设定历史时段内的各资源类型的资源占用量计算所述用户的各资源类型的参考资源占用量;

设置模块,用于将所述用户的作业对应的各资源类型的资源配额设置为所述用户的相应资源类型的参考资源占用量。

12.如权利要求7所述的装置,其特征在于,

所述装置还包括:

检测模块,用于检测用户的用户优先级;

调整模块,用于在用户的用户优先级变化时,根据所述用户的用户优先级变化幅度调整所述用户的作业对应的各资源类型的资源配额量。

13.一种控制资源访问的装置,其特征在于,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;

若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

14.一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种控制资源访问的方法,所述方法包括:

接收资源请求;

确定发起所述资源请求的任务所属的目标作业;

确定所述目标作业的资源分配状态;

若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。

技术总结
本文公开了一种控制资源访问的方法、装置及介质,该方法包括:接收资源请求;确定发起所述资源请求的任务所属的目标作业;确定所述目标作业的资源分配状态,若所述资源分配状态不符合设定资源分配条件,则拒绝所述资源请求。本文将资源控制的粒度细化至作业级别,在同一用户提交多个作业时,其中一个作业不符合设定资源分配条件并且执行失败后不会影响此用户的其它作业,使用户尽可能多的作业得到顺利处理,提高作业处理效率。

技术研发人员:周应超
受保护的技术使用者:北京松果电子有限公司
技术研发日:2020.01.08
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-27943.html

最新回复(0)