CN118210625A - 一种资源隔离方法及相关装置 - Google Patents
一种资源隔离方法及相关装置 Download PDFInfo
- Publication number
- CN118210625A CN118210625A CN202410270574.4A CN202410270574A CN118210625A CN 118210625 A CN118210625 A CN 118210625A CN 202410270574 A CN202410270574 A CN 202410270574A CN 118210625 A CN118210625 A CN 118210625A
- Authority
- CN
- China
- Prior art keywords
- resource
- task information
- client
- allocated
- real
- 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.)
- Pending
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000013468 resource allocation Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims description 26
- 230000010365 information processing Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000875 corresponding effect Effects 0.000 abstract description 105
- 230000002596 correlated effect Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及计算资源管理领域,尤其涉及一种资源隔离方法及相关装置,其中,方法包括:集群中的协调器接收至少一个客户端各自发送的携带有客户端标识的资源分配请求后,分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中;进一步的,协调器接收任意一个客户端提交的携带相应客户端标识的任务信息,然后,从资源配置文件中,获得对应接收到的客户端标识的待分配资源标识集合,调用待分配资源标识结合对应的资源,对任务信息进行相应处理,这样,通过资源配置文件,为不同租户分配不同的资源,实现了不同租户之间的资源隔离,解决了不同租户之间的资源使用相互干扰的问题。
Description
技术领域
本申请涉及计算资源管理领域,尤其涉及一种资源隔离方法及相关装置。
背景技术
Trino是一种高度并行的分布式查询引擎,在Trino集群中,一个查询任务启动执行后,多个不同阶段的子任务将会被依次触发执行,由于每个阶段的子任务不同,所以不同阶段子任务所需要的资源量不同,因此,一个查询任务在执行时所需要的资源量是动态变化的。
由于Trino不会对Trino集群中已经开始执行的查询任务所占据的资源量进行限制,因此,一些租户提交的查询任务开始执行后,可能会占据整个Trino集群的全部资源量,造成新的租户提交的查询任务进入排队状态,在这种机制下,一个租户可能会对其他租户的资源使用造成干扰。
有鉴于此,需要提出一种新的资源隔离方法,以克服上述缺陷。
发明内容
本申请提供了一种资源隔离方法及相关装置,用以解决不同租户之间的资源使用相互干扰的问题。
第一方面,本申请实施例提供了一种资源隔离方法,所述方法包括:
接收至少一个客户端各自发送的资源分配请求;资源分配请求携带有相应的客户端标识;
分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中;
接收任意一个客户端提交的任务信息;任务信息携带有任意一个客户端对应的待配置客户端标识;
从资源配置文件中,获得对应待配置客户端标识保存的待分配资源标识集合;
调用待分配资源标识集合对应的资源,对任务信息进行相应处理。
第二方面,本申请实施例还提供了一种资源隔离装置,所述装置包括:
第一接收模块,用于接收至少一个客户端各自发送的资源分配请求;资源分配请求携带有相应的客户端标识;
资源分配模块,用于分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中;
第二接收模块,用于接收任意一个客户端提交的任务信息;任务信息携带有任意一个客户端对应的待配置客户端标识;
资源查询模块,从资源配置文件中,获得对应待配置客户端标识保存的待分配资源标识集合;
信息处理模块,用于调用待分配资源标识集合对应的资源,对任务信息进行相应处理。
可选的,调用待分配资源标识对应的资源,对任务信息进行相应处理,信息处理模块还用于:
在任务信息的处理过程中,实时检测任务信息对应的资源占用量,并基于资源占用量,获得任务信息当前对应的实时惩罚指标;
基于第一资源门限和最新获得的实时惩罚指标,获得相应的更新惩罚指标;
在确定最新获得的实时惩罚指标大于第二资源门限时,在预设时长内停止执行任务信息;其中,第二资源门限大于第一资源门限。
可选的,在任务信息的处理过程中,实时检测任务信息对应的资源占用量,并基于资源占用量,获得任务信息当前对应的实时惩罚指标,信息处理模块还用于:
在任务信息的处理过程中,依次在每个单位时长内,实时检测任务信息对应的资源占用量;
每检测一次资源占用量,将上一单位时长结束时任务信息对应的上一更新惩罚指标,与当前单位时长内获得的资源占用量之和,作为任务信息当前对应的实时惩罚指标。
可选的,基于第一资源门限和最新获得的实时惩罚指标,获得相应的更新惩罚指标,信息处理模块还用于:
当实时惩罚指标不大于第一资源门限时,将更新惩罚指标置为零;
当实时惩罚指标大于第一资源门限时,将最新获得的实时惩罚指标和第一资源上限的差值,作为相应的更新惩罚指标。
可选的,信息处理模块还用于:
基于任务信息处理过程中,各单位时长内的资源占用量,获得任务信息对应的平均资源占用量;
基于平均资源占用量和待分配资源标识集合对应的资源总量,获得任务信息的资源占用率;
基于资源占用率,对资源配置文件中的待分配资源标识集合进行修改。
可选的,待分配资源标识集合包含至少一个服务器标识,则基于资源占用率,对资源配置文件中的待分配资源标识集合进行修改,信息处理模块还用于:
若资源占用率大于预设的第一占用率阈值,则将符合第一预设数量的空闲服务器标识加入到待分配资源标识集合中;
若资源占用率小于预设的第二占用率阈值,则从待分配资源标识集合中,删除符合第二预设数量的服务器标识。
其中,第二占用率阈值小于第一占用率阈值。
第三方面,本申请实施例提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一所述方法的步骤。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行如第一方面所述的方法。
在本申请实施例中,首先,集群中的协调器接收至少一个客户端各自发送的携带有客户端标识的资源分配请求,然后,分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中,这样,通过资源配置文件,为不同租户分配不同的资源,实现了不同租户之间的资源隔离。
进一步的,协调器接收任意一个客户端提交的携带相应客户端标识的任务信息,然后,协调器从资源配置文件中,获得对应接收到的客户端标识的的待分配资源标识集合,调用待分配资源标识结合对应的资源,对任务信息进行相应处理,这样,每个租户调用资源配置文件中预先分配好的专属资源,避免了对其他租户的资源的占用,解决了不同租户之间的资源使用相互干扰的问题。
附图说明
图1为本申请实施例中应用场景示意图;
图2A为本申请实施例中一种资源隔离方法流程示意图;
图2B为本申请实施例中一种资源隔离方法逻辑示意图;
图3为本申请实施例中集群工作原理逻辑示意图;
图4为本申请实施例中一种资源使用限制方法流程示意图;
图5为本申请实施例中一种实施惩罚指标获得方法流程示意图;
图6为本申请实施例中一种实施惩罚方法的整体流程示意图;
图7为本申请实施例中一种资源配置修改方法流程示意图;
图8为本申请实施例中一种资源隔离装置的结构示意图;
图9为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够在除了这里图示或描述的那些以外的顺序实施。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)Trino:一种分布式SQL查询引擎,通过在整个集群的服务器上分配处理任务来实现横向扩展,而非通过提高单台服务器的性能来进行垂直扩展,基于这种架构,Trino查询引擎在集群内的计算节点上可以并行处理海量数据上的SQL查询。
(2)集群:在局域网或互联网中连接多台计算机,通过软件和硬件来实现资源共享和任务分配,共同完成一个任务的高性能计算***,主要用于大规模数据处理、科学计算、数字媒体处理等领域,可以提供更高的计算效率和更大的数据存储容量。
(3)Coordinator:Trino集群中的协调器,负责接收客户端提交的查询任务,以及跨Trino工作节点解析、分析、计划和协调查询执行的一类服务器。
(4)Worker:Trino集群中的工作节点,负责执行任务和处理数据的一类服务器。
(5)时间片:CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的,如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程;如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。
下面对本申请实施例的设计思想进行简要介绍:
在Trino集群中,一个查询任务启动执行后,多个不同阶段的子任务将会被依次触发执行,由于每个阶段的子任务不同,所以不同阶段子任务所需要的资源量不同,因此,一个查询任务在执行时所需要的资源量是动态变化的。由于Trino不会对Trino集群中已经开始执行的查询任务所占据的资源量进行限制,因此,一些租户提交的查询任务开始执行后,可能会占据整个Trino集群的全部资源量,造成新的租户提交的查询任务进入排队状态,在这种机制下,一个租户可能会对其他租户的资源使用造成干扰。
有鉴于此,在本申请实施例中,提出了一种资源隔离方法及相关装置。
首先,集群中的协调服务器接收至少一个客户端各自发送的携带有客户端标识的资源分配请求,然后,分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中,这样,通过资源配置文件,为不同租户分配不同的资源,实现了不同租户之间的资源隔离;接着,协调服务器接收任意一个客户端提交的携带相应客户端标识的任务信息,然后,协调服务器从资源配置文件中,获得对应接收到的客户端标识的待分配资源标识集合,调用待分配资源标识结合对应的资源,对任务信息进行相应处理,采用上述方法,每个租户调用资源配置文件中预先分配好的专属资源,避免了对其他租户的资源的占用,解决了不同租户之间的资源使用相互干扰的问题。
进一步的,当查询任务的资源占用量超过资源门限时,在预设时长内停止执行查询任务,通过实施惩罚的方法,对查询任务的资源占用量进行限制,解决了同一租户对应的资源内部,不同任务之间的资源使用相互干扰的问题。
最后,通过租户对已分配资源的实际使用情况,通过对配置文件中该租户对应的资源标识集合进行修改来增加或减少分配的资源,使得资源分配更加灵活、方便。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请实施例及实施例中的特征可以相互组合。
参阅图1所示,其为本申请实施例中应用场景示意图,其中包括客户端110、111、112,以及由服务器1201、1202、1203、1204组成的集群120,各客户端和集群均通过通信网络进行连接,用户可通过任意一个客户端登录集群120,集群120中的协调器1201负责接收各客户端发送的资源分配请求,为各客户端分配相应的服务器资源,以及接收任意一个客户端提交的查询任务,并调用相应的服务器资源来执行查询任务。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的对话生成方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图2A和图2B所示,其分别为本申请实施例中一种资源隔离方法的流程示意图和逻辑示意图,下面结合图2A和图2B,对具体执行的步骤进行详细说明:
步骤21:接收至少一个客户端各自发送的资源分配请求;
其中,资源分配请求携带有相应的客户端标识;
在本申请实施例中,集群上安装有Trino查询引擎,在布署Trino后,集群中的服务器可划分为协调器Coordinator和工作节点Worker,用户使用客户端工具(如JDBC驱动或Trino CLI)连接到集群中的协调器,之后,协调器就可以协调工作节点访问数据源,协调器定时获取各工作节点的资源占用情况,例如CPU、内存的使用情况,通过这种方式,协调器能够维护一个空闲工作节点的最新列表,并基于这个最新列表来进行资源的分配;客户端发送的资源分配请求中协调器在接收到客户端发送的资源分配请求后,从空闲的工作节点中,为客户端分配相应的资源。
步骤22:分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中;
在本申请实施例中,协调器在接收到客户端发送的资源分配请求后,从空闲工作节点的最新列表中,选取相应的工作节点分配给客户端,并将资源分配情况记录在资源配置文件中。
例如,假设发送资源分配请求的客户端对应的客户端标识分别为User1、User2,协调器为User1分配的工作节点分别为Worker1、Worker2、Worker3,为User2分配的工作节点分别为Worker4、Worker5、Worker6,则将User1:{Worker1,Worker2,Worker3}、User2:{Worker4,Worker5,Worker6}记录在资源配置文件中。
步骤23:接收任意一个客户端提交的任务信息;
其中,任务信息携带有任意一个客户端对应的待配置客户端标识;
在本申请实施例中,参阅图3所示,任务信息可以包括一系列SQL查询语句,协调器在接收到任务信息后,对其中的SQL查询语句进行解析、分析、创建执行计划,SQL查询语句被翻译成一系列互相连接的任务,这些任务被分发到相应的工作节点上运行。
步骤24:从资源配置文件中,获得对应待配置客户端标识保存的待分配资源标识集合;
例如,客户端所提交的任务信息携带有客户端标识User1,协调器根据User1,从资源配置文件中查询到对应的资源标识集合为{Worker1,Worker2,Worker3}。
步骤25:调用待分配资源标识集合对应的资源,对任务信息进行相应处理。
在本申请实施例中,参阅图3所示,协调器启动待分配资源标识集合对应的工作节点,开始执行查询任务;在工作节点处理数据的同时,协调节点会获取执行结果并放入输出缓冲区,并对客户端暴露该缓冲区中的数据。在客户端读完输出缓冲区的数据后,协调节点会代表客户端从工作节点获取更多的结果数据。而工作节点轮流与数据源交互并从中读取数据。通过以上流程,在查询执行结束以前,客户端不断地请求数据,工作节点则不断地从数据源读取数据并提供给客户端。
进一步的,在Trino集群中,从客户端对应的分配资源中,划分一个资源组来执行客户端提交的查询任务,同时,Trino采用分布式查询计划来执行查询任务。分布式查询计划将一个查询任务划分为多个查询阶段Stage,一个Task由一个或多个任务task组成,每个task处理一段数据。协调器将Task的task分配给集群中的Worker,每个task处理的数据单元称为数据切片split,创建task后,它会为每个split实例化一个driver,每个driver都是Operator类的实例并执行split中的数据处理。一个task可能使用一个或多个driver。
协调器负责多资源组之间和资源组内部的查询调度,若资源组使用的资源未达到上限,则查询语句会被解析并调度执行,在解析完查询语句后,以Task为单位,一次性把所有Task的Task分配给Worker。Worker会根据数据切片split生成driver,并放到调度队列。Worker执行split以时间片为单位,一次最多只执行1秒,未完成则继续放入排队队列。
在对客户端提交的任务信息进行处理时,协调器还采用实时惩罚法对任务信息所占有的资源进行限制,参阅图4所示,其为本申请实施例中一种资源使用限制方法流程示意图,下面结合图4,对具体执行的步骤进行详细说明:
步骤41:在任务信息的处理过程中,实时检测任务信息对应的资源占用量,并基于资源占用量,获得任务信息当前对应的实时惩罚指标。
具体的,参阅图5所示,其为本申请实施例中一种实施惩罚指标获得方法流程示意图,下面结合附图5,对具体执行的步骤进行详细说明:
步骤411:在任务信息的处理过程中,依次在每个单位时长内,实时检测任务信息对应的资源占用量;
在本申请实施例中,每秒统计一次任务信息对应资源组消耗的CPU时间,即将资源组在每秒内分别占据的CPU核数,作为该任务信息对应的资源占用量,当资源组累计每秒消耗的CPU时间超过其配置的资源上限,则开始惩罚该资源组,即不再执行其中的split,直到其累计CPU消耗小于资源上限。
值得说明的是,单位时长可由本领域技术人员根据实际情况进行设置,本申请实施例对此不作限定。
步骤412:每检测一次资源占用量,将上一单位时长结束时任务信息对应的上一更新惩罚指标,与当前单位时长内获得的资源占用量之和,作为任务信息当前对应的实时惩罚指标。
例如,每秒检测一次资源占用量,假设上一秒结束时查询任务对应的更新惩罚指标为Csum0,当前这一秒内获得的资源占用量为cpus,则这一秒对应的实时惩罚指标Csum=Csum0+cpus。
步骤42:基于第一资源门限和最新获得的实时惩罚指标,获得相应的更新惩罚指标。
具体的,参阅图5所示,其为本申请实施例中更新惩罚指标获得方法流程示意图,下面结合附图5具体执行的步骤进行详细说明:
步骤421:判断实时惩罚指标是否大于第一资源门限,若是,则执行步骤422,否则,执行步骤423。
参阅图6所示,其为本申请实施例中一种实施惩罚方法的整体流程示意图,在本申请实施例中,资源门限即为资源组设置的CPU时间上限,假设第一资源门限为N,则将实施惩罚指标Csum和N进行比较。
步骤422:将最新获得的实时惩罚指标和第一资源上限的差值,作为相应的更新惩罚指标。
例如,当实时惩罚指标Csum大于N时,将Csum-N作为相应的更新惩罚指标Csum’。
步骤423:将更新惩罚指标置为零。
步骤43:在确定最新获得的实时惩罚指标大于第二资源门限时,在预设时长内停止执行任务信息。
其中,第二资源门限大于第一资源门限。
例如,假设第二资源门限为2N,当实时惩罚指标Csum大于2N时,在下一秒内停止调度执行GroupA内的所有split。
值得说明的是,第二资源门限和预设时长均可以由本领域技术人员根据实际情况进行设置,本申请实施例对此不作限定。
上述为实时惩罚法的拆分步骤,下面对实时惩罚法的整体流程进行说明,参阅图6所示,实时惩罚算法具体步骤如下:
步骤601:设置资源组GroupA的配置可使用的CPU时间上限为N,Coordinator每秒为GroupA生成N秒的CPU时间片;
步骤602:当组GroupA的查询执行时,实时统计GroupA的CPU消耗;
步骤603:统计GroupA上一秒消耗的CPU时间为Csum0,当前这一秒消耗的CPU时间为cpus;
步骤604:计算实时惩罚指标Csum=Csum0+cpus;
步骤605:判断Csum是否大于N,是则执行步骤607,否则执行步骤606;
步骤606:重置Csum’为0;
步骤607:判断Csum是否大于2N,是则执行步骤608,否则执行步骤609;
步骤608:惩罚一秒,下一秒不会调度执行GroupA内的split,令Csum’=Csum-N;
步骤609:下一秒不会惩罚,令Csum’=Csum-N,下下一秒被惩罚的概率变大。
上述为本申请实施例中,任务信息执行过程对应的步骤,参阅图7所示,在任务执行完成后,调度器还执行以下步骤:
步骤71:基于任务信息处理过程中,各单位时长内的资源占用量,获得任务信息对应的平均资源占用量。
在本申请实施例中,在任务信息处理过程中,依次检测每秒占用的的CPU核数,将各秒内占用的CPU核数相加,并除以总时长,得到任务信息占用的平均CPU核数。
步骤72:基于平均资源占用量和待分配资源标识集合对应的资源总量,获得任务信息的资源占用率。
例如,假设平均资源占用量为7,待分配资源标识集合对应的资源总量为10,则任务信息的资源占用率为70%。
步骤73:基于资源占用率,对资源配置文件中的待分配资源标识集合进行修改。
具体的,若所述资源占用率大于预设的第一占用率阈值,则将符合第一预设数量的空闲服务器标识加入到待分配资源标识集合中;若所述资源占用率小于预设的第二占用率阈值,则从所述待分配资源标识集合中,删除符合第二预设数量的服务器标识;其中,所述第二占用率阈值小于所述第一占用率阈值。
例如,假设针对客户端User1,相应的待分配资源标识集合为{Worker1,Worker2,Worker3},若资源占用率为99%,第一占用阈值为95%,即资源占用率大于第一占用阈值,则从空闲工作节点的最新列表中,选取一个服务器标识Worker4添加至在待分配资源标识集合{Worker1,Worker2,Worker3}中,得到User1对应的新的资源标识集合{Worker1,Worker2,Worker3,Worker4};若资源占用率为60%,第二占用率阈值为70%,即资源占用率小于第二占用阈值,则删除待分配资源标识结合中的服务器标识Werker3,得到User1对应的新的资源标识集合{Worker1,Worker2}。
值得说明的是,第一占用率阈值和第一预设数量,以及第二占用率阈值和第二预设数量,可由本领域技术人员根据实际情况进行设置,本申请实施例对此不作限定。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
基于相同技术构思,参阅图8所示,本申请实施例还提供了一种资源隔离装置,该装置包括:
第一接收模块801,用于接收至少一个客户端各自发送的资源分配请求;资源分配请求携带有相应的客户端标识;
资源分配模块802,用于分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中;
第二接收模块803,用于接收任意一个客户端提交的任务信息;任务信息携带有任意一个客户端对应的待配置客户端标识;
资源查询模块804,从资源配置文件中,获得对应待配置客户端标识保存的待分配资源标识集合;
信息处理模块805,用于调用待分配资源标识集合对应的资源,对任务信息进行相应处理。
可选的,调用待分配资源标识对应的资源,对任务信息进行相应处理,信息处理模块805还用于:
在任务信息的处理过程中,实时检测任务信息对应的资源占用量,并基于资源占用量,获得任务信息当前对应的实时惩罚指标;
基于第一资源门限和最新获得的实时惩罚指标,获得相应的更新惩罚指标;
在确定最新获得的实时惩罚指标大于第二资源门限时,在预设时长内停止执行任务信息;其中,第二资源门限大于第一资源门限。
可选的,在任务信息的处理过程中,实时检测任务信息对应的资源占用量,并基于资源占用量,获得任务信息当前对应的实时惩罚指标,信息处理模块805还用于:
在任务信息的处理过程中,依次在每个单位时长内,实时检测任务信息对应的资源占用量;
每检测一次资源占用量,将上一单位时长结束时任务信息对应的上一更新惩罚指标,与当前单位时长内获得的资源占用量之和,作为任务信息当前对应的实时惩罚指标。
可选的,基于第一资源门限和最新获得的实时惩罚指标,获得相应的更新惩罚指标,信息处理模块805还用于:
当实时惩罚指标不大于第一资源门限时,将更新惩罚指标置为零;
当实时惩罚指标大于第一资源门限时,将最新获得的实时惩罚指标和第一资源上限的差值,作为相应的更新惩罚指标。
可选的,信息处理模块805还用于:
基于任务信息处理过程中,各单位时长内的资源占用量,获得任务信息对应的平均资源占用量;
基于平均资源占用量和待分配资源标识集合对应的资源总量,获得任务信息的资源占用率;
基于资源占用率,对资源配置文件中的待分配资源标识集合进行修改。
可选的,待分配资源标识集合包含至少一个服务器标识,则基于资源占用率,对资源配置文件中的待分配资源标识集合进行修改,信息处理模块805还用于:
若资源占用率大于预设的第一占用率阈值,则将符合第一预设数量的空闲服务器标识加入到待分配资源标识集合中;
若资源占用率小于预设的第二占用率阈值,则从待分配资源标识集合中,删除符合第二预设数量的服务器标识。
其中,第二占用率阈值小于第一占用率阈值。
基于相同的技术构思,本申请实施例还提供了一种电子设备,该电子设备可实现本申请上述实施例提供的资源隔离的方法流程。
在一种实施例中,该电子设备可以是服务器,也可以是终端设备或其他电子设备。
参阅图9所示,该电子设备可包括:
至少一个处理器901,以及与至少一个处理器901连接的存储器902,本申请实施例中不限定处理器901与存储器902之间的具体连接介质,图9中是以处理器901和存储器902之间通过总线900连接为例。总线900在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线900可以分为地址总线、数据总线、控制总线等,为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器901也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以执行前文论述的一种资源隔离方法。处理器901可以实现图8所示的装置中各个模块的功能。
其中,处理器901是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器901可以是通用处理器,例如CPU、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的一种资源隔离方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器901进行设计编程,可以将前述实施例中介绍的一种资源隔离方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图2A所示的实施例的一种资源隔离方法的步骤。如何对处理器901进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述的一种资源隔离方法。
在一些可能的实施方式中,本申请提供一种资源隔离方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种资源隔离方法中的步骤。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种资源隔离方法,其特征在于,包括:
接收至少一个客户端各自发送的资源分配请求;所述资源分配请求携带有相应的客户端标识;
分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中;
接收任意一个客户端提交的任务信息;所述任务信息携带有所述任意一个客户端对应的待配置客户端标识;
从所述资源配置文件中,获得对应所述待配置客户端标识保存的待分配资源标识集合;
调用所述待分配资源标识集合对应的资源,对所述任务信息进行相应处理。
2.如权利要求1所述的方法,其特征在于,所述调用所述待分配资源标识对应的资源,对所述任务信息进行相应处理,还包括:
在所述任务信息的处理过程中,实时检测所述任务信息对应的资源占用量,并基于所述资源占用量,获得所述任务信息当前对应的实时惩罚指标;
基于第一资源门限和最新获得的实时惩罚指标,获得相应的更新惩罚指标;
在确定所述最新获得的实时惩罚指标大于第二资源门限时,在预设时长内停止执行所述任务信息;其中,所述第二资源门限大于所述第一资源门限。
3.如权利要求2所述的方法,其特征在于,所述在所述任务信息的处理过程中,实时检测所述任务信息对应的资源占用量,并基于所述资源占用量,获得所述任务信息当前对应的实时惩罚指标,包括:
在所述任务信息的处理过程中,依次在每个单位时长内,实时检测所述任务信息对应的资源占用量;
每检测一次资源占用量,将上一单位时长结束时所述任务信息对应的上一更新惩罚指标,与当前单位时长内获得的资源占用量之和,作为所述任务信息当前对应的实时惩罚指标。
4.如权利要求2所述的方法,其特征在于,所述基于第一资源门限和最新获得的实时惩罚指标,获得相应的更新惩罚指标,包括:
当所述实时惩罚指标不大于第一资源门限时,将更新惩罚指标置为零;
当所述实时惩罚指标大于所述第一资源门限时,将所述最新获得的实时惩罚指标和所述第一资源上限的差值,作为相应的更新惩罚指标。
5.如权利要求1-4任一项所述的方法,其特征在于,还包括:
基于所述任务信息处理过程中,各单位时长内的资源占用量,获得所述任务信息对应的平均资源占用量;
基于所述平均资源占用量和所述待分配资源标识集合对应的资源总量,获得所述任务信息的资源占用率;
基于所述资源占用率,对所述资源配置文件中的所述待分配资源标识集合进行修改。
6.如权利要求5所述的方法,其特征在于,所述待分配资源标识集合包含至少一个服务器标识;
则所述基于所述资源占用率,对所述资源配置文件中的所述待分配资源标识集合进行修改,包括:
若所述资源占用率大于预设的第一占用率阈值,则将符合第一预设数量的空闲服务器标识加入到所述待分配资源标识集合中;
若所述资源占用率小于预设的第二占用率阈值,则从所述待分配资源标识集合中,删除符合第二预设数量的服务器标识;
其中,所述第二占用率阈值小于所述第一占用率阈值。
7.一种资源隔离装置,其特征在于,包括:
第一接收模块,用于接收至少一个客户端各自发送的资源分配请求;所述资源分配请求携带有相应的客户端标识;
资源分配模块,用于分别将针对各客户端分配的资源对应的资源标识集合和相应的客户端标识,关联保存在资源配置文件中;
第二接收模块,用于接收任意一个客户端提交的任务信息;所述任务信息携带有所述任意一个客户端对应的待配置客户端标识;
资源查询模块,从所述资源配置文件中,获得对应所述待配置客户端标识保存的待分配资源标识集合;
信息处理模块,用于调用所述待分配资源标识集合对应的资源,对所述任务信息进行相应处理。
8.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一所述方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品在被计算机调用时,使得所述计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410270574.4A CN118210625A (zh) | 2024-03-08 | 2024-03-08 | 一种资源隔离方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410270574.4A CN118210625A (zh) | 2024-03-08 | 2024-03-08 | 一种资源隔离方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118210625A true CN118210625A (zh) | 2024-06-18 |
Family
ID=91446951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410270574.4A Pending CN118210625A (zh) | 2024-03-08 | 2024-03-08 | 一种资源隔离方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118210625A (zh) |
-
2024
- 2024-03-08 CN CN202410270574.4A patent/CN118210625A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9983903B2 (en) | Parallel execution of parsed query based on a concurrency level | |
CN110166282B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
US6411982B2 (en) | Thread based governor for time scheduled process execution | |
CN109564528B (zh) | 分布式计算中计算资源分配的***和方法 | |
CN111367630A (zh) | 一种基于云计算的多用户多优先级的分布式协同处理方法 | |
CN111459641B (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
CN112905339B (zh) | 任务调度执行方法、装置及*** | |
CN103810045A (zh) | 资源分配方法、资源管理器、资源服务器及*** | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
WO2024082584A1 (zh) | 资源分配方法、容器管理组件和资源分配*** | |
CN109819674B (zh) | 计算机存储介质、嵌入式调度方法及*** | |
CN115562846A (zh) | 一种资源调度的方法、装置及计算节点 | |
CN113051064B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 | |
CN118210625A (zh) | 一种资源隔离方法及相关装置 | |
CN115712572A (zh) | 任务的测试方法、装置、存储介质及电子装置 | |
CN109062707B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN115952239B (zh) | 基于表达式的分布式分级计算***、电子设备及存储介质 | |
WO2023232127A1 (zh) | 任务调度方法、装置、***及相关设备 | |
CN114205419B (zh) | 面向微服务多维扰动特征的数据中心请求调度***及方法 | |
CN114928636B (zh) | 接口调用请求处理方法、装置、设备、存储介质和产品 | |
CN112416539B (zh) | 面向异构众核处理器的多任务并行调度方法 | |
CN113377439A (zh) | 异构计算方法、装置、电子设备及存储介质 | |
CN115357373A (zh) | 一种多任务处理的数据分割方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |