CN102204183A - Message order-preserving processing method, order-preserving coprocessor and network equipment - Google Patents
Message order-preserving processing method, order-preserving coprocessor and network equipment Download PDFInfo
- Publication number
- CN102204183A CN102204183A CN2011800005300A CN201180000530A CN102204183A CN 102204183 A CN102204183 A CN 102204183A CN 2011800005300 A CN2011800005300 A CN 2011800005300A CN 201180000530 A CN201180000530 A CN 201180000530A CN 102204183 A CN102204183 A CN 102204183A
- Authority
- CN
- China
- Prior art keywords
- preserving
- order
- message
- network
- network message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
- H04L49/9094—Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
-
- 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
-
- 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/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提供一种报文保序处理方法、保序协处理器和网络设备。报文保序处理方法,包括:接收线程发送的网络报文,所述网络报文中包含报文标识;确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;根据所述报文处理顺序,对所述网络报文进行保序处理。本发明实施例可以在多线程异步处理报文的情况下,对报文进行保序处理。
Embodiments of the present invention provide a packet order-preserving processing method, an order-preserving coprocessor, and a network device. The message order-preserving processing method includes: receiving a network message sent by a thread, wherein the network message includes a message identifier; determining an order-preserving flow corresponding to the message identifier, and the order-preserving flow and the network device's The packet processing sequence corresponding to a channel and included in the sequence-preserving flow is the sequence in which network packets enter the channel; according to the packet processing sequence, the sequence-preserving processing is performed on the network packets. In the embodiment of the present invention, in the case of asynchronous processing of messages by multiple threads, the order-preserving processing of messages can be performed.
Description
技术领域technical field
本发明实施例涉及通信领域,尤其涉及一种报文保序处理方法、保序协处理器和网络设备。The embodiments of the present invention relate to the field of communications, and in particular, to a packet order-preserving processing method, an order-preserving coprocessor, and a network device.
背景技术Background technique
随着互联网、移动通信网络等技术的不断发展,报文的传输可靠性也亟待提高,以尽可能减小网络传输后报文乱序的可能性。With the continuous development of technologies such as the Internet and mobile communication networks, the reliability of packet transmission also needs to be improved urgently, so as to minimize the possibility of packet disorder after network transmission.
所谓报文乱序,是指发送端发出的报文序列,经若干中间节点转发,但没有按照原始顺序到达目的端。报文乱序会严重影响某些网络应用的性能。比如传输控制协议(Transmission Control Protocol,以下简称:TCP)连接因为乱序导致大量的重传;实时压缩协议(Compressed Real-Time Protocol,以下简称:CRTP)业务会因为乱序而导致频繁的发送FULL_HEADER报文以同步上下文,从而导致压缩效率大大降低。因此,为了提高网络运行效率,现有通信标准要求网络设备,例如路由器,能够尽量避免报文乱序。The so-called packet out-of-order refers to the packet sequence sent by the sender, which is forwarded by several intermediate nodes, but does not reach the destination in the original order. Packet out-of-order will seriously affect the performance of some network applications. For example, transmission control protocol (Transmission Control Protocol, hereinafter referred to as: TCP) connection causes a large number of retransmissions due to out-of-order; real-time compression protocol (Compressed Real-Time Protocol, hereinafter referred to as: CRTP) business will frequently send FULL_HEADER due to out-of-order packets to synchronize the context, resulting in greatly reduced compression efficiency. Therefore, in order to improve network operation efficiency, existing communication standards require network devices, such as routers, to avoid packet disorder as much as possible.
但是,目前的网络设备大多采用多线程异步并行处理报文,而不同线程处理报文的速度受众多因素影响,从而使得报文保序的处理更加复杂。因此,如何在多线程异步处理报文的情况下,对报文进行保序处理成为亟待解决的问题。However, most current network devices use multiple threads to process packets asynchronously and in parallel, and the speed at which different threads process packets is affected by many factors, which makes the processing of packet order preservation more complicated. Therefore, in the case of multi-threaded asynchronous processing of messages, how to process messages in order has become an urgent problem to be solved.
发明内容Contents of the invention
本发明实施例提供一种报文保序处理方法、保序协处理器和网络设备,以在多线程异步处理报文的情况下,对报文进行保序处理。An embodiment of the present invention provides a message order-preserving processing method, an order-preserving coprocessor, and a network device, so as to perform order-preserving processing on messages in the case of multi-thread asynchronously processing messages.
本发明实施例提供一种报文保序处理方法,包括:An embodiment of the present invention provides a packet order-preserving processing method, including:
接收线程发送的网络报文,所述网络报文中包含报文标识;Receiving the network message sent by the thread, the network message includes a message identifier;
确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;Determining an order-preserving flow corresponding to the message identifier, the order-preserving flow corresponding to a channel of the network device and the message processing sequence contained in the order-preserving flow is the order in which network messages enter the channel;
根据所述报文处理顺序,对所述网络报文进行保序处理。Perform sequence-preserving processing on the network packets according to the packet processing sequence.
本发明实施例提供一种保序协处理器,包括:An embodiment of the present invention provides an order-preserving coprocessor, including:
接收模块,用于接收线程发送的网络报文,所述网络报文中包含报文标识;A receiving module, configured to receive a network message sent by a thread, where the network message includes a message identifier;
确定模块,用于确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;A determining module, configured to determine an order-preserving flow corresponding to the message identifier, the order-preserving flow corresponds to a channel of a network device and the message processing sequence contained in the order-preserving flow is that network messages enter the The sequence of the channels;
保序处理模块,用于根据所述报文处理顺序,对所述网络报文进行保序处理。The sequence-preserving processing module is configured to perform sequence-preserving processing on the network packets according to the packet processing sequence.
本发明实施例提供一种网络设备,包括:依次连接的网络处理器单元、保序协处理器以及协处理器,所述保序协处理器采用上述的保序协处理器。An embodiment of the present invention provides a network device, including: a sequentially connected network processor unit, an order-preserving coprocessor, and a coprocessor, and the order-preserving coprocessor adopts the above-mentioned order-preserving coprocessor.
本发明实施例,可以根据线程发送的网络报文中包含的报文标识确定对应的保序流,根据保序流中包含的网络报文进入通道的先后顺序,对网络报文进行保序处理。因此,即使由于各线程的异步并行处理使得网络报文乱序,通过保序流也可以将网络报文的发送顺序排序为与网络报文进入网络设备通道的顺序一致,从而使得网络报文可以按照进入通道的先后顺序依次被发送。In the embodiment of the present invention, the corresponding order-preserving flow can be determined according to the message identifier contained in the network message sent by the thread, and the order-preserving process is performed on the network messages according to the order in which the network messages included in the order-preserving flow enter the channel . Therefore, even if the network packets are out of order due to the asynchronous parallel processing of each thread, the sending order of the network packets can be sorted to be consistent with the order in which the network packets enter the channel of the network device through the order-preserving flow, so that the network packets can They are sent sequentially in the order in which they entered the channel.
附图说明Description of drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description These are some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained according to these drawings without any creative effort.
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description These are some embodiments of the present invention. For those skilled in the art, other drawings can also be obtained according to these drawings without any creative effort.
图1为本发明报文保序处理方法一个实施例的流程图;Fig. 1 is a flow chart of an embodiment of the message order preserving processing method of the present invention;
图2为本发明报文保序处理方法另一个实施例的流程图;Fig. 2 is a flow chart of another embodiment of the message order preserving processing method of the present invention;
图3为图2所示实施例中生成的报文标识与保序流之间的对应关系的一种结构示意图;Fig. 3 is a kind of schematic structural diagram of the corresponding relationship between the message identifier and the order-preserving flow generated in the embodiment shown in Fig. 2;
图4为本发明报文保序处理方法再一个实施例的流程图;Fig. 4 is a flow chart of another embodiment of the message order preserving processing method of the present invention;
图5为图4所示实施例在一种场景下的处理过程示意图;FIG. 5 is a schematic diagram of a processing procedure of the embodiment shown in FIG. 4 in a scenario;
图6为本发明保序协处理器一个实施例的结构示意图;FIG. 6 is a schematic structural diagram of an embodiment of the order-preserving coprocessor of the present invention;
图7为本发明保序协处理器另一个实施例的结构示意图;FIG. 7 is a schematic structural diagram of another embodiment of the order-preserving coprocessor of the present invention;
图8为本发明保序协处理器再一个实施例的结构示意图;FIG. 8 is a schematic structural diagram of another embodiment of the order-preserving coprocessor of the present invention;
图9为本发明网络设备一个实施例的结构示意图。FIG. 9 is a schematic structural diagram of an embodiment of a network device according to the present invention.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative efforts fall within the protection scope of the present invention.
图1为本发明报文保序处理方法一个实施例的流程图,如图1所示,本实施例的方法可以包括:Fig. 1 is a flow chart of an embodiment of the message order preserving processing method of the present invention, as shown in Fig. 1, the method of this embodiment may include:
步骤101、接收线程发送的网络报文,所述网络报文中包含报文标识。
举例来说,保序协处理器(Order Co-Processor,以下简称:OCP)可以接收线程发送的网络报文,该网络报文中可以包含报文标识,本实施例不限定该报文标识的具体形式。本实施例中的OCP可以使用专用集成电路(Application Specific Intergrated Circuits,以下简称:ASIC)技术实现,可以与网络处理器单元(Network Processer Units,以下简称:NPU)一起封装。For example, an order co-processor (Order Co-Processor, hereinafter referred to as: OCP) can receive a network message sent by a thread, and the network message can include a message identifier, and this embodiment does not limit the message identifier. Specific forms. The OCP in this embodiment can be implemented using application specific integrated circuits (Application Specific Integrated Circuits, hereinafter referred to as: ASIC) technology, and can be packaged together with network processor units (Network Processer Units, hereinafter referred to as: NPU).
具体来说,网络设备,例如路由器,其各通道可以接收其它网络设备发送的网络报文,然后各通道的网络报文可以被分配给多个线程并行处理,每个线程同时只能持有处理一个网络报文。网络报文进入各通道时是具有先后顺序的,也即在各通道中传输时,网络报文的先后顺序是正确的,但是各通道的报文被分配到多个线程进行处理时,由于各线程的处理受诸多因素影响,从各线程发出的网络报文则是乱序的,因此,OCP接收到的网络报文是乱序的。Specifically, each channel of a network device, such as a router, can receive network packets sent by other network devices, and then the network packets of each channel can be assigned to multiple threads for parallel processing, and each thread can only hold and process a network message. When network packets enter each channel, there is a sequence, that is, when they are transmitted in each channel, the sequence of network packets is correct, but when the packets of each channel are assigned to multiple threads for processing, due to the The processing of threads is affected by many factors, and the network packets sent from each thread are out of order. Therefore, the network packets received by OCP are out of order.
步骤102、确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序。Step 102: Determine the sequence-preserving flow corresponding to the packet identifier, the sequence-preserving flow corresponds to a channel of the network device, and the packet processing sequence contained in the sequence-preserving flow is the order in which network packets enter the channel sequence.
具体来说,本实施例可以包含多条保序流,每条保序流均与网络设备的一条通道对应,因此,本实施例中的保序流的条数可以等于网络设备的通道数。对于每条保序流来说,其中包含的报文处理顺序可以为网络报文进入该通道的先后顺序。举例来说,以第N个通道对应的保序流n来说,该保序流中可以包括进入第N个通道中的全部网络报文的报文标识,且报文标识可以按照对应的网络报文进入第N个通道的先后顺序排列。Specifically, this embodiment may include multiple order-preserving streams, and each order-preserving stream corresponds to a channel of the network device. Therefore, the number of order-preserving streams in this embodiment may be equal to the number of channels of the network device. For each sequence-preserving flow, the packet processing sequence contained therein may be the sequence in which network packets enter the channel. For example, taking the order-preserving flow n corresponding to the Nth channel as an example, the order-preserving flow may include the message identifiers of all network packets entering the Nth channel, and the message identifiers may be based on the corresponding network Packets are arranged in the order in which they enter the Nth channel.
举例来说,OCP可以监控各通道接收的报文,对于每个通道来说,OCP可以记录网络报文接收的先后顺序,根据该先后顺序,OCP即可生成该通道对应的保序流,需要说明的是,本实施例并不限定OCP如何获知网络报文进入通道的先后顺序,本领域技术人员还可以采用任意手段对网络报文进入通道的先后顺序进行监控并通知OCP。因此,利用各保序流对网络报文进行保序处理时,可以将乱序的网络报文恢复到网络报文进入通道的先后顺序。For example, OCP can monitor the packets received by each channel. For each channel, OCP can record the sequence in which network packets are received. According to the sequence, OCP can generate the sequence-preserving flow corresponding to the channel. It should be noted that this embodiment does not limit how the OCP learns the order in which network packets enter channels, and those skilled in the art may use any means to monitor the order in which network packets enter channels and notify the OCP. Therefore, when using the sequence-preserving streams to perform sequence-preserving processing on the network packets, the out-of-sequence network packets can be restored to the sequence in which the network packets entered the channel.
在具体实现时,OCP可以从各网络报文中提取报文标识,对于每个报文标识来说,OCP可以确定该报文标识所在的保序流,从而可以确定该报文标识对应的通道,也即可以确定该网络报文对应的保序流或者网络报文进入的通道。In actual implementation, OCP can extract the message ID from each network message. For each message ID, OCP can determine the sequence-preserving flow where the message ID is located, so as to determine the channel corresponding to the message ID. , that is, the sequence-preserving flow corresponding to the network message or the channel through which the network message enters can be determined.
由此可知,在执行步骤102之后,OCP可以将从各线程接收的乱序的网络报文分别对应到各个保序流。It can be seen that, after
步骤103、根据所述报文处理顺序,对所述网络报文进行保序处理。Step 103: Perform sequence-preserving processing on the network packets according to the packet processing sequence.
对于与每个通道对应的网络报文来说,OCP均可以根据该通道对应的保序流中包含的报文处理顺序,对网络报文进行保序处理,即按照保序流中记录的网络报文进入通道的先后顺序,依次发送网络报文,从而使得经过保序处理的网络报文的发送顺序与该网络报文进入通道的顺序一致。For the network packets corresponding to each channel, OCP can process the network packets according to the packet processing sequence contained in the sequence-preserving flow corresponding to the channel, that is, according to the network packets recorded in the sequence-preserving flow The order in which the packets enter the channel is to send the network packets sequentially, so that the sending order of the network packets that have been processed in order is consistent with the order in which the network packets enter the channel.
本实施例可以根据线程发送的网络报文中包含的报文标识确定对应的保序流,根据保序流中包含的网络报文进入通道的先后顺序,对网络报文进行保序处理。因此,即使由于各线程的异步并行处理使得网络报文乱序,通过保序流也可以将网络报文的发送顺序排序为与网络报文进入网络设备通道的顺序一致,从而使得网络报文可以按照进入通道的先后顺序依次被发送。In this embodiment, the corresponding order-preserving flow can be determined according to the message identifier included in the network message sent by the thread, and the order-preserving process is performed on the network messages according to the order in which the network messages included in the order-preserving flow enter the channel. Therefore, even if the network packets are out of order due to the asynchronous parallel processing of each thread, the sending order of the network packets can be sorted to be consistent with the order in which the network packets enter the channel of the network device through the order-preserving flow, so that the network packets can They are sent sequentially in the order in which they entered the channel.
图2为本发明报文保序处理方法另一个实施例的流程图,如图2所示,本实施例的方法可以包括:Fig. 2 is a flow chart of another embodiment of the message order preserving processing method of the present invention, as shown in Fig. 2, the method of this embodiment may include:
步骤201、根据网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系。Step 201 : Generate an order-preserving flow corresponding to the channel according to the order in which network packets enter the channel, and generate a correspondence between the message identifiers of the network packets and the order-preserving flow.
OCP可以在网络报文进入通道时,根据网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系,对于每个保序流来说,网络报文进入通道的先后顺序即为报文处理顺序。本实施例并不限定OCP获知网络报文进入通道的先后顺序的技术手段。举例来说,该保序流可以采用链表结构,图3为图2所示实施例中生成的报文标识与保序流之间的对应关系的一种结构示意图,如图3所示,保序流链表(Link)0~保序流link n分别对应网络设备的n+1个通道,Valid表示对应的保序流link有效,head为表头,tail为表尾,next为下一节点的指针,PKT_ID0~PKT_IDm为网络设备各通道上接收的网络报文的标识。举例来说,图3中的箭头所指示的对应关系即为保序流link1与PKT_ID之间的对应关系,其中,保序流link1的表头在PKT_ID1处,PKT_ID1处的next指针指向PKT_ID3,PKT_ID3处的next指针指向PKT_ID5,PKT_ID5也是保序流link1的表尾,且PKT_ID1、PKT_ID3以及PKT_ID5进入保序流link1对应的通道时具有先后顺序,以此类推,PKT_ID0~PKT_IDm可以对应到各个保序流link。OCP can generate an order-preserving flow corresponding to the channel according to the order in which the network messages enter the channel when network messages enter the channel, and generate a link between the message identifier of the network message and the order-preserving flow Corresponding relationship, for each sequence-preserving flow, the sequence in which network packets enter the channel is the packet processing sequence. This embodiment does not limit the technical means for the OCP to learn the order in which network packets enter the channel. For example, the sequence-preserving flow can adopt a linked list structure. FIG. 3 is a schematic structural diagram of the corresponding relationship between the message identifier and the sequence-preserving flow generated in the embodiment shown in FIG. 2. As shown in FIG. Sequence flow linked list (Link) 0~sequence-preserving flow link n correspond to n+1 channels of the network device respectively, Valid indicates that the corresponding sequence-preserving flow link is valid, head is the head of the table, tail is the tail of the table, and next is the next node Pointer, PKT_ID0~PKT_IDm are the identifiers of network packets received on each channel of the network device. For example, the corresponding relationship indicated by the arrow in Figure 3 is the corresponding relationship between the sequence-preserving flow link1 and PKT_ID, where the header of the sequence-preserving flow link1 is at PKT_ID1, and the next pointer at PKT_ID1 points to PKT_ID3, PKT_ID3 The next pointer at point points to PKT_ID5, and PKT_ID5 is also the end of the order-preserving stream link1, and PKT_ID1, PKT_ID3, and PKT_ID5 have a sequence when entering the channel corresponding to the order-preserving stream link1, and so on, PKT_ID0~PKT_IDm can correspond to each order-preserving stream link.
步骤202、接收各线程发送的网络报文,所述网络报文中包含报文标识。Step 202, receiving network packets sent by each thread, where the network packets include packet identifiers.
步骤203、缓存各线程发送的网络报文,并生成包含保序处理顺序的保序请求队列,所述保序处理顺序为各线程发送网络报文的先后顺序。Step 203: Buffer the network packets sent by each thread, and generate an order-preserving request queue including an order-preserving processing order, the order-preserving processing order being the sequence in which each thread sends network packets.
具体来说,各线程可以依次向OCP发送保序请求(以下简称:REQ),该REQ中包含网络报文的数据内容等。然后OCP即可缓存各线程发送的REQ,例如,将REQ缓存在BUFFER中。而且,OCP还可以生成保序请求队列,该保序请求队列中包含保序处理顺序,该保序处理顺序为各线程发送网络报文的先后顺序。Specifically, each thread may sequentially send an order-preserving request (hereinafter referred to as REQ) to the OCP, and the REQ includes the data content of the network message and the like. Then the OCP can cache the REQ sent by each thread, for example, cache the REQ in BUFFER. Moreover, the OCP can also generate an order-preserving request queue, which includes an order-preserving processing order, and the order-preserving processing order is the order in which each thread sends network packets.
举例来说,该保序处理顺序可以通过请求描述符(以下简称:REQ-ID)体现。表1为REQ-ID的一种描述方式。For example, the order-preserving processing sequence may be reflected by a request descriptor (hereinafter referred to as: REQ-ID). Table 1 is a description of REQ-ID.
表1Table 1
其中,NPU_ID为并行处理器的标识,THREAD_ID为每个NPU的线程标识。保序处理队列中的每个REQ_ID可以索引一个REQ,REQ_ID的数目等于协处理器(Co-process,以下简称:COP)的个数与线程数的乘积。Wherein, NPU_ID is the identifier of the parallel processor, and THREAD_ID is the thread identifier of each NPU. Each REQ_ID in the order-preserving processing queue can index one REQ, and the number of REQ_IDs is equal to the product of the number of co-processors (Co-process, COP for short) and the number of threads.
表2为BUFFER中缓存的REQ的一种描述方式。Table 2 is a description of REQ cached in BUFFER.
表2Table 2
其中,OP表示REQ的操作类型,例如,读操作的类型为READ、写操作的类型为WRITE,读写操作的类型为WRITE&READ;ADDR表示REQ所访问的外设地址;CTRL用于描述REQ的数据长度,是否保序等控制信息;DATA表示REQ携带的发送给COP的请求数据。Among them, OP represents the operation type of REQ, for example, the type of read operation is READ, the type of write operation is WRITE, and the type of read and write operation is WRITE&READ; ADDR represents the peripheral address accessed by REQ; CTRL is used to describe the data of REQ Control information such as length, order preservation or not; DATA indicates the request data carried by REQ and sent to COP.
BUFFER中缓存的例如表2中的REQ与保序请求队列中例如表1所示的REQ_ID之间具有对应关系。There is a corresponding relationship between the REQ cached in the BUFFER, such as in Table 2, and the REQ_ID in the order-preserving request queue, such as shown in Table 1.
步骤204、根据保序处理顺序,依次确定各网络报文的报文标识对应的保序流。Step 204: Determine the sequence-preserving flow corresponding to the packet identifier of each network packet in sequence according to the sequence-preserving processing sequence.
OCP可以根据保序请求队列中的保序处理顺序,依次处理对应的REQ,也即依次处理网络报文。在具体对网络报文进行处理时,OCP可以根据例如表1中的PKT_ID和保序流之间的对应关系,确定各网络报文对应的保序流。The OCP can sequentially process corresponding REQs according to the sequence-preserving processing sequence in the sequence-preserving request queue, that is, process network packets sequentially. When specifically processing network packets, the OCP may determine the sequence-preserving flow corresponding to each network packet according to, for example, the correspondence between PKT_ID and sequence-preserving flow in Table 1.
步骤205、根据各保序流的报文处理顺序,依次将与各通道对应的网络报文发送到数据总线上。Step 205: Send the network packets corresponding to each channel to the data bus sequentially according to the packet processing sequence of each sequence-preserving flow.
对于对应到每个保序流上的网络报文来说,各网络报文需要按照该保序流中的报文处理顺序依次被发送到数据总线BUS上。For the network packets corresponding to each sequence-preserving flow, each network packet needs to be sent to the data bus BUS sequentially according to the processing sequence of the packets in the sequence-preserving flow.
具体地,对于每个保序流来说,若网络报文的PKT_ID处于该保序流的链表头,则OCP可以发送该网络报文至总线BUS上,然后OCP可以将该保序流中的下一个PKT_ID设为链表头,从而使得下一次保序处理时是针对下一个网络报文。若该网络报文的PKT_ID未处于保序流的链表头,则OCP可以根据保序请求队列中的REQ_ID,对BUFFER中缓存的下一个REQ进行保序处理,而当前的REQ则需要等待下一次轮询。Specifically, for each sequence-preserving flow, if the PKT_ID of the network packet is at the head of the link list of the sequence-preserving flow, the OCP can send the network packet to the bus BUS, and then the OCP can send the PKT_ID of the sequence-preserving flow The next PKT_ID is set as the head of the linked list, so that the next sequence-preserving processing is for the next network message. If the PKT_ID of the network packet is not at the head of the sequence-preserving flow list, OCP can process the next REQ cached in BUFFER according to the REQ_ID in the sequence-preserving request queue, while the current REQ needs to wait for the next one polling.
本实施例,在网络报文进入各通道时,OCP可以针对每个通道记录网络报文进入的先后顺序,OCP可以将各线程发送的网络报文进行缓存,并根据各线程发送的网络报文中包含的报文标识确定对应的保序流,根据保序流中包含的网络报文进入通道的先后顺序,对网络报文进行保序处理。因此,即使由于各线程的异步并行处理使得网络报文乱序,通过保序流也可以将网络报文的发送顺序排序为与网络报文进入网络设备通道的顺序一致,从而使得网络报文可以按照进入通道的先后顺序依次被发送。In this embodiment, when network messages enter each channel, the OCP can record the order in which the network messages enter for each channel, and the OCP can cache the network messages sent by each thread, and according to the network messages sent by each thread The packet identifier contained in the , determines the corresponding sequence-preserving flow, and performs sequence-preserving processing on the network packets according to the order in which the network packets included in the sequence-preserving flow enter the channel. Therefore, even if the network packets are out of order due to the asynchronous parallel processing of each thread, the sending order of the network packets can be sorted to be consistent with the order in which the network packets enter the channel of the network device through the order-preserving flow, so that the network packets can They are sent sequentially in the order in which they entered the channel.
对于上述图1或图2所示的实施例来说,其既可以针对NPU侧的线程发送的网络报文进行保序处理,也可以针对COP侧的线程发送的网络报文进行保序处理。For the above-mentioned embodiment shown in FIG. 1 or FIG. 2 , it can not only perform order-preserving processing on network packets sent by threads on the NPU side, but also perform order-preserving processing on network packets sent by threads on the COP side.
在一种应用场景中,NPU侧的线程发送的网络报文需要COP侧的线程发送相应的响应报文。因此,OCP可以针对NPU侧的线程发送的网络报文进行保序处理,在COP侧的线程发送相应的响应报文时,OCP可以针对COP侧的线程发送的响应报文再次进行保序处理。In an application scenario, the network message sent by the thread on the NPU side requires the thread on the COP side to send a corresponding response message. Therefore, the OCP can perform order-preserving processing on the network packets sent by the thread on the NPU side, and when the thread on the COP side sends a corresponding response message, the OCP can perform order-preserving processing on the response message sent by the thread on the COP side again.
图4为本发明报文保序处理方法再一个实施例的流程图,图5为图4所示实施例在一种场景下的处理过程示意图,如图4和图5所示,不失一般性地,本实施例仅示出了三个线程,即线程A、线程B和线程C,且线程A当前持有的网络报文的PKT_ID为0,线程B当前持有的网络报文的PKT_ID为1,线程C当前持有的网络报文的PKT_ID为2,且这三个网络报文同属于一个通道。与该通道对应的保序流中对应的报文处理顺序为0、1、2,也即网络报文进入通道的先后顺序为0、1、2,而异步线程向OCP发送网络报文的先后顺序则为线程B、线程A、线程C。依据该场景,本实施例可以包括:Fig. 4 is a flow chart of another embodiment of the message order-preserving processing method of the present invention, and Fig. 5 is a schematic diagram of the processing process of the embodiment shown in Fig. 4 in a scenario, as shown in Fig. 4 and Fig. 5 , without loss of generality Specifically, this embodiment only shows three threads, namely thread A, thread B and thread C, and the PKT_ID of the network message currently held by thread A is 0, and the PKT_ID of the network message currently held by thread B is 0. is 1, the PKT_ID of the network packet currently held by thread C is 2, and these three network packets belong to the same channel. The corresponding message processing order in the sequence-preserving flow corresponding to this channel is 0, 1, 2, that is, the order in which network messages enter the channel is 0, 1, 2, and the order in which asynchronous threads send network messages to OCP The order is thread B, thread A, thread C. According to the scenario, this embodiment may include:
步骤401、线程B、线程A和线程C依次向OCP发送REQ。
线程B、线程A和线程C依次向OCP发送REQ,每个REQ均可以采用表2所示的描述。Thread B, thread A, and thread C send REQs to the OCP in sequence, and each REQ can use the description shown in Table 2.
步骤402、OCP中的REQ BUFFER缓存REQ,并生成REQ_ID队列(以下简称:REQ_ID Queue)。
在本实施例中,该REQ_ID队列中的保序处理顺序即为1、0、2。In this embodiment, the order-preserving processing order in the REQ_ID queue is 1, 0, 2.
步骤403、OCP中的调度单元(以下简称:Schedule)从REQ_ID Queue中按保序处理顺序调度一个REQ_ID。
步骤404、Schedule判断该REQ_ID是否处于保序流的链表头,若是,则执行步骤405,否则执行步骤403。
步骤405、Schedule向REQ BUFFER发送REQ授权,将保序流中的下一个REQ_ID设为链表头。
步骤406、REQ BUFFER将该REQ_ID对应的REQ发送到BUS上REQ先进先出(First In First Out,以下简称:FIFO)队列。
具体来说,Schedule可以从REQ_ID Queue中调度REQ_ID“1”,然后,Schedule可以将调度的REQ_ID“1”与保序流的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID“1”是否处于保序流的链表头。在本实施例中,保序流当前的链表头为“0”,因此,Schedule调度的REQ_ID“1”对应的REQ不能发送到BUS FIFO队列上。此时,Schedule可以从REQ_ID Queue中调度REQ_ID“0”,然后,Schedule可以将调度的REQ_ID“0”与保序流的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID“1”是否处于保序流的链表头。通过判断可知,REQ_ID“0”处于保序流的链表头,因此,Schedule可以向REQ BUFFER发送REQ授权,从而使得REQ BUFFER将REQ_ID“0”对应的REQ发送到BUS FIFO上,而且,Schedule可以将保序流中的下一个REQ_ID“1”设为链表头。接着,Schedule可以从REQ_ID Queue中调度REQ_ID“2”,然后,Schedule可以将调度的REQ_ID“2”与保序流当前的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID“2”是否处于保序流的链表头。由于,保序流当前的链表头中包含的REQ_ID为“1”,因此,Schedule调度的REQ_ID“2’对应的REQ不能发送到BUS FIFO队列上。此时,Schedule可以从REQ_IDQueue中调度REQ_ID“1”,然后,Schedule可以将调度的REQ_ID“1”与保序流当前的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID“1”是否处于保序流的链表头。通过判断可知,REQ_ID“1”处于保序流当前的链表头,因此,Schedule可以向REQ BUFFER发送REQ授权,从而使得REQ BUFFER将REQ_ID“1”对应的REQ发送到BUS FIFO上,而且,Schedule可以将保序流中的下一个REQ_ID“2”设为链表头。Schedule可以将调度的REQ_ID“2”与保序流当前的链表头中包含的REQ_ID相比较,从而判断该调度的REQ_ID“2”是否处于保序流的链表头。通过判断可知,REQ_ID“2”处于保序流当前的链表头,因此,Schedule可以向REQ BUFFER发送REQ授权,从而使得REQ BUFFER将REQ_ID“2”对应的REQ发送到BUS FIFO上。Specifically, Schedule can schedule REQ_ID "1" from the REQ_ID Queue, and then Schedule can compare the scheduled REQ_ID "1" with the REQ_ID contained in the head of the linked list of the sequence-preserving flow, thereby judging the scheduled REQ_ID "1" Whether it is at the head of the linked list of the order-preserving flow. In this embodiment, the current linked list head of the sequence-preserving flow is "0", therefore, the REQ corresponding to the REQ_ID "1" scheduled by the Schedule cannot be sent to the BUS FIFO queue. At this point, Schedule can schedule REQ_ID "0" from the REQ_ID Queue, and then Schedule can compare the scheduled REQ_ID "0" with the REQ_ID contained in the sequence-preserving link list header to determine whether the scheduled REQ_ID "1" is The head of the linked list in the order-preserving flow. It can be seen from the judgment that REQ_ID "0" is at the head of the linked list of the sequence-preserving flow. Therefore, Schedule can send REQ authorization to REQ BUFFER, so that REQ BUFFER sends REQ corresponding to REQ_ID "0" to BUS FIFO, and Schedule can send The next REQ_ID "1" in the sequence-preserving stream is set as the head of the linked list. Next, the Schedule can schedule REQ_ID "2" from the REQ_ID Queue, and then the Schedule can compare the scheduled REQ_ID "2" with the REQ_ID contained in the current link list header of the sequence-preserving flow, so as to determine whether the scheduled REQ_ID "2" is The head of the linked list in the order-preserving flow. Since the REQ_ID contained in the current linked list header of the sequence-preserving flow is "1", the REQ corresponding to the REQ_ID "2' scheduled by Schedule cannot be sent to the BUS FIFO queue. At this time, Schedule can schedule REQ_ID "1" from REQ_IDQueue ", and then, Schedule can compare the scheduled REQ_ID "1" with the REQ_ID contained in the current link list header of the sequence-preserving flow, so as to judge whether the scheduled REQ_ID "1" is in the link list header of the sequence-preserving flow. Through the judgment, it can be seen that, REQ_ID "1" is at the head of the current linked list of the sequence-preserving flow. Therefore, Schedule can send REQ authorization to REQ BUFFER, so that REQ BUFFER sends the REQ corresponding to REQ_ID "1" to the BUS FIFO. Moreover, Schedule can send the sequence-preserving flow The next REQ_ID "2" in the list is set as the head of the linked list. Schedule can compare the scheduled REQ_ID "2" with the REQ_ID contained in the current linked list header of the sequence-preserving stream, so as to judge whether the scheduled REQ_ID "2" is in the sequence-preserving The head of the linked list of the stream. It can be seen from the judgment that REQ_ID "2" is at the current linked list head of the sequence-preserving stream. Therefore, Schedule can send REQ authorization to REQ BUFFER, so that REQ BUFFER sends the REQ corresponding to REQ_ID "2" to the BUS FIFO .
对于更多个网络报文来说,其均可以采用上述处理过程,此处不再赘述。For more network packets, the above-mentioned processing procedure can be adopted, and details will not be repeated here.
通过上述处理过程,REQ FIFO队列中的REQ顺序即为REQA、REQB、REQC。Through the above process, the REQ sequence in the REQ FIFO queue is REQA, REQB, REQC.
步骤407、REQA、REQB、REQC按序访问COP。
对于COP反馈响应消息的处理过程来说,其可以将图5中乱序的响应消息(以下简称:RSP),即RSPC、RSPA、RSPB通过采用上述步骤401~407类似的步骤被保序为RSPA、RSPB、RSPC,从而被发送到对应的线程上。其中,对于RSP_ID以及RSP的描述结构来说,其对应地,与REQ_ID以及REQ的描述结构类似,此处不再赘述。For the processing process of the COP feedback response message, it can process the out-of-order response message (hereinafter referred to as: RSP) in Figure 5, that is, RSPC, RSPA, and RSPB are sequence-preserved as RSPA by adopting steps similar to the above steps 401-407 , RSPB, RSPC, which are sent to the corresponding thread. Wherein, the description structures of RSP_ID and RSP are correspondingly similar to the description structures of REQ_ID and REQ, and will not be repeated here.
本实施例,在上述图1或图2所示实施例的基础上,进一步地,还可以对COP发送的响应消息进行保序处理。In this embodiment, on the basis of the above embodiment shown in FIG. 1 or FIG. 2 , further, order-preserving processing may be performed on the response message sent by the COP.
图6为本发明保序协处理器一个实施例的结构示意图,如图6所示,本实施例的OCP可以包括:接收模块11、确定模块12以及保序处理模块13,其中,接收模块11用于接收线程发送的网络报文,所述网络报文中包含报文标识;确定模块12用于确定与所述报文标识对应的保序流,所述保序流与网络设备的一条通道对应且所述保序流中包含的报文处理顺序为网络报文进入所述通道的先后顺序;保序处理模块13用于根据所述报文处理顺序,对所述网络报文进行保序处理。FIG. 6 is a schematic structural diagram of an embodiment of the order-preserving coprocessor of the present invention. As shown in FIG. It is used to receive a network message sent by a thread, the network message includes a message identifier; the
本实施例的OCP可以用于执行图1所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。The OCP of this embodiment can be used to execute the method of the method embodiment shown in FIG. 1 , and its implementation principle and technical effect are similar, and will not be repeated here.
图7为本发明保序协处理器另一个实施例的结构示意图,如图7所示,本实施例的OCP在图6所示OCP的基础上,进一步地可以包括:生成处理模块14和缓存处理模块15,其中,生成处理模块14用于根据所述网络报文进入通道的先后顺序,生成与该通道对应的保序流,并生成所述网络报文的报文标识与所述保序流之间的对应关系;确定模块12具体用于根据所述生成处理模块生成的所述对应关系,确定所述网络标识对应的保序流;缓存处理模块15,该缓存处理模块15用于缓存各线程发送的网络报文,并生成包含保序处理顺序的保序请求队列,所述保序处理顺序为各线程发送网络报文的先后顺序;确定模块12还可以具体用于根据所述保序处理顺序,依次确定各网络报文的报文标识对应的保序流。保序处理模块13包括判断单元131以及处理单元132,其中,判断单元131用于判断所述网络报文的报文标识是否处于所述保序流的链表头;处理单元132用于若所述网络报文的报文标识处于所述保序流的链表头,则发送所述网络报文,并将所述保序流中的下一个报文标识设为链表头;若所述网络报文的报文标识未处于所述保序流的链表头,则根据所述保序处理顺序对下一个网络报文进行保序处理。FIG. 7 is a schematic structural diagram of another embodiment of the order-preserving coprocessor of the present invention. As shown in FIG. 7 , the OCP of this embodiment may further include: a
本实施例的OCP可以用于执行图2所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。The OCP of this embodiment can be used to execute the method of the method embodiment shown in FIG. 2 , and its implementation principle and technical effect are similar, and will not be repeated here.
图8为本发明保序协处理器再一个实施例的结构示意图,如图8所示,本实施例的OCP在图6所示OCP的基础上,进一步地,接收模块11可以包括:第一接收单元111和第二接收单元112,其中,第一接收单元111用于接收网络处理器单元侧的线程发送的网络报文;第二接收单元112用于接收协处理器侧的线程发送的网络报文。FIG. 8 is a schematic structural diagram of another embodiment of the order-preserving coprocessor of the present invention. As shown in FIG. 8, the OCP of this embodiment is based on the OCP shown in FIG. 6. Further, the receiving
本实施例的OCP可以用于执行图4所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。The OCP of this embodiment can be used to execute the method of the method embodiment shown in FIG. 4 , and its implementation principle and technical effect are similar, and will not be repeated here.
需要说明的是,本实施例中的第一接收单元111和第二接收单元112也可以择其一存在,其可以执行图1或者图2所示实施例的方法。It should be noted that the
在图6~8所示的实施例中,保序协处理器均可以采用ASIC技术实现,本领域技术人员可以根据本发明实施例的构思,自行设计具体的电路图,本实施例不作限定。In the embodiments shown in FIGS. 6-8 , the order-preserving coprocessors can all be implemented using ASIC technology, and those skilled in the art can design specific circuit diagrams by themselves according to the concepts of the embodiments of the present invention, which is not limited in this embodiment.
图9为本发明网络设备一个实施例的结构示意图,如图9所示,本实施例的网络设备可以包括依次连接的网络处理器单元1、保序协处理器2以及协处理器3,其中,保序协处理器2可以采用图6~8中任一实施例所示的结构,其对应地可以执行图1、2或4所示方法实施例的方法,其实现原理和技术效果类似,此处不再赘述。FIG. 9 is a schematic structural diagram of an embodiment of the network device of the present invention. As shown in FIG. 9, the network device of this embodiment may include a network processor unit 1, an order-preserving
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps for realizing the above-mentioned method embodiments can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the It includes the steps of the above method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still be Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent replacements are made to some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims (12)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/073811 WO2011120467A2 (en) | 2011-05-09 | 2011-05-09 | Message order-preserving processing method, order-preserving coprocessor and network equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102204183A true CN102204183A (en) | 2011-09-28 |
Family
ID=44662805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800005300A Pending CN102204183A (en) | 2011-05-09 | 2011-05-09 | Message order-preserving processing method, order-preserving coprocessor and network equipment |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102204183A (en) |
WO (1) | WO2011120467A2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710524A (en) * | 2012-06-15 | 2012-10-03 | 大连梯耐德网络技术有限公司 | A realization method of a multi-protocol network message transmission order guarantee system |
CN102843235A (en) * | 2012-09-06 | 2012-12-26 | 汉柏科技有限公司 | Message encrypting/decrypting method |
CN102932141A (en) * | 2012-09-27 | 2013-02-13 | 汉柏科技有限公司 | Order-preserving method and system for encrypting and decrypting messages by multiple encryption and decryption chips in parallel |
CN103927123A (en) * | 2013-01-15 | 2014-07-16 | 华为技术有限公司 | Buffer management method and device |
WO2016078212A1 (en) * | 2014-11-20 | 2016-05-26 | 中兴通讯股份有限公司 | Packet processing method and device, and storage medium |
CN108093061A (en) * | 2017-12-26 | 2018-05-29 | 北京天融信网络安全技术有限公司 | Synchronous method, device, storage medium and the computer equipment of business board-to-board information |
CN109697022A (en) * | 2017-10-23 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | A kind of processing method, device and the computer readable storage medium of message descriptor PD |
CN114448573A (en) * | 2022-03-02 | 2022-05-06 | 新华三半导体技术有限公司 | Message processing method and device |
WO2024103891A1 (en) * | 2022-11-15 | 2024-05-23 | 华为技术有限公司 | Data processing method and apparatus |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111416776B (en) * | 2019-01-07 | 2024-07-09 | 华为技术有限公司 | Method for transmitting data and network device |
CN113014528B (en) * | 2019-12-19 | 2022-12-09 | 厦门网宿有限公司 | Message processing method, processing unit and virtual private network server |
CN114731334B (en) * | 2020-02-14 | 2023-10-20 | 华为技术有限公司 | Message order preserving method and device |
CN113965347B (en) * | 2021-09-09 | 2024-03-15 | 山石网科通信技术股份有限公司 | Firewall data processing method and device |
CN114338559B (en) * | 2021-12-15 | 2024-03-22 | 杭州迪普信息技术有限公司 | Message order preserving method and device |
CN116155828B (en) * | 2022-12-21 | 2023-06-23 | 北京云豹创芯智能科技有限公司 | Message order keeping method and device for multiple virtual queues, storage medium and electronic equipment |
CN116405443B (en) * | 2023-03-28 | 2024-06-07 | 中科驭数(北京)科技有限公司 | Message forwarding method, device, equipment and storage medium |
CN118316888B (en) * | 2024-06-11 | 2024-08-13 | 贵州华芯半导体技术有限公司 | Message order-preserving transmission method, chip and electronic equipment |
CN118519729B (en) * | 2024-07-18 | 2024-10-22 | 贵州华芯半导体技术有限公司 | Message scheduling method, system, storage medium and electronic equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102554A1 (en) * | 2003-11-05 | 2005-05-12 | Ofir Zohar | Parallel asynchronous order-preserving transaction processing |
CN1996958A (en) * | 2006-12-30 | 2007-07-11 | 华为技术有限公司 | Method and device for guaranteeing message sequence |
CN101022411A (en) * | 2007-03-07 | 2007-08-22 | 华为技术有限公司 | Multi-link binding protocol message zone receiving method |
CN101175033A (en) * | 2007-11-27 | 2008-05-07 | 中兴通讯股份有限公司 | Message order-preserving method and device thereof |
CN101291194A (en) * | 2008-05-20 | 2008-10-22 | 华为技术有限公司 | Method and system for keeping sequence of report |
-
2011
- 2011-05-09 WO PCT/CN2011/073811 patent/WO2011120467A2/en active Application Filing
- 2011-05-09 CN CN2011800005300A patent/CN102204183A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102554A1 (en) * | 2003-11-05 | 2005-05-12 | Ofir Zohar | Parallel asynchronous order-preserving transaction processing |
CN1996958A (en) * | 2006-12-30 | 2007-07-11 | 华为技术有限公司 | Method and device for guaranteeing message sequence |
CN101022411A (en) * | 2007-03-07 | 2007-08-22 | 华为技术有限公司 | Multi-link binding protocol message zone receiving method |
CN101175033A (en) * | 2007-11-27 | 2008-05-07 | 中兴通讯股份有限公司 | Message order-preserving method and device thereof |
CN101291194A (en) * | 2008-05-20 | 2008-10-22 | 华为技术有限公司 | Method and system for keeping sequence of report |
Non-Patent Citations (1)
Title |
---|
王圣等: "《基于硬件的乱序报文重组算法》", 《计算机工程》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710524A (en) * | 2012-06-15 | 2012-10-03 | 大连梯耐德网络技术有限公司 | A realization method of a multi-protocol network message transmission order guarantee system |
CN102710524B (en) * | 2012-06-15 | 2015-01-21 | 大连梯耐德网络技术有限公司 | A realization method of a multi-protocol network message transmission order guarantee system |
CN102843235A (en) * | 2012-09-06 | 2012-12-26 | 汉柏科技有限公司 | Message encrypting/decrypting method |
CN102932141A (en) * | 2012-09-27 | 2013-02-13 | 汉柏科技有限公司 | Order-preserving method and system for encrypting and decrypting messages by multiple encryption and decryption chips in parallel |
CN102932141B (en) * | 2012-09-27 | 2016-01-06 | 汉柏科技有限公司 | Add order-preserving method and the system of deciphering chip parallel processing message encryption and decryption |
CN103927123A (en) * | 2013-01-15 | 2014-07-16 | 华为技术有限公司 | Buffer management method and device |
WO2016078212A1 (en) * | 2014-11-20 | 2016-05-26 | 中兴通讯股份有限公司 | Packet processing method and device, and storage medium |
CN105656804A (en) * | 2014-11-20 | 2016-06-08 | 中兴通讯股份有限公司 | Message processing method and device |
CN109697022A (en) * | 2017-10-23 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | A kind of processing method, device and the computer readable storage medium of message descriptor PD |
CN109697022B (en) * | 2017-10-23 | 2022-03-04 | 深圳市中兴微电子技术有限公司 | A method, device and computer-readable storage medium for processing message descriptor PD |
CN108093061A (en) * | 2017-12-26 | 2018-05-29 | 北京天融信网络安全技术有限公司 | Synchronous method, device, storage medium and the computer equipment of business board-to-board information |
CN114448573A (en) * | 2022-03-02 | 2022-05-06 | 新华三半导体技术有限公司 | Message processing method and device |
CN114448573B (en) * | 2022-03-02 | 2024-02-23 | 新华三半导体技术有限公司 | Message processing method and device |
WO2024103891A1 (en) * | 2022-11-15 | 2024-05-23 | 华为技术有限公司 | Data processing method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
WO2011120467A3 (en) | 2012-04-05 |
WO2011120467A2 (en) | 2011-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102204183A (en) | Message order-preserving processing method, order-preserving coprocessor and network equipment | |
CN101616083B (en) | Message forwarding method and device | |
US9356844B2 (en) | Efficient application recognition in network traffic | |
CN113728596A (en) | System and method for facilitating efficient management of idempotent operations in a Network Interface Controller (NIC) | |
US11750699B2 (en) | Small message aggregation | |
US20070223472A1 (en) | Network processing apparatus, multiprocessor system and network protocol processing method | |
US9094219B2 (en) | Network processor having multicasting protocol | |
US8935329B2 (en) | Managing message transmission and reception | |
KR102126592B1 (en) | A look-aside processor unit with internal and external access for multicore processors | |
WO2015100915A1 (en) | Queue scheduling method and device, and computer storage medium | |
EP2919426A1 (en) | Concurrent hashes and sub-hashes on data streams | |
CN112671771A (en) | Data transmission method, device, electronic equipment and medium | |
CN103312618B (en) | Based on the flow management method of software and hardware combining | |
CN109587082B (en) | Message asynchronous forwarding system and method based on Linux operating system | |
CN117560433A (en) | DPU (digital versatile unit) middle report Wen Zhuaifa order preserving method and device, electronic equipment and storage medium | |
CN111026324B (en) | Updating method and device of forwarding table entry | |
CN118200253A (en) | RDMA UD transmission-oriented reliable communication method, electronic equipment and readable medium | |
CN118509399B (en) | A message processing method, device, electronic device and storage medium | |
CN103955445B (en) | A kind of data processing method, processor and data handling equipment | |
CN105763375A (en) | Data packet transmission method, receiving method and microwave station | |
TWI465075B (en) | Apparatus for processing packets and system for using the same | |
CN106372013B (en) | Remote memory access method, device and system | |
CN111865811A (en) | A data processing method, device, equipment and medium | |
Leira et al. | Multimedia flow classification at 10 Gbps using acceleration techniques on commodity hardware | |
CN106059948A (en) | A data packet block transmission method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110928 |