System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件定义网络,特别涉及一种基于软件定义网络控制器的决策树维护方法及系统。
技术介绍
1、软件定义网络(software defined networking,sdn)是一种新兴的体系结构,它将网络控制和转发功能解耦。sdn将网络划分为数据平面、控制平面和应用平面三个主要层次。应用平面由一个或多个sdn应用程序组成,通过北向接口传递给控制平面,以实现不同的网络功能;控制平面从逻辑上集中观察和控制整个网络;数据平面由交换机组成,在控制平面的管理下通过端口和链路转发数据包。
2、控制平面采用南向接口协议与数据平面通信,允许控制器直接访问和控制交换机。然而,直接使用南向接口协议控制交换机,需要程序员掌握繁琐的消息格式和底层细节,比如需要明确知道每一条流流表项匹配的字段以及其相应的操作,主动下发给交换机,操作复杂,容易出错。
3、在控制器之上提供一层高级应用程序编程接口,屏蔽底层通信协议的复杂性,对于简化用户网络策略的编写具有重要意义。用户使用通用编程语言形成数据包的转发策略,控制器根据用户策略中调用的函数与处理数据包过程中参与匹配的数据包字段构建决策树,控制器基于决策树生成流表项,将流表项下发到交换机指导交换机处理数据包。然而,随着控制器处理不同数据包数量的增多,决策树的规模会不断扩大,造成控制器在运行时查找速度变慢,对交换机的响应时间变长,影响数据包的正常转发。
4、南京邮电大学提出了一种通过对sdn控制器中决策树分支进行合并缩小决策树规模、减少生成流表项数量的方法。但这种方法并不能限
技术实现思路
1、本专利技术的目的在于,克服现有基于软件定义网络控制器的决策树维护方法,无法控制决策树的规模,导致占用过多内存空间,影响数据包正常转发的问题,从而提供一种基于软件定义网络控制器的决策树维护方法及系统。
2、为解决上述技术问题,本专利技术的技术方案所提供的一种基于软件定义网络控制器的决策树维护方法,包括以下步骤:
3、步骤1:通过软件定义网络控制器,基于流表项增长的速度以及处理决策树淘汰分支的时间,设置阈值;
4、步骤2:当决策树生成的流表项的数量大于阈值时,通过软件定义网络控制器,获取各流表项在交换机中的运行统计数据,并基于对应的运行统计数据计算各流表项的淘汰优先级;
5、步骤3:通过软件定义网络控制器,基于各流表项的淘汰优先级,确定在决策树中的待淘汰分支,对待淘汰分支进行剪枝处理,并对相应的流表项进行删除处理。
6、作为上述方法的一种改进,所述步骤1具体包括:通过软件定义网络控制器,基于流表项增长的速度以及处理决策树淘汰分支的时间,设置阈值c:
7、
8、其中,o为交换机流表项容量,υ为流表项增长的速度,t为处理决策树淘汰分支的时间。
9、作为上述方法的一种改进,所述步骤2具体包括:
10、当决策树生成的流表项的数量大于阈值时,通过软件定义网络控制器,获取各流表项在交换机中的运行统计数据,其中,运行统计数据包括但不限于:流表项的命中次数和当前时间与流表项上次命中时间的时间间隔δt1;
11、通过软件定义网络控制器,基于对应的运行统计数据计算各流表项的淘汰优先级s:
12、
13、其中,n为流表项的命中次数,δt1为当前时间与流表项上次命中时间的时间间隔,a第一加权系数,b为第二加权系数;
14、作为上述方法的一种改进,所述步骤3具体包括:
15、各流表项的淘汰优先级s按照由小到大进行排序,获取前k个淘汰优先级s对应的流表项;其中,k为超出阈值的流表项数量;
16、将k个流表项分别对应的决策树分支作为决策树中的待淘汰分支;
17、通过软件定义网络控制器,对决策树中的待淘汰分支进行剪枝处理;
18、通过软件定义网络控制器,基于南向接口协议标准,构建删除流表项的消息,并通知交换机删除相关流表项。
19、为实现本专利技术的另一目的,本专利技术还提供一种基于软件定义网络控制器的决策树维护系统,所述系统包括:软件定义网络控制器,其中,所述软件定义网络控制器包括:
20、阈值设定模块,用于基于流表项增长的速度以及处理决策树淘汰分支的时间,设置阈值;
21、淘汰优先级计算模块,用于在基于决策树生成的流表项的数量大于阈值时,获取各流表项在交换机中的运行统计数据,并基于对应的运行统计数据计算各流表项的淘汰优先级;和
22、剪枝模块,用于基于各流表项的淘汰优先级,确定在决策树中的待淘汰分支,对待淘汰分支进行剪枝处理,并对相应的流表项进行删除处理。
23、作为上述系统的一种改进,所述阈值设定模块,具体用于:
24、基于流表项增长的速度以及处理决策树淘汰分支的时间,设置阈值c:
25、
26、其中,o为交换机流表项容量,v为流表项增长的速度,t为处理决策树淘汰分支的时间。
27、作为上述系统的一种改进,所述淘汰优先级计算模块,具体用于:
28、当决策树生成的流表项的数量大于阈值时,获取各流表项在交换机中的运行统计数据,其中,运行统计数据包括但不限于:流表项的命中次数和当前时间与流表项上次命中时间的时间间隔δt1;
29、基于对应的运行统计数据计算各流表项的淘汰优先级s:
30、
31、其中,n为流表项的命中次数,δt1为当前时间与流表项上次命中时间的时间间隔,a第一加权系数,b为第二加权系数;
32、作为上述系统的一种改进,所述剪枝模块,具体用于:
33、将各流表项的淘汰优先级s按照由小到大进行排序,获取前k个淘汰优先级s对应的流表项;其中,k为超出阈值的流表项数量;
34、将k个流表项分别对应的决策树分支作为决策树中的待淘汰分支;
35、对决策树中的待淘汰分支进行剪枝处理;
36、基于南向接口协议标准,构建删除流表项的消息,并通知交换机删除相关流表项。
37、本专利技术的优点在于,本专利技术的提供的基于软件定义网络控制器的决策树维护方法及系统,通过流表项增长的速度以及处理决策树淘汰分支的时间,设定了阈值,并利用该阈值限定了决策树的规模,利用淘汰优先级确定待淘汰分支,可以确保淘汰的分支为最近使用频率较少的分支,本专利技术保证了决策树不占用过多内存空间,还保证了数据包的正常转发。
本文档来自技高网...【技术保护点】
1.一种基于软件定义网络控制器的决策树维护方法,所述方法包括以下步骤:
2.根据权利要求1所述的基于软件定义网络控制器的决策树维护方法,其特征在于,所述步骤1具体包括:通过软件定义网络控制器,基于流表项增长的速度以及处理决策树淘汰分支的时间,设置阈值C:
3.根据权利要求1所述的基于软件定义网络控制器的决策树维护方法,其特征在于,所述步骤2具体包括:
4.根据权利要求3所述的基于软件定义网络控制器的决策树维护方法,其特征在于,所述步骤3具体包括:
5.一种基于软件定义网络控制器的决策树维护系统,其特征在于,所述系统包括:软件定义网络控制器,其中,所述软件定义网络控制器包括:
6.根据权利要求5所述的基于软件定义网络控制器的决策树维护系统,其特征在于,所述阈值设定模块,具体用于:
7.根据权利要求5所述的基于软件定义网络控制器的决策树维护系统,其特征在于,所述淘汰优先级计算模块,具体用于:
8.根据权利要求7所述的基于软件定义网络控制器的决策树维护系统,其特征在于,所述剪枝模块,具体用于:
【技术特征摘要】
1.一种基于软件定义网络控制器的决策树维护方法,所述方法包括以下步骤:
2.根据权利要求1所述的基于软件定义网络控制器的决策树维护方法,其特征在于,所述步骤1具体包括:通过软件定义网络控制器,基于流表项增长的速度以及处理决策树淘汰分支的时间,设置阈值c:
3.根据权利要求1所述的基于软件定义网络控制器的决策树维护方法,其特征在于,所述步骤2具体包括:
4.根据权利要求3所述的基于软件定义网络控制器的决策树维护方法,其特征在于,所述步骤3具体包括:
【专利技术属性】
技术研发人员:朱晓东,柳羽佳,王雨薇,凌致远,王劲林,
申请(专利权)人:中国科学院声学研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。