CN110647071A - 一种控制数据传输的方法、装置及存储介质 - Google Patents
一种控制数据传输的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110647071A CN110647071A CN201910838564.5A CN201910838564A CN110647071A CN 110647071 A CN110647071 A CN 110647071A CN 201910838564 A CN201910838564 A CN 201910838564A CN 110647071 A CN110647071 A CN 110647071A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- packet
- meta
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2458—Modification of priorities while in transit
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种控制数据传输的方法、装置及存储介质,其方法包括第一节点确定反馈触发条件、元信息和数据流标识,获取各待传输的数据包的报文头,根据数据流标识和获取的各报文头,从待传输的数据包中确定对应同一出端口的第一数据包;根据元信息获取第一数据包对应的元信息值;确定满足反馈触发条件时,将第一数据包对应的元信息值及第一数据包的报文头,封装为第二数据包,向第二节点发送第二数据包;第二数据包用于使第二节点降低第一数据包对应的至少一个数据流的传输速率,或向第三节点发送降低第一数据包对应的至少一个数据流的传输速率的指示信息。如此,可提前预防拥塞的发生,减小数据包的转发时延。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种控制数据传输的方法、装置及存储介质。
背景技术
随着汽车电子化的快速发展,车载以太网中的车载传感器数量越来越多,采集的数据也越来越多。目前,高级驾驶辅助系统(advanced driving assistant system,ADAS)中,可以实现处理大量的数据,但是ADAS中的电子控制单元(elecmal control unit,ECU)对数据处理的实时性要求较高。因此,如何保证车载以太网的低时延要求成为关注点。
现有技术中,通常采用音视频桥接协议(audio video bridge,AVB)流量调度机制或时间敏感网络(time sensitive network,TSN)流量调度机制,来保证车载以太网的低时延需求。其中,AVB流量调度机制是基于802.1Qav协议的,具体是指:交换芯片为AVB帧(AVB数据包)分配较高的优先级,为普通帧分配一般的优先级,利用令牌整形(credited basedshaper,CBS)调度算法对这两种类型的数据包区分调度,通过区分调度,在流量突发时,以降低AVB帧的时延。TSN流量调度机制是基于802.1Qbv协议,具体是指:交换芯片通过定义每个队列在每个时间片的开关状态,控制数据包是否发送。通过给高优先级的数据包安排合理的时序,配合帧抢占调度,以使高优先级数据包尽可能被优先调度。
然而,AVB流量调度机制是基于数据包的优先级调度,数据包可能已经发生了拥塞,不能提前预防拥塞,可能会造成数据包转发时延比较大。TSN流量调度机制中,发生帧抢占,说明也可能已经发生的拥塞,数据包的转发时延已经变大。因此,目前车载以太网中的节点转发数据包时,仍然可能存在较大的时延问题。
发明内容
本申请提供一种控制数据传输的方法、装置及存储介质,用于降低数据包的转发时延。
第一方面,本申请提供一种控制数据传输的方法,该方法包括第一节点获取反馈触发条件、元信息和数据流标识,获取待传输的数据包的报文头;根据数据流标识和获取的各报文头,从待传输的数据包中确定对应同一出端口的第一数据包;根据元信息获取第一数据包对应的元信息值;在确定满足反馈触发条件时,将第一数据包对应的元信息值及第一数据包的报文头,封装为第二数据包,向第二节点发送第二数据包。其中,第二数据包用于使第二节点降低第一数据包对应的数据流中的至少一个数据流的传输速率,或向第三节点发送指示信息,指示信息用于指示第三节点降低第一数据包对应的数据流中的至少一个数据流的传输速率。
基于该方案,第一节点可按需将对应同一出端口第一数据包对应的元信息值及报文头以封装为第二数据包,并发送给第二节点,由第二节点根据第二数据包确定是否有需要进行降速处理的数据流,若有需要降速的数据流,第二节点会通知源端(如第一节点或第三节点)对需要降速的数据流进行降速处理。如此,可提前预防拥塞的发生,从而有助于减小数据包的转发时延。进一步,还有助于降低出端口的丢包率。特别是对多个入端口对应单一出端口流量突发场景,可保证高优先级的数据包及时得到转发。
在一种可能的实现方式中,第一节点可将一个第一数据包对应的元信息值及第一数据包的报文头,封装为一个第二数据包。在另一种可能的实现方式中,第一节点可将多个第一数据包分别对应的元信息值及对应的报文头,封装为一个第二数据包。
本申请中,具体可以是:第一节点将第一数据包对应的元信息值添加于第一数据包的报文头之前,在第一数据包对应的元信息值之前添加新的报文头,得到第二数据包,其中,新的报文头中的目的地址为第二节点的地址。也就是说,第二数据包的格式为:新的报文头+第一数据包对应的元信息值+第一数据包的报文头。如此,第一节点通过新的报文头可确定该第二数据包需要发送至第二节点。进一步,可根据元信息值确定是否需要进行降速处理。再进一步,可根据第一数据包的报文头,确定出该第一数据包对应哪个数据流,即确定出需要进行降速的处理的数据流。
为了实现第二数据包被及时转发至第二节点,以便于第二节点及时确定是否可能会拥塞,第一节点可将第二数据包的优先级修改为大于优先级阈值。例如,可将第二数据包的优先级修改为7。
本申请中,元信息包括节点标识、入端口标识、出端口标识、队列标识、数据包的转发时延、单包最大容忍时延、数据包对应的数据流标识和数据包对应的数据类型中的至少一种,其中,数据类型包括控制面数据、管理面数据和数据面数据。
进一步,可选地,元信息还可包括队列深度、队列的出口带宽的利用率、流占用队列深度和用户自定义信息等。
在一种可能的实现方式中,反馈触发条件包括第一数据包的转发时延大于单包最大容忍时延、接收到的第一数据包的数量大于预设数量、每次接收到一个第一数据包、队列深度大于预设的队列深度、队列的出口带宽的利用率大于预设的带宽利用率中的任一项或任多项,其中,队列深度为队列中全部数据包占用的缓存与队列的总缓存之比。
在一种可能的实现方式中,第一节点可根据以下三种实现方式中的任一种,确定是否满足反馈触发条件。
实现方式一,第一节点可根据第一数据包对应的元信息值,确定是否满足反馈触发条件。例如,第一节点确定第一数据包对应的元信息值中的转发时延大于单包最大容忍时延时,确定满足反馈触发条件。再比如,第一节点确定第一数据包对应的元信息值中的队列深度大于预设的队列深度时,确定满足反馈触发条件。再比如,第一节点确定第一数据包对应的元信息值中的队列的出口带宽的利用率大于预设的带宽利用率时,确定满足反馈触发条件。
实现方式二,第一节点可根据对第一数据包的统计信息,确定是否满足反馈触发条件。例如,第一节点可统计预设时长内接收到的第一数据包的数量,当该数量大于预设数量时,确定满足反馈触发条件。
实现方式三,每次接收到第一数据包,即确定满足反馈触发条件。
在一种可能的实现方式中,待传输的数据包可能来自第三节点和/或第二节点。
在一种可能的实现方式中,第一节点可接收来自第二节点配置的元信息、数据流标识和反馈触发条件。
在另一种可能的实现方式中,第一节点可按系统默认的设置确定元信息、数据流标识和反馈触发条件。
在又一种可能的实现方式中,第一节点可按系统默认的设置确定元信息,接收来自第二节点配置的数据流标识和反馈触发条件;或者第一节点可按系统默认的设置确定反馈触发条件,接收来自第二节点配置的数据流标识和元信息;或者第一节点可按系统默认的设置确定数据流标识,接收来自第二节点配置的反馈触发条件和元信息;或者第一节点可按系统默认的设置确定元信息和反馈触发条件,接收来自第二节点配置的数据流标识;或者第一节点可按系统默认的设置确定数据流标识和反馈触发条件,接收来自第二节点配置的元信息;或者第一节点可按系统默认的设置确定数据流标识和元信息,接收来自第二节点配置的反馈触发条件。
第二方面,本申请提供一种控制数据传输的方法,该方法包括第二节点接收来自第一节点的M个第二数据包,根据M个第二数据包以及降速条件,确定目标数据流,根据降速方式降低目标数据流的传输速率,或向第三节点发送指示信息,指示信息用于指示第三节点根据降速方式降低目标数据流的传输速率。其中,目标数据流为M个第二数据包对应的数据流中的至少一个,第二数据包是第一节点在确定满足反馈触发条件时向第二节点发送的,第二数据包携带有第一数据包的报文头和第一数据包括对应的元信息值,第一数据包为第一节点根据数据流标识,从各待传输的数据包中确定的,M为大于或等于1的整数。
基于该方案,第二节点可接收到第一节点按需发送的第二数据包,由于第二数据包中携带有第一数据包的报文头和第一数据包括对应的元信息值,因此,第二节点可根据第二数据包携带的第一数据包的报文头和第一数据包括对应的元信息值,确定是否有需要进行降速处理的数据流,若确定有需要降速的数据流,第二节点会通知源端(如第一节点或第三节点)对需要降速的数据流进行降速处理。如此,可提前预防拥塞的发生,从而有助于减小数据包的转发时延。进一步,还有助于降低出端口的丢包率。特别是对多个入端口对应单一出端口流量突发场景,可保证高优先级的数据包及时得到转发。
在一种可能的实现方式中,第二节点可向第一节点发送配置的反馈触发条件、元信息和数据流标识。
本申请中,元信息包括节点标识、入端口标识、出端口标识、队列标识、数据包的转发时延、单包最大容忍时延、数据包对应的数据流标识和数据包对应的数据类型中的至少一种,其中,数据类型包括控制面数据、管理面数据和数据面数据。
在一种可能的实现方式中,控制面数据、管理面数据和数据面数据三者优先级关系为:的对应的数据流被确定为目标数据流的顺序为:控制面数据>管理面数据>数据面数据。如此,会优先降低数据面的数据流的传输速率,从而可确定控制面的重要数据能及时转发,进而有助于确保车载大脑的关键控制面信息得到及时处理。
进一步,可选地,元信息还可包括队列深度和第一数据包对应的数据流占用队列深度。
在一种可能的实现方式中,降速条件可包括第一条件、第二条件和第三条件中的任一项。第一条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的转发时延的平均值大于第一预设值,k为小于或等于M的整数。第二条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的数据流占用队列深度的平均值大于第二预设值。第三条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的队列深度的平均值大于第三预设值。
在一种可能的实现方式中,第一节点可根据第二数据包中携带的第一数据包的报文头,确定M个第二数据包中哪些第二数据包对应同一个数据流。基于确定出的M个第二数据包与数据流之间的对应关系,可分如下两种情形详细介绍确定目标数据流的实现过程。
情形1,M个第二数据包对应一个数据流。
基于该情形1,第二节点若确定M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值大于第一预设值,则将M个第二数据包对应的数据流确定为目标数据流;或者,第二节点若确定M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值大于第二预设值,则将M个第二数据包对应的数据流确定为目标数据流;或者,第二节点若确定M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值大于第三预设值,则将M个第二数据包对应的数据流确定为目标数据流。
情形2,M个第二数据包对应多个数据流且k为小于M的整数。
该情形2中,每个数据流包括至少k个第二数据包。
基于该情形2,第二节点确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值,将转发时延的平均值大于第一预设值且优先级最低的数据流,确定为目标数据流;或者,第二节点确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值,将数据流占用队列深度的平均值大于第二预设值且优先级最低的数据流,确定为目标数据流;或者,第二节点确定每条数据流中k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值,将队列深度的平均值大于第三预设值且优先级最低的数据流,确定为目标数据流。
在一种可能的实现方式中,降速方式包括若目标数据流是基于第一条件确定的,则将目标数据流的传输速率降低第一百分比;或者,若目标数据流是基于第二条件确定的,则将目标数据流的传输速率降低第二百分比;或者,若目标数据流是基于第三条件确定的,则将目标数据流的传输速率降低第三百分比。
第三方面,本申请实施例提供一种装置,该装置包括处理器和通信接口。可选地,还包括存储器。当其包括存储器时,存储器用于存储指令;处理器用于根据执行存储器存储的指令,当处理器执行存储器存储的指令时,装置用于执行上述第一方面或第一方面中任一种方法,或者用于执行上述第二方面或第二方面中任一种方法。
第四方面,本申请实施例提供一种装置,用于实现上述第一方面或第一方面中的任意一种方法,或者用于实现上述第二方面或第二方面中的任意一种方法,包括相应的功能模块,分别用于实现以上方法中的步骤。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
在一种可能的实施方式中,装置的结构中包括处理单元和收发单元。可选地,还包括存储单元,这些单元可以执行上述方法示例中相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第五方面,本申请提供一种系统,该系统包括第一节点和第二节点。其中,第一节点可以用于执行上述第一方面或第一方面中的任意一种方法,第二节点可以用于执行上述第二方面或第二方面中的任意一种方法。
第六方面,本申请实施例提供一种计算机存储介质,计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法,或者使得计算机执行第二方面或第二方面的任意可能的实现方式中的方法。
第七方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法,或者使得计算机执行第二方面或第二方面的任意可能的实现方式中的方法。
附图说明
图1a为本申请提供的一种MDC系统架构示意图;
图1b为本申请提供的一种MDC-AB系统架构示意图;
图1c为本申请提供的一种MDC-ABC系统架构示意图;
图2为本申请提供的一种数据传输控制方法流程示意图;
图3a为本申请提供的一种bitmap形式的元信息的结构示意图;
图3b为本申请提供的另一种bitmap形式的元信息的结构示意图;
图4为本申请提供的一种LSW的结构示意图;
图5为本申请提供的另一种数据传输控制方法流程示意图;
图6为本申请提供的一种装置的结构示意图;
图7为本申请提供的一种装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
应理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列模块或单元。系统、产品或设备不必限于清楚地列出的那些模块或单元,而是可包括没有清楚地列出的或对于这些系统、模块或单元固有的其它模块或单元。
如下,为本申请提供了如下三种可能适用的车载以太网场景。
场景一,车载以太网系统为单移动数据中心(mobile data center,MDC)系统。
如图1a所示,为本申请提供的一种MDC系统架构示意图。该MDC系统可以包括传感器、以太交换(local area network switch,LSW)芯片、芯片,微控制单元(microcontroller unit,MCU)。示例性地,图1a以包括传感器1至传感器6、LSW、芯片和MCU为例,其中,每个传感器可通过LSW的一个端口与LSW连接,芯片可通过LSW的一个端口与LSW连接,一个MCU也可通过LSW的一个端口与LSW连接。
传感器(例如图1a所示的传感器1至传感器6),例如可以是ADAS系统外接的各种传感器、激光雷达(light detection and ranging,LiDAR)或摄像头等。传感器可发送或者接收数据流,每个传感器可发送或接收任意数量的数据流。图1a是为了便于方案的说明,以传感器发送一个数据流示例性的说明。
LSW,可支持多个千兆以太网(gigabit ethernet,GE)端口或万兆以太网(ten-gigabit ethernet,XGE)端口,通过GE端口或XGE端口可实现与传感器、MCU、LSW和芯片之间的互联。主要用于对数据进行交换转发。进一步,可选地,在本申请中,基于数据流的流向,数据流流入LSW所经过的端口可称为入端口,从LSW流出所记进过的端口可称为出端口。如图1a中,与传感器和MCU连接的端口可称为入端口,即传感器和MCU的数据流会流入LSW;LSW中与芯片连接的端口可称为出端口,即LSW的数据流会流入芯片。也就是说,该场景一中,多个入端口对应一个出端口。即同一出端口可能有较多的数据流通过。
芯片,例如人工智能(artificial intelligence,AI)芯片,也被称为AI加速器或计算卡,AI芯片可用于处理大量计算任务。例如,获取数据包携带的信息,根据数据包中的信息进行相关的运算。AI芯片例如包括图形处理器(graphics processing unit,GPU)、信号数据处理(digital signal processing,DSP)电路、现场可编程门阵列(fieldprogrammable gate array,FPGA)、专门应用的集成电路(application specificintegrated circuit,ASIC)、或者其他可编程逻辑器件。
MCU,又称单片微型计算机(single chip microcomputer)或者单片机,将内存(memory)、计数器(Timer)、等周边接口都整合在单一芯片上,形成芯片级的计算机。MCU可以可发送或接收任意数量的数据流。图1a是为了便于方案的说明,以MCU发送一个数据流示例性的说明。
场景二,车载以太网系统为MDC-AB系统。
也可以理解为,MDC-AB系统是由两个单MDC系统组成的系统。如图1b所示,为本申请提供的一种MDC-AB系统架构示意图。该MDC-AB系统可包括MDC-A系统和MDC-B系统,MDC-A系统和MDC-B系统之间可通过A/B系统互联端口连接。MDC-A系统和MDC-B系统包括的结构可以相同也可以不同,本申请对此不做限定。图1b以MDC-A系统和MDC-B系统相同为例,MDC-A系统和MDC-B系统均可参见上述图1a的介绍,此处不再赘述。
在该场景二中,MDC-A系统可通过A/B系统互联端口向MDC-B系统发送数据流,也可通过A/B系统互联端口接收来自MDC-B系统的数据流。若MDC-A系统通过A/B系统互联端口向MDC-B系统发送数据流时,MDC-A系统作为MDC-B系统的源端,若MDC-A系统接收来自MDC-B系统的数据流时,MDC-B系统作为MDC-A系统的源端。
场景三,车载以太网系统为MDC-ABC系统。
也可以理解为,MDC-ABC系统是由三个单MDC系统组成的系统。如图1c所示,为本申请提供的一种MDC-ABC系统架构示意图。该MDC-ABC系统可包括MDC-A系统、MDC-B系统和MDC-C系统。MDC-A系统、MDC-B系统和MDC-C系统之间可通过各系统中的A/B/C系统互联端口与外接的以太交换芯片(例如车载以太交换芯片)连接,以实现MDC-A系统、MDC-B系统和MDC-C系统之间的连接。其中,外界的以太交换芯片可提供多个端口。MDC-A系统、MDC-B系统和MDC-C系统分别可参见上述图1a的介绍,此处不再赘述。
在该场景三中,MDC-A系统和MDC-C系统均可通过各自的A/B/C系统互联端口与外接的以太交换芯片向MDC-B系统发送数据流,也可通过A/B/C系统互联端口与外接的以太交换芯片来接收来自MDC-B系统的数据流。若MDC-A系统和MDC-C系统均通过A/B/C系统互联端口与外接的以太交换芯片向MDC-B系统发送数据流时,MDC-A系统和MDC-C系统均作为MDC-B系统的源端。
需要说明的是,上述三种场景中数据流通过出端口均流入芯片,本申请中的出端还可以是LSW流向其它设备的端口,出端口不限于流向芯片的端口。另外,本申请中,芯片也可以向LSW传输数据流,即芯片也可作为源端。
应理解,如上只是举例,本申请提供的方法还可以应用在多种场景下,而不限于如上的三种场景。
基于上述内容,LSW中用于存储数据流的缓存空间较小,通常为1Mbit。如果LSW中存储的数据流不能得到及时调度,较容易出现拥塞。而且,LSW转发数据包的时延可能由于拥塞而急剧增加,甚至会在LSW的出端口方向发生丢包。特别是,在多个MDC互联扩展场景(如场景二和场景三)中,较容易出现大量突发流量,即多个数据流从多个端口流入,从一个端口流出,在该多个MDC互联扩展场景中,发生大量数据流突发时,更容易出现拥塞。
鉴于上述问题,本申请提供了一种控制数据传输的方法,可通过提前预防数据流发生拥塞,以实现数据包被及时转发,从而有助于减小数据包的转发时延。
下述结合附图2至附图5,对本申请提出的数据传输控制方法进行详细阐述。
图2示例性示出了本申请提供的一种数据传输控制方法流程示意图。在下文的介绍过程中,该方法可应用于场景一、场景二或者场景三中。该方法可由三类节点执行,这三类个节点例如为第一节点、第二节点和第三节点。当该方法应用于上述场景一时,第一节点可为LSW,第二节点可为芯片,第三节点可为传感器和MCU。当该方法应用于上述场景二时,在MDC-A系统和MDC-B系统的每个MDC系统中可分别执行该方法。也就是说,MDC-A系统中,第一节点可为MDC-A系统中的LSW,第二节点可MDC-A系统中为芯片,第三节点可为MDC-A系统中传感器、MCU以及MDC-B系统。MDC-B系统中,第一节点可为MDC-B系统中的LSW,第二节点可MDC-B系统中为芯片,第三节点可为MDC-B系统中传感器和MCU。当该方法应用于上述场景三时,可在MDC-A系统、MDC-B系统和MDC-C系统的每个MDC系统中分别执行该方法。其中,在MDC-A系统中,第一节点可为MDC-A系统中的LSW,第二节点可MDC-A系统中为芯片,第三节点可为MDC-A系统中传感器、MCU、MDC-B系统和MDC-C系统。在MDC-B系统中,第一节点可为MDC-B系统中的LSW,第二节点可MDC-B系统中为芯片,第三节点可为MDC-B系统中传感器、MCU、MDC-A系统和MDC-C系统。在MDC-C系统中,第一节点可为MDC-C系统中的LSW,第二节点可MDC-C系统中为芯片,第三节点可为MDC-C系统中传感器、MCU、MDC-B系统和MDC-A系统。如图2所示,该方法包括以下步骤。
步骤201,第一节点确定元信息、数据流标识和反馈触发条件。
在一种可能的实现方式中,第二节点可向第一节点发送配置的元信息、数据流标识和反馈触发条件。相应地,第一节点接收来自第二节点配置的元信息、数据流标识和反馈触发条件。
在另一种可能的实现方式中,第一节点可按系统默认的设置确定元信息、数据流标识和反馈触发条件。
在又一种可能的实现方式中,第一节点可按系统默认的设置确定元信息,接收来自第二节点配置的数据流标识和反馈触发条件;或者第一节点可按系统默认的设置确定反馈触发条件,接收来自第二节点配置的数据流标识和元信息;或者第一节点可按系统默认的设置确定数据流标识,接收来自第二节点配置的反馈触发条件和元信息;或者第一节点可按系统默认的设置确定元信息和反馈触发条件,接收来自第二节点配置的数据流标识;或者第一节点可按系统默认的设置确定数据流标识和反馈触发条件,接收来自第二节点配置的元信息;或者第一节点可按系统默认的设置确定数据流标识和元信息,接收来自第二节点配置的反馈触发条件。
如下,分别详细介绍元信息、数据流标识和反馈触发条件。
元信息可包括节点标识(node id)、入端口标识(iport id)、出端口标识(eportid)、队列标识(queue id)、数据包的转发时延(forward latency)、单包最大容忍时延(flow max latency)、数据包对应的数据流标识(flow id)和数据包对应的数据类型(flowinfo type)中的至少一种,数据类型包括控制面数据、管理面数据和数据面数据。其中,节点标识是指传输(或转发)数据包的第一节点标识,例如LSW标识。节点标识用于第二节点确定数据流来自哪个第一节点。入端口标识是指数据包流入第一节点时所经过的端口标识。出端口标识是指数据包从第一节点流出时所经过的端口标识。队列是指使用一个队列算法对接收到的数据流进行分类,之后再基于队列调度机制将队列中的数据流发送出去,不同的数据流可能对应不同的队列。队列深度是指队列中全部数据包占用的缓存与该队列的总缓存之比。示例性地,假设第一节点的某端口的一个队列A分配的缓存单元的总个数N=1000,该缓存队列A中的所有数据包所占用的缓存单元的个数为360个,则该第一节点的队列A的深度为360/1000=36%。队列的出口带宽的利用率是指某一队列的出口数据包占用的带宽与该出口总带宽的比值。例如,队列1的出口数据包所占的带宽为1G,出口总带宽为10G,则该队列1的的出口带宽利用率=1G/10G=10%。数据包的转发时延是指需转发的数据包的最后一比特进到第一节点的入端口,到该数据包第一比特出现在出端口上的时间间隔。数据流占用队列深度是指某一数据流的在队列中占用的长度。例如,队列深度为10K,数据流1的长度为1K,即数据流1占有队列深度为1K。数据流标识可以唯一的标识一条数据流。示例性地,数据流标识可为五元组、三元组、或者可以唯一识别出数据流的其他标识。其中,五元组通常是指源网络协议(internet protocol,IP)地址,源端口,目的IP地址,目的端口和传输层协议。源IP地址,源端口,目的IP地址,目的端口,和传输层协议这五个量组成的一个集合。例如:192.168.1.1 10000TCP 121.14.88.76 80就构成了一个五元组。其意义是,一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行连接。数据流标识用于第二节点确定是一数据包属于哪个数据流。用户自定义的信息例如车控关键数据,心跳消息等。数据包对应的数据类型用于第二节点确定数据包的优先级。
如表1所示,为本申请提供的一种定义的元(metainfo)信息。其中,Y表示必选项,N表示可选项。
表1一种定义的元信息
需要说明的是,上述表1中的元信息中的可选项(如队列深度、队列的出口带宽的利用率、数据流占用队列深度、用户自定义信息)可以由用户选择是否进行配置,或者也可以按系统默认项进行配置。例如,系统可默认可选项中需配置队列深度、队列的出口带宽的利用率、数据流占用队列深度。
在一种可能的实现方式中,上述表1中的元信息可以是LSW定义的,元信息的哪些可选项需要配置可以按系统默认的,也可以是用户在第二节点上配置的,本申请对此不做限定。元信息中的可选项可以以bitmap的形式发送至第一节点。示例性地,如图3a所示,为本申请提供的一种bitmap形式的元信息的结构示意图。该元信息的结构长度可以是固定的,例如可以为16bit,除用户自定义信息外的其它各个选项(Item)对应一个bit,可以用1表示添加,0表示不添加,用户自定义信息可以对应5个bit。应理解,对于元信息中的必选项,对应的bitmap中的bit位为1。需要说明的是,本申请中元信息的结构也可能是其它bit数。另外,也可以用其它标识来表示添加和不添加,本申请对此不做限定。例如,元信息中的可选项包括队列深度、数据流占用队列深度,则该bitmap形式的元信息的结构如图3b所示。
需要说明的是,可为整个第一节点配置一个元信息,也可以为每条数据流配置一个元信息或者也可为每个队列配置一个元信息,本申请对此不做限定。为了有助于提高第一节点的处理效率,可以为整个第一节点配置一个元信息。
进一步地,在一种可能的实现方式中,用户可在第二节点上配置数据流标识。该数据流标识对应的数据流即为第一节点需要监控的数据流。例如,第一节点可获取该数据流标识对应的数据流中各数据包的元信息等。
进一步地,在一种可能的实现方式中,用户还可在第二节点上配置反馈触发条件。如下,基于两种情形,示例性地给出了可能的反馈触发条件。
情形1,基于数据流的反馈触发条件,具体可包括以下三种反馈触发条件。
反馈触发条件1,数据包的转发时延大于单包最大容忍时延。其中,单包最大容忍时延可为3us。
反馈触发条件2,接收到的数据包的数量大于预设数量。
反馈触发条件3,每接收到一个数据包(该反馈触发条件3可以是系统默认的)。
情形2,基于队列的反馈触发条件。
反馈触发条件4,队列深度大于预设的队列深度。
反馈触发条件5,队列的出口带宽的利用率大于预设的带宽利用率。
需要说明的是,本申请中,反馈触发条件也可以是上述反馈触发条件1和反馈触发条件2的组合,或者可以是上述反馈触发条件4与反馈触发条件5的组合,或者可以是上述反馈触发条件1和反馈触发条件4的组合,或者可以是上述反馈触发条件1和反馈触发条件5的组合,或者可以是上述反馈触发条件2和反馈触发条件4的组合,或者可以是上述反馈触发条件2和反馈触发条件5的组合,或者也可以是上述反馈触发条件1、反馈触发条件2和反馈触发条件4的组合,或者也可以是反馈触发条件1、反馈触发条件2和反馈触发条件5的组合,或者可以是上述反馈触发条件2、反馈触发条件4和反馈触发条件5的组合,或者是上述反馈触发条件1、反馈触发条件2、反馈触发条件4和反馈触发条件5的组合。
应理解,上述步骤201中,第二节点可以将反馈触发条件、元信息和数据流标识一起向第一节点发送;或者第二节点也可将反馈触发条件、元信息和数据流标识分别单独向第一节点发送;或者,第二节点可将其中任两个一起发送至第一节点,另一个单独发送至第一节点。
步骤202,第一节点获取待传输的数据包的报文头。
此处,第一节点中待传输的数据包可以来自第三节点和/或第二节点。
结合上述场景一,若第一节点为LSW,第三节点可为传感器1至传感器6中的任一个或任多个;和/或,微控制单元。第二节点可为芯片。基于该场景一,第一节点中待传输的数据包可以来自传感器1至传感器6任一个或任多个;和/或,微控制单元;和/或,芯片。
结合上述场景二,若第一节点为MDC-A系统中的LSW,第三节点可为MDC-A系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-A系统中的微控制单元;和/或,MDC-B系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-B系统中的微控制单元;和/或,MDC-B系统中的芯片。第二节点可为MDC-A系统中的芯片。基于该场景二,第一节点中待传输的数据包可以来自MDC-A系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-A中的微控制单元;和/或,MDC-A系统中的芯片;和/或,MDC-B系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-B系统中的微控制单元;和/或,MDC-B系统中的芯片。应理解,第一节点也可为MDC-B系统中的LSW,对应的第三节点和第二节点可参见上述以第一节点为MDC-A中的LSW为例的介绍,此处不再一一赘述。
结合上述场景三,若第一节点可为MDC-B系统中的LSW,第三节点可为MDC-B系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-B系统中的微控制单元;和/或,MDC-A系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-A系统中的微控制单元;和/或,MDC-A系统中的芯片;和/或,MDC-C系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-C系统中的微控制单元;和/或,MDC-C系统中的芯片。第二节点为MDC-B系统中的芯片。基于该场景三,第一节点中待传输的数据包可以来自MDC-B系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-B系统中的微控制单元;和/或,MDC-B系统中的芯片;和/或,MDC-A系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-A系统中的微控制单元;和/或,MDC-A系统中的芯片;和/或,MDC-C系统中的传感器1至传感器6中的任一个或任多个;和/或,MDC-C中的微控制单元;和/或,MDC-C中的芯片。应理解,第一节点也可为MDC-A系统中的LSW,或者也可以为MDC-C系统中的LSW,对应的第二节点和第三节点可参见上述以第一节点为MDC-B系统中的LSW为例的介绍,此处均不再一一赘述。
在一种可能的实现方式中,第一节点可根据预设的采集数据包的报文头的周期(或频率),获取各待传输的数据包的报文头。其中,采集数据包的报文头的周期(或频率)可按用户设定的周期或者也可以按系统默认的周期。通常,系统默认的周期为每个数据包均获取。进一步可选地,采集数据包的报文头的长度也可以按用户设定的长度或者也系统默认的长度。通常,系统默认的长度为64字节。数据包的报文头中包括源IP地址、目的IP地址、源端口、目的端口、协议类型。
步骤203,第一节点可根据数据流标识和获取的各报文头,从待传输的数据包中确定对应同一出端口的第一数据包。
此处,数据流标识以五元组为例,五元组通常是指源IP地址,目的IP地址,源端口,目的端口和传输层协议。由于报文头中也包括源IP地址、目的IP地址、源端口、目的端口,因此,可通过获取到的报文头与五元组匹配,从而可确定出需要监控的数据包(即需要获取元信息的数据包)。进一步,可根据确定出的需要监控的数据包的报文头中的目的IP地址,通过查询目的IP地址与出端口之间的映射关系表,可从需要监控的数据包中确定出对应同一出端口的第一数据包。应理解,确定出的第一数据包可能为多个。
结合上述场景一,Flow1至Flow5对应的数据包均对应第一节点的同一出端口。结合上述场景二,Flow1至Flow6对应的数据包均对应第一节点的同一出端口。结合上述场景三,Flow1至Flow4的对应的数据包均对应第一节点的同一出端口。
步骤204,第一节点可根据元信息获取第一数据包对应的元信息值。
其中,第一节点可针对多个第一数据包中的每个第一数据包,根据元信息分别获取每个第一数据包对应的元信息值。
示例性地,若元信息包括队列深度、队列的出口带宽的利用率、第一数据包所属数据流占用队列深度、节点标识、入端口标识、出端口标识、队列标识、数据包的转发时延、单包最大容忍时延、数据包对应的数据流标识和数据包对应的数据类型,则第一节点需针对每个第一数据包,获取每个第一数据包对应的该元信息的元信息值。如下,给出获取第一数据包对应的元信息值的可能的方式。
例如,第一数据包的转发时延,第一数据包的最后一比特进入第一节点的端口时,第一节点记录第一时刻,第一数据包的第一比特以比特出现在第一节点的出端口时,第一节点记录第二时刻,第一数据包的转发时延=第二时刻与第一时刻之差。再比如,第一数据包对应的数据流标识,第一节点可根据第一数据包的报文头确定第一数据包对应的数据流。再比如,第一数据包对应的队列深度,第一节点可确定第一数据包所对应的数据流所在的队列的队列深度。再比如,第一数据包对应的队列的出口带宽的利用率,第一节点可确定第一数据包所对应的数据流所在的队列,并确定该队列中出口的数据包所占的带宽,确定该带宽与出口总带宽的比值。再比如,第一数据包对应的数据流占用队列深度,第一节点可确定第一数据包对应的数据流的长度。再比如,第一数据包对应的数据类型,第一节点可根据协议层头部后自定义的字段,确定第一数据包对应的数据类型。
步骤205,第一节点确定满足反馈触发条件时,将第一数据包对应的元信息值及第一数据包的报文头,封装为第二数据包,向第二节点发送第二数据包。相应地,第二节点接收来自第一节点的第二数据包。
本申请中,可基于上述情形1和情形2中的反馈触发条件,提供如下三种确定是否满足反馈触发条件的实现方式。
实现方式一,第一节点根据第一数据包对应的元信息值。
在该实现方式一中,当反馈触发条件为上述反馈触发条件1、反馈触发条件4、反馈触发条件5中任一个或任多个时,第一节点可根据第一数据包对应的元信息值,确定是否满足反馈触发条件。例如,反馈触发条件为上述反馈触发条件1,第一节点确定第一数据包对应的元信息值中的转发时延大于单包最大容忍时延时,确定满足反馈触发条件。再比如,反馈触发条件为上述反馈触发条件4,第一节点确定第一数据包对应的元信息值中的队列深度大于预设的队列深度时,确定满足反馈触发条件。再比如,反馈触发条件为上述反馈触发条件9,第一节点确定第一数据包对应的元信息值中的队列的出口带宽的利用率大于预设的带宽利用率时,确定满足反馈触发条件。
实现方式二,第一节点根据对第一数据包的统计信息。
在该实现方式二中,当反馈触发条件为上述反馈触发条件2时,第一节点可统计预设时长内接收到的第一数据包的数量,当该数量大于预设数量时,确定满足反馈触发条件。
实现方式三,每次接收到第一数据包,即确定满足反馈触发条件。
在该实现方式三中,当反馈触发条件为上述反馈触发条件3时,第一每收到一个第一数据包,即确定为满足反馈触发条件。需要说明的是,该反馈触发条件可以是系统默认的。
本申请中,第一节点确定满足反馈触发条件后,可将第一数据包对应的元信息值及第一数据包的报文头,封装为第二数据包。如下给出了两种可能的封装为第二数据包方式。
方式一,将一个第一数据包对应的元信息值及该第一数据包的报文头,封装为一个第二数据包。
在一种可能的实现方式中,第一节点可将该第一数据包对应的元信息值添加于该第一数据包的报文头之前,在该第一数据包对应的元信息值之前添加新的报文头,得到第二数据包,其中,新的报文头中的目的地址为第二节点的地址。示例性地,第二数据包的格式可为OuterL3+UDP/TCP/Others+metainfo Header+Inner L2+Inner L3+Inner L4。其中,Inner L2+Inner L3+Inner L4为获取的第一数据包的报文头,UDP和TCP是传输层协议报文头部,Others是其它协议类型的报文头,OuterL3为添加的新的报文头,即第二节点的IP地址设置于OuterL3。如此,第一节点通过新的报文头可确定该第二数据包需要发送至第二节点。进一步,可根据元信息值确定是否需要进行降速处理。再进一步,可根据第一数据包的报文头,确定出该第一数据包对应哪个数据流,即确定出需要进行降速的处理的数据流。
方式二,将多个第一数据包分别对应的元信息值及报文头,封装为一个第二数据包。
例如,多个第一数据包以第一数据包A和第一数据包B为例,可将第一数据包A对应的元信息值A和报文头A,以及第一数据包B对应的元信息值B和报文头B,封装为一个第二数据包。具体地,第一节点可将第一数据包A对应的元信息值A添加于报文头A之前,第一数据包B对应的元信息值B添加于报文头B之前,元信息值A、报文头A、元信息值B、报文头B可共用一个新的报文头,该新的报文头中的目的地址为第二节点的地址。示例性地,第二数据包的格式为OuterL3+UDP/TCP/Others+(metainfo A Header+Inner L2+Inner L3+Inner L4)+(metainfo B Header+Inner L2+Inner L3+Inner L4)。
为了使得第二数据包及时发送至第二节点,第一节点可将第二数据包的优先级修改为大于优先级阈值。例如,可以将第二数据包的优先级修改为7。
需要说明的是,在步骤203之后,步骤204之前,第一节点还可将第一数据包的报文头复制(例如镜像复制)到第一数据包对应的出端口,以便于第一节点基于获取的报文头执行后续步骤,而且可以不有影响原第一数据包的正常转发。
步骤206,第二节点接收来自第一节点的M个第二数据包,M为大于或等于1的整数。
此处,第二数据包携带有第一数据包的报文头和第一数据包括对应的元信息值。基于上述方式一,M为大于1的整数。也就是说,第二节点在采样周期内,可接收到来自第一节点的多个第二数据包,每个第二数据包中携带一个第一数据包的报文头和该第一数据包对应的元信息值。基于上述方式二,M可为等于1的整数。也就是说,第二节点在采样周期内,可接收到来自第一节点的一个第二数据包,该第二数据包中可携带多个第一数据包分别对应的报文头和元信息值。应理解,基于上述实现方式二,M也可为大于1的整数。
步骤207,第二节点可根据M个第二数据包以及降速条件,确定目标数据流。其中,目标数据流为M个第二数据包对应的数据流中的至少一个。
在一种可能的实现方式中,降速条件可包括第一条件、第二条件和第三条件中的任一项。示例一,第一条件是基于数据流的。具体可为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的转发时延的平均值大于第一预设值,k为小于或等于M的整数。示例二,第二条件是基于队列的。具体可为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的数据流占用队列深度的平均值大于第二预设值。示例三,第三条件是基于队列的。具体可为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的队列深度的平均值大于第三预设值。
在一种可能的实现方式中,第二节点接收到的M个第二数据包可能对应一个数据流,也可能对应多个数据流,其中,每个数据流可包括k个第二数据包。当M个第二数据包对应一个数据流时,k为小于或等于M的整数;当M个第二数据包对应多个数据流时,k为小于M的整数。
在一种可能的实现方式中,第一节点可根据第二数据包中携带的第一数据包的报文头,确定M个第二数据包中哪些第二数据包对应同一个数据流。基于确定出的M个第二数据包与数据流之间的对应关系,可分如下两种情形详细介绍确定目标数据流的实现过程。
情形1,M个第二数据包对应一个数据流。
基于降速条件为第一条件的场景,第二节点若确定M个第二数据包中的k个第二数据包分别携带的第一数据包的元信息值中转发时延(average_flow_latency)的平均值大于第一预设值,则将M个第二数据包对应的该数据流确定为目标数据流。示例性地,转发时延的平均值=(转发时延1+转发时延2+...转发时延k)/k。
基于降速条件为第二条件的场景,第二节点若确定M个第二数据包中的k个第二数据包分别携带的第一数据包的对应的元信息值中数据流占用队列深度的平均值(average_flow_depth)大于第二预设值,则将M个第二数据包对应的数据流确定为目标数据流。示例性地,数据流占用队列深度的平均值=(数据流占用队列深度1+数据流占用队列深度2+...数据流占用队列深度k)/k。
基于降速条件为第三条件的场景,第二节点若确定M个第二数据包中的k个第二数据包分别携带的第一数据包的对应的元信息值中队列深度的平均值(verage_queue_depth)大于第三预设值,则将M个第二数据包对应的数据流确定为目标数据流。示例性地,队列深度的平均值=(队列深度1+队列深度2+...队列深度k)/k。
情形2,M个第二数据包对应多个数据流。
基于降速条件为第一条件的场景,第二节点确定每条数据流中的k个第二数据包分别携带的第一数据包的对应的元信息值中转发时延的平均值,将转发时延的平均值大于第一预设值且优先级最低的数据流,确定为目标数据流。
在一种可能的实现方式中,队列标识与队列的优先级之间存在映射关系。即队列标识与队列中的数据流的优先级之间存在映射关系。因此,第二节点可分别根据k个第二数据包中携带的第一数据包对应的元信息值中的队列标识,确定出k个第二数据包对应的数据流的优先级。例如,元信息值中的队列标识为1,则可说明该数据流的优先级为1;队列标识为2,则可说明该数据流的优先级为2。
基于降速条件为第二条件的场景,第二节点确定每条数据流中的k个第二数据包分别携带的第一数据包的对应的元信息值中数据流占用队列深度的平均值,将数据流占用队列深度的平均值大于第二预设值且优先级最低的数据流,确定为目标数据流。需要说明的是,数据流的优先级的确定可参见上述介绍,此处不再赘述。
基于降速条件为第三条件的场景,第二节点确定每条数据流中k个第二数据包分别携带的第一数据包的对应的元信息值中队列深度的平均值,将队列深度的平均值大于第三预设值且优先级最低的数据流,确定为目标数据流。需要说明的是,数据流的优先级的确定可参见上述介绍,此处不再赘述。
示例性地,以多个数据流为数据流a和数据流b,数据流a的优先级为1,数据流b的优先级为2为例说明。若数据流a对应的第一数据包的转发时延的平均值大于第一预设值,数据流b对应的第一数据包的转发时延的平均值不大于第一预设值,且数据流b的优先级高于数据流a的优先级,则可确定数据流a为目标数据流。若数据流a的转发时延的平均值不大于第一预设值,数据流b的转发时延的平均值不大于第一预设值,则可不进行降速处理。
进一步可选地,对于优先级相同的数据流,可按数据包对应的数据类型确定目标数据流。控制面数据、管理面数据和数据面数据三者的对应的数据流被确定为目标数据流的顺序为:数据面数据流优先于管理面的数据流,管理面的数据流优先于控制面的数据流,即数据面>管理面>控制面。
通过上述情形2的实现方式,通知低优先级的数流进行降速,有助于提前预防发生拥塞。进一步,对于优先级相同的数据流,优先降低数据面的数据流的传输速率,从而可确定控制面的重要数据能及时转发,如此,有助于确保车载大脑的关键控制面信息得到及时处理。
步骤208,第二节点可根据降速方式降低目标数据流的传输速率,或向第三节点发送指示信息,指示信息用于指示第三节点根据降速方式降低目标数据流的传输速率。
此处,降速方式可为第二节点预定义的。若第二节点仅接收到一条数据流,且确定该数据流满足降速条件后,可基于降速条件,按预设的降速方式对该数据流进行降速处理。若第二节点接收到多个数据流,可针对满足降速条件的数据流进行将降速处理。进一步,若满足降速条件的数据流为两个或两个以上,可对优先级最低的数据流进行降速。若优先级相同,可按数据面数据>管理面数据>控制面数据的原则通知数据流的源端进行降速。
示例性地,若目标数据流是基于第一条件确定的,则降速方式为将目标数据流的传输速率降低第一百分比(X%);若目标数据流是基于第二条件确定的,则降速方式为将目标数据流的传输速率降低第二百分比(Y%);若目标数据流是基于第三条件确定的,则降速方式为将目标数据流的传输速率降低第三百分比(Z%)。需要说明的是,第一百分比、第二百分比和第三百分比可以相同也可以不相同,本申请对此不做限定。
在一种可能的实现方式中,指示信息可通过一个或多个比特信息来表示降速方式。例如,比特信息为“00”,对应的降速方式为将目标数据流的传输速率降低第一百分比;比特信息为“01”,对应的降速方式为将目标数据流的传输速率降低第二百分比;比特信息为“10”,对应的降速方式为将目标数据流的传输速率降低第三百分比。在另一种可能的实现方式中,指示信息通过标识信息来表示降速方式。例如,指示信息中的标识信息为1时,对应的降速方式为将目标数据流的传输速率降低第一百分比;指示信息中的标识信息为2时,对应的降速方式为将目标数据流的传输速率降低第二百分比;指示信息中的标识信息为3时,对应的降速方式为将目标数据流的传输速率降低第三百分比。
需要说明的是,上述比特信息或标识信息仅为示例性的,指示信息还可通过其他形式的比特信息或标识信息来表示降速方式,本申请对此不做限定。
还需要说明的是,针对上述场景二,MDC-A系统、MDC-B系统可分别独立执行图2所示的方法。也就是说,对于MDC-A系统中的第一节点和第二节点,可对对应同一出端口的Flow1至Flow6对应的数据包执行上述图2所示的方案;对于MDC-B系统中的第一节点和第二节点,可对Flow6对应的数据包执行上述图2所示的方案。针对上述场景三,MDC-A系统、MDC-B系统和MDC-C系统可分别独立执行上述图2所示的方法。也就是说,对于MDC-A系统中的第一节点和第二节点,可对Flow3对应的数据包执行上述图2所示的方案;对于MDC-B系统中的第一节点和第二节点,可对对应同一出端口的Flow1至Flow4对应的数据包执行上述图2所示的方案;对于MDC-C系统中的第一节点和第二节点,可对Flow1 Flow4对应的数据包执行上述图2所示的方案。通过各MDC系统中分别单独执行上述图2所示的方法,有助于进一步减小多系统互联场景下发生拥塞的可能。
通过上述步骤201至步骤208可以看出,第一节点可按需将对应同一出端口第一数据包对应的元信息值及报文头以封装为第二数据包,并反馈给第二节点,由第二节点根据第二数据包确定是否有需要进行降速处理的数据流,若有需要降速的数据流,第二节点会通知源端(如第二节点或第三节点)对需要降速的数据流进行降速处理。如此,可提前预防拥塞的发生,从而有助于减小数据包的转发时延。进一步,还有助于降低出端口的丢包率。特别是对多个入端口对应单一出端口流量突发场景,可保证高优先级的数据包及时得到转发。
如图4所示,为本申请提供的一种LSW的结构示意图。该LSW包括输入管道(ingresspipeline)、头解析模块、存储器、流量管理器(traffic monitor,TM)、输出管道(egresspipeline)和组包模块。其中,ingress pipeline用于接收数据包,并将接收到数据包放到LSW的缓存中。头解析模块用于解析数据包的报文头,可得到数据包的一些信息(例如源MAC地址、目的MAC地址、包类型、源IP地址和目的IP地址等)。基于得到这些信息,可将接收到的数据包分成不同的数据流,针对不同的数据流可进行不同的处理。TM负责管理入端口和出端口的流量(即数据流)。例如,可负责测量输入数据包的流量,然后根据预先的设置信息,处理超出流量限制的数据包。存储器可用于存储转发表,转发表包括目的地址与出端口之间的映射关系表、元信息等。egress pipeline用于将待转发的数据包传输至组包模块进行组包之后,转发至目的地。也就是说,LSW接收或发送的数据流主要由ingress pipeline、egress pipeline和TM和存储器配合完成。
为方便说明,本申请后续,以第一节点为LSW,第二节点为AI芯片,第三节点为传感器1和传感器2为例。即本申请后续所描述的LSW均可替换为第一节点,AI芯片均可替换为第二节点,传感器1和传感器2均可替换为第三节点。
下面结合上述场景一及图4所示的LSW,进一步详细介绍数据传输控制方法,以便于进一步理解上述数据传输方法的实现过程。如图5所示,为本申请提供的另一种数据传输控制方法流程示意图。该实施例中以第二节点向第一节点发送反馈触发条件、元信息和数据流标识的情况为例说明。该方法包括以下步骤。
步骤500,AI Chip配置反馈触发条件、元信息和数据流标识。
该步骤500为可选步骤。
此处,反馈触发条件、元信息和数据流标识的详细介绍可参见上述步骤201的描述,此处不再一一赘述。为了便于方案的说明,如下以数据流标识为1和2为例,其中,数据流标识为1的数据流(可称为数据流1)包括的数据包A,数据流标识为2的数据流(可称为数据流2)包括数据包B。
步骤501,AI Chip向LSW发送反馈触发条件、元信息和数据流标识。相应地,LSW将接收来自AI Chip的反馈触发条件、元信息和数据流标识。
进一步可选地,LSW可将接收到的反馈触发条件、元信息和数据流标识保存于LSW的存储器中。
此处,AI Chip可以将反馈触发条件、元信息和数据流标识一起向LSW发送,或者AIChip也可将反馈触发条件、元信息和数据流标识分别单独向LSW发送,或者,AI Chip可将其中任两个一起发送至LSW,另一个单独发送至LSW。
步骤502,LSW接收来自传感器1的数据包A,传感器2的数据包B和数据包C。
结合上述图4,LSW可通过输入管道(ingress pipeline)接收来自传感器1的数据包A、以及传感器2的数据包B和数据包C。也就是说,数据包A、数据包B和数据包C均为LSW待传输的数据包。
步骤503,LSW分别获取数据包A、数据包B和数据包C的报文头。
此处,数据包A、数据包B和数据包C的报文头均包括的源IP地址、目的IP地址、源端口、目的端口和协议类型。
步骤504,LSW可根据数据流标识和获取到的报文头,从待传输的数据包中确定对应同一出端口的第一数据包。
此处,LSW可将接收到的数据包A、数据包B和数据包C的报文头分别与数据流识1和数据流2进行匹配,可确定出数据包A对应数据流1,数据包B对应数据流2。进一步,通过查询目的IP地址与出端口之间的映射关系表,可确定出数据包A和数据包B对应LSW的同一出端口。也就是说,数据包A和数据包B均为第一数据包。应理解,目的IP地址与出端口之间的映射关系表可存储于LSW的存储器中。示例性地,如下以数据包A和数据包B对应的同一出端口H为例说明。
步骤505,LSW将数据包A的报文头和数据包B的报文头均复制到出端口H。
在一种可能的实现方式中,可将数据包A的报文头和数据包B的报文头镜像复制到出端口H。
步骤506,LSW分别获取数据包A和数据包B对应的元信息值。
该步骤506可参见上述步骤204的介绍,此处不再赘述。
步骤507,LSW确定是否满足反馈触发条件。若不满足,执行步骤508;若满足,执行步骤509。
此处,LSW确定是否满足反馈触发条件,具体可参见上述步骤205中的实现方式一、实现方式二和实现方式三的介绍。
步骤508,不进行降速处理。
步骤509,LSW将数据包A对应的元信息值及数据包A的报文头封装为第二数据包A,将数据包B对应的元信息值及数据包B的报文头封装为第二数据包B。
示例性地,将数据包A对应的元信息值添加于数据包A的报文头之前,并在数据包A对应的元信息值之前添加新的报文头,封装为第二数据包A;将数据包B对应的元信息值添加于数据包B的报文头之前,并在数据包B对应的元信息值之前添加新的报文头,封装为第二数据包B。此处,LSW添加的新的报文头中的目的IP地址为AI Chip的IP地址。
步骤510,LSW将第二数据包A和第二数据包B的优先级修改为大于优先级阈值。
此处,可以是LSW中的输出管道将第二数据包A和第二数据包B提交到特殊入端口。该特殊入端口支持对第二数据包的优先级在输出管道(egress pipeline)方向上的任意修改,可重新查找出端口完成第二数据包的转发流程。
步骤510,LSW向AI Chip发送第二数据包A和第二数据包B。相应地,AI Chip接收来自LSW的第二数据包A和第二数据包B。
在该步骤510中,LSW可按照第二数据包A和第二数据包B修改后的优先级,向AIChip发送第二数据包A和第二数据包B。
基于上述步骤500至步骤510,在采样周期内,AI Chip可接收来自LSW的M个第二数据包,之后AI Chip可执行下述步骤512至步骤512。
步骤512,AI Chip可根据第二数据包A携带的数据包A、以及第二数据包B携带的数据包B,分别对应的元信息值及降速条件,确定目标数据流。
其中,确定目标数据流的方式可参见上述步骤207的介绍,此处不再赘述。
步骤513,AI Chip可根据降速方式向第三节点发送指示信息,指示信息用于指示传感器1或传感器2根据降速方式降低目标数据流的传输速率。
示例性地,若步骤512中,确定的出的目标数据流为数据包A对应的数据流,则AIChip向传感器1发送指示信息;若步骤512中,确定的出的目标数据流为数据包B对应的数据流,则AI Chip向传感器2发送指示信息。
通过上述步骤500至步骤513可以看出,在系统发生拥塞之前,LSW可按需将对应同一出端口第一数据包对应的元信息及报文头反馈给AI Chip,由AI Chip根据第二数据包确定是否有需要进行降速的数据流,若确定有需要降速的数据流,AI Chip会通知源端(传感器或LSW)对确定出的该数据流进行降速处理。如此,可提前预防拥塞的发生,从而有助于减小数据包的转发时延。进一步,还有助于降低出端口的丢包率。特别是对多个入端口对应单一出端口流量突发场景,可保证高优先级的数据包及时得到转发。
基于上述内容和相同构思,本申请提供一种装置600,用于执行上述方法中的第一节点侧的任一个方案或第二节点侧的任一个方案。图6示例性示出了本申请提供的一种装置的结构示意图。如图6所示,该装置600包括处理器601和通信接口602。可选地,还可包括存储器603。其中,处理器601、通信接口602和存储器603通过总线相互连接。该示例中的装置600可以执行上述图2中的方案,也可以执行上述图5中的方案。
存储器603可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器603还可以包括上述种类的存储器的组合。
通信接口602可以为有线通信接入口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为WLAN接口。
处理器601可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。处理器601还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
可选地,存储器603还可以用于存储程序指令,处理器601调用该存储器603中存储的程序指令,可以执行上述方案中所示实施例中的一个或多个步骤,或其中可选的实施方式,使得装置600实现上述方法。
在一种应用中
处理器601,用于确定反馈触发条件、元信息和数据流标识,并获取待传输的数据包的报文头,根据数据流标识和获取的各报文头,从待传输的数据包中确定对应同一出端口的第一数据包;根据元信息获取第一数据包对应的元信息值;确定满足反馈触发条件时,将第一数据包对应的元信息值及第一数据包的报文头,封装为第二数据包,通过通信接口602向第二节点发送第二数据包,第二数据包用于使第二节点降低第一数据包对应的数据流中的至少一个数据流的传输速率,或向第三节点发送指示信息,指示信息用于指示第三节点降低第一数据包对应的数据流中的至少一个数据流的传输速率。
一种可能的实现方式中,处理器601具体用于:将第一数据包对应的元信息值添加于第一数据包的报文头之前,在第一数据包对应的元信息值之前添加新的报文头,得到第二数据包,新的报文头中的目的地址为第二节点的地址。
在一种可能的实现方式中,处理器601还用于:将第二数据包的优先级修改为大于优先级阈值。
在一种可能的实现方式中,元信息包括节点标识、入端口标识、出端口标识、队列标识、数据包的转发时延、单包最大容忍时延、数据包对应的数据流标识和数据包对应的数据类型中的至少一种,其中,数据类型包括控制面数据、管理面数据和数据面数据。
在一种可能的实现方式中,反馈触发条件包括第一数据包的转发时延大于单包最大容忍时延、接收到的第一数据包的数量大于预设数量、队列深度大于预设的队列深度、队列的出口带宽的利用率大于预设的带宽利用率中的任一项或任多项,其中,队列深度为队列中全部数据包占用的缓存与队列的总缓存之比。
在一种可能的实现方式中,元信息还包括队列深度和/或队列的出口带宽的利用率。处理器601具体用于:根据第一数据包对应的元信息值,确定满足反馈触发条件。
在一种可能的实现方式中,待传输的数据包来自第三节点和/或第二节点。
在一种可能的实现方式中,通信接口602,还用于接收来自所述第二节点配置的反馈触发条件、元信息和数据流标识。
在另一种应用中
通信接口602,用于接收来自第一节点的M个第二数据包,M为大于或等于1的整数,其中,第二数据包是第一节点在确定满足反馈触发条件时向第二节点发送的,第二数据包携带有第一数据包的报文头和第一数据包括对应的元信息值,第一数据包为第一节点根据数据流标识,从各待传输的数据包中确定的。处理器601,用于根据M个第二数据包分别携带的第一数据包对应的元信息值以及降速条件,确定目标数据流,目标数据流为M个第二数据包对应的数据流中的至少一个;根据降速方式降低目标数据流的传输速率,或通过通信接口602向第三节点发送指示信息,指示信息用于指示第三节点根据降速方式降低目标数据流的传输速率。
在一种可能的实现方式中,通信接口602,还用于向所述第一节点发送配置的所述反馈触发条件、所述元信息和所述数据流标识。
在一种可能的实现方式中,元信息还包括队列深度和第一数据包对应的数据流占用队列深度;降速条件包括第一条件、第二条件和第三条件中的任一项,其中:第一条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的转发时延的平均值大于第一预设值,k为小于或等于M的整数;第二条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的数据流占用队列深度的平均值大于第二预设值;第三条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的队列深度的平均值大于第三预设值。
在一种可能的实现方式中,M个第二数据包对应一个数据流。处理器601,具体用于:若确定M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值大于第一预设值,则将M个第二数据包对应的数据流确定为目标数据流;或者,若确定M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值大于第二预设值,则将M个第二数据包对应的数据流确定为目标数据流;或者,若确定M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值大于第三预设值,则将M个第二数据包对应的数据流确定为目标数据流。
在一种可能的实现方式中,k为小于M的整数且M个第二数据包对应多个数据流,每个数据流包括至少k个第二数据包。处理器601,具体包括:确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值,将转发时延的平均值大于第一预设值且优先级最低的数据流,确定为目标数据流;或者,确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值,将数据流占用队列深度的平均值大于第二预设值且优先级最低的数据流,确定为目标数据流;或者,确定每条数据流中k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值,将队列深度的平均值大于第三预设值且优先级最低的数据流,确定为目标数据流。
在一种可能的实现方式中,降速方式包括以下任一项:若目标数据流是基于第一条件确定的,则将目标数据流的传输速率降低第一百分比;若目标数据流是基于第二条件确定的,则将目标数据流的传输速率降低第二百分比;若目标数据流是基于第三条件确定的,则将目标数据流的传输速率降低第三百分比。
基于上述内容和相同构思,本申请提供一种装置700,用于执行上述图2中的方案,也可以执行图5中的方案。图7示例性示出了本申请提供的一种装置的结构示意图。如图7所示,该装置700包括处理单元701和收发单元702。可选地还包括存储单元703。其中,处理单元701,用于确定反馈触发条件、元信息和数据流标识,获取待传输的数据包的报文头,根据数据流标识和获取的各报文头,从待传输的数据包中确定对应同一出端口的第一数据包;根据元信息获取第一数据包对应的元信息值;确定满足反馈触发条件时,将第一数据包对应的元信息值及第一数据包的报文头,封装为第二数据包,通过收发单元702向第二节点发送第二数据包,第二数据包用于使第二节点降低第一数据包对应的至少一个数据流的传输速率,或向第三节点发送指示信息,指示信息用于指示第三节点降低第一数据包对应的至少一个数据流的传输速率。
本申请实施例中上述可选的实施方式的相关内容可以参见上述实施例,在此不再赘述。
应理解,以上装置的各单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,图7涉及到的处理单元701可以由上述图6的处理器601实现;图7涉及到的收发单元702可以由上述图6的通信接口602实现。也就是说,本申请实施例中处理单元701可以执行上述图6的处理器601所执行的方案,收发单元702可以执行上述图6的通信接口602所执行的方案,其余内容可以参见上述内容,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(MO)等)、光介质(例如,CD、DVD、BD、HVD等)、或者半导体介质(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(Solid State Disk,SSD))等。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (30)
1.一种控制数据传输的方法,其特征在于,包括:
第一节点确定反馈触发条件、元信息和数据流标识;
所述第一节点获取待传输的数据包的报文头;
所述第一节点根据所述数据流标识和获取的各报文头,从所述待传输的数据包中确定对应同一出端口的第一数据包;
所述第一节点根据所述元信息获取所述第一数据包对应的元信息值;
所述第一节点确定满足所述反馈触发条件时,将所述第一数据包对应的元信息值及所述第一数据包的报文头,封装为第二数据包,向所述第二节点发送所述第二数据包,所述第二数据包用于使所述第二节点降低所述第一数据包对应的数据流中的至少一个数据流的传输速率,或向第三节点发送指示信息,所述指示信息用于指示所述第三节点降低所述第一数据包对应的数据流中的至少一个数据流的传输速率。
2.如权利要求1所述的方法,其特征在于,所述第一节点将所述第一数据包对应的元信息值及所述第一数据包的报文头,封装为第二数据包,包括:
所述第一节点将所述第一数据包对应的元信息值添加于所述第一数据包的报文头之前;
所述第一节点在所述第一数据包对应的元信息值之前添加新的报文头,得到所述第二数据包,所述新的报文头中的目的地址为所述第二节点的地址。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一节点将所述第二数据包的优先级修改为大于优先级阈值。
4.如权利要求1至3任一项所述的方法,其特征在于,所述元信息包括节点标识、入端口标识、出端口标识、队列标识、数据包的转发时延、单包最大容忍时延、数据包对应的数据流标识和数据包对应的数据类型中的至少一种,其中,所述数据类型包括控制面数据、管理面数据和数据面数据。
5.如权利要求4所述的方法,其特征在于,所述反馈触发条件包括以下任一项或任多项:
第一数据包的转发时延大于单包最大容忍时延;
接收到的第一数据包的数量大于预设数量;
队列深度大于预设的队列深度,所述队列深度为队列中全部数据包占用的缓存与所述队列的总缓存之比;
所述队列的出口带宽的利用率大于预设的带宽利用率。
6.如权利要求5所述的方法,其特征在于,所述元信息还包括所述队列深度和/或所述队列的出口带宽的利用率;
所述第一节点确定满足所述反馈触发条件,包括:
所述第一节点根据所述第一数据包对应的元信息值,确定满足所述反馈触发条件。
7.如权利要求1至6任一项所述的方法,其特征在于,所述待传输的数据包来自所述第三节点和/或所述第二节点。
8.如权利要求1至7任一项所述的方法,其特征在于,所述第一节点确定反馈触发条件、元信息和数据流标识,包括:
所述第一节点接收来自所述第二节点配置的所述反馈触发条件、所述元信息和所述数据流标识。
9.一种数据传输控制方法,其特征在于,包括:
第二节点接收来自第一节点的M个第二数据包,所述M为大于或等于1的整数,其中,所述第二数据包是所述第一节点在确定满足反馈触发条件时向所述第二节点发送的,所述第二数据包携带有第一数据包的报文头和所述第一数据包括对应的元信息值,所述第一数据包为所述第一节点从待传输的数据包中确定的;
所述第二节点根据所述M个第二数据包以及降速条件,确定目标数据流,所述目标数据流为所述M个第二数据包对应的数据流中的至少一个;
所述第二节点根据降速方式降低所述目标数据流的传输速率,或向第三节点发送指示信息,所述指示信息用于指示所述第三节点根据所述降速方式降低所述目标数据流的传输速率。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
所述第二节点向所述第一节点发送配置的所述反馈触发条件、所述元信息和所述数据流标识。
11.如权利要求10所述的方法,其特征在于,所述元信息包括节点标识、入端口标识、出端口标识、队列标识、数据包的转发时延、单包最大容忍时延、数据包对应的数据流标识和数据包对应的数据类型中的至少一种,其中,所述数据类型包括控制面数据、管理面数据和数据面数据。
12.如权利要求11所述的方法,其特征在于,所述元信息还包括队列深度和所述第一数据包对应的数据流占用队列深度;
所述降速条件包括第一条件、第二条件和第三条件中的任一项,其中:
所述第一条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的转发时延的平均值大于第一预设值,所述k为小于或等于M的整数;
所述第二条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的数据流占用队列深度的平均值大于第二预设值;
所述第三条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的队列深度的平均值大于第三预设值。
13.如权利要求12所述的方法,其特征在于,所述M个第二数据包对应一个数据流;
所述第二节点根据所述M个第二数据包以及降速条件,确定目标数据流,包括:
所述第二节点若确定所述M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值大于所述第一预设值,则将所述M个第二数据包对应的数据流确定为所述目标数据流;或者,
所述第二节点若确定所述M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值大于所述第二预设值,则将所述M个第二数据包对应的数据流确定为所述目标数据流;或者,
所述第二节点若确定所述M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值大于所述第三预设值,则将所述M个第二数据包对应的数据流确定为所述目标数据流。
14.如权利要求12所述的方法,其特征在于,所述k为小于M的整数时,所述M个第二数据包对应多个数据流;每个数据流包括k个第二数据包;
所述第二节点根据所述M个第二数据包以及降速条件,确定目标数据流,包括:
所述第二节点确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值,将所述转发时延的平均值大于第一预设值且优先级最低的数据流,确定为所述目标数据流;或者,
所述第二节点确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值,将所述数据流占用队列深度的平均值大于所述第二预设值且优先级最低的数据流,确定为所述目标数据流;或者,
所述第二节点确定每条数据流中k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值,将所述队列深度的平均值大于所述第三预设值且优先级最低的数据流,确定为所述目标数据流。
15.如权利要求12至14中的任一项所述的方法,其特征在于,所述降速方式包括以下任一项:
若所述目标数据流是基于所述第一条件确定的,则将所述目标数据流的传输速率降低第一百分比;
若所述目标数据流是基于所述第二条件确定的,则将所述目标数据流的传输速率降低第二百分比;
若所述目标数据流是基于所述第三条件确定的,则将所述目标数据流的传输速率降低第三百分比。
16.一种装置,其特征在于,包括:通信接口和处理器;
所述处理器,用于确定反馈触发条件、元信息和数据流标识;并获取待传输的数据包的报文头,根据所述数据流标识和获取的各报文头,从所述待传输的数据包中确定对应同一出端口的第一数据包;根据所述元信息获取所述第一数据包对应的元信息值;确定满足所述反馈触发条件时,将所述第一数据包对应的元信息值及所述第一数据包的报文头,封装为第二数据包,通过所述通信接口向所述第二节点发送所述第二数据包,所述第二数据包用于使所述第二节点降低所述第一数据包对应的数据流中的至少一个数据流的传输速率,或向第三节点发送指示信息,所述指示信息用于指示所述第三节点降低所述第一数据包对应的数据流中的至少一个数据流的传输速率。
17.如权利要求16所述的装置,其特征在于,所述处理器,具体用于:
将所述第一数据包对应的元信息值添加于所述第一数据包的报文头之前,在所述第一数据包对应的元信息值之前添加新的报文头,得到所述第二数据包,所述新的报文头中的目的地址为所述第二节点的地址。
18.如权利要求16或17所述的装置,其特征在于,所述处理器,还用于:
将所述第二数据包的优先级修改为大于优先级阈值。
19.如权利要求16至18任一项所述的装置,其特征在于,所述元信息包括节点标识、入端口标识、出端口标识、队列标识、数据包的转发时延、单包最大容忍时延、数据包对应的数据流标识和数据包对应的数据类型中的至少一种,其中,所述数据类型包括控制面数据、管理面数据和数据面数据。
20.如权利要求19所述的装置,其特征在于,所述反馈触发条件包括以下任一项或任多项:
第一数据包的转发时延大于单包最大容忍时延;
接收到的第一数据包的数量大于预设数量;
队列深度大于预设的队列深度,所述队列深度为队列中全部数据包占用的缓存与所述队列的总缓存之比;
所述队列的出口带宽的利用率大于预设的带宽利用率。
21.如权利要求20所述的装置,其特征在于,所述元信息还包括所述队列深度和/或所述队列的出口带宽的利用率;
所述处理器,具体用于:
根据所述第一数据包对应的元信息值,确定满足所述反馈触发条件。
22.如权利要求16至21任一项所述的装置,其特征在于,所述待传输的数据包来自所述第三节点和/或所述第二节点。
23.如权利要求16至22任一项所述的装置,其特征在于,所述通信接口,还用于:
接收来自所述第二节点配置的所述反馈触发条件、所述元信息和所述数据流标识。
24.一种装置,其特征在于,包括处理器和通信接口:
所述通信接口,用于接收来自所述第一节点的M个第二数据包,所述M为大于或等于1的整数,其中,所述第二数据包是所述第一节点在确定满足反馈触发条件时向所述第二节点发送的,所述第二数据包携带有第一数据包的报文头和所述第一数据包括对应的元信息值,所述第一数据包为所述第一节点根据所述数据流标识,从待传输的数据包中确定的;
所述处理器,用于根据所述M个第二数据包以及降速条件,确定目标数据流,所述目标数据流为所述M个第二数据包对应的数据流中的至少一个;根据降速方式降低所述目标数据流的传输速率,或通过所述通信接口向第三节点发送指示信息,所述指示信息用于指示所述第三节点根据所述降速方式降低所述目标数据流的传输速率。
25.如权利要求24所述的装置,其特征在于,所述通信接口,还用于:
向所述第一节点发送配置的所述反馈触发条件、所述元信息和所述数据流标识。
26.如权利要求25所述的装置,其特征在于,所述元信息还包括队列深度和所述第一数据包对应的数据流占用队列深度;
所述降速条件包括第一条件、第二条件和第三条件中的任一项,其中:
所述第一条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的转发时延的平均值大于第一预设值,所述k为小于或等于M的整数;
所述第二条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的数据流占用队列深度的平均值大于第二预设值;
所述第三条件为:在采样周期内,属于同一数据流的k个第一数据包分别对应的元信息值中的队列深度的平均值大于第三预设值。
27.如权利要求26所述的装置,其特征在于,所述M个第二数据包对应一个数据流;
所述处理器,具体用于:
若确定所述M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值大于所述第一预设值,则将所述M个第二数据包对应的数据流确定为所述目标数据流;或者,
若确定所述M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值大于所述第二预设值,则将所述M个第二数据包对应的数据流确定为所述目标数据流;或者,
若确定所述M个第二数据包中的k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值大于所述第三预设值,则将所述M个第二数据包对应的数据流确定为所述目标数据流。
28.如权利要求26所述的装置,其特征在于,所述k为小于M的整数、且所述M个第二数据包对应多个数据流,每个数据流包括至少k个第二数据包;
所述处理器,具体包括:
确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中转发时延的平均值,将所述转发时延的平均值大于第一预设值且优先级最低的数据流,确定为所述目标数据流;或者,
确定每条数据流中的k个第二数据包分别携带的第一数据包对应的元信息值中数据流占用队列深度的平均值,将所述数据流占用队列深度的平均值大于所述第二预设值且优先级最低的数据流,确定为所述目标数据流;或者,
确定每条数据流中k个第二数据包分别携带的第一数据包对应的元信息值中队列深度的平均值,将所述队列深度的平均值大于所述第三预设值且优先级最低的数据流,确定为所述目标数据流。
29.如权利要求26至28中的任一项所述的装置,其特征在于,所述降速方式包括以下任一项:
若所述目标数据流是基于所述第一条件确定的,则将所述目标数据流的传输速率降低第一百分比;
若所述目标数据流是基于所述第二条件确定的,则将所述目标数据流的传输速率降低第二百分比;
若所述目标数据流是基于所述第三条件确定的,则将所述目标数据流的传输速率降低第三百分比。
30.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1~15任一的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910838564.5A CN110647071B (zh) | 2019-09-05 | 2019-09-05 | 一种控制数据传输的方法、装置及存储介质 |
PCT/CN2020/098288 WO2021042831A1 (zh) | 2019-09-05 | 2020-06-24 | 一种控制数据传输的方法、装置及存储介质 |
JP2022515068A JP2022547143A (ja) | 2019-09-05 | 2020-06-24 | データ伝送制御方法、装置、及び記憶媒体 |
KR1020227010617A KR20220058576A (ko) | 2019-09-05 | 2020-06-24 | 데이터 송신을 제어하기 위한 방법 및 장치, 및 저장 매체 |
EP20860021.3A EP4024146A4 (en) | 2019-09-05 | 2020-06-24 | METHOD AND DEVICE FOR CONTROLLING DATA TRANSMISSION AND STORAGE MEDIA |
US17/686,581 US20220191140A1 (en) | 2019-09-05 | 2022-03-04 | Data transmission control method, apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910838564.5A CN110647071B (zh) | 2019-09-05 | 2019-09-05 | 一种控制数据传输的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110647071A true CN110647071A (zh) | 2020-01-03 |
CN110647071B CN110647071B (zh) | 2021-08-27 |
Family
ID=68991565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910838564.5A Active CN110647071B (zh) | 2019-09-05 | 2019-09-05 | 一种控制数据传输的方法、装置及存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220191140A1 (zh) |
EP (1) | EP4024146A4 (zh) |
JP (1) | JP2022547143A (zh) |
KR (1) | KR20220058576A (zh) |
CN (1) | CN110647071B (zh) |
WO (1) | WO2021042831A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134809A (zh) * | 2020-09-16 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
WO2021042831A1 (zh) * | 2019-09-05 | 2021-03-11 | 华为技术有限公司 | 一种控制数据传输的方法、装置及存储介质 |
CN112637073A (zh) * | 2020-12-18 | 2021-04-09 | 深圳市东晟数据有限公司 | 一种可扩展规则空间的实现方法 |
CN114095445A (zh) * | 2020-07-29 | 2022-02-25 | 华人运通(上海)自动驾驶科技有限公司 | 车载以太网的数据传输控制方法、装置、电子设备及存储介质 |
WO2023065283A1 (en) * | 2021-10-22 | 2023-04-27 | Nokia Shanghai Bell Co., Ltd. | Ran enhancement taking into account cbs behaviour in tsc |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11956188B1 (en) * | 2022-12-13 | 2024-04-09 | Infineon Technologies Ag | Security aware routing in an in-vehicle communication network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611620A (zh) * | 2012-02-23 | 2012-07-25 | 福建星网锐捷网络有限公司 | 拥塞控制方法和报文处理设备 |
CN106134138A (zh) * | 2014-12-04 | 2016-11-16 | 华为技术有限公司 | 一种拥塞控制的方法、设备和系统 |
CN106537856A (zh) * | 2014-04-03 | 2017-03-22 | 奥比特多媒体控股公司 | 数据流控制方法和系统 |
CN108667739A (zh) * | 2017-03-27 | 2018-10-16 | 华为技术有限公司 | 拥塞控制方法、装置及系统 |
CN109981471A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种缓解拥塞的方法、设备和系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6324742A (ja) * | 1986-07-17 | 1988-02-02 | Fujitsu Ltd | パケツト交換輻輳抑止方式 |
JP3715934B2 (ja) * | 2002-02-13 | 2005-11-16 | 日本電信電話株式会社 | 輻輳制御方法、エッジ型パケット転送装置及びネットワーク |
US7961621B2 (en) * | 2005-10-11 | 2011-06-14 | Cisco Technology, Inc. | Methods and devices for backward congestion notification |
US20080298248A1 (en) * | 2007-05-28 | 2008-12-04 | Guenter Roeck | Method and Apparatus For Computer Network Bandwidth Control and Congestion Management |
KR102195069B1 (ko) * | 2014-08-06 | 2020-12-24 | 삼성전자주식회사 | 패킷 송신기 및 이를 포함하는 인터페이스 장치 |
CN107493238A (zh) * | 2016-06-13 | 2017-12-19 | 华为技术有限公司 | 一种网络拥塞控制方法、设备及系统 |
US10833998B2 (en) * | 2017-01-12 | 2020-11-10 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for flow control |
CN109995664B (zh) * | 2017-12-29 | 2022-04-05 | 华为技术有限公司 | 一种发送数据流的方法、设备和系统 |
WO2019140556A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 一种报文传输的方法及装置 |
CN108418767B (zh) * | 2018-02-09 | 2021-12-21 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
US11616723B2 (en) * | 2018-12-05 | 2023-03-28 | Intel Corporation | Techniques to reduce network congestion |
CN109861999B (zh) * | 2019-01-21 | 2022-04-26 | 深圳市敢为软件技术有限公司 | 数据传输的控制方法、装置及存储介质 |
CN110647071B (zh) * | 2019-09-05 | 2021-08-27 | 华为技术有限公司 | 一种控制数据传输的方法、装置及存储介质 |
-
2019
- 2019-09-05 CN CN201910838564.5A patent/CN110647071B/zh active Active
-
2020
- 2020-06-24 EP EP20860021.3A patent/EP4024146A4/en active Pending
- 2020-06-24 WO PCT/CN2020/098288 patent/WO2021042831A1/zh unknown
- 2020-06-24 JP JP2022515068A patent/JP2022547143A/ja not_active Ceased
- 2020-06-24 KR KR1020227010617A patent/KR20220058576A/ko not_active Application Discontinuation
-
2022
- 2022-03-04 US US17/686,581 patent/US20220191140A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611620A (zh) * | 2012-02-23 | 2012-07-25 | 福建星网锐捷网络有限公司 | 拥塞控制方法和报文处理设备 |
CN106537856A (zh) * | 2014-04-03 | 2017-03-22 | 奥比特多媒体控股公司 | 数据流控制方法和系统 |
CN106664255A (zh) * | 2014-04-03 | 2017-05-10 | 奥比特多媒体控股公司 | 数据流控制方法 |
CN106134138A (zh) * | 2014-12-04 | 2016-11-16 | 华为技术有限公司 | 一种拥塞控制的方法、设备和系统 |
CN108667739A (zh) * | 2017-03-27 | 2018-10-16 | 华为技术有限公司 | 拥塞控制方法、装置及系统 |
CN109981471A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种缓解拥塞的方法、设备和系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021042831A1 (zh) * | 2019-09-05 | 2021-03-11 | 华为技术有限公司 | 一种控制数据传输的方法、装置及存储介质 |
CN114095445A (zh) * | 2020-07-29 | 2022-02-25 | 华人运通(上海)自动驾驶科技有限公司 | 车载以太网的数据传输控制方法、装置、电子设备及存储介质 |
CN112134809A (zh) * | 2020-09-16 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN112134809B (zh) * | 2020-09-16 | 2024-04-23 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置、设备及可读存储介质 |
CN112637073A (zh) * | 2020-12-18 | 2021-04-09 | 深圳市东晟数据有限公司 | 一种可扩展规则空间的实现方法 |
CN112637073B (zh) * | 2020-12-18 | 2022-02-25 | 深圳市东晟数据有限公司 | 一种可扩展规则空间的实现方法 |
WO2023065283A1 (en) * | 2021-10-22 | 2023-04-27 | Nokia Shanghai Bell Co., Ltd. | Ran enhancement taking into account cbs behaviour in tsc |
Also Published As
Publication number | Publication date |
---|---|
WO2021042831A1 (zh) | 2021-03-11 |
US20220191140A1 (en) | 2022-06-16 |
KR20220058576A (ko) | 2022-05-09 |
JP2022547143A (ja) | 2022-11-10 |
EP4024146A4 (en) | 2022-10-26 |
CN110647071B (zh) | 2021-08-27 |
EP4024146A1 (en) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647071B (zh) | 一种控制数据传输的方法、装置及存储介质 | |
US11750504B2 (en) | Method and system for providing network egress fairness between applications | |
US10129151B2 (en) | Traffic management implementation method and apparatus, and network device | |
US10841230B1 (en) | Intelligent controller and sensor network bus, system and method | |
US8493867B1 (en) | Retransmission and flow control in a logical network tunnel | |
WO2019033857A1 (zh) | 报文控制方法及网络装置 | |
US11968111B2 (en) | Packet scheduling method, scheduler, network device, and network system | |
US11089140B2 (en) | Intelligent controller and sensor network bus, system and method including generic encapsulation mode | |
EP2955888B1 (en) | Fine-grained stream-policing mechanism for automotive ethernet switches | |
US20230164078A1 (en) | Congestion Control Method and Apparatus | |
WO2012122382A1 (en) | Data blocking systems for non-arbitrary networks | |
CN110545241A (zh) | 一种报文处理方法和装置 | |
CN115378874B (zh) | 数据发送、接收方法、装置、电子设备、芯片及存储介质 | |
EP3996337B1 (en) | Service data transmission method and device | |
EP3726787A1 (en) | Data stream sending method, device and system | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
WO2019200568A1 (zh) | 一种数据通信方法及装置 | |
JP2024519555A (ja) | パケット伝送方法及びネットワークデバイス | |
US9621487B2 (en) | Method and apparatus for protection switching based on memory control in packet transport system | |
WO2021055205A1 (en) | Intelligent controller and sensor network bus, system and method including generic encapsulation mode | |
EP4020901B1 (en) | Methods, systems, and apparatuses for enhanced parallelism of time-triggered ethernet traffic using interference-cognizant network scheduling | |
US20220086051A1 (en) | Method and apparatus for determining port orientation | |
WO2023169285A1 (zh) | 通信方法、装置、网络设备及系统 | |
WO2023207628A1 (zh) | 一种报文传输方法以及报文转发设备 | |
CN117176660A (zh) | 基于fpga实现优化tsn帧抢占ip核的系统及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |