1.一种面向工业无线与TSN融合的网络调度方法,其特征在于:基于面向工业无线与TSN融合的网络架构,包括以下步骤:S1:用户通过计算机上的应用程序,根据应用需求对SDN控制器SDNC进行配置管理;
S2:SDNC根据融合网络端到端时延要求和端到端的优先级,综合计算数据流在工业无线网络和TSN网络中传输的优先级;
S3:SDNC下发融合网络拓扑信息至工业无线网络管理器IWNM,IWNM在融合网络通信前启动工业无线网络在每个信道进行数据包的传输,得到所有信道数据包每次传输的传输状态和传输时刻记录;
S4:IWNM基于深度学习方法,通过对TSduration时间段不同信道的数据包历史传输状态和传输时刻进行学习,预测未来TSduration+1时间段里不同信道的数据包在每次传输时的传输状态;
S5:IWNM根据预测得到的传输状态预测数据集PDS,选择优质可用信道;
S6:IWNM利用优质可用信道设计时隙信道资源模块调度表,然后将调度表配置到工业无线网络各个节点中;
S7:集中式网络配置CNC对融合网络数据流在TSN网络中的传输进行调度。
2.根据权利要求1所述的面向工业无线与TSN融合的网络调度方法,其特征在于:步骤S1具体包括:应用层的用户根据工业现场的网络传输需求,通过计算机上的应用程序进行融合网络拓扑信息管理和数据流量信息管理;所述融合网络拓扑信息管理是SDNC获取整个融合网络的链路集合信息,包括工业无线网络中的链路信息(WLink、Wlinki),TSN中的链路信息(Tlink、Tlinki)以及跨工业无线和TSN的链路信息(WTlink、WTlinki);所述数据流量信息管理包括设置数据流队列的带宽值(BW),融合网络端到端时延要求delayi和端到端优先级priorityi,查看当前网络数据流传输情况;在整个融合网络调度开始前,用户根据工业现场需求来设置带宽,当用户配置成功之后,SDN控制器中存在融合网络链路集合以及每条链路的带宽集合。
3.根据权利要求1所述的面向工业无线与TSN融合的网络调度方法,其特征在于:所述步骤S2具体包括:由工业无线网络与时间敏感网络组成的融合网络中,存在多种端到端优先级priorityi和多种端到端的时延要求delayi,以二维表格的形式将端到端的优先级priorityi和端到端的时延要求delayi作为输入,SDNC根据输入的端到端的优先级priorityi和端到端的时延要求delayi,结合制定的计算规则,综合得出无线侧优先级PRWN和TSN侧的优先级PRTSN,IWNM和CNC根据融合网络数据流分别在工业无线网络和TSN网络中的优先级来进行融合网络数据流的调度。
4.根据权利要求1所述的面向工业无线与TSN融合的网络调度方法,其特征在于:步骤S3具体包括:S3.1:SDNC将用户通过计算机上的应用程序配置的融合网络拓扑信息下发至IWNM;
S3.2:融合网络进行组网通信前,IWNM启动工业无线网络依次在每个信道进行Ni次数据包的传输,i=1,2,3,…,n,并记录每次传输的传输状态和传输时刻;其中,工业无线网络所有的信道集合表示为chx,x=1,2,3,…,n;工业无线网络使用信道chx进行数据包传输的总次数用Ni表示, 表示工业无线网络使用信道chx进行第i次传输的状态, 表示传输成功, 表示传输失败;
S3.3:IWNM将所记录的从 到 时间段的工业无线网络在所有信道每次传输的传输状态和传输时刻保存至数据库中,将 到 时间段记为TSduration。
5.根据权利要求1所述的面向工业无线与TSN融合的网络调度方法,其特征在于:步骤S4中,通过深度学习框架来完成工业无线网络使用信道chx进行数据包传输的传输状态预测任务,采用长短期记忆LSTM神经网络从不同时间序列中学习其中的关系,具体包括以下步骤:S4.1:IWNM根据步骤S2中保存在数据库中的记录表构建LSTM神经网络的训练集;将工业无线网络使用信道chx传输数据包的信道、传输次数、传输时刻和传输状态标记组成LSTM神经网络的训练集TS,传输时刻即为时间序列,训练集的时间段为TSduration;
S4.2:IWNM将TSduration时间段的训练集输入到LSTM神经网络中进行迭代训练,迭代次数设置为ω次;
S4.3:LSTM神经网络模型输出TSduration+1时间段里的工业无线网络在每个信道传输数据包的传输状态预测数据集PDS。
6.根据权利要求1所述的面向工业无线与TSN融合的网络调度方法,其特征在于:步骤S5中具体的选择方法如下:S5.1:IWNM根据预测数据集PDS,统计每个信道上传输状态标记 为1的传输次数num,然后由下式计算工业无线网络在当前信道上的数据包传输成功率*
S5.2:在IWNM中给定一个数据包传输成功率的阈值R;
S5.3:IWNM通过下式所定义的指标来评价当前信道chx的信道质量:如果 便认为信道chx对工业无线网络来说是优质信道,然后将chx加入到优质可用信道列表Listc;
S5.4:基于评价指标 对优质可用信道列表Listc中的信道chx进行降序排序,得到List′c。
7.根据权利要求1所述的面向工业无线与TSN融合的网络调度方法,其特征在于:步骤S6具体包括以下步骤:S6.1:IWNM对工业无线网络进行建模,将工业无线网络拓扑表示为图GIWN=(WN,WL),WN表示工业无线网络中包含的设备,WL表示设备之间的链路;假设网络中有一个网关设备,对其编号为WNg,j个路由设备,对路由设备依次编号为WNr,1,WNr,2,WNr,3,…,WNr,j,每个路由设备下有i个现场节点,对现场节点依次编号为WNe,1,…,WNe,i,…,WNe,(j‑1)i+2,…,WNe,ji,现场节点通过与路由设备及网关设备之间的连接链路进行通信;
S6.2:工业无线网络管理器IWNM根据网络模型计算网络中所有路径集合,得到路径集合表,记为LS;
S6.3:工业无线网络管理器IWNM根据网络中所有路径集合来计算每个现场节点的传输链路,并按照数据流在工业无线网络中传输的优先级PRWN从高到低进行排序,优先级高的数据流IWNM先对其进行调度,得到工业无线网络中从现场节点经路由设备到工业网关的所有Lk个传输链路集合,记为TPS;
S6.4:设置调度约束条件:
约束条件一:在任意时隙和任意信道内,最多只有一条链路进行数据传输;
约束条件二:在任意时隙内,进行数据传输的链路数目不能超过优质可用信道数目;
约束条件三:在任意时隙内,节点只能与一个邻居节点进行数据传输;
约束条件四:数据通信结束时,网络中的数据包全部到达工业网关;
S6.5:调度过程执行步骤:
S6.5.1:IWNM根据网络模型计算网络中所有路径集合,得到路径集合LS表;
S6.5.2:IWNM根据路径集合表LS来计算每个现场节点的传输链路,得到工业无线网络中从现场节点经路由设备到工业网关的所有传输链路集合TPS;
S6.5.3:IWNM以二维矩阵形式,将工业无线网络中所有优质可用信道和时隙建立成时隙信道资源模块调度表,并且将所有时隙信道资源模块初始化为空闲,用S0表示初始时隙号,C0表示第一个信道号;
S6.5.4:IWNM根据链路序号按顺序从传输链路集合TPS表中选取一条传输链路,将其拆分为若干跳,每一跳表示为(WNsrc→WNdst)m,其中m表示当前传输链路的第m跳,WNsrc表示每一跳的发送节点,WNdst表示每一跳的接收节点,第一跳的发送节点为现场节点,最后一跳的接收节点为工业网关,中间其余每一跳的发送节点和接收节点均为路由设备;
S6.5.5:IWNM按照约束条件一到四,从初始时隙S0开始逐个遍历每个信道,若当前时隙下所有时隙信道资源模块均为空则选择第一个信道所在模块[S0,C0]作为第一跳(WNsrc→WNdst)1的资源调度模块,同时记录这一跳的发送节点和目的节点,并且将该时隙信道资源模块标记为占用;
S6.5.6:IWNM将待调度跳数更新为当前传输链路的下一跳(WNsrc→WNdst)2,同时更新时隙为S1,选择[S1,C1]资源模块,对其进行空闲判断和约束条件判断,判断成功,则将其作为(WNsrc→WNdst)2这一跳的资源调度模块;
S6.5.7:重复执行步骤S6.5.6,直到为当前传输链路的每一跳都分配完时隙信道资源模块,结束当前传输链路的调度;若步骤S6.5.6中的判断失败,即时隙信道资源模块[S1,C1]已被占用或不满足约束条件一到四,则跳至步骤S6.5.8;
S6.5.8:重新遍历时隙S1时的每个时隙信道资源模块,对其进行空闲判断和约束条件判断,选择遍历到的第一个空闲且满足约束条件的模块作为(WNsrc→WNdst)2这一跳的资源调度模块,直到为当前传输链路的每一跳都分配完时隙信道资源模块,结束当前传输链路的调度;
S6.5.9:IWNM按顺序从传输链路集合TPS表中选取下一条传输链路,依次执行步骤S6.5.4到步骤S6.5.8;
S6.6:IWNM根据输入的传输链路集合TPS表按照步骤S6.5的调度过程执行步骤进行计算,输出时隙信道通信资源调度表和每条传输链路所调用的时隙信道资源模块;
S6.7:IWNM根据计算得到的时隙信道通信资源调度表和每条传输链路所调用的时隙信道资源模块表为网络中的所有设备配置运行状态,从而实现工业无线网络的调度。
8.根据权利要求1所述的面向工业无线与TSN融合的网络调度方法,其特征在于:所述步骤S7中,利用贪婪时隙分配GSA调度算法实现调度,GSA调度算法根据需要传输的多条数据流的特征信息,在调度周期Ts内,寻找一种传输窗口的排列方案,使得不同优先级数据流的各帧在某个相对合适的时间窗口被传输到链路上,优化各数据流的抖动延迟,具体包括以下步骤:S7.1:SDNC获取整个融合网络转换后的TSN数据流fi的信息,包括TSN数据流的传输周期Ti,单位为us,帧长Li,优先级PRTSN,各TSN数据流的传输速率TRi,然后传递给CNC;
S7.2:CNC计算TSN网络调度周期Ts,计算方法如下式,调度周期为所有TSN数据流传输周期的最小公倍数:Ts=lcm(T1,T2,…Tn)
其中T1,T2,…Tn为对应数据流f1,f2,…,fn的传输周期,在一个调度周期内,各流传输的帧数量恰好为整数;
S7.3:CNC根据所有TSN数据流的帧长Li以及帧传输开销Loverhead来计算每个TSN数据流在输出链路上的帧传输窗口宽度wtr(i),计算公式如下:在调度周期内,帧传输的开始与结束时刻之间的时间段,称为该帧的传输窗口;其中Loverhead为传输帧所需的固定开销;TRi为TSN数据流的传输速率,根据实际情况为不同固定值;
S7.4:CNC计算每条TSN数据流fi的帧发送序列Vi:
每条流fi从源端以固定的发送间隔,周期性地发送数据帧,若以0时刻作为计时起点,流fi在一个调度周期Ts内的帧发送序列Vi表示为Vi={0,Ti,2Ti,3Ti,…,nTi}
其中Ti为流fi的传输周期,n=Ts/Ti,帧发送序列Vi的每一项表示数据帧的发送时刻;
S7.5:CNC对TSN数据流fi的帧序列中的第j帧,标记其传输窗口为wtr(i,j);
S7.6:CNC计算相邻传输窗口发送间隔为TDi(j),计算公式如下:TDi(j)=wtr(i,j+1).tstart‑wtr(i,j).tstart假定在一个调度周期中TSN数据流fi有k个帧发送,不失一般性,令其中第一帧序号为0;
流fi的各帧传输窗口分别为wtr(i,0),wtr(i,1),…,wtr(i,k‑1);其中,wtr(i,j).tstart表示窗口wtr(i,j)相对于调度周期开始时刻的起始时间;调度序列确定后,TDi(j)决定了流fi的抖动特性;
S7.7:CNC根据相邻传输窗口发送间隔TDi(j)来计算TSN数据流fi(i=1,2,3,…,n)的抖动μ(fi),流fi的抖动定义为TDi(j)的最大差值,如下所示:μ(fi)=max{TDi(j)|0≤j≤k‑1}‑min{TDi(j)|0≤j≤k‑1}当fi的k=1时,帧的调度周期即为传输周期,无论其传输窗口wtr(i)如何安排,均有μ(fi)=0;
S7.8:在传输窗口的基础上,将调度周期Ts切分成若干个时隙;在一个时间长度为δ的时隙中,可传输一定数量q的比特数,其传输数量q与TSN数据流传输速率TRi有关,如下所示:q=δ*TRi
S7.9:通过流速与链路容量关系确定调度周期内时隙数量,对传输方案进行优化:CNC将每条TSN数据流的传输速率与传输链路的容量θ组合成带宽单元γ=[TR1,TR2,…,TRn,θ],将各流传输速率与链路容量近似为整数,并通过提取公因子的方式对其化简;
调度周期Ts内的时隙总数S为化简后的流的传输速率和链路容量的最小公倍数,如下式所示:其中 分别为TR1,TR2,…,TRn,θ化简后的值;
S7.10:求得调度周期Ts内的时隙总数S后,CNC计算调度周期Ts内的每个时隙的时间长度δ,如下式:S7.11:CNC由下式计算得到数据流的一个帧传输窗口占用的时隙个数Si:其中,wtr(i)是TSN数据流在输出链路上的帧传输窗口宽度;
S7.12:CNC对TSN数据流fi按照优先级PRTSN从高到低进行排序,得到待调度TSN数据流列表Fscheduled=[Fi,Fi+1,Fi+2,…,Fi+n];
S7.13:CNC依次调度Fscheduled列表中的TSN数据流,对其在每个调度周期内的传输窗口分配时隙;
S7.14:CNC输出所有TSN数据流的帧传输窗口时隙调度序列表;
GSA调度算法输入参数包括:所有TSN数据流fi(i=1,2,3,…,n)的传输周期Ti;所有TSN数据流fi(i=1,2,3,…,n)的帧长Li;所有TSN数据流fi(i=1,2,3,…,n)的优先级PRTSN;所有TSN数据流的传输速率TRi;所有TSN数据流fi(i=1,2,3,…,n)传输帧所需的固定开销Loverhead;所有TSN数据流fi(i=1,2,3,…,n)在调度周期Ts内发送帧的个数ki;
GSA调度算法输出为:CNC通过GSA调度算法求解将n个TSN数据流的 个帧的传输窗口按某种方式排列在长度为Ts的时间线上,并且使所有流fi的抖动最小化,即μ(fi)趋于0的调度序列;
TSN数据流的输入有以下两种情形:
情形一:所有TSN数据流的帧传输周期相同
CNC所计算出的调度周期Ts的取值为流的传输周期Ti,且所有流在该调度周期内只有一个帧需要传输,即ki=1,此时,μ(fi)=0(i=1,2,...,n);
情形一调度算法的执行过程为:
A1:CNC将所有时隙初始化为空闲,按序编号;
A2:对Fscheduled列表中的每个流,在Ts内只有一个帧需要分配时隙,CNC计算流Fi的帧发送窗口占用的时隙数;
A3:在未占用的时隙中,分配编号最小的连续Si个时隙给该窗口wtr(i,0),并标记为占用;
A4:设置wtr(i,0).tstart为被分配的第一个时隙的开始时间;
A5:回到步骤A2,调度下一个数据流,直到所有数据流都己分配完毕;
A6:输出结果,即一个调度周期内的传输窗口时隙调度序列表;
情形二:所有TSN数据流的帧传输周期不同
输出链路调度的目标是搜寻使所有流fi的抖动最小化的帧传输窗口时隙调度序列排列方案;该最优方案的搜索问题是一个贪婪时隙分配的问题,采用情形二调度算法的贪婪算法求解;
此时,调度周期Ts=lcm(T1,T2,…Tn),即所有流发送周期的最小公倍数;
情形二调度算法的执行过程为:
B1:CNC将所有时隙初始化为空闲,按序编号;
B2:CNC对流Fi中的所有帧按照其帧发送序列Vi排序;
B3:对Fscheduled列表中的每个流,在Ts内需要安排ki个帧,且各帧间隔应等于Ti,CNC计算流Fi帧发送窗口占用的时隙数Si;
B4:在未占用的空闲时隙中,寻找满足条件的ki个帧传输窗口:每个窗口需要连续Si个未占用的时隙;各窗口之间的间隔等于流Fi的帧传输周期Ti;
B5:CNC选取满足以上两个条件的、编号最小的时隙分配给流Fi的ki个帧传输窗口,然后将时隙标记为占用;
B6:CNC保存各窗口开始时间wtr(i,j).tstart(0≤j≤ki‑1);
B7:若步骤B4中未找到满足条件的ki个帧传输窗口,则选取距离wtr(i,0)的分配起点j*[Ti/δ]个时隙的位置分配给wtr(i,j);若当前位置不够连续Si个空闲时隙,则在该位置附近寻找满足该条件的时隙分配给wtr(i,j);
B8:回到第步骤B2,调度下一个数据流,直到所有流都己分配完毕;
B9:CNC输出结果,即一个调度周期内的传输窗口时隙调度序列表;
根据以上两种情形的调度算法执行过程,CNC计算出融合网络中的数据流在所有TSN交换机中的调度序列表,并将调度表配置到网络中所有的TSN交换机;然后由门控制列表GCL按照上述CNC计算得到的调度表来周期性的开关相应的门,让队列中的帧能够在调度后的发送窗口中进行传输。