CN114257559B - 一种数据报文的转发方法及装置 - Google Patents
一种数据报文的转发方法及装置 Download PDFInfo
- Publication number
- CN114257559B CN114257559B CN202111558739.0A CN202111558739A CN114257559B CN 114257559 B CN114257559 B CN 114257559B CN 202111558739 A CN202111558739 A CN 202111558739A CN 114257559 B CN114257559 B CN 114257559B
- Authority
- CN
- China
- Prior art keywords
- message
- queue
- data message
- storage space
- state
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012544 monitoring process Methods 0.000 claims abstract description 34
- 230000005540 biological transmission Effects 0.000 abstract description 14
- 238000007726 management method Methods 0.000 description 53
- 238000010586 diagram Methods 0.000 description 22
- 238000004590 computer program Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 230000006854 communication Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 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/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- 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/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种数据报文的转发方法及装置,该方法中:监测当前接收到的目标数据报文对应的报文队列的存储状态,报文队列用于存储与目标数据报文访问的地址信息一致的数据报文;在确定存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间,当满足第一条件时,将第一类块存储空间中存储的数据报文转发。当存储状态为第一状态时,说明存储的数据报文的总流量小,将接收到的数据报文存储至低延迟队列对应的第一类块存储空间中,低延迟队列用于存储报文队列为第一状态时存入的各种数据报文,很快满足转发条件,降低传输时延。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据报文的转发方法及装置。
背景技术
在通信过程中,数据报文的转发需要通过交换机或路由器系统,通过交换机或路由器系统中的缓存管理机制对接收到的数据报文进行缓存,并在满足一定条件后将缓存的数据报文转发。
目前,交换机或路由器系统接收到数据报文后,按队列存储方式对数据报文进行缓存存储,每个报文队列都对应有一个块存储空间,将数据报文存储至相应报文队列,即将报文数据存储至相应的块存储空间,并在当块存储空间存满或无法在存入完整数据报文时,将该块存储空间中存储的数据报文进行转发。由于每个数据报文都有相应流量,当数据报文流量较小时,所累积到块存储空间的大小所需的时间越长,已存储至块存储空间的数据报文等待发送的时间越长。
综上,目前交换机或路由器系统进行数据报文转发时,存在较大的传输时延。
发明内容
本申请实施例提供一种数据报文的转发方法及装置,用以降低传输时延。
第一方面,本申请实施例提供一种数据报文管理方法,该方法包括:
监测当前接收到的目标数据报文对应的报文队列的存储状态;报文队列用于存储与目标数据报文访问的地址信息一致的数据报文;
确定存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间;其中,第一状态用于表征报文队列存储的数据报文的总流量小于流量阈值;
当满足第一条件时,将第一类块存储空间中存储的数据报文转发。
本申请实施例中,当接收到目标数据报文后,确定目标数据报文对应的报文队列,并监测报文队列对应的存储状态,在确定存储状态为第一状态时,说明目标数据报文对应的报文队列当前存储的数据报文的总流量较小,若将目标数据报文存储至报文队列,由于报文队列用于存储与目标数据报文访问的地址信息一致的数据报文,因此需要一定的等待时间,数据报文的总流量才会满足数据报文的转发条件,导致数据报文传输延时。因此,在确定目标数据报文对应的报文队列的存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间,低延迟队列用于存储与目标数据报文访问的地址信息一致和/或不一致的数据报文,因此很快就可以使数据报文的总流量满足数据报文的转发条件,并在满足转发条件时,将第一类块存储空间中存储的数据报文转发,降低数据报文的传输时延。
在一种可能的实现方式中,监测当前接收到的目标数据报文对应的报文队列的存储状态,包括:
监测报文队列的目标信用点,并基于目标信用点,确定目标数据报文对应的报文队列的存储状态,目标信用点用于表征转发数据报文的转发速率;或
监测报文队列的剩余队列长度,并基于剩余队列长度,确定目标数据报文对应的报文队列的存储状态。
本申请实施例中,提供两种监测报文队列的存储状态的实现方式,以准确确定报文队列的存储状态,并基于存储状态确定目标数据报文将要存入的块存储空间,以降低数据报文的传输时延。
在一种可能的实现方式中,监测报文队列的目标信用点,包括:
针对报文队列,确定分配给报文队列的第一信用点,以及转发报文队列对应的数据报文时,基于转发的数据报文的总流量确定扣减的第二信用点;
基于第一信用点,以及第二信用点,确定目标信用点。
本申请实施例,提供一种监测报文队列的目标信用点的实现方式,以确定报文队列的目标信用点,进一步的基于目标信用点确定报文队列的存储状态。
在一种可能的实现方式中,当满足第一条件时,将第一类块存储空间中存储的数据报文转发,包括:
当第一类块存储空间存储的数据报文的总量达到第一阈值时,将第一类块存储空间中存储的数据报文转发;或
定时检测低延迟队列对应的第一缓存描述符(Buffer Description,BD)信息,确定第一BD信息有效后,将第一类块存储空间中存储的数据报文转发。
本申请实施例中,提供将第一类块存储空间中存储的数据报文转发的具体情况,以及时将第一类块存储空间中存储的数据报文转发,降低数据报文的传输时延。
在一种可能的实现方式中,确定存储状态为第二状态时,将目标数据报文存储至相应的报文队列对应的第二类块存储空间,其中,第二状态用于表征报文队列存储的数据报文的总流量大于流量阈值;
当满足第二条件时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文。
本申请实施例中,确定报文队列的存储状态为第二状态时,说明目标数据报文对应的报文队列当前存储的数据报文的总流量比预期调度流量大,因此将目标数据报文存储至相应的报文队列对应的第二类块存储空间,对报文队列进行缓存存储,并在满足第二条件时,将第二类块存储空间对应的第二BD信息送出,再由调度管理模块,决定是否转发第二类块存储空间中存储的数据报文。
在一种可能的实现方式中,当满足第二条件时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文,包括:
当第二类块存储空间存储的数据报文的总量达到第二阈值时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文;或
确定报文队列的存储状态由第二状态切换至第一状态时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文。
本申请实施例中,提供将第二类块存储空间中存储的数据报文转发的具体情况,以及时将第二类块存储空间中存储的数据报文转发,降低数据报文的传输时延。
在一种可能的实现方式中,第一类块存储空间不大于第二类块存储空间。
在本申请实施例中,低延迟队列对应的第一类块存储空间的大小不大于报文队列对应的第二类块存储空间的大小,可使第一类块存储空间快速填满,降低数据报文传输时延。
第二方面,本申请实施例提供一种数据报文的转发装置,该装置包括:
监测单元,用于监测当前接收到的目标数据报文对应的报文队列的存储状态;报文队列用于存储与目标数据报文访问的地址信息一致的数据报文;
存储单元,用于确定存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间;其中,第一状态用于表征报文队列存储的数据报文的总流量小于流量阈值;
转发单元,用于当满足第一条件时,将第一类块存储空间中存储的数据报文转发。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种数据报文的转发方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当程序在电子设备上运行时,使得电子设备执行上述任一种数据报文的转发方法的步骤。
第五方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述任一种数据报文的转发方法的步骤。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中一种数据报文的转发系统框架示意图;
图2为相关技术中一种缓存初始化的示意图;
图3为相关技术中一种报文队列的BD信息入队的示意图;
图4为本申请实施提供的一种应用场景示意图;
图5为本申请实施提供的一种交换机或路由器系统的架构示意图;
图6为本申请实施提供的一种数据报文的转发方法流程图;
图7为本申请实施提供的一种基于目标信用点监测存储状态的示意图;
图8为本申请实施例提供的一种报文队列捆绑存储的示意图;
图9为本申请实施例提供的一种报文队列捆绑存储片外访问的示意图;
图10为本申请实施例提供的另一种数据报文的转发方法流程图;
图11为本申请实施例提供的一种报文队列分散存储的示意图;
图12为本申请实施例提供的一种报文队列分散存储片外访问的示意图;
图13为本申请实施例提供的一种具体实施的数据报文的转发方法流程图;
图14为本申请实施例提供的一种数据报文的转发装置结构图;
图15为本申请实施例提供的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
队列存储:一般指将某类带有特定地址信息的数据报文存储在同一报文队列中,比如同个媒体访问控制地址(Media Access Control Address,MAC)的数据报文存储在同一报文队列中、同个互联网协议地址(Internet Protocol Address,IP)的数据报文存储在同一报文队列中或者同个目的端口的数据报文存储在同一报文队列中。
正常的数据报文在进入交换机或者路由器系统中,都将基于数据报文中携带的特定地址信息将数据报文进行分类处理,分类完成后,将数据报文存储至相应类别对应的一个报文队列,实现数据报文到报文队列的映射关系。
数据报文进入交换机或者路由器系统后,需要存储后再转发,存储的过程叫做队列存储。一般的,低端的交换机或者路由器系统中的支持的报文队列数据量最少,支持K(千)级别以内的报文队列;高端的交换机或者路由器系统可支持的报文队列数量高于低端的交换机或者路由器系统,支持K级别以上的报文队列;特别的,用于运营商的核心设备中的交换机或路由器系统支持的报文队列数量高于高端的交换机或者路由器,可支持到M(兆)级别的报文队列。
数据报文:网络中交换与传输的数据单元,包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。
缓存管理:交换机或路由器系统中设置有存储单元,用于报文队列存储。在进行数据报文存储的时候需要申请存储指针,并将数据报文存放在存储指针指示的块存储空间,在将数据报文转发时依据报文队列对应的存储指针信息进行寻址,对块存储空间存储的数据报文进行读取,并将指针回收,以便后续继续使用。缓存管理主要包括存储空间划分、指针分配、指针回收等。
调度管理:数据报文进入交换机或路由系统中,按报文队列进行存储,同一报文队列中的数据报文需要按照先进先出的原则进行转发,否则会引起转发乱序。将同一报文队列对应的块存储空间的指针形成链表,在读取该报文队列对应的报数据报文时,依据链表进行读取。此时,由调度管理模块决定当前需要调度出队的BD信息,再由缓存管理模块按照调度出队的BD信息读取数据报文。
缓存描述符(Buffer Description,BD)信息:用于存放当前报文队列的报文存储指针、报文数、总流量等信息;本申请实施例中,基于报文队列的不同,区分为第一BD信息和第二BD信息,其中第一BD信息与数据报文分散存储时的报文队列对应,第二BD信息与数据报文绑定存储时的低延迟队列对应。
下面对本申请实施例的设计构思进行简要介绍:
本申请实施例涉及通信技术领域,尤其涉及交换机或路由器系统中进行数据报文的转发方法。
相关技术中,交换机或路由器系统进行数据报文的转发时,通过端口模块接收数据报文,并将接收到的数据报文送入缓存管理模块,按队列进行缓存存储;即将同一MAC地址的数据报文存储在同一报文队列对应的块存储空间中,将同一IP地址的数据报文存储在同一报文队列对应的块存储空间中。
缓存管理模块一般将系统内存按照块划分,每个块存储空间有固定大小(例如16KB空间),且对应有一个BD针指,用于记录块存储空间内的数据报文和存储、读取寻址操作。当报文队列对应的块存储空间存满固定大小或无法再存入完整的数据报文时,将块存储空间对应的BD信息送入调度管理模块进行BD信息入队操作。调度管理模块接收到BD信息后,按照先进先出的策略,进行相应的BD信息出队操作,读取出队操作的BD信息,将读取的BD信息送入到缓存管理模块,缓存管理模块依据BD信息寻址,读取数据报文,并发送到端口模块发送。请参考图1,图1示例性提供相关技术中一种数据报文的转发系统框架示意图。
缓存管理模块在系统初始时,将全部块存储空间进行初始化,相应的指针存入指针池中,指针池中的指针即为队列存储可用的指针BD信息。请参考图2,图2示例性提供一种缓存初始化的示意图。
且相关技术中,数据报文进入交换机或路由器系统后,需要进行队列存储。当一个新的报文队列对应的数据报文需要存储时,向指针池中申请并取出指针。每个指针指向一个固定大小的块存储空间,例如16KB空间的大小。数据报文在存入相应的报文队列时,不断的向该报文队列对应的块存储空间写入数据报文,直到块存储空间无法再存入数据报文时,缓存管理空间将该块存储空间对应的BD信息送入调度管理模块。请参考图3,图3提供相关技术中报文队列的BD信息入队的示意图。
以上描述的数据报文的转发方法存在如下问题:
问题1:每个报文队列分配得到的块存储空间需要存满固定大小,或者无法再存入完整报文后,才将块存储空间对应的BD信息发送到调度管理模块,因此会造成数据报文在转发过程中存在一定程度上的延迟。且当数据报文的流量较小时,存满块存储空间所需的时间越长,也就是说数据报文等待被转发时的等待时间越长,数据报文转发的延迟越大。
因此,相关技术中针对问题1给出一种解决的技术方案,即在缓存管理模块内部设立片上缓存,在数据报文的流量较小的情况下,经过片上缓存路径,片上缓存内的块大小设立小于片外缓存,例如,片外为16KB,片内为512B,因此可通过片上缓存的方式降低数据报文转发延迟,但是该方式需要消耗额外的片上缓存空间,加大对芯片或系统的资源需求。
问题2:数据报文正常输入不中断的情况下,每个块存储空间都会被存满,并在存满后,将相应的BD信息送入到调度管理模块,完成后续的数据报文转发流程。但特殊的,当数据报文中断,且块存储空间未被填满情况下,BD信息无法被送入到调度管理模块,导致部分数据报文残留在块存储空间中。
因此,相关技术中针对问题2给出一种解决的技术方案,即引入定时查看机制,内部需要设置定时器,不断的查看块存储空间中是否残留数据报文,如果残留数据报文查过一定时间,则将相应的BD信息无条件送入到调度管理模块,完成后续流程。在报文队列数量较少情况下,轮询完所有报文队列所需的时间较短;但报文队列数量较多情况下,轮询需要的时间较长。因此数据报文传输的时延与报文队列数量相关,且当系统报文队列数量达到K级别时,延迟时间最长,可能会达到毫秒级。
有鉴于此,本申请实施例提供一种数据报文的转发方法及装置,用以降低数据报文的传输时延。
在本申请实施例中,设置多队列低延迟缓存管理机制,即将多个报文队列对应的报文数据捆绑存入低延迟队列,并将多队列低延迟缓存管理机制作用于交换机或路由器系统中的缓存管理模块,能有效地用于提升交换机或路由器系统的数据报文转发性能和低延迟特性,满足高性能数据报文存储转发需求,有效提升片外缓存的带宽利用率,降低资源消耗。
在介绍完本申请实施例的设计构思之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定,在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
请参考图4,图4示例性提供本申请实施例中的一种应用场景,该应用场景中包括第一终端设备40、交换机41以及第二终端设备42;其中,第一终端设备40和第二终端设备42可通过交换机41进行数据报文的传输,以达到信息交互。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的数据报文的转发方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
为了降低数据报文的传输时延,本申请实施例中:在接收到数据报文后,先确定数据报文对应的报文队列的存储状态;然后,基于存储状态确定是将数据报文捆绑入低延迟队列进行存储,还是将数据报文存入相应的报文队列。
因此,本申请实施例提供的交换机或路由器系统中的缓存管理模块中设置有低延迟队列和报文队列。
请参考图5,图5示例性提供本申请实施例中一种交换机或路由器系统500的架构示意图,包括:端口模块501、缓存管理模块502以及调度管理模块503;其中:
端口模块501,用于接收和发送数据报文;
缓存管理模块502,用于管理交换机或路由器系统存储内存,将数据报文进行存储,并形成存储队列的BD信息,且在缓存管理模块502内部设置两种状态下的存储队列:低延迟队列和报文队列,且低延迟队列的BD信息称为第一BD信息,报文队列的BD信息称为第二BD信息;其中,低延迟队列用于存储报文队列为第一状态时存入的各种数据报文,各种数据报文中包括访问地址信息一致的数据报文和/或访问地址信息不一致的数据报文,报文队列用于存储与接收到的目标数据报文访问的地址信息一致的数据报文。
调度管理模块503,用于将报文队列当前对应的第二BD信息进行入队操作,并按照先进先出的原则,在报文队列对应的第二BD信息链表中,选取最先入队的第二BD信息,并将选取的第二BD信息进行调度出队,以及在调度管理模块503中设置信用监测,以及状态监测,以实时监测报文队列的目标信用点,并基于报文队列的目标信用点切换报文队列的存储状态。
基于上述交换机或路由器系统500的架构,本申请实施例提供一种数据报文转发的方法,请参考图6,图6示例性提供本申请实施例中一种数据报文的转发方法流程图,包括如下步骤:
步骤S600,监测当前接收到的目标数据报文对应的报文队列的存储状态。
其中,报文队列用于存储与目标数据报文访问的地址信息一致的数据报文。
在本申请实施例中,通过报文队列对应的目标信用点、剩余队列长度中的至少一种,监测当前接收到的目标数据报文对应的报文队列的存储状态。
下面,分别对基于目标信用点,和基于剩余队列长度,监测报文队列的存储状态进行详细说明。
方式一:基于目标信用点,监测报文队列的存储状态。
在一种可能的实现方式中,通过交换机或路由管理系统中的调度管理模块监测报文队列的目标信用点,并基于目标信用点,确定目标数据报文对应的报文队列的存储状态,目标信用点是基于分配给报文队列的第一信用点,以及转发报文队列对应的数据报文时,基于转发的数据报文的总流量确定扣减的第二信用点确定的,用于表征转发数据报文的转发速率。
请参考图7,图7示例性提供本申请实施例中一种基于目标信用点监测存储状态的示意图;其中,设置信用监测和存储状态监测功能,以用于确定报文队列的存储状态。由于针对每个报文队列监测存储状态的方式相同,因此本申请实施例中仅以一个报文队列进行举例说明。
在本申请实施例中,对每个报文队列周期性地分配第一信用点,且在转发该报文队列对应的数据报文时,基于转发的数据报文的总流量,对信用点进行扣减,并确定扣减的第二信用点,基于分配获得的第一信用点,和转发数据报文时扣减的第二信用点,确定目标信用点,然后基于目标信用点确定报文队列的存储状态。
一般地,设置一个信用点阈值,将目标信用点与信用点阈值进行比较,当目标信用点大于信用点阈值时,说明该报文队列转发数据报文的速率比较慢,也就是说当前存储的数据报文的总流量较小,因此存储状态为第一状态。
相反的,当目标信用点小于信用点阈值时,说明该报文队列转发数据报文的速率较快,也就是说当前存储的数据报文的总流量较大,因此存储状态为第二状态。
比如,以速率100Mbps的量按照1毫秒周期性的分配信用点,则每毫秒分配的信用点量为0.1Mb。如果此时数据报文的转发速率达到1000Mbps,大约每1毫秒扣减1Mb信用点,扣减的第二信用点的量大于分配的第一信用点的量,则很快将信用点扣减到负值状态,此时确定报文队列的存储状态为第二状态。当数据报文的转发速率小于100Mbps时,大约每1毫秒扣减的信用点小于0.1Mb,报文队列的目标信用点不会变成负数,则确定该报文队列为第一状态。
方式二:基于剩余队列长度,监测报文队列的存储状态。
在一种可能的实现方式中,通过交换机或路由管理系统中的调度管理模块监测报文队列的剩余队列长度,并基于剩余队列长度,确定目标数据报文对应的报文队列的存储状态。
一般地,设置一个队列长度阈值,将剩余队列长度与队列长度阈值进行比较,当剩余队列长度大于队列长度阈值时,说明当前存储的数据报文的总流量较小,因此存储状态为第一状态。
相反的,当剩余队列长度小于队列长度阈时,说明当前存储的数据报文的总流量较大,因此存储状态为第二状态。
步骤S601,确定存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间,第一状态用于表征报文队列存储的数据报文的总流量小于流量阈值。
由于交换机或路由管理系统不断接收数据报文,每接收一个数据报文,就会监测当前接收到的目标数据报文对应的报文队列的存储状态,并基于存储状态对当前接收到的目标数据报文存储;
一般的,确定当前接收到的目标数据报文对应的报文队列为第一状态时,就会将该数据报文存储至低延迟队列中,因此低延迟队列中不断有在监测到报文队列为第一状态情况下的数据报文存入;
又因为接收到的数据报文可能是访问同一地址信息的数据报文,也可能是访问不同地址信息的数据报文,但不管是访问同一地址信息的数据报文,还是访问不同地址信息的数据报文,在监测到相应的报文队列为第一状态时,均存入低延迟队列,因此,本申请实施例中的低延迟队列用于存储访问地址信息一致的数据报文和/或访问地址信息不一致的数据报文。
在本申请实施例中,在确定报文队列的存储状态为第一状态时,说明报文队列当前的数据报文流量较小,不能及时发送,为了保证数据报文传输的效率,将目标数据报文存入低延迟队列对应的第一类块存储空间。
由于交换机或路由器系统不断的接收目标数据报文,每接收到一个目标数据报文后,就监测该目标数据报文对应的报文队列的存储状态,并在确定存储状态为第一状态后,将目标数据报文存储至低延迟队列对应的第一类块存储空间中。
因此,在本申请实施例中,将多个存储状态为第一状态的报文队列的数据报文进行捆绑式存储,请参考图8,图8示例性提供本申请实施例中一种报文队列捆绑存储的示意图。
具体的,通过端口模块接收到目标数据报文后,以队列号为索引寻址得到对应的报文队列的第二BD信息,其中,第二BD信息内存放当前报文队列的报文存储指针、报文数、总流量等信息。因此,将得到目标数据报文对应的报文队列捆绑进入低延迟队列的流量,即将多个报文队列的数据报文捆绑存储至低延迟队列对应的第一类块存储空间。
请参考图9,图9示例性提供本申请实施例中一种报文队列捆绑存储片外访问的示意图。
在报文队列的数据报文捆绑存储的情况下,所有报文队列都共同对应同个存储块。报文队列在进行存储时,向片外存储器发起写操作,由于存储块相同,所以报文队列发起的写操作地址连续。如图9所示,队列0-3存储发起地址为:块0地址、块0地址、块0地址、块0地址。该情况下访问地址连续合并,利于片外存储器提升存储性能,提升了交换机或路由器系统的存储转发性能,且减少片上资源的消耗。
步骤S602,当满足第一条件时,将第一类块存储空间中存储的数据报文转发。
在一种可能的实现方式中,当第一类块存储空间存储的数据报文的总量达到第一阈值时,将第一类块存储空间中存储的数据报文转发;或
当第一类块存储空间的剩余空间无法在存入一个完整数据报文时,将第一类块存储空间中存储的数据报文转发;
具体的,在存储状态为第一状态的情况下,端口接收到数据报文后,以队列号为索引寻址得到对应队列捆绑进入低延迟队列的流量,进行累加操作,即确定第一类块存储空间中存储的总流量,且在进入低延迟队列后,不再依据队列号进行相应的报文队列存储操作,而直接进入低延迟队列存储。当总流量超过固定阀值,例如16KB后,或剩余空间无法存入一个完整的数据报文后,将低延迟队列对应的第一BD信息送入调度管理模块,进行第一BD信息入队,同时立刻进行出队操作,不经过调度模块的策略出队,即入队的第一BD信息和出队的第一BD信息一致,在确定出队的第一BD信息后,基于出队的第一BD信息寻址内存,读取第一类块存储空间中存储的数据报文,并转发。
需要说明的是,当总量超过固定阈值,或剩余空间无法存入一个完整的数据报文后,将各个目标数据报文以及相应的队列号对应的报文队列等信息送入调度管理模块,以使调度管理模块基于该信息对报文队列的信用点进行扣减,并进一步确定报文队列的存储状态。
在另一种可能的实现方式中,定时检测低延迟队列对应的第一BD信息,确定第一BD信息有效后,将第一类块存储空间中存储的数据报文转发。
捆绑操作有利于提升报文转发延迟特性,特别是在数据报文转发速率较低的情况下。数据报文速率较低时,每个队列都需独立的填充16KB大小的缓存空间后,才能将第一BD信息进行入队操作,进入转发流程。而捆绑操作将各队列的小流量汇聚成大流量,提升填充16KB缓存块的速率。例如:10个报文队列,每个报文队列每毫秒填充1KB的存储空间,则需要16毫秒才能填充完成后送出第一BD信息,进入转发流程。该情况下,报文的延迟达到16毫秒。如果对队列进行捆绑操作,则10个报文队列捆绑入同个低延迟队列,延迟时间从16毫秒降低为1.6毫秒。
在此基础上,为低延迟队列设置定时器,请参考图8,用于再次提升低延迟特性,并且保证捆绑入低延迟队列的数据报文不发生残留现象。定时器按照固定周期,强制将低延迟队列的第一BD信息送入调度管理模块。例如设置定时器周期为10us,则在10us周期后,如果当前低延迟队列的第一BD信息是有效的,则将第一BD信息送入调度管理模块。以上文提到的10个队列为例,延迟将从1.6毫秒提升至10us。
在本申请实施例中,目标数据报文对应的报文队列的存储状态还可能为第二状态,当存储状态为第二状态时,将目标数据报文存储至相应的数据报文队列对应的第二类块存储空间中。请参考图10,图10示例性提供本申请实施例中另一种数据报文的转发方法流程图,包括如下步骤:
步骤S1000,监测当前接收到的目标数据报文对应的报文队列的存储状态。
需要说明的是,步骤S1000的实施方式,可参见步骤S600,在此不再重复赘述。
步骤S1001,确定存储状态为第二状态时,将目标数据报文存储至相应的报文队列对应的第二类块存储空间,其中,第二状态用于表征报文队列存储的数据报文的总流量大于流量阈值。
在本申请实施例中,在确定报文队列的存储状态为第二状态时,说明报文队列当前的数据报文流量较大,则将目标数据报文存储至相应的报文队列。
由于交换机或路由器系统不断的接收目标数据报文,每接收到一个目标数据报文后,就监测该目标数据报文对应的报文队列的存储状态,并在确定存储状态为第二状态后,将目标数据报文存入相应的报文队列中。
因此,在本申请实施例中,将多个存储状态为第二状态的报文队列的数据报文进行分散式存储,请参考图11,图11示例性提供本申请实施例一种报文队列分散存储的示意图。
具体的,通过端口模块接收到目标数据报文后,以队列号为索引寻址得到对应队列的第二BD信息。第二BD信息内存放当前报文队列的报文存储指针、报文数、总流量等信息。其中每个BD内仅存放一个报文队列的数据报文。
请参考图12,图12示例性提供本申请实施例中一种报文队列分散存储片外访问的示意图。
在报文队列的数据报文分散存储的情况下,每个报文队列存储都对应各自的存储块。报文队列在进行存储时,向片外存储器发起写操作,由于存储块不同,所以队列发起的写操作地址无法连续。如图12所示,队列0-3存储发起地址为:块0地址、块1地址、块2地址、块3地址。
步骤S1002,当满足第二条件时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文。
在一种可能的实现方式中,当第二类块存储空间存储的数据报文的总量达到第二阈值时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文;或
当第二类块存储空间的剩余空间无法在存入一个完整数据报文时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文;
具体的,在存储状态为第二状态的情况下,端口接收到数据报文后,以队列号为索引寻址得到对应队列的第二BD信息。第二BD信息内存放当前报文队列的报文存储指针、报文数、总流量等信息。其中每个第二BD内仅存放一个报文队列的数据报文,即一个第二BD信息对应的第二类块存储空间中存储同一个报文队列的数据报文,当每个第二BD信息对应的第二类块存储空间存储的数据报文的总流量超过固定阈值,例如16KB后,或剩余空间无法存入一个完整的数据报文后,将第二BD信息送入调度管理模块,进行第二BD信息入队,入队后的第二BD信息参与调度管理进行策略调度出列,确定调度出队的第二BD信息,此时入队的第二BD信息和出队的第二BD信息不一致,基于出队的第二BD信息寻址内存,读取出队的第二BD信息对应的第二类块存储空间中存储的数据报文,并转发。
在数据报文正常输入不中断的情况下,每个第二类块存储空间都会填充完整,且将相应的第二BD信息送入到调度管理模块,完成后续流程。
当数据报文中断,且第二类块存储空间块未填满情况下,第二BD信息无法送出,导致部分数据报文残留在第二类块存储空间内。为了减少残留,快速将数据报文转发,本申请实施例中基于存储状态的切换为触发点,即在报文队列的存储状态由第二状态切换至第一状态时,强制将第二BD信息送入到调度管理模块。
因此,在一种可能的实现方式中,确定报文队列的存储状态发生变化时,将第二类块存储空间中存储的数据报文转发。此时分散存储机制下,数据报文实现了不残留。同时,在报文队列切换至第一状态后,采用捆绑存储机制,再由该机制保障捆绑存储报文不残留。
需要说明的是,为了减少数据报文的等待时延,提升数据报文的转发效率,一般地,设置第一类块存储空间不大于第二类块存储空间。
请参考图13,图13示例性提供本申请实施例中一种具体实施的数据报文的转发方法流程图,包括如下步骤:
步骤S1300,通过交换机或路由器系统的端口模块接收目标数据报文。
步骤S1301,识别目标数据报文访问的地址信息,并基于识别出的地址信息,确定目标数据报文对应的报文队列;
一般地,采用报文队列的方式存储数据报文,并将访问同一地址信息的数据报文存储至同一报文队列,但是在本申请实施例中,需要根据该数据报文相应的报文队列的存储状态,确定是否将该数据报文存入相应的报文队列中。
因此,本申请实施例中,应先识别目标数据报文对应的报文队列,然后,在确定该报文队列的存储状态。
步骤S1302,监测当前接收到的目标数据报文对应的报文队列的存储状态。
步骤S1303,判断存储状态是否为:用于表征数据报文的总流量小于流量阈值的第一状态,若是则执行步骤S1304,否则执行步骤S1306。
步骤S1304,确定存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间;
在一种可能的实现方式中,将目标数据报文存入低延迟队列对应的第一类块存储空间,即将目标数据报文存入低延迟队列。
步骤S1305,当满足第一条件时,将第一类块存储空间对应的第一BD信息入队,并基于调度管理确定出队的第一BD信息;
在一种可能的实现方式中,当第一类块存储空间对应的第一BD信息入队后,在调度管理模块中并不会参与调度管理策略,而是将入队的调度信息直接进行出队操作,即入队的第一BD信息和出队的第一BD信息一致。
步骤S1306,确定存储状态为用于表征数据报文的总流量大于流量阈值的第二状态时,将目标数据报文存储至相应的报文队列对应的第二类块存储空间;
在一种可能的实现方式中,将目标数据报文存入相应的报文队列对应的第二类块存储空间,即将目标数据报文存入相应的报文队列。
步骤S1307,当满足第二条件时,将第二类块存储空间对应的第二BD信息入队,并基于调度管理确定出队的第二BD信息;
在一种可能的实现方式中,当第二类块存储空间对应的第二BD信息入队后,在调度管理模块中参与先进先出的调度管理策略,确定出队的第二BD信息,此时入队的第二BD信息和出队的第二BD信息可能不一致。
步骤S1308,基于调度管理出队的第一BD信息或第二BD信息寻址内存,读取相应的数据报文,并将读取的数据报文通过端口模块发出。
需要说明的是,上述实施例的实现方式可扩展到其他需要按照队列、类别进行信息数据存储转发的设备或系统中。
本申请实施例中,在片外缓存中划分低延迟队列对应的第一类块存储空间,提升片外存储的带宽利用率,且减少片上资源的消耗。
同时,本申请实施例中,当接收到目标数据报文后,确定目标数据报文对应的报文队列,并监测报文队列对应的存储状态,在确定存储状态为第一状态时,说明目标数据报文对应的报文队列当前存储的数据报文的总流量较小,由于报文队列用于存储与目标数据报文访问的地址信息一致的数据报文,因此将目标数据报文存储至报文队列时,等到数据报文的总流量满足数据报文的转发条件时,才会被转发,导致数据报文传输延时。因此,在确定目标数据报文对应的报文队列的存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间,由于低延迟队列用于存储与目标数据报文访问的地址信息一致和/或不一致的数据报文,因此很快就可以使数据报文的总流量满足数据报文的转发条件,并在满足转发条件时,将第一类块存储空间中存储的数据报文转发,有效降低多报文队列的数据报文存储转发时延,提升多报文队列的数据报文转发性能。
与本申请上述方法实施例基于同一发明构思,本申请实施例中还提供了一种数据报文的转发装置,该装置解决问题的原理与上述实施例的方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
请参考图14,图14示例性提供本申请实施例中一种数据报文的转发装置结构图,该数据报文的转发装置1400中,包括监测单元1401、存储单元1402以及转发单元1403,其中:
监测单元1401,用于监测当前接收到的目标数据报文对应的报文队列的存储状态;报文队列用于存储与目标数据报文访问的地址信息一致的数据报文;
存储单元1402,用于确定存储状态为第一状态时,将目标数据报文存储至低延迟队列对应的第一类块存储空间;其中,第一状态用于表征报文队列存储的数据报文的总流量小于流量阈值;
转发单元1403,用于当满足第一条件时,将第一类块存储空间中存储的数据报文转发。
在一种可能的实现方式中,监测单元1401具体用于:
监测报文队列的目标信用点,并基于目标信用点,确定目标数据报文对应的报文队列的存储状态,目标信用点用于表征转发数据报文的转发速率;或
监测报文队列的剩余队列长度,并基于剩余队列长度,确定目标数据报文对应的报文队列的存储状态。
在一种可能的实现方式中,监测单元1401具体用于:
针对报文队列,确定分配给报文队列的第一信用点,以及转发报文队列对应的数据报文时,基于转发的数据报文的总流量确定扣减的第二信用点;
基于第一信用点,以及第二信用点,确定目标信用点。
在一种可能的实现方式中,转发单元1403具体用于:
当第一类块存储空间存储的数据报文的总量达到第一阈值时,将第一类块存储空间中存储的数据报文转发;或
定时检测低延迟队列对应的第一BD信息,确定第一BD信息有效后,将第一类块存储空间中存储的数据报文转发。
在一种可能的实现方式中,存储单元1402还用于:
确定存储状态为第二状态时,将目标数据报文存储至相应的报文队列对应的第二类块存储空间,第二状态用于表征报文队列存储的数据报文的总流量大于流量阈值;
当满足第二条件时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文。
在一种可能的实现方式中,转发单元1403还用于:
当第二类块存储空间存储的数据报文的总量达到第二阈值时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文;或
确定报文队列的存储状态由第二状态切换至第一状态时,将第二类块存储空间对应的第二BD信息送出,以转发第二类块存储空间中存储的数据报文。
在一种可能的实现方式中,第一类块存储空间不大于第二类块存储空间。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的话题推荐方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的用于话题推荐的装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与本申请上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备150,如图15所示,包括至少一个处理器1501,以及与至少一个处理器连接的存储器1502,本申请实施例中不限定处理器1501与存储器1502之间的具体连接介质。图15中,处理器1501和存储器1502之间通过总线连接为例。总线可以分为地址总线、数据报文总线、控制总线等。
在本申请实施例中,存储器1502存储有可被至少一个处理器1501执行的指令,至少一个处理器1501通过执行存储器1502存储的指令,可以执行前述的数据报文的转发方法中所包括的步骤。
其中,处理器1501是电子设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器1502内的指令以及调用存储在存储器1502内的数据报文,从而获得客户端地址。可选的,处理器1501可包括一个或多个处理单元,处理器1501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、定位目标界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1501中。在一些实施例中,处理器1501和存储器1502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(StaticRandom Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(ReadOnly Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1502是能够用于携带或存储具有指令或数据报文结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据报文。
在一些可能的实施方式中,本申请提供的数据报文的转发方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据报文的转发方法中的步骤,例如,电子设备可以执行如图5中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据报文的转发方法,其特征在于,所述方法包括:
监测当前接收到的目标数据报文对应的报文队列的存储状态;所述报文队列用于存储与所述目标数据报文访问的地址信息一致的数据报文;
确定所述存储状态为第一状态时,将所述目标数据报文存储至低延迟队列对应的第一类块存储空间;其中,所述第一状态用于表征所述报文队列存储的数据报文的总流量小于流量阈值;
当满足第一条件时,将所述第一类块存储空间中存储的数据报文转发。
2.如权利要求1所述的方法,其特征在于,所述监测当前接收到的目标数据报文对应的报文队列的存储状态,包括:
监测所述报文队列的目标信用点,并基于所述目标信用点,确定所述目标数据报文对应的报文队列的存储状态,所述目标信用点用于表征转发数据报文的转发速率;或
监测所述报文队列的剩余队列长度,并基于所述剩余队列长度,确定所述目标数据报文对应的报文队列的存储状态。
3.如权利要求2所述的方法,其特征在于,所述监测所述报文队列的目标信用点,包括:
针对所述报文队列,确定分配给所述报文队列的第一信用点,以及转发所述报文队列对应的数据报文时,基于转发的数据报文的总流量确定扣减的第二信用点;
基于所述第一信用点,以及所述第二信用点,确定所述目标信用点。
4.如权利要求1所述的方法,其特征在于,所述当满足第一条件时,将所述第一类块存储空间中存储的数据报文转发,包括:
当所述第一类块存储空间存储的数据报文的总量达到第一阈值时,将所述第一类块存储空间中存储的数据报文转发;或
定时检测所述低延迟队列对应的第一缓存描述符BD信息,确定所述第一BD信息有效后,将所述第一类块存储空间中存储的数据报文转发。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述存储状态为第二状态时,将所述目标数据报文存储至相应的报文队列对应的第二类块存储空间,其中,所述第二状态用于表征所述报文队列存储的数据报文的总流量大于流量阈值;
当满足第二条件时,将所述第二类块存储空间对应的第二缓存描述符BD信息送出,以转发所述第二类块存储空间中存储的数据报文。
6.如权利要求5所述的方法,其特征在于,所述当满足第二条件时,将所述第二类块存储空间对应的所述第二BD信息送出,以转发所述第二类块存储空间中存储的数据报文,包括:
当所述第二类块存储空间存储的数据报文的总量达到第二阈值时,将所述第二类块存储空间对应的所述第二BD信息送出,以转发所述第二类块存储空间中存储的数据报文;或
确定所述报文队列的存储状态由所述第二状态切换至所述第一状态时,将所述第二类块存储空间对应的所述第二BD信息送出,以转发所述第二类块存储空间中存储的数据报文。
7.如权利要求5所述的方法,其特征在于,所述第一类块存储空间不大于所述第二类块存储空间。
8.一种数据报文的转发装置,其特征在于,所述装置包括:
监测单元,用于监测当前接收到的目标数据报文对应的报文队列的存储状态;所述报文队列用于存储与所述目标数据报文访问的地址信息一致的数据报文;
存储单元,用于确定所述存储状态为第一状态时,将所述目标数据报文存储至低延迟队列对应的第一类块存储空间;其中,所述第一状态用于表征所述报文队列存储的数据报文的总流量小于流量阈值;
转发单元,用于当满足第一条件时,将所述第一类块存储空间中存储的数据报文转发。
9.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~7中任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~7中任一所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558739.0A CN114257559B (zh) | 2021-12-20 | 2021-12-20 | 一种数据报文的转发方法及装置 |
PCT/CN2022/134231 WO2023116340A1 (zh) | 2021-12-20 | 2022-11-25 | 一种数据报文的转发方法及装置 |
US18/317,969 US20230283578A1 (en) | 2021-12-20 | 2023-05-16 | Method for forwarding data packet, electronic device, and storage medium for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111558739.0A CN114257559B (zh) | 2021-12-20 | 2021-12-20 | 一种数据报文的转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257559A CN114257559A (zh) | 2022-03-29 |
CN114257559B true CN114257559B (zh) | 2023-08-18 |
Family
ID=80795840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111558739.0A Active CN114257559B (zh) | 2021-12-20 | 2021-12-20 | 一种数据报文的转发方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230283578A1 (zh) |
CN (1) | CN114257559B (zh) |
WO (1) | WO2023116340A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114257559B (zh) * | 2021-12-20 | 2023-08-18 | 锐捷网络股份有限公司 | 一种数据报文的转发方法及装置 |
CN114827288B (zh) * | 2022-03-30 | 2024-06-25 | 阿里云计算有限公司 | 数据转发设备、数据处理方法及计算机可读存储介质 |
CN116055420A (zh) * | 2022-12-07 | 2023-05-02 | 蔚来汽车科技(安徽)有限公司 | 整合办公网络与工业网络后的信息传输方法及控制装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850999B1 (en) * | 2002-11-27 | 2005-02-01 | Cisco Technology, Inc. | Coherency coverage of data across multiple packets varying in sizes |
WO2017167674A1 (en) * | 2016-03-31 | 2017-10-05 | Koninklijke Philips N.V. | An imaging system and a communication platform for communication among a plurality of nodes of the imaging system |
CN113454957A (zh) * | 2019-02-22 | 2021-09-28 | 华为技术有限公司 | 一种存储器的管理方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020176430A1 (en) * | 2001-01-25 | 2002-11-28 | Sangha Onkar S. | Buffer management for communication systems |
US9485200B2 (en) * | 2010-05-18 | 2016-11-01 | Intel Corporation | Network switch with external buffering via looparound path |
CN102571559B (zh) * | 2011-12-12 | 2014-07-30 | 北京交控科技有限公司 | 基于时间触发的网络报文发送方法 |
US10419370B2 (en) * | 2015-07-04 | 2019-09-17 | Avago Technologies International Sales Pte. Limited | Hierarchical packet buffer system |
US10715441B2 (en) * | 2015-09-04 | 2020-07-14 | Arista Networks, Inc. | System and method of a high buffered high bandwidth network element |
WO2021128104A1 (zh) * | 2019-12-25 | 2021-07-01 | 华为技术有限公司 | 一种报文缓存方法、集成电路系统及存储介质 |
CN113382442B (zh) * | 2020-03-09 | 2023-01-13 | 中国移动通信有限公司研究院 | 报文传输方法、装置、网络节点及存储介质 |
CN114257559B (zh) * | 2021-12-20 | 2023-08-18 | 锐捷网络股份有限公司 | 一种数据报文的转发方法及装置 |
-
2021
- 2021-12-20 CN CN202111558739.0A patent/CN114257559B/zh active Active
-
2022
- 2022-11-25 WO PCT/CN2022/134231 patent/WO2023116340A1/zh unknown
-
2023
- 2023-05-16 US US18/317,969 patent/US20230283578A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850999B1 (en) * | 2002-11-27 | 2005-02-01 | Cisco Technology, Inc. | Coherency coverage of data across multiple packets varying in sizes |
WO2017167674A1 (en) * | 2016-03-31 | 2017-10-05 | Koninklijke Philips N.V. | An imaging system and a communication platform for communication among a plurality of nodes of the imaging system |
CN113454957A (zh) * | 2019-02-22 | 2021-09-28 | 华为技术有限公司 | 一种存储器的管理方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种应用于星载交换机的DDR3共享存储交换结构的设计与实现;王雷淘;乔庐峰;续欣;;通信技术(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20230283578A1 (en) | 2023-09-07 |
WO2023116340A1 (zh) | 2023-06-29 |
CN114257559A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114257559B (zh) | 一种数据报文的转发方法及装置 | |
US7505410B2 (en) | Method and apparatus to support efficient check-point and role-back operations for flow-controlled queues in network devices | |
CA2575869C (en) | Hierarchal scheduler with multiple scheduling lanes | |
KR100817676B1 (ko) | 동적 클래스-기반 패킷 스케쥴링 방법 및 장치 | |
US20200192715A1 (en) | Workload scheduler for memory allocation | |
KR102082020B1 (ko) | 다수의 링크된 메모리 리스트들을 사용하기 위한 방법 및 장치 | |
US9602436B2 (en) | Switching device | |
US7995472B2 (en) | Flexible network processor scheduler and data flow | |
US11700209B2 (en) | Multi-path packet descriptor delivery scheme | |
US20110002345A1 (en) | Method and apparatus for dequeuing data | |
EP4002119A1 (en) | System, apparatus, and method for streaming input/output data | |
CN109962859A (zh) | 一种报文调度方法及设备 | |
US10868769B1 (en) | Read instruction queues in a network device | |
CN107025184B (zh) | 一种数据管理方法及装置 | |
US9336162B1 (en) | System and method for pre-fetching data based on a FIFO queue of packet messages reaching a first capacity threshold | |
US10846225B1 (en) | Buffer read optimizations in a network device | |
CN114531488A (zh) | 一种面向以太网交换器的高效缓存管理系统 | |
CN113126911A (zh) | 基于ddr3 sdram的队列管理方法、介质、设备 | |
US8156265B2 (en) | Data processor coupled to a sequencer circuit that provides efficient scalable queuing and method | |
US10742558B1 (en) | Traffic manager resource sharing | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 | |
CN117632392A (zh) | 任务调度的方法和电子设备 | |
US20230396561A1 (en) | CONTEXT-AWARE NVMe PROCESSING IN VIRTUALIZED ENVIRONMENTS | |
CN117931391A (zh) | 一种基于rmda的无损高效的数据处理方法及网络接口卡 | |
CN117749726A (zh) | Tsn交换机输出端口优先级队列混合调度方法和装置 |
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 |