资源分配方法和装置,电子设备及存储介质

阅读: 评论:0

著录项
  • CN201910562309.2
  • 20190626
  • CN112148465A
  • 20201229
  • 维塔科技(北京)有限公司
  • 戴国浩
  • G06F9/50
  • G06F9/50

  • 北京市海淀区信息路甲28号B座(二层)02C室-169号
  • 北京(11)
  • 北京英创嘉友知识产权代理事务所(普通合伙)
  • 徐晨影
摘要
本公开涉及一种资源分配方法和装置,电子设备及存储介质,以解决相关技术中的资源分配方法不够灵活,资源利用率不高的问题。所述资源分配方法应用于终端设备,所述资源分配方法包括:向资源管理服务器发送资源申请请求,所述资源申请请求包括所述终端设备上运行的进程的分组信息,所述分组信息用于所述资源管理服务器从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;接收所述资源管理服务器返回的资源,并将接收到的资源分配给各组进程。
权利要求

1.一种资源分配方法,其特征在于,应用于终端设备,所述方法包括:

向资源管理服务器发送资源申请请求,所述资源申请请求包括所述终端设备上运行的进程的分组信息,所述分组信息用于所述资源管理服务器从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

接收所述资源管理服务器返回的资源,并将接收到的资源分配给各组进程。

2.根据权利要求1所述的方法,其特征在于,在所述向资源管理服务器发送资源申请请求之前,还包括:

根据所述终端设备当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对所述终端设备上运行的进程的目标分组方式;

根据所述目标分组方式将所述终端设备上运行的进程划分为一个或多个申请组。

3.根据权利要求2所述的方法,其特征在于,所述分组方式包括:

将每一进程作为一个申请组;

将属于同一进程组的进程划分为一个申请组;

将属于同一会话的进程划分为一个申请组;

将属于同一用户的进程划分为一个申请组;

将所有的进程划分为一个申请组。

4.根据权利要求2或3所述的方法,其特征在于,所述分组信息包括各个所述申请组的标识信息;

在所述向资源管理服务器发送资源申请请求之前,还包括:

针对任一所述申请组,根据以下方式确定该申请组的标识信息:

根据所述目标分组方式对应的标识信息和该申请组中的进程信息,生成通用唯一标识码UUID,并将该UUID作为该申请组的标识信息;或者,

对所述目标分组方式对应的标识信息、该申请组中的进程信息和所述终端设备的操作系统的标识信息进行拼接,得到该申请组的标识信息。

5.一种资源分配方法,其特征在于,应用于资源管理服务器,所述方法包括:

响应于接收到终端设备发送的资源申请请求,根据所述资源申请请求中的分组信息,从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

将选取出的资源发送至所述终端设备,以指示所述终端设备将所述资源分配给所述各组进程。

6.一种资源管理装置,其特征在于,应用于终端设备,所述装置包括:

第一发送模块,用于向资源管理服务器发送资源申请请求,所述资源申请请求包括所述终端设备上运行的进程的分组信息,所述分组信息用于所述资源管理服务器从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

接收模块,用于接收所述资源管理服务器返回的资源,并将接收到的资源分配给各组进程。

7.根据权利要求6所述的装置,其特征在于,所述装置还包括:

确定模块,用于在所述第一发送模块所述向资源管理服务器发送资源申请请求之前,根据所述终端设备当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对所述终端设备上运行的进程的目标分组方式;

分组模块,用于根据所述目标分组方式将所述终端设备上运行的进程划分为一个或多个申请组。

8.一种资源管理装置,其特征在于,应用于资源管理服务器,所述装置包括:

分配模块,用于响应于接收到终端设备发送的资源申请请求,根据所述资源申请请求中的分组信息,从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

第二发送模块,用于将选取出的资源发送至所述终端设备。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。

10.一种电子设备,其特征在于,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。

说明书
技术领域

本公开涉及信息技术领域,具体地,涉及一种资源分配方法和装置,电子设备及存储介质。

资源池化是在云计算和数据中心中较流行的一种技术,其目的在于把原来静态分配到每个终端设备的资源集中管理起来,形成一个资源池。通过网络等通讯手段,资源池可以被整个云服务器或者数据中心访问并共享。当终端设备的应用程序或者进程需要使用资源时,可根据一定的规则从资源池中申请一定量的资源,通过资源抽象的接口来使用申请得到的资源。相应地,用于管理资源池的资源管理服务器在分配资源给应用程序或者进程后,会从资源池里的可分配资源里减去对应的资源数,并仅当应用程序或者进程通资源抽象接口归还资源的时候,资源管理系统会增加相应的可分配资源。

相关技术中,通常以终端设备作为申请资源的单位向资源管理服务器申请资源。以图1为例,具体地,终端设备上运行有进程0和进程1,当需要申请资源时,终端设备根据进程0和进程1的运行情况向资源管理服务器发送资源申请请求。资源管理服务器响应于接收到资源申请请求,从预置的资源池(包含资源vRes0~vRES7)中选取资源vRes0~vRes2分配给终端设备。

本公开的目的是提供一种资源分配方法和装置,电子设备及存储介质,以解决相关技术中的资源分配方法不够灵活,资源利用率不高的问题。

为了实现上述目的,根据本公开实施例的第一方面,提供一种资源分配方法,应用于终端设备,所述方法包括:

向资源管理服务器发送资源申请请求,所述资源申请请求包括所述终端设备上运行的进程的分组信息,所述分组信息用于所述资源管理服务器从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

接收所述资源管理服务器返回的资源,并将接收到的资源分配给各组进程。

可选地,在所述向资源管理服务器发送资源申请请求之前,还包括:

根据所述终端设备当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对所述终端设备上运行的进程的目标分组方式;

根据所述目标分组方式将所述终端设备上运行的进程划分为一个或多个申请组。

可选地,所述分组方式包括:

将每一进程作为一个申请组;

将属于同一进程组的进程划分为一个申请组;

将属于同一会话的进程划分为一个申请组;

将属于同一用户的进程划分为一个申请组;

将所有的进程划分为一个申请组。

可选地,所述分组信息包括各个所述申请组的标识信息;

在所述向资源管理服务器发送资源申请请求之前,还包括:

针对任一所述申请组,根据以下方式确定该申请组的标识信息:

根据所述目标分组方式对应的标识信息,生成通用唯一标识码UUID,并将该UUID作为该申请组的标识信息;或者,

对所述目标分组方式对应的标识信息和所述终端设备的操作系统的标识信息进行拼接,得到该申请组的标识信息。

根据本公开实施例的第二方面,提供一种资源分配方法,应用于资源管理服务器,所述方法包括:

响应于接收到终端设备发送的资源申请请求,根据所述资源申请请求中的分组信息,从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

将选取出的资源发送至所述终端设备,以指示所述终端设备将所述资源分配给所述各组进程。

根据本公开实施例的第三方面,提供一种资源分配装置,应用于终端设备,所述装置包括:

第一发送模块,用于向资源管理服务器发送资源申请请求,所述资源申请请求包括所述终端设备上运行的进程的分组信息,所述分组信息用于所述资源管理服务器从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

接收模块,用于接收所述资源管理服务器返回的资源,并将接收到的资源分配给各组进程。

可选地,所述装置还包括:

确定模块,用于在所述第一发送模块所述向资源管理服务器发送资源申请请求之前,根据所述终端设备当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对所述终端设备上运行的进程的目标分组方式;

分组模块,用于根据所述目标分组方式将所述终端设备上运行的进程划分为一个或多个申请组。

可选地,所述分组方式包括:

将每一进程作为一个申请组;

将属于同一进程组的进程划分为一个申请组;

将属于同一会话的进程划分为一个申请组;

将属于同一用户的进程划分为一个申请组;

将所有的进程划分为一个申请组。

可选地,所述分组信息包括各个所述申请组的标识信息;

所述装置还包括:

第一生成模块,用于根据所述目标分组方式对应的标识信息,生成通用唯一标识码UUID,并将该UUID作为该申请组的标识信息;或者,

第二生成模块,用于对所述目标分组方式对应的标识信息和所述终端设备的操作系统的标识信息进行拼接,得到该申请组的标识信息。

根据本公开实施例的第四方面,提供一种资源分配装置,应用于资源管理服务器,所述装置包括:

分配模块,用于响应于接收到终端设备发送的资源申请请求,根据所述资源申请请求中的分组信息,从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

第二发送模块,用于将选取出的资源发送至所述终端设备。

根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面或第二方面所述方法的步骤。

根据本公开实施例的第六方面,提供一种电子设备,包括:

存储器,其上存储有计算机程序;

处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面或第二方面所述方法的步骤。

本公开实施例提供的技术方案可以包括以下有益效果:终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,以请求资源管理服务器根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

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

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性实施例示出的一种资源分配方式的示意图;

图2是根据一示例性实施例示出的一种资源分配方法的流程图,其中,该资源分配方法应用于终端设备;

图3是根据一示例性实施例示出的另一种资源分配方式的示意图;

图4是根据一示例性实施例示出的又一种资源分配方式的示意图;

图5是根据一示例性实施例示出的一种资源分配方法的流程图,其中,该资源分配方法应用于资源管理服务器;

图6是根据一示例性实施例示出的一种资源分配方法的信令交互图;

图7是根据一示例性实施例示出的另一种资源分配方法的信令交互图;

图8是根据一示例性实施例示出的又一种资源分配方法的信令交互图;

图9是根据一示例性实施例示出的一种资源分配装置的框图,其中,该资源分配装置应用于终端设备;

图10是根据一示例性实施例示出的另一种资源分配装置的框图,其中,该资源分配装置应用于终端设备;

图11是根据一示例性实施例示出的一种资源分配装置的框图,其中,该资源分配装置应用于资源管理服务器;

图12是根据一示例性实施例示出的一种电子设备的框图,其中,该电子设备被提供为一终端设备;

图13是根据一示例性实施例示出的一种电子设备的框图,其中,该电子设备被提供为一服务器。

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

需要说明的是,本公开的说明书和权利要求书以及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为特定的顺序或先后次序。

本公开实施例提供一种资源分配方法,该方法应用于终端设备。如图2所示,图2是根据一示例性实施例示出的一种资源分配方法的流程图,该方法包括以下步骤:

S201、向资源管理服务器发送资源申请请求,该资源申请请求包括终端设备上运行的进程的分组信息,该分组信息用于资源管理服务器从预置的资源池中选取分配给该分组信息所指示的各组进程的资源。

其中,本公开实施例涉及的资源可以包括vCPU、内存、网络流量等,本公开实施例对此不做限定。

分组信息可以包括终端设备中的申请组信息(如申请组数量)、每一申请组包含的进程信息(如进程数量),所需的资源数量等等,本公开实施例对此不做限定。

S202、接收资源管理服务器返回的资源,并将接收到的资源分配给各组进程。

终端设备可将接收到的资源分配给各组进程,以使属于同一组的进程使用相同的资源,不同组的进程使用不同的资源。

通过上述实施例提供的资源分配方法,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,以请求资源管理服务器根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

在本公开的另一个实施例中,上述资源分配方法还可以包括:终端设备在向资源管理服务器发送资源申请请求之前,根据终端设备当前执行的计算任务信息等,对运行的进程进行分组,得到一个或多个申请组以及每一申请组包含的进程信息。

具体地,计算任务信息可以包括计算任务的任务属性和运算量。终端设备根据终端设备当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对终端设备上运行的进程的目标分组方式,并根据目标分组方式将终端设备上运行的进程划分为一个或多个申请组。

其中,分组方式可以包括但不限于以下几种方式:①将每一进程作为一个申请组;②将属于同一进程组的进程划分为一个申请组;③将属于同一会话的进程划分为一个申请组;④将属于同一用户的进程划分为一个申请组;⑤将所有的进程划分为一个申请组,等等。

计算任务的任务属性可以包括针对该计算任务的资源分配限制要求,产出时效性要求、统一管理要求等。任务属性还可以是其他任意使用的类型,本公开实施例对此不做限定。

任务属性、运算量与分组方式之间的对应关系可以根据需要进行设置,例如,表1示出了其中一种对应关系示例。

表1

在具体实施对终端设备上运行的进程进行分组时,若目标分组方式为上述分组方式①,由于进程是终端设备的操作系统(如Linux,Windows)区分独立任务的最小任务单元,操作系统会为每一个进程分配一个全系统唯一的进程ID,例如,进程0的进程ID是1555,进程1的ID是1999。基于此,可以根据进程ID对终端设备上运行的进程进行分组,将具有相同进程ID的进程归属于同一个申请组。

若目标分组方式为上述分组方式②,由于操作系统通常可以支持一个进程在运行中进程分叉,即分离出一个信的进程独立运行,以增大时一个应用程序的运行并行度,并且为了记录这样的父子关系,操作系统会为具有这种父子关系的进程分配一个全系统唯一的进程组ID,以表征这些进程属于一个进程组。基于此,可以根据进程组ID对终端设备上运行的进程进行分组,将具有相同进程组ID的进程归属于同一个申请组。

若目标分组方式为上述分组方式③,由于操作系统通常也可以支持多登陆界面,为了便于对各个登陆界面进行管理,操作系统会为具有同一登陆界面的进程分配一个全系统唯一的会话组ID,以表征这些进程属于同一个会话。基于此,可以根据会话组ID对终端设备上运行的进程进行分组,将具有相同会话组ID的进程归属于同一个申请组。

若目标分组方式为上述分组方式④,由于操作系统还可以支持多用户使用,每位用户在操作系统中都对应唯一的ID,基于此,可通过操作系统的相关接口查询每一进程对应哪个用户ID,根据用户ID分组,将具有相同用户ID的进程归属于同一个申请组。

下面以两个示例对本实施例提供的资源分配方法进行说明。

图3和图4以终端设备上运行有进程0和进程1、资源管理服务器的资源池中包含资源vRes0~vRes7为例,示出了不同的分组方式。如图3所示,若终端设备上当前执行运算量大、产出时效性要求高的计算任务,则可确定目标分组方式为上述分组方式①,以进程为单位向资源管理服务器申请资源(即进程0属于申请组1,进程1属于申请组2),资源管理服务器根据分组信息,向申请组1分配资源vRes0~vRes2以及向申请组2分配资源vRes3~vRes4。采用该方式,可以提高终端设备上计算任务执行的并行度,进而提高任务的执行效率,保证计算任务达到产出时效要求。

如图4所示,若终端设备当前执行有资源分配限制和统一管理要求的计算任务,则可确定目标分组方式为上述分组方式③,以会话为单位向资源管理服务器申请资源(即将属于同一会话的进程0和进程1归属于一个申请组),资源管理服务器根据分组信息,向申请组1分配资源vRes0~vRes2。采用该方式,使得各个进程使用的资源受限,以满足资源分配限制要求,并且可以提高资源池中的资源利用率。

本实施例提供的资源分配方法,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,以请求资源管理服务器根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

其次,终端设备根据终端设备当前执行的计算任务的任务属性和运算量选取相应的目标分组方式,以目标分组方式对运行的进程进行分组,得到多个申请组,这种分组方式可以适应不同应用场景下的需求,进一步提升了资源分配的灵活性以及资源利用率。

在本公开的另一个实施例中,分组信息还可以包括各个申请组的标识信息,以便资源管理服务器根据各个申请组的标识信息为各个申请组分配资源。相应地,本实施例在上述实施例的基础上做了进一步改进,具体改进之处为:终端设备在根据目标分组方式将其运行的进程划分为一个或多个申请组后,为每一申请组生成相应的标识信息。

在第一种可选的实现方式中,针对每一申请组,根据所述目标分组方式对应的标识信息和该申请组中的进程信息,生成通用唯一标识码UUID,并将该UUID作为该申请组的标识信息;

其中,每一分组方式都对应有一预先设定的标识信息。例如,上述分组方式①对应的标识信息可以为SB0,上述方式②对应的标识信息可以为SB1等等,依次类推。

申请组中的进程信息可以为以下信息中的任一种,该进程的进程ID、该进程所属的进程组ID、该进程所属的会话ID、该进程所属的用户ID、该进程所属的操作系统的标识信息等等。

例如,针对每一申请组,若目标分组方式为上述分组方式①,则可根据该目标分组方式对应的标识信息SB0和该申请组中的进程的进程ID,生成UUID;若目标分组方式为上述分组方式②,则可根据该目标分组方式对应的标识信息SB1和该申请组中的进程所属的进程组ID,生成UUID等,依次类推。

需要说明的是,为了保证同一申请组中的进程,无论是并发性执行还是串行执行,都能够得到相同的UUID,因而针对每一申请组,可以按照如下方式生成UUID:

(1)以根据该申请组的目标分组方式对应的标识信息以及其包含的进程信息,得到一个候选标识。例如,目标分组方式为上述分组方式①,则该申请组的候选标识为{SB0,进程ID}。其中,该申请组内的所有进程都使用同一候选标识。

(2)对于该申请组中的任何一个进程,通过操作系统的接口,在终端设备的磁盘上创建一个文件,并设置一目录或者其他映射关系Path,且根据该目标或映射关系Path以及通过(1)得到的候选标识,得到该文件所在的位置。其中,由于不同申请组的候选标识不同,因而不同申请组内的进程创建的文件不同。例如,目标分组方式为上述方式①,则该文件所在的位置为{Path,SB0,进程ID}

其中,在创建文件时,若多个进程同时创建同一个文件,则只有一个进程能成功创建,而其他进程会收到创建失败的通知,以表示已经有其他进程创建了该文件。这样,无论是成功创建了该文件的进程,还是创建失败的进程,都能够打开该文件。也就是说,同一个申请组的多个进程能够打开同一个文件,而不同申请组的进程打开不同的文件。

(4)所有打开同一文件的进程,通过操作系统的接口对该文件加“写锁”,表示将要写该文件。其中,操作系统会保证最多只有一个进程能够成功获得“写锁”,而其他进程都会失败。具体地,若任何一个进程已经对该文件成功地加上一个“读锁”,则表示该进程正在读取该文件,其他任何进程均无法为该文件“写锁”。

(5)不能获得“写锁”的进程,转而通过操作系统接口对该文件加“读锁”,表示要读取该文件。其中,操作系统会在任何一个进程为一个文件成功加上“写锁”后,阻塞其他进程加“读锁”的操作,直到取得“写锁”的进程释放“写锁”。

(6)获得“写锁”的进程调用预先设置的UUID的计算方法,计算出一个相应的UUID,并把该UUID写入到文件中。例如,若目标分组方式为上述分组方式①,则将该UUID写入到{Path,SB0,进程ID}中。

(7)获得“写锁”的进程将“写锁”更改为“读锁”,表示释放“写锁”。此时,其他阻塞在“读锁”的进程恢复执行,并从该文件中读取其中的UUID。例如,若目标分组方式为上述分组方式①,则从{Path,SB0,进程ID}中读取其中的UUID。

当然,生成UUID的方式还可以为本领域技术人员所公知的其他方式,故在此不再赘述。

在第二种可选的实现方式中,考虑到资源池是一个云服务器或者数据中心的全局资源,有众多操作系统并存,为了保证不同申请组的标识信息不相同且唯一,可在目标分组方式对应的标识信息和申请组中的进程信息的基础上,增加操作系统的标识信息。具体地,针对每一申请组,对目标分组方式对应的标识信息、该申请组中的进程信息和终端设备的操作系统的标识信息进行拼接,得到该申请组的标识信息。

其中,终端设备的操作系统的标识信息可以为以下信息中的任一种:操作系统的网络IP地址、网络硬件地址等。

例如,以MS表示操作系统的标识信息,针对每一申请组,若目标分组方式为上述分组方式①,则可得到该申请组的标识信息为{MS,SB0,进程ID};若目标分组方式为上述分组方式②,则可得到该申请组的标识信息为{MS,SB1,进程组ID};若目标分组方式为上述分组方式③,则可得到该申请组的标识信息为{MS,SB2,会话ID}等等,以此类推。

本实施例提供的资源分配方法,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,以请求资源管理服务器根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

其次,终端设备根据终端设备当前执行的计算任务的任务属性和运算量选取相应的目标分组方式,以目标分组方式对运行的进程进行分组,得到多个申请组,这种分组方式可以适应不同应用场景下的需求,进一步提升了资源分配的灵活性以及资源利用率。

进一步地,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中还携带了各个申请组的标识信息,所述标识信息可作为各个申请组的唯一身份标识,进而使得资源管理服务器可以方便、快速、准确地对各个申请组进行区分和资源分配。

本公开实施例还提供了一种资源分配方法,该资源分配方法应用于资源管理服务器。如图5所示,图5是根据一示例性实施例示出的一种资源分配方法的流程图,该方法包括以下步骤:

S501、响应于接收到终端设备发送的资源申请请求,根据资源申请请求中的分组信息,从预置的资源池中选取分配给分组信息指示的各组进程的资源。

S502、将选取出的资源发送至终端设备,以指示终端设备将所述资源分配给所述各组进程。

在具体实施时,分组信息可以包括终端设备中的申请组信息(如申请组的数量)以及每一申请组包含的进程信息(如进程数量、进程的资源消耗情况等)。资源管理服务器可根据申请组的数量以及申请组包含的进程数量,确定分配给每个申请组的资源,并将包含有资源以及资源所对应的申请组的分配结果返回给终端设备,由终端设备将这些资源相应地分配给各个申请组,以供各个申请组内的进程使用。

进一步地,分组信息还可以包括各个申请组的标识信息。资源管理服务器可根据各个申请组的标识信息为各个申请组分配相应的资源,且在向终端设备返回资源时,为每一资源打上其对应的申请组的标识信息,以指示终端将各个资源分配给其对应的申请组。

需要说明的是,资源管理服务器根据分组信息为各个申请组分配相应资源的方式可以是现有的分配方法中的任意一种,也可以是对现有的分配方法的改进方法等,对于资源管理服务器如何根据分组信息分配资源不是本公开所关注的重点,故在此不再赘述。

通过本公开实施例提供的资源分配方法,资源管理服务器在向终端设备分配资源时,是根据终端设备上运行的进程的分组信息来进行分配的,这种以组为单位分配资源的方式,相比于现有技术中以终端设备整体为单位来分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

图6是根据一示例性实施例示出的一种资源分配方法的信令交互图。在该实施例中,涉及的交互主体包括终端设备和资源管理服务器,其中,终端设备和资源管理服务器通信连接,终端设备上运行有多个进程,资源管理服务器中预置有资源池,资源池中包含多个可分配的资源。如图6所示,该资源分配方法包括:

S601、终端设备向资源管理服务器发送资源申请请求。

其中,该资源申请请求包括终端设备上运行的进程的分组信息,该分组信息可以包括终端设备中的申请组信息(如申请组的数量),每一申请组包含的进程信息(如进程数量、进程的资源消耗情况等)以及各个申请组的标识信息等。

S602、资源管理服务器响应于接收到终端设备发送的资源申请请求,根据资源申请请求中的分组信息,从预置的资源池中选取分配给分组信息指示的各组进程的资源。

S603、资源管理服务器将分配给各组进程的资源发送至终端设备。

S604、终端设备将接收到的资源分配给各组进程。

需要说明的是,本实施例中终端设备执行的步骤(如步骤S601、S604)可参见上述由终端设备执行的资源分配方法中的相应步骤的描述,本实施例中资源管理服务器执行的步骤(如步骤S602~S603)可参见上述由资源管理服务器执行的资源分配方法中的相应步骤的描述,此处均不再赘述。

本实施例提供的资源分配方法,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,资源管理服务器则根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

图7是根据一示例性实施例示出的一种资源分配方法的信令交互图。在该实施例中,涉及的交互主体包括终端设备和资源管理服务器,其中,终端设备和资源管理服务器通信连接,终端设备上运行有多个进程,资源管理服务器中预置有资源池,资源池中包含多个可分配的资源。本实施例在上述图6所示实施例的基础上做了进一步改进,具体改进之处为:终端设备在向资源管理服务器发送资源申请请求之前,根据终端设备当前执行的计算任务信息等,对运行的进程进行分组,得到一个或多个申请组以及每一申请组包含的进程信息。

具体地,如图7所示,该资源分配方法包括:

S701、终端设备根据其当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对终端设备上运行的进程的目标分组方式。

S702、终端设备根据目标分组方式将终端设备上运行的进程划分为一个或多个申请组。

S703、终端设备向资源管理服务器发送资源申请请求。

其中,该资源申请请求包括终端设备上运行的进程的分组信息,该分组信息可以包括终端设备中的申请组信息(如申请组的数量),每一申请组包含的进程信息(如进程数量、进程的资源消耗情况等)等。

S704、资源管理服务器响应于接收到终端设备发送的资源申请请求,根据资源申请请求中的分组信息,从预置的资源池中选取分配给分组信息指示的各组进程的资源。

S705、资源管理服务器将分配给各组进程的资源发送至终端设备。

S706、终端设备将接收到的资源分配给各组进程。

需要说明的是,本实施例中终端设备执行的步骤(如步骤S701~S703、S706)可参见上述由终端设备执行的资源分配方法中的相应步骤的描述,本实施例中资源管理服务器执行的步骤(如步骤S704~S705)可参见上述由资源管理服务器执行的资源分配方法中的相应步骤的描述,此处均不再赘述。

本实施例提供的资源分配方法,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,资源管理服务器则根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

其次,终端设备根据终端设备当前执行的计算任务的任务属性和运算量选取相应的目标分组方式,以目标分组方式对运行的进程进行分组,得到多个申请组,这种分组方式可以适应不同应用场景下的需求,进一步提升了资源分配的灵活性以及资源利用率。

图8是根据一示例性实施例示出的一种资源分配方法的信令交互图。在该实施例中,涉及的交互主体包括终端设备和资源管理服务器,其中,终端设备和资源管理服务器通信连接,终端设备上运行有多个进程,资源管理服务器中预置有资源池,资源池中包含多个可分配的资源。本实施例在上述图7所示实施例的基础上做了进一步改进,具体改进之处为:终端设备在根据目标分组方式将其运行的进程划分为一个或多个申请组后,为每一申请组生成相应的标识信息。

具体地,如图8所示,该资源分配方法包括:

S801、终端设备根据其当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对终端设备上运行的进程的目标分组方式。

S802、终端设备根据目标分组方式将终端设备上运行的进程划分为一个或多个申请组。

S803、终端设备针对每一申请组,根据所述目标分组方式对应的标识信息和该申请组中的进程信息,生成通用唯一标识码UUID,并将该UUID作为该申请组的标识信息;或者,对目标分组方式对应的标识信息、该申请组中的进程信息和终端设备的操作系统的标识信息进行拼接,得到该申请组的标识信息。

S804、终端设备向资源管理服务器发送资源申请请求。

其中,该资源申请请求包括终端设备上运行的进程的分组信息,该分组信息可以包括终端设备中的申请组信息(如申请组的数量),每一申请组包含的进程信息(如进程数量、进程的资源消耗情况等)以及各个申请组的标识信息等。

S805、资源管理服务器响应于接收到终端设备发送的资源申请请求,根据资源申请请求中的分组信息,从预置的资源池中选取分配给分组信息指示的各组进程的资源。

S806、资源管理服务器将分配给各组进程的资源发送至终端设备。

S807、终端设备将接收到的资源分配给各组进程。

需要说明的是,本实施例中终端设备执行的步骤(如步骤S801~S804、S807)可参见上述由终端设备执行的资源分配方法中的相应步骤的描述,本实施例中资源管理服务器执行的步骤(如步骤S805~S806)可参见上述由资源管理服务器执行的资源分配方法中的相应步骤的描述,此处均不再赘述。

本实施例提供的资源分配方法,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,资源管理服务器则根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

其次,终端设备根据终端设备当前执行的计算任务的任务属性和运算量选取相应的目标分组方式,以目标分组方式对运行的进程进行分组,得到多个申请组,这种分组方式可以适应不同应用场景下的需求,进一步提升了资源分配的灵活性以及资源利用率。

进一步地,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中还携带了各个申请组的标识信息,所述标识信息可作为各个申请组的唯一身份标识,进而使得资源管理服务器可以方便、快速、准确地对各个申请组进行区分和资源分配。

本公开实施例还提供一种资源分配装置,该装置可应用于终端设备。如图9所示,图9是根据一示例性实施例示出的一种资源分配装置的框图,该装置900包括:

第一发送模块901,用于向资源管理服务器发送资源申请请求,所述资源申请请求包括所述终端设备上运行的进程的分组信息,所述分组信息用于所述资源管理服务器从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

接收模块902,用于接收所述资源管理服务器返回的资源,并将接收到的资源分配给各组进程。

可选地,如图10所示,所述装置900还包括:

确定模块903,用于在所述第一发送模块所述向资源管理服务器发送资源申请请求之前,根据所述终端设备当前执行的计算任务的任务属性和运算量,以及任务属性、运算量与分组方式之间的预设对应关系,确定对所述终端设备上运行的进程的目标分组方式;

分组模块904,用于根据所述目标分组方式将所述终端设备上运行的进程划分为一个或多个申请组。

可选地,所述分组方式包括:

将每一进程作为一个申请组;

将属于同一进程组的进程划分为一个申请组;

将属于同一会话的进程划分为一个申请组;

将属于同一用户的进程划分为一个申请组;

将所有的进程划分为一个申请组。

可选地,所述分组信息包括各个所述申请组的标识信息;

如图10所示,所述装置900还包括:

第一生成模块905,用于根据所述目标分组方式对应的标识信息,生成通用唯一标识码UUID,并将该UUID作为该申请组的标识信息;或者,

第二生成模块906,用于对所述目标分组方式对应的标识信息和所述终端设备的操作系统的标识信息进行拼接,得到该申请组的标识信息。

本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

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

采用上述实施例提供的资源分配装置,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中携带有运行的应用程序的分组信息,以请求资源管理服务器根据分组信息为各组进程分配资源,这种以组为单位申请和分配资源的方式,相比于现有技术中以终端设备整体为单位申请和分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

其次,终端设备根据终端设备当前执行的计算任务的任务属性和运算量选取相应的目标分组方式,以目标分组方式对运行的进程进行分组,得到多个申请组,这种分组方式可以适应不同应用场景下的需求,进一步提升了资源分配的灵活性以及资源利用率。

进一步地,终端设备在向资源管理服务器发送资源申请请求时,在资源申请请求中还携带了各个申请组的标识信息,所述标识信息可作为各个申请组的唯一身份标识,进而使得资源管理服务器可以方便、快速、准确地对各个申请组进行区分和资源分配。

本公开实施例还提供一种资源分配装置,该装置可应用于资源管理服务器。如图11所示,图11是根据一示例性实施例示出的一种资源分配装置的框图,该装置1100包括:

分配模块1101,用于响应于接收到终端设备发送的资源申请请求,根据所述资源申请请求中的分组信息,从预置的资源池中选取分配给所述分组信息指示的各组进程的资源;

第二发送模块1102,用于将选取出的资源发送至所述终端设备。

本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

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

通过本公开实施例提供的资源分配装置,资源管理服务器在向终端设备分配资源时,是根据终端设备上运行的进程的分组信息来进行分配的,这种以组为单位分配资源的方式,相比于现有技术中以终端设备整体为单位来分配资源的方式,更为灵活,资源池中的资源释放更及时。并且,通过这种资源分配方法,使得终端设备上属于同一组的进程使用相同的资源,不同组的进程使用不同的资源,可以提升资源池中的资源利用率。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的资源分配方法的步骤。

本公开实施例还提供一种电子设备,该电子设备包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开提供的资源分配方法的步骤。

图12是根据一示例性实施例示出的一种电子设备1200的框图。例如,电子设备1200可以被提供为一终端设备。如图12所示,该电子设备1200可以包括:处理器1201,存储器1202。该电子设备1200还可以包括多媒体组件1203,输入/输出(I/O)接口1204,以及通信组件1205中的一者或多者。

其中,处理器1201用于控制该电子设备1200的整体操作,以完成上述的由终端设备执行的资源分配方法中的全部或部分步骤。存储器1202用于存储各种类型的数据以支持在该电子设备1200的操作,这些数据例如可以包括用于在该电子设备1200上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1202可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1203可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1202或通过通信组件1205发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1204为处理器1201和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1205用于该电子设备1200与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1205可以包括:Wi-Fi模块,蓝牙模块,NFC模块。

在一示例性实施例中,电子设备1200可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的由终端设备执行的资源分配方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的由终端设备执行的资源分配方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1202,上述程序指令可由电子设备1200的处理器1201执行以完成上述的由终端设备执行的资源分配方法。

图13是根据一示例性实施例示出的一种电子设备1300的框图。例如,电子设备1300可以被提供为一服务器。参照图13,电子设备1300包括处理器1322,其数量可以为一个或多个,以及存储器1332,用于存储可由处理器1322执行的计算机程序。存储器1332中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1322可以被配置为执行该计算机程序,以执行上述的由资源管理服务器执行的资源分配方法。

另外,电子设备1300还可以包括电源组件1326和通信组件1350,该电源组件1326可以被配置为执行电子设备1300的电源管理,该通信组件1350可以被配置为实现电子设备1300的通信,例如,有线或无线通信。此外,该电子设备1300还可以包括输入/输出(I/O)接口1358。电子设备1300可以操作基于存储在存储器1332的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的由资源管理服务器执行的资源分配方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1332,上述程序指令可由电子设备1300的处理器1322执行以完成上述的由资源管理服务器执行的资源分配方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

本文发布于:2023-04-14 13:39:11,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/86516.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图