资源分配方法及装置与流程

文档序号:13363030阅读:247来源:国知局

本公开涉及计算机技术领域,尤其涉及一种资源分配方法及装置。



背景技术:

网络功能虚拟化(nfv)是一种采用通用硬件及虚拟化技术来实现多功能软件处理的技术,其可以通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件。通用硬件可以作为基于nfv技术的网元设备(vnf网元),通常需要通过vnf管理系统或模块对vnf网元进行资源池化的统一管理。

虚拟化宽带远程接入服务器管理和编排系统(virtualbroadbandremoteaccessserverserviceorchestration,vbrasso)是一种vbras的管理和编排系统。vbrasso基于vnf管理模块,结合sdn自有成熟的业务特性,能够提供vbras资源池的创建、管理、运维以及业务编排等mano(managementandorchestration,管理和编排)功能,主要用于为运营商提供vbras资源池按需获取和快速交付的能力。vbrasso的主要功能包括:vbras生命周期管理、vbras资源池化管理、vbras状态管理、vbras配置管理、vbras业务编排、vbras运维管理、vbras业务排障、物理设备管理、网络资源管理(ip地址、vxlan隧道等)。

在创建vbras的过程中,vbrasso需要为vbras分配多种系统资源,以使vbras能够承载业务。然而,在相关技术中,在创建的vbras数量大于系统资源数量时,可能存在多个vbras分别获得部分系统资源而无法承载业务的情况,造成了系统资源的浪费。



技术实现要素:

有鉴于此,本公开提出了一种资源分配方法及装置。

根据本公开的一方面,提供了一种资源分配方法,所述方法应用于虚拟化宽带远程接入服务器管理和编排系统vbrasso中,所述方法包括:

向处于配置状态的vbras下发模板配置资源,并将分配到所述模板配置资源的vbras的状态由配置状态迁移到不可用状态;

当检测到vbras处于不可用状态时,向处于不可用状态的vbras下发隧道资源;

当检测到所述vbras处于所述不可用状态的时间大于或等于时间阈值时,确定所述vbras未被成功下发所述隧道资源,则控制所述vbras释放所述模板配置资源。

根据本公开的另一方面,提供了一种资源分配装置,所述装置应用于虚拟化宽带远程接入服务器管理和编排系统vbrasso中,所述装置包括:

第一资源下发模块,用于向处于配置状态的vbras下发模板配置资源,并将分配到所述模板配置资源的vbras的状态由配置状态迁移到不可用状态;

第二资源下发模块,用于当检测到vbras处于不可用状态时,向处于不可用状态的vbras下发隧道资源;

资源释放模块,用于当检测到所述vbras处于所述不可用状态的时间大于或等于时间阈值时,确定所述vbras未被成功下发所述隧道资源,则控制所述vbras释放所述模板配置资源。

根据本公开的另一方面,提供了一种虚拟化宽带远程接入服务器管理和编排系统vbrasso,所述vbrasso包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行如上所述的资源分配方法

根据本公开实施例的资源分配方法及装置,能够监测已创建的vbras处于不可用状态的时间,并在时间大于或等于时间阈值时释放模板配置资源,使得资源能够被再次分配,提高了系统资源的利用率。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1是根据相关技术的一个示例性应用场景的vbrasso组网架构的示意图。

图2是根据相关技术的交换机的状态迁移的示意图。

图3是根据相关技术的vbras的状态迁移的示意图。

图4是根据相关技术的vbrasso的业务流程的示意图。

图5是根据一示例性实施例示出的一种资源分配方法的流程图。

图6是根据一示例性实施例示出的一种资源分配方法的流程图。

图7是根据一示例性实施例示出的一种资源分配方法的流程图。

图8是根据一示例性实施例示出的一种资源分配方法的vbras状态迁移的示意图。

图9是根据一示例性实施例示出的一种资源分配的业务流程的示意图。

图10是根据一示例性实施例示出的一种资源分配装置的框图。

图11是根据一示例性实施例示出的一种资源分配装置的框图。

图12是根据一示例性实施例示出的一种资源分配装置的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

在相关技术中,vbrasso可以管理多种应用场景,下面以vxlan(虚拟以太网)场景为例来进行说明。

图1是根据相关技术的一个示例性应用场景的vbrasso组网架构的示意图。如图1所示,在相关技术中,vxlan场景的vbrasso组网架构可以包括:vbrasso11、多个vbras12,vxlan交换机13以及用户客户端14。其中,多个vbras12中可以包括例如图1中的vbras121、122及123。vxlan交换机13(也即pop交换机)可以和用户客户端14相连接,同时与vbras的下行口之间建立vxlan隧道15。vxlan交换机13可以将不同vxlan的用户流量送到指定的vxlan隧道15中。vbras则负责将vxlan交换机13送来的vxlan报文解封装后进行相应处理。在该应用场景中,vbrasso11需要管理三类资源,分别是多个vbras12的相关资源,也可称为虚机资源池,vxlan交换机13的相关资源以及vxlan隧道15的相关资源。

在该应用场景中,vbrasso11在添加pop交换机(vxlan交换机13)时,可以只进行netconf协议(基于xml的网络配置协议)连接,并不下发配置。pop交换机的添加是指,通过在vbrasso上输入pop交换机的ip地址,netconf协议的用户名和密码,让vbrasso可以对交换机进行管理。pop交换机添加(纳入vbrasso的管理)以后,可以建立针对pop交换机的状态机,对pop交换机的状态进行迁移。

图2是根据相关技术的交换机的状态迁移的示意图。如图2所示,在该状态机中,在vbrasso上添加pop交换机(pop交换机纳入vbrasso的管理)后,处于配置(configure)状态;在netconf连接成功时,pop交换机的状态迁移到不可用(unavailable)状态;在隧道资源下发成功时,pop交换机的状态迁移到可用(available)状态;在交换机异常或隧道资源需要重新下发时,pop交换机的状态迁移到不可用(unavailable)状态。系统会为pop交换机创建一个单独的线程来维护这个状态机。

图3是根据相关技术的vbras的状态迁移的示意图。在该应用场景中,虚机资源池中可以包括ip地址资源池。ip地址资源池关联模板(其中,该模板可以例如包括vbras中必要的一些配置,包括接口名称和数量,接口和ip地址资源池的关联,路由配置,接入方式等)后可以形成模板配置资源,可以将该模板配置资源下发给vbras,以便为用户接入提供必要的资源。每创建一个vbras,系统都会创建一个单独的线程来维护该vbras的状态机。可以按如图3所示的状态机进行状态迁移。当vbras创建后处于配置(configure)状态;在netconf连接可用,且模板配置资源下发成功时,vbras的状态迁移到不可用(unavailable)状态;在隧道资源下发成功时,vbras的状态迁移到初始化(initial)状态;在交换机与该vbras之间的vxlan隧道接口启用(up)时,vbras的状态迁移到可用(available)状态,开始为用户提供服务;在vbras异常时,vbras的状态迁移到不可用(unavailable)状态。并且,当vbras的状态处于可用(available)状态时,如果出现过载情况,则vbras的状态可以迁移到过载(overload)状态;在进行过载恢复后,vbras的状态可以迁移到可用(available)状态。

在该应用场景中,vxlan隧道15可以包括建立隧道所需要的资源,例如隧道两端的ip地址及接口编号,隧道一端位于vbras上,另一端位于vxlan交换机13上。想要使得vxlan业务运行起来,需要再创建一个服务实例,再将上述三类资源(多个vbras12的资源、vxlan交换机13的资源以及vxlan隧道15的资源)在服务实例下进行绑定,也就是要将vxlan隧道资源(vxlan隧道15)分发到vxlan交换机13和vbras上,使vxlan交换机13和vbras之间建立起可以正常通信的vxlan隧道。这样,vbras在同时获得模板配置资源和隧道资源的情况下,可以承载业务。其中,在vbras、vxlan交换机13以及vxlan隧道15相关联的情况下,可以构成一个完整的服务实例。

在该应用场景中,vbrasso可以是基于多线程的架构,主线程负责处理主业务流程,并可以创建子线程来处理vbras及交换机的业务。如上所述,每当创建一个新的vbras或者添加交换机时,主线程会给每个vbras以及每个交换机分别创建一个单独的线程来维护它们的状态机。

图4是根据相关技术的vbrasso的业务流程的示意图。主线程和子线程的关系以及业务流程可以如图4所示,其中,主线程负责分配资源和创建服务实例,并为vxlan交换机和vbras分别新起子线程。服务实例下绑定的是虚机资源池(可以例如描述为域(domain)),虚机资源池中包括有一个或多个vbras的资源信息,而虚机资源池下的一个或多个vbras是可以任意添加和删除的。因此vbras的创建,跟服务实例与虚机资源池的绑定之间并没有先后关系。在图5中,vbras1是在服务实例绑定之前创建的,vbras2是在服务实例绑定之后创建的。对于vbras1和vbras2来说,都需要经历创建和配置下发两个过程。vbras1和vbras2创建的过程是在主线程中调用vnf接口来完成的,配置下发的过程伴随着vbras的状态迁移(例如,如上所述的vbras状态机,vbras的状态可以实现配置(configure)状态->不可用(unavailable)状态->初始化(initial)状态->可用(available)状态的状态迁移),状态迁移是在vbras1和vbras2自己的子线程中完成的。

按照图4中的配置流程,有两处需要进行配置下发。一处是模板配置资源的配置,另一处是隧道资源的配置。只有当这两处配置都正确下发到vbras后,才能正常建立vxlan隧道并进行后续业务。从vbras的状态机中我们可以看到,模板配置资源的下发是在配置(configure)阶段,如果下发失败,vbras将停留在配置(configure)状态无法迁移到不可用(unavailable)状态;当模板配置资源下发成功后,将迁移到不可用(unavailable)状态开始下发隧道资源;如果隧道资源的下发失败,vbras会停留在不可用(unavailable)状态无法迁移到初始化(initial)状态。

如图4所示,对于隧道资源的配置,虽然是在不可用(unavailable)阶段下发,但是从图4中可以看到,在创建vbras2的子线程之前,主线程就已经将隧道资源分配给vbras2了。也就是说,vbras和服务实例都创建好以后,隧道资源就已经分配给确定的vbras了,在vbras子线程中,当状态机运行到不可用(unavailable)状态后,子线程只是负责取出主线程中已分配好的隧道资源,下发给对应的vbras。然而,当隧道资源和模板配置资源不够时,如果有多个vbras在同一时间创建,就有可能出现有的vbras分到隧道资源,而有的vbras分到模板配置资源的情况,这些vbras的配置不全,对于vxlan业务来说都是不可用的。

图5是根据一示例性实施例示出的一种资源分配方法的流程图。该方法可应用于虚拟化宽带远程接入服务器管理和编排系统vbrasso中。如图5所示,根据本公开实施例的资源分配方法包括:

步骤s11,向处于配置状态的vbras下发模板配置资源,并将分配到所述模板配置资源的vbras的状态由配置状态迁移到不可用状态;

步骤s12,当检测到vbras处于不可用状态时,向处于不可用状态的vbras下发隧道资源;

步骤s13,当检测到所述vbras处于所述不可用状态的时间大于或等于时间阈值时,确定所述vbras未被成功下发所述隧道资源,则控制所述vbras释放所述模板配置资源。

根据本公开的实施例,能够监测已创建的vbras处于不可用状态的时间,并在时间大于或等于时间阈值时释放模板配置资源,使得资源能够被再次分配,提高了系统资源的利用率。

举例来说,vbrasso在创建vbras时,可以创建vbras的子线程,并进入vbras的状态机。当vbras的状态进入配置(configure)状态时,vbrasso可以向处于配置状态的vbras下发模板配置资源;在netconf连接可用,且模板配置资源下发成功时,vbras的状态迁移到不可用(unavailable)状态。当vbrasso检测到vbras处于不可用状态时,可以向处于不可用状态的vbras下发隧道资源。

在一种可能的实现方式中,如果vbras无法获得隧道资源,则vbras的状态会停留在不可用(unavailable)状态。此时,可能的情况是系统的模板配置资源和隧道资源不足,模板配置资源被当前vbras获得,而隧道资源被其他vbras获得。

在一种可能的实现方式中,当已创建的vbras(例如vbras3)的状态迁移到不可用(unavailable)状态时,vbrasso可以检测vbras处于不可用状态的时间。如果vbras处于不可用状态的时间大于或等于时间阈值,则可以认为系统中的隧道资源不足,无法获得隧道资源。

在一种可能的实现方式中,该时间阈值可以例如为多个检测周期,其中,该检测周期是vbras的子线程对资源池中的可用资源进行检测的时间周期,也即,每间隔一个检测周期,vbras的子线程检测资源池中是否具有可用资源(模板配置资源或隧道资源)。该检测周期可以例如为20秒。应当理解,时间阈值只要大于检测周期即可,本公开对时间阈值的具体取值不作限定。

在一种可能的实现方式中,,vbras会定时检测对应的资源池中是否有新的被释放的隧道资源或者模板配置资源,由于无法获取到隧道资源或者模板配置资源的vbras至少为两个,因此至少需要两个检测周期才能确定vbras是否被成功下发隧道资源,因而优选的实施方式为,该时间阈值为两个检测周期。

但应当理解,时间阈值只要大于检测周期即可,本公开对时间阈值的具体取值不作限定。

在一种可能的实现方式中,如果vbras处于不可用状态的时间大于或等于时间阈值,则可以确定该vbras未被成功下发所述隧道资源,可以控制该vbras释放已获得的模板配置资源。在该情况下,由于当前的vbras无法获得隧道资源,释放已获得的模板配置资源可以使得该模板配置资源重新回到系统资源池中。在到达下一个检测周期时,当前vbras以及未获得模板配置资源的其他vbras均可以再次获取该模板配置资源。如果未获得模板配置资源的其他vbras已获得了隧道资源,则当该其他vbras获得模板配置资源时,可以实现从配置(configure)状态->不可用(unavailable)状态->初始化(initial)状态->可用(available)状态的状态迁移,从而使得该其他vbras进入可用(available)状态承载业务。通过这种方式,使得资源能够被再次分配,提高了系统资源的利用率。

图6是根据一示例性实施例示出的一种资源分配方法的流程图。如图6所示,在一种可能的实现方式中,所述方法还包括:

步骤s14,当检测到存在被释放的模板配置资源时,向处于配置状态的vbras下发被释放的模板配置资源。

举例来说,如果当前的vbras释放了已获得的模板配置资源,则该模板配置资源可以重新回到系统资源池中。在到达下一个检测周期时,vbrasso检测到存在被释放的模板配置资源时,可以向处于配置状态的vbras下发被释放的模板配置资源。在该情况下,当前vbras(处于配置状态)以及未获得模板配置资源的其他vbras(处于配置状态)均可以再次获取该模板配置资源。如果未获得模板配置资源的其他vbras已获得了隧道资源,则当该其他vbras获得模板配置资源时,可以实现从配置(configure)状态->不可用(unavailable)状态->初始化(initial)状态->可用(available)状态的状态迁移,从而使得该其他vbras进入可用(available)状态承载业务。

图7是根据一示例性实施例示出的一种资源分配方法的流程图。如图7所示,在一种可能的实现方式中,所述方法还包括:

步骤s15,在所述vbras释放所述模板配置资源时,控制所述vbras的状态由所述不可用状态迁移到配置状态。

举例来说,如果vbras释放了已获得的模板配置资源,则可以使得vbras从不可用状态(unavailable)返回到配置(configure)状态,等待新的资源(模板配置资源和隧道资源)。在到达下一个检测周期时,该vbras可以再次获取新的模板配置资源和隧道资源。通过这种方式,在释放模板配置资源时进行状态迁移,使得vbras能够再次获取系统资源。

图8是根据一示例性实施例示出的一种资源分配方法的vbras状态迁移的示意图。如图8所示,在创建vbras时,在分配到所述模板配置资源之前,vbras一直处于配置状态。如图7所示,如果netconf连接可用,模板配置资源下发成功,则可以使vbras的状态由配置状态迁移到不可用状态,从而实现vbras的状态迁移过程。

在一种可能的实现方式中,如果vbras处于不可用状态(unavailable)的状态停留时间超过例如2个检测周期,则可以释放之前已分配到的模板配置资源,并且使得vbras从不可用状态(unavailable)返回到配置(configure)状态,从而实现了本公开的状态迁移过程。

应用示例

以下给出根据本公开实施例的应用示例,以便于理解资源分配的流程。本领域技术人员应理解,以下应用示例仅仅是出于便于理解本公开实施例的目的,不应视为对本公开实施例的限制。

图9是根据一示例性实施例示出的一种资源分配的业务流程的示意图。如图9所示,在该应用示例中,主线程可以调用vnf接口分别创建两个vbras,例如vbras3和vbras4,并分别创建vbras3和vbras4的子线程,分别进入vbras3和vbras4的状态机。并且,在主线程之前创建vbras时,将剩余的隧道资源已经分配给了vbras4。

在该应用示例中,vbras3和vbras4均进入配置(configure)状态,vbrasso的主线程可以向处于配置状态的vbras3和vbras4下发模板配置资源。如果vbras3获取到模板配置资源,则vbras3的状态由配置(configure)状态迁移到不可用(unavailable)状态。当检测到vbras3处于不可用状态时,vbrasso的主线程可以向处于不可用状态的vbras3下发隧道资源。但如果系统中已没有隧道资源,则vbras3会由于获取不到隧道资源而停留在不可用(unavailable)状态。同时,如果系统中已没有模板配置资源,则vbras4会由于获取不到模板配置资源而停留在配置(configure)状态。然而,vbras要正常工作,需要同时获得模板配置资源和隧道资源,仅获得模板配置资源的vbras3和仅获得隧道资源的vbras4都无法承载业务,导致资源浪费。

在该应用示例中,可以在vbras3线程检测vbras3处于不可用状态(unavailable)的停留时间。如果未超过时间阈值(例如2个检测周期),则继续等待;如果超过时间阈值(例如2个检测周期),则可以释放模板配置资源,使得该模板配置资源重新回到系统资源池(数据库)中。这样,在到达下一个检测周期时,vbras3和vbras4均可以再次获取该模板配置资源。

在该应用示例中,如果vbras4获取到vbras3释放的该模板配置资源,则可以从配置(configure)状态迁移到不可用(unavailable)状态;进而,从系统资源池获得已分配的隧道资源,实现不可用(unavailable)状态->初始化(initial)状态->可用(available)状态的状态迁移。从而,完成了vbras4的整个创建过程,vbras4能够承载业务。

在该应用示例中,vbras3释放该模板配置资源后,可以从不可用(unavailable)状态迁移到配置(configure)状态,使得vbras3能够再次获取系统资源(模板配置资源)。

通过这种方式,在两个及以上的vbras子线程之间实现资源的释放和重新获取,使得隧道资源和模板配置资源的分配能够保持同步。在资源有限的情况下,确保尽可能多的可用vbras来承载业务,提高了资源利用率。

图10是根据一示例性实施例示出的一种资源分配装置的框图。如图10所示,该装置应用于虚拟化宽带远程接入服务器管理和编排系统vbrasso中,该资源分配装置包括:

第一资源下发模块91,用于向处于配置状态的vbras下发模板配置资源,并将分配到所述模板配置资源的vbras的状态由配置状态迁移到不可用状态;

第二资源下发模块92,用于当检测到vbras处于不可用状态时,向处于不可用状态的vbras下发隧道资源;

资源释放模块93,用于当检测到所述vbras处于所述不可用状态的时间大于或等于时间阈值时,确定所述vbras未被成功下发所述隧道资源,则控制所述vbras释放所述模板配置资源。

图11是根据一示例性实施例示出的一种资源分配装置的框图。如图11所示,在一种可能的实现方式中,所述装置还包括:

第三资源下发模块94,用于当检测到存在被释放的模板配置资源时,向处于配置状态的vbras下发被释放的模板配置资源。

如图11所示,在一种可能的实现方式中,所述装置还包括:

状态迁移模块95,用于在所述vbras释放所述模板配置资源时,控制所述vbras的状态由所述不可用状态迁移到配置状态。

在一种可能的实现方式中,所述时间阈值为多个检测周期,其中,所述检测周期是所述vbras对资源池中的可用资源进行检测的周期。

在一种可能的实现方式中,所述时间阈值为两个检测周期。

根据本公开的实施例,能够监测已创建的vbras处于不可用状态的时间,并在时间大于或等于时间阈值时释放模板配置资源,使得资源能够被再次分配,提高了系统资源的利用率。

图12是根据一示例性实施例示出的一种资源分配装置900的框图。参照图12,该装置900可包括处理器901、存储有机器可执行指令的机器可读存储介质902。处理器901与机器可读存储介质902可经由系统总线903通信。并且,处理器901通过读取机器可读存储介质902中与资源分配逻辑对应的机器可执行指令以执行上文所述的资源分配方法。

根据本公开实施例的资源分配方法包括:

步骤s11,向处于配置状态的vbras下发模板配置资源,并将分配到所述模板配置资源的vbras的状态由配置状态迁移到不可用状态;

步骤s12,当检测到vbras处于不可用状态时,向处于不可用状态的vbras下发隧道资源;

步骤s13,当检测到所述vbras处于所述不可用状态的时间大于或等于时间阈值时,确定所述vbras未被成功下发所述隧道资源,则控制所述vbras释放所述模板配置资源。

在一种可能的实现方式中,所述方法还包括:

步骤s14,当检测到存在被释放的模板配置资源时,向处于配置状态的vbras下发被释放的模板配置资源。

在一种可能的实现方式中,所述方法还包括:

步骤s15,在所述vbras释放所述模板配置资源时,控制所述vbras的状态由所述不可用状态迁移到配置状态。

在一种可能的实现方式中,所述时间阈值为多个检测周期,其中,所述检测周期是所述vbras对资源池中的可用资源进行检测的时间周期。

在一种可能的实现方式中,所述时间阈值为两个检测周期。

本文中提到的机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1