CN117675719A - 队列调度方法及装置 - Google Patents
队列调度方法及装置 Download PDFInfo
- Publication number
- CN117675719A CN117675719A CN202211057634.1A CN202211057634A CN117675719A CN 117675719 A CN117675719 A CN 117675719A CN 202211057634 A CN202211057634 A CN 202211057634A CN 117675719 A CN117675719 A CN 117675719A
- Authority
- CN
- China
- Prior art keywords
- message
- indication information
- phy
- queue
- boundary
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 230000005540 biological transmission Effects 0.000 claims abstract description 274
- 238000004590 computer program Methods 0.000 claims description 12
- 239000000523 sample Substances 0.000 claims 1
- 125000004122 cyclic group Chemical group 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 241001522296 Erithacus rubecula Species 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000000737 periodic effect Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种队列调度方法及装置,属于网络技术领域。该方法包括:网络设备中的报文调度器接收第一指示信息,第一指示信息用于指示该网络设备中的物理层(physical layer,PHY)的数据传输周期的第一边界;该报文调度器根据第一指示信息确定队列调度周期,该队列调度周期用于调度多个报文队列;该报文调度器根据该队列调度周期调度该多个报文队列。本申请在调度多个报文队列时无需全网的网络设备时钟同步,对网络设备的要求较低。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种队列调度方法及装置。
背景技术
在确定性网络中,为了保证网络质量,网络设备通常采用循环排队转发(cyclicqueueing and forwarding,CQF)算法,按照预先规划好的队列调度周期和队列调度时刻(或称为队列切换时刻)循环调度多个报文队列进行报文的存储和转发。
但是,CQF算法需要全网的网络设备时钟同步,对网络设备的要求较高。
发明内容
本申请提供了一种队列调度方法及装置,无需全网的网络设备时钟同步即可实现网络设备对多个报文队列的周期性调度,使不同网络设备的队列调度周期的差异保持稳定,例如使不同网络设备的队列调度周期相等,且不同网络设备的队列调度周期的边界之间的时间差保持稳定(例如时间差恒定)。本申请对网络设备的要求较低、实施成本较低,实用性较强。本申请的技术方案如下:
第一方面,提供了一种队列调度方法,该方法包括:网络设备中的报文调度器接收第一指示信息,第一指示信息用于指示该网络设备中的PHY的数据传输周期的第一边界;该报文调度器根据第一指示信息确定队列调度周期,该队列调度周期用于调度多个报文队列;该报文调度器根据该队列调度周期调度该多个报文队列。例如,该报文调度器根据该PHY的数据传输周期的第一边界确定队列调度周期。PHY的数据传输周期用于该PHY周期性传输数据。
本申请提供的技术方案,网络设备包括报文调度器和PHY,该PHY周期性传输数据,第一指示信息用于指示该PHY的数据传输周期的第一边界,该报文调度器根据第一指示信息确定队列调度周期,并根据该队列调度周期调度多个报文队列,因此,该报文调度器确定队列调度周期以及根据该队列调度周期调度该多个报文队列时,无需该网络设备与其他网络设备时钟同步,例如无需全网的网络设备时钟同步,对网络设备的要求较低。本申请无需在网络设备中部署时钟同步系统即可实现报文队列的周期性调度,且可以使不同网络设备的队列调度周期的差异保持稳定,避免时钟误差带来不同网络设备的队列调度周期的漂移问题(也即不同网络设备的队列调度周期的差异不稳定的问题)。由于本申请无需在网络设备中部署时钟同步系统,因此本申请方案的实施成本较低,实用性较强。
可选的,报文调度器根据第一指示信息确定队列调度周期之前,该方法还包括:该报文调度器接收PHY发送的通知消息,该通知消息用于向报文调度器通知该PHY的数据对齐状态处于锁定状态;该报文调度器根据该通知消息,确定该PHY的数据对齐状态处于锁定状态。其中,PHY的数据对齐状态处于锁定状态指示的是:不同网络设备的PHY的数据传输周期的差异保持稳定,例如,不同网络设备的PHY的数据传输周期相等,且不同网络设备的PHY的数据传输周期的边界之间的时间差保持稳定(例如时间差恒定)。
本申请提供的技术方案,报文调度器根据PHY发送的通知消息确定该PHY的数据对齐状态处于锁定状态之后,该报文调度器根据该PHY的数据传输周期的边界确定队列调度周期,因此,该报文调度器确定的队列调度周期能够与其他网络设备的队列调度周期的差异保持稳定,由此,实现不同网络设备的队列调度周期的差异保持稳定。
可选的,报文调度器根据第一指示信息确定队列调度周期之前,该方法还包括:该报文调度器接收第二指示信息和第三指示信息,第二指示信息用于指示该PHY的数据传输周期的第二边界,第三指示信息用于指示该PHY的数据传输周期的第三边界,第一边界、第二边界和第三边界是相邻的三个边界;该报文调度器根据第一指示信息、第二指示信息和第三指示信息,确定该PHY的数据对齐状态处于锁定状态。例如,该报文调度器根据该PHY的数据传输周期的第一边界、第二边界和第三边界,确定该PHY的数据对齐状态处于锁定状态。
本申请提供的技术方案,报文调度器根据用于指示PHY的数据传输周期的相邻三个边界的指示信息,确定该PHY的数据对齐状态处于锁定状态,该报文调度器确定该PHY的数据对齐状态处于锁定状态之后,该报文调度器根据该PHY的数据传输周期的边界确定队列调度周期,因此,该报文调度器确定的队列调度周期能够与其他不同网络设备的队列调度周期的差异保持稳定,由此,实现不同网络设备的队列调度周期的差异保持稳定。
可选的,报文调度器根据第一指示信息、第二指示信息和第三指示信息,确定PHY的数据对齐状态处于锁定状态,包括:该报文调度器根据第一指示信息、第二指示信息和第三指示信息,确定该PHY的相邻两个数据传输周期;该报文调度器确定该相邻两个数据传输周期相等,该报文调度器确定该PHY的数据对齐状态处于锁定状态。也即,在该PHY的相邻两个数据传输周期相等时,该报文调度器确定该PHY的数据对齐状态处于锁定状态。
可选的,该方法还包括:报文调度器接收第四指示信息,第四指示信息用于指示PHY的数据传输周期的第四边界,第四边界与第一边界相邻;相应的,该报文调度器根据第一指示信息确定队列调度周期,包括:该报文调度器根据第一指示信息和第四指示信息确定队列调度周期。例如,该报文调度器根据第一边界和第四边界确定队列调度周期。
本申请提供的技术方案,报文调度器根据用于指示PHY的数据传输周期的相邻两个边界的指示信息确定队列调度周期,例如确定队列调度周期的长度,因此,该报文调度器确定队列调度周期时,无需全网的网络设备时钟同步,对网络设备的要求较低。
可选的,报文调度器根据第一指示信息和第四指示信息确定队列调度周期,包括:该报文调度器根据第一指示信息和第四指示信息确定PHY的数据传输周期;该报文调度器根据该PHY的数据传输周期确定该队列调度周期。
可选的,报文调度器根据PHY的数据传输周期确定队列调度周期,包括:该报文调度器根据该PHY的数据传输周期和预设参数确定队列调度周期。其中,预设参数可配置。
可选的,队列调度周期等于PHY的数据传输周期与预设参数之积。
可选的,队列调度周期等于PHY的数据传输周期。
可选的,PHY的数据传输周期为队列调度周期的整数倍。
可选的,报文调度器根据队列调度周期调度多个报文队列,包括:该报文调度器根据第一指示信息和该队列调度周期,调度该多个报文队列。
可选的,报文调度器调度多个报文队列时的首个队列调度周期的起始边界与PHY的传输数据周期的一个边界对齐。
本申请提供的技术方案,由于PHY周期性传输数据,不同网络设备的PHY的数据传输周期的差异保持稳定,报文调度器调度多个报文队列时的首个队列调度周期的起始边界与该PHY的传输数据周期的一个边界对齐,例如与第一边界对齐,因此,该报文调度器调度多个报文队列的队列调度周期能够与其他不同网络设备的队列调度周期的差异保持稳定,由此,可以实现不同网络设备的队列调度周期的差异稳定。
可选的,该方法还包括:报文调度器接收第五指示信息,第五指示信息用于指示PHY的传输数据周期的一个边界;该报文调度器确定第五指示信息指示的边界与队列调度周期的边界错开,该报文调度器发出告警。
本申请提供的技术方案,由于不同网络设备的PHY的数据传输周期的差异保持稳定,报文调度器确定PHY的数据传输周期的一个边界与队列调度周期的边界错开时,该报文调度器确定该报文调度器所在的网络设备的队列调度周期与其他网络设备的队列调度周期的差异不稳定,该报文调度器发出告警,便于工作人员查看报文调度器对多个报文队列的调度情况。
可选的,报文调度器根据队列调度周期调度多个报文队列,包括以下至少一个:
该报文调度器根据该队列调度周期对该多个报文队列进行报文入队调度;
该报文调度器根据该队列调度周期对该多个报文队列进行报文出队调度。
也即,该报文调度器根据该队列调度周期向该多个报文队列中存储报文,和/或,该报文调度器根据该队列调度周期转发该多个报文队列中存储的报文。
可选的,第一指示信息包括对齐标志(alignment marker,AM)、码字标志(codeword marker,CWM)或灵活以太(flexible ethernet,FlexE)对齐标志。第二指示信息、第三指示信息、第四指示信息、第五指示信息均包括AM、CWM或FlexE对齐标志。
可选的,报文调度器接收第一指示信息,包括:该报文调度器接收PHY发送的第一指示信息,第一指示信息是该PHY生成的,或者,第一指示信息是所述网络设备的上一跳设备中的PHY发送给该网络设备的PHY的。例如,该网络设备是报文传输路径上的头节点,第一指示信息是该网络设备中的PHY生成的。或者,该网络设备是报文传输路径上的中间节点或尾节点,第一指示信息是该网络设备的上一跳设备中的PHY发送给该网络设备的PHY的。
可选的,网络设备包括媒体访问组(media access group,MAG)芯片,该MAG芯片包括所述报文调度器。
可选的,报文调度器为媒体访问控制(media access control,MAC)报文调度器。
第二方面,提供了一种队列调度装置,包括用于执行如上述第一方面或第一方面的任一可选方式所提供的队列调度方法的各个模块。所述模块可以基于软件、硬件或软件和硬件的结合实现,且所述模块可以基于具体实现进行任意组合或分割。
第三方面,提供了一种芯片,包括上述第二方面所提供的队列调度装置。
可选的,该芯片包括MAG芯片。
可选的,该芯片包括可编程逻辑电路和/或程序指令,该芯片运行时用于实现如上述第一方面或第一方面的任一可选方式所提供的队列调度方法。
第四方面,提供了一种网络设备,包括如上述第三方面或第三方面的任一可选方式所提供的芯片。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被执行时实现如上述第一方面或第一方面的任一可选方式所提供的方法。
第六方面,提供了一种计算机程序产品,该计算机程序产品包括程序或代码,该程序或代码被执行时,实现如上述第一方面或第一方面的任一可选方式所提供的方法。
上述第二方面至第六方面的技术效果可以参考第一方面的技术效果,这里不做赘述。
附图说明
图1是本申请实施例提供的一种应用场景的示意图;
图2是本申请实施例提供的一种队列调度方法的流程图;
图3是本申请实施例提供的一种不同网络设备的PHY的数据传输周期的关系图;
图4是本申请实施例提供的一种队列调度周期与PHY的数据传输周期的关系图;
图5是本申请实施例提供的另一种队列调度周期与PHY的数据传输周期的关系图;
图6是本申请实施例提供的一种不同网络设备的队列调度周期的关系图;
图7是本申请实施例提供的一种多个报文队列的调度示意图;
图8是本申请实施例提供的一种确定PHY的数据对齐状态处于锁定状态的流程图;
图9是本申请实施例提供的另一种确定PHY的数据对齐状态处于锁定状态的流程图;
图10是本申请实施例提供的一种队列调度装置的示意图;
图11是本申请实施例提供的一种网络设备的示意图。
具体实施方式
网络技术的发展推动了工业自动化,在工业自动化领域中,国际电工委员会(International Electro technical Commission,IEC)61784、IEC 61158等标准在2000年陆续制定了多种提供工业以太网(Ethernet)实时性的工业以太技术,这些工业以太技术例如Ethernet/互联网协议(internet protocol,IP)、Profinet、以太网控制自动化技术(Ethernet control automation technology,EtherCAT)、Powerlink等。2012年以后,电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)802.1工作组逐步完善定义的时间敏感网络(time sensitive network,TSN)技术是具备确定性网络质量的标准化以太通信技术,适用于工业自动化领域对时延要求较为严格的业务场景中,可以解决实时数据传输问题,同时满足多厂商设备互联互通的标准化需求。通常情况下,不同工业行业而对工业网络的需求也不同,但是对工业网络的需求一般都集中在时延、抖动、可靠性(可以采用丢包率表征)等方面。
在确定性网络,例如具备确定性网络质量的工业网络中,为了保证网络质量,网络设备通常采用IEEE Std 802.1Qch标准提供的CQF算法,按照预先规划好的队列调度周期和队列调度时刻(或称为队列切换时刻)循环调度多个报文队列进行报文的存储和转发。示例的,网络设备维护有多个报文队列、预先规划好的队列调度周期和预先规划好的队列调度时刻,网络设备按照预先规划好的队列调度周期和预先规划好的队列调度时刻对该多个报文队列进行入队循环调度,以将接收到的报文缓存至该多个报文队列,以及,网络设备按照预先规划好的队列调度周期和预先规划好的队列调度时刻对该多个报文队列进行出队循环调度,以对该多个报文队列中缓存的报文进行转发。例如,网络设备维护有报文队列1~8、预先规划好的队列调度周期T、预先规划好的入队调度时刻和预先规划好的出队调度时刻(入队调度时刻和出队调度时刻均为队列调度时刻),网络设备按照预先规划好的队列调度周期T和预先规划好的入队调度时刻,对报文队列1~8进行入队循环调度,以将接收到的报文缓存至报文队列1~8,以及,网络设备按照预先规划好的队列调度周期T和预先规划好的出队调度时刻,对报文队列1~8进行出队循环调度,以对报文队列1~8中缓存的报文进行转发。
示例的,网络设备对报文队列1~8进行入队循环调度时,网络设备在预先规划好的第一入队调度时刻开始调度报文队列1,网络设备对报文队列1的调度时长持续一个队列调度周期T(例如称为第1个队列调度周期)的时长,网络设备将在第1个队列调度周期内接收到的报文全部缓存至报文队列1;在该第1个队列调度周期的结束时刻(例如称为第二入队调度时刻),网络设备结束调度报文队列1,并开始调度报文队列2,网络设备对报文队列2的调度时长持续一个队列调度周期T(例如称为第2个队列调度周期)的时长,网络设备将在第2个队列调度周期内接收到的报文全部缓存至报文队列2;在该第2个队列调度周期的结束时刻(例如称为第三入队调度时刻),网络设备结束调度报文队列2,并开始调度报文队列3,网络设备对报文队列3的调度时长持续一个队列调度周期T(例如称为第3个队列调度周期)的时长,网络设备将在第3个队列调度周期内接收到的报文全部缓存至报文队列3;以此类推,网络设备在调度报文队列8的队列调度周期的结束时刻结束调度报文队列8,并继续开始调度报文队列1,网络设备循环执行上述入队调度过程,以对报文队列1~8进行入队循环调度。
示例的,网络设备对报文队列1~8进行出队循环调度时,网络设备在预先规划好的第一出队调度时刻开始调度报文队列1,网络设备对报文队列1的调度时长持续一个队列调度周期T(例如称为第1个队列调度周期)的时长,网络设备在第1个队列调度周期内对报文队列1中缓存的报文进行转发;在该第1个队列调度周期的结束时刻(例如称为第二出队调度时刻),网络设备结束调度报文队列1,并开始调度报文队列2,网络设备对报文队列2的调度时长持续一个队列调度周期T(例如称为第2个队列调度周期)的时长,网络设备在第2个队列调度周期内对报文队列2中缓存的报文进行转发;在该第2个队列调度周期的结束时刻(例如称为第三出队调度时刻),网络设备结束调度报文队列2,并开始调度报文队列3,网络设备对报文队列3的调度时长持续一个队列调度周期T(例如称为第3个队列调度周期)的时长,网络设备在第3个队列调度周期内对报文队列3中缓存的报文进行转发;以此类推,网络设备在调度报文队列8的队列调度周期的结束时刻结束调度报文队列8,并继续开始调度报文队列1,网络设备循环执行上述出队调度过程,以对报文队列1~8进行出队循环调度。
但是,由于CQF算法中,队列调度周期和队列调度时刻均是预先规划好的,因此,CQF算法在应用时,需要全网的网络设备时钟同步,需要在全网的网络设备中部署时钟同步系统,对网络设备的要求较高,且在网络设备中部署时钟同步系统的成本和代价较高,导致CQF算法在应用时的成本和代价较高,实用性较差。时钟同步系统的同步精度直接影响网络带宽利用率,若时钟同步系统的同步精度较低,也会对网络带宽造成浪费。
针对CQF算法存在的问题,业界提出了两种改进方案,分别为循环标签排队转发(cycle specified queueing and forwarding,CSQF)算法和确定性IP算法,在这两种改进算法中,网络设备按照预先学习好的标签与报文队列的映射关系对多个报文队列进行入队循环调度,以及,按照预先规划好的队列调度周期和预先规划好的队列调度时刻对该多个报文队列进行出队循环调度。示例的,网络设备维护有报文队列1~8、标签与报文队列的映射关系、预先规划好的队列调度周期T和预先规划好的队列调度时刻,网络设备根据接收到的报文携带的标签和该映射关系对报文队列1~8进行入队循环调度,以将接收到的报文缓存至报文队列1~8,以及,网络设备按照预先规划好的队列调度周期T和预先规划好的队列调度时刻对报文队列1~8进行出队循环调度,以对报文队列1~8中缓存的报文进行转发。例如,报文队列1~8依次对应标签1~8(这里以一个报文队列对应一个标签为例,实际应用中一个报文队列可以对应多个标签),网络设备对报文队列1~8进行入队循环调度时,网络设备将接收到的携带标签1的报文缓存至报文队列1,将接收到的携带标签2的报文缓存至报文队列2,将接收到的携带标签3的报文缓存至报文队列3;以此类推。网络设备对报文队列1~8进行出队循环调度的过程可以参考CQF算法中的出队循环调度过程,这里不做赘述。
但是,在CSQF算法和确定性IP算法中,上述标签与报文队列的映射关系的学习阶段,需要全网的网络设备时钟同步,并且网络设备仍然需要按照预先规划好的队列调度周期和预先规划好的队列调度时刻进行出队循环调度,CSQF算法和确定性IP算法仍然需要全网的网络设备时钟同步,仍然需要在网络设备中部署时钟同步系统,对网络设备的要求仍然较高,成本和代价仍然较高,实用性较差,容易对网络带宽造成浪费。
有鉴于上述CQF算法、CSQF算法、确定性IP算法等存在的问题,本申请实施例提供了一种队列调度方法及装置。网络设备包括报文调度器和PHY,该PHY周期性传输数据和用于指示该PHY的数据传输周期的边界的指示信息,全网的网络设备的PHY根据所述指示信息周期性传输数据,以使不同网络设备的PHY的数据传输周期的差异维持稳定。报文调度器根据用于指示该报文调度器所在的网络设备的PHY的数据传输周期的边界的指示信息,确定队列调度周期,并根据该队列调度周期调度多个报文队列,该报文调度器确定队列调度周期的过程以及根据该队列调度周期调度报文队列的过程不依赖时钟同步,因此,无需在网络设备时钟同步,对网络设备的要求较低,实施成本较低,实用性较强,不会造成网络带宽浪费。本申请无需在网络设备中部署时钟同步系统即可实现报文队列的周期性调度,且可以使不同网络设备的队列调度周期的差异保持稳定,例如,使不同网络设备的队列调度周期的长度相等,且不同网络设备的队列调度周期的边界之间的时间差保持稳定,避免时钟误差带来不同网络设备的队列调度周期的漂移(也即不同网络设备的队列调度周期的差异不稳定)问题。
下面对本申请的技术方案进行介绍,首先介绍本申请的应用场景。
请参考图1,其示出了本申请实施例提供的一种应用场景的示意图,该应用场景涉及网络设备10的内部系统,网络设备10是通信网络中的任一网络设备。如图1所示,网络设备10包括报文调度器101和PHY102,报文调度器101和PHY102通信连接。可选的,网络设备10包括MAG芯片(图1中未示出),该MAG芯片包括报文调度器101,该MAG芯片与PHY102通信连接,使得报文调度器101与PHY102通信连接。
其中,报文调度器101维护有多个报文队列,报文调度器101用于根据队列调度周期调度该多个报文队列。例如,报文调度器101用于根据队列调度周期,对该多个报文队列进行报文入队调度,以将网络设备10接收到的报文缓存至该多个报文队列;以及,报文调度器101用于根据队列调度周期,对该多个报文队列进行报文出队调度,以对该多个报文队列中缓存的报文进行转发。报文调度器101调度该多个报文队列之前,可以先确定队列调度周期。
其中,PHY102为PHY芯片,PHY102周期性传输数据以及用于指示PHY102的数据传输周期的边界的指示信息,且PHY102的数据传输周期与其他网络设备的PHY的数据传输周期的差异保持稳定,报文调度器101可以根据PHY102的数据传输周期(也即PHY102传输数据的周期)确定队列调度周期,从而根据队列调度周期调度多个报文队列,以实现网络设备10的队列调度周期与其他网络设备的队列调度周期的差异保持稳定。例如,报文调度器101根据PHY102的数据传输周期的边界确定队列调度周期的边界,和/或,报文调度器101根据PHY102的数据传输周期的长度确定队列调度周期的长度。其中,队列调度周期等于PHY102的数据传输周期(也即队列调度周期的长度等于PHY102的数据传输周期的长度),或者,PHY102的数据传输周期为队列调度周期的整数倍(也即PHY102的数据传输周期的长度为队列调度周期的长度的整数倍)。示例的,队列调度周期等于PHY102的数据传输周期与预设参数之积,预设参数可配置,预设参数小于或等于1且大于0。
其中,报文调度器101是二层报文调度器或三层报文调度器,二层报文调度器可以是MAC报文调度器,二层报文调度器用于根据报文的二层信息调度多个报文队列,三层报文调度器用于根据报文的三层信息调度多个报文队列。用于指示PHY102的数据传输周期的边界的指示信息可以是AM、CWM、FlexE对齐标志等对齐信息,或者是用于指示AM、CWM、FlexE对齐标志等的指示信息。AM、CWM均是以太接口传输的对齐信息,且AM是40GE以太接口、100GE以太接口传输的对齐信息,CWM是25GE以太接口传输的对齐信息,FlexE对齐标志是FlexE接口传输的对齐信息,FlexE对齐标志也称为FlexE Overhead(FlexE头顶)。40GE以太接口指的是以太接口的传输速率是40Gbps(吉字节每秒),100GE以太接口指的是以太接口的传输速率是100Gbps,25GE以太接口指的是以太接口的传输速率是25Gbps。
本申请所述的AM、CWM、FlexE对齐标志仅仅是对齐信息的示例,本申请所述的对齐信息可能是现有标准中定义的用于指示PHY的数据传输周期的边界的各种可能的对齐信息,也可能是未来演进的各种标准中定义的用于指示PHY的数据传输周期的边界的对齐信息,且该对齐信息在不同的标准中的称呼可以不同,具体请参考相关标准。
以上是对本申请的应用场景的介绍,下面介绍本申请的队列调度方法的实施例。
请参考图2,其示出了本申请实施例提供的一种队列调度方法的流程图。该队列调度方法应用于网络设备,该网络设备包括报文调度器和PHY,该队列调度方法由该报文调度器执行。例如,该队列调度器是图1中的队列调度器101,该PHY是图1中的PHY102。下面以该队列调度方法应用于图1所示的网络设备10为例说明。该方法包括如下步骤S201至S203。
S201.报文调度器101接收第一指示信息,第一指示信息用于指示PHY102的数据传输周期的第一边界。
可选的实施例中,报文调度器101接收PHY102发送的第一指示信息。PHY102可以通过带外信号向报文调度器101发送第一指示信息。例如,PHY102向报文调度器101发送第一带外信号,第一带外信号携带第一指示信息,报文调度器101接收PHY102发送的第一带外信号。其中,第一指示信息是AM、CWM、FlexE对齐标志等对齐信息,或者,第一指示信息是用于指示AM、CWM、FlexE对齐标志等的指示信息,本申请实施例对此不作限定。
在本申请实施例中,第一指示信息是PHY102生成的,或者,第一指示信息是PHY102所在的网络设备10的上一跳设备中的PHY发送给PHY102的。一个可选实施例中,网络设备10是报文传输路径上的头节点,PHY102根据PHY102的数据传输周期生成第一指示信息,并向报文调度器101发送第一指示信息。另一个可选实施例中,网络设备10是报文传输路径上的中间节点或尾节点,PHY102接收网络设备10的上一跳设备中的PHY发送的第一指示信息,并向报文调度器101发送第一指示信息。在该两个可选实施例中,PHY102还可以向网络设备10的下一跳设备的PHY发送第一指示信息,以便于该下一跳设备的PHY确定PHY102的数据传输周期的边界,从而根据PHY102的数据传输周期的边界确定该下一跳设备的PHY的数据传输周期。也即,除头节点之外的每个网络设备的PHY可以从该每个网络设备的上一跳设备的PHY接收指示信息,根据该上一跳设备的PHY发送的指示信息确定该每个网络设备的PHY的数据传输周期,并向该每个网络设备的下一跳设备的PHY发送该指示信息,使得该下一跳设备的PHY根据该指示信息确定该下一跳设备的PHY的数据传输周期。通过这样的方式,使得不同网络设备的PHY的数据传输周期的差异保持稳定。例如,使得不同网络设备的PHY的数据传输周期的长度相等,且该不同网络设备的PHY的数据传输周期的边界之间的时间差保持稳定。可选的,每个网络设备的PHY在该PHY的每个数据传输周期的开始时刻(对应该每个数据传输周期的起始边界),向该每个网络设备的下一跳设备的PHY发送指示信息,以指示该每个数据传输周期的边界(例如起始边界),在该每个数据传输周期内,该每个网络设备的PHY向该每个网络设备的下一跳设备的PHY发送数据块。
示例的,网络设备20是网络设备10的上一跳设备,网络设备30是网络设备10的下一跳设备,以采用AM指示PHY的数据传输周期的边界为例说明。网络设备20的PHY(例如称为PHY202)周期性向网络设备10的PHY102发送数据块,PHY202在PHY202的每个数据传输周期的开始时刻向PHY102发送AM,以指示该每个数据传输周期的边界(具体是起始边界)。PHY102根据PHY202发送的AM确定PHY202的数据传输周期的边界,根据PHY202的数据传输周期的边界确定PHY102的数据传输周期的边界,从而确定PHY102的数据传输周期;以及,PHY102根据PHY102的数据传输周期,向网络设备30的PHY(例如称为PHY302)发送数据块,PHY102在PHY102的每个数据传输周期的开始时刻向PHY302发送AM,以指示该每个数据传输周期的边界(具体是起始边界)。PHY302根据PHY102发送的AM确定PHY102的数据传输周期的边界,根据PHY102的数据传输周期的边界确定PHY302的数据传输周期的边界,从而确定PHY302的数据传输周期;以及,PHY302根据PHY302的数据传输周期,向网络设备30的下一跳设备的PHY发送数据块,PHY302在PHY302的每个数据传输周期的开始时刻向该下一跳设备的PHY发送AM,以指示该每个数据传输周期的边界(具体是起始边界)。以此类推,最终使得PHY202、PHY102和PHY302这三者的数据传输周期的差异保持稳定,例如,使得PHY202、PHY102和PHY302这三者的数据传输周期的长度相等,且PHY202、PHY102和PHY302这三者的数据传输周期的边界之间的时间差保持稳定。示例的,如图3所示,PHY202、PHY102和PHY302之间依次传输AM,使得PHY202、PHY102和PHY302这三者的数据传输周期相等(均为T1),且PHY102的数据传输周期的边界与PHY202的数据传输周期的边界之间的时间差,以及,PHY302的数据传输周期的边界与PHY102的数据传输周期的边界之间的时间差均保持稳定。如图3所示,AM1用于指示第1个数据传输周期的起始边界,AM2用于指示第2个数据传输周期的起始边界,AM3用于指示第3个数据传输周期的起始边界,以此类推。PHY102的第1个数据传输周期的起始边界B1与PHY202的第1个数据传输周期的起始边界C1之间的时间差,PHY102的第2个数据传输周期的起始边界B2与PHY202的第2个数据传输周期的起始边界C2之间的时间差,以及,PHY102的第3个数据传输周期的起始边界B3与PHY202的第3个数据传输周期的起始边界C3之间的时间差,均为W;PHY302的第1个数据传输周期的起始边界D1与PHY102的第1个数据传输周期的起始边界B1之间的时间差,PHY302的第2个数据传输周期的起始边界D2与PHY102的第2个数据传输周期的起始边界B2之间的时间差,以及,PHY302的第3个数据传输周期的起始边界D3与PHY102的第3个数据传输周期的起始边界B3之间的时间差,均为W。也即,PHY102的数据传输周期的边界与PHY202的数据传输周期的边界之间的时间差保持稳定。
需要说明的是,图3仅仅是一个示例,实际应用中,一个PHY可以包括多个传输通道,每个传输通道用于周期性传输数据块,同一个PHY的多个传输通道的数据传输周期是对齐的,也即,同一个PHY的多个传输通道的数据传输周期的边界一一对应同一时刻,并且,同一个PHY的多个传输通道的数据传输周期的对齐标志也可以是以太接口传输的AM、CWM等信息,或者是FlexE接口传输的FlexE对齐标志,本申请实施例对此不作限定。
S202.报文调度器101根据第一指示信息确定队列调度周期,该队列调度周期用于调度多个报文队列。
可选的实施例中,报文调度器101根据第一指示信息确定PHY102的数据传输周期的第一边界,报文调度器101根据该第一边界确定队列调度周期。其中,队列调度周期的长度是预设长度,或者由报文调度器101根据PHY102的数据传输周期的长度确定队列调度周期的长度。因此,报文调度器101根据第一指示信息确定队列调度周期,包括如下两种实现方式。
实现方式一:队列调度周期的长度为预设长度,报文调度器101根据第一指示信息和队列调度周期的预设长度确定该队列调度周期。
可选的,报文调度器101根据第一指示信息确定PHY102的数据传输周期的第一边界,报文调度器101根据该第一边界确定队列调度周期的边界,进而根据该队列调度周期的边界和该队列调度周期的预设长度确定该队列调度周期。其中,该队列调度周期的一个边界与该第一边界对齐,或者该队列调度周期的一个边界与该第一边界之间具有固定的时间差。这里以该队列调度周期的一个边界与该第一边界对齐说明,示例的,该队列调度周期的起始边界与该第一边界对齐。也即,报文调度器101将该第一边界确定为队列调度周期的起始边界。例如,报文调度器101将该第一边界确定为某一个(例如首个)队列调度周期的起始边界。
实现方式二:报文调度器101根据PHY102的数据传输周期的长度确定队列调度周期的长度,报文调度器101根据第一指示信息和队列调度周期的长度确定该队列调度周期。
可选的实施例中,报文调度器101根据第一指示信息和第四指示信息确定队列调度周期,第四指示信息用于指示PHY102的数据传输周期的第四边界,第四边界与第一边界相邻。示例的,报文调度器101根据第一指示信息和第四指示信息确定PHY102的数据传输周期,进而根据PHY102的数据传输周期确定队列调度周期。作为一个示例,报文调度器101根据第一指示信息指示的第一边界或第四指示信息指示的第四边界确定队列调度周期的边界;报文调度器101根据该第一边界和该第四边界确定PHY102的数据传输周期的长度,并根据PHY102的数据传输周期的长度确定队列调度周期的长度;以及,报文调度器101根据该队列调度周期的边界和该队列调度周期的长度确定该队列调度周期。其中,该队列调度周期的一个边界与该第一边界对齐,或者,该队列调度周期的一个边界与该第四边界对齐,或者,该队列调度周期的一个边界与该第一边界之间具有固定的时间差,或者,该队列调度周期的一个边界与该第四边界之间具有固定的时间差。这里以该队列调度周期的一个边界与该第一边界对齐为例说明,示例的,该队列调度周期的起始边界与该第一边界对齐。也即,报文调度器101将该第一边界确定为队列调度周期的起始边界。例如,报文调度器101将该第一边界确定为某一个(例如首个)队列调度周期的起始边界。
可选的实施例中,在该实现方式二中,报文调度器101根据PHY102的数据传输周期和预设参数确定队列调度周期。例如,报文调度器101根据PHY102的数据传输周期的长度和该预设参数确定队列调度周期的长度。示例的,队列调度周期等于PHY102的数据传输周期与该预设参数之积。其中,该预设参数小于或等于1且大于0,该预设参数可配置。
可选的实施例中,报文调度器101根据第一指示信息和第四指示信息确定队列调度周期之前,报文调度器101接收第四指示信息。例如,报文调度器101接收PHY102发送的第四带外信号,第四带外信号携带第四指示信息。其中,第四指示信息是AM、CWM或FlexE对齐标志等对齐信息,也可以是用于指示AM、CWM或FlexE对齐标志等对齐信息的指示信息。第四指示信息可以是PHY102生成的,也可以是PHY102所在的网络设备10的上一跳设备中的PHY发送给PHY102的,本申请实施例对此不作限定。
根据S202的前述描述可知,报文调度器101根据PHY102的数据传输周期的边界确定队列调度周期。在本申请实施例中,队列调度周期等于PHY102的数据传输周期,或者,PHY102的数据传输周期为队列调度周期的整数倍。并且,队列调度周期的一个边界与PHY102的数据传输周期的一个边界对齐,例如,首个队列调度周期的起始边界与PHY102的数据传输周期的第一边界对齐。其中,队列调度周期等于PHY102的数据传输周期指的是队列调度周期的长度等于PHY102的数据传输周期的长度;PHY102的数据传输周期为队列调度周期的整数倍指的是PHY102的数据传输周期的长度为队列调度周期的长度的整数倍。
示例的,图4和图5示出了本申请实施例提供的队列调度周期与PHY102的数据传输周期的关系图。如图4所示,队列调度周期的长度与PHY102的数据传输周期的长度相等,队列调度周期的起始边界与PHY102的数据传输周期的起始边界一一对应对齐。例如,首个队列调度周期(也即第1个队列调度周期)的起始边界A1与PHY102的首个数据传输周期(也即第1个数据传输周期)的起始边界B1对齐,第2个队列调度周期的起始边界A2与PHY102的第2个数据传输周期的起始边界B2对齐,第3个队列调度周期的起始边界A3与PHY102的第3个数据传输周期的起始边界B3对齐,以此类推。如图5所示,PHY102的数据传输周期的长度为队列调度周期的长度的2倍,第2i-1个队列调度周期的起始边界与PHY102的第i个数据传输周期的起始边界对齐,i为大于或等于1的整数。例如,第1个队列调度周期的起始边界A1与PHY102的第1个数据传输周期的起始边界B1对齐,第3个队列调度周期的起始边界A3与PHY102的第2个数据传输周期的起始边界B2对齐,第5个队列调度周期的起始边界A5与PHY102的第3个数据传输周期的起始边界B3对齐,以此类推。
图4和图5仅示例性的示出了队列调度周期与PHY102的数据传输周期的关系,队列调度周期与PHY102的数据传输周期还可以是其他的关系。例如,PHY102的数据传输周期的长度为队列调度周期的长度的3倍、4倍、5倍等。再例如,队列调度周期的起始边界与PHY102的数据传输周期的起始边界之间具有固定的时间差。本申请实施例对此不作限定。
此外,需要说明的是,由于不同网络设备的PHY的数据传输周期保持稳定差异,而每个网络设备的报文调度器根据该网络设备的PHY的数据传输周期确定该网络设备的队列调度周期,且同一网络设备的队列调度周期与该网络设备的PHY的数据传输周期之间具有上述对齐关系(例如图4或图5所示的对齐关系),因此,不同网络设备的队列调度周期也保持稳定差异。示例的,请参考图6,其示出了网络设备20、网络设备10和网络设备30的队列调度周期的关系图。网络设备20、网络设备10和网络设备30这三者的队列调度周期的长度相等(均为T2),且网络设备20、网络设备10和网络设备30这三者的队列调度周期的边界之间的时间差保持稳定。例如,网络设备10的第1个队列调度周期的起始边界A1与网络设备20的第1个队列调度周期的起始边界E1之间的时间差,网络设备10的第2个队列调度周期的起始边界A2与网络设备20的第2个队列调度周期的起始边界E2之间的时间差,以及,网络设备10的第3个队列调度周期的起始边界A3与网络设备20的第3个队列调度周期的起始边界E3之间的时间差,均为X;网络设备30的第1个队列调度周期的起始边界F1与网络设备10的第1个队列调度周期的起始边界A1之间的时间差,网络设备30的第2个队列调度周期的起始边界F2与网络设备10的第2个队列调度周期的起始边界A2之间的时间差,以及,网络设备30的第3个队列调度周期的起始边界F3与网络设备10的第3个队列调度周期的起始边界A3之间的时间差,均为W。
S203.报文调度器101根据该队列调度周期调度该多个报文队列。
可选的实施例中,报文调度器101根据第一指示信息和队列调度周期调度多个报文队列。报文调度器101调度该多个报文队列时的首个队列调度周期的起始边界与PHY102的数据传输周期的一个边界对齐。例如,报文调度器101调度该多个报文队列时的首个队列调度周期的起始边界与PHY102的首个数据传输周期的起始边界对齐。再例如,报文调度器101调度该多个报文队列时的首个队列调度周期的起始边界与第一指示信息指示的第一边界对齐,该第一边界可以是PHY102的首个数据传输周期的起始边界,也可以不是PHY102的首个数据传输周期的起始边界,本申请实施例对此不作限定。
以多个报文队列是m个报文队列1~m,且报文调度器101调度该多个报文队列时的首个队列调度周期的起始边界与第一边界对齐为例说明,m为大于1的正整数,例如m等于8。示例的,报文调度器101从第一边界开始(也即从第一边界对应的时刻开始),按照队列调度周期的长度依次循环调度报文队列1~m。一个示例中,报文调度器101循环调度该m个报文队列的过程包括:报文调度器101从第一边界开始调度报文队列1,报文调度器101对报文队列1的调度时长持续一个队列调度周期(例如称为第1个队列调度周期)的时长;在该第1个队列调度周期的结束时刻,报文调度器101结束调度报文队列1,并开始调度报文队列2(也即,在该第1个队列调度周期的结束时刻,报文调度器101从报文队列1切换到报文队列2,该第1个队列调度周期的结束时刻即为从报文队列1到报文队列的切换时刻),报文调度器101对报文队列2的调度时长持续一个队列调度周期(例如称为第2个队列调度周期)的时长;在该第2个队列调度周期的结束时刻,报文调度器101结束调度报文队列2,并开始调度报文队列3,报文调度器101对报文队列3的调度时长持续一个队列调度周期(例如称为第3个队列调度周期)的时长;以此类推,报文调度器101在调度报文队列m的队列调度周期的结束时刻结束调度报文队列8,并继续开始依次调度报文队列1~m,如此重复,报文调度器101实现按照该队列调度周期依次循环调度报文队列1~m。
可选的实施例中,报文调度器101根据队列调度周期对多个报文队列进行报文入队调度;和/或,报文调度器101根据该队列调度周期对该多个报文队列进行报文出队调度。S203的上述描述适用于对该多个报文队列进行报文入队调度和对该多个报文队列进行报文出队调度。也即,报文调度器101根据第一指示信息和队列调度周期对该多个报文队列进行报文入队调度;和/或,报文调度器101根据第一指示信息和队列调度周期对该多个报文队列进行报文出队调度。作为一个示例,报文调度器101从第一边界开始,按照队列调度周期的长度依次对报文队列1~m进行报文入队循环调度,以及,报文调度器101从第一边界开始,按照队列调度周期的长度依次对报文队列1~m进行报文出队循环调度。
其中,报文调度器101对报文队列1~m进行报文入队循环调度的过程包括:报文调度器101从第一边界开始对报文队列1进行报文入队调度,报文调度器101对报文队列1的调度时长持续一个队列调度周期(例如称为第1个队列调度周期)的时长,报文调度器101将在第1个队列调度周期内接收到的报文缓存至报文队列1;在该第1个队列调度周期的结束时刻,报文调度器101结束调度报文队列1,并开始对报文队列2进行报文入队调度,报文调度器101对报文队列2的调度时长持续一个队列调度周期(例如称为第2个队列调度周期)的时长,报文调度器101将在第2个队列调度周期内接收到的报文缓存至报文队列2;在该第2个队列调度周期的结束时刻,报文调度器101结束调度报文队列2,并开始对报文队列3进行报文入队调度,报文调度器101对报文队列3的调度时长持续一个队列调度周期(例如称为第3个队列调度周期)的时长,报文调度器101将在第3个队列调度周期内接收到的报文缓存至报文队列3;以此类推,报文调度器101结束对报文队列m的报文入队调度之后,报文调度器101再按照队列调度周期依次对报文队列1~m进行报文入队调度,如此重复。
其中,报文调度器101对报文队列1~m进行报文出队循环调度的过程包括:报文调度器101从第一边界开始对报文队列2进行报文出队调度,报文调度器101对报文队列2的调度时长持续一个队列调度周期(例如称为第1个队列调度周期)的时长,报文调度器101在第1个队列调度周期内转发报文队列2中缓存的报文;在该第1个队列调度周期的结束时刻,报文调度器101结束调度报文队列2,并开始对报文队列3进行报文出队调度,报文调度器101对报文队列3的调度时长持续一个队列调度周期(例如称为第2个队列调度周期)的时长,报文调度器101在第2个队列调度周期内转发报文队列3中缓存的报文;在该第2个队列调度周期的结束时刻,报文调度器101结束调度报文队列3,并开始对报文队列4进行报文出队调度,报文调度器101对报文队列4的调度时长持续一个队列调度周期(例如称为第3个队列调度周期)的时长,报文调度器101在第3个队列调度周期内转发报文队列4中缓存的报文;以此类推,报文调度器101结束对报文队列m的报文出队调度之后,开始对报文队列1进行报文出队调度,报文调度器101对报文队列1的调度时长持续一个队列调度周期(例如称为第m个队列调度周期)的时长,报文调度器101在第m个队列调度周期内转发报文队列3中缓存的报文;报文调度器101结束对报文队列1的报文出队调度之后,报文调度器101再按照队列调度周期依次对报文队列2~m、1进行报文出队调度,如此重复。
示例的,报文调度器101对报文队列1~m进行报文入队循环调度和报文出队循环调度的过程如图7所示。上述对报文队列1~m进行报文入队循环调度和报文出队循环调度的过程的描述以及图7均是示例性的。实际应用中,报文调度器101对报文队列1~m进行报文入队循环调度时,在每次循环过程中,报文调度器101可以按照报文队列1、报文队列2、报文队列3...报文队列m的顺序依次调度报文队列1~m,也可以按照报文队列2、报文队列3、报文队列4...报文队列m、报文队列1的顺序依次调度报文队列1~m,还可以按照报文队列3、报文队列4...报文队列m、报文队列1、报文队列2的顺序依次调度报文队列1~m,或者按照其他顺序依次调度报文队列1~m。同理,报文调度器101对报文队列1~m进行报文出队循环调度时,在每次循环过程中,报文调度器101可以按照报文队列1、报文队列2、报文队列3...报文队列m的顺序依次调度报文队列1~m,也可以按照报文队列2、报文队列3、报文队列4...报文队列m、报文队列1的顺序依次调度报文队列1~m,还可以按照报文队列3、报文队列4...报文队列m、报文队列1、报文队列2的顺序依次调度报文队列1~m,或者按照其他顺序依次调度报文队列1~m,本申请实施例不限定报文调度器101循环调度报文队列1~m的顺序。
综上所述,本申请实施例提供的队列调度方法,网络设备包括报文调度器和PHY,第一指示信息用于指示该PHY的数据传输周期的第一边界,该报文调度器根据第一指示信息确定队列调度周期,并根据该队列调度周期调度多个报文队列,因此,该报文调度器确定队列调度周期以及根据该队列调度周期调度该多个报文队列时,无需该网络设备与其他网络设备时钟同步,例如无需全网的网络设备时钟同步,对网络设备的要求较低。本申请无需在网络设备中部署时钟同步系统即可实现报文队列的周期性调度,且可以使不同网络设备的队列调度周期的差异保持稳定,例如,例如使不同网络设备的队列调度周期相等,且不同网络设备的队列调度周期的边界之间的时间差保持稳定(例如时间差恒定),可以避免时钟误差带来不同网络设备的队列调度周期的漂移问题。由于本申请无需在网络设备中部署时钟同步系统即可实现报文队列的调度,因此本申请方案的实施成本较低,实用性较强,部署难度低。
报文调度器101按照队列调度周期调度多个报文队列的过程中,报文调度器101还可以接收用于指示PHY102的数据传输周期的边界的指示信息,并判断该指示信息指示的边界与队列调度周期的边界是否错开,如果该指示信息指示的边界与队列调度周期的边界错开,报文调度器101可以提示工作人员干预。
可选的实施例中,在S203之后,该队列调度方法还包括如下步骤S204至S205。
S204.报文调度器101接收第五指示信息,第五指示信息用于指示PHY102的数据传输周期的一个边界。
可选的实施例中,报文调度器101接收PHY102发送的第五带外信号,第五带外信号携带第五指示信息。其中,第五指示信息是AM、CWM、FlexE对齐标志等对齐信息,或者是用于指示AM、CWM、FlexE对齐标志等的指示信息。第五指示信息是PHY102生成的,或者是PHY102所在的网络设备10的上一跳设备中的PHY发送给PHY102的。
S205.报文调度器101确定第五指示信息指示的边界与队列调度周期的边界错开,报文调度器101发出告警。
报文调度器101可以判断队列调度周期是否存在一个边界与第五指示信息指示的边界对齐;如果队列调度周期不存在任何一个边界与第五指示信息指示的边界对齐,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界错开,报文调度器101发出告警;如果队列调度周期存在一个边界与第五指示信息指示的边界对齐,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界未错开,报文调度器101不告警。
可选的实施例中,第五指示信息指示的边界对应一个时刻,队列调度周期的每个边界也对应一个时刻,报文调度器101确定第五指示信息指示的边界对应的时刻,并判断队列调度周期是否存在一个边界对应的时刻与第五指示信息指示的边界对应的时刻相同;如果是,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界未错开;否则,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界错开。一个示例中,报文调度器101判断报文调度器101接收到第五指示信息的时刻是否是队列调度周期的一个边界对应的时刻,如果是,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界未错开;否则,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界错开。另一个示例中,报文调度器101判断报文调度器101接收到第五指示信息的时刻(例如时刻1)与队列调度周期的边界对应的时刻中距离时刻1最近的时刻(例如时刻2)之间的时间差是否小于时间差阈值;如果时刻1与时刻2之间的时间差小于时间差阈值,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界未错开;如果时刻1与时刻2之间的时间差不小于时间差阈值,报文调度器101确定第五指示信息指示的边界与队列调度周期的边界错开。
本申请实施例以第五指示信息指示的边界与队列调度周期的边界错开为例说明,报文调度器101发出告警。一个可选实施例中,报文调度器101发出告警提示音。另一个可选实施例中,报文调度器101控制网络设备10的指示灯按照预定频率闪烁。再一个可选实施例中,报文调度器101控制网络设备10的指示灯发出预定颜色的光线。又一个可选实施例中,报文调度器101生成告警提示信息,并通过网络设备10或者与网络设备10连接的其他设备(例如控制设备)的语音播报组件播报该告警提示信息,和/或,通过网络设备10或者与网络设备10连接的其他设备(例如控制设备)的显示组件显示该告警提示信息。例如,报文调度器101通过网络设备10的通信组件、通信接口等,将该告警提示信息发送给控制设备,由控制设备通过播报、显示等方式呈现该告警提示信息,本申请实施例对此不作限定。
综上所述,本申请实施例提供的队列调度方法,由于不同网络设备的PHY的数据传输周期保持稳定差异,正常情况下,报文调度器根据该报文调度器所在的网络设备的PHY的数据传输周期确定的队列调度周期与其他网络设备的队列调度周期保持稳定差异,如果该报文调度器确定该报文调度器所在的网络设备的PHY的数据传输周期的边界与该网络设备的队列调度周期的边界错开,说明该网络设备的队列调度周期与其他网络设备的队列调度周期的差异不稳定,因此,该报文调度器发出告警,便于工作人员获知队列调度过程发生异常,从而对队列调度过程进行人工干预,以便于报文调度器能够正常调度报文队列。
上述队列调度方法在实施时,PHY102的数据对齐状态处于锁定状态。可选的,在S202之前,报文调度器101确定PHY102的数据对齐状态处于锁定状态。其中,PHY102的数据对齐状态处于锁定状态指的是:PHY102的数据传输周期与其他网络设备的PHY的数据传输周期相等,且PHY102的数据传输周期的边界与其他网络设备的PHY的数据传输周期的边界之间的时间差保持稳定(例如时间差恒定)。也即,不同网络设备的PHY的数据传输周期相等,且该不同网络设备的PHY的数据传输周期的边界之间的时间差保持稳定。上述PHY102的第1个数据传输周期(或首个数据传输周期)、第2个数据传输周期、第3个数据传输周期、第1个队列调度周期(或首个队列调度周期)、第2个队列调度周期、第3个队列调度周期等,均指的是PHY102的数据对齐状态处于锁定状态之后的周期。
在本申请实施例中,报文调度器101可以根据PHY102的通知消息确定PHY102的数据对齐状态处于锁定状态,也可以根据PHY102的相邻数据传输周期相等确定PHY102的数据对齐状态处于锁定状态。因此,报文调度器101确定PHY102的数据对齐状态处于锁定状态包括以下两种可选的实现方式。
实现方式一:报文调度器101根据PHY102的通知消息确定PHY102的数据对齐状态处于锁定状态。请参考图8,其示出了本申请实施例提供的一种报文调度器101确定PHY102的数据对齐状态处于锁定状态的流程图,该流程包括如下步骤S801至S802。
S801.报文调度器101接收PHY102发送的通知消息,该通知消息用于向报文调度器101通知PHY102的数据对齐状态处于锁定状态。
PHY102可以通过初始化训练,使得PHY102的相邻数据传输周期相等,PHY102的数据传输周期与其他网络设备的PHY的数据传输周期相等,以及,PHY102的数据传输周期的边界与网络设备10的相邻设备的PHY的数据传输周期的边界之间的时间差保持稳定。在达到上述结果之后,PHY102确定PHY102的数据对齐状态处于锁定状态,PHY102向报文调度器101发送通知消息,报文调度器101接收该通知消息。其中,该通知消息用于向报文调度器101通知PHY102的数据对齐状态处于锁定状态。PHY102可以通过带外信号向报文调度器101发送该通知消息,也可以通过其他消息向报文调度器101发送该通知消息。
可选的实施例中,网络设备20是网络设备10的上一跳设备,网络设备30是网络设备10的下一跳设备,以采用AM指示PHY的数据传输周期的边界为例说明。网络设备10的PHY102启动之后,PHY102进行初始化训练。在初始化训练过程中,PHY102接收网络设备20的PHY202周期性传输数据块和用于指示PHY202的数据传输周期的指示信息(例如AM),PHY102根据PHY202发送的AM确定PHY102的数据传输周期,根据PHY102的数据传输周期向网络设备30的PHY302周期性传输数据块和用于指示PHY102的数据传输周期的指示信息(例如AM),PHY302根据PHY102发送的AM确定PHY302的数据传输周期,根据PHY302的数据传输周期向网络设备30的下一跳设备的PHY周期性传输数据块和用于指示PHY102的数据传输周期的指示信息(例如AM)。通过这样的初始化训练,最终使得PHY102的相邻数据传输周期相等,PHY202的数据传输周期、PHY102的数据传输周期和PHY302的数据传输周期相等,且PHY202的数据传输周期的边界与PHY102的数据传输周期的边界之间的时间差,以及,PHY102的数据传输周期的边界与PHY302的数据传输周期的边界之间的时间差保持稳定。
S802.报文调度器101根据该通知消息,确定PHY102的数据对齐状态处于锁定状态。
由于通知消息用于向报文调度器101通知PHY102的数据对齐状态处于锁定状态,因此,报文调度器101根据该通知消息确定PHY102的数据对齐状态处于锁定状态。
实现方式二:报文调度器101根据PHY102的相邻数据传输周期相等确定PHY102的数据对齐状态处于锁定状态。请参考图9,其示出了本申请实施例提供的另一种报文调度器101确定PHY102的数据对齐状态处于锁定状态的流程图,该流程包括如下步骤S901至S902。
S901.报文调度器101接收第二指示信息和第三指示信息,第二指示信息用于指示PHY102的数据传输周期的第二边界,第三指示信息用于指示PHY102的数据传输周期的第三边界,第一边界、第二边界和第三边界是相邻的三个边界。
可选的实施例中,报文调度器101接收PHY102发送的第二指示信息和第三指示信息。例如,报文调度器101接收PHY102发送的第二带外信号和第三带外信号,第二带外信号携带第二指示信息,第三带外信号携带第三指示信息。其中,第二指示信息和第三指示信息均是AM、CWM、FlexE对齐标志等对齐信息,或者第二指示信息和第三指示信息均是用于指示AM、CWM、FlexE对齐标志等的指示信息。第二指示信息和第三指示信息均是PHY102生成的,或者,第二指示信息和第三指示信息均是PHY102所在的网络设备10的上一跳设备中的PHY发送给PHY102的,本申请实施例对此不作限定。
其中,第二指示信息用于指示PHY102的数据传输周期的第二边界,第三指示信息用于指示PHY102的数据传输周期的第三边界,第一边界、第二边界和第三边界是相邻的三个边界。例如,第一边界、第二边界、第三边界依次相邻;或者,第一边界、第三边界、第二边界依次相邻;或者,第二边界、第一边界、第三边界依次相邻;或者,第二边界、第三边界、第一边界依次相邻;或者,第三边界、第一边界、第二边界依次相邻;或者,第三边界、第二边界、第一边界依次相邻。第二边界和第三边界中的一个边界与S202中所述的第四边界可能为同一边界,也可能S202中的所述第四边界与第二边界、第三边界均不同。
S902.报文调度器101根据第一指示信息、第二指示信息和第三指示信息,确定PHY102的数据对齐状态处于锁定状态。
报文调度器101可以根据第一指示信息、第二指示信息和第三指示信息,确定PHY102的相邻两个数据传输周期;然后,报文调度器101判断该相邻两个数据传输周期是否相等;如果报文调度器101确定该相邻两个数据传输周期相等,报文调度器101确定PHY102的数据对齐状态处于锁定状态;如果报文调度器101确定该相邻两个数据传输周期不相等,报文调度器101确定PHY102的数据对齐状态未处于锁定状态。本申请实施例以该相邻两个数据传输周期相等为例说明,则报文调度器101确定PHY102的数据对齐状态处于锁定状态。
可选的实施例中,报文调度器101根据第一指示信息指示的第一边界、第二指示信息指示的第二边界和第三指示信息指示的第三边界,确定PHY102的相邻两个数据传输周期。示例的,第三边界、第二边界、第一边界依次相邻,第一边界对应第一时刻,第二边界对应第二时刻,第三边界对应第三时刻,报文调度器101将第二时刻与第三时刻之间的时间差确定为PHY102的一个数据传输周期(例如数据传输周期1),报文调度器101将第一时刻与第二时刻之间的时间差确定为PHY102的另一个数据传输周期(例如数据传输周期2),数据传输周期1和数据传输周期2是PHY102的相邻两个数据传输周期。
需要说明的是,PHY102的数据对齐状态处于锁定状态指的是:PHY102的数据传输周期与其他网络设备的PHY的数据传输周期相等,且PHY102的数据传输周期的边界与其他网络设备的PHY的数据传输周期的边界之间的时间差保持稳定。在该实现方式二中,当PHY102的相邻两个数据传输周期相等时,认为PHY102的数据传输周期与其他网络设备的PHY的数据传输周期相等,且PHY102的数据传输周期的边界与其他网络设备的PHY的数据传输周期的边界之间的时间差保持稳定,因此,报文调度器101确定PHY102的数据对齐状态处于锁定状态。
综上所述,本申请实施例提供的队列调度方法,在报文调度器确定PHY的数据对齐状态处于锁定状态的情况下,该报文调度器根据用于指示PHY的数据传输周期的第一边界的指示信息确定队列调度周期,因此,该报文调度器确定的队列调度周期能够与其他网络设备的队列调度周期的差异保持稳定,由此,可以实现不同网络设备的队列调度周期的差异保持稳定。
需要说明的是,报文调度器101确定PHY102的数据对齐状态处于锁定状态之前,报文调度器101也会调度上述多个报文队列,在这种情况下,报文调度器101调度该多个报文队列时的队列切换时刻(或称为队列调度时刻)随机设定,或者,报文调度器101根据人工配置的队列切换时刻调度该多个报文队列,或者,报文调度器101根据默认的队列切换时刻调度该多个报文队列。报文调度器101确定PHY102的数据对齐状态处于锁定状态之后,报文调度器101根据PHY102的数据传输周期的一个边界(例如第一边界)确定首个队列调度周期的起始边界,也即确定第一次开始调度该多个报文队列的起始时刻,报文调度器101按照该队列调度周期的长度确定调度该多个报文队列时的队列切换时刻,每个队列调度周期的结束时刻为一个队列切换时刻,报文调度器101在每个队列调度周期的结束时刻切换报文队列。
以上是对本申请的方法实施例的介绍。下面介绍本申请的装置实施例,本申请的装置可以用于执行本申请的方法。对于装置实施例中未披露的细节请参照方法实施例。
请参考图10,其示出了本申请实施例提供的一种队列调度装置1000的示意图。队列调度装置1000应用于网络设备中的报文调度器,例如该网络设备包括MAG芯片,该MAG芯片包括该报文调度器。其中,该报文调度器是二层报文调度器或三层报文调度器。参见图10,队列调度装置1000包括:接收模块1010、确定模块1020和调度模块1030。
接收模块1010,用于接收第一指示信息,第一指示信息用于指示网络设备中的PHY的数据传输周期的第一边界。接收模块1010的功能实现可以参考上述S201中的描述。
确定模块1020,用于根据第一指示信息确定队列调度周期,该队列调度周期用于调度多个报文队列。确定模块1020的功能实现可以参考上述S202中的描述。
调度模块1030,用于根据该队列调度周期调度该多个报文队列。调度模块1030的功能实现可以参考上述S203中的描述。
可选的,接收模块1010,还用于在确定模块1020根据第一指示信息确定队列调度周期之前,接收PHY发送的通知消息,该通知消息用于向报文调度器通知该PHY的数据对齐状态处于锁定状态。接收模块1010的功能实现还可以参考上述S801中的描述。
确定模块1020,还用于根据该通知消息,确定该PHY的数据对齐状态处于锁定状态。确定模块1020的功能实现还可以参考上述S802中的描述。
可选的,接收模块1010,还用于在确定模块1020根据第一指示信息确定队列调度周期之前,接收第二指示信息和第三指示信息,第二指示信息用于指示该PHY的数据传输周期的第二边界,第三指示信息用于指示该PHY的数据传输周期的第三边界,第一边界、第二边界和第三边界是相邻的三个边界。接收模块1010的功能实现还可以参考上述S901中的描述。
确定模块1020,还用于根据第一指示信息、第二指示信息和第三指示信息,确定该PHY的数据对齐状态处于锁定状态。确定模块1020的功能实现还可以参考上述S902中的描述。
可选的,确定模块1020,用于:根据第一指示信息、第二指示信息和第三指示信息,确定该PHY的相邻两个数据传输周期;确定该相邻两个数据传输周期相等,确定该PHY的数据对齐状态处于锁定状态。
可选的,接收模块1010,还用于接收第四指示信息,第四指示信息用于指示该PHY的数据传输周期的第四边界,第四边界与第一边界相邻;相应的,确定模块1020,用于根据第一指示信息和第四指示信息确定队列调度周期。
可选的,确定模块1020,用于:根据第一指示信息和第四指示信息确定该PHY的数据传输周期;根据该PHY的数据传输周期确定队列调度周期。
可选的,确定模块1020,用于根据PHY的数据传输周期和预设参数确定队列调度周期。
可选的,队列调度周期等于该PHY的数据传输周期与预设参数之积。
可选的,队列调度周期等于该PHY的数据传输周期。
可选的,该PHY的数据传输周期为队列调度周期的整数倍。
可选的,调度模块1030,用于根据第一指示信息和队列调度周期,调度多个报文队列。
可选的,调度模块1030调度多个报文队列时的首个队列调度周期的起始边界与PHY的传输数据周期的一个边界对齐。
可选的,接收模块1010,还用于接收第五指示信息,第五指示信息用于指示PHY的传输数据周期的一个边界;接收模块1010的功能实现还可以参考上述S204中的描述。
确定模块1020,还用于确定第五指示信息指示的边界与队列调度周期的边界错开。确定模块1020的功能实现还可以参考上述S205中的描述。
队列调度装置1000还包括:告警模块1040,用于发出告警。告警模块1040的功能实现还可以参考上述S205中的描述。
可选的,调度模块1030,用于执行以下至少一个:根据队列调度周期对多个报文队列进行报文入队调度;根据该队列调度周期对该多个报文队列进行报文出队调度。
可选的,第一指示信息包括AM、CWM或FlexE对齐标志。
可选的,接收模块1010,用于接收PHY发送的第一指示信息,第一指示信息是该PHY生成的,或者是该网络设备的上一跳设备中的PHY发送给该网络设备的该PHY的。
综上所述,本申请实施例提供的队列调度装置应用于网络设备中的报文调度器,该网络设备还包括PHY,该PHY周期性传输数据,第一指示信息用于指示该PHY的数据传输周期的第一边界,该队列调度装置根据第一指示信息确定队列调度周期,并根据该队列调度周期调度多个报文队列,因此,该队列调度装置确定队列调度周期以及根据该队列调度周期调度该多个报文队列时,无需该网络设备与其他网络设备时钟同步,例如无需全网的网络设备时钟同步,对网络设备的要求较低。本申请无需在网络设备中部署时钟同步系统即可实现报文队列的周期性调度,且可以使不同网络设备的队列调度周期的差异保持稳定,避免时钟误差带来不同网络设备的队列调度周期的漂移问题。由于本申请无需在网络设备中部署时钟同步系统即可实现报文队列的调度,因此本申请方案的实施成本较低,实用性较强,部署难度低。
本申请实施例提供了一种芯片,包括如图10所示实施例提供的队列调度装置1000。
其中,该芯片可以是网络芯片,例如,该芯片是MAG芯片。
可选的,该芯片包括可编程逻辑电路和/或程序指令,该芯片运行时用于实现如上述方法实施例提供的队列调度方法的全部或部分步骤。
本申请实施例提供了一种网络设备,包括上述芯片,例如MAG芯片。
请参考图11,其示出了本申请实施例提供的一种网络设备1100的示意图。网络设备1100包括处理器1102、存储器1104、通信接口1106、MAG芯片1108、PHY 1110和总线1112,处理器1102、存储器1104、通信接口1106、MAG芯片1108和PHY 1110通过总线1112通信连接。图11所示的处理器1102、存储器1104、通信接口1106、MAG芯片1108和PHY 1110的连接方式仅作为示例,处理器1102、存储器1104、通信接口1106、MAG芯片1108和PHY1110也可以采用除总线之外的其他方式通信连接,本申请不限定处理器1102、存储器1104、通信接口1106、MAG芯片1108和PHY 1110的连接方式。
其中,存储器1104用于存储计算机程序11042,计算机程序11042包括指令和数据。存储器1104是各种类型的存储介质,例如随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、非易失性RAM(non-volatile RAM,NVRAM)、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、电可擦除PROM(electrically erasable PROM,EEPROM)、闪存、光存储器和寄存器等。
其中,处理器1102是通用处理器,通用处理器是通过读取并执行存储器中存储的计算机程序来执行特定步骤和/或操作的处理器,通用处理器在执行上述步骤和/或操作的过程中可能用到存储在存储器中的数据。通用处理器可以是中央处理器(centralprocessing unit,CPU)。处理器1102也可以是专用处理器,专用处理器是专门设计的用于执行特定步骤和/或操作的处理器,专用处理器可以是数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field-programmable gate array,FPGA)等。可选的,处理器1102包括多个处理器核,也即,处理器1102是多核处理器。处理器1102包括至少一个电路以执行上述方法的全部或部分步骤。
其中,通信接口1106包括输入/输出(input/output,I/O)接口、物理接口和逻辑接口等用于实现网络设备1100内部的器件互连的接口,以及用于实现网络设备1100与其他装置(例如网络设备、控制设备)互连的接口。物理接口可以是千兆的以太接口(gigabitEthernet,GE),其用于实现网络设备1100与其他设备互连,逻辑接口是网络设备1100内部的接口,其用于实现网络设备1100内部的器件互连。容易理解,通信接口1106用于网络设备1100与其他设备通信,例如,通信接口1106用于网络设备1100与其他设备之间信息、报文等的发送和接收,通信接口1106能够实现前述接收模块的相关功能。
其中,MAG芯片1108包括报文调度器11082,报文调度器11082可以实现前述实施例提供的队列调度方法的全部或部分步骤。例如,报文调度器11082根据PHY 1110提供的用于指示PHY 1110传输数据的周期的边界的指示信息确定队列调度周期,并根据该队列调度周期对多个报文队列进行循环调度。可选的,报文调度器11082通过执行存储器1104中存储的计算机程序以实现前述确定模块、调度模块、告警模块等的相关功能。
其中,PHY 1110为PHY芯片,其用于物理层数据传输和处理,例如,PHY 1110周期性进行物理层数据传输和处理。PHY 1110可以向报文调度器11082提供指示信息,以指示PHY1110传输数据的周期的边界,使报文调度器11082确定PHY 1110传输数据的周期的边界,进而根据PHY 1110传输数据的周期的边界确定队列调度周期。
其中,总线1112是任何类型的,用于实现处理器1102、存储器1104、通信接口1106、MAG芯片1108和PHY 1110互连的通信总线,例如系统总线。
上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。此外,上述器件之间可以具有一定的包含与被包含的关系,例如,在一些实施例中,将MAG芯片1108归并到处理器1102的范畴,MAG芯片1108可以认为是一种专用的处理器芯片。
图11所示网络设备1100仅仅是示例性的,网络设备1100还可能包括其他组件,本文不再列举。图11所示的网络设备通过执行上述方法实施例的全部或部分步骤来执行队列调度。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被执行(例如,被报文调度器、MAG芯片、网络设备等执行)时,实现如上述方法实施例提供的方法的全部或部分步骤。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序或代码,该程序或代码被执行(例如,被报文调度器、MAG芯片、网络设备等执行)时,实现如上述方法实施例提供的方法的全部或部分步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储装置。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
应当理解的是,本申请中的术语“至少一个”指一个或多个,术语“多个”指两个或两个以上。在本申请中,除非另有说明,符号“/”一般表示或的意思,例如,A/B可以表示A或B。本申请中的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述,在本申请中,采用了“第一”、“第二”、“第三”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”、“第三”等字样并不对数量和执行次序进行限定。
本申请实施例提供的方法实施例和装置实施例等不同类型的实施例均可以相互参考,本申请实施例对此不做限定。本申请实施例提供的方法实施例操作的先后顺序能够进行适当调整,操作也能够根据情况进行响应增减,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
在本申请提供的相应实施例中,应该理解到,所揭露的装置等可以通过其它的构成方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元描述的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络设备上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (39)
1.一种队列调度方法,其特征在于,所述方法包括:
网络设备中的报文调度器接收第一指示信息,所述第一指示信息用于指示所述网络设备中的物理层PHY的数据传输周期的第一边界;
所述报文调度器根据所述第一指示信息确定队列调度周期,所述队列调度周期用于调度多个报文队列;
所述报文调度器根据所述队列调度周期调度所述多个报文队列。
2.根据权利要求1所述的方法,其特征在于,所述报文调度器根据所述第一指示信息确定队列调度周期之前,所述方法还包括:
所述报文调度器接收所述PHY发送的通知消息,所述通知消息用于向所述报文调度器通知所述PHY的数据对齐状态处于锁定状态;
所述报文调度器根据所述通知消息,确定所述PHY的数据对齐状态处于锁定状态。
3.根据权利要求1所述的方法,其特征在于,所述报文调度器根据所述第一指示信息确定队列调度周期之前,所述方法还包括:
所述报文调度器接收第二指示信息和第三指示信息,所述第二指示信息用于指示所述PHY的数据传输周期的第二边界,所述第三指示信息用于指示所述PHY的数据传输周期的第三边界,所述第一边界、所述第二边界和所述第三边界是相邻的三个边界;
所述报文调度器根据所述第一指示信息、所述第二指示信息和所述第三指示信息,确定所述PHY的数据对齐状态处于锁定状态。
4.根据权利要求3所述的方法,其特征在于,所述报文调度器根据所述第一指示信息、所述第二指示信息和所述第三指示信息,确定所述PHY的数据对齐状态处于锁定状态,包括:
所述报文调度器根据所述第一指示信息、所述第二指示信息和所述第三指示信息,确定所述PHY的相邻两个数据传输周期;
所述报文调度器确定所述相邻两个数据传输周期相等,所述报文调度器确定所述PHY的数据对齐状态处于锁定状态。
5.根据权利要求1至4任一项所述的方法,其特征在于,
所述方法还包括:所述报文调度器接收第四指示信息,所述第四指示信息用于指示所述PHY的数据传输周期的第四边界,所述第四边界与所述第一边界相邻;
所述报文调度器根据所述第一指示信息确定队列调度周期,包括:所述报文调度器根据所述第一指示信息和所述第四指示信息确定所述队列调度周期。
6.根据权利要求5所述的方法,其特征在于,所述报文调度器根据所述第一指示信息和所述第四指示信息确定所述队列调度周期,包括:
所述报文调度器根据所述第一指示信息和所述第四指示信息确定所述PHY的数据传输周期;
所述报文调度器根据所述PHY的数据传输周期确定所述队列调度周期。
7.根据权利要求6所述的方法,其特征在于,所述报文调度器根据所述PHY的数据传输周期确定所述队列调度周期,包括:
所述报文调度器根据所述PHY的数据传输周期和预设参数确定所述队列调度周期。
8.根据权利要求7所述的方法,其特征在于,
所述队列调度周期等于所述PHY的数据传输周期与所述预设参数之积。
9.根据权利要求1至8任一项所述的方法,其特征在于,
所述队列调度周期等于所述PHY的数据传输周期。
10.根据权利要求1至8任一项所述的方法,其特征在于,
所述PHY的数据传输周期为所述队列调度周期的整数倍。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述报文调度器根据所述队列调度周期调度所述多个报文队列,包括:
所述报文调度器根据所述第一指示信息和所述队列调度周期,调度所述多个报文队列。
12.根据权利要求1至11任一项所述的方法,其特征在于,
所述报文调度器调度所述多个报文队列时的首个队列调度周期的起始边界与所述PHY的传输数据周期的一个边界对齐。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述方法还包括:
所述报文调度器接收第五指示信息,所述第五指示信息用于指示所述PHY的传输数据周期的一个边界;
所述报文调度器确定所述第五指示信息指示的边界与所述队列调度周期的边界错开,所述报文调度器发出告警。
14.根据权利要求1至13任一项所述的方法,其特征在于,所述报文调度器根据所述队列调度周期调度所述多个报文队列,包括以下至少一个:
所述报文调度器根据所述队列调度周期对所述多个报文队列进行报文入队调度;
所述报文调度器根据所述队列调度周期对所述多个报文队列进行报文出队调度。
15.根据权利要求1至14任一项所述的方法,其特征在于,
所述第一指示信息包括对齐标志AM、码字标志CWM或灵活以太FlexE对齐标志。
16.根据权利要求1至15任一项所述的方法,其特征在于,所述报文调度器接收第一指示信息,包括:
所述报文调度器接收所述PHY发送的所述第一指示信息,所述第一指示信息是所述PHY生成的,或者是所述网络设备的上一跳设备中的PHY发送给所述网络设备的所述PHY的。
17.根据权利要求1至16任一项所述的方法,其特征在于,
所述网络设备包括媒体访问组MAG芯片,所述MAG芯片包括所述报文调度器。
18.一种队列调度装置,其特征在于,应用于网络设备中的报文调度器,所述装置包括:
接收模块,用于接收第一指示信息,所述第一指示信息用于指示所述网络设备中的物理层PHY的数据传输周期的第一边界;
确定模块,用于根据所述第一指示信息确定队列调度周期,所述队列调度周期用于调度多个报文队列;
调度模块,用于根据所述队列调度周期调度所述多个报文队列。
19.根据权利要求18所述的装置,其特征在于,
所述接收模块,还用于在所述确定模块根据所述第一指示信息确定队列调度周期之前,接收所述PHY发送的通知消息,所述通知消息用于向所述报文调度器通知所述PHY的数据对齐状态处于锁定状态;
所述确定模块,还用于根据所述通知消息,确定所述PHY的数据对齐状态处于锁定状态。
20.根据权利要求18所述的装置,其特征在于,
所述接收模块,还用于在所述确定模块根据所述第一指示信息确定队列调度周期之前,接收第二指示信息和第三指示信息,所述第二指示信息用于指示所述PHY的数据传输周期的第二边界,所述第三指示信息用于指示所述PHY的数据传输周期的第三边界,所述第一边界、所述第二边界和所述第三边界是相邻的三个边界;
所述确定模块,还用于根据所述第一指示信息、所述第二指示信息和所述第三指示信息,确定所述PHY的数据对齐状态处于锁定状态。
21.根据权利要求20所述的装置,其特征在于,所述确定模块,用于:
根据所述第一指示信息、所述第二指示信息和所述第三指示信息,确定所述PHY的相邻两个数据传输周期;
确定所述相邻两个数据传输周期相等,确定所述PHY的数据对齐状态处于锁定状态。
22.根据权利要求18至21任一项所述的装置,其特征在于,
所述接收模块,还用于接收第四指示信息,所述第四指示信息用于指示所述PHY的数据传输周期的第四边界,所述第四边界与所述第一边界相邻;
所述确定模块,用于根据所述第一指示信息和所述第四指示信息确定所述队列调度周期。
23.根据权利要求22所述的装置,其特征在于,所述确定模块,用于:
根据所述第一指示信息和所述第四指示信息确定所述PHY的数据传输周期;
根据所述PHY的数据传输周期确定所述队列调度周期。
24.根据权利要求23所述的装置,其特征在于,
所述确定模块,用于根据所述PHY的数据传输周期和预设参数确定所述队列调度周期。
25.根据权利要求24所述的装置,其特征在于,
所述队列调度周期等于所述PHY的数据传输周期与所述预设参数之积。
26.根据权利要求18至25任一项所述的装置,其特征在于,
所述队列调度周期等于所述PHY的数据传输周期。
27.根据权利要求18至25任一项所述的装置,其特征在于,
所述PHY的数据传输周期为所述队列调度周期的整数倍。
28.根据权利要求18至27任一项所述的装置,其特征在于,
所述调度模块,用于根据所述第一指示信息和所述队列调度周期,调度所述多个报文队列。
29.根据权利要求18至28任一项所述的装置,其特征在于,
所述调度模块调度所述多个报文队列时的首个队列调度周期的起始边界与所述PHY的传输数据周期的一个边界对齐。
30.根据权利要求18至29任一项所述的装置,其特征在于,
所述接收模块,还用于接收第五指示信息,所述第五指示信息用于指示所述PHY的传输数据周期的一个边界;
所述确定模块,还用于确定所述第五指示信息指示的边界与所述队列调度周期的边界错开;
所述装置还包括:告警模块,用于发出告警。
31.根据权利要求18至30任一项所述的装置,其特征在于,
所述调度模块,用于执行以下至少一个:
根据所述队列调度周期对所述多个报文队列进行报文入队调度;
根据所述队列调度周期对所述多个报文队列进行报文出队调度。
32.根据权利要求18至31任一项所述的装置,其特征在于,
所述第一指示信息包括对齐标志AM、码字标志CWM或灵活以太FlexE对齐标志。
33.根据权利要求18至32任一项所述的装置,其特征在于,
所述接收模块,用于接收所述PHY发送的所述第一指示信息,所述第一指示信息是所述PHY生成的,或者是所述网络设备的上一跳设备中的PHY发送给所述网络设备的所述PHY的。
34.根据权利要求18至33任一项所述的装置,其特征在于,
所述网络设备包括媒体访问组MAG芯片,所述MAG芯片包括所述报文调度器。
35.一种芯片,其特征在于,包括如权利要求18至34任一项所述的队列调度装置。
36.根据权利要求35所述的芯片,其特征在于,所述芯片包括媒体访问组MAG芯片。
37.一种网络设备,其特征在于,包括如权利要求35或36所述的芯片。
38.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现如权利要求1至17任一项所述的队列调度方法。
39.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序或代码,所述程序或代码被执行时,实现如权利要求1至17任一项所述的队列调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211057634.1A CN117675719A (zh) | 2022-08-31 | 2022-08-31 | 队列调度方法及装置 |
PCT/CN2023/103188 WO2024045832A1 (zh) | 2022-08-31 | 2023-06-28 | 队列调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211057634.1A CN117675719A (zh) | 2022-08-31 | 2022-08-31 | 队列调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117675719A true CN117675719A (zh) | 2024-03-08 |
Family
ID=90077610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211057634.1A Pending CN117675719A (zh) | 2022-08-31 | 2022-08-31 | 队列调度方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117675719A (zh) |
WO (1) | WO2024045832A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10999099B2 (en) * | 2018-08-27 | 2021-05-04 | Nxp B.V. | Physical layer device and method for operating a physical layer device |
CN112583510A (zh) * | 2019-09-30 | 2021-03-30 | 华为技术有限公司 | 一种报文转发方法、设备及系统 |
CN114449586A (zh) * | 2020-11-06 | 2022-05-06 | 中国移动通信有限公司研究院 | 一种通信调度方法、装置和存储介质 |
CN113612700B (zh) * | 2021-08-12 | 2023-11-14 | 北京邮电大学 | 一种低时延零抖动的混合时间敏感流量调度方法及装置 |
-
2022
- 2022-08-31 CN CN202211057634.1A patent/CN117675719A/zh active Pending
-
2023
- 2023-06-28 WO PCT/CN2023/103188 patent/WO2024045832A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024045832A1 (zh) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4258611A2 (en) | Message sending method, network node and system | |
EP2684321B1 (en) | Data blocking system for networks | |
US20160182394A1 (en) | Method for Transmitting Data in a Communication Network of an Industrial Automation System and Coupling Communication Device | |
CN110870285B (zh) | 在具有部分实时需求的数据网络中高性能数据传输的方法和执行该方法的装置 | |
KR19990087752A (ko) | 효율적인 출력 요구 패킷 스위치와 방법 | |
CN112448896B (zh) | 确定性网络中的发送周期的确定方法和装置 | |
CN110545241A (zh) | 一种报文处理方法和装置 | |
CN107431665B (zh) | 网络节点处的流量管理方法和分组交换网络中的网络节点 | |
Park et al. | Design optimization of frame preemption in real-time switched Ethernet | |
US11316654B2 (en) | Communication device and method for operating a communication system for transmitting time critical data | |
KR20190084315A (ko) | 네트워크 장치 및 네트워크 장치의 전송 선택 방법 | |
JP5738324B2 (ja) | 送信装置、通信装置、通信システムおよび送信方法 | |
US8958297B1 (en) | Data network with “per flow” flow monitoring | |
CN113678414A (zh) | 用于tsn网络上的增强可调度性和吞吐量的交换设备、控制设备和对应方法 | |
US8792518B2 (en) | Automation system | |
US8964555B1 (en) | Data network with constrained switch transmission rates | |
TWI756666B (zh) | 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體 | |
US20210409510A1 (en) | Transmitter and Receiver, Serializer and Deserializer and Methods for Transmitting and Receiving, Serializing and Deserializing | |
WO2016132402A1 (ja) | 通信フレーム転送装置および通信システム | |
CN117675719A (zh) | 队列调度方法及装置 | |
US9641351B2 (en) | Jitter removal in deterministic networks | |
Hasnaoui et al. | An implementation of a proposed modification of CAN protocol on CAN fieldbus controller component for supporting a dynamic priority policy | |
JP4686740B2 (ja) | 電子装置、フレーム同期の方法、および移動体装置 | |
US20110026654A1 (en) | Network device of high-precision synchronization type, network system, and frame transfer method | |
US20080205567A1 (en) | Methods and Receives of Data Transmission Using Clock Domains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |