掌桥专利:专业的专利平台
掌桥专利
首页

一种时间敏感网络中针对混合传输的多目标优化调度方法

文献发布时间:2024-01-17 01:14:25


一种时间敏感网络中针对混合传输的多目标优化调度方法

技术领域

本发明属于网络数据流的技术领域,具体涉及一种时间敏感网络中针对混合传输的多目标优化调度方法。

背景技术

时间敏感网络(TSN)是由IEEE提出的一系列针对802.1桥接网络的附加协议,用于实现数据高可靠、低延迟、低抖动的确定性传输,既可以保证关键的车载控制信息或工业控制数据的确定性,又兼容传统以太网,实现不同业务流的混合传输。TSN中的流可以分为时间敏感流和非时间敏感流。时间敏感流(TT流,)主要应用于工业互联网,用来表示网络中具有严格实时性和确定性要求的工业控制流。非时间敏感流(AVB流、BE流)中,AVB流主要应用于一些占用带宽较大的音视频流以及一些对时延有一定要求的业务,优先级低于TT流;BE流主要应用于对时延没有强烈要求的业务流,处于最低优先级

流调度是TSN实现时间敏感流低时延、低抖动、确定性传输的核心。TT流调度中的一个关键机制是802.1Qbv提出的门控机制(TAS机制)。TAS是一种可以动态打开和关闭每个交换机的出口队列传输门的控制机制,它的实现依赖于全网个节点的时钟同步,它通过一定的调度算法在全网范围联合保证每个帧能够顺利通过传输路由上的所有出端口,并满足流各自的延时和带宽要求,使不同类别的业务流在同一网络上得以共存。

现有技术中非时间敏感流的调度方法及其缺陷如下:

(1)基于SMT的一种新增BE流有利约束的调度方法,是在建立约束时,提出了一项新的约束,让每个TT流传输完成后都要空出一段传输时隙slack专门用来传输BE流,以此来保证BE流的传输质量不被严重影响,slack的下界为0,并需要确保加入slack后,不会导致链路上的调度超过周期,之后以最大slack总和为调度目标通过SMT求解;但是,只以最大slack总和作为调度目标属于单一目标优化,只优化了BE流这个维度,不能使得BE流和TT流都是最优的,并且SMT/OMT求解的速度较慢,不适用于大型网络拓扑;

(2)最小化TT流使用队列以及改善AVB路由的多目标调度方法,是以最小化TT流占用队列数为调度目标,以此来为AVB和BE流留出尽可能多的队列,尝试最小化AVB流端到端延时及最大化网络带宽利用率,构建由三个指标的加权和组成的目标函数,同时还采用了GRASP为AVB流选择路由;但是,采用线性加权的方式将多目标按权重线性组合转换为单目标,很难去设定一个准确的权重向量来获得帕累托最优解,该方法只是凸显了其中最短TT流队列的优化目标,为其他目标设置了一个较大的负值权重,再其他目标函数出现问题的时候,负值权重会将问题放大,影响最终结果,并且传统的多目标优化技术一般每次只能得到帕累托解集种的一个;

(3)联合路由并以AVB流可调度性为目标函数的启发式调度方法,是提出以最大AVB流可调度性作为调度目标,并采用了联合路由调度的方式对AVB流进行优化;但是,只进行了单目标优化,虽然最大化了AVB流的可调度性,但其TT流的指标不是最优的,即求的解不是帕累托最优的,优化维度单一,优化结果片面。

发明内容

为了克服现有技术存在的一个或者多个缺陷与不足,本发明提供一种时间敏感网络中针对混合传输的多目标优化调度方法,采用路由联合编码的方式,将TT流排序向量、TT流路由选择向量、TT流间隙slack进行组合编码,且一组编码在解码后就表示一次完整的调度结果,在满足TSN一般约束的条件下,以最小TT流和最小AVB流传输时延为目标进行多目标优化,求得一组帕累托最优解集。

为了达到上述目的,本发明采用以下的技术方案。

一种时间敏感网络中针对混合传输的多目标优化调度方法,包括步骤如下:

S1、获取全网的拓扑信息、网络中所有流量的信息,生成所有流集合、路由集合;

S2、根据遗传算法的运行规则,对TT流的路由集合进行编码和解码设计;

S3、对TT流集合进行遗传算法基本设置;

S4、采用遗传算法对种群进行迭代,以最小TT流时延和最小AVB流时延作为优化目标进行非支配排序和拥挤度计算,再选择排序后的个体组成新父代,反复迭代得到一组帕累托最优解;

S5、根据得到的一组帕累托最优解对相应的流量进行联合路由调度。

优选地,流量包括时间敏感的TT流、非时间敏感的AVB流、非时间敏感的BE流。

进一步地,其特征在于,对TT流的路由集合进行编码和解码设计,具体过程包括:

S21、设定每个TT流集合的编码结构为[流排序向量,路由选择向量,slack基因]作为一个个体;

其中,slack基因表示一段TT流集合的预留时隙,流排序向量表示TT流排序的序号,路由选择向量表示TT流所对应的路由;

S22、针对步骤S21中编码结构进行解码,将以[流排序向量,路由选择向量,slack基因]编码结构的个体先通过调度排布TT流,再依次将AVB流插空到没有排布TT流的位置,转化为[TT流传输时延,AVB流传输时延]的形式。

进一步地,其特征在于,进行解码的具体过程包括:

S221、计算TT流在超周期hyper_period下需要被排布的次数n;

S222、得到需要被排布的次数n后,从第一个周期开始调度,i表示周期,初始化i=0代表正在调度第一个周期;

S223、判断i是否大于0;若否则说明当前需要调度第一个周期,然后执行步骤S224;若是则说明第一个周期已经完成调度,当前需要调度下一个周期,然后执行步骤S225;

S224、根据TT流集合的序号找到对应的路由集合,遍历路由集合,在满足调度约束条件的前提下,在第一个周期中采用贪心策略,尝试将当前序号的TT流集合插入到可能的最小开始时间的位置,每排步完路由中的一跳,都为个体加上一段slack基因,直到将这条TT流集合的当前周期全部排完,然后执行步骤S226;

S225、在第一个周期排步的TT流集合、每个周期长度的基础上,确定当前周期的TT流集合排布,并且逐个检查是否符合调度约束条件;若是,则执行步骤S226;若否,则执行步骤S407;

S226、第一个周期或者第i个周期排布完成,然后将当前周期i加1进入下一个周期,然后执行步骤S228;

S227、重新设置i=0,将步骤S225不符合的调度约束条件添加到步骤S224的贪心策略中,然后执行步骤S228;

S228、判断当前的排布次数i,是否小于中的需要被排布的次数n;若是则返回执行步骤S223;若否则执行步骤S3。

进一步地,对TT流集合进行遗传算法基本设置,具体过程包括:

设定种群及个体;将待调度的TT流按照序号进行随机排序,生成一个流排序向量作为个体的一条染色体;每个TT流各自的路由集合进行编号,并从相应路由集合中选取出一个编号作为对应流的路由,按顺序将每个路由集合中选出的编号组合成一个路由选择向量作为个体的另一条染色体;根据步骤S21中的编码结构,在每个个体中对应插入slack基因。

进一步地,对种群进行迭代的具体过程包括:

S41、设定种群数和最大迭代次数,对每个个体都进行编码,然后随机生成初始种群,初始种群中每个个体的流排序、路由选择分别采用随机数算法给出的随机数;

S42、对初始种群的每个个体都进行解码,转换成[TT流传输时延,AVB流传输时延]的形式,解码完成后以TT流传输时延和AVB流传输时延作为评价指标进行非支配排序;

S43、从种群中选出优质个体,对步骤S42非支配排序后的种群进行选择,优先选择排序层级较低的个体,当待选择的个体处于同一排序层级中时,优先选择拥挤距离大的个体;

S44、将选出的优质个体作为子代进行交叉、变异生成新的子代,其中slack基因不参与交叉、变异;

S45、将生成的新子代与原来的父代进行合并,生成一个新种群;

S46、将新种群按照步骤S42同样的方法进行解码并进行非支配排序;

S47、对新种群中的个体进行拥挤度计算,将拥挤距离定义为相应个体的相邻解i-1和i+1所形成的四边形的周长,当一个解的拥挤距离越大,在选择同一层级的解时,这个解将被优先选取;

S48、按照步骤S41设置的种群数,从非支配排序后的新种群中选出个体组成新的父代,继续按照步骤S44进行迭代,直到达到设置的最大迭代次数,得到一组帕累托最优解此时TT流时延和AVB流时延都是最优的。

进一步地,交叉、变异生成新的子代中,交叉的具体过程包括:

首先根据设定的交叉概率,判断对应个体是否需要进行交叉;

若需要交叉,则为了防止发生异常,将个体中的两段染色体分别进行交叉;

对于流排序染色体的交叉方式为顺序交叉OX,即随机选取一对父代染色体中基因的起始和结束位置,将其中一个父代染色体的基因片段复制到一个子代,然后在另一个父代上按顺序填入该子代缺少的基因,另一个子代同理;

对于路由选择染色体采用均匀交叉的方式,同时遍历两个染色体,将染色体的第i个基因按交叉概率进行互换,保证发生交叉的一定是同一条流且具有相同的路由集合。

进一步地,交叉、变异生成新的子代中,变异的具体过程包括:

首先根据设定的变异概率,判断对应个体是否需要进行变异;

若需要进行变异,则两段染色体分别进行变异;

对于流排序染色体,采取互换变异,根据变异概率随机选取染色体的两个基因进行交换;

对于路由选择染色体,采用位点变异,在染色体中随机挑选多个基因,按变异概率对相应的基因值在设定范围内进行变动。

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

采用联合路由的编码方式,将流和路由共同进行编码,增加了流的可调度性,扩大优化调度求解空间,避免固定路由调度所存在的流量多链路负载大调度效率不理想的情况;在调度求解上采用启发式的遗传算法,求解速度明显优于利用Z3优化模理论的求解器的求解速度;在种群迭代的过程中,将TT流传输时延和AVB流传输时延进行非支配排序,共同优化两个目标,最后得到一组帕累托最优解,对比现有技术的加权多目标优化,得到了更多的解,对比现有技术的单目标方法优化维度单一无法做到最优调度的问题,得到的解综合性更好,对现有网络具有更强的适用性。

附图说明

图1为本发明一种时间敏感网络中针对混合传输的多目标优化调度方法的流程示意图;

图2为时间敏感网络控制架构的系统框架示意图;

图3为时间敏感网络控制架构所处理的一个网络拓扑模型图;

图4为一种对流进行编码的结构示意图;

图5为对图4中编码结构进行解码的流程示意图;

图6为种群迭代过程的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及其优点更加清楚明白,以下结合附图及其实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

本实施例的时间敏感网络中针对混合传输的多目标优化调度方法,是基于时间敏感网络控制架构(TSSDN)实现的。

结合图2所示,时间敏感网络控制架构由TSN控制器、终端、TSN交换机组成,其中TSN控制器又包括网络资源管理模块、调度引擎。网络资源管理模块用于整个网络的硬件资源、拓扑结构的管理。调度引擎与网络资源管理模块连接,用于从网络资源管理模块获取网络的流信息、路由信息,然后进行全网络的流调度、门控列表的生成、下发。终端与网络资源管理模块连接,用于产生业务需求并上报网络资源管理模块。TSN交换机分别与网络资源管理模块、调度引擎连接,用于将网络硬件资源和拓扑结构上报到网络资源管理模块,并从调度引擎接收下发的门控列表路由信息、流调度信息。由此可见,TSN控制器可用于执行流调度任务。

时间敏感网络控制架构具体的工作流程为:终端将端到端的业务需求,即流量包的时延、抖动要求、流本身的周期、包大小等上传到TSN控制器;网络资源管理模块通过南向协议接口获取当前网络整体的拓扑结构、网络中硬件的带宽资源;网络资源管理模块进行资源管理、拓扑管理、网元管理,计算生成业务流的全局路由集合;将生成的待调度的流集合、业务流的全局路由集合,传送到调度引擎准备计算;调度引擎根据输入的流集合、全局路由集合,再结合其具体的业务需求,对时间敏感流、非时间敏感流同时进行调度计算;计算结束后得到流调度结果、生成门控列表,然后得到流的时隙图;将TSN控制器生成的门控列表通过南向协议接口下发到TSN交换机,对网络完成实际的流调度配置。

结合图3所示,TSN控制器中的网络资源管理模块,主要做处理为:将收集到的网络拓扑、流信息,建模为一个无向图G,其中顶点表示网络中的设备(终端系统ES、网络交换机SW);本实施例优选网络拓扑结构具有三个端系统ES

结合图1至图6所示,本实施例的时间敏感网络中针对混合传输的多目标优化调度方法,具体运行在时间敏感网络控制架构的TSN控制器上,以前述的流集合F、路由集合R作为输入,包括步骤如下:

S1、TSN控制器获取全网的拓扑信息、网络中所有流量的信息,生成所有的流集合、路由集合;具体过程包括:

S11、将终端上传的业务需求,即流量包的时延、抖动要求、流本身的周期、包大小上传到TSN控制器的网络资源管理模块;

S12、网络资源管理模块从TSN交换机获取到的当前的网络整体的拓扑连接情况、网络中的带宽资源、流量传输参数;

S13、网络资源管理模块根据步骤S11和步骤S12的输入,进行资源管理、拓扑管理、网元管理,从而把业务流分为TT流、AVB流、BE流,然后计算生成每条TT流全局路由集合、流集合;

S14、网络资源管理模块将生成的待调度的TT流集合、AVB流集合、TT流全局路由集合传送到调度引擎中,然后执行下一步;

S2、根据遗传算法的运行规则,针对当前所有TT流的路由集合进行编码和解码设计;设定遗传算法中,每个个体表示一种流调度的结果,每个个体的属性包括TT流总传输时延、AVB流总传输时延,并以TT流总传输时和AVB流总传输时延的帕累托最优解,作为时间敏感网络的多目标优化调度的目标;具体过程包括:

S21、设定每个TT流集合的编码结构为[流排序向量,路由选择向量,slack基因];

其中,slack基因表示一段TT流集合的预留时隙,该预留时隙用于在每一段时间敏感的TT流传输后为传输非时间敏感的AVB流和BE流设下一定的时间间隔,避免因为网络中TT流的优先级最高且不预留时隙可能会出现的TT流连续传输的现象,无需等到全部的TT流传完了才能让其他流量传输导致的其他流量高时延的问题;

流排序向量表示TT流排序的序号;路由选择向量表示TT流所对应调度的路由;

结合图4所示的本实施例优选的一种对某个TT流的编码结果;图4中最左侧为流排序向量,中间为路由选择向量,最右侧为slack基因;图4中的调度顺序为流2、流4、流5、流3、流1,对于整个网络拓扑来说每个TT流都至少有一条路由,所以每个TT流都有自己的路由集合,TT路由选择向量将每个TT流各自的路由集合进行各自编号,并从相应路由集合中选取出一个编号作为该条TT流的路由,按流排序把从每个路由集合中选出的编号组合成一个向量作为一条染色体,比如TT流1,在整个网络中有路由1、路由2、路由3、路由4可选,图4表示了对其调度为路由2,而对于TT流3,在整个网络中有路由1、路由2可选,然后对应调度到路由1上;

S22、结合图5所示,设计针对步骤S21中编码结构的解码方式,将以[流排序向量,路由选择向量,slack基因]编码结构的个体转化为[TT流传输时延,AVB流传输时延]的形式;解码的过程实际上就是调度排布流的过程,可以遍历流排序编码对流进行逐个排布,比如流排序向量为[2,4,5,3,1]的一个TT流,先对流2进行排布,之后是流4,直到排布完流1完成TT流的调度,在全部的TT流完成排布后,再依次将AVB流插空到没有排布TT流的位置,分别计算TT流和AVB流各自最后一帧的到达时刻,得到TT流和AVB流两者的总传输时延;具体过程包括:

S221、计算TT流在超周期下需要被排布的次数n,超周期hyper_period计算公式如下:

hyper_period=lcm(F

lcm()为最小公倍数函数,即求流集合中的所有流周期的最小公倍数,当前流i需要重复的次数n=hyper_period/F

S222、得到需要被排布的次数n后,从第一个周期开始调度,i表示周期,初始化i=0代表正在调度第一个周期;

S223、判断i是否大于0;若否则说明当前需要调度第一个周期,然后执行步骤S224;若是则说明第一个周期已经完成调度,当前需要调度下一个周期,然后执行步骤S225;

S224、根据TT流集合的序号找到对应的路由集合,遍历路由集合,在满足TSN控制器相应调度约束条件的前提下,在第一个周期中采用贪心策略,尝试将当前序号的TT流集合插入到可能的最小开始时间的位置,每排步完路由中的一跳,都为个体的后面加上一段slack基因,也就是下一跳的TT流起点至少要在这段slack基因所代表的预留时隙之后,直到将这条TT流集合的当前周期全部排完,然后执行步骤S226;

其中,调度约束条件包括:

(1)帧约束:要求任何TT帧(一个TT流集合设定为一个TT帧)的传输起始时刻都非负,且必须保证在其周期内传完;

(2)链路约束:任意两个TT帧在链路上传输时不能有时域上的重叠;

(3)流传输约束:任意一个TT帧都要沿着其路由进行有序传输;

(4)端到端约束:任意流的最后一帧的传输完成时刻减去该流第一帧的传输开始时刻不能超过其截止时间;

(5)帧隔离约束:一个队列在同一时刻只能存放一条流的帧,否则可能会引起帧交织,若两个帧走的是不同队列,则不需要考虑帧隔离;

进一步,贪心策略是指每次排布TT帧的时候,贪心地将其尽可能地往前放置,比如通过调度约束条件判断后,这个TT帧的可放置区域为[0,200],那我们就会把它的起始时刻设为0,也就是尽可能的快;

S225、在第一个周期排步的TT流集合、每个周期长度的基础上,确定当前周期的TT流集合排布,并且逐个检查是否符合TSN控制器相应调度约束条件;若是,则执行步骤S226;若否,则执行步骤S407;

S226、第一个周期或者第i个周期排布完成,然后将当前周期i加1进入下一个周期,然后执行步骤S228;

S227、重新设置i=0,将步骤S225不符合的调度约束条件添加到步骤S224的贪心策略中,然后执行步骤S228;

S228、判断当前的排布次数i,是否小于中的需要被排布的次数n;若是则返回执行步骤S223;若否则执行步骤S3;

S3、完成步骤S2针对当前所有TT流的路由集合进行编码和解码设计后,调度引擎确定对TT流集合的遗传算法基本设置;具体过程包括:

设定种群及个体;将待调度的TT流按照流的序号进行随机排序,生成一个流排序向量作为个体的一条染色体;求得每个TT流各自的路由集合进行各自编号,并从相应路由集合中选取出一个编号作为该条流的路由,按流顺序将每个路由集合中选出的编号组合成一个路由选择向量作为个体的另一条染色体;根据步骤S21中的编码结构,在每个个体中对应插入slack基因,slack基因的下界为0,同时要确保该个体插入相应的slack基因后,不会导致路由上的调度超过周期T;

S4、结合图5、图6所示,在调度引擎中采用遗传算法对种群进行迭代,以最小TT流时延和最小AVB流时延作为优化目标进行非支配排序和拥挤度计算,再选择排序后的个体组成新父代,反复迭代得到一组帕累托(Pareto)最优解,具体过程包括:

S41、设定种群数和最大迭代次数;随机生成初始种群,根据步骤S21进行编码;初始种群中每个个体的流排序、路由选择分别采用随机数算法给出的随机数,本实施例优选slack基因设置为0;在其他实施方式中,如果网络规模较大,slack基因可设置成最大TT流集合的长度以加快求解速度;

S42、对初始种群的每个个体都根据步骤S22进行解码,转换成[TT流传输时延,AVB流传输时延]的形式,解码完成后以TT流传输时延和AVB流传输时延作为评价指标进行非支配排序;

非支配排序的内容具体为:对于一整个种群,首先选出当前的帕累托最优解,记为支配等级1,将支配等级1中的解排除后,再从剩余种群中选出另一个帕累托最优解,记为支配等级2,以此类推,直到整个种群被分级完毕;在各支配等级中,每个解和当前等级中的其他任意解均互不支配,支配等级较前(数字较小)的解支配等级较后(数字较大)的解,即TT流时延和AVB流时延越小,层级越小,最小级别1是整个种群的非支配个体;

S43、从种群中选出优质个体;对步骤S42非支配排序后的种群进行选择,排序层级越低的个体代表了个体的TT流传输时延和AVB流传输时延越低,所以优先选择排序层级较低的个体,当待选择的个体处于同一排序层级中时,优先选择拥挤距离大的个体,以保证种群的多样性;

S44、完成步骤S43的选择后,将选出的优质个体作为子代进行交叉、变异生成新的子代,其中slack基因不参与交叉、变异,具体过程包括:

S441、交叉:首先根据设定的交叉概率,判断对应个体是否需要进行交叉;若需要交叉,则为了防止发生异常,将个体中的两段染色体分别进行交叉;对于流排序染色体,本实施例优选的交叉方式为顺序交叉OX,即随机选取一对父代染色体中基因的起始和结束位置,将其中一个父代染色体p1的基因片段复制到一个子代c1,然后在另一个父代p2上按顺序填入子代c1缺少的基因,另一个子代c2同理;对于路由选择染色体,本实施例优选采用均匀交叉的方式:同时遍历两个染色体,将染色体的第i个基因按交叉概率进行互换,保证发生交叉的一定是同一条流且具有相同的路由集合,互换不会发生异常;

S442、变异:首先根据设定的变异概率,判断对应个体是否需要进行变异;若需要进行变异,则两段染色体分别进行变异;对于流排序染色体,采取互换变异:根据变异概率随机选取染色体的两个基因进行交换,即改变了两条流的发送顺序;对于路由选择染色体,采用位点变异:在染色体中随机挑选多个基因,按变异概率对相应的基因值在设定范围内进行变动,即有一定的概率使某条流的路由发生跳变;

S45、将生成的新子代与原来的父代进行合并,生成一个新种群;

S46、将新种群按照步骤S42同样的方法进行解码并进行非支配排序;

S47、对新种群中的个体进行拥挤度计算;将拥挤距离定义为相应个体的相邻解i-1和i+1所形成的四边形的周长;对于一个解,其拥挤距离越大,说明这个解周围就越稀疏,在选择同一层级的解时,这个解将被优先选取,有利于种群的多样性;

其中,此时在i表示第i个个体时,i+1表示计算拥挤距离时个体i右侧最近的相邻个体,i-1则表示左侧最近的相邻个体;

S48、按照步骤S41设置的种群数,从非支配排序后的新种群中选出个体组成新的父代,继续按照步骤S44进行迭代,直到达到设置的最大迭代次数,得到一组帕累托最优解,即得到一组优质个体,该优质个体的TT流时延和AVB流时延都是最优的;

S5、调度引擎根据当前场景的网络拓扑,选出最适合本场景的路由调度方案生成门控列表,然后下发到TSN交换机中对相应的流量进行联合路由调度。

本实施例与现有技术相比,其有益效果在于:

采用联合路由的编码方式,将流和路由共同进行编码,增加了流的可调度性,扩大优化调度求解空间,避免固定路由调度所存在的流量多链路负载大调度效率不理想的情况;在调度求解上采用启发式的遗传算法,求解速度明显优于利用Z3优化模理论的求解器的求解速度;在种群迭代的过程中,将TT流传输时延和AVB流传输时延进行非支配排序,共同优化两个目标,最后得到一组帕累托最优解,对比现有技术的加权多目标优化,得到了更多的解,对比现有技术的单目标方法优化维度单一无法做到最优调度的问题,得到的解综合性更好,对现有网络具有更强的适用性。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

相关技术
  • 一种车载异构网络的多径传输调度优化方法
  • 基于时间效益函数的时间敏感网络下的混合流量调度方法
  • 一种基于优化模理论的时间敏感网络传输综合优化方法
技术分类

06120116074929