首页> 中国专利> 一种SDN下基于机器学习的最优路径选择算法

一种SDN下基于机器学习的最优路径选择算法

摘要

一种SDN下基于机器学习的最优路径选择算法,搭建SDN平台,模拟真实的网络环境,采集离散的实时网络状态数据,根据网络传输中不同业务对QoS指标要求的不同进行分类,并整理实验数据,得到样本数据集,将样本数据集按照不同业务对每个指标的考量标准使用启发式算法筛选最优路径,并为每组数据对应的最优路径打标签,最后使用机器学习算法训练数据集,得到分类器,达到快速动态路由的目的。本发明的结果与启发式算法的优化结果基本相同,模型的计算时间要远远小于启发式算法,从而满足实际网络运行中快速决策的必要条件。本发明的极限学习机算法与粒子群算法相比,其计算所需的cpu运行时间大大缩短,完全可以满足真实网络部署要求。

著录项

  • 公开/公告号CN109831386A

    专利类型发明专利

  • 公开/公告日2019-05-31

    原文格式PDF

  • 申请/专利权人 西安交通大学;

    申请/专利号CN201910174856.3

  • 申请日2019-03-08

  • 分类号H04L12/751(20130101);H04L12/721(20130101);G06N20/00(20190101);

  • 代理机构61200 西安通大专利代理有限责任公司;

  • 代理人安彦彦

  • 地址 710049 陕西省西安市咸宁西路28号

  • 入库时间 2024-02-19 10:46:47

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-28

    授权

    授权

  • 2019-06-25

    实质审查的生效 IPC(主分类):H04L12/751 申请日:20190308

    实质审查的生效

  • 2019-05-31

    公开

    公开

说明书

技术领域

本发明涉及在软件定义网络架构下的一般方式路由方法会产生较高时间成本的问题,提出了一种低时耗的多约束的QoS路由规划方法,具体涉及一种SDN下基于机器学习的最优路径选择算法。

背景技术

据中国互联网络信息中心发布的第42次《中国互联网络发展状况统计报告》显示:截至2018年6月,我国网民规模已达到8.02亿,移动端用户达7.88亿。并且随着信息技术的高速发展以及云计算、大数据等新兴技术的不断涌现,网络数据无论从规模上还是种类上都呈现爆炸式增长。无处不在的网络接入、大的带宽,致使对网络的动态管理更加重要。同时,目前互联网业务特征和服务需求也发生了巨大的变化,即从原有单一的点到点传输方式逐渐演化成支持多重服务类型和高质量要求的通信模式,如Web浏览,电子商务,视频会议等多业务网络需求。为了实现这一目标,互联网提供商或者网络维护管理者不得不根据各种不同的流量类型来提供不同的服务,例如为了在数据中心网络中实现高实时性来满足语音业务、可视电话等;尽可能减少拥塞,以保持E-mail、SMS、多媒体短信等业务的通信正常。近些年软件定义网络(Software—DefinedNetwork,SDN)已经成为一种非常具有吸引力的解决方案,受到人们的追捧。软件定义网络有两个重要的特性:一个是控制平面和数据平面之间相互分离,另一个是网络具有可编辑性。因此,SDN可以提高更加有效的配置,更好的性能以及更高的灵活性,更加适应未来网络的发展要求。目前关于SDN多约束条件下路由规划问题已被证实是一个NP问题,而在此类问题的解决方法上,精确的数学算法要么不能得到可信结果,要么只能在小型网路环境中正常工作,要么当考虑一个相对较大的网络规模时,此类算法则显得无能为力。因此到目前为止,很多的研究工作都集中在近似算法的研究中,得到一种尽可能优的解替换得到最优解,并且提出了一些经典的启发式算法,用于有效的管理网络流量和平衡网络环境,其中包含在多种SDN环境下路由算法的研究,尽管目前启发式算法的效果显著,得到了近似的最优解,但是存在致命缺陷,启发式算法在运行的过程中需要消耗较多的时间,无法在真实网络所要求的时间内完成动态路由的选择。

发明内容

本发明的目的在于针对满足不同业务中多个QoS指标的不同需求方面显著降低了算法的时耗,解决了现有算法引入较高时间成本的问题,提出了一种SDN下基于机器学习的最优路径选择算法,可以解决不同业务流的快速动态路由。

为实现上述目的,本发明采用如下的技术方案:

一种SDN下基于机器学习的最优路径选择算法,包括以下步骤:

第一步,搭建软件定义网络平台,模拟真实的网络环境,构建网络拓扑,采集实时网络状态数据,形成网络状态数据集;

第二步,对于网络中不同的业务,根据其对时延、抖动和丢包率的不同需求,将业务分为四大类,分别为会话类业务,流类业务,交互类,背景类;

第三步,对网络状态数据集中的数据进行预处理,采用层次分析法定义时延率、丢包比率指标消除原数据之间的量纲影响,利用欧式距离公式计算得到样本数据集;

第四步,将样本数据集合X按照不同业务对每个指标的考量标准使用粒子群算法筛选最优路径,并为每组数据对应的最优路径打标签,形成路径标签数据集;

第五步,采用极限学习机算法训练原始数据集和路径标签数据集,在极限学习机算法收敛后,使用训练好的模型对待分类数据进行分类,达到快速路由动态的目的。

本发明进一步的改进在于,第一步中,软件定义网络平台的搭建中控制器选用floodlight、opendaylight、ryu控制器或onos控制器,搭建胖树型网络拓扑、无阻碍全相连网络拓扑模拟真实网络环境。

本发明进一步的改进在于,第一步中,针对实时的网络状态数据,根据相同的时间间隔采集离散的数据集,离散数据集中的每单个样本记为:sk,k∈1,2,3...m,每个样本中的每条链路记为xij,i∈(1,2,3...n),j∈(1,2,3...),n为终端个数,xij表示源交换机到目的交换机的端到端时延、抖动以及丢包率数据,依次记为xi1,xi2,xi3...,样本数据中均能够表示成矩阵的形式。

本发明进一步的改进在于,第三步中,将网络状态数据集中的数据进行预处理,采用层次分析法将每个样本中的每条链路xij的重要指标处理根据不同业务要求处理得到对应的权重,再根据权重利用距离公式计算得到样本数据集Xij,其中i∈(1,2,3...n),j∈(1,2,3...m),即Xi=(xi1,xi2,...xim),n代表实验中样本个数,m代表网络环境中交换机的个数,样本数据集合X表示为:

本发明进一步的改进在于,样本数据集合X具体通过以下过程得到:

步骤1:原始数据预处理:

标准化:将原始数据按比例缩放,使之落入一个[0,1]的特定区域;去除原始数据的单位限制,将其转化为无量纲纯数值;

步骤2:获取实验数据

将步骤1得到的无量纲数据通过欧氏距离计算公式得到样本数据集合X。

本发明进一步的改进在于,步骤1的具体过程如下:

(1)带宽利用率ηij,被定义为网络中当前链路节点vi到节点vj已经使用的链路带宽占系统中链路最大带宽的比例,带宽利用率ηij通过如下公式计算:

这里,loadij表示当前链路节点vi到节点vj已经使用的链路带宽,loadkl表示当前链路节点vk到节点vl已经使用的链路带宽,表示当前网络状态下链路上的最大带宽容量,即最大传输速率,表示当前网络状态下链路上的最小带宽容量,即最小传输速率;

(2)时延率trij,被定义为网络中当前链路节点vi到链路节点vj传输时延与当前网络状态下链路中最大时延的比例,时延率trij通过如下公式计算:

这里,表示当前网络状态下网络中的链路上最大时延;表示当前网络状态下网络中的链路上最小时延,tdij表示链路节点vi到链路节点vj的时延,tdkl表示链路节点vk到链路节点vl的时延;

(3)丢包比率lrij,被定义为网络中当前链路节点vi到节点vj传输时,该链路上的丢包率和当前网络环境中最小丢包率之差与最大最小丢包率之差的比值;丢包比率lrij通过如下公式计算:

这里,表示当前网络状态下网络中的链路上最大时延;表示当前网络状态下网络中的链路上最小时延,lossij表示vi到vj的丢包率;losskl表示vk到vl的丢包率;

使用上述公式中的带宽利用率ηij、时延率trij以及丢包比率lrij替换原始数据中的带宽、时延、丢包率,消除原始数据之间的单位限制,将原始数据转化为无量纲数据。

本发明进一步的改进在于,第四步的具体过程为:将得到的样本数据集合X使用启发式算法筛选最优路径,反复运行启发式算法,得到每个业务要求下满足QoS指标的最优路径;由于网络状态的多元性,相同网络状态下,会存在多条最优路径,由于都是最优路径,只是所通过链路节点顺序不同,所以从相同节点之后,所有最优路径中最小节点的链路作为最优路径。

本发明进一步的改进在于,第五步的具体过程为:路径标签数据集中的每组样本数据对应一条最优路径,然后为所有样本数据对应的最优路径打标签,使它们之间成为单映射关系,得到一组带标签的数据集,该数据集中每个数据中有明确的标签,将此数据集划分为训练集和测试集;然后使用监督式学习模型,使用极限学习机算法训练此训练集,通过不断地将预测结果与实际结果进行比较,调整模型的各个参数达到预定的准确率;再使用测试集的数据对监督式学习模型的参数作进一步修正,直到模型收敛后,使用训练好的模型对待分类数据进行分类,达到快速路由动态的目的。

与现有技术相比,本发明具有的有益效果如下:

首先,搭建SDN平台,模拟真实的网络环境,采集离散的实时网络状态数据。在此网络环境下,根据网络传输中不同业务对QoS指标要求的不同进行分类。依据分类要求整理实验数据,计算权值得到样本数据集。其次,将样本数据集按照不同业务对每个指标的考量标准使用启发式算法筛选最优路径,并为每组数据对应的最优路径打标签。最后使用机器学习算法训练数据集,得到分类器,以达到快速动态路由的目的。

由于搭建软件定义网络平台,模拟真实的网络环境,构建网络拓扑,采集实时网络状态数据,所以数据真实可靠,具有信服力。

根据业务类型得到的数据集,标准化过程中去除数据的单位限制,将其转化为无量纲纯数值,避免的每个指标之间单位的影响。

将整理好的数据集按照不同业务对每个指标的考量标准使用启发式算法筛选最优路径,并为每组数据对应的最优路径打好标签,使用机器学习算法训练数据集,得到分类器,以达到快速动态路由的目的。目前启发式算法进行路由规划的效果显著,得到了近似的最优解,在路径寻优过程中更具信服力,然后使用机器学习算法训练数据集,得到分类器,以达到快速动态路由的目的。本发明的方法给出的结果与启发式算法的优化结果基本相同,但是模型的计算时间要远远小于启发式算法,从而满足实际网络运行中快速决策的必要条件。并且在同样的软硬件环境下极限学习机算法与粒子群算法相比,其计算所需的cpu运行时间大大缩短,完全可以满足真实网络部署要求。

进一步的,由于根据不同业务对QoS指标的要求不同进行分类,使得业务更具有针对性。

附图说明

图1为本发明的利用机器学习求解最优路径的详细流程图。

具体实施方式

下面结合附图和实施例对本发明作详细说明,但是本发明的保护范围不局限于所实施例。

参见图1,本发明提出了一种SDN下基于机器学习的最优路径选择算法,该算法包括以下步骤:

第一步,搭建软件定义网络平台,模拟真实的网络环境,构建网络拓扑,采集实时网络状态数据,形成网络状态数据集;

软件定义网络平台的搭建中控制器的选用,例如:floodlight、opendaylight、ryu、onos等,本发明中使用floodlight控制器,搭建胖树型网络拓扑、无阻碍全相连网络拓扑等模拟真实网络环境,采集实时的网络状态数据。

针对实时的网络状态数据,根据相同的时间间隔采集离散的数据集,离散数据集中的每单个样本记为:sk(k∈1,2,3...m),每个样本中的每条链路记为xij,i∈(1,2,3...n),j∈(1,2,3...),n为终端个数,xij表示源交换机到目的交换机的端到端时延、抖动以及丢包率等数据,依次记为xi1,xi2,xi3...,样本数据中均可表示成矩阵的形式,例如,第一个样本s1表示为:

第二步,对于网络中不同的业务,根据其对时延、抖动和丢包率的不同需求,将业务分为四大类,分别为:会话类业务,流类业务,交互类,背景类,具体分类方法如下表1所示:

表1业务的具体分类方法

由于不同业务对网络的传输能力有着不同的要求,即业务敏感的QoS的指标不同,将根据业务的实时性,传输过程中的拥塞情况,数据交互时的响应时间等将业务分为大致分为四大类。

第三步,对网络状态数据集中的数据进行预处理,考虑每个指标的影响程度不同,借鉴层次分析法定义时延率、丢包比率等指标消除原数据之间的量纲影响,利用欧式距离公式计算得到样本数据集。

具体的,由于每个指标对于源目节点在数据传输过程中的影响程度不同,将原始采集到的数据进行预处理,使用层次分析法将每个样本中的每条链路xij的重要指标处理根据不同业务要求处理得到对应的权重,再根据权重利用距离公式计算得到样本数据集Xij,其中i∈(1,2,3...n),j∈(1,2,3...m),即Xi=(xi1,xi2,...xim),n代表实验中样本个数,m代表网络环境中交换机的个数,样本数据集合X表示为:

样本数据集合X具体通过以下过程得到:

步骤1:原始数据预处理:

标准化:将原始数据按比例缩放,使之落入一个[0,1]的特定区域。去除原始数据的单位限制,将其转化为无量纲纯数值,便于不同单位或量级指标能够进行比较加权。具体过程如下:

(1)带宽利用率ηij,被定义为网络中当前链路节点vi到节点vj已经使用的链路带宽占系统中链路最大带宽的比例,带宽利用率ηij通过如下公式计算:

这里,loadij表示当前链路节点vi到节点vj已经使用的链路带宽,loadkl表示当前链路节点vk到节点vl已经使用的链路带宽,表示当前网络状态下链路上的最大带宽容量,即最大传输速率,表示当前网络状态下链路上的最小带宽容量,即最小传输速率。ηij的表达式虽然简单,但却能很直观的反应了每条链路的负载。

(2)时延率trij,被定义为网络中当前链路节点vi到链路节点vj传输时延与当前网络状态下链路中最大时延的比例,时延率trij通过如下公式计算:

这里,表示当前网络状态下网络中的链路上最大时延。表示当前网络状态下网络中的链路上最小时延,tdij表示链路节点vi到链路节点vj的时延,tdkl表示链路节点vk到链路节点vl的时延。

(3)丢包比率lrij,被定义为网络中当前链路节点vi到节点vj传输时,该链路上的丢包率和当前网络环境中最小丢包率之差与最大最小丢包率之差的比值。丢包比率lrij通过如下公式计算:

这里,表示当前网络状态下网络中的链路上最大时延。表示当前网络状态下网络中的链路上最小时延,lossij表示vi到vj的丢包率。losskl表示vk到vl的丢包率。

使用上述定义的公式中的带宽利用率ηij、时延率trij以及丢包比率lrij替换原始数据中的带宽、时延、丢包率等,消除原始数据之间的单位限制,将原始数据其转化为无量纲数据,便于其进行比较加权。

步骤2:获取实验数据

将步骤1得到的无量纲数据使用欧氏距离计算公式得到样本数据集合X。

第四步,将样本数据集合X按照不同业务对每个指标的考量标准使用粒子群算法筛选最优路径,并为每组数据对应的最优路径打标签。

将得到的样本数据集合X使用启发式算法筛选最优路径,反复运行启发式算法,得到每个业务要求下满足QoS指标的最优路径。由于网络状态的多元性,相同网络状态下,会存在多条最优路径,处理方法:由于都是最优路径,只是所通过链路节点顺序不同,在此规定从相同节点之后,所有最优路径中最小节点的链路作为最优路径。

第五步,采用极限学习机算法训练路径标签数据集,在极限学习机算法收敛后,使用训练好的模型对待分类数据进行分类,达到快速路由动态的目的。

每组样本数据将会对应一条最优路径,然后为所有样本数据对应的最优路径打标签,使它们之间成为单映射关系。将会得到一组带标签的数据集,该数据集中每个数据中有明确的标签,将此数据集划分为训练集和测试集。然后使用监督式学习模型,训练此数据集,通过不断地将预测结果与实际结果进行比较,调整模型的各个参数达到预定的准确率;再使用测试集的数据对模型的参数作进一步修正,直到模型收敛后,便可使用训练好的模型对无标签数据(即待分类数据)进行分类。即当控制器收到新的传输请求时,其便可以更具采集到的实时网络数据,独立的计算出与启发式算法近似的优化路径,然后这一路由过程非常迅速,满足真实网路部署的需求。

本发明中在极限学习机算法收敛后,能够保证有效替换启发式粒子群算法,达到减弱求解最优路径过程中的耗时问题。

本发明是基于SDN网络架构环境下实施的,搭建SDN网络平台,模拟真实网络环境,构建网络拓扑,采集离散的网络状态数据,对数据进行预处理,去除不同量纲之间的影响,借鉴层次分析法思想,确定权值,综合考虑多种QoS指标对最优路径的影响,建立实验样本数据集。使用启发式算法对整个样本数据集进行路由规划,得到样本路由数据库,其中样本数据集与样本路由数据库是单映射关系,以保证标签的唯一性。整理样本数据集和路由数据集,等分为k份,作为机器学习的数据集,然后使用k折交叉验证将机器学习算法运行在新的数据集上面,进行路由决策,以达到具备粒子群算法根据当前网络状态计算优化路由的能力。本发明的方法给出的结果与启发式算法的优化结果基本相同,但是模型的计算时间要远远小于启发式算法,从而满足实际网络运行中快速决策的必要条件。对SDN下基于机器学习的最优路径选择模型做了简单验证,效果如下表2所示。

表2算法运行时间比较

表2表明在同样的软硬件环境下,粒子群算法与极限学习机算法针对同一个当前网络状态,计算最优路径所花费的平均cpu运行时间,从表中可以看出,极限学习机算法与粒子群算法相比,其计算所需的cpu运行时间大大缩短,完全可以满足真实网络部署要求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号