CN102664802B - 基于反馈的自适应多约束的路径搜索方法 - Google Patents
基于反馈的自适应多约束的路径搜索方法 Download PDFInfo
- Publication number
- CN102664802B CN102664802B CN201210118658.3A CN201210118658A CN102664802B CN 102664802 B CN102664802 B CN 102664802B CN 201210118658 A CN201210118658 A CN 201210118658A CN 102664802 B CN102664802 B CN 102664802B
- Authority
- CN
- China
- Prior art keywords
- path
- additivity
- constraint
- constraints
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于反馈的自适应多约束的路径搜索方法,其包括:当基于单源最短路径算法搜索第一节点至第二节点的满足第一加性约束条件且不满足第二加性约束条件的第一路径时,搜索所述第二节点至第一节点的满足所述第二加性约束条件的第二路径,当确定所述第二路径不满足所述第一加性约束条件,则基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设第一加性约束、预设第二加性约束来确定搜索所述第一节点至第二节点之间的第三路径的的度量函数以单源最短路径算法来搜索所述第三路径,以确定所述第三路径是否同时满足所述第一加性约束条件和第二加性约束条件。由此,可有效提高搜索的成功率。
Description
技术领域
本发明涉及一种路由器的路径搜索方法,特别是涉及一种基于反馈的自适应多约束的路径搜索方法。
背景技术
随着网络规模的日益扩大,QoS路径算法一直是网络领域的研究热点。网络技术的高速发展和各种网络服务兴起,人们对网络服务质量的要求也越来越高,然而IP网络无法提供服务质量保证。为满足用户需求,人们提出了多QoS约束路由。多QoS约束路由是一种基于数据流QoS请求和网络可用资源进行路由的机制。多QoS约束路由不但能满足对多个QoS参数有严格要求的业务的传输需求,而且可以提高网络传输效率,充分利用网络资源,网络运营商也可以通过多QoS约束路由对不同需求的用户提供不同质量的服务。
其中,利用单混合度量参数路由算法来搜索满足多QoS约束的最短路径是一种解决网络传输效率的方法。其中,单混合度量参数路由算法主要思想是将多个QoS约束通过一个线性或非线性函数表示成一个度量函数,然后利用最短路径算法最终近似解决QoS路由问题。其理论依据是单个度量函数求解两节点间最短路径能在多项式时间内完成。
目前,常用的单混合度量参数路由算法将两个可加性QoS参数通过线性花费函数拟合成单一函数值,再以该函数值为路径选择的度量,调用Dijkstra算法寻找路径。缺陷是成功率相对较低,最后找出的路径虽然具备最少花费,但搜索出的路径未必能同时满足两可加性QoS约束。
因此,需要对现有的单混合度量参数路由算法进行改进,以提高同时满足多个可加性QoS约束的路径的搜索成功率。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于反馈的自适应多约束的路径搜索方法,以提高同时满足多个可加性QoS约束的路径的搜索成功率。
为实现上述目的及其他相关目的,本发明提供一种基于反馈的自适应多约束的路径搜索方法,其包括步骤:1)基于单源最短路径算法搜索第一节点至第二节点的满足第一加性约束条件的第一路径;判断所述第一路径的第二加性约束是否满足第二加性约束条件;若所述第一路径的第二加性约束满足第二加性约束条件,则结束搜索并将所述第一路径作为第一节点至第二节点的可行路径;反之,若所述第一路径的第二加性约束不满足第二加性约束条件时,则进入步骤2):基于单源最短路径算法搜索所述第二节点至第一节点的满足所述第二加性约束条件的第二路径,判断所述第二路径的第一加性约束是否满足第一加性约束条件;若所述第二路径的第一加性约束满足第一加性约束条件,则结束搜索并将所述第二路径作为第一节点至第二节点的可行路径;反之,若所述第二路径的第一加性约束不满足所述第一加性约束条件,则进入步骤3):基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一节点至第二节点之间的第三路径的度量函数,以单源最短路径算法来搜索所述第三路径;在确定所述第三路径同时满足所述第一加性约束条件和所述第二加性约束条件的情形下,将所述第三路径作为第一节点至第二节点的可行路径。
优选地,若所述第一路径与所述第二路径中存在除第一节点和第二节点以外的至少一个共有节点,所述步骤3)还包括:3-1)基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一路径与第二路径不重叠的共有节点之间的子路径的第一加性约束的权重以及所述子路径的第二加性约束的权重;3-2)基于所述第一路径与第二路径不重叠的共有节点之间的子路径的第一加性约束的权重和第二加性约束的权重所得到的度量函数以单源最短路径算法来搜索所述子路径,并用所述子路径替换所述第一路径和第二路径中对应节点之间的路径部分,以确定替换后的第一路径或第二路径是否同时满足所述第一加性约束条件和所述第二加性约束条件;在确定替换后的第一路径或第二路径同时满足所述第一加性约束条件和所述第二加性约束条件的情形下,将所述替换后的第一路径或第二路径作为第一节点至第二节点的可行路径。
优选地,若所述替换后的第一路径和第二路径均不满足所述第一加性约束条件和所述第二加性约束条件,所述步骤3)还包括:基于替换后的第一路径和第二路径中最小的第一加性约束和最小的第二加性约束、以及预设的第一加性约束、预设的第二加性约束来重复步骤3-1)和步骤3-2)。
优选地,当搜索的每一条路径都不能同时满足第一加性约束条件和第二加性约束条件,所述基于反馈的自适应多约束的路径搜索方法还包括步骤4):基于各路径中共有节点之间的每两条子路径的第一加性约束差值和第二加性约束差值的比值的绝对值进行排序,并基于排序结果来逐个交换所述两条子路径,直至确定交换后的路径同时满足所述第一加性约束条件和所述第二加性约束条件,并将同时满足所述第一加性约束条件和所述第二加性约束条件的交换后的路径作为第一节点至第二节点的可行路径。
优选地,所述步骤1)还包括:当基于单源最短路径算法搜索以第一节点为起点的一条路径的第一加性约束大于第一阈值,且该条路径当前的最后一个节点并非所述第二节点时,终止沿该条路径继续搜索,并剪断该条路径当前的最后一个节点与其下一跳节点之间的路径。
优选地,所述步骤2)还包括:基于单源最短路径算法从剪断后的各节点路径中搜索所述第二节点至第一起点的满足所述第二加性约束条件的第二路径,并确定所述第二路径是否满足所述第一加性约束条件。
优选地,所述步骤3)中:先以公式来确定第三路径的第一加性约束的权重,以公式来确定第三路径的第二加性约束的权重,其中dmin为第一路径的第一加性约束,jmin为第二路径的第二加性约束,C1为第一加性约束条件中的最大值,C2为第二加性约束条件中的最大值,再基于所述第一加性约束的权重和第二加性约束的权重来拟合度量函数。
优选地,所述步骤3)中:基于所述第三路径的第一加性约束的权重和第三路径的第二加性约束的权重以得到度量函数的方式为:以 公式来确定
第三路径的第二加性约束的权重,其中dmin为第一路径的第一加性约束,jmin为第二路径的第二加性约束,C1为第一加性约束条件中的最大值,C2为第二加性约束条件中的最大值,A为第三路径的第一加性约束,B为第三路径的第二加性约束。
优选地,所述单源最短路径算法为Di jkstra算法。
优选地,所述第一节点为路由起点而所述第二节点为路由终点,或者所述第一节点为路由终点而所述第二节点为路由起点。
如上所述,本发明的基于反馈的自适应多约束的路径搜索方法,具有以下有益效果:利用正向和逆向搜索的路径的加性约束来改变搜索第一节点与第二节点间的最短路径的约束的权重,并基于上述权重来搜索最短路径,能够有效提高搜索成功率,并大大降低搜索复杂度;另外,在利用单源最短路径算法搜索第一节点至第二节点的过程中,当搜索的当前路径的约束超出预设阈值,而未得到最短路径时,则终止沿该路径的搜索,以提高搜索效率,同时,利用上一次搜索的节点路径来搜索第二节点至第一节点的最短路径,能进一步提高搜索效率;此外,在单源最短路径算法未能搜索出满足约束条件的路径时,通过交换各路径中的共有节点之间的子路径来构成新的路径,不但进一步提高了搜索成功率,同时未增加运算复杂度,有效弥补了单源最短路径算法的缺陷。
附图说明
图1显示为本发明的基于反馈的自适应多约束的路径搜索方法的流程图。
图2显示为本发明的基于反馈的自适应多约束的路径搜索方法的一种优选实施例的流程图。
图3显示为本发明的基于反馈的自适应多约束的路径搜索方法所搜索的第一路径和第二路径的图示。
图4显示为本发明的基于反馈的自适应多约束的路径搜索方法所搜索的多条路径的图示。
元件标号说明
S1-S4 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
图1所示为本发明的一种基于反馈的自适应多约束的路径搜索方法的流程示意图。所述基于反馈的自适应多约束的路经搜索方法主要由路径搜索系统来执行,所述路径搜索系统为安装在路由设备中的应用模块等。该路由设备为一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信息处理的现代化智能电子设备,其硬件包括但不限于:接入路由器;企业级路由器;骨干级路由器等。
在步骤S1)中,所述路径搜索系统基于单源最短路径算法搜索第一节点至第二节点的满足第一加性约束条件的第一路径;判断所述第一路径的第二加性约束是否满足第二加性约束条件;若所述第一路径的第二加性约束满足第二加性约束条件,则结束搜索并将所述第一路径作为第一节点至第二节点的可行路径;反之,若所述第一路径的第二加性约束不满足第二加性约束条件时,则进入步骤S2。其中,所述单源最短路径算法指基于预设的度量函数来计算第一节点至第二节点的最短路径,其中,所述度量函数可以只考虑路径的一个约束,也可以综合路径的多个约束,所述单源最短路径算法包括但不限于:Be1man-Ford算法(贝尔曼-福特算法)、贪婪算法,优选地,所述单源最短路径算法为Dijkstra算法。所述第一加性约束条件和所述第二加性约束条件指能够传输某网络业务数据的第一节点至第二节点之间的路径的加性约束条件,其包括但不限于:延时、抖动、成本等。例如,网络业务为网络视频业务,则第一节点至第二节点间的路径需满足延时约束条件不大于50ms,且抖动约束条件不大于20ms的条件。
需要说明的是,本领域技术人员应该理解,用单源最短路径算法来搜索第一节点至第二节点的满足第一加性约束条件的第一路径的方式,在此不再详述。其中,所述第一节点为路由起点而所述第二节点为路由终点,或者所述第一节点为路由终点而所述第二节点为路由起点。搜索第一节点至第二节点的可行路径包括:搜索以第一节点为路由起点、所述第二节点为路由终点的可行路径,或搜索以第二节点为路由起点、所述第一节点为路由终点的可行路径。
具体地,当所述路径搜索系统基于单源最短路径算法没有搜索到第一节点至第二节点的满足第一加性约束条件的第一路径,则退出搜索,并认定没有可行路径。
当所述路径搜索系统基于单源最短路径算法搜索到第一节点至第二节点的满足第一加性约束条件的第一路径,则判断所述第一路径的第二加性约束是否满足第二加性约束条件,若满足,则退出搜索,并认定所述第一路径作为传输第一节点S至第二节点T的数据的可行路径,反之,则进入步骤S2。
例如,所述第一加性约束条件为延时约束小于15毫秒,第二加性约束条件为抖动约束小于20毫秒,则所述路径搜索系统以单源最短路径算法搜索满足求第一加性约束条件的第一节点S至第二节点T的第一路径L2,当确定所述第一路径L2的第二加性约束同时满足所述第二加性约束条件,则所述路径搜索系统退出搜索,并认定所述第一路径L2作为传输第一节点S至第二节点T的数据的可行路径,当确定所述第一路径L2的第二加性约束不满足所述第二加性约束条件,则进入步骤S2)。
需要说明的是,本领域技术人员应该理解,上述基于单源最短路径算法来搜索第一节点至第二节点的满足延时约束条件的第一路径,并判断所述第一路径是否满足抖动约束条件的方式仅为举例,事实上,任何基于单源最短路径算法来搜索第一节点至第二节点的满足第一加性约束条件的第一路径,并判断所述第一路径是否满足第二加性约束条件的方式均包含在本发明之内。
优选地,在所述第一节点至第二节点的满足所述第一加性约束条件的第一路径过程中,所述步骤S1还包括步骤S11(未予图示)。
在步骤S11中,当所述路径搜索系统当基于单源最短路径算法搜索以第一节点为起点的一条路径的第一加性约束大于第一阈值,且该条路径当前的最后一个节点并非所述第二节点时,终止沿该条路径继续搜索,并剪断该条路径当前的最后一个节点与其下一跳节点之间的路径。
例如,所述第一加性约束条件为延时约束小于70毫秒,所述第一阈值为68毫秒,所述路径搜索系统基于单源最短路径算法搜索以第一节点S为起点的3条路径分别为:
L3:{S,m1,m2,m3,m4,m5}
L4:{S,k1,k2,k3}
L5:{S,g1,g2,g3,g4,g5}
其中,m5、k3和g5均非第二节点T,所述路径L3的第一加性约束为69毫秒,路径L4的第一加性约束为40毫秒,路径L5的第一加性约束为52毫秒,所述路径搜索系统判定路径L3的第一加性约束已大于第一阈值,则不再继续搜索,并剪断所述节点m5与下一跳节点m6和m7之间的路径,转而利用单源最短路径算法继续搜索L4和L5两条路径,直至搜索出第一节点S至第二节点T的路径L4’,若所述路径L4满足第二加性约束条件,则退出搜索,否则进入步骤S2。
接着,在步骤S2中,所述路径搜索系统基于单源最短路径算法搜索所述第二节点至第一节点的满足所述第二加性约束条件的第二路径,判断所述第二路径的第一加性约束是否满足第一加性约束条件;若所述第二路径的第一加性约束满足第一加性约束条件,则结束搜索并将所述第二路径作为第二节点至第一节点的可行路径;反之,若所述第二路径的第一加性约束不满足所述第一加性约束条件,则进入步骤S3。
需要说明的是,本领域技术人员应该理解,上述基于单源最短路径算法搜索所述第二节点至第一节点的满足所述第二加性约束条件的第二路径,并确定所述第二路径是否满足所述第一加性约束条件的方式与步骤S1中基于单源最短路径算法搜索第一节点至第二节点的满足第一加性约束条件的第一路径,并确定所述第一路径的第二加性约束是否满足第二加性约束条件的方式相同或相似,在此不再详述。
例如,所述路径搜索系统基于单源最短路径算法搜索所述第二节点T至第一节点S的满足第二约束条件为抖动约束小于20毫秒的第二路径L2,若无法找到,则退出搜索,并确定在第二节点T至第一节点S之间无满足抖动约束条件小于20毫秒的路径,若搜索到所述第二路径L2,且满足延时小于15毫秒的约束条件,则退出搜索,并确定所述第二路径L2为传输所述第一节点S与第二节点T之间的数据的可行路径,当所述第二路径L2不满足第一加性约束条件,则进入步骤S3。
优选地,在所述第二节点至第一节点的满足所述第二加性约束条件的第二路径过程中,所述步骤S2还包括步骤S21(未予图示)。
在步骤S21中,所述路径搜索系统基于单源最短路径算法从剪断后的各节点路径中搜索所述第二节点至第一起点的满足所述第二加性约束条件的第二路径,并确定所述第二路径是否满足所述第一加性约束条件。
例如,所述路径搜索系统在步骤S11中剪断节点m5与节点m6和节点m7之间的路径,当所述路径搜索系统以第二节点T为起点搜索的路径包括路径L7、路径L8,其中,所述路径L7为{T,n1,n2,m7},路径L8为{T,n4,n5,n6},则所述路径搜索系统终止继续沿路径L7搜索,而继续搜索路径L8,以得到从第二节点T至第一节点S的满足所述第二加性约束条件的路径L8’,并确定所述路径L8’是否满足所述第一加性约束条件,若满足,则退出搜索,若不满足,则进入步骤S3。
在步骤S3中,所述路径搜索系统基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一节点至第二节点之间的第三路径的度量函数,以单源最短路径算法来搜索所述第三路径;在确定所述第三路径同时满足所述第一加性约束条件和所述第二加性约束条件的情形下,将所述第三路径作为第一节点与第二节点之间的可行路径。
其中,预设的第一加性约束包括任何能够用来计算使所述第三路径的第一加性约束满足第一加性约束条件的加性约束值,其包括但不限于第一加性约束条件中的最大值、中间值、最小值、平均值等。预设的第二加性约束包括任何能够用来计算权重,以使所述第三路径的第二加性约束满足第二加性约束条件的加性约束值,其包括但不限于第二加性约束条件中的最大值、中间值、最小值、平均值等。
具体地,所述路径搜索系统先以公式来确定所述第三路径的第一加性约束的权重,以公式来确定所述第三路径的第二加性约束的权重,其中dmin为第一路径的第一加性约束,jmin为第二路径的第二加性约束,C1为第一加性约束条件中的最大值,C2为第二加性约束条件中的最大值,再基于所述第一加性约束的权重和第二加性约束的权重来拟合度量函数。
例如,按步骤S1取得的第一路径L1的第一加性约束为延时约束120毫秒,以步骤S2取得的第二路径L2的第二加性约束为抖动约束230毫秒,所述第一加性约束条件为延时约束小于200毫秒,第二加性约束条件为抖动约束小于300毫秒,则所述路径搜索系统基于公式确定第三路径L3的第一加性约束的权重为0.44,确定第三路径L3的第二加性约束的权重为0.55。
接着,所述路径搜索系统将所述第三路径L3的第一加性约束的权重和第三路径的第二加性约束的权重拟合成一度量函数。
具体地,所述路径搜索系统拟合的度量函数为:
并基于Dijkstra算法,并改变所述第三路径L3的第一加性约束和第二加性约束来搜索所述第三路径L3,在确定所述第三路径L3同时满足所述第一加性约束条件和所述第二加性约束条件的情形下,将所述第三路径L3作为第一节点与第二节点之间的可行路径,其中dmin为按步骤S1取得的第一路径的第一加性约束,jmin为按步骤S2取得的第二路径的第二加性约束,C1为第一加性约束条件中的最大值,C2为第二加性约束条件中的最大值,A为第三路径的第一加性约束,B为第三路径的第二加性约束。
需要说明的是,本领域技术人员应该理解,基于度量函数以Dijkstra算法搜索路径的方式,在此不再详述。
优选地,若所述第一路径与所述第二路径中存在除第一节点和第二节点以外的至少一个共有节点,所述步骤S3还包括步骤S31(未予图示)和步骤S32(未予图示)。
在步骤S31中,所述路径搜索系统基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一路径与第二路径不重叠的共有节点之间的子路径的第一加性约束的权重以及所述子路径的第二加性约束的权重。
其中,搜索所述第一路径与第二路径不重叠的共有节点之间的子路径指当所述第一路径在共有节点之间的路径与第二路径在该共有节点之间的路径不重叠,搜索该共有节点之间的子路径。例如,如图3所示,搜索第一节点S与共有节点A1之间的子路径,搜索共有节点A2与共有节点A3之间的子路径等。
需要说明的是,本领域技术人员应该理解,上述基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一路径与第二路径在共有节点之间的路径不重叠的子路径的第一加性约束的权重以及所述子路径的第二加性约束的权重的方式与前述步骤S3中基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一节点至第二节点之间的第三路径的第一加性约束的权重以及所述第三路径的第二加性约束的权重的方式相同或相似,在此不再详述。
例如,如图3所示,按照步骤S1取得的第一节点S至第二节点T的第一路径为L1,按照步骤S2取得的第二节点T至第一节点S的第二路径为L2,其中,第一路径L1与第二路径L2均包含S、A1、A2、A3和T五个共有节点,则所述路径搜索系统基于所述第一路径L1的第一加性约束、所述第二路径L2的第二加性约束、所述第一加性约束条件中的最大值、所述第二加性约束条件中的最大值来确定搜索节点S和节点A1之间的子路径的第一加性约束的权重以及所述子路径的第二加性约束的权重。
接着,在步骤S32中,所述路径搜索系统基于所述第一路径与第二路径不重叠的共有节点之间的子路径的第一加性约束的权重和第二加性约束的权重所得到的度量函数以单源最短路径算法来搜索所述子路径,并用所述子路径替换所述第一路径和第二路径中对应节点之间的路径部分,在确定替换后的第一路径或第二路径同时满足所述第一加性约束条件和所述第二加性约束条件的情形下,将所述替换后的第一路径或第二路径作为第一节点至第二节点的可行路径。
需要说明的是,本领域技术人员应该理解,上述基于所述子路径的第一加性约束的权重和子路径的第二加性约束的权重来计算度量函数的方式与前述步骤S3中基于所述第三路径的第一加性约束的权重和第三路径的第二加性约束的权重来计算度量函数的方式相同或相似,在此不再详述。
例如,如图3所示,所述路径搜索系统在步骤S31中确定节点S与节点A1之间的子路径L3的第一加性约束的权重和第二加性约束的权重后,再基于度量函数的公式(1)来计算子路径L3的度量函数D,并基于所述度量函数D和Dijkstra算法来确定所述子路径L3,并用所述子路径L3来替换第一路径L1中节点S与节点A1之间的子路径L1-1,以及第二路径L2中节点S与节点A1之间的子路径L2-1,并确定替换后的第一路径L1’或第二路径L2’是否有同时满足所述第一加性约束条件和所述第二加性约束条件,若所述第一路径L1’同时满足所述第一加性约束条件和所述第二加性约束条件,则所述路径搜索系统确定所述第一路径L1’为节点S与节点T之间传输数据的可行路径。
若所述替换后的第一路径L1’和第二路径L2’均不满足所述第一加性约束条件和所述第二加性约束条件,则所述路径搜索系统基于替换后的第一路径和第二路径中最小的第一加性约束和最小的第二加性约束、以及预设的第一加性约束、预设的第二加性约束来重复步骤S31和步骤S32。
具体地,如图3所示,所述路径搜索系统在步骤S31和步骤S32中确定替换后的路径L1’和路径L2’仍不满足第一加性约束条件和所述第二加性约束条件,则所述路径搜索系统基于路径L1’和路径L2’中第一加性约束的最小值和第二加性约束的最小值、以及预设的第一加性约束、预设的第二加性约束来确定节点A2和节点A3之间的子路径L4的第一加性约束的权重和第二加性约束的权重,以及基于所述子路径L4的第一加性约束的权重和第二加性约束的权重所得到的度量函数以单源最短路径算法来搜索所述子路径L4。
作为一种优选方案,如图2所示,当搜索的每一条路径都不能同时满足第一加性约束条件和第二加性约束条件时,所述路径搜索方法还包括步骤S4。
在步骤S4中,所述路径搜索系统基于各路径中共有节点之间的每两条子路径的第一加性约束差值和第二加性约束差值的比值的绝对值进行排序,并基于排序结果来逐个交换该共有节点之间的两条子路径,直至确定交换后的路径同时满足所述第一加性约束条件和所述第二加性约束条件,并将同时满足所述第一加性约束条件和所述第二加性约束条件的交换后的路径作为第一节点至第二节点的可行路径。
具体地,所述路径搜索系统先基于共有节点将步骤S1、步骤S2和步骤S3所搜索的各路径分段,接着,基于公式将共有节点之间的每两条子路径的交换顺序进行排序,其中d1、d2分别为共有节点之间的属于一路径的子路径的第一加性约束和属于另一路径的子路径的第一加性约束,j1、j2分别为共有节点之间的属于一路径的子路径的第二加性约束和属于另一路径的子路径的第二加性约束;接着,依据排序的结果逐个交换所述共有节点之间的绝对值最小的两条子路径,以形成新的路径,再确定交换后的路径是否同时满足第一加性约束条件和第二加性约束条件,若不满足,则依据排序的结果逐个交换其他共有节点之间的两子路径,依次类推,若都不满足,则退出搜索,并认定未找到可行路径,反之,则将本次交换后的路径作为一条可行路径。
例如,如图4所示,第一约束条件为:延时约束不大于340毫秒,第二约束条件为:抖动约束不大于500毫秒,所述路径搜索系统按照步骤S1、步骤S2和步骤S3所搜索的路径分别为路径T1、T2和T3,其中:
路径T1和路径T3的共有节点为S、A1、A3和T,其中,路径T1中节点S至节点A1之间的子路径T11的第一加性约束和第二加性约束分别为延时约束100毫秒、抖动约束200毫秒,节点A1至节点A3的子路径T12的第一加性约束和第二加性约束分别为延时约束90毫秒、抖动约束270毫秒,节点A3至节点T的子路径T13的第一加性约束和第二加性约束分别为延时约束110毫秒、抖动约束150毫秒;路径T3中节点S至节点A1的子路径T31的第一加性约束和第二加性约束分别为延时约束200毫秒、抖动约束50毫秒,节点B1至节点A3的子路径T32的第一加性约束和第二加性约束分别为延时约束100毫秒、抖动约束150毫秒,节点A3至节点T的子路径T33的第一加性约束和第二加性约束分别为延时约束80毫秒、抖动约束200毫秒;
路径T2和路径T1的共有节点为S、A3、T,其中,路径T2中节点S至节点A3之间的子路径T2-1的第一加性约束和第二加性约束分别为延时约束240毫秒、抖动约束210毫秒,节点A3至节点T的子路径T22的第一加性约束和第二加性约束分别为延时约束100毫秒、抖动约束350毫秒;
路径T3和路径T1的共有节点也是S、A3、T;
所述路径搜索系统先基于共有节点S、A3、T来对路径T1、路径T2和路径T3进行分段,接着,基于公式对节点S至节点A3段的中各子路径的交换顺序进行排序:
路径T1与路径T2在节点S至节点A3段的绝对值为:
路径T1与路径T3在节点S至节点A3段的绝对值为:
路径T2与路径T3在节点S至节点A3段的绝对值为:
则所述路径搜索系统交换路径T1与路径T2在节点S至节点A3段的子路径,以得到子路径T11、T12、T22所构成的新路径T1’,以及子路径T21、T13所构成的新路径T2’,接着所述路径搜索系统确定路径T1’的延时约束为290毫秒、抖动约束为750毫秒,路径T2’的延时约束为340毫秒、抖动约束为360毫秒,则所述路径搜索系统得到路径T2’为满足第一约束条件和第二约束条件的一条可行路径。
若路径T1’与路径T2’仍不满足第一约束条件和第二约束条件,则所述路径搜索系统基于共有节点S、A1、A3、T来对路径T1、路径T2进行分段,并重复上述步骤,以判断交换后的路径是否满足第一约束条件和第二约束条件,若不满足,则退出搜索,确定未找到可行路径,反之,确定一条满足第一约束条件和第二约束条件的可行路径,以便路由器基于该路径传输第一节点S与第二节点T之间的数据。
需要说明的是,本领域技术人员应该理解,上述排序的方式仅为举例,事实上可以基于任何共有节点之间的子路径的第一加性约束差值和第二加性约束差值的比值的绝对值的排序来逐个交换共有节点之间的子路径,并基于每次交换后的路径来确定该次交换后的路径是否同时满足第一加性约束条件和第二加性约束条件的方式均包含在本发明范围之内。
还需要说明的是,上述基于第一加性约束条件和第二加性约束条件所搜索出的路径,以及各路径的第一加性约束的数值和第二加性约束的数值仅为举例,事实上,任何基于第一加性约束条件和第二加性约束条件所搜索出的路径,以及各路径的第一加性约束的数值和第二加性约束的数值均包含在本发明之内。
作为有一种优选方案,所述路径搜索系统在执行步骤S1之前还执行步骤S5(未予图示)。
在步骤S5中,所述路径搜索系统基于请求带宽来去除预设的第一节点与第二节点之间的路径,以便在步骤S1中从去除后的路径中选择一条同时满足第一约束条件和第二约束条件的路径。
具体地,所述路径搜索系统基于存储的历史路由数据为第一节点和第二节点分配一个域,并将该域划分成若干小区,通过第一节点和第二节点及请求带宽找到对应域中的具体区,在该区里记录该带宽值对应的第一加性约束和第二加性约束的最小值。更新数据时,只有当请求带宽小于当前存储区内的带宽时才更新对应的数据,如果各个区已都存有记录,将每个区跨度变小,重新划分区。在预判请求时,如果请求带宽大于对应区的带宽,且第一加性约束条件或第二加性约束条件小于对应区存储的第一加性约束或第二加性约束,则拒绝该请求,退出搜索,否则剪断带宽大于请求带宽的链路,以便执行步骤S1。由此可大大缩减搜索第一节点与第二节点之间的可行路径的时间,提高搜索效率。
综上所述,本发明的基于反馈的自适应多约束的路径搜索方法利用正向和逆向搜索的路径的加性约束来改变搜索第一节点与第二节点间的最短路径的约束的权重,并基于上述权重来搜索最短路径,能够有效提高搜索成功率,并大大降低搜索复杂度;另外,在利用单源最短路径算法搜索第一节点至第二节点的过程中,当搜索的当前路径的约束超出预设阈值,而未得到最短路径时,则终止沿该路径的搜索,以提高搜索效率,同时,利用上一次搜索的节点路径来搜索第二节点至第一节点的最短路径,能进一步提高搜索效率;此外,在单源最短路径算法未能搜索出满足约束条件的路径时,通过交换各路径中的共有节点之间的子路径来构成新的路径,不但进一步提高了搜索成功率,同时未增加运算复杂度,有效弥补了单源最短路径算法的缺陷。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种基于反馈的自适应多约束的路径搜索方法,其特征在于,所述基于反馈的自适应多约束的路径搜索方法至少包括:
步骤1)基于单源最短路径算法搜索第一节点至第二节点的满足第一加性约束条件的第一路径;判断所述第一路径的第二加性约束是否满足第二加性约束条件;若所述第一路径的第二加性约束满足第二加性约束条件,则结束搜索并将所述第一路径作为第一节点至第二节点的可行路径;反之,若所述第一路径的第二加性约束不满足第二加性约束条件时,则进入步骤2);
步骤2)基于单源最短路径算法搜索所述第二节点至第一节点的满足所述第二加性约束条件的第二路径,判断所述第二路径的第一加性约束是否满足第一加性约束条件;若所述第二路径的第一加性约束满足第一加性约束条件,则结束搜索并将所述第二路径作为第一节点至第二节点的可行路径;反之,若所述第二路径的第一加性约束不满足所述第一加性约束条件,则进入步骤3);
步骤3)基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一节点至第二节点之间的第三路径的度量函数,以单源最短路径算法来搜索所述第三路径;在确定所述第三路径同时满足所述第一加性约束条件和所述第二加性约束条件的情形下,将所述第三路径作为第一节点至第二节点的可行路径。
2.根据权利要求1所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:若所述第一路径与所述第二路径中存在除第一节点和第二节点以外的至少一个共有节点,所述步骤3)还包括:
步骤3-1)基于所述第一路径的第一加性约束、所述第二路径的第二加性约束、预设的第一加性约束、预设的第二加性约束来确定搜索所述第一路径与第二路径不重叠的共有节点之间的子路径的第一加性约束的权重以及所述子路径的第二加性约束的权重;
步骤3-2)基于所述第一路径与第二路径不重叠的共有节点之间的子路径的第一加性约束的权重和第二加性约束的权重所得到的度量函数以单源最短路径算法来搜索所述子路径,并用所述子路径替换所述第一路径和第二路径中对应节点之间的路径部分,以确定替换后的第一路径或第二路径是否同时满足所述第一加性约束条件和所述第二加性约束条件;在确定替换后的第一路径或第二路径同时满足所述第一加性约束条件和所述第二加性约束条件的情形下,将所述替换后的第一路径或第二路径作为第一节点至第二节点的可行路径。
3.根据权利要求2所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:若所述替换后的第一路径和第二路径均不满足所述第一加性约束条件和所述第二加性约束条件,所述步骤3)还包括:
基于替换后的第一路径和第二路径中最小的第一加性约束和最小的第二加性约束、以及预设的第一加性约束、预设的第二加性约束来重复步骤3-1)和步骤3-2)。
4.根据权利要求2或3所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:当搜索的每一条路径都不能同时满足第一加性约束条件和第二加性约束条件,所述基于反馈的自适应多约束的路径搜索方法还包括:
步骤4):基于各路径中共有节点之间的每两条子路径的第一加性约束差值和第二加性约束差值的比值的绝对值进行排序,并基于排序结果来逐个交换所述两条子路径,直至确定交换后的路径同时满足所述第一加性约束条件和所述第二加性约束条件,并将同时满足所述第一加性约束条件和所述第二加性约束条件的交换后的路径作为第一节点至第二节点的可行路径。
5.根据权利要求1所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:所述步骤1)还包括:
当基于单源最短路径算法搜索以第一节点为起点的一条路径的第一加性约束大于第一阈值,且该条路径当前的最后一个节点并非所述第二节点时,终止沿该条路径继续搜索,并剪断该条路径当前的最后一个节点与其下一跳节点之间的路径。
6.根据权利要求5所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:所述步骤2)还包括:
基于单源最短路径算法从剪断后的各节点路径中搜索所述第二节点至第一起点的满足所述第二加性约束条件的第二路径,并确定所述第二路径是否满足所述第一加性约束条件。
7.根据权利要求1所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:在所述步骤3)中,先以公式来确定第三路径的第一加性约束的权重,以公式来确定第三路径的第二加性约束的权重,其中dmin为第一路径的第一加性约束,jmin为第二路径的第二加性约束,C1为第一加性约束条件中的最大值,C2为第二加性约束条件中的最大值,再基于所述第一加性约束的权重和第二加性约束的权重来拟合度量函数。
8.根据权利要求7所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:所述步骤3)中:基于所述第三路径的第一加性约束的权重和第三路径的第二加性约束的权重以得到度量函数的方式为:其中dmin为第一路径的第一加性约束,jmin为第二路径的第二加性约束,C1为第一加性约束条件中的最大值,C2为第二加性约束条件中的最大值,A为第三路径的第一加性约束,B为第三路径的第二加性约束。
9.根据权利要求1所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:所述单源最短路径算法为Dijkstra算法。
10.根据权利要求1所述的基于反馈的自适应多约束的路径搜索方法,其特征在于:所述第一节点为路由起点而所述第二节点为路由终点,或者所述第一节点为路由终点而所述第二节点为路由起点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210118658.3A CN102664802B (zh) | 2012-04-20 | 2012-04-20 | 基于反馈的自适应多约束的路径搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210118658.3A CN102664802B (zh) | 2012-04-20 | 2012-04-20 | 基于反馈的自适应多约束的路径搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102664802A CN102664802A (zh) | 2012-09-12 |
CN102664802B true CN102664802B (zh) | 2014-10-22 |
Family
ID=46774220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210118658.3A Expired - Fee Related CN102664802B (zh) | 2012-04-20 | 2012-04-20 | 基于反馈的自适应多约束的路径搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102664802B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923154A (zh) * | 2017-07-05 | 2022-01-11 | 华为技术有限公司 | 一种路径计算的方法、装置和系统 |
CN107517079B (zh) * | 2017-08-04 | 2019-07-23 | 北京市天元网络技术股份有限公司 | 电力通信光路迂回路由分析方法及装置 |
CN108900413B (zh) * | 2018-06-05 | 2020-10-02 | 北京邮电大学 | 一种路由路径选择方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753425A (zh) * | 2008-12-01 | 2010-06-23 | 北京航空航天大学 | 在多约束下求取网络中多条最短简单路径的启发式方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049145B2 (en) * | 2008-06-18 | 2015-06-02 | Futurewei Technologies, Inc. | Method and apparatus for calculating MPLS traffic engineering paths |
-
2012
- 2012-04-20 CN CN201210118658.3A patent/CN102664802B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753425A (zh) * | 2008-12-01 | 2010-06-23 | 北京航空航天大学 | 在多约束下求取网络中多条最短简单路径的启发式方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102664802A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257287B (zh) | 一种最短路径确定方法及控制器 | |
CN108600102B (zh) | 一种基于智慧协同网络的柔性数据传输系统 | |
KR100450407B1 (ko) | 서비스 품질(QoS)보장 다중경로 계산방법 | |
CN109120525B (zh) | 用于sdn的路径确定方法、装置、sdn控制器及网络 | |
CN1798068B (zh) | 在网络中提供有限中继保护通道的方法和设备 | |
US8493869B2 (en) | Distributed constraints-based inter-domain network traffic management | |
US9049145B2 (en) | Method and apparatus for calculating MPLS traffic engineering paths | |
CN103379032A (zh) | 跨域端到端路由的获取方法及装置、子路由计算实体 | |
CN106878170B (zh) | 一种转发路径确定方法和装置 | |
CN106998295B (zh) | 基于专用保护联合故障概率约束的最优化路由与频谱分配方法和系统 | |
US20110110368A1 (en) | Path calculation system | |
US20230308352A1 (en) | Optimization method and system for minimizing network energy consumption based on traffic grooming | |
CN110225418B (zh) | 一种基于SDN的HTTP视频流QoE路由优化方法 | |
CN109429117B (zh) | 路由选择方法和设备 | |
EP2890063B1 (en) | Method and apparatus for determining energy-efficient routing | |
CN102664802B (zh) | 基于反馈的自适应多约束的路径搜索方法 | |
CN106506188A (zh) | 一种确定关键节点的方法和设备 | |
CN102710596B (zh) | 基于QoE的路由选择方法 | |
CN105207905A (zh) | 路由选择方法和装置 | |
Dzida et al. | Optimization of the shortest-path routing with equal-cost multi-path load balancing | |
Xiao et al. | QoS routing in communication networks: approximation algorithms based on the primal simplex method of linear programming | |
Kengne Tchendji et al. | Traffic predictive-based flow splitting rerouting scheme for link failures in software-defined networks | |
Hu et al. | Multi-constrained routing optimization algorithm based on DAG | |
CN102694725B (zh) | 基于带宽来双向搜索路径的方法 | |
CN107995109B (zh) | 路由方法及路由设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141022 Termination date: 20170420 |