CN108540402A - 一种优化队列时延的方法和设备 - Google Patents
一种优化队列时延的方法和设备 Download PDFInfo
- Publication number
- CN108540402A CN108540402A CN201710121685.9A CN201710121685A CN108540402A CN 108540402 A CN108540402 A CN 108540402A CN 201710121685 A CN201710121685 A CN 201710121685A CN 108540402 A CN108540402 A CN 108540402A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- transmitting message
- message
- transmitting
- time
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种优化队列时延的方法,该方法包括:转发设备接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延;所述转发设备采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长;根据所述容忍延迟时长确定所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。该过程中转发依据的是依据实际时延动态调整的,因此,可以实时区分出传输报文的紧迫程度。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种优化队列时延的方法和设备。
背景技术
工业4.0(Industry 4.0)对通信的低时延特性有很高的需求。按照应用大类进行划分,工业应用可以分为过程自动化、工厂自动化和运动控制三大类。其中,过程自动化和工厂自动化的最大通信传输时延通常为几十到一百毫秒;而运动控制类应用对通信传输时延有极高的要求,例如对传输带上需要装配的组件进行流水拾取,或者对传输带上需要进行切割的组件进行翻转,如果不能精准控制机械臂运作的时机,将对生产造成不可预估的损失,因此运动控制类应用要求的最大通信传输时延通常小于一微秒,极端情况下甚至要求通信传输时延不大于250微秒。
得益于以太网(Ethernet Network)具有的高速性、灵活性、易于维护并有较好的可靠性等优点,工业以太网(Industrial Ethernet)在工业4.0中逐渐得到了广泛应用。在以太交换网络中,通信时延通常由端口接收和发送时延“Lsf”、转发平面时延“Lfb”、信号线缆时延“Lwl”和队列时延“Lq”这四个部分组成。通常情况下,端口接收和发送时延“Lsf”、转发平面时延“Lfb”、信号线缆时延“Lwl”这三者数值和变化范围并不大;但是队列时延“Lq”由于受到数据流量变化的影响,为时延引入了非确定因素,是造成网络时延的重要原因。因此,要降低应用端到端的时延,必须有效解决队列时延“Lq”问题。
现有技术中,为了减少队列时延“Lq”,报文通常被加上优先级等信息,在排队中依据优先级和流分类等策略进行转发。
例如,在IEEE 802.1Q协议中,以太帧中被加入了表示优先级的Priority字段。该字段长度3bit,取值范围从0-7,表示以太帧的优先级,一般是在网络拥塞时QoS中使用,保证高优先级的报文优先转发。
然而,现有技术中的优先级是预配置的,在整个传输过程中是静态的,无法区分不同时刻报文的急迫性。图1给出了优先级无法有效解决报文转发急迫性的一个简单例子。报文P1,P2优先级相等;T2时刻,P1与P2同时到达转发节点3进行排队,此时P1距离产生已经过一段时间,而P2则刚刚产生;转发节点3仅仅通过优先级无法分辨P1和P2哪个更加急迫。
发明内容
本发明实施例提供了一种优化队列时延的方法和设备,以解决现有技术中无法区分报文的实时紧迫程度的问题。
为达到上述目的,本发明采用如下技术方案:
一方面,本发明实施例提供了一种优化队列时延的方法,该方法由在源端设备和目的设备间做报文转发的转发设备执行,在该方法中,该转发设备接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延,然后采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长,之后,该转发设备根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
在上述实施例中,通过在传输报文中携带剩余转发次数以及最大容忍时延,使得转发设备可以依据转发次数以及最大容忍时延计算出传输报文实时的容忍延迟时长,从而依据该容忍延迟时长来确定该传输报文的转发优先级。本方案有别于传统的优先级设定,转发优先级依照时间实时确定,粒度更细,无需预配置,实施简单。与传统的时延限制方法设置一个静态的时延不同,本方案根据报文转发中遇到的各类实际时延,对报文在每一次转发中的转发紧迫程度进行了动态调整和分配,实现了对每一次转发依据的精确和动态的控制。
在一种可能的设计中,所述采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长可以通过以下方式实现:将所述传输报文的最大容忍时延减去转发平面时延,得到剩余容忍时延;其中,所述转发平面时延由所述传输报文到达所述转发设备的出端口的时间减去所述传输报文到达所述转发设备的入端口的时间得到;将所述剩余容忍时延除以所述传输报文的剩余转发次数得到所述容忍延迟时长。
本方案通过给报文增加时间和剩余转发次数,当报文到达特定节点时更新报文剩余转发次数和剩余时间,动态减去每次转发平面时延,然后平均分配剩余每一次转发的容忍时间,得到本次查找和转发的最大容忍延迟。该过程中转发依据的是依据实际时延动态调整的,因此,可以实时区分出传输报文的紧迫程度。
在一种可能的设计中,该方法还可以进一步包括如下步骤:所述转发设备在接收到所述传输报文后,在所述传输报文中增加临时时间戳字段,并将所述传输报文到达所述转发设备的入端口的时间记录在所述临时时间戳字段中;在所述传输报文到达所述转发设备的出端口时,所述转发设备用所述传输报文到达所述出端口的时间减去所述临时时间戳字段中记录的时间得到所述转发平面时延,并将所述临时时间戳字段中记录的时间更新为所述传输报文到达所述出端口的时间。
在一种可能的设计中,当所述转发设备从转发队列中取出所述传输报文进行转发时,删除所述传输报文中的临时时间戳字段。通过将临时时间戳字段删除,可以减小报文的长度,节省网络资源。
在一种可能的设计中,所述根据所述容忍延迟时长确定所述所述传输报文的转发优先级,具体包括:所述转发设备将所述容忍延迟时长加上所述传输报文到达所述转发设备的出端口的时间作为所述传输报文的转发依据,所述转发依据用于指示所述传输报文的最晚转发时间;通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级。
在一种可能的设计中,可以通过如下两种方式实现通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级:
方式一:比较所述传输报文的最晚转发时间与其它待入队的传输报文的最晚转发时间,按照最晚转发时间由早到晚,优先级依次降低;
相应的,所述根据确定出的优先级将所述传输报文加入到转发队列中,具体包括:按照优先级由高到低的顺序,将所述传输报文和其它待入队的传输报文依次加入到所述转发队列的队尾;
方式二:比较所述传输报文的最晚转发时间与所述转发队列中已存在的传输报文的最晚转发时间,最晚转发时间越早,优先级越高;
相应的,所述根据确定出的优先级将所述传输报文加入到转发队列中,具体包括:根据优先级又高到低的顺序,确定所述传输报文在所述转发队列中的位置,将所述传输报文插入到所述位置。
在一种可能的设计中,在比较所述传输报文的转发依据与队列中已存在的其它传输报文的转发依据之前,该方法还进一步包括如下步骤:
确定所述传输报文的容忍延迟时长所在的时间段;
以所述容忍延迟时长所在的时间段对应的队列段中的传输报文作为与所述传输报文比较的传输报文,所述队列段是按时间对所述转发队列中的传输报文进行划分得到的。
在一种可能的设计中,当所述转发设备从转发队列中取出所述传输报文进行转发时,所述转发设备从所述最大容忍时延中扣除在本设备中产生的时延得到新的最大容忍时延,采用所述新的最大容忍时延更新所述传输报文中的最大容忍时延。
又一方面,本发明实施例提供了一种优化队列时延的方法,该方法由在源端设备和目的设备间进行报文传输的源端设备执行,在该方法中,该源端设备通过向目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,然后将应用要求的最大时延减去所述线缆时延得到发送传输报文的最大容忍时延,向所述目的设备发送传输数据的传输报文,并将测试出的所述转发次数作为所述传输报文的剩余传输次数携带在所述传输报文中,以及将所述最大容忍时延携带在所述传输报文中。其中,所述剩余传输次数以及最大容忍时间用于确定所述传输报文在转发设备中的容忍延迟时长。
在一种可能的设计中,在所述源端设备向所述目的设备发送传输数据的传输报文后,所述方法还包括:当所述源端设备接收到指示转发路径异常的指示消息时,所述源端设备再次从所述向目的设备发送经由转发设备转发的控制报文的步骤开始执行。
在一种可能的设计中,所述源端设备通过向目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延具体包括:源端设备向目的设备发送报文类型为控制类型的控制报文,其中,所述控制报文中携带记录转发次数的字段以及记录线缆时延的字段;所述控制报文经由所述转发设备转发至所述目的设备,并且在每次转发过程中对所述转发次数以及线缆时延进行累加。之后,所述源端设备接收所述目的设备在接收到所述控制报文后发回的所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值,所述源端设备基于所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值得到从所述源端设备到所述目的设备的转发次数以及线缆时延。
在一种可能的设计中,所述控制报文中携带所述记录线缆时延的字段的初始值为0,在所述控制报文从所述源端设备发出时,将所述记录线缆时延的字段的值减去所述控制报文发出时的系统时间;所述在每次转发过程中对所述线缆时延进行累加具体包括:所述控制报文每到达一个转发设备的入端口以及到达所述目的设备的入端口时,将所述记录线缆时延的字段中的值加上到达所述入端口时的系统时间,并在每次从所述转发设备的出端口发出时,将所述记录线缆时延的字段中的值减去从所述出端口发出时的系统时间。
再一方面,本发明实施例提供了一种转发设备,应用于在源端设备和目的设备间做报文转发,其特征在于,所述转发设备包括:接收单元,用于接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延;处理单元,用于采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长,根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
一种可能的设计中,所述采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,具体包括:将所述传输报文的最大容忍时延减去转发平面时延,得到剩余容忍时延;其中,所述转发平面时延由所述传输报文到达所述转发设备的出端口的时间减去所述传输报文到达所述转发设备的入端口的时间得到;将所述剩余容忍时延除以所述传输报文的剩余转发次数得到所述容忍延迟时长。
一种可能的设计中,所述处理单元进一步用于在接收到所述传输报文后,在所述传输报文中增加临时时间戳字段,将所述传输报文到达所述转发设备的入端口的时间记录在所述临时时间戳字段中,在所述传输报文到达所述转发设备的出端口时,用所述传输报文到达所述出端口的时间减去所述临时时间戳字段中记录的时间得到所述转发平面时延,并将所述临时时间戳字段中记录的时间更新为所述传输报文到达所述出端口的时间。
一种可能的设计中,所述根据所述容忍延迟时长确定所述所述传输报文的转发优先级,具体包括:所述处理单元将所述容忍延迟时长加上所述传输报文到达所述转发设备的出端口的时间作为所述传输报文的转发依据,所述转发依据用于指示所述传输报文的最晚转发时间;通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级。
再一方面,本发明实施例提供了一种网络设备,应用于在源端设备和目的设备间传输报文时优化队列时延,所述网络设备为所述源端设备,其特征在于,所述网络设备包括:发送单元,用于向所述目的设备发送经由转发设备转发的控制报文,并向所述目的设备发送传输数据的传输报文;处理单元,用于通过向所述目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,将应用要求的最大时延减去所述线缆时延得到发送传输报文的最大容忍时延,将测试出的所述转发次数作为所述传输报文的剩余传输次数携带在所述传输报文中,以及将所述最大容忍时延携带在所述传输报文中,所述剩余传输次数以及最大容忍时间用于确定所述传输报文在转发设备中的容忍延迟时长。
在一种可能的设计中,在所述发送单元向所述目的设备发送传输数据的传输报文后,所述处理单元进一步用于当所述接收单元接收到指示转发路径异常的指示消息时,所述处理单元再次从所述向目的设备发送经由转发设备转发的控制报文的步骤开始执行。
在一种可能的设计中,所述处理单元通过向目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,具体包括:所述处理单元向目的设备发送报文类型为控制类型的控制报文,其中,所述控制报文中携带记录转发次数的字段以及记录线缆时延的字段,所述控制报文经由所述转发设备转发至所述目的设备,并且在每次转发过程中对所述转发次数以及线缆时延进行累加;所述处理单元接收所述目的设备在接收到所述控制报文后发回的所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值,然后基于所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值得到从所述源端设备到所述目的设备的转发次数以及线缆时延。
在一种可能的设计中,所述控制报文中携带记录转发次数的字段的初始值为0;所述在每次转发过程中对所述转发次数进行累加,具体包括:所述控制报文每到达一个转发设备以及到达所述目的设备,所述转发次数加1。
在一种可能的设计中,所述控制报文中携带所述记录线缆时延的字段的初始值为0,在所述控制报文从所述发送单元发出时,将所述记录线缆时延的字段的值减去所述控制报文发出时的系统时间;所述在每次转发过程中对所述线缆时延进行累加,具体包括:所述控制报文每到达一个转发设备的入端口以及到达所述目的设备的入端口时,将所述记录线缆时延的字段中的值加上到达所述入端口时的系统时间,并在每次从所述转发设备的出端口发出时,将所述记录线缆时延的字段中的值减去从所述出端口发出时的系统时间。
再一方面,本申请实施例提供了一种转发设备,应用于在源端设备和目的设备间做报文转发,所述转发设备包括:网络接口,用于接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延;处理器,用于采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长,根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
再一方面,本申请实施例提供了一种网络设备,应用于在源端设备和目的设备间传输报文时优化队列时延,所述网络设备为所述源端设备,其特征在于,所述网络设备包括:网络接口,用于向所述目的设备发送经由转发设备转发的控制报文,并向所述目的设备发送传输数据的传输报文;处理器,用于通过向所述目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,将应用要求的最大时延减去所述线缆时延得到发送传输报文的最大容忍时延,将测试出的所述转发次数作为所述传输报文的剩余传输次数携带在所述传输报文中,以及将所述最大容忍时延携带在所述传输报文中,所述剩余传输次数以及最大容忍时间用于确定所述传输报文在转发设备中的容忍延迟时长。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述转发设备所用的计算机软件指令,其包含用于执行上述方面为转发设备所设计的程序。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存为上述网路设备所用的计算机软件指令,其包含用于执行上述方面为网络设备所设计的程序。
在上述实施例中,通过在传输报文中携带剩余转发次数以及最大容忍时延,使得转发设备可以依据转发次数以及最大容忍时延计算出传输报文实时的容忍延迟时长,从而依据该容忍延迟时长来确定该传输报文的转发优先级。该过程中转发依据的是依据实际时延动态调整的,因此,可以实时区分出传输报文的紧迫程度。
附图说明
图1为现有技术中转发报文的示意图;
图2为本发明实施例提供的一种的传输系统的网络结构图;
图3为本发明实施例提供的一种网络设备的结构图。
图4为本发明实施例提供的一种获取转发次数以及线缆时延的方法流程图;
图5为本发明实施例提供的一种以太帧的报文结构图;
图6为本发明实施例提供的一种IP报文的报文结构图;
图7为本发明实施例提供的一种控制报文的示意图;
图8为本发明实施例提供的一种发送传输报文的方法流程图;
图9为本发明实施例提供的一种转发依据的物理意义的示意图;
图10为本发明实施例提供的一种为传输报文的转发示意图;
图11为本发明实施例提供的一种压缩队列长度进行查找插队的算法流程图;
图12为本发明实施例提供的一种转发设备的结构示意图;
图13为本发明实施例提供的一种源端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明实施例可应用于传输系统中,该传输系统可以位于二层交换网络或者三层交换网络中。如图2所示,图2为本发明实施例提供的传输系统的示意图,该传输系统中可包括源端设备201、至少一个转发设备202以及目的设备203。
其中,源端设备201可以是工业控制网络场景中的控制主机,或者,工业传感器,或者物联网场景中的传感器等。转发设备202可以是交换设备或路由器等。目的设备203可以是执行器(如,工业控制网络场景中的伺服电机或者物联网场景中的信息处理中心等)。
源端设备201上的应用通过由至少一个选定的转发设备202组成的转发路径向目的设备203发送报文,并且可以获得目的设备203返回的报文。其中目的设备203返回的报文的转发路径可以与之前源端设备201向目的设备203发送报文的转发路径不同。
本发明实施例中,报文中可以携带该报文的剩余转发次数以及该报文的最大容忍时延。各转发设备202可以通过报文中的剩余转发次数以及最大容忍时延来确定报文在各个转发设备202上的转发依据(“转发依据”即传输系统对某一转发设备202提出的报文在该转发设备上的最晚转发时间。转发设备202根据此最晚转发时间对报文在该转发设备202的转发过程进行安排,原则上必须满足报文在该转发设备202上的实际转发时间不晚于最晚转发时间)。该过程中,由于转发依据是基于实际时延动态调整的,因此,可以实时区分出传输报文的紧迫程度。
需要说明的是,图2中所示的各设备(源端设备、转发设备、目的设备)均可以采用图3所示的网络设备来实现。图3为所示为本发明实施例提供的网络设备结构示意图。网络设备300包括至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。
处理器301可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。所述通信接口304,适用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。例如,该网络设备在作为源端设备时,通信接口304可用于与转发设备、目的设备进行通信。该网络设备在作为转发设备时,通信接口304可用于与源端设备、目的设备进行通信。该网络设备在作为目的设备时,通信接口304可用于与源端设备、转发设备进行通信。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器303用于存储执行本发明方案的应用程序代码,并由处理器301来控制执行。所述处理器301用于执行所述存储器303中存储的应用程序代码。例如,该网络设备在作为源端设备时,存储器303用于存储实现如图4和图8所示方法实施例中的源端设备的功能的应用程序代码。该网络设备在作为转发设备时,存储器303用于存储实现如图4和图8所示方法实施例中的转发设备的功能的应用程序代码。该网络设备在作为目的设备时,存储器303用于存储实现如图4和图8所示方法实施例中的目的设备的功能的应用程序代码。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备300可以包括多个处理器,例如图3中示出两个处理器301。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
上述的网络设备300可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,网络设备300可以是网络服务器、通信设备、嵌入式设备或有图3中类似结构的设备。本发明实施例不限定网络设备300的类型。
本发明实施例中,源端设备可以通过向目的设备发送经由转发设备转发的报文来测试从所述源端设备到所述目的设备的转发次数以及线缆时延,从而基于测试得到的转发次数以及线缆时延来确定需要在报文中携带的剩余转发次数以及最大容忍时延。为了便于区分,本发明实施例中将用于测试的报文叫做控制报文,将用于传输的报文叫做传输报文。
下面通过图4来介绍源端设备获取从所述源端设备到所述目的设备的转发次数以及线缆时延的过程。如图4所示,图4为本发明实施例提供的获取转发次数以及线缆时延的方法流程图,该方法包括:
S401,源端设备向目的设备发送控制报文。
其中,该控制报文可以是报文控制类型为控制型的报文。该控制报文中可以包括记录转发次数的字段以及记录线缆时延的字段。如果将本方案应用于二层交换网络(如以太网),可以对以太帧进行修改(如扩展字段或复用某些字段)以携带本方案所需的信息(例如,记录转发次数的字段以及记录线缆时延的字段)。如果将本方案应用于三层交换网络(如IP网络),可以对IP包头进行修改(如扩展或复用)以携带本方案所需的信息。控制报文携带的信息中,标识报文控制类型的字段用Ctr表示,长度为1比特,取值为0或者1,当Ctr位取1时报文为获取转发总次数信息以及线缆时延信息的控制报文。以太帧(以IEEE 802.1Q以太帧格式为例)和IP包头进行修改的报文结构如图5和图6所示。其中,图5为对以太帧进行修改的报文结构。图6为对IP包头进行修改的报文结构。其中,Nfw为记录转发次数的字段,长度为7比特;Td为记录线缆时延的字段,长度为3字节。
源端设备可以每隔一段固定时间就向目的端发送控制位Ctr取1的控制报文来获取报文转发次数和线缆时延。其中,源端设备可由源端设备中的应用(如工业控制网络中控制主机控制机械臂动作的应用)来触发该操作。
S402,源端设备发送的控制报文经由转发设备转发至目的设备,并且在每次转发过程中对所述转发次数以及线缆时延进行累加。进行累加的具体过程如下:
其中,控制报文中的Nfw字段的值记为N0(N0为大于等于0的整数),即Nfw=N0。Nfw字段的初始值可以设置为0,即N0=0。控制报文到达转发设备以及目的设备的入端口时,转发设备或目的端对转发次数进行逐次累加(如,加1)。
控制报文中的Td字段的初始值也可以设置为0,即Td=0。控制报文被源端设备发送出去前源端设备对初始值减去当前的系统时间(即从源端设备出端口发送时的系统时间)。当控制报文到达转发设备以及目的设备的入端口时,转发设备或目的端将Td字段的值加上当前的系统时间(即到达入端口的时间)。当控制报文被转发设备出端口发送出去前转发设备对Td字段的值减去当前的系统时间(即从出端口发送时的值)。上述过程中,Td字段的值在前一设备发送时减去从出端口发送时的时间,并在到达后一设备的入端口时加上到达该入端口的时间,得到的时间差就是前一设备和后一设备间的线缆时延。通过上述方式,各设备在传送控制报文的过程中,不断将时间差累计到Td字段,最终得到的Td字段的值为从源端设备到目的设备的线缆时延Lwl,即Td=Lwl。
以太帧为例,累加后得到的控制报文如图7所示。
S403,目的终端将控制报文中记录转发次数的字段中的值以及所述记录线缆时延的字段中的值发送给源端设备。
也就是说,目的终端将控制报文中的Nfw字段的值以及Td字段的值发送给源端设备。
源端设备基于所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值得到从所述源端设备到所述目的设备的转发次数以及线缆时延。
需要说明的是,当Nfw字段的初始值以及Td字段的初始值为0时,源端设备从Nfw字段中得到的值即为从所述源端设备到所述目的设备的转发次数,从Td字段得到的值即为从所述源端设备到所述目的设备的线缆时延。
当Nfw字段的初始值以及Td字段的初始值也可以设置为任意数值,在此情况下,源端设备将Nfw字段中得到的值减去初始值即为从所述源端设备到所述目的设备的转发次数,将从Td字段得到的值减去初始值即为从所述源端设备到所述目的设备的线缆时延。
源端设备获取到从源端设备到所述目的设备的线缆时延后,可以根据应用要求的最大时延减去线缆时延得到发送传输报文的最大容忍时延。最大容忍时延表示在传输报文的整个传输过程中允许的在所有转发设备内的延迟总时长。源端设备在发送传输报文时,可以将获取到的转发次数作为传输报文的剩余传输次数携带在传输报文中,将最大容忍时延携带在所述传输报文中,从而可以使转发设备根据剩余传输次数以及最大容忍时间来确定传输报文在转发设备中的容忍延迟时长,以对该传输报文的转发进行合理安排,减少队列时延。
下面对发送传输报文的过程进行详细说明。图8为发送传输报文的方法流程图,该方法包括:
S801,源端设备向所述目的设备发送传输数据的传输报文。
传输报文可以是报文控制类型为转发型的报文。该传输报文中可以携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延。传输报文可以采用与控制报文类似的报文结构。不同的是,传输报文携带的信息中,标识报文控制类型的字段Ctr取值为0,当Ctr位取1时报文为获取转发总次数信息以及线缆时延信息的控制报文,当Ctr位取0时报文为传输报文。以图5和图6所示的报文结构为例。其中,剩余转发次数记录在Nfw字段,长度为7比特;最大容忍时延记录在Td字段,长度为3字节。
源端设备发送的传输报文中Nfw字段的初始值设置为通过图4的方式获取到的转发次数,将该转发次数作为剩余转发次数。Td字段的初始值设置为根据图4的方式获取到的线缆延时计算得到的最大容忍延时。
S802,转发设备接收到传输报文后,判断传输报文中的剩余转发次数是否正常,若转发次数正常,则继续执行步骤S803-S805,若转发次数不正常,则跳至步骤S806。
接收传输报文的设备可以根据传输报文中的目的地址判断自己是转发设备还是目的设备。本实施例中,以本步骤接收传输报文的设备为转发设备进行说明。由于接收传输报文的设备为转发设备而不是目的设备,因此传输报文中的剩余转发次数大于1,则正常,传输报文中的剩余转发次数小于等于1,则不正常。
S803,转发设备采用该传输报文的剩余转发次数以及该传输报文的最大容忍时延计算传输报文本次转发的容忍延迟时长。
容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长。计算容忍延迟时长的具体过程如下:
转发设备计算本次转发的转发平面时延。转发平面时延由传输报文到达转发设备的出端口的时间减去传输报文到达转发设备的入端口的时间得到。转发设备将该传输报文中携带的最大容忍时延减去转发平面时延,得到剩余容忍时延。转发设备再将剩余容忍时延除以传输报文的剩余转发次数得到所述容忍延迟时长。
其中,最大容忍时延可以从Td字段中获得,转发次数可以从Nfw字段中获得。而转发平面时延的计算可通过以下方式来实现:在传输报文到达转发设备的入端口后,转发设备在该传输报文中加上临时时间戳字段Ttmp(该时间戳可以用4个字节来表示),并将传输报文的到达时间记录在Ttmp中。在传输报文到达转发设备的出端口队列时,转发设备计算系统当前时间与Ttmp中记录的到达时间之差,该时间差即为转发平面时延。本申请中将转发平面时延用Lfb来表示。转发设备计算出转发平面时延Lfb后,将Ttmp中记录的时间更新为传输报文到达出端口的时间,以便在后续使用。
在计算出所述传输报文本次转发的容忍延迟时长后,转发设备还将Nfw字段中的剩余转发次数减1。
S804,转发设备根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
其中,确定传输报文的转发优先级的具体过程如下:转发设备将S803中计算出来的容忍延迟时长加上该传输报文到达转发设备的出端口的时间作为所述传输报文的转发依据。该转发依据用于指示传输报文的最晚转发时间。转发设备通过比较传输报文的转发依据与其它传输报文的转发依据来确定出该传输报文的优先级。
以计算传输报文在第i个转发设备的转发依据为例,可以采用如下公式(记为公式1)来计算转发依据:
其中,Td即传输报文到达第i转发节点接收端口时的最大容忍延扣除第i转发节点的转发平面时延Lfb后剩余最大容忍延时,Nfw为报文到达第i转发节点后剩余转发次数,T为该传输报文到达转发设备的出端口的时间,Cr为转发依据。图9说明了传输报文在第i节点中转发依据的物理意义,即:扣除已转发所耗费时间和此次转发平面延时后,报文剩余最大容忍延迟按剩余跳数计算出平均每次转发容忍延时,再加上系统当前时间,即允许队列查找和转发的最迟发出时间。
在计算出传输报文的转发依据后,可以通过比较该传输报文的转发依据与其它传输报文的转发依据来确定出该传输报文的优先级。需要说明的是,本发明实施例提供的这种确认优先级的方案,可以应用在不同的场景中。例如,可以用在排队时,有多个传输报文需要入队的场景中(场景一),在这种场景下,被比较的其它传输报文为待入队的报文。对于允许插队的情况,也可以应用在插队的场景中(场景二),在这种场景下,被比较的其它报文为已在队列中的报文。下面分别以这两种场景为例对确认优先级以及入队过程进行说明。
场景一
转发设备比较所述传输报文的最晚转发时间与其它待入队的传输报文的最晚转发时间,按照最晚转发时间由早到晚,优先级依次降低。
在确定出优先级后,转发设备按照优先级由高到低的顺序,将所述传输报文和其它待入队的传输报文依次加入到所述转发队列的队尾。
下面举例说明,参见图10,图10为传输报文的转发示意图。其中,P1和P2为Crt取0的传输报文。P1从主机A发出,目的地为目的A。P2从主机B发出,目的地为目的B。某一时刻,P1和P2同时到达转发设备2同一个出端口队列,即将被发往转发设备3。由于到达出端口队列时间相同,P1和P2的Ttmp字段被打上相同的值(12500)。此时,P1到达目的A的剩余转发次数为2,即Nfw值为2,而P2到达目的B的剩余转发次数为4,即Nfw值为4。P1的最大容忍延时Td值为27500,P2的最大容忍延时Td值为33000,从最大容忍延时绝对值数量上看,P1比P2更紧急;但是根据计算转发依据的公式1进行计算,可以发现,P1的Cr值为26250,P2的Cr值为20750,即P1在该转发设备上的最大延迟大于P2在该转发设备上的最大延迟,可见实际上在该转发设备P2比P1更紧急。因此转发设备2出端口队列按照P1和P2的Cr值,对P1和P2的发送先后顺序进行安排,优先发送更加紧急的传输报文P2。
场景二
转发设备比较所述传输报文的最晚转发时间与所述转发队列中已存在的传输报文的最晚转发时间,最晚转发时间越早,优先级越高。
在确定出优先级后,转发设备根据优先级由高到低的顺序,确定所述传输报文在所述转发队列中的位置,将所述传输报文插入到所述位置。
当传输报文在转发节点的出端口队列中根据转发依据进行插队时,出端口队列的队列长度越长,报文在队列中查找比较的次数将越多,插队时延将越久。因此,为了减少报文在队列中的查找比较次数,降低插队时延,本发明另一实施例提供了一种对需要查找插队的队列的长度进行压缩的方案。通过压缩队列长度进行查找插队的方法如下:
转发设备根据队列深度,将转发队列中的传输报文进行分段划分,例如,可以将传输队列按照时间划分为n段,分别记为SEG_1,SEG_2,…,SEG_n。
对到达出端口队列的传输报文,按照该跳队列查找和转发最大容忍延迟,选择合适的查找插队的范围。转发设备可以先确定所述传输报文的容忍延迟时长所在的时间段,以所述容忍延迟时长所在的时间段对应的队列段作为插队的队列段,即以所述容忍延迟时长所在的时间段对应的队列段中的传输报文作为与所述传输报文比较的传输报文。其中,与队列段中的传输报文比较优先级的过程可参考上述比较方式,这里不再赘述。
压缩队列长度进行查找插队的算法流程图如图11所示(以将队列按照时间分为4段为例)。图中NAV为特定网络环境中报文平均转发总次数,该值可以通过在特定的网络环境中(如工业网络,或校园网络,或企业局域网等)对报文的转发次数进行统计平均得到,也可以根据经验值得到。对于到达出端口队列的报文,以报文该跳剩余时间为依据,选择查找插队的队列范围。完成插队后,等待发送。
S805,转发设备从转发队列中取出传输报文进行转发。
当所述转发设备从转发队列中取出所述传输报文进行转发时,传输设备从所述最大容忍时延中扣除在本设备中产生的时延得到新的最大容忍时延,采用所述新的最大容忍时延更新所述传输报文中的最大容忍时延。具体的,转发设备可以将Td字段中的值加上Ttmp,再减去系统当前时间,从而得到剩余的最大容忍时延。
进一步的,在传输设备从转发队列中取出所述传输报文进行转发时,传输设备还可以删除传输报文中的临时时间戳字段,以减少报文的长度,节约网络资源。
S806,转发设备通知源端设备路由发生变化。
当未到达目的设备,而转发次数小于等于1,则表示路由发生了变化。此时,转发设备可以通知源端设备重新使用Ctr取1的控制报文重新获取转发次数和线缆时延。当路由发生变化时,转发设备可放弃传输报文的发送,并通知源端设备本次放弃传输报文的发送。
需要说明的是,上述传输报文在传输报文中可通过多个转发设备进行转发,每个转发设备都可参考步骤S802-S806的执行过程。
在传输报文到达目的设备后,目的设备还可以进一步判断转发次数是否大于1,如果转发次数大于1,则表示路由发生了变化。此时,目的设备可以通知源端设备重新使用Ctr取1的控制报文重新获取转发次数和线缆时延。如果转发次数不大于1,则该传输报文的传递流程正常结束。
需要说明的是,在图8所示的流程中,也可以不进行步骤S802中的判断,而直接执行步骤S803-S805。步骤S802中的判断是为了进行及时纠错,提高系统的可靠性。在实际应用中,在网络环境足够可靠的情况下,步骤S802的判断和步骤S806中的异常处理可不执行。
图12示出了上述实施例中涉及的转发设备的一种可能的结构示意图。如图12所示,该转发设备包括:
接收单元1202,用于接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延。
处理单元1204,用于采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长,根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
其中,处理单元1204的具体的实现可参考上述图8所示的方法实施例中步骤S802-S806部分,这里不再赘述。
图13示出了上述实施例中涉及的源端设备的一种可能的结构示意图。如图13所示,该源端设备包括:
发送单元1302,用于向所述目的设备发送经由转发设备转发的控制报文,并向所述目的设备发送传输数据的传输报文;
处理单元1304,用于通过向所述目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,将应用要求的最大时延减去所述线缆时延得到发送传输报文的最大容忍时延,将测试出的所述转发次数作为所述传输报文的剩余传输次数携带在所述传输报文中,以及将所述最大容忍时延携带在所述传输报文中,所述剩余传输次数以及最大容忍时间用于确定所述传输报文在转发设备中的容忍延迟时长。
其中,处理单元1304的具体的实现可参考上述图4所示的方法实施例中步骤S401-S403部分以及图8所示的方法实施例中步骤S801部分,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所公开的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、随机存取存储器(英文全称:RandomAccess Memory,简称:RAM)、磁碟或者光盘等各种可以存储数据的介质。
本发明实施例还提供了另一种计算机存储介质,用于储存为上述源端设备所用的计算机软件指令,其包含用于执行上述图4所示方法实施例所设计的程序。
本发明实施例还提供了另一种计算机存储介质,用于储存为上述转发所用的计算机软件指令,其包含用于执行上述图8所示方法实施例所设计的程序。通过执行存储的程序,可以实现对转发队列时延的优化。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (30)
1.一种优化队列时延的方法,其特征在于,应用于在源设备和目的设备间做报文转发的转发设备中,所述方法包括:
所述转发设备接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延;
所述转发设备采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长;
根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
2.如权利要求1所述的方法,其特征在于,所述采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,具体包括:
将所述传输报文的最大容忍时延减去转发平面时延,得到剩余容忍时延;其中,所述转发平面时延由所述传输报文到达所述转发设备的出端口的时间减去所述传输报文到达所述转发设备的入端口的时间得到;
将所述剩余容忍时延除以所述传输报文的剩余转发次数得到所述容忍延迟时长。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:所述转发设备在接收到所述传输报文后,在所述传输报文中增加临时时间戳字段,并将所述传输报文到达所述转发设备的入端口的时间记录在所述临时时间戳字段中;
在所述传输报文到达所述转发设备的出端口时,所述转发设备用所述传输报文到达所述出端口的时间减去所述临时时间戳字段中记录的时间得到所述转发平面时延,并将所述临时时间戳字段中记录的时间更新为所述传输报文到达所述出端口的时间。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:当所述传输设备从转发队列中取出所述传输报文进行转发时,删除所述传输报文中的临时时间戳字段。
5.如权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:在计算出所述传输报文本次转发的容忍延迟时长后,将所述传输报文的剩余转发次数减1。
6.如权利要求1-5任一项所述的方法,其特征在于,所述根据所述容忍延迟时长确定所述传输报文的转发优先级,具体包括:
所述转发设备将所述容忍延迟时长加上所述传输报文到达所述转发设备的出端口的时间作为所述传输报文的转发依据,所述转发依据用于指示所述传输报文的最晚转发时间;
通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级。
7.如权利要求6所述的方法,其特征在于,通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级,具体包括:比较所述传输报文的最晚转发时间与其它待入队的传输报文的最晚转发时间,按照最晚转发时间由早到晚,优先级依次降低;
所述根据确定出的优先级将所述传输报文加入到转发队列中,具体包括:按照优先级由高到低的顺序,将所述传输报文和其它待入队的传输报文依次加入到所述转发队列的队尾。
8.如权利要求6所述的方法,其特征在于,通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级,具体包括:比较所述传输报文的最晚转发时间与所述转发队列中已存在的传输报文的最晚转发时间,最晚转发时间越早,优先级越高;
所述根据确定出的优先级将所述传输报文加入到转发队列中,具体包括:根据优先级由高到低的顺序,确定所述传输报文在所述转发队列中的位置,将所述传输报文插入到所述位置。
9.如权利要求8所述的方法,其特征在于,在比较所述传输报文的转发依据与队列中已存在的其它传输报文的转发依据之前,所述方法还包括:
确定所述传输报文的容忍延迟时长所在的时间段;
以所述容忍延迟时长所在的时间段对应的队列段中的传输报文作为与所述传输报文比较的传输报文,所述队列段是按时间对所述转发队列中的传输报文进行划分得到的。
10.如权利要求1-9任一项所述的方法,其特征在于,所述方法还包括:
当所述转发设备从转发队列中取出所述传输报文进行转发时,传输设备从所述最大容忍时延中扣除在本设备中产生的时延得到新的最大容忍时延,采用所述新的最大容忍时延更新所述传输报文中的最大容忍时延。
11.一种优化队列时延的方法,其特征在于,所述方法包括:
源端设备通过向目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延;
所述源端设备将应用要求的最大时延减去所述线缆时延得到发送传输报文的最大容忍时延;
所述源端设备向所述目的设备发送传输数据的传输报文,并将测试出的所述转发次数作为所述传输报文的剩余传输次数携带在所述传输报文中,以及将所述最大容忍时延携带在所述传输报文中;所述剩余传输次数以及最大容忍时间用于确定所述传输报文在转发设备中的容忍延迟时长。
12.如权利要求11所述的方法,其特征在于,在所述源端设备向所述目的设备发送传输数据的传输报文后,所述方法还包括:
当所述源端设备接收到指示转发路径异常的指示消息时,所述源端设备再次从所述向目的设备发送经由转发设备转发的控制报文的步骤开始执行。
13.如权利要求11或12所述的方法,其特征在于,所述源端设备通过向目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,具体包括:
源端设备向目的设备发送报文类型为控制类型的控制报文,所述控制报文中携带记录转发次数的字段以及记录线缆时延的字段;所述控制报文经由所述转发设备转发至所述目的设备,并且在每次转发过程中对所述转发次数以及线缆时延进行累加;
所述源端设备接收所述目的设备发回的累加后的所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值;
所述源端设备基于所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值得到从所述源端设备到所述目的设备的转发次数以及线缆时延。
14.如权利要求13所述的方法,其特征在于,所述控制报文中携带记录转发次数的字段的初始值为0;
所述在每次转发过程中对所述转发次数进行累加,具体包括:所述控制报文每到达一个转发设备以及到达所述目的设备,所述转发次数加1。
15.如权利要求13或14所述的方法,其特征在于,所述控制报文中携带所述记录线缆时延的字段的初始值为0,在所述控制报文从所述源端设备发出时,将所述记录线缆时延的字段的值减去所述控制报文发出时的系统时间;
在每次转发过程中对所述线缆时延进行累加,具体包括:所述控制报文每到达一个转发设备的入端口以及到达所述目的设备的入端口时,将所述记录线缆时延的字段中的值加上到达所述入端口时的系统时间,并在每次从所述转发设备的出端口发出时,将所述记录线缆时延的字段中的值减去从所述出端口发出时的系统时间。
16.一种转发设备,应用于在源端设备和目的设备间做报文转发,其特征在于,所述转发设备包括:
接收单元,用于接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延;
处理单元,用于采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长,根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
17.如权利要求16所述的转发设备,其特征在于,所述采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,具体包括:
将所述传输报文的最大容忍时延减去转发平面时延,得到剩余容忍时延;其中,所述转发平面时延由所述传输报文到达所述转发设备的出端口的时间减去所述传输报文到达所述转发设备的入端口的时间得到;
将所述剩余容忍时延除以所述传输报文的剩余转发次数得到所述容忍延迟时长。
18.如权利要求17所述的转发设备,其特征在于,所述处理单元进一步用于在接收到所述传输报文后,在所述传输报文中增加临时时间戳字段,将所述传输报文到达所述转发设备的入端口的时间记录在所述临时时间戳字段中,在所述传输报文到达所述转发设备的出端口时,用所述传输报文到达所述出端口的时间减去所述临时时间戳字段中记录的时间得到所述转发平面时延,并将所述临时时间戳字段中记录的时间更新为所述传输报文到达所述出端口的时间。
19.如权利要求18所述的转发设备,其特征在于,所述处理单元进一步用于当所述处理单元从转发队列中取出所述传输报文进行转发时,删除所述传输报文中的临时时间戳字段。
20.如权利要求16-19所述的任一转发设备,其特征在于,所述根据所述容忍延迟时长确定所述所述传输报文的转发优先级,具体包括:
所述处理单元将所述容忍延迟时长加上所述传输报文到达所述转发设备的出端口的时间作为所述传输报文的转发依据,所述转发依据用于指示所述传输报文的最晚转发时间;
通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级。
21.如权利要求20所述的转发设备,其特征在于,通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级,具体包括:
比较所述传输报文的最晚转发时间与其它待入队的传输报文的最晚转发时间,按照最晚转发时间由早到晚,优先级依次降低;
所述根据确定出的优先级将所述传输报文加入到转发队列中,具体包括:按照优先级由高到低的顺序,将所述传输报文和其它待入队的传输报文依次加入到所述转发队列的队尾。
22.如权利要求20所述的转发设备,其特征在于,通过比较所述传输报文的转发依据与其它传输报文的转发依据来确定出所述传输报文的优先级,具体包括:
比较所述传输报文的最晚转发时间与所述转发队列中已存在的传输报文的最晚转发时间,最晚转发时间越早,优先级越高;
所述根据确定出的优先级将所述传输报文加入到转发队列中,具体包括:根据优先级又高到低的顺序,确定所述传输报文在所述转发队列中的位置,将所述传输报文插入到所述位置。
23.如权利要求16-22所述的任一转发设备,其特征在于,所述处理单元进一步用于当所述处理单元从转发队列中取出所述传输报文进行转发时,从所述最大容忍时延中扣除在本设备中产生的时延得到新的最大容忍时延,采用所述新的最大容忍时延更新所述传输报文中的最大容忍时延。
24.一种网络设备,应用于在源端设备和目的设备间传输报文时优化队列时延,所述网络设备为所述源端设备,其特征在于,所述网络设备包括:
发送单元,用于向所述目的设备发送经由转发设备转发的控制报文,并向所述目的设备发送传输数据的传输报文;
处理单元,用于通过向所述目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,将应用要求的最大时延减去所述线缆时延得到发送传输报文的最大容忍时延,将测试出的所述转发次数作为所述传输报文的剩余传输次数携带在所述传输报文中,以及将所述最大容忍时延携带在所述传输报文中,所述剩余传输次数以及最大容忍时间用于确定所述传输报文在转发设备中的容忍延迟时长。
25.如权利要求24所述的网络设备,其特征在于,在所述发送单元向所述目的设备发送传输数据的传输报文后,所述处理单元进一步用于当所述接收单元接收到指示转发路径异常的指示消息时,所述处理单元再次从所述向目的设备发送经由转发设备转发的控制报文的步骤开始执行。
26.如权利要求24或25所述的网络设备,其特征在于,所述处理单元通过向目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,具体包括:
所述处理单元向目的设备发送报文类型为控制类型的控制报文,所述控制报文中携带记录转发次数的字段以及记录线缆时延的字段;所述控制报文经由所述转发设备转发至所述目的设备,并且在每次转发过程中对所述转发次数以及线缆时延进行累加;
所述处理单元接收所述目的设备在接收到所述控制报文后发回的所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值;
所述处理单元基于所述记录转发次数的字段中的值以及所述记录线缆时延的字段中的值得到从所述源端设备到所述目的设备的转发次数以及线缆时延。
27.如权利要求26所述的网络设备,其特征在于,所述控制报文中携带记录转发次数的字段的初始值为0;
所述在每次转发过程中对所述转发次数进行累加,具体包括:所述控制报文每到达一个转发设备以及到达所述目的设备,所述转发次数加1。
28.如权利要求26或27所述的网络设备,其特征在于,所述控制报文中携带所述记录线缆时延的字段的初始值为0,在所述控制报文从所述发送单元发出时,将所述记录线缆时延的字段的值减去所述控制报文发出时的系统时间;
所述在每次转发过程中对所述线缆时延进行累加,具体包括:所述控制报文每到达一个转发设备的入端口以及到达所述目的设备的入端口时,将所述记录线缆时延的字段中的值加上到达所述入端口时的系统时间,并在每次从所述转发设备的出端口发出时,将所述记录线缆时延的字段中的值减去从所述出端口发出时的系统时间。
29.一种转发设备,应用于在源端设备和目的设备间做报文转发,其特征在于,所述转发设备包括:
通信接口,用于接收用于传输数据的传输报文,所述传输报文中携带所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延;
处理器,用于采用所述传输报文的剩余转发次数以及所述传输报文的最大容忍时延计算所述传输报文本次转发的容忍延迟时长,所述容忍延迟时长用于表明所述传输报文在本次转发中允许的延迟时长,根据所述容忍延迟时长确定所述所述传输报文的转发优先级,并根据确定出的优先级将所述传输报文加入到转发队列中。
30.一种网络设备,应用于在源端设备和目的设备间传输报文时优化队列时延,所述网络设备为所述源端设备,其特征在于,所述网络设备包括:
通信接口,用于向所述目的设备发送经由转发设备转发的控制报文,并向所述目的设备发送传输数据的传输报文;
处理器,用于通过向所述目的设备发送经由转发设备转发的控制报文测试从所述源端设备到所述目的设备的转发次数以及线缆时延,将应用要求的最大时延减去所述线缆时延得到发送传输报文的最大容忍时延,将测试出的所述转发次数作为所述传输报文的剩余传输次数携带在所述传输报文中,以及将所述最大容忍时延携带在所述传输报文中,所述剩余传输次数以及最大容忍时间用于确定所述传输报文在转发设备中的容忍延迟时长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710121685.9A CN108540402A (zh) | 2017-03-02 | 2017-03-02 | 一种优化队列时延的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710121685.9A CN108540402A (zh) | 2017-03-02 | 2017-03-02 | 一种优化队列时延的方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108540402A true CN108540402A (zh) | 2018-09-14 |
Family
ID=63489419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710121685.9A Withdrawn CN108540402A (zh) | 2017-03-02 | 2017-03-02 | 一种优化队列时延的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540402A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088829A (zh) * | 2018-09-20 | 2018-12-25 | 南方科技大学 | 一种数据调度方法、装置、存储介质及设备 |
CN110099013A (zh) * | 2019-04-25 | 2019-08-06 | 新华三技术有限公司 | 一种报文发送控制方法及装置 |
CN111181867A (zh) * | 2019-12-27 | 2020-05-19 | 全球能源互联网研究院有限公司 | 一种分布式能源报文时延管理方法、装置及设备 |
CN112449366A (zh) * | 2019-08-30 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 报文转发方法、装置、无线ap设备及存储介质 |
CN113300943A (zh) * | 2021-05-24 | 2021-08-24 | 维沃移动通信有限公司 | 信息发送方法、装置、设备和可读存储介质 |
CN114430397A (zh) * | 2020-10-15 | 2022-05-03 | 中国移动通信有限公司研究院 | 确定性业务的转发方法及装置 |
CN115208837A (zh) * | 2022-07-26 | 2022-10-18 | 武汉烽火技术服务有限公司 | 一种报文调度方法和系统 |
WO2022252705A1 (zh) * | 2021-05-31 | 2022-12-08 | 华为技术有限公司 | 一种业务报文的转发方法、网络设备以及无线网络 |
WO2024061114A1 (zh) * | 2022-09-19 | 2024-03-28 | 中兴通讯股份有限公司 | 报文调度方法、电子设备和计算机可读存储介质 |
-
2017
- 2017-03-02 CN CN201710121685.9A patent/CN108540402A/zh not_active Withdrawn
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088829A (zh) * | 2018-09-20 | 2018-12-25 | 南方科技大学 | 一种数据调度方法、装置、存储介质及设备 |
CN109088829B (zh) * | 2018-09-20 | 2022-09-20 | 南方科技大学 | 一种数据调度方法、装置、存储介质及设备 |
CN110099013A (zh) * | 2019-04-25 | 2019-08-06 | 新华三技术有限公司 | 一种报文发送控制方法及装置 |
CN110099013B (zh) * | 2019-04-25 | 2022-08-09 | 新华三技术有限公司 | 一种报文发送控制方法及装置 |
CN112449366A (zh) * | 2019-08-30 | 2021-03-05 | 腾讯科技(深圳)有限公司 | 报文转发方法、装置、无线ap设备及存储介质 |
CN111181867A (zh) * | 2019-12-27 | 2020-05-19 | 全球能源互联网研究院有限公司 | 一种分布式能源报文时延管理方法、装置及设备 |
CN111181867B (zh) * | 2019-12-27 | 2022-05-17 | 全球能源互联网研究院有限公司 | 一种分布式能源报文时延管理方法、装置及设备 |
CN114430397B (zh) * | 2020-10-15 | 2023-10-27 | 中国移动通信有限公司研究院 | 确定性业务的转发方法及装置 |
CN114430397A (zh) * | 2020-10-15 | 2022-05-03 | 中国移动通信有限公司研究院 | 确定性业务的转发方法及装置 |
CN113300943A (zh) * | 2021-05-24 | 2021-08-24 | 维沃移动通信有限公司 | 信息发送方法、装置、设备和可读存储介质 |
CN113300943B (zh) * | 2021-05-24 | 2023-04-18 | 维沃移动通信有限公司 | 信息发送方法、装置、设备和可读存储介质 |
WO2022252705A1 (zh) * | 2021-05-31 | 2022-12-08 | 华为技术有限公司 | 一种业务报文的转发方法、网络设备以及无线网络 |
CN115484655A (zh) * | 2021-05-31 | 2022-12-16 | 华为技术有限公司 | 一种业务报文的转发方法、网络设备以及无线网络 |
CN115208837A (zh) * | 2022-07-26 | 2022-10-18 | 武汉烽火技术服务有限公司 | 一种报文调度方法和系统 |
CN115208837B (zh) * | 2022-07-26 | 2023-12-01 | 烽火通信科技股份有限公司 | 一种报文调度方法和系统 |
WO2024061114A1 (zh) * | 2022-09-19 | 2024-03-28 | 中兴通讯股份有限公司 | 报文调度方法、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540402A (zh) | 一种优化队列时延的方法和设备 | |
US8115617B2 (en) | Alarm reordering to handle alarm storms in large networks | |
CN103155488B (zh) | 延迟测量系统和延迟测量方法以及延迟测量设备和延迟测量程序 | |
CN110545241B (zh) | 一种报文处理方法和装置 | |
CN109450936A (zh) | 一种基于Kafka的异构通信协议的适配方法及装置 | |
CN105684382A (zh) | 报文的控制方法、交换机及控制器 | |
JP6920533B2 (ja) | データフロー伝送 | |
EP4152703A1 (en) | Network control method and device | |
CN106878170B (zh) | 一种转发路径确定方法和装置 | |
CN113194037B (zh) | 一种流量调度方法及装置 | |
CN106063202A (zh) | 取决于状态的数据转发 | |
CN114124781B (zh) | SRv6中报文的转发方法、系统、电子设备及存储介质 | |
CN114448861A (zh) | 一种实现业务功能处理的方法及装置 | |
WO2022247462A1 (zh) | 数字孪生网络的流量模拟方法及数字孪生网络 | |
CN111698787B (zh) | 调度规则确定方法及其装置 | |
KR20230173697A (ko) | 이더넷 프레임의 송신을 스케줄링하기 위해 패킷 교환 네트워크에서 실시되는 방법, 컴퓨터 프로그램 및 기기 | |
JP2015228538A (ja) | 経路決定装置および転送経路決定方法 | |
US20110228686A1 (en) | Node, computer-readable medium storing communication program, and communication method | |
CN111917624B (zh) | 一种在vxlan传输中控制信息的传送方法及系统 | |
CN115695523A (zh) | 一种数据传输控制方法、装置、电子设备及存储介质 | |
CN115277504A (zh) | 一种网络流量监控方法、装置和系统 | |
US12047299B2 (en) | Computer program and method for data communication | |
CN114650566A (zh) | 一种提供确定性服务质量的边缘计算网络架构 | |
JP2006295930A (ja) | レジデンシャルイーサネットにおけるスーパーフレームの開始を保証するための非同期フレーム伝送方法 | |
CN112600751B (zh) | 一种路径计算方法、装置、设备及机器可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180914 |
|
WW01 | Invention patent application withdrawn after publication |