[发明专利]基于Q-学习的SDN链路抗毁方法、存储介质及系统有效
申请号: | 202110554318.4 | 申请日: | 2021-05-20 |
公开(公告)号: | CN113347102B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 王炜发;杨青桦;张大眀;李勇 | 申请(专利权)人: | 中国电子科技集团公司第七研究所 |
主分类号: | H04L45/247 | 分类号: | H04L45/247;H04L45/00;H04L41/12 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 林丽明 |
地址: | 510310 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 学习 sdn 链路抗毁 方法 存储 介质 系统 | ||
1.一种基于Q-学习的SDN链路抗毁方法,其特征在于,至少包括:
S1.获取网络拓扑,统计链路状态信息,根据链路状态信息,获得每一段链路的中断概率;
步骤S1所述根据链路状态信息,获得每一段链路的中断概率的过程为:
统计一定时间段T内网络中每一段链路的中断时间ti,i表示链路序号,得到每一段链路的中断概率pi,表达式为:
pi=ti/T;
S2.通过中断概率获得每一段链路的奖励值,根据奖励值得到奖励矩阵R,设置折扣因子γ,初始化Q-学习的Q矩阵为全零矩阵;
通过中断概率获得每一段链路的奖励值为:
rwt=λlog(1-pi)+c
其中,rwt表示t时刻下数据包从交换机发送到下一个交换机时所获取的奖励值;λ表示奖励系数,c表示附加常数;pi表示每一段链路的中断概率;
S3.从网络中随机选择一个交换机作为目的交换机Sd,初始化随机选择一个交换机作为源交换机S;
S4.在源交换机S所有能到达的交换机中随机选择一个交换机作为次态交换机S',发送数据包,计算该过程中的Q值,更新Q矩阵;
Q值的计算公式为:
其中,S'表示次态交换机,γ表示折扣因子,Q表示在数据包到达源交换机S时,能够获得的最大期望收益;R(S,S′)表示立即获得的收益,γmaxQ*k(S')是未来折扣收益;通过Q值更新确定Q矩阵的所有元素;
S5.判断次态交换机S'是否为目的交换机,若是,一次交换机变化训练完成,执行步骤S6;否则,将次态交换机S'更新为当前的交换机,返回步骤S4;
S6.判断Q矩阵是否收敛,若是,通过Q矩阵的值确定最不易中断的链路路径,根据链路路径生成流表,下发至交换机的端口进行数据转发;否则,返回步骤S4。
2.根据权利要求1所述的基于Q-学习的SDN链路抗毁方法,其特征在于,γ代表Q-学习对以往奖励的在意程度,γ越大,Q-学习越在意以往的经验,反之,Q-学习越在意当前利益。
3.根据权利要求2所述的基于Q-学习的SDN链路抗毁方法,其特征在于,Q-学习的Q矩阵在精度ε下保持不变时,则Q矩阵收敛,根据Q矩阵中的元素,确定最不易中断的链路路径,根据链路路径生成流表。
4.一种存储介质,其特征在于,所述存储介质用于存储权利要求1~3任意一项所述的基于Q-学习的SDN链路抗毁方法的计算机程序。
5.一种基于Q-学习的SDN链路抗毁系统,其特征在于,所述系统用于实现权利要求1所述的SDN链路抗毁方法,包括:
交换机,设有若干个端口,所述端口用于接收数据包以及根据流表转发数据包;
链路感知模块,用于获取网络拓扑,统计链路状态信息;
概率获得模块,根据链路状态信息,获得每一段链路的中断概率;
强化学习模块,接收每一段链路的中断概率,结合中断概率,基于Q-学习计算每一段链路的奖励值,根据奖励值得到奖励矩阵R,设置折扣因子γ,更新Q矩阵,根据Q矩阵的值确定最不易中断的链路路径;
流表下发模块,根据强化学习模块确定的最不易中断的链路路径生成流表,下发至交换机的端口进行数据转发。
6.根据权利要求5所述的基于Q-学习的SDN链路抗毁系统,其特征在于,所述强化学习模块上设置有源与目的交换机节点获取单元,所述源与目的交换机节点获取单元用于从网络中随机选择一个交换机作为目的交换机Sd,初始化随机选择一个交换机作为源交换机S,强化学习模块在源交换机S所有能到达的交换机中随机选择一个交换机作为次态交换机S',发送数据包,计算该过程中的Q值,更新Q矩阵。
7.根据权利要求6所述的基于Q-学习的SDN链路抗毁系统,其特征在于,所述流表下发模块上还设有公有交换机判断模块及次跳路径交换机判断模块,所述公有交换机判断模块及次跳路径交换机判断模块执行的操作为:
SA.公有交换机判断模块接收最不易中断的链路路径信息,根据链路路径信息判断交换机是否属于两条路径公有,若是,将最不易中断的链路路径信息传输至次跳路径交换机判断模块,执行步骤SB;否则,执行步骤SC;
SB.次跳路径交换机判断模块判断此交换机在两条路径上的下一跳是否相同,若是,执行步骤SC;否则,利用添加组表项添加组播表,生成流表;
SC.按此交换机所在路径选定下一交换机作为下一跳,生成流表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第七研究所,未经中国电子科技集团公司第七研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110554318.4/1.html,转载请声明来源钻瓜专利网。