一种时间敏感网络中路径选择和门控调度的联合优化方法

您所在的位置:网站首页 cnc路径算法 一种时间敏感网络中路径选择和门控调度的联合优化方法

一种时间敏感网络中路径选择和门控调度的联合优化方法

2023-11-01 01:12| 来源: 网络整理| 查看: 265

一种时间敏感网络中路径选择和门控调度的联合优化方法

1.本发明属于时间敏感网络技术领域,涉及一种时间敏感网络中路径选择和门控调度的联合优化方法。

背景技术:

2.随着工业互联网技术的不断发展,确定性实时通信被引入到航天和工业自动化领域,以保证时间关键流的性能和系统的安全性。时间敏感网络(tsn)是由ieee 802.1工作组的时间敏感网络任务组(tsn tg)开发的一套标准,用于在有界延迟和抖动的以太网网络上进行实时通信。tsn为以太网带来了工业级的健壮性,以促进实时、安全关键的应用(例如,工业4.0和网络物理系统),并支持在一个公共通信基础设施上对时间关键流量和最努力流量进行传输。值得注意的是,ieee 802.1qbv定义了一个可编程的门控机制,即时间感知的整形器,它使用时间传输门和门控制列表(gcl)来决定哪个队列被选择用于传输。同时,所有设备的时间都应基于ieee 802.1as-rev同步,以保证时间感知整形器(tas)部署成功。然而,ieee 802.1qbv虽然明确了门控机制的行为,但实现确定性端到端延迟的调度配置和相关方法还需要进一步的研究。3.在时间敏感网络中存在多种数据流,其中包括tt流和非tt流(音频流,视频流,be(best effort)流)。tt流常见于周期性的实时应用程序中,例如需要严格限制最大端到端延迟的时间敏感型控制应用程序。tt流的传输具有周期性特点,非tt流用于表示传输不具有周期性特点的流。针对时间敏感网络中tt流的确定性实时传输调度问题,目前最常见的建模方法主要是整数线性规划方法(integer linear programming,ilp)、可满足性模理论(satisfiability modulo theories,smt)方法和优化模理论(optimization modulo theories,omt)等方法,ilp方法和smt/omt方法都是通过构造一系列约束以实现tt流的确定性实时通信传输,两者之间的区别在于smt方法构造的约束表达式是具有相应理论的一阶逻辑公式。但是,在复杂的网络拓扑中,传输调度的前提是需要明确各个tsn流的传输路径,而现有的研究大多提前给定各个tsn流的传输路径,这个不仅减小了可调度的解空间,使得不能获取全局的最优解,还可能会导致可调度的网络得到不可调度的解。4.综上所述,在多路径多输入输出的时间敏感网络中如何提高网络的运行效率,路径规划和门控调度联合优化的设计方案在tsn标准的调度机制中还没有得到解决,且国内外对该方面的研究也相对较少。

技术实现要素:

5.有鉴于此,本发明的目的在于为了解决单路径的拥塞或者故障引起的传输性能下降的问题,提供一种时间敏感网络中路径选择和门控调度的联合优化方法,满足大规模时间敏感网络的传输需求。通过为tsn网络中tt流规划最优传输路径,同时也为非tt流规划传输路径,设置流量传输约束条件,为tt流的最优传输路径配置门控列表,减小tt流传输过程中因传输链路重叠造成的流量冲突问题。6.为达到上述目的,本发明提供如下技术方案:7.一种时间敏感网络中路径选择和门控调度的联合优化方法,包括以下步骤:8.s1:集中式网络配置模块cnc发现tsn网络拓扑,并将tsn网络拓扑抽象为网络有向图;9.s2:终端设备通过用户配置协议向集中式用户配置模块cuc发送tsn连接请求,cuc将所述连接请求通过用户网络接口uni发送到cnc;10.s3:cnc收到路径选择的需求时,执行融合路径选择与门控调度算法选出k条最短路径作为备选路径;11.s4:cnc将步骤s3中选出的k条备选路径利用路径关键度ηk来选择出m条优选路径;12.s5:cnc将步骤s4中选出的m条优选路径作为路径选择阶段的输入,根据tsn流量类型的特征,基于链路传输的代价和信息素更新的方式为一对发送端到接收端的tt流找到一条最优的传输路径,并将该条路径存入路径信息表ω中,同时为非tt流找到合适的传输路径;13.s6:cnc遍历是否存在还没有被计算发送端和接收端的路径,如果有则返回执行步骤s3-s6,并将计算的每对发送端到接收端tt流的最优路径存到路径信息表ω中,如果没有则执行步骤s7;14.s7:将步骤s6中计算出的tt流量的最优传输路径信息表ω作为输入,设置流量传输约束条件,为每一对终端设备的tt流最优传输路径配置门控列表;15.s8:cnc将计算的结果封装为门控调度表,并配置到tsn交换机,再将流量传输计算结果通过cuc发送到tsn终端设备。16.进一步,步骤s1具体包括:cnc根据链路发现协议(lldp)来发现tsn网络拓扑,并通过网络建模方法将tsn网络拓扑抽象为网络有向图;17.tsn的网络拓扑表示为有向图g=(v,e),其中v是tsn网络中的节点集合,tsn的网络拓扑表示为有向图g=(v,e),其中v是tsn网络中的节点集合,其中s是tsn交换机的集合,h是终端设备的集合;e是边集合,是一组二元组,表示tsn网络中的所有链接,使得e≡{(bri,brj)|bri,brj∈v,bri≠brj并且bri和brj之间存在联系},其中(bri,brj)表示交换机bri和交换机brj之间的链路;18.与每个链路(bri,brj)∈e相关联的是由元组(b,ld)表示的测量值列表,其中是链路(bri,brj)的剩余带宽;是链路延迟,由和组成;是有界的;19.把从发送端开始,按照一定要求传输到接收端的有序数据序列称为流,将所有的tsn流的集合记为f;对于不同类型的流,其中的主要参数包括tsn流的传输路径ri、tsn流的端到端时延di、tsn流的传输周期ti和tsn流的大小si;每个tsn流fi表示为四元组fi≡(ri,di,ti,si);20.对于发送端esi和接收端es′i,中间经过的交换机br1,br2,…,brn共有n个节点的流,将其第i对发送端到接收端的路径表示为ri={esi,br1,br2,…,brn,es′i},每个帧的最大长度为以太网的最大传输单元mtu。21.进一步,步骤s2具体包括:终端设备通过用户配置协议将备选路径数k、路径关键度ηk选出的优选路径数量m、算法最大循环次数ncyc、蚂蚁的最大数量nant、信息素总量q、tsn流的周期ti、大小si和时延di发送给cuc,cuc将连接请求通过用户网络接口uni发送到cnc。22.进一步,步骤s3中所述选出k条最短路径作为备选路径,具体为:采用k最短路径算法ksp,对于所有esi,es′i∈h,基于它们的最短路径递增排序,通过输入网络有向图g、发送端esi、接收端es′i和路径的条数k,输出k条路径集pk,然后将路径集pk作为步骤s4的输入;具体执行步骤如下:23.s31:输入网络有向图g、发送端esi、接收端es′i和备选路径数k;24.s32:cnc使用融合路径选择与门控调度算法求出esi到es′i的最短路径,并记为pn(n=1):25.pn=esi→bra→brb→…→brn→es′i26.s33:判断n是否小于等于k,且仍有候选路径存在,如果存在执行s34,否则表示找到k条备选路径;27.s34:在求出pn的基础上,根据偏离点和dijkstra算法求出pn+1,把位于pn上除去接收端es′i的每个节点分别看作偏离点,共有x个;将每个偏离点记为bri(i=1,2,…,x);28.s35:开始遍历偏离点,从bri(i=0)开始遍历每一个偏离点,并对每一个偏离点求bri到接收端es′i的最短路径;29.s36:将pn上从起点到bri的路径加上求得的bri到接收端es′i的最短路径作为求pn+1的候选路径,放到候选路径列表u中;30.s37:偏离点遍历结束;31.s38:判断此时候选路径列表u是否为空;32.s39:如果此时候选路径列表u不为空,则遍历完偏离点后,找出b中权值最小的路径即为所求的pn+1,将该路径从u中移除,并放入备选路径列表l中,在求得pn+1的基础之上,当n+1≤k时,继续执行步骤s33-s38,否则表示找到k条备选路径;33.s310:若候选路径列表u为空,则表示已经找到了k条备选路径,最后确定路径集合为pk={p1,p2,…,pn,pk}∈psd,psd表示从esi到es′i的路径集合。34.进一步,步骤s4具体包括:35.路径pk的跳数hc为除发送端和接收端之外的路径pk的tsn交换机数量,定义如下:36.pk.hc=len(pk)-2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1)37.路径pk的剩余带宽sbw为其所有组成链路中的剩余带宽的最小值,假设pk={esi,br1,br2,…,brn,es′i},令s=len(pk)-2,路径pk的剩余带宽sbw由如下公式表示:[0038][0039]路径pk的端到端时延dl为其链路时延之和,表示为;[0040][0041]函数δ(hc,sbw,dl)用于映射其路径关键度ηk为一个介于0和1之间的值;在所有备选路径集pk中,选择ηk最大的路径作为路径选择阶段的输入路径;对于路径pk∈psd,ηk表示如下:[0042][0043]ω1+ω2+ω3=1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(5)[0044]其中sbwmax表示所有路径pk∈psd中的最大值sbw;hcmin是所有pk∈psd中最小的hc,dlmin是所有pk∈psd中最小的dl;ηk的值越大则表示网络的跳数越小,剩余带宽越大,网络延迟越小;[0045]通过以上方式计算每一条路径pk的路径关键度ηk的值,选取前m条ηk值最大的路径作为优选路径,并存入优选路径集rant中。[0046]进一步,所述步骤s5中,基于蚁群算法找到最优传输路径,具体包括以下步骤:[0047]s51:先设置初始化参数,从预选路径阶段输出融合路径选择和门控调度算法的初始路径表rant;设置蚂蚁禁忌表rb,算法最大循环次数ncyc,蚂蚁的最大数量nant,信息素总量q;[0048]s52:判断流量类型,根据tt流和非tt流分别设置影响因子α和β,链路权重因子δ和ε,信息素挥发系数ρ,信息素增量δτ。蚂蚁置于发送端,并将发送端存入rb中;[0049]s53:循环次数ncyc=ncyc+1;[0050]s54:蚂蚁数量nant=nant+1;[0051]s55:蚂蚁根据公式(6)选择下一个节点:[0052][0053][0054]其中,p(bri,brj)表示蚂蚁a从节点bri到brj的传输概率,allowa表示从节点到下一个节点的集合,α越大,信息素的指导作用越强,β越大,蚂蚁决策受路径距离信息影响越大,贪婪当前效果;δ和ε为权重因子且δ+ε=1,0《δ《1,0《ε《1,δ和ε的取值根据当前流量类型而定,当数据流为tt流时,δ的取值小于ε;τ(bri,brj)表示链路(bri,brj)的信息素数量;μ(bri,brj)表示节点选择的启发因子;表示链路(bri,brj)的剩余带宽;表示链路(bri,brj)的延迟;[0055]s56:判断是否到达接收端,如果未达到接收端,返回s55;如果到达接收端,将该蚂蚁的走过的路径存入路径表rte中,将该路径节点存入禁忌表rb中,避免与下一只蚂蚁的路径产生交叉,然后跳转至s57;[0056]s57:判断蚂蚁数量nant是否等于nant,如果nant《nant,则返回s54,如果nant=nant,从rte中选取传输代价tv最小的路径作为该次循环得出的最优路径存入最佳路径集合r中,跳转至s58;[0057]s58:判断ncyc是否等于ncyc,如果ncyc≠ncyc,返回s53,根据公式(8)更新链路中的信息素,清空rb;如果ncyc=ncyc,则跳转到s59;[0058][0059]ρ表示信息素的挥发系数,0《ρ《1,τ(bri,brj)表示链路(bri,brj)的信息素数量,δτ(bri,brj)表示链路(bri,brj)的信息素增量;[0060]δτ(bri,brj)取值根据tsn数据流类型而确定,其表达式如下所示:[0061][0062]q表示信息素的总数量,表示路径(bri,brj)的传输延迟,路径选择系数的表达式如下所示:[0063][0064]s59:根据tsn流量类型,分别输出tt流和非tt流的最优传输路径;如果是tt流fi,从路径集合r中选择延迟最小的路径作为最优路径,可表示为如果是非tt流fi′,从路径集合r中选择n非tt流条路径作为输出最优解,并且进行转发。[0065]进一步,步骤s7中,门控列表的循环周期gc表示为:[0066]gc=lcm(t)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(11)[0067]其中,lcm表示最小公倍数,t为所有数据流的周期,[0068]t={f0.t0,f1.t1,…,fn.tn}[0069]其中fn.tn表示流fn的周期tn;[0070]假设流fi∈f的每个后续帧出现的时间距离始终等于ti,tt流fi在(bri,brj)传输偏移量流流存储的队列id为则流fi在链路(bri,brj)上的传输任意数据帧所用的时间表示为:[0071][0072]根据gcl的传输规则,对时隙长度los进行分析,最大的时隙长度为:[0073]max(los)=gcd(t)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(13)[0074]即los的最大值为数据流周期的最大公约数;[0075]最小的时隙长度为:[0076][0077]其中,log是传输队列的长度,即队列资源全部被占用时,最后1byte发送到链路上所花费的时间;[0078]传输路径为{esi,br1,br2,…,brn,e′s},交换机brn的gcl循环开始时间的计算公式如下:[0079][0080]表示发送端发送第一个数据帧的发送时间,表示流fi在链路(esi,br1)上的传输任意数据帧所用的时间,表示bri中的处理延迟,表示bri中的传输延迟,表示流fi在链路(brj-1,brj)上的传输任意数据帧所用的时间,synpre表示两个节点设备的时间同步最大差值;[0081]一个交换机到下一个交换机之间的时延d的表达式如下:[0082][0083]表示brn中的处理延迟,表示brn-1中的传输延迟,表示(brn-1,brn)中的传播延迟;[0084]端到端的时延约束表示为:[0085][0086]帧约束表示为:[0087][0088][0089]链接约束表示为:[0090][0091]无传输持续时间的帧隔离约束表示为:[0092][0093]其中,[0094][0095][0096][0097][0098]带有传输持续时间的帧隔离约束表示为:[0099][0100]流量传输约束表示为:[0101][0102]优化目标为:[0103][0104]引入辅助变量表示任何流的端到端延迟与其周期之比,要求该变量的值在[0,1]中即表示调度为最优;[0105]通过将以上的约束条件进行建模并使用求解器求解,根据每一对终端设备中tt流的最优传输路径计算出tt流量传输路径上交换机的门控列表。[0106]本发明的有益效果在于:本发明针对tsn中tt流和非tt流的传输特征,在网络中选择一条最优路径优先保证tt流量的传输,同时也为非tt流量规划传输路径,从而可以实现更好的网络传输性能。[0107]本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。附图说明[0108]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:[0109]图1为tsn网络的体系架构图;[0110]图2为cnc执行融合路径选择与门控调度算法流程图;[0111]图3为最短路径树;[0112]图4为最短路径算法流程图;[0113]图5为时延分析图;[0114]图6为帧隔离约束示例图;具体实施方式[0115]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。[0116]其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。[0117]本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。[0118]图1描述了本方案提出的tsn网络的体系结构。其工作流程如下,当发送端要向接收端发送tsn流时。[0119](1)发送端使用用户配置协议(例如opc ua)向集中式用户配置模块(cuc)发送tsn连接请求,该请求信息包括了tsn网络拓扑、流量传输要求等信息;[0120](2)cuc将tsn连接请求转换为tsn连接需求,并通过用户网络接口(uni)转发给集中式网络配置模块(cnc);[0121](3)cnc在收到tsn连接要求时,它使用本方案提出的融合路径选择与门控调度算法来计算满足连接要求的最优传输路径和可行的传输调度;[0122](4)如果存在这样的路径和调度表,则cnc用所计算的调度表配置沿所计算的路径的所有tsn交换机;[0123](5)cnc将传输时间表发送给cuc,将其转发到网络发送端;[0124](6)发送端开始以所计算的传输调度沿着所选择的路径向接收端传输tsn流。[0125]本方案所提方法的创新在于对上面步骤(3)中cnc路径计算和流量调度提出了融合路径选择与门控调度算法,该方法的执行分为四个阶段,依次分别是网络建模阶段、备选路径阶段、路径选择阶段和门控设计阶段。所提方法概述如下:[0126]在网络建模阶段,cnc根据网络拓扑和tsn流量特征进行网络建模,是后续阶段能够正常执行的基础;[0127]在备选路径阶段,当cnc从cuc收到连接要求时,cnc首先根据网络拓扑使用融合路径选择与门控调度算法选出k条备选路径,再根据路径关键度选出m(m《k)条链路,将这m条路径作为路径选择阶段的输入;[0128]在路径选择阶段,cnc根据tsn流量中tt流量和非tt流的特点,基于链路传输的代价和信息素更新的方式,计算出每一对发送端到接收端的tt流量的最优传输路径,并将其他的有效路径作为非tt流量的传输路径;[0129]在门控设计阶段,根据路径选择阶段计算出的tt流的最优路径,cnc执行融合路径选择与门控调度算法为tt流量的传输计算出门控调度列表,并将计算结果下发到tsn交换机。[0130]集中式用户配置管理系统包括了cnc和cuc两个部分,cnc中包括了tsn网络拓扑发现模块、tsn网络配置模块、tsn网络更新模块、路径选择模块和门控计算模块,其中路径选择模块和门控计算模块联合执行融合路径选择与门控调度算法,tsn网络拓扑发现模块主要是生成tsn网络的网络拓扑,tsn网络配置模块的主要功能是配置tsn域设备数据,并将配置数据添加到数据库,tsn网络更新模块的主要功能是更新tsn域的所有设备配置数据,并将更新操作在数据库中保存。cnc通过netconf/yang模型来感知tsn网络的资源信息,并下发配置信息。cuc通过用户配置协议将tsn流配置信息下发到tsn网络的终端设备(发送端和接收端)。[0131]cnc利用链路发现协议(lldp)发现tsn网络拓扑,为了保证网络的实时传输需求,终端设备会将tsn网络连接请求通过用户配置协议将tsn连接请求发送到cuc;cuc将tsn连接请求转换为tsn连接需求,并通过用户网络接口(uni)转发给集中式网络配置模块(cnc);此时,cnc根据tsn网络拓扑信息和连接需求来计算每一对发送端到接收端tt流的最优传输路径和非tt流的传输路径,为了保证tt流传输过程中因传输链路重叠造成的流量冲突问题,本方案设置了流量传输约束条件,为tt流的最优传输路径配置门控列表,以减小流量冲突的问题,然后cnc利用netconf协议将调度表下发到tsn交换机,完成对tsn网络的配置管理。[0132]融合路径选择与门控调度算法的执行步骤如下所示:[0133]第一步:cnc根据链路发现协议(lldp)来发现tsn网络拓扑,并通过网络建模方法将tsn网络拓扑抽象为网络有向图;[0134]第二步:终端设备通过用户配置协议将备选路径数k、路径关键度ηk选出的优选路径数量m、算法最大循环次数ncyc、蚂蚁的最大数量nant和信息素总量q、tsn流的周期、大小和时延di发送给cuc,cuc将该连接请求通过用户网络接口uni发送到cnc;[0135]第三步:cnc收到路径选择的需求时,为了增加路径选择样本的多样性,首先cnc执行融合路径选择与门控调度算法选出k条最短路径作为备选路径;[0136]第四步:cnc将第三步中选出的k条备选路径利用路径关键度ηk来选择出m(m《k)条优选路径;[0137]第五步:cnc将第四步中求出的m条优选路径作为路径选择阶段的输入,根据tsn流量类型的特征,基于链路传输的代价和信息素更新的方式为一对发送端到接收端的tt流找到一条最优的传输路径,并将该条路径存入路径信息表ω中,同时为非tt流找到合适的传输路径;[0138]第六步:cnc遍历是否存在还没有被计算发送端和接收端的路径,如果有则返回执行第三步到第六步,并将计算的每对发送端到接收端tt流的最优路径存到路径信息表ω中,如果没有则执行第七步;[0139]第七步:在门控设计阶段主要为了避免tt流传输过程中因传输链路重叠造成的流量冲突问题,将第六步中计算出的tt流量的最优传输路径信息表ω作为门控设计阶段的输入,设置流量传输约束条件,为每一对终端设备的tt流最优传输路径配置门控列表,保证tt流的可靠性传输;[0140]第八步:cnc将计算的结果封装为xml文件,利用netconf协议将基于xml的门控调度表配置到tsn交换机,并将流量传输计算结果通过cuc发送到tsn终端设备。[0141]算法的流程图如图2所示,下面详细说明融合路径选择与门控调度算法。[0142]网络建模阶段:[0143]第一步:cnc根据链路发现协议(lldp)来发现tsn网络拓扑,并通过网络建模方法将tsn网络拓扑抽象为网络有向图;[0144]tsn路径选择的主要任务是tsn流找到合适的传输路径,并通过门控列表(gcl)来调度tt流的传输。在这个过程中需要考虑的因素有网络拓扑和tsn流量模型。[0145]对于本方案中的术语的定义如表1所示:[0146]表1 tsn网络拓扑参数定义[0147][0148][0149][0150]tsn的网络拓扑表示为有向图g=(v,e),其中v是节点集合,e是边集合。tsn的网络拓扑表示为有向图g=(v,e),其中v是节点集合,e是边集合。其中s是tsn交换机的集合,h是终端设备的集合。e是一组二元组,代表网络中的链路,使得e≡{(bri,brj)|bri,brj∈v,bri≠brj并且bri和brj之间存在联系}。[0151]与每个链路(bri,brj)∈e相关联的是由元组(b,ld)表示的测量值列表,其中是链路(bri,brj)的剩余带宽,单位为mbps,是链路延迟,以微秒为单位,它由和组成。需要说明的是是有界的。[0152]本方案规定把从发送端开始,按照一定要求传输到接收端的有序数据序列称为流,将所有的tsn流的集合记为f。对于不同类型的流量,其中的主要参数包括了ri、di、ti和si。每个tsn流fi表示为四元组fi≡(ri,di,ti,si)。[0153]对于发送端esi和接收端es′i,中间经过的br1,br2,…,brn共有n个节点的流,可以将其第i对发送端到接收端的路径表示为ri={esi,br1,br2,…,brn,es′i},流大小si的单位是字节,每个帧的最大长度为以太网的mtu(maximum transmission unit)。[0154]第二步:终端设备通过用户配置协议将备选路径数k、路径关键度ηk选出的优选路径数量m、算法最大循环次数ncyc、蚂蚁的最大数量nant、信息素总量q、tsn流的周期ti、大小si和时延di发送给cuc,cuc将该连接请求通过用户网络接口uni发送到cnc。[0155]备选路径阶段:[0156]第三步:cnc收到路径选择的需求时,为了增加路径选择样本的多样性,首先cnc执行融合路径选择与门控调度算法选出k条最短路径作为备选路径。[0157]本阶段通过融合路径选择与门控调度算法求出一对esi和es′i之间的k条备选路径pk,其原理是采用k最短路径算法(ksp),对于所有esi,es′i∈h,基于它们的最短路径递增排序,要找到这些路径,通过输入网络有向图g、发送端esi、接收端es′i和路径的条数k,输出k条路径集pk,然后将路径集pk作为第四步的输入。[0158]从esi到es′i的路径集合用psd表示,最短路径问题就是通过有向图g中从esi到es′i的具有最短长度的路径ps,即确定ps∈psd,使得对于任何其他路径p(p∈psd,p≠ps)都有c(ps)≤c(p),ksp问题除了要找到最短路径之外,还要确定次短路径、第三短路径,…,直到找到第k短路径为止,用pi表示从esi到es′i的第i短路径,ksp问题是确定路径集合pk={p1,p2,…,pk}∈psd,使得满足以下4个条件:[0159](1)k条路径是按次序产生的,即对于所有的i(i=1,2,…,k-1),pi是在pi+1之前确定的;[0160](2)k条路径是按长度由小到大排序的,即对于所有的i(i=1,2,…,k-1),都有c(pi)《c(pi+1);[0161](3)k条路径是最短的,即对于所有的p∈psd-pk,都有c(pk)《c(p);[0162](4)所求得的k条路径都是无环的。[0163]最短路径树tk的构建基于一个重要的概念—偏离路径。假定存在从esi和es′i的两条路径pi=(v1,v2,…,vl)和pj=(u1,u2,…,uw),如果存在一个整数x满足以下4个条件:[0164](1)x《l,并且x《w;[0165](2)vi=ui(0≤i≤x);[0166](3)vx+1≠ux+1;[0167](4)(ux+1,ux+2,…,uw=t)是从ux+1到t的最短路径。[0168]则称(ux,ux+1)为pj相对于pi的偏离边,ux为pj相对于pi的偏离节点,路径(ux+1,ux+2,…,uw=t)为pj相对于pi的最短偏离路径。如图3所示,p2相对于p1的偏离节点为节点1,偏离边为边(1,3),偏离路径为(1,3,4,5)。[0169]备选路径阶段需要输入网络有向图g、发送端esi、接收端es′i和备选路径数k,输出k条备选路径集pk={p1,p2,…,pn}∈psd(1≤n≤k),本方案以链路延时的值表示权值,一条路径的权值等于该路径中各个链路的延迟之和。如图4所示,具体执行步骤如下:[0170]3.1:输入网络有向图g、发送端esi、接收端es′i和备选路径数k;[0171]3.2:cnc使用融合路径选择与门控调度算法求出esi到es′i的最短路径,并记为pn(n=1):[0172]pn=esi→bra→brb→…→brn→es′i[0173]3.3:判断n是否小于等于k,且仍有候选路径存在,如果存在执行3.4,否则表示找到k条备选路径;[0174]3.4:在根据第一步求出pn的基础上,根据偏离点和dijkstra算法求出pn+1,把位于pn上的每个节点(除去接收端es′i)分别看作偏离点(设共有x个)。将每个偏离点记为bri(i=1,2,…,x);[0175]3.5:开始遍历偏离点,从bri(i=0)开始遍历每一个偏离点,并对每一个偏离点求bri到接收端es′i的最短路径;[0176]3.6:将pn上从起点到bri的路径加上上一步求得的bri到接收端es′i的最短路径作为求pn+1的候选路径,放到候选路径列表u中;[0177]表2候选路径列表u和备选路径列表l[0178]备选路径列表l候选路径列表up1esi→bra→…→bre→es′ip2esi→brb→…→brf→es′i……pnesi→brc→…→brg→es′i[0179]3.7:偏离点遍历结束;[0180]3.8:判断此时候选路径列表u是否为空;[0181]3.9:如果此时候选路径列表u不为空,则遍历完偏离点后,找出b中权值最小的路径即为所求的pn+1,将该路径从u中移除,并放入备选路径列表l中,在求得pn+1的基础之上,当n+1≤k时,继续执行上述步骤3.3-3.8,否则表示找到k条备选路径;[0182]3.10:若候选路径列表u为空,则表示已经找到了k条备选路径,最后确定路径集合为pk={p1,p2,…,pn,pk}∈psd。[0183]第四步:cnc将第三步中选出的k条备选路径利用路径关键度ηk来选择出m(m《k)条优选路径;[0184]为了降低算法执行的开销,提高网络的运行效率,本方案采用路径关键度ηk对路径表中的各路径进行量化计算,此阶段通过输入k条备选路径集pk,输出m条优选路径集rant(m《k)。[0185]每个路径pk都有其自己的路径关键度指标δ(hc,sbw,dl),本部分中“.”表示“的”的意思,路径pk的跳数hc(用pk.hc表示)等于tsn交换机的数目,pk.hc等于除发送端和接收端之外的路径pk的tsn交换机数量,可以定义如下:[0186]pk.hc=len(pk)-2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(1)[0187]路径pk的剩余带宽sbw(用pk.sbw表示)等于其所有组成链路中的剩余带宽的最小值,为了方便描述,假设pk={esi,br1,br2,…,brn,es′i},令s=len(pk)-2,并且可由如下公式表示:[0188][0189]路径pk的端到端时延dl(用pk.dl表示)等于其链路时延之和,可以表示为;[0190][0191]函数δ(hc,sbw,dl)用于映射其路径关键度ηk(用pk.δ(hc,sbw,dl)表示)为一个介于0和1之间的值。在所有备选路径集pk中,选择ηk最大的路径作为路径选择阶段的输入路径。对于路径pk∈psd,ηk表示如下。[0192][0193]ω1+ω2+ω3=1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(5)[0194]其中sbwmax表示所有路径pk∈psd中的最大值sbw;hcmin是所有pk∈psd中最小的hc,dlmin是所有pk∈psd中最小的dl。ηk的值越大则表示网络的跳数越小,剩余带宽越大,网络延迟越小。本方案综合考虑路径的跳数和剩余带宽,故中ω1=0.3,ω2=0.3,ω3=0.4。[0195]通过以上方式计算每一条路径pk的路径关键度ηk的值,选取前m条ηk值最大的路径作为优选路径,并存入路径集rant中。[0196]路径选择阶段:[0197]第五步:cnc将第四步中求出的m条优选路径作为路径选择阶段的输入,根据tsn流量类型的特征,基于链路传输的代价和信息素更新的方式为一对发送端到接收端的tt流找到一条最优的传输路径,并将该条路径存入路径信息表ω中,同时为非tt流找到合适的传输路径。[0198]融合路径选择与门控调度算法中执行路径选择功能的原理是基于蚁群算法,蚁群算法(aco)是一种群智能算法,它是由一群无智能或有轻微智能的个体(agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。[0199]蚂蚁a从节点bri到brj的传输概率为:[0200][0201][0202]allowa表示从节点到下一个节点的集合,α越大,信息素的指导作用越强,β越大,蚂蚁决策受路径距离信息影响越大,贪婪当前效果。δ和ε为权重因子且δ+ε=1,0《δ《1,0《ε《1,δ和ε的取值根据当前流量类型而定,当数据流为tt流时,由于tt流对延迟较为敏感,此时δ的取值要小于ε,本方案取δ=0.3,ε=0.7。[0203]当蚂蚁在完成第一次寻找路径之后,需要对信息素进行更新,其更新的公式如下:[0204][0205]δτ(bri,brj)取值根据tsn数据流类型而确定,其表达式如下所示。[0206][0207]的表达式如下所示。[0208][0209]由δτ(bri,brj)的表达式可知,本方案根据tt流对端到端的延迟和非tt流对带宽的不同要求,对信息素进行分类更新,从而保证tt流和非tt流的最优路径都满足各自的需求,提升网络的利用率。[0210]假设融合路径选择与门控调度算法在完成执行后得到路径集合为r={path1,path2,path3,…,pathn},当数据流为tt流时,选取r中延迟最小的路径为tt流传输的最优路径,当数据流为非tt流时,需要从r中选择n非tt流条剩余带宽较大的路径进行传输,其中1《n非tt流《n。[0211]本方案根据tsn流量的类型,分别设置融合路径选择与门控调度算法中链路传输的代价和信息素更新的方式,通过计算tt流和非tt流的最佳传输路径,降低丢包率,提高网络的利用率。本算法通过输入rant、rb、ncyc、nant和q,输出rtt流和非tt流fi′的传输路径。具体的算法流程如下所示。[0212]5.1:先设置初始化参数,从预选路径阶段输出融合路径选择和门控调度算法的初始路径表rant。设置蚂蚁禁忌表rb,算法最大循环次数ncyc,蚂蚁的最大数量nant,信息素总量q;[0213]5.2:判断流量类型,根据tt流和非tt流分别设置影响因子α和β,链路权重因子δ和ε,信息素挥发系数ρ,信息素增量δτ。蚂蚁置于发送端,并将发送端存入rb中;[0214]5.3:循环次数ncyc=ncyc+1;[0215]5.4:蚂蚁数量nant=nant+1;[0216]5.5:蚂蚁根据公式(6)选择下一个节点;[0217]5.6:判断是否到达接收端,如果未达到接收端,返回5.5;如果到达接收端,将该蚂蚁的走过的路径存入路径表rte中,将该路径节点存入禁忌表rb中,避免与下一只蚂蚁的路径产生交叉,然后跳转至5.7。[0218]5.7:判断nant是否等于nant,如果nant《nant,则返回5.4,如果nant=nant,从rte中选取传输代价tv最小的路径作为该次循环得出的最优路径存入最佳路径集合r中,跳转至5.8;[0219]5.8:判断ncyc是否等于ncyc,如果ncyc≠ncyc,返回5.3,根据公式(8)更新链路中的信息素,清空rb;如果ncyc=ncyc,则跳转到5.9;[0220]5.9:根据tsn流量类型,分别输出tt流和非tt流的最优传输路径。如果是tt流fi,从路径集合r中选择延迟最小的路径作为最优路径,可表示为如果是非tt流fi′,从路径集合r中选择n非tt流条路径作为输出最优解,并且进行转发。[0221]第六步:cnc遍历是否存在还没有被计算的发送端和接收端,如果有则执行第三步到第六步,并将计算的每对发送端到接收端tt流的最优路径存到路径信息表ω中,如果没有则执行第七步。[0222]由于本方案适用的网络拓扑是一个多输入多输出的网络,故对于每一对tsn发送端和接收端都存在路径选择的问题,因后续的门控调度机制只针对tt流,因此求出的最优路径也是tt流的最优路径。需要重复第三步到第六步,计算出每对接收端和发送端的最优路径都存储在路径信息表ω中。门控设计阶段会将路径信息表ω中每一条tt流的最优路径计算门控列表并调度。表3说明了路径选择阶段的计算结果。[0223]表3每对终端设备路径计算信息表ω[0224][0225][0226]门控设计阶段:[0227]ieee 802.1qbv标准指定了一种称为时间感知整形器(tas)的选通机制,该机制基于静态生成的称为门控控制列表的周期性计划,启用和禁用要连接到关联的出口端口的队列的选择。网络中的通信是通过定期将数据流从发送端发送到接收端来实现的。本阶段网络中数据流的通信路径已经在路径选择阶段中算出。tt流量是最具有延迟敏感的tsn流类别,本方案为了保证tt流传输过程中因传输链路重叠造成的流量冲突问题,通过截止时间、流量传输约束条件和tt流的最优传输路径信息表ω,为tt流构建周期性的gcl调度,以减小流量冲突的带来的延迟影响。[0228]链路(bri,brj)∈e表示一个通信的方向,因此一对链路(bri,brj),(brj,bri)∈e表示节点bri和节点brj之间的全双工物理链路,从调度的角度上来看,这两条链路是两种不同的资源。假设网络中的所有设备都是时间同步的。最坏情况下的同步误差,即网络中任意两个设备的本地时钟之间的最大差异,表示为synpre。tsn流可以有不同的周期,将所有数据流的周期记作t,t={f0.t0,f1.t1,…,fn.tn},其中fn.tn表示流fn的周期tn,而门控列表的循环周期gc等于所有流的最小公倍数(lcm),可以表示为:[0229]gc=lcm(t)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(11)[0230]因此,tsn的tt流在一个门控列表的周期内可能出现多次。[0231]本方案采取的融合路径选择与门控调度算法来搜索计算流的传输路径,该算法可以计算出tt流需要传输的最优路径,本节的重点是在tt流量的调度。如果流fi通过链路(bri,brj),则其中可以是空集。[0232]假设需要零抖动(严格周期性调度),即流fi∈f的每个后续帧出现的时间距离始终等于ti。整型变量的计算方法可以表示为:[0233][0234]第七步:在门控设计阶段主要为了避免tt流传输过程中因传输链路重叠造成的流量冲突问题,将第六步中计算出的tt流量的最优传输路径信息表ω作为门控设计阶段的输入,设置流量传输约束条件,为每一对终端设备的tt流最优传输路径配置门控列表,保证tt流的可靠性传输。[0235]在时间敏感网络中,为了保证时间敏感的流量能够及时准确的传输,需要对网络的传输行为添加一定的约束,本方案的研究目标是求满足这些约束条件的可行解,并通过相应的算法工具求出最优解。[0236]根据gcl的传输规则,对时隙长度los进行分析。由于以时隙为基本单位对数据进行偏移,假定los能够整除所有数据流的周期。那么最大的时隙长度为:[0237]max(los)=gcd(t)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(13)[0238]即los的最大值为数据流周期的最大公约数。tsn标准规定,报文在相邻两个节点的发送时隙与接收时隙相同。那么,时隙的长度至少需要保证队列中的最后一个报文在相邻节点之间的发送时隙与接收时隙相同,因此最小的时隙长度为:[0239][0240]其中,log是传输队列的长度,即队列资源全部被占用时,最后1byte发送到链路上所花费的时间;本方案取synpre=0.1μs。[0241]假设传输路径为{esi,br1,br2,…,brn,es′i},的计算公式如下所示。[0242][0243]tt流从发送端到接收端沿着计算出的最优路径进行传输,其端到端的时延包括了传播时延、处理时延和传输时延,时延分析如图5所示,其中,tn表示交换机bri的发送时间,d的表达式如下所示。[0244][0245]端到端的时延约束:流fi从发送端经过j个交换机到达接收端的端到端时延应小于等于di,设(esi,brj)和(brt,es′i)分别表示流fi的传输路径的第一个和最后一个链路,可表示为:[0246][0247]帧约束:此约束确保在传输路径的第一条链路上传输帧不能在发送时间之前开始,必须在截止日期之前的最后一条链路上完成。[0248][0249][0250]链接约束:链路上两个不同帧的传输不能在时间上重叠。也就是说,对于同一链路上的每对不同帧,一帧的传输必须在另一帧的传输开始之前完成,反之亦然。该约束必须考虑循环周期gc中的所有帧出现。由于零抖动要求,链路(bri,brj)∈e上的流fi的第k个帧出现的传输偏移等于因此,链接约束可以写成如下形式:[0251][0252]帧隔离约束:为了避免流传输过程中帧丢失的问题,本方案提出的解决方法是增加帧的隔离约束。[0253]a)无传输持续时间的帧隔离约束[0254]首先对图6所示的符号进行解释说明。[0255][0256][0257][0258][0259]无传输持续时间的帧隔离约束的目的是隔离两个不相同的帧,使得一个帧只能在另一个帧从队列中被调度之后才发送到共享队列中。有三种方法可以满足这个约束,第一种方法是交换机bra中的fj到达之前在链路(bra,brb)上调度fi,第二种方法是在交换机bra中的fi到达之前在链路(bra,brb)上调度fj,第三种方法就是帧存储在不同的队列中,需要注意的是,必须考虑调度周期中所有出现的帧,由此得出γ和ξ倍数。[0260][0261]该约束假设交换机将帧存储在队列中的时刻不取决于帧的传输持续时间。但是如果该帧在被交换机完全接收之后被存储在队列中,则约束(25)可以被如下所述的包括传输持续时间的约束所代替。[0262]b)带有传输持续时间的帧隔离约束:[0263]带有持续时间的帧隔离约束如下所示。[0264][0265][0266]流量传输约束:该约束对优先关系进行建模,即只有在帧完全传送到交换机并经过处理后,才能开始从交换机传输帧。[0267][0268]优化目标:考虑以下目标函数,最小化与流周期相关的最大端到端延迟,也称为响应时间,目的是为了保证流量传输的可靠性,确保帧在传输周期之内传输到接收端。现在引入辅助变量该变量表示任何流的端到端延迟与其周期之比,本方案要求该变量的值在[0,1]中即表示调度为最优,表达式如下所示。[0269][0270]通过将以上的约束条件进行建模并使用求解器求解,根据每一对终端设备中tt流的最优传输路径计算出tt流量传输路径上交换机的门控列表,输出结果如表4所示。[0271]表4计算调度成功结果[0272][0273]第八步:cnc将计算的结果封装为xml文件,利用netconf协议将基于xml的门控调度表配置到tsn交换机,并将流量传输计算结果通过cuc发送到tsn终端设备。[0274]最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3