1.一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,包括以下步骤:S1:获取第一指令,根据资源约束,获得节点信息以及链路信息,所述第一指令为传入支持网络功能虚拟化的软件定义网络的流请求指令;
S2:基于节点信息、链路信息以及第一指令,在功能节点上枚举可以部署的伪VNF,所述节点包括功能节点和交换节点,所述交换节点用于转发与传输数据,所述功能节点用于转发数据,以及通过其上的VNF实例处理数据;
S3:分裂节点以及伪VNF,连接分裂后的节点并分配加权有向边,构造边加权图;
S4:基于请求流信息中服务功能链中VNF的顺序以及边加权图,构造伪VNF分裂的多阶段边权图,并基于多阶段边权图,获取若干虚拟路由路径;
S5:计算每一条虚拟路由路径的相对成本,并将获得的每一条虚拟路由路径的相对成本做比较,获得第一虚拟路由路径,并将第一虚拟路由路径中的各个节点以及链路映射到原物理网络中,接收所述请求流信息,且对资源进行更新;所述第一虚拟路由路径为相对成本最小的虚拟路由路径。
2.根据权利要求1所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述步骤S1中,资源约束包括基于物理链路上的带宽资源、交换节点上的三态内容寻址存储器资源以及功能节点上的CPU计算资源之间的约束。
3.根据权利要求1所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述步骤S3中,构造边加权图具体方法包括:将所述交换节点进行分裂,并通过有向边连接分裂后的交换节点,获得第一链路;
通过有向边连接在所述功能节点上的分裂的伪VNF,获得第二链路;
将所述第一链路与所述第二链路进行连接,获得第三链路,并向连接后的所述第三链路分配有向边,获得边加权图;所述有向边是通过相对成本作为权重赋值。
4.根据权利要求1或3所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述步骤S4中,构造多阶段边权图的具体方法包括:基于第一指令中服务功能链中VNF的顺序,在第一列和最后一列分别放置入口节点和出口节点,在中间各列依次排列出请求流要遍历的所有同类型的伪VNF,将伪VNF进行分裂,并结合边加权图,按照所述服务功能链的顺序依次连接不同列的各个节点,获得多阶段边权图。
5.根据权利要求4所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述服务功能链由一组虚拟网络功能VNF以及相邻两个VNF之间的链路组成。
6.根据权利要求1所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述步骤S5还包括:
检测虚拟路由路径中的伪VNF在对应的物理网络功能节点中是否存在或被激活,若存在伪VNF且被激活,则直接映射到原物理网络中;否则,将在该虚拟路由路径对应的原物理网络中相应的位置部署VNF实例,再映射到原物理网络中。
7.根据权利要求1所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述步骤S5中,计算每一条虚拟路由路径的相对成本的具体操作步骤包括:S51:基于边加权图,采用Dijkstra算法,获取相邻两列伪VNF之间的子路由路径,并计算子路由路径的子相对成本,并将计算得到的子相对成本作为权重分配给多阶段边权图的有向边,所述子相对成本为边加权图中,不同列节点之间路由路径的成本;
S52:在多阶段边权图中,将虚拟路由路径上各个子相对成本相加,获得虚拟路由路径的相对成本。
8.根据权利要求7所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述子相对成本的表达式为:
为VNF上CPU资源的剩余率,ωcpu为大于1的常数; 为多阶段边权图中有向边的权重;为有向边; 为有向边的集合; 为分裂后的伪VNF; 表示除连接分裂后的两个VNF的有向边的多阶段边权图中的其余有向边;ωcost为边加权图中有向边的权重。
9.根据权利要求8所述的一种基于负载均衡的虚拟网络功能动态部署方法,其特征在于,所述ωcost的计算表达式为:第一行表示交换节点上使用TCAM资源的相对成本;
第二行表示使用节点间链路带宽的相对成本;
第三行表示功能节点上使用CPU资源的相对成本;
ωbw、ωft和ωcpu均为大于1的常数, 为交换节点上TCAM资源的剩余率; 为链路上带宽资源的剩余率; 为VNF上CPU资源的剩余率; 为交换节点上TCAM资源的利用率;
为链路上带宽资源的利用率; 为VNF上CPU资源的利用率;v′,v″为交换节点v分裂后的两个节点,
10.一种基于负载均衡的虚拟网络功能动态部署系统,其特征在于,系统包括:参数获取模块,用于获取第一指令,根据资源约束,获得节点信息以及链路信息,所述第一指令为传入支持网络功能虚拟化的软件定义网络的流请求指令;
枚举模块,用于基于节点信息、链路信息以及第一指令,在功能节点上枚举可以部署的伪VNF,所述节点包括功能节点和交换节点,所述交换节点用于转发与传输数据,所述功能节点用于转发数据,以及通过其上的VNF实例处理数据;
构造模块,用于分裂节点以及伪VNF,连接分裂后的节点并分配加权有向边,构造边加权图;
虚拟路由路径获取模块,用于基于请求流信息中服务功能链中VNF的顺序以及边加权图,构造伪VNF分裂的多阶段边权图,并基于多阶段边权图,获取若干虚拟路由路径;
计算分析模块,用于计算每一条虚拟路由路径的相对成本,并将获得的每一条虚拟路由路径的相对成本做比较,获得第一虚拟路由路径,并将第一虚拟路由路径中的各个节点以及链路映射到原物理网络中,接收所述请求流信息,且对资源进行更新;所述第一虚拟路由路径为相对成本最小的虚拟路由路径。