CN113300978A - Data transmission method and device - Google Patents

Data transmission method and device Download PDF

Info

Publication number
CN113300978A
CN113300978A CN202110167457.1A CN202110167457A CN113300978A CN 113300978 A CN113300978 A CN 113300978A CN 202110167457 A CN202110167457 A CN 202110167457A CN 113300978 A CN113300978 A CN 113300978A
Authority
CN
China
Prior art keywords
queue
network
network card
port
queues
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
Application number
CN202110167457.1A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202110167457.1A priority Critical patent/CN113300978A/en
Publication of CN113300978A publication Critical patent/CN113300978A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card

Landscapes

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

Abstract

The embodiment of the specification provides a data transmission method and a device, wherein the data transmission method comprises the following steps: receiving a transmission request for target data; determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue; and under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length, modifying the network port corresponding to the network card queue into a second network port, and transmitting the target data from the second network port corresponding to the network card queue.

Description

Data transmission method and device
Technical Field
The embodiment of the specification relates to the technical field of data processing, in particular to a data transmission method and device.
Background
Remote Direct Memory Access (RDMA) is a technology for directly performing Remote Memory Access, and data is transmitted into a storage area of a device through a network, and is directly and quickly migrated from one system to another Remote system Memory without any influence on an operating system, so that consumption of a Central Processing Unit (CPU) participating in a data transmission process is reduced, Memory bandwidth and a Central Processing Unit (CPU) period are liberated, and further, the performance of system Processing service is improved, and the RDMA is characterized by high bandwidth, low time delay and low CPU occupancy rate.
At present, a data center comprehensively uses common commercial servers and network equipment, and the scale of a single data center is very large. The increase of the scale of the data center is accompanied by more network device failures (lifetime expiration, hardware bug, sudden power failure, conventional failure probability, natural disaster, etc.), in order to accommodate disaster and redundancy, two or more network interfaces (network ports) are usually configured for each server, each network port is connected to a switch, when a certain switch fails, both communication parties need to reestablish network connection, but the reestablished network connection may be unavailable due to random selection of the network port and possibly pass through the network device that has failed in the original transmission path, so that disconnection and reconnection are continuously performed, and therefore, a data transmission method capable of solving the above problems is urgently needed.
Disclosure of Invention
In view of this, the embodiments of the present specification provide a data transmission method. One or more embodiments of the present disclosure also relate to a data transmission apparatus, a computing device, and a computer-readable storage medium to solve the technical problems in the prior art.
In a first aspect of embodiments of the present specification, a data transmission method is provided, including:
receiving a transmission request for target data;
determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue;
and under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length, modifying the network port corresponding to the network card queue into a second network port, and transmitting the target data from the second network port corresponding to the network card queue.
In a second aspect of embodiments of the present specification, there is provided a data transmission apparatus, including:
a receiving module configured to receive a transmission request for target data;
the transmission module is configured to determine a corresponding network card queue based on the transmission request and transmit the target data from a first network port corresponding to the network card queue;
and the modification module is configured to modify the network port corresponding to the network card queue into a second network port and transmit the target data from the second network port corresponding to the network card queue under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length.
In a third aspect of embodiments of the present specification, there is provided a computing device comprising:
a memory and a processor;
the memory is to store computer-executable instructions, and the processor is to execute the computer-executable instructions to:
receiving a transmission request for target data;
determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue;
and under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length, modifying the network port corresponding to the network card queue into a second network port, and transmitting the target data from the second network port corresponding to the network card queue.
In a fourth aspect of the embodiments of the present specification, there is provided a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the data transmission method.
This specification provides a data transmission method, including: receiving a transmission request for target data; determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue; under the condition that a receiving response aiming at target data is not received through the network card queue within a preset time length, the network port corresponding to the network card queue is modified into a second network port, the target data is transmitted from the second network port corresponding to the network card queue, the network port corresponding to the network card queue (namely, the network port with a transmission fault) is dynamically switched to an available network port under the condition that the target data is overtime, the target data can be transmitted from the available network port through the network card queue, data transmission from a fault path corresponding to the first network port is avoided, a new network card queue does not need to be created, and the fault recovery efficiency is improved.
Drawings
FIG. 1 is a process flow diagram of a data transmission method provided by one embodiment of the present description;
FIG. 2 is a diagram illustrating a data transmission method according to an embodiment of the present disclosure;
FIG. 3 is a process flow diagram of a data transfer method applied to an RDMA network transfer scenario according to an embodiment of the present disclosure;
FIG. 4 is a schematic diagram of a data transmission device according to an embodiment of the present disclosure;
fig. 5 is a block diagram of a computing device according to an embodiment of the present disclosure.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present description. This description may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, as those skilled in the art will be able to make and use the present disclosure without departing from the spirit and scope of the present disclosure.
The terminology used in the description of the one or more embodiments is for the purpose of describing the particular embodiments only and is not intended to be limiting of the description of the one or more embodiments. As used in one or more embodiments of the present specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used in one or more embodiments of the present specification refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It will be understood that, although the terms first, second, etc. may be used herein in one or more embodiments to describe various information, these information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, a first can also be referred to as a second and, similarly, a second can also be referred to as a first without departing from the scope of one or more embodiments of the present description. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
First, the noun terms to which one or more embodiments of the present specification relate are explained.
RDMA (Remote Direct Memory Access): the RDMA transfers data from a system to a remote system memory directly through the network, and does not cause any influence on the operating system, so that the processing function of the computer is not needed. It eliminates the overhead of external memory copy and context switch, thus freeing up memory bandwidth and CPU cycles for improved application system performance.
Asw (access switch): the server is connected with the switch.
Psw (pod switch): the data center delivery unit connects the switch.
MMU (Memory Management Unit): sometimes referred to as Paged Memory Management Unit (PMMU). It is computer hardware responsible for handling memory access requests for a Central Processing Unit (CPU). Its functions include the translation of virtual to physical addresses (i.e. virtual memory management), memory protection, control of the central processor cache, and in simpler computer architectures, is responsible for bus arbitration and bank switching.
In this specification, a data transmission method is provided, and one or more embodiments of the specification relate to a data transmission apparatus, a computing device, and a computer-readable storage medium, which are described in detail in the following embodiments one by one.
An embodiment of a data transmission method provided in this specification is as follows:
fig. 1 shows a processing flow chart of a data transmission method according to an embodiment of the present specification, which specifically includes the following steps:
step 102, receiving a transmission request for target data.
The target data can be understood as data to be transmitted; the transmission request comprises a data reading request or a data writing request; specifically, the data reading request may be understood as a request for reading data in a receiving end; a data write request may be understood as a request to write data to a receiving end.
In practical applications, the transmission request may carry data information of target data, and specifically, the data information includes: and determining the target data to be transmitted according to the data information, such as the storage address of the target data and/or the data identifier of the target data.
And 104, determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue.
The network card Queue may be a transmission Queue supporting an RDMA protocol (also may be understood as an RDMA network connection), and in specific implementation, the sending end schedules the network card Queue to perform data transmission between the sending end and the receiving end, and further, the network card Queue includes a Queue pair (Queue Pairs, QP) composed of a Send Queue (SQ) and a Receive Queue (RQ).
Further, the network card queue and the network port have a corresponding relationship, and when the sending end and the receiving end perform data transmission, the target data contained or pointed to in the network card queue is transmitted from the network port corresponding to the network card queue, where the network port may be understood as an external connection interface of a network device (such as a network card), and each network port has a corresponding network port identifier (for example, a network port number), specifically, for example, 0, 1, or port0, port1, and the like.
In a specific implementation, in an optional implementation manner provided in this specification, the determining, based on the transmission request, a corresponding network card queue, and transmitting the target data from a first network port corresponding to the network card queue specifically adopt the following manners:
determining the network card queue according to queue information carried in the transmission request;
converting the transmission request into a queue element and adding the queue element to the corresponding network card queue;
analyzing the queue element to determine the target data;
and transmitting the target data from the first network port corresponding to the network card queue.
In practical application, the transmission request carries queue information of the network card queue, such as information of an IP address, a port number, and/or a queue identifier of the communication terminal, and then a network card queue can be uniquely determined according to the carried queue information, and target data transmission is performed through the network card queue and the receiving terminal corresponding to the IP address.
Specifically, converting the transmission request into a queue element may be understood as performing format encapsulation on the transmission request, converting the transmission request into a format of a queue element of a network card queue, and adding the format of the queue element into the network card queue, so as to process the queue element in the network card queue.
In practical application, when the network card Queue is a transmission Queue of an RDMA protocol, a Work Queue Element (WQE) placed in a Receive Queue (RQ) of the network card Queue, that is, a Queue Element, mainly includes a pointer pointing to a buffer for indicating an address where data to be received is to be stored, and a WQE placed in a Send Queue (SQ) of the network card Queue includes a pointer pointing to data to be sent for pointing to data to be sent.
Furthermore, the queue elements are analyzed, so that target data to be transmitted can be obtained, and the target data is transmitted from the first network interface corresponding to the network card queue, so that the target data is transmitted by scheduling the network card queue, and the target data is transmitted from the specified network interface (namely, the network interface corresponding to the network card queue).
In practical application, in a process of creating a network card queue, a corresponding network interface is allocated to the network card queue so as to indicate which network interface to transmit data in the network card queue, and in an optional implementation manner provided in an embodiment of this specification, before determining the corresponding network card queue based on the transmission request and transmitting the target data from the first network interface corresponding to the network card queue, the method further includes:
receiving a queue creating request, wherein the queue creating request carries queue address information and queue port information;
based on the queue address information and the queue port information, creating a network card queue corresponding to the queue creating request;
determining a first network port corresponding to a network card queue, and distributing the first network port to the network card queue.
Specifically, the queue creation request refers to a request for requesting to create a network card queue, where the queue creation request carries queue address information and queue port information, where the queue address information may be understood as an IP address, and the queue port information may be understood as a port number, and in practical application, a network card queue may be created according to a source IP address and a source port number of a sending end, and a target IP address and a target port number of a receiving end corresponding to the sending end.
In a specific implementation, the queue creation request may further specify a network port corresponding to the network card queue, for example, a network port identifier is specified in the queue creation request, and the network port identifier is allocated to the network card queue, that is, the network port corresponding to the network port identifier is used as the network port corresponding to the network card queue, where the network port identifier refers to an identifier that can uniquely identify a network port of one network card.
In practical application, when the network card queue is a transmission queue of an RDMA protocol, a specified network port may be allocated to the network card queue in a driver software stack through a network card driver software interface, and in addition, a preset allocation rule may also be queried, and a network port corresponding to a network port identifier indicated in the allocation rule is allocated to the network card queue.
Further, after creating the network card queue, in an optional implementation manner provided by the embodiment of this specification, before receiving the transmission request for the target data, the method further includes:
and recording the corresponding relation between the network card queue and the first network port in a preset corresponding relation table.
In practical applications, the corresponding relationship between the network card queue and the first network port may be represented by a corresponding relationship between a queue identifier of the network card queue and a first network port identifier of the first network port, or a corresponding relationship between a name of the network card queue and a network port name of the first network port, which is not limited herein, and the corresponding relationship is recorded (i.e., stored) in a preset corresponding relationship table.
Specifically, the correspondence table may be as shown in table 1 below:
network card queue (queue mark) Net gape (Net gape sign)
QP1 Port0
QP2 Port1
QP3 Port0
QP4 Port1
QP5 Port0
QP6 Port1
TABLE 1
The queue identifier refers to an identifier that can uniquely identify a network card queue, the first network port identifier refers to an identifier of the first network card, and the correspondence table may be understood as a table or a data table in a database, and may also be understood as any storage file that can store data, and the like, which is not limited herein.
In the embodiment of the present specification, after the network card queue is created, the corresponding relationship between the network card queue and the network port is recorded in the preset relationship corresponding table, so as to correspond to the created network card, and search and track the corresponding relationship between the network card queue and the network port.
And 106, modifying the network port corresponding to the network card queue into a second network port and transmitting the target data from the second network port corresponding to the network card queue under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length.
Specifically, the preset time length refers to a preset maximum time length for receiving a receiving response, and if the preset time length is exceeded, it indicates that transmission of the target data fails if the receiving response for the target data is not received, and if the receiving response for the target data is received within the preset time length, it indicates that transmission of the target data succeeds, where the receiving response may be an Acknowledgement Character (ACK), or may be a self-defined acknowledgement message of another type, which is used to indicate that the receiving end receives the target data, and is not limited herein.
The second network port may be understood as any network port except the first network port in a network device (e.g., a network card), in practical application, one network card may have at least one network port, each network port may be connected to one switch (e.g., ASW), and the switch may be further connected to multiple switches (e.g., PSW), so that a physical path between a sending end and a receiving end may pass through the multiple switches, and if any one switch in a transmission path fails (e.g., when an MMU blocks, a black hole, or other scenario), the network port corresponding to the path where the failed switch is located may cut off, so that traffic of the sending end is switched from the network port corresponding to the failed path to another available network port, so that traffic between the sending end and the receiving end may be intercommunicated, thereby ensuring availability of upper layer services.
It should be noted that, when the network card driver sends data, the network card driver sends the data on the RDMA network connection from the corresponding port according to the port identifier corresponding to the RDMA network connection. The corresponding port identification of each RDMA network connection can be dynamically modified through a driving software interface, and when data is sent for the RDMA network connection next time, a new port identification is read and then sent out from the port corresponding to the new port identification.
As shown in fig. 2, taking the network card queue as QP1 as an example, the network cards of the sending end and the receiving end both have two network ports, the network Port identifiers of the two network ports are Port0 and Port1, respectively, the network Port corresponding to the sending end QP1 is Port0, one switch 1 (such as an access layer switch) is connected to the network Port0, switch 2 is connected to the network Port1, eight switches are connected to the switch 1, respectively, switch 11 and switch 12 … … switch 18, switch 2 is also connected to eight switches, respectively, switch 21 and switch 22 … … switch 28, these switches are connected to switch 3 and switch 4, respectively, switch 3 is connected to network Port0 of the receiving end, switch 4 is connected to network Port1 of the receiving end, in case of failure of switch 1, the physical path from Port0 to the receiving end is disconnected, that is, the target data cannot be transmitted to the receiving end through network Port0 corresponding to QP1, the Port corresponding to QP1 is modified from Port0 to Port1, and the target data is transmitted from Port1 corresponding to QP 1.
On the basis of modifying the network interface corresponding to the network card queue into the second network interface, in an optional implementation manner provided in the embodiment of this specification, the data transmission method further includes:
and updating the corresponding relation between the network card queue and the first network port in the corresponding relation table into the corresponding relation between the network card queue and the second network port.
In practical application, after the network port corresponding to the network card queue is modified from the first network port to the second network port, the corresponding relationship between the network card queue and the network port in the corresponding relationship table is updated, further, the queue record of the network card queue in the corresponding relationship table is determined through the queue identifier of the network card queue, and the first network port identifier of the first network port in the queue record is updated to the second network port identifier of the second network port to complete the updating of the queue record, so as to ensure that the corresponding relationship recorded in the corresponding relationship table is updated in time, that is, the corresponding relationship queried in the corresponding relationship table is accurate.
Specifically, taking the correspondence table as table 1 as an example, after the correspondence table is updated, the table is specifically shown in table 2 below:
network card queue (queue mark) Net gape (Net gape sign)
QP1 Port1
QP2 Port1
QP3 Port0
QP4 Port1
QP5 Port0
QP6 Port1
TABLE 2
Further, if the newly-built network card queue at the sending end still passes through the fault path, a situation of data transmission overtime can also occur, and in this situation, the network interface corresponding to the newly-built network card queue can be modified, so that after a period of time, the network card queue and the network traffic of the communication between the sending end and the receiving end can be converged to the available network interface, and the network card queues are long connections, but the connections are always kept alive once being established successfully, therefore, even if the fault path is restored to be available, the network card queue and the traffic which are originally switched to the available network interface are stable, and cannot be actively switched to the original fault path, so that the sending and receiving traffic of the sending end is greatly concentrated to one network interface, that is, the network traffic is unbalanced, and finally, the service layer sees the results of network throughput halving, service capability decreasing and the like, the available bandwidth is greatly reduced, the maximum service availability of the application cannot be fully recovered, and resource waste is caused, so that traffic balancing needs to be performed on the network port, and the traffic balancing mode for the network port is various, and in the first optional implementation mode provided by the embodiment of the present specification, the following implementation mode is specifically adopted:
receiving a queue balancing instruction aiming at the network port;
determining the total queue amount and the number of network ports of the network card queues in the corresponding relation table and the queue number of the network card queues corresponding to each network port based on the queue balancing instruction;
determining the number of equalizing queues corresponding to each network port according to the total number of queues and the number of network ports;
and performing queue balancing on the network card queues corresponding to the network ports based on the number of the queues and the number of the balancing queues.
In practical application, after the fault is recovered, the application on the server node (sending end) can be linked with a network operation and maintenance system, or an operation and maintenance engineer manually triggers queue balancing to realize uniform distribution of the flow of the upper-layer application to the network ports corresponding to the network port identifiers (network port numbers), so that the flow can pass through the switch and the network path after the fault is recovered again without disconnecting the current connection and reestablishing a new connection, that is, the network card supports the function of dynamically switching the network ports for the network card queues without breaking the links.
The total queue amount refers to the total amount of the network card queues recorded in the correspondence table, for example, the total queue amount of the network card queues recorded in the table 2 is 6; the number of the network ports may be understood as the number of the network ports recorded in the correspondence table, for example, the number of the network ports recorded in the table 2 is 2, and the two network ports are respectively network Port0 and network Port 1; the queue number refers to the number of network card queues corresponding to each Port recorded in the correspondence table, for example, the number of network card queues corresponding to the Port0 recorded in the above table 2 is 4, and the number of network card queues corresponding to the Port1 is 2.
Based on this, determining the balance number corresponding to each network port according to the total queue amount and the number of network ports may be understood as calculating through the total queue amount and the number of network ports, for example, calculating a quotient between the total queue amount and the number of network ports as the balance queue amount of the network queue corresponding to each network port.
Further, queue balancing is performed according to the number of the network card queues corresponding to each network Port and the number of the balancing queues, specifically, taking table 2 as an example, where the number of the network card queues corresponding to the network Port0 is 4, the number of the network card queues corresponding to the network Port1 is 2, and the number of the balancing queues corresponding to each network Port is (4+2)/2 ═ 3, then 1 network card queue is screened out from the network card queues corresponding to the network Port number 4 according to a preset rule (for example, randomly or according to an arrangement sequence in a corresponding relation table), the network Port corresponding to the network card queue is modified from Port0 to Port1, and after the modification is completed, the number of the network card queues corresponding to the network Port0 and the network Port1 is 3, and half of the network card queues are provided on each network Port.
In addition, the network card queue (transmission connection) can be disconnected and re-established to randomly break up the aggregation of the network card queue on the internet port, but both disconnection and re-establishment cause the perception of the service layer and unstable service.
In specific implementation, the queue balancing is performed on the network card queues corresponding to the network ports, and the network card queues can be uniformly distributed to the network ports according to the number of the network ports, so that a flow bottleneck of individual network ports is avoided, resource waste is avoided, and meanwhile, the accuracy of queue balancing is improved.
Determining a first queue number of the queue numbers which is larger than the equalizing queue number, and determining a second queue number of the queue numbers which is smaller than the equalizing queue number;
calculating a first quantity difference value between the first queue quantity and the equalizing queue quantity, and calculating a second quantity difference value between the equalizing queue quantity and the second queue quantity;
screening out a target network card queue with the same quantity as the first quantity difference value from the first network card queue corresponding to the first queue quantity according to a preset rule;
and modifying the network port corresponding to the target network card queue into a third network port according to the second quantity difference value and the third network port corresponding to the second quantity difference value, and updating the corresponding relation table according to a modification result.
Specifically, a first queue number which is greater than the equalizing queue number in the queue numbers is determined, and determining a second queue number smaller than the equalizing queue number in the queue number, so as to determine the queue number (i.e. the first queue number) more than the equalizing queue number in the queue number of the network card queue corresponding to each network port, determining the number of queues (namely, the second number of queues) of which the number of dequeues is less than the number of equalizing queues in the number of queues of the network card queues corresponding to each network port, calculating the number of the first number of queues (namely, the difference value of the first number) which is more than the number of equalizing queues, and calculating the number (namely the difference value of the second number) of the second queues which is less than the number of the equalizing queues, and screening the network card queues (namely the target network card queues) with the excessive number from the network card queues (namely the first network card queues) with the large number of queues.
Further, the network interfaces corresponding to the network card queues (i.e. the target network card queues) with the number greater than the number of the equalization queues are modified into the network interfaces (i.e. the third network interfaces) with the number less than the number of the queues.
For example, there are 4 network ports, where the 4 network ports are network Port0, network Port1, network Port2, and network Port3, where the number of queues of the network card queue corresponding to network Port0 is 10, the number of queues of the network card queue corresponding to network Port1 is 14, the number of queues of the network card queue corresponding to network Port2 is 6, the number of queues of the network card queue corresponding to network Port3 is 22, the number of queue balance of the 4 network ports is (10+14+6+22)/4 ═ 13, and determining the number of queues (the first number of queues) greater than the number of queue balance in the number of network card queues in the 4 network ports includes: the number of queues 14 corresponding to Port1 and the number of queues 22 corresponding to Port3, and determining the number of queues of the network card queues in the 4 ports to be less than the queue balancing number (the second number of queues) comprises: number of queues 1 corresponding to Port0 and number of queues 6 corresponding to Port 2;
calculating a number difference (first number difference) between the first number of queues and the number of equalization queues comprises: the difference between the number of queues 14 corresponding to Port1 and the number of equalization queues 13 is 1, and the difference between the number of queues 22 corresponding to Port3 and the number of equalization queues 13 is 9, and calculating the difference between the number of second queues and the number of equalization queues (second number difference) comprises: the difference between the number of queues 10 corresponding to the internet Port0 and the number of equalization queues 13 is 3, and the difference between the number of queues 6 corresponding to the internet Port2 and the number of equalization queues 13 is 7;
further, 1 network card queue is randomly screened out from the Port1, 9 network card queues are randomly screened out from the Port3, the 10 network card queues are used as target network card queues, the network Port corresponding to 3 network card queues (determined by the queue number 3 lacking from the Port 0) in the 10 network card queues is modified into a Port0, and the network card corresponding to the remaining 7 network card queues (determined by the queue number 7 lacking from the Port 2) in the 10 network card queues is modified into a Port 2.
In addition to the above manner of performing queue balancing, in a second optional implementation manner provided by this specification, the data transmission method further includes:
under the condition that the number of the queues of the network card queues corresponding to any network port is larger than a preset number threshold value, screening a third network card queue with a preset proportion from the network card queues corresponding to any network port;
according to the corresponding relation table, sequencing the network ports according to the sequence of the queue number of the corresponding network card queue from large to small;
and modifying the network port corresponding to the third network card queue into a fourth network port arranged at the last position.
Specifically, the number of the queues is greater than the preset number threshold, it can be understood that the number of the queues of the network card queues corresponding to the network interface is large, and when the network card queues of the network interface are unbalanced, the network card queues of the network interface need to be queue-balanced, and then network card queues (i.e., third network card queues) with a preset proportion (e.g., 10%, 20%, etc.) are screened out from the network card queues corresponding to the network card, and in practical application, the third network card queues can be screened out by adopting a preset screening rule (e.g., randomly screening or according to the size of the queue identifier of the network card queues).
Further, according to the corresponding relation table, the network ports are sorted from large to small according to the queue number of the corresponding network card queue, so that the network port with the minimum queue number (namely, the fourth network port arranged at the last position) is determined, and the network card queue is modified from the network port with the overproof queue number to the network port with the minimum queue number, so that the queue balancing of the network card queue from the network port with the high queue number to the network port with the minimum queue number is realized, and the queue balancing efficiency is improved.
Further, after modifying the network port corresponding to the network card queue into the second network port, the network port corresponding to the network card queue may also be modified back to the first network port corresponding to the previous network port, so as to avoid the situation that the number of the network card queues corresponding to each network port is unbalanced, in an optional implementation manner provided in this specification, after modifying the network port corresponding to the network card queue into the second network port, the method further includes:
receiving a recovery completion instruction for the first network port;
and modifying the network interface corresponding to the network card queue into the first network interface based on the recovery completion instruction.
The recovery completion instruction may be understood as a recovery completion instruction for the failure path corresponding to the first network port, that is, a recovery completion instruction for the failure that causes the transmission failure, and since the network ports corresponding to the network card queues are modified after the failure occurs, the number of the network card queues corresponding to each network port may be unbalanced, and therefore, after the failure is repaired, the modifications made to the network card queues are restored, and the situation that the number of the network card queues corresponding to each network port is unbalanced is avoided.
This specification provides a data transmission method, including: receiving a transmission request for target data; determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue; under the condition that a receiving response aiming at target data is not received through the network card queue within a preset time length, the network port corresponding to the network card queue is modified into a second network port, the target data is transmitted from the second network port corresponding to the network card queue, the network port corresponding to the network card queue (namely, the network port with a transmission fault) is dynamically switched to an available network port under the condition that the target data is overtime, the target data can be transmitted from the available network port through the network card queue, data transmission from a fault path corresponding to the first network port is avoided, a new network card queue does not need to be created, and the fault recovery efficiency is improved.
To sum up, the present specification provides a data transmission method, including: receiving a transmission request for target data; determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue; under the condition that a receiving response aiming at target data is not received through the network card queue within a preset time length, the network port corresponding to the network card queue is modified into a second network port, the target data is transmitted from the second network port corresponding to the network card queue, the network port corresponding to the network card queue (namely, the network port with a transmission fault) is dynamically switched to an available network port under the condition that the target data is overtime, the target data can be transmitted from the available network port through the network card queue, data transmission from a fault path corresponding to the first network port is avoided, a new network card queue does not need to be created, and the fault recovery efficiency is improved.
The following description further describes the data transmission method by taking an application of the data transmission method provided in this specification in an RDMA network transmission scenario as an example, with reference to fig. 3. Fig. 3 shows a processing flow chart of a data transmission method applied to an RDMA network transmission scenario according to an embodiment of the present specification, which specifically includes the following steps:
step 302, receiving an RDMA queue creation request, where the RDMA queue creation request carries queue address information and queue port information.
Specifically, the RDMA queue creation request refers to a creation request for requesting creation of an RDMA network card queue, where the RDMA network card queue refers to a transmission queue supporting an RDMA protocol.
In practice, to speed up data access and computation, data center networks may use RDMA to provide high performance network transport services for distributed storage and meters.
Step 304, based on the queue address information and the queue port information, creating an RDMA network card queue corresponding to the RDMA queue creation request.
Step 306, determining a first port corresponding to the RDMA network card queue, and allocating the first port to the network card queue.
Specifically, the first Port corresponding to the RDMA network card queue may be directly specified in the RDMA queue creation request, and in addition, the first Port may also be selected according to a preset selection rule, for example, two ports 0 and a Port1 are provided, and if the Port0 is allocated for the RDMA network card queue newly created last time, the Port1 is selected this time as the Port corresponding to the RDMA network card queue created this time.
And 308, recording the corresponding relation between the RDMA network card queue and the first port in a preset corresponding relation table.
At step 310, a transmission request for target data is received.
Step 312, determining a corresponding RDMA network card queue based on the transmission request, and transmitting the target data from the first port corresponding to the RDMA network card queue.
Step 314, modifying the port corresponding to the RDMA network card queue to a second port and transmitting the target data from the second port corresponding to the RDMA network card queue under the condition that a receiving response aiming at the target data is not received through the RDMA network card queue within a preset time length.
Step 316, updating the corresponding relationship between the RDMA network card queue and the first port in the corresponding relationship table to the corresponding relationship between the RDMA network card queue and the second port.
Step 318, receiving a queue balancing instruction for the network port.
Step 320, determining the total queue amount of the RDMA network card queue, the number of the network ports and the number of the queues of the RDMA network card queue corresponding to each network port in the corresponding relation table based on the queue balancing instruction.
Step 322, determining the number of equalization queues corresponding to each network port according to the total number of queues and the number of network ports.
Step 324, based on the number of queues and the number of equalizing queues, performing queue equalization on the RDMA network card queues corresponding to the network ports.
To sum up, the present specification provides a data transmission method, including: receiving a transmission request for target data; determining a corresponding RDMA network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the RDMA network card queue; under the condition that a receiving response aiming at target data is not received through the RDMA network card queue within a preset time length, the network port corresponding to the RDMA network card queue is modified into a second network port, and the target data is transmitted from the second network port corresponding to the RDMA network card queue, so that the network port corresponding to the RDMA network card queue (namely the network port with a transmission fault) is dynamically switched to an available network port under the condition that the target data transmission is overtime, the target data can be transmitted from the available network port through the RDMA network card queue, the data transmission from a fault path corresponding to a first network port is avoided, a new RDMA network card queue does not need to be created, and the fault recovery efficiency is improved.
An embodiment of a data transmission apparatus provided in this specification is as follows:
corresponding to the above method embodiment, the present specification further provides an embodiment of a data transmission device, and fig. 4 shows a schematic diagram of a data transmission device provided in an embodiment of the present specification. As shown in fig. 4, the apparatus includes:
a first receiving module 402 configured to receive a transmission request for target data;
a transmission module 404, configured to determine a corresponding network card queue based on the transmission request, and transmit the target data from a first network port corresponding to the network card queue;
the first modifying module 406 is configured to modify, when a reception response for the target data is not received through the network card queue within a preset time period, the network port corresponding to the network card queue into a second network port, and transmit the target data from the second network port corresponding to the network card queue.
Optionally, the transmission module 404 is further configured to:
determining the network card queue according to queue information carried in the transmission request;
converting the transmission request into a queue element and adding the queue element to the corresponding network card queue;
analyzing the queue element to determine the target data;
and transmitting the target data from the first network port corresponding to the network card queue.
Optionally, the data transmission apparatus further includes:
and the recording module is configured to record the corresponding relation between the network card queue and the first network port in a preset corresponding relation table.
Optionally, the data transmission apparatus further includes:
and the updating module is configured to update the corresponding relation between the network card queue and the first network port in the corresponding relation table into the corresponding relation between the network card queue and the second network port.
Optionally, the data transmission apparatus further includes:
a first receive instruction module configured to receive a queue balancing instruction for an internet port;
a first quantity determining module configured to determine, based on the queue balancing instruction, a total queue quantity of the network card queues, a number of network ports, and a queue quantity of the network card queues corresponding to each network port in the correspondence table;
a second quantity determining module configured to determine, according to the total amount of queues and the number of network ports, a quantity of equalization queues corresponding to each network port;
and the queue balancing module is configured to perform queue balancing on the network card queues corresponding to the network ports based on the number of the queues and the number of the balancing queues.
Optionally, the queue balancing module is further configured to:
determining a first queue number of the queue numbers which is larger than the equalizing queue number, and determining a second queue number of the queue numbers which is smaller than the equalizing queue number;
calculating a first quantity difference value between the first queue quantity and the equalizing queue quantity, and calculating a second quantity difference value between the equalizing queue quantity and the second queue quantity;
screening out a target network card queue with the same quantity as the first quantity difference value from the first network card queue corresponding to the first queue quantity according to a preset rule;
and modifying the network port corresponding to the target network card queue into a third network port according to the second quantity difference value and the third network port corresponding to the second quantity difference value, and updating the corresponding relation table according to a modification result.
Optionally, the data transmission apparatus further includes:
the screening module is configured to screen a third network card queue with a preset proportion in the network card queue corresponding to any network port under the condition that the number of the queues of the network card queue corresponding to any network port is larger than a preset number threshold;
the sorting module is configured to sort the network ports according to the sequence of the queue number of the corresponding network card queue from large to small according to the corresponding relation table;
and the second modification module is configured to modify the port corresponding to the third network card queue into a fourth port arranged at the last position.
Optionally, the data transmission apparatus further includes:
a second receive instruction module configured to receive a recovery complete instruction for the first portal;
and the third modification module is configured to modify the network interface corresponding to the network card queue into the first network interface based on the recovery completion instruction.
Optionally, the data transmission apparatus further includes:
the second receiving module is configured to receive a queue creating request, wherein the queue creating request carries queue address information and queue port information;
the creating module is configured to create a network card queue corresponding to the queue creating request based on the queue address information and the queue port information;
the allocation module is configured to determine a first network port corresponding to a network card queue and allocate the first network port to the network card queue.
This specification provides a data transmission apparatus comprising: receiving a transmission request for target data; determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue; under the condition that a receiving response aiming at target data is not received through the network card queue within a preset time length, the network port corresponding to the network card queue is modified into a second network port, the target data is transmitted from the second network port corresponding to the network card queue, the network port corresponding to the network card queue (namely, the network port with a transmission fault) is dynamically switched to an available network port under the condition that the target data is overtime, the target data can be transmitted from the available network port through the network card queue, data transmission from a fault path corresponding to the first network port is avoided, a new network card queue does not need to be created, and the fault recovery efficiency is improved.
The above is a schematic scheme of the data transmission apparatus of this embodiment. It should be noted that the technical solution of the data transmission apparatus and the technical solution of the data transmission method belong to the same concept, and details that are not described in detail in the technical solution of the data transmission apparatus can be referred to the description of the technical solution of the data transmission method.
The present specification provides an embodiment of a computing device as follows:
FIG. 5 illustrates a block diagram of a computing device 500 provided in accordance with one embodiment of the present description. The components of the computing device 500 include, but are not limited to, a memory 510 and a processor 520. Processor 520 is coupled to memory 510 via bus 530, and database 550 is used to store data.
Computing device 500 also includes access device 540, access device 540 enabling computing device 500 to communicate via one or more networks 560. Examples of such networks include the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the internet. The access device 540 may include one or more of any type of network interface, e.g., a Network Interface Card (NIC), wired or wireless, such as an IEEE802.11 Wireless Local Area Network (WLAN) wireless interface, a worldwide interoperability for microwave access (Wi-MAX) interface, an ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a bluetooth interface, a Near Field Communication (NFC) interface, and so forth.
In one embodiment of the present description, the above-described components of computing device 500, as well as other components not shown in FIG. 5, may also be connected to each other, such as by a bus. It should be understood that the block diagram of the computing device architecture shown in FIG. 5 is for purposes of example only and is not limiting as to the scope of the present description. Those skilled in the art may add or replace other components as desired.
Computing device 500 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., tablet, personal digital assistant, laptop, notebook, netbook, etc.), mobile phone (e.g., smartphone), wearable computing device (e.g., smartwatch, smartglasses, etc.), or other type of mobile device, or a stationary computing device such as a desktop computer or PC. Computing device 500 may also be a mobile or stationary server.
Wherein processor 520 is configured to execute the following computer-executable instructions:
receiving a transmission request for target data;
determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue;
and under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length, modifying the network port corresponding to the network card queue into a second network port, and transmitting the target data from the second network port corresponding to the network card queue.
The above is an illustrative scheme of a computing device of the present embodiment. It should be noted that the technical solution of the computing device and the technical solution of the data transmission method belong to the same concept, and details that are not described in detail in the technical solution of the computing device can be referred to the description of the technical solution of the data transmission method.
This specification provides one example of a computer-readable storage medium, comprising:
the present specification provides a computer readable storage medium storing computer instructions that, when executed by a processor, are operable to:
receiving a transmission request for target data;
determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue;
and under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length, modifying the network port corresponding to the network card queue into a second network port, and transmitting the target data from the second network port corresponding to the network card queue.
The above is an illustrative scheme of a computer-readable storage medium of the present embodiment. It should be noted that the technical solution of the storage medium belongs to the same concept as the technical solution of the data transmission method, and details that are not described in detail in the technical solution of the storage medium can be referred to the description of the technical solution of the data transmission method.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The computer instructions comprise computer program code which may be in the form of source code, object code, an executable file or some intermediate form, or the like. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
It should be noted that, for the sake of simplicity, the foregoing method embodiments are described as a series of acts, but those skilled in the art should understand that the present embodiment is not limited by the described acts, because some steps may be performed in other sequences or simultaneously according to the present embodiment. Further, those skilled in the art should also appreciate that the embodiments described in this specification are preferred embodiments and that acts and modules referred to are not necessarily required for an embodiment of the specification.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
The preferred embodiments of the present specification disclosed above are intended only to aid in the description of the specification. Alternative embodiments are not exhaustive and do not limit the invention to the precise embodiments described. Obviously, many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the embodiments and the practical application, to thereby enable others skilled in the art to best understand and utilize the embodiments. The specification is limited only by the claims and their full scope and equivalents.

Claims (12)

1. A method of data transmission, comprising:
receiving a transmission request for target data;
determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue;
and under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length, modifying the network port corresponding to the network card queue into a second network port, and transmitting the target data from the second network port corresponding to the network card queue.
2. The data transmission method according to claim 1, wherein the determining a corresponding network card queue based on the transmission request and transmitting the target data from a first network port corresponding to the network card queue includes:
determining the network card queue according to queue information carried in the transmission request;
converting the transmission request into a queue element and adding the queue element to the corresponding network card queue;
analyzing the queue element to determine the target data;
and transmitting the target data from the first network port corresponding to the network card queue.
3. The data transmission method according to claim 1, before the receiving the transmission request for the target data, further comprising:
and recording the corresponding relation between the network card queue and the first network port in a preset corresponding relation table.
4. The data transmission method according to claim 3, wherein after the modifying the port corresponding to the network card queue to the second port, the method further comprises:
and updating the corresponding relation between the network card queue and the first network port in the corresponding relation table into the corresponding relation between the network card queue and the second network port.
5. The data transmission method of claim 3, further comprising:
receiving a queue balancing instruction aiming at the network port;
determining the total queue amount and the number of network ports of the network card queues in the corresponding relation table and the queue number of the network card queues corresponding to each network port based on the queue balancing instruction;
determining the number of equalizing queues corresponding to each network port according to the total number of queues and the number of network ports;
and performing queue balancing on the network card queues corresponding to the network ports based on the number of the queues and the number of the balancing queues.
6. The data transmission method according to claim 5, wherein the performing queue balancing on the network card queues corresponding to the network ports based on the number of queues and the number of balancing queues includes:
determining a first queue number of the queue numbers which is larger than the equalizing queue number, and determining a second queue number of the queue numbers which is smaller than the equalizing queue number;
calculating a first quantity difference value between the first queue quantity and the equalizing queue quantity, and calculating a second quantity difference value between the equalizing queue quantity and the second queue quantity;
screening out a target network card queue with the same quantity as the first quantity difference value from the first network card queue corresponding to the first queue quantity according to a preset rule;
and modifying the network port corresponding to the target network card queue into a third network port according to the second quantity difference value and the third network port corresponding to the second quantity difference value, and updating the corresponding relation table according to a modification result.
7. The data transmission method of claim 1, further comprising:
under the condition that the number of the queues of the network card queues corresponding to any network port is larger than a preset number threshold value, screening a third network card queue with a preset proportion from the network card queues corresponding to any network port;
according to the corresponding relation table, sequencing the network ports according to the sequence of the queue number of the corresponding network card queue from large to small;
and modifying the network port corresponding to the third network card queue into a fourth network port arranged at the last position.
8. The data transmission method according to claim 1, wherein after the modifying the port corresponding to the network card queue to the second port, the method further comprises:
receiving a recovery completion instruction for the first network port;
and modifying the network interface corresponding to the network card queue into the first network interface based on the recovery completion instruction.
9. The data transmission method according to claim 1, wherein before determining the corresponding network card queue based on the transmission request and transmitting the target data from the first network port corresponding to the network card queue, the method further comprises:
receiving a queue creating request, wherein the queue creating request carries queue address information and queue port information;
based on the queue address information and the queue port information, creating a network card queue corresponding to the queue creating request;
determining a first network port corresponding to a network card queue, and distributing the first network port to the network card queue.
10. A data transmission apparatus comprising:
a first receiving module configured to receive a transmission request for target data;
the transmission module is configured to determine a corresponding network card queue based on the transmission request and transmit the target data from a first network port corresponding to the network card queue;
and the first modification module is configured to modify the network port corresponding to the network card queue into a second network port and transmit the target data from the second network port corresponding to the network card queue under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length.
11. A computing device, comprising:
a memory and a processor;
the memory is configured to store computer-executable instructions, and the processor is configured to execute the computer-executable instructions to implement the method of:
receiving a transmission request for target data;
determining a corresponding network card queue based on the transmission request, and transmitting the target data from a first network port corresponding to the network card queue;
and under the condition that a receiving response aiming at the target data is not received through the network card queue within a preset time length, modifying the network port corresponding to the network card queue into a second network port, and transmitting the target data from the second network port corresponding to the network card queue.
12. A computer readable storage medium storing computer instructions which, when executed by a processor, carry out the steps of the data transmission method of any one of claims 1 to 9.
CN202110167457.1A 2021-02-05 2021-02-05 Data transmission method and device Pending CN113300978A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110167457.1A CN113300978A (en) 2021-02-05 2021-02-05 Data transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110167457.1A CN113300978A (en) 2021-02-05 2021-02-05 Data transmission method and device

Publications (1)

Publication Number Publication Date
CN113300978A true CN113300978A (en) 2021-08-24

Family

ID=77318955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110167457.1A Pending CN113300978A (en) 2021-02-05 2021-02-05 Data transmission method and device

Country Status (1)

Country Link
CN (1) CN113300978A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006268A (en) * 2009-08-28 2011-04-06 华为技术有限公司 Method, equipment and system for switching main interface and standby interface
CN104468388A (en) * 2014-11-04 2015-03-25 浪潮电子信息产业股份有限公司 Method for testing load balancing of network card based on Linux system
WO2018045821A1 (en) * 2016-09-06 2018-03-15 北京京东尚科信息技术有限公司 Methods and devices for sending, receiving, and transmitting cloud host data
CN110022330A (en) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 For the processing method of network packet, device and electronic equipment
CN110022269A (en) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 Processing method of communication data, device and equipment
CN111880932A (en) * 2020-07-24 2020-11-03 西安奥卡云数据科技有限公司 Data storage method and device based on multiple network ports

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006268A (en) * 2009-08-28 2011-04-06 华为技术有限公司 Method, equipment and system for switching main interface and standby interface
CN104468388A (en) * 2014-11-04 2015-03-25 浪潮电子信息产业股份有限公司 Method for testing load balancing of network card based on Linux system
WO2018045821A1 (en) * 2016-09-06 2018-03-15 北京京东尚科信息技术有限公司 Methods and devices for sending, receiving, and transmitting cloud host data
CN110022330A (en) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 For the processing method of network packet, device and electronic equipment
CN110022269A (en) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 Processing method of communication data, device and equipment
CN111880932A (en) * 2020-07-24 2020-11-03 西安奥卡云数据科技有限公司 Data storage method and device based on multiple network ports

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RTOAX: "《深入浅出DPDK》读书笔记(九):流分类与多队列、流过滤、虚拟化流分类方式、流分类技术的使用", pages 5 - 10, Retrieved from the Internet <URL:http://t.csdnimg.cn/UerPp> *
樊皓;邓浩江;陈君;李明哲;: "网口容错在嵌入式设备中的设计与实现", 计算机工程与科学, no. 12, 15 December 2016 (2016-12-15), pages 1 - 5 *
陈彦: "WiMAX 网络高可用接入网关的设计和实现", 《上海交通大学工程硕士学位论文》, pages 20 - 21 *

Similar Documents

Publication Publication Date Title
US10592464B2 (en) Methods for enabling direct memory access (DMA) capable devices for remote DMA (RDMA) usage and devices thereof
US8954785B2 (en) Redundancy and load balancing in remote direct memory access communications
CN105468302B (en) A kind of method, apparatus and system of processing data
US20130262613A1 (en) Efficient distribution of subnet administration data over an rdma network
CN111163130B (en) Network service system and data transmission method thereof
CN111800501B (en) Method and device for processing service request, storage medium and electronic equipment
CN110740162A (en) Communication link establishing method, device, electronic equipment and medium
CN113490927A (en) RDMA transport with hardware integration and out-of-order placement
US8832215B2 (en) Load-balancing in replication engine of directory server
US8458702B1 (en) Method for implementing user space up-calls on java virtual machine before/after garbage collection
CN110609746A (en) Method, apparatus and computer program product for managing network system
CN110545230B (en) Method and device for forwarding VXLAN message
US11102139B1 (en) Shared queue management utilizing shuffle sharding
CN107896196B (en) Method and device for distributing messages
CN113452778A (en) Session keeping method, device, equipment, system and storage medium
CN113242299A (en) Disaster recovery system, method, computer device and medium for multiple data centers
CN113300978A (en) Data transmission method and device
CN113422739B (en) Data transmission method, sending end and data transmission system
US10481963B1 (en) Load-balancing for achieving transaction fault tolerance
US20220269411A1 (en) Systems and methods for scalable shared memory among networked devices comprising ip addressable memory blocks
US20160267050A1 (en) Storage subsystem technologies
CN105939278B (en) Traffic processing method and device
CN114024968A (en) Message sending method and device based on intermediate equipment and electronic equipment
WO2013147829A1 (en) Efficient distribution of subnet administration data over an rdma network
CN114553879A (en) Distributed task processing method, system and storage medium

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40058630

Country of ref document: HK