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

文档序号:9827990阅读:305来源:国知局
一种资源分配方法和装置的制造方法
【技术领域】
[0001] 本发明涉及网络通信技术领域,尤其涉及一种资源分配方法和装置。
【背景技术】
[0002] 通过虚拟化技术可以将一台物理防火墙划分成多台逻辑防火墙,每台逻辑防火墙 就称为一个Context。对于用户来说,每个Context就是一台独立的防火墙,方便管理和维 护;对于管理者来说,可以将一台物理设备虚拟成多台逻辑设备供不同的分支机构使用,可 以保护现有投资,提高组网灵活性。
[0003] 如果设备上创建了多个Context,这些Context会共享物理防火墙的资源,比如 CPU、内存、磁盘等,为了防止一个Context过多的占用资源,而导致其它Context无法运行, 需要限制Context对资源的使用。

【发明内容】

[0004] 本发明提供一种资源分配方法和装置,以控制context内业务进程的资源占用。
[0005] 根据本发明实施例的第一方面,提供一种资源分配方法,包括:
[0006] 接收资源分配请求,所述资源分配请求中包括context索引、业务进程号、以及请 求分配的资源量;
[0007] 判断所述请求分配的资源量是否大于所述context索引对应的目标context的可 用资源量;
[0008] 若是,判断所述目标context内是否存在低优先级进程,所述低优先级进程的优 先级低于所述业务进程号对应的目标进程的优先级;
[0009] 若存在,释放所述低优先级进程占用的所述目标context的资源,直至释放后的 所述目标context的可用资源量大于或等于所述请求分配的资源量;
[0010] 从所述目标context的可用资源中,为所述目标进程分配与所述请求分配的资源 量等量的资源。
[0011] 根据本发明实施例的第二方面,提供一种资源分配装置,包括:
[0012] 接收单元,用于接收资源分配请求,所述资源分配请求中包括context索引、业务 进程号、以及请求分配的资源量;
[0013] 判断单元,用于判断所述请求分配的资源量是否大于所述context索引对应的目 标context的可用资源量;
[0014] 所述判断单元,还用于当所述请求分配的资源量大于所述目标context的可用资 源量时,判断所述目标context内是否存在低优先级进程,所述低优先级进程的优先级低 于所述业务进程号对应的目标进程的优先级;
[0015] 释放单元,用于当所述目标context内存在低优先级进程时,释放所述低优先级 进程占用的所述目标context的资源,直至释放后的所述目标context的可用资源量大于 或等于所述请求分配的资源量;
[0016] 分配单元,用于从所述目标context的可用资源中,为所述目标进程分配与所述 请求分配的资源量等量的资源。
[0017] 应用本发明实施例,通过为context内的业务进程设置优先级,当高优先级的业 务进程需要占用context的资源,而context的可用资源不足时,可以释放低优先级的业务 进程占用的资源,从而能够使资源占用细化到业务粒度,保证context内特定业务进程的 资源占用成功率,提高资源分配的灵活性。
【附图说明】
[0018] 图1是本发明实施例提供的一种资源分配方法的流程示意图;
[0019] 图2是本发明实施例提供的另一种资源分配方法的流程示意图;
[0020] 图3是本发明实施例提供的另一种资源分配方法的流程示意图;
[0021] 图4是本发明实施例提供的一种具体应用场景的不意图;
[0022] 图5是本发明实施例提供的一种资源分配装置的结构示意图;
[0023] 图6是本发明实施例提供的另一种资源分配装置的结构示意图。
【具体实施方式】
[0024] 如果设备上创建了多个Context,这些Context会共享物理防火墙的资源,比如 CPU、内存、磁盘等,为了防止一个Context过多的占用资源,而导致其它Context无法运行, 需要限制Context对资源的使用。
[0025] 当前支持通过指定context的资源占用上限的方式来限制context对资源的使 用。以内存为例,当前系统有context a、context b,内存分配上限分别为40%,40%, context a占用内存到达40%后,context a再有业务申请内存时,将内存申请失败。
[0026] 然而实践发现,上述资源占用控制方案中,只能从context粒度实现资源占用的 控制,而无法控制context内业务进程的资源占用。
[0027] 为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实 施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方 案作进一步详细的说明。
[0028] 请参见图1,为本发明实施例提供的一种资源分配方法的流程示意图,如图1所 示,该资源分配方法可以包括以下步骤:
[0029] 步骤101、接收资源分配请求,该资源分配请求中包括context索引、业务进程号、 以及请求分配的资源量。
[0030] 本发明实施例中,上述方法的执行主体可以为资源分配装置,该资源分配装置可 以应用于物理防火墙(或称为硬件防火墙)或配置有物理防火墙的设备,该物理防火墙通 过虚拟化技术被划分为多个context。
[0031] 本发明实施例中,当某context内的某业务进程开始运行时,该业务进程需要向 资源分配装置发送资源分配请求,以请求分配资源;其中,该资源分配请求中可以包括但不 限于用于标识该业务进程所在context的context索引,用于标识该业务进程的业务进程 号,以及该业务进程请求分配的资源量。
[0032] 本发明实施例中,资源可以包括硬件资源或软件资源,其中,硬件资源可以包括但 不限于内存、CPU(Center Process Unit,中央处理单元)、或磁盘空间等;软件资源可以包 括但不限于会话数量或吞吐量等,本发明后续不再复述。
[0033] 步骤102、判断该请求分配的资源量是否大于该context索引对应的目标context 的可用资源量;若判断为是,转至步骤103 ;否则,转至步骤105。
[0034] 本发明实施例中,资源分配装置接收到资源分配请求之后,可以根据该资源分 配请求中包括的context索引确定该context索引对应的context (本文中称为目标 context)的可用资源量。
[0035] 在一种实施方式中,物理防火墙划分成的多个context可以拥有自己专属的资 源,相应地,在该实施方式中,目标context的可用资源量为目标context的资源总量与目 标context内当前已被占用的资源量的差值。
[0036] 举例来说,以资源为内存为例,假设目标context的内存总量为10M,该目标 context内当前已被占用的内存为5M,则该目标context的可用内存为5M(10M-5M = 5M)。
[0037] 在另一种实施方式中,物理防火墙划分成的多个context可以共享物理防火墙的 资源,相应地,在该实施方式中,若未指定各context的资源使用上限,则目标context的可 用资源量为物理防火墙的资源总量与物理防火墙当前已被占用的资源量的差值;若指定了 各context的资源使用上限,则目标context的可用资源量为该目标context的资源使用 上限与该目标context内当前已被占用的资源量的差值。
[0038] 举例来说,仍以资源为内存为例,假设物理防火墙的内存总量为100M,未指定各 context的内存使用上限,且该物理防火墙当前已被占用的内存为20M,则目标context的 可用内存为 80M(100M-20M = 80M)。
[0039] 又举例来说,仍以资源为内存为例,假设物理防火墙的内存总量为100M,指定目标 context的内存使用上限为40%,且该目标context内当前已被占用的内存为20M,则目标 context 的可用内存为 20M(100M*40% -20M = 20M)。
[0040] 本发明实施例中,资源分配装置确定目标context的可用资源量之后,可以判断 资源分配请求中包括的请求分配的资源量是否大于目标context的可用资源量。若大于, 则表明当前目标context没有足够的资源进行分配,资源分配装置可以执行步骤103~步 骤105 ;否则,表明当前context有足够的资源进行分配,资源分配装置可以执行步骤105。
[0041] 步骤103、判断目标context内是否存在低优先级进程,该低优先级进程的优先级 低于该业务进程号对应的目标进程的优先级。若是,转至步骤104 ;否则,结束当前流程。
[0042] 本发明实施例中,可以预先为context内的各业务进程设置优先级,进行资源分 配时,可以按照业务进程的优先级来分配。对同一时刻的业务处理请求,高优先级的业务进 程优先占用资源。
[0043] 优选地,在本发明实施例中,可以根据业务进程对应的业务的重要性(可以由用 户根据具体场景确定或根据其它策略确定)设置业务进程的优先级,其中,业务的重要性 越高,对应的业务进程的优先级越高,相应地,其占用资源的优先级也就越高,从而,可以有 效地保证在context内资源不足的情况下,比较重要的业务对应的业务进程能够优先占用 资源。
[0044] 本发明实施例中,当资源分配装置确定资源分配请求中包括的请求分配资源量大 于目标context的可用资源量,即目标context没有足够的资源进行分配时,资源分配装置 可以根据资源分配请求中包括的业务进程号获取该业务进程号对应的业务进程(本文中 称为目标进程)的优先级,并进一步判断目标context内是否存在优先级低于该目标进程 的优先级的业务进程(本文中称为低优先级进程),若存在,则执行步骤104~步骤10
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1