CN108259369A - 一种数据报文的转发方法及装置 - Google Patents
一种数据报文的转发方法及装置 Download PDFInfo
- Publication number
- CN108259369A CN108259369A CN201810079177.3A CN201810079177A CN108259369A CN 108259369 A CN108259369 A CN 108259369A CN 201810079177 A CN201810079177 A CN 201810079177A CN 108259369 A CN108259369 A CN 108259369A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- core
- receiving queue
- message receiving
- queue
- 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
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/33—Flow control; Congestion control using forward notification
-
- 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/13—Flow control; Congestion control in a LAN segment, e.g. ring or bus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种数据报文的转发方法,涉及通信技术领域,可以实现路由设备逐包转发数据报文,并且能够在一定程度上提升路由设备转发数据报文的转发性能。该方法应用于路由设备,该路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列,该方法包括:每个转发核确定通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列;并且每个转发核确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据报文的转发方法及装置。
背景技术
随着通信技术的发展,路由器可以工作于多核环境中,采用逐流方式或者逐包的方式转发数据报文。
由于大多数路由器默认的转发方式为逐流转发方式,并且路由器不具备支持逐包转发数据报文的通信接口芯片,因此,目前在采用逐包的方式转发数据包报文的过程中,在软件实现上,可以将多个转发核中的一个转发核用于数据报文的分发,通过路由器的通信接口芯片接收到数据报文之后,该用于数据报文的分发的转发核将数据报文分配到其他转发核的报文队列中,从而其他转发核处理并转发各自的报文队列中的数据报文,实现数据报文的逐包转发。
然而,上述方法中,由于需要将路由器的多个转发核中的一个转发核用于数据报文的分发,该转发核将不能用于转发数据报文,当数据报文的数量较多,用于转发数据报文的转发核减少,如此,可能会导致多核路由器逐包转发数据报文的转发性能较低。
发明内容
本申请提供一种数据报文的转发方法及装置,可以实现路由设备逐包转发数据报文,并且能够在一定程度上提升路由设备转发数据报文的转发性能。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据报文的转发的方法,应用于路由设备,该路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列,该方法可以包括:每个转发核确定通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列;并且每个转发核确定通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列。
在第一方面的第一种可选的实现方式中,上述每个转发核指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列的方法可以包括:每个转发核配置通信接口芯片的默认报文接收队列为预设顺序中下一个转发核对应的报文接收队列,该默认报文接收队列用于指示通信接口芯片将下一个数据报文放入的报文接收队列。
第二方面,提供一种路由设备,该路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列。每个转发核,用于确定通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列;并且确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列。
在第二方面的第一种可选的实现方式中,每个转发核,具体用于配置通信接口芯片的默认报文接收队列为预设顺序中下一个转发核对应的报文接收队列,该默认报文接收队列用于指示通信接口芯片将下一个数据报文放入的报文接收队列。
第三方面,提供一种数据报文的转发装置,该转发装置可以应用于路由设备,该路由设备包括通信接口芯片以及多个转发核,一个转发核对应一个报文接收队列。该数据报文的转发装置包括确定模块和指示模块。其中,确定模块,用于确定通信接口芯片将接收到的数据报文放入每个转发核对应的报文接收队列;指示模块,用于在确定模块确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列。
在第二方面的第一种可选的实现方式中,上述指示模块,具体用于配置通信接口芯片的默认报文接收队列为预设顺序中当前转发核的下一个转发核对应的报文接收队列,该默认报文接收队列用于指示通信接口芯片将下一个数据报文放入的报文接收队列。
在第一方面至第三方面中,上述预设顺序为所有转发核按照预设规则依次排列的环形队列,上述下一个转发核为当前转发核在环形队列中沿顺时针方向或者沿逆时针方向的相邻的转发核。
在第一方面至第三方面中,上述预设顺序为所有转发核的编号按照从小到大的顺序顺时针排列的环形队列;或者,该预设顺序为所有转发核的编号按照从大到小的顺序顺时针排列的环形队列。
在第一方面至第三方面中,上述通信接口芯片的默认报文接收队列初始为路由设备上预先配置的报文接收队列。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质可以包括计算机指令。当该计算机指令在路由设备上运行时,使得该路由设备执行上述第一方面或其任意一种可能的实现方式中的数据报文的转发方法。
第五方面,提供一种包括计算机指令的计算机程序产品,当该计算机程序产品在路由设备上运行时,使得该路由设备执行上述第一方面或其任意一种可能的实现方式中的数据报文的转发方法。
本申请提供的数据报文的转发方法,由于路由设备的多个转发核中的每个转发核确定通信接口芯片将其接收到的数据报文放入本转发核对应的报文接收队列,并且在确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列,从而通信接口芯片接收到下一个数据报文时,可以根据当前转发核的指示将其接收到的数据报文放入下一个转发核对应的报文接收队列,从而该路由设备可以按照逐包转发方式转发数据报文,并且能够在一定程度上提升路由设备转发数据报文的转发性能。
附图说明
图1为本发明实施例提供的一种路由器的硬件示意图;
图2为本发明实施例提供的接收数据报文的示意图;
图3为本发明实施例提供的数据报文的转发方法示意图一;
图4为本发明实施例提供的数据报文的转发方法中预设顺序的示意图;
图5为本发明实施例提供的按照预设顺序在报文接收队列放入数据报文的示意图一;
图6为本发明实施例提供的按照预设顺序在报文接收队列放入数据报文的示意图二;
图7为本发明实施例提供的数据报文的转发方法示意图二;
图8为本发明实施例提供的数据报文的转发装置的结构示意图。
具体实施方式
下面结合附图对本发明实施例提供的数据报文的转发方法及装置进行详细描述。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个转发核是指两个或两个以上的转发核。
此外,本发明的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本发明实施例提供的一种数据报文的转发方法及装置涉及到的一些概念做解释说明。
多核路由器的转发方式分为逐流转发方式和逐包转发方式。
逐流转发方式:指的是将不同的数据流分配至不同的转发核对应的报文接收队列中,即将属于同一个数据流的数据报文分配至同一个报文接收队列,通过对应的转发核完成数据报文的处理。具体的,根据数据流的五元组信息,采用哈希算法确定转发核对应的报文接收队列,从而将属于同一个数据流的数据报文均放入该报文接收队列中。
逐包转发方式:指的是不再区分数据流,而是将所有数据报文按照一定的分配方法,分配至不同的转发核对应的报文接收队列中,通过对应的转发核完成数据报文的转发。
基于背景技术存在的问题,本发明实施例提供一种数据报文的转发方法及装置,对于多核路由设备,路由设备确定通信接口在本转发核对应的报文接收队列放入的数据报文满足预设数量后,每个转发核可以指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列,从而该路由设备可以按照逐包转发方式转发数据报文,并且能够在一定程度上提升路由设备转发数据报文的转发性能。
本发明实施例中,以路由设备为路由器为例对路由设备的硬件结构进行示例性的说明。图1为本发明实施例提供的路由器的硬件示意图,如图1所示,本发明实施例提供的路由器包括:内存10、处理器11、和通信接口芯片12等部件。下面对路由器的各个构成部件进行示例性的说明。
内存10:用于存储路由器的配置、操作系统、路由协议软件、队列中排队等待发送的数据等。路由器中可以有多种内存,如只读内存储器(read only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、闪存(Flash)等。该内存10中还可以存储用于逐包转发数据报文的计算机指令,即控制逐包转发数据报文的软件程序。
处理器11:可以包括多个转发核(图1是以处理器11包括3个转发核为例示意的,该3个转发核分别为转发核1、转发核2和转发核3),路由器的每个转发核对应一个报文接收队列,如图2所示,上述图1中的3个转发核,分别对应的报文接收队列为报文接收队列1、报文接收队列2和报文接收队列3,每个转发核可以读取该转发核对应的报文接收队列中的数据报文,并对该数据报文进行处理。本发明实施例中,每个转发核可以执行内存10中的逐包转发数据报文的计算机指令,指示通信接口芯片向某一报文接收队列放入数据报文,以使路由器实现数据报文的逐包转发。
通信接口芯片12:用于发送和接收数据报文,结合图2,通信接口芯片12接收到其他设备发送的数据报文之后,通信接口芯片12可以根据上述处理器11的转发核的指示,将数据报文分发(也可以理解为分配或者添加)到该转发核指示的报文接收队列。通常,大部分路由器在出厂时,已设置默认的报文接收队列,通信接口芯片12初次接收到数据报文之后,通信接口芯片根据路由器上预先配置的报文接收队列,将数据报文放入该报文接收队列。
如图3所示,本发明实施例提供一种数据报文的转发方法,可以用于逐包转发数据报文的场景中,该方法可以应用于路由设备,该路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列,该方法可以包括S101-S102:
S101、每个转发核确定通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列。
本发明实施例中,路由设备的多个转发核中每个转发核对应一个报文接收队列,以路由设备的一个转发核(以下称为第一转发核)为例,该第一转发核确定通信接口芯片将接收到的数据报文放入该第一转发核对应的报文接收队列,然后该第一转发核可以开始监测通信接口芯片在该第一转发核对应的报文接收队列放入的数据报文的数量。
S102、每个转发核确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列。
本发明实施例中,以上述第一转发核为例,第一转发核确定通信接口芯片在该第一转发核对应的报文接收队列放入预设数量的数据报文后,第一转发核可以指示通信接口芯片将下一个(可以理解为下次接收的)数据报文放入哪一个报文接收队列,假设预设顺序中第一转发核的下一个转发核为第二转发核,从而通信接口芯片下次接收到数据报文(即接收到下一个数据报文)时,该通信接口芯片停止在第一转发核对应的报文接收队列放入数据报文,通信接口芯片可以根据第一转发核的指示,将数据报文放入在第二转发核对应的报文接收队列。
需要说明的是,本发明实施例中,可以根据实际情况确定每个转发核对应的报文接收队列放入的数据报文的预设数量,例如可以根据转发核的处理能力确定,本发明实施例不作具体限定。
上述通信接口芯片在每个转发核对应的报文接收队列放入的数据报文的预设数量可以相同,也可以不同,本发明实施例不作限定。
上述预设顺序为所有转发核按照预设规则依次排列的环形队列,上述下一个转发核为当前转发核在环形队列中沿顺时针方向或者沿逆时针方向的相邻的转发核。
一种可选的实现方式中,上述预设顺序为所有转发核的编号按照从小到大的顺序顺时针排列的环形队列;或者,该预设顺序为所有转发核的编号按照从大到小的顺序顺时针排列的环形队列。
示例性的,假设路由设备包括7个转发核,该7个转发核的编号为1,2,3,4,5,6,7,如图4中的(a)所示,为该7个转发核的编号按照从小到大的顺序顺时针排列的环形队列的示意图,如图4中的(b)所示,为该7个转发核的编号按照从大到小的顺序顺时针排列的环形队列的示意图。
需要说明的是,本发明实施例中,上述预设顺序还可以为所有转发核的编号按照其他符合实际使用需求的顺序顺时针或者逆时针排列的环形队列,对于预设顺序,本发明实施例不作限定。
示例性的,假设路由设备包括7个转发核,如下表1为预设顺序的几个示例。
表1
7个队列的顺序 | 方向 | 预设顺序 |
1234567 | 顺时针 | 12345671234567…… |
7654321 | 顺时针 | 76543217654321…… |
1357246 | 顺时针 | 13572461357246…… |
上述表1中,12345671234567……表示7个转发核按照1234567的顺序顺时针排列的环形队列。
本发明实施例中,通信接口芯片的报文接收队列初始为路由设备上预先配置的报文接收队列,即通信接口芯片接收到第一个数据报文时,通信接口芯片将该数据报文放入该路由设备预先配置的报文接收队列。结合上述预设顺序的示例,若预设顺序为76543217654321……,若路由设备将报文接收队列值初始为4,则通信接口将其接收到的第一个数据报文放入编号为4的转发核对应的报文接收队列。
结合表1,示例性的,若上述预设顺序为12345671234567……,报文接收队列初始为编号为1的转发核对应的报文接收队列,通信接口芯片在每个转发核对应的报文接收队列中放入的数据报文的数量相同,假设通信接口芯片连续接收90个数据报文,按照通信接口芯片接收数据报文的先后顺序可以将90个数据报文平均分为9组,则通信接口芯片需将其连续接收的90个数据报文依次放入9个报文接收队列,每个报文接收队列放入10个数据报文,那么通信接口芯片接收到第1组数据报文时,将该第1组数据报文放入编号为1的转发核对应的报文接收队列(记为报文接收队列1);通信接口芯片接收到第2组数据报文时,将该第2组数据报文放入编号为2的转发核对应的报文接收队列;通信接口芯片接收到第3组数据报文时,将该第3组数据报文放入编号为3的转发核对应的报文接收队列,以此类推,通信接口芯片接收到第8组数据报文时,将该第8组数据报文放入编号为8的转发核对应的报文接收队列;通信接口芯片接收到第9组数据报文时,将该第9组数据报文放入编号为9的转发核对应的报文接收队列,综上,通信接口芯片可以将其接收到的数据报文依次分配至各个转发核对应的报文接收队列,分配结果为123456712(数字为各个转发核的编号),可见通信接口芯片将数据报文在7个转发核对应的报文接收队列进行循环(或者轮转)分配,图5为按照上述12345671234567……的预设顺序在各个转发核对应的报文接收队列放入数据报文的示意图。
按照上述12345671234567……的预设顺序,又假设报文接收队列初始值为编号3的转发核对应的报文接收队列,通信接口芯片接收到第1组数据报文时,将该第1组数据报文放入编号为3的转发核对应的报文接收队列;通信接口芯片接收到第2组数据报文时,将该第2组数据报文放入编号为4的转发核对应的报文接收队列;通信接口芯片接收到第3组数据报文时,将该第3组数据报文放入编号为5的转发核对应的报文接收队列,以此类推,通信接口芯片接收到第8组数据报文时,将该第8组数据报文放入编号为3的转发核对应的报文接收队列;通信接口芯片接收到第9组数据报文时,将该第9组数据报文放入编号为4的转发核对应的报文接收队列,综上通信接口芯片可以将其接收到的数据报文依次分配至各个转发核对应的报文接收队列,分配结果为345671234(数字为各个转发核的编号),图6为按照上述12345671234567……的预设顺序在各个转发核对应的报文接收队列放入数据报文的示意图。
结合上述描述,路由设备包括7个转发核,通信接口芯片接收连续接收90个数据报文,并且在每个报文接收队列放入10个数据报文,如下表2所示,为通信接口芯片在不同的转发核对应的报文接收队列放入数据报文的结果示例。
表2
可选的,本发明实施例中,结合图3,如图7所示,上述S102具体可以通过S102a实现:
S102a、每个转发核确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,每个转发核配置通信接口芯片的默认报文接收队列为预设顺序中下一个转发核对应的报文接收队列。
其中,默认报文接收队列用于指示通信接口芯片将下一个数据报文放入的报文接收队列。
本发明实施例中,仍以上述第一转发核为例,第一转发核配置通信接口芯片的默认报文接收队列为预设顺序中下一个转发核对应的报文接收队列,即第二转发核对应的报文接收队列。具体的,第一转发核可以通过指令来修改通信接口芯片的默认报文接收队列值,将默认报文接收队列值修改为第二转发核的编号,从而通信接口下次接收到数据报文时,通信接口芯片可以根据该通信接口芯片的默认报文接收队列值(即第二转发核的编号),将其接收到的数据报文放入第二转发核对应的报文接收队列。
示例性的,若路由设备包括7个转发核,该7个转发核的编号1至7,若第一转发核的编号为3,第一转发核确定该第一转发核对应的报文接收队列中放入预设数量的数据报文之后,第一转发核将通信接口芯片的默认报文接收队列配置为编号为4转发核(即第二转发核)对应的报文接收队列,如此,通信接口芯片可以将下一个数据报文放入编号为4的转发核对应的报文接收队列。
一种可能的实现方式中,每个转发核可以向通信接口芯片发送指示消息,该指示消息中携带通信接口芯片的默认报文接收队列值(即下一个转发核的编号),如此,通信接口芯片接收到该指示消息之后,通信接口芯片可以根据该指示消息的指示,将其接收的下一个数据报文放入下一个转发核对应的报文接收队列。
本发明实施例提供的数据报文的转发方法及装置,路由设备的多个转发核中的每个转发核确定通信接口芯片将其接收到的数据报文放入本转发核对应的报文接收队列,并且在确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列,从而通信接口芯片接收到下一个数据报文时,可以根据当前转发核的指示将其接收到的数据报文放入下一个转发核对应的报文接收队列,从而该路由设备可以按照逐包转发方式转发数据报文,并且能够在一定程度上提升路由设备转发数据报文的转发性能。
本发明实施例提供一种路由设备,该路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列。其中,每个转发核,用于确定通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列;并且确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列,例如上述每个转发核可以用于支持路由设备执行上述方法实施例中的S101和S102。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
可选的,每个转发核,具体用于配置通信接口芯片的默认报文接收队列为预设顺序中下一个转发核对应的报文接收队列,默认报文接收队列用于指示通信接口芯片将下一个数据报文放入的报文接收队列。例如每个转发核可以用于支持路由设备执行上述方法实施例中的S102a。
本发明实施例提供一种数据报文的转发装置,该转发装置可以应用于路由设备,该路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列,每个转发核均可调用该转发装置实现逐包转发数据报文。如图8所示,该数据报文的转发装置包括确定模块20和指示模块21。其中,确定模块20,用于确定通信接口芯片将接收到的数据报文放入每个转发核对应的报文接收队列,例如确定模块20可以用于支持路由设备执行上述方法实施例中的S101;指示模块21,用于在确定模块20确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列,例如该指示模块21可以用于支持路由设备执行上述方法实施例中的S102。
可选的,上述指示模块21,具体用于配置通信接口芯片的默认报文接收队列为预设顺序中当前转发核的下一个转发核对应的报文接收队列,该默认报文接收队列用于指示通信接口芯片将下一个数据报文放入的报文接收队列,例如该指示模块21可以用于支持路由设备执行上述方法实施例中的S102a。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本发明实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如固态硬盘(solid state drives,简称SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种数据报文的转发方法,其特征在于,应用于路由设备,所述路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列,所述方法包括:
每个转发核确定所述通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列;
所述每个转发核确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示所述通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列。
2.根据权利要求1所述的方法,其特征在于,所述预设顺序为所有转发核按照预设规则依次排列的环形队列,所述下一个转发核为当前转发核在所述环形队列中沿顺时针方向或者沿逆时针方向的相邻的转发核。
3.根据权利要求1或2所述的方法,其特征在于,所述预设顺序为所有转发核的编号按照从小到大的顺序顺时针排列的环形队列;或者,所述预设顺序为所有转发核的编号按照从大到小的顺序顺时针排列的环形队列。
4.根据权利要求1所述的方法,其特征在于,所述每个转发核指示所述通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列,包括:
所述每个转发核配置所述通信接口芯片的默认报文接收队列为预设顺序中下一个转发核对应的报文接收队列,所述默认报文接收队列用于指示所述通信接口芯片将下一个数据报文放入的报文接收队列。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述通信接口芯片的默认报文接收队列初始为所述路由设备上预先配置的报文接收队列。
6.一种路由设备,其特征在于,所述路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列;
每个转发核,用于确定所述通信接口芯片将接收到的数据报文放入本转发核对应的报文接收队列;并且确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示所述通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列。
7.根据权利要求6所述的路由设备,其特征在于,所述预设顺序为所有转发核按照预设规则依次排列的环形队列,所述下一个转发核为当前转发核在所述环形队列中沿顺时针方向或者沿逆时针方向的相邻的转发核。
8.根据权利要求6或7所述的路由设备,其特征在于,所述预设顺序为所有转发核的编号按照从小到大的顺序顺时针排列的环形队列;或者,所述预设顺序为所有转发核的编号按照从大到小的顺序顺时针排列的环形队列。
9.根据权利要求6所述的路由设备,其特征在于,
所述每个转发核,具体用于配置所述通信接口芯片的默认报文接收队列为预设顺序中下一个转发核对应的报文接收队列,所述默认报文接收队列用于指示所述通信接口芯片将下一个数据报文放入的报文接收队列。
10.根据权利要求6-9任一项所述的路由设备,其特征在于,所述通信接口芯片的默认报文接收队列初始为所述路由设备上预先配置的报文接收队列。
11.一种数据报文的转发装置,其特征在于,所述转发装置应用于路由设备,所述路由设备包括通信接口芯片以及多个转发核,每个转发核对应一个报文接收队列,所述转发装置包括确定模块和指示模块;
所述确定模块,用于确定所述通信接口芯片将接收到的数据报文放入每个转发核对应的报文接收队列;
所述指示模块,用于在所述确定模块确定本转发核对应的报文接收队列放入的数据报文满足预设数量后,指示所述通信接口芯片将下一个数据报文放入预设顺序中下一个转发核对应的报文接收队列。
12.根据权利要求11所述的转发装置,其特征在于,所述预设顺序为所有转发核按照预设规则依次排列的环形队列,所述下一个转发核为当前转发核在所述环形队列中沿顺时针方向或者沿逆时针方向的相邻的转发核。
13.根据权利要求11或12所述的转发装置,其特征在于,所述预设顺序为所有转发核的编号按照从小到大的顺序顺时针排列的环形队列;或者,所述预设顺序为所有转发核的编号按照从大到小的顺序顺时针排列的环形队列。
14.根据权利要求11所述的转发装置,其特征在于,
所述指示模块,具体用于配置所述通信接口芯片的默认报文接收队列为预设顺序中当前转发核的下一个转发核对应的报文接收队列,所述默认报文接收队列用于指示所述通信接口芯片将下一个数据报文放入的报文接收队列。
15.根据权利要求11-14任一项所述的转发装置,其特征在于,所述通信接口芯片的默认报文接收队列初始为所述路由设备上预先配置的报文接收队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810079177.3A CN108259369B (zh) | 2018-01-26 | 2018-01-26 | 一种数据报文的转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810079177.3A CN108259369B (zh) | 2018-01-26 | 2018-01-26 | 一种数据报文的转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108259369A true CN108259369A (zh) | 2018-07-06 |
CN108259369B CN108259369B (zh) | 2022-04-05 |
Family
ID=62741992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810079177.3A Active CN108259369B (zh) | 2018-01-26 | 2018-01-26 | 一种数据报文的转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108259369B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286539A (zh) * | 2018-10-31 | 2019-01-29 | 迈普通信技术股份有限公司 | 检测发送异常的方法、装置、通信设备及可读存储介质 |
CN109450816A (zh) * | 2018-11-19 | 2019-03-08 | 迈普通信技术股份有限公司 | 一种队列调度方法、装置、网络设备及存储介质 |
CN110768915A (zh) * | 2019-10-31 | 2020-02-07 | 杭州迪普科技股份有限公司 | 一种分流方法及装置 |
CN111262792A (zh) * | 2020-01-17 | 2020-06-09 | 新华三信息安全技术有限公司 | 报文转发方法、装置、网络设备及存储介质 |
CN111464456A (zh) * | 2020-03-31 | 2020-07-28 | 杭州迪普科技股份有限公司 | 一种流量控制方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158408A (zh) * | 2011-04-01 | 2011-08-17 | 华为技术有限公司 | 数据流处理方法和装置 |
CN102325091A (zh) * | 2011-10-17 | 2012-01-18 | 迈普通信技术股份有限公司 | 内存释放方法和路由系统 |
CN102480430A (zh) * | 2010-11-24 | 2012-05-30 | 迈普通信技术股份有限公司 | 实现报文保序的方法和装置 |
CN102662740A (zh) * | 2012-03-29 | 2012-09-12 | 迈普通信技术股份有限公司 | 非对称多核系统及其实现方法 |
CN102754395A (zh) * | 2009-12-04 | 2012-10-24 | 纳派泰克股份公司 | 由中央控制器控制的接收和存储数据分组的设备和方法 |
CN102801635A (zh) * | 2012-08-30 | 2012-11-28 | 北京傲天动联技术有限公司 | 在多核处理器系统中使用的报文保序方法 |
CN102970244A (zh) * | 2012-11-23 | 2013-03-13 | 上海寰创通信科技股份有限公司 | 一种多cpu核间负载均衡的网络报文处理方法 |
CN103188157A (zh) * | 2011-12-28 | 2013-07-03 | 迈普通信技术股份有限公司 | 一种路由器设备 |
US20160092231A1 (en) * | 2014-09-30 | 2016-03-31 | International Business Machines Corporation | Independent mapping of threads |
CN105630731A (zh) * | 2015-12-24 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 一种多cpu环境下网卡数据处理方法和装置 |
CN107015942A (zh) * | 2017-03-23 | 2017-08-04 | 杭州迪普科技股份有限公司 | 一种多核cpu发包的方法及装置 |
-
2018
- 2018-01-26 CN CN201810079177.3A patent/CN108259369B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102754395A (zh) * | 2009-12-04 | 2012-10-24 | 纳派泰克股份公司 | 由中央控制器控制的接收和存储数据分组的设备和方法 |
CN102480430A (zh) * | 2010-11-24 | 2012-05-30 | 迈普通信技术股份有限公司 | 实现报文保序的方法和装置 |
CN102158408A (zh) * | 2011-04-01 | 2011-08-17 | 华为技术有限公司 | 数据流处理方法和装置 |
CN102325091A (zh) * | 2011-10-17 | 2012-01-18 | 迈普通信技术股份有限公司 | 内存释放方法和路由系统 |
CN103188157A (zh) * | 2011-12-28 | 2013-07-03 | 迈普通信技术股份有限公司 | 一种路由器设备 |
CN102662740A (zh) * | 2012-03-29 | 2012-09-12 | 迈普通信技术股份有限公司 | 非对称多核系统及其实现方法 |
CN102801635A (zh) * | 2012-08-30 | 2012-11-28 | 北京傲天动联技术有限公司 | 在多核处理器系统中使用的报文保序方法 |
CN102970244A (zh) * | 2012-11-23 | 2013-03-13 | 上海寰创通信科技股份有限公司 | 一种多cpu核间负载均衡的网络报文处理方法 |
US20160092231A1 (en) * | 2014-09-30 | 2016-03-31 | International Business Machines Corporation | Independent mapping of threads |
CN105630731A (zh) * | 2015-12-24 | 2016-06-01 | 曙光信息产业(北京)有限公司 | 一种多cpu环境下网卡数据处理方法和装置 |
CN107015942A (zh) * | 2017-03-23 | 2017-08-04 | 杭州迪普科技股份有限公司 | 一种多核cpu发包的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109286539A (zh) * | 2018-10-31 | 2019-01-29 | 迈普通信技术股份有限公司 | 检测发送异常的方法、装置、通信设备及可读存储介质 |
CN109450816A (zh) * | 2018-11-19 | 2019-03-08 | 迈普通信技术股份有限公司 | 一种队列调度方法、装置、网络设备及存储介质 |
CN110768915A (zh) * | 2019-10-31 | 2020-02-07 | 杭州迪普科技股份有限公司 | 一种分流方法及装置 |
CN111262792A (zh) * | 2020-01-17 | 2020-06-09 | 新华三信息安全技术有限公司 | 报文转发方法、装置、网络设备及存储介质 |
CN111262792B (zh) * | 2020-01-17 | 2022-04-01 | 新华三信息安全技术有限公司 | 报文转发方法、装置、网络设备及存储介质 |
CN111464456A (zh) * | 2020-03-31 | 2020-07-28 | 杭州迪普科技股份有限公司 | 一种流量控制方法及装置 |
CN111464456B (zh) * | 2020-03-31 | 2023-08-29 | 杭州迪普科技股份有限公司 | 一种流量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108259369B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108259369A (zh) | 一种数据报文的转发方法及装置 | |
US11509596B2 (en) | Throttling queue for a request scheduling and processing system | |
CN110896355B (zh) | 一种网络切片的选择方法及装置 | |
CN107317887B (zh) | 一种负载均衡方法、装置和系统 | |
US20180307512A1 (en) | Optimal dynamic placement of virtual machines in geographically distributed cloud data centers | |
US8023637B2 (en) | Method and system for hierarchy based contact routing | |
CN110661715A (zh) | 一种业务路径优化方法、装置、设备及可读存储介质 | |
CN108307331A (zh) | 短信发送方法、终端及计算机可读存储介质 | |
US9755924B2 (en) | Network resource requirements of traffic through a multiple stage switch network | |
CN109558446A (zh) | 作业请求方法、装置、电子设备及存储介质 | |
CN106161256A (zh) | 一种边界网关协议bgp路由的处理方法及装置 | |
CN110991808A (zh) | 一种任务分配方法和装置 | |
CN1946061B (zh) | 一种快速处理报文的方法及装置 | |
CN112187864A (zh) | 负载均衡方法、装置、存储介质及电子设备 | |
CN110267276A (zh) | 网络切片部署方法及装置 | |
CN108512782A (zh) | 访问控制列表分组调整方法、网络设备和系统 | |
CN108170533A (zh) | 报文的处理方法及装置、计算机可读存储介质 | |
US20230388996A1 (en) | Systems and methods for application aware slicing in 5g layer 2 and layer 1 using fine grain scheduling | |
CN110290228B (zh) | 一种互联网协议ip地址分配方法及装置 | |
CN105243078A (zh) | 一种文件资源的分发方法、系统和装置 | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
CN104363659B (zh) | 一种资源分配装置、系统及方法 | |
US9942083B1 (en) | Capacity pool management | |
CN108882296A (zh) | 一种处理报文的方法及装置 | |
US20150271261A1 (en) | System and method for providing distributed virtual cloud using mobile grid |
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 |