[go: up one dir, main page]

CN106330776A - Message processing method and device - Google Patents

Message processing method and device Download PDF

Info

Publication number
CN106330776A
CN106330776A CN201510375763.9A CN201510375763A CN106330776A CN 106330776 A CN106330776 A CN 106330776A CN 201510375763 A CN201510375763 A CN 201510375763A CN 106330776 A CN106330776 A CN 106330776A
Authority
CN
China
Prior art keywords
message
transmitted
application program
express passway
relief area
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.)
Withdrawn
Application number
CN201510375763.9A
Other languages
Chinese (zh)
Inventor
李祥伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201510375763.9A priority Critical patent/CN106330776A/en
Priority to PCT/CN2016/076793 priority patent/WO2017000593A1/en
Publication of CN106330776A publication Critical patent/CN106330776A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/722Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种报文处理方法及装置。其中,该方法包括:在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;判断待传输报文是否属于预设报文类型;在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。通过本发明,解决了通过套接字接口和网络协议栈无法快速进行报文处理的问题,进而达到了快速进行报文处理的效果。

The invention provides a message processing method and device. Wherein, the method includes: creating a fast channel buffer between the user state application program and the network device driver; judging whether the message to be transmitted belongs to a preset message type; In this case, the to-be-transmitted message is transmitted between the user mode application program and the network device driver through the fast channel buffer. The invention solves the problem that the message cannot be processed rapidly through the socket interface and the network protocol stack, and further achieves the effect of rapidly processing the message.

Description

报文处理方法及装置Message processing method and device

技术领域technical field

本发明涉及通信领域,具体而言,涉及一种报文处理方法及装置。The present invention relates to the communication field, in particular to a method and device for processing a message.

背景技术Background technique

Linux作为免费开源的操作系统,其强大的网络处理能力和稳定性,深受通信设备制造商们的欢迎,现在绝大多数网络设备都是基于Linux操作系统开发。As a free and open-source operating system, Linux is popular among communication equipment manufacturers for its powerful network processing capability and stability. Now most network devices are developed based on the Linux operating system.

传输控制协议(TCP)/因特网协议(IP)体系是当前互联网的通信协议标准,在Linux网络内核中得到完整的实现,该体系分为四个层次:应用层,传输层,网络层,网络介质层。Linux网络内核参照网络协议体系实现了网络互联功能,包括以下部分:The Transmission Control Protocol (TCP)/Internet Protocol (IP) system is the current Internet communication protocol standard, which is fully realized in the Linux network kernel. The system is divided into four layers: application layer, transport layer, network layer, network medium layer. The Linux network kernel realizes the network interconnection function with reference to the network protocol system, including the following parts:

1.套接字接口,网络内核最顶层支持应用程序开发的接口,套接字接口是一系列标准函数。套接字支持多种不同类型的协议族:UNIX域协议族、TCP/IP协议族、互联网数据包交换(IPX)协议族,其中TCP/IP协议族应用最为广泛;1. Socket interface, the top layer of the network kernel supports the interface of application program development, and the socket interface is a series of standard functions. The socket supports many different types of protocol families: UNIX domain protocol family, TCP/IP protocol family, Internet packet exchange (IPX) protocol family, among which the TCP/IP protocol family is the most widely used;

2.传输层和网络层,传输层包括标准的TCP和用户数据报(UDP)协议模块,而网络层包括标准的IP协议模块;2. Transport layer and network layer, the transport layer includes standard TCP and user datagram (UDP) protocol modules, and the network layer includes standard IP protocol modules;

3.数据链路层,对于需要逻辑链路的网络,数据链路层提供独立的逻辑链路协议模块,比如点对点协议(PPP)、串行线路网际协议(SLIP)等。对于以太网,该层比较简单,主要的以太网协议实现被集成到底层网卡驱动中;3. Data link layer. For networks that require logical links, the data link layer provides independent logical link protocol modules, such as Point-to-Point Protocol (PPP), Serial Line Internet Protocol (SLIP), and so on. For Ethernet, this layer is relatively simple, and the main Ethernet protocol implementation is integrated into the underlying network card driver;

4.网络设备驱动,由于物理特性的差异,不同的网络设备采用不同的设备驱动。4. Network device drivers, due to differences in physical characteristics, different network devices use different device drivers.

本发明的发明人在研究过程中发现,用户态应用程序读取数据报文,需要先打开网络设备并绑定套接字。数据报文经过网络设备驱动到内核网络协议栈,然后到用户态应用程序,处理流程复杂,同时内核态到用户态空间还需要经过一次内存拷贝,不适合对性能要求高的场合。The inventors of the present invention found in the research process that the user-mode application program needs to open the network device and bind the socket to read the data message. Data packets are driven by network devices to the kernel network protocol stack, and then to user mode applications. The processing process is complicated. At the same time, the kernel mode to user mode space needs to go through a memory copy, which is not suitable for occasions with high performance requirements.

针对相关技术通过套接字接口和网络协议栈无法快速进行报文处理的问题,目前尚未提出有效的解决方案。Aiming at the problem that the related technology cannot quickly process the message through the socket interface and the network protocol stack, no effective solution has been proposed yet.

发明内容Contents of the invention

本发明提供了一种报文处理方法及装置,以至少解决相关技术中通过套接字接口和网络协议栈无法快速进行报文处理的问题。The invention provides a message processing method and device to at least solve the problem in the related art that the message cannot be processed quickly through the socket interface and the network protocol stack.

根据本发明的一个方面,提供了一种报文处理方法,包括:在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;判断待传输报文是否属于预设报文类型;在判断到所述待传输报文属于所述预设报文类型的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。According to one aspect of the present invention, a message processing method is provided, including: creating a fast channel buffer between the user mode application program and the network device driver; judging whether the message to be transmitted belongs to the preset message type; When the message to be transmitted belongs to the preset message type, the message to be transmitted is transmitted between the user state application program and the network device driver through the fast channel buffer.

优选地,在用户态应用程序与网络设备驱动之间创建所述快速通道缓冲区包括:创建并注册快速通道字符节点;通过所述快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到所述快速通道缓冲区;通过所述快速通道字符节点,用户态应用程序设置所述预设报文类型。Preferably, creating the fast channel buffer between the user state application and the network device driver includes: creating and registering a fast channel character node; through the fast channel character node, the user state application creates a shared queue through a system call, The fast channel buffer is obtained; the user mode application program sets the preset message type through the fast channel character node.

优选地,在判断到所述待传输报文属于所述预设报文类型的情况下,在通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文之前,所述方法还包括:判断所述快速通道缓冲区是否已满;其中,在判断到所述快速通道缓冲区未满的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。Preferably, when it is determined that the message to be transmitted belongs to the preset message type, the message to be transmitted is transmitted between the user mode application program and the network device driver through the fast channel buffer Before the text, the method also includes: judging whether the fast channel buffer is full; wherein, when it is judged that the fast channel buffer is not full, through the fast channel buffer, the user state application The message to be transmitted is transmitted with the network device driver.

优选地,在判断到所述快速通道缓冲区已满的情况下,所述方法还包括:丢弃所述待传输报文。Preferably, when it is determined that the fast channel buffer is full, the method further includes: discarding the message to be transmitted.

优选地,在判断到所述待传输报文不属于所述预设报文类型的情况下,所述方法还包括:通过网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文。Preferably, when it is determined that the message to be transmitted does not belong to the preset message type, the method further includes: transmitting the message to be transmitted between the user state application program and the network device driver through the network protocol stack transmit message.

优选地,通过所述网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文包括:将所述待传输报文存储到所述网络协议栈;通过套接字接口从所述网络协议栈读取所述待传输报文。Preferably, transmitting the message to be transmitted between the user mode application program and the network device driver through the network protocol stack includes: storing the message to be transmitted in the network protocol stack; The network protocol stack reads the message to be transmitted.

根据本发明的另一个方面,还提供了一种报文处理装置,包括:创建模块,用于在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;第一判断模块,用于判断待传输报文是否属于预设报文类型;第一传输模块,用于在判断到所述待传输报文属于所述预设报文类型的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。According to another aspect of the present invention, a message processing device is also provided, including: a creation module, used to create a fast channel buffer between the user state application program and the network device driver; a first judging module, used to judge Whether the message to be transmitted belongs to the preset message type; the first transmission module is configured to pass through the fast channel buffer and send the message to the user through the fast channel buffer when it is determined that the message to be transmitted belongs to the preset message type. The message to be transmitted is transmitted between the state application program and the network device driver.

优选地,所述装置还包括:第二判断模块,用于判断所述快速通道缓冲区是否已满;其中,在判断到所述快速通道缓冲区未满的情况下,通过所述快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输所述待传输报文。Preferably, the device further includes: a second judging module, configured to judge whether the fast-track buffer is full; wherein, when it is judged that the fast-track buffer is not full, the fast-track buffer area, and transmit the message to be transmitted between the user mode application program and the network device driver.

优选地,所述装置还包括:丢弃模块,用于在判断到所述快速通道缓冲区已满的情况下,丢弃所述待传输报文。Preferably, the device further includes: a discarding module, configured to discard the message to be transmitted when it is judged that the fast channel buffer is full.

优选地,所述装置还包括:第二传输模块,用于在判断到所述待传输报文不属于所述预设报文类型的情况下,通过网络协议栈在用户态应用程序与网络设备驱动之间传输所述待传输报文。Preferably, the device further includes: a second transmission module, configured to communicate between the user mode application program and the network device through the network protocol stack when it is determined that the message to be transmitted does not belong to the preset message type The to-be-transmitted message is transmitted between drivers.

通过本发明,采用用户态应用程序与网络设备驱动之间创建快速通道缓冲区;判断待传输报文是否属于预设报文类型;在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文的方式,解决了通过套接字接口和网络协议栈无法快速进行报文处理的问题,进而达到了快速进行报文处理的效果。Through the present invention, a fast channel buffer is created between the user mode application program and the network device driver; it is judged whether the message to be transmitted belongs to the preset message type; when it is judged that the message to be transmitted belongs to the preset message type , through the fast channel buffer, the method of transmitting the message to be transmitted between the user state application program and the network device driver solves the problem that the message cannot be processed quickly through the socket interface and the network protocol stack, and thus achieves fast The effect of packet processing.

附图说明Description of drawings

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The accompanying drawings described here are used to provide a further understanding of the present invention and constitute a part of the application. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations to the present invention. In the attached picture:

图1是根据本发明实施例的报文处理方法的流程图;Fig. 1 is a flowchart of a message processing method according to an embodiment of the present invention;

图2是根据本发明实施例的报文处理装置的结构框图;Fig. 2 is a structural block diagram of a message processing device according to an embodiment of the present invention;

图3是根据本发明实施例的报文处理装置的优选结构框图一;Fig. 3 is a preferred structural block diagram 1 of a message processing device according to an embodiment of the present invention;

图4是根据本发明实施例的报文处理装置的优选结构框图二;FIG. 4 is a second preferred structural block diagram of a message processing device according to an embodiment of the present invention;

图5是根据本发明实施例的报文处理装置的优选结构框图三;FIG. 5 is a third preferred structural block diagram of a message processing device according to an embodiment of the present invention;

图6是根据本发明优选实施例的快速报文处理装置的结构框图;Fig. 6 is a structural block diagram of a fast message processing device according to a preferred embodiment of the present invention;

图7是根据本发明优选实施例的快速通道初始化流程图;Fig. 7 is a flow chart of fast channel initialization according to a preferred embodiment of the present invention;

图8是根据本发明优选实施例的内核和用户态共享队列数据交互结构框图;Fig. 8 is a block diagram of the data interaction structure between the kernel and the user mode shared queue according to a preferred embodiment of the present invention;

图9是根据本发明优选实施例的快速报文处理方法流程图。Fig. 9 is a flowchart of a fast message processing method according to a preferred embodiment of the present invention.

具体实施方式detailed description

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。Hereinafter, the present invention will be described in detail with reference to the drawings and examples. It should be noted that, in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that the terms "first" and "second" in the description and claims of the present invention and the above drawings are used to distinguish similar objects, but not necessarily used to describe a specific sequence or sequence.

在本实施例中提供了一种报文处理方法,图1是根据本发明实施例的报文处理方法的流程图,如图1所示,该流程包括如下步骤:A method for processing a message is provided in this embodiment. FIG. 1 is a flowchart of a method for processing a message according to an embodiment of the present invention. As shown in FIG. 1 , the process includes the following steps:

步骤S102,在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;Step S102, creating a fast channel buffer between the user mode application program and the network device driver;

步骤S104,判断待传输报文是否属于预设报文类型;Step S104, judging whether the message to be transmitted belongs to a preset message type;

步骤S106,在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。Step S106, when it is determined that the message to be transmitted belongs to a preset message type, transmit the message to be transmitted between the user-mode application program and the network device driver through the fast channel buffer.

通过上述步骤,根据待传输报文的报文类型,对于属于预设报文类型的待传输报文,通过创建的快速通道缓冲区对报文进行传输,使得属于预设报文类型的待传输报文不必经过网络协议栈以及套接字接口的复杂处理,可以根据需要实现预设类型报文的快速传输。可见,采用上述步骤,解决了通过套接字接口和网络协议栈无法快速进行报文处理的问题,进而达到了快速进行报文处理的效果。Through the above steps, according to the message type of the message to be transmitted, for the message to be transmitted belonging to the preset message type, the message is transmitted through the created fast channel buffer, so that the message to be transmitted belonging to the preset message type The message does not need to go through the complicated processing of the network protocol stack and the socket interface, and the rapid transmission of the preset type of message can be realized according to the need. It can be seen that by adopting the above steps, the problem that the packet cannot be processed quickly through the socket interface and the network protocol stack is solved, and the effect of fast packet processing is achieved.

优选地,预设报文类型可以是分片重组报文。Preferably, the preset message type may be a fragmented and reassembled message.

优选地,在步骤S102中,可以通过创建并注册快速通道字符节点;通过快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到快速通道缓冲区;通过快速通道字符节点,用户态应用程序设置预设报文类型,在用户态应用程序与网络设备驱动之间创建快速通道缓冲区。Preferably, in step S102, by creating and registering the fast channel character node; through the fast channel character node, the user mode application creates a shared queue through a system call to obtain the fast channel buffer; through the fast channel character node, the user mode application The program sets the preset message type, and creates a fast channel buffer between the user mode application program and the network device driver.

优选地,快速通道缓冲区可以是环形缓冲区,该环形缓冲区可以反复使用固定大小的内存空间,写入与读出需要进行信息的协调与同步。Preferably, the fast channel buffer may be a ring buffer, which can repeatedly use a fixed-size memory space, and information coordination and synchronization are required for writing and reading.

优选地,网络设备驱动可以将数据报文的接收函数挂接快速通道报文处理的回调函数,通过回调函数判断预设报文类型;用户态应用程序打开快速通道设备节点,创建共享队列。用户态应用程序设置要处理的快速报文类型,通过系统调用获取队列的物理地址,映射到用户态地址空间用户态应用程序。Preferably, the network device driver can connect the receiving function of the data message to the callback function of fast channel message processing, and judge the preset message type through the callback function; the user state application program opens the fast channel device node and creates a shared queue. The user-mode application program sets the type of fast packets to be processed, obtains the physical address of the queue through system calls, and maps it to the user-mode application program in the user-mode address space.

优选地,在判断到待传输报文属于预设报文类型的情况下,在步骤S104之前,还可以判断快速通道缓冲区是否已满;其中,在判断到快速通道缓冲区未满的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。Preferably, when it is judged that the message to be transmitted belongs to the preset message type, before step S104, it can also be judged whether the fast channel buffer is full; wherein, when it is judged that the fast channel buffer is not full , transmit the message to be transmitted between the user mode application program and the network device driver through the fast channel buffer.

优选地,在判断到快速通道缓冲区已满的情况下,可以丢弃待传输报文。Preferably, when it is determined that the fast channel buffer is full, the message to be transmitted may be discarded.

优选地,在判断到快速通道缓冲区已满的情况下,也可以将待传输报文发送到网络协议栈,由网络协议栈对报文进行处理。Preferably, when it is determined that the fast channel buffer is full, the message to be transmitted may also be sent to the network protocol stack, and the network protocol stack processes the message.

优选地,在判断到待传输报文不属于预设报文类型的情况下,则可以通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文,例如,通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文的情况下:可以将由网络设备驱动发送至用户态应用程序的待传输报文存储到网络协议栈,用户态应用程序再通过网络设备驱动绑定的套接字接口从网络协议栈读取待传输报文;相应的,由用户态应用程序发送至网络设备驱动的待传输报文也经过套接字接口和网络协议栈传输。Preferably, when it is determined that the message to be transmitted does not belong to the preset message type, the message to be transmitted can be transmitted between the user mode application program and the network device driver through the network protocol stack, for example, through the network protocol stack In the case of transmitting packets to be transmitted between the user-mode application and the network device driver: the pending transmission messages sent by the network device driver to the user-mode application can be stored in the network protocol stack, and the user-mode application can pass through the network device The socket interface bound to the driver reads the message to be transmitted from the network protocol stack; correspondingly, the message to be transmitted sent by the user mode application to the network device driver is also transmitted through the socket interface and the network protocol stack.

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation. Based on such an understanding, the essence of the technical solution of the present invention or the part that contributes to the prior art can be embodied in the form of software products, and the computer software products are stored in a storage medium (such as ROM/RAM, disk, CD) contains several instructions to enable a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present invention.

在本实施例中还提供了一种报文处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。This embodiment also provides a packet processing device, which is used to implement the above embodiments and preferred implementation manners, and what has been described will not be repeated here. As used below, the term "module" may be a combination of software and/or hardware that realizes a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware are also possible and contemplated.

图2是根据本发明实施例的报文处理装置的结构框图,如图2所示,该装置包括;创建模块22、第一判断模块24、第一传输模块26,其中,创建模块22,用于在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;第一判断模块24,耦合至创建模块22,用于判断待传输报文是否属于预设报文类型;第一传输模块26,耦合至第一判断模块24,用于在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。Fig. 2 is a structural block diagram of a message processing device according to an embodiment of the present invention. As shown in Fig. 2, the device includes; a creation module 22, a first judgment module 24, and a first transmission module 26, wherein the creation module 22 uses Create a fast channel buffer between the user state application program and the network device driver; the first judgment module 24 is coupled to the creation module 22, and is used to judge whether the message to be transmitted belongs to the preset message type; the first transmission module 26 , coupled to the first judging module 24, configured to transmit the message to be transmitted between the user mode application program and the network device driver through the fast channel buffer when it is judged that the message to be transmitted belongs to a preset message type .

优选地,上述创建模块22用于创建并注册快速通道字符节点;通过快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到快速通道缓冲区;通过快速通道字符节点,用户态应用程序设置预设报文类型。Preferably, the above-mentioned creating module 22 is used to create and register a fast channel character node; through the fast channel character node, the user mode application creates a shared queue through a system call to obtain a fast channel buffer; through the fast channel character node, the user mode application Set the default packet type.

图3是根据本发明实施例的报文处理装置的优选结构框图一,如图3所示,该装置还包括:第二判断模块32,耦合至第一判断模块24和第一传输模块26之间,用于判断快速通道缓冲区是否已满;其中,在判断到快速通道缓冲区未满的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。FIG. 3 is a preferred structural block diagram 1 of a message processing device according to an embodiment of the present invention. As shown in FIG. time, used to determine whether the fast channel buffer is full; wherein, when it is judged that the fast channel buffer is not full, transmit the message to be transmitted between the user state application program and the network device driver through the fast channel buffer .

图4是根据本发明实施例的报文处理装置的优选结构框图二,如图4所示,该装置还包括:丢弃模块42,耦合至第二判断模块32,用于丢弃待传输报文。FIG. 4 is a second preferred structural block diagram of a message processing device according to an embodiment of the present invention. As shown in FIG. 4 , the device further includes: a discarding module 42 coupled to the second judging module 32 for discarding messages to be transmitted.

图5是根据本发明实施例的报文处理装置的优选结构框图三,如图5所示,该装置还包括:第二传输模块52,耦合至第一判断模块24,用于通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文。FIG. 5 is a third preferred structural block diagram of a message processing device according to an embodiment of the present invention. As shown in FIG. Transmit messages to be transmitted between the user mode application program and the network device driver.

优选地,第二传输模块52可以用于将待传输报文存储到网络协议栈;通过套接字接口从网络协议栈读取待传输报文。Preferably, the second transmission module 52 can be used to store the message to be transmitted in the network protocol stack; read the message to be transmitted from the network protocol stack through the socket interface.

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。It should be noted that each of the above-mentioned modules can be implemented by software or hardware. For the latter, it can be implemented in the following manner, but not limited to this: the above-mentioned modules are all located in the same processor; or, the above-mentioned modules are respectively located in multiple in the processor.

本发明的实施例还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。Embodiments of the present invention also provide software, which is used to implement the technical solutions described in the above embodiments and preferred implementation manners.

本发明的实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:The embodiment of the invention also provides a storage medium. In this embodiment, the above-mentioned storage medium may be configured to store program codes for performing the following steps:

S20,在用户态应用程序与网络设备驱动之间创建快速通道缓冲区;S20, creating a fast channel buffer between the user mode application program and the network device driver;

S40,判断待传输报文是否属于预设报文类型;S40, judging whether the message to be transmitted belongs to the preset message type;

S60,在判断到待传输报文属于预设报文类型的情况下,通过快速通道缓冲区,在用户态应用程序与网络设备驱动之间传输待传输报文。S60. When it is determined that the message to be transmitted belongs to the preset message type, transmit the message to be transmitted between the application program in the user state and the network device driver through the fast channel buffer.

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:Optionally, the storage medium is also configured to store program codes for performing the following steps:

S22,创建并注册快速通道字符节点;S22, creating and registering a fast channel character node;

S24,通过快速通道字符节点,用户态应用程序通过系统调用创建共享队列,得到快速通道缓冲区;S24, through the fast channel character node, the user mode application creates a shared queue through a system call to obtain a fast channel buffer;

S26,通过快速通道字符节点,用户态应用程序设置预设报文类型。S26, through the character node of the fast channel, the user mode application program sets a preset message type.

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:Optionally, the storage medium is also configured to store program codes for performing the following steps:

S62,判断快速通道缓冲区是否已满。S62. Determine whether the fast channel buffer is full.

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:Optionally, the storage medium is also configured to store program codes for performing the following steps:

S622,在判断到快速通道缓冲区未满的情况下,丢弃待传输报文。S622. Discard the message to be transmitted when it is determined that the fast channel buffer is not full.

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:Optionally, the storage medium is also configured to store program codes for performing the following steps:

S50,在判断到待传输报文不属于预设报文类型的情况下,通过网络协议栈在用户态应用程序与网络设备驱动之间传输待传输报文。S50. When it is determined that the message to be transmitted does not belong to the preset message type, transmit the message to be transmitted between the user state application program and the network device driver through the network protocol stack.

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:Optionally, the storage medium is also configured to store program codes for performing the following steps:

S52,将待传输报文存储到网络协议栈;S52, storing the message to be transmitted in the network protocol stack;

S54,通过套接字接口从网络协议栈读取待传输报文。S54. Read the message to be transmitted from the network protocol stack through the socket interface.

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。Optionally, in this embodiment, the above-mentioned storage medium may include but not limited to: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk Various media that can store program codes such as discs or optical discs.

为了使本发明实施例的描述更加清楚,下面结合优选实施例进行描述和说明。In order to make the description of the embodiments of the present invention clearer, the following describes and illustrates in conjunction with preferred embodiments.

本发明优选实施例提供了一种基于Linux操作系统的快速报文处理方法,以解决Linux内核协议栈无法高效处理网卡性能要求高的报文的问题,同时充分发挥Linux协议栈的功能。The preferred embodiment of the present invention provides a fast message processing method based on the Linux operating system to solve the problem that the Linux kernel protocol stack cannot efficiently process messages with high network card performance requirements, and at the same time give full play to the functions of the Linux protocol stack.

本发明优选实施例提供的一种基于Linux操作系统的快速报文处理方案,包括如下模块:A kind of fast message processing scheme based on Linux operating system that preferred embodiment of the present invention provides, comprises following module:

网络设备驱动模块,用于网络设备的探测,数据包的接收和发送。The network device driver module is used for detecting network devices, receiving and sending data packets.

Linux网络协议栈,Linux提供的标准模块,用于网络报文处理。Linux network protocol stack, a standard module provided by Linux, used for network packet processing.

快速通道模块,用于共享队列(相当于上述快速通道缓冲区)的创建,快速通道注册,报文的接收处理。The fast channel module is used for creating a shared queue (equivalent to the above-mentioned fast channel buffer), registering for a fast channel, and receiving and processing messages.

用户态接收模块,用于打开共享队列,将共享队列映射到用户态空间,以及报文的接收处理。The user mode receiving module is used to open the shared queue, map the shared queue to the user mode space, and receive and process the message.

本发明优选实施例提供的一种基于Linux的快速报文处理方法,包括如下步骤:A kind of fast message processing method based on Linux that the preferred embodiment of the present invention provides, comprises the following steps:

步骤一,网络设备驱动在探测时注册快速报文处理模块;Step 1, the network device driver registers the fast message processing module during detection;

步骤二,网络设备驱动,数据报文接收函数挂接快速通道报文处理的回调函数;Step 2, the network device is driven, and the data message receiving function is connected to the callback function of fast channel message processing;

步骤三,用户态应用程序,打开快速通道设备节点,创建共享队列,设置待处理的快速报文类型(相当于上述预设报文类型),通过系统调用获取队列的物理地址,映射到用户态地址空间;Step 3, the user mode application, open the fast channel device node, create a shared queue, set the fast message type to be processed (equivalent to the above preset message type), obtain the physical address of the queue through the system call, and map it to the user mode address space;

步骤四,按照上述步骤初始化以后,网络设备驱动模块接收的数据报文,可以进行正常处理,根据设置的报文类型,确定后续处理方式;Step 4: After initialization according to the above steps, the data message received by the network device driver module can be processed normally, and the subsequent processing method is determined according to the set message type;

步骤五,对于快速报文,直接存储到快速通道模块的共享队列,应用程序通过映射共享内存的方式,获取数据报文;对于没有匹配的报文,全部上送到Linux网络协议栈,应用程序需要通过套接字接口读取报文。Step 5, for the fast message, store it directly in the shared queue of the fast channel module, and the application program obtains the data message by mapping the shared memory; for the unmatched message, all are sent to the Linux network protocol stack, and the application program The message needs to be read through the socket interface.

下面结合附图对本发明优选实施例进行说明。The preferred embodiments of the present invention will be described below in conjunction with the accompanying drawings.

为了解决Linux网络协议栈处理高速报文性能低的问题,本发明优选实施例提供了一种快速处理报文的方法,同时对于普通报文可以使用Linux网络协议栈。In order to solve the problem of low performance of the Linux network protocol stack for processing high-speed messages, the preferred embodiment of the present invention provides a method for quickly processing messages, and at the same time, the Linux network protocol stack can be used for ordinary messages.

图6是根据本发明优选实施例的快速报文处理装置的结构框图,如图6所示,该装置包括:在Linux内核态创建的快速通道模块,耦合至应用程序和网络设备驱动模块之间,用于高速报文的处理,应用程序快速报文通过映射共享内存的方式,访问快速通道模块的报文;套接字接口,耦合至应用程序和Linux网络协议栈,用于普通报文通过网络套接字的方式访问Linux网络协议栈;Linux网络协议栈,耦合至套接字接口和网络设备驱动模块之间,用于存储与处理普通报文。Fig. 6 is the structural block diagram of the fast message processing device according to the preferred embodiment of the present invention, as shown in Fig. 6, this device comprises: the fast path module created in Linux kernel state, is coupled between the application program and the network device driver module , used for high-speed message processing, the fast message of the application program accesses the message of the fast channel module by mapping the shared memory; the socket interface is coupled to the application program and the Linux network protocol stack, and is used for the ordinary message to pass through The Linux network protocol stack is accessed through the network socket; the Linux network protocol stack is coupled between the socket interface and the network device driver module, and is used for storing and processing ordinary messages.

本发明优选实施例中,需要处理的快速报文可以为分片重组报文,普通报文可以为除了分片重组报文以外的其他报文,例如地址解析协议(ARP)请求报文,因特网协议版本4(IPv4)报文。In a preferred embodiment of the present invention, the fast message that needs to be processed can be a fragment reassembly message, and the common message can be other messages except the fragment reassembly message, such as Address Resolution Protocol (ARP) request message, Internet Protocol version 4 (IPv4) packets.

本发明优选实施例中,快速通道模块用于提供创建共享队列接口,获取共享内存地址,报文接收处理,共享队列的管理。In a preferred embodiment of the present invention, the fast channel module is used to provide an interface for creating a shared queue, obtain a shared memory address, receive and process messages, and manage the shared queue.

图7是根据本发明优选实施例的快速通道初始化流程图,如图7所示,该流程包括以下步骤:Fig. 7 is a flow chart of fast channel initialization according to a preferred embodiment of the present invention. As shown in Fig. 7, the process includes the following steps:

步骤S702,网络设备驱动探测,驱动加载;Step S702, network device driver detection, driver loading;

步骤S704,创建快速通道字符设备,注册设备节点,提供系统调用接口,包括创建共享队列,获取映射关系,设置快速报文类型;Step S704, creating a fast channel character device, registering a device node, providing a system call interface, including creating a shared queue, obtaining a mapping relationship, and setting a fast message type;

步骤S706,网络设备驱动的报文接收处理函数,挂接快速通道报文的接收函数;Step S706, the message receiving and processing function driven by the network device is connected to the receiving function of the fast channel message;

步骤S708,Linux内核启动,加载快速通道模块;Step S708, the Linux kernel is started, and the fast channel module is loaded;

步骤S710,用户程序通过系统调用,创建快速通道缓冲区,设置快速通道的报文类型(相当于上述预设报文类型)。In step S710, the user program creates a fast channel buffer through a system call, and sets a message type of the fast channel (equivalent to the aforementioned preset message type).

优选地,上述共享队列是一个先进先出的环形队列,图8是根据本发明优选实施例的内核和用户态共享队列数据交互结构框图,如图8所示,环形队列不需要进行动态的内存释放和分配,可以反复使用固定大小的内存空间;快速通道模块作为写入模块将报文插入队列;用户程序作为读出模块将报文弹出队列;写入模块和读出模块需要进行信息的协调和同步;对于多线程和多进程的写入或读出模块,写入模块间以及读出模块间需要进行临界区处理。Preferably, the above-mentioned shared queue is a first-in-first-out circular queue, and Fig. 8 is a block diagram of the data interaction structure of the kernel and the user-mode shared queue according to a preferred embodiment of the present invention. As shown in Fig. 8, the circular queue does not need dynamic memory Freeing and allocating, the fixed-size memory space can be used repeatedly; the fast channel module inserts the message into the queue as the writing module; the user program pops the message out of the queue as the reading module; the writing module and the reading module need to coordinate information and synchronization; for multi-thread and multi-process writing or reading modules, critical section processing is required between writing modules and between reading modules.

在实际的队列插入和弹出操作中,是不断交叉进行的,当插入(push)操作时,队列头(head)会增加;而弹出(pop)操作时,队列尾(tail)会增加。push的速度快的时候,会追上tail,这个时候说明队列已满,不能再进行push的操作了,需要等待pop操作腾出队列的空间。当pop的操作快,使得tail追上head,这个时候说明队列已空,不能再进行pop操作,需要等待push进来数据。In the actual queue insertion and pop-up operations, they are continuously interleaved. When inserting (push) operations, the queue head (head) will increase; while popping (pop) operations, the queue tail (tail) will increase. When the push speed is fast, it will catch up with the tail. At this time, it means that the queue is full and no more push operations can be performed. It is necessary to wait for the pop operation to free up space in the queue. When the pop operation is fast and the tail catches up with the head, it means that the queue is empty and the pop operation can no longer be performed, and it is necessary to wait for the push data to come in.

图9是根据本发明优选实施例的快速报文处理方法流程图,如图9所示,该流程包括以下步骤:Fig. 9 is a flowchart of a fast message processing method according to a preferred embodiment of the present invention. As shown in Fig. 9, the process includes the following steps:

步骤S902,网卡设备驱动从硬件设备获取数据报文;Step S902, the network card device driver obtains the data message from the hardware device;

步骤S904,对数据报文的二层头进行分析,如果匹配快速通道的关键字(即判断是否属于预设报文类型),则执行步骤S906,进入快速通道处理流程,否则,转到步骤S914,报文进入Linux网络协议栈处理;Step S904, analyze the layer 2 header of the data message, if it matches the keyword of the fast channel (that is, judge whether it belongs to the preset message type), then execute step S906, enter the fast channel processing flow, otherwise, go to step S914 , the message enters the Linux network protocol stack for processing;

步骤S906,判断队列的管理节点的读写指针。若环形队列首尾相接,队列已满,则执行步骤S908,否则执行步骤S910;Step S906, judging the read/write pointer of the management node of the queue. If the ring queues are connected head to tail and the queue is full, then step S908 is executed, otherwise step S910 is executed;

步骤S908,处理队列满的报文,直接丢掉报文;Step S908, process the message that the queue is full, and directly discard the message;

步骤S910,将报文存储到环形队列;Step S910, storing the message in the ring queue;

步骤S912,调整环形队列的写指针,执行下一空闲的缓冲区;Step S912, adjusting the write pointer of the ring queue, and executing the next free buffer;

步骤S914,处理普通报文,对于高性能没有要求,数据报文被送到Linux网络协议栈处理。Step S914, processing ordinary packets, there is no requirement for high performance, and the data packets are sent to the Linux network protocol stack for processing.

综上所述,通过本发明的上述实施例和优选实施例,新增了一种报文处理模式,利用快速通道缓冲区,可以有选择的绕过Linux网络协议栈,简化报文的接收流程,减少中央处理器(Central Processing Unit,简称为CPU)资源的损耗,使接收性能大幅提升,可以满足万兆以太网对性能的要求,同时兼顾了网络协议栈的强大功能,使普通报文可以直接通过Linux网络协议栈处理。In summary, through the above-mentioned embodiments and preferred embodiments of the present invention, a new message processing mode has been added, and the fast channel buffer can be used to selectively bypass the Linux network protocol stack, simplifying the process of receiving messages , reduce the loss of central processing unit (Central Processing Unit, referred to as CPU) resources, greatly improve the receiving performance, can meet the performance requirements of 10 Gigabit Ethernet, and at the same time take into account the powerful functions of the network protocol stack, so that ordinary messages can Processed directly through the Linux network protocol stack.

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that each module or each step of the above-mentioned present invention can be realized by a general-purpose computing device, and they can be concentrated on a single computing device, or distributed in a network formed by multiple computing devices Alternatively, they may be implemented in program code executable by a computing device so that they may be stored in a storage device to be executed by a computing device, and in some cases, in an order different from that shown here The steps shown or described are carried out, or they are separately fabricated into individual integrated circuit modules, or multiple modules or steps among them are fabricated into a single integrated circuit module for implementation. As such, the present invention is not limited to any specific combination of hardware and software.

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and changes. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims (10)

1. a message processing method, it is characterised in that including:
Express passway relief area is created between User space application program and network device driver;
Judge whether message to be transmitted belongs to default type of message;
Determining in the case of described message to be transmitted belongs to described default type of message, by described express passway Relief area, transmits described message to be transmitted between User space application program and network device driver.
Method the most according to claim 1, it is characterised in that between User space application program and network device driver Create described express passway relief area to include:
Create and register express passway character nodes;
By described express passway character nodes, User space application program calls establishment shared queue by system, To described express passway relief area;
By described express passway character nodes, User space application program arranges described default type of message.
Method the most according to claim 1, it is characterised in that belong to described default determining described message to be transmitted In the case of type of message, by described express passway relief area, drive with the network equipment at User space application program Before transmitting described message to be transmitted between Dong, described method also includes:
Judge that described express passway relief area is the fullest;
Wherein, determine described express passway relief area less than in the case of, by described express passway relief area, Described message to be transmitted is transmitted between User space application program and network device driver.
Method the most according to claim 3, it is characterised in that determining the feelings that described express passway relief area is the fullest Under condition, described method also includes:
Abandon described message to be transmitted.
Method the most according to any one of claim 1 to 4, it is characterised in that determining described message to be transmitted In the case of being not belonging to described default type of message, described method also includes:
Between User space application program and network device driver, described message to be transmitted is transmitted by network protocol stack.
Method the most according to claim 5, it is characterised in that by described network protocol stack at User space application program And transmit described message to be transmitted between network device driver to include:
By described packet storage to be transmitted to described network protocol stack;
Described message to be transmitted is read from described network protocol stack by sockets interface.
7. a message process device, it is characterised in that including:
Creation module, for creating express passway relief area between User space application program and network device driver;
First judge module, is used for judging whether message to be transmitted belongs to default type of message;
First transport module, for determining in the case of described message to be transmitted belongs to described default type of message, By described express passway relief area, transmit described to be transmitted between User space application program and network device driver Message.
Device the most according to claim 7, it is characterised in that described device also includes:
Second judge module, is used for judging that described express passway relief area is the fullest;
Wherein, determine described express passway relief area less than in the case of, by described express passway relief area, Described message to be transmitted is transmitted between User space application program and network device driver.
Device the most according to claim 8, it is characterised in that described device also includes:
Discard module, for determine described express passway relief area full in the case of, abandon described to be transmitted Message.
10. according to the device according to any one of claim 7 to 9, it is characterised in that described device also includes:
Second transport module, for determining described message to be transmitted and be not belonging to the situation of described default type of message Under, between User space application program and network device driver, transmit described message to be transmitted by network protocol stack.
CN201510375763.9A 2015-06-30 2015-06-30 Message processing method and device Withdrawn CN106330776A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510375763.9A CN106330776A (en) 2015-06-30 2015-06-30 Message processing method and device
PCT/CN2016/076793 WO2017000593A1 (en) 2015-06-30 2016-03-18 Packet processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510375763.9A CN106330776A (en) 2015-06-30 2015-06-30 Message processing method and device

Publications (1)

Publication Number Publication Date
CN106330776A true CN106330776A (en) 2017-01-11

Family

ID=57607561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510375763.9A Withdrawn CN106330776A (en) 2015-06-30 2015-06-30 Message processing method and device

Country Status (2)

Country Link
CN (1) CN106330776A (en)
WO (1) WO2017000593A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110098993A (en) * 2019-04-02 2019-08-06 视联动力信息技术股份有限公司 A kind for the treatment of method and apparatus of signaling message
CN110149262A (en) * 2019-04-02 2019-08-20 视联动力信息技术股份有限公司 A kind for the treatment of method and apparatus and storage medium of signaling message
CN110380990A (en) * 2019-06-03 2019-10-25 湖北微源卓越科技有限公司 A kind of method and device of network data packet
CN110417812A (en) * 2019-08-23 2019-11-05 北京无极芯动科技有限公司 5G protocol massages processor architecture and 5G protocol message processing method
CN114157684A (en) * 2020-08-18 2022-03-08 华为终端有限公司 Message processing method, device and storage medium
WO2023040412A1 (en) * 2021-09-18 2023-03-23 华为技术有限公司 Message processing method, network card and server
CN117097815A (en) * 2023-10-18 2023-11-21 苏州元脑智能科技有限公司 Message transmission method, system, electronic equipment and readable storage medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334156A (en) * 2021-04-26 2022-11-11 深信服科技股份有限公司 Message processing method, device, equipment and storage medium
CN113726611A (en) * 2021-09-01 2021-11-30 深圳市大洲智创科技有限公司 Method for flow control based on protocol
CN114928597B (en) * 2022-05-20 2023-07-25 中国联合网络通信集团有限公司 Data transmission method, device and equipment
CN115037798B (en) * 2022-08-11 2022-12-27 成都金诺信高科技有限公司 Time system message data packet distribution method
CN115941531B (en) * 2022-12-06 2024-09-20 江苏杰瑞信息科技有限公司 Network original message extraction method based on newly added kernel driving module
CN116016295B (en) * 2022-12-14 2024-04-09 鹏城实验室 Ethernet performance monitoring method, system, industrial control equipment and storage medium
CN119669138A (en) * 2024-11-29 2025-03-21 北京火山引擎科技有限公司 Communication method and device for data processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1709540A2 (en) * 2003-12-30 2006-10-11 Intel Corporation Virtual to physical address translation
EP2044753A2 (en) * 2006-07-10 2009-04-08 Solarflare Communications Incorporated Network stacks
CN101841470A (en) * 2010-03-29 2010-09-22 东南大学 High-speed capturing method of bottom-layer data packet based on Linux
CN102638487A (en) * 2011-03-02 2012-08-15 中国科学院地质与地球物理研究所 High-performance data transmission method for large telemetric seismic instrument
CN104320373A (en) * 2014-07-04 2015-01-28 中国兵器工业信息中心 Protocol interworking device between application server and terminal and method for implementing the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945456B (en) * 2014-05-12 2017-06-27 武汉邮电科学研究院 A kind of efficient UDP message of LTE base station user plane based on linux system sends optimization method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1709540A2 (en) * 2003-12-30 2006-10-11 Intel Corporation Virtual to physical address translation
EP2044753A2 (en) * 2006-07-10 2009-04-08 Solarflare Communications Incorporated Network stacks
CN101841470A (en) * 2010-03-29 2010-09-22 东南大学 High-speed capturing method of bottom-layer data packet based on Linux
CN102638487A (en) * 2011-03-02 2012-08-15 中国科学院地质与地球物理研究所 High-performance data transmission method for large telemetric seismic instrument
CN104320373A (en) * 2014-07-04 2015-01-28 中国兵器工业信息中心 Protocol interworking device between application server and terminal and method for implementing the same

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110098993A (en) * 2019-04-02 2019-08-06 视联动力信息技术股份有限公司 A kind for the treatment of method and apparatus of signaling message
CN110149262A (en) * 2019-04-02 2019-08-20 视联动力信息技术股份有限公司 A kind for the treatment of method and apparatus and storage medium of signaling message
CN110098993B (en) * 2019-04-02 2020-12-18 视联动力信息技术股份有限公司 Method and device for processing signaling message
CN110149262B (en) * 2019-04-02 2021-03-12 视联动力信息技术股份有限公司 Method and device for processing signaling message and storage medium
CN110380990A (en) * 2019-06-03 2019-10-25 湖北微源卓越科技有限公司 A kind of method and device of network data packet
CN110417812A (en) * 2019-08-23 2019-11-05 北京无极芯动科技有限公司 5G protocol massages processor architecture and 5G protocol message processing method
CN114157684A (en) * 2020-08-18 2022-03-08 华为终端有限公司 Message processing method, device and storage medium
CN114157684B (en) * 2020-08-18 2024-01-02 华为终端有限公司 Message processing method, device and storage medium
WO2023040412A1 (en) * 2021-09-18 2023-03-23 华为技术有限公司 Message processing method, network card and server
CN117097815A (en) * 2023-10-18 2023-11-21 苏州元脑智能科技有限公司 Message transmission method, system, electronic equipment and readable storage medium
CN117097815B (en) * 2023-10-18 2024-02-09 苏州元脑智能科技有限公司 Message transmission method, system, electronic equipment and readable storage medium

Also Published As

Publication number Publication date
WO2017000593A1 (en) 2017-01-05

Similar Documents

Publication Publication Date Title
CN106330776A (en) Message processing method and device
US12341686B2 (en) System and method for facilitating efficient utilization of an output buffer in a network interface controller (NIC)
CN113326228B (en) Message forwarding method, device and equipment based on remote direct data storage
US10880204B1 (en) Low latency access for storage using multiple paths
US10044616B2 (en) Co-existence of routable and non-routable RDMA solutions on the same network interface
US7813342B2 (en) Method and apparatus for writing network packets into computer memory
CN108055202B (en) Message processing equipment and method
US9411775B2 (en) iWARP send with immediate data operations
US11048569B1 (en) Adaptive timeout mechanism
JP5066707B2 (en) TCP / IP offload device with reduced sequential processing
WO2023103301A1 (en) Distributed heterogeneous acceleration platform communication method and system, and device and medium
TW200415469A (en) Hardware-based packet filtering accelerator
US10616105B1 (en) Extending virtual routing and forwarding using source identifiers
TW200807966A (en) Scaling egress network traffic
CN111343148A (en) A method, system and device for processing FGPA communication data
US20150264142A1 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
CN109417507B (en) A method and system for accessing memory through partial direct memory access DMA
WO2022068744A1 (en) Method for obtaining message header information and generating message, device, and storage medium
US10616116B1 (en) Network traffic load balancing using rotating hash
WO2018107433A1 (en) Information processing method and device
US11386008B1 (en) False hit detection in ternary content-addressable memory
US20090285207A1 (en) System and method for routing packets using tags
US10255213B1 (en) Adapter device for large address spaces
US8041902B2 (en) Direct memory move of multiple buffers between logical partitions
US12093571B1 (en) Accelerating request/response protocols

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20170111

WW01 Invention patent application withdrawn after publication