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

文档序号:9827990阅读:来源:国知局
在目标 context内的预留资源不足以进行资源分配时,资源分配装置可以拒绝为目标进程分配资 源,或按照其它资源分配策略进行资源分配,本发明实施例对此不做限定。
[0081] 可选地,当资源分配装置拒绝为目标进程分配资源,即资源分配装置不为目标进 程分配资源时,可以输出提示信息,以提示资源分配发生错误,其中,该提示信息中可以包 括资源分配发生错误的原因,如可用资源不足等。
[0082] 在一种实施方式中,资源分配装置可以统计单位时间(该单位时间可以根据实际 应用场景设置,如半小时、一小时等)内各业务进程的资源占用量,并根据所统计的各业务 进程的资源占用量维护各业务进程的资源占用历史记录。例如,资源分配装置可以每隔单 位时间统计一次各业务进程的资源占用量,并根据所统计的各业务进程的资源占用量维护 对应的资源占用历史记录表,该资源占用历史记录表中可以包括但不限于上一个单位时间 内的资源占用量,如过去一小时的资源占用量等。
[0083] 基于所维护的资源占用历史记录,资源分配装置可以将最近一次统计的单位时间 内目标进程在目标context内的资源占用量作为该目标进程在该目标context内当前占用 的资源量。
[0084] 进一步地,在本发明实施例中,资源分配装置维护的资源占用历史记录中还可以 包括第一预设时间内的单位时间资源占用平均值、第一预设时间内的单位时间资源占用最 高值、第二预设时间内的单位时间资源占用平均值、第二预设时间内的单位时间资源占用 最高值等。其中,单位时间小于第一预设时间,第一预设时间小于第二预设时间。
[0085] 举例来说,假设单位时间为一小时,第一预设时间为一天,第二预设时间为一个 月,资源分配装置以资源占用历史记录表的方式维护各业务进程的资源占用历史记录,则 该资源占用历史记录表中可以包括过去一小时的资源占用量、过去一天内资源占用的平均 值(以一小时作为单位时间进行平均,下同)、过去一天内资源占用的最高值(即过去一天 内每小时资源占用量的最高值)、过去一个月内资源占用的平均值、过去一个月内资源占用 的最高值等,其中,该资源占用历史记录表可以如表2所示:
[0086] 表 2
[0087]
[0088] 本发明实施例中,资源分配装置可以根据所维护的资源占用历史记录设置业务进 程的资源分配上限。例如,对于某业务进程,可以将该业务进程在目标context内过去一天 内资源占用的最高值设置为该业务进程在目标context内的资源分配上限,或将该业务进 程在目标context内过去一个月内资源占用的最高值设置为该业务进程在目标context内 的资源分配上限等,其具体实现在此不再赘述。
[0089] 在一种实施方式中,资源分配装置从目标进程在目标context内的预留资源中为 目标进程分配与请求分配的资源量等量的资源之后,还可以更新该目标进程的资源占用历 史记录。
[0090] 步骤205、判断请求分配的资源量是否大于目标context的可用资源量。若是,转 至步骤206 ;否则,转至步骤207。
[0091] 步骤206、判断目标context内是否存在低优先级进程,该低优先级进程的优先级 低于该业务进程号对应的目标进程的优先级。若是,转至步骤207 ;否则,结束当前流程。
[0092] 步骤207、释放低优先级进程占用的目标context的资源,直至释放后的目标 context的可用资源量大于或等于请求分配的资源量。
[0093] 步骤208、从目标context的可用资源中,为目标进程分配与请求分配的资源量等 量的资源。
[0094] 本发明实施例中,步骤205~步骤208的具体实现,可以参见上述步骤102~步骤 105中的相关描述,本发明实施例在此不再赘述。
[0095] 需要注意的是,当context内存在预留资源时,若目标进程在目标context内不存 在预留资源,则对于该目标进程而言,目标context内的可用资源等于目标context内的非 预留资源总量(目标context内的资源总量与预留资源总量的差值)与目标context内当 前已被占用的非预留资源的差值。
[0096] 举例来说,以资源为内存为例,假设目标context内内存总量为100M,预留内存总 量为20M,且目标进程在目标context内不存在预留内存,则该目标context的非预留资源 总量为80M(100M-20M = 80M),若某一时刻,该目标context内的非预留资源中被占用20M, 则对于目标进程而言,该目标context内的可用资源量等于60M (80M-20M = 60M)。
[0097] 值得说明的是,在本发明实施例中,对于配置有预留资源的业务进程,可以为其设 置最高的优先级或默认其优先级最高,此时,资源分配装置也可以不为该配置有预留资源 的业务进程指定资源分配上限,进而,当该配置有预留资源的业务进程请求分配资源时,资 源分配装置可以按照图1所示的方法流程进行处理。
[0098] 进一步地,在本发明实施例中,资源分配装置从目标context的可用资源中为目 标进程分配与请求分配的资源量等量的资源之后,还可以更新该目标进程的资源占用历史 记录。
[0099] 可见,在图2所描述的方法流程中,通过为context内的特定业务进程(如关键业 务进程)配置预留资源,该预留资源专门用于分配给该特定业务进程,从而能够进一步保 证context内特定业务进程的资源占用成功率。
[0100] 请参见图3,为本发明实施例提供的另一种资源分配方法的流程示意图,如图3所 示,该资源分配方法可以包括以下步骤:
[0101] 步骤301、接收资源分配请求,该资源分配请求中包括context索引、业务进程号、 以及请求分配的资源量。
[0102] 本发明实施例中,当某context内的某业务进程开始运行时,该业务进程需要向 资源分配装置发送资源分配请求,以请求分配资源;其中,该资源分配请求中可以包括但不 限于用于标识该业务进程所在context的context索引,用于标识该业务进程的业务进程 号,以及该业务进程请求分配的资源量。
[0103] 步骤302、判断目标进程在目标context内当前占用的资源量与请求分配的资源 量二者之和是否大于目标进程在目标context内的预设资源分配上限;若是,结束当前流 程;否则,转至步骤303。
[0104] 本发明实施例中,为了降低context内出现部分先运行的业务进程占用资源过 多,导致其它业务进程无法占用资源的情况发生的概率,可以预先为context内部分或全 部业务进程设置资源分配上限(即预设资源分配上限),context内该部分或全部业务进程 占用的context的资源不能超过对应的预设资源分配上限。
[0105] 举例来说,假设context内包括NAT业务进程、Session业务进程等业务进程, 且NAT业务进程的预设资源分配上限为10%,Session业务进程的预设资源分配上限为 8%,则NAT业务进程在该context内占用的资源量不能超过该context资源总量的10%, Session业务进程的在该context内占用的资源量不能超过该context资源总量的8%,而 对于未设置资源分配上限的业务进程,其可占用的资源量则由context内的可用资源量确 定。
[0106] 在一种实施方式中,资源分配装置为业务进程设置资源分配上限也可以通过预留 资源的方式实现,即对于某些业务进程,如关键业务进程,资源分配装置为其设置的资源 分配上限可以为资源分配装置为该业务进程配置的预留资源。例如,当资源分配装置在 context 1内为业务进程1配置10%的预留资源时,可以认为业务进程1在context 1内 的资源分配上限为10%。
[0107] 在该实施方式中,其资源分配方式可以参见图2所示的方法流程中的相关描述, 本发明实施例在此不再赘述。
[0108] 本发明实施例中,资源分配装置接收到资源分配请求时,可以根据该资源分配请 求中包括的context索引以及业务进程号,获取该业务进程号对应的业务进程(即目标进 程)在该context索引对应的context (即目标context)内的预设资源分配上限,并判断 该目标进程在目标context内当前占用的资源量与请求分配的资源量二者之和是否大于 目标进程在目标context内的预设资源分配上限。
[0109] 其中,资源分配装置获取目标进程在目标context内当前占用的资源量的实现方 式可以参见图2所示的方法流程中的相关描述,本发明实施例在此不再赘述。
[0110] 本发明实施例中,当资源分配装置确定目标进程在目标context内当前占用的资 源与请求分配的资源量二者之和大于目标进程在目标context内的预设资源分配上限时, 资源分配装置可以拒绝为该目标进程分配资源,或按照其它资源分配策略进行资源分配, 本发明实施例对此不做限定。
[0111] 可选地,当资源分配装置拒绝为目标进程分配资源,即资源分配装置不为目标进 程分配资源时,可以输出提示信息,以提示资源分配发生错误,其中,该提示信息中可以包 括资源分配发生错误的原因,如需要占用的资源超过资源分配上限等。
[0112] 当资源分配装置确定目标进程在目标context内当前占用的资源与请求分配的 资源量二者之和小于或等于目标进程在目标context内的预设资源分配上限时,资源分配 装置可以执行步骤303~步骤306。
[0113] 步骤303、判断请求分配的资源量是否大于目标context的可用资源量。若是,转 至步骤304 ;否则,转至步骤306。
[0114] 步骤304、判断目标context内是否存在低优先级进程,该低优先级进程的优先级 低于该业务进程号对应的目标进程的优先级。若是,转至步骤207 ;否则,结束当前流程。
[0115] 步骤305、释放低优先级进程占用的目标context的资源,直至释放后的目标 context的可用资源量大于或等于请求分配的资源量。
[0
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1