一种基于SDN架构的工业控制网络队列调度方法与流程

文档序号:12789422阅读:410来源:国知局
一种基于SDN架构的工业控制网络队列调度方法与流程
本发明涉及工业实时控制网络领域,具体的说是一种基于SDN架构的工业控制网络队列调度方法。
背景技术
:随着控制、通信、网络等技术的飞速发展,工业控制网络技术得到了快速发展,涵盖范围不仅仅局限于单个工厂,更侧重于从工厂的现场控制到企业的综合管理,这给下一代工业网络带来了新的技术挑战。同时,随着互联网技术的发展,软件定义网络(SDN)的应用越来越广泛,一种基于SDN的工业控制网络架构越来越受到业界的关注。下一代工业网络中存在多种数据类型,包括控制数据、音频数据、视频数据、监测数据及其他背景数据,每种数据的实时性要求不同,需要提出一种实时性保障机制来满足不同业务的QOS需求。基于SDN的工业控制网络利用软件定义网络控制与转发分离的特性,通过控制器集中控制网络中的数据转发方式,为不同数据分配不同的优先级,并对不同优先级的数据进行调度。队列优先级是将需要转发的数据按照优先级顺序进行排队,然后调度器优先让高优先级的队列先转发。但是调度器的调度机制有很多种,不同的调度机制会导致网络性能有很大变化,因此针对调度机制的研究至关重要。当前已有的队列调度算法包括SP(Strict-Priority,严格优先级队列)、WFQ(WeightedFairQueue,加权公平队列)和WRR(WeightedRoundRobin,加权轮询队列)。下一代工业网络的迅速崛起使得基于SDN的工业网络的实时性问题越来越受到关注,因此提出一种适用于该新型网络的队列调度机制来满足不同业务的实时性传输要求至关重要。技术实现要素:针对基于SDN的工业实时控制网络,本发明提出了一种基于SDN架构的工业控制网络队列调度方法,采用事件与时间相结合的调度机制来满足工业控 制网络中数据的实时性要求。本发明为实现上述目的所采用的技术方案是:一种基于时间和事件的双触发队列调度方法,包括以下步骤:步骤1:数据从发布端发送出来后,首先将注册信息发送到控制器中的存储单元中进行存储,以备后续订阅端订阅;步骤2:当有订阅端向控制器发送订阅请求后,控制器查看存储单元中是否有满足需求的发布端,如果有则向订阅端返回订阅成功消息,否则返回订阅失败消息;步骤3:订阅成功后,控制器根据发送端和订阅端的信息,计算出满足需要的传输路径;步骤4:控制器生成流表信息,下发到该传输路径途径的网络传输设备中;步骤5:发布端开始向订阅端发送消息,当数据进入网络传输设备后,根据流表信息将不同类型的数据分配到不同的队列中;步骤6:根据流表中存储的有关队列的时间触发状态,交替打开或关闭对应的时间窗口,控制数据队列出口的传输状态;步骤7:传输决策器根据数据优先级机制和数据传输窗口的奇偶变化来传输数据;步骤8:当奇数窗口打开时传递控制数据/根据优先级传递其他种类的数据,当偶数窗口打开时根据优先级传递其他种类的数据/传递控制数据,到下一个传输设备后重复步骤5到步骤8直至订阅端从发布端获取全部需要的订阅信息为止。所述数据的类型包括控制数据、音频数据、视频数据、监测数据、背景数据及其他数据。所述数据按照类型分为两大类,一类为控制数据,拥有最高的实时性要求;另一类包括除控制数据以外的所有数据,且按优先级从高到底的排列顺序为:音频数据、视频数据、监测数据、背景数据及其他数据。所述步骤6中交替的时间触发状态对应两种队列的调度状态:一种为q1:q2:q3:q4=1000,代表只有第一个时间触发门开,传输控制数据;另一种为q1:q2:q3:q4=0111,代表除了第一个时间触发门以外的时间触发门都打开,传输除了控制数据以外的数据。所述时间触发状态的交替以相同的时间间隔交替出现。所述决策器的触发机制包括时间触发或事件触发。所述时间触发是指通过控制不同类型数据的发送时间窗口,控制所述不同类型数据交替发送。所述事件触发是指根据业务类型将数据放入不同的队列中,并设置不同业务的优先级,作为非控制数据时间窗内的调度依据。所述控制数据拥有同等优先级,对控制数据进行标号,标记控制数据的发送时隙和接收时隙,进而确定控制数据发送的先后顺序;所述发送时隙和接收时隙为在发布端的循环时间下的时隙,所述发送时隙是发送端发送该数据时所在的循环时间标号,所述接收时隙是指网络中每个转发设备发出该数据所在的循环时间标号。所述确定控制数据的发送顺序遵循以下规则:在发送时隙不同的情况下,优先传输发送时隙较早的控制数据;在发送时隙相同的情况下,发送接收时隙较早的控制数据。所述时间窗口的大小和数据帧的大小能够影响数据传输的端到端时延。本发明具有以下优点及有益效果:1.解决了基于SDN架构的工业控制网络的实时队列调度问题,实现了不同种类业务的实时可靠传输。2.本发明采用时间与事件双触发机制,为不同的业务设置不同的传输队列,并通过交替时间窗口发送数据,实现实时可靠传输。3.通过实时队列调度方法,降低了数据的传输时延及时延抖动,满足了不同业务的实时性要求。4.通过网络传输模型的时延分析,确定降低时延的目标点,通过对数据标号来实现高优先级数据先接受先发送机制,以尽最大可能降低实时性要求高的数据业务的时延,满足工业场景的应用需求。附图说明图1为本发明的转发设备内的队列调度示意图;图2为本发明的传输模型的时延分析示意图;图3为本发明的多业务传输网络拓扑图;图4为本发明的多跳传输数据队列调度的数据帧时序图;图5为本发明的队列调度流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明在工业控制网络领域实现了具有实时性保障的队列调度方法,该工业控制网络是基于软件定义网络架构的,转发设备内的队列调度示意图如图1所示。基于SDN的工业控制网络支持openflow协议,通过流表实现数据的入队出队及存储转发等。控制器集中存储网络拓扑、注册订阅信息等,并计算出发布端和订阅端的转发路径。为了保证多业务数据的实时性,在数据进入到转发设备后需要装入不同类型的队列中,队列中的数据在出口如何调度是本发明关注的焦点。本发明中提出的队列调度方法通过最小化数据帧在交换机中的停留时间来减少数据的端到端时延,从而满足控制数据实时性。该方法将时间轴分为长度相同的奇偶调度时隙,接收到的数据使用接收时隙序号标记,数据帧在交换设备中的停留时间与调度时隙宽度有关,而调度时隙宽度又取决于控制数据的最大帧长度和最大端到端时延。根据工业控制网络相关协议要求,控制数据的最 大时延不大于20微秒。为了满足业务的实时性要求,即尽量降低网络的时延,本发明分析了发布端到订阅端的时延模型,如图2所示。从附图2中可以看出,数据从发送端发送到订阅端,时延因素包括:发布端内的数据处理时延从应用层到MAC层的ΔP,及物理层时延Δtx;发布端到交换机的传播时延Δtrans;交换设备内物理层接收数据到MAC层端口的时延ΔSin;交换设备内部流表查询及中继转发时延ΔSprop;交换设备出端口时延ΔSout和Δtx;交换设备到订阅端的传播时延Δtrans;订阅端从物理层到应用层的处理时延ΔS。本发明所关注的时延主要指数据从进入交换设备到从交换设备发出之间的时延。本发明中涉及到的数据类型包括控制数据、音频数据、视频数据、测试数据和背景数据等,为了简化说明案例,将数据划分为4种,即控制数据、音频数据、视频数据和其他数据,其他数据采用尽力而为服务机制。表1中给出了各种数据的最大帧大小和允许的最大端到端延时。表1多种业务信息表数据类型最大帧大小最大端到端时延控制数据128bytes100us/5hops音频数据256bytes2ms/7hops视频数据256bytes50ms/7hops其他数据256bytesn.a.接着使用附图3所示的多业务传输案例宏观的分析多业务工业控制网络中的信息交换形式。附图3中存在表1中所列出的4种业务,pub1到sub3为视频数据业务;pub2到sub0和pub4到sub2为控制数据业务;pub3到sub1为音频数据业务;其他数据采用尽力而为传输机制,不考虑其实时性要求。从图3中可以看出S2为核心节点,多条业务流都经过该节点,数据包在S2中的调度过程示意图如图1所示。附图4中表示的调度时序图是图3中的N2-S1-S2-N4这条流,假设数据流 经link1时数据时序如图中第一行时间轴所示,当数据经过S1到第二条链路上时,时序如图3中第二行所示。比较前两行发现,当控制数据(1,1)经过S1后到达第二条链路标号变成(2,1)。其中括号中的两位表达式一般结构为(x,y),y代表数据发出时所在的时隙,x代表数据接收时所在的时隙。添加标签的目的是为了防止数据发送中产生乱序,而导致一些数据传输滞后,通过加标签可以很清楚看出该数据包从哪个时隙来,与其他数据包相比的处理进度,因此可以对处理进度慢的数据包在进入交换设备后提前进入到队列中,以使得同种业务的处理速度大致相同。图4中S1和S2交换设备的处理队列的时间窗口大小不同,时间窗口的大小影响数据包在交换设备中的停留时间,进而影响数据包的时延,因此时间窗口大小的设定至关重要。从图4中可以大致看出控制数据能够可靠传输,传输时延在两个循环时间间隔内,能够满足传输工业控制数据的实时性要求。对业务从注册到成功传输整个过程进行分析,给出调度方法的详细流程图,如图5所示。步骤1:数据从发布端发送出来后,首先将注册信息发送到控制器中的存储单元中进行存储,以备后续订阅端订阅;步骤2:当有订阅端向控制器发送订阅请求后,控制器查看存储单元中是否有满足需求的发布端,如果有则向订阅端返回订阅成功消息,否则返回订阅失败消息;步骤3:订阅成功后,控制器根据发送端和订阅端的信息,计算出满足需要的传输路径;步骤4:控制器生成流表信息,下发到该传输路径途径的网络传输设备中;步骤5:发布端开始向订阅端发送消息,当数据进入网络传输设备后,根据流表信息将不同类型的数据分配到不同的队列中;步骤6:根据流表中存储的有关队列的时间触发状态,交替打开或关闭对应的时间窗口,控制数据队列出口的传输状态;步骤7:传输决策器根据数据优先级机制和数据传输窗口的奇偶变化来传输数据;步骤8:当奇数窗口打开时传递控制数据/根据优先级传递其他种类的数据,当偶数窗口打开时根据优先级传递其他种类的数据/传递控制数据,到下一个传输设备后重复步骤5到步骤8直至订阅端从发布端获取全部需要的订阅信息为止。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1