本发明涉及通信技术领域,尤其涉及一种资源共享方法和装置。
背景技术:
随着云计算、SDN(Software Defined Network,软件定义网络)、虚拟化等理念及技术的成熟,将原本网络设备上的网络功能提取出来虚拟化,并运行在通用的硬件平台上,业界称这种变化为NFV(Network Function Virtualisation,网络功能虚拟化)。NFV的目标是:使用通用性硬件以及虚拟化技术,来承载各种各样的网络软件功能,实现软件的灵活加载,在数据中心、广域网、园区网等各个位置灵活配置,使网络设备的功能不再依赖于专用硬件,资源可以充分灵活共享,加快网络部署和调整的速度,降低业务部署的复杂度。
目前,为了实现NFV功能,需要在NFV资源池中为每个租户创建一个NFV资源节点,由NFV资源节点对该租户的报文进行业务处理,并转发处理后的报文。但是,随着租户数量越来越多,需要在NFV资源池中创建大量NFV资源节点,每个租户占用一个NFV资源节点,由于NFV资源池中的NFV资源节点有限,随着租户数量的增多,可能导致无法为新租户分配NFV资源节点。
技术实现要素:
本发明提供一种资源共享方法,应用于控制器,所述方法包括:
确定租户的至少两个待配置业务;
确定第一待配置业务对应的各资源的预计使用量,所述第一待配置业务为所述至少两个待配置业务中的任一待配置任务;
获取预设的资源池中的资源节点的各资源的实际使用量;
从所述资源池中确定所述第一待配置业务对应的第一资源节点,所述第一资源节点的第一资源的实际使用量与所述第一待配置业务对应的第一资源的预计使用量之和小于所述第一资源对应的预设阈值,所述第一资源为所述各资源中的任一资源;
向所述第一资源节点下发所述第一待配置业务的业务配置。
本发明提供一种资源共享装置,应用于控制器,所述装置包括:
第一确定模块,用于确定租户的至少两个待配置业务;
第二确定模块,用于确定第一待配置业务对应的各资源的预计使用量,所述第一待配置业务为所述至少两个待配置业务中的任一待配置任务;
获取模块,用于获取预设的资源池中的资源节点的各资源的实际使用量;
第三确定模块,用于从所述资源池中确定所述第一待配置业务对应的第一资源节点,所述第一资源节点的第一资源的实际使用量与所述第一待配置业务对应的第一资源的预计使用量之和小于所述第一资源对应的预设阈值,所述第一资源为所述各资源中的任一资源;
发送模块,用于向所述第一资源节点下发所述第一待配置业务的业务配置。
基于上述技术方案,本发明实施例中,当需要为租户提供服务时,不是在资源池中为租户创建一个新资源节点,而是以租户的待配置业务为单位,将待配置业务的业务配置下发到已有的资源节点上,不同待配置业务的业务配置可以下发到相同的资源节点上,也可以下发到不同的资源节点上,从而充分利用已有的资源节点上的内存、CPU(Central Processing Unit,中央处理器)、带宽等硬件资源。而且多个租户可以共享一个资源节点,从而有效使用资源节点,可以为更多的租户分配资源节点。
附图说明
为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本发明一种实施方式中的应用场景示意图;
图2是本发明一种实施方式中的资源共享方法的流程图;
图3是本发明一种实施方式中的控制器的硬件结构图;
图4是本发明一种实施方式中的资源共享装置的结构图。
具体实施方式
在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本发明实施例中提出一种资源共享方法,以图1为本发明实施例的应用场景示意图,该资源共享方法可以应用于包括物理服务器、控制器(如SDN控制器等)、云平台、包含资源节点的资源池、二层交换机的网络中,如SDN网络。
在一个例子中,在物理服务器上可以配置虚拟机和虚拟交换机,如图1所示,在物理服务器A上配置了虚拟机1、虚拟机2和虚拟交换机1,在物理服务器B上配置了虚拟机3、虚拟机4和虚拟交换机2。此外,与物理服务器A连接的网络设备为二层交换机1,该二层交换机1用于将来自虚拟交换机1的报文发送到资源节点上。与物理服务器B连接的网络设备为二层交换机2,该二层交换机2用于将来自虚拟交换机2的报文发送到资源节点上。
在一个例子中,资源池中可以配置一个或者多个资源节点,且资源池中的资源节点数量可以动态调整,即可以创建新资源节点,也可以释放已有的资源节点。每个资源节点都是具有网络资源(如带宽资源)、计算资源(如CPU资源、内存资源等)、存储资源的节点,这些资源节点可以由虚拟机等实现。在一个例子中,资源池可以为NFV资源池,资源节点可以为NFV资源节点。其中,NFV也可以称为VNF(Virtualisation Network Function,虚拟网络功能)。
在一个例子中,可以通过云平台管理计算资源、存储资源以及网络资源,并由云平台为租户分配虚拟机。在另一个例子中,可以通过控制器管理计算资源、存储资源以及网络资源,并由控制器为租户分配虚拟机。例如,云平台/控制器在物理服务器A上为租户A分配虚拟机1、虚拟机2,在物理服务器B上为租户B分配虚拟机3、虚拟机4。
在一个例子中,当云平台/控制器在物理服务器A上为租户A分配虚拟机1、虚拟机2后,则控制器还可以为租户A分配资源节点。由于资源池中还没有创建资源节点,因此在资源池中创建一个资源节点1,并将资源节点1分配给租户A。这样,资源节点1就可以对租户A的报文(即针对虚拟机1的报文和针对虚拟机2的报文)进行业务处理,并转发业务处理后的报文。当云平台/控制器在物理服务器B上为租户B分配虚拟机3、虚拟机4后,则控制器还可以为租户B分配资源节点。假设控制器在资源池中创建一个资源节点2,并将资源节点2分配给租户B。这样,资源节点2就可以对租户B的报文(即针对虚拟机3的报文和针对虚拟机4的报文)进行业务处理,并转发业务处理后的报文。
在此基础上,当需要为新租户(如租户C)提供服务时,云平台/控制器可以在物理服务器(如物理服务器A)上为该租户分配虚拟机(如虚拟机5)。控制器还可以为该租户分配资源节点,针对为该租户分配资源节点的过程,参见图2所示,其为本发明实施例中的资源共享方法的流程图,可以应用于控制器。
步骤201,确定租户的至少两个待配置业务。
针对步骤201,在一个例子中,该待配置业务具体可以包括但不限于:NAT(Network Address Translation,网络地址转换)业务、VPN(Virtual Private Network,虚拟专用网络)业务、LB(Load Balance,负载均衡)业务。
针对“确定租户的至少两个待配置业务”的过程,在一个例子中,云平台可以接收租户配置的该租户对应的业务配置集合,并将该业务配置集合发送给控制器。在另一个例子中,控制器可以接收租户配置的该租户对应的业务配置集合。其中,该业务配置集合中包含至少两个待配置业务的业务配置,因此,可以基于该业务配置集合分析出租户的至少两个待配置业务。
步骤202,确定第一待配置业务对应的各资源的预计使用量,该第一待配置业务为所述至少两个待配置业务中的任一待配置任务。
针对步骤202,在一个例子中,针对“确定第一待配置业务对应的各资源的预计使用量”的过程,可以包括但不限于如下方式:确定第一待配置业务对应的业务配置数量,并确定第一待配置业务的一条业务配置所占用的各资源的预计使用量;利用所述业务配置数量以及所述一条业务配置所占用的各资源的预计使用量,确定第一待配置业务对应的各资源的预计使用量。
其中,针对第一待配置业务,可以根据实际经验配置一条业务配置所占用的各资源的预计使用量,该预计使用量是指一条业务配置占用资源的百分比,例如,该预计使用量可以为0.1%,表示一条业务配置占用该资源总量的0.1%。
步骤203,获取预设的资源池中的资源节点的各资源的实际使用量。
在一个例子中,所述各资源可以包括但不限于:ACL(Access Control List,访问控制列表)资源、CPU资源、带宽资源等。基于此,上述各资源的预计使用量可以包括但不限于:ACL资源的预计使用量、CPU资源的预计使用量、带宽资源的预计使用量。上述各资源的实际使用量可以包括但不限于:ACL资源的实际使用量、CPU资源的实际使用量、带宽资源的实际使用量。当然,上述过程只是以ACL资源、CPU资源、带宽资源为例进行说明,在实际应用中,还可以有其它资源,本发明实施例中对此其它资源不再详加赘述。
针对步骤203,在一个例子中,针对“获取预设的资源池中的资源节点的各资源的实际使用量”的过程,可以包括:控制器向资源池中的资源节点发送用于请求实际使用量的协议报文,并接收该资源节点返回的针对该协议报文的响应报文。控制器从该响应报文中解析出该资源节点当前的各资源的实际使用量。
其中,该协议报文可以包括但不限于:NETCONF(网络配置)报文或者SNMP(Simple Network Management Protocol,简单网络管理协议)报文,该响应报文也可以包括但不限于:NETCONF报文或者SNMP报文。
步骤204,从资源池中确定第一待配置业务对应的第一资源节点,第一资源节点的第一资源的实际使用量与第一待配置业务对应的第一资源的预计使用量之和小于第一资源对应的预设阈值,第一资源为所述各资源中的任一资源。
针对步骤204,在一个例子中,若某个资源节点的第一资源的实际使用量与第一待配置业务对应的第一资源的预计使用量之和,小于第一资源对应的预设阈值,则可以确定该资源节点为第一待配置业务对应的第一资源节点。若资源池中的每个资源节点的第一资源的实际使用量与第一待配置业务对应的第一资源的预计使用量之和,均不小于第一资源对应的预设阈值,则可以在资源池中创建新资源节点,并将新资源节点确定为第一待配置业务对应的第一资源节点。
步骤205,向第一资源节点下发第一待配置业务的业务配置。
在一个例子中,控制器将第一待配置业务的业务配置下发到第一资源节点之后,还可以记录该第一待配置业务与该第一资源节点的IP地址的映射关系。
在一个例子中,控制器在接收到虚拟交换机发送的报文时,若确定该报文是针对所述租户的报文(即该报文的源IP地址为控制器分配给该租户的IP地址),且确定该报文对应第一待配置业务,则利用该第一资源节点的IP地址生成控制流表,并将该控制流表发送给该虚拟交换机。虚拟交换机在本地存储该控制流表,并在接收到匹配到该控制流表的报文后,将该报文发送给该第一资源节点,由该第一资源节点对该报文进行第一待配置业务对应的处理。
以下结合图1所示的具体的应用场景,对本发明实施例的上述过程进行详细说明。
步骤1、控制器接收租户C配置的该租户C对应的业务配置集合。其中,该业务配置集合中包含至少两个待配置业务的业务配置。
步骤2、控制器将该业务配置集合中的所有业务配置,划分到多个业务配置子集合中,每个待配置业务对应一个业务配置子集合。例如,控制器将NAT业务的所有业务配置划分到业务配置子集合1,将VPN业务的所有业务配置划分到业务配置子集合2,将LB业务的所有业务配置划分到业务配置子集合3。
其中,在业务配置子集合1内包括多个NAT业务的业务配置,每个业务配置表示一个NAT转换业务,可以通过一个命令行表示一个业务配置。例如,将地址信息1转换为地址信息2、将地址信息3转换为地址信息4等业务配置。
在业务配置子集合2内包括多个VPN业务的业务配置,每个业务配置表示一个VPN处理业务,可以通过一个命令行表示一个业务配置。例如,采用加密算法1和封装算法1对IP地址A的报文进行VPN处理等业务配置。
在业务配置子集合3内包括多个LB业务的业务配置,每个业务配置表示一个LB处理业务,可以通过一个命令行表示一个业务配置。例如,采用基于智能域名解析、基于IP层的负载均衡算法对报文进行LB处理等业务配置。
当然,上述过程只是以NAT业务、VPN业务、LB业务为例进行说明,实际应用中还可以有其它待配置业务,本发明实施例中对此待配置业务不做限制。
步骤3、控制器从业务配置子集合中解析出待配置业务对应的业务配置数量,并确定该待配置业务的一条业务配置所占用的各资源的预计使用量。在一个例子中,针对每个待配置业务,可以根据实际经验配置一条业务配置所占用的各资源的预计使用量。该预计使用量是指一条业务配置占用资源的百分比。
步骤4、控制器利用该业务配置数量以及一条业务配置所占用的各资源的预计使用量,确定该待配置业务对应的各资源的预计使用量。
例如,对于确定待配置业务的一条业务配置所占用的各资源的预计使用量的过程,针对NAT业务,由于NAT业务需要下发大量的NAT转换表项,因此NAT业务占用的ACL资源较多,占用的CPU资源和带宽资源相对较少,可以配置一条业务配置所占用的ACL资源的预计使用量为0.1%(即10条业务配置占用1%的ACL资源),占用的CPU资源的预计使用量为0.04%,占用的带宽资源的预计使用量为0.04%。针对VPN业务,由于VPN业务需要进行加密处理和封装处理,而这些处理会占用大量的CPU资源,尤其是加密处理,是一个非常消耗CPU资源的操作,因此VPN业务占用的CPU资源较多,占用的ACL资源和带宽资源相对较少,可以配置一条业务配置所占用的ACL资源的预计使用量为0.05%,占用的CPU资源的预计使用量为0.1%,占用的带宽资源的预计使用量为0.05%。针对LB业务,由于LB业务需要进行负载均衡,而LB业务占用的带宽资源较多,占用的CPU资源和ACL资源相对较少,因此可以配置一条业务配置所占用的ACL资源的预计使用量为0.04%,占用的CPU资源的预计使用量为0.04%,占用的带宽资源的预计使用量为0.1%。
对于从业务配置子集合中解析出待配置业务对应的业务配置数量的过程,假设从业务配置子集合1中解析出250个业务配置,并从业务配置子集合2中解析出400个业务配置,并从业务配置子集合3解析出250个业务配置。
对于利用业务配置数量以及一条业务配置所占用的各资源的预计使用量,确定待配置业务对应的各资源的预计使用量的过程,针对NAT业务,可以获取到NAT业务的预计使用量为:ACL资源的预计使用量为25%(即250*0.1%),CPU资源的预计使用量为10%,带宽资源的预计使用量为10%。针对VPN业务,可以获取到VPN业务的预计使用量为:ACL资源的预计使用量为20%,CPU资源的预计使用量为40%,带宽资源的预计使用量为20%。针对LB业务,可以获取到LB业务的预计使用量为:ACL资源的预计使用量为10%,CPU资源的预计使用量为10%,带宽资源的预计使用量为25%。
步骤5、控制器向资源池中的资源节点1和资源节点2发送NETCONF报文。
步骤6、资源节点1在接收到NETCONF报文后,统计当前各资源的实际使用量,如ACL资源的实际使用量(假设为50%)、CPU资源的实际使用量(假设为40%)、带宽资源的实际使用量(假设为30%),并向控制器发送携带该实际使用量的响应报文。资源节点2的处理与资源节点1类似,在此不再赘述。
步骤7、控制器从响应报文中解析出资源节点1当前的各资源的实际使用量。
在上述过程中,是以预计使用量和实际使用量均为资源百分比为例进行说明,如20%、30%等。在实际应用中,预计使用量和实际使用量还可以为其它形式,如可以为数值,如20、30、40等,其处理方式与资源百分比的处理方式类似,对此不做限制,为了方便描述,后续以资源百分比为例进行说明。
步骤8、控制器利用预计使用量和实际使用量确定待配置业务的资源节点。其中,若某个资源节点的ACL资源的实际使用量与该待配置业务的ACL资源的预计使用量之和小于预设阈值,且CPU资源的实际使用量与该待配置业务的CPU资源的预计使用量之和小于预设阈值,且带宽资源的实际使用量与该待配置业务的带宽资源的预计使用量之和小于预设阈值,则可以确定该资源节点为该待配置业务对应的资源节点。若资源池中的每个资源节点的ACL资源的实际使用量与该待配置业务的ACL资源的预计使用量之和不小于预设阈值,或者,资源池中的每个资源节点的CPU资源的实际使用量与该待配置业务的CPU资源的预计使用量之和不小于预设阈值,或者,资源池中的每个资源节点的带宽资源的实际使用量与该待配置业务的带宽资源的预计使用量之和不小于预设阈值,则可以在资源池中创建一个新资源节点,并将该新资源节点确定为该待配置业务对应的资源节点。
例如,假设预设阈值为85%,针对NAT业务,由于ACL资源的预计使用量为25%,CPU资源的预计使用量为10%,带宽资源的预计使用量为10%,而且,假设资源节点2的ACL资源的实际使用量为40%,CPU资源的实际使用量为30%,带宽资源的实际使用量为60%,基于此,由于ACL资源的预计使用量25%与资源节点2的ACL资源的实际使用量40%之和小于85%,且CPU资源的预计使用量10%与资源节点2的CPU资源的实际使用量30%之和小于85%,且带宽资源的预计使用量10%与资源节点2的带宽资源的实际使用量60%之和小于85%,因此,可以将资源节点2确定为NAT业务的资源节点。
针对VPN业务,由于ACL资源的预计使用量为20%,CPU资源的预计使用量为40%,带宽资源的预计使用量为20%,而且,资源节点1的ACL资源的实际使用量为50%,CPU资源的实际使用量为40%,带宽资源的实际使用量为30%,基于此,由于ACL资源的预计使用量20%与资源节点1的ACL资源的实际使用量50%之和小于85%,且CPU资源的预计使用量40%与资源节点1的CPU资源的实际使用量40%之和小于85%,且带宽资源的预计使用量20%与资源节点1的带宽资源的实际使用量30%之和小于85%,因此,可以将资源节点1确定为VPN业务的资源节点。
针对LB业务,可以比较预计使用量与变化后的实际使用量之和是否小于85%。由于ACL资源的预计使用量为10%,CPU资源的预计使用量为10%,带宽资源的预计使用量为25%,而资源节点1的变化后的ACL资源的实际使用量为70%,变化后的CPU资源的实际使用量为80%,变化后的带宽资源的实际使用量为50%,基于此,由于CPU资源的预计使用量10%与资源节点1的变化后的CPU资源的实际使用量80%之和大于85%,因此资源节点1不能作为LB业务的资源节点。由于资源节点2的变化后的ACL资源的实际使用量为65%,变化后的CPU资源的实际使用量为40%,变化后的带宽资源的实际使用量为70%,基于此,由于带宽资源的预计使用量25%与资源节点2的变化后的带宽资源的实际使用量70%之和大于85%,因此资源节点2不能作为LB业务的资源节点。因此可以创建新资源节点3,并将资源节点3确定为LB业务的资源节点。
步骤9、控制器将NAT业务的业务配置子集合1内的所有业务配置下发到资源节点2,将VPN业务的业务配置子集合2内的所有业务配置下发到资源节点1,将LB业务的业务配置子集合3内的所有业务配置下发到资源节点3。
在一个例子中,控制器可以通过NETCONF报文或者SNMP报文,将业务配置子集合内的所有业务配置下发到对应的资源节点上。
步骤10、控制器记录NAT业务与资源节点1的IP地址1的映射关系,并记录VPN业务与资源节点2的IP地址2的映射关系,并记录LB业务与资源节点3的IP地址3的映射关系。
步骤11、控制器在接收到虚拟交换机发送的报文时,若确定该报文是针对租户C的报文,且该报文对应的业务为上述分配过资源节点的业务,则利用该业务对应的资源节点的IP地址生成控制流表,并将该控制流表发送给该虚拟交换机。由虚拟交换机在本地存储该控制流表,并在接收到匹配到该控制流表的报文后,将该报文发送给该业务对应的资源节点,由该资源节点对该报文进行该待配置业务对应的处理。
例如,控制器在为租户C分配虚拟机5后,虚拟机5可以发送报文,假设虚拟机5向虚拟机4发送报文,该报文在到达虚拟交换机1后,如果是虚拟机5向虚拟机4发送的首个报文,则虚拟交换机1上没有该报文匹配的控制流表,因此将该报文添加到packet-in消息中,并将packet-in消息发送给控制器。如果不是虚拟机5向虚拟机4发送的首个报文,则虚拟交换机1上有该报文匹配的控制流表,此时基于该控制流表转发报文,该转发过程在后续过程中进行说明。
控制器在接收到虚拟交换机1发送的报文后,确定该报文是针对租户C的报文,且该报文对应NAT业务,则通过查询步骤10中建立的映射关系,得到对应的资源节点1的IP地址1,并利用该IP地址1生成该报文对应的控制流表。其中,该控制流表的匹配选项为该报文的源IP地址1,该控制流表的动作选项为对报文进行VXLAN(Virtual eXtensible Local Area Network,可扩展虚拟局域网络)封装,在对报文进行VXLAN封装时,针对VXLAN封装后的报文的外层IP头:源IP地址为虚拟交换机1的IP地址,而目的IP地址为资源节点1的IP地址1。
控制器将该控制流表发送给虚拟交换机1,该虚拟交换机1在接收到该控制流表后,在本地存储该控制流表。虚拟交换机1再次接收到虚拟机5向虚拟机4发送的报文(即非首个报文)后,由于该报文能够匹配到该控制流表,因此,虚拟交换机1对该报文进行VXLAN封装,在VXLAN封装后的报文的外层IP头:源IP地址为虚拟交换机1的IP地址,目的IP地址为资源节点1的IP地址1。虚拟交换机1将VXLAN封装后的报文发送给二层交换机1,而二层交换机1将VXLAN封装后的报文发送给资源节点1。资源节点1在接收到报文后,利用NAT业务的业务配置子集合1内的业务配置对报文进行NAT处理,具体处理过程不再赘述。在处理完成后,资源节点1可以继续发送VXLAN封装后的报文,以此类推,报文最终被发送给虚拟机4,从而完成报文的处理与传输过程。
基于上述技术方案,本发明实施例中,当需要为租户提供服务时,不是在资源池中为租户创建一个新资源节点,而是以租户的待配置业务为单位,将待配置业务的业务配置下发到已有的资源节点上,不同待配置业务的业务配置可以下发到相同的资源节点上,也可以下发到不同的资源节点上,从而充分利用已有的资源节点上的内存、CPU、带宽等硬件资源。而且多个租户可以共享一个资源节点,从而有效使用资源节点,可以为更多的租户分配资源节点。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种资源共享装置,该资源共享装置可以应用在控制器上。其中,该资源共享装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的控制器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本发明提出的资源共享装置所在的控制器的一种硬件结构图,除了图3所示的处理器、非易失性存储器外,控制器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该控制器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图4所示,为本发明提出的资源共享装置的结构图,所述装置包括:
第一确定模块11,用于确定租户的至少两个待配置业务;
第二确定模块12,用于确定第一待配置业务对应的各资源的预计使用量,所述第一待配置业务为所述至少两个待配置业务中的任一待配置任务;
获取模块13,用于获取预设的资源池中的资源节点的各资源的实际使用量;
第三确定模块14,用于从所述资源池中确定所述第一待配置业务对应的第一资源节点,所述第一资源节点的第一资源的实际使用量与所述第一待配置业务对应的第一资源的预计使用量之和小于所述第一资源对应的预设阈值,所述第一资源为所述各资源中的任一资源;
发送模块15,用于向第一资源节点下发所述第一待配置业务的业务配置。
所述第二确定模块12,具体用于在确定第一待配置业务对应的各资源的预计使用量的过程中,确定所述第一待配置业务对应的业务配置数量,并确定所述第一待配置业务的一条业务配置所占用的各资源的预计使用量;
利用所述业务配置数量以及所述一条业务配置所占用的各资源的预计使用量,确定所述第一待配置业务对应的各资源的预计使用量。
所述获取模块13,具体用于在获取预设的资源池中的资源节点的各资源的实际使用量的过程中,向所述资源池中的资源节点发送用于请求实际使用量的协议报文;接收所述资源节点返回的针对所述协议报文的响应报文;从所述响应报文中解析出所述资源节点当前的各资源的实际使用量;
其中,所述协议报文包括网络配置NETCONF报文或者简单网络管理协议SNMP报文,所述响应报文包括NETCONF报文或者SNMP报文。
所述第三确定模块14,还用于当所述资源池中的每个资源节点的第一资源的实际使用量与所述第一待配置业务对应的第一资源的预计使用量之和,均不小于所述第一资源对应的预设阈值时,则在所述资源池中创建新资源节点,并将所述新资源节点确定为所述第一待配置业务对应的第一资源节点。
所述装置还包括(在图中未体现):生成模块,用于在接收到虚拟交换机发送的报文时,若确定所述报文是针对所述租户的报文,且确定所述报文对应第一待配置业务,则利用所述第一资源节点的IP地址生成控制流表;
所述发送模块15,还用于将所述控制流表发送给所述虚拟交换机,以使所述虚拟交换机将匹配到所述控制流表的报文,发送给所述第一资源节点,并由所述第一资源节点对所述报文进行所述第一待配置业务对应的处理。
在一个例子中,所述第一待配置业务包括:NAT业务、VPN业务、LB业务;所述各资源包括:ACL资源、CPU资源、带宽资源;所述资源池中的资源节点包括:NFV资源节点。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。