一种分布式网络流量自组织调度方法转让专利

申请号 : CN201410469645.X

文献号 : CN104219319B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖甫赵帅帅王汝传韩志杰王少辉孔维莉

申请人 : 南京邮电大学

摘要 :

本发明提供一种适用于分布式网络环境中的网络流量调度方法,流量调度过程中采用基于卡尔曼滤波的网络流量预测方法对分布式网络流量中心采集的流量进行预测,由于分布式网络环境中流量调度模型是一个多维背包问题,这是一个NP问题,同时结合预测流量和各网络时延等因素,解这个NP问题,得到一个优化的调度结果,使得通过流量调度以后,分布式网络能够在服务器承载能力范围内最大比例地访问服务器,同时报文传播时延及跳数等最小化,实现负载均衡的目的,流量调度效果最佳。应用本方法可以实现分布式网络流量的高效预测和高利用率、低消耗的流量调度。

权利要求 :

1.一种分布式网络环境下流量调度方法,其特征在于该方法包含在以下的具体步骤:分布式网络环境下流量调度步骤如下:

初始场景设置:

步骤1)设置分布式网络环境参数:分布式网络可控流量中心数量及产生的流量;可访问的服务器数量;每个服务器可承载的访问流量能力;分布式网络中的节点到达服务器的平均时延以及经过的跳数;

分布式网络流量调度:

步骤2)各分布式网络环境开始进行流量采集,分布式服务器端采用时间窗机制对流量进行采集,提高流量采集的效率,DHT网络即分布式哈希网络,由网络中受控节点探测周围在线邻居节点流量完成采集工作,SDN网络即软件定义网络,是在控制器中统计所有经过包的信息完成流量采集工作;

步骤3)分布式网络每个网络流量中心收集到的网络流量采用流量预测算法进行预测,预测算法采用基于卡尔曼滤波的预测方法;

步骤4)分布式网络的集中控制服务器端对每个网络流量中心发送的预测结果进行流量调度,流量调度的影响因素有分布式网络各网络产生的流量以及网络流量到达各个服务器的平均时延及跳数,即在满足受调度的访问流量小于等于服务器承载流量的条件下访问流量最大并且传播时延最小;

步骤5)集中控制服务器端将调度结果发送给每个流量中心;

步骤6)分布式网络各流量中心在收到命令后,将根据调度结果访问服务器;

所述的对分布式网络中的流量进行调度,其求解的本质就是在满足一些资源约束的前提下,从候选对象集中发现一个能够使总的利益函数值最大的对象子集;

流量调度的模型需要满足两个条件:一是调度向可访问的服务器的流量小于其最大承载能力且尽可能调度多的流量,实现流量调度的负载均衡目的;二是调度向每一个资源服务器的流量具有最小时延,减小传播代价,更好地实现流量调度的目的;

记n为分布式网络流量中心的数量,m为可访问的服务器的数量,Tk为第K个流量产生区域到达可访问的服务器的代价,La、Lb为可访问的服务器需要的网络流量;

记向量{X1,X2,...Xn}为调度向量,其中Xk(k∈[0,n])取值为0或者1,Xk取值为1则第k个流量中心调度向服务器,取0则不调度;

将调度向量代入上文描述的约束条件,记调度向服务器A的调度向量为{aX1,aX2,...aXn},向服务器B的向量为{bX1,bX2,...bXn}则......

,其中i,j∈[1,n];

流量调度模型是一个多维背包问题,采用果蝇优化算法对流量调度模型求解,得到一组n维向量矩阵为调度结果。

2.根据权利要求1所述的一种分布式网络环境下流量调度方法,其特征在于所述的流量预测过程采用基于卡尔曼滤波的流量预测,卡尔曼滤波如下,卡尔曼滤波模型假设k时刻的真实状态是从k-1时刻的状态演化而来,符合下式:Xk=FkXk-1+BkUk+WkZk=HkXk+Vk

其中,XK系统在时刻K的状态,

ZK对状态的观测值,

Uk是k时刻对系统的控制量,

Wk表示过程的噪声,并假定其符合均值为零,协方差矩阵为Qk的多元正态分布,Vk是观测噪声,其均值为零,其协方差矩阵为Rk,且服从正态分布,Fk,Bk,Hk是系统参数,对于多模型系统,他们为矩阵。

3.根据权利要求2所述的一种分布式网络环境下流量调度方法,其特征在于所述的卡尔曼滤波的操作包括预测与更新两个阶段:在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计;在更新阶段,滤波器利用对当前状态的观测值优化在预测阶段获得的预测值,以获得一个更精确的新估计值。

4.根据权利要求2所述的一种分布式网络环境下流量调度方法,其特征在于所述的卡尔曼滤波,其计算流程为:预测阶段:

预测状态

预测估计协方差矩阵Pk|k-1=FkPk-1|k-1FkT+Qk更新阶段:

测量余量

测量余量协方差Sk=HkPk|k-1HkT+Rk最优卡尔曼增益Kk=Pk|k-1HkTSk-1用以上公式更新滤波器变量X和P:

更新的状态估计

更新的协方差估计Pk|k=(I-KkHk)Pk|k-1在每个流量控制中心通过预测算法最大精度地预测下一阶段的流量,并将预测结果发送到集中控制服务器端,集中控制服务器端根据调度算法对分布式网络中的流量进行调度。

说明书 :

一种分布式网络流量自组织调度方法

技术领域

[0001] 本发明是一种适用于分布式网络(Distributed Network)环境中,采用基于卡尔曼滤波(Kalman filtering)的流量预测和基于果蝇优化(Fruit Fly Optimization Algorithm,FOA)的流量调度方案,实现分布式网络环境中的流量负载均衡。本技术属于计算机网络领域。

背景技术

[0002] 随着网络时代特别是宽带时代的到来,网络更加贴近人们的日常生活,计算机网络与传统产业的结合日渐紧密,网络用户对互联网的依赖性也越来越大。网络中用户越来越多,用户的需求也多种多样,对网络的要求产生巨大的压力。深入分析网络的运行状况可以发现,网络带宽大幅增加,但网络使用效率却没有成正比的提升,网络资源利用率低。而分布式网络的产生具有极大的意义,分布式网络是由分布在不同地点且具有多个终端的节点机互连而成。分布式网络中,各个网络独立控制,中央控制中心只需要进行整体调度。在分布式系统中,不强调集中控制的概念,具有一个以全局控制中心为基础的分层控制结构,但是每个分布式网络都具有高度的自主权。分布式网络大大降低了网络中全局控制中心的压力,使得网络具有更高的效率及安全性。
[0003] 网络流量是网络业务的最直接载体,网络流量的调度问题,能够直接反映网络性能的好坏,也会直接影响网络性能,理想状态的网络应当能够承载任何突发流量,突发流量很容易导致网络整体性能的下降,将会导致网络性能严重下降。并且随着网络用户传递的信息不断丰富,在网络带宽紧张、成本昂贵的情况下,解决带宽与网络业务之间的矛盾,构建快速、稳定、高质量的网络,保障关键网络业务传输质量,实现网络资源的充分利用,成为现代化网络需要解决方案的重要组成部分。互联网覆盖范围广、接入用户多、承载业务复杂。对于现代化网络覆盖范围广泛,线路资源有限,高速带宽费用昂贵,快速增加的业务流量与有限的带宽资源之间的矛盾,使得网络上的流量很容易产生拥塞,导致业务延时增加、流量抖动,用户网络需求无法满足。因此,网络流量调度技术非常重要,分析网络流量特性,优化网络流量调度性能,是网络流量工程的重要方面。
[0004] 网络流量调度就是针对目前网络快速发展、网络规模飞速扩大的环境下,对存在的网络盲目扩张、资源利用率低、流量总体不均衡等问题,通过对网络流量的采集和流量分析,采用基于果蝇优化的流量调度算法,实现对流量的调度与调整,使得流量按需调度,提升对用户的服务水平,提高网络资源的利用率,使网络调整工作实现可知、可控,达到工作集中化、信息化、规范化的要求。

发明内容

[0005] 技术问题:本发明的目的是提供一种分布式网络环境下流量调度方法,采用基于卡尔曼滤波的网络流量预测和基于果蝇优化算法的流量调度相结合的方法,实现分布式网络流量调度。通过本方法可以实现分布式网络流量的高效预测和高利用率、低消耗的流量调度。
[0006] 技术方案:本发明的方法采用基于卡尔曼滤波的网络流量预测和基于果蝇优化算法的流量调度相结合的调度方案,实现分布式网络中流量调度。分布式流量调度模型分为流量采集与预测阶段、流量调度两个模块。流量采集与预测模块分为流量采集和流量预测,分布式服务器端采用时间窗机制对流量进行采集,提高流量采集的效率,DHT网络由网络中受控节点探测周围在线邻居节点流量完成采集工作,SDN网络是在控制器中统计所有经过包的信息完成流量采集工作,这些网络根据每一时间段采集的流量用流量预测算法进行预测,预测算法采用基于卡尔曼滤波的流量预测方法;流量调度阶段是针对每个网络发送的预测流量根据流量调度算法完成分布式网络流量调度,流量调度模型有两个关键参数,是受调度的访问流量总和及传播时延,在满足受调度的访问流量小于等于服务器承载流量的条件下访问流量最大并且传播时延最小。
[0007] 分布式网络环境下流量调度包含在以下具体步骤中:
[0008] 初始场景设置:
[0009] 初始场景设置:
[0010] 步骤1)设置分布式网络环境参数:分布式网络可控流量中心数量及产生的流量;可访问的服务器数量;每个服务器可承载的访问流量能力;分布式网络中的节点到达服务器的平均时延以及经过的跳数等;
[0011] 分布式网络流量调度:
[0012] 步骤2)各分布式网络环境开始进行流量采集,分布式服务器端采用时间窗机制对流量进行采集,提高流量采集的效率,DHT网络即分布式哈希网络,由网络中受控节点探测周围在线邻居节点流量完成采集工作,SDN网络即软件定义网络,是在控制器中统计所有经过包的信息完成流量采集工作;
[0013] 步骤3)分布式网络每个网络流量中心收集到的网络流量采用流量预测算法进行预测,预测算法采用基于卡尔曼滤波的预测方法;
[0014] 步骤4)分布式网络的集中控制服务器端对每个网络流量中心发送的预测结果进行流量调度,流量调度的影响因素有分布式网络各网络产生的流量以及网络流量到达各个服务器的平均时延及跳数等,即在满足受调度的访问流量小于等于服务器承载流量的条件下访问流量最大并且传播时延最小;
[0015] 步骤5)集中控制服务器端将调度结果发送给每个流量中心;
[0016] 步骤6)分布式网络各流量中心在收到命令后,将根据调度结果访问服务器。
[0017] 所述的流量预测过程采用基于卡尔曼滤波的流量预测,卡尔曼滤波如下,[0018] 卡尔曼滤波模型假设k时刻的真实状态是从(k-1)时刻的状态演化而来,符合下式:Xk=FkXk-1+BkUk+Wk
[0019] Zk=HkXk+Vk
[0020] 其中,XK系统在时刻K的状态,
[0021] ZK对状态的观测值,
[0022] Uk是k时刻对系统的控制量,
[0023] Wk表示过程的噪声,并假定其符合均值为零,协方差矩阵为Qk的多元正态分布,[0024] Vk是观测噪声,其均值为零,其协方差矩阵为Rk,且服从正态分布,[0025] Fk,Bk,Hk是系统参数,对于多模型系统,他们为矩阵。
[0026] 所述的卡尔曼滤波的操作包括预测与更新两个阶段:在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计;在更新阶段,滤波器利用对当前状态的观测值优化在预测阶段获得的预测值,以获得一个更精确的新估计值。
[0027] 所述的卡尔曼滤波,其计算流程为:
[0028] 预测阶段:
[0029] 预测状态
[0030] 预测估计协方差矩阵Pk|k-1=FkPk-1|k-1FkT+Qk更新阶段:
[0031] 测量余量
[0032] 测量余量协方差Sk=HkPk|k-1HkT+Rk
[0033] 最优卡尔曼增益Kk=Pk|k-1HkTSk-1
[0034] 用以上公式跟新滤波器变量X和P:
[0035] 更新的状态估计
[0036] 更新的协方差估计Pk|k=(I-KkHk)Pk|k-1
[0037] 在每个流量控制中心通过预测算法最大精度地预测下一阶段的流量,并将预测结果发送到集中控制服务器端,集中控制服务器端根据调度算法对分布式网络中的流量进行调度。
[0038] 所述的对分布式网络中的流量进行调度,其求解的本质就是在满足一些资源约束的前提下,从候选对象集中发现一个能够使总的利益函数值最大的对象子集;
[0039] 流量调度的模型需要满足两个条件:一是调度向可访问的服务器的流量小于其最大承载能力且尽可能调度多的流量,实现流量调度的负载均衡目的;二是调度向每一个资源服务器的流量具有最小时延,减小传播代价,更好地实现流量调度的目的;
[0040] 记n为分布式网络流量中心的数量,m为可访问的服务器的数量,Tk为第K个流量产生区域到达可访问的服务器的代价,La、Lb等为可访问的服务器需要的网络流量。
[0041] 记向量{X1,X2,...Xn}为调度向量,其中Xk(k∈[0,n])取值为0或者1,Xk取值为1则第k个流量中心调度向服务器,取0则不调度;
[0042] 将调度向量代入上文描述的约束条件,记调度向服务器A的调度向量为{aX1,aX2,...aXn},向服务器B的向量为{bX1,bX2,...bXn}则
[0043]
[0044]
[0045]
[0046] ,其中i,j∈[1,n];
[0047] 流量调度模型是一个多维背包问题,采用果蝇优化算法对流量调度模型求解,得到一组n维向量矩阵为调度结果。
[0048] 有益效果:分布式网络流量自组织调度方法首先从实际方面考虑,方案考虑了分布式网络的网络结构以及访问流量实际产生数量,同时在满足不超过服务器负载流量的情况下,网络流量调度代价最小,流量调度代价考虑包括传播时延及报文到达服务器的跳数,将每个分布式网络中的网络节点分别到达服务器的时延和跳数整合作为一个代价参数,作为调度的依据之一,并从实际出发,由于网络流量的波动性,采用流量预测手段得到流量调度时刻的汇聚流量,也作为调度的依据之一。由于流量调度模型是一个多维背包问题(MKP),采用基于果蝇优化算法的流量调度方法解决流量调度模型,对分布式网络中的流量中心进行调度。本方案实现了在不超过服务器承载能力的同时调度最大的访问流量,同时加入各个分布式网络流量到达服务器的时延和跳数,实现分布式网络流量最小代价的自组织调度。

附图说明

[0049] 图1是多节点流量调度过程。
[0050] 图2是流量采集和预测过程。
[0051] 图3是分布式网络流量调度过程。

具体实施方式

[0052] 图2是流量采集和预测过程,分布式服务器网络、DHT网络、SDN网络单独对流量进行采集,并且根据每一时间段流量采用预测算法进行流量预测,并发送预测流量结果到集中控制服务器为流量调度做准备。
[0053] 流量预测过程采用基于卡尔曼滤波的流量预测,卡尔曼滤波如下[0054] 卡尔曼滤波模型假设k时刻的真实状态是从(k-1)时刻的状态演化而来,符合下式:Xk=FkXk-1+BkUk+Wk
[0055] Zk=HkXk+Vk
[0056] 其中,XK系统在时刻K的状态
[0057] ZK对状态的观测值
[0058] Uk是k时刻对系统的控制量
[0059] Wk表示过程的噪声,并假定其符合均值为零,协方差矩阵为Qk的多元正态分布。
[0060] Vk是观测噪声,其均值为零,其协方差矩阵为Rk,且服从正态分布。
[0061] Fk,Bk,Hk是系统参数,对于多模型系统,他们为矩阵。
[0062] 卡尔曼滤波的操作包括两个阶段:预测与更新。在预测阶段,滤波器使用上一状态的估计,做出对当前状态的估计。在更新阶段,滤波器利用对当前状态的观测值优化在预测阶段获得的预测值,以获得一个更精确的新估计值。
[0063] 卡尔曼滤波的计算流程为:
[0064] 预测阶段:
[0065] 预测状态
[0066] 预测估计协方差矩阵Pk|k-1=FkPk-1|k-1FkT+Qk更新阶段:
[0067] 测量余量
[0068] 测量余量协方差Sk=HkPk|k-1HkT+Rk
[0069] 最优卡尔曼增益Kk=Pk|k-1HkTSk-1
[0070] 用以上公式跟新滤波器变量X和P:
[0071] 更新的状态估计
[0072] 更新的协方差估计Pk|k=(I-KkHk)Pk|k-1
[0073] 在每个流量控制中心通过预测算法最大精度地预测下一阶段的流量,并将预测结果发送到集中控制服务器端,集中控制服务器端根据调度算法对分布式网络中的流量进行调度。
[0074] 分布式网络环境中的流量调度模型是一个多维背包问题,多维背包问题(multidimensional knapsack problem,MKP)是一个经典的组合优化问题,其求解的本质就是在满足一些资源约束的前提下,从候选对象集中发现一个能够使总的利益函数值最大的对象子集。
[0075] 流量调度模型需要满足两个条件:一是调度向可访问的服务器的流量小于其最大承载能力且尽可能调度多的流量,实现流量调度的负载均衡目的;二是调度向每一个资源服务器的流量具有最小时延,减小传播代价,更好地实现流量调度的目的。
[0076] 记n为分布式网络流量中心的数量,m为可访问的服务器的数量,Tk为第K个流量产生区域到达可访问的服务器的代价,La、Lb等为可访问的服务器需要的网络流量。
[0077] 记向量{X1,X2,...Xn}为调度向量,其中Xk(k∈[0,n])取值为0或者1,Xk取值为1则第k个流量中心调度向服务器,取0则不调度。
[0078] 将调度向量代入上文描述的约束条件,记调度向服务器A的调度向量为{aX1,aX2,...aXn},向服务器B的向量为{bX1,bX2,...bXn}则
[0079]
[0080]
[0081]
[0082] ,其中i,j∈[1,n]。
[0083] 流量调度模型是一个多维背包问题,采用果蝇优化算法对流量调度模型求解,得到一组n维向量矩阵为调度结果。
[0084] 果蝇优化算法(Fruit Fly Optimization Algorithm,FOA)是一种基于果蝇觅食行为推演出寻求全局优化的新方法。
[0085] 依照果蝇搜寻食物的特性,将其归纳为以下几个必要的步骤:
[0086] 1)、确定种群个体数量(sizepop)和最大迭代次数(maxgen),随机产生果蝇的初始位置(IntX_axis,IntY_axis);
[0087] 2)、赋予果蝇个体利用嗅觉搜寻食物的随机方向和距离(Xi,Yi);
[0088] 3)、估计与原点之间的距离(Disti),计算味道浓度判定值(Si),且Si=1/Disti;
[0089] 4)将味道浓度的判定值(Si)代入味道浓度判定函数(Fitnesse function)求出该果蝇个体位置的味道浓度(Smelli);
[0090] 5)、找出此果蝇群体中味道浓度最高的果蝇(求最大值);
[0091] 6)、保留最佳味道浓度值(Si)与(Xi,Yi)坐标,此时果蝇群体利用视觉向该位置飞去;
[0092] 7)、迭代寻优,重复执行2-5步,并判断当前味道浓度是否由于前一迭代味道浓度,否则执行步骤6.
[0093] 流量调度过程中,将随机初始位置为一组随机的n维向量,味道浓度判定函数(Fitnesse function)即为时延跳数的总和: 在判定过程函数执行之前要添加判断条件,判断是否传播时延是否小于前一次寻优结果的传播时延,本算法通过不断迭代寻优得到最优的调度结果。
[0094] 基于果蝇优化的流量调度算法在最大程度上实现流量均衡的目的并且得到调度效果最优的调度结果,集中控制服务器根据这个流量调度结果对整个分布式系统进行流量调度,分布式网络中各区域将根据调度结果进行流量调度,如图3,完成整个流量调度过程。
[0095] 方案首先进行初始场景设置,具体如下:
[0096] 初始场景设置:
[0097] 步骤1)设置分布式网络环境参数:分布式网络可控流量中心数量及产生的流量(兆);可访问的服务器数量;每个服务器可承载的访问流量能力;分布式网络中的节点到达服务器的平均时延以及经过的跳数等;
[0098] 分布式网络流量调度:
[0099] 步骤2)各分布式网络环境开始进行流量采集,分布式服务器端采用时间窗机制对流量进行采集,提高流量采集的效率,DHT网络由网络中受控节点探测周围在线邻居节点流量完成采集工作,SDN网络是在控制器中统计所有经过包的信息完成流量采集工作。
[0100] 步骤3)分布式网络每个网络流量中心收集到的网络流量采用流量预测算法进行预测,预测算法采用基于卡尔曼滤波的预测方法;
[0101] 步骤4)分布式网络的集中控制服务器端对每个网络流量中心发送的预测结果进行流量调度,流量调度的影响因素有分布式网络各网络产生的流量以及网络流量到达各个服务器的平均时延及跳数等,即在满足受调度的访问流量小于等于服务器承载流量的条件下访问流量最大并且传播时延最小;
[0102] 步骤5)集中控制服务器端将调度结果发送给每个流量中心;
[0103] 步骤6)分布式网络各流量中心在收到命令后,将根据调度结果访问服务器。