一种网络资源管理方法、装置及计算机可读存储介质

文档序号:25595999发布日期:2021-06-22 17:14阅读:71来源:国知局
一种网络资源管理方法、装置及计算机可读存储介质

本发明涉及计算机技术领域,尤其涉及一种网络资源管理方法、装置及计算机可读存储介质。



背景技术:

大型网络系统的管理,基本上已离不开云计算平台,云计算平台构建的关键之一是对资源进行管理与分配。已有的网络资源分配机制,本质上采用的都是针对带宽的限定分配,这一机制具有一定的公平性是值得肯定的。

然而,随着网络资源的巨型化和网络数据资源需求量的快速增长,通过带宽限定分配的机制,很难满足多用户对网络资源的共享需求。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种网络资源管理方法、装置及计算机可读存储介质,能够充分利用网络带宽、数据流表和数据交换硬件设备信息流表三方资源,实现了网管资源的最优、公平和动态分配。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供一种网络资源管理方法,包括:

确定针对三方资源的高利用传输通道和低利用传输通道,其中,三方资源包括网络带宽、数据流表和数据交换硬件设备信息流表,高利用传输通道用于传输可以通过数据交换机进行转发的高利用资源信息,低利用传输通道用于传输不能通过数据交换机进行转发的低利用资源信息;

利用拉格朗日最大值和最小值对偶分解原理,构建网络资源分配模型;

根据网络资源分配模型,确定资源互补算法,资源互补算法用于对数据流实际分配到的传输带宽进行动态调节,以最大化利用高利用传输通道实现传输。

可选的,利用拉格朗日最大值和最小值对偶分解原理,构建网络资源分配模型,包括:

定义网络资源管理参量,网络资源管理参量包括:数据交换机、交换机之间的数据传输链路、传输链路的网络带宽、交换机转发的数据流、交换机存储与转发的数据流表容量、数据流所需要的传输带宽、数据流实际分配到的传输带宽、信息转发的路径、网管过程所需要实现的功能和数据流传输实际分配到的传输带宽;

根据网络资源管理参量,分别构建针对单个网管功能实现的某一个数据流表最优三方资源分配模型和针对全部网管功能实现的多个数据流表最优三方资源分配模型。

可选的,针对单个网管功能实现的某一个数据流表最优三方资源分配模型为:

其中,为数据流表是否发送至交换机的判断因子,o'为资源优化分配规则o的最大值,nd为某一个数据流实际分配到的传输带宽,dp为针对网管实现的功能p其转发的数据流的集合,λl为针对数据传输链路l的拉格朗日因子,λs为针对交换机s的拉格朗日因子。

可选的,针对单个网管功能实现的某一个数据流表最优三方资源分配模型的优化规则为:

可选的,针对全部网管功能实现的多个数据流表最优三方资源分配模型为:

其中,为数据流表是否发送至交换机的判断因子,nd为某一个数据流实际分配到的传输带宽,dp为针对网管实现的功能p其转发的数据流的集合,λl为针对数据传输链路l的拉格朗日因子,λs为针对交换机s的拉格朗日因子,bl为针对传输链路l其传输链路带宽,rs为针对交换机s其数据流表容量,为网管全部功能实现时,网络带宽资源所需要的总量,为网管全部功能实现时,网络传输中数据流表资源所需要的总容量,μ为指定的梯度运算步距。

可选的,针对全部网管功能实现的多个数据流表最优三方资源分配模型的优化规则为:

可选的,还包括:

构建网络资源分配验证模型,网络资源分配验证模型包括系统层次模型和网管数据流存储转发模型;

根据系统层次模型和网管数据流存储转发模型,对资源互补算法进行仿真分析。

第二方面,本发明实施例提供了一种网络资源管理装置,包括:处理器,处理器用于在执行计算机程序时实现具有上述第一方面任一特征的网络资源管理方法。

第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现具有上述第一方面任一特征的网络资源管理方法。

本发明实施例从网管信息传输方式和信息传输过程入手,对资源管理策略的应用进行分析,首先明确数据流表也是非常关键的网管资源;通过对网络带宽、数据流表和数据交换硬件设备信息流表三方资源的准确定义,提出了针对三方资源合理调配的“高利用”和“低利用”两个资源传输通道;利用拉格朗日最大值和最小值对偶分解原理,分别构建针对单个网管功能实现的某一个数据流表最优三方资源分配模型和针对全部网管功能实现的多一个数据流表最优三方资源分配模型;同时,针对“高利用”资源传输通道可能出现空闲状态,通过引入资源互补算法对数据流实际分配到的传输带宽进行动态调节。从而充分利用了网络带宽、数据流表和数据交换硬件设备信息流表三方资源,实现了网管资源的最优、公平和动态分配。

附图说明

图1为本发明实施例一提供的一种网络资源管理方法的流程示意图;

图2为本发明实施例一提供的一种基于openflow应用的网管信息转发流程图示;

图3为本发明实施例一提供的一种基于openflow应用的网管数据流表资源分配流程图示;

图4为本发明实施例一提供的一种网管信息流量传输控制流程图示;

图5为本发明实施例一提供的另一种网络资源管理方法的流程示意图;

图6为本发明实施例一提供的一种基于nfv技术标准的sdn网络管理系统层次结构模型;

图7为本发明实施例一提供的一种网管数据流存储转发模型;

图8为本发明实施例一提供的一种网管数据流存储转发模型的数据流存储转发和资源分配算法实现流程图示;

图9为本发明实施例二提供的一种网络资源管理装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明中术语“系统”和“网络”在本文中常被可互换使用。本发明实施例中提到的“和/或”是指包括一个或更多个相关所列项目的任何和所有组合。本发明的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。

还需要说明是,本发明下述各个实施例可以单独执行,各个实施例之间也可以相互结合执行,本发明实施例对此不作具体限制。

随着网络资源的巨型化和网络数据资源需求量的快速增长,通过带宽限定分配的机制,很难满足多用户对网络资源的共享需求。网络资源分配机制是资源共享的重要前提,从投入和运行两个方面考虑,都是容易被忽视的环节,实现真正的资源公平分享,不需要考虑用户自身的网络基础条件,为其提供良好、公平的资源分享平台,也是一种服务功能和服务理念的体现。因此,在异构化网络系统中,软件定义网络(softwaredefinednetwork,sdn)网管系统的构建,首先对网管资源引入最优化的资源分配策略,对于公平应用网络资源具有重大的实用价值。

在sdn网管系统中,资源管理技术也是其重要的组成部分。sdn网络资源管理的实现途径有两种:一是针对网络资源的需求用户,制定资源的分配方案,力求公平性最大化目标;二是针对网络资源本身,制定资源的分配方案,力求资源利用率最大化目标。这两种资源管理的实现途径,需要考虑的主要因素包括:网络资源的数据类型、网络系统访问方式、数据资源动态分配策略、资源分配策略在网管系统中的分布等。

最早在sdn虚拟网络系统中引入资源管理策略的是flowvisor技术,其关键是将网络资源共享的控制目标设定为网络交换设备(如:数据交换机、网络路由器等),以openflow网络通信协议的应用为基础,将网络带宽、网络拓扑结构、数据交换设备的运算模块、数据转发策略、数据传输流量五个参量纳入管控范围内,网管数据的主要来源取自数据交换设备与sdn虚拟控制器之间的通信信息。

在flowvisor虚拟网管技术应用的基础上,从2012年至2014年间,陆续出现了openvirtex、autoslice、autovflow和flown等虚拟网管技术。

openvirtex虚拟网管技术的关键是在网络操作系统(networkoperatingsystem)和网络交换设备之间通过一种代理方式进行间接虚拟连接,这个代理就是openvirtex(相当于一个网管控制器)。openvirtex虚拟技术需要将网络拓扑结构、网络访问地址、网管控制的功能集合纳入管控范围内,也就是针对以上三个方面通过openvirtex代理构建虚拟管控连接。

autoslice虚拟网管技术的关键是引入了网管资源自动分配策略,并实现了基于网络传输数据流分配的机制的应用,即虚拟流配送网络(virtualstreamdistributionnetwork,vsdn)技术,其主要的网管控制参量有网管资源利用率、网管控制系统与网络交换设备之间的传输数据流量,通过统计网管资源利用率平均分配网管资源被访问的机率,对网管信息的数据流量采用最小化限制策略,这些手段都较好地优化了网管资源的分配策略。

autovflow虚拟网管技术的关键是针对网管信息传输数据流在空间上实现虚拟化技术应用,其虚拟化策略部署通过网管控制系统完成;同时,网管控制系统采用分布式部署,并具有一定的自主性。这一虚拟网管技术的实现,必须以网管系统应用层与数据交换设备之间配置多个代理虚拟连接点,还需要在确保openflow通信协议中具有较强的可编程性,确保可以在网管信息数据中植入虚拟化策略。

flown虚拟网管技术主要是针对云计算平台管理提出的,其关键之一是通过设计一个专用的、共享的、开放的网管控制系统,系统的共享性和开放性只向云计算平台专有的多个服务对象(或用户)提供,且只针对网络系统的管理层,这些管理层行使网络系统管理的职能具有完全的控制能力,同时,管理层还可以自行设置所需的网管控制功能;关键之二是设计的网管控制系统的地位在整个网络管控中并不是最高的,根据云计算平台的服务特点主要是提供数据服务,因此,在网管系统框架中将网络资源管理系统的地位提升至第一位。该虚拟网管技术的主要特点是具有良好的可扩展性,其网管的对象直接针对多个网络系统,且只针对应用了sdn虚拟网络技术构建的网络系统。

近几年来,我国在网络资源管理技术的研究工作,主要面向以5g技术应用为代表的移动网络。有文献依托云计算和移动互联网技术,实现了无线网络虚拟化、软件定义网络、有选择性集成虚拟网络功能、边缘计算等技术的结合,提出联合虚拟多资源分配思想。有文献提出应用sdn控制机制,针对网管系统中多种复杂要素进行抽象定义,对网络交换设备进行细粒度管理,引入静态和动态结合的网管策略,以灵活性和集中性为目标,实现云平台中的网络资源管理。

在以上sdn资源管理技术应用中,存在的主要问题是:网管过程中的网络资源调整与分配,采用的多是依据网络资源的利用效率统计结果,按照一定的比例对网络资源的利用进行调整,缺乏更为灵活的动态分配机制。

在sdn资源管理系统构建方面,已有的研究成果显示,sdn资源管理系统构建的主要突破方向有两个:一是立足网络系统自身,从网络传输能力和数据链路利用能力入手,实现网管资源的优化利用;二是立足网管控制机制,从网管处理结果的可靠性和高效性评价入手,实现网管资源的优化利用。

基于网络传输的资源优化策略的关键是对网管数据流进行统一集中管理和分析,以离散幂律概率分布(zipfian分布,长尾分布模型)为数据流划分准则,将符合这一准则的数据流,限制通过网络数据交换机进行转发传输,不符合这一准则的数据流,则通过sdn控制器进行转发传输。其中,网络带宽占用控制技术(devoflow)可以实现对关键数据流的管理和分析。

基于网管控制的资源优化策略的关键是解决资源公平分配的问题,其分配标准包括按最大(或最小)规则进行分配、按一定比例进行分配等规则,这两类规则都是依据对资源的需求量进行分配。其中,主要的成果包括:采用随机策略、局部策略和全局策略三种网络资源分配方案,根据时间优先原则设计数据流访问控制协议方案,采用静态分配网络带宽和数据流表的资源分配方案,通过设计非对称分布式网络资源分配算法的资源分配方案等。

为解决上述问题,本发明提供了一种网络资源管理方法、装置及计算机可读存储介质,以网络资源的公平分配和提高网络资源利用率为主要目标,应用sdn技术构建网管资源管理模型,所指资源主要是网络带宽和数据流表,通过设计管控权重,提出网管资源分配算法;依据网络资源的利用率统计结果,在管控策略中,定义可能出现的“高利用”与“低利用”两种资源分配结果,提出网管资源互补算法;将网络延时和数据流表利用率列为主要的评价参数。从而充分利用了网络带宽、数据流表和数据交换硬件设备信息流表三方资源,实现了网管资源的最优、公平和动态分配。

实施例一

图1为本发明实施例一提供的一种网络资源管理方法的流程示意图,本发明实施例公开的方法适用于网络资源管理装置。如图1所示,该方法可以包括如下步骤:

s110、确定针对三方资源的高利用传输通道和低利用传输通道,其中,三方资源包括网络带宽、数据流表和数据交换硬件设备信息流表,高利用传输通道用于传输可以通过数据交换机进行转发的高利用资源信息,低利用传输通道用于传输不能通过数据交换机进行转发的低利用资源信息。

在以openflow数据交换机为主体的sdn虚拟网络中,其网管控制信息的数据传输接口具有很强的开放性,数据的传输方式采用存储转发机制,信息以数据报的形式进行定义,数据报的头部信息中包含有网管控制信息的数据流表(openflow流表主要包括:流表项、流表匹配规则和流表匹配后的操作三个方面)。网管控制信息的传输,依托openflow网络通信协议为核心构建的网管控制中心,网络中被控的全部openflow数据交换机,采用星形网络拓扑方式与网管控制中心实现虚拟连接,因此,sdn网管控制过程主要在网管控制中心和交换机之间完成。

在启动一个网管应用功能时,sdn应用层利用网管控制中心设计的北向接口发出网管控制规则,这些规则针对数据交换机设置如何对网管控制信息进行转发。网管信息在交换机中实现转发,必须通过网管控制中心生成数据流表,并得到网管控制中心同意,交换机接收的数据流表还需要控制中心加以匹配确认(在openflow流表项中,包括matchfields匹配字段),没有通过确认的网管信息数据流表,交换机也会再次反馈给网管控制中心,并通过相关的网管应用功能模块进行确认。交换机在接收到没有数据流表的信息时,也会反馈给网管控制中心加以确认。由于需要反复进行信息匹配确认,因此,网管控制信息的转发通过数据交换机来完成是最佳策略。图2为本发明实施例一提供的一种基于openflow应用的网管信息转发流程图示。

本发明在网管信息的传输方面,首先将网管资源分为两类:一是网络带宽,二是网管信息openflow流表;然后将可以通过数据交换机进行转发的信息定义为“高利用”资源信息,将不能通过数据交换机进行转发的信息定义为“低利用”资源信息,“低利用”资源信息可以通过网管控制中心中的控制器或引入相应的信息转发软件进行转发。对两类资源进行分类,有利于后续对网管资源分配策略进行规划。

在sdn网络系统中,除网管信息数据流表外,用于描述数据交换机硬件设备的数据流表也是不能忽视的,该数据流表同样需要占用信息存储空间和网络传输资源。交换机硬件数据流表的存储转发,可以参考网络路由表中常用的三态内容寻址存储器(ternarycontentaddressablememory,tcam)实现,这类存储器的主要特点就是寻址速度快。在网管系统中,网管数据流表是一种非常重要的资源,且对网管数据流表的查找也非常关键,决定了能否实现对网管数据信息的转发,因此,对网管数据流表资源的有交效分配意义重大。图3为本发明实施例一提供的一种基于openflow应用的网管数据流表资源分配流程图示。上文中已经提到互联网中的网管数据流量具有离散幂律概率分布特征,有文献依据一定的时间周期,通过引入数据流量负载均衡机制,实现了局部动态分配网管数据流表资源。

sdn网络对网管信息流量控制,需要引入细粒度控制策略(也就是granularcomputing粒度计算),同时涉及到对网络带宽资源、openflow流表资源和交换机硬件信息流表三方资源分配。图4为本发明实施例一提供的一种网管信息流量传输控制流程图示。在图4中,通过组建由二台openflow交换机(物理交换机)和一台openvswitch软件交换机(执行开放虚拟交换标准的软件交换机)组成的sdn网管系统。

假设当前有两个网管功能执行任务p和q,其中,p网管任务中有dt1和dt2两个数据流,q网管任务中有dt3一个数据流。针对网络带宽容量和流表容量(包括通信数据流表和交换机硬件信息流表容量)两个要素,并考虑到dt1、dt2、dt3三个数据流的传输速率,就可能出现以下四种情况:一是网络带宽容量不足,数据流表容量充足;二是网络带宽容量充足,数据流表容量不足;三是网络带宽容量不足,数据流表容量不足;四是网络带宽容量充足,数据流表容量充足。针对第一、二、三种情况,都需要考虑对资源进行分配(其资源分配的主要手段是调节控制dt1、dt2、dt3三个数据流的传输速率),才能实现网管控制中心发送网管执行数据流表,确保交换机完成网管信息转发;而对于第四种情况,只要网管控制中心和交换机数据流表匹配正确,就可以直接执行相应的网管应用功能。当然,交换机之间的通信链路的数据传输带宽也是需要考虑的因素。

假设到dt1、dt2、dt3三个数据流的传输速率分别为1mbps、0.5mbps和1mbps,交换机之间的通信链路的数据传输带宽bw为2mbps,数据流表容量r为3条,在以上第一情况下,网管控制中心可以正常发送dt1和dt3两个数据流并完成资源分配,dt2数据流就无法实现资源分配。此时,通过启用针对数据流的传输速率调节控制的策略,将dt1数据流的传输速率调整为0.5mbps,则网管控制中心就可以发送dt1、dt2、dt3三个数据流并完成资源分配,同时,共享网管资源的公平性也能够得到体现。这一资源分配机制,可以通过简单的加减法调节策略,实现dt1、dt2、dt3三个数据流在“高利用”资源传输通道完成网管信息转发。

假设到dt1、dt2、dt3三个数据流的传输速率分别为1mbps、0.5mbps和1mbps,交换机之间的通信链路的数据传输带宽bw为3mbps,数据流表容量r为2条,在以上第二情况下,其资源分配的策略是通过网管控制中心发送dt1和dt3两个数据流(直接在网管控制中心和物理交换机之间通信),利用“高利用”资源传输通道完成网管信息转发;通过网管控制中心发送dt2一个数据流(在网管控制中心和软件交换机之间通信),利用“低利用”资源传输通道完成网管信息转发。

假设到dt1、dt2、dt3三个数据流的传输速率分别为1mbps、0.5mbps和1mbps,交换机之间的通信链路的数据传输带宽bw为1mbps,数据流表容量r为2条,在以上第三情况下,其资源分配的策略是首先将dt3数据流的传输速率调整为0.5mbps,通过网管控制中心发送dt2和dt3两个数据流(直接在网管控制中心和物理交换机之间通信),利用“高利用”资源传输通道完成网管信息转发;通过网管控制中心发送dt1一个数据流(在网管控制中心和软件交换机之间通信),利用“低利用”资源传输通道完成网管信息转发。

以上资源分配策略在实际应用中,可以通过灵活的数据流传输速率调整控制实现网管信息数据流的转发,但需要坚持一个原则:尽量多地利用“高利用”资源传输通道。当然,根据网管功能的需求和既定的数据流传输速率,高配网络带宽资源和流表容量资源是构建sdn网络资源管理系统的最佳选择。

s120、利用拉格朗日最大值和最小值对偶分解原理,构建网络资源分配模型。

具体的,步骤s120中“利用拉格朗日最大值和最小值对偶分解原理,构建网络资源分配模型”的方法可以包括如下两个步骤:

步骤1:定义网络资源管理参量,网络资源管理参量包括:数据交换机、交换机之间的数据传输链路、传输链路的网络带宽、交换机转发的数据流、交换机存储与转发的数据流表容量、数据流所需要的传输带宽、数据流实际分配到的传输带宽、信息转发的路径、网管过程所需要实现的功能和数据流传输实际分配到的传输带宽。

在sdn网络资源管理系统中,主要由数据交换机、交换机之间的数据传输链路、传输链路的网络带宽、交换机转发的数据流、交换机存储与转发的数据流表容量、数据流所需要的传输带宽、数据流实际分配到的传输带宽、信息转发的路径、网管过程所需要实现的功能和数据流传输实际分配到的传输带宽,共十个基本要素,要构建sdn网络资源分配模型,就首先需要定义以上十个参量。

指定openflow数据交换机为s,交换机转发的数据流(也能够表示数据流表)为d,交换机之间的数据传输链路为l,传输链路的网络带宽为b,交换机存储与转发的数据流表容量为r,数据流所需要的传输带宽为m,数据流实际分配到的传输带宽为n,信息转发的路径为w,网管所需要实现的功能为p,则有以下几个参量关系需要进行描述:交换机s通过路径w进行数据流转发,可以表示为s∈w;交换机数据传输链路l在转发路径w上,可以表示为l∈w;针对交换机s,其数据流表容量可以用rs表示,且rs≥0;针对传输链路l,其传输链路带宽可以用bl表示,且bl≥0;针对网管实现的功能p,其转发的数据流的集合可以表示为dp;针对交换机转发的数据流为d,某一个数据流所需要的传输带宽可以设定为md,某一个数据流实际分配到的传输带宽可以设定为nd,数据流转发时所通过的路径可以设定为wd;对于网管实现的功能p,其全部数据流总和传输实际分配到的传输总带宽可以设定为np。以上部分参数不涉及模型构建中计算,但需要在模型构建中进行定义,如转发路径w、数据流所需要的传输带宽m等。

步骤2:根据网络资源管理参量,分别构建针对单个网管功能实现的某一个数据流表最优三方资源分配模型和针对全部网管功能实现的多个数据流表最优三方资源分配模型。

sdn网络资源管理的关键是公平分配网络资源,也就是需要确定nd的值,公平分配网络资源还需要满足网管过程所需实现功能的带宽总和(bl)与全部数据流传输实际分配到的传输带宽总和一致(np)。因此,构建络资源管理分配模型,可以根据网络传输带宽分配中利用实际分配到的传输带宽对数和运算并取最大值的思想,最终确定资源理分配规则与nd的关系,即有:max(∑p(in(nd)))。

openflow流表资源作为重要的sdn网络资源之一,对流表资源进行分配,首先要需要定义一个数据流表是否被网管控制中心发送给交换机的判断因子其取值为[0,1],该判断因子涉及交换机s和交换机转发的数据流d两个参量。设定时,表示数据流表已发送给交换机,设定时,表示数据流表未发送给交换机,则有公式(1)存在:

sdn网络资源公平分配同时存在还需要考虑最优的分配规则,主要涉及两个要素:一是数据传输链路l的最大值选取,二是数据流表容量r的最大值选取。

数据传输链路l的最大值选取原则是:数据流传输实际分配到的传输带宽np不能超过网络传输链路带宽的总和bl,也就是:

数据流表容量r的最大值选取原则是:某一台交换机接收到的数据流表的总和不能超过该交换机本身可以接收数据流表的容量rs,网管控制中心发出的数据流表总和不仅需要考虑交换机s和交换机转发数据流d两个参量,还要考虑数据传输链路l参量,也就是:

在以上定义的sdn网络资源分配模型中,提出的只是一个总体框架,关键是利用最大值最小值对偶优化理论定义网络资源优化规则,再通过对优化规则利用求导运算实现网络资源优化分配。

针对前文确定的实际分配到的传输带宽对数和运算规则,在资源优化分配规则结果o中,引入数据流传输实际分配到的传输带宽np、数据流表是否发送至交换机的判断因子和针对数据传输链路l的拉格朗日因子λl、针对交换机s的拉格朗日因子λs共四个参量,构建拉格朗日公式(2)如下:

针对前文确定的传输带宽对数和运算后取最大值规则,资源优化分配规则结果o'将对o取最大值,则有公式(3)存在:

根据拉格朗日对偶优化理论,公式(3)的对偶式(4)为(也就是o'的最小取值):

根据拉格朗日对偶分解原理,公式(4)可以分解为公式(5):

在公式(5)中,λl的真实含义为实现某一个数据传输占用某一个链路所需要的带宽资源量(实际针对的是网络带宽资源),λs的真实含义为某一个数据流表在传输时所需要的容量资源量(实际针对的是数据流表资源),的真实含义为数据流转发路径上全部占用交换机之间数据传输链路时所需要的带宽资源总量,的真实含义为数据流转发路径上交换机存储转发数据流表所需要的带宽资源总量,以上参量均为向量。公式(5)表示的只是针对某一个网管功能的局部网络资源优化规则。针对sdn网络中实现全部网管功能的整体网络资源优化规则可以通过公式(6)表示:

通过对公式(6)进行分析,网络资源优化规则的制定,主要以网络带宽资源和数据流表资源为参量,在多次迭代运算中,两个拉格朗日因子λl和λs始终在更新,网络资源优化规则也就同时处于刷新状态。

在建立公式(5)和公式(6)所对应的局部和整体网络资源优化规则的数学模型构建后,通过对规则数学模型进行求导就可以构建局部和整体网络资源优化分配数学模型。

公式(7)为针对某一个网管功能的局部网络资源优化分配数学模型(偏导数求极值),其网络资源主要针对交换存储转发数据流表和交换机硬件信息数据流表。

由于前文设定了时,表示数据流表已发送给交换机,因此,针对某一个网管功能的局部网络资源优化分配数学模型可以简化为公式(8):

整体网络资源优化分配数学模型的构建,就是计算拉格朗日对偶分解结果的最小值,由于需要进行迭代和梯度运算,针对λl和λs设定的迭代运算参数为λl(k)和λs(k),设定的两个梯度参数为在指定一个梯度运算步距μ后,通过引入bl和rs等参量,可以得出公式(9):

在公式(9)中,为网管全部功能实现时,网络带宽资源所需要的总量;为网管全部功能实现时,网络传输中数据流表资源所需要的总容量。在模型构建中,由于使用迭代和梯度结合的运算,因此,网络带宽资源和数据流表资源的分配引入了动态控制策略。

根据以上构建的sdn网络资源分配模型,其算法实现的主要流程为:初始化计算参数,置k=0、λl(0)=1、λs(0)=1、迭代次数c=1、np=0→应用公式(8)计算nd的值→应用公式(1)计算np的值→分析确定的取值为1或0→开始迭代运算,依次+1→开始np值的更新→开始梯度运算,k值依次+1→应用公式(9)对λl和λs的值进行更新→完成全部迭代和梯度运算→获取带宽资源和数据流表容量资源数据。

s130、根据网络资源分配模型,确定资源互补算法,资源互补算法用于对数据流实际分配到的传输带宽进行动态调节,以最大化利用高利用传输通道实现传输。

本发明提出的资源互补概念,主要目的是尽量多地实现前文提出的使用“高利用”资源传输通道实现数据流的转发。应用公式(8)和公式(9)设计的算法,不一定能够完全确保数据流在“高利用”通道实现传输,网络传输的效率(可使用网络传输时延参数描述)就会降低,主要原因是前文提出的算法,主要解决了量的问题(针对网络带宽和数据流表的量,也就是确保网络传输中拥有最大的数据传输率,即数据吞吐量)。“高利用”通道被启用的条件是在局部网络资源优化分配策略中针对网络带宽资源nd进行补偿。

其算法实现的主要思想是:定义某一个数据流实际分配到的传输带宽nd能够提供的最小量为min(nd),针对实际分配到的nd值,其在数据流传输中的损失量为substi(nd),针对nd的补偿差量则为δnd=min(nd)-substi(nd),络带宽资源的补偿量就可以通过δn=δnd·λl进行计算。以上算法思想的实现流程为:首先通过测试确定min(nd)的值→引入δnd=min(nd)-substi(nd)的定义→针对数据流表容量rs取值范围的运算条件→得到运算结果1:运行交换函数(如c++中的swap函数),交换值为min(nd)和substi(nd)→得到运算结果2:运行插入函数(如c++中的insert函数,该函数被定义为一种容器),插入值为substi(nd)→设定数据流表转发所需要的带宽资源量λl的值→运行δn=δnd·λl得出网络带宽资源的补偿量值。算法中,设定数据流表容量rs取值范围的运算条件的目的是与λl动态更新匹配。

在上述实施例的基础上,图5为本发明实施例一提供的另一种网络资源管理方法的流程示意图,如图5所示,在步骤s130执行完毕之后,还包括步骤s140和s150。

s140、构建网络资源分配验证模型,网络资源分配验证模型包括系统层次模型和网管数据流存储转发模型。

为了验证以上提出的模型,需要通过数据流转发时对网络资源的利用率、数据流表损失率进行统计分析,同时,还需要网络功能运行的数据流传输效率(网络传输时延)、网络资源的选用准确率进行统计分析。以上验证参数的获取,首先需要建立一个用于验证的sdn系统层次模型。本发明依据网络功能虚拟化技术(networkfunctionsvirtualization,nfv)的国际应用标准,设计一个系统层次模型。图6为本发明实施例一提供的一种基于nfv技术标准的sdn网络管理系统层次结构模型。

在图6所示的系统层次模型基础上,同时设计网管数据流存储转发模型。图7为本发明实施例一提供的一种网管数据流存储转发模型。在该存储转发模型中,主要包括:nfv数据流转发模块、nfv数据流统计控制模块、nfv数据流状态控制模块三个部分。其中,nfv数据流转发模块的主要功能是存储和转发网管控制中心发出的针对实现某一个网管功能的数据流表(注意不是全部的网管功能),该模块由数据流标签(主要用于验证数据流表的准确性)、数据传输链路标签(也就是存储转发地址)、数据流表项(包括数据流的内容和对其进行传输的控制方式)组成。nfv数据流统计控制模块主要用于统计数据流存储和转发过程中的性能结果信息,该模块由模块标签(与数据流标签完全相同)、数据流统计标签(本质上就是一个针对数据流处理数量的计数器)组成。nfv数据流状态控制模块主要用于采集数据流的状态信息,采集信息的目标是数据交换设备,该模块由模块标签(与数据流标签完全相同)、数据流发送标签(是对网管控制中心的数据流发送规则进行定义,并控制是否发送,其值为1表示已发送,其值为0表示未发送)、数据流更新标签(是对下一个新的数据流转发启动规则进行定义,并控制是否对更新的数据流进行发送,其值为1,则数据流发送标签也应为1)、规则执行标签(是对数据流存储和转发规则执行情况进行定义,也包括更新后的数据流发送,是网管控制中心和交换机进行数据流表进行匹配确认的关键)。

在图7所示的网管数据流存储转发模型中,当数据交换机接收到一个数据流后,通过规则执行标签进行匹配确认,如果没有通过,交换机则会向网管控制中心发送反馈信息;网管控制中心针对某一个网管功能,重新生成一个数据流,数据流表项将存储在nfv数据流转发模块,在定义新的数据流标签后,再次反馈给网管控制中心,并进行匹配确认后,在nfv数据流状态控制模块中会创建一个数据流更新标签,并在nfv数据流统计控制模块中生成数据流统计标签。nfv数据流统计控制模块和nfv数据流状态控制模块可以计算出针对某一个网管功能在处理过程中所需要的最大的数据传输率(即数据吞吐量),最大的数据传输率的计算值就是数据流发送标签取值为1时,nfv数据流统计控制模块的全部统计结果总值,根据前文提出的sdn网络资源模型设计算法,网管数据流存储转发模型就可以确定某一个网管功能在处理过程中所需要的最大的数据传输率。对于网络资源的优化分配,还需要通过资源互补算法,利用某一个数据流的实际流量及所占全部数据流的权重(权重是指数据流占用资源的比重),对每个网络中的数据交换机进行数据流传输资源的分配,通过尽量多地启用“高利用”通道原则(流量大、权重值大的数据流占用“高利用”通道原则),也就是最大化占用交换机的全部资源。图8为本发明实施例一提供的一种网管数据流存储转发模型的数据流存储转发和资源分配算法实现流程图示。

s150、根据系统层次模型和网管数据流存储转发模型,对资源互补算法进行仿真分析。

本发明进行的网络传输数据流量检测主要依据本校网站两个月统计的网站传输数据流量和使用networx网络监视器在本地某合作单位检测统计的两个月传输数据流量。检测的主要评价参数为数据流转发时对网络资源的利用率、数据流表损失率。

在数据流转发时对网络资源的利用率检测中,验证检测的方法采用本发明提出的算法、常用的internet流量工程mpls-te方法和networx网络监视器三种。

针对本校网站统计的传输数据流量,本发明算法检测到的能够转发97.86%的流量,mpls-te方法检测到的能够转发79.58%的流量,networx网络监视器检测到的能够转发98.62%的流量。针对合作单位统计的传输数据流量,本发明算法检测到的能够转发96.94%的流量,mpls-te方法检测到的能够转发74.13%的流量,networx网络监视器检测到的能够转发97.85%的流量。检测数据比较结果详见表1所示。

表1三种方法检测得到的网络资源利用率对比表

表1所示的结果表明,本发明算法具有较好的网络资源利用率。mpls-te方法不受数据流传输带宽影响,引入了具有,负载均衡策略,但在数据流存储转发时,各模块的标签定义具有一定的约束性,且对网络拥塞节点不起作用。networx网络监视器则是一种完全基于网络流程监控的工具,与本发明算法和mpls-te方法在技术原理上没有共性,在本发明中仅起到验证比较作用;另外,该工具还是后续验证的数据流量采集工具,对其性能进行验证也是必不可少的。

在数据流转发时对数据流表损失率检测中,以检测到的本校网站两个月统计的数据传输流量和使用networx网络监视器在本地合作单位检测统计的两个月数据传输流量为依据,在数据流存储转发的不同数量状态下,通过统计数据流表损失率,验证本发明提出算法的动态资源分配性能,其资源分配性能以监测内存的使用情况为主要目标。验证比较的方法主要包括:本发明提出的算法、页面置换算法(leastrecentlyused,lru)、最不常用页面置换算法(leastfrequentlyused,lfu)三种,同时,在同等数据流存储转发量的状态下,还提供一个最优的数据流表损失率数据,以供对三种方法获取的数据流表损失率数据进行比较。其监测获取的数据比较结果详见表2所示。

表2三种方法监测得到的数据流表损失率对比表(a)本校网站数据传输流表损失率

(b)合作单位数据传输流表损失率

表2所示的结果表明,本发明算法占用处理内存较多,拥有较低的数据流表损失率,与理想值的效果接近。lru算法和lfu算法都是依据处理内存在以往被占用的情况分析,进行预估性数据流存储转发,而本发明算法则对被定义的数据流必须进行处理。当然,在大型网络系统中,无论何种情况下,数据传输流表损失率都为0%,也只是一种理想结果,面对动态性、异构性网络环境因素是任何算法都有漏洞。

为了对合作单位使用本发明提出算法的网络资源分配效果进行进一步验证,本发明以网络功能运行数据流传输效率(网络传输时延)和网络资源选用准确率为评价参数,使用mininet工具进行仿真实验,使用mininet工具的主要目的是模拟构建合作单位网络系统的拓扑结构。实验数据流由networx网络监视器采集生成。对合作单位的虚拟局域网进行标识,并以此作为网管功能应用的基础标签;对于多个网管功能应用,则使用sdn网络中常用的floodlight作为定义多种网管功能应用标签的工具,floodlight还可以对openflow交换机流表的数量进行控制,这是对网络资源分配结果进行统计的关键。

在网络功能运行数据流传输效率检测中,以在进行网络资源分配时系统内存的占用情况为检测对象,分别使用本发明提出的资源分配算法、随机资源分配算法(radom算法)和资源分配首次适应算法(first-fit算法)进行数据流传输效率检测。选用随机资源分配和资源分配首次适应两种算法的目的不仅用于提供性能比较,还可以验证本发明提出算法是否具有随机资源分配和首次适应资源分配两种机制;另外,这两种算法都具有网络传输资源分配的功能。实验检测的主要参数为数据流(也就是数据流表)的数量和数据流传输时延,实验检测结果如表3所示。

表3使用三种方法检测到的数据流表传输时延

表3所示的结果表明,使用本文算法进行仿真实验时,通过监测各类网管功能数据流,不仅可以对某一个数据流的传输时延进行检测,还可以全部数据流的传输时延进行检测,与radom算法和first-fit算法相比,本文算法具有较高的数据流传输效率,其网络传输资源分配更为公平。三种算法随着数据流量的增加,基本上都会出现传输时延下降的情况,到数据流量增加至一定限量时,其传输时延基本相同,也说明了此时数据流传输已不需要进行资源分配。

对网络资源选用准确率的检测,检测方法基本与数据流传输效率检测相同,实验检测的主要参数为数据流的数量和网络资源选用的准确率,实验检测结果如表4所示。

表4使用三种方法检测到的网络资源选用准确率

表4所示的结果表明,本文算法在网络资源选用准确率方面都优于radom算法和first-fit算法,其准确率高的主要原因是对网络带宽资源、数据流表资源和交换机流表资源的准确定义,所引入的资源互补策略也充分协调应用了以上三类资源;而radom算法和first-fit算法所关注的重点是网络带宽资源。另外,表3所示的结果也能说明这一问题。

以上验证结果表明:本文设计算法在进行网管功能应用时,一个数据流在某一台交换机中存储转发的传输效率越高,则全部数据流在实现全部网管功能所涉及的全部交换机中存储转发的传输效率也越高。这是一个较为重要的结果,可以通过对整个dns网络传输平均时延的推算进行证明。

依据前文对dns网络资源管理模型的定义,假设全部网管功能数据流的集合为tp,时延变量为τ,全部的网管功能集合为p,某一个数据流实际分配到的传输带宽变量为nd,其中,变量p与全部交换机集合s存在关联,有p∈p(s)和s∈s(p),t(s,p)为针对所有交换机在进行网管过程中产生的数据流集合。则dns网络实现数据流传输的平均时延可以使用公式(10)表示为:

其中,∑pndtp=∑pnd∑st(s,p)(τ),则有公式(11)存在:

通过公式(11)可以看出:某一台交换机s在完成一个数据流的存储转发时,时延τ越小,则可以说明∑pnd∑st(s,p)(τ)的计算值也会越小,也就表示dns网管数据流的传输时延越小,其网管数据流存储转发的传输效率也就越高。

本发明在设计一个三层结构清晰的sdn网络管理系统模型基础上,针对两个实验环境,通过网络传输数据流量进行检测,对数据流传输效果进行验证;通过利用mininet仿真实验,从数据流表传输时延和网络资源选用准确率两个角度,对三类资源动态分配效果进行验证;全部实验对局部和全局数据流的高效存储转发进行了验证。

资源管理是sdn网管系统的重要组成部分,其关键是如何实现网管资源的公平、优化分配,网管资源也不仅仅就是网络传输带宽一个方面,针对传输数据本身、传输通道、数据交换设备等因素定义数据流表也是一种不可忽视的网络资源,本文的研究重点就是以网络带宽和数据流表的优化分配为目标,构建资源管理模型。相关研究工作得出了以下结果:

(1)sdn网管系统中的功能控制层具有良好的开放性,可以对网络带宽、数据流表和交换机硬件流表进行准确定义。

(2)本文提出的“高利用”和“低利用”资源传输通道是实现网络带宽和两类流表资源建立关联的有效途径。

(3)公平、有效的资源分配模型设计,还需要对所实现的网管功能、网管对象、数据传输通道、数据流对资源的需求等要素进行定义。

(4)本文提出以拉格朗日对偶分解理论为基础的最大值和最小值网管资源分配策略,可同时针对局部和整体实现网管资源的公平、最优分配。

(5)使用本文提出的资源补偿算法,是实现尽量多地使用“高利用”资源传输通道的有效方法。

(6)一个数据流只要在sdn网络中被转发,则必然调用了网络带宽、数据流表和交换机的硬件流表三类资源,并能够通过局部和全局资源优化分配算法和资源补偿算法,实现最优资源分配策略。

通过从多个角度进行实验验证,也表明了以上结果的正确性;同时,通过数据流传输的平均时延参量的定义,对本文提出算法模型的独特优势进行了验证。

本发明实施例提供了一种网络资源管理方法,包括:确定针对三方资源的高利用传输通道和低利用传输通道,其中,三方资源包括网络带宽、数据流表和数据交换硬件设备信息流表,高利用传输通道用于传输可以通过数据交换机进行转发的高利用资源信息,低利用传输通道用于传输不能通过数据交换机进行转发的低利用资源信息;利用拉格朗日最大值和最小值对偶分解原理,构建网络资源分配模型;根据网络资源分配模型,确定资源互补算法,资源互补算法用于对数据流实际分配到的传输带宽进行动态调节,以最大化利用高利用传输通道实现传输。从而充分利用了网络带宽、数据流表和数据交换硬件设备信息流表三方资源,实现了网管资源的最优、公平和动态分配。

实施例二

本发明实施例还提供了一种网络资源管理装置,包括:处理器,处理器用于在执行计算机程序时实现具有上述实施例任一特征的网络资源管理方法。

图9为本发明实施例二提供的一种网络资源管理装置的结构示意图,如图9所示,该网络资源管理装置包括处理器20、存储器21、输入装置22和输出装置23;网络资源管理装置中处理器20的数量可以是一个或多个,图9中以一个处理器20为例;网络资源管理装置中的处理器20、存储器21、输入装置22和输出装置23可以通过总线或其他方式连接,图9中以通过总线连接为例。总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。处理器20通过运行存储在存储器21中的软件程序、指令以及模块,从而执行网络资源管理装置的各种功能应用以及数据处理,即实现上述的方法。

存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据网络资源管理装置的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器20远程设置的存储器,这些远程存储器可以通过网络连接至网络资源管理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置22可用于接收输入的数字或字符信息,以及产生与网络资源管理装置的用户设置以及功能控制有关的键信号输入。输出装置23可包括显示屏等显示装置。

实施例三

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的一种网络资源管理方法,该方法具体可以但不限于上述各方法实施例所公开的内容。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++、ruby、go,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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