一种资源分配方法和装置的制造方法_2

文档序号:9827990阅读:来源:国知局
5。其 中,该低优先级进程中可以包括一个或多个占用目标context的资源的业务进程。
[0045] 本发明实施例中,若目标context内不存在低优先级进程,资源分配装置可以拒 绝为目标进程分配资源,或按照其它资源分配策略进行资源分配,本发明实施例对此不做 限定。
[0046] 可选地,当资源分配装置拒绝为目标进程分配资源,即资源分配装置不为目标进 程分配资源时,可以输出提示信息,以提示资源分配发生错误,其中,该提示信息中可以包 括资源分配发生错误的原因,如可用资源不足等。
[0047] 步骤104、释放低优先级进程占用的目标context的资源,直至释放后的目标 context的可用资源量大于或等于请求分配的资源量。
[0048] 本发明实施例中,当资源分配装置确定目标context内存在低优先级进程时, 资源分配装置可以释放低优先级进程占用的目标context的资源,直至释放后的目标 context的可用资源量大于或等于请求分配的资源量。
[0049] 在一种实施方式中,上述步骤104中,释放低优先级进程占用的目标context的资 源之前,还可以包括以下步骤:
[0050] 11)、判断低优先级进程占用的目标context的资源量与目标进程的可用资源量 二者之和是否大于或等于请求分配的资源量;
[0051] 12)、若是,则确定执行释放低优先级进程占用的目标context的资源的步骤。
[0052] 在该实施方式中,当资源分配装置确定目标context中存在低优先级进程之后, 在释放低优先级占用的目标context的资源之前,可以先判断低优先级进程占用的目标 context的资源量与目标进程的可用资源量二者之和是否大于或等于请求分配的资源 量,即判断低优先级进程占用的目标context的资源量被释放后,目标context是否有 足够的资源进行分配;若是,即低优先级进程占用的目标context的资源量被释放后,目 标context有足够的资源进行分配,则资源分配装置可以释放低优先级进程占用的目标 context的资源,直至释放后的目标context的可用资源大于或等于请求分配的资源量。
[0053] 在该实施方式中,若低优先级进程占用的目标context的资源量与目标进程的可 用资源量二者之和小于或等于请求分配的资源量,即低优先级进程占用的目标context的 资源量被释放后,目标进程仍没有足够的资源进行分配,资源分配装置可以不释放低优先 级占用的目标context的资源,或根据其它资源分配策略进行处理,本发明实施例对此不 做限定。
[0054] 在一种实施方式中,上述步骤104中,释放低优先级进程占用的目标context的资 源,直至释放后的目标context的可用资源量大于或等于请求分配的资源量,可以具体包 括:
[0055] 按照低优先级进程的优先级从低到高的顺序释放低优先级进程占用的目标 context的资源,直至释放后的目标context的可用资源量大于或等于请求分配的资源量。
[0056] 在该实施方式中,资源分配装置在释放低优先级进程占用的目标context的资源 时,可以按照优先级从低到高的顺序,依次释放各低优先级占用的目标context的资源,直 至释放后的目标context的可用资源量大于或等于请求分配的资源量。
[0057] 具体的,资源分配装置可以先释放优先级最低的低优先级进程占用的目标 context的资源,并判断释放后的目标context的可用资源是否大于或等于请求分配的 资源,若是,则执行步骤105 ;否则,重复执行释放优先级次低的优先级进程占用的目标 context的资源,并判断释放后的目标context的可用资源是否大于或等于请求分配的资 源,直至释放后的目标context的可用资源大于或等于请求分配的资源。
[0058] 需要注意的是,在本发明实施例中,释放低优先级进程占用的目标context的资 源除了可以按照优先级从低到高的顺序释放之外,还可以按照其它策略进行,如按照低优 先级进程占用的目标context的资源量从多到少的顺序释放,其具体实现在此不再赘述。
[0059] 步骤105、从目标context的可用资源中,为目标进程分配与请求分配的资源量等 量的资源。
[0060] 本发明实施例中,当目标context的可用资源大于或等于请求分配的资源量,或 释放后的目标context的可用资源大于或等于请求分配的资源量时,资源分配装置可以从 目标context的可用资源中,为目标进程分配与请求分配的资源量等量的资源。
[0061] 可见,在图1所描述的方法流程中,通过为context内的业务进程设置优先级,当 高优先级的业务进程需要占用context的资源,而context的可用资源不足时,可以释放低 优先级的业务进程占用的资源,从而能够使资源占用细化到业务粒度,保证context内特 定业务进程的资源占用成功率,提高资源分配的灵活性。
[0062] 请参见图2,为本发明实施例提供的另一种资源分配方法的流程示意图,如图2所 示,该资源分配方法可以包括以下步骤:
[0063] 步骤201、接收资源分配请求,该资源分配请求中包括context索引、业务进程号、 以及请求分配的资源量。
[0064] 本发明实施例中,当某context内的某业务进程开始运行时,该业务进程需要向 资源分配装置发送资源分配请求,以请求分配资源;其中,该资源分配请求中可以包括但不 限于用于标识该业务进程所在context的context索引,用于标识该业务进程的业务进程 号,以及该业务进程请求分配的资源量。
[0065] 步骤202、判断目标进程在目标context内是否存在预留资源;若是,则转至步骤 203 ;否则,转至步骤205。
[0066] 本发明实施例中,为了保证context内的特定业务进程的资源占用成功率,可以 预先在context内为该特定业务进程配置预留资源,该特定业务进程之外的其它业务进程 不能占用该特定业务进程的预留资源。
[0067] 举例来说,假设 context 内包括 NAT (Network Address Translation,网络地址转 换)业务进程、Session业务进程等业务进程,且NAT业务为该context内的关键业务进程, 从而,为了保证context内关键业务进程(关键业务进程可以由用户根据具体应用场景设 定,或根据其它策略确定)的资源占用成功率,可以预先在context内为该关键业务进程配 置预留资源,即为NAT业务配置预留资源。以资源为内存为例,假设context的内存总量为 100M,context内NAT业务进程的预留资源为10%,则即使NAT业务未运行,其它业务进程 也最多只能占用context的内存总量的90% ;而对于NAT业务,无论运行启动时间的早晚, 均能占用到预留资源,从而,保证了关键业务资源占用的成功率。
[0068] 本发明实施例中,资源分配装置接收到资源分配请求时,可以根据该资源分配请 求中包括的context索引以及业务进程号,判断该业务进程号对应的业务进程(即目标进 程)在该context索引对应的context(即目标context)内是否存在预留资源。
[0069] 在一种实施方式中,资源分配装置在为特定业务进程配置预留资源之后,可以维 护如表1所示的资源分配表:
[0070] 表 1
[0072] 其中,根据表1所示的资源分配表可知,在context索引为1的context(以下称 为context 1)内,为业务进程号为287的业务进程(以下称为业务进程287)配置了 10% 的预留资源,且没有为业务进程号为302的业务进程(以下称为业务进程302)配置预留资 源。
[0073] 可选地,对于未配置预留资源的业务进程,也可以指定其资源分配上限。例如,对 于业务进程302,假设指定其资源分配上限为8%,则业务进程302最多只能在context 1 内的非预留资源中占用该context 1的资源总量的8%。
[0074] 举例来说,以资源为内存为例,假设context 1的内存总量为100M,且业务进程 302的资源分配上限为8%,则业务进程287在context 1内存在10M(100M*10%= 10M) 的预留内存,而业务进程302则最多只能在context 1内剩余的90M非预留内存中占用 8M(100M*8%=8M)内存。
[0075] 本发明实施例中,当资源分配装置确定目标进程在目标context内存在预留资源 时,资源分配装置可以执行步骤203~步骤204 ;否则,可以执行步骤205~步骤208。
[0076] 步骤203、判断目标进程在目标context内当前占用的资源量与请求分配的资源 量二者之和是否大于目标进程在目标context内的预留资源量。若是,结束当前流程;否 贝丨J,转至步骤204。
[0077] 步骤204、从目标进程在目标context内的预留资源中为目标进程分配与请求分 配的资源量等量的资源。
[0078] 本发明实施例中,资源分配装置确定目标进程在目标context内存在预留资源之 后,可以获取该目标进程在目标context内当前占用的资源量,并判断该当前占用的资源 量与请求分配的资源量二者之和是否大于目标进程在目标context内的预留资源量,即判 断目标进程想要占用的资源总量是否大于为其配置的预留资源量。
[0079] 当资源分配装置确定目标进程在目标context内当前占用的资源量与请求分配 的资源量二者之和小于或等于目标进程在目标context内的预留资源量,即目标进程在 目标context内的预留资源足以进行资源分配时,资源分配装置可以从目标进程在目标 context内的预留资源中为目标进程分配与请求分配的资源量等量的资源。
[0080] 当资源分配装置确定目标进程在目标context内当前占用的资源量与请求分 配的资源量二者之和大于目标进程在目标context内的预留资源量,即目标进程
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1